信息交换方法、装置及计算机存储介质与流程

文档序号:25038383发布日期:2021-05-11 17:11阅读:63来源:国知局
信息交换方法、装置及计算机存储介质与流程

本发明涉及信息交换领域,尤其涉及信息交换中数据模型映射技术与信息交换方法、装置和计算机存储介质。



背景技术:

在过去数年间,企业、政府数字化、信息化过程中使用了烟囱式建设方式,构建了大量分散的、独立的信息系统,这些系统在使用过程中,除了对各类业务进行了支撑,也积累的大量有价值的数据。然而,这些信息系统在设计过程中仅仅以其目标业务为驱动,缺乏未来系统相互协同的考量。而且业界也缺乏统一的解决方案,导致对于不同建设者搭建的信息系统,其系统架构和实现技术大相径庭。因此,这些信息系统具有严重的异构性,难以直接进行信息的交换,产生了严重的信息孤岛现象。

在当前信息汇聚、开发、共享的潮流中,要求信息系统间进行互联互通,互相交换各自有价值的数据,通过大数据、人工智能、云计算等技术创造出更大的价值。在这股潮流中,企业和政府都拥有着从业务积累而来的大量数据资源,却苦于信息系统的异构性,难以直接进行数据的开发共享,仿佛坐拥金库却找不到钥匙的富豪。如何找到开启金库的钥匙,将自身的数据提供出去,并将所需的外部数据接收进来,是企业和政府面临的迫切需求和重要挑战。

如图1所示,当前主流的信息交换解决方案主要的实现方式是,信息提供者首先选择需要共享的数据字段并形成共享数据视图,或称开放数据视图;然后依据国家标准、行业标准、或自定义标准,将数据库内的字段映射到标准所定义的数据元上,封装为服务并以web服务等方式注册和发布到服务管理平台(或称数据交换平台)的服务库中;信息使用者通过阅读信息交换api的描述文档了解其信息内容与数据架构,从而设计信息交换与数据入库规则;最后通过etl工具调用相关api来获取所需的信息。然而,这种方式在面对不同信息交换业务需求的情况时,有很多缺陷。首先,信息提供者与信息使用者采用的数据模型往往是不一致的,这就要求开发者对两方数据模型都充分理解,才能避免出现数据源之间的语义歧义;其次,信息提供者共享数据视图设计、数据字段映射、以及数据使用者数据入库规则对于每个不同的业务都需要独立设计,难以跨业务复用,导致大量的重复开发。

如何针对数据映射应对差异化业务需求灵活性不足的问题,而提供一种对不同业务需求的可复用性高的数据交换方法,是一直以来没有解决的问题。



技术实现要素:

鉴于此,本发明实施例提供了一种信息交换方法及其装置,以消除或改善现有技术中存在的一个或更多个缺陷。

根据本发明的一个方面,提供的信息交换方法,该方法包括以下步骤:

选择需要交换的数据库字段,形成字段集合;

对字段集合内的各个字段,定义对应的字段描述;

以定义的字段描述为关键词,在预建立的数据模型中搜索与字段描述语义相一致的数据元;

构建体现字段集合内的各个数据库字段与搜索到的数据元之间的映射路径的映射关系,形成映射关系的集合;

基于映射关系的集合生成所述预建立的数据模型对应的映射文件;

利用生成的映射文件进行数据源数据库数据与基于所述预建立的数据模型数据之间的转换。

在本发明一些实施例中,对于数据提供者,所述利用生成的映射文件进行数据源数据库数据与基于所述预建立的数据模型数据之间的转换的步骤包括:解析所述映射文件,生成数据源抽取字段集合,并基于所述映射文件中的映射关系构建出用于将数据库内数据转换为所述数据模型结构的数据映射结构;基于所述抽取字段集合,抽取数据源数据库内对应的数据集;基于所述数据映射结构,将所述数据集转换为所述数据模型结构的数据;以及将转换后的数据存储为数据交换文件并输出至数据交换平台,以用于文件传输。

在本发明一些实施例中,对于数据接收者,所述利用生成的映射文件进行数据源数据库数据与基于所述预建立的数据模型数据之间的转换的步骤包括:解析所述映射文件,生成数据源入库字段集合,并基于所述映射文件中的映射关系构建出用于将数据库内数据转换为所述数据模型结构的数据映射结构;读取数据交换平台上的数据交换文件,并基于所述数据映射结构将所述数据交换文件中数据模型类型的数据转换为与所述入库字段集合对应的数据集;将转换后的数据集输入至数据接收者数据库。

在本发明一些实施例中,所述字段集合内的各个数据库字段与搜索到的数据元的映射关系为包括数据库字段、字段描述与映射路径的映射对;

所述数据映射结构为分级标签结构,所述分级标签结构的构建过程包括:解析各个映射路径生成初始的分级标签结构,将多个分级标签结构基于标签名称和标签级别进行合并,得到最终分级标签结构。

在本发明一些实施例中,所述字段集合中的字段包含字段名称和字段位置,所述字段位置为所述数据库字段所在的数据库表,所述字段集合中各数据库字段所在的各数据库表位于同一数据库中。

在本发明一些实施例中,在所述在预建立的数据模型中搜索与数据描述语义相一致的数据元的步骤中,在搜索不到与数据描述语义相一致的数据元的情况下,按照所述预建立的数据模型的结构化规范创建新的数据元并通过信息交换应用程序接口在数据提供方和数据接收方共享的数据交换平台上进行发布。

在本发明一些实施例中,所述预建立的数据模型为由一组xsd文件所表示的面向对象的国家信息交换模型;所述预建立的数据模型对应的规范化数据组件包括:复合数据类型,简单数据类型和数据元;其中,所述复合数据类型用于定义实体概念以及用于描述实体概念的一个或多个属性;每个数据元用于代表所述实体概念或实体概念的一个属性;所述简单数据类型用于定义对数据元属性表述的约束。

在本发明一些实施例中,所述映射文件为可编辑映射文件。

根据本发明的另一方面,还提供一种信息交换装置,该装置包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,在所述计算机程序被处理器执行时实现如前所述的方法步骤。

根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如前所述方法的步骤。

本发明实施例可以改善当前信息交换中频繁出现的语义一致性问题,并通过提高数据模型映射的可复用性降低信息交换的开发和使用成本,提高数据开放共享的效率。

本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。

本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大,即,相对于依据本发明实际制造的示例性装置中的其它部件可能变得更大。在附图中:

图1为现有技术中信息交换框图示意。

图2为本发明一实施例中信息交换方法的流程示意图。

图3为本发明一实施例中的数据模型映射阶段的流程示意图。

图4为本发明一实施例中数据提供者的数据转换阶段的流程示意图。

图5为本发明一实施例中数据接收者的数据转换阶段的流程示意图。

图6为本发明一实施例中信息交换框图示意。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。

应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。

针对现有技术中存在的问题,本发明给出了一种基于统一数据模型的模型映射技术与信息交换方法,更具体地给出了基于ciem的数据模型映射方法以及基于该方法的信息交换流程与架构,用于在多数据源信息交换业务中同一数据模型与语义,提供可复用的数据交换。

该统一数据模型可以是中国国家信息交换模型(ciem)。下面将以基于ciem的数据交换为例来进行更详细的描述,但本发明并不限于此。

本发明的基于ciem的信息交换流程主要分为三大阶段:(1)数据模型映射阶段,(2)数据转换阶段,和(3)数据交换阶段,如图2所示。

在数据模型映射阶段中,如图3所示,信息提供者与信息接收者需要分别进行以下步骤:

步骤s310,选择需要交换的数据库字段,形成字段集合。

信息提供者与信息接收者可基于自己的需求来选择需要交换的数据库字段f,并可将字段f的集合记为field。

在数据模型映射阶段,信息提供者与信息接收者需要交换的数据库字段可以存在于相同或不同数据库表中,这些字段所属的数据库表须位于同一数据库内。因此,在本步骤生成的字段集合中,需要明确交换的数据库字段的字段名称信息与所在的数据库表,即字段位置。

举例来说,对于字段集合内的每个字段,可通过如下方式记录其字段位置信息:“字段名称-数据库表”。例如,针对数据库表“亲人”内的字段名称“姓名”,其在字段集合内可记录为:“姓名-亲人”。

步骤s320,对字段集合内的各个字段f∈field,定义对应的字段描述desc(f)。

在本步骤中,字段数据描述可使用ciem模型所支持的自然语言(如汉语或英语)来表达,用于明确定义该字段描述的物理概念。

例如,对于数据库表“亲人”内的字段名“姓名”,其数据描述desc(f)可定义为:“亲人的姓名”,以明确其为亲人的姓名属性。

步骤s330,以数据描述desc(f)为关键词,在预先建立的统一数据模型(如ciem)中搜索与数据描述语义相一致的数据元。

本步骤中,是要在ciem模型中查找与步骤s320中数据描述语义一致的数据元,搜索出的数据元的引用路径(或称映射路径)可记为xpath(f)。例如,针对“亲人的姓名”这一描述,其搜索结果为xpath:relativeperson/personname。

本实施例中所采用的ciem模型是由一组xmlschemadefinition(xsd)文件所表示的面向对象的数据模型,对在物理世界中各种事物对象,包括实在的物体、抽象实体的概念、以及他们之间的关联等,进行了结构化规范描述。该数据模型的数据组件主要包括简单数据类型、复合数据类型、数据元等内容。其中:

a)复合数据类型用于定义实体概念以及描述该实体概念所包含的一个或多个属性。该实体概念可包括现实世界中客观事物及抽象实体的概念。

b)每个数据元用于代表实体概念或该实体概念的一个属性,可描述针对目标实体的某一特征抽象。

c)简单数据类型用于定义了对对数据元属性表述的约束。

数据元一方面被数据类型定义,约束了数据元的表述;另一方面则被数据类型引用,描述了数据类型的抽象实体。基于这种数据类型和数据元间的引用与被引用的关系,描述了实体间的关联关系。

以数据元relativeperson(亲人)为例,ciem模型中的数据元定义片段如下面表1所示:

数据元“relativeperson(亲人)”由数据类型“persontype(人员类型)”所定义,persontype约束了人员实体需要由personname(人员姓名)、personnationalidnumtext(人员身份证号)、personsextext(人员性别)等属性所描述,其中personname属性的描述方式则由定义数据元personname的数据类型personnametype所约束。因此,数据元personname在作为persontype下的一项属性用于描述数据元relativeperson时,其语义为:亲人的姓名。对于数据元relativeperson与personname这种通过数据类型形成的引用关系,用xpath来表示:

xpath是表达数据元相互引用关系的字符串,其表达形式为以‘/’为分隔符的数据元串联引用关系,例如:数据元a/被数据元a引用的数据元b/被数据元b引用的数据元c……。

表1.ciem模型中的数据元定义片段示例:

在该示例中,可针对“亲人的姓名”这一描述搜索到relativeperson/personname(即,亲人/人员姓名)。可见,在ciem模型中,完整的数据元语义是由基于引用关系的数据元引用路径定义的,并可表达为xpath的形式。

在将数据库字段向ciem模型映射时,为了保证语义的完整性,需要基于其数据描述映射至相同语义的数据元引用关系上。xpath“relativeperson/personname”即为步骤s330中针对“亲人的姓名”字段映射结果的表现形式。

在本发明另一实施例中,若ciem模型中不存在与数据描述语义一致的数据元,即搜索不到与数据描述语义相一致的数据元,则可按照ciem的结构化规范创建新的数据元并随信息交换api在数据提供方和数据接收方共享的数据交换平台一同发布,从而更新ciem数据模型。

步骤s340,构建体现字段集合内的各个数据库字段与搜索到的数据元之间的映射路径的映射关系,形成映射关系的集合。

更具体地,针对字段集合内的每一数据库字段,构建该数据库字段与数据元一对一的映射关系,记为映射对m(f):f→xpath(f)。字段集合field内的全部字段都完成映射后,得到映射对集合为:m:field→xpath(field)。

该步骤中产生的映射对m(f):f→xpath(f)所记录的信息可包括字段f的字段名称、字段位置信息,以及f在ciem模型中对应的xpath。

步骤s350,基于映射关系的集合生成预建立的数据模型对应的映射文件。

即,将映射对集合m记录并生成为ciem数据模型对应的映射文件(mappingfile)。本步骤中,数据模型映射文件mappingfile可为xls、txt等格式,在映射文件中,对于映射集合m中每一条映射对,都记为一个条目,每个条目都需包含数据元字段及位置信息(如:“姓名-亲人”)、字段描述(如:“亲人的姓名”)、字段数据类型(如:char)、映射的xpath(如:“relativeperson/personname”)等信息。

在数据模型映射阶段后,将进入数据转换阶段。在数据转换阶段将利用数据模型映射阶段产生的映射文件实现数据源数据库数据与基于ciem模型的数据之间的转换。对于数据提供者,需要将数据源数据库抽取并形成ciem模型结构存储的数据交换文件;对于数据接受者,需要将符合ciem模型结构存储的数据交换文件转换为数据源数据库数据。为了实现上述功能,本发明设计了数据转换中间件(dataconvertmiddleware,dcm),用于解析映射文件mappingfile并转换数据。本发明实施例中,dcm可以通过计算机软件来实现。

更具体地,对于数据提供者,如图4所示,基于dcm的数据转换步骤为:

步骤s410,解析映射文件,生成数据源抽取字段集合,并基于映射文件中的映射关系构建出用于将数据库内数据转换为ciem数据模型结构的数据映射结构。

本步骤中,输入映射文件mappingfile,由dcm解析mappingfile,生成用于数据源抽取的字段集合field,以及体现数据转换规则的数据映射结构。

字段集合可包括由mappingfile内“字段名称”、“数据库表”的内容所构成的数据库字段位置信息。

更具体地,本步骤中,数据映射结构所提现的数据转换规则为数据库字段与ciem模型xpath的映射规则。在本发明一示例中,数据映射结构为分级标签结构,该分级标签结构的生成过程包括:1)解析各个映射路径生成初始的分级标签结构;以及2)将多个分级标签结构基于标签名称和标签级别进行合并,得到最终分级标签结构。

具体生成数据映射结构的方式举例如下:

a)对于数据库字段f∈field,读取其xpath(f)信息,如:xpath(f)=“数据元a/数据元b/数据元c”;

b)以“/”为分隔符解析xpath(f),选取头部数据元,生成实体,并构造标签<数据元a>;

c)若xpath仍未全部解析,排除步骤b)已解析的部分,形成新xpath’(f)=“数据元b/数据元c”;

d)解析xpath’(f),选取头部数据元,生成子实体,并构造子标签<数据元b>;

e)继续解析未全部解析的部分,直至xpath被完整解析,形成初始分级标签结构tag(f);

f)将数据库字段f与标签结构tag(f)构建映射关系,即将字段f内的数据作为tag(f)的内容来源;

g)重复如上步骤,直至字段集合field内所有字段的xpath都被解析,得到多个初始分级标签结构;

h)基于标签名称和标签级别将多个分级标签结构进行合并,得到最终分级标签结构。例如,合并处于同一级别且名称一致的标签内的子标签。

如,基于xpath“relativeperson/personname”、“relativeperson/personsextext”、“employee/relativeperson/personname”三个xpath,可分别解析出成的标签结构(用xml表示)如下面的表2-表4所示。

表2.路径“relativeperson/personname”的标签结构:

表3.路径“relativeperson/personsextext”的标签结构:

表4.路径“employee/relativeperson/personname”的标签结构:

在表2与3中,<relativeperson>都为一级标签,因此,其子标签可进行合并;而表4中的<relativeperson>为<employee>的子标签,即二级标签,与表2表3中的不同级,不可合并。表2-表4最终合并如表5所示。

表5:合并后的标签结构示例:

标签结构的合并可以进一步优化数据结构。

步骤s420,dcm基于字段集合field,抽取数据源数据库字段内数据集d。

步骤s430,dcm基于数据转换规则,将数据集d转换为ciem模型结构的数据;

步骤s440,dcm将转换后的数据存为数据交换文件exchangefile,并输出,等待文件传输。

数据交换文件exchangefile可以是json、xml等格式,以xml格式存储的亲属信息为例,其内容形式的示例如表6所示:

表6.交换文件内容形式示例:

对于数据接收者,如图5所示,基于dcm的数据转换步骤为:

步骤s510,解析映射文件,生成数据源入库字段集合,并基于映射文件中的映射关系构建出用于将数据库内数据转换为数据模型结构的数据映射结构。

更具体地,本步骤中,输入映射文件mappingfile,由dcm解析mappingfile,生成用于数据源入库的字段集合field,以及体现数据转换规则的数据映射结构。

字段集合可包括由mappingfile内“字段名称”、“数据库表”的内容所构成的数据库字段位置信息。

数据映射结构所提现的数据转换规则为数据库字段与ciem模型xpath的映射规则,其生成过程与数据提供者是一致的,在此不再赘述。

步骤s520,读取数据交换平台上的数据交换文件exchangefile,并基于据映射结构将数据交换文件中数据模型类型的数据转换为与入库字段集合对应的数据集。

即,dcm读取数据交换文件exchangefile,并dcm基于数据映射结构,将exchangefile内ciem模型结构的数据转换为与入库字段field对应的数据集。

步骤s530,dcm将转换后的数据集输入至数据接收者数据库。

如上为数据提供方和数据接收方的数据转换阶段,数据转换完成后,便可以进入数据交换阶段,进行数据交换。

在数据交换阶段,可使用市面上较常见的数据交换方法,如基于api、基于中间数据库的方式实现。

图6所示为本发明实施例中基于api数据交换的信息交换流程,如图6所示,该流程包括:

(1)首先,数据提供者与数据接收者分别生成各自的映射文件。

(2)数据提供者将映射文件输入至数据转换中间件dcm,并调用数据转换中间件转换并输出数据。

(3)数据提供者将转换后的输出数据开生成为信息交换api。

(4)数据提供者将api在服务管理平台注册发布。

(5)数据接收者通过服务管理平台调用数据提供者的api。

(6)数据接收者将映射文件输入数据转换中间件dcm,并调用数据转换中间件将api转换为入库数据。

(7)数据接收者将转换后的数据存入接收数据库。

在本发明实施例中,映射文件为可编辑映射文件,信息使用者业务需求变更时仅需在mappingfile内增删数据条目,而无需调整入库规则与etl工具,降低了因业务需求变更而导致数据映射重构的工作量。

综上所述,针对传统数据开放共享中,异构数据源的语义一致性问题,本发明基于ciem设计了数据模型映射方法,消除了异构数据源的数据描述歧义,统一了异构数据源的数据语义与数据模型架构。

针对数据映射应对差异化业务需求灵活性不足的问题,本发明设计的基于可编辑映射文件的数据转换方法,大大降低了因业务需求变更而导致数据映射重构的工作量。

针对数据开放共享中数据交换组件可复用性差的问题,本发明设计的基于映射文件与数据转换中间件的数据交换方法。仅需调整映射文件即可满足不同业务的信息交换需求,避免了数据字段映射与数据入库规则的重复设计与开发,降低了数据交换组件重复开发成本。

换言之,本发明给出的基于ciem的数据模型映射方法以及基于该方法的信息交换流程与架构,不仅可以改善当前信息交换中频繁出现的语义一致性问题,并通过提高数据模型映射的可复用性降低信息交换的开发和使用成本,提高数据开放共享的效率。本发明通过将异构数据源的数据库字段映射至规范化的统一数据模型,并将映射逻辑封装为映射文件,通过对映射文件的封装与解析,确保数据描述的统一,消除数据源数据描述的歧义;设计了基于映射文件的数据转换中间件,利用映射文件指导数据交换中信息的传递,避免因业务需求变动导致的大量重复开发。需要说明的是,本发明提出的方案并非信息交换系统的设计方案,而是在信息交换中数据模型映射、信息交换的流程与方法。

相应地,本发明还提供一种数据映射装置,该装置包括存储器和处理器,存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序,在计算机程序被处理器执行时实现如前所述的方法步骤。

本发明还涉及存储介质,其上可以存储有计算机程序代码,当程序代码被执行时可以实现本发明的方法的各种实施例,该存储介质可以是有形存储介质,诸如光盘、u盘、软盘、硬盘等。

本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

软件可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1