数据同步的方法、装置、系统和非易失性存储介质制造方法及图纸

技术编号:20875610 阅读:24 留言:0更新日期:2019-04-17 11:25
本发明专利技术提供一种数据同步的方法、装置、系统和存储介质,该方法包括:接收步骤,从源数据方接收数据;注册监听步骤,接收多个节点的注册,对注册过的节点进行监听,以确定节点集群,并且根据注册的结果,确定所述节点集群中的主节点;时间事件发送步骤,所述主节点按照预定的时间间隔,发出时间事件;哈希计算步骤,获取所述节点集群中的每个节点,并将所述数据中与所述时间事件对应的数据作为同步数据,利用一致性哈希算法,将所述同步数据划分到所述每个节点中,同步步骤,所述每个节点同时将各自的同步数据同步到目标数据方。

【技术实现步骤摘要】
数据同步的方法、装置、系统和非易失性存储介质
本专利技术涉及数据同步的方法、装置、系统和非易失性存储介质。
技术介绍
数据同步,用于在多个数据系统间进行数据迁移。不同的业务需求,有着不同的实时性要求。在源数据产生后,通过某种机制能够让数据同步装置感知,然后将其同步至下游数据系统中。目前有一种数据同步的系统(CN107995302A),服务器向客户端代理组件发送数据更新通知指令,然后客户端代理组件执行更新操作。还有一种数据同步方法(CN108197263A),通过发布订阅系统将上下游系统连接。上游系统将数据更新信息发布至订阅系统中,触发下游系统执行更新操作。另外,还有一种数据同步方法及装置(CN108228814A),通过查询数据同步配置信息,确定目标数据库的地址,然后将数据表的数据变化信息同步到目标数据库。上述这些数据同步系统、方法和装置,本质上仍为发布订阅系统,其系统是被动式的,需要通过消息系统触发,且下游系统对数据的同步操作仍为单节点执行。而且,不具备水平扩展的能力,无法根据数量来扩大集群规模以保证同步实时性。也就是说,这些方式只适合小批量数据的离线处理,无法进行大规模数据的实时同步,无法满足实时性业务的要求。
技术实现思路
本专利技术提供一种数据同步的方法,该方法包括:接收步骤,从源数据方接收数据;注册监听步骤,接收多个节点的注册,对注册过的节点进行监听,以确定节点集群,并且根据注册的结果,确定所述节点集群中的主节点;时间事件发送步骤,所述主节点按照预定的时间间隔,发出时间事件;哈希计算步骤,获取所述节点集群中的每个节点,并将所述数据中与所述时间事件对应的数据作为同步数据,利用一致性哈希算法,将所述同步数据划分到所述每个节点中,同步步骤,所述每个节点同时将各自的同步数据同步到目标数据方。其中,在所述注册监听步骤中,所述注册包括登记和抢主,对登记过的节点的状态进行监听,将状态为正常的节点组成所述节点集群,并将所述节点集群中抢主成功的节点作为所述主节点,将所述节点集群中的其他节点作为从节点。其中,在所述哈希计算步骤中,进一步包括:利用所述一致性哈希算法,对所述每个节点分别进行计算,以便将所述每个节点分别映射到哈希环上;利用一致性哈希算法,对所述同步数据分别进行计算,以便将所述同步数据分别一一映射到所述哈希环上;将所述哈希环上的所述同步数据,按照顺时针方向分别落入所述哈希环上的对应节点中,从而将所述同步数据划分到所述每个节点中。其中,在所述注册监听步骤中,当所述主节点的所述状态是非正常时,将所述从节点组成所述节点集群,并通知所述从节点进行抢主,将抢主成功的节点作为主节点。其中,在所述注册监听步骤中,当有新的节点进行登记时,将所述新的节点增加到所述节点集群中,作为从节点。其中,在所述注册监听步骤中,当监听到所述从节点中的节点的所述状态是非正常时,将非正常的节点从所述节点集群中删除。其中,在所述同步步骤中,当所述节点集群中的从节点接收到所述时间事件时,所述主节点和所述从节点同时将各自的同步数据同步到所述目标数据方。本专利技术还提供一种数据同步的装置,该装置包括:多个节点;接收单元,从源数据方接收数据;注册和监听单元,接收多个节点的注册,对注册过的节点进行监听,以确定节点集群,并且根据注册的结果,确定所述节点集群中的主节点;所述主节点按照预定的时间间隔,发出时间事件;哈希计算单元,获取所述节点集群中的每个节点,并将所述数据中与所述时间事件对应的数据作为同步数据,利用一致性哈希算法,将所述同步数据划分到所述每个节点中,所述每个节点同时将各自的同步数据同步到目标数据方。本专利技术还提供一种非易失性存储介质,在所述非易失性存储介质上存储有数据同步的程序,所述程序被计算机执行以实现数据同步的方法,该程序包括:接收指令,从源数据方接收数据;注册监听指令,对注册过的节点进行监听,以确定节点集群,并且根据注册的结果,确定所述节点集群中的主节点;时间事件发送指令,所述主节点按照预定的时间间隔,发出时间事件;哈希计算指令,获取所述节点集群中的每个节点,并将所述数据中与所述时间事件对应的数据作为同步数据,利用一致性哈希算法,将所述同步数据划分到所述每个节点中,同步指令,所述每个节点同时将各自的同步数据同步到目标数据方。通过本专利技术,可以实现主动式的数据同步,可以快速对大批量的数据进行同步。在节点出现故障时,可以确保数据同步不受影响,可以根据数据量(即,业务需求)进行水平扩展,降低数据同步的延迟。附图说明图1是根据本专利技术实施例的数据同步系统的结构图;图2是根据本专利技术实施例的数据同步装置的结构图;图3是根据本专利技术实施例的数据同步的方法的流程图。具体实施方式下面结合附图,对本专利技术的实施例进行详细说明。图1是根据本专利技术实施例的数据同步系统10的结构图,如图1所示,该数据同步系统10包括源数据方11、数据同步装置12和目标数据方13。源数据方11和目标数据方13例如是不同的数据系统或数据库等等。图2是根据本专利技术实施例的数据同步装置12的结构图,如图2所示,该数据同步装置12包括节点1、节点2、节点3、接收单元121、注册和监听单元122、哈希计算单元123。本实施例中,节点有3个,但是节点的数量并不受限制,可以是任意个,并且可以增加或减少任意个节点。其中,节点例如是服务器。图3是根据本专利技术实施例的数据同步方法的流程图。如图3所示,在步骤S31,接收单元121从源数据方11接收数据。该数据可以是单个业务的数据,也可以是多个业务的数据。在步骤S32,注册和监听单元122接收多个节点的注册,对注册过的节点进行监听,以确定节点集群,并且根据注册的结果,确定节点集群中的主节点。其中,注册包括登记和抢主,注册和监听单元122对登记过的节点的状态进行监听,将状态为正常的节点组成节点集群,并将节点集群中抢主成功的节点作为主节点,将节点集群中的其他节点作为从节点。具体的,节点1、节点2、节点3在启动时分别在注册和监听单元122进行登记,以通知这些节点的存在。这里,每个节点都会在启动时在注册和监听单元122中进行登记。注册和监听单元122对登记过的节点1、节点2、节点3的状态进行监听,将状态为正常的节点组成节点集群。例如,节点1、节点2、节点3各自的状态都是正常,那么就将节点1、节点2、节点3组成节点集群。另外,节点1、节点2、节点3还在注册和监听单元122中进行抢主,注册和监听单元122将该节点集群中抢主成功的节点作为主节点,将该节点集群中的其他节点作为从节点。例如,节点1抢主成功,则节点1是主节点,节点2、节点3是从节点。也就是说,目前的节点集群包括主节点1以及从节点2、节点3。其中,节点集群是在注册和监听单元122中登记过的且注册和监听单元122确定其状态为正常的节点的集合。在步骤S33,主节点1按照预定的时间间隔,发出时间事件到注册和监听单元122。例如,主节点1每隔1秒发出时间事件,即,主节点1定时发出时间事件到注册和监听单元122。该时间事件具有时间字段,对应于具体的时间范围。接着,在步骤S34,哈希计算单元123获取节点集群中的每个节点,并将数据中与时间事件对应的数据作为同步数据,利用一致性哈希算法,将同步数据划分到每个节点中。具体的,哈希计算单元1本文档来自技高网...

【技术保护点】
1.一种数据同步的方法,其特征在于,所述方法包括:接收步骤,从源数据方接收数据;注册监听步骤,接收多个节点的注册,对注册过的节点进行监听,以确定节点集群,并且根据注册的结果,确定所述节点集群中的主节点;时间事件发送步骤,所述主节点按照预定的时间间隔,发出时间事件;哈希计算步骤,获取所述节点集群中的每个节点,并将所述数据中与所述时间事件对应的数据作为同步数据,利用一致性哈希算法,将所述同步数据划分到所述每个节点中,同步步骤,所述每个节点同时将各自的同步数据同步到目标数据方。

【技术特征摘要】
1.一种数据同步的方法,其特征在于,所述方法包括:接收步骤,从源数据方接收数据;注册监听步骤,接收多个节点的注册,对注册过的节点进行监听,以确定节点集群,并且根据注册的结果,确定所述节点集群中的主节点;时间事件发送步骤,所述主节点按照预定的时间间隔,发出时间事件;哈希计算步骤,获取所述节点集群中的每个节点,并将所述数据中与所述时间事件对应的数据作为同步数据,利用一致性哈希算法,将所述同步数据划分到所述每个节点中,同步步骤,所述每个节点同时将各自的同步数据同步到目标数据方。2.如权利要求1所述的方法,其特征在于,在所述注册监听步骤中,所述注册包括登记和抢主,对登记过的节点的状态进行监听,将状态为正常的节点组成所述节点集群,并将所述节点集群中抢主成功的节点作为所述主节点,将所述节点集群中的其他节点作为从节点。3.如权利要求2所述的方法,其特征在于,在所述哈希计算步骤中,进一步包括:利用所述一致性哈希算法,对所述每个节点分别进行计算,以便将所述每个节点分别映射到哈希环上;利用一致性哈希算法,对所述同步数据分别进行计算,以便将所述同步数据分别一一映射到所述哈希环上;将所述哈希环上的所述同步数据,按照顺时针方向分别落入所述哈希环上的对应节点中,从而将所述同步数据划分到所述每个节点中。4.如权利要求3所述的方法,其特征在于,在所述注册监听步骤中,当所述主节点的所述状态是非正常时,将所述从节点组成所述节点集群,并通知所述从节点进行抢主,将抢主成功的节点作为主节点。5.如权利要求3所述的方法,其特征在于,在所述注册监听步骤中,当有新的节点进行登记时,将所述新的节点增加到所述节点集群中,作为从节点。6.如权利要求3所述的方法,其特征在于,在所述注册监听步骤中,当监听到所述从节点中的节点的所述状态是非正常时,将非正常的节点从所述节点集群中删除。7.如权利要求1-6中任一项所述的方法,其特征在于,在所述同步步骤中,当所述节点集群中的从节点接收到所述时间事件时,所述主节点和所述从节点同时将各自的同步数据同步到所述目标数据方。8.一种数据同步的装置,其特征在于,所述装置包括:多个节点;接收单元,从源数据方接收数据;注册和监听单元,接收多个节点的注册,对注册过的节点进行监听,以确定节点集群,并且根据注册的结果,确定所述节点集群中的主节点;所述主节点按照预定的时间间隔,发出时间事件;哈希计算单元,获取所述节点集群中的每个节点,并将所述数据中与所述...

【专利技术属性】
技术研发人员:郑健宋翔范融
申请(专利权)人:优刻得科技股份有限公司
类型:发明
国别省市:上海,31

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

1