创建数据实体
操作场景
数据实体是工业数字模型驱动引擎-数据建模引擎(xDM Foundation,简称xDM-F)原子接口的承载体之一。在应用设计态中,分为实体模型和抽象模型。实体模型是实际存在的一个对象模型,抽象模型是根据多个实体模型公共的部分抽象出来的模型。如果实体模型继承这个抽象模型,就包含了该抽象模型的属性。本文指导您在应用设计态创建数据实体。

前提条件
已登录应用设计态。
步骤1:填写基本信息
- 在左侧导航栏中,选择 ,进入数据实体页面。
- 单击“创建”。
- 根据页面提示,配置如下信息。
图2 基本信息
表1 基本信息 类型
参数
参数说明
基本信息
英文名称
数据实体的英文名称。
需以大写字母开头,只能包含字母、数字和“_”,不能以History、Query、VersionView、LifecycleManagedReviseAnd、LifecycleManagedCheckoutAnd、Version、VersionCheckoutAnd和VersionReviseAnd结尾(不区分大小写),长度不能超过60个字符。
中文名称
数据实体的中文名称。
只能包含中文、英文字母、数字、“_”和“-”,长度不能超过128个字符。
英文描述
用户自定义,用于说明当前创建的数据实体的作用、使用场景等,以便协同其他用户快速了解与使用。
长度不能超过1024个字符。推荐使用英文字符填写,同时支持中文及其他字符输入。
中文描述
用户自定义,用于说明当前创建的数据实体的作用、使用场景等,帮助协同用户快速了解实体功能。
长度不能超过1024个字符。支持中文、英文及其他字符输入,建议优先使用中文填写以适配中文阅读场景。
模型类型
xDM-F提供如下两种类型,请根据实际需求进行选择。
- 实体模型:生成物理表,可用于扩展子模型。
- 抽象模型:不生成物理表,可继承或被实体模型继承。
父模型
应用设计态下的父模型均为抽象模型,xDM-F提供如下父模型:- BusinessObject:基本业务对象,具有13个系统属性(Name、Description、ID、Creator、CreateTime、Modifier、LastUpdateTime、 RdmVersion、RdmExtensionType、KIAGUID、SecurityLevel、Tenant、ClassName)。
- BasicObject:基础对象,具有9个系统属性(ID、Creator、CreateTime、Modifier、LastUpdateTime、RdmVersion、RdmExtensionType、 Tenant、ClassName)。
- AbstractCategory:抽象分类对象,是xDM-F在XDM应用预置的内置模型。如果您希望数据实体可以使用数据分类管理功能,您可以选择此抽象模型,用于后续在应用运行态通过此数据实体进行数据分类。
- VersionObject:版本对象,用于创建有大小版本的业务对象,即Master-Version(M-V)模型的对象。关于M-V模型的介绍可参见什么是M-V模型?。
模型分类
xDM-F提供如下两种模型分类,请根据实际需求进行选择。
- 系统配置模型:用于承载为实现业务逻辑而增加的模型,该模型不会与上下游集成。
- 业务数据模型:用于承载业务数据的模型。
责任人
数据实体的责任人。
表名称
数据实体存储至数据库的表名称,默认格式为“应用名称_数据实体英文名称”,可修改。
- 同一个应用下表名称不可重复,且不能以xdm开头。
- 如果应用的数据库类型为mysql,且实体是单实体,表名称总长度不能超过64个字符。
- 如果应用数据库类型是mysql,且实体是M-V模型,表名称总长度不能超过58个字符。
- 如果应用的数据库类型为postgresql,且实体是单实体,表名称总长度不能超过63个字符。
- 如果应用数据库类型是postgresql,且实体是M-V模型,表名称总长度不能超过57个字符。
二级缓存
针对读多写少的业务场景,xDM-F提供了作用于实体级的二级缓存功能。开启此配置项后,系统会自动缓存实体的实例信息,从而提高系统整体的性能。
如果实体有参考对象类型的属性,该属性的参考对象建议同步开启二级缓存功能。
更多信息请参见数据建模引擎相关问题。
标签
- 如果您没有可使用的标签,可选择“自定义”。
- 如果您已有可使用的标签,可选择“添加标签”。
更多关于标签的操作请参见主服务标签。
图标
用户自定义,作为数据实体可视化的关键元素,可以直观展现数据结构与关联,帮助用户快速理解复杂信息。
同步至LinkX-F
如果您希望当前元模型及其实例数据可以继续在LinkX-F进行数据入图、数据探索、编排数据服务等操作时,您可以开启此配置项。
此配置项需要已开通LinkX-F,否则配置后不生效。如果您未开通LinkX-F,请开通数字主线引擎。
- 是:针对您选择的“模型类型”,系统会自动将对应模型类型的元模型及其实例数据自动同步至LinkX-F。
- 如果当前元模型的“模型类型”选择为“实体模型”,当前元模型及其实例数据会自动同步至LinkX-F。
- 如果当前元模型的“模型类型”选择为“抽象模型”,后续可通过被实体模型的元模型继承的方式,将当前元模型下“入图”为“是”的属性及其相关数据自动同步至LinkX-F并入图。
开启后,即可通过LinkX-F来实现汇聚企业全场景数据,构建企业级数据图谱去进行数据索引、分析、追溯等。具体操作请参见xDM-F应用同步。
自动同步时,当前元模型继承的所有内置模型属性不会同步至LinkX-F。如果您希望当前元模型继承的内置模型属性可以同步至LinkX-F,请将对应内置模型的“同步至LinkX-F”修改为“是”,并允许对应内置模型属性入图,具体操作请参见XDM应用。
- 否:当前元模型及其实例数据不同步至LinkX-F。默认为“否”。
入图标识
“同步至LinkX-F”为“是”时,必填项。
表示此元数据在入图时的别名或标识。
入图标识需以字母开头,只能包含字母、数字和“_”。例如a0_01。
功能列表
基础功能
xDM-F提供的标准能力,随父模型自动带出,不可修改。
- 如果父模型选择为“BusinessObject”,基础功能自动勾选“基础数据服务”、“文件服务”和“安全受控”。
- 如果父模型选择为“BasicObject”,基础功能自动勾选“基础数据服务”和“文件服务”。
- 如果父模型选择为“VersionObject”,version模型(版本对象)上自动勾选“基础数据服务”、“文件服务”、“安全受控”和“版本服务”,master模型(主对象)上自动勾选“主版本服务”、“基础数据服务”和“文件服务”,branch模型(分支对象)上自动勾选“基础数据服务”和“文件服务”。
- 如果父模型选择为其他抽象模型,基础功能会根据父模型的配置自动选中,且不可删除。
可选功能
xDM-F提供丰富的可选功能,包括但不限于系统版本、权限管理、业务编码生成器、分类管理、数据分类管理、扩展属性、扩展类型、文件夹管理、生命周期管理、树形结构、失效管理、多维视图&多维分支、所有者管理、结构化文档管理、标签管理等。根据所选的“父模型”的不同,系统将支持不同的功能组合。
如需了解各功能的具体内容,请参见数据建模引擎功能。
自定义功能
- 如果您没有可勾选的自定义功能,请参阅创建功能模型进行创建。
- 如果您已有可勾选的自定义功能,请根据实际需求进行勾选。勾选后,数据实体会继承该功能模型中的属性和关系。
- 单击“保存”。
步骤2:新增属性(可选)
属性是数据实体所具有的特征或性质,用于描述数据实体的特征。完成基本信息的填写后,该数据实体会继承父模型的属性,例如唯一编码、创建者、租户、实体类型等属性。如果从父模型继承的属性已满足您实际的业务场景,可跳过此步骤,后续可参见管理数据实体属性管理该实体的属性。如果从父模型继承的属性满足不了您实际的业务场景,可通过如下操作添加属性。
- 选择“属性”页签,进入属性页面。
- 在“基本属性”栏中,单击“新增”。
- 在弹出的窗口中,填写如下主要信息。
图3 属性基本信息
- 基本信息:设置属性的各项基础信息,完成属性的初步定义。
表2 设置属性基本信息 参数
参数说明
英文名称
用户自定义,表示当前创建的基本属性的自定义标识符。其命名需遵循以下规则与限制:
- 需以字母开头,仅允许字母、数字和下划线(_),长度不超过58个字符。
- 需保证该名称在其所属父/子模型的所有属性中唯一,不能重复。
- 不能使用数据库系统的关键词作为英文名称,常见的关键词包括但不限于:where、select、from、limit等。
- xDM-F会将输入的英文名称自动转换为类小驼峰格式存储(如“Part_model_number → part_Model_Number”)。后续调用API时,需使用系统转换后的类小驼峰名称作为参数名,而非原始定义的英文名称。例如,您定义的属性英文名称为“Part_model_number”,调用API时需使用“part_Model_Number”作为参数名。
中文名称
用户自定义,用于标识当前创建的基本属性的中文表述。其命名需遵循以下规则与限制:
- 仅允许包含中文、英文字母、数字、下划线(_)和短横线(-),长度不超过58个字符。
- 需保证该名称在其所属父/子模型的所有属性中唯一,不能重复。
英文描述
用户自定义,表示当前创建的基本属性的英文描述。
长度不能超过1024个字符。推荐使用英文字符填写,同时支持中文及其他字符输入。
中文描述
用户自定义,用于说明当前创建的基本属性的用途、特征等,以便于其他用户可以快速了解和使用该属性。
长度不能超过1024个字符。支持中文、英文及其他字符输入,建议优先使用中文填写以适配中文阅读场景。
类型
用于定义和约束属性的数据类型。可选的类型如下:
- 文本:用于存储较短的字符串数据,例如产品名称、标题、简短描述等,文本长度不能超过4000个字符。
- 长文本:用于存储较长的字符串数据,例如完整的文章内容、产品详情、日志记录、报告文档等。文本长度最大支持524288个字符。如需存储超长字符串数据,建议使用“文件”类型属性。
- 整型:用于存储整数数据,例如年龄、数量、状态码、序号等。
- 长整型:用于存储范围较大的整数数据,例如订单编号、时间戳、大数据量统计等。
- 浮点型:用于存储带有小数的数值,例如价格、评分、比例、不需要高精度的测量值等。
- 浮点型(自定义精度):允许用户根据需求自定义浮点数的精度,适用于对数值精度有较高要求的应用场景。
- 参考对象:用于关联其他数据模型,实现数据的关联查询、整合以及业务逻辑的联动处理。允许为相同类型的对象建立1:N或主外键关系,例如汽车和轮胎。
- 文件:用于存储图片、文档、压缩包等各类文件。
- 布尔值:用于表示逻辑上的真或假,例如开关状态、是否同意等。
- 日期:用于记录时间信息,显示格式为年/月/日/时/分/秒,例如文章发布时间、订单创建时间等。
- 枚举:用于存储具有固定取值范围的数据,例如性别(男/女)、订单状态(待支付/已支付/已发货)等。
- 人员:用于标识企业或部门内的人员名称,例如负责人、创建人、团队成员等。
- URL:用于存储网址链接,长度不能超过4000个字符,且需要符合标准的URL格式。例如图片链接、API端点、外部资源链接等。
- JSON:用于存储结构化的JSON数据,例如配置信息、部件规格参数等。
不同的属性类型在各个数据库中的字段类型略有差异,具体的对应关系请参见属性类型与数据库字段类型对照。
属性分类
用户自定义,可根据各维度自定义分类,便于管理属性。
EOS日期
EOS(End of Service,停止服务)日期主要用于标识属性的生效/失效时间。您可以通过EOS日期预设置某个属性字段的截止日期,以便于后续在业务开发时通过该参数控制相应的业务逻辑。
- 约束信息:在“基本信息”中选定属性具体类型后,还需要为其配置相应的约束信息,以确保后续在应用运行态用户录入的实例数据满足完整性与准确性要求,从而有效防止无效数据的输入。
表3 设置属性约束信息 参数
参数说明
文本长度
当您将属性的“类型”选择为“文本”或“长文本”后,您需要进一步设置最大长度限制。
- “文本”类型:最大支持4000个字符。
- “长文本”类型:最大支持524288个字符。为确保部署在数据建模引擎运行服务上的应用能够以最佳性能运行,建议您根据实际业务需求,合理规划“长文本”类型属性的长度设置。
有效范围
当您将属性的“类型”选择为“整型”、“长整型”、“浮点型”或“浮点型(自定义精度)”后,您可以根据实际业务需求设置有效范围。
- 左开右开():表示不包括区间边界的两个值。例如(a,b),即a<x<b,取值不包括a和b。
- 左闭右闭[]:表示包括区间边界的两个值。例如[a,b],即a≤x≤b,取值包括a和b。
- 左开右闭(]:表示不包括开区间一边的边界值,包括闭区间一边的边界值。例如(a,b],即a<x≤b,取值不包括a,包括b。
- 左闭右开[):表示不包括开区间一边的边界值,包括闭区间一边的边界值。例如[a,b),即a≤x<b,取值包括a,不包括b。
指定合法值类型
当您将属性的“类型”选择为“文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”或“人员”后,您可以根据实际业务需求,为其指定合法值类型。
在指定合法值类型时,仅允许输入对应合法值类型的英文名称。同时,为确保合法值类型限制的有效性,请确认当前指定的合法值类型在对应应用运行态的 中有匹配项。如果不存在匹配格式,此合法值类型限制将无法生效。
指定枚举类型
当您将属性的“类型”选择为“枚举”后,您需要进一步指定具体的枚举类型。
如果当前没有可选择的枚举类型,您可以单击
添加新的枚举类型。具体操作请参见创建枚举。
如果您了解某个枚举类型的详细信息,只需单击该枚举类型右侧的
,即可获取该枚举类型的描述、枚举值等详细说明。
单位类型
当您将属性的“类型”选择为“整型”、“长整型”、“浮点型”或“浮点型(自定义精度)”后,您可以根据实际业务需求进行设置。
如果您设置了单位类型,完成属性创建后,数据实体会自动创建一个英文名称格式为属性英文名称_unit的“参考对象”类型属性,不可编辑。在应用运行态创建数据实例过程中,这一“参考对象”类型属性用于表示对应数值型属性的计量单位。
仅支持选择xDM-F内置的国标单位,如果内置的国标单位满足不了您实际业务需求,后续您可以在应用运行态中自定义单位类型,然后在数据实体的扩展属性中选择该单位类型。具体操作请参见创建单位类型。
设计默认单位
当您选择指定的“单位类型”后,必须指定一个设计默认单位,以便为当前属性预设一个通用的度量标准。
如果用户在应用运行态中设置了“运行默认单位”,创建数据实例时,优先采用该单位来表示该属性的量级。如果用户在应用运行态中未设置“运行默认单位”,则默认采用“设计默认单位”。
标度
当您将属性的“类型”选择为“浮点型”或“浮点型(自定义精度)”后,您需要指定一个标度,用于定义数值的存储精度、取值范围及舍入规则,以保证数据在应用运行态中的标准化存储和展示。
您可以根据实际业务需求,选择1-30之间的小数位数作为标度。如果输入的实例值小数位数超过设定的标度值,xDM-F会自动按照四舍五入的原则进行处理。
例如,您将标度设置为2,而输入的实例值为3.145,那么系统将存储与显示该实例值为3.15。
默认值
当您将属性的“类型”选择为“文本”、“长文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“布尔值”、“日期”、“枚举”、“人员”或“URL”后,您可以根据实际业务需求为属性设置初始值。当用户在应用运行态创建数据实例时,如果未指定该属性的值,将自动填充此默认值。
- 如果“唯一键”选择为“是”,默认值为空且不能编辑。
- 如果“指定合法值类型”设置了合法值类型,默认值只能设置为该配置项对应合法值类型中的合法值。
参考对象
当您将属性的“类型”选择为“参考对象”后,您需要进一步指定其关联的目标数据模型。具体支持的关联方式如下:
- 跨应用关联:可关联当前登录账号具有“应用责任人”或“应用开发人员”权限的应用,且只能关联这些应用下“状态”为“已发布”的用户自定义数据实体。
- 当前应用关联:可关联当前应用下“状态”为“正在工作”和“已发布”的数据模型。其中,“已发布”的数据模型包括用户自定义的数据模型,以及默认应用(XDM)下的所有内置模型。
如果用户选择非默认应用(XDM)作为参考对象,系统将自动创建一个虚拟的N:1关系,并将当前属性作为外键。此关系主要用于数据关联查询,不会对目标应用的实际数据结构进行任何更改。
需要注意的是,跨应用关联仅支持相同使用场景的应用之间建立关系。例如,标准使用场景的应用只能与其他标准使用场景的应用关联,不能与轻量使用场景(即数据建模引擎基础版-Lite)的应用关联。
组合关系
当您将属性的“类型”选择为“参考对象”后,您需要进一步指定该关联关系是否为组合关系,用以标识当前对象与关联对象之间是否存在“整体-部分”的依赖关系。
仅“模型类型”为“实体模型”的单实体支持自主配置组合关系。在M-V模型实体及“模型类型”为“抽象模型”的单实体中定义“参考对象”类型属性时,组合关系默认为“否”,且不能编辑。
- 是:表示当前是组合关系。在组合关系下,目标数据模型支持级联查询和关联对象的级联删除操作。即删除当前对象时,与之关联的对象会被同步删除,适用于需要严格管理对象生命周期的场景。例如,在汽车数据模型中,删除某一辆汽车记录,其对应的所有零部件记录也会被删除。
- 否:表示是普通关联或聚合关系,默认为否,适用于松散耦合的场景。例如,用户与所属部门的聚合关系。
存储方式
当您将属性的“类型”选择为“文件”后,您需要进一步指定文件数据在应用中的具体存储方式。目前支持BLOB(Binary Large Object)和对象存储两种方式。
- BLOB:文件会以二进制形式直接存储在数据库表中,适合处理较小的数据量,单文件最大支持1MB。
- 对象存储:利用对象存储服务来存储文件。不同大小的文件,提供不同的上传策略:
- 对于≤100MB的文件,采用普通上传方式。
- 对于>100MB的文件,采用分块上传方式。单个文件最大支持20GB。
如需了解更多详细信息,请参见文件服务实践。
文件格式
当您将属性的“类型”选择为“文件”后,您可以根据实际业务需求设置允许上传的文件格式,多个文件格式间以英文逗号(,)分隔。例如,仅允许上传PDF和Word文件,可设置为“pdf,docx”。
为确保文件格式限制的有效性,请确认当前设置的文件格式在对应应用运行态的 中有匹配项。如果不存在匹配格式,此文件格式限制将无法生效。
如果未设置文件格式(即“文件格式”为空),默认允许上传当前应用运行态中 的所有文件格式。
文件最大值
当您将属性的“类型”选择为“文件”,并选择“对象存储”作为存储方式时,您可以根据实际业务需求对文件最大值进行灵活设置。
为确保系统稳定运行,您输入的值需大于100MB且不超过20GB。
分块大小
当您将属性的“类型”选择为“文件”,并选择“对象存储”作为存储方式时,您可以根据实际业务需求对文件上传的分块大小进行个性化配置。
分块大小的取值范围为5MB-200MB,默认设置为5MB。
密级
用于标识数据的安全等级,对数据进行分类管理,进而实施有针对性的安全防护措施。用户依据数据特性和业务需求,为数据设置合理密级,降低数据安全风险。
- 内部公开:指可在公司内部公开发布的信息,不属于保密信息。
- 秘密:是公司比较重要或敏感的信息,其泄露会使公司利益受到一定损害,但影响范围有限;适合在体系、部门或特定组织范围公开的信息。
- 机密:对公司运营管理非常重要或内容非常敏感,其泄露会使公司利益遭受巨大损害,且影响范围广泛;只适合在极少数人员或指定岗位范围公开的信息。例如,重要产品的路标规划、营销策略、经营分析报告、销售项目一览表、商务授权及价格信息。
- 绝密:对公司市场竞争、领先对手起决定性作用,其泄露会使公司利益遭受巨大损害,且影响范围广泛;只适合在极少数人员或指定岗位范围公开的信息。例如,核心算法、定价策略、战略意图。
唯一键
用于标识属性值是否需要在数据实体中保持唯一性,确保数据记录的特定字段不出现重复值。默认为“否”。
- 如果数据实体为M-V模型,仅支持在master模型(主对象)中设置唯一键。
- 当“值加密”设置为“是”时,唯一键只能设置为“否”,且不能编辑。
- “长文本”类型属性不支持唯一键配置,“参考对象”、“URL”、“JSON”及“文件”类型属性只能设置为“否”,且不能编辑。
唯一键区间
当您将“唯一键”设置为“是”后,您需要定义其唯一键区间。目前支持全局唯一和租户内唯一两种模式,默认为“全局唯一”。
- 全局唯一:表示在整个应用内,该唯一键的值不能重复。无论处于哪个逻辑租户下,所有数据记录都要遵循此唯一性规则。
- 租户内唯一:表示仅在单个逻辑租户下,唯一键的值不能重复。不同逻辑租户之间的数据记录不受此唯一键约束的影响。
当您修改唯一键及其区间后,如果应用运行态的历史数据与新约束条件产生冲突,需要手动处理这些冲突数据,以保障数据准确及应用正常运行。因此,在数据模型发布并部署到数据建模引擎运行服务后,请谨慎变更唯一键及其区间的设置,以免影响数据的准确性和应用的正常运行。
必填
用于标识当前属性在应用运行态创建或修改数据实例时,是否必须提供有效值。xDM-F依据属性类型,对此配置项做出如下默认配置及限制:
- “参考对象”类型属性默认设置为“是”,其他类型属性默认设置为“否”。
- “文件”类型属性只能设置为“否”。
列表属性
用于标识当前属性是否支持作为查询条件和返回值的字段。启用后,该属性可被全量数据服务API直接用于筛选数据或返回结果集。
- “JSON”和“文件”类型属性只能设置为“否”,且不能编辑。
- 当“值加密”设置为“是”时,列表属性只能设置为“否”。
多值
当您将属性的“类型”选择为“枚举”或“人员”后,您需要设置该属性是否允许关联多个值。例如,一辆汽车可以具有多种颜色(红色、蓝色、绿色),或者使用不同类型的燃料(汽油、柴油)等。
值可变
当您将属性的“类型”选择为“文本”、“长文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“参考对象”、“布尔值”、“日期”、“枚举”、“人员”、“JSON”或“URL”后,您需要设置该属性在创建数据实例后,其值是否可以被修改。
- 是:允许在创建数据实例后修改属性值,默认为“是”。适用于需要灵活调整属性值的场景,例如项目状态(进行中、已完成等)可能随时间变化而改变,或者团队成员的分配可能会根据项目进展进行调整。
- 否:在创建数据实例后,不允许修改该属性值。适用于初始化后不再变化的属性值,例如项目的唯一标识符、员工的工号或网站的固定链接地址等。
值存储方式
当您将属性的“类型”选择为“文本”或“长文本”后,您需要设置其值的存储方式,以确保数据的完整性和一致性。系统提供了三种存储方式供您选择,默认的值存储方式为“原值”。
- 原值:属性值会按照用户实际输入的字符串进行存储,不做任何大小写转换。该存储方式适用于对原始输入内容的精确性有高要求的场景,例如合同中的条款编号、特定术语、代码中的变量名等。
- 大写:系统会将属性值中的小写字符串自动转换为大写字符串后再进行存储。该存储方式适用于需要统一以大写形式展示或处理数据的场景,例如标准化编码(如产品型号、零件编号)、机器生成的识别码(如条形码、二维码对应的字符信息)等。
- 小写:系统会将属性值中的大写字符串自动转换为小写字符串后再进行存储。该存储方式适用于所有数据都需以小写形式存在的场景,例如URL路径、标签和关键词等。
值加密
当您将属性的“类型”选择为“文本”后,您需要设置是否对属性值进行加密,以确保数据的安全性。
- 是:应用发布后,该属性值将以密文方式存储在数据库中,存储类型为longtext。设置值加密后,用户通过API(如get,batchGet,find,query等)获取属性时,可通过“decrypt”参数进行解密。
- 否:不进行加密处理,默认为“否”。
此外,系统对该配置项设有以下默认配置及限制:
- 当“唯一键”设置为“是”时,值加密只能设置为“否”。
- 当“密级”设置为“内部公开”时,不允许对值进行加密操作。
- 如果当前属性已与业务编码生成器规则绑定,或者该属性为树形结构指定的全路径字段,则值加密只能设置为“否”。
索引
当您将属性的“类型”选择为“文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“日期”或“人员”后,可以根据实际业务需求进行设置。具体规则如下:
- 如果“类型”选择为“人员”,索引默认设置为“是”。当“类型”为上述列举的其他类型时,索引默认设置为“否”。
- 当“类型”选择为“文本”,且应用的数据库类型为mysql,同时“文本长度”设置大于768个字符时,此索引配置无效,您无需进行该项配置。
入库
用于控制当前属性是否作为数据库表字段持久化存储。
- 是:当用户在应用设计态完成数据模型设计并发布,进而将应用发布和部署至应用运行态后,该属性将作为一个数据库表字段进行存储。
- 否:该属性不会在数据库中生成字段,仅作为临时计算字段使用,例如订单折扣计算中间值属性、支付验证码。
此外,xDM-F依据属性类型,对此配置项做出如下默认配置及限制:
- “参考对象”和“人员”类型属性只能设置为“是”,且不能编辑。
- “文件”类型属性只能设置为“否”,且不能编辑。
- 其他类型属性默认设置为“是”,可根据实际业务需求进行选择。
加密
当您将属性的“类型”选择为“文件”,且将“密级”设置为“机密/秘密/绝密”时,您需要进一步指定是否对该属性进行加密操作,强化对高密级文件的安全防护。
如果“密级”设置为“内部公开”,“文件”类型属性不支持加密配置。
加密方式
当您将“加密”设置为“是”后,您需要进一步指定具体的加密方式。当前支持对称加密和非对称加密两种方式。
- 对称加密:也被称为“私钥加密”。在加密和解密过程中,均使用同一个密钥。适用于对大量数据进行快速加密处理的场景,例如需要对员工信息文档进行加密保存。
- 非对称加密:即公钥加密。其加密和解密过程依赖一对密钥,即公钥与私钥。公钥可公开分发,用于数据加密;私钥则由数据接收方妥善保管,用于解密。
入图
当您将“基本信息”页签中的“同步至LinkX-F”设置为“是”后,您需要设置该属性是否映射至LinkX-F图数据库中的图数据属性,以实现多类型数据源到图数据库的转换。
此配置项需要已开通LinkX-F,否则配置后不生效。如果您未开通LinkX-F,请开通数字主线引擎。
- 是:当前属性将同步至LinkX-F中,并作为图数据属性进行存储。
- 否:当前属性不会同步至LinkX-F中。默认设置为“否”。
入图标识
当您将“入图”设置为“是”后,还需要指定一个入图标识。该标识将在LinkX-F图数据库中用作存储名称(别名)或标识,以便更清晰、准确地识别和引用相关元数据。
必须以字母(A-Z, a-z)开头,且只能包含字母、数字和下划线(_)。
引用类型
当您将属性的“类型”选择为“参考对象”后,您可以通过此配置项定义实体间的数据依赖关系,控制关联对象的删除行为对当前对象的影响。
- 强引用:表示实体之间的关联关系较为紧密和严格。关联对象删除时触发级联操作或强制约束,以确保数据强一致性。适用于数据强依赖场景,例如BOM管理、层级设备。以实体A引用实体B为例,
- 组合关系下的强引用:删除实体B的数据实例时,实体A的数据实例同步删除(级联删除)。
- 非组合关系下的强引用:删除实体B的数据实例时,禁止删除并返回引用错误信息。
如果“组合关系”设置为“是”,引用类型只能为强引用。
- 弱引用:表示实体之间的关联关系较为松散,依赖程度较低。关联对象删除时仅解除关联关系,当前对象仍可独立存在。适用于逻辑解耦场景,例如供应商管理、传感器数据。
- 基本信息:设置属性的各项基础信息,完成属性的初步定义。
- 单击“保存”。
如需创建多个属性,可单击“保存继续创建”。
步骤3:功能配置(可选)
不同类型的数据实体支持的基础功能和可选功能不同,您可根据实际的业务场景,在“功能配置”中设置相应功能的规则。如果系统提供的默认功能配置已满足您实际的业务需求,可跳过此步骤。
- 选择“功能配置”页签,进入功能配置页面。
- 根据实际需求,设置如下主要信息。
图4 功能配置
表4 功能配置-参数说明 类型
参数
参数说明
设置规则
版本服务
M-V模型实体中Version模型实体(版本对象)的默认功能,用于自定义版本号生成规则。如果在填写基本信息时,“父模型”选择为“VersionObject”,可在“功能配置”中设置“版本服务”的规则。关于M-V模型的内容请参见什么是M-V模型?。
- 流水码:默认为“字母(不包含I、O、Z)”。
- 前缀:可以选择当前实体提供的属性,可以手动输入版本号的前缀,也可以选择分隔符“-”和“_”。
- 后缀:可以选择分隔符“-”和“_”,可以选择当前实体提供的属性,也可以手动输入版本号的后缀。
多维版本
M-V模型实体中Version模型实体(版本对象)的可选功能,用于以不同视角差异化管理同一个数据对象。如果在填写基本信息时,“父模型”选择为“VersionObject”,且“功能列表”添加了“多维视图&多维分支”功能,可在“功能配置”中设置“多维版本”。一个M-V模型实体至多可添加3个多维版本。
单击“新增”,设置如下信息,定义多维版本。
- 属性英文名称:填写多维版本的英文名称。
- 属性中文名称:填写多维版本的中文名称。
- 参考对象:选择参考对象的目标端(数据实体)。
- 必填:设置该多维版本是否必填,默认为“是”。
当您发布数据实体时,该实体会根据新增的多维版本自动在基本属性中生成对应的多维版本属性。
将具有“多维视图&多维分支”功能的M-V模型实体部署至运行态后,您可以通过调用API的方式创建多维版本实例,具体操作请参见创建多维版本的数据实例。
业务编码生成器
在“基本信息”设置中,如果勾选“业务编码生成器”至“功能列表”,您可以在“功能配置”设置具体的生成规则。
- 选择绑定属性:选择数据实体中用于生成编码的特定属性,例如产品型号、设备编号等。
- 当数据实体的“父模型”为自定义抽象模型且已配置业务编码生成规则时,保持此配置项为空,即可自动继承父模型的业务编码生成规则,无需重复配置。
- 当绑定属性的“唯一键区间”为“租户内唯一”时,数据实体部署至应用运行态后,支持按逻辑租户维度隔离编码规则,各逻辑租户可自定义编码规则。例如,某分公司使用COM01-{流水码},另一分公司使用COM02-{流水码}。
- 当绑定属性的“唯一键区间”为“全局唯一”时,数据实体部署至应用运行态后,所有逻辑租户共用同一业务编码规则,且不支持自定义。例如全局统一使用GLOBAL-{日期}-{流水码}。
- 如果数据实体中没有合适的属性用于绑定,需要新增一个文本类型且设为唯一键的属性,以确保编码唯一性。具体操作可参见管理数据实体属性。
- 配置编码段:从预设编码段列表中选择所需编码段,并通过拖拽操作组合编码结构。单击具体的编码段,可以灵活调整和设计符合业务需求的编码规则。
:常量编码段,在业务编码中嵌入自定义固定值,用于统一标识编码的用途、归属或分类,提升编码规范性与可读性。例如,添加固定常量“MAT-”作为原料编码前缀。
:属性编码段,从当前数据实体的属性中选择字段,将对应实例数据(如设备参数、产品规格)动态嵌入编码,强化编码与数据实体的关联性,实现高效的数据溯源与精准检索。
xDM-F依据元模型实体类型,对此编码段做出如下约束与限制:
- 单实体:
内置属性限制:“ID”属性不可使用。
属性类型限制:“参考对象”、“URL”、“文件”和“JSON”类型属性均不可使用。
特殊属性限制:“多值”设置为“是”的“枚举”和“人员”类型属性,以及“值加密”设置为“是”的“文本”类型属性均不可使用。
- M-V模型实体:
内置属性限制:“ID”、“Iteration”、“Master”、“Version”和“Branch”属性均不可使用。
属性类型限制:“参考对象”、“URL”、“文件”和“JSON”类型属性均不可使用。
特殊属性限制:“多值”设置为“是”的“枚举”和“人员”类型属性,以及“值加密”设置为“是”的“文本”类型属性均不可使用。
- 单实体:
:日期编码段,支持多种日期格式嵌入,将时间戳整合至业务编码中,为业务数据赋予时间维度标识,便于按时间序列管理与追溯。可选格式包括:
- YYYY:4位年份(如2025,表示2025年)。
- YYMM:2位年份+2位月份(如2505,表示2025年05月)。
- YYMMDD:2位年份+2位月份+2位日期(如250514,表示2025年05月14日)。
- YYYYMMDD:4位年份+2位月份+2位日期(如20250514,表示2025年05月14日)。
Y代表年份,M代表月份,D代表日期。
:流水码编码段,通过生成唯一的递增序列,确保业务编码的唯一性与连续性。
- 流水码:支持“字母”、“数字”和“数字+字母”三种类型。
字母:生成由字母组成的序列(如A、B、C...)。
数字:生成由数字组成的序列(如001、002...)。
数字+字母:生成数字与字母混合的序列(如009、00A...)。
- 要排除的字母:可选参数,用于指定不希望出现在流水码中的字母。仅在字母/数字+字母流水码类型下可用,用于过滤易混淆字符(如I、O、Z等),避免人工识别歧义。
- 流水码位数:指定流水码的长度,只能为1-9的正整数。
- 初始流水码:设置序列的起始值,且初始流水码的长度不能超过流水码位数(如位数为3时,初始值最大为999)。
- 流水码:支持“字母”、“数字”和“数字+字母”三种类型。
:雪花ID编码段,采用分布式唯一ID生成算法,可在高并发环境下生成不重复的全局唯一标识。适用于多厂区协同管理、跨地域系统集成等场景,确保不同厂区、不同业务系统中的业务编码始终保持唯一性,有效避免编码冲突,提升数据管理效率与准确性。
约束与限制:
- 最多添加10个编码段。
- 流水码编码段和雪花ID编码段只能二选一。
- 雪花ID编码段与其他所有编码段互斥。即,选择使用雪花ID后,不能添加常量、属性、日期等其他类型的编码段;反之,若已使用其他编码段,则不能再添加雪花ID。
此外,如果数据实体更新了其父模型,与之相关的所有业务编码生成器功能将会被自动移除。为确保其功能的正确性和有效性,您需要重新配置业务编码生成器。
树形结构
如果在填写基本信息时,“功能列表”添加了“树形结构”,可在“功能配置”中设置“树形结构”的规则。
指定全路径字段:仅支持选择文本类型或数值类型的属性,为树形节点全路径绑定属性。建议选择ID字段的属性,如将全路径字段选择为非ID字段属性,可能会影响后续对树形结构相关接口的调用。
配置完成后,在应用运行态创建实体的数据实例时,会根据您填写的父节点信息,自动填充其全路径字段(fullPath,以指定属性构建的从根到叶子节点全路径)、原始全路径字段(rawFullPath,以ID属性构建的从根到叶子节点全路径);更新实体的数据实例时,会根据您填写的父节点信息,自动更新其全路径信息、原始全路径信息,更新方式为非实时性的异步任务(待异步任务执行完成后,刷新路径信息)。
生命周期管理
如果在填写基本信息时,“功能列表”添加了“生命周期管理”,可在“功能配置”中设置“生命周期管理”的规则。
单击“新增”,设置如下信息,用于约束运行态应用下的生命周期管理。如未新增,默认使用“LifecycleTemplate”生命周期模板。
- 模板属性定义:自定义模板属性的英文名称、中文名称、英文描述和中文描述,选择出厂默认生命周期模板。如果您没有可选择的生命周期模板,可先输入出厂默认生命周期模板名称,待数据实体部署至运行态后,再在运行态创建同名的生命周期模板。具体操作请参见创建生命周期模板。
- 状态属性定义:自定义状态属性的英文名称、中文名称、英文描述和中文描述。
扩展属性
如果在填写基本信息时,“模型类型”选择为“实体模型”,“功能列表”添加了“扩展属性”,可在“功能配置”中设置“扩展属性”的规则,用于约束应用运行态下该实体可添加的扩展属性类型数量、文本长度等配置。
单击“新增”,参考如下说明进行设置。
- 属性类型:用于约束应用运行态下该实体可添加的扩展属性类型。当前支持选择文本、长文本、整型、长整型、浮点型、浮点型(自定义精度)、布尔值、日期、枚举、分类、URL、文件和参考对象类型。
- 数量:用于约束应用运行态下该实体可添加对应扩展属性类型的数量。
- 如果应用的数据库类型为mysql,文本、布尔、日期、分类类型的属性数量不可超过200个,长文本类型的属性数量不可超过185个,整型、长整型、浮点型、浮点型(自定义精度)类型的属性数量不可超过100个,枚举类型的属性数量不可超过55个,URL类型的属性数量不可超过4个,文件类型的属性数量不可超过183个,参考对象类型的属性数量不可超过45个。
- 如果应用的数据库类型为postgresql,每种类型的属性数量不可超过200个。
- 文本长度:表示存储至数据库的文本总长度。如果应用的数据库类型为mysql,其文本总长度不可超过14234字节(Byte)。
- 是否索引:选择为“是”,系统会在对应实体扩展表中创建普通索引,后续您在应用运行态为该实体添加“索引”为“是”的扩展属性时,将自动匹配至有索引的列。同时存在如下约束:
- 长文本、文件、布尔值、URL不支持选择“索引”为“是”。
- 文本、日期、分类和参考对象类型的属性数量不可超过60个,整型、长整型、浮点型和浮点型(自定义精度)类型的总属性数量不可超过60个。
- 如果应用的数据库类型为postgresql,枚举类型的属性数量不可超过60个。
- 如果应用的数据库类型为mysql,且“文本长度”的设置大于768个字符,则该配置无效,无需配置。
- 扩展表名称:默认为“应用英文名称_数据实体英文名称+属性类型+EXAValue”,可自定义。
例如应用名为DMEApp,数据实体为Parts,属性类型为整型,扩展表名称默认为“DMEApp_PartsNumberEXAValue”。
将具有“扩展属性”功能的实体部署至运行态后,运行态会基于设计态的扩展属性约束规则,自动生成对应的扩展属性值宽表。例如,您在设计态对A实体设置扩展属性类型为数值类型,数量为10个,则在运行态中会自动创建一个“A数值扩展属性值宽表”的实体。
联合索引管理
如果在填写基本信息时,“模型类型”选择为“实体模型”,且需要对该实体进行多属性查询时,可在“功能配置”中定义联合索引,提高查询效率。更多关于联合索引的介绍请参见联合索引管理。
API列表
-
应用发布后,API列表中的API会注册到APIG,提供调用。
- 单击“保存”。