Skip to content

对象模型 ​

虹元的一切都建立在一组带租户码的对象上。这一页先讲通用约定,再讲十类核心对象,最后讲感知链路上的六个对象:节点、事件、任务、裁定、订阅、授权。

通用约定 ​

项约定
全局标识{对象前缀}_{ULID},如 per_01J2X…;存量系统保留自增主键,补一列 core_id
租户所有对象携带 tenant_code;云端一租户一库,见下文租户与分库
时间UTC 毫秒时间戳加时区字段
软删除deleted_at 标记,对象标识永不复用
审计所有对象变更进审计表:谁、何时、改了什么、改前改后
来源键由外部系统同步进来的对象记 src_system 与 src_pk,同一来源同一主键只落一条

建模顺序是先对象、再事件、最后指标。指标只能从已定义的对象与事件聚合,展示层不做计算。

十类核心对象 ​

对象前缀定义关键字段
人员per员工、承包商人员、访客的唯一身份姓名、手机(脱敏存)、证件类型、雇主组织、角色、证书、状态
组织org集团、基地、项目、部门、班组、承包商、客户单位名称、类型、上级、层级
场域sit场站、装置区、楼栋、区域,可分层名称、类型、上级、地理位置、风险等级
资产ast设备、装置、车辆等实物名称、类型、所属场域、位号、厂商、生命周期
任务tsk工单、检查、整改、审批等可执行工作类型、挂接对象、责任人或组织、时限、状态、来源
风险rsk风险源及其分级管控名称、类别、等级(红橙黄蓝)、场域、管控措施、负责人
规则rul制度、阈值、审批逻辑、判定口径、响应规则、大模型提示词名称、类型、结构化规则体、版本、生效时间
事件evt现场发生的事实,感知或人工上报见下文
证据evd事件与处置的证明材料类型(快照、片段、蒙太奇、裁剪图、照片、文档)、地址、指纹
知识kno制度文档、案例、经验、口径卡、智悟成文的报告标题、类型、来源引用、密级、版本、有效期、正文

几条关系:人员属于组织,多对多带岗位与时间区间;场域与资产各自成树,资产必挂场域;任务的挂接对象可以指向任意对象,这是"感知触发业务"的挂接点;事件必带场域,可带资产与人员,附一到多条证据;知识可引用事件、任务或规则。

组织类型三值:内部组织、承包商、客户单位。客户单位在业务系统里另有租户码时记在集团码字段里,客户与租户不能画等号。

节点 ​

节点是接入虹元的边缘 AI 设备,一台一条:节点键、租户、场域、启用状态、密钥引用、测试模式。库里不存明文密钥,只存环境变量引用或配对协商出的会话密钥。节点键必须全局唯一,两个站的节点都叫同一个名字,同一秒的同类事件在总部会被判成重复。

事件 ​

事件是感知链路的核心对象,原始上报体整体留存,后续契约加字段时旧事件仍可完整回放。

字段说明
node_key上报节点
dedup_key幂等键,构成 {节点}_{摄像头}_{事件类型}_{窗口起始秒}
event_type叶子类型,如 fire.smoke、person.fight、vehicle.observed
severity严重度提示:低、中、高、紧急。最终定级以人工确认为准
category告警或观测。观测(如车辆经过)不套规则不建任务
occurred_at / received_at发生时刻与入库时刻
camera_ref / camera_name / site_ref设备与场域定位
evidence证据数组,只存引用与指纹,不存图
model产生它的模型与版本
trace_id全链路追踪号,缺则生成
verdict 及其时间、裁定人、备注人工裁定
judged_*机器判定:类型、置信、判定方、模型版本、口径版本
expires_at保留期到期时刻
is_test测试事件,与生产事件分流

幂等键的作用域是"租户加幂等键"复合唯一,重复上报不改写既有事实,只回既有编号。

保留期按租户配:观测默认 30 天,告警默认 180 天,证据跟随事件。到期时刻在入库时按当时的策略算定,事后改策略不追溯存量。已人工裁定的告警永不自动删,裁定是人的劳动,也是误报率的分子。测试事件固定短保留(默认 7 天),到期不论裁定一律清。

事件被清时,挂在它上面的东西一起收口:测试事件的任务跟着删;真实事件上没结的任务改成已取消,history 里写明是保留期清理;办结的任务原样留着。归并组按剩下的成员重算,见处置与归并。

任务 ​

任务状态机四态:待接手、处理中、已完成、已取消,后两者为终态。任务记来源系统与来源键,同一来源同一键只落一条。任务体是自由结构,智悟往里写严重度、通道、消息、通知留痕、超时升级记录。边缘节点确认真警后,该事件的待接手任务自动视为已接手,值守就在现场。

处置经过记在任务上:流转历史、到场与措施等处置记录、办结结果代码、推给现场的说明。这四项只追加,建单和改任务体时都不许碰。两个人同时办结,只有先到的那个生效,后到的回 409。复盘请求这类不是处置的任务照常流转,不推给现场。详见处置与归并。

裁定 ​

裁定是对事件的最终结论,三值:属实、误报、并入。误报必须填备注,并入必须指明并入哪条。已裁定的不覆盖,再次裁定幂等返回;要改只能新开更正记录。裁定不改写事件本体。

裁定分两层:人工裁定写在 verdict,机器判定写在 judged_*,两者分列。机器判定另带六项溯源:模型键、模型版本、制品指纹、阈值版本、提示词版本、知识版本。

裁定写入后虹元向节点回流,节点把本地告警从待定改成属实或误报。回流尽力而为,节点不可达不让裁定失败,响应里如实带回流结果。

订阅 ​

订阅登记一个消费方从哪里开始、看哪些事件:

字段说明
consumer消费方标识
tenant_code租户过滤,硬隔离,消费方不能自己放宽
event_types / min_severity类型与最低严重度过滤
cursor_id确认到哪,只在消费方确认后前进
push_cursor推到哪,推送成功即前进
callback_url / secret_ref可选推送地址与签名密钥引用;地址为空是纯拉取
fail_count / next_try_at / last_error退避与诊断

两个游标不能合并:确认游标保证不丢,推送游标保证不重推。

授权 ​

授权项回答"哪份数据、给谁、为了什么目的、依据什么、有效期多久":

字段说明
数据集授权的数据集键
控制者数据的权利主体,租户码
接收方类型与标识集团、沅虹运营、消费应用、合作方、第三方
目的与查询携带的目的比对
粒度明细行、汇总值、按日、按月、指标值
法律依据与文件合同约定、客户授权、法定义务及文件位置
状态生效、已撤回、已过期、已暂停、待生效
有效期起止日期
批准人谁批的

每次状态变更写一条只增不改的流水:动作、操作者、操作方(租户侧或沅虹侧)、理由、时间。撤回必须填理由。

租户与分库 ​

虹元同一套程序有两种形态:

形态用在哪库怎么分
单库现场部署(缺省)一个库放全部表,按 tenant_code 隔离
一租户一库公有云主库只放控制面:目录口径与授权、节点与凭据、数据集拉取登记、删除台账、模型台账、实例身份。每个租户的业务数据(事件、任务、知识、归并组、制度库)在自己的 uancore_<租户码> 库里

一租户一库时,开哪些租户库以主库的登记为准,库名只能由租户码推出来。新开租户不用重启。每张表归哪边有登记,定向删除、开户与自检都读同一份登记。

凭据决定租户:

凭据租户
客户租户的门户会话固定是会话租户;指明别家回 403
管理密钥,或沅虹运营租户的门户会话按 x-tenant-code 头或 tenant_code 参数;两处都给又不一致回 400
节点签名、配对码、对外集成钥匙、查询令牌按凭据在主库查出租户

节点配对同样不跨租户:节点名已经属于别的租户时,配对回 409,配对码不作废。

其他对象 ​

  • 模型台账。 模型名、版本、运行时、制品指纹、许可、来源、评测引用、状态。判定留痕里的模型键与版本从这里对上。
  • 实例身份。 这套虹元代表哪家单位、哪个租户、哪个场站。接入方看到的是它,不填就是实例名。
  • 消费方契约。 消费方声明它要哪些数据集、什么目的、什么范围规则、排除哪些维度、保留多少天。
  • 质量规则与健康度。 六维质量校验(完整性、准确性、一致性、及时性、唯一性、有效性),资产健康度四态。
  • 元数据。 数据域、数据资产、字段(含敏感度分级)、指标(原子、派生、复合)、口径版本、血缘。
  • 归并组。 一组告警归成的一件事,分三层,带首出、成员与人工确认的痕迹。见处置与归并。
  • 制度文件与条款块。 制度库的文件台账、切块、账号密级、问答留痕。见知识与制度库。

相关文档 ​

沅虹科技 · 智建管建设,智安保稳产,智觉察现场,智悟定行动