一种分布式系统中节点服务的恢复方法、装置及相关设备制造方法及图纸

技术编号:20049605 阅读:29 留言:0更新日期:2019-01-09 05:43
本申请公开了一种分布式系统中节点服务的恢复方法,包括发送服务操作请求至各个节点;判断是否接收到所有所述节点执行所述服务操作请求后返回的服务成功消息;若未接收到所有服务成功消息,则确定未返回所述服务成功消息的故障节点;将所述故障节点接收的服务操作请求对应的服务操作转发至正常节点,以使当故障节点恢复后,所述正常节点同步所述服务操作至恢复后节点;该恢复方法可有效降低分布式系统中的数据冗余,提高系统服务效率,进一步提升了系统的服务性能;本申请还公开了一种分布式系统中节点服务的恢复装置、分布式系统以及计算机可读存储介质,也具有上述有益效果。

【技术实现步骤摘要】
一种分布式系统中节点服务的恢复方法、装置及相关设备
本申请涉及分布式集群
,特别涉及一种分布式系统中节点服务的恢复方法,还涉及一种分布式系统中节点服务的恢复装置、分布式系统以及计算机可读存储介质。
技术介绍
随着大数据时代的到来,互联网领域每天产生的数据量越来越大,由此产生了分布式集群的技术。通过分布式集群技术,可以使得分布式系统中多台节点上的服务操作同时对外提供服务,即便是出现一台节点宕机,其服务操作中断,也不会不影响整个系统的正常业务;同时,分布式集群技术还可以随时增加节点,以实现扩容。因此,在分布式系统中,为了保证数据的安全性,必须保证数据在写入后存储多个副本,以便节点或者硬盘发生故障时仍然可以提供正常的数据读写等服务。在现有技术中,是由每个节点的存储服务记录客户端的所有操作,一旦出现系统中某个节点因故障宕机又重新启动的情况,即可根据上述记录来恢复该故障节点丢失的操作服务。然而,由于该种实现方式需要由所有节点均记录客户端的所有操作,那么,在分布式系统运行正常的情况下,将会有大量的冗余数据产生;同时,由于各个正常节点既需要记录客户端的所有服务操作,又需要执行自身接收到的服务操作请求,这将在很大定程度上降低系统的服务效率,进一步影响了系统总体的服务性能。因此,如何有效降低分布式系统中的数据冗余,提高系统服务效率和服务性能是本领域技术人员亟待解决的问题。
技术实现思路
本申请的目的是提供一种分布式系统中节点服务的恢复方法,该恢复方法可有效降低分布式系统中的数据冗余,提高系统服务效率,进一步提升了系统的服务性能;本申请的另一目的是提供一种分布式系统中节点服务的恢复装置、分布式系统以及计算机可读存储介质,也具有上述有益效果。为解决上述技术问题,本申请提供了一种分布式系统中节点服务的恢复方法,所述恢复方法包括:发送服务操作请求至各个节点;判断是否接收到所有所述节点执行所述服务操作请求后返回的服务成功消息;若未接收到所有服务成功消息,则确定未返回所述服务成功消息的故障节点;将所述故障节点接收的服务操作请求对应的服务操作转发至正常节点,以使当故障节点恢复后,所述正常节点同步所述服务操作至恢复后节点。优选的,所述判断是否接收到所有所述节点执行所述服务操作请求后返回的服务成功消息,包括:统计所述服务操作请求的第一数量和所述服务成功消息的第二数量;判断所述第一数量与所述第二数量是否相等;若所述第二数量不等于所述第一数量,则确定未接收到所有节点返回的服务成功消息;若所述第二数量等于所述第一数量,则确定接收到所有节点返回的服务成功消息。优选的,所述确定未返回所述服务成功消息的故障节点,包括:对各个所述服务成功消息进行解析,获得所述服务成功消息对应节点的节点信息;将各个所述节点信息与节点信息库中的所有节点信息进行比对,确定丢失的节点信息;根据所述丢失的节点信息确定所述故障节点。优选的,所述将所述故障节点接收的服务操作请求对应的服务操作转发至正常节点,包括:通过raft一致性算法将所述服务操作转发至所述正常节点。优选的,各个所述正常节点通过missing列表保存所述故障节点的服务操作。为解决上述技术问题,本申请提供了一种分布式系统中节点服务的恢复装置,所述恢复装置包括:请求发送模块,用于发送服务操作请求至各个节点;消息判断模块,用于判断是否接收到所有所述节点执行所述服务操作请求后返回的服务成功消息;故障确定模块,用于若未接收到所有服务成功消息,则确定未返回所述服务成功消息的故障节点;操作转发模块,用于将所述故障节点接收的服务操作请求对应的服务操作转发至正常节点,以使当故障节点恢复后,所述正常节点同步所述服务操作至恢复后节点。优选的,所述消息判断模块包括:数量统计子模块,用于统计所述服务操作请求的第一数量和所述服务成功消息的第二数量;数量判断子模块,用于判断所述第一数量与所述第二数量是否相等;第一确定子模块,用于若所述第二数量不等于所述第一数量,则确定未接收到所有节点返回的服务成功消息;第二确定子模块,用于若所述第二数量等于所述第一数量,则确定接收到所有节点返回的服务成功消息。优选的,所述故障确定模块包括:信息解析子模块,用于对各个所述服务成功消息进行解析,获得所述服务成功消息对应节点的节点信息;信息比对子模块,用于将各个所述节点信息与节点信息库中的所有节点信息进行比对,确定丢失的节点信息;故障确定子模块,用于根据所述丢失的节点信息确定所述故障节点。为解决上述技术问题,本申请提供了一种分布式系统,所述分布式系统包括:客户端,用于发送服务操作请求至各个节点;判断是否接收到所有所述节点执行所述服务操作请求后返回的服务成功消息;若未接收到所有服务成功消息,则确定未返回所述服务成功消息的故障节点;将所述故障节点接收的服务操作请求对应的服务操作转发至正常节点,以使当故障节点恢复后,所述正常节点同步所述服务操作至恢复后节点;各个节点,包括所述故障节点和所述正常节点;其中,所述正常节点用于执行所述服务操作请求,返回所述服务成功消息;并保存所述故障节点对应的服务操作。为解决上述技术问题,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种分布式系统中节点服务的恢复方法的步骤。本申请所提供的一种分布式系统中节点服务的恢复方法,包括发送服务操作请求至各个节点;判断是否接收到所有所述节点执行所述服务操作请求后返回的服务成功消息;若未接收到所有服务成功消息,则确定未返回所述服务成功消息的故障节点;将所述故障节点接收的服务操作请求对应的服务操作转发至正常节点,以使当故障节点恢复后,所述正常节点同步所述服务操作至恢复后节点。可见,本申请所提供的分布式系统中节点服务的恢复方法,由客户端同时发送服务操作请求至各个节点,以根据各个节点的返回信息确定发生故障的节点,并将该故障节点对应的服务操作转发至其他正常节点进行保存,由此,当故障节点修复成功再次启动时,即可直接使用正常节点中保存的服务操作进行恢复,通过该种实现方式,各个正常节点只需记录故障节点中丢失的服务操作,而无需对客户端下发的所有服务操作进行记录,极大的减少了数据冗余,节省了正常节点中执行服务操作请求的时间,有效提高了分布式系统的服务效率,进一步提升了系统的整体性能。本申请所提供的一种分布式系统中节点服务的恢复装置、分布式系统以及计算机可读存储介质,也具有上述有益效果,在此不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请所提供的一种分布式系统中节点服务的恢复方法的流程示意图;图2为本申请所提供的一种分布式系统中故障节点的判断方法的流程示意图;图3为本申请所提供的一种分布式系统中故障节点的确定方法的流程示意图;图4为本申请所提供的一种分布式系统中节点服务的恢复装置的结构示意图;图5为本申请所提供的另一种分布式系统中节点服务的恢复装置的结构示意图;图6为本申请所提供的一种分布式系统的结构示意图本文档来自技高网...

【技术保护点】
1.一种分布式系统中节点服务的恢复方法,其特征在于,包括:发送服务操作请求至各个节点;判断是否接收到所有所述节点执行所述服务操作请求后返回的服务成功消息;若未接收到所有服务成功消息,则确定未返回所述服务成功消息的故障节点;将所述故障节点接收的服务操作请求对应的服务操作转发至正常节点,以使当故障节点恢复后,所述正常节点同步所述服务操作至恢复后节点。

【技术特征摘要】
1.一种分布式系统中节点服务的恢复方法,其特征在于,包括:发送服务操作请求至各个节点;判断是否接收到所有所述节点执行所述服务操作请求后返回的服务成功消息;若未接收到所有服务成功消息,则确定未返回所述服务成功消息的故障节点;将所述故障节点接收的服务操作请求对应的服务操作转发至正常节点,以使当故障节点恢复后,所述正常节点同步所述服务操作至恢复后节点。2.如权利要求1所述的恢复方法,其特征在于,所述判断是否接收到所有所述节点执行所述服务操作请求后返回的服务成功消息,包括:统计所述服务操作请求的第一数量和所述服务成功消息的第二数量;判断所述第一数量与所述第二数量是否相等;若所述第二数量不等于所述第一数量,则确定未接收到所有节点返回的服务成功消息;若所述第二数量等于所述第一数量,则确定接收到所有节点返回的服务成功消息。3.如权利要求2所述的恢复方法,其特征在于,所述确定未返回所述服务成功消息的故障节点,包括:对各个所述服务成功消息进行解析,获得所述服务成功消息对应节点的节点信息;将各个所述节点信息与节点信息库中的所有节点信息进行比对,确定丢失的节点信息;根据所述丢失的节点信息确定所述故障节点。4.如权利要求1所述的恢复方法,其特征在于,所述将所述故障节点接收的服务操作请求对应的服务操作转发至正常节点,包括:通过raft一致性算法将所述服务操作转发至所述正常节点。5.如权利要求4所述的恢复方法,其特征在于,各个所述正常节点通过missing列表保存所述故障节点的服务操作。6.一种分布式系统中节点服务的恢复装置,其特征在于,包括:请求发送模块,用于发送服务操作请求至各个节点;消息判断模块,用于判断是否接收到所有所述节点执行所述服务操作请求后返回的服务成功消息;故障确定模块,用于若未接收到所有服务成功消息,则确定未返回所述服务...

【专利技术属性】
技术研发人员:魏盟毕敬强孔帅孙业宽
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1