一种基于图数据库的动态数据迁移方法和系统技术方案

技术编号:33623788 阅读:18 留言:0更新日期:2022-06-02 00:51
本发明专利技术适用于数据迁移技术领域,提供了一种基于图数据库的动态数据迁移方法和系统,方法包括以下步骤:开启第二图数据库的数据服务功能;对第一图数据库中的数据进行分批次迁移,对待迁移的数据进行复制得到复制数据,将复制数据迁移至第二图数据库中;每批次数据迁移完成后,检验对应的原始数据是否被更改;当对应的原始数据未被更改,直接删除原始数据;当对应的原始数据被更改,对更改后的原始数据进行复制得到二次复制数据,将更改后的原始数据标记为二次原始数据,将二次复制数据迁移至第二图数据库中替换对应的复制数据。本发明专利技术在进行数据迁移时,都会进行数据复制,保证了数据在迁移过程中,用户能够对数据进行访问。用户能够对数据进行访问。用户能够对数据进行访问。

【技术实现步骤摘要】
一种基于图数据库的动态数据迁移方法和系统


[0001]本专利技术涉及数据迁移
,具体是涉及一种基于图数据库的动态数据迁移方法和系统。

技术介绍

[0002]数据库的迁移是一个相对复杂的系统化工程,由于数据库具备海量数据,又需要实时对外提供服务,因此要求尽可能在最小停机时间内完成数据的迁移,目前在图数据库进行迁移工作时,图数据库会停止服务,图数据库的大小各异,因此数据迁移时间的长短不一,如果数据迁移时间较长,容易导致用户体验比较差,特别对于某些线上系统而言,长时间停止服务是用户不可接受的,因此,需要提供一种基于图数据库的动态数据迁移方法和系统,旨在解决上述问题。

技术实现思路

[0003]针对现有技术存在的不足,本专利技术的目的在于提供一种基于图数据库的动态数据迁移方法和系统,以解决上述
技术介绍
中存在的问题。
[0004]本专利技术是这样实现的,一种基于图数据库的动态数据迁移方法,所述方法包括以下步骤:接收第一图数据库的数据迁出指令,开启第二图数据库的数据服务功能,以使得第一图数据库和第二图数据库同时提供数据服务功能;获取单次最大迁移数据量,所述单次最大迁移数据量等于第一图数据库的存储总空间减去第一图数据库的占用空间;对第一图数据库中的数据进行分批次迁移,每批次的数据迁移量小于单次最大迁移数据量,对每批次的数据进行迁移的步骤具体为:对待迁移的数据进行复制得到复制数据,将待迁移的数据标记为原始数据,将复制数据迁移至第二图数据库中;每批次数据迁移完成后,检验对应的原始数据是否被更改;当对应的原始数据未被更改,直接删除原始数据,进行下一批次的数据迁移工作;当对应的原始数据被更改,对更改后的原始数据进行复制得到二次复制数据,将更改后的原始数据标记为二次原始数据,将二次复制数据迁移至第二图数据库中替换对应的复制数据,二次复制数据迁移完成后,重复所述检验对应的原始数据是否被更改这一步骤;当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能。
[0005]作为本专利技术进一步的方案:所述对第一图数据库中的数据进行分批次迁移的步骤,具体包括:统计最近预设时间段内每份数据的访问量,根据访问量对第一图数据库中的数据进行升序排序;根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若
干个批次;根据划分的批次将每批数据依次迁移至第二图数据库中。
[0006]作为本专利技术进一步的方案:所述根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次的步骤,具体包括:按照数据的排列顺序对每份数据的占用空间进行累加得到累加值;当累加值首次大于单次最大迁移数据量时,将除最后一次被累加的其它参与累加数据分为一组;按照数据的排列顺序对未被分组的每份数据的占用空间进行累加得到累加值,重复上一个步骤,直到所有数据被分组;按照数据被分组的先后顺序将第一图数据库中的数据划分为先后若干个批次。
[0007]作为本专利技术进一步的方案:所述每批次数据迁移完成后,检验对应的原始数据是否被更改的步骤,具体包括:每批次数据迁移完成后,获取该批次对应的数据被迁移的次数;当被迁移的次数小于或者等于预设最大次数值时,检验对应的原始数据是否被更改;当被迁移的次数大于预设最大次数值时,直接将最近一次的原始数据迁移至第二图数据库中。
[0008]作为本专利技术进一步的方案:所述方法还包括:当数据在迁移过程中,数据客户端优先读取第一图数据库中的数据,当所述第一图数据库读取失败时读取所述第二图数据库中的数据。
[0009]作为本专利技术进一步的方案:所述当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能的步骤,具体包括:当所有批次数据迁移完成时,检验第一图数据库中是否有新建数据,所述新建数据的上层数据不属于被分组的数据;将新建数据迁移至第二图数据库中,关闭第一图数据库的数据服务功能。
[0010]本专利技术的另一目的在于提供一种基于图数据库的动态数据迁移系统,所述系统包括:数据双读取模块,用于接收第一图数据库的数据迁出指令,开启第二图数据库的数据服务功能,以使得第一图数据库和第二图数据库同时提供数据服务功能;最大迁移数据量模块,用于获取单次最大迁移数据量,所述单次最大迁移数据量等于第一图数据库的存储总空间减去第一图数据库的占用空间;数据分批次迁移模块,用于对第一图数据库中的数据进行分批次迁移,每批次的数据迁移量小于单次最大迁移数据量,对每批次的数据进行迁移的步骤具体为:对待迁移的数据进行复制得到复制数据,将待迁移的数据标记为原始数据,将复制数据迁移至第二图数据库中;更改检验模块,每批次数据迁移完成后,检验对应的原始数据是否被更改;删除原始数据模块,当对应的原始数据未被更改,直接删除原始数据,进行下一批次的数据迁移工作;重复执行模块,当对应的原始数据被更改,对更改后的原始数据进行复制得到二
次复制数据,将更改后的原始数据标记为二次原始数据,将二次复制数据迁移至第二图数据库中替换对应的复制数据,二次复制数据迁移完成后,重复所述检验对应的原始数据是否被更改这一步骤;以及服务功能关闭模块,当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能。
[0011]作为本专利技术进一步的方案:所述数据分批次迁移模块包括:访问量获取单元,用于统计最近预设时间段内每份数据的访问量,根据访问量对第一图数据库中的数据进行升序排序;批次划分单元,用于根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次;以及批次迁移单元,用于根据划分的批次将每批数据依次迁移至第二图数据库中。
[0012]作为本专利技术进一步的方案:所述批次划分单元包括:累加子单元,用于按照数据的排列顺序对每份数据的占用空间进行累加得到累加值;判定子单元,当累加值首次大于单次最大迁移数据量时,将除最后一次被累加的其它参与累加数据分为一组;完全分组子单元,用于按照数据的排列顺序对未被分组的每份数据的占用空间进行累加得到累加值,重复上述步骤,直到所有数据被分组;以及划分子单元,用于按照数据被分组的先后顺序将第一图数据库中的数据划分为先后若干个批次。
[0013]作为本专利技术进一步的方案:所述更改检验模块包括:迁移次数确定单元,每批次数据迁移完成后,获取该批次对应的数据被迁移的次数;迁移次数判定单元,当被迁移的次数小于或者等于预设最大次数值时,检验对应的原始数据是否被更改;当被迁移的次数大于预设最大次数值时,直接将最近一次的原始数据迁移至第二图数据库中。
[0014]与现有技术相比,本专利技术的有益效果是:在数据迁移过程中,本专利技术使得第一图数据库和第二图数据库同时提供数据服务功能,在进行每批次的数据迁移时,对原始数据进行复制得到复制数据,将复制数据迁移至第二图数据库中,如此,保证了数据在迁移过程中,用户依然能够对数据进行正常访问。
附图说明
[0015]图1为一种基于图数据库的动态数据迁移方法的流程图。
[0016]图2为一种基于图数据库的动态数据迁移方法中对第一图数据库中的数据进行分批次迁移的流程图。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于图数据库的动态数据迁移方法,其特征在于,所述方法包括以下步骤:接收第一图数据库的数据迁出指令,开启第二图数据库的数据服务功能,以使得第一图数据库和第二图数据库同时提供数据服务功能;获取单次最大迁移数据量,所述单次最大迁移数据量等于第一图数据库的存储总空间减去第一图数据库的占用空间;对第一图数据库中的数据进行分批次迁移,每批次的数据迁移量小于单次最大迁移数据量,对每批次的数据进行迁移的步骤具体为:对待迁移的数据进行复制得到复制数据,将待迁移的数据标记为原始数据,将复制数据迁移至第二图数据库中;每批次数据迁移完成后,检验对应的原始数据是否被更改;当对应的原始数据未被更改,直接删除原始数据,进行下一批次的数据迁移工作;当对应的原始数据被更改,对更改后的原始数据进行复制得到二次复制数据,将更改后的原始数据标记为二次原始数据,将二次复制数据迁移至第二图数据库中替换对应的复制数据,二次复制数据迁移完成后,重复所述检验对应的原始数据是否被更改这一步骤;当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能。2.根据权利要求1所述一种基于图数据库的动态数据迁移方法,其特征在于,所述对第一图数据库中的数据进行分批次迁移的步骤,具体包括:统计最近预设时间段内每份数据的访问量,根据访问量对第一图数据库中的数据进行升序排序;根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次;根据划分的批次将每批数据依次迁移至第二图数据库中。3.根据权利要求2所述一种基于图数据库的动态数据迁移方法,其特征在于,所述根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次的步骤,具体包括:按照数据的排列顺序对每份数据的占用空间进行累加得到累加值;当累加值首次大于单次最大迁移数据量时,将除最后一次被累加的其它参与累加数据分为一组;按照数据的排列顺序对未被分组的每份数据的占用空间进行累加得到累加值,重复上一个步骤,直到所有数据被分组;按照数据被分组的先后顺序将第一图数据库中的数据划分为先后若干个批次。4.根据权利要求1所述一种基于图数据库的动态数据迁移方法,其特征在于,所述每批次数据迁移完成后,检验对应的原始数据是否被更改的步骤,具体包括:每批次数据迁移完成后,获取该批次对应的数据被迁移的次数;当被迁移的次数小于或者等于预设最大次数值时,检验对应的原始数据是否被更改;当被迁移的次数大于预设最大次数值时,直接将最近一次的原始数据迁移至第二图数据库中。5.根据权利要求1所述一种基于图数据库的动态数据迁移方法,其特征在于,所述方法还包括:当数据在迁移过程中,数据客户端优先读取第一图数据库中的数据,当所述第一图数据库读取失败时读取所述第二图数据库中的数据。
6.根据权利要求3所述一种基于图数据库的动态数据迁移方法,其特征在于,所述当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能...

【专利技术属性】
技术研发人员:汪明陆永辉王广军张勇吉艳李友冰
申请(专利权)人:孔智科技徐州有限公司
类型:发明
国别省市:

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

1