对象模型规范

大约 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": {}
            }
        }
    }
}

2. profile属性说明

说明

通过profile属性,可以始终定位到某个场景下唯一的一种事件对象,其应用场景包括:

【数据处理分析】: 在平台侧的数据处理以及分析过程中,可以根据 poiCode/modelId,自动对不同数据应用不同的数据处理流程;方便后期大数据分析;

【语义化展示】: 应用系统在接收到业务数据时,可以根据数据携带的 modelId获取取对应的对象模型定义,根据模型定义对数据自动进行语义化展示,如 temperature_value: 35 展示为 温度: 35 度

在这里对profile属性的各个字段做详细说明:

appType

代表业务场景的编码,目前包括:

编码说明数字编码
iot物联网场景001

poiCode

代表业务模块分类的编码,此编码由三部分组成:场景类型标识,场景数字编码,业务模块编码

场景类型标识

使用小写字母s作为固定前缀(service的第一个字母)

业务模块编码

此编码会在各个业务模块的数据标准中定义,不在此处对各个业务场景的所有业务模块编码做统一展示

3. events属性说明

注意

事件属性作为业务自定义字段,由各个业务模块自行决定其内容与各字段含义,详见数据标准定义