首页 理论 架构 工程 文档 白皮书 著作 研究 案例 下载 博客 关于 开始使用 →

第232章 ICAI维护数据表

第232章 ICAI维护数据表

232.1 维护数据层的定位

第231章建立了 ICAI 的学习数据层:

history
    ↓
memory
    ↓
experience
    ↓
learning
    ↓
update

第232章建立维护数据层:

risk
conflict
diagnosis
protection
repair

数据库采用复数形式:

risks
conflicts
diagnoses
protections
repairs

维护数据负责处理:

未来可能发生的问题
当前已经存在的不兼容
已经出现的异常及其原因
问题发生前后的保护措施
问题发生后的修复措施

因此可以定义:

MaintenanceData=(R,C,D,P,Rp)MaintenanceData=(R,C,D,P,Rp)

其中:

  • RR:Risk
  • CC:Conflict
  • DD:Diagnosis
  • PP:Protection
  • RpRp:Repair

232.2 五类维护数据的基本区别

五类数据不能混为一张 maintenance 表。

其核心区别为:

数据 核心问题 主要时间方向
Risk 可能发生什么问题? 未来
Conflict 当前哪里不兼容? 当前
Diagnosis 已发生问题的原因是什么? 现在/过去
Protection 如何防止或限制问题? 现在/未来
Repair 已发生问题如何恢复? 现在/之后

因此:

Risk≠ConflictRisk\neq Conflict Conflict≠DiagnosisConflict\neq Diagnosis Diagnosis≠RepairDiagnosis\neq Repair Protection≠RepairProtection\neq Repair


232.3 Risk——风险数据

Risk表示:

当前条件下未来可能发生的不利事件。

第165章定义:

R=(C,E,P,I,S)R=(C,E,P,I,S)

其中:

  • CC:Condition,风险条件
  • EE:Event,可能发生的事件
  • PP:Probability,概率
  • II:Impact,影响
  • SS:State,风险状态

可以进一步工程化:

Rd=(ID,O,C,E,P,I,L,S,Ev,Tc,Tu)R_d=(ID,O,C,E,P,I,L,S,Ev,T_c,T_u)

其中:

  • IDID:Risk Domain ID
  • OO:关联对象
  • CC:风险条件
  • EE:风险事件
  • PP:概率
  • II:影响
  • LL:风险等级
  • SS:状态
  • EvEv:证据
  • TcT_c:创建时间
  • TuT_u:更新时间

232.4 Risk不是Failure

这是维护数据层的重要边界。

Risk:

可能失败

Failure:

已经失败

例如:

Resource = 1
Required Resource = 2

如果尚未执行:

Risk

执行后:

Result = failed

才产生:

Failure

所以:

Risk→ProtectionRisk\rightarrow Protection

而:

Failure→Diagnosis→RepairFailure\rightarrow Diagnosis\rightarrow Repair

两条路径不能混淆。


232.5 risks表

CREATE TABLE risks (
    id BIGINT NOT NULL AUTO_INCREMENT,
    risk_code VARCHAR(100) NOT NULL,
    individual_id BIGINT NULL,
    object_type VARCHAR(100) NULL,
    object_code VARCHAR(100) NULL,
    condition_data TEXT NULL,
    event_name VARCHAR(255) NOT NULL,
    probability DECIMAL(12,6) NULL,
    impact DECIMAL(12,6) NULL,
    risk_level VARCHAR(50) NULL,
    risk_state VARCHAR(50) NOT NULL,
    evidence_data TEXT NULL,
    created_at DATETIME NOT NULL,
    updated_at DATETIME NOT NULL,
    PRIMARY KEY (id),
    UNIQUE KEY uk_risk_code (risk_code),
    KEY idx_risk_individual (individual_id),
    KEY idx_risk_object (object_type, object_code),
    KEY idx_risk_state (risk_state),
    KEY idx_risk_level (risk_level),
    KEY idx_risk_time (created_at)
);

这里的:

probability
impact

可以用于:

RiskScore=P×IRiskScore=P\times I

但如果没有足够事实支持概率:

Probability = Unknown

而不能人为写成:

Probability = 0

232.6 Risk生命周期

Risk可以采用:

Unknown
   ↓
Detected
   ↓
Evaluated
   ↓
Active
   ↓
Controlled
   ↓
Resolved

也可以:

Detected
   ↓
Rejected

表示经过计算后认为并不构成有效风险。

风险状态与Object State、Individual State必须分开保存。


232.7 Conflict——冲突数据

Conflict表示:

当前两个或多个对象、条件、状态、方法、动作、资源或规则之间存在结构上的不兼容。

定义:

C=(O1,T,O2,K,S)C=(O_1,T,O_2,K,S)

其中:

  • O1O_1:对象1
  • TT:冲突类型
  • O2O_2:对象2
  • KK:冲突条件
  • SS:冲突状态

冲突类型包括:

Goal
Condition
State
Method
Action
Resource
Rule
Relation

232.8 Conflict与Risk的区别

例如:

Method M1
requires Resource >= 2

Current Resource = 1

当前已经不满足:

Condition

因此可以产生:

Conflict

同时:

继续执行M1

未来可能导致:

Failure

因此又可能产生:

Risk

关系可以是:

Conflict→RiskConflict\rightarrow Risk

但:

Conflict≠RiskConflict\neq Risk

Conflict描述当前结构不兼容。

Risk描述未来可能发生的不利事件。


232.9 conflicts表

CREATE TABLE conflicts (
    id BIGINT NOT NULL AUTO_INCREMENT,
    conflict_code VARCHAR(100) NOT NULL,
    individual_id BIGINT NULL,
    object1_type VARCHAR(100) NULL,
    object1_code VARCHAR(100) NULL,
    conflict_type VARCHAR(100) NOT NULL,
    object2_type VARCHAR(100) NULL,
    object2_code VARCHAR(100) NULL,
    condition_data TEXT NULL,
    conflict_state VARCHAR(50) NOT NULL,
    evidence_data TEXT NULL,
    created_at DATETIME NOT NULL,
    updated_at DATETIME NOT NULL,
    PRIMARY KEY (id),
    UNIQUE KEY uk_conflict_code (conflict_code),
    KEY idx_conflict_individual (individual_id),
    KEY idx_conflict_object1 (object1_type, object1_code),
    KEY idx_conflict_object2 (object2_type, object2_code),
    KEY idx_conflict_type (conflict_type),
    KEY idx_conflict_state (conflict_state),
    KEY idx_conflict_time (created_at)
);

232.10 Conflict生命周期

Detected
   ↓
Classified
   ↓
Evaluated
   ↓
Handling
   ↓
Re-evaluated

最终:

Resolved

或者:

Unresolved
Blocked

冲突解决不等于直接删除冲突记录。

历史事实必须保留。


232.11 Diagnosis——诊断数据

Diagnosis表示:

对已经发生的异常、失败或状态偏离进行原因分析。

定义:

D=(P,E,C,R,S)D=(P,E,C,R,S)

其中:

  • PP:Problem
  • EE:Evidence
  • CC:Cause
  • RR:Recommendation
  • SS:State

进一步:

Dd=(ID,P,E,C,R,S,V,T)D_d=(ID,P,E,C,R,S,V,T)

其中:

  • IDID:Diagnosis Domain ID
  • PP:问题
  • EE:证据
  • CC:原因
  • RR:处理建议
  • SS:诊断状态
  • VV:验证状态
  • TT:时间

232.12 Diagnosis与Result的区别

Result回答:

发生了什么?

Diagnosis回答:

为什么发生?

例如:

Result:
Action A-002 failed

只能知道:

执行失败

Diagnosis继续分析:

Resource insufficient

才得到:

Cause = Resource

因此:

Result≠DiagnosisResult\neq Diagnosis


232.13 Diagnosis与Abnormality的区别

Abnormality:

实际结果或状态偏离预期。

Diagnosis:

分析这种偏离的原因。

关系:

Expected
   +
Actual
   ↓
Comparison
   ↓
Abnormality
   ↓
Diagnosis
   ↓
Cause

因此:

Abnormality→DiagnosisAbnormality\rightarrow Diagnosis

而不是:

Abnormality=DiagnosisAbnormality=Diagnosis


232.14 diagnoses表

CREATE TABLE diagnoses (
    id BIGINT NOT NULL AUTO_INCREMENT,
    diagnosis_code VARCHAR(100) NOT NULL,
    abnormality_code VARCHAR(100) NULL,
    individual_id BIGINT NULL,
    problem_data TEXT NOT NULL,
    evidence_data TEXT NULL,
    cause_data TEXT NULL,
    recommendation_data TEXT NULL,
    diagnosis_state VARCHAR(50) NOT NULL,
    verification_data TEXT NULL,
    created_at DATETIME NOT NULL,
    updated_at DATETIME NOT NULL,
    PRIMARY KEY (id),
    UNIQUE KEY uk_diagnosis_code (diagnosis_code),
    KEY idx_diagnosis_abnormality (abnormality_code),
    KEY idx_diagnosis_individual (individual_id),
    KEY idx_diagnosis_state (diagnosis_state),
    KEY idx_diagnosis_time (created_at)
);

如果一个诊断存在多个候选原因,可以进一步使用:

diagnosis_causes

保存:

cause_code
cause_type
cause_data
score
state
evidence

这样就不会把“最高分原因”错误地直接当成“已经确认原因”。


232.15 Diagnosis生命周期

Unknown
   ↓
Detected
   ↓
Analyzing
   ↓
CauseFound
   ↓
Confirmed
   ↓
Resolved

也允许:

Analyzing
   ↓
UnknownCause

或者:

Analyzing
   ↓
MultipleCandidates

只有经过足够证据和验证后,才能形成:

Confirmed Cause

232.16 Protection——保护数据

Protection表示:

在风险已经识别之后,通过限制、调整、暂停或其他措施防止问题发生或扩大。

定义:

Pr=(R,C,A,S)P_r=(R,C,A,S)

其中:

  • RR:Risk
  • CC:Condition
  • AA:Action
  • SS:State

保护的核心方向:

Risk→ProtectionRisk\rightarrow Protection


232.17 Protection与Repair的区别

Protection:

问题还没有发生,或者正在扩大,采取措施防止或限制。

Repair:

问题已经实际发生,针对已经确认的问题进行恢复。

例如:

Resource = 1
Required = 2

执行前:

Protection

可以:

Pause
ChangeMethod
ReplaceResource
Replan

如果已经执行:

Result = failed

则:

Diagnosis
   ↓
Repair

因此:

Protection≠RepairProtection\neq Repair


232.18 protections表

CREATE TABLE protections (
    id BIGINT NOT NULL AUTO_INCREMENT,
    protection_code VARCHAR(100) NOT NULL,
    risk_code VARCHAR(100) NULL,
    conflict_code VARCHAR(100) NULL,
    individual_id BIGINT NULL,
    condition_data TEXT NULL,
    action_data TEXT NULL,
    expected_result TEXT NULL,
    protection_state VARCHAR(50) NOT NULL,
    result_data TEXT NULL,
    verification_data TEXT NULL,
    created_at DATETIME NOT NULL,
    updated_at DATETIME NOT NULL,
    PRIMARY KEY (id),
    UNIQUE KEY uk_protection_code (protection_code),
    KEY idx_protection_risk (risk_code),
    KEY idx_protection_conflict (conflict_code),
    KEY idx_protection_individual (individual_id),
    KEY idx_protection_state (protection_state),
    KEY idx_protection_time (created_at)
);

232.19 Protection执行链

Protection本身不是实际执行。

完整链:

RiskEngine
   ↓
ProtectionEngine
   ↓
Protection Candidate
   ↓
DecisionEngine
   ↓
Protection Action
   ↓
ActionEngine
   ↓
ExecutionEngine
   ↓
Result
   ↓
Feedback
   ↓
Verification

因此:

ProtectionCalculated≠ProtectionExecutedProtectionCalculated \neq ProtectionExecuted

而:

ProtectionExecuted≠ProtectionSuccessfulProtectionExecuted \neq ProtectionSuccessful

必须通过实际结果判断。


232.20 Repair——修复数据

Repair表示:

对已经确认的异常、故障或不可接受状态进行恢复、纠正或替换。

定义:

Rp=(D,M,A,R,S)Rp=(D,M,A,R,S)

其中:

  • DD:Diagnosis
  • MM:Repair Method
  • AA:Repair Action
  • RR:Repair Result
  • SS:Repair State

232.21 Repair的执行条件

修复不能仅仅因为系统存在一个Repair记录就执行。

可以定义:

RepairExecutable=Av∧Dv∧Cv∧Ov∧Cav∧Sv∧RuvRepairExecutable= A_v \land D_v \land C_v \land O_v \land Ca_v \land S_v \land Ru_v

其中:

  • AvA_v:Valid Abnormality
  • DvD_v:Valid Diagnosis
  • CvC_v:Repairable Cause
  • OvO_v:Valid Object
  • CavCa_v:Repair Capability Available
  • SvS_v:State Allows Repair
  • RuvRu_v:Rule Allows Repair

只有全部成立:

RepairExecutable=trueRepairExecutable=true

才能进入修复执行阶段。


232.22 repairs表

CREATE TABLE repairs (
    id BIGINT NOT NULL AUTO_INCREMENT,
    repair_code VARCHAR(100) NOT NULL,
    diagnosis_code VARCHAR(100) NOT NULL,
    individual_id BIGINT NULL,
    repair_type VARCHAR(100) NOT NULL,
    repair_method TEXT NULL,
    repair_action TEXT NULL,
    expected_result TEXT NULL,
    state_before VARCHAR(100) NULL,
    actual_result TEXT NULL,
    state_after VARCHAR(100) NULL,
    repair_state VARCHAR(50) NOT NULL,
    verification_data TEXT NULL,
    created_at DATETIME NOT NULL,
    updated_at DATETIME NOT NULL,
    PRIMARY KEY (id),
    UNIQUE KEY uk_repair_code (repair_code),
    KEY idx_repair_diagnosis (diagnosis_code),
    KEY idx_repair_individual (individual_id),
    KEY idx_repair_type (repair_type),
    KEY idx_repair_state (repair_state),
    KEY idx_repair_time (created_at)
);

232.23 Repair类型

Repair可以包括:

Retry
Adjustment
MethodChange
ActionReplacement
StateRecovery
ResourceReplacement
ObjectReplacement
EnvironmentRecovery
Recalculate

例如:

Diagnosis:
Resource insufficient

Repair:

ResourceReplacement

而不是直接:

CapabilityInvalid

一次执行失败不能自动让Capability失效。


232.24 Repair执行与Repair结果

必须严格区分:

RepairExecuted≠RepairEffective≠RepairVerifiedRepairExecuted \neq RepairEffective \neq RepairVerified

例如:

Repair R-001
executed = true

只能说明:

修复动作已经执行。

但不能说明:

问题已经恢复

实际执行后:

Result
   ↓
Feedback
   ↓
State
   ↓
Verification

才能判断:

Repair Verified

232.25 五类维护数据的关系

完整维护链:

Current State
      ↓
Detection
      ↓
Risk / Conflict / Abnormality
      ↓
Protection / Diagnosis
      ↓
Repair
      ↓
Execution
      ↓
Result
      ↓
Feedback
      ↓
Verification

其中存在两条主要路径。

风险保护路径

State
   ↓
Risk
   ↓
Protection
   ↓
Action
   ↓
Execution
   ↓
Result
   ↓
Verification

故障修复路径

Execution
   ↓
Failure
   ↓
Abnormality
   ↓
Diagnosis
   ↓
Repair
   ↓
Execution
   ↓
Result
   ↓
Verification

232.26 Risk与Protection关系表

一个Risk可能对应多个Protection。

例如:

R-001
Resource insufficient

可能对应:

P-001 Pause
P-002 Replace Resource
P-003 Change Method
P-004 Replan

因此:

Risk 1:N ProtectionRisk\ 1:N\ Protection

不应该把Protection直接写死在Risk记录的一列中。

可以使用:

risk_protection_relations

例如:

CREATE TABLE risk_protection_relations (
    id BIGINT NOT NULL AUTO_INCREMENT,
    risk_code VARCHAR(100) NOT NULL,
    protection_code VARCHAR(100) NOT NULL,
    relation_type VARCHAR(100) NOT NULL,
    condition_data TEXT NULL,
    relation_state VARCHAR(50) NOT NULL,
    created_at DATETIME NOT NULL,
    PRIMARY KEY (id),
    KEY idx_rpr_risk (risk_code),
    KEY idx_rpr_protection (protection_code)
);

232.27 Conflict与Diagnosis关系

Conflict并不一定产生Failure。

例如:

Goal G1
requires A

Method M1
requires B

A与B当前冲突

系统可以在执行前发现:

Conflict

然后重新决策。

只有实际产生异常:

Execution
   ↓
Failure

才需要:

Diagnosis

因此:

Conflict→HandlingConflict\rightarrow Handling

不必强制:

Conflict→DiagnosisConflict\rightarrow Diagnosis

而:

Failure→DiagnosisFailure\rightarrow Diagnosis

是典型路径。


232.28 Diagnosis与Repair关系

一个Diagnosis可能产生多个Repair Candidate:

Diagnosis D-001
        ↓
 ┌──────┼────────┐
 ↓      ↓        ↓
Retry  Adjustment  ResourceReplacement

最终由DecisionEngine根据:

Capability
Condition
State
Risk
Resource
Method
Priority

选择可执行的Repair。

所以:

Diagnosis≠RepairSelectionDiagnosis\neq RepairSelection

DiagnosisEngine分析原因。

DecisionEngine选择方案。

RepairEngine负责计算和准备修复。

ActionEngine负责实际动作。

ExecutionEngine负责实际执行。


232.29 五类Domain Object

本章Domain对象可以定义为:

Risk
Conflict
Diagnosis
Protection
Repair

它们不是数据库Row。

正确结构:

Domain Object
      ↓
Mapper
      ↓
Persistence Data
      ↓
Repository
      ↓
PDO
      ↓
MySQL

例如:

Risk
 ↓
RiskMapper
 ↓
risk_code
condition_data
event_name
probability
impact
risk_state
 ↓
RiskRepository
 ↓
PDO
 ↓
risks

232.30 Risk Domain对象示例

class Risk
{
    protected $id;
    protected $object;
    protected $condition;
    protected $event;
    protected $probability;
    protected $impact;
    protected $level;
    protected $state;
    protected $evidence;
    protected $createdAt;
    protected $updatedAt;

    public function getId()
    {
        return $this->id;
    }

    public function getProbability()
    {
        return $this->probability;
    }

    public function getImpact()
    {
        return $this->impact;
    }

    public function getState()
    {
        return $this->state;
    }
}

数据库:

risk_code
condition_data
event_name
probability
impact
risk_level
risk_state

两者之间通过Mapper转换。


232.31 Diagnosis Domain对象示例

class Diagnosis
{
    protected $id;
    protected $problem;
    protected $evidence;
    protected $cause;
    protected $recommendation;
    protected $state;
    protected $verification;

    public function getId()
    {
        return $this->id;
    }

    public function getProblem()
    {
        return $this->problem;
    }

    public function getCause()
    {
        return $this->cause;
    }

    public function getState()
    {
        return $this->state;
    }
}

DiagnosisEngine负责:

Abnormality
    ↓
Evidence
    ↓
Cause Candidates
    ↓
Cause Calculation
    ↓
Diagnosis Result

Repository只负责保存。


232.32 MaintenanceRepository

因此本章可以形成:

RiskRepository
ConflictRepository
DiagnosisRepository
ProtectionRepository
RepairRepository

统一维护边界可以进一步抽象为:

MaintenanceRepository

但不建议把五类Domain对象强行合并为一个Domain Object。

可以采用:

MaintenanceRepository
 ├── RiskRepository
 ├── ConflictRepository
 ├── DiagnosisRepository
 ├── ProtectionRepository
 └── RepairRepository

232.33 Repository职责

Repository负责:

Save
Load
Update
Query
Exists
Archive
History

不负责:

Risk Calculation
Conflict Detection
Cause Analysis
Protection Calculation
Repair Calculation

所以:

Repository≠EngineRepository\neq Engine


232.34 Engine与Repository关系

正确关系:

RiskEngine
     ↓
Risk Result
     ↓
RiskRepository
     ↓
MySQL
ConflictEngine
     ↓
Conflict Result
     ↓
ConflictRepository
     ↓
MySQL
DiagnosisEngine
     ↓
Diagnosis Result
     ↓
DiagnosisRepository
     ↓
MySQL
ProtectionEngine
     ↓
Protection Result
     ↓
ProtectionRepository
     ↓
MySQL
RepairEngine
     ↓
Repair Result
     ↓
RepairRepository
     ↓
MySQL

232.35 维护历史

风险、冲突、诊断、保护、修复都不能只保存当前状态。

例如:

Risk R-001
Active

之后:

Controlled

再之后:

Resolved

不能只保存:

Resolved

而应该保存历史:

Active
   ↓
Controlled
   ↓
Resolved

因此可以建立:

maintenance_history

例如:

CREATE TABLE maintenance_history (
    id BIGINT NOT NULL AUTO_INCREMENT,
    history_code VARCHAR(100) NOT NULL,
    target_type VARCHAR(100) NOT NULL,
    target_code VARCHAR(100) NOT NULL,
    state_before VARCHAR(100) NULL,
    action_data TEXT NULL,
    execution_code VARCHAR(100) NULL,
    result_data TEXT NULL,
    state_after VARCHAR(100) NULL,
    verification_data TEXT NULL,
    created_at DATETIME NOT NULL,
    PRIMARY KEY (id),
    UNIQUE KEY uk_maintenance_history_code (history_code),
    KEY idx_maintenance_target (target_type, target_code),
    KEY idx_maintenance_time (created_at)
);

232.36 维护数据不能覆盖事实

例如:

Repair R-001

第一次:

failed

第二次:

success

不能:

UPDATE R-001
SET actual_result = success

而应该记录:

Repair Execution 1 → failed
Repair Execution 2 → success

通过:

Execution
Result
Feedback
Verification
History

保持完整事实链。


232.37 维护数据与状态数据

维护系统不能直接随意修改State。

正确流程:

DiagnosisRepairEngine
       ↓
State Change Candidate
       ↓
StateEngine
       ↓
Valid Transition
       ↓
UpdateEngine
       ↓
StateRepository

例如:

failed

不能直接:

state = ready

必须验证:

Repair Result
+
Condition
+
Rule
+
Evidence

然后:

Transition(St,E,C,Ru)→St+1Transition(S_t,E,C,Ru)\rightarrow S_{t+1}


232.38 维护数据与学习数据

第231章:

History
 ↓
Memory
 ↓
Experience
 ↓
Learning

第232章产生大量学习来源:

Risk
Conflict
Diagnosis
Protection
Repair
Verification

因此:

Maintenance
      ↓
Result
      ↓
Feedback
      ↓
History
      ↓
Memory
      ↓
Experience
      ↓
Learning

例如:

连续三次相同Method
在Resource不足时失败

可能形成:

Experience

进一步:

Learning

最终修改:

Method Condition

因此维护系统也是学习数据的重要事实来源。


232.39 维护数据与能力

维修过程中不能简单地:

Failure
   ↓
Capability Invalid

正确:

Failure
   ↓
Diagnosis
   ↓
Cause
   ├── Resource
   ├── Method
   ├── Action
   ├── Object
   ├── Environment
   └── Capability

只有经过验证确认:

Cause = Capability

才允许:

Learning
   ↓
Capability Update

这保证:

Failure≠CapabilityInvalidFailure\neq CapabilityInvalid


232.40 维护数据与方法

Repair和Protection也可能产生Method变化。

例如:

M-001

连续出现:

Risk
Conflict
Failure

经过Diagnosis:

Method condition incorrect

形成:

Learning Candidate

然后:

UpdateEngine

修改Method。

所以:

Maintenance→Learning→MethodUpdateMaintenance \rightarrow Learning \rightarrow MethodUpdate

而不是直接由MaintenanceEngine修改Method。


232.41 完整维护数据关系

可以建立:

risks
   ↓
protections

conflicts
   ↓
handling

abnormalities
   ↓
diagnoses
   ↓
repairs
   ↓
repair_verifications

同时:

risks
   ↓
history
conflicts
   ↓
history
diagnoses
   ↓
history
repairs
   ↓
history

形成完整的维护历史。


232.42 数据库维护层总体结构

最终维护数据层可以整理为:

Maintenance
│
├── Risk
│   └── risks
│
├── Conflict
│   └── conflicts
│
├── Diagnosis
│   ├── diagnoses
│   ├── diagnosis_evidence
│   └── diagnosis_causes
│
├── Protection
│   ├── protections
│   └── risk_protection_relations
│
├── Repair
│   ├── repairs
│   ├── repair_results
│   └── repair_verifications
│
└── History
    └── maintenance_history

232.43 五类维护数据的完整流程

风险路径

Current State
   ↓
Risk Detection
   ↓
Risk Calculation
   ↓
Risk Ranking
   ↓
Protection Candidate
   ↓
Decision
   ↓
Protection Action
   ↓
Execution
   ↓
Result
   ↓
Verification

冲突路径

Current Objects
   ↓
Condition
   ↓
Conflict Detection
   ↓
Conflict Classification
   ↓
Conflict Evaluation
   ↓
Handling Candidate
   ↓
Decision
   ↓
Re-evaluation

故障路径

Execution
   ↓
Result
   ↓
Abnormality
   ↓
Diagnosis
   ↓
Cause
   ↓
Repair Candidate
   ↓
Decision
   ↓
Repair
   ↓
Execution
   ↓
Result
   ↓
Verification

232.44 ICAI维护数据完整闭环

结合前面所有章节:

Individual
   ↓
Object
   ↓
State
   ↓
Goal
   ↓
Capability
   ↓
Matching
   ↓
Method
   ↓
Decision
   ↓
Behavior
   ↓
Action
   ↓
Execution
   ↓
Result
   ↓
Feedback
   ↓
Detection
   ├── Risk
   │    ↓
   │  Protection
   │
   ├── Conflict
   │    ↓
   │  Handling
   │
   └── Abnormality
        ↓
      Diagnosis
        ↓
       Repair
        ↓
    Verification
        ↓
      History
        ↓
      Memory
        ↓
     Experience
        ↓
      Learning
        ↓
       Update
        ↓
Knowledge / Capability / Method / State

这就形成了 ICAI 的完整运行—维护—学习闭环。


232.45 五类维护数据与Engine边界

对应Engine:

Risk
 ↓
RiskEngine

Conflict
 ↓
ConflictEngine

Diagnosis
 ↓
DiagnosisEngine

Protection
 ↓
ProtectionEngine

Repair
 ↓
RepairEngine

但五个Engine之间不是数据库关系,而是计算关系。

例如:

RiskEngine
    ↓
Risk Result
    ↓
ProtectionEngine

以及:

DiagnosisEngine
    ↓
Diagnosis Result
    ↓
RepairEngine

232.46 五类维护数据与Service边界

对应:

RiskConflictService
DiagnosisRepairService

Service负责:

接收请求
 ↓
加载Domain
 ↓
调用Engine
 ↓
协调Decision
 ↓
调用Action/Execution
 ↓
接收Result
 ↓
调用Feedback
 ↓
Verification
 ↓
Repository保存

Engine负责计算。

Service负责编排。

Repository负责保存。


232.47 MySQL维护数据与Domain数据的边界

必须继续保持:

DomainObject≠DatabaseRowDomainObject\neq DatabaseRow

例如:

Domain:
R-001

MySQL:

id = 21
risk_code = R-001

又例如:

Domain:
D-001

MySQL:

id = 37
diagnosis_code = D-001

因此:

DomainID≠PersistenceIDDomainID\neq PersistenceID

Mapper承担两者转换。


232.48 本章核心数据表

本章核心表为:

risks
conflicts
diagnoses
protections
repairs

辅助表:

diagnosis_evidence
diagnosis_causes
risk_protection_relations
repair_results
repair_verifications
maintenance_history

它们共同构成:

MaintenanceData=Risk+Conflict+Diagnosis+Protection+Repair+History\boxed{ MaintenanceData = Risk+ Conflict+ Diagnosis+ Protection+ Repair+ History }


232.49 本章核心原则

第一:

Risk≠FailureRisk\neq Failure

第二:

Conflict≠RiskConflict\neq Risk

第三:

Diagnosis≠ResultDiagnosis\neq Result

第四:

Protection≠RepairProtection\neq Repair

第五:

RepairExecuted≠RepairVerifiedRepairExecuted\neq RepairVerified

第六:

Failure≠CapabilityInvalidFailure\neq CapabilityInvalid

第七:

Repository≠EngineRepository\neq Engine

第八:

CurrentState≠StateHistoryCurrentState\neq StateHistory

第九:

DomainObject≠DatabaseRowDomainObject\neq DatabaseRow

第十:

Learning≠MaintenanceLearning\neq Maintenance

维护数据首先记录和处理真实问题;只有经过反馈、历史、经验和验证后,才可能进一步进入学习与更新体系。


232.50 本章总结

第232章建立了 ICAI 的维护数据层:

Risks+Conflicts+Diagnosis+Protection+Repairs\boxed{ Risks+ Conflicts+ Diagnosis+ Protection+ Repairs }

其基本逻辑为:

Risk
= 未来可能发生的问题

Conflict
= 当前结构不兼容

Diagnosis
= 对异常原因进行分析

Protection
= 防止或限制问题

Repair
= 对已经发生的问题进行恢复

核心维护路径:

Risk→Protection\boxed{ Risk\rightarrow Protection }

以及:

Failure→Abnormality→Diagnosis→Repair→Verification\boxed{ Failure\rightarrow Abnormality\rightarrow Diagnosis\rightarrow Repair\rightarrow Verification }

数据库核心结构:

risks
conflicts
diagnoses
protections
repairs

辅助结构:

diagnosis_evidence
diagnosis_causes
risk_protection_relations
repair_results
repair_verifications
maintenance_history

最终形成:

Current State
      ↓
Detection
      ↓
Risk / Conflict / Abnormality
      ↓
Protection / Handling / Diagnosis
      ↓
Repair
      ↓
Execution
      ↓
Result
      ↓
Feedback
      ↓
Verification
      ↓
History
      ↓
Memory
      ↓
Experience
      ↓
Learning
      ↓
Update
      ↓
New Cognitive Structure

因此,ICAI维护数据并不是简单的“错误日志”,而是一个完整的风险识别、冲突处理、异常诊断、主动保护、故障修复和验证追踪数据体系

在整个ICAI工程中,它连接运行系统与学习系统:

Runtime→Maintenance→Verification→Learning→Update\boxed{ Runtime \rightarrow Maintenance \rightarrow Verification \rightarrow Learning \rightarrow Update }

并继续坚持:

Domain = 认知与维护结构
Engine = 计算
Service = 编排
Mapper = 转换
Repository = 持久化
MySQL = 数据存储

整个体系仍然基于对象、状态、关系、规则、条件、事实、离散计算、历史、经验和验证机制实现,不依赖LLM、Transformer、Embedding、Vector Search、Prompt Engineering、神经网络或LLM API。

Leave a Reply

Your email address will not be published. Required fields are marked *