对象模型规范
大约 2 分钟
对象模型规范
说明
对象模型是用于描述事件属性的抽象化概念,是业务中实际发生事件的数字化映射
1. 公共属性
所有的事件对象都具有一些公共属性,通过公共属性,我们可以获取到所有事件都具有的公共基础信息,事件的公共属性包括:
属性名称 | 作用 | 说明 |
---|---|---|
上报时间(reportTs ) | 事件上报时间 | 13位时间戳 |
描述(profile ) | 描述事件的准确类别 | 始终包含的字段包括:appType (代表业务场景的编码)poiCode (代表业务模块分类的编码)modelId (技术侧定义的对象模型ID) |
事件(events ) | 定义详细的事件信息 | 支持多级嵌套 每个事件都具有 eventType 字段用于描述事件类型(1. 通知 2. 告警 3. 取消告警) |
这是一个代表物联网场景物模型变更事件的对象示例,将在后文进行详细说明:
{
"reportTs": 1661154622,
"profile": {
"poiCode": "s0010001",
"appType": "iot",
"modelId": 10001
},
"events": {
"create": {
"eventType": 1,
"eventTs": 148813512323,
"productId": "产品ID",
"productName": "产品名称",
"tsl": {
"profile": {},
"properties": {},
"events": {},
"services": {}
}
},
"update": {
"eventType": 1,
"eventTs": 148813512323,
"productId": "产品ID",
"productName": "产品名称",
"tsl": {
"profile": {},
"properties": {},
"events": {},
"services": {}
}
}
}
}
profile
属性说明
2. 说明
通过profile
属性,可以始终定位到某个场景下唯一的一种事件对象,其应用场景包括:
【数据处理分析】: 在平台侧的数据处理以及分析过程中,可以根据 poiCode
/modelId
,自动对不同数据应用不同的数据处理流程;方便后期大数据分析;
【语义化展示】: 应用系统在接收到业务数据时,可以根据数据携带的 modelId
获取取对应的对象模型定义,根据模型定义对数据自动进行语义化展示,如 temperature_value: 35
展示为 温度: 35 度
;
在这里对profile
属性的各个字段做详细说明:
appType
代表业务场景的编码,目前包括:
编码 | 说明 | 数字编码 |
---|---|---|
iot | 物联网场景 | 001 |
poiCode
代表业务模块分类的编码,此编码由三部分组成:场景类型标识,场景数字编码,业务模块编码
场景类型标识
使用小写字母s
作为固定前缀(service的第一个字母)
业务模块编码
此编码会在各个业务模块的数据标准中定义,不在此处对各个业务场景的所有业务模块编码做统一展示
events
属性说明
3. 注意
事件属性作为业务自定义字段,由各个业务模块自行决定其内容与各字段含义,详见数据标准定义