第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。