一种数据库合并的方法以及装置制造方法及图纸

技术编号:20986391 阅读:28 留言:0更新日期:2019-04-29 20:04
本申请公开了一种数据库合并的方法以及装置,方法包括:分别从目标数据库和源数据库获取目标数据表和源数据表,其中所述目标数据表包括多个字段以及多条记录,所述源数据表也包括多个字段以及多条记录,每条记录包括分别与所述字段对应的字段值;根据所述目标数据表和所述源数据表的字段差异对所述目标数据表进行同结构化处理,以获取同结构化目标数据表;在所述源数据表和所述同结构化目标数据表的基础上进行数据合并,通过上述方法,本申请能够实现对数据库的快速合并,改善了现有技术的合并方式。

A Method and Device of Database Merging

This application discloses a method and device for database merging, which includes: obtaining target data tables and source data tables from target and source databases, respectively. The target data tables include multiple fields and multiple records, and the source data tables also include multiple fields and multiple records, each record includes field values corresponding to the fields, respectively, according to the data table. The field differences between the target data table and the source data table are processed in the same structure to obtain the same structured target data table, and the data are merged on the basis of the source data table and the same structured target data table. Through the above method, the application can realize the rapid merging of the database and improve the merging method of the existing technology.

【技术实现步骤摘要】
【国外来华专利技术】一种数据库合并的方法以及装置
本申请涉及到数据库领域,特别是涉及一种数据库合并的方法以及装置。
技术介绍
数据库由于具有高负载、高响应、多并发、支持原子操作、支持多版本控制等优良性能,已成为数据存储的首选方式。现今许多软件和网站,上至云计算中心、下至即时聊天软件,都使用数据库来存储数据。在使用数据库的过程中,常常需要使用一个源数据库去更新一个目标数据库。而此时,便需要将数据库合并。另外,还有其他需要整合数据时,也需要将数据库合并。常见的合并数据库通常由数据库维护人员手动完成。维护人员分别导出要合并的两个数据库,以某种视图打开,再借助其他的比较工具来合并数据库,自动化程度比较低下。某些商业数据库可能会提供关联的合并工具,但仅仅适用于其相关的数据库产品。而且由于一些关系式数据库作为免费软件,开发者也并未提供相关工具,所以该合并工具无法应用在一些关系式数据库的场合。还有某些数据库服务厂商,通常倾向于提供整套数据库服务,索取高昂的服务费。相应地,此类产品通常也是庞大臃肿、反应迟缓、难于维护。
技术实现思路
本申请提供一种数据库合并的方法以及装置,通过轻量化的方法对数据库进行快速且安全的合并。本申请采用的一个技术方案是:提供一种数据库合并的方法,包括步骤:分别从目标数据库和源数据库获取目标数据表和源数据表,其中所述目标数据表包括多个字段以及多条记录,所述源数据表也包括多个字段以及多条记录,每条记录包括分别与所述字段对应的字段值;根据所述目标数据表和所述源数据表的字段差异对所述目标数据表进行同结构化处理,以获取同结构化目标数据表;在所述源数据表和所述同结构化目标数据表的基础上进行数据合并。为解决上述技术问题,本申请采用的另一个技术方案是:一种数据库合并的装置,包括:处理器、存储器,所述处理器连接所述存储器,所述处理器通过运行所述存储器内存储的程序执行以下步骤:分别从目标数据库和源数据库获取目标数据表和源数据表,其中所述目标数据表包括多个字段以及多条记录,所述源数据表也包括多个字段以及多条记录,每条记录包括分别与所述字段对应的字段值;根据所述目标数据表和所述源数据表的字段差异对所述目标数据表进行同结构化处理,以获取同结构化目标数据表;在所述源数据表和所述同结构化目标数据表的基础上进行数据合并。本申请的有益效果是:提供了一种数据库合并的方式以及装置,通过将分别从源数据库以及目标数据库中获取的源数据表以及目标数据表进行同结构化在进行合并,从而实现了通过轻量化的方法对数据库进行快速且安全的合并。附图说明图1是本申请数据库合并的方法一实施方式的流程示意图图2是本申请数据库合并的方法图1步骤S10一实施方式的子流程示意图;图3是本申请数据库合并的方法图1步骤S11一实施方式的子流程示意图;图4是图3同结构化的具体示意图;图5是本申请数据库合并的方法图1步骤S12一实施方式的子流程示意图;图6是本申请数据库合并的方法的两个需要合并的结构化目标数据表以源数据表的示意图;图7是图1步骤S12一实施方式的又一子流程示意图;图8是图6依照图7的方法合并后的同结构化目标数据表的示意图;图9是本申请数据库合并的方法图1步骤S12一实施方式的又一子流程示意图;图10是图6依照图9的方法合并后的同结构化目标数据表的示意图;图11是本申请数据库合并的方法图1步骤S12一实施方式的又一子流程示意图;图12是图6依照图11的方法合并后的同结构化目标数据表的示意图;图13是本申请数据库合并的方法图1步骤S12一实施方式的又一子流程示意图;图14是本申请一种数据库合并的装置一实施方式的结构示意图。实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。请参阅图1,图1本申请数据库合并的方法一实施方式的流程示意图,且具体的缝隙检测方法包括以下步骤:S10,分别从目标数据库和源数据库获取目标数据表和源数据表。在本实施例中,由于具体的操作对象是数据库中的各个数据表,所以先从目标数据库中以及源数据库中分别获取目标数据表以及源数据表。具体是通过对存储在目标数据库中的所有表的表名进行遍历,同时对存储在源数据库中的所有表的表名进行遍历,分别从两个数据库中选出表名对应的两个表,作为目标数据表以及源数据表。每个目标数据表和源数据表都包括多个字段以及多条记录,并包括了多个字段值。优选的,一个字段是指一个表的一个列,一条记录是指一个表的一行,字段值是指字段以及记录所对应的具体一个值。特别的,在本实施例中,目标数据表以及源数据表都有一个唯一标识字段。对于一个表中,这个标识字段下的所有字段值都是唯一的,比如编号、学籍号等。S11,根据目标数据表和源数据表的字段差异对目标数据表进行同结构化处理,以获取同结构化目标数据表。在合并前,需要对目标数据表以及源数据表进行同结构操作,也就是使得目标数据表与源数据表具有相同的字段。在本实施例中,是对目标数据表进行操作,所以可以对目标数据库进行备份以及对源数据库进行只读声明。为使得目标数据表与源数据表有着相同的字段,需要在对目标数据表以及源数据表进行遍历,得到目标数据表相对源数据表多余或缺少的字段,然后创建一个临时表。其中临时表相对目标数据表增加了缺少的字段或者删除了多余的字段,或者即增加了缺少的字段又删除了多余的字段。另外,还可根据需要对同结构化目标数据表进行记录填充,以使得在同结构化目标数据表中保留目标数据表的记录中与同结构化目标数据表字段相同的字段值。可以将目标数据表的记录中与临时表相同字段的字段值填充到临时表中,并将临时表的记录中与目标数据表不同的字段所对应字段值由源数据表中对应记录的对应字段的字段值进行填充。最后,将临时表设置为同结构化目标数据表,这样就得到了同结构化处理后的同结构化目标数据表。S12,在源数据表和同结构化目标数据表的基础上进行数据合并。在得到同结构化目标数据表以及源数据表后,则对得到的源数据表与同结构化目标数据表进行合并。但是在实际操作中,用户可能需要对部分数据进行保护,所以在实际的合并过程中,先确定保护数据,包括保护记录以及字段,也可以选择不保护,这里不做限定,然后根据用户的不同选择使用不同的方法。参见图2,图2为本申请数据库合并的方法图1步骤S10一实施方式的子流程示意图,且该实施例是在本申请第一实施例步骤S10的基础上的进一步扩展,该步骤在本实施方式中具体包括如下子步骤。S101,分别对目标数据和原数据中所存储的表格的表名进行遍历。在对数据库的实际操作中,其实就是对数据库存储的表进行操作,所以需要将所需要合并的源数据表以及目标数据表找出来。在具体的操作过程中,对于需要合并的数据库中的一个表,在源数据中也有这么一个对应的表存在。具体是表名存在对应关系,可以是表名相同或者相似,所以分别对每个存储在目标数据中的表的表名进行遍历,同时用相同的方法遍历源数据库。S102,将表名对应且分别存储于目标数据库和源数据库中的表格作为目标数据表和源数据表。对于目标数据中的一个表,如果源数据中存在一个表名与该表的表本文档来自技高网...

【技术保护点】
1.一种合并数据库的方法,其特征在于,包括如下步骤:分别从目标数据库和源数据库获取目标数据表和源数据表,其中所述目标数据表包括多个字段以及多条记录,所述源数据表也包括多个字段以及多条记录,每条记录包括分别与所述字段对应的字段值;根据所述目标数据表和所述源数据表的字段差异对所述目标数据表进行同结构化处理,以获取同结构化目标数据表;在所述源数据表和所述同结构化目标数据表的基础上进行数据合并。

【技术特征摘要】
【国外来华专利技术】1.一种合并数据库的方法,其特征在于,包括如下步骤:分别从目标数据库和源数据库获取目标数据表和源数据表,其中所述目标数据表包括多个字段以及多条记录,所述源数据表也包括多个字段以及多条记录,每条记录包括分别与所述字段对应的字段值;根据所述目标数据表和所述源数据表的字段差异对所述目标数据表进行同结构化处理,以获取同结构化目标数据表;在所述源数据表和所述同结构化目标数据表的基础上进行数据合并。2.根据权利要求1所述的方法,其特征在于,所述分别从目标数据库和源数据库获取目标数据表和源数据表的步骤包括:分别对所述目标数据库和所述源数据库所存储的表格的表名进行遍历,并将所述表名对应且分别存储于所述目标数据库和所述源数据库中的表格作为所述目标数据表和所述源数据表。3.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据表和所述源数据表的字段差异对所述目标数据表进行同结构化处理的步骤包括:根据所述目标数据表和所述源数据表的字段差异对所述目标数据表进行字段添加和/或字段删除,以获得所述同结构化目标数据表,其中所述同结构化目标数据表中的字段与所述源数据表中的字段相同。4.根据权利要求3所述的方法,其特征在于,所述根据所述目标数据表和所述源数据表的字段差异对所述目标数据表进行同结构化处理的步骤还包括:对所述同结构化目标数据表进行记录填充,以使得在所述同结构化目标数据表中保留所述目标数据表的记录中与所述同结构化目标数据表字段相同的字段值,且所述同结构化目标数据表的记录中的其余字段所对应的字段值由所述源数据表中的对应记录的对应字段的字段值填充。5.根据权利要求4所述的方法,其特征在于,所述根据所述目标数据表和所述源数据表的字段差异对所述目标数据表进行字段添加和/或字段删除的步骤包括:分别对所述目标数据表和所述源数据表中的字段进行遍历,以确定所述目标数据表相对于所述源数据表缺少的字段和多余的字段;建立一临时表并进行字段设置,以使得所述临时表相对于所述目标数据表增加了所述缺少的字段并删除所述多余的字段;所述对同结构化目标数据表进行记录填充的步骤包括:将所述目标数据表的记录中与所述临时表相同字段的字段值填充到所述临时表中,并将所述临时表的记录中与所述目标数据表不同的字段所对应字段值由所述源数据表中对应记录的对应字段的字段值进行填充;将所述临时表设置为所述同结构化目标数据表。6.根据权利要求1所述的方法,其特征在于,所述在同结构化目标数据表和所述源数据表的基础上进行数据合并的步骤包括:将所述同结构化目标数据表与所述源数据表的记录中起到标识作用的标识字段所对应的字段值进行对比,以确定所述同结构化目标数据表相对于所述源数据表缺少的记录和/或多余的记录;在所述同结构化目标数据表中添加所述缺少的记录和和/或删除所述多余的记录。7.根据权利要求1所述的方法,其特征在于,所述在同结构化目标数据表和所述源数据表的基础上进行数据合并的步骤包括:将所述同结构化目标数据表与所述源数据表的记录中的字段值进行对比,以确定起到标识作用的标识字段所对应的字段值相同但其余字段所对应的字段值至少部分不同的记录;利用所述源数据表中确定的所述记录更新所述同结构化目标数据表中的对应记录。8.根据权利要求1所述的方法,其特征在于,所述在同结构化目标数据表和所述源数据表的基础上进行数据合并的步骤包括:将所述同结构化目标数据表中的记录全部替换成所述源数据表中的记录。9.根据权利要求1所述的方法,其特征在于,所述在同结构化目标数据表和所述源数据表的基础上进行数据合并的步骤包括:在所述同结构化目标数据表中指定受保护记录或受保护字段;在跳过所述受保护记录或受保护字段的基础上对所述同结构化目标数据表和所述源数据表进行数据合并。10.根据权利要求1所述的方法,其特征在于,所述在同结构化目标数据表和所述源数据表的基础上进行数据合并的步骤包括:利用第一线程循环地从所述源数据表中读取记录,并存储到第一缓存区;利用第二线程循环地从所述第一缓存区中读取记录,并存储到第二缓存区,其中所述第一缓存区所存储的记录数量大于所述第二缓存区所存储的记录数量;利用第三线程循环地从所述同结构化目标数据表中读取记录,并存储到第三缓存区;利用第四线程循环地从第三缓存区读取记录,并写入第四缓存区,其中所述第三缓存区所存储的记录数量大于所述第四缓存区所存储的记录数量;利用第五线程对所述第二缓存区所存储的记录以及所述第四缓存区所存储的记录进行比较,并根据比较结果执行相应的数据合并操作。11.一种合并数据库的装置,其特征在于,所述装置包括:处理器、存储...

【专利技术属性】
技术研发人员:庞华冲
申请(专利权)人:深圳配天智能技术研究院有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1