一种数据同步方法、系统、设备及可读存储介质技术方案

技术编号:23609359 阅读:20 留言:0更新日期:2020-03-28 09:10
本发明专利技术公开了一种数据同步方法、系统、设备及可读存储介质,该方法包括以下步骤:从节点接收主节点发送的同步通知消息;解析同步通知消息以获得待数据同步的目标节点,以及具有最新版本数据的目标从节点;从目标从节点中拷贝最新版本数据至目标节点。在该方法中,将数据拷贝工作从原来的主节点负责,转为从节点进行,可大大降低主节点压力,保障了主节点的处理性能,进一步保障了集群稳定性和提升了集群性能。

A data synchronization method, system, device and readable storage medium

【技术实现步骤摘要】
一种数据同步方法、系统、设备及可读存储介质
本专利技术涉及计算机应用
,特别是涉及一种数据同步方法、系统、设备及可读存储介质。
技术介绍
在分布式集群中,通常把数据集中在主节点,并全部依靠主节点进行数据的对比拷贝,保障数据的一致性。随着分布式集群节点规模的不断增大,为保障数据一致性,主节点的负载压力越来越大,一方面主节点保障数据一致性已经越来越困难;另一方面,多节点集群消耗了主节点太多资源,越来越影响主节点的性能,增加了集群不稳定性。特别是在集群中节点规模很大的情况下,主节点的压力日渐增大,只通过主节点保障集群中所有节点数据的一致性已经变得十分困难,严重影响集群性能和稳定性。综上所述,如何有效地解决集群数据一致性等问题,是目前本领域技术人员急需解决的技术问题。
技术实现思路
本专利技术的目的是提供一种数据同步方法、系统、设备及可读存储介质,通过主节点掌控数据一致性的管控,而从节点实现数据拷贝,以降低保障数据一致性对主节点带来的压力,可保障集群性能和稳定性。为解决上述技术问题,本专利技术提供如下技术方案:一种数据同步方法,包括:从节点接收主节点发送的同步通知消息;解析所述同步通知消息以获得待数据同步的目标节点,以及具有最新版本数据的目标从节点;从所述目标从节点中拷贝所述最新版本数据至所述目标节点。优选地,还包括:向所述主节点发送当前数据版本号和节点信息,以便所述主节点确定所述目标节点和所述目标从节点。优选地,所述向所述主节点发送当前数据版本号和节点信息,包括:向局域网内广播所述当前数据版本号和所述节点信息,以便所述主节点基于所述当前数据版本号和所述节点信息所述确定所述目标节点和所述目标从节点。优选地,所述主节点基于所述当前数据版本号和所述节点信息所述确定所述目标节点和所述目标从节点,包括:所述主节点获取最新数据版本号,任选一个具有所述最新数据版本号的从节点为所述目标从节点;判断所述当前数据版本号是否为所述最新数据版本号;如果否,则将所述当前数据版本号对应的节点确定为所述目标节点。优选地,还包括:判断本地数据版本号是否为所述最新数据版本号;如果否,则将本地数据版本号更新为所述最新数据版本号,并将所述主节点确定为所述目标节点。一种数据同步系统,包括:部署了监听模块的主节点,多个部署了调度模块的从节点,其中多个所述调度模块同时仅启动一个;所述监听模块,用于监听各个所述从节点,并向所述调度模块发送同步通知信息;所述调度模块,用于解析所述同步通知消息以获得待数据同步的目标节点,以及具有最新版本数据的目标从节点;从所述目标从节点中拷贝所述最新版本数据至所述目标节点。优选地,所述从节点还部署了发送模块,所述发送模块,用于向所述监控模块发送当前数据版本号和节点信息,以便所述监控模块确定所述目标节点和所述目标从节点。优选地,所述监听模块、发送模块和调度模块之间通过套接字互相通信。一种数据同步设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述数据同步方法的步骤。一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据同步方法的步骤。应用本专利技术实施例所提供的方法,从节点接收主节点发送的同步通知消息;解析同步通知消息以获得待数据同步的目标节点,以及具有最新版本数据的目标从节点;从目标从节点中拷贝最新版本数据至目标节点。在本方法中,当主节点发现需要进行数据同步的目标节点,以及具有最新版本数据的目标从节点后,向从节点发送同步通知消息。从节点接收到该同步通知消息之后,便可通过解析同步通信消息的方式确定出待数据同步的目标节点以及具有最新版本数据的目标从节点。然后进需从目标从节点中拷贝最新版本数据至目标节点即可。数据拷贝工作从原来的主节点负责,转为从节点进行,可大大降低主节点压力,保障了主节点的处理性能,进一步保障了集群稳定性和提升了集群性能。相应地,本专利技术实施例还提供了与上述数据同步方法相对应的数据同步系统、设备和可读存储介质,具有上述技术效果,在此不再赘述。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中一种数据同步方法的实施流程图;图2为本专利技术实施例中一种数据同步系统的结构示意图;图3为本专利技术实施例中一种主从节点通信关系示意图;图4为本专利技术实施例中一种数据同步设备的结构示意图;图5为本专利技术实施例中一种数据同步设备的具体结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一:请参考图1,图1为本专利技术实施例中一种数据同步方法的流程图,该方法可应用于分布式集群中,该方法包括以下步骤:S101、从节点接收主节点发送的同步通知消息。在分布式集群中,通常包括一个主节点,多个从节点。接收主节点发送的同步通知消息的节点为多个从节点中的其中一个。也就是说,在本实施例中,接收同步通知消息的从节点为多个从节点中的任一个,而不是两个及两个以上的从节点均同时接收同步通知消息。具体的,可设置在每个从节点上部署调度模块,当调度模块启动后,便可节省主节点发送的同步通知消息。为避免冲突,在实际应用中,可仅启动一个调度模块。即哪个调度模块启动,其所属的从节点便可节省主节点发送的同步通知消息。其中,同步通知消息即为指出哪个或哪些节点的数据版本需要更新,且具有最新版本数据的节点信息。在执行步骤S101之前,主节点可以通过监听分布式集群中的各个从节点发送的当前数据版本号和节点信息的方式确定出是否发出同步通知消息。即,分布式集群中的各个从节点均可向主节点发送当前数据版本号和节点信息,以便主节点确定目标节点和目标从节点。其中,向主节点发送当前数据版本号和节点信息,包括:向局域网内广播当前数据版本号和节点信息,以便主节点基于当前数据版本号和节点信息确定目标节点和目标从节点。具体的,分布式集群中的各个节点可构建一个局域网,各个从节点可在局域网内广播当前数据版本号和节点信息。可在主节点上设置一个监听模块,以守护进程的方式运行在主节点上,通过监听特定的端口来接收报文,解析报文数据,获取当前集群中数据版本号信息和节点信息。例如,当分布式集群中有一本文档来自技高网
...

【技术保护点】
1.一种数据同步方法,其特征在于,包括:/n从节点接收主节点发送的同步通知消息;/n解析所述同步通知消息以获得待数据同步的目标节点,以及具有最新版本数据的目标从节点;/n从所述目标从节点中拷贝所述最新版本数据至所述目标节点。/n

【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:
从节点接收主节点发送的同步通知消息;
解析所述同步通知消息以获得待数据同步的目标节点,以及具有最新版本数据的目标从节点;
从所述目标从节点中拷贝所述最新版本数据至所述目标节点。


2.根据权利要求1所述的数据同步方法,其特征在于,还包括:
向所述主节点发送当前数据版本号和节点信息,以便所述主节点确定所述目标节点和所述目标从节点。


3.根据权利要求2所述的数据同步方法,其特征在于,所述向所述主节点发送当前数据版本号和节点信息,包括:
向局域网内广播所述当前数据版本号和所述节点信息,以便所述主节点基于所述当前数据版本号和所述节点信息所述确定所述目标节点和所述目标从节点。


4.根据权利要求2所述的数据同步方法,其特征在于,所述主节点基于所述当前数据版本号和所述节点信息所述确定所述目标节点和所述目标从节点,包括:
所述主节点获取最新数据版本号,任选一个具有所述最新数据版本号的从节点为所述目标从节点;
判断所述当前数据版本号是否为所述最新数据版本号;
如果否,则将所述当前数据版本号对应的节点确定为所述目标节点。


5.根据权利要求4所述的数据同步方法,其特征在于,还包括:
判断本地数据版本号是否为所述最新数据版本号;

【专利技术属性】
技术研发人员:杨建阁
申请(专利权)人:北京浪潮数据技术有限公司
类型:发明
国别省市:北京;11

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

1