首页> 中国专利> 一种结构化数据的数据转化方法、数据转化系统及相关装置

一种结构化数据的数据转化方法、数据转化系统及相关装置

摘要

本申请提供一种结构化数据的数据转化方法,包括:确定数据映射模型;导入所述数据映射模型的模型文件;读取所述模型文件中的结构化数据并存入非结构数据库;在所述非结构数据库中解析所述模型文件包含的数据映射关系,并根据所述数据映射关系将所述结构化数据转化为所述非结构化数据。本申请针对多个相似的应用系统由结构化数据存储向非结构化数据存储转换的需求,只需正确维护数据映射模型并使用通用程序既能实现,从而提升数据处理工作步骤的复用程度,很大程度上降低了数据处理工作量,从而降低项目总体成本。本申请还提供一种结构化数据的数据转化系统、计算机可读存储介质和终端,具有上述有益效果。

著录项

  • 公开/公告号CN112632167A

    专利类型发明专利

  • 公开/公告日2021-04-09

    原文格式PDF

  • 申请/专利权人 山东中创软件工程股份有限公司;

    申请/专利号CN202011553542.3

  • 申请日2020-12-24

  • 分类号G06F16/25(20190101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人高勇

  • 地址 250013 山东省济南市历下区千佛山东路41-1号

  • 入库时间 2023-06-19 10:32:14

说明书

技术领域

本申请涉及数据处理领域,特别涉及一种结构化数据的数据转化方法、数据转化系统及相关装置。

背景技术

由于新一代应用产品采用MongoDB作为数据存储工具,而旧业务系统采用Oracle、MySql等关系数据库存储数据,因此数据需要由结构化数据映射为非结构化数据,而两者物理结构差异较大,无法直接使用数据库工具同步数据。通常的方案是逐个业务系统进行分析,分别整理新旧两套系统数据结构差异并确定映射关系,再根据映射关系编写数据抽取脚本,将原数据由原有数据库按照新结构抽取至新数据库。

上述过程虽然在一次系统替换或升级中可行,但当面临几个或十几个系统时,此时需要针对每个系统调整数据映射关系,并逐个比对调整对应的数据抽取脚本,非常耗费人力和时间,增加了系统升级成本。

发明内容

本申请的目的是提供一种结构化数据的数据转化方法、数据转化系统、计算机可读存储介质和终端,能够将结构化数据转化为非结构化数据。

为解决上述技术问题,本申请提供一种结构化数据的数据转化方法,具体技术方案如下:

确定数据映射模型;

导入所述数据映射模型的模型文件;

读取所述模型文件中的结构化数据并存入非结构数据库;

在所述非结构数据库中解析所述模型文件包含的数据映射关系,并根据所述数据映射关系将所述结构化数据转化为所述非结构化数据。

可选的,导入所述数据映射模型的模型文件包括:

初始化监听器并读取所述数据映射模型的模型文件;

将所述模型文件中的结构化数据导入数据清单中。

可选的,读取所述模型文件中的结构化数据并存入非结构数据库包括:

从所述数据清单中读取所述结构化数据对应的表数据,并将所述表数据存入非结构数据库。

可选的,在所述非结构数据库中解析所述模型文件包含的数据映射关系包括:

在所述非结构数据库中构建字段映射语句,通过所述字段映射语句解析所述模型文件包含的数据映射关系。

可选的,通过所述字段映射语句解析所述模型文件包含的数据映射关系包括:

通过所述字段映射语句中的字段转化语句将所述模型文件中的结构化字段转化为非结构化字段;

利用所述字段映射语句中的映射语句将所述非结构化字段聚合为非结构化数据。

可选的,所述映射语句包括不取值语句、固定语句、直取语句、拼接语句、参数语句和特殊取值语句。

本申请还提供一种结构化数据的数据转化系统,包括:

模型确定模块,用于确定数据映射模型;

模型导入模块,用于导入所述数据映射模型的模型文件;

模型读取模块,用于读取所述模型文件中的结构化数据并存入非结构数据库;

转化模块,用于在所述非结构数据库中解析所述模型文件包含的数据映射关系,并根据所述数据映射关系将所述结构化数据转化为所述非结构化数据。

可选的,模型导入模块包括:

初始化单元,用于初始化监听器并读取所述数据映射模型的模型文件;

导入单元,用于将所述模型文件中的结构化数据导入数据清单中。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。

本申请还提供一种终端,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。

本申请提供一种结构化数据的数据转化方法,包括:确定数据映射模型;导入所述数据映射模型的模型文件;读取所述模型文件中的结构化数据并存入非结构数据库;在所述非结构数据库中解析所述模型文件包含的数据映射关系,并根据所述数据映射关系将所述结构化数据转化为所述非结构化数据。

本申请通过预设数据映射模型,包含了结构化数据与非结构化数据的映射关系,通过执行模型导入、模型读取,在非结构数据库中对映射关系进行解析,从而按照映射关系将结构化数据转化为非结构化数据,针对多个相似的应用系统由结构化数据存储向非结构化数据存储转换的需求,只需正确维护数据映射模型并使用通用程序既能实现,从而提升数据处理工作步骤的复用程度,很大程度上降低了数据处理工作量,从而降低项目总体成本。

本申请还提供一种结构化数据的数据转化系统、计算机可读存储介质和终端,具有上述有益效果,此处不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种结构化数据的数据转化方法的流程图;

图2为本申请实施例所提供的一种结构化数据的数据转化系统结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种结构化数据的数据转化方法的流程图,该方法包括:

S101:确定数据映射模型;

本实施例旨在将结构化数据转化为非结构化数据。结构化数据是高度组织和整齐格式化的数据,是能够用数据或统一的结构加以表示的信息,如数字、符号。结构化数据具有明确的关系和统一的结构及类型,在软件应用中,保存和管理这些数据的一般为关系数据库,需要使用结构化查询语言或SQL进行数据处理。而非结构化数据本质上是结构化数据之外的一切数据。它不符合任何预定义的模型,因此它存储在非关系数据库中,并使用NoSQL进行查询。它可能是文本的或者非文本的,也可能是人为的或机器生成的。简单的说,非结构化数据就是字段可变的数据。

本步骤中,旨在确定数据映射模型。需要注意的是,该数据映射模型实质为数据映射关系的体现,其可以视为一种将结构化数据转化为非结构化数据的转化模板。其中包含了如何将结构化数据转化为非结构化数据的数据映射关系。本实施例对于结构化数据和非结构化数据的具体类型不作限定,结构化数据可以为MySQL、Oracle等关系型数据库中的数据,而非结构化数据可以为MongoDB中数据。非结构化数据库能够满足业务功能的灵活扩展,同时当前产品系统采用前后端分离框架,可同时对接多个数据库,因此时常需要进行结构化数据和非结构化数据的转化。MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型,其存储规则是“面向集合”的,即数据被分组存储在不同数据集合中,每个集合在数据库中都有一个唯一的标识名,集合的概念类似关系型数据库里的表,不同的是它不需要定义任何模式(schema),即不同结构的数据也可以存储在同一集合中。当然在此对于该数据映射关系的具体表现形式不作限定,例如可以根据结构化数据的存储形式采用相类似的数据映射关系表现形式。由于结构化数据通常以数据表形式存于数据库中,因此该数据映射关系同样可以采用表格形式记录结构化数据与非结构化数据的转化映射关系。

本步骤中,所谓确定数据映射模型,可以包含数据映射模型的获取过程,或者数据映射模型中数据映射关系的定义过程等。换句话说,本步骤的目的在于得到一个包含数据映射关系的数据映射模型,至于该数据映射模型是否必须在本步骤中生成并非本步骤的重点。若在实际应用过程中,并不存在数据映射模型,可以直接生成数据映射模型,即对结构化数据与非结构化数据的转化方式加以定义。当然,该数据映射模型可以源于其他数据库、系统、设备,即针对已有的数据映射模型加以应用,均应在本申请的保护范围内。很显然,在批量执行结构化数据与非结构化数据的转化时,若存在该数据映射模型,则无需每次执行转化时均现场定义,而可以直接应用数据映射模型,从而提高数据转化效率。

S102:导入所述数据映射模型的模型文件;

本步骤旨在导入模型文件,由于模型文件的文件类型不作限定,本步骤中其相应的导入方式也存在多种应用方式,视数据映射模型的模型文件格式而定。作为本步骤一种优选的执行方式,可以先初始化监听器并读取数据映射模型的模型文件,再将模型文件中的结构化数据导入数据清单中。该监听器用于监听模型文件,还可以用于监听结构化数据动向。本步骤的目的在于读取模型文件,以得到映射内容。容易理解的是,步骤S101中数据映射模型应当可以被本步骤所识别,即数据映射关系应当可以被解析。若模型文件为表格形式,本步骤中可以识别表格内容同时将模型文件中的结构化数据导入数据清单,该数据清单用于存储结构化数据,以便后续执行结构转化。当然也可以采用其他数据存储结构用于存储结构化数据。

S103:读取所述模型文件中的结构化数据并存入非结构数据库;

若在步骤S102中将结构化数据导入数据清单,本步骤可以相应的,从数据清单中读取结构化数据对应的表数据,再将表数据存入非结构数据库。

S104:在所述非结构数据库中解析所述模型文件包含的数据映射关系,并根据所述数据映射关系将所述结构化数据转化为所述非结构化数据。

当结构化数据存于非结构数据库后,即可解析数据映射关系,并根据数据映射关系形成新数据。

具体的,在解析模型文件包含的数据映射关系时,可以在非结构数据库中构建字段映射语句,通过字段映射语句解析模型文件。而字段映射语句可以包含字段转化语句和映射语句,通过字段转化语句将模型文件中的结构化字段转化为非结构化字段,利用映射语句将非结构化字段聚合为非结构化数据。映射语句实质是对字段进行取值,而取值结果满足非结构化数据。

映射语句可以包括不取值语句、固定语句、直取语句、拼接语句、参数语句和特殊取值语句。

不取值语句,指在非结构数据中对应字段在结构化数据并不存在,并且可以为空,则不需要取值。

固定语句,指结构化数据的字段映射到非结构化数据库时直接设为固定值,而固定值的具体数值可以以备注形式录入。

直取语句,指结构化数据的字段无需转化结构或者转化数据类型,可以直接在非结构化数据中应用,可以直接取值。

拼接语句,指非结构化数据中对应字段需要由结构化数据中的字段与某个固定值拼接而成,拼接的固定值同样可以以备注形式录入。

参数语句,指非结构化数据和结构化数据中该字段均用于记录参数字典的编码,且结构化数据和非结构化数据中的两个参数字典可以相互映射,此时需要通过参数语句指定两个参数字典之间的映射关系。举例而言,录入格式为“旧字典编码->新字典编码”,并通过一定分隔符分隔。

特殊取值语句,指结构化数据中的字段不属于以上几种情况,可以直接录入非结构化数据库的转化语句,但需要通过特殊取值指定,例如可以采用“特殊取值”列指定。

以上几种取值情况,基本可以涵盖数据映射的所有类型。上述过程针对采用字段映射语句执行数据结构转化进行描述,本领域技术人员还可以采用其他与字段映射语句相类似功能的语句或者算法,以实现将结构化数据转化为非结构化数据,也应在本申请的保护范围内。

本申请实施例通过预设数据映射模型,包含了结构化数据与非结构化数据的映射关系,通过执行模型导入、模型读取,在非结构数据库中对映射关系进行解析,从而按照映射关系将结构化数据转化为非结构化数据,针对多个相似的应用系统由结构化数据存储向非结构化数据存储转换的需求,只需正确维护数据映射模型并使用通用程序既能实现,从而提升数据处理工作步骤的复用程度,很大程度上降低了数据处理工作量,从而降低项目总体成本。

下面对本申请实施例提供的一种结构化数据的数据转化系统进行介绍,下文描述的数据转化系统与上文描述的一种结构化数据的数据转化方法可相互对应参照。

参见图2,图2为本申请实施例所提供的一种结构化数据的数据转化系统结构示意图,本申请还提供一种结构化数据的数据转化系统,包括:

模型确定模块100,用于确定数据映射模型;

模型导入模块200,用于导入所述数据映射模型的模型文件;

模型读取模块300,用于读取所述模型文件中的结构化数据并存入非结构数据库;

转化模块400,用于在所述非结构数据库中解析所述模型文件包含的数据映射关系,并根据所述数据映射关系将所述结构化数据转化为所述非结构化数据。

基于上述实施例,作为优选的实施例,模型导入模块200可以包括:

初始化单元,用于初始化监听器并读取所述数据映射模型的模型文件;

导入单元,用于将所述模型文件中的结构化数据导入数据清单中。

基于上述实施例,作为优选的实施例,模型读取模块300为用于从所述数据清单中读取所述结构化数据对应的表数据,并将所述表数据存入非结构数据库的模块。

基于上述实施例,作为优选的实施例,转化模块400包括:

解析单元,用于在所述非结构数据库中构建字段映射语句,通过所述字段映射语句解析所述模型文件包含的数据映射关系。

基于上述实施例,作为优选的实施例,所述解析单元包括:

第一转化子单元,用于通过所述字段映射语句中的字段转化语句将所述模型文件中的结构化字段转化为非结构化字段;

第二转化子单元,用于利用所述字段映射语句中的映射语句将所述非结构化字段聚合为非结构化数据。

可选的,所述映射语句包括不取值语句、固定语句、直取语句、拼接语句、参数语句和特殊取值语句。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种终端,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述终端还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号