CN113590586B - 分布式图数据库系统节点间迁移分片数据的方法、装置 - Google Patents
分布式图数据库系统节点间迁移分片数据的方法、装置 Download PDFInfo
- Publication number
- CN113590586B CN113590586B CN202110865999.6A CN202110865999A CN113590586B CN 113590586 B CN113590586 B CN 113590586B CN 202110865999 A CN202110865999 A CN 202110865999A CN 113590586 B CN113590586 B CN 113590586B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- nodes
- database system
- distributed
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式图数据库系统节点间迁移分片数据的方法和装置,所述方法应用于分布式图数据库系统,所述分布式图数据库系统配置有多个节点,所述节点上存储有数据分片;所述方法包括:将待迁移的第一节点内的第一数据分片的状态标记为只读;在第一节点与迁移目标第二节点之间建立数据传输通道;将第一数据分片内的全部数据传输到第二节点;在第二节点成功接收第一数据分片内的全部数据后,更新第一数据分片所在节点位置并反馈给第一节点;在第一节点中删除第一数据分片。在分布式图数据库系统中各节点所承载的数据分片的数据量不均衡时,将重载节点上对应的数据分片整体迁移至系统上另一个轻载节点上,重新实现节点间分片数据的负载均衡。
Description
技术领域
本发明涉及图数据库技术领域,具体地是一种分布式图数据库系统节点间迁移分片数据的方法和装置。
背景技术
图数据(Graph Data)包括形成图的顶点及其属性数据,边及其属性数据,有关联关系的顶点之间一定存在一条边。在实现分布式图数据库时,我们可以把同一类型的边(往往有多个实例)所连接的全部顶点,以及点、边的相关信息作为一个数据分片(Data Shard)存储于分布式系统的单一节点上,这样可以保证我们在构建供图分析使用的数据视图的时候可以依据边的类型信息进行快速的并行查询与更新。
当基于图的边处理图数据以形成数据分片,并进行分布式存储时,我们会通过负载均衡算法尽量基于分片的数据量来平衡各个节点上存储的数据分片。但是,由于某一类型的边所连接的全部顶点数据都在同一个数据分片之上,一旦该数据分片被分配到系统的某一个节点上之后,后续全部与该边相关的新增数据都必须存储在该节点上。
由于图本身的拓扑结构会随着新增数据持续改变,某些边的新增数据量可能会大大高于其他的边,从而导致系统中的节点所承载的数据分片产生数据量不均衡的现象。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
有鉴于此,本发明的目的在于提供一种在分布式图数据库系统节点间迁移分片数据的方法,用于针对数据量超标的节点上的某个数据分片进行数据迁移,将该分片数据整体迁移至系统的另一个数据量较小的节点,来重新实现节点间分片数据的负载均衡。
基于上述目的,第一方面,本公开实施例提供了一种分布式图数据库系统节点间迁移分片数据的方法,该方法应用于分布式图数据库系统,所述分布式图数据库系统配置有多个节点,所述节点上存储有数据分片;该方法包括:将待迁移的第一节点内的第一数据分片的状态标记为只读;在第一节点与迁移目标第二节点之间建立数据传输通道;将第一数据分片内的全部数据传输到第二节点;在第二节点成功接收第一数据分片内的全部数据后,更新第一数据分片所在节点位置并反馈给第一节点;在第一节点中删除第一数据分片。
在一些实施方式中,上述方法还包括:构建一个交易管理器,记录和管理节点交易顺序,保证所有数据的读取操作在全部完成后,才于第一节点中操作删除第一数据分片。
在一些实施方式中,所述交易管理器上构建有一个基于边的关联关系检索,所述关联关系检索包含的信息至少包括:全图所包含的全部类型的边的信息;每一类型的边所在的唯一节点ID信息;每一类型的边的总数量;数据分片读写状态与当前状态起始时间戳;数据分片在对应节点的上线时间戳。
在一些实施方式中,所述方法还包括:在所述交易管理器上构建一个交易日志,用于记录针对图数据各类读写操作起始与完成的全部时间戳。
在一些实施方式中,当针对图数据库进行查询操作时,先基于边的类型ID在交易管理器上的关联关系检索中找到对应的节点,然后在该节点上执行查询操作,将这一类型边所连接的全部顶点查询出来。
在一些实施方式中,在查询操作进行时,所述方法还包括:将查询过程中的每一次读取操作状态以及全部结束的时间戳都记录在交易日志中。
在一些实施方式中,当需要在分布式图数据库中增加一个新的边类型时,将该边类型加入交易管理器的关联关系检索中;同时基于负载均衡算法将该边分配给一个当前数据量最小的节点,并更新数据分片的状态信息以及在该节点上线的时间戳信息。
在一些实施方式中,所述交易管理器为带有热备份的主从服务器架构。
第二方面,本公开实施例还提供了一种分布式图数据库系统节点间迁移分片数据的装置,所述装置设置于分布式图数据库系统,所述分布式图数据库系统配置有多个节点,所述节点上存储有数据分片;所述装置包括:标记模块,用于将待迁移的第一节点内的第一数据分片的状态标记为只读;建立模块,用于在第一节点与迁移目标第二节点之间建立数据传输通道;传输模块,用于将第一数据分片内的全部数据传输到第二节点;更新模块,用于在第二节点成功接收第一数据分片内的全部数据后,更新第一数据分片所在节点位置并反馈给第一节点;删除模块,用于在第一节点中删除第一数据分片。
在一些实施方式中,所述装置还包括交易管理模块,用于记录和管理节点交易顺序,保证所有数据的读取操作在全部完成后,才于第一节点中操作删除第一数据分片。
在一些实施方式中,所述交易管理模块还用于构建一个基于边的关联关系检索,所述关联关系检索包含的信息至少包括:全图所包含的全部类型的边的信息;每一类型的边所在的唯一节点ID信息;每一类型的边的总数量;数据分片读写状态与当前状态起始时间戳;数据分片在对应节点的上线时间戳。
在一些实施方式中,所述交易管理模块上还设有一个交易日志模块,用于记录针对图数据各类读写操作起始与完成的全部时间戳。
在一些实施方式中,所述装置还包括:查询模块,用于在针对图数据库进行查询操作时,先基于边的类型ID在交易管理器上的关联关系检索中找到对应的节点,然后在该节点上执行查询操作,将这一类型边所连接的全部顶点查询出来。
在一些实施方式中,所述装置还包括:记录模块,用于将查询过程中的每一次读取操作状态以及全部结束的时间戳都记录在交易日志中。
在一些实施方式中,所述装置还包括:增加模块,用于在分布式图数据库中增加一个新的边类型时,将该边类型加入交易管理器的关联关系检索中;同时基于负载均衡算法将该边分配给一个当前数据量最小的节点,并更新数据分片的状态信息以及在该节点上线的时间戳信息。
第三方面,本公开实施例提供了一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现上述分布式图数据库系统节点间迁移分片数据的方法,或者上述分布式图数据库系统节点间迁移分片数据的装置。
第四方面,本公开实施例提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使处理器实现上述分布式图数据库系统节点间迁移分片数据的方法,或者上述分布式图数据库系统节点间迁移分片数据的装置。
从上面所述可以看出,本发明提供的一种分布式图数据库系统节点间迁移分片数据的方法和装置,通过应用本申请的技术方案,在分布式图数据库系统中各节点所承载的数据分片的数据量不均衡时,将重载节点上对应的数据分片整体迁移至系统上另一个轻载节点上,重新实现节点间分片数据的负载均衡。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提出的分布式图数据库系统架构图;
图2为本公开实施例提出的分布式图数据库系统节点间迁移分片数据的方法的流程图;
图3为本公开实施例提出的分布式图数据库系统节点间迁移分片数据的装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景;此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中;在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例;本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
在一个实施例中,本申请提供了一种分布式图数据库系统节点间迁移分片数据的方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1所示,为本公开实施例提出的分布式图数据库系统架构图,该分布式图数据库系统配置有多个节点,各节点上存储有数据分片。假设数据分片1、分片2在节点1上,分片3在节点2上,分片4在节点3上。现存在如下应用场景:由于分片1和分片2的数据量过大,需要将数据量重载的节点1中的分片1迁移至数据量轻载的节点3。
本发明实施例提供了一种分布式图数据库系统节点间迁移分片数据的方法的流程图,如图2所示,该方法包括如下步骤:
步骤101,将待迁移的第一节点内的第一数据分片的状态标记为只读。
步骤102,在第一节点与迁移目标第二节点之间建立数据传输通道。
步骤103,将第一数据分片内的全部数据传输到第二节点。
步骤104,在第二节点成功接收第一数据分片内的全部数据后,更新第一数据分片所在节点位置并反馈给第一节点。
步骤105,在第一节点中删除第一数据分片。
但是,在上述数据分片的迁移过程中,有可能出现几种竞态条件(RaceCondition),导致迁移操作失败。第一种情况是当第一数据分片被标记为只读之前,已经有针对分片内数据的更新操作,只是还没有Commit。因此,在图数据库的Commit操作过程中,进程需要查询分片在节点上的读写状态,如果是只读的状态,则需要abort这个Commit操作,让客户端重试。第二钟情况是在第一数据分片正在被迁移过程中,针对该分片数据的批量读取操作开始了,当数据迁移操作完成后,第一数据分片已经从第一节点删除,而读取操作还在进行中,这种情况下,数据的读取会返回一个NIL,导致操作失败。
为了避免前述情况,本申请的迁移方法中还设计了一个记录和管理交易顺序的程序TM(Transaction Manager,交易管理器),来保证这些读取操作只有在全部完成之后,第一节点才可以删除第一数据分片。
为保证图数据信息可以基于边进行分布式存储和查询,并且能够实现分片数据的成功迁移,该迁移方法中还在TM上构建有一个关联关系检索,该检索包含的信息至少包括:全图所包含的全部类型(Type ID)的边的信息;每一类型的边所在的唯一节点ID信息;每一类型的边的总数量;数据分片读写状态与当前状态起始时间戳;数据分片在对应节点的上线时间戳。作为扩展,该检索中包含的信息还可以有每一类型的边所属的全部数据视图ID以及节点ID。
在一些实施方式中,该迁移方法还在TM上实现一个Transaction Log(TL,交易日志),TL中将会记录针对图数据各类读写操作起始与完成(或Abort)的全部时间戳(TimeStamp),可以为后续保证图数据库的实务性提供比较依据。此外,由于整个分布式图数据库都依赖于TM记录和管理交易,TM的可靠性会成为整个系统最为关键的环节,因此,如图1所示,本申请中TM还设计成带有热备份的主、从服务器架构,当Primary TM出现问题时,Back-up TM会转换成Primary TM以保证整个系统的可靠性。
在一些实施方式中,当迁移操作中存在针对图数据库的查询操作时,系统先基于边的类型ID在TM上的前述关联关系检索中找到对应的节点,然后在该节点上执行查询操作,将这一类型边所连接的全部顶点查询出来。查询过程中的每一次读取操作状态以及全部结束的时间戳都记录在TL中。
在一些实施方式中,当迁移操作中存在针对图数据库进行与已经检索的边相关的更新操作时(如增加或删除某一类型的一条边),系统也会基于边的类型ID在TM上的关联关系检索中找到对应的节点。先比较该分片的读写状态,如果是只读,则Abort更新操作。否则,在该节点上执行增加一条边以及相关顶点,或者删除找到的边以及相关顶点的操作。当增加或者删除操作完成后,在检索中针对边的总数量进行更新,所有更新操作开始和完成状态的时间戳都记录在TL中。
如果在执行更新操作时,检索发现该类型的边还属于某些图数据视图,系统在相应的节点上,对于相应的视图数据做同步更新操作,以保证数据的一致性。
在一些实施方式中,当需要在分布式图数据库中增加一个新的边类型时,系统将该边类型加入TM的关联关系检索中,同时基于负载均衡算法将该边分配给一个当前数据量最小的节点,并更新分片的状态信息以及在该节点上线的时间戳信息。如果现有的某些图数据视图中会包含该新增边类型,则在关联关系检索中增加与该边类型相关的视图信息。此处负载均衡算法采用本领域公知的常规算法,在此不再赘述。
通过在TM上的关联关系检索信息添加分片的状态类型、以及当前状态的起始时间戳,可以处理在出现针对该分片的数据进行更新时可能出现的Race Condition,其逻辑如下:
IF TypeID.ShardStatus==ReadandWrite
Then Commit update
Else Abort Commit
Write Commit Status/Timestamp to TL on TM
这样可以保证该分片只有在处于读写状态时完成针对分片内数据的更新操作。
利用TM上维护的TL中,针对正在被迁移的分片数据进行读取操作的时间戳比较,可以保证只有在全部读数据操作完成之后,才删除在原节点上已经被迁移的数据分片。以前述分片数据迁移场景为例:
S1:TM在关联关系检索中将数据分片1的分片读写状态标记为只读,并记录时间戳1。
S2:TM收到针对分片1的新的数据读取操作请求后,会与时间戳1进行比较,其之后的数据读取操作请求会被Abort。
S3:TM通知节点1与节点3建立数据传输通道。
S4:数据传输通道建立成功,节点1将分片1内的全部数据传输到节点3。
S5:节点3成功接收分片1的全部数据后,通知TM,TM在TL中记录此事件。
S6:TM检查TL中针对数据分片1的读取操作,只有在时间戳1之前全部读取操作都已完成后,TM更新检索中分片1的节点ID为3。
S7:TM更新检索中分片1的读写状态至读写,并更新相应的时间戳。
S8:TM更新检索中的分片上线时间戳。
S9:TM通知节点1删除分片1,并在TL中记录此事件。
S10:节点1删除分片1。
通过以上操作可以保证数据分片在节点间的迁移不会影响针对该分片的数据读取操作。
对应于上述方法实施例,本实施例还提供一种分布式图数据库系统节点间迁移分片数据的装置,所述装置设置于分布式图数据库系统,所述分布式图数据库系统配置有多个节点,所述节点上存储有数据分片;如图3所示,该装置包括:标记模块201,用于将待迁移的第一节点内的第一数据分片的状态标记为只读;建立模块202,用于在第一节点与迁移目标第二节点之间建立数据传输通道;传输模块203,用于将第一数据分片内的全部数据传输到第二节点;更新模块204,用于在第二节点成功接收第一数据分片内的全部数据后,更新第一数据分片所在节点位置并反馈给第一节点;删除模块205,用于在第一节点中删除第一数据分片。
在一些实施方式中,前述装置还包括交易管理模块,用于记录和管理节点交易顺序,保证所有数据的读取操作在全部完成后,才于第一节点中操作删除第一数据分片。
在一些实施方式中,前述交易管理模块还用于构建一个基于边的关联关系检索,所述关联关系检索包含的信息至少包括:全图所包含的全部类型的边的信息;每一类型的边所在的唯一节点ID信息;每一类型的边的总数量;数据分片读写状态与当前状态起始时间戳;数据分片在对应节点的上线时间戳。
在一些实施方式中,前述交易管理模块上还设有一个交易日志模块,用于记录针对图数据各类读写操作起始与完成的全部时间戳。
在一些实施方式中,前述装置还包括:查询模块,用于在针对图数据库进行查询操作时,先基于边的类型ID在交易管理器上的关联关系检索中找到对应的节点,然后在该节点上执行查询操作,将这一类型边所连接的全部顶点查询出来。
在一些实施方式中,所述装置还包括:记录模块,用于将查询过程中的每一次读取操作状态以及全部结束的时间戳都记录在交易日志中。
在一些实施方式中,前述装置还包括:增加模块,用于在分布式图数据库中增加一个新的边类型时,将该边类型加入交易管理器的关联关系检索中;同时基于负载均衡算法将该边分配给一个当前数据量最小的节点,并更新数据分片的状态信息以及在该节点上线的时间戳信息。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
基于同一申请构思,本申请实施例还提供了一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现上述分布式图数据库系统节点间迁移分片数据的方法,或者上述分布式图数据库系统节点间迁移分片数据的装置,并且具有相应的方法实施例或装置实施例的有益效果,在此不再赘述。该服务器还可以包括总线和通信接口,处理器、通信接口和存储器通过总线连接。
其中,存储器可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。
处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述实施例的方法的步骤。
基于同一申请构思,本申请实施例还提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使处理器实现上述分布式图数据库系统节点间迁移分片数据的方法,或者上述分布式图数据库系统节点间迁移分片数据的装置,并且具有相应的方法实施例或装置实施例的有益效果,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (13)
1.一种分布式图数据库系统节点间迁移分片数据的方法,其特征在于,所述方法应用于分布式图数据库系统,所述分布式图数据库系统配置有多个节点,所述节点上存储有数据分片;所述方法包括:
将待迁移的第一节点内的第一数据分片的状态标记为只读;
在第一节点与迁移目标第二节点之间建立数据传输通道;
将第一数据分片内的全部数据传输到第二节点;
在第二节点成功接收第一数据分片内的全部数据后,更新第一数据分片所在节点位置并反馈给第一节点;
在第一节点中删除第一数据分片;
所述方法还包括:
构建一个交易管理器,记录和管理节点交易顺序,保证所有数据的读取操作在全部完成后,才于第一节点中操作删除第一数据分片;
所述交易管理器上构建有一个基于边的关联关系检索,所述关联关系检索包含的信息至少包括:
全图所包含的全部类型的边的信息;
每一类型的边所在的唯一节点ID信息;
每一类型的边的总数量;
数据分片读写状态与当前状态起始时间戳;
数据分片在对应节点的上线时间戳。
2.根据权利要求1所述的分布式图数据库系统节点间迁移分片数据的方法,其特征在于,所述方法还包括:
在所述交易管理器上构建一个交易日志,用于记录针对图数据各类读写操作起始与完成的全部时间戳。
3.根据权利要求2所述的分布式图数据库系统节点间迁移分片数据的方法,其特征在于,
当针对图数据库进行查询操作时,先基于边的类型ID在交易管理器上的关联关系检索中找到对应的节点,然后在该节点上执行查询操作,将这一类型边所连接的全部顶点查询出来。
4.根据权利要求3所述的分布式图数据库系统节点间迁移分片数据的方法,其特征在于,在查询操作进行时,所述方法还包括:
将查询过程中的每一次读取操作状态以及全部结束的时间戳都记录在交易日志中。
5.根据权利要求1所述的分布式图数据库系统节点间迁移分片数据的方法,其特征在于,
当需要在分布式图数据库中增加一个新的边类型时,将该边类型加入交易管理器的关联关系检索中;同时基于负载均衡算法将该边分配给一个当前数据量最小的节点,并更新数据分片的状态信息以及在该节点上线的时间戳信息。
6.根据权利要求1所述的分布式图数据库系统节点间迁移分片数据的方法,其特征在于,所述交易管理器为带有热备份的主从服务器架构。
7.一种分布式图数据库系统节点间迁移分片数据的装置,其特征在于,所述装置设置于分布式图数据库系统,所述分布式图数据库系统配置有多个节点,所述节点上存储有数据分片;所述装置包括:
标记模块,用于将待迁移的第一节点内的第一数据分片的状态标记为只读;
建立模块,用于在第一节点与迁移目标第二节点之间建立数据传输通道;
传输模块,用于将第一数据分片内的全部数据传输到第二节点;
更新模块,用于在第二节点成功接收第一数据分片内的全部数据后,更新第一数据分片所在节点位置并反馈给第一节点;
删除模块,用于在第一节点中删除第一数据分片;
所述装置还包括交易管理模块,用于记录和管理节点交易顺序,保证所有数据的读取操作在全部完成后,才于第一节点中操作删除第一数据分片;
所述交易管理模块还用于构建一个基于边的关联关系检索,所述关联关系检索包含的信息至少包括:
全图所包含的全部类型的边的信息;
每一类型的边所在的唯一节点ID信息;
每一类型的边的总数量;
数据分片读写状态与当前状态起始时间戳;
数据分片在对应节点的上线时间戳。
8.根据权利要求7所述的分布式图数据库系统节点间迁移分片数据的装置,其特征在于,所述交易管理模块上还设有一个交易日志模块,用于记录针对图数据各类读写操作起始与完成的全部时间戳。
9.根据权利要求8所述的分布式图数据库系统节点间迁移分片数据的装置,其特征在于,所述装置还包括:
查询模块,用于在针对图数据库进行查询操作时,先基于边的类型ID在交易管理器上的关联关系检索中找到对应的节点,然后在该节点上执行查询操作,将这一类型边所连接的全部顶点查询出来。
10.根据权利要求9所述的分布式图数据库系统节点间迁移分片数据的装置,其特征在于,所述装置还包括:
记录模块,用于将查询过程中的每一次读取操作状态以及全部结束的时间戳都记录在交易日志中。
11.根据权利要求7所述的分布式图数据库系统节点间迁移分片数据的装置,其特征在于,所述装置还包括:
增加模块,用于在分布式图数据库中增加一个新的边类型时,将该边类型加入交易管理器的关联关系检索中;同时基于负载均衡算法将该边分配给一个当前数据量最小的节点,并更新数据分片的状态信息以及在该节点上线的时间戳信息。
12.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1~6任一项所述的分布式图数据库系统节点间迁移分片数据的方法,或者权利要求7~11任一项所述的分布式图数据库系统节点间迁移分片数据的装置。
13.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使处理器实现权利要求1~6任一项所述的分布式图数据库系统节点间迁移分片数据的方法,或者权利要求7~11任一项所述的分布式图数据库系统节点间迁移分片数据的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110865999.6A CN113590586B (zh) | 2021-07-29 | 2021-07-29 | 分布式图数据库系统节点间迁移分片数据的方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110865999.6A CN113590586B (zh) | 2021-07-29 | 2021-07-29 | 分布式图数据库系统节点间迁移分片数据的方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113590586A CN113590586A (zh) | 2021-11-02 |
CN113590586B true CN113590586B (zh) | 2022-03-22 |
Family
ID=78252012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110865999.6A Active CN113590586B (zh) | 2021-07-29 | 2021-07-29 | 分布式图数据库系统节点间迁移分片数据的方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590586B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416913B (zh) * | 2022-03-28 | 2022-07-05 | 支付宝(杭州)信息技术有限公司 | 一种对知识图谱进行数据分片的方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502578A (zh) * | 2015-09-06 | 2017-03-15 | 中兴通讯股份有限公司 | 容量变更建议方法及装置 |
CN106528667A (zh) * | 2016-10-24 | 2017-03-22 | 南京中新赛克科技有限责任公司 | 读写分离的低功耗海量数据全文检索系统框架 |
CN106777225A (zh) * | 2016-12-26 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种数据的迁移方法和系统 |
CN108363813A (zh) * | 2018-03-15 | 2018-08-03 | 北京小度信息科技有限公司 | 数据存储方法、装置和系统 |
CN108804465A (zh) * | 2017-05-04 | 2018-11-13 | 中兴通讯股份有限公司 | 一种分布式缓存数据库数据迁移的方法及系统 |
CN111459913A (zh) * | 2020-03-31 | 2020-07-28 | 北京金山云网络技术有限公司 | 分布式数据库的容量扩展方法、装置及电子设备 |
CN111880751A (zh) * | 2020-09-28 | 2020-11-03 | 浙江大华技术股份有限公司 | 一种硬盘迁移方法、分布式存储集群系统和存储介质 |
CN112347076A (zh) * | 2020-11-05 | 2021-02-09 | 中国平安人寿保险股份有限公司 | 分布式数据库的数据存储方法、装置和计算机设备 |
CN113010496A (zh) * | 2021-03-19 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种数据迁移方法、装置、设备和存储介质 |
CN113138972A (zh) * | 2020-01-17 | 2021-07-20 | 北京京东尚科信息技术有限公司 | 数据迁移方法及装置、存储介质及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10782898B2 (en) * | 2016-02-03 | 2020-09-22 | Surcloud Corp. | Data storage system, load rebalancing method thereof and access control method thereof |
US9087341B2 (en) * | 2013-01-11 | 2015-07-21 | Apple Inc. | Migration of feedback data to equivalent digital assets |
US9614963B2 (en) * | 2014-03-26 | 2017-04-04 | Rockwell Automation Technologies, Inc. | Cloud-based global alarm annunciation system for industrial systems |
-
2021
- 2021-07-29 CN CN202110865999.6A patent/CN113590586B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502578A (zh) * | 2015-09-06 | 2017-03-15 | 中兴通讯股份有限公司 | 容量变更建议方法及装置 |
CN106528667A (zh) * | 2016-10-24 | 2017-03-22 | 南京中新赛克科技有限责任公司 | 读写分离的低功耗海量数据全文检索系统框架 |
CN106777225A (zh) * | 2016-12-26 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种数据的迁移方法和系统 |
CN108804465A (zh) * | 2017-05-04 | 2018-11-13 | 中兴通讯股份有限公司 | 一种分布式缓存数据库数据迁移的方法及系统 |
CN108363813A (zh) * | 2018-03-15 | 2018-08-03 | 北京小度信息科技有限公司 | 数据存储方法、装置和系统 |
CN113138972A (zh) * | 2020-01-17 | 2021-07-20 | 北京京东尚科信息技术有限公司 | 数据迁移方法及装置、存储介质及电子设备 |
CN111459913A (zh) * | 2020-03-31 | 2020-07-28 | 北京金山云网络技术有限公司 | 分布式数据库的容量扩展方法、装置及电子设备 |
CN111880751A (zh) * | 2020-09-28 | 2020-11-03 | 浙江大华技术股份有限公司 | 一种硬盘迁移方法、分布式存储集群系统和存储介质 |
CN112347076A (zh) * | 2020-11-05 | 2021-02-09 | 中国平安人寿保险股份有限公司 | 分布式数据库的数据存储方法、装置和计算机设备 |
CN113010496A (zh) * | 2021-03-19 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种数据迁移方法、装置、设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
"SDM: A Stripe-based Data Migration Scheme to Improve the Scalability of RAID-6";Wu C 等;《Proceedings of the 2012 IEEE International Conference on Cluster Computing》;20121231;第283-292页 * |
"一种全分布式的数据迁移算法DBDS";罗香玉 等;《计算机应用与软件》;20111130;第45-48页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113590586A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11709600B2 (en) | System and method for performing live partitioning in a data store | |
US11789925B2 (en) | System and method for conditionally updating an item with attribute granularity | |
US20210103604A1 (en) | System and method for implementing a scalable data storage service | |
EP2356560B1 (en) | Atomic multiple modification of data in a distributed storage system | |
US10997137B1 (en) | Two-dimensional partition splitting in a time-series database | |
CN106462601B (zh) | 针对多盘区操作的原子写入 | |
CN106462544B (zh) | 分布式存储系统中的会话管理 | |
CN106462545B (zh) | 可缩放文件存储服务 | |
US8924365B2 (en) | System and method for range search over distributive storage systems | |
CN109284073B (zh) | 数据存储方法、装置、系统、服务器、控制节点及介质 | |
US20180004777A1 (en) | Data distribution across nodes of a distributed database base system | |
US10877669B1 (en) | System and method for providing a committed throughput level in a data store | |
US10983981B1 (en) | Acid transaction for distributed, versioned key-value databases | |
US10515228B2 (en) | Commit and rollback of data streams provided by partially trusted entities | |
CN112799841B (zh) | 一种数据对象存储管理的方法和装置 | |
US9971822B1 (en) | Replicated state management using journal-based registers | |
US11250019B1 (en) | Eventually consistent replication in a time-series database | |
US11263270B1 (en) | Heat balancing in a distributed time-series database | |
WO2022111188A1 (zh) | 事务处理方法、系统、装置、设备、存储介质及程序产品 | |
CN113590586B (zh) | 分布式图数据库系统节点间迁移分片数据的方法、装置 | |
US11409771B1 (en) | Splitting partitions across clusters in a time-series database | |
WO2018059239A1 (zh) | 一种文件存储方法及装置 | |
CN111680019A (zh) | 一种区块链的数据扩容方法及其装置 | |
CN113672255A (zh) | 一种分布式存储软件升级方法及装置 | |
CN111459913B (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 |