CN106294837A - 一种数据库增量数据转换迁移方法和系统 - Google Patents

一种数据库增量数据转换迁移方法和系统 Download PDF

Info

Publication number
CN106294837A
CN106294837A CN201610686204.4A CN201610686204A CN106294837A CN 106294837 A CN106294837 A CN 106294837A CN 201610686204 A CN201610686204 A CN 201610686204A CN 106294837 A CN106294837 A CN 106294837A
Authority
CN
China
Prior art keywords
node
father
point set
incremental data
conversion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610686204.4A
Other languages
English (en)
Inventor
赵淦森
李立波
李子靖
王欣明
唐华
聂瑞华
汤庸
杨晋吉
吴杰超
陈统
许正强
臧毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Xuanyuan Network & Technology Co Ltd
South China Normal University
Original Assignee
Guangdong Xuanyuan Network & Technology Co Ltd
South China Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Xuanyuan Network & Technology Co Ltd, South China Normal University filed Critical Guangdong Xuanyuan Network & Technology Co Ltd
Publication of CN106294837A publication Critical patent/CN106294837A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库增量数据转换迁移方法和系统,该系统包括第一转换迁移单元、集合生成单元及第二转换迁移单元。该方法包括:对增量图中的孤立节点和/或叶子节点进行增量数据的转换和迁移处理;将增量图中入度不为0且出度为0的节点添加至第一节点集合中;利用所述的第一节点集合,从而对增强图中的其余节点进行增量数据的转换和迁移处理。通过使用本发明,能维持关系数据库和NoSQL数据库之间的数据一致性,而且在增量数据转换迁移的过程中,可避免全量数据的重复迁移,从而大大提高处理效率。本发明可广泛应用于数据库转换迁移技术领域中。

Description

一种数据库增量数据转换迁移方法和系统
技术领域
本发明涉及数据库转换技术,尤其涉及一种数据库增量数据转换迁移方法和系统。
背景技术
技术词解释:
NoSQL:泛指非关系型的数据库。
SERD:数据库的实体关系图(ERD)描述了与之相对应的数据库的模式以及结构状态,包含了数据库中的表,表中的属性,以及表与表之间的关系信息。而模式转换模型中,不需要考虑关系图中表的属性信息,同时,自引用关系不影响模式转换,因此,为简化增量模式转换模型的复杂性,去除关系图中表的属性信息、自引用关系信息和循环依赖关系信息,以构成新的简化关系图(SERD)。
INC_SERD:关系数据库在完成模式转换后,关系数据库中的部分表新增了数据,将产生增量数据的表所对应的节点称为增量数据节点,增量数据节点集中的节点间直接相连的边称为增量数据边,以增量数据节点集为顶点集合,增量数据边集为边集合,所构成的图称为SERD图的增量图(INC_SERD)。
NoSQL数据库具有易扩展、高灵活性、高性能和高可用的特征,适用于对海量数据进行处理,因此,目前常常会采用NoSQL数据库来替代原有的关系数据库,即将现有的存储系统从关系数据库迁移至NoSQL数据库。然而,当完成数据库中的数据以及表与表之间的关联关系的迁移之后,存储系统已经平滑地从关系数据库过渡到NoSQL数据库时,关系数据库中的表在迁移完成之后可能会产生增量数据,也就是说,此时关系数据库和NoSQL数据库之间的数据并非一致。因此,为了维持关系数据库和NoSQL数据库之间的数据一致性,则应该提供一种有效的、且可避免全量数据重复迁移的增量数据转换迁移方案,从而可快速且准确地将关系数据库中的增量数据转换迁移至NoSQL数据库。
发明内容
为了解决上述技术问题,本发明的目的是提供一种可维持关系数据库和NoSQL数据库之间的数据一致性、有效的、可避免全量数据重复迁移的增量数据转换迁移方法。
本发明的另一目的是提供一种可维持关系数据库和NoSQL数据库之间的数据一致性、有效的、可避免全量数据重复迁移的增量数据转换迁移系统。
本发明所采用的技术方案是:一种数据库增量数据转换迁移方法,该方法包括:
A、对增量图中的孤立节点和/或叶子节点进行增量数据的转换和迁移处理;
B、将增量图中入度不为0且出度为0的节点添加至第一节点集合中;
C、利用所述的第一节点集合,从而对增强图中的其余节点进行增量数据的转换和迁移处理。
进一步,所述步骤C具体为:
对第一节点集合中的节点进行访问操作,从而对增强图中的其余节点进行增量数据的转换和迁移处理。
进一步,所述步骤C包括:
C1、将第一节点集合中的节点从第一节点集合中移除;
C2、获取步骤C1中被移除的节点在增量图中的父亲节点集,将获得的父亲节点集中的父亲节点的出度减1,然后,对父亲节点集中的父亲节点的出度进行判断,从而从父亲节点集中找出出度为0的父亲节点,跟着,将找出的父亲节点添加至第一节点集合中,接着,对找出的父亲节点进行增量数据的转换和迁移处理,接着,将找出的父亲节点在SERD图中的所有后继节点扩展合并至该父亲节点中;
C3、判断第一节点集合是否为空集,若是,则结束,反之,则返回执行步骤C1。
进一步,所述步骤A具体为:
遍历增量图中的孤立点集和/或叶子点集,从而对孤立节点中的增量数据和/或叶子节点中的增量数据进行转换和迁移处理。
本发明所采用的另一技术方案是:一种数据库增量数据转换迁移系统,该系统包括:
第一转换迁移单元,用于对增量图中的孤立节点和/或叶子节点进行增量数据的转换和迁移处理;
集合生成单元,用于将增量图中入度不为0且出度为0的节点添加至第一节点集合中;
第二转换迁移单元,用于利用所述的第一节点集合,从而对增强图中的其余节点进行增量数据的转换和迁移处理。
进一步,所述第二转换迁移单元具体用于对第一节点集合中的节点进行访问操作,从而对增强图中的其余节点进行增量数据的转换和迁移处理。
进一步,所述第二转换迁移单元包括:
移除模块,用于将第一节点集合中的节点从第一节点集合中移除;
节点处理模块,用于获取移除模块中被移除的节点在增量图中的父亲节点集,将获得的父亲节点集中的父亲节点的出度减1,然后,对父亲节点集中的父亲节点的出度进行判断,从而从父亲节点集中找出出度为0的父亲节点,跟着,将找出的父亲节点添加至第一节点集合中,接着,对找出的父亲节点进行增量数据的转换和迁移处理,接着,将找出的父亲节点在SERD图中的所有后继节点扩展合并至该父亲节点中;
判断模块,用于判断第一节点集合是否为空集,若是,则结束,反之,则返回执行移除模块。
进一步,所述第一转换迁移单元具体用于遍历增量图中的孤立点集和/或叶子点集,从而对孤立节点中的增量数据和/或叶子节点中的增量数据进行转换和迁移处理。
本发明的有益效果是:通过使用本发明的方法,能够达到维持关系数据库和NoSQL数据库之间的数据一致性的目的,而且在增量数据转换迁移的过程中,本发明的方法可避免全量数据的重复迁移,因此,本发明的方法具有效率高、处理速度快的优点。另外,本发明的方法还具有步骤简单、易于实现等优点。
本发明的另一有益效果是:通过使用本发明的系统,能够达到维持关系数据库和NoSQL数据库之间的数据一致性的目的,而且在增量数据转换迁移的过程中,可避免全量数据的重复迁移,因此,本发明的系统具有效率高、处理速度快的优点。另外,本发明的系统还具有结构简单、易于实现等优点。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明一种数据库增量数据转换迁移方法的步骤流程图;
图2是本发明一种数据库增量数据转换迁移方法的一具体实施例步骤流程图;
图3是本发明一种数据库增量数据转换迁移系统的结构框图。
具体实施方式
如图1所示,一种数据库增量数据转换迁移方法,该方法包括:
A、对增量图中的孤立节点和/或叶子节点进行增量数据的转换和迁移处理;
B、将增量图中入度不为0且出度为0的节点添加至第一节点集合中;
C、利用所述的第一节点集合,从而对增强图中的其余节点进行增量数据的转换和迁移处理。
进一步作为优选的实施方式,所述步骤C具体为:
对第一节点集合中的节点进行访问操作,从而对增强图中的其余节点进行增量数据的转换和迁移处理。
进一步作为优选的实施方式,所述步骤C包括:
C1、将第一节点集合中的节点从第一节点集合中移除;
C2、获取步骤C1中被移除的节点在增量图中的父亲节点集,将获得的父亲节点集中的父亲节点的出度减1,然后,对父亲节点集中的父亲节点的出度进行判断,从而从父亲节点集中找出出度为0的父亲节点,跟着,将找出的父亲节点添加至第一节点集合中,接着,对找出的父亲节点进行增量数据的转换和迁移处理,接着,将找出的父亲节点在SERD图中的所有后继节点扩展合并至该父亲节点中;
例如,找出的父亲节点为父亲节点H,即父亲节点H的出度为0,那么,则将父亲节点H添加至第一节点集合P中,然后,对父亲节点H进行增量数据的转换和迁移处理,接着,将父亲节点H在SERD图中的所有后继节点扩展合并至父亲节点H中;
另,若将获得的父亲节点集中的父亲节点的出度减1后,该父亲节点集中的父亲节点的出度均不为0,那么则直接执行步骤C3;
C3、判断第一节点集合是否为空集,若是,则结束,反之,则返回执行步骤C1。
进一步作为优选的实施方式,所述步骤A具体为:
遍历增量图中的孤立点集和/或叶子点集,从而对孤立节点中的增量数据和/或叶子节点中的增量数据进行转换和迁移处理。
本发明方法一具体实施例
如图2所示,一种数据库增量数据转换迁移方法,其具体包括:
S1、遍历增量图中的孤立点集和叶子点集,从而对增量图中的孤立节点中的增量数据和叶子节点中的增量数据进行转换和迁移处理;
S2、对第一节点集合P进行初始化,从而将增强图中入度不为0且出度为0的节点添加至第一节点集合P中;
S3、将第一节点集合P中的节点a从第一节点集合P中移除;
S4、获取节点a在增量图中的父亲节点集M,然后对获得的父亲节点集M做出如下的处理:
将获得的父亲节点集M中的父亲节点的出度减1,然后,对父亲节点集M中的节点的出度进行判断,进而从父亲节点集M中找出出度为0的节点,然后,将找出的节点添加至第一节点集合P中,接着,对找出的节点进行增量数据的转换和迁移处理,跟着,将找出的节点在SERD图中的所有后继节点信息扩展合并至该节点中;
S5、判断第一节点集合P是否为空集,若是,则结束;
反之,则返回执行步骤S3,从而对第一节点集合P中的下一个节点,如节点b,进行相应的处理,具体为:将第一节点集合P中的节点b从第一节点集合P中移除,然后,获取节点b在增量图中的父亲节点集N,接着,将获得的父亲节点集N中的父亲节点的出度减1,接着,对父亲节点集N中的节点的出度进行判断,进而从父亲节点集N中找出出度为0的节点,接着,将找出的节点添加至第一节点集合P中,接着,对找出的节点进行增量数据的转换和迁移处理,接着,将找出的节点在SERD图中的所有后继节点信息扩展合并至该节点中。
上述本发明方法实施例中的内容均适用于以下系统实施例中。
如图3所示,一种数据库增量数据转换迁移系统,该系统包括:
第一转换迁移单元1,用于对增量图中的孤立节点和/或叶子节点进行增量数据的转换和迁移处理;
集合生成单元2,用于将增量图中入度不为0且出度为0的节点添加至第一节点集合中;
第二转换迁移单元3,用于利用所述的第一节点集合,从而对增强图中的其余节点进行增量数据的转换和迁移处理。
进一步作为优选的实施方式,所述第二转换迁移单元3具体用于对第一节点集合中的节点进行访问操作,从而对增强图中的其余节点进行增量数据的转换和迁移处理。
进一步作为优选的实施方式,所述第二转换迁移单元3包括:
移除模块301,用于将第一节点集合中的节点从第一节点集合中移除;
节点处理模块302,用于获取移除模块301中被移除的节点在增量图中的父亲节点集,将获得的父亲节点集中的父亲节点的出度减1,然后,对父亲节点集中的父亲节点的出度进行判断,从而从父亲节点集中找出出度为0的父亲节点,跟着,将找出的父亲节点添加至第一节点集合中,接着,对找出的父亲节点进行增量数据的转换和迁移处理,接着,将找出的父亲节点在SERD图中的所有后继节点扩展合并至该父亲节点中;
判断模块303,用于判断第一节点集合是否为空集,若是,则结束,反之,则返回执行移除模块301。
进一步作为优选的实施方式,所述第一转换迁移单元1具体用于遍历增量图中的孤立点集和/或叶子点集,从而对孤立节点中的增量数据和/或叶子节点中的增量数据进行转换和迁移处理。
对于增量数据,该部分数据依赖于其子孙节点以及子孙节点的增量。因此,增量数据转换的过程中,需要将其子孙点集以及子孙点集的增量扩至增量数据中。而由上述可得,对增量数据进行扩展的核心思想为:递归地完成后继节点的增量的扩展,随后将后继点集扩展至该节点的增量数据之中。因此,转换的过程中,在增量图中消除叶子节点与其所有的父亲节点的依赖关系,当其中一个父亲节点的出度为0时,将其在SERD图中的所有的后继节点扩展至其中,从而可完成该父亲节点的增量数据的转换。
通过使用上述的本发明,能够达到维持关系数据库和NoSQL数据库之间的数据一致性的目的,而且在增量数据转换迁移的过程中,本发明的方法可避免全量数据的重复迁移,因此,本发明的方法具有效率高、处理速度快等优点。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (8)

1.一种数据库增量数据转换迁移方法,其特征在于:该方法包括:
A、对增量图中的孤立节点和/或叶子节点进行增量数据的转换和迁移处理;
B、将增量图中入度不为0且出度为0的节点添加至第一节点集合中;
C、利用所述的第一节点集合,从而对增强图中的其余节点进行增量数据的转换和迁移处理。
2.根据权利要求1所述一种数据库增量数据转换迁移方法,其特征在于:所述步骤C具体为:
对第一节点集合中的节点进行访问操作,从而对增强图中的其余节点进行增量数据的转换和迁移处理。
3.根据权利要求1或2所述一种数据库增量数据转换迁移方法,其特征在于:所述步骤C包括:
C1、将第一节点集合中的节点从第一节点集合中移除;
C2、获取步骤C1中被移除的节点在增量图中的父亲节点集,将获得的父亲节点集中的父亲节点的出度减1,然后,对父亲节点集中的父亲节点的出度进行判断,从而从父亲节点集中找出出度为0的父亲节点,跟着,将找出的父亲节点添加至第一节点集合中,接着,对找出的父亲节点进行增量数据的转换和迁移处理,接着,将找出的父亲节点在SERD图中的所有后继节点扩展合并至该父亲节点中;
C3、判断第一节点集合是否为空集,若是,则结束,反之,则返回执行步骤C1。
4.根据权利要求1或2所述一种数据库增量数据转换迁移方法,其特征在于:所述步骤A具体为:
遍历增量图中的孤立点集和/或叶子点集,从而对孤立节点中的增量数据和/或叶子节点中的增量数据进行转换和迁移处理。
5.一种数据库增量数据转换迁移系统,其特征在于:该系统包括:
第一转换迁移单元,用于对增量图中的孤立节点和/或叶子节点进行增量数据的转换和迁移处理;
集合生成单元,用于将增量图中入度不为0且出度为0的节点添加至第一节点集合中;
第二转换迁移单元,用于利用所述的第一节点集合,从而对增强图中的其余节点进行增量数据的转换和迁移处理。
6.根据权利要求5所述一种数据库增量数据转换迁移系统,其特征在于:所述第二转换迁移单元具体用于对第一节点集合中的节点进行访问操作,从而对增强图中的其余节点进行增量数据的转换和迁移处理。
7.根据权利要求5或6所述一种数据库增量数据转换迁移系统,其特征在于:所述第二转换迁移单元包括:移除模块,用于将第一节点集合中的节点从第一节点集合中移除;
节点处理模块,用于获取移除模块中被移除的节点在增量图中的父亲节点集,将获得的父亲节点集中的父亲节点的出度减1,然后,对父亲节点集中的父亲节点的出度进行判断,从而从父亲节点集中找出出度为0的父亲节点,跟着,将找出的父亲节点添加至第一节点集合中,接着,对找出的父亲节点进行增量数据的转换和迁移处理,接着,将找出的父亲节点在SERD图中的所有后继节点扩展合并至该父亲节点中;
判断模块,用于判断第一节点集合是否为空集,若是,则结束,反之,则返回执行移除模块。
8.根据权利要求5或6所述一种数据库增量数据转换迁移系统,其特征在于:所述第一转换迁移单元具体用于遍历增量图中的孤立点集和/或叶子点集,从而对孤立节点中的增量数据和/或叶子节点中的增量数据进行转换和迁移处理。
CN201610686204.4A 2016-01-21 2016-08-18 一种数据库增量数据转换迁移方法和系统 Pending CN106294837A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610041468 2016-01-21
CN2016100414684 2016-01-21

Publications (1)

Publication Number Publication Date
CN106294837A true CN106294837A (zh) 2017-01-04

Family

ID=57679824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610686204.4A Pending CN106294837A (zh) 2016-01-21 2016-08-18 一种数据库增量数据转换迁移方法和系统

Country Status (1)

Country Link
CN (1) CN106294837A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140082544A (ko) * 2012-12-24 2014-07-02 주식회사 케이티 NoSQL 메타 데이터의 백업 및 복원장치 및 방법
CN103970833A (zh) * 2014-04-02 2014-08-06 浙江大学 一种基于日志的异构数据库同步系统中双向同步数据循环的解决方法
CN104160394A (zh) * 2011-12-23 2014-11-19 阿米亚托股份有限公司 用于半结构化数据的可缩放分析平台

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104160394A (zh) * 2011-12-23 2014-11-19 阿米亚托股份有限公司 用于半结构化数据的可缩放分析平台
KR20140082544A (ko) * 2012-12-24 2014-07-02 주식회사 케이티 NoSQL 메타 데이터의 백업 및 복원장치 및 방법
CN103970833A (zh) * 2014-04-02 2014-08-06 浙江大学 一种基于日志的异构数据库同步系统中双向同步数据循环的解决方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GANSEN ZHAO ET AL.: "Multiple Nested Schema of HBase for Migration from SQL", 《2014 NINTH INTERNATIONAL CONFERENCE ON P2P,PARALLEL, GRID, CLOUD AND INTERNET COMPUTING》 *
GANSEN ZHAO ET AL.: "Schema Conversion Model of SQL Database to NoSQL", 《2014 NINTH INTERNATIONAL CONFERENCE ON P2P,PARALLEL, GRID, CLOUD AND INTERNET COMPUTING》 *

Similar Documents

Publication Publication Date Title
CN103761080B (zh) 一种基于SQL的MapReduce作业生成方法及系统
CN104123374B (zh) 分布式数据库中聚合查询的方法及装置
Poulovassilis et al. A general formal framework for schema transformation
CN103714129B (zh) 基于条件规则的动态数据结构和关系的构建装置和构建方法
CN100562874C (zh) 一种增量数据捕获方法和系统
CN109446279A (zh) 基于neo4j大数据血缘关系管理方法、系统、设备及存储介质
CN105912595A (zh) 一种关系数据库的数据起源收集方法
CN105447253B (zh) 一种三维工艺数据的集成方法
CN102737108B (zh) 处理流程图的方法及装置
CN107563628A (zh) Bim构件与施工任务关联关系的建立方法及系统
CN105205105A (zh) 一种基于storm的数据ETL系统及处理方法
CN103942335A (zh) 一种针对网页结构变化的不间断爬虫系统构建方法
CN104424018A (zh) 分布式计算事务处理方法及装置
CN103678550A (zh) 一种基于动态索引结构的海量数据实时查询方法
CN102222110A (zh) 数据处理装置和数据处理方法
CN104748757B (zh) 一种导航电子地图数据更新方法及装置
CN103699647A (zh) 一种字符串词典的索引方法及系统
CN105243237A (zh) 一种装配工艺结构树及其构建方法
Gao et al. GLog: A high level graph analysis system using MapReduce
CN104408128B (zh) 一种基于b+树异步更新索引的读优化方法
CN105373621A (zh) 一种快速的跨数据库系统的数据增量迁移方法
CN116414891A (zh) 数据血缘溯源方法和系统
CN106294837A (zh) 一种数据库增量数据转换迁移方法和系统
CN104462558A (zh) 一种修改Lucene索引文件中词的方法及装置
CN104123357B (zh) 一种查询卡口的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Zhao Gansen

Inventor after: Chen Tong

Inventor after: Xu Zhengqiang

Inventor after: Cang Yi

Inventor after: Li Libo

Inventor after: Li Zijing

Inventor after: Wang Xinming

Inventor after: Tang Hua

Inventor after: Nie Ruihua

Inventor after: Tang Yong

Inventor after: Yang Jinji

Inventor after: Wu Jiechao

Inventor before: Zhao Gansen

Inventor before: Chen Tong

Inventor before: Xu Zhengqiang

Inventor before: Cang Yi

Inventor before: Li Libo

Inventor before: Li Zijing

Inventor before: Wang Xinming

Inventor before: Tang Hua

Inventor before: Nie Ruihua

Inventor before: Tang Yong

Inventor before: Yang Jinji

Inventor before: Wu Jiechao

CB03 Change of inventor or designer information
RJ01 Rejection of invention patent application after publication

Application publication date: 20170104

RJ01 Rejection of invention patent application after publication