一种基于逆拓扑的数据库数据迁移方法技术

技术编号:11264651 阅读:86 留言:0更新日期:2015-04-08 10:16
本发明专利技术公开了一种基于逆拓扑的数据库数据迁移方法,包括以下步骤:根据需要迁移的数据库,获取其拓扑关系图;根据拓扑关系图和模式转换模型,得出迁移过程中的扩展顺序序列;根据得到的扩展顺序序列,将数据和模式迁移至NoSQL中。本发明专利技术通过在进行数据转移同时,进行了模式转移,使得对有依赖关系的数据表的数据及逆行那个正确整合到迁移后的NoSQL数据库中,从而保证了迁移前的SQL数据库中的任何一个join查询都能在迁移后的NoSQL数据库中的单个表内查到正确结果,不再需要对多个表进行访问,有效提高了对迁移后NoSQL数据库的查询效率。本发明专利技术作为一种基于逆拓扑的数据库数据迁移方法可广泛应用于计算机领域中。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,包括以下步骤:根据需要迁移的数据库,获取其拓扑关系图;根据拓扑关系图和模式转换模型,得出迁移过程中的扩展顺序序列;根据得到的扩展顺序序列,将数据和模式迁移至NoSQL中。本专利技术通过在进行数据转移同时,进行了模式转移,使得对有依赖关系的数据表的数据及逆行那个正确整合到迁移后的NoSQL数据库中,从而保证了迁移前的SQL数据库中的任何一个join查询都能在迁移后的NoSQL数据库中的单个表内查到正确结果,不再需要对多个表进行访问,有效提高了对迁移后NoSQL数据库的查询效率。本专利技术作为可广泛应用于计算机领域中。【专利说明】
本专利技术涉及计算机
,尤其涉及一种基于逆拓扑的数据库数据迀移方法。
技术介绍
目前现有的相关研宄工作中,主要有以下三方面:反规范化,数据转移和模式转换。反规范化工作主要是指针对传统关系型数据库的规范约束,进行适当冗余存储来提高查询效率等方式来设计数据库。数据转移工作主要指是在从SQL数据库到NoSQL数据库迀移仅仅是数据库中数据的搬迀,例如SQL数据库中某个表的数据单纯转储到MongoDB数据中的某个Collect1n或其他NoSQL数据库中的某个表,并没有进行模式转换,SQL数据库中的表的依赖关系并没有进行迀移。模式转换工作主要是指不仅是SQL数据库中的数据转储到NoSQL数据库中,相应的模式也进行了迀移。 在传统关系型数据库到NoSQL数据库的数据迀移方法中,目前很多研宄工作是单纯地迀移表的内容(数据转移),并没有进行模式转换,即迀移过程中丢失了迀移前的SQL数据库表之间的关联关系。那么这样迀移后的NoSQL数据库并不能支持在单个表内得出原有SQL数据库的join查询语句的结果,需要进行分开查询多次,导致查询效率低。
技术实现思路
为了解决上述技术问题,本专利技术的目的是提供一种能进行模式转换,提高迀移后查询效率的一种基于逆拓扑的数据库数据迀移方法。 本专利技术所采用的技术方案是:一种基于逆拓扑的数据库数据迀移方法,包括以下步骤:A、根据需要迀移的数据库,获取其拓扑关系图;B、根据拓扑关系图和模式转换模型,得出迀移过程中的扩展顺序序列;C、根据得到的扩展顺序序列,将数据和模式迀移至NoSQL中。 作为所述的一种基于逆拓扑的数据库数据迀移方法的进一步改进,所述步骤B包括:B1、从拓扑关系图中的叶子节点集中任取一个节点作为初始节点;B2、对所有以该初始节点为弧尾节点的边进行处理,得到其对应边的整合顺序;B3、将该初始节点移出叶子节点集,放入孤立节点集;B4、将处理过程得到的整合顺序加入至扩展顺序序列;B5、返回执行步骤BI,直到叶子节点集为空集。 作为所述的一种基于逆拓扑的数据库数据迀移方法的进一步改进,所述步骤B2包括:B21、任取以该初始节点为弧尾节点的任一条边,并对该边的弧头节点进行扩展整合,得到该边的整合顺序; B22、判断该弧头节点是否在不包含该边的情况下是叶子节点,若是,则将该起点放入叶子节点集;否则,执行步骤B23 ;B23、返回执行步骤B21,直到该初始节点为弧尾节点的所有边均处理完毕。 作为所述的一种基于逆拓扑的数据库数据迀移方法的进一步改进,所述步骤C包括:Cl、将只出现在弧尾的节点的数据分别迀移到NoSQL数据库中对应的数据表中;C2、根据扩展顺序序列,按照转换后的模式依次将剩余节点的数据迀移至NoSQL数据库中对应的数据表中。 作为所述的一种基于逆拓扑的数据库数据迀移方法的进一步改进,所述步骤C2包括:C21、依次取出扩展顺序序列中的整合顺序;C22、将取出的整合顺序中弧尾节点的信息融入弧头节点中并对弧头节点进行扩展; C23、将扩展后的弧头节点的数据迀移至NoSQL数据库中对应的数据表中。 本专利技术的有益效果是: 本专利技术一种基于逆拓扑的数据库数据迀移方法通过在进行数据转移同时,进行了模式转移,使得对有依赖关系的数据表的数据及逆行那个正确整合到迀移后的NoSQL数据库中,从而保证了迀移前的SQL数据库中的任何一个join查询都能在迀移后的NoSQL数据库中的单个表内查到正确结果,不再需要对多个表进行访问,有效提高了对迀移后NoSQL数据库的查询效率。 【专利附图】【附图说明】 下面结合附图对本专利技术的【具体实施方式】作进一步说明:图1是本专利技术一种基于逆拓扑的数据库数据迀移方法的步骤流程图;图2是本专利技术一种基于逆拓扑的数据库数据迀移方法实施例一的模式转换示意图;图3是本专利技术一种基于逆拓扑的数据库数据迀移方法实施例二的拓扑关系示意图。 【具体实施方式】 参考图1,本专利技术一种基于逆拓扑的数据库数据迀移方法,包括以下步骤:A、根据需要迀移的数据库,获取其拓扑关系图;B、根据拓扑关系图和模式转换模型,得出迀移过程中的扩展顺序序列;C、根据得到的扩展顺序序列,将数据和模式迀移至NoSQL中。 作为所述的一种基于逆拓扑的数据库数据迀移方法的进一步改进,所述步骤B包括:B1、从拓扑关系图中的叶子节点集中任取一个节点作为初始节点;B2、对所有以该初始节点为弧尾节点的边进行处理,得到其对应边的整合顺序;B3、将该初始节点移出叶子节点集,放入孤立节点集;B4、将处理过程得到的整合顺序加入至扩展顺序序列;B5、返回执行步骤BI,直到叶子节点集为空集。 作为所述的一种基于逆拓扑的数据库数据迀移方法的进一步改进,所述步骤B2包括: B21、任取以该初始节点为弧尾节点的任一条边,并对该边的弧头节点进行扩展整合,得到该边的整合顺序;B22、判断该弧头节点是否在不包含该边的情况下是叶子节点,若是,则将该起点放入叶子节点集;否则,执行步骤B23 ;B23、返回执行步骤B21,直到该初始节点为弧尾节点的所有边均处理完毕。 其中,步骤B的具体概述如下:(1)从拓扑关系图中的叶子节点集P里任取出一个节点U;(2)取出以该节点u为弧尾的任一条边〈V,u>,对该边的弧头节点V进行扩展,即把节点u的全部信息插进节点V中,循环处理完所有以u为弧尾的边;(3)当节点V扩展完毕,即没有以该点为弧头的边,就把节点放入叶子节点集P。当叶子节点u不再被任何节点依赖,即没有以该节点为弧尾,就把该节点移出节点集P,放入孤立节点集T ;(4)如此循环处理叶子节点集P,直到叶子节点集P为空集。 本专利技术步骤B的具体实施例一如下:参考图2,例如要进行迀移的关系型数据库有表T3、T2、T1,依赖关系有Τ3对Τ2的外键依赖、Τ2对Tl的外键依赖。数据库的表和依赖关系表示成对应的有向无环图后有Τ3、Τ2、Tl三个节点和〈Τ3,Τ2>、< Τ2, Tl〉两条表。下面是本案例的所有具体步骤:51、从叶子节点集P={Tl}里任取出一个节点Tl ;52、取出以该节点Tl为弧尾的任一条边〈Τ2,Tl〉,对该边的弧头节点Τ2进行扩展整合,即把节点Tl的全部信息插进节点Τ2中。节点Τ2扩展完毕,即没有以该点为弧头的边,就把节点放入叶子节点集P,P= {Tl,Τ2}。当叶子节点Tl不再被任何节点依赖,即没有以该节点为弧尾,就把该节点移出节点集P,P= {Τ2},放入孤立节点集T,T= {Tl};53、把整合顺序〈Τ2,Tl〉加入数本文档来自技高网
...

【技术保护点】
一种基于逆拓扑的数据库数据迁移方法,其特征在于:包括以下步骤:A、根据需要迁移的数据库,获取其拓扑关系图;B、根据拓扑关系图和模式转换模型,得出迁移过程中的扩展顺序序列;C、根据得到的扩展顺序序列,将数据和模式迁移至NoSQL中。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵淦森林巧英李立波高晓杰周尚勤王欣明
申请(专利权)人:华南师范大学
类型:发明
国别省市:广东;44

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

1