【技术实现步骤摘要】
分布式系统、数据同步与节点管理方法、设备及存储介质
本申请涉及数据库
,尤其涉及一种分布式系统、数据同步与节点管理方法、设备及存储介质。
技术介绍
在分布式系统中,大多数节点的数据保持同步,其中部分节点故障,其它节点可继续使用,系统仍处于可用状态,系统具有较高的可靠性。对分布式系统来说,保证可靠性的关键就是多数节点之间数据的一致性问题。在现有技术中,借助于预写日志(Write-AheadLogging,WAL)系统,通过同步WAL日志在多数节点之间保证数据的一致性,但是具有一定延迟。
技术实现思路
本申请的多个方面提供一种分布式系统、数据同步与节点管理方法、设备及存储介质,用以降低数据同步的延迟,提高数据同步效率,实现多数节点之间数据的一致性。本申请实施例提供一种分布式系统,包括:领导节点设备和非领导节点设备,所述领导节点设备和非领导节点设备具有非易失性NVM内存;所述领导节点设备面向客户端,用于将客户端提交的数据写入自身的NVM内存中,并向所述非领导节点设备同步自身NVM内存中的数据;所述非领导节点设备,用于将所述领导节点设备同步的数据写入自身NVM内存中。本申请实施例还提供一种数据同步方法,适用于分布式系统中的领导节点设备,所述方法包括:确定需要向分布式系统中的非领导节点设备同步自身NVM内存中的数据;向所述非领导节点设备同步自身NVM内存中的数据,以供所述非领导节点设备将同步的数据写入其NVM内存中。本申请实施例还提供一种数据同步方法,适用于分布式系统中 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。