- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 控制台操作指南
-
数据建模引擎用户指南
- 设计态使用指南
- 运行态使用指南
- 流程引擎使用指南
- 数字主线引擎用户指南
- 最佳实践
- 开发指南
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
API
- 应用管理
- 运行服务管理
-
数据建模引擎
- 基础数据服务
-
版本服务
- 管理员更新M-V模型数据实例
- 管理员批量更新M-V模型数据实例
- 管理员撤销检出M-V模型数据实例
- 管理员批量撤销检出M-V模型数据实例
- 获取指定M-V模型实例的版本列表
- 获取指定版本的M-V模型实例数据
- 检出M-V模型数据实例
- 批量检出M-V模型数据实例
- 检出并更新M-V模型
- 批量检出并更新M-V模型
- 撤销检出M-V模型数据实例
- 批量撤销检出M-V模型数据实例
- 检入M-V模型数据实例
- 批量检入M-V模型数据实例
- 更新并检入M-V模型数据实例
- 批量更新并检入M-V模型数据实例
- 修订M-V模型数据实例
- 批量修订M-V模型数据实例
- 修订并更新M-V模型数据实例
- 批量修订并更新M-V模型数据实例
- 批量升级M-V模型实例的版本号
- 删除版本对象下最新分支的最新版本实例数据
- 软删除版本对象下最新分支的最新版本实例数据
- 删除最新大版本下的所有小版本
- 批量删除最新大版本下的所有小版本
- 软删除M-V模型实例下最新分支的所有小版本数据
- 批量软删除最新大版本下的所有小版本
- 对比M-V模型实例
- 失效管理
- 业务编码生成器
- 标签管理
- 生命周期管理
- 系统版本
- 多维视图和多维分支
- 关系实体服务
- 树形结构
- 流程引擎
- 应用示例
- 权限和授权项
- 附录
- SDK参考
-
常见问题
- 一般性相关问题
- 计量计费相关问题
-
数据建模引擎相关问题
- 设计态与运行态有什么区别?
- 为什么无法登录应用运行态?
- 为什么用户管理中会有“用户不存在”的用户?
- 为什么登录应用运行态时提示“缺少参数或参数错误”?
- 为什么设置输入型参数时提示安全校验失败?
- 应用发布后,在运行态为什么看不到构建的模型数据?
- 如何验证已设置的用户权限已生效?
- 什么是XDM应用?
- 什么是M-V模型?
- 数据建模引擎支持哪些属性类型?
- 枚举、合法值和参考对象的区别是什么?
- 入图和不入图有什么不同?
- 数据建模引擎支持哪些层级的缓存?
- 如何进行应用同步?
- 可以通过API方式使用应用设计态吗?
- 体验版数据建模引擎和基础版数据建模引擎提供的API有什么不同?
- 如何查看数据建模引擎的版本号?
- 如何避免数据模型互相引用形成环?
- 使用JDK 17版本应用运行态时,服务编排存在哪些约束与限制?
-
数字主线引擎相关问题
- 什么是企业租户和应用租户?
- 创建实体时选择构建表的作用是什么?
- 复杂实体属性太多,创建麻烦怎么办?
- 什么是源端映射和目标端映射?
- 什么是增量字段?
- 关系型数据库映射配置中DelFlag字段的作用是什么?
- 创建数据质量任务时,怎么选不出数据实体?
- 为什么LinkX-F中xDM-F来源的实例数据的最后更新时间显示与xDM-F中不一致
- 什么是入图调度的数据起止时间和数据分片间隔?
- 聚合服务编排中非纯脚本服务选择入参时,提示错误“初始数据实体必填入参为空,请选择必填入参”?
- 发布聚合服务后生成的API如何调用?
- 调用聚合服务时提示“查找不到该企业用户”
- 为什么操作时提示WSF参数校验失败?
- 描述类信息中输入英文双引号导致系统错误提示
- 全量数据服务API相关问题
- 文档下载
- 通用参考
链接复制成功!
树形结构实践
概述
树形结构指的是数据元素之间存在着“一对多”的树形关系的数据结构,是一类重要的非线性数据结构。在树形结构中,树根节点没有前驱节点,其余每个节点有且只有一个前驱节点。叶子节点没有后续节点,其余每个节点的后续节点数可以是一个也可以是多个。
为了便于用户维护数据之间的父子关系,工业数字模型驱动引擎(Industrial Digital Model Engine,简称iDME)提供树形结构功能。用户可在应用设计态创建数据实体时,在功能列表中勾选“树形结构”,即可使用此功能。
具有树形结构功能的数据实体会自动生成五个系统属性“ParentNode”、“LeafFlag”、“RawFullPath”、“RootNode”和“FullPath”,用户可以在该数据实体的详情页面查看对应属性的信息,具体操作请参见查看数据实体(设计态)和查看数据实体(运行态)。
同时,具有树形结构功能的数据实体对外提供如下8个树形相关接口。
接口名称 |
描述 |
---|---|
GetAllParentList |
获取指定节点的父节点,直至根节点。 |
BatchRemoveChildNode |
根据入参的父项ID,批量移除指定的子节点。 |
BatchAddChildNode |
为指定的父节点批量添加指定的子节点。 |
GetChildList |
获取单层子节点。 |
GetParent |
获取单层父节点。 |
Refresh |
刷新所有节点。 |
GetRoot |
获取根节点/顶层父节点。 |
更多树形结构的接口信息请参见全量数据服务。
约束与限制
- 如果数据实体的父模型具有树形结构,该数据实体自动继承树形结构功能,且不可去除勾选。如果后续父模型删除了树形结构功能,该数据实体将不再继承父模型的树形结构功能,但可以自己重新勾选树形结构功能。
- 如果数据实体为Master-Version模型实体(即“父模型”选择为“VersionObject”),则只能在Master模型上选择树形结构功能,Version模型和Branch模型不支持选择树形结构功能。
示例场景
常见的应用系统(如ERP、采购、财务等)中都会包含人员管理,而人员管理往往都是以组织的形式进行管理和展示。这种场景下,树形结构是此功能的基础核心,所有人员的权限操作都是依附于组织。
某企业的组织架构如图1所示,根据树形结构进行分析,可得知:
- 黄色方框的部门没有父节点,即为根节点。
- 红色方框的部门没有子节点,即为叶子节点。
- 绿色方框的部门均有子节点。
为此,我们可在构建数据模型时,创建一个具有“树形结构”功能的数据实体用于管理此企业的组织。而后在其数据实体实例化时,通过指定“ParentNode”的属性值来实现组织管理。
如下操作步骤仅指导您如何通过可视化页面使用树形结构功能。关于如何通过API方式使用树形结构功能请参见全量数据服务。
操作步骤
- 登录应用设计态。
- 在左侧导航栏中,选择“数据模型管理 > 数据实体”,进入数据实体页面。
- 单击“创建”,根据如下主要信息,创建一个具有“树形结构”功能的数据实体(例如OrganizationalStructure)。
图2 树形结构
表2 主要参数信息 类型
参数
参数说明
基本信息
英文名称
OrganizationalStructure。
中文名称
组织结构。
中文描述
某公司的部门结构。
模型类型
选择“实体模型”。
父模型
保持默认,此处以BasicObject为例。
功能列表
可选功能
添加“树形结构”功能。
- 选择“属性”页签,新增一个“文本”类型的属性“DepartmentName”,用于记录部门名称。
图3 属性
- 选择“功能配置”页签,在“设置规则 > 树形结构”栏设置树形结构的规则。
此处以设置“指定全路径字段”为“ID”为例。图4 功能配置
- 依次完成“发布数据实体 > 发布应用 > 部署应用”的操作,具体操作请参见发布数据实体、发布应用和部署应用。
- 待应用完成部署后,登录应用运行态。
- 在“数据模型管理 > 数据实体”中,找到并编辑“OrganizationalStructure”数据实体,将“实例界面显示”设置为“是”。
- 在“数据模型管理 > 数据实例”中,选择数据实体“OrganizationalStructure”,根据示例场景的企业组织架构,依次创建如下数据实例。
图5 创建数据实例
表3 数据实例信息 唯一编码(ID)
部门名称(DepartmentName)
父节点(ParentNode)
10001
公司股东会
-
20001
股东会秘书
10001
20002
总经理
10001
20003
监事会
10001
30001
技术总监
20002
30002
营销总监
20002
30003
生产总监
20002
30004
财务总监
20002
......
......
......
为篇幅起见,表3仅列出部分数据实例信息。