分布式系统中主从节点同步链路的存活检测方法及装置制造方法及图纸

技术编号:18142381 阅读:25 留言:0更新日期:2018-06-06 14:22
本发明专利技术公开了一种分布式系统中主从节点同步链路的存活检测方法及装置。其中,所述方法包括:主节点通过同步链路向从节点发送携带动态租约期限的同步命令;其中,动态租约期限是主节点根据时间片长度以及待同步任务队列长度而确定的;从节点接收到主节点发送的同步命令后,执行同步操作,并根据动态租约期限更新从节点侧的动态租约;从节点检测从节点侧的动态租约是否过期,若是,从节点向主节点发起重建链路请求。上述方案无需增加额外的心跳链路便可实现对分布式系统中主从节点同步链路存活状态的检测,从而降低了系统开销,并避免了现有技术中因心跳链路与同步链路不一致而导致的检测准确度较低的弊端。

【技术实现步骤摘要】
分布式系统中主从节点同步链路的存活检测方法及装置
本专利技术涉及计算机
,具体涉及一种分布式系统中主从节点同步链路的存活检测方法及装置。
技术介绍
主从结构的分布式系统以其具有高灵活性,高数据可靠性,低服务节点负荷,较高的数据的读写效率,以及可实现读写分离等特点,已成为一种常用的数据库结构。在主从结构的分布式系统中,主从节点通常通过主从节点间建立的同步链路来实现主从节点的数据同步。为保证主从节点数据同步的正常进行,通常需对主从节点间建立的同步链路的存活状态进行检测。现有技术中通常通过外设的心跳链路来向主从节点发送对方的心跳信息,从而来检测主从节点间同步链路的存活状态,例如,若从节点接收到主节点发送的心跳信息,则确定主从节点间的同步链路处于存活状态;若从节点未接收到主节点发送的心跳信息,则确定主从节点间的同步链路处于异常状态。然而,上述检测同步链路存活状态的方法中增加了额外的心跳链路,从而增加了系统开销;并且,心跳链路与同步链路为两个分离的链路,所以通过心跳链路检测同步链路的存活状态的准确性较低,例如,当主节点的向从节点发送同步数据的端口被封时,主从节点的同步链路中断,然而主节点仍可以向从节点发送心跳信息,使得通过心跳链路检测到主从节点之间的同步链路仍处于存活状态,从而使得检测结果与实际不符。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的分布式系统中主从节点同步链路的存活检测方法及装置。根据本专利技术的一个方面,提供了一种分布式系统中主从节点同步链路的存活检测方法,包括:主节点通过同步链路向从节点发送携带动态租约期限的同步命令;其中,所述动态租约期限是主节点根据时间片长度以及待同步任务队列长度而确定的;从节点接收到主节点发送的同步命令后,执行同步操作,并根据动态租约期限更新从节点侧的动态租约;从节点检测所述从节点侧的动态租约是否过期,若是,所述从节点向主节点发起重建链路请求。根据本专利技术的另一方面,提供了一种分布式系统中主从节点同步链路的存活检测装置,包括:发送模块,适于主节点通过同步链路向从节点发送携带动态租约期限的同步命令;其中,所述动态租约期限是主节点根据时间片长度以及待同步任务队列长度而确定的;更新模块,适于从节点接收到主节点发送的同步命令后,执行同步操作,并根据动态租约期限更新从节点侧的动态租约;检测模块,适于从节点检测所述从节点侧的动态租约是否过期;重建模块,适于若检测模块检测的所述从节点侧的动态租约过期,所述从节点向主节点发起重建链路请求。根据本专利技术的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述分布式系统中主从节点同步链路的存活检测方法对应的操作。根据本专利技术的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述分布式系统中主从节点同步链路的存活检测方法对应的操作。根据本专利技术提供的分布式系统中主从节点同步链路的存活检测方法及装置,首先,主节点通过同步链路向从节点发送携带动态租约期限的同步命令;其中,所述动态租约期限是主节点根据时间片长度以及待同步任务队列长度而确定的;从节点接收到主节点发送的同步命令后,执行同步操作,并根据动态租约期限更新从节点侧的动态租约;从节点检测所述从节点侧的动态租约是否过期,若是,所述从节点向主节点发起重建链路请求。采用本方案,无需增加额外的心跳链路便可实现对分布式系统中主从节点同步链路存活状态的检测,从而降低了系统开销,并避免了现有技术中因心跳链路与同步链路不一致而导致的检测准确度较低的弊端。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例提供的分布式系统中主从节点同步链路的存活检测方法的流程示意图;图2示出了根据本专利技术另一个实施例提供的分布式系统中主从节点同步链路的存活检测方法的流程示意图;图3示出了根据本专利技术一个实施例提供的分布式系统中主从节点同步链路的存活检测装置的结构框图;图4示出了根据本专利技术一个实施例提供的一种计算设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例提供的分布式系统中主从节点同步链路的存活检测方法的流程示意图。如图1所示,该方法包括:步骤S110,主节点通过同步链路向从节点发送携带动态租约期限的同步命令。具体地,在主节点通过同步链路向从节点发送同步命令的过程中,在同步命令中添加动态租约期限。其中,动态租约期限为主节点向从节点发送消息的承诺期限,即主节点需在动态租约期限内向从节点发送同步命令或其他消息等。可选的,主节点可在向从节点发送的每个同步命令中添加动态租约期限,也可在向从节点发送的某个或某几个同步命令中添加动态租约期限,如每隔预设周期向从节点发送的同步命令中添加动态租约期限。其中,动态租约期限的设置会影响对同步链路存活状态的检测性能,例如,当动态租约期限设置过长时,将无法及时反馈同步链路的存活状态;而当动态租约期限设置过短时,将导致动态租约过期的频率大幅提高,从而导致后续步骤中从节点向主节点发起重建链路请求大幅增加,增加系统负载。因此,本实施例中的动态租约期限是主节点根据时间片长度以及待同步任务队列长度而确定的。从而可根据主从节点同步任务的具体情况动态地设置动态租约期限,提高动态租约期限的合理性。例如,在具体的实施过程中,为便于对主从节点同步任务的管理及执行,将主从节点间待同步的任务置于待同步任务队列中,每个待同步任务均有其相对应的时间片长度,当线程执行某一待同步任务的时间片结束后,则该线程停止执行该同步任务,并执行另一待同步任务。所以,本步骤中根据时间片长度以及待同步任务队列长度来确定动态租约期限可提高动态租约期限的合理性,进而提高系统整体的性能。步骤S120,从节点接收到主节点发送的同步命令后,执行同步操作,并根据动态租约期限更新从节点侧的动态租约。从节点在接收到主节点发送的同步命令后,根据该同步命令进行同步操作。并且,从节点侧维护有相应的动态租约,当从节点接收到的同步命令中携带有动态租约期限时,从节点根据动态租约期限更新从节点侧的动态租约。步骤S130,从节点检测从节点侧的动态租约是否过期,若是,从节点向主节点发起重建链路请求。具体地,从节点根据当前时间检测从节点侧的动态租约是否过期,若动态租约过期,则表明主节本文档来自技高网...
分布式系统中主从节点同步链路的存活检测方法及装置

【技术保护点】
一种分布式系统中主从节点同步链路的存活检测方法,包括:主节点通过同步链路向从节点发送携带动态租约期限的同步命令;其中,所述动态租约期限是主节点根据时间片长度以及待同步任务队列长度而确定的;从节点接收到主节点发送的同步命令后,执行同步操作,并根据动态租约期限更新从节点侧的动态租约;从节点检测所述从节点侧的动态租约是否过期,若是,所述从节点向主节点发起重建链路请求。

【技术特征摘要】
1.一种分布式系统中主从节点同步链路的存活检测方法,包括:主节点通过同步链路向从节点发送携带动态租约期限的同步命令;其中,所述动态租约期限是主节点根据时间片长度以及待同步任务队列长度而确定的;从节点接收到主节点发送的同步命令后,执行同步操作,并根据动态租约期限更新从节点侧的动态租约;从节点检测所述从节点侧的动态租约是否过期,若是,所述从节点向主节点发起重建链路请求。2.根据权利要求1所述的方法,其中,所述动态租约中包含租约起始时间以及动态租约期限。3.根据权利要求2所述的方法,其中,所述从节点检测所述从节点侧的动态租约是否过期进一步包括:从节点检测当前时间与租约起始时间的差值是否大于动态租约期限,若是,则确定所述动态租约过期;否则,则确定所述动态租约不过期。4.根据权利要求2或3所述的方法,其中,所述从节点接收到主节点发送的同步命令后,执行同步操作,并根据动态租约期限更新从节点侧的动态租约进一步包括:从节点接收到主节点发送的同步命令后,执行同步操作,并更新从节点侧的动态租约中的租约起始时间。5.根据权利要求2-4中任一项所述的方法,其中,所述方法还包括:当主节点发送同步命令任务的时间片结束,和/或,当前时间与租约起始时间的差值大于第一预设阈值时,主节点向从节点发送心跳消息。6.根据权利要求1-5中任一项所述的方法,其中,所述动态租约...

【专利技术属性】
技术研发人员:王康
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

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

1