4. 设备分类与属性建模
设备主数据模型的核心矛盾在于:设备种类繁多、参数各异,但管理流程又要求统一。解决这个矛盾的关键手段,是把设备拆成两个正交维度——分类回答“它是什么”,属性回答“它有哪些可管理的特征”。分类树负责组织与检索,属性集负责描述与约束,两者通过继承与覆盖规则协同工作,才能既保证标准统一,又允许专业差异。
一、分类树设计:从“能挂上”到“挂得准”
分类树是一棵有向的层级结构,每个节点代表一类设备,父子关系表达“是一种”的语义。设计分类树时,最容易犯的错误是按组织部门或按位置来分,例如“一车间设备/二车间设备”。这类划分会随组织调整而失效,且同一台设备可能同时属于多个部门。正确的做法是按设备的功能本质与结构特征划分,使分类具有稳定性。
一个可用的分类树通常控制在 3~5 层。层数过少,叶子节点会过于笼统,属性无法差异化;层数过多,维护成本急剧上升,且容易出现“同层不同粒度”的问题。以流程工业为例,可以采用如下主干:
- 第 1 层:按大类划分,如动设备、静设备、电气设备、仪表与控制设备。
- 第 2 层:按功能族划分,动设备下分泵、风机、压缩机、搅拌机等。
- 第 3 层:按结构型式划分,泵下分离心泵、螺杆泵、隔膜泵、齿轮泵等。
- 第 4 层:按关键规格或应用场景细分,离心泵下分清水泵、化工流程泵、渣浆泵等。
分类树设计还需遵循“同层互斥、父子覆盖”原则:同一父节点下的子节点应尽量互斥,避免一台设备同时落入两个叶子分类;父节点的定义范围必须完整覆盖所有子节点,不能出现“子节点比父节点范围更大”的逻辑倒挂。此外,每个分类节点应分配一个分类编码,编码本身不承载语义,只作为稳定标识,避免因名称调整导致历史数据失效。
二、属性集定义:把“可管理特征”结构化
属性集是挂在分类节点上的一组属性定义。属性不是越多越好,判断一个属性是否应该纳入主数据,标准是:它是否参与检索、校验、统计或业务决策。仅用于展示、且无统一口径的描述性文字,不应作为结构化属性。
属性定义至少应包含以下要素:属性编码、属性名称、数据类型、单位、是否必填、取值范围或枚举、默认值、是否可继承、是否可覆盖。数据类型常见的有字符串、数值、布尔、日期、枚举。对于数值型属性,必须绑定单位,例如功率单位 kW、流量单位 m³/h、压力单位 MPa,避免同一属性在不同记录中混用单位。
以“离心泵”分类为例,其属性集可以设计为:
| 属性编码 | 属性名称 | 数据类型 | 单位 | 必填 | 取值/枚举 |
|---|---|---|---|---|---|
| PMP_FLOW | 额定流量 | 数值 | m³/h | 是 | >0 |
| PMP_HEAD | 额定扬程 | 数值 | m | 是 | >0 |
| PMP_POWER | 配套功率 | 数值 | kW | 是 | >0 |
| PMP_SEAL | 轴封型式 | 枚举 | — | 是 | 机械密封/填料密封/无密封 |
| PMP_MAT | 过流部件材质 | 枚举 | — | 否 | 铸铁/不锈钢/双相钢/衬胶 |
| PMP_SPEED | 额定转速 | 数值 | r/min | 否 | >0 |
属性集定义完成后,应形成一份分类—属性矩阵,明确每个分类节点直接拥有哪些属性、继承哪些属性。这份矩阵是后续数据校验和录入界面生成的依据。
三、继承与覆盖规则:统一性与差异性的平衡
继承是指子分类自动获得父分类的全部属性定义,无需重复声明。例如“动设备”层定义了“设备位号、制造商、出厂日期、安装日期”等通用属性,所有泵、风机、压缩机都自动继承。继承减少了重复定义,也保证了同类设备在通用字段上的一致性。
但仅有继承不够。子分类往往需要调整父属性的约束,这就引入覆盖规则。覆盖不是删除,而是在继承基础上收窄或细化。常见覆盖方式有三种:
- 必填性覆盖:父类中“过流部件材质”为非必填,在“渣浆泵”子类中因磨损管理需要,覆盖为必填。
- 取值范围覆盖:父类“额定压力”允许 0~100 MPa,在“低压泵”子类中收窄为 0~1.6 MPa。
- 枚举项覆盖:父类“轴封型式”枚举包含四种,在“无密封泵”子类中收窄为仅“无密封”。
覆盖必须遵循单调收窄原则:子类不能放宽父类的约束,只能收紧或保持不变。否则继承链上的校验规则会互相矛盾。同时,被覆盖的属性应在模型中记录覆盖来源,便于追溯“这个必填要求是哪个层级加上去的”。
四、行业分类标准参考:站在成熟体系上扩展
从零设计分类树成本高且容易遗漏,更务实的做法是参考成熟标准,再按企业实际扩展。常用的参考体系包括:
- GB/T 14885《固定资产分类与代码》:国内资产管理的通用口径,适合与财务、资产台账对齐。其分类粒度较粗,通常作为第 1~2 层的参考。
- ISO 14224《石油、石化及天然气工业设备可靠性和维修数据收集与交换》:按设备类别、设备单元、维修活动组织,适合需要做可靠性统计和维修分析的企业,其分类边界清晰,可直接映射到第 2~3 层。
- 企业自定义分类树:在标准基础上向下扩展,补充企业特有的设备类型和属性,但应保持与标准分类的映射关系,便于对外报送和行业对标。
参考标准时要注意:标准分类的目标是统计与交换,企业分类的目标是管理与运维,两者粒度不一定一致。建议做法是建立标准分类与企业分类的映射表,企业分类可以比标准更细,但每个企业分类节点必须能向上归集到唯一的标准分类节点,避免出现“无法归集”的孤立分类。
五、落地检查要点
分类与属性建模完成后,建议用以下问题做一次自检:分类树是否按功能本质划分、同层是否互斥、每个叶子分类是否有明确的属性集、继承链上是否存在约束冲突、覆盖是否全部为单调收窄、每个分类节点是否可归集到标准分类。这些问题能提前暴露大部分建模缺陷,减少后续数据治理的返工成本。