一种数据迁移方法、数据迁移装置及数据迁移系统的制作方法

文档序号:6358978阅读:186来源:国知局

专利名称::一种数据迁移方法、数据迁移装置及数据迁移系统的制作方法
技术领域
:本发明涉及数据处理
技术领域
,特别涉及一种数据迁移方法、数据迁移装置及数据迁移系统。
背景技术
:随着数据库应用范围的扩大,关系数据库的功能得到扩展,但是复杂度和使用成本也随之大幅提高。很多应用并不需要关系数据库的复杂功能,同时受关系数据库的数据模型限制而无法针对性地优化。特别是随着web2.0业务的发展和网络内容的暴增,对数据库系统产生了新的需求,这些需求要求数据库具有海量存储与并发、弹性扩展、高可靠、高可用、低成本、弹性表结构等特征,但是,传统的关系数据库无法实现这些特征。基于此,业界提出了各种nosql非关系数据库,这类数据库具有自组织、自管理、低成本、弹性可扩展、海量存储、高并发访问、查询关系简单等特性。出于成本、可扩展性、效率、自主功能定制等方面的考虑,当前很多业务都希望尽可能将关系数据库中的数据切换到非关系数据库。但是,由于数据模型的差异,关系数据库中的数据无法直接迁移到非关系数据库。在对现有技术的研究和实践过程中,本发明的发明人发现,目前业界需要一种实现关系数据库与非关系数据库之间的数据模型的映射。
发明内容有鉴于此,本发明实施例提供一种数据迁移方法、装置及数据迁移系统,可以把关系数据库中的数据平滑迁移到非关系数据库中。本发明实施例提供一种数据迁移的方法,所述方法包括从关系数据库中获取关系数据库表SCHEMA信息;将所述SCHEMA信息映射成非关系数据库XML模型,并在映射关系表中记录对应的映射关系;按照所述映射关系表中记录的映射关系,将关系数据库的数据导入非关系数据库中。本发明实施例还提供一种数据迁移装置,所述装置包括第一获取单元,用于从关系数据库中获取关系数据库库表SCHEMA信息;映射单元,用于将所述SCHEMA信息映射成非关系数据库XML模型,并在映射关系表中记录对应的映射关系;数据迁移单元,用于按照所述映射关系表中记录的映射关系,将关系数据库的数据导入带非关系数据库中。本发明实施例再提供一种数据迁移系统,至少包括一个关系数据库和一个非关系数据库,还包括数据迁移装置,用于从关系数据库中获取关系数据库库表SCHEMA信息;将所述SCHEMA信息映射成非关系数据库XML模型,并在映射关系表中记录对应的映射关系;按照所述映射关系表中记录的映射关系,将关系数据库的数据导入带非关系数据库中。由上述可知,本发明实施例提出了一种关系数据库与非关系数据库间数据迁移的方法、数据迁移装置及数据迁移系统,可以用于把传统关系数据库的数据迁移到非关系数据库等中,实现了数据业务的平滑迁移。本发明实施例中的数据迁移是自动的、不但保证了迁移的可靠性,还提高了数据迁移的效率,从而实现了业务的平滑切换。图1为本发明实施例1提供的一种数据迁移的方法的流程图;图2为本发明实施例2提供的一种数据迁移的方法的流程图;图3为本发明实施例提供的一种各种模式下SCHEMA映射的流程图;图4为本发明实施例提供的一种数据导入流程的流程图;图5为本发明实施例提供的一种数据迁移装置的结构示意图;图6为本发明实施例提供饿一种数据迁移系统的结构示意图;图7为本发明实施例提供饿一种数据迁移系统的应用实例结构图。具体实施例方式为了使本
技术领域
的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。为了使本
技术领域
的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。请参阅图1,为本发明实施例1提供一种数据迁移方法的流程图,所述方法包括步骤101从关系数据库中获取关系数据库表SCHEMA信息;—种获取的过程是,SCHEMA映射引擎先向所述关系数据库中发送获取SCHEMA信息的请求;接收所述关系数据库反馈的所述SCHEMA信息。步骤102将所述SCHEMA信息映射成非关系数据库XML模型,并在映射关系表中记录对应的映射关系;也就是说,SCHEMA映射引擎将所述SCHEMA信息映射成关系数据库XML模型;按照SCHEMA的定义,将所述关系数据库XML模型映射为非关系数据库XML模型,并在映射关系表中记录对应的映射关系。其中,将所述关系数据库XML模型映射为非关系数据库XML模型包括将所述关系数据库XML模型配置为规范化处理模式或者非规范化处理模式,其中,当配置为规范化处理模式时,将关系数据库中的每个表都映射为非关系数据库中一个columnfamily,并在映射关系表中记录对应的映射关系;当配置为非规范化处理模式时,将多个关系数据库中的表映射为非关系数据库中一个columnfamily。步骤103按照所述映射关系表,将关系数据库的数据导入带非关系数据库XML模型中。优选的,在上述实施例的步骤101之前,所述方法还可以包括在所述非关系数据库中增加非关系数据对象表SCHEMA的定义;具体包括增加对columnfamily的主键的SCHEMA约束定义;增加对columnfamily的具体列的SCHEMA约束定义;将一个或多个联合主键的关系数据库表中映射为非关系数据库中的supercolumnfamily。优选的,在上述实施例的步骤101之前,所述方法还可以包括建立关系数据库中的关系表与非关系数据库的非关系表的映射关系表,并在映射关系表中记录上述SCHEMA定义的映射关系。其中,步骤103中,按照所述映射关系表中记录的映射关系,将关系数据库的数据导入带非关系数据库中具体包括根据所述非关系数据库XML模型生成数据定义命令;向非关系数据库发送所述数据定义命令,创建非关系数据库中的SCHEMA;从所述关系数据库中获取数据集具体包括扫描非关系数据库XML模型和映射关系表,生成SQL查询语句,利用所述SQL查询语句从所述关系数据库中获取数据集;根据所述映射关系表中记录的对应映射关系将所述数据集导入所述非关系数据库的SCHEMA中。优选的,在步骤103之后,所述方法还可以包括在所述关系数据库XML模型配置为规范化处理模式或者非规范化处理模式时,对映射关系表中记录中的映射关系进行优化配置。本发明实施例提出了一种关系数据库与非关系数据库间数据迁移的方法,可以用于把传统关系数据库的数据迁移到非关系数据库(比如新兴的类Bigtable数据模型)等中,实现了数据业务的平滑迁移。本发明实施例中的数据迁移是自动的、不但保证了迁移的可靠性,还提高了数据迁移的效率,从而实现了业务的平滑切换。还请参阅图2,为本发明实施例2提供一种数据迁移方法的流程图,所述方法包括步骤201在非关系数据库中增加SCHEMA定义;在该实施例中,非关系数据库以类Bigtable数据为例,但并不限于此,也就是说,SCHEMA映射引擎先在类Bigtable数据模型的非关系数据库中增加SCHEMA定义,其具体的过程为由于目前的类Bigtable数据模型的非关系数据库只能定义Keyspace(键值空间)和columnfamily(列族),从概念上这两个定义可以对应关系数据库中的db(数据库)和表Table。为了实现数据库中的关系表到非关系数据库中的非关系表的映射,需要在非关系数据库中增加非关系数据库表的SCHEMA约束定义,具体的定义过程为首先,增加对columnfamily的主键(rowkey)的SCHEMA约束定义,对应关系数据库的主键定义;然后,增加columnfamily下具体列的SHCEMA约束定义,即定义一个columnfamily下具体有哪些列及其列名、类型、长度、是否可以为空、默认值等,对应关系数据库的列SCHEMA定义;最后,为了将一个或多个联合主键的关系数据库表中映射为非关系数据库中的一个超级列族(supercolumnfamily),需要增加关系数据库表转换为supercolumnfamily的约束定义,需要定义supercolumn的约束。在关系数据库表的SCHMEMA定义中,当只有一个联合主键时,联合主键的值映射为supercolumn的名;当有两个以上联合主键定义时,把联合主键的值进行级联拼接后映射为supercolumn的名,级联的顺序可以指定,级联字段越靠前,查询时对其搜索的速度越快。步骤201建立关系数据库中的关系表与非关系数据库的非关系表的映射关系表,并在映射关系表中记录上述SCHEMA定义的映射关系;其中,SCHEMA映射引擎建立的所述关系表与非关系表的映射关系如表1至表3所示表1用户基本信息表ispace_user_info权利要求1.一种数据迁移的方法,其特征在于,包括从关系数据库中获取关系数据库表SCHEMA信息;将所述SCHEMA信息映射成非关系数据库XML模型,并在映射关系表中记录对应的映射关系;按照所述映射关系表中记录的映射关系,将关系数据库的数据导入非关系数据库中。2.根据权利要求1所述的方法,其特征在于,还包括在所述非关系数据库中增加非关系数据库表SCHEMA的定义。3.根据权利要求2所述的方法,其特征在于,所述在所述非关系数据库中增加非关系数据库表SCHEMA的定义包括增加对列族columnfamily的主键的SCHEMA约束定义;增加对所述columnfamily的具体列字段的SCHEMA约束定义;将带一个或多个联合主键的关系数据库表中映射为非关系数据库中的超级列族supercolumnfamily。4.根据权利要求3所述的方法,其特征在于,还包括建立关系数据库中的关系表与非关系数据库的非关系表的映射关系表,并在映射关系表中记录所述SCHEMA定义的映射关系。5.根据权利要求1所述的方法,其特征在于,所述从关系数据库中获取关系数据库表SCHEMA信息包括向所述关系数据库中发送获取SCHEMA信息的请求;接收所述关系数据库反馈的所述SCHEMA信息。6.根据权利要求2至5任一项所述的方法,其特征在于,所述将所述关系数据库表SCHEMA信息映射成非关系数据库XML模型包括将所述SCHEMA信息映射成关系数据库XML模型;按照所述SCHEMA的定义,将所述关系数据库XML模型映射为非关系数据库XML模型,并在映射关系表中记录对应的映射关系。7.根据权利要求6所述的方法,其特征在于,所述将所述关系数据库XML模型映射为非关系数据库XML模型包括将所述关系数据库XML模型配置为规范化处理模式或者非规范化处理模式,其中,当配置为规范化处理模式时,将关系数据库中的每个表都映射为非关系数据库中一个columnfamily,并在映射关系表中记录对应的映射关系;当配置为非规范化处理模式时,将多个关系数据库中的表映射为非关系数据库中一个columnfamily。8.根据权利要求7所述的方法,其特征在于,还包括在所述关系数据库XML模型配置为规范化处理模式或者非规范化处理模式时,对映射关系表中记录中的映射关系进行优化配置。9.根据权利要求2至8任一项所述的方法,其特征在于,所述按照所述映射关系表中记录的映射关系,将关系数据库的数据导入带非关系数据库中包括根据所述非关系数据库XML模型生成数据定义命令;向非关系数据库发送所述数据定义命令,创建非关系数据库中的SCHEMA;从所述关系数据库中获取数据集;根据所述映射关系表中记录的对应映射关系将所述数据集导入所述非关系数据库的SCHEMA中。10.根据权利要求1至9任一项所述的方法,其特征在于,所述从所述关系数据库中获取数据集包括扫描非关系数据库XML模型和映射关系表,生成SQL查询语句,利用所述SQL查询语句从所述关系数据库中获取数据集。11.一种数据迁移装置,其特征在于,包括第一获取单元,用于从关系数据库中获取关系数据库库表SCHEMA信息;映射单元,用于将所述SCHEMA信息映射成非关系数据库XML模型,并在映射关系表中记录对应的映射关系;数据迁移单元,用于按照所述映射关系表中记录的映射关系,将关系数据库的数据导入带非关系数据库中。12.根据权利要求11所述的装置,其特征在于,所述装置还包括定义单元,用于在所述非关系数据库中增加非关系数据库表SCHEMA的定义,具体包括增加对columnfamily的主键的SCHEMA约束定义;增加对columnfamily的具体列的SCHEMA约束定义;将一个或多个联合主键的关系数据库表中映射为非关系数据库中的supercolumnfamily。13.根据权利要求11或12所述的装置,其特征在于,所述装置还包括建立单元,与所述映射单元连接,用于建立关系数据库中的关系表与非关系数据库的非关系表的映射关系表。14.根据权利要求11或12所述的装置,其特征在于,所述第一获取单元包括第一发送单元,用于向所述关系数据库中发送获取SCHEMA信息的请求;第一接收单元,用于接收所述关系数据库反馈的所述SCHEMA信息。15.根据权利要求12所述的装置,其特征在于,所述映射单元包括第一映射单元,用于将所述SCHEMA信息映射成关系数据库XML模型;第二映射单元,用于按照SCHEMA的定义,将所述关系数据库XML模型映射为非关系数据库XML模型,并在映射关系表中记录对应的映射关系。16.根据权利要求12所述的装置,其特征在于,所述第二映射单元包括规范化处理模式映射单元,用于将所述关系数据库XML模型配置为规范化处理模式,并将关系数据库中的每个表都映射为非关系数据库中一个columnfamily,并在映射关系表中记录对应的映射关系;和/或非规范化处理模式映射单元,用于将所述关系数据库XML模型配置为非规范化处理模式,并将多个关系数据库中的表映射为非关系数据库中一个columnfamily,并在映射关系表中记录对应的映射关系。17.根据权利要求16所述的装置,其特征在于,所述装置还包括配置优化单元,用于在所述关系数据库XML模型配置为规范化处理模式或者非规范化处理模式时,对映射关系表中记录中的映射关系进行优化配置。18.根据权利要求11至17任一项所述的装置,其特征在于,所述第一获取单元包括扫描单元,用于扫描非关系数据库XML模型和映射关系表,得到扫描结果;生成单元,用于根据所述扫描结果生成SQL查询语句;数据获取单元,用于利用所述SQL查询语句从所述关系数据库中获取数据集。19.根据权利要求11至17任一项所述的装置,其特征在于,所述数据迁移单元包括生成单元,用于根据所述非关系数据库XML模型生成数据定义命令;创建单元,用于向非关系数据库发送所述数据定义命令,创建非关系数据库中的SCHEMA;第二获取单元,用于第二从所述关系数据库中获取数据集;数据导入单元,用于根据所述映射关系表中记录的对应映射关系将所述数据集导入所述非关系数据库的SCHEMA中。20.一种数据迁移系统,至少包括一个关系数据库和一个非关系数据库,其特征在于,还包括数据迁移装置,用于从关系数据库中获取关系数据库库表SCHEMA信息;将所述SCHEMA信息映射成非关系数据库XML模型,并在映射关系表中记录对应的映射关系;按照所述映射关系表中记录的映射关系,将关系数据库的数据导入带非关系数据库中。21.根据权利要求20所述的系统,其特征在于,所述数据迁移装置如权利要求11至19任一项所述的数据迁移装置。全文摘要一种数据迁移方法、数据迁移装置及数据迁移系统,所述方法包括从关系数据库中获取关系数据库表SCHEMA信息;将所述SCHEMA信息映射成非关系数据库XML模型,并在映射关系表中记录对应的映射关系;按照所述映射关系表,将关系数据库的数据导入带非关系数据库XML模型中。本发明解决把关系数据库中的数据平滑迁移到非关系数据库中的技术问题,实现了业务数据的平滑切换。文档编号G06F17/30GK102308297SQ201180001239公开日2012年1月4日申请日期2011年7月13日优先权日2011年7月13日发明者李丽娟申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1