分布式系统、数据同步与节点管理方法、设备及存储介质技术方案

技术编号:24331168 阅读:27 留言:0更新日期:2020-05-29 19:39
本申请实施例提供一种分布式系统、数据同步与节点管控方法、设备及存储介质。在本申请实施例中,分布式系统中的节点设备采用NVM内存,借助于NVM内存的非易失性,在节点设备之间进行数据一致性同步的过程中,数据可以直接从一个节点设备的NVM内存中同步到另一节点设备的NVM内存中,省掉了写WAL日志的操作,可减少写WAL日志带来的延迟,有利于提高数据同步效率,实现多数节点之间数据的一致性。

Distributed system, data synchronization and node management method, equipment and storage medium

【技术实现步骤摘要】
分布式系统、数据同步与节点管理方法、设备及存储介质
本申请涉及数据库
,尤其涉及一种分布式系统、数据同步与节点管理方法、设备及存储介质。
技术介绍
在分布式系统中,大多数节点的数据保持同步,其中部分节点故障,其它节点可继续使用,系统仍处于可用状态,系统具有较高的可靠性。对分布式系统来说,保证可靠性的关键就是多数节点之间数据的一致性问题。在现有技术中,借助于预写日志(Write-AheadLogging,WAL)系统,通过同步WAL日志在多数节点之间保证数据的一致性,但是具有一定延迟。
技术实现思路
本申请的多个方面提供一种分布式系统、数据同步与节点管理方法、设备及存储介质,用以降低数据同步的延迟,提高数据同步效率,实现多数节点之间数据的一致性。本申请实施例提供一种分布式系统,包括:领导节点设备和非领导节点设备,所述领导节点设备和非领导节点设备具有非易失性NVM内存;所述领导节点设备面向客户端,用于将客户端提交的数据写入自身的NVM内存中,并向所述非领导节点设备同步自身NVM内存中的数据;所述非领导节点设备,用于将所述领导节点设备同步的数据写入自身NVM内存中。本申请实施例还提供一种数据同步方法,适用于分布式系统中的领导节点设备,所述方法包括:确定需要向分布式系统中的非领导节点设备同步自身NVM内存中的数据;向所述非领导节点设备同步自身NVM内存中的数据,以供所述非领导节点设备将同步的数据写入其NVM内存中。本申请实施例还提供一种数据同步方法,适用于分布式系统中的非领导节点设备,所述方法包括:接收分布式系统中的领导节点设备从其NVM内存中同步的数据;将所述领导节点设备同步的数据写入自身NVM内存中。本申请实施例还提供一种节点设备,作为分布式系统中的领导节点设备实现,所述节点设备包括:存储器、处理器和通信组件;所述存储器,用于存储计算机程序,所述存储器包括NVM内存;所述处理器,与所述存储器耦合,用于执行所述存储器中的计算机程序,以用于:确定需要向分布式系统中的非领导节点设备同步自身NVM内存中的数据;通过所述通信组件向所述非领导节点设备同步自身NVM内存中的数据,以供所述非领导节点设备将同步的数据写入其NVM内存中。本申请实施例还提供一种节点设备,作为分布式系统中的非领导节点设备实现,所述节点设备包括:存储器、处理器和通信组件:所述存储器,用于存储计算机程序,所述存储器包括NVM内存;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:通过所述通信组件接收分布式系统中的领导节点设备从其NVM内存中同步的数据;将所述领导节点设备同步的数据写入自身NVM内存中。本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现本申请实施例提供的数据同步方法中的步骤。本申请实施例还提供一种节点管控方法,适用于节点管控设备,所述方法包括:确定分布式系统中的领导节点设备和非领导节点设备,所述领导节点设备和非领导节点设备具有非易失性NVM内存;以及对所述领导节点设备和非领导节点设备进行功能配置;其中,所述领导节点设备被配置为:将客户端提交的数据写入自身的NVM内存中,并向所述非领导节点设备同步自身NVM内存中的数据;所述非领导节点设备被配置为:将所述领导节点设备同步的数据写入自身NVM内存中。在本申请实施例中,分布式系统中的节点设备采用NVM内存,借助于NVM内存的非易失性,在节点设备之间进行数据一致性同步的过程中,数据可以直接从一个节点设备的NVM内存中同步到另一节点设备的NVM内存中,省掉了写WAL日志的操作,可减少写WAL日志带来的延迟,有利于提高数据同步效率,实现多数节点之间数据的一致性。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请示例性实施例提供的一种分布式系统的结构示意图;图2a为本申请示例性实施例提供的一种领导节点设备向自身NVM内存中写入数据的状态示意图;图2b为本申请示例性实施例提供的领导节点设备从自身NVM内存向非领导节点设备的NVM内存同步数据的状态示意图;图2c和图2d为本申请示例性实施例提供的领导节点设备切换后新的领导节点设备删除NVM内存中非连续存储的数据的状态示意图;图3为本申请示例性实施例提供的一种数据同步方法的流程示意图;图4a本申请示例性实施例提供的另一种数据同步方法的流程示意图;图4b为本申请示例性实施例提供的一种节点管控方法的流程示意图;图5为本申请示例性实施例提供的一种节点设备的结构示意图图6为本申请示例性实施例提供的另一种节点设备的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。针对现有分布式系统中多数节点之间在保证数据一致性方面具有一定延迟的技术问题,在本申请一些实施例中,分布式系统中的节点设备采用NVM内存,借助于NVM内存的非易失性,在节点设备之间进行数据一致性同步的过程中,数据可以直接从一个节点设备的NVM内存中同步到另一节点设备的NVM内存中,省掉了写WAL日志的操作,可减少写WAL日志带来的延迟,有利于提高数据同步效率,实现多数节点之间数据的一致性。以下结合附图,详细说明本申请各实施例提供的技术方案。图1为本申请示例性实施例提供的一种分布式系统的结构示意图。如图1所示,该分布式系统100包括:多个节点设备10。多个节点设备10具有非易失性(Non-VolatileMemory,NVM)内存11,可以存储数据。NVM内存是一种在断电后所存储的数据不会消失的存储器或存储设备,其延迟比普通的固态硬盘要低若干数量级,读写速度接近于易失性的内存。如图1所示,除了NVM内存之外,节点设备10还包括:CPU12、网卡13、IO接口14等其他组件。本实施例中的节点设备10可以是任何具有数据存储能力、计算能力和通信能力的计算机设备。例如,节点设备10可以是台式电脑、笔记本电脑、智能手机或IOT设备等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。另外,分布式系统100中的多个节点设备10可以是同一类型的设备,也可以是多种不同类型的设备。其中,多个节点设备10之间可以相互通信、相互协作,共同完成相应任务。其中,多个节点设备10之间的通信连接可以是有线连接,也可以是无线连接。若多个节点设备10之间通过移动网络通信连接,所述移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、本文档来自技高网...

【技术保护点】
1.一种分布式系统,包括:领导节点设备和非领导节点设备,所述领导节点设备和非领导节点设备具有非易失性NVM内存;/n所述领导节点设备面向客户端,用于将客户端提交的数据写入自身的NVM内存中,并向所述非领导节点设备同步自身NVM内存中的数据;/n所述非领导节点设备,用于将所述领导节点设备同步的数据写入自身NVM内存中。/n

【技术特征摘要】
1.一种分布式系统,包括:领导节点设备和非领导节点设备,所述领导节点设备和非领导节点设备具有非易失性NVM内存;
所述领导节点设备面向客户端,用于将客户端提交的数据写入自身的NVM内存中,并向所述非领导节点设备同步自身NVM内存中的数据;
所述非领导节点设备,用于将所述领导节点设备同步的数据写入自身NVM内存中。


2.根据权利要求1所述的系统,所述领导节点设备具体用于:为客户端提交的数据分配序号,以并行写入方式将客户端提交的数据按序写入自身NVM内存中;以及向所述非领导节点设备同步自身NVM内存中的数据及其序号。


3.根据权利要求2所述的系统,所述非领导节点设备具体用于:根据所述领导节点设备同步的数据的序号,以并行方式将所述领导节点设备同步的数据按序写入自身NVM内存中。


4.根据权利要求3所述的系统,所述领导节点设备或所述非领导节点还用于:在每次并行写入操作结束后,更新所记录的基准序号;其中,所述基准序号指向所述领导节点设备或所述非领导节点设备自身NVM内存中连续存储的数据。


5.根据权利要求4所述的系统,所述基准序号是所述领导节点设备或所述非领导节点设备自身NVM内存中连续存储的数据中的最大序号。


6.根据权利要求1所述的系统,在所述非领导节点设备被选举成为新的领导节点设备的情况下,所述被选举出的新的领导节点设备还用于执行以下至少一种操作:
根据所记录的基准序号,将自身NVM内存中非连续存储的数据删除;
向未被选举成为新的领导节点设备的非领导节点设备通知其被选举成为新的领导节点设备;
向未被选举成为新的领导节点设备的非领导节点设备同步其自身NVM内存中的数据;
其中,所述基准序号指向所述被选举出的新的领导节点设备自身NVM内存中连续存储的数据。


7.根据权利要求6所述的系统,所述被选举出的新的领导节点设备在通知其被选举成为新的领导节点设备时,具体用于:
向未被选举成为新的领导节点设备的非领导节点设备发送一个空数据,以通知未被选举成为新的领导节点设备的非领导节点设备其被选举成为新的领导节点设备;
其中,所述空数据携带有第一序号,表示将从所述第一序号开始向未被选举成为新的领导节点设备的非领导节点设备同步其自身NVM内存中的数据;所述第一序号是其自身NVM内存中连续存储的数据中的最大序号的下一序号。


8.根据权利要求7所述的系统,所述被选举出的新的领导节点设备在同步其自身NVM内存中的数据时,具体用于:
若接收到未被选举成为新的领导节点设备的非领导节点设备返回的第二序号,依据未被选举成为新的领导节点设备的非领导节点设备返回的第二序号,向未被选举成为新的领导节点设备的非领导节点设备同步其自身NVM内存中的数据;
其中,所述第二序号不同于所述第一序号,是未被选举成为新的领导节点设备的非领导节点设备需要被选举出的新的领导节点设备向其同步数据的起始序号。


9.根据权利要求8所述的系统,所述被选举出的新的领导节点设备在同步其自身NVM内存中的数据时,具体用于:
确定未被选举成为新的领导节点设备的非领导节点设备返回的第二序号中的最小序号,从所述最小序号开始,向未被选举成为新的领导节点设备的非领导节点设备同步其自身NVM内存中的数据;或者
对每个未被选举成为新的领导节点设备的非领导节点设备,从所述未被选举成为新的领导节点设备的非领导节点设备返回的第二序号开始,向所述未被选举成为新的领导节点设备的非领导节点设备同步其自身NVM内存中的数据。


10.根据权利要求8所述的系统,未被选举成为新的领导节点设备的非领导节点设备还用于:在向所述被选举出的新的领导节点设备返回第二序号之前,接收所述被选举出的新的领导节点设备发送的通知,并根据所记录的基准序号,将自身NVM内存中非连续存储的数据删除。


11.根据权利要求1-10任一项所述的系统,所述非领导节点设备还用于:在选举机制被触发的情况下,判断自身是否可以作为候选节点设备;并在自身可以作为候选节点设备的情况下,向非候选节点设备发送选举请求,以参与新的领导节点设备的选举过程。


12.根据权利要求11所述的系统,所述候选节点设备具体用于:将所记录的基准序号携带在选举请求中发送给所述非候选节点设备;
所述非候选节点设备具体用于:根据接收到的选举请求中携带的基准序号,从所述候选节点设备中选举出新的领导节点设备;向所述新的领导节点设备返回选举成功消息;
其中,所述基准序号指向所述候选节点设备自身NVM内存中连续存储的数据。


13.根据权利要求12所述的系统,所述非候选节点设备在从所述候选节点设备中选举出新的领导节点设备时,具体用于:将接收到的选举请求中携带的基准序号进行比较,将最大基准序号对应的候选节点设备作为新的领导节点设备。


14.一种数据同步方法,适用于分布式系统中的领导节点设备,所述方法包括:
确定需要向分布式系统中的非领导节点设备同步自身NVM内存中的数据;
向所述非领导节点设备同步自身NVM内存中的数据,以供所述非领导节点设备将同步的数据写入其NVM内存中。


15.根据权利要求14所述的方法,在确定需要向分布式系统中的非领导节点设备同步自身NVM内存中的数据之前,所述方法还包括:
接收客户端提交的数据,并将客户端提交的数据写入自身的NVM内存中。


16.根据权利要求15所述的方法,所述将客户端提交的数据写入自身的NVM内存中,包括:
为客户端提交的数据分配序号;
以并行写入方式将客户端提交的数据按序写入自身NVM内存中。


17.根据权利要求16所述的方法,所述向所述非领导节点设备同步自身NVM内存中的数据,以供所述非领导节点设备将同步的数据写入其NVM内存中,包括:
向所述非领导节点设备同步自身NVM内存中的数据及其序号,以供所述非领导节点设备以并行方式将同步的数据按序写入其NVM内存中。


18.根据权利要求16所述的方法,所述方法还包括:
在每次并行写入操作结束后,更新所记录的基准序号;其中,所述基准序号指向所述领导节点设备自身NVM内存中连续存储的数据。


19.一种数据同步方法,适用于分布式系统中的非领导节点设备,所述方法包括:
接收分布式系统中的领导节点设备从其NVM内存中同步的数据;
将所述领导节点设备同步的数据写入自身NVM内存中。


20.根据权利要求19所述的方法,所述接收分布式系统中的领导节点设备从其NVM内存中同步的数据,包括:
接收所述领导节点设备从其NVM内存中同步的数据及其序号;
根据所述领导节点设备同步的数据的序号,以并行方式将所述领导节点设备同步的数据按序写入自身NVM内存中。


21.根据权利要求20所述的方法,所述方法还包括:
在每次并行写入操作结束后,更新所记录的基准序号;其中,所述基准序号指向所述非领导节点设备自身NVM内存中连续存储的数据。...

【专利技术属性】
技术研发人员:王鲁俊黄贵王剑英
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1