CN117667944A - 用于分布式图数据库的副本扩容方法、装置及系统 - Google Patents
用于分布式图数据库的副本扩容方法、装置及系统 Download PDFInfo
- Publication number
- CN117667944A CN117667944A CN202311704305.6A CN202311704305A CN117667944A CN 117667944 A CN117667944 A CN 117667944A CN 202311704305 A CN202311704305 A CN 202311704305A CN 117667944 A CN117667944 A CN 117667944A
- Authority
- CN
- China
- Prior art keywords
- data
- graph
- copy
- storage node
- data storage
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013500 data storage Methods 0.000 claims abstract description 339
- 239000012634 fragment Substances 0.000 claims abstract description 156
- 238000013508 migration Methods 0.000 claims abstract description 142
- 230000005012 migration Effects 0.000 claims abstract description 142
- 238000007405 data analysis Methods 0.000 claims abstract description 54
- 230000004044 response Effects 0.000 claims abstract description 34
- 238000012217 deletion Methods 0.000 claims abstract description 28
- 230000037430 deletion Effects 0.000 claims abstract description 28
- 230000000977 initiatory effect Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013467 fragmentation Methods 0.000 claims description 9
- 238000006062 fragmentation reaction Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供用于分布式图数据库的副本扩容方法、装置及系统。在进行副本扩容时,图数据分析层响应于接口层发起的副本扩容请求,根据待扩容副本的副本元数据和数据存储节点的图数据存储状态信息确定图数据迁移信息并提供给待扩容的第二数据存储节点。第二数据存储节点进入仅数据拷贝模式,并基于图数据迁移信息发起与第一数据存储节点之间的图数据迁移以获取待迁移图数据分片的数据快照。在完成数据迁移后,第二数据存储节点进入数据存储服务模式,向第一数据存储节点发送图数据分片删除通知,并基于数据快照中的数据位点执行与主副本的对应图数据分片之间的数据同步。第一数据存储节点响应于图数据分片删除通知而删除所迁移的图数据分片。
Description
技术领域
本说明书实施例通常涉及图数据库领域,尤其涉及用于分布式图数据库的副本扩容方法、装置及系统。
背景技术
图数据库(Graph Database)是一种以图结构存储数据的数据库,适用于处理具有复杂关系的数据。与关系型数据库相比,图数据库在查询复杂关系数据时具有更高的性能和灵活性。随着图计算技术的不断发展,图数据库被越来越多地应用于各种应用场景,比如,互联网应用场景。
图数据由节点(顶点)和边组成,其中,节点表示实体,以及边表示实体之间的关系。例如,社交图数据中,每个人表示一个节点,以及他们的关系(比如,朋友,家人,同事等)构成边。随着应用场景所涉及的实体和关系越来越多,图数据规模变得越来越大,单一数据存储节点(比如,服务器节点等)无法提供足够的存储容量来存储完整图数据。为此,提出了分布式图数据库。
分布式图数据库是一种在多个数据存储节点中进行图数据存储、管理和处理的图数据库。它基于分布式系统理论,将图数据分割为多个图数据分片,将图数据分片分别存储在不同的数据存储节点上,然后通过分布式计算方式进行图数据组合形成完整图数据来提供图数据服务。
随着图数据的不断生成,所存储的图数据容量越来越大,为单个副本所分配的数据存储节点集群的存储容量不再足以进行图数据存储,或者由于数据存储节点的性能降低而导致为单个副本所分配的数据存储容量不足。在这种情况下,需要针对该副本发起数据存储节点扩容,即,向为用于存储该副本的数据存储节点集群中增加新的数据存储节点,并将数据存储节点集群的原有数据存储节点中的部分图数据分片迁移到所增加的新数据存储节点上。
发明内容
本说明书实施例提供用于分布式图数据库的副本扩容方法、装置及系统。利用该副本扩容方案,针对待扩容的数据存储节点,在进行图数据分片迁移时,将该数据存储节点设置为仅数据拷贝模式,从而使得在图数据分片迁移过程中仅仅进数据拷贝而不对外提供读写服务,并且在完成图数据分片迁移后,将该数据存储节点设置为数据存储服务模式,并根据图数据分片迁移时生成的数据快照所记录的数据位点来与主副本中的对应图数据分片进行数据同步,由此保证扩容数据存储节点处的图数据的完整性和安全性。
根据本说明书的实施例的一个方面,提供一种用于分布式图数据库的副本扩容方法,所述副本扩容方法由待扩容的第二数据存储节点执行,所述副本扩容方法包括:响应于接收到图数据迁移信息,进入仅数据拷贝模式并基于所述图数据迁移信息发起与待迁移的第一图数据分片所在第一数据存储节点之间的图数据迁移,以获取所述第一图数据分片的数据快照,所述图数据迁移信息包括所述第一图数据分片的分片标识和所述第一数据存储节点的节点标识,所述数据快照包括所述第一图数据分片在图数据迁移启动时的数据内容和数据位点;响应于所述图数据迁移完成,进入数据存储服务模式并向所述第一数据存储节点发送图数据分片删除通知,所述图数据分片删除通知用于通知所述第一数据存储节点删除所述第一图数据分片;以及在所述数据存储服务模式下,基于所述数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步。
可选地,在上述方面的一个示例中,所述图数据迁移信息由图数据分析层响应于副本扩容请求而根据待扩容副本的副本元数据和对应数据存储节点集群中的数据存储节点的节点存储状态信息确定,所述副本元数据包括数据存储节点集群的图拓扑结构信息,所述节点存储状态信息包括数据存储节点的可用存储容量。
可选地,在上述方面的一个示例中,所述副本元数据还包括所存储的图数据分片的分片大小,所述图数据迁移信息由所述图数据分析层使用负载均衡策略来根据待扩容副本的副本元数据和对应数据存储节点集群中的数据存储节点的节点存储状态信息确定。
可选地,在上述方面的一个示例中,所述数据存储节点的节点存储状态信息包括在所述副本元数据中。
可选地,在上述方面的一个示例中,在所述数据存储服务模式下,基于所述数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步可以包括:将所述数据快照中的数据位点上报给所述图数据分析层,所述数据快照中的数据位点被所述图数据分析层使用来确定与所存储的元数据中的所述主副本中的对应第一图数据分片的数据位点之间的数据位点差异并提供给所述对应第一图数据分片所在第一数据存储节点;以及通过所述对应第一图数据分片所在第一数据存储节点基于所述数据位点差异发起针对所述第二数据存储节点的数据写入操作,执行与所述主副本的对应第一图数据分片之间的数据同步。
可选地,在上述方面的一个示例中,在所述数据存储服务模式下,基于所述数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步可以包括:将所述数据快照中的数据位点经由所述图数据分析层转发给所述主副本的对应第一图数据分片所在第一数据存储节点,以供使用来确定与所存储的第一图数据分片的数据位点之间的数据位点差异;以及通过所述对应第一图数据分片所在第一数据存储节点基于所述数据位点差异发起针对所述第二数据存储节点的数据写入操作,执行与所述主副本的对应第一图数据分片之间的数据同步。
可选地,在上述方面的一个示例中,在副本扩容时,所述第一数据存储节点始终处于数据存储服务模式。
根据本说明书的实施例的另一方面,提供一种用于分布式图数据库的副本扩容方法,包括:经由分布式图数据库的图数据分析层响应于接口层发起的副本扩容请求而确定图数据迁移信息并提供给待扩容的第二数据存储节点,所述图数据迁移信息根据待扩容副本的副本元数据和对应数据存储节点集群中的数据存储节点的节点存储状态信息确定,并且包括待迁移的第一图数据分片的分片标识和所述第一图数据分片所在第一数据存储节点的节点标识,所述副本元数据包括数据存储节点集群的图拓扑结构信息,所述节点存储状态信息包括数据存储节点的可用存储容量;经由所述第二数据存储节点,响应于接收到所述图数据迁移信息进入仅数据拷贝模式,并基于所述图数据迁移信息发起与所述第一数据存储节点之间的图数据迁移,以获取所述第一图数据分片的数据快照,所述数据快照包括所述第一图数据分片在图数据迁移启动时的数据内容和数据位点;经由所述第二数据存储节点,响应于所述图数据迁移完成进入数据存储服务模式,向所述第一数据存储节点发送图数据分片删除通知,并基于所述数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步;以及经由所述第一数据存储节点,响应于所述图数据分片删除通知而删除所述第一图数据分片。
可选地,在上述方面的一个示例中,所述第一数据存储节点始终处于数据存储服务模式,所述副本扩容方法还可以包括:响应于接收到图数据写入请求,经由所述第一数据存储节点执行图数据写处理来进行图数据同步。
根据本说明书的实施例的另一方面,提供一种用于分布式图数据库的副本扩容装置,所述副本扩容装置应用于待扩容的第二数据存储节点,所述副本扩容装置包括:模式设置单元,响应于接收到图数据迁移信息而使得所述第二数据存储节点进入仅数据拷贝模式,以及响应于所述图数据迁移完成而使得所述第二数据存储节点进入数据存储服务模式,所述图数据迁移信息包括待迁移的第一图数据分片的分片标识和所述第一图数据分片所在第一数据存储节点的节点标识;图数据迁移单元,在所述仅数据拷贝模式下,基于所述图数据迁移信息发起与所述第一数据存储节点之间的图数据迁移,以获取所述第一图数据分片的数据快照,所述数据快照包括所述第一图数据分片在图数据迁移启动时的数据内容和数据位点;分片删除通知单元,向所述第一数据存储节点发送图数据分片删除通知,所述图数据分片删除通知用于通知所述第一数据存储节点删除所述第一图数据分片;以及图数据同步单元,在所述数据存储服务模式下,基于所述数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步。
可选地,在上述方面的一个示例中,所述图数据同步单元包括:数据位点上报模块,将所述数据快照中的数据位点上报给所述图数据分析层,所述数据快照中的数据位点被所述图数据分析层使用来确定与所存储的元数据中的所述主副本中的对应第一图数据分片的数据位点之间的数据位点差异并提供给所述对应第一图数据分片所在第一数据存储节点;以及图数据同步模块,通过所述对应第一图数据分片所在第一数据存储节点基于所述数据位点差异发起针对所述第二数据存储节点的数据写入操作,执行与所述主副本的对应第一图数据分片之间的数据同步。
可选地,在上述方面的一个示例中,所述图数据同步单元包括:数据位点上报模块,将所述数据快照中的数据位点经由所述图数据分析层转发给所述主副本的对应第一图数据分片所在第一数据存储节点,以供使用来确定与所存储的第一图数据分片的数据位点之间的数据位点差异;以及图数据同步模块,通过所述对应第一图数据分片所在第一数据存储节点基于所述数据位点差异发起针对所述第二数据存储节点的数据写入操作,执行与所述主副本的对应第一图数据分片之间的数据同步。
根据本说明书的实施例的另一方面,提供一种用于分布式图数据库的副本扩容的系统,包括:接口层,包括副本扩容请求单元,向图数据分析层发起副本扩容请求;图数据分析层,包括图数据迁移信息确定单元,响应于所述副本扩容请求而确定图数据迁移信息并提供给待扩容的第二数据存储节点,所述图数据迁移信息根据待扩容副本的副本元数据和对应数据存储节点集群中的数据存储节点的节点存储状态信息确定,并且包括待迁移的第一图数据分片的分片标识和所述第一图数据分片所在第一数据存储节点的节点标识,所述副本元数据包括数据存储节点集群的图拓扑结构信息,所述节点存储状态信息包括数据存储节点的可用存储容量;以及图数据存储层,包括第一数据存储节点集群和待扩容的第二数据存储节点,其中,所述第一数据存储节点集群中的第一数据存储节点包括:数据快照生成单元,在启动与第二数据存储节点之间的图数据分片迁移时生成所述第一图数据分片的数据快照,所述数据快照包括所述第一图数据分片在图数据迁移启动时的数据内容和数据位点;图数据分片删除单元,响应于接收到图数据分片删除通知,删除完成图数据迁移的第一图数据分片,所述第二数据存储节点包括如上所述的副本扩容装置。
根据本说明书的实施例的另一方面,提供一种用于分布式图数据库的副本扩容装置,所述副本扩容装置应用于待扩容的第二数据存储节点,所述副本扩容装置包括:至少一个处理器;与所述至少一个处理器耦合的存储器;以及存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现如上所述的用于分布式图数据库的副本扩容方法。
根据本说明书的实施例的另一方面,提供一种用于分布式图数据库的副本扩容的系统,包括:至少一个处理器;与所述至少一个处理器耦合的存储器;以及存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现如上所述的用于分布式图数据库的副本扩容的方法。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了分布式图数据库系统的示例示意图。
图2示出了图数据的图存储拓扑结构的示例示意图。
图3示出了根据本说明书的实施例的用于分布式图数据库的副本扩容方法的示例流程图。
图4示出了根据本说明书的实施例的数据快照的示例示意图。
图5示出了根据本说明书的实施例的迁移图数据同步过程的示例流程图。
图6示出了根据本说明书的实施例的迁移图数据同步过程的另一示例流程图。
图7示出了根据本说明书的实施例的用于分布式图数据库的副本扩容系统的示例方框图。
图8示出了根据本说明书的实施例的应用于待扩容数据存储节点的副本扩容装置的示例方框图。
图9示出了根据本说明书的实施例的图数据同步单元的示例方框图。
图10示出了根据本说明书的实施例的基于计算机系统实现的应用于待扩容数据存储节点的副本扩容装置的示例示意图。
图11示出了根据本说明书的实施例的基于计算机系统实现的用于分布式图数据库的副本扩容系统的示例示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
图1示出了分布式图数据库系统100的示例架构示意图。
如图1所示,分布式图数据库系统100包括接口层110、图数据分析层120和图数据存储层130。接口层110用于实现与图数据库系统外部的交互,比如,接收安装有图数据库的上游/下游应用的客户端设备的图数据处理请求,比如,图数据读/写请求,副本扩容请求等。此外,接口层110还可以执行针对图数据库的其它操作,比如,图数据库功能的白屏化,参数安全检查,图数据库功能组合,图数据库可视化操作等。在一些实施例中,接口层110也可以接收数据存储节点的图数据存储信息,并根据图数据存储信息进行副本扩容决策。在决策需要针对某个副本进行副本扩容时,向图数据分析层120发起副本扩容请求。
图数据分析层120用于实现所存储图数据的元数据(meta data)管理,比如,元数据生成、存储、更新等。所存储图数据的元数据例如包括图数据的图存储拓扑结构信息。图存储拓扑结构例如可以包括图数据被复制为多少副本,每个副本存储到哪些数据存储节点上,每个数据存储节点存储有哪些图数据分片等。图存储拓扑结构信息可以包括图数据分片的分片标识以及图数据分片所在数据存储节点的节点标识。图2示出了图数据的图存储拓扑结构信息的示例示意图。
如图2所示,在对图数据进行分布式存储时,图数据被复制为多个副本(例如,k个副本)。随后,对每个副本进行图数据切分,由此得到多个图数据分片(例如,3个图数据分片),然后将一个或多个图数据分片的分片数据hash存储到数据存储节点集群中的一个数据存储节点上,由此完成分布式图数据存储。在图存储拓扑结构信息中,可以包括图数据分片的分片标识以及图数据分片所在数据存储节点的节点标识。要说明的是,针对不同的副本,按照相同的图数据分片策略来切分为相同的图数据分片。
此外,元数据还可以包括数据存储节点中存储的图数据分片的分片信息和数据位点(CommitID)。图数据分片的分片信息可以包括分片标识和/或分片大小。数据位点用于指示图数据分片的数据写入状态。在进行图数据分片存储时,图数据分片通常是分片段写入的,例如,图数据分片可以分为10个数据片段来依序写入。每完成一个数据片段写入就相当于完成一次提交(Commit)过程,并且对应一个数据位点,由此数据位点可以反映图数据分片的数据存储进度。在一些实施例中,数据位点例如可以是由40位的SHA-1哈希值组成。数据位点例如可以通过将所提交的图数据分片内容和提交信息(比如,时间戳信息)进行哈希计算后生成。
在一些实施例中,元数据还可以包括数据存储节点的节点存储状态信息。节点存储状态信息例如可以包括数据存储节点的额定存储容量、可用存储容量、节点工作模式(可读/写,不可读/写等)和/或进程激活状态(激活状态、非激活状态等)等。
图数据存储层130用于实现图数据的分布式存储。图数据存储层130可以包括多个数据存储节点集群,每个数据存储节点集群用于存储图数据的一个副本。每个数据存储节点集群可以包括一个或多个数据存储节点,每个数据存储节点用于存储图数据的部分图数据分片(例如,一个或多个图数据分片)。
在一些实施例中,接口层110和图数据分析层120中的每个都可以利用一个或多个节点设备实现。在一些实施例中,接口层110和图数据分析层120也可以利用同一节点设备实现。
接口层110、图数据分析层120和图数据存储层130中的各个组件可以直接通信或者经由网络进行通信。在一些实施例中,网络可以是有线网络或无线网络中的任意一种或多种。网络的示例可以包括但不限于电缆网络、光纤网络、电信网络、企业内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigZee)、近场通讯(NFC)、设备内总线、设备内线路等或其任意组合。在一些实施例中,接口层110和图数据分析层120可以与图数据存储层130形成服务端-客户端(S/C)架构。
随着图数据的不断生成,所存储的图数据容量越来越大,为单个副本所分配的数据存储节点集群的数据存储容量或服务能力不再足够进行图数据存储,或者由于数据存储节点的性能降低而导致数据存储容量或服务能力不再足够进行图数据存储。在这种情况下,需要针对该副本发起副本扩容。术语“副本扩容”可以指代针对副本的数据存储节点扩容,即,向用于存储副本的数据存储节点集群中增加新的数据存储节点,并将数据存储节点集群中的部分图数据分片迁移到所增加的新数据存储节点上。
由于分布式图数据库所承载的业务需要保证实时在线服务,并且保证图数据的完整性和安全性,从而需要在数据存储节点集群发起副本扩容时,需要保证将待迁移的图数据分片完整地迁移到所扩容的新数据存储节点,同时确保当前数据存储节点集群的原有数据存储节点正常提供数据存储服务。
鉴于此,提出了用于分布式图数据库的副本扩容方案。在该副本扩容方案中,针对待扩容的数据存储节点,在进行图数据分片迁移时,将该数据存储节点设置为仅数据拷贝模式,从而使得在图数据分片迁移过程中仅仅进数据拷贝而不对外提供读写服务,并且在完成图数据分片迁移后,将该数据存储节点设置为数据存储服务模式,并根据图数据分片迁移时生成的数据快照所记录的数据位点来与主副本中的对应图数据分片进行数据同步,由此保证扩容数据存储节点处的图数据的完整性和安全性。
下面参照附图描述根据本说明书的实施例的用于分布式图数据库的副本扩容方法、装置和系统。
图3示出了根据本说明书的实施例的用于分布式图数据库的副本扩容方法300的示例流程图。
如图3所示,在301,接口层110向图数据分析层120发起副本扩容请求,副本扩容请求至少包括待扩容副本的副本标识(ID)。例如,在一些实施例中,接口层110可以接收各个副本所对应的数据存储节点集群中的第一数据存储节点的图数据存储状态信息,例如,从状态寄存器或图数据存储状态监视器接收各个副本所对应的第一数据存储节点的图数据存储状态信息,并根据所接收的各个副本的第一数据存储节点的图数据存储状态信息进行副本扩容决策。在决策出需要针对某个副本进行数据存储节点扩容(即,副本扩容)时,向图数据分析层120发起副本扩容请求来向该副本的数据存储节点集群中扩充第二数据存储节点。在一些实施例中,接口层110也可以响应于人工发起的副本扩容操作,向图数据分析层120发起副本扩容请求。
在302,响应于接收到副本扩容请求,图数据分析层120确定图数据分片迁移信息,所确定出的图数据迁移信息包括待迁移的第一图数据分片的分片标识和第一图数据分片所在第一数据存储节点的节点标识。即,确定向第二数据存储节点迁移哪些第一数据存储节点上的哪些图数据分片。在一些实施例中,图数据迁移信息还可以包括第二数据存储节点的节点标识。
在一些实施例中,图数据分析层120可以根据副本扩容请求中的待扩容副本的副本标识,从所存储的元数据中获取该待扩容副本所对应的副本元数据。副本元数据可以包括副本数据的图存储拓扑结构信息以及每个第一数据存储节点的节点状态信息。数据存储节点的节点状态信息例如可以包括数据存储节点的可用存储容量等。图数据分析层120可以根据副本数据的图存储拓扑结构信息和每个第一数据存储节点的节点状态信息,确定出图数据迁移信息。在一些实施例中,图数据分析层120可以使用负载均衡策略来根据待扩容副本的副本元数据和每个第一数据存储节点的节点存储状态信息确定图数据迁移信息。在一些实施例中,副本元数据还可以包括数据存储节点上存储的图数据分片的分片大小。在这种情况下,图数据分析层120可以使用负载均衡策略来根据待扩容副本的副本元数据、每个第一数据存储节点的节点存储状态信息以及每个第一数据存储节点上所存储的图数据分片的分片大小确定图数据迁移信息。在一些实施例中,节点存储状态信息还可以用于指示数据存储节点的存储服务能力的能力指示状态信息。
在一些实施例中,在确定出图数据分片迁移信息后,图数据分析层120还可以进行元数据更新。例如,向待扩容副本所对应的数据存储节点集群中加入第二数据存储节点,并根据图数据分片迁移信息更新加入有第二数据存储节点的数据存储节点集群的图存储拓扑结构信息以及数据存储节点上存储的图数据分片的分片信息、数据位点等,由此更新待扩容副本的副本元数据。
在303,图数据分析层120将图数据迁移信息发送给第二数据存储节点130’。在304,在接收到图数据迁移信息后,第二数据存储节点130’进入仅仅数据拷贝模式(Pull模式)。在Pull模式中,仅仅拉起图数据库服务而不加载数据存储服务,从而使得第二数据存储节点仅仅具有数据拷贝功能,而不具备数据存储服务能力。
在进入Pull模式后,第二数据存储节点130’基于图数据迁移信息发起与待迁移的第一图数据分片所在第一数据存储节点之间的图数据迁移,以获取第一图数据分片的数据快照。
例如,在一些实施例中,如图3所示,在305,第二数据存储节点130’向待迁移的第一图数据分片所在的第一数据存储节点130发送图数据迁移请求,所述图数据迁移请求包括第一图数据分片的图数据分片标识。在接收到图数据迁移请求后,在306,第一数据存储节点130生成第一图数据分片在当前时刻的数据快照(Snapshot),所生成的数据快照包括第一图数据分片的数据内容和在数据迁移启动时的数据位点。数据位点可以包含在第一图数据分片中。图4示出了数据快照的示例示意图。
在生成数据快照后,在307,第一数据存储节点130执行第一图数据分片到第二数据存储节点130’的图数据迁移过程。此外,第一数据存储节点130在副本扩容时始终保持数据存储服务模式(Normal模式)。在Normal模式,拉起图数据库服务并加载数据存储服务,从而使得数据存储节点具备数据存储服务能力。在这种情况下,无论在副本扩容期间的任一时刻,只要第一数据存储节点接收到图数据存储请求,则在308,执行相应的图数据存储处理来实时进行数据同步,例如,实时同步写入数据的数据更新。
在完成上述图数据迁移后,在309,第二数据存储节点130’进入Normal模式,并且在进入Normal模式后,在310,第二数据存储节点130’向第一数据存储节点130发送图数据分片删除通知,以通知第一数据存储节点130删除已经完成图数据迁移的第一图数据分片。在接收到图数据分片删除通知后,在311,第一数据存储节点130删除已经完成图数据迁移的第一图数据分片。
在312,第二数据存储节点130’基于第一图数据分片的数据快照中的数据位点执行与主副本(Leader副本)中的对应第一图数据分片的数据同步。要说明的是,在分布式图数据库中,副本可以包括主副本(Leader副本)和从副本(Follower副本)。在进行数据同步时,通常先进行主副本中的数据同步(即,写入主副本),随后根据主副本中的数据来同步从副本。要说明的是,在进行待扩容的数据存储节点上的数据同步时,如果待扩容副本是当前主副本,则需要重新选择新的主副本,并将待扩容副本降级为从副本。待扩容的数据存储节点上的数据同步过程可以采用多种方式实现。
图5示出了根据本说明书的实施例的迁移图数据同步过程500的示例流程图。
如图5所示,在510,第二数据存储节点130’将第一图数据分片的数据快照中的数据位点上报给图数据分析层120。
在接收到数据快照中的数据位点后,在520,图数据分析层120在所存储的元数据中查询出主副本中的对应第一图数据分片的数据位点以及对应第一图数据分片所在的第一数据存储节点。然后,图数据分析层120确定数据快照中的数据位点与所查询出的对应第一图数据分片的数据位点之间的数据位点差异,并在530,将所确定出的数据位点差异提供给对应第一图数据分片所在第一数据存储节点。
在接收到数据位点差异后,在540,对应第一图数据分片所在的第一数据存储节点基于数据位点差异发起针对第二数据存储节点的数据写入操作,执行与主副本的对应第一图数据分片之间的数据同步。例如,假如数据快照中的数据位点对应10个数据片段中的第5个数据片段,而当前主副本中的最新数据片段为第9个数据片段,则将第6个数据片段到第9个数据片段作为待同步数据,发起针对第二数据存储节点的待同步数据写入操作,即,第一数据存储节点向第二数据存储节点写入第6个数据片段到第9个数据片段。
图6示出了根据本说明书的实施例的迁移图数据同步过程700的另一示例流程图。
如图5所示,在610,第二数据存储节点130’将第一图数据分片的数据快照中的数据位点上报给图数据分析层120。
在接收到数据快照中的数据位点后,在620,图数据分析层120在所存储的元数据中查询出主副本中的对应第一图数据分片所在的第一数据存储节点。然后,图数据分析层120将所接收的数据快照中的数据位点转发给对应第一图数据分片所在的第一数据存储节点。
在接收到数据快照中的数据位点后,在630,对应第一图数据分片所在的第一数据存储节点确定所接收的数据快照中的数据位点与所存储的对应第一图数据分片的数据位点之间的数据位点差异,并在640,对应第一图数据分片所在的第一数据存储节点基于数据位点差异发起针对第二数据存储节点的数据写入操作,执行与主副本的对应第一图数据分片之间的数据同步。
图7示出了根据本说明书的实施例的用于分布式图数据库的副本扩容系统700的示例方框图。如图7所示,副本扩容系统700包括接口层710、图数据分析层720和图数据存储层730。
接口层710包括副本扩容请求单元711。副本扩容请求单元711被配置为向图数据分析层720发起副本扩容请求。副本扩容请求包括待扩容副本的副本标识。
图数据分析层720包括图数据迁移信息确定单元721。图数据迁移信息确定单元721被配置为响应于从副本扩容请求单元711接收到副本扩容请求确定图数据迁移信息,并将图数据迁移信息提供给待扩容的第二数据存储节点。所确定出的图数据迁移信息包括待迁移的第一图数据分片的分片标识和第一图数据分片所在第一数据存储节点的节点标识。
在一些实施例中,图数据迁移信息确定单元721可以根据副本扩容请求中的待扩容副本的副本标识,从所存储的元数据中获取该待扩容副本所对应的副本元数据。副本元数据可以包括副本数据的图存储拓扑结构信息以及每个第一数据存储节点的节点状态信息。数据存储节点的节点状态信息例如可以包括数据存储节点的可用存储容量等。图数据迁移信息确定单元721可以根据副本数据的图存储拓扑结构信息和每个第一数据存储节点的节点状态信息,确定出图数据迁移信息。在一些实施例中,图数据迁移信息确定单元721可以使用负载均衡策略来根据待扩容副本的副本元数据和每个第一数据存储节点的节点存储状态信息确定图数据迁移信息。在一些实施例中,副本元数据还可以包括数据存储节点上存储的图数据分片的分片大小。在这种情况下,图数据迁移信息确定单元721可以使用负载均衡策略来根据待扩容副本的副本元数据、每个第一数据存储节点的节点存储状态信息以及每个第一数据存储节点上所存储的图数据分片的分片大小确定图数据迁移信息。在一些实施例中,节点存储状态信息还可以用于指示数据存储节点的存储服务能力的能力指示状态信息。
在一些实施例中,图数据分析层720还可以包括元数据更新单元(未示出)。元数据更新单元被配置为在确定出图数据分片迁移信息后进行元数据更新。例如,元数据更新单元可以向待扩容副本所对应的数据存储节点集群中加入第二数据存储节点,并根据图数据分片迁移信息更新加入有第二数据存储节点的数据存储节点集群的图存储拓扑结构信息以及数据存储节点上存储的图数据分片的分片信息、数据位点等,由此更新待扩容副本的副本元数据。
图数据存储层730包括针对各个副本的第一数据存储节点集群以及针对待扩容副本的待扩容第二数据存储节点。例如,针对Leader副本的第一数据存储节点集群以及针对Follower副本的第一数据存储节点集群。各个副本所对应的第一数据存储节点集群中的第一数据存储节点按照分布式数据存储方式存储对应副本的图数据分片。第一数据存储节点还可以包括数据快照生成单元和图数据分片删除单元。数据快照生成单元被配置为在启动与第二数据存储节点之间的图数据分片迁移时生成待迁移的第一图数据分片的数据快照,所生成的数据快照包括第一图数据分片在图数据迁移启动时的数据内容和数据位点。图数据分片删除单元被配置为响应于接收到图数据分片删除通知,删除完成图数据迁移的第一图数据分片。
第二数据存储节点包括用于实现分布式图数据库的副本扩容的副本扩容装置。图8示出了根据本说明书的实施例的应用于待扩容数据存储节点的副本扩容装置800的示例方框图。如图8所示,副本扩容装置800包括模式设置单元810、图数据迁移单元820、分配删除通知单元830和图数据同步单元840。
模式设置单元810被配置为响应于接收到图数据迁移信息而使第二数据存储节点进入仅数据拷贝模式,以及响应于图数据迁移完成而使得第二数据存储节点进入数据存储服务模式。
图数据迁移单元820被配置为在仅数据拷贝模式下,基于图数据迁移信息发起与所述第一数据存储节点之间的图数据迁移,以获取第一图数据分片的数据快照,所获取的数据快照包括第一图数据分片在图数据迁移启动时的数据内容和数据位点。
分片删除通知单元830被配置为向第一数据存储节点发送图数据分片删除通知。图数据分片删除通知用于通知第一数据存储节点删除完成数据迁移的第一图数据分片。
图数据同步单元840被配置为在数据存储服务模式下,基于数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步。
图9示出了根据本说明书的实施例的图数据同步单元900的示例方框图。如图9所示,图数据同步单元900包括数据位点上报模块910和图数据同步单元920。
数据位点上报模块910被配置为将数据快照中的数据位点上报给图数据分析层。在一些实施例中,在接收到数据位点后,图数据分析层使用数据快照中的数据位点被所述图数据分析层来确定与所存储的元数据中的主副本中的对应第一图数据分片的数据位点(当前数据位点)之间的数据位点差异。随后,将所确定出的数据位点差异提供给对应第一图数据分片所在第一数据存储节点。在一些实施例中,在接收到数据位点后,图数据分析层将所接收的数据位点转发给对应第一图数据分片所在第一数据存储节点,以在对应第一图数据分片所在的第一数据存储节点处确定数据快照中的数据位点与所存储的对应第一图数据分片的数据位点之间的数据位点差异。
图数据同步模块920被配置为通过对应第一图数据分片所在的第一数据存储节点基于数据位点差异发起针对所述第二数据存储节点的数据写入操作,执行与主副本的对应第一图数据分片之间的数据同步。
如上参照图1到图9,对根据本说明书实施例的用于分布式图数据库的副本扩容方法、副本扩容装置和副本扩容系统进行了描述。上述副本扩容装置和副本扩容系统可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图10示出了根据本说明书的实施例的基于计算机系统实现的应用于待扩容数据存储节点处的副本扩容装置1000的示例示意图。如图10所示,副本扩容装置1000可以包括至少一个处理器1010、存储器(例如,非易失性存储器)1020、内存1030和通信接口1040,并且至少一个处理器1010、存储器1020、内存1030和通信接口1040经由总线1060连接在一起。至少一个处理器1010执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1010:响应于接收到图数据迁移信息,进入仅数据拷贝模式并基于图数据迁移信息发起与待迁移的第一图数据分片所在第一数据存储节点之间的图数据迁移,以获取第一图数据分片的数据快照,图数据迁移信息包括第一图数据分片的分片标识和第一数据存储节点的节点标识,数据快照包括第一图数据分片在图数据迁移启动时的数据内容和数据位点;响应于图数据迁移完成,进入数据存储服务模式并向第一数据存储节点发送图数据分片删除通知,图数据分片删除通知用于通知第一数据存储节点删除第一图数据分片;以及在数据存储服务模式下,基于数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1010进行本说明书的各个实施例中以上结合图1-图9描述的各种操作和功能。
图11示出了根据本说明书的实施例的基于计算机系统实现的用于分布式图数据库的副本扩容系统1100的示例示意图。如图11所示,副本扩容系统1100可以包括至少一个处理器1110、存储器(例如,非易失性存储器)1120、内存1130和通信接口1140,并且至少一个处理器1110、存储器1120、内存1130和通信接口1140经由总线1160连接在一起。至少一个处理器1110执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1110:经由分布式图数据库的图数据分析层响应于接口层发起的副本扩容请求而确定图数据迁移信息并提供给待扩容的第二数据存储节点,图数据迁移信息根据待扩容副本的副本元数据和对应数据存储节点集群中的数据存储节点的节点存储状态信息确定,并且包括待迁移的第一图数据分片的分片标识和第一图数据分片所在第一数据存储节点的节点标识,副本元数据包括数据存储节点集群的图拓扑结构信息,点存储状态信息包括数据存储节点的可用存储容量;经由第二数据存储节点,响应于接收到图数据迁移信息进入仅数据拷贝模式,并基于图数据迁移信息发起与第一数据存储节点之间的图数据迁移,以获取第一图数据分片的数据快照,数据快照包括第一图数据分片在图数据迁移启动时的数据内容和数据位点;经由第二数据存储节点,响应于图数据迁移完成进入数据存储服务模式,向第一数据存储节点发送图数据分片删除通知,并基于数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步;以及经由第一数据存储节点,响应于所述图数据分片删除通知而删除第一图数据分片。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1110进行本说明书的各个实施例中以上结合图1-图9描述的各种操作和功能。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-图9描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
根据一个实施例,提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序当被处理器执行时,使得处理器执行本说明书的各个实施例中以上结合图1-图9描述的各种操作和功能。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (15)
1.一种用于分布式图数据库的副本扩容方法,所述副本扩容方法由待扩容的第二数据存储节点执行,所述副本扩容方法包括:
响应于接收到图数据迁移信息,进入仅数据拷贝模式并基于所述图数据迁移信息发起与待迁移的第一图数据分片所在第一数据存储节点之间的图数据迁移,以获取所述第一图数据分片的数据快照,所述图数据迁移信息包括所述第一图数据分片的分片标识和所述第一数据存储节点的节点标识,所述数据快照包括所述第一图数据分片在图数据迁移启动时的数据内容和数据位点;
响应于所述图数据迁移完成,进入数据存储服务模式并向所述第一数据存储节点发送图数据分片删除通知,所述图数据分片删除通知用于通知所述第一数据存储节点删除所述第一图数据分片;以及
在所述数据存储服务模式下,基于所述数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步。
2.如权利要求1所述的副本扩容方法,其中,所述图数据迁移信息由图数据分析层响应于副本扩容请求而根据待扩容副本的副本元数据和对应数据存储节点集群中的数据存储节点的节点存储状态信息确定,所述副本元数据包括数据存储节点集群的图拓扑结构信息,所述节点存储状态信息包括数据存储节点的可用存储容量。
3.如权利要求2所述的副本扩容方法,其中,所述副本元数据还包括所存储的图数据分片的分片大小,所述图数据迁移信息由所述图数据分析层使用负载均衡策略来根据待扩容副本的副本元数据和对应数据存储节点集群中的数据存储节点的节点存储状态信息确定。
4.如权利3所述的副本扩容方法,其中,所述数据存储节点的节点存储状态信息包括在所述副本元数据中。
5.如权利要求1所述的副本扩容方法,其中,在所述数据存储服务模式下,基于所述数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步包括:
将所述数据快照中的数据位点上报给所述图数据分析层,所述数据快照中的数据位点被所述图数据分析层使用来确定与所存储的元数据中的所述主副本中的对应第一图数据分片的数据位点之间的数据位点差异并提供给所述对应第一图数据分片所在第一数据存储节点;以及
通过所述对应第一图数据分片所在第一数据存储节点来基于所述数据位点差异发起针对所述第二数据存储节点的数据写入操作,执行与所述主副本的对应第一图数据分片之间的数据同步。
6.如权利要求1所述的副本扩容方法,其中,在所述数据存储服务模式下,基于所述数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步包括:
将所述数据快照中的数据位点经由所述图数据分析层转发给所述主副本的对应第一图数据分片所在第一数据存储节点,以供使用来确定与所存储的第一图数据分片的数据位点之间的数据位点差异;以及
通过所述对应第一图数据分片所在第一数据存储节点来基于所述数据位点差异发起针对所述第二数据存储节点的数据写入操作,执行与所述主副本的对应第一图数据分片之间的数据同步。
7.如权利要求1所述的副本扩容方法,其中,在副本扩容时,所述第一数据存储节点始终处于数据存储服务模式。
8.一种用于分布式图数据库的副本扩容方法,包括:
经由分布式图数据库的图数据分析层响应于接口层发起的副本扩容请求而确定图数据迁移信息并提供给待扩容的第二数据存储节点,所述图数据迁移信息根据待扩容副本的副本元数据和对应数据存储节点集群中的数据存储节点的节点存储状态信息确定,并且包括待迁移的第一图数据分片的分片标识和所述第一图数据分片所在第一数据存储节点的节点标识,所述副本元数据包括数据存储节点集群的图拓扑结构信息,所述节点存储状态信息包括数据存储节点的可用存储容量;
经由所述第二数据存储节点,响应于接收到所述图数据迁移信息进入仅数据拷贝模式,并基于所述图数据迁移信息发起与所述第一数据存储节点之间的图数据迁移,以获取所述第一图数据分片的数据快照,所述数据快照包括所述第一图数据分片在图数据迁移启动时的数据内容和数据位点;
经由所述第二数据存储节点,响应于所述图数据迁移完成进入数据存储服务模式,向所述第一数据存储节点发送图数据分片删除通知,并基于所述数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步;以及
经由所述第一数据存储节点,响应于所述图数据分片删除通知而删除所述第一图数据分片。
9.如权利要求8所述的副本扩容方法,其中,所述第一数据存储节点始终处于数据存储服务模式,所述副本扩容方法还包括:
响应于接收到图数据写入请求,经由所述第一数据存储节点执行图数据写处理来进行图数据同步。
10.一种用于分布式图数据库的副本扩容装置,所述副本扩容装置应用于待扩容的第二数据存储节点,所述副本扩容装置包括:
模式设置单元,响应于接收到图数据迁移信息而使得所述第二数据存储节点进入仅数据拷贝模式,以及响应于所述图数据迁移完成而使得所述第二数据存储节点进入数据存储服务模式,所述图数据迁移信息包括待迁移的第一图数据分片的分片标识和所述第一图数据分片所在第一数据存储节点的节点标识;
图数据迁移单元,在所述仅数据拷贝模式下,基于所述图数据迁移信息发起与所述第一数据存储节点之间的图数据迁移,以获取所述第一图数据分片的数据快照,所述数据快照包括所述第一图数据分片在图数据迁移启动时的数据内容和数据位点;
分片删除通知单元,向所述第一数据存储节点发送图数据分片删除通知,所述图数据分片删除通知用于通知所述第一数据存储节点删除所述第一图数据分片;以及
图数据同步单元,在所述数据存储服务模式下,基于所述数据快照中的数据位点,执行与主副本的对应第一图数据分片之间的数据同步。
11.如权利要求10所述的副本扩容装置,其中,所述图数据同步单元包括:
数据位点上报模块,将所述数据快照中的数据位点上报给所述图数据分析层,所述数据快照中的数据位点被所述图数据分析层使用来确定与所存储的元数据中的所述主副本中的对应第一图数据分片的数据位点之间的数据位点差异并提供给所述对应第一图数据分片所在第一数据存储节点;以及
图数据同步模块,通过所述对应第一图数据分片所在第一数据存储节点基于所述数据位点差异发起针对所述第二数据存储节点的数据写入操作,执行与所述主副本的对应第一图数据分片之间的数据同步。
12.如权利要求10所述的副本扩容装置,其中,所述图数据同步单元包括:
数据位点上报模块,将所述数据快照中的数据位点经由所述图数据分析层转发给所述主副本的对应第一图数据分片所在第一数据存储节点,以供使用来确定与所存储的第一图数据分片的数据位点之间的数据位点差异;以及
图数据同步模块,通过所述对应第一图数据分片所在第一数据存储节点基于所述数据位点差异发起针对所述第二数据存储节点的数据写入操作,执行与所述主副本的对应第一图数据分片之间的数据同步。
13.一种用于分布式图数据库的副本扩容的系统,包括:
接口层,包括副本扩容请求单元,向图数据分析层发起副本扩容请求;
图数据分析层,包括图数据迁移信息确定单元,响应于所述副本扩容请求而确定图数据迁移信息并提供给待扩容的第二数据存储节点,所述图数据迁移信息根据待扩容副本的副本元数据和对应数据存储节点集群中的数据存储节点的节点存储状态信息确定,并且包括待迁移的第一图数据分片的分片标识和所述第一图数据分片所在第一数据存储节点的节点标识,所述副本元数据包括数据存储节点集群的图拓扑结构信息,所述节点存储状态信息包括数据存储节点的可用存储容量;以及
图数据存储层,包括第一数据存储节点集群和待扩容的第二数据存储节点,
其中,所述第一数据存储节点集群中的第一数据存储节点包括:
数据快照生成单元,在启动与第二数据存储节点之间的图数据分片迁移时生成所述第一图数据分片的数据快照,所述数据快照包括所述第一图数据分片在图数据迁移启动时的数据内容和数据位点;
图数据分片删除单元,响应于接收到图数据分片删除通知,删除完成图数据迁移的第一图数据分片,
所述第二数据存储节点包括如权利要求10到12中任一所述的副本扩容装置。
14.一种用于分布式图数据库的副本扩容装置,所述副本扩容装置应用于待扩容的第二数据存储节点,所述副本扩容装置包括:
至少一个处理器;
与所述至少一个处理器耦合的存储器;以及
存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现如权利要求1到7中任一所述的用于分布式图数据库的副本扩容方法。
15.一种用于分布式图数据库的副本扩容的系统,包括:
至少一个处理器;
与所述至少一个处理器耦合的存储器;以及
存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现如权利要求8或9所述的用于分布式图数据库的副本扩容的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311704305.6A CN117667944B (zh) | 2023-12-12 | 2023-12-12 | 用于分布式图数据库的副本扩容方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311704305.6A CN117667944B (zh) | 2023-12-12 | 2023-12-12 | 用于分布式图数据库的副本扩容方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117667944A true CN117667944A (zh) | 2024-03-08 |
CN117667944B CN117667944B (zh) | 2024-06-18 |
Family
ID=90065951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311704305.6A Active CN117667944B (zh) | 2023-12-12 | 2023-12-12 | 用于分布式图数据库的副本扩容方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117667944B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118377835A (zh) * | 2024-06-21 | 2024-07-23 | 支付宝(杭州)信息技术有限公司 | 用于分布式图数据库的数据处理方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120239616A1 (en) * | 2011-03-18 | 2012-09-20 | Microsoft Corporation | Seamless upgrades in a distributed database system |
WO2017097059A1 (zh) * | 2015-12-07 | 2017-06-15 | 中兴通讯股份有限公司 | 分布式数据库系统及其自适应方法 |
CN109683826A (zh) * | 2018-12-26 | 2019-04-26 | 北京百度网讯科技有限公司 | 用于分布式存储系统的扩容方法和装置 |
CN109918386A (zh) * | 2019-01-31 | 2019-06-21 | 北京明略软件系统有限公司 | 一种数据恢复方法和装置、计算机可读存储介质 |
US20200044939A1 (en) * | 2018-08-01 | 2020-02-06 | Futurewei Technologies, Inc. | Interactive system for visualizing and maintaining large networks |
WO2022240906A1 (en) * | 2021-05-11 | 2022-11-17 | Strong Force Vcn Portfolio 2019, Llc | Systems, methods, kits, and apparatuses for edge-distributed storage and querying in value chain networks |
-
2023
- 2023-12-12 CN CN202311704305.6A patent/CN117667944B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120239616A1 (en) * | 2011-03-18 | 2012-09-20 | Microsoft Corporation | Seamless upgrades in a distributed database system |
WO2017097059A1 (zh) * | 2015-12-07 | 2017-06-15 | 中兴通讯股份有限公司 | 分布式数据库系统及其自适应方法 |
US20200044939A1 (en) * | 2018-08-01 | 2020-02-06 | Futurewei Technologies, Inc. | Interactive system for visualizing and maintaining large networks |
CN109683826A (zh) * | 2018-12-26 | 2019-04-26 | 北京百度网讯科技有限公司 | 用于分布式存储系统的扩容方法和装置 |
CN109918386A (zh) * | 2019-01-31 | 2019-06-21 | 北京明略软件系统有限公司 | 一种数据恢复方法和装置、计算机可读存储介质 |
WO2022240906A1 (en) * | 2021-05-11 | 2022-11-17 | Strong Force Vcn Portfolio 2019, Llc | Systems, methods, kits, and apparatuses for edge-distributed storage and querying in value chain networks |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118377835A (zh) * | 2024-06-21 | 2024-07-23 | 支付宝(杭州)信息技术有限公司 | 用于分布式图数据库的数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117667944B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109683826B (zh) | 用于分布式存储系统的扩容方法和装置 | |
CN108509153B (zh) | Osd选择方法、数据写入和读取方法、监控器和服务器集群 | |
US10162555B2 (en) | Deduplicating snapshots associated with a backup operation | |
CN106547859B (zh) | 一种多租户数据存储系统下的数据文件的存储方法及装置 | |
US11741046B2 (en) | Method and apparatus for creating system disk snapshot of virtual machine | |
CN103473277B (zh) | 文件系统的快照方法和装置 | |
CN117667944B (zh) | 用于分布式图数据库的副本扩容方法、装置及系统 | |
CN102594849B (zh) | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 | |
JP5823037B2 (ja) | インデックス構築方法、検索方法、検索デバイス、および検索システム | |
CN103761162A (zh) | 分布式文件系统的数据备份方法 | |
AU2014218837A1 (en) | Deduplication storage system with efficient reference updating and space reclamation | |
WO2015081473A1 (zh) | 异步复制方法、装置与系统 | |
CN108228678B (zh) | 一种多副本数据恢复方法及装置 | |
CN111831475B (zh) | 数据备份方法、装置、节点设备及可读存储介质 | |
CN109492049B (zh) | 用于区块链网络的数据处理、区块生成及同步方法 | |
CN112698926B (zh) | 数据处理方法、装置、设备、存储介质及系统 | |
WO2019057081A1 (zh) | 数据存储方法、数据查询方法、计算机设备及存储介质 | |
CN112632029B (zh) | 分布式存储系统的数据管理方法、装置及设备 | |
CN110928728A (zh) | 一种基于快照的虚拟机复制、切换方法及系统 | |
CN111026711A (zh) | 基于区块链数据存储方法、装置、计算机设备及存储介质 | |
EP2372552B1 (en) | Automated relocation of in-use multi-site protected data storage | |
CN112231150B (zh) | 数据库集群中故障数据库恢复方法和装置 | |
CN113986450A (zh) | 一种虚拟机备份方法及装置 | |
US10853892B2 (en) | Social networking relationships processing method, system, and storage medium | |
CN111488195B (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 |