公开/公告号CN112965706A
专利类型发明专利
公开/公告日2021-06-15
原文格式PDF
申请/专利权人 山东浪潮通软信息科技有限公司;
申请/专利号CN202110308907.4
申请日2021-03-23
分类号G06F8/30(20180101);
代理机构11716 北京君慧知识产权代理事务所(普通合伙);
代理人董延丽
地址 250101 山东省济南市高新区浪潮路1036号浪潮科技园
入库时间 2023-06-19 11:26:00
技术领域
本说明书实施例涉及计算机技术领域,尤其涉及一种数据类型的描述方法、设备及介质。
背景技术
在业务系统中,数据类型的描述遍布系统的各个模块,决定着一个系统各个模块开发和集成的复杂度和效率。
在以往的开发过程中,不同子系统之间数据类型的描述可能存在差异,随着业务需求的不断增加,系统模块之间的开发效率和集成复杂度面临着巨大的挑战;同时,不同系统之间由于历史原因,无法形成统一的数据类型的结构化描述,导致开发人员在系统开发和集成过程面临很大的挑战,集成成本不断提高。
基于此,从系统开发和集成的角度出发,如何提供一种描述数据类型的技术方案,是目前业务系统开发和集成过程中需要解决的一个关键问题。
发明内容
本说明书实施例提供一种数据类型的描述方法、设备及介质,用以解决现有技术中的如下技术问题:
在以往的开发过程中,不同子系统之间数据类型的描述可能存在差异,随着业务需求的不断增加,系统模块之间的开发效率和集成复杂度面临着巨大的挑战;同时,不同系统之间由于历史原因,无法形成统一的数据类型结构化描述,导致开发人员在系统开发和集成过程面临很大的挑战,集成成本不断提高。
为解决上述技术问题,本说明书实施例是这样实现的:
一方面,本说明书实施例提供一种数据类型的描述方法,包括:
响应于用户的第一操作,构建通用结构,并将所述通用结构进行存储;
响应于用户的第二操作,构建所述通用结构的属性以及所述通用结构的操作,并将所述通用结构的属性和所述通用结构的操作进行存储;
其中,所述通用结构的属性用于描述所述通用结构的结构特性,所述通用结构的操作用于描述所述通用结构的行为特性;
响应于用户的第三操作,确定所述通用结构的属性的数据类型、所述通用结构的操作的数据类型,以得到目标通用结构并将所述目标通用结构进行存储。
在一个实施例中,所述通用结构的类型至少包括以下任意一种:实体对象、值对象、数据传输对象;
其中,所述实体对象用于表示具有业务主键和聚合特征的实体对象;所述值对象用于表示无主键且无聚合根特征的实体对象;所述数据传输对象用于表示无主键且有聚合根特征的实体对象。
在一个实施例中,所述方法还包括:
响应于所述用户的第四操作,确定相应的业务场景;
根据所述业务场景以及预设规则,确定所述业务场景对应的目标通用结构类型,以确定所述业务场景对应的目标通用结构;
获取预先存储的与所述业务场景对应的目标通用结构,并将所述目标通用结构向所述用户进行展示,并基于所述用户针对所述目标通用结构的第五操作,确定该业务场景对应的最终通用结构并进行存储。
在一个实施例中,在响应于所述用户的第四操作,确定相应的业务场景之后,所述方法还包括:
获取预先存储的最终通用结构;
确定所述业务场景与预先存储的最终通用结构是否匹配;
在所述业务场景与预先存储的最终通用结构匹配的情况下,获取预先存储的与所述业务场景匹配的最终通用结构,并向用户进行展示。
在一个实施例中,所述方法还包括:确定业务场景与所对应的最终通用结构的关联关系,并进行存储,以使根据所述关联关系调用相应的最终通用结构。
在一个实施例中,在所述构建所述通用结构的属性,所述方法还包括:
确定所述通用结构的属性特性,所述属性特性至少包括以下任意一项:属性内码、属性编号和属性名称。
在一个实施例中,在所述构建所述通用结构的操作之后,所述方法还包括:
确定所述通用结构的参数;所述参数用于描述所述操作的入参值和返回值的参数类型;
确定所述操作的入参值的数据类型以及返回值的数据类型,并进行存储。
在一个实施例中,所述方法还包括:预先设置相应的扩展接口,根据用户操作,扩展新的目标通用结构。
另一方面,本说明书实施例提供一种通用的结构化数据类型描述设备,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令能被所述至少一个处理器执行,以使所述至少一个处理器能够:
响应于用户的第一操作,构建通用结构,并将所述通用结构进行存储;
响应于用户的第二操作,构建所述通用结构的属性以及所述通用结构的操作,并将所述通用结构的属性和所述通用结构的操作进行存储;
其中,所述通用结构的属性用于描述所述通用结构的结构特性,所述通用结构的操作用于描述所述通用结构的行为特性;
响应于用户的第三操作,确定所述通用结构的属性的数据类型、所述通用结构的操作的数据类型,以得到目标通用结构并将所述目标通用结构进行存储。
本说明书实施例采用上述至少一个技术方案能够达到以下有益效果:实现系统内的结构化数据类型描述的一致性,在统一标准的规范和约束下,可屏蔽系统内部,系统间数据类型描述的差异性,开发人员只需识别一套统一的结构化数据类型描述标准,同时,基于通用结构化数据类型描述开发的框架,可以屏蔽开发细节,降低开发系统的难度,从而降低开发成本,增强系统开发时结构化数据类型模块的易用性和稳定性,实现系统内部模块集成,系统与系统间集成时结构化数据类型的快速对接,在一套标准的前提下实现系统结构化数据类型描述的规范性和标准性,增强系统的开放性和通用性。
附图说明
此处所说明的附图用来提供对本说明书实施例的进一步理解,构成本说明书实施例的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对申请的不当限定。在附图中:
图1为本申请实施例提供的一种数据类型的描述方法的流程示意图;
图2为本申请实施例提供的一种数据类型的描述方法的一种示意图;
图3为本申请实施例提供的一种数据类型的描述设备的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种数据类型的描述方法、设备及介质,下面进行具体说明:
图1为本申请实施例提供的一种数据类型的描述方法的流程示意图,如图1所示,本申请实施例提供的一种数据类型的描述方法可以包括以下步骤:
S101:响应于用户的第一操作,构建通用结构,并将通用结构进行存储。
其中,通用结构是一个顶层结构,所有的数据结构都可定义为通用结构。
通用结构的类型至少包括以下任意一种:实体对象、值对象、数据传输对象。其中,实体对象用于表示具有业务主键和聚合特征的实体对象;值对象用于表示无主键且无聚合根特征的实体对象;数据传输对象用于表示无主键且有聚合根特征的实体对象。
需要说明的是,通用结构在定义时需要实现结构基接口,接口特性如下:
类型种类:描述通用结构种类的字段,字符串类型。
主键:通用结构的内码字段,通用结构的唯一性标识,字符串类型。
编号:通用结构的编号,字符串类型。
名称:通用结构的名称,字符串类型。
描述:通用结构的描述信息,字符串类型。
Uri:通用结构的统一资源定位符,字符串类型。
实体对象集合:描述通用结构内部自身持有的通用结构集合,集合类型List
引用实体对象集合:描述引用的通用结构集合。集合类型List
在使用时,用户需要根据具体的业务场景定义对应的通用结构,具体阐述如下:
(1)对于符合具有业务主键和聚合特征的数据结构,需要定义实体对象类型,具体定义的特性如下:
根属性:描述实体对象类型的根节点对象,可描述父子对象的层级关系,为通用结构基接口类型。
操作集合:描述实体对象类型的操作集合。集合类型List
实体引用关系集合:记录实体对象之间引用的关系集合,Map类型Map
(2)对于符合无主键,无聚合根含义特征的数据结构,需要定义值对象类型,具体定义的特性如下:
操作集合:描述实体对象类型的操作集合。集合类型List
(3)对于有聚合特征的数据结构,且仅应用于数据传输的场景,需要定义数据传输对象类型,具体定义的特性如下:
操作集合:描述对象类型的操作集合。集合类型List
根属性:描述实体对象类型的根节点对象,可描述父子对象的层级关系,为通用结构基接口类型。
S102:响应于用户的第二操作,构建通用结构的属性以及通用结构的操作,并将通用结构的属性和通用结构的操作进行存储。
其中,通用结构的属性用于描述通用结构的结构特性,通用结构的操作用于描述通用结构的行为特性。
具体地,需要确定通用结构的属性特性,此属性特性至少包括以下任意一项:属性内码、属性编号和属性名称。其属性特性用于描述属性的基本信息。
此外,还可以对属性的数据类型、默认值和属性约束进行构建。
需要说明的是,通用数据中的属性必须实现属性基接口,接口特性如下:
属性种类:描述属性种类的字段,字符串类型。
主键:属性的内码字段,通用结构的唯一性标识,字符串类型。
编号:属性的编号,字符串类型。
名称:属性的名称,字符串类型。
是否必须:属性是否必须,布尔值类型。
默认值:属性的默认值,字符串类型。
属性类型:属性的数据类型,数据类型基接口类型。
约束:属性约束,包含但不限于属性类型的长度,精度,最大值,最小值等,字符串类型。
S103:响应于用户的第三操作,确定通用结构的属性的数据类型、通用结构的操作的数据类型,以得到目标通用结构并将目标通用结构进行存储。
其中,数据类型可以包括原生类型、结构化类型、集合类类型和键值集合类型等。
需要说明的是,以上数据类型的基接口都必须继承通用结构数据类型基接口,通用结构数据类型基接口是所有数据类型派生接口的基接口,其接口特性如下:
数据类型种类:描述数据类型种类的字段,字符串类型。
还需要说明的是,上述四种数据类型分别具有以下特征:
(1)原生数据类型,即基本类型,包括字符串,布尔,16位整型,32位整型,64位整型,单精度浮点型,双精度浮点型,高精度浮点型,日期时间类型,时间戳类型。通用结构的原生类型接口继承了数据类型基接口,其接口特点如下:
原生数据类型种类:描述原生数据类型种类的字段,字符串类型。
原生类型可以在实现原生类型基接口基础上扩展并注册原生数据类型。
(2)结构化数据类型,它是一个独立的Schema结构,可细划分为四种类型:实体对象数据类型,值对象数据类型,数据传输对象数据类型,枚举数据类型。其中,实体对象数据类型应用于具有业务主键和聚合特性的场景;值对象数据类型应用于无主键,无聚合特性的场景;数据传输对象数据类型仅应用于有聚合含义,且担任数据传输任务的场景;枚举数据类型则用于描述枚举结构。
以上所有的结构化数据类型定义都必须实现通用结构的结构化数据类型基接口,接口特性如下:
数据类型种类:描述数据类型种类的字段,字符串类型。
主键:结构化数据类型的内码字段,唯一性标识,字符串类型。
编号:结构化数据类型的编号,字符串类型。
名称:结构化数据类型的名称,字符串类型。
描述:结构化数据类型的描述,字符串类型。
Uri:结构化数据类型的统一资源定位符,资源的唯一性标识,字符串类型。
属性集合:结构化数据类型中包含的属性集合,List
其中,实体对象数据类型接口继承了通用结构的结构化数据类型基接口,其定义必须实现实体对象数据类型基接口,其接口在包含上述结构化数据类型基接口特性的基础上,还具备如下特性:
主键集合:实体对象数据类型内部各实体对象的业务主键集合,集合类型List
值对象数据类型直接继承了通用结构的结构化数据类型基接口,其定义必须实现实体对象数据类型接口。
数据传输对象数据类型接口直接继承了通用结构的结构化数据类型基接口,其定义必须实现数据传输对象数据类型接口。
枚举数据类型接口继承了通用结构的结构化数据类型基接口,其接口在包含上述结构化数据类型基接口特性的基础上,还具备如下特性:
枚举项集合:枚举项集合,集合类型List
(3)集合类型,通用结构的集合类型必须实现集合类型基接口,其接口特点如下:
集合类型的元素:描述集合类型中的元素信息,通用结构数据类型基接口类型。
(4)Map类型,通用结构的Map类型必须实现Map类型基接口,其接口特点如下:
键:描述Map类型中的键信息,通用结构数据类型基接口类型。
值:描述Map类型中的值信息,通用结构数据类型基接口类型。
在本说明书的一些实施例中,本方法还提出:响应于用户的第四操作,确定相应的业务场景;根据业务场景以及预设规则,确定业务场景对应的目标通用结构类型,以确定业务场景对应的目标通用结构;获取预先存储的与业务场景对应的目标通用结构,并将目标通用结构向用户进行展示,并基于用户针对目标通用结构的第五操作,确定该业务场景对应的最终通用结构并进行存储。
考虑到可能会存在这样的情况:当下业务场景下,已经存在相应的通用结构,此时若再重新构建目标通用结构,一是会造成不必要的资源浪费,二是会影响工作效率。为应对这种情况,本方案提出如下解决办法:在响应于用户的第四操作,确定相应的业务场景之后,可以获取预先存储的最终通用结构;确定业务场景与预先存储的最终通用结构是否匹配;在业务场景与预先存储的最终通用结构匹配的情况下,获取预先存储的与业务场景匹配的最终通用结构,并向用户进行展示。
需要说明的是,对于如何确定业务场景与预先存储的最终通用结构是否匹配,可以通过确定业务场景与所对应的最终通用结构的关联关系,并进行存储,以使根据所述关联关系调用相应的最终通用结构。
在本说明书的一些实施例中,本方法还提出:在构建所述通用结构的操作之后,确定通用结构的参数;参数用于描述操作的入参值和返回值的参数类型;确定操作的入参值的数据类型以及返回值的数据类型,并进行存储。
需要说明的是,一方面,通用结构的操作的定义必须实现操作基接口,接口特性如下:
操作种类:描述操作种类的字段,字符串类型。
编号:操作的编号,字符串类型。
名称:操作的名称,字符串类型。
描述:操作的描述,字符串类型。
Uri:操作的统一资源定位符,资源的唯一性标识,字符串类型。
入参:操作的入参,集合类型List
返回值:操作的返回值,通用结构的数据类型基接口类型。
另一方面,通用结构的参数的定义必须实现参数基接口,接口特性如下:
参数种类:描述参数种类的字段,字符串类型。
编号:参数的编号,字符串类型。
名称:参数的名称,字符串类型。
描述:参数的描述,字符串类型。
参数类型:参数的数据类型,通用结构的数据类型基接口类型。
是否必须:参数是否为必传参数,布尔值类型。
默认值:参数的默认值,字符串类型。
约束:参数的约束,包含但不限于参数类型的长度,精度,最大值,最小值等,字符串类型。
考虑到业务场景的复杂多变,可能存在上述通用结构无法满足于后期实际业务环境的需求,因此,在本说明书的一些实施例中,本方法还提出:预先设置相应的扩展接口,根据用户操作,扩展新的目标通用结构。具体阐述如下:
通用结构具有结构扩展的功能,使得通用结构在原有能力的基础上扩展新的结构特性和行为特性。通用结构的结构扩展包括但不限于通用结构中属性、操作、参数、数据类型的扩展,通用结构定义必须实现通用结构基接口,保证定义的通用结构必须具备最基本的通用结构接口能力。
通用结构在原有属性能力的基础上可以扩展出新的属性结构特征,通用结构的属性必须实现通用数据结构属性基接口,保证定义的属性必须具备最基本的通用结构属性接口能力。
支持进行参数扩展,使得扩展后的参数在原有参数定义的基础上扩展新的能力。通用结构的参数必须实现通用数据结构提供的参数基接口,保证定义的参数必须具备描述通用数据结构参数的基本能力。
支持数据类型的类型扩展,使得通用结构在具备原有数据类型能力的基础上扩展出新的数据类型分支。数据类型可基于数据类型基接口实现扩展,通用结构的数据类型必须实现通用数据结构提供的数据类型基接口,保证定义的数据类型必须具备描述通用数据结构数据类型的基本能力。
支持在继承通用结构基接口基础上扩展新接口,可以使扩展接口在具有原有能力的基础上扩展出新的结构特性和行为特性。
在本说明书的一些实施例中,图2为本申请实施例提供的一种数据类型的描述方法的一种示意图,如图2所示,包括实体对象、数据传输对象和值对象的通用结构支持扩展结构,属性、参数和操作可支持进行扩展,包括基本类型、结构化类型、集合类型和键值对集合的数据类型也支持进行数据类型扩展。
以系统中销售订单场景为例,销售订单包含订单实体(主对象)和销售订单明细项(子对象),该场景满足包含主键和聚合根关系的特征,实现实体对象类型接口,可定义描述销售订单的通用结构,包含内码,编号,名称,描述,Uri,实体对象集合、引用实体对象集合等基本通用结构特征。
基于对通用结构属性的定义,分别定义描述销售订单主子对象结构特性的属性集合。销售订单主对象包括内码,订单编号,订单名称,订单描述,订单项集合等属性;销售订单子对象包括订单项内码,订单项编号,订单项名称,商品编号,商品名称,订单数目,商品单价,商品总价属性等属性,定义销售订单中的属性的数据类型。
基于对通用结构操作的定义,定义描述销售订单行为特性的操作集合,包括创建订单,取消订单,删除订单,修改订单,保存订单等操作,定义操作的参数,定义返回值的数据类型。
若已定义通用结构的操作,则定义操作的参数。
若已定义通用结构的属性,则可定义销售订单中的属性的数据类型;若已定义通用结构的操作,则可定义操作返回值的数据类型;若已定义通用结构的参数,则可定义操作参数的数据类型。
综上,本申请提供的一种数据类型描述方法,能够实现系统内的结构化数据类型描述的一致性,在统一标准的规范和约束下,可屏蔽系统内部,系统间数据类型描述的差异性,开发人员只需识别一套统一的结构化数据类型描述标准,同时,基于通用结构化数据类型描述开发的框架,可以屏蔽开发细节,降低开发系统的难度,从而降低开发成本,增强系统开发时结构化数据类型模块的易用性和稳定性,实现系统内部模块集成,系统与系统间集成时结构化数据类型的快速对接,在一套标准的前提下实现系统结构化数据类型描述的规范性和标准性,增强系统的开放性和通用性。
图3为本申请实施例提供的一种数据类型的描述设备的结构示意图,如图3所示,本申请实施例提供的通用的结构化数据类型描述设备,可以包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令能被所述至少一个处理器执行,以使所述至少一个处理器能够:
响应于用户的第一操作,构建通用结构,并将所述通用结构进行存储;
响应于用户的第二操作,构建所述通用结构的属性以及所述通用结构的操作,并将所述通用结构的属性和所述通用结构的操作进行存储;
其中,所述通用结构的属性用于描述所述通用结构的结构特性,所述通用结构的操作用于描述所述通用结构的行为特性;
响应于用户的第三操作,确定所述通用结构的属性的数据类型、所述通用结构的操作的数据类型,以得到目标通用结构并将所述目标通用结构进行存储。
处理器与存储器之间可以通过总线通信,设备还可以包括与其他设备通信的输入/输出接口。
本申请的一些实施例提供的对应于图1的一种生成组件配置器的非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
响应于用户的第一操作,构建通用结构,并将所述通用结构进行存储;
响应于用户的第二操作,构建所述通用结构的属性以及所述通用结构的操作,并将所述通用结构的属性和所述通用结构的操作进行存储;
其中,所述通用结构的属性用于描述所述通用结构的结构特性,所述通用结构的操作用于描述所述通用结构的行为特性;
响应于用户的第三操作,确定所述通用结构的属性的数据类型、所述通用结构的操作的数据类型,以得到目标通用结构并将所述目标通用结构进行存储。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的要求范围之内。
机译: 能够记录第一数据类型和第二数据类型的记录介质,用于从该记录介质回放的回放方法和回放设备以及用于将第一类型数据和第二类型数据记录在该记录介质上的记录设备
机译: 能够记录第一数据类型和第二数据类型的记录介质,用于从记录介质中回放的播放方法和复写设备以及用于在记录介质上记录第一类型数据和第二类型数据的记录设备
机译: 能够记录第一数据类型和第二数据类型的记录介质,用于从该记录介质回放的回放方法和回放设备以及用于在该记录介质上记录第一类型数据和第二类型数据的记录设备