分布式系统中的异常处理方法、系统和装置制造方法及图纸

技术编号:23152819 阅读:17 留言:0更新日期:2020-01-18 14:52
本发明专利技术公开了一种分布式系统中的异常处理方法及分布式系统。其中,该方法包括:采集客户端访问第一服务节点的访问信息,访问第一服务节点的访问信息中至少包括:客户端对第一服务节点的访问次数和异常访问次数;根据访问第一服务节点的访问信息,确定第一服务节点是否出现异常;在确定第一服务节点出现异常的情况下,向中心节点发送异常处理请求,以便请求中心节点确定第二服务节点,第二服务节点替代第一服务节点来为客户端提供服务。本发明专利技术解决了由于在服务节点和中心节点的心跳是正常的但对外服务异常的情况下,相关技术中只能通过监控发现,报警之后人为干预,造成对服务节点和中心节点异常的处理效率较低的技术问题。

Exception handling methods, systems and devices in Distributed Systems

【技术实现步骤摘要】
分布式系统中的异常处理方法、系统和装置
本专利技术涉及分布式系统
,具体而言,涉及一种分布式系统中的异常处理方法、系统和装置。
技术介绍
分布式系统是建立在网络之上的软件系统,用以管理网络资源,具体的,分布式系统可以包含多个数据库分布节点,分布式系统以全局的方式管理网络资源,实现网络资源在各个数据库分布节点之间的分配。分布式系统中通常都有中心节点、服务节点、客户端节点这三类数据库分布节点,中心节点会保存元数据,负责负载均衡和调度,把服务分区或分片下发给各个服务节点执行;服务节点根据中心节点下发的计划,对不同分片提供服务;客户端节点会请求对应服务节点完成读写。通常来说服务节点和中心节点之间有心跳通信,一段时间内中心节点收不到某台服务节点汇报的心跳信息时,中心节点会认为该服务节点异常,需要重新调度。中心节点由一组中心节点提供服务,通常情况下中心节点异常时,中心节点会重新选举,选出一个新的中心节点对外提供服务。对于服务节点异常的场景,实际应用中存在一种情况:服务节点和中心节点的心跳是正常的,但对外服务异常的情况。相关技术中在遇到客户端节点大量访问报错,该系统又不能自动恢复的时候,只能通过监控发现,报警之后人为干预。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种分布式系统中的异常处理方法、系统和装置,以至少解决由于在服务节点和中心节点的心跳是正常的但对外服务异常的情况下,相关技术中只能通过监控发现,报警之后人为干预,造成对服务节点和中心节点异常的处理效率较低的技术问题。根据本专利技术实施例的一个方面,提供了一种分布式系统中的异常处理方法,所述分布式系统包括客户端、为所述客户端提供服务的多个服务节点以及管理所述服务节点的中心节点,所述方法包括:采集所述客户端访问第一服务节点的访问信息,所述访问第一服务节点的访问信息中至少包括:所述客户端对所述第一服务节点的访问次数和异常访问次数;根据所述访问第一服务节点的访问信息,确定所述第一服务节点是否出现异常;在确定所述第一服务节点出现异常的情况下,向所述中心节点发送异常处理请求,以便请求所述中心节点确定第二服务节点,所述第二服务节点替代所述第一服务节点来为所述客户端提供服务。根据本专利技术实施例的另一方面,还提供了一种分布式系统,包括:至少一个客户端,所述客户端用于将其访问服务节点和/或中心节点的访问信息发送至监控节点;至少一个服务节点,所述服务节点用于为客户端提供服务;至少一个中心节点,所述中心节点用于管理所述服务节点;监控节点,用于执行权利要求1至7中任意一项所述的分布式系统中的异常处理方法。根据本专利技术实施例的另一方面,还提供了一种分布式系统中的异常处理方法,所述分布式系统包括客户端、为所述客户端提供服务的多个服务节点以及多个中心节点,其中,第一中心节点管理所述服务节点,所述方法包括:采集所述客户端访问所述第一中心节点的访问信息,所述访问信息中至少包括:所述客户端对所述第一中心节点的访问次数和异常访问次数;根据所述访问信息,确定所述第一中心节点是否出现异常;在确定所述第一中心节点出现异常的情况下,向所述中心节点发送异常处理请求,以便请求所述中心节点确定第二中心节点,所述第二中心节点替代所述第一中心节点来管理所述服务节点。根据本专利技术实施例的另一方面,还提供了一种分布式系统,包括:至少一个客户端,所述客户端用于将其访问中心节点的访问信息发送至监控节点;至少一个服务节点;多个中心节点,其中第一中心节点用于管理所述服务节点;监控节点,用于执行上述任意一项所述的分布式系统中的异常处理方法。根据本专利技术实施例的另一方面,还提供了一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述任意一项所述的分布式系统中的异常处理方法。根据本专利技术实施例的另一方面,还提供了一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的分布式系统中的异常处理方法。在本专利技术实施例中,通过采集客户端访问第一服务节点的访问信息,访问第一服务节点的访问信息中至少包括:客户端对第一服务节点的访问次数和异常访问次数;根据访问第一服务节点的访问信息,确定第一服务节点是否出现异常;在确定第一服务节点出现异常的情况下,向中心节点发送异常处理请求,以便请求中心节点确定第二服务节点,第二服务节点替代第一服务节点来为客户端提供服务,实现了监控节点基于客户端访问第一服务节点的访问信息及时确定出第一服务节点出现异常,向中心节点发送异常处理请求,请求中心节点确定第二服务节点替代第一服务节点,提升了对服务节点异常的处理效率,保证了分布式系统稳定运行的技术效果,进而解决了由于在服务节点和中心节点的心跳是正常的但对外服务异常的情况下,相关技术中只能通过监控发现,报警之后人为干预,造成对服务节点和中心节点异常的处理效率较低的技术问题。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的一种分布式系统中的异常处理方法的计算机终端的硬件结构框图;图2是根据本专利技术实施例的一种分布式系统中的异常处理方法的计算机终端的交互示意图;图3是根据本专利技术实施例的一种分布式系统中的异常处理方法的流程图;图4是根据本专利技术实施例的一种分布式系统中的异常处理方法的示意图一;图5是根据本专利技术实施例的一种分布式系统中的异常处理方法的示意图二;图6是根据本专利技术实施例的一种分布式系统中的异常处理方法的示意图三;图7是根据本专利技术实施例的一种分布式系统中的异常处理方法的示意图四;图8是根据本专利技术实施例的一种分布式系统的示意图;图9是根据本专利技术实施例的另一种分布式系统中的异常处理方法的流程图;图10是根据本专利技术实施例的一种分布式系统的示意图;图11是根据本专利技术实施例的可选的计算机终端的结构框图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列本文档来自技高网
...

【技术保护点】
1.一种分布式系统中的异常处理方法,所述分布式系统包括客户端、为所述客户端提供服务的多个服务节点以及管理所述服务节点的中心节点,所述方法包括:/n采集所述客户端访问第一服务节点的访问信息,所述访问第一服务节点的访问信息中至少包括:所述客户端对所述第一服务节点的访问次数和异常访问次数;/n根据所述访问第一服务节点的访问信息,确定所述第一服务节点是否出现异常;/n在确定所述第一服务节点出现异常的情况下,向所述中心节点发送异常处理请求,以便请求所述中心节点确定第二服务节点,所述第二服务节点替代所述第一服务节点来为所述客户端提供服务。/n

【技术特征摘要】
1.一种分布式系统中的异常处理方法,所述分布式系统包括客户端、为所述客户端提供服务的多个服务节点以及管理所述服务节点的中心节点,所述方法包括:
采集所述客户端访问第一服务节点的访问信息,所述访问第一服务节点的访问信息中至少包括:所述客户端对所述第一服务节点的访问次数和异常访问次数;
根据所述访问第一服务节点的访问信息,确定所述第一服务节点是否出现异常;
在确定所述第一服务节点出现异常的情况下,向所述中心节点发送异常处理请求,以便请求所述中心节点确定第二服务节点,所述第二服务节点替代所述第一服务节点来为所述客户端提供服务。


2.根据权利要求1所述的方法,其中,根据所述访问第一服务节点的访问信息,确定所述第一服务节点是否出现异常的步骤包括:
确定访问所述第一服务节点的所有客户端的数量;
确定访问所述第一服务节点出现异常的客户端的数量;
根据访问所述第一服务节点出现异常的客户端的数量与访问所述第一服务节点的所有客户端的数量计算异常客户端率;
至少根据所述异常客户端率来确定所述第一服务节点是否出现异常。


3.根据权利要求2所述的方法,其中,至少根据所述异常客户端率来确定所述第一服务节点是否出现异常的步骤包括:若所述异常客户端率大于第一预设阈值,则确定所述第一服务节点出现异常。


4.根据权利要求2所述的方法,其中,在确定访问所述第一服务节点出现异常的客户端的数量之前,所述方法还包括:
确定访问所述第一服务节点出现异常的客户端,其中,若所述客户端对所述第一服务节点的异常访问次数与所述客户端对所述第一服务节点的访问次数之比超过第二预设阈值,则确定所述客户端访问所述第一服务节点出现异常。


5.根据权利要求2所述的方法,其中,至少根据所述异常客户端率来确定所述第一服务节点是否出现异常的步骤包括:
在所述异常客户端率大于第三预设阈值时,确定访问所述第一服务节点存在异常访问的客户端的数量;
若访问所述第一服务节点存在异常访问的客户端的数量与访问所述第一服务节点的所有客户端的数量之比大于第四预设阈值时,确定所述第一服务节点出现异常。


6.根据权利要求1所述的方法,其中,根据所述访问第一服务节点的访问信息,确定所述第一服务节点是否出现异常的步骤包括:
确定所述客户端对所述第一服务节点的总访问次数;
确定所述客户端对所述第一服务节点的总异常访问次数;
若所述总异常访问次数与所述总访问次数之比超过第五预设阈值,则确定所述第一服务节点出现异常。


7.根据权利要求1所述的方法,其中,所述方法还包括:
采集所述客户端访问第一中心节点的访问信息,所述第一中心节点管理所述服务节点,所述访问第一中心节点的访问信息中至少包括:所述客户端对所述第一中心节点的访问次数和异常访问次数;
根据所述访问第一中心节点的访问信息,确定所述第一中心节点是否出现异常;
在确定所述第一中心节点出现异常的情况下,向所述中心节点发送异常处理请求,以便请求所述中心节点确定第二中心节点,所述第二中心节点替代所述第一中心节点来管理所述服务节点。


8.一种分布式系统,包括:
至少一个客户端,所述客户端用于将其访问服务节点和/或中心节点的访问信息发送至监控节点;
至少一个服务节点,所述服务节点用于为客户端提供服务;
至少一个中心节点,所述中心节点用于管理所述服务节点;
监控节点,用于执行权利要求1至7中任意一项所述的分布式系统中的异常处理方法。


9.根据权利要求8所述的系统,其中,所述系统还包括:
所述服务节点用于定期发送心跳消息至所述中心节点;
所述中心节点用于根据所述心跳消息确定所述服务节点是否异常。


10.根据权利要求8所述的系统,其中,所述系统还包括:
第一中心节点用于接收来自所述第一中心节点以外的中心节点的测试消息,并返回响应;
所述第一中心节点以外的中心节点用于定期发送测试消息至所述第一中心节点,还用于根据所述第一中心节点的响应确定所述第一中心节点是否出现异常。


11.根据权利要求8所述的系统,其中,所述系统还包括:
所述监控节点还用于在确定第一服务节点或第一中心节点出现异常的情况下,向所述中心节点发送异常处理请求;
所...

【专利技术属性】
技术研发人员:赵立芳徐恩胜
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1