数据建模
使用 IDMP 来管理数据的第一步就是要建立数据资产模型。数据都存储在数据库里,但数据库只是多个二维的表格,表格之间的关系无法直接感知。数据建模的目的就是帮助用户建立起这些二维表之间的关系,以便于管理、查找、分析所拥有的数据。
数据目录
因为企业一般采用树状的组织管理结构和资产管理结构,因此 IDMP 采用树状层次结构来管理数据资产,建立起数据目录 (Data Catalog)。树状结构的每个节点都对应一个元素,类似计算机文件系统的一个目录。这个目录除自身的数据文件之外,还容许有 0 到多个子目录,即子元素。一个元素可以是具体的设备,设备的子系统,也可以是逻辑的实体或组织。通过树状结构的数据目录,用户可以很容易浏览他拥有的数据资产。
建模的过程就是不断创建元素、构建数据目录的过程,形成的树状结构可以对应真实世界里管理的层次结构。比如一个电力集团有多个风力发电厂,每个风电厂有很多台风机,多台逆变器。因此先可以创建“所有电厂”这个元素,在“所有电厂”这个元素下,创建多个风电厂元素,比如风电厂-A
,风电厂-B
。在风电厂下面,再创建多个风机和逆变器,比如风机-1
、风机-2
等。这样数据模型就一级一级的建立起来,如下图所示:

上述是一个从上到下的建模过程。在组织结构不清晰时,也可以实行由下到上的建模过程。比如先创建风机这个元素,等风机配置好一切并工作正常,然后创建风电厂这个元素,再将风机这个元素挪到风电厂这个元素下面。
企业资产管理存在多种组织模式,不同角色需要不同的数据视角,比如负责运营的偏向于按厂来构建树状结构,但负责设备维护的专业团队更喜欢用设备类型来构建树状结构。以风力发电为例,可以构建这样的树状结构:

这种层级结构天然契合企业按设备类型进行专业分工的管理需求。 为保证管理的灵活性,IDMP 容许对同一个数据资产构建多个树状结构,一个设备或实体可以通过元素引用的方式属于多个树状结构,这样便于管理。以风力发电为例,可以构建这样的树状结构:

这种设计为不同角色提供了灵活的查看数据方式:
- 厂区管理人员:可通过地理树状结构快速定位管辖范围内的资产
- 专业运维团队:可通过设备类型树状结构集中管理同类设备
因为一个元素可以属于多个树状结构,为减少数据冗余并保证保数据的一致性,IDMP 采用元素引用的机制。元素引用有强引用、弱引用与包含引用三种类型,后续章节将专门介绍。对于第一次使用 IDMP 的用户而言,将一个元素从一个树状结构拷贝到另外一个树状结构时,选择强引用最为简单。
通过支持创建多个并行的树状层次结构,IDMP 完美适应企业多样化的管理需求和组织架构。
元素
在树状结构里,选择一个元素,点击右侧三个点菜单,将出现下拉菜单,再选择“新建子元素”即可在当前元素下创建子元素。这时可以选择元素模板或不选择,可以选定引用关系(缺省为强)。后续高级话题将专门讨论元素引用关系,暂时选择缺省设置“强”,然后一个元素就创建了。
用户可以设置元素的名称、类别 (Category)、位置、描述信息等等。
对于同一类设备,可以先在基础库里创建元素模板,这样便于批量创建和管理元素,而且保证了数据的标准化。
IDMP 还提供元素拷贝、粘贴的功能,便于您创建类型相近的元素。
一个元素创建后,可以被删除、修改。在树状结构里,点击一个元素,您还可以拖拽他到其他节点,产生一个元素引用。这些修改、删除、拷贝、粘贴、挪动操作都是便于您灵活构建和调整树状结构。
属性
一个元素可以拥有很多动态或静态属性。在树状结构之上,只有把每个元素的属性配置好,我们才将真实的物理世界映射到了数字世界,构建了它的数字孪生。
在树状结构里选中一个元素,路径条将相应的调整,显示该元素的当前位置。在路径条最后的下拉框里选择“属性”,或在树状结构里,点击元素所在位置的三个点菜单,选择下拉菜单里的“属性”,系统将展示该元素的属性列表。
在属性列表的右上方,点击+
,将创建一个新的属性。
属性可以配置名字、类别、数据类型、描述信息等。对于数值类型,您还可以对极限值、时序数据预测进行设置,也可以添加个性化的属性。属性还可以配置为常量、隐藏、不包含等。
但最重要的是,属性可以配置数据引用 (Data Reference)。数据引用是指该属性值是由某个数据源推导出来的。数据引用可以是 TDengine 指标 或 TDengine 标签,它表示该属性实际指向 TDengine TSDB 里一张表的某一列,或一张表的标签值。本质上,引用是一个映射,它并没有复制数据,而是访问时,去从数据源 (比如 TDengine TSDB) 获取的。
在下一个版本,属性的数据引用还将支持计算公式 (Formula)、字符串构建 (String Builder), 让数据引用更加灵活,来支持数据的标准化。计算公式是指该属性是基于其他属性的值计算出来的,比如智能电表的功率这个属性,是通过属性电流与属性电压相乘获得的,我们只需要配置计算的表达式即可。字符串构建是指定一个字符串构建的规则,基于几个字符串,构建出新的字符串。
今后属性的数据引用不仅能引用 TDengine TSDB 的数据,还能引用其他时序数据库或关系型数据库。
属性也可以被删除、修改、拷贝、粘贴等。