一种数据转换配置生成方法、装置、计算机设备及介质转让专利

申请号 : CN202211302604.2

文献号 : CN115543485B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘寒高歌顾明

申请人 : 清华大学

摘要 :

本发明提供一种数据转换配置生成方法、装置、计算机设备及介质,包括:获取用户数据交换的需求列表及预设知识库;基于知识库,确定每个需求项到源格式的源映射以及其到目标格式的目标映射;基于每个需求项对应的源映射和目标映射,生成从源格式的数据类型到目标格式的数据类型的传递映射集合;基于传递映射集合,生成符合需求列表的数据转换配置。通过本发明,以用户需求项为中心,可以同时扩展关联多种数据模式,无需数据提供方与数据使用方对自身软件进行修改,可以利用一致的传递映射内容,输出多种不同的配置文件格式,从而减少适配不同软件所需的开发工作量,提高用户的使用体验。

权利要求 :

1.一种数据转换配置生成方法,其特征在于,所述方法包括:获取用户数据交换的需求列表及预设知识库,所述需求列表中包括多个需求项,所述知识库中存储有对源数据的源格式定义、对目标数据的目标格式定义以及与源格式到目标格式间转换能力的定义;

基于所述知识库,确定每个需求项到源格式的源映射以及其到目标格式的目标映射;

基于每个需求项对应的源映射和目标映射,生成从源格式的数据类型到目标格式的数据类型的传递映射集合;

基于所述传递映射集合,生成符合所述需求列表的数据转换配置。

2.根据权利要求1所述的方法,其特征在于,所述基于所述知识库,确定每个需求项到源格式的源映射以及其到目标格式的目标映射,包括:基于所述需求项与源格式定义,确定所述需求项到源格式的源映射,所述源映射用于表示所述需求项与源格式定义中的一个或多个数据类型条目的映射关系;

基于所述需求项与目标格式定义,确定所述需求项到目标格式定义的目标映射,所述目标映射用于表示所述需求项与目标格式定义中的一个或多个数据类型条目的映射关系。

3.根据权利要求2所述的方法,其特征在于,所述基于每个需求项对应的源映射和目标映射,生成从源格式的数据类型到目标格式的数据类型的传递映射集合,包括:依次从当前需求项对应的源映射中提取当前源数据类型;

提取所述当前需求项对应的目标映射中所有的目标数据类型,构成当前目标类型集合;

判断所述当前源数据类型是否首次出现;

在所述当前源数据类型首次出现时,将所述当前源数据类型与所述当前目标类型集合中各目标数据类型的映射关系加入所述传递映射集合,并返回所述依次从当前需求项对应的映射中提取当前源数据类型的步骤,直至每个需求项均遍历完成。

4.根据权利要求3所述的方法,其特征在于,所述基于每个需求项对应的源映射和目标映射,生成从源格式的数据类型到目标格式的数据类型的传递映射集合,还包括:在所述当前源数据类型不是首次出现时,剔除所述传递映射集合中与所述当前目标类型集合不存在交集的目标数据类型的映射关系,以更新所述传递映射集合,并返回所述依次从当前需求项对应的映射中提取当前源数据类型的步骤,直至每个需求项均遍历完成。

5.根据权利要求1所述的方法,其特征在于,在基于所述传递映射集合,生成符合所述需求列表的数据转换配置之前,所述方法还包括:基于所述知识库,对所述传递映射集合进行校验;

当所述传递映射集合通过校验时,基于所述传递映射集合,生成符合所述需求列表的数据转换配置。

6.根据权利要求5所述的方法,其特征在于,所述对所述传递映射集合进行校验包括:基于所述知识库,对所述传递映射是否满足所述知识库的约束进行判断;

当有至少一传递映射不满足所述知识库的对传递映射的约束时,确定校验失败;

当所述传递映射满足所述知识库的对传递映射的约束时,确定当前所述传递映射通过校验;

对所述传递映射集合内部是否存在冲突进行判断;

当所述传递映射集合内部存在冲突时,确定校验失败;

当所述传递映射集合内部不存在冲突时,确定所述传递映射集合通过校验。

7.根据权利要求1所述的方法,其特征在于,所述基于所述传递映射集合,生成符合所述需求列表的数据转换配置,包括:基于所述知识库,确定所述需求列表对应的配置文件格式,将所述传递映射写入所述配置文件格式,得到符合所述需求列表的数据转换配置。

8.一种数据转换配置生成装置,其特征在于,所述装置包括:需求获取单元,用于获取用户数据交换的需求列表及预设知识库,所述需求列表中包括多个需求项,所述知识库中存储有对源数据的源格式定义、对目标数据的目标格式定义以及与源格式到目标格式间转换能力的定义;

映射确定单元,用于基于所述知识库,确定每个需求项到源格式的源映射以及其到目标格式的目标映射;

映射传递单元,用于基于每个需求项对应的源映射和目标映射,生成从源格式的数据类型到目标格式的数据类型的传递映射集合;

配置生成单元,用于基于所述传递映射集合,生成符合所述需求列表的数据转换配置。

9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1‑7中任一项所述的数据转换配置生成方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1‑7中任一项所述的数据转换配置生成方法。

说明书 :

一种数据转换配置生成方法、装置、计算机设备及介质

技术领域

[0001] 本发明涉及工程领域数据交换技术领域,具体涉及一种数据转换配置生成方法、装置、计算机设备及介质。

背景技术

[0002] 数据转换通常由格式转换程序执行。格式转换程序通常需要提供正确的配置文件才能正常工作。两个数据格式具有各自不同的数据类型(对象类型、几何类型、属性类型,等等),在配置文件中具有从源数据格式到目标数据格式的映射(对象‑对象映射、几何‑几何映射、属性‑属性映射,等等)。格式转换程序可以根据配置文件,自动执行数据文件实例之间的数据转换,把源格式数据中的信息改写为目标格式数据中的指定形式或指定位置。
[0003] 相关技术中,IDS(Information Delivery Specification,信息交付规格)方法试图成为一种统一的数据交换互操作性定义格式,在软件能力确认、数据创建与补充、数据转换配置、数据内容验证方面使用统一的规则集。然而,这种方法的需要上下游软件都修改自己的软件程序,在多种软件中使用同一种配置文件;以统一的目标格式(IFC)为中心定义所有需求和配置,没有对上下游软件各自特性的兼顾。

发明内容

[0004] 因此,本发明要解决的技术问题在于克服现有技术中没有针对用户自定义的信息手册制定数据转换配置并验证软件能力的缺陷,从而提供一种数据转换配置生成方法、装置、计算机设备及介质。
[0005] 结合第一方面,本发明提供一种数据转换配置生成方法,所述方法包括:
[0006] 获取用户数据交换的需求列表及预设知识库,所述需求列表中包括多个需求项,所述知识库中存储有对源数据的源格式定义、对目标数据的目标格式定义以及与源格式到目标格式间转换能力的定义;
[0007] 基于所述知识库,确定每个需求项到源格式的源映射以及其到目标格式的目标映射;
[0008] 基于每个需求项对应的源映射和目标映射,生成从源格式的数据类型到目标格式的数据类型的传递映射集合;
[0009] 基于所述传递映射集合,生成符合所述需求列表的数据转换配置。
[0010] 在该方式中,以用户需求项为中心,可以同时扩展关联多种数据模式,无需数据提供方与数据使用方对自身软件进行修改,可以利用一致的传递映射内容,输出多种不同的配置文件格式,从而减少适配不同软件所需的开发工作量。通过利用知识库对数据格式进行明确的定义,确定格式转换软件能力范围,便于筛选能满足数据交换需求的数据转换配置,提高用户的使用体验。
[0011] 结合第一方面,在第一方面的第一实施例中,所述基于所述知识库,确定每个需求项到源格式的源映射以及其到目标格式的目标映射,包括:
[0012] 基于所述需求项与源格式定义,确定所述需求项到源格式的源映射,所述源映射用于表示所述需求项与源格式定义中的一个或多个数据类型条目的映射关系;
[0013] 基于所述需求项与目标格式定义,确定所述需求项到目标格式定义的目标映射,所述目标映射用于表示所述需求项与目标格式定义中的一个或多个数据类型条目的映射关系。
[0014] 结合第一方面的第一实施例,在第一方面的第二实施例中,所述基于每个需求项对应的源映射和目标映射,生成从源格式的数据类型到目标格式的数据类型的传递映射集合,包括:
[0015] 依次从当前需求项对应的源映射中提取当前源数据类型;
[0016] 提取所述当前需求项对应的目标映射中所有的目标数据类型,构成当前目标类型集合;
[0017] 判断所述当前源数据类型是否首次出现;
[0018] 在所述当前源数据类型首次出现时,将所述当前源数据类型与所述当前目标类型集合中各目标数据类型的映射关系加入所述传递映射集合,并返回所述依次从当前需求项对应的映射中提取当前源数据类型的步骤,直至每个需求项均遍历完成。
[0019] 结合第一方面的第二实施例,在第一方面的第三实施例中,所述基于每个需求项对应的源映射和目标映射,生成从源格式的数据类型到目标格式的数据类型的传递映射集合,还包括:
[0020] 在所述当前源数据类型不是首次出现时,剔除所述传递映射集合中与所述当前目标类型集合不存在交集的目标数据类型的映射关系,以更新所述传递映射集合,并返回所述依次从当前需求项对应的映射中提取当前源数据类型的步骤,直至每个需求项均遍历完成。
[0021] 结合第一方面,在第一方面的第四实施例中,在基于所述传递映射集合,生成符合所述需求列表的数据转换配置之前,所述方法还包括:
[0022] 基于所述知识库,对所述传递映射集合进行校验;
[0023] 当所述传递映射集合通过校验时,基于所述传递映射集合,生成符合所述需求列表的数据转换配置。
[0024] 结合第一方面的第四实施例,在第一方面的第五实施例中,所述对所述传递映射集合进行校验包括:
[0025] 基于所述知识库,对所述传递映射是否满足所述知识库的约束进行判断;
[0026] 当有至少一传递映射不满足所述知识库的对传递映射的约束时,确定校验失败;
[0027] 当所述传递映射满足所述知识库的对传递映射的约束时,确定当前所述传递映射通过校验;
[0028] 对所述传递映射集合内部是否存在冲突进行判断;
[0029] 当所述传递映射集合内部存在冲突时,确定校验失败;
[0030] 当所述传递映射集合内部不存在冲突时,确定所述传递映射集合通过校验。
[0031] 结合第一方面,在第一方面的第六实施例中,所述基于所述传递映射集合,生成符合所述需求列表的数据转换配置,包括:
[0032] 基于所述知识库,确定所述需求列表对应的配置文件格式,将所述传递映射写入所述配置文件格式,得到符合所述需求列表的数据转换配置。
[0033] 在本发明的第二方面,本发明还提供数据转换配置生成装置,所述装置包括:
[0034] 需求获取单元,用于获取用户数据交换的需求列表及预设知识库,所述需求列表中包括多个需求项,所述知识库中存储有对源数据的源格式定义、对目标数据的目标格式定义以及与源格式到目标格式间转换能力的定义;
[0035] 映射确定单元,用于基于所述知识库,确定每个需求项到源格式的源映射以及其到目标格式的目标映射;
[0036] 映射传递单元,用于基于每个需求项对应的源映射和目标映射,生成从源格式的数据类型到目标格式的数据类型的传递映射集合;
[0037] 配置生成单元,用于基于所述传递映射集合,生成符合所述需求列表的数据转换配置。
[0038] 结合第二方面,在第二方面的第一实施例中,所述映射确定单元,包括:
[0039] 源映射确定单元,用于基于所述需求项与源格式定义,确定所述需求项到源格式的源映射,所述源映射用于表示所述需求项与源格式定义中的一个或多个数据类型条目的映射关系;
[0040] 目标映射确定单元,用于基于所述需求项与目标格式定义,确定所述需求项到目标格式定义的目标映射,所述目标映射用于表示所述需求项与目标格式定义中的一个或多个数据类型条目的映射关系。
[0041] 结合第二方面的第一实施例,在第二方面的第二实施例中,所述映射传递单元,包括:
[0042] 源映射提取单元,用于依次从当前需求项对应的源映射中提取当前源数据类型;
[0043] 目标映射提取单元,用于提取所述当前需求项对应的目标映射中所有的目标数据类型,构成当前目标类型集合;
[0044] 第一单元,用于判断所述当前源数据类型是否首次出现;
[0045] 第一遍历单元,用于在所述当前源数据类型首次出现时,将所述当前源数据类型与所述当前目标类型集合中各目标数据类型的映射关系加入所述传递映射集合,并返回所述依次从当前需求项对应的映射中提取当前源数据类型的步骤,直至每个需求项均遍历完成。
[0046] 结合第二方面的第二实施例,在第二方面的第三实施例中,所述映射传递单元,还包括:
[0047] 第二遍历单元,用于在所述当前源数据类型不是首次出现时,剔除所述传递映射集合中与所述当前目标类型集合不存在交集的目标数据类型的映射关系,以更新所述传递映射集合,并返回所述依次从当前需求项对应的映射中提取当前源数据类型的步骤,直至每个需求项均遍历完成。
[0048] 结合第二方面,在第二方面的第四实施例中,所述装置还包括:
[0049] 校验单元,用于对所述传递映射集合进行校验;当所述传递映射集合通过校验时,基于所述传递映射集合,生成符合所述需求列表的数据转换配置。
[0050] 结合第二方面的第四实施例,在第二方面的第五实施例中,所述校验单元,包括:
[0051] 第二判断单元,用于基于所述知识库,对所述传递映射是否满足所述知识库的约束进行判断;
[0052] 第一校验失败单元,当有至少一传递映射不满足所述知识库的对传递映射的约束时,确定校验失败;
[0053] 第一校验通过单元,当所述传递映射满足所述知识库的对传递映射的约束时,确定当前所述传递映射通过校验;
[0054] 第三判断单元,对所述传递映射集合内部是否存在冲突进行判断;
[0055] 第二校验失败单元,当所述传递映射集合内部存在冲突时,确定校验失败;
[0056] 第二校验通过单元,当所述传递映射集合内部不存在冲突时,确定所述传递映射集合通过校验。
[0057] 校验通过单元,用于当所有源格式均存在对应的目标格式时,确定所述传递映射集合通过校验;
[0058] 校验失败单元,用于当有至少一源格式不存在对应的目标格式时,确定校验失败。
[0059] 结合第二方面,在第二方面的第六实施例中,所述配置生成单元,包括:
[0060] 配置生成子单元,用于基于所述知识库,确定所述需求列表对应的配置文件格式,将所述传递映射写入所述配置文件格式,得到符合所述需求列表的数据转换配置。
[0061] 根据第三方面,本发明实施方式还提供一种计算机设备,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面及其可选实施方式中任一项的数据转换配置生成方法。
[0062] 根据第四方面,本发明实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面及其可选实施方式中任一项的数据转换配置生成方法。

附图说明

[0063] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0064] 图1是根据一示例性实施例提出的一种数据转换配置生成方法的流程图。
[0065] 图2是根据一示例性实施例提出的一种传递映射的生成与校验的流程图。
[0066] 图3是根据一示例性实施例提出的一种数据转换配置生成装置的结构框图。
[0067] 图4是根据一示例性实施例提出的一种计算机设备的硬件结构示意图。

具体实施方式

[0068] 下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0069] 相关技术中,在软件能力确认、数据创建与补充、数据转换配置、数据内容验证方面使用统一的规则集。然而,这种方法的需要上下游软件都修改自己的软件程序,在多种软件中使用同一种配置文件;以统一的目标格式(IFC)为中心定义所有需求和配置,没有对上下游软件各自特性的兼顾。
[0070] 为解决上述问题,本发明实施例中提供一种数据转换配置生成方法,用于计算机设备中,需要说明的是,其执行主体可以是数据转换配置生成装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部,其中,该计算机设备可以是终端或客户端或服务器,服务器可以是一台服务器,也可以为由多台服务器组成的服务器集群,本申请实施例中的终端可以是智能手机、个人电脑、平板电脑、可穿戴设备以及智能机器人等其他智能硬件设备。下述方法实施例中,均以执行主体是计算机设备为例来进行说明。
[0071] 本实施例中的计算机设备,适用于在工程领域数据交换的使用场景。通过本发明提供的数据转换配置生成方法,以用户需求项为中心,可以同时扩展关联多种数据模式,无需数据提供方与数据使用方对自身软件进行修改,可以利用一致的传递映射内容,输出多种不同的配置文件格式,从而减少适配不同软件所需的开发工作量。通过对数据格式进行明确的定义,进一步对格式转换软件能力范围是否能满足数据交换需求进行判断,提高用户的使用体验。
[0072] 图1是根据一示例性实施例提出的一种数据转换配置生成方法的流程图。如图1所示,数据转换配置生成方法包括如下步骤S101至步骤S104。
[0073] 在步骤S101中,获取用户数据交换的需求列表及预设知识库。
[0074] 在本发明实施例中,需求列表中包括多个需求项。知识库中存储有对源数据的源格式定义、对目标数据的目标格式定义以及与源格式到目标格式间转换能力的定义。
[0075] 在一示例中,用户数据交换的需求列表可以为由终端用户输入(或从文件加载)需求项的列表。每个需求项是来自于自然语言文档的对于物理世界的对象,或其具有的某个特性的描述。用户列举出需求文档中涉及的所有物理对象,以及每个物理对象具有的物理特性,并输入本工具中。
[0076] 在另一示例中,源格式定义包括:源数据格式中所有的数据类型(对象类型、几何类型、属性类型、值类型等)的列表,以及它们之间的分类关系(父子类)与从属关系(如对象使用的几何类型、对象具有的属性项、属性项的值类型与值域)等的列表。
[0077] 目标格式定义包括:目标数据格式中所有的数据类型(对象类型、几何类型、属性类型、值类型等)的列表,以及它们之间的分类关系(父子类)与从属关系(如对象使用的几何类型、对象具有的属性项、属性项的值类型与值域)等的列表。
[0078] 源格式到目标格式间转换能力的定义包括:格式转换程序在上述两种格式之间执行转换的能力范围的定义,具体表示为源格式定义中的数据类型与目标格式定义中的数据类型之间的对应关系。分为“固定能力定义”与“可配置能力定义”。其中,固定能力定义包括:源数据格式中的某数据类型(及其子类)能被转换为目标数据格式中的一种数据类型,并且是固定不可配置的。可配置能力定义包括:源数据格式中的某数据类型(及其子类)能被转换为目标数据格式中的多种数据类型,可通过数据转换配置中的某配置项指定其中一种数据类型。
[0079] 在步骤S102中,基于知识库,确定每个需求项到源格式的源映射以及其到目标格式的目标映射。
[0080] 在本发明实施例中,通过利用知识库,针对每一个在两种格式之间执行转换的格式转换程序,上述知识仅需要一次性的准备工作,后续所有针对此格式转换程序的配置生成与校验工作可以基于同一份知识进行。
[0081] 在一示例中,可以通过用户利用交互界面(或从文件加载)需求项到源格式定义、目标格式定义的映射。
[0082] 需求项到源格式定义的映射一般由数据提供方(创建、编辑或收集者)确定,表示当前获取到的数据中,上述需求项中的每一项在源数据格式中的表达方式(一种或多种)。每个需求项对应源格式定义中的一个或多个数据类型条目
[0083] 需求项到目标格式定义的映射一般由数据使用方确定,表示对数据转换结果输出的目标格式数据的检验规则,或者后续使用此数据的其它应用程序的数据读取约束规则。每个需求项对应目标格式定义中的一个或多个数据类型条目。
[0084] 在步骤S103中,基于每个需求项对应的源映射和目标映射,生成从源格式的数据类型到目标格式的数据类型的传递映射集合。
[0085] 在本发明实施例中,以每一个需求项作为传递,自动生成从源格式的数据类型到目标格式的数据类型的映射,每个需求项可能会连接到一至多个源格式数据类型,以及一至多个目标格式数据类型。通过以用户需求项为中心,利用一致的传递映射内容,同时扩展关联多种数据模式,从而提高用户的使用体验。
[0086] 在步骤S104中,基于传递映射集合,生成符合需求列表的数据转换配置。
[0087] 在本发明实施例中,利用一致的传递映射内容,输出多种不同的配置文件格式,从而减少适配不同软件所需的开发工作量。
[0088] 通过上述实施例,以用户需求项为中心,可以同时扩展关联多种数据模式,无需数据提供方与数据使用方对自身软件进行修改,可以利用一致的传递映射内容,输出多种不同的配置文件格式,从而减少适配不同软件所需的开发工作量。通过利用知识库对数据格式进行明确的定义,确定格式转换软件能力范围,便于筛选能满足数据交换需求的数据转换配置,提高用户的使用体验。
[0089] 在一实施例中,基于知识库,确定每个需求项到源格式的源映射以及其到目标格式的目标映射,包括:基于需求项与源格式定义,确定需求项到源格式的源映射,源映射用于表示需求项与源格式定义中的一个或多个数据类型条目的映射关系;基于需求项与目标格式定义,确定需求项到目标格式定义的目标映射,目标映射用于表示需求项与目标格式定义中的一个或多个数据类型条目的映射关系。
[0090] 在一示例中,确定每个需求项到源格式的源映射以及其到目标格式的目标映射,可以包括:用户利用交互界面(或从文件加载)需求项到源格式定义、目标格式定义的映射。需求项到源格式定义的映射一般由数据提供方(创建、编辑或收集者)确定,表示当前获取到的数据中,上述需求项中的每一项在源数据格式中的表达方式(一种或多种),每个需求项对应源格式定义中的一个或多个数据类型条目。需求项到目标格式定义的映射一般由数据使用方确定,表示对数据转换结果输出的目标格式数据的检验规则,或者后续使用此数据的其它应用程序的数据读取约束规则,每个需求项对应目标格式定义中的一个或多个数据类型条目。
[0091] 以下实施例将具体说明从源格式的数据类型到目标格式的数据类型的传递映射的生成过程。
[0092] 在步骤S201中,依次从当前需求项对应的源映射中提取当前源数据类型。
[0093] 在步骤S202中,提取当前需求项对应的目标映射中所有的目标数据类型,构成当前目标类型集合。
[0094] 在步骤S203中,判断当前源数据类型是否首次出现。
[0095] 在当前源数据类型首次出现时,在步骤S204中,将当前源数据类型与当前目标类型集合中各目标数据类型的映射关系加入传递映射集合,并返回步骤S201依次从当前需求项对应的映射中提取当前源数据类型,直至每个需求项均遍历完成。
[0096] 在另一场景中,在当前源数据类型不是首次出现时,在步骤S205中,剔除传递映射集合中与当前目标类型集合不存在交集的目标数据类型的映射关系,以更新传递映射集合,并返回步骤S201依次从当前需求项对应的映射中提取当前源数据类型的步骤,直至每个需求项均遍历完成。
[0097] 在一示例中,图2是根据一示例提出的传递映射的数据结构示意图。
[0098] 基于图2所示的传递映射的数据结构示意图,传递映射生成可以包括:
[0099] 1)建立一个空的传递映射,其数据结构左侧每个位置为源格式的一个数据类型,右侧每个位置为目标格式的数据类型的集合。
[0100] 2)对于每一个需求项,执行第3)至第8)步。
[0101] 3)对当前需求项的源映射中的每个源数据类型,执行第4)至第7)步。
[0102] 4)取当前需求项的目标映射中的所有目标数据类型构成一个“当前目标类型集合”。
[0103] 5)如果传递映射左侧尚无当前源数据类型,那么在传递映射中加入“当前源数据类型‑当前目标类型集合”映射,并跳转到7);否则执行6)
[0104] 6)如果传递映射左侧已有当前源数据类型,那么将其右侧已有的目标类型集合与当前目标类型集合求交集,作为新的右侧目标类型集合写入映射。
[0105] 7)继续执行下一个源数据类型的循环。
[0106] 8)继续执行下一个需求项的循环。
[0107] 在另一示例中,参见图2,图2示出了一种传递映射的生成校验过程。设置需求项包括1、2、3…,源类型包括a、b、c…,目标类型包括α、β、γ…。如果在基于需求项1生成的传递映射中,源类型a转换为α,基于需求项2生成的传递映射中,源类型a转换为β,且α与β无父子类关系,那么需求项1与需求项2出现矛盾,提示报错。如果在基于需求项1生成的传递映射中,源类型a转换为α、β,基于需求项2生成的传递映射中,源类型a转换为β、γ,那么取交集得到源类型a转换为α。
[0108] 通过上述实施例,以用户需求项为中心,利用一致的传递映射内容,实现源数据类型到不同的目标数据类型的传递映射,可以同时扩展关联多种数据模式,不要求同一种规则集格式,减轻了格式转化软件开发与使用分担,提高了数据格式转化效率。
[0109] 在一实施例中,在基于传递映射集合,生成符合需求列表的数据转换配置之前,方法还包括:对传递映射集合进行校验;当传递映射集合通过校验时,基于传递映射集合,生成符合需求列表的数据转换配置。其中,对传递映射集合进行校验包括:基于知识库,对传递映射是否满足知识库的约束进行判断;当有至少一传递映射不满足知识库的对传递映射的约束时,确定校验失败;当传递映射满足知识库的对传递映射的约束时,确定当前传递映射通过校验;对传递映射集合内部是否存在冲突进行判断;当传递映射集合内部存在冲突时,确定校验失败;当传递映射集合内部不存在冲突时,确定传递映射集合通过校验。
[0110] 在本发明实施例中,通过对生成的传递映射集合进行校验,源格式与目标格式对应正确的传递映射,进一步保证了传递映射的准确性,进而保证了将传递映射写入的数据转换配置的准确性。
[0111] 在一示例中,对上述生成的传递映射进行自动校验,可以构建包括以下方面的约束:
[0112] 1)非空性:对于传递映射左侧的每个源数据类型,其右侧对应的目标类型集合应非空。
[0113] 2)父子类一致:对于传递映射左侧的每个源数据类型,如果其作为子类,在源数据格式中的父类也存在传递映射,则子类对应的目标数据类型应当与父类对应的目标数据类型相同,或者是父类的目标数据类型的子类。
[0114] 3)能力约束:对于传递映射中的某一对源数据类型‑目标数据类型,在转换能力定义中,应当存在某一条目,使传递映射的源数据类型与能力定义的源数据类型相同或为能力定义的源数据类型的子类,使传递映射的目标数据类型与能力定义的目标数据类型相同或为能力定义的目标数据类型的子类。
[0115] 当上述约束不满足时,报错提示映射冲突。
[0116] 在一实施例中,基于传递映射集合,生成符合需求列表的数据转换配置,包括:基于知识库,确定需求列表对应的配置文件格式,将传递映射写入配置文件格式,得到符合需求列表的数据转换配置。
[0117] 在本发明实施例中,将传递映射的内容写入特定的配置文件格式,作为结果输出,通过利用一致的传递映射内容,输出多种不同的配置文件格式,从而减少适配不同软件所需的开发工作量。
[0118] 基于相同发明构思,本发明还提供一种数据转换配置生成装置。
[0119] 图3是根据一示例性实施例提出的一种数据转换配置生成装置的结构框图。如图3所示,数据转换配置生成装置包括需求获取单元301、映射确定单元302、映射传递单元303和配置生成单元304。
[0120] 需求获取单元301,用于获取用户数据交换的需求列表及预设知识库,需求列表中包括多个需求项,知识库中存储有对源数据的源格式定义、对目标数据的目标格式定义以及与源格式到目标格式间转换能力的定义。
[0121] 映射确定单元302,用于基于知识库,确定每个需求项到源格式的源映射以及其到目标格式的目标映射。
[0122] 映射传递单元303,用于基于每个需求项对应的源映射和目标映射,生成从源格式的数据类型到目标格式的数据类型的传递映射集合。
[0123] 配置生成单元304,用于基于传递映射集合,生成符合需求列表的数据转换配置。
[0124] 在一实施例中,映射确定单元302,包括:源映射确定单元,用于基于需求项与源格式定义,确定需求项到源格式的源映射,源映射用于表示需求项与源格式定义中的一个或多个数据类型条目的映射关系;目标映射确定单元,用于基于需求项与目标格式定义,确定需求项到目标格式定义的目标映射,目标映射用于表示需求项与目标格式定义中的一个或多个数据类型条目的映射关系。
[0125] 在另一实施例中,映射传递单元303,包括:源映射提取单元,用于依次从当前需求项对应的源映射中提取当前源数据类型;目标映射提取单元,用于提取当前需求项对应的目标映射中所有的目标数据类型,构成当前目标类型集合;第一单元,用于判断当前源数据类型是否首次出现;第一遍历单元,用于在当前源数据类型首次出现时,将当前源数据类型与当前目标类型集合中各目标数据类型的映射关系加入传递映射集合,并返回依次从当前需求项对应的映射中提取当前源数据类型的步骤,直至每个需求项均遍历完成。
[0126] 在又一实施例中,映射传递单元303,还包括:第二遍历单元,用于在所述当前源数据类型不是首次出现时,剔除所述传递映射集合中与所述当前目标类型集合不存在交集的目标数据类型的映射关系,以更新所述传递映射集合,并返回所述依次从当前需求项对应的映射中提取当前源数据类型的步骤,直至每个需求项均遍历完成。
[0127] 在又一实施例中,装置还包括:校验单元,用于对传递映射集合进行校验;当传递映射集合通过校验时,基于传递映射集合,生成符合需求列表的数据转换配置。
[0128] 在又一实施例中,校验单元,包括:第二判断单元,用于基于所述知识库,对所述传递映射是否满足所述知识库的约束进行判断;第一校验失败单元,当有至少一传递映射不满足所述知识库的对传递映射的约束时,确定校验失败;第一校验通过单元,当所述传递映射满足所述知识库的对传递映射的约束时,确定当前所述传递映射通过校验;第三判断单元,对所述传递映射集合内部是否存在冲突进行判断;第二校验失败单元,当所述传递映射集合内部存在冲突时,确定校验失败;第二校验通过单元,当所述传递映射集合内部不存在冲突时,确定所述传递映射集合通过校验。
[0129] 在又一实施例中,配置生成单元304,包括:配置生成子单元,用于基于知识库,确定需求列表对应的配置文件格式,将传递映射写入配置文件格式,得到符合需求列表的数据转换配置。
[0130] 上述数据转换配置生成装置的具体限定以及有益效果可以参见上文中对于数据转换配置生成方法的限定,在此不再赘述。上述各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0131] 图4是根据一示例性实施例提出的一种计算机设备的硬件结构示意图。如图4所示,该设备包括一个或多个处理器410以及存储器420,存储器420包括持久内存、易失内存和硬盘,图4中以一个处理器410为例。该设备还可以包括:输入装置430和输出装置440。
[0132] 处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图4中以通过总线连接为例。
[0133] 处理器410可以为中央处理器(Central Processing Unit,CPU)。处理器410还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0134] 存储器420作为一种非暂态计算机可读存储介质,包括持久内存、易失内存和硬盘,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的业务管理方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述任意一种数据转换配置生成方法。
[0135] 存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据、需要使用的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至数据处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0136] 输入装置430可接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
[0137] 一个或者多个模块存储在存储器420中,当被一个或者多个处理器410执行时,执行如图1‑图2所示的方法。
[0138] 上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见如图1‑图2所示的实施例中的相关描述。
[0139] 本发明实施例还提供了一种非暂态计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的认证方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read‑Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid‑State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
[0140] 显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。