CN114546995B - 一种基于图数据库的动态数据迁移方法和系统 - Google Patents
一种基于图数据库的动态数据迁移方法和系统 Download PDFInfo
- Publication number
- CN114546995B CN114546995B CN202210437008.9A CN202210437008A CN114546995B CN 114546995 B CN114546995 B CN 114546995B CN 202210437008 A CN202210437008 A CN 202210437008A CN 114546995 B CN114546995 B CN 114546995B
- Authority
- CN
- China
- Prior art keywords
- data
- migration
- database
- batch
- graph database
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
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)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于数据迁移技术领域,提供了一种基于图数据库的动态数据迁移方法和系统,方法包括以下步骤:开启第二图数据库的数据服务功能;对第一图数据库中的数据进行分批次迁移,对待迁移的数据进行复制得到复制数据,将复制数据迁移至第二图数据库中;每批次数据迁移完成后,检验对应的原始数据是否被更改;当对应的原始数据未被更改,直接删除原始数据;当对应的原始数据被更改,对更改后的原始数据进行复制得到二次复制数据,将更改后的原始数据标记为二次原始数据,将二次复制数据迁移至第二图数据库中替换对应的复制数据。本发明在进行数据迁移时,都会进行数据复制,保证了数据在迁移过程中,用户能够对数据进行访问。
Description
技术领域
本发明涉及数据迁移技术领域,具体是涉及一种基于图数据库的动态数据迁移方法和系统。
背景技术
数据库的迁移是一个相对复杂的系统化工程,由于数据库具备海量数据,又需要实时对外提供服务,因此要求尽可能在最小停机时间内完成数据的迁移,目前在图数据库进行迁移工作时,图数据库会停止服务,图数据库的大小各异,因此数据迁移时间的长短不一,如果数据迁移时间较长,容易导致用户体验比较差,特别对于某些线上系统而言,长时间停止服务是用户不可接受的,因此,需要提供一种基于图数据库的动态数据迁移方法和系统,旨在解决上述问题。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种基于图数据库的动态数据迁移方法和系统,以解决上述背景技术中存在的问题。
本发明是这样实现的,一种基于图数据库的动态数据迁移方法,所述方法包括以下步骤:
接收第一图数据库的数据迁出指令,开启第二图数据库的数据服务功能,以使得第一图数据库和第二图数据库同时提供数据服务功能;
获取单次最大迁移数据量,所述单次最大迁移数据量等于第一图数据库的存储总空间减去第一图数据库的占用空间;
对第一图数据库中的数据进行分批次迁移,每批次的数据迁移量小于单次最大迁移数据量,对每批次的数据进行迁移的步骤具体为:对待迁移的数据进行复制得到复制数据,将待迁移的数据标记为原始数据,将复制数据迁移至第二图数据库中;
每批次数据迁移完成后,检验对应的原始数据是否被更改;
当对应的原始数据未被更改,直接删除原始数据,进行下一批次的数据迁移工作;
当对应的原始数据被更改,对更改后的原始数据进行复制得到二次复制数据,将更改后的原始数据标记为二次原始数据,将二次复制数据迁移至第二图数据库中替换对应的复制数据,二次复制数据迁移完成后,重复所述检验对应的原始数据是否被更改这一步骤;
当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能。
作为本发明进一步的方案:所述对第一图数据库中的数据进行分批次迁移的步骤,具体包括:
统计最近预设时间段内每份数据的访问量,根据访问量对第一图数据库中的数据进行升序排序;
根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次;
根据划分的批次将每批数据依次迁移至第二图数据库中。
作为本发明进一步的方案:所述根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次的步骤,具体包括:
按照数据的排列顺序对每份数据的占用空间进行累加得到累加值;
当累加值首次大于单次最大迁移数据量时,将除最后一次被累加的其它参与累加数据分为一组;
按照数据的排列顺序对未被分组的每份数据的占用空间进行累加得到累加值,重复上一个步骤,直到所有数据被分组;
按照数据被分组的先后顺序将第一图数据库中的数据划分为先后若干个批次。
作为本发明进一步的方案:所述每批次数据迁移完成后,检验对应的原始数据是否被更改的步骤,具体包括:
每批次数据迁移完成后,获取该批次对应的数据被迁移的次数;
当被迁移的次数小于或者等于预设最大次数值时,检验对应的原始数据是否被更改;
当被迁移的次数大于预设最大次数值时,直接将最近一次的原始数据迁移至第二图数据库中。
作为本发明进一步的方案:所述方法还包括:当数据在迁移过程中,数据客户端优先读取第一图数据库中的数据,当所述第一图数据库读取失败时读取所述第二图数据库中的数据。
作为本发明进一步的方案:所述当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能的步骤,具体包括:
当所有批次数据迁移完成时,检验第一图数据库中是否有新建数据,所述新建数据的上层数据不属于被分组的数据;
将新建数据迁移至第二图数据库中,关闭第一图数据库的数据服务功能。
本发明的另一目的在于提供一种基于图数据库的动态数据迁移系统,所述系统包括:
数据双读取模块,用于接收第一图数据库的数据迁出指令,开启第二图数据库的数据服务功能,以使得第一图数据库和第二图数据库同时提供数据服务功能;
最大迁移数据量模块,用于获取单次最大迁移数据量,所述单次最大迁移数据量等于第一图数据库的存储总空间减去第一图数据库的占用空间;
数据分批次迁移模块,用于对第一图数据库中的数据进行分批次迁移,每批次的数据迁移量小于单次最大迁移数据量,对每批次的数据进行迁移的步骤具体为:对待迁移的数据进行复制得到复制数据,将待迁移的数据标记为原始数据,将复制数据迁移至第二图数据库中;
更改检验模块,每批次数据迁移完成后,检验对应的原始数据是否被更改;
删除原始数据模块,当对应的原始数据未被更改,直接删除原始数据,进行下一批次的数据迁移工作;
重复执行模块,当对应的原始数据被更改,对更改后的原始数据进行复制得到二次复制数据,将更改后的原始数据标记为二次原始数据,将二次复制数据迁移至第二图数据库中替换对应的复制数据,二次复制数据迁移完成后,重复所述检验对应的原始数据是否被更改这一步骤;以及
服务功能关闭模块,当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能。
作为本发明进一步的方案:所述数据分批次迁移模块包括:
访问量获取单元,用于统计最近预设时间段内每份数据的访问量,根据访问量对第一图数据库中的数据进行升序排序;
批次划分单元,用于根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次;以及
批次迁移单元,用于根据划分的批次将每批数据依次迁移至第二图数据库中。
作为本发明进一步的方案:所述批次划分单元包括:
累加子单元,用于按照数据的排列顺序对每份数据的占用空间进行累加得到累加值;
判定子单元,当累加值首次大于单次最大迁移数据量时,将除最后一次被累加的其它参与累加数据分为一组;
完全分组子单元,用于按照数据的排列顺序对未被分组的每份数据的占用空间进行累加得到累加值,重复上述步骤,直到所有数据被分组;以及
划分子单元,用于按照数据被分组的先后顺序将第一图数据库中的数据划分为先后若干个批次。
作为本发明进一步的方案:所述更改检验模块包括:
迁移次数确定单元,每批次数据迁移完成后,获取该批次对应的数据被迁移的次数;
迁移次数判定单元,当被迁移的次数小于或者等于预设最大次数值时,检验对应的原始数据是否被更改;当被迁移的次数大于预设最大次数值时,直接将最近一次的原始数据迁移至第二图数据库中。
与现有技术相比,本发明的有益效果是:在数据迁移过程中,本发明使得第一图数据库和第二图数据库同时提供数据服务功能,在进行每批次的数据迁移时,对原始数据进行复制得到复制数据,将复制数据迁移至第二图数据库中,如此,保证了数据在迁移过程中,用户依然能够对数据进行正常访问。
附图说明
图1为一种基于图数据库的动态数据迁移方法的流程图。
图2为一种基于图数据库的动态数据迁移方法中对第一图数据库中的数据进行分批次迁移的流程图。
图3为一种基于图数据库的动态数据迁移方法中将第一图数据库中的数据划分为若干个批次的流程图。
图4为一种基于图数据库的动态数据迁移方法中检验对应的原始数据是否被更改的流程图。
图5为一种基于图数据库的动态数据迁移方法中检验第一图数据库中是否有新建数据的流程图。
图6为一种基于图数据库的动态数据迁移系统的结构示意图。
图7为一种基于图数据库的动态数据迁移系统中数据分批次迁移模块的结构示意图。
图8为一种基于图数据库的动态数据迁移系统中批次划分单元的结构示意图。
图9为一种基于图数据库的动态数据迁移系统中更改检验模块的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清晰,以下结合附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述。
如图1所示,本发明实施例提供了一种基于图数据库的动态数据迁移方法,所述方法包括以下步骤:
S100,接收第一图数据库的数据迁出指令,开启第二图数据库的数据服务功能,以使得第一图数据库和第二图数据库同时提供数据服务功能;
S200,获取单次最大迁移数据量,所述单次最大迁移数据量等于第一图数据库的存储总空间减去第一图数据库的占用空间;
S300,对第一图数据库中的数据进行分批次迁移,每批次的数据迁移量小于单次最大迁移数据量,对每批次的数据进行迁移的步骤具体为:对待迁移的数据进行复制得到复制数据,将待迁移的数据标记为原始数据,将复制数据迁移至第二图数据库中;
S400,每批次数据迁移完成后,检验对应的原始数据是否被更改;
S500,当对应的原始数据未被更改,直接删除原始数据,进行下一批次的数据迁移工作;
S600,当对应的原始数据被更改,对更改后的原始数据进行复制得到二次复制数据,将更改后的原始数据标记为二次原始数据,将二次复制数据迁移至第二图数据库中替换对应的复制数据,二次复制数据迁移完成后,重复所述检验对应的原始数据是否被更改这一步骤;
S700,当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能。
需要说明的是,数据库的迁移是一个相对复杂的系统化工程,由于数据库具备海量数据,又需要支持7*24小时对外提供服务,因此要求尽可能在最小停机时间内完成数据的迁移,目前在图数据库进行迁移工作时,图数据库会停止服务,图数据库的大小各异,因此数据迁移时间的长短不一,如果数据迁移时间较长,容易导致用户体验比较差,特别对于某些线上系统而言,停止服务是用户不可接受的,因此,如何在图数据库不停止服务的情况下进行数据的动态迁移,是本发明实施例所要解决的问题。
本发明实施例中,进行第一图数据库中的数据迁移工作时,需要开启第二图数据库的数据服务功能,这样第一图数据库和第二图数据库同时提供数据服务功能,接着需要获取单次最大迁移数据量,所述单次最大迁移数据量等于第一图数据库的存储总空间减去第一图数据库的占用空间;然后就可以对第一图数据库中的数据进行分批次迁移,每批次的数据迁移量小于单次最大迁移数据量,需要说明的是,为了保证数据在迁移过程中依然能够被读取和访问,对每批次的数据进行迁移之前,需要对待迁移的数据进行复制得到复制数据,将待迁移的数据标记为原始数据,将复制数据迁移至第二图数据库中,这样原始数据依然能够提供服务,并同时能够进行数据迁移工作,可以理解的是,第一图数据库需要进行数据迁移工作,一般情况是第一图数据库容量不足或者是过于老旧,而本发明实施例在实施时需要复制数据,为了保证复制数据有足够的空间被临时占用,需要确定最大迁移数据量,保证每批次的数据迁移量小于单次最大迁移数据量即可。
当每批次数据迁移完成后,需要检验对应的原始数据是否被更改,可以理解的是,复制数据在迁移过程中,原始数据可能会被编辑修改,当对应的原始数据未被更改,直接删除原始数据,由第二图数据库中的复制数据提供服务,进行下一批次的数据迁移工作;当对应的原始数据被更改,对更改后的原始数据进行复制得到二次复制数据,将更改后的原始数据标记为二次原始数据,二次原始数据依然提供服务,将二次复制数据迁移至第二图数据库中替换对应的复制数据,检验对应的二次原始数据是否被更改,当未被更改时直接删除二次原始数据,否则需要再次复制,重复上述步骤,直到检验时,存在N次原始数据未被更改,直接删除N次原始数据,当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能,由第二图数据库提供服务,如此,保证了数据在迁移过程中,用户依然能够对数据进行正常访问。
如图2所示,作为本发明一个优选的实施例,所述对第一图数据库中的数据进行分批次迁移的步骤,具体包括:
S301,统计最近预设时间段内每份数据的访问量,根据访问量对第一图数据库中的数据进行升序排序;
S302,根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次;
S303,根据划分的批次将每批数据依次迁移至第二图数据库中。
本发明实施例中,在对第一图数据库中的数据进行分批次迁移之前,需要统计最近预设时间段内每份数据的访问量,预设时间段可以人为设定,例如是最近一周,根据访问量对第一图数据库中的数据进行升序排序,每份数据可以按照文件夹进行划分,一个文件夹中的数据为一份数据,接着根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次即可,根据访问量划分数据的好处是,能够对数据按照活跃度进行分类,每批次的数据的活跃度差不多,存在一批次数据的活跃度都较低,这样低活跃度的数据在迁移过程中基本不会被访问编辑,加快了数据的迁移效率。
如图3所示,作为本发明一个优选的实施例,所述根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次的步骤,具体包括:
S3021,按照数据的排列顺序对每份数据的占用空间进行累加得到累加值;
S3022,当累加值首次大于单次最大迁移数据量时,将除最后一次被累加的其它参与累加数据分为一组;
S3023,按照数据的排列顺序对未被分组的每份数据的占用空间进行累加得到累加值,重复S3022这个步骤,直到所有数据被分组;
S3024,按照数据被分组的先后顺序将第一图数据库中的数据划分为先后若干个批次。
本发明实施例中,例如单次最大迁移数据量为100G,排列后的前几份数据大小分别为:20G、30G、33G、40G、42G、51G、52G,20+30+33+40=123G,123G首次大于单次最大迁移数据量,将除最后一次被累加的其它参与累加数据分为一组,则将20G、30G以及33G对应的数据分为一组,接着可以得到40G+42G+51G=133G,则40G和42G对应的数据分为一组,以此类推,直到所有数据被分组,最后按照数据被分组的先后顺序将第一图数据库中的数据划分为先后若干个批次,20G、30G以及33G对应的数据为第一批次,40G和42G对应的数据为第二批次。
如图4所示,作为本发明一个优选的实施例,所述每批次数据迁移完成后,检验对应的原始数据是否被更改的步骤,具体包括:
S401,每批次数据迁移完成后,获取该批次对应的数据被迁移的次数;
S402,当被迁移的次数小于或者等于预设最大次数值时,检验对应的原始数据是否被更改;
S403,当被迁移的次数大于预设最大次数值时,直接将最近一次的原始数据迁移至第二图数据库中。
本发明实施例中,每批次数据被迁移完成后,都需要检验对应的原始数据是否被更改,这里的每批次数据可以是复制数据、二次复制数据、三次复制数据等等,对应的原始数据可以是二次原始数据、三次原始数据等等,可以理解的是,有些数据非常活跃,经常被访问,每次检验时基本都会被更改,为了加快迁移效率,可以选择进行妥协,设定一个预设最大次数值,每批次数据迁移完成后,获取该批次对应的数据被迁移的次数,所述对应的数据为复制数据、二次复制数据、三次复制数据等等,当被迁移的总次数大于预设最大次数值时,直接将最近一次的原始数据迁移至第二图数据库中,例如最近一次的原始数据为八次原始数据,八次原始数据无需进行复制,虽然此批次数据在迁移过程中无法被访问,但毕竟是极少数情况,对整体用户体验而言基本无影响。
如图5所示,作为本发明一个优选的实施例,所述当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能的步骤,具体包括:
S701,当所有批次数据迁移完成时,检验第一图数据库中是否有新建数据,所述新建数据的上层数据不属于被分组的数据;
S702,将新建数据迁移至第二图数据库中,关闭第一图数据库的数据服务功能。
本发明实施例中,可以理解的是,在数据被分批次之后,第一图数据库中可能会有新建数据,且所述新建数据的上层数据不属于被分批次的数据,例如一个文件夹中的数据已经被分组,如果新成立的数据是在所述文件夹中建立的,则新成立的数据属于对原始数据的更改而不属于新建数据,当所有批次数据迁移完成后,需要将新建数据迁移至第二图数据库中。另外,当数据在迁移过程中,数据客户端优先读取第一图数据库中的数据,当所述第一图数据库读取失败时读取所述第二图数据库中的数据。
如图6所示,本发明实施例还提供了一种基于图数据库的动态数据迁移系统,所述系统包括:
数据双读取模块100,用于接收第一图数据库的数据迁出指令,开启第二图数据库的数据服务功能,以使得第一图数据库和第二图数据库同时提供数据服务功能;
最大迁移数据量模块200,用于获取单次最大迁移数据量,所述单次最大迁移数据量等于第一图数据库的存储总空间减去第一图数据库的占用空间;
数据分批次迁移模块300,用于对第一图数据库中的数据进行分批次迁移,每批次的数据迁移量小于单次最大迁移数据量,对每批次的数据进行迁移的步骤具体为:对待迁移的数据进行复制得到复制数据,将待迁移的数据标记为原始数据,将复制数据迁移至第二图数据库中;
更改检验模块400,每批次数据迁移完成后,检验对应的原始数据是否被更改;
删除原始数据模块500,当对应的原始数据未被更改,直接删除原始数据,进行下一批次的数据迁移工作;
重复执行模块600,当对应的原始数据被更改,对更改后的原始数据进行复制得到二次复制数据,将更改后的原始数据标记为二次原始数据,将二次复制数据迁移至第二图数据库中替换对应的复制数据,二次复制数据迁移完成后,重复所述检验对应的原始数据是否被更改这一步骤;以及
服务功能关闭模块700,当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能。
本发明实施例中,进行第一图数据库中的数据迁移工作时,需要开启第二图数据库的数据服务功能,这样第一图数据库和第二图数据库同时提供数据服务功能,接着需要获取单次最大迁移数据量,所述单次最大迁移数据量等于第一图数据库的存储总空间减去第一图数据库的占用空间;然后就可以对第一图数据库中的数据进行分批次迁移,每批次的数据迁移量小于单次最大迁移数据量,需要说明的是,为了保证数据在迁移过程中依然能够被读取和访问,对每批次的数据进行迁移之前,需要对待迁移的数据进行复制得到复制数据,将待迁移的数据标记为原始数据,将复制数据迁移至第二图数据库中,这样原始数据依然能够提供服务,并同时能够进行数据迁移工作,可以理解的是,第一图数据库需要进行数据迁移工作,一般情况是第一图数据库容量不足或者是过于老旧,而本发明实施例在实施时需要复制数据,为了保证复制数据有足够的空间被临时占用,需要确定最大迁移数据量,保证每批次的数据迁移量小于单次最大迁移数据量即可。
当每批次数据迁移完成后,需要检验对应的原始数据是否被更改,可以理解的是,复制数据在迁移过程中,原始数据可能会被编辑修改,当对应的原始数据未被更改,直接删除原始数据,由第二图数据库中的复制数据提供服务,进行下一批次的数据迁移工作;当对应的原始数据被更改,对更改后的原始数据进行复制得到二次复制数据,将更改后的原始数据标记为二次原始数据,二次原始数据依然提供服务,将二次复制数据迁移至第二图数据库中替换对应的复制数据,检验对应的二次原始数据是否被更改,当未被更改时直接删除二次原始数据,否则需要再次复制,重复上述步骤,直到检验时,存在N次原始数据未被更改,直接删除N次原始数据,当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能,由第二图数据库提供服务,如此,保证了数据在迁移过程中,用户依然能够对数据进行正常访问。
如图7所示,作为本发明一个优选的实施例,所述数据分批次迁移模块300包括:
访问量获取单元301,用于统计最近预设时间段内每份数据的访问量,根据访问量对第一图数据库中的数据进行升序排序;
批次划分单元302,用于根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次;以及
批次迁移单元303,用于根据划分的批次将每批数据依次迁移至第二图数据库中。
本发明实施例中,在对第一图数据库中的数据进行分批次迁移之前,需要统计最近预设时间段内每份数据的访问量,预设时间段可以人为设定,例如是最近一周,根据访问量对第一图数据库中的数据进行升序排序,每份数据可以按照文件夹进行划分,一个文件夹中的数据为一份数据,接着根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次即可,根据访问量划分数据的好处是,能够对数据按照活跃度进行分类,每批次的数据的活跃度差不多,存在一批次数据的活跃度都较低,这样低活跃度的数据在迁移过程中基本不会被访问编辑,加快了数据的迁移效率。
如图8所示,作为本发明一个优选的实施例,所述批次划分单元302包括:
累加子单元3021,用于按照数据的排列顺序对每份数据的占用空间进行累加得到累加值;
判定子单元3022,当累加值首次大于单次最大迁移数据量时,将除最后一次被累加的其它参与累加数据分为一组;
完全分组子单元3023,用于按照数据的排列顺序对未被分组的每份数据的占用空间进行累加得到累加值,重复上述步骤,直到所有数据被分组;以及
划分子单元3024,用于按照数据被分组的先后顺序将第一图数据库中的数据划分为先后若干个批次。
如图9所示,作为本发明一个优选的实施例,所述更改检验模块400包括:
迁移次数确定单元401,每批次数据迁移完成后,获取该批次对应的数据被迁移的次数;以及
迁移次数判定单元402,当被迁移的次数小于或者等于预设最大次数值时,检验对应的原始数据是否被更改;当被迁移的次数大于预设最大次数值时,直接将最近一次的原始数据迁移至第二图数据库中。
本发明实施例中,每批次数据被迁移完成后,都需要检验对应的原始数据是否被更改,这里的每批次数据可以是复制数据、二次复制数据、三次复制数据等等,对应的原始数据可以是二次原始数据、三次原始数据等等,可以理解的是,有些数据非常活跃,经常被访问,每次检验时基本都会被更改,为了加快迁移效率,可以选择进行妥协,设定一个预设最大次数值,每批次数据迁移完成后,获取该批次对应的数据被迁移的次数,所述对应的数据为复制数据、二次复制数据、三次复制数据等等,当被迁移的总次数大于预设最大次数值时,直接将最近一次的原始数据迁移至第二图数据库中,例如最近一次的原始数据为八次原始数据,八次原始数据无需进行复制,虽然此批次数据在迁移过程中无法被访问,但毕竟是极少数情况,对整体用户体验而言基本无影响。
以上仅对本发明的较佳实施例进行了详细叙述,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实施例处的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (6)
1.一种基于图数据库的动态数据迁移方法,其特征在于,所述方法包括以下步骤:
接收第一图数据库的数据迁出指令,开启第二图数据库的数据服务功能,以使得第一图数据库和第二图数据库同时提供数据服务功能;
获取单次最大迁移数据量,所述单次最大迁移数据量等于第一图数据库的存储总空间减去第一图数据库的占用空间;
对第一图数据库中的数据进行分批次迁移,每批次的数据迁移量小于单次最大迁移数据量,对每批次的数据进行迁移的步骤具体为:对待迁移的数据进行复制得到复制数据,将待迁移的数据标记为原始数据,将复制数据迁移至第二图数据库中;
每批次数据迁移完成后,检验对应的原始数据是否被更改;
当对应的原始数据未被更改,直接删除原始数据,进行下一批次的数据迁移工作;
当对应的原始数据被更改,对更改后的原始数据进行复制得到二次复制数据,将更改后的原始数据标记为二次原始数据,将二次复制数据迁移至第二图数据库中替换对应的复制数据,二次复制数据迁移完成后,重复所述检验对应的原始数据是否被更改这一步骤;
当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能;
其中,所述对第一图数据库中的数据进行分批次迁移的步骤,具体包括:统计最近预设时间段内每份数据的访问量,根据访问量对第一图数据库中的数据进行升序排序;根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次;根据划分的批次将每批数据依次迁移至第二图数据库中;
其中,所述根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次的步骤,具体包括:按照数据的排列顺序对每份数据的占用空间进行累加得到累加值;当累加值首次大于单次最大迁移数据量时,将除最后一次被累加的其它参与累加数据分为一组;按照数据的排列顺序对未被分组的每份数据的占用空间进行累加得到累加值,重复上一个步骤,直到所有数据被分组;按照数据被分组的先后顺序将第一图数据库中的数据划分为先后若干个批次。
2.根据权利要求1所述一种基于图数据库的动态数据迁移方法,其特征在于,所述每批次数据迁移完成后,检验对应的原始数据是否被更改的步骤,具体包括:
每批次数据迁移完成后,获取该批次对应的数据被迁移的次数;
当被迁移的次数小于或者等于预设最大次数值时,检验对应的原始数据是否被更改;
当被迁移的次数大于预设最大次数值时,直接将最近一次的原始数据迁移至第二图数据库中。
3.根据权利要求1所述一种基于图数据库的动态数据迁移方法,其特征在于,所述方法还包括:当数据在迁移过程中,数据客户端优先读取第一图数据库中的数据,当所述第一图数据库读取失败时读取所述第二图数据库中的数据。
4.根据权利要求1所述一种基于图数据库的动态数据迁移方法,其特征在于,所述当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能的步骤,具体包括:
当所有批次数据迁移完成时,检验第一图数据库中是否有新建数据,所述新建数据的上层数据不属于被分组的数据;
将新建数据迁移至第二图数据库中,关闭第一图数据库的数据服务功能。
5.一种基于图数据库的动态数据迁移系统,其特征在于,所述系统包括:
数据双读取模块,用于接收第一图数据库的数据迁出指令,开启第二图数据库的数据服务功能,以使得第一图数据库和第二图数据库同时提供数据服务功能;
最大迁移数据量模块,用于获取单次最大迁移数据量,所述单次最大迁移数据量等于第一图数据库的存储总空间减去第一图数据库的占用空间;
数据分批次迁移模块,用于对第一图数据库中的数据进行分批次迁移,每批次的数据迁移量小于单次最大迁移数据量,对每批次的数据进行迁移的步骤具体为:对待迁移的数据进行复制得到复制数据,将待迁移的数据标记为原始数据,将复制数据迁移至第二图数据库中;
更改检验模块,每批次数据迁移完成后,检验对应的原始数据是否被更改;
删除原始数据模块,当对应的原始数据未被更改,直接删除原始数据,进行下一批次的数据迁移工作;
重复执行模块,当对应的原始数据被更改,对更改后的原始数据进行复制得到二次复制数据,将更改后的原始数据标记为二次原始数据,将二次复制数据迁移至第二图数据库中替换对应的复制数据,二次复制数据迁移完成后,重复所述检验对应的原始数据是否被更改这一步骤;以及
服务功能关闭模块,当所有批次数据迁移完成时,关闭第一图数据库的数据服务功能;
其中,所述数据分批次迁移模块包括:访问量获取单元,用于统计最近预设时间段内每份数据的访问量,根据访问量对第一图数据库中的数据进行升序排序;批次划分单元,用于根据单次最大迁移数据量和数据的排列顺序将第一图数据库中的数据划分为若干个批次;以及批次迁移单元,用于根据划分的批次将每批数据依次迁移至第二图数据库中;
其中,所述批次划分单元包括:累加子单元,用于按照数据的排列顺序对每份数据的占用空间进行累加得到累加值;判定子单元,当累加值首次大于单次最大迁移数据量时,将除最后一次被累加的其它参与累加数据分为一组;完全分组子单元,用于按照数据的排列顺序对未被分组的每份数据的占用空间进行累加得到累加值,重复上一个步骤,直到所有数据被分组;以及划分子单元,用于按照数据被分组的先后顺序将第一图数据库中的数据划分为先后若干个批次。
6.根据权利要求5所述一种基于图数据库的动态数据迁移系统,其特征在于,所述更改检验模块包括:
迁移次数确定单元,每批次数据迁移完成后,获取该批次对应的数据被迁移的次数;
迁移次数判定单元,当被迁移的次数小于或者等于预设最大次数值时,检验对应的原始数据是否被更改;当被迁移的次数大于预设最大次数值时,直接将最近一次的原始数据迁移至第二图数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210437008.9A CN114546995B (zh) | 2022-04-25 | 2022-04-25 | 一种基于图数据库的动态数据迁移方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210437008.9A CN114546995B (zh) | 2022-04-25 | 2022-04-25 | 一种基于图数据库的动态数据迁移方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114546995A CN114546995A (zh) | 2022-05-27 |
CN114546995B true CN114546995B (zh) | 2022-07-15 |
Family
ID=81667649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210437008.9A Active CN114546995B (zh) | 2022-04-25 | 2022-04-25 | 一种基于图数据库的动态数据迁移方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546995B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008884A (zh) * | 2007-02-05 | 2007-08-01 | 威盛电子股份有限公司 | 独立储存装置扩充与调整的数据迁移方法 |
CN109343793A (zh) * | 2018-09-11 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 数据迁移方法及装置 |
CN109460188A (zh) * | 2018-11-13 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种数据迁移方法、系统、设备及计算机可读存储介质 |
CN111198868A (zh) * | 2019-12-12 | 2020-05-26 | 北京淇瑀信息科技有限公司 | 一种智能分库实时数据迁移方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9805070B2 (en) * | 2013-07-09 | 2017-10-31 | Oracle International Corporation | Dynamic migration script management |
CN112286905A (zh) * | 2020-10-15 | 2021-01-29 | 北京沃东天骏信息技术有限公司 | 数据迁移方法及装置、存储介质、电子设备 |
-
2022
- 2022-04-25 CN CN202210437008.9A patent/CN114546995B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008884A (zh) * | 2007-02-05 | 2007-08-01 | 威盛电子股份有限公司 | 独立储存装置扩充与调整的数据迁移方法 |
CN109343793A (zh) * | 2018-09-11 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 数据迁移方法及装置 |
CN109460188A (zh) * | 2018-11-13 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种数据迁移方法、系统、设备及计算机可读存储介质 |
CN111198868A (zh) * | 2019-12-12 | 2020-05-26 | 北京淇瑀信息科技有限公司 | 一种智能分库实时数据迁移方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114546995A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209650A (zh) | 数据规整迁移方法、装置、计算机设备和存储介质 | |
CN107479881B (zh) | 差异代码的同步方法、存储介质、电子设备及系统 | |
CN111611310A (zh) | 区块链数据裁剪方法、节点恢复方法、装置、设备及介质 | |
KR20160100216A (ko) | 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법과 장치 | |
CN114756591B (zh) | 一种基于双向链表的数据筛选方法和系统 | |
CN114546995B (zh) | 一种基于图数据库的动态数据迁移方法和系统 | |
CN113778339A (zh) | 一种数据分散存储方法和系统 | |
CN115017871B (zh) | 一种文件档案内容的替换显示方法和显示系统 | |
CN114741033A (zh) | 一种数据分类存储方法及系统 | |
CN115269553A (zh) | 一种数据库迁移的方法、装置及存储介质 | |
CN110085284B (zh) | 一种面向ssd的基因对比方法及系统 | |
CN106598769A (zh) | Emmc烧录文件检验的方法及装置 | |
CN113762155A (zh) | 一种基于卫星遥感影像的土地动态监管方法及装置 | |
CN113485965A (zh) | 基于文件大小动态清理日志文件方法、装置、服务器 | |
CN112883590A (zh) | 系统可靠性验证试验方案确定方法 | |
CN111897668A (zh) | 基于链表的文件并行拷贝方法、装置和计算机设备 | |
CN117591497B (zh) | 一种核电历史数据跨系统迁移方法 | |
CN115981895A (zh) | 一种数据读取时的缓存管理方法和系统 | |
CN115017133B (zh) | 一种基于文件的异构数据库数据一致性校验方法 | |
CN116055464B (zh) | 下载保存路径选择方法、装置及介质 | |
CN113362877B (zh) | 一种阈值电压确定方法和装置 | |
CN115982096B (zh) | 一种基于热点文件的实时数据库快照存储方法及系统 | |
CN115455266B (zh) | 一种电子档案自动采集归档方法及系统 | |
CN115951825A (zh) | 应用于数据中心的信息管理方法及系统 | |
CN114489492A (zh) | 一种数据存储方法及安全装置、数据存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |