CN108377670A - 一种处理业务的方法、业务节点、控制节点和分布式系统 - Google Patents

一种处理业务的方法、业务节点、控制节点和分布式系统 Download PDF

Info

Publication number
CN108377670A
CN108377670A CN201680003721.5A CN201680003721A CN108377670A CN 108377670 A CN108377670 A CN 108377670A CN 201680003721 A CN201680003721 A CN 201680003721A CN 108377670 A CN108377670 A CN 108377670A
Authority
CN
China
Prior art keywords
business
service
feature information
node
service feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680003721.5A
Other languages
English (en)
Inventor
仇幼成
苏龙成
魏凌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN108377670A publication Critical patent/CN108377670A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例涉及一种处理业务的方法、业务节点、控制节点和分布式系统。其中,处理业务的方法应用于分布式系统中,具体包括:控制节点接收业务节点上报的发生异常的业务的业务特征信息;根据所述业务特征信息生成管控指令,所述管控指令中包括所述业务特征信息;将该管控指令发送给分布式系统中与发生异常的业务节点有业务备份关系的业务节点。从而让其他业务节点可以拒绝处理同类业务,提高系统的稳定性。

Description

一种处理业务的方法、业务节点、控制节点和分布式系统 技术领域
本发明实施例涉及存储技术领域,尤其是一种处理业务的方法、业务节点、控制节点和分布式系统。
背景技术
为了保证高可用性,分布式系统一般采用多节点冗余;当单个节点发生异常时,冗余节点可以立即接管业务,保证业务连续性。典型的分布式系统,可以同时支持上千个在线节点。对于一个分布式系统,由于所有节点运行的软件是同构软件,当软件缺陷引起节点异常(引发复位等严重后果)时,其他在线节点接管业务,大概率也会触发相同的软件缺陷,发生相同异常,导致系统中节点相继发生异常,最终造成集群冗余失效、业务中断的严重后果。通俗意义上我们称此类问题为共因故障导致多节点相继复位问题。
目前为止,现有技术中没有比较好的解决该问题的方案。
发明内容
有鉴于此,本申请提供了一种处理业务的方法、业务节点、控制节点和分布式系统,用以提高系统的稳定性。
第一方面,本申请提供了一种处理业务的方法,应用于分布式系统中,该分布式系统包括控制节点和至少两个业务节点,而该至少两个业务节点包括第一业务节点和第二业务节点。该方法包括:所述控制节点接收所述第一业务节点上报的发生异常的业务的业务特征信息;所述控制节点根据所述业务特征信息生成管控指令,并将该管控指令发送给所述第二业务节点用于指示所述第二业务节点拒绝处理所述业务特征信息所表征的业务。其中,第二业务节点为与所述第一业务节点有业务备份关系的业务节点,所述管控指令中包括上述第一业务节点上报的发生异常的业务的业务特征信息。
可以理解的是,管控指令也可以是发送给未发生故障的,且与第一业务节点有业务备份关系的业务节点或者除了发送给与第一业务节点有业务备份关系的业务节点外,还发送给了别的业务节点。采用上述的方法,这些收到过管控指令的业务节点有待处理的业务时,可以根据管控指令拒绝处理该业务,从而避免自身因同样的原因引发异常,从而提高了系统的稳定性。
在一种可能的设计中,所述控制节点上存储有异常业务信息以及用于管理异常业务的管控策略,且所述异常业务信息包括发生过异常的业务的业务特征信息以及发生异常的次数。那么,生成管控指令过程包括:所述控制节点根据接收到的所述业务特征信息更新所述异常业务信息,并在确定更新后的异常业务信息中的所述业务特征信息及对应的发生异常的次数符合所述管控策略中执行管控的条件时,生成所述管控指令。
可以理解的是,由于引入了管控策略,可以根据实际需求进行设置,使得控制节点对于异常业务的管控更为多样化,具有更好的适应性。
在另外一种可能的设计中,当第二业务节点接收到所述管控制之后,根据所述管控指令中的业务特征信息更新本地存储的需管控的业务的业务特征信息。该第二业务节点在访问业务之前,会先获得待访问业务的业务特征信息,并根据待访问业务的业务特征信息以及更新后的需管控的业务的业务特征信息确定拒绝处理所述待访问业务。可选的,所述第二业务节点访问业务之前获得待访问业务的业务特征信息的过程包括:所述第二业务节点从接收到的业务访问请求中获得所述待访问业务的特征信息,所述业务访问请求中包括所述待访问业务的业务特征信息;或者,所述第二业务节点根据管理维护任务获得所述待访问的业务的业务特征信息。
可以理解的是,管控策略的内容是比较多样化的,所以可能根据临时管控策略以及异常业务信息确定出需要临时管控。也就是说,第二业务节点从而控制节点接收的管控指令中包括管控时长。那么,第二业务节点接收到管控指令之后,将所述管控指令中的业务特征信息记录为需管控的业务的业务特征信息,并启动定时器,设定定时器的时长为所述管控时长。该第二业务节点在访问业务之前,会先获得待访问业务的业务特征信息,在定时器超时之前根据待访问业务的业务特征信息以及更新后的异常业务信息确定拒绝处理所述待访问业务;或者,在定时 器超时后,不作管控。
在另外一种可能的设计中,所述控制节点接收发生异常的业务的业务特征信息之前还包括:所述第一业务节点启动管理维护任务,根据所述管理维护任务所访问的待访问业务的业务特征信息以及本地存储的需管控的业务的业务特征信息确定执行所述管理维护任务;所述第一业务节点执行所述管理维护任务时触发异常,根据执行所述管理维护任务的线程的ID获得所述发生异常的业务的业务特征信息,将获得的所述业务特征信息发送给所述控制节点。或者,所述控制节点接收发生异常的业务的业务特征信息之前还包括:所述第一业务节点接收所述控制节点发送的业务访问请求,根据所述业务访问请求对应的待访问业务的业务特征信息以及本地存储的需管控的业务的业务特征信息确定执行所述业务访问请求;执行所述业务访问请求时触发业务异常,根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务特征信息,将获得的所述业务特征信息发送给所述控制节点。
可以理解的是,其中,需管控的业务的业务特征信息可以是存储在第一业务节点本地,也可以是存储在第一业务节点可以查询的设备上。而异常业务信息则可以是存储在第二业务节点本地,也可以是第二业务节点可以查询的设备上。业务节点每次在处理业务之前都根据需管控业务的业务特征信息来确定接收到的业务访问请求或者自运行任务是否可以执行。由此,可以提高整个系统的稳定性。
第二方面,本发明实施例提供了另外一种处理业务的方法,该方法应用于分布式系统中,该分布式系统包括控制节点和至少两个业务节点,所述至少两个业务节点包括第一业务节点和第二业务节点,所述第二业务节点为与所述第一业务节点有业务备份关系的业务节点。该方法包括:所述第二业务节点接收所述控制节点发送的管控指令,根据接收到的业务特征信息更新本地存储的需管控的业务的业务特征信息,所述管控指令是由所述控制节点根据所述第一业务节点上报的发生异常的业务的业务特征信息生成的,且,所述管控指令包含需管控的业务的业务特征信息;所述第二业务节点访问业务之前获得待访问业务的业务特征信息;所述第二业务节点根据所述待访问业务的业务特征信息以及所述更新后的需管控的业务的业务特征信息确定拒绝处理所述待访问业务。
跟第一方面的方法相比,第二方面侧重介绍了第二业务节点接收到管控指令之 后,根据管控指令中携带的信息对业务访问请求进行管控,从而避免了分布式系统中的业务节点因为同样的业务访问而导致故障。提高了系统的稳定性。
在一个可能的设计中,所述确定拒绝处理所述待访问业务的过程包括:所述第二业务节点在所述需管控的业务的业务特征信息中找到与所述待访问业务的业务特征信息相同的业务特征信息时,拒绝处理所述待访问业务。
在另一个可能的设计中,所述第二业务节点访问业务之前获得待访问业务的业务特征信息包括:所述第二业务节点从接收到的业务访问请求中获得所述待访问业务的业务特征信息,所述业务访问请求中包括所述待访问业务的业务特征信息;或者,所述第二业务节点根据管理维护任务获得所述待访问业务的业务特征信息。
在一个可能的设计中,所述方法进一步包括:所述第二业务节点启动管理维护任务,根据所述管理维护任务所访问的待访问业务的业务特征信息以及本地存储的需管控的业务的业务特征信息确定执行所述管理维护任务;所述第二业务节点在执行所述管理维护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述管理维护任务的线程的ID获得所述线程正在执行的业务的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述控制节点。
在一种可能的设计中,所述方法进一步包括:所述第二业务节点接收客户端发送的业务访问请求,根据所述业务访问请求对应的待访问业务的业务特征信息以及本地存储的需管控的业务的业务特征信息确定执行所述业务访问请求;所述第二业务节点在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述控制节点。
可以理解的是,第二业务节点也可能会在自身运行管理维护任务或者处理客户端的业务访问请求时发生故障,此时,第二业务节点也会获取本节点发生异常的业务的业务特征信息并发送给控制服务器,从而使控制服务器以及其他的业务节点执行管控,避免其他业务节点也发生同样的故障。
第三方面,本发明实施例提供了另外一种处理业务的方法,该方法应用于分布式系统中,该分布式系统包括第一业务节点。该方法包括:所述第一业务节点接收其他节点发生异常的业务的业务特征信息,根据接收到的业务特征信息更新本地存储的异常业务信息,所述异常业务信息包括发生过异常的业务的业务特征信息;所述第一业务节点访问业务之前获得待访问业务的业务特征信息;所述第一业务节点根据所述待访问业务的业务特征信息以及更新后的异常业务信息确定拒绝处理所述待访问业务。
跟第一方面的实施例不同,本实施例提供的方法是由第一业务节点自己收集异常业务信息,并根据异常业务信息来判断是否拒绝处理所述待访问业务,而不是根据控制节点的管控指令来判断是否拒绝处理所述待访问业务。这样,即便分布式系统中没有布局控制节点,也可以实现对异常业务的管控,提高系统的稳定性稳定性。
在一个可能的设计中,所述第一业务节点根据所述待访问业务的业务特征信息以及所述异常业务信息拒绝处理所述待访问业务的过程包括:所述第一业务节点在所述异常业务信息中找到与所述待访问业务的业务特征信息相同的业务特征信息时,拒绝处理所述待访问业务。
在另外一个可能的设计中,所述第一业务节点上存储有用于管理异常业务的管控策略,且所述异常业务特征信息还包括与所述发生过异常的业务的业务特征信息对应的发生异常的次数,所述第一业务节点根据所述待访问业务的业务特征信息以及所述异常业务信息拒绝处理所述待访问业务包括:所述第一业务节点在所述异常业务特征信息中找到与所述待访问业务的业务特征信息相同的业务特征信息及对应的发生异常的次数;所述第一业务节点确定找到的业务特征信息及对应的发生异常的次数符合所述管控策略中执行管控的条件时,拒绝处理所述待访问业务。
可以理解的是,管控策略的内容是比较多样化的,所以第一业务节点上除了存储发生异常的业务的业务特征信息之外,还可以根据管控策略为该异常业务设置定时器,并在所述定时器超时之前,根据所述待访问业务的业务特征信息以及所述异常业务信息拒绝处理所述待访问业务;或者,在定时器超时之后,不作管控。
一种可能的设计中,所述第一业务节点访问业务之前获得待访问业务的业务特征信息包括:所述第一业务节点从接收到的业务访问请求中获得所述待访问业务的业务特征信息,所述业务访问请求中包括所述待访问业务的业务特征信息;或者,所述第一业务节点根据管理维护任务获得所述管理维护任务所访问的所述待访问的业务的业务特征信息。
在另外一种可能的设计中,所述分布式系统还包括第二业务节点,所述第二业务节点为与所述第一业务节点有业务备份关系的业务节点。所述第一业务节点获得其他业务节点发生异常的业务的业务特征信息之前包括:所述第二业务节点启动管理维护任务,根据所述管理维护任务所访问的待访问业务的业务特征信息以及本地存储的异常业务信息确定执行所述管理维护任务;所述第二业务节点在执行所述管理维护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述第一业务节点。或者,所述第一业务节点获得其他业务节点发生异常的业务的业务特征信息之前还包括:所述第二业务节点接收客户端发送的业务访问请求,根据待访问业务的业务特征信息以及本地存储的异常业务信息确定执行所述业务访问请求;所述第二业务节点在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述第一业务节点。
在一种可能的实现中,根据执行所述管理维护任务的线程的ID获得所述发生异常的业务的业务特征信息可以包括:根据执行所述管理维护任务的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述管理维护任务的线程的ID获得所述线程正在执行的业务的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息。
在另外一种可能的实现中,根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务特征信息可以包括:根据执行所述业务访问请求的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息。
第四方面,本发明实施例提供了一种业务节点,这种业务节点应用于部署了控 制节点的分布式系统。该业务节点包括:接收单元,用于接收业务控制节点发送的管控指令,根据接收到的业务特征信息更新本地存储的需管控的业务的业务特征信息,所述管控指令是由所述控制节点根据其他业务节点上报的发生异常的业务的业务特征信息生成的,且,所述管控指令包含需管控的业务的业务特征信息;更新单元,用于根据接收到的业务特征信息更新本地存储的需管控的业务的业务特征信息;获取单元,还用于在访问业务之前获得第一待访问业务的业务特征信息;处理单元,用于根据所述第一待访问业务的业务特征信息以及更新后的需管控的业务的业务特征信息确定拒绝处理所述待访问业务。
由于业务节点在处理业务之前,会基于历史中该业务是否为控制节点下发的需管控的业务而确定是否要拒绝处理。这样就避免了分布式系统中的业务节点因为同样的业务访问而连续触发异常。提高了分布式系统的稳定性。
在一种可能的设计中,所述获取单元用于在访问业务之前从接收到的第一业务访问请求中获得所述第一待访问业务的特征信息,所述第一业务访问请求中包括所述第一待访问业务的业务特征信息;或者,所述获取单元用于根据管理维护任务获得所述第一待访问业务的业务特征信息。
在一种可能的实现方式中,所述业务节点包括发送单元,其中,所述处理单元,还用于启动管理维护任务,根据管理维护任务所访问的第二待访问业务的业务特征信息以及业务特征信息确定执行所述管理维护任务,并在执行所述管理维护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述管理维护任务的线程的ID获得所述线程正在执行的业务的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息;所述发送单元,用于将所述获得的业务特征信息发送出去。
在一种可能的实现方式中,所述业务节点包括发送单元,其中,所述接收单元,还用于接收业务访问请求,所述业务访问请求中包括待访问业务的业务特征信息;所述处理单元,还用于根据所述待访问业务的业务特征信息和异常业务信息确定执行所述业务访问请求,并在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述业务访问请 求的线程的ID获得所述业务访问请求的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息;所述发送单元,用于将所述获得的业务特征信息发送出去。
可选的,上述任意一种可能的设计或实现中,所述的业务节点还包括存储单元,所述的存储单元用于存储所述需管控的业务的业务特征信息,所述处理单元,用于在所述需管控的业务的业务特征信息中找到与所述待访问业务的业务特征信息相同的业务特征信息时,拒绝处理所述待访问业务。
第五方面,本发明实施例提供了另外一种业务节点,该业务节点也包括接收单元、更新单元、获取单元以及处理单元。其中,接收单元,用于接收其他业务节点发生异常的业务的业务特征信息;更新单元,用于根据接收到的业务特征信息更新异常业务信息,所述异常业务信息包括发生异常的业务的业务特征信息;获取单元,还用于在访问业务之前获得第一待访问业务的业务特征信息;处理单元,用于根据所述第一待访问业务的业务特征信息以及记录的异常业务信息拒绝处理所述待访问业务。
由于业务节点会收集系统中其他业务节点发生异常的情况,并且在处理业务之前,会基于收集的异常业务信息来确定是不是要拒绝处理。这样就避免了分布式系统中的业务节点因为同样的业务访问而连续触发异常。提高了分布式系统的稳定性稳定性。
在一种可能的设计中,所述获取单元用于在访问业务之前从接收到的第一业务访问请求中获得所述第一待访问业务的特征信息,所述第一业务访问请求中包括所述第一待访问业务的业务特征信息;或者,所述获取单元用于根据管理维护任务获得所述第一待访问业务的业务特征信息。
在一种可能的设计中,所述业务节点包括发送单元,其中,所述处理单元,还用于启动管理维护任务,根据管理维护任务所访问的第二待访问业务的业务特征信息以及业务特征信息确定执行所述管理维护任务,并在执行所述管理维护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述管理维护任务的线程的ID获得所述线程正在执行的业务的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息;所述发送单元,用 于将所述获得的业务特征信息发送出去。
在另外一种可能的设计中,所述业务节点,还包括发送单元,其中,所述接收单元,还用于接收业务访问请求,所述业务访问请求中包括待访问业务的业务特征信息;所述处理单元,还用于根据所述待访问业务的业务特征信息和异常业务信息确定执行所述业务访问请求,并在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息;所述发送单元,用于将所述获得的业务特征信息发送出去。
在一种可能的设计中,所述业务节点还包括存储单元,所述存储单元用于记录所述异常业务特征信息;所述处理单元,用于在所述异常业务信息中找到与所述第一待访问业务的业务特征信息相同的业务特征信息时,拒绝处理所述第一待访问业务。
在一种可能的设计中,所述业务节点还包括存储单元,所述存储单元用于记录所述异常业务特征信息,以及存储用于管理异常业务的管控策略,其中,所述异常业务特征信息还包括与所述发生异常的业务的业务特征信息对应的发生异常的次数;所述处理单元,用于在所述异常业务特征信息中找到与所述第一待访问业务的业务特征信息相同的业务特征信息及对应的发生异常的次数,并在确定找到的业务特征信息及对应的发生异常的次数符合管控策略中执行管控的条件时,拒绝处理所述第一待访问业务。
第六方面,本发明实施例提供了一种分布式系统,该分布式系统包括控制节点和至少两个业务节点,所述至少两个业务节点包括第一业务节点和第二业务节点,所述的控制节点用于接收第一业务节点上报的发生异常的业务的业务特征信息,根据所述业务特征信息生成管控指令并发送给所述第二业务节点,所述管控指令中包括所述业务特征信息,所述管控指令用于指示所述第二业务节点拒绝处理所述业务特征信息所表征的业务;所述第二业务节点用于接收所述管控指令,根据所述管控指令中的业务特征信息更新本地存储的需管控的业务的业务特征信 息,并在访问业务之前获得待访问业务的业务特征信息,根据所述待访问业务的业务特征信息以及更新后的异常业务特征信息拒绝处理所述待访问业务。其中,所述第二业务节点为与所述第一业务节点有业务备份关系的业务节点。
在一种可能的设计中,所述第二业务节点用于从接收到的业务访问请求中获得所述待访问业务的特征信息,所述业务访问请求中包括所述待访问业务的业务特征信息;或者,根据管理维护任务获得所述管理维护任务所访问的待访问业务的业务特征信息。
在一种可能的设计中,所述第一业务节点,用于启动管理维护任务,根据本地存储的异常业务信息确定执行所述管理维护任务,并在执行所述管理维护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述控制节点。
在一种可能的设计中,所述第一业务节点,用于接收所述控制节点发送的业务访问请求,根据本地存储的需管控的业务的确定执行所述业务访问请求,并在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务特征信息,将所述获得的业务特征信息发送给所述控制节点。
第七方面,本发明实施例提供了一种控制节点,包括通信接口、处理器和存储器,所述通信接口、处理器和存储器通过总线相连,所述通信接口,用于与跟外部通信以及跟处理器通信,在该存储器中存储有指令,所述处理器执行所述存储器中的指令以执行上述第一方面中的控制节点执行的步骤。
第八方面,本发明实施例还提供了一种业务节点,包括通信接口、处理器和存储器,所述通信接口、处理器和存储器通过总线相连,所述通信接口,用于与跟外部通信以及跟处理器通信,在该存储器中存储有指令,所述处理器执行所述存储器中的指令以执行上述第二方面和第三方面中的步骤。
第九方面,本发明实施例提供了一种程序产品,该程序产品包括指令,当该程序产品被计算机执行的时候,使得该计算机执行上述第一方面到第三方面任意一方面的方法。
可以理解的是,上述多个方面的实施例中,跟第一业务节点具有业务备份关系的业务节点可以有多个,也就是说,除了第二业务节点之外,还可以有别的业 务节点。
相较于现有技术,本发明实施例提供的方案中,控制节点或者业务节点会收集分布式系统中发生异常的业务的业务特征信息。基于收集到的信息,来决定是否对发生异常的业务进行管控,从而提高了分布式系统的稳定性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1是一种分布式分布式系统的结构示意图;
图2是一种处理业务的方法流程示意图;
图3是一种处理业务的方法流程示意图;
图4是一种处理业务的方法流程示意图;
图5是一种处理业务的方法流程示意图;
图6是一种分布式系统的结构示意图;
图7是一种业务节点的结构示意图;
图8是一种控制节点的结构示意图;
图9是一种控制节点或者业务节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例提供的技术方案进行描述。
如图1所示的,分布式分布式系统100包括多个客户端(1,2,…N),多个业务节点(1,2,…M),以及控制节点。M,N为大于等于2的自然数。其中,控制节点可以是元数据服务器;业务节点可以是存储节点或者计算节点;而客户端则可以是各种应用服务器、文件服务器或者终端用户等。分布式分布式系统也可以包括两个以上的控制节点。当分布式分布式系统中的控制节点不止一个时,可以对控制节点有主备设置。比如,其中一个设置为主控制节点,其余的设置为备 控制节点。当设置有主备控制节点时,在各控制节点上配置相应的策略来实现控制节点之间的协作。这些客户端、控制节点与业务节点之间,通过通信网络进行通信。本发明实施例中所提到的控制节点是正在处理业务的控制节点,可以是主控制节点,也可以是接管主控制节点的备控制节点。本发明实施例中提到的节点,在具体的应用场景中,可以是服务器。比如控制节点可以是控制服务器,存储节点可以是存储服务器、计算节点则可以是鉴权服务器,本申请中不作限定。
当上述分布式系统中有业务节点(下面称为第一业务节点)发生业务异常时,该业务节点将发生异常的业务的业务特征信息上报给控制节点,控制节点根据接收到的业务特征信息生成管控指令,并将生成的管控指令发送给分布式系统中跟发生异常的业务节点有业务备份关系的业务节点(下面称第二业务节点)。分布式系统中的跟发生异常的业务节点可以不止一个。当然,也可以发送系统中的给其他业务节点,本发明实施例不作限制。上述的管控指令用于指示业务节点拒绝处理由上述业务特征信息所表征的业务,在上述的管控指令中包括发生异常的业务的业务特征信息。
结合图1所述的分布式分布式系统,本发明实施例提供了一种处理业务的方法,如图2所示,具体的过程包括:
201,控制节点接收客户端1发送的业务访问请求1,将该业务访问请求1发送给业务节点1,该业务访问请求1中包括待访问业务的业务特征信息。可替代的,在有些分布式系统中,也可以是业务节点直接从客户端1接收业务访问请求1。
业务特征信息是用来表征一个业务的。在分布式的存储服务系统中,业务节点也就是存储节点,而业务访问请求中所携带的业务特征信息可以包括业务对象ID、操作地址范围和操作码。其中,操作码可以用来指示读操作、写操作或者文件系统服务等操作。在分布式的对象服务系统中,业务节点可以是存储节点,而业务访问请求中所携带的业务特征信息可以是put/get,key,value。在分布式的鉴权服务系统中,业务节点可以是计算节点,而业务访问请求中所携带的业务特征信息可以是接口名称和接口参数(数量不定)。本申请对业务节点不作限定。业务可以是指将数据写入业务节点的某一地址范围,或者从某一地址范围内读取数据等,在此不作限定。
202,业务节点1接收到该业务访问请求1之后,根据待访问业务的业务特征信息以及需管控的业务的业务特征信息确定执行所述业务访问请求1。
需管控的业务的业务特征信息可以是存储在本地的,也可以是存储在业务节点1可以访问的设备上。本发明实施例中不作限定。如果能够在记录的需管控的业务的业务特征信息中找到相同的业务特征信息,则表明该业务访问请求1所访问的业务在之前的业务访问时出现异常且需要管控。相反,如果在本地记录的需管控的业务的业务特征信息中找不到相同的业务特征信息,则表明该业务访问请求1所访问的业务在之前的业务访问时未出现过访问异常,因此不需要管控,或者,表明该业务访问请求1所访问的业务虽然在之前的业务访问时触发过异常,但无需管控。
203,业务节点1调用线程执行接收到的业务访问请求1,在该线程执行业务访问请求的过程中,该线程发生异常。
204,业务节点1根据该线程的ID获得发生异常的业务的业务特征信息,该业务特征信息包括发生异常的业务的业务对象ID、操作的地址范围以及操作码。
获得发生异常的业务的业务特征信息可以通过两种方式,方式一:业务节点1中的该线程根据该线程的ID获取该线程正在执行的业务访问请求1的业务上下文,并从获取到的业务上下文中获得发生异常的业务的业务特征信息。方式二:业务节点1中的该线程根据该线程的ID对应的线程上下文中获得发生异常的业务的业务特征信息。
205,业务节点1控制节点上述的发生异常的业务的业务特征信息上报给控制节点。
206,控制节点根据接收到的发生异常的业务的业务特征信息生成管控指令,该管控指令中包括该异常业务的业务特征信息。
其中,管控指令用于指示分布式系统中的一个或多个业务节点在接收到与上述的业务访问请求1相同的请求时如何响应。且管控指令中携带需管控的业务的业务特征信息。本步骤中,控制节点只要收到业务节点上报的业务异常,就生成管控指令。
可替代地,控制节点上也可以存储有异常业务信息以及用于管理业务异常的管 控策略。其中,异常业务信息包括发生过异常的业务的业务特征信息以及发生异常的次数。管控策略是用来描述在哪些条件下哪些业务节点需要拒绝对某业务的处理。
比如,管控策略可以为:当某一业务访问请求触发的异常的次数超过预设阈值时,生成管控指令,用以指示分布式系统中与发生异常的业务节点具有备份关系的业务节点拒绝处理与该业务访问请求一样的请求;当某一业务访问请求触发的异常的次数未超过预设阈值时,不管控,也就不会生成管控指令。那么生成管控指令的具体过程可以是:根据所述接收到的发生异常的业务的业务特征信息更新所述异常业务信息;所述控制节点确定所述业务特征信息及对应的发生异常的次数符合管控策略中执行管控的条件时,生成管控指令。
可见,上述的异常业务信息和管控策略都可以根据实际需要设定。以管控策略为例,一方面,为不同类型的操作配置不同的管控策略。也就是说,可以对写操作、读操作、文件系统服务等操作类型分别配置不同的管控策略。如果为不同类型的操作配置了不同的管控策略,那么,当发生业务异常时,根据业务特征信息中的操作码找到与该操作码所代表的操作类型对应的管控策略。另一方面,管控策略的内容也是可以根据实际需要配置。比如,管控策略可以包括:若由某一业务访问请求而触发的异常的次数超过预设阈值,则发送管控指令给分布式系统中尚未发生异常的其他业务节点,指示这些业务节点拒绝处理与该业务访问请求一样的请求;对于由某一业务访问请求触发的异常的次数大于1且未超过阈值的情况,可以发送临时管控指令。所谓的临时管控指令,用于指示分布式系统中业务节点在预设的时间段内拒绝处理与该业务访问请求相同的请求。当需要临时管控时,下发的管控指令中还包括管控时长。可以理解的是,管控策略中也可以限定,将管控指令或者临时管控指令发送给分布式系统中的哪些业务节点。比如,将管控指令或临时管控指令发送给与所述发生故障的业务节点具有业务备份关系的业务节点。可以理解的是,当上述的业务访问请求在业务节点1触发异常的时候,可能在别的业务节点也因为该业务访问请求而触发过异常,且已经上报到控制节点。也就是说,分布式系统中不止一个业务节点因为同一业务访问请求而触发异常。
207,控制节点将生成的管控指令下发给分布式系统中与发生异常的业务节点有业务备份关系的业务节点。
可替代的,本步骤中,控制节点也可以将获得的发生异常的业务特征信息发送给分布式系统中未发生异常的业务节点。这些未发生异常的业务节点包括了跟发生异常的业务节点有业务备份关系的业务节点。下文仅以业务节点2为例,来说明当接收到管控指令后,业务节点的处理过程。可以理解的是,其他接收到管控指令的业务节点也会与业务节点2作出相同的处理。
可选地,在本步骤中,控制节点也可以包括向客户端发送提示信息,提示客户端用户介入。
208,业务节点2接收到管控指令之后,将所述管控指令中的业务特征信息记录为需管控的业务的业务特征信息。
可选的,当根据管控策略确定为临时管控的时候,管控指令中还会携带管控时长。这种情况下,业务节点2接收到管控指令时,会启动定时器,设定定时器的时长为所述管控时长。定时器可以是为某一特定业务设置的。
209,客户端1发送业务访问请求2被控制节点分配到了业务节点2,该业务访问请求2中包括客户端所请求的业务的业务特征信息。
可替代地,本步骤中也可以是其他客户端发送的业务访问请求2。
210,业务节点2接收到业务访问请求2之后,根据接收到的业务访问请求2中的业务特征信息以及需管控的业务的业务特征信息确定拒绝处理接收到的所述业务访问请求2。
具体的判断方法与步骤202中的相同,只是在本步骤中,业务节点2在需管控的业务的业务特征信息中找到了相同的业务特征信息。也就是说,业务节点2接收到的该业务访问请求2需要管控。当然,如果业务节点2在记录的需管控的业务的业务特征信息中没找到相同的业务特征信息,那么业务节点2可以继续处理业务访问请求2。处理业务访问请求2的具体过程跟现有技术无异,在此不再赘述。
进一步地,当业务节点2设置有定时器时,如果上述的业务访问请求2是在定时器超时之前接收到的,则业务节点2确定业务访问请求2需要管控。如果是 在定时器超时之后接收到上述的业务访问请求2的,那么业务节点2不作管控;并且结束定时器,把需管控的业务的业务特征信息中与业务访问请求2中的业务特征信息相应的记录删掉。
211,业务节点2向客户端1返回拒绝访问的响应消息。上述的方法实施例中,控制节点收集系统中发生异常的情况,当分布式系统中有一个或多个业务节点因为处理外部的客户端的同一业务访问请求而引发了业务异常时,控制节点会向那些与发生异常的业务节点之间存在业务备份关系的业务节点发送管控指令。当同样的业务访问请求试图访问这些收到过通知的业务节点时,这些业务节点可以拒绝该业务访问请求,从而避免因同样的业务访问请求而导致自身异常,提高了系统的稳定性。
如图3所示,本发明实施例还提供了一种处理业务访问请求的方法。跟图2中的实施例不同的是,本实施例中,触发异常的过程是在业务节点1执行自运行任务时发生的。该方法包括如下步骤:
301,业务节点1启动自运行任务1时,获得自运行任务1所访问的待访问业务的业务特征信息,并将待访问业务的业务特征信息和需管控的业务的业务特征信息确定执行自运行任务1。
确定待访问业务是否需管控的方法跟步骤202中的一样。其中,自运行的任务,可以是保证业务节点的正常运行而执行的任务。比如,周期性的数据校验任务,或者,周期性的硬件状态巡检任务等。在本实施例中,业务特征信息可以包括业务对象ID、和任务ID。有时候,业务特征信息也可以包括操作地址范围。其中,任务ID是正在执行的任务的唯一标识。
可替代的,上述的自运行任务也可以替换为别的管理维护任务,比如,人工触发的配置、控制,维护命令等。其他的任务处理过程与自运行任务一样,在此不再赘述。
302,业务节点1在执行该任务1时触发异常,通过执行该任务1的线程的线程上下文获得发生异常的任务的业务特征信息,该业务特征信息包括引起异常的业务的任务对象ID和任务ID。
获得异常业务的业务特征信息的过程可以参考上述图2对应的实施例描述。本 步骤采用的的是其中的方式二,可替代的,也可以采用其中的方式一来实现。也就是说从线程正在执行的业务的业务上下文中获得异常业务的业务特征信息。
303,业务节点1将获得的业务特征信息上报给控制节点。
304,控制节点根据接收到的发生异常的业务的业务特征信息更新本地存储的异常业务信息,并根据更新后的异常业务信息和预先配置的用于管理业务异常的管控策略生成管控指令,该管控指令中包括该异常业务的业务特征信息。
与步骤206不同的是,本步骤中,在控制节点本地存储有异常业务信息以及用于管理业务异常的管控策略。其中,管控策略、管控指令以及具体的处理过程都可以参照图2的实施例,此处不再赘述。当然,基于实际需求,本步骤也可以跟步骤206一样,控制节点只要收到业务节点上报的业务异常,就生成管控指令。
业务节点1因自运行某项任务而触发异常时,可能已经在别的业务节点也因该自运行该任务而触发过异常,且已经上报到控制节点。也就是说,分布式系统中不止一个业务节点因为同一自运行任务而触发异常。
可选地,在本步骤中,控制节点也可以包括向客户端发送提示信息,提示客户端用户介入。305,控制节点将生成的管控指令下发给分布式系统中与发生异常的业务节点有业务备份关系的业务节点。
可替代的,本步骤中,控制节点也可以将获得的发生异常的业务特征信息发送给分布式系统中未发生的异常的业务节点。这些未发生异常的业务节点包括了跟发生异常的业务节点有业务备份关系的业务节点。下文仅以业务节点2为例,来说明当接收到管控指令后,业务节点的处理过程。
306,业务节点2接收到管控指令之后,将所述管控指令中的业务特征信息记录为需管控的业务的业务特征信息。
可选的,当根据管控策略确定为临时管控的时候,管控指令中还会携带管控时长。这种情况下,业务节点2接收到管控指令时,会启动定时器,设定定时器的时长为所述管控时长。
307,业务节点2启动自运行任务2时,业务节点2获得该自运行任务2所访问的待访问业务的业务特征信息,并根据待访问业务的业务特征信息和需管控的业务的业务特征信息确定拒绝处理所述待访问业务。
确定启动待访问业务是否需管控的方法跟步骤202中的一样,只是在本步骤中,业务节点2在记录的需管控的业务的业务特征信息中找到了相同的业务特征信息。也就是说,自运行任务2所访问的业务是需要管控的。当然,如果业务节点2在记录的需管控的业务的业务特征信息中没找到相同的业务特征信息,那么业务节点2可以继续执行自运行任务2。执行自运行任务的具体过程跟现有技术无异,在此不再赘述。
进一步地,当业务节点2设置有定时器时,如果上述的自运行任务2对业务的访问是在定时器超时之前确定的,则业务节点2确定待访问业务需要管控。如果上述的自运行任务2对业务的访问是在定时器超时之后确定的,那么业务节点2不作管控;并且结束定时器,把需管控的业务的业务特征信息中与待访问业务的业务特征信息相应的记录删掉。
可以理解的是,分布式系统中其他的收到管控指令的业务节点的处理与节点2相同,此处不再赘述。跟图2的实施例不同的是,本实施例中,控制节点收集的是业务节点执行管理维护任务时发生异常的情况。当分布式系统中的一个或多个业务节点因为运行同一自运行任务导致异常时,控制节点会向分布式系统中那些与发生异常的业务节点之间存在业务备份关系的业务节点发送管控指令。当同样的自运行任务启动时,这些接收到管控指令的业务节点可以拒绝执行该任务,从而提高了系统稳定性。
可以理解的是,图2和图3对应的实施例中,还可以进一步包括如下步骤:
当满足预定条件时,控制节点根据所述预定条件所限定的业务特征信息将本地保存的异常业务信息中与该业务特征信息相关的记录删除;而相应的,各业务节点也会根据所述预定条件所限定的业务特征信息将本地保存的需管控的业务的业务特征信息中与该业务特征信息相关的记录删除。预定的条件可以根据实际需求设置,比如,用户介入干预,或异常业务恢复。通过这种设置,使得管控是可重置的,更为灵活、更有适应性。
跟图1所示的组网不一样,也有一些分布式系统,比如,SAN或NAS,并没有部署单独的控制节点。通常在SAN或者NAS网络中,应用服务器或者文件服务器通过网络与多个存储节点相连,通常当应用服务器需要向存储节点写数据或 者读数据时,应用服务器或者文件服务器就相当于是发起业务访问请求的客户端,而该业务访问请求通过网络发送给存储节点。
如图4所示,本发明实施例提供了一种处理业务的方法,应用于没有部署控制节点的分布式系统中。该方法包括如下步骤:
401,客户端1向业务节点1发送业务访问请求1,该业务访问请求1中包括待访问业务的业务特征信息。
参考步骤201中的描述,不同的分布式系统中,业务特征信息所包含的信息有所不同。以分布式的存储服务系统为例,此处的业务特征信息可以包括业务对象ID、操作地址范围和操作码。操作码可以用来指示读操作、写操作或者文件系统服务等操作。
402,业务节点1接收到该业务访问请求1之后,根据该业务访问请求1中携带的业务特征信息和异常业务信息确定执行该业务访问请求1所访问的业务。
这里的异常业务信息可以存储在本地的,也可以存储在业务节点可以访问的设备上。跟前面的实施例一样,异常业务信息可以包括发生过异常的业务的业务特征信息,或者包括发生过异常的业务的业务特征信息以及相应的发生异常的次数。而且管控策略的设置也可以根据实际需要。
在一种可能的实现中,上述的异常业务信息包括发生过异常的业务的业务特征信息,且在本地记录异常业务信息中找不到与访问请求中携带的业务特征信息相同的业务特征信息。也就是说,该业务访问请求所访问的业务在之前的业务访问时未出现过访问异常,因此不需要管控。相反地,如果能够在记录的异常业务信息中找到与访问请求中携带的业务特征信息相同的业务特征信息,则表明该业务访问请求所访问的业务在之前的业务访问时出现异常且需要管控。
在另外一种可能的实现中,上述的异常业务信息包括发生过异常的业务的业务特征信息以及相应的发生异常的次数。管控策略为:当某一业务访问请求触发的异常的次数超过预设阈值时,需要管控;当某一业务访问请求触发的异常的次数未超过预设阈值时,不管控。那么,如果在本地触发过异常的业务的业务特征信息中找到相同的业务特征信息,并不能表明该业务访问请求所访问的业务需要管控。而是,还需要进一步根据管控策略确定是否管控。当业务节点1确定收到 的业务访问请求所触发的异常的次数未超过预设阈值时,确定执行该业务访问请求所访问的业务。因为,虽然可能是别的业务节点因为同样的业务访问请求而导致了异常,并且该异常已经通知到了业务节点1,从而使得业务节点1中存储了该业务特征信息,但是并不意味着根据该业务访问请求就要被管控。相反地,如果确定收到的业务访问请求所触发的异常的次数超过预设阈值时,确定拒绝执行该业务访问请求所访问的业务。
403,业务节点1调用线程执行业务访问请求1,在该线程执行业务访问请求1的过程中,该线程发生异常。
404,业务节点1根据该线程的ID获得发生异常的业务的业务特征信息,该业务特征信息包括发生异常的业务的业务对象ID、操作的地址范围以及操作码。
获得发生异常的业务的业务特征信息的方式参考步骤204中的描述,此处不再赘述。
405,业务节点1将获得的发生异常的业务的业务特征信息发给分布式系统中与发生异常的业务节点有业务备份关系的业务节点。
可替代的,本步骤中,业务节点1也可以将确定出来的发生异常的业务特征信息发送给分布式系统中未发生的异常的业务节点。这些未发生异常的业务节点包括了跟发生异常的业务节点有业务备份关系的业务节点。
下文仅以业务节点2为例,来说明当接收到发生异常的业务的业务特征信息之后,业务节点的处理过程。可以理解的是,其他接收到发生异常的业务的业务特征信的业务节点也会与业务节点2作出相同的处理。
可选地,在本步骤中,存储节点1也可以包括向客户端发送提示信息,提示客户端用户介入。
406,业务节点2根据接收到的发生异常的业务的业务特征信息更新记录的异常业务信息。该异常业务信息可以跟前面的步骤402或者其他实施例中的一样。
407,客户端1发送了业务访问请求2被控制节点分配到了业务节点2。
可替代地,本步骤中也可以是其他客户端发送的业务访问请求2。
408,业务节点2接收到业务访问请求2之后,根据该业务访问请求2中携带的业务特征信息和记录的异常业务信息确定拒绝执行该业务访问请求2所访问的 业务。
也就说,此处,业务节点2确定该业务访问请求2需要管控。可以理解的是,可能因为业务节点1之外的业务节点也因为与该业务访问请求2相同的业务访问请求而触发过异常,且已经通知到业务节点2。所以,业务节点2在接收到该业务访问请求2的时候,业务节点2上记录的异常业务信息中包括了该业务访问请求2中业务特征信息,或者根据该业务访问请求2中的业务特征信息及对应的异常次数确定该业务访问请求2复核管控策略中执行管控的条件,从而触发了管控。具体的管控策略可以参考上述实施例的描述。
409,业务节点2向客户端1返回拒绝访问的响应消息。
本实施例的方案中,每个业务节点收集系统中其他业务节点的异常情况,一个或的多个业务节点因为外部的业务访问请求而导致异常,其他未发生异常的业务节点会根据自身配置的管控策略对后续接收到的业务访问请求进行管控。因而,相比现有技术技术,本发明的实施例具有更好的稳定性。
如图5所示,本发明实施例还提供了一种处理业务访问请求的方法,应用于没有部署控制节点的分布式系统中。跟图4实施例不同的是本实施例中,触发异常的过程是在业务节点1执行自运行任务时发生的。该方法包括如下步骤:
501,业务节点1启动自运行任务1时,根据自运行任务1获得自运行任务1所访问的待访问业务的业务特征信息,并将待访问业务的业务特征信息和异常业务信息确定执行所述自运行任务。其中,该待访问业务的业务特征信息包括业务对象ID和任务ID。
其中,自运行任务和业务特征信息跟步骤301中介绍的一样,另外,也可以将自运行任务替换为别的管理维护任务,具体参看步骤301中的描述。而这里的异常业务信息以及确定是否执行管理维护任务的过程则可以参考步骤402及其他实施例中的相关介绍。502,业务节点1在执行该任务1时触发异常,通过执行该任务1的线程的线程上下文获得发生异常的任务的业务特征信息,该业务特征信息包括引起异常的业务的任务对象ID和任务ID。
503,业务节点1将获得的发生异常的业务特征信息发给分布式系统中与发生异常的业务节点有业务备份关系的业务节点。
可替代的,本步骤中,业务节点1也可以将确定出来的发生异常的业务特征信息发送给分布式系统中未发生的异常的业务节点。这些未发生异常的业务节点包括了跟发生异常的业务节点有业务备份关系的业务节点。
下文仅以业务节点2为例,来说明当接收到发生异常的业务的业务特征信息之后,业务节点的处理过程。可以理解的是,其他接收到发生异常的业务的业务特征信的业务节点也会与业务节点2作出相同的处理。
504,业务节点2根据接收到的发生异常的业务的业务特征信息更新异常业务信息。
该异常业务信息可以跟前面的步骤402或者其他实施例中所记载的一样。此处不再赘述。
505,业务节点2启动自运行任务2时,业务节点2获得该任务2所访问的业务的业务特征信息,并将待访问业务的业务特征信息和记录的异常业务信息确定拒绝处理所述待访问业务。
这里的异常业务信息以及可能的实现方式跟步骤402的描述一致,此处不再赘述。
显然,图4和图5的实施例,也可以参考图2和图3对应的实施例,根据实际情况设置管控策略。比如,对于由某一业务访问请求触发的异常的次数大于1且未超过阈值的情况,可以配置临时管控。也就是说,步骤406和504中,业务节点2接收到发生异常的业务的业务特征信息,更新记录的异常业务信息时,还会判断该业务特征信息对应的定时器是否启动。如果已经启动,则清零,重新开始计时;如果没有启动,则启动定时器,为定时器设置定时时长,也就是设置管控时长。
在上述实施例的步骤408中,原本是确定拒绝执行业务访问请求2所访问的业务。但是当业务节点2设置有定时器时,还需要进一步考虑定时器是否超时。也就是说要综合考虑业务访问请求2中的业务特征信息、记录的异常业务信息和定时器设置来确定是否执行业务访问求2所访问的业务。如果上述的业务访问请求2是在定时器超时之前接收到的,那么则业务节点2确定接收到的该业务访问请求需要管控。如果是在定时器超时之后接收到上述的业务访问请求2的,那么 业务节点2不作管控,可以是删掉记录的需管控的业务的业务特征信息。
进一步的,当业务节点2设置有定时器时,步骤505中也需要考虑定时器是否超时。如果自运行任务2对业务的访问是在定时器超时之前确定的,则业务节点2确定接收到的该业务访问请求需要管控。如果自运行任务2对业务的访问是在定时器超时之后确定的,那么业务节点2不作管控,可以是删掉记录的需管控的业务的业务特征信息。
可以理解的是,分布式系统中其他的收到管控指令的业务节点的处理与节点2相同,此处不再赘述。
跟图4的实施例不同的是,本实施例中,当分布式系统中业务节点因为执行自运行任务导致异常时,会向自己有业务备份关系的业务节点发送发生异常的业务的业务特征信息。而接收到异常业务的业务特征信息的业务节点会更新其本地的异常业务信息。当同样的自运行任务启动时,分布式系统中的业务节点会根据异常业务信息拒绝执行该任务,从而提高了系统稳定性。
可以理解的是,图4和图5对应的实施例中,还可以进一步包括如下步骤:
当满足预定条件时,各业务节点也会根据所述预定条件所限定的业务特征信息将本地保存的需管控的业务特征信息中与该业务特征信息相关的记录删除。预定的条件可以根据实际需求设置,比如,用户介入干预某一业务,或某些异常业务恢复等等。通过这种设置,使得管控是可重置的,使得管控业务更为灵活、更有适应性。
上文结合图1至5,从各个设备之间交互的角度对本发明实施例提供的方法进行了详细的介绍。下面结合图6来介绍一下上述实施例中所涉及的分布式系统。图6示出了分布式系统的一种可能的结构示意图,该分布式系统包括控制节点601和至少两个业务节点(以业务节点602和业务节点603为例),业务节点603为与所述业务节点602有业务备份关系的业务节点。其中,控制节点601用于接收业务节点602上报的发生异常的业务的业务特征信息,根据所述业务特征信息生成管控指令并发送给所述业务节点602,所述管控指令中包括所述业务特征信息,所述管控指令用于指示所述业务节点602拒绝处理所述业务特征信息所表征的业务;业务节点603,用于接收所述管控指令,根据所述管控指令中的业务特征信息 更新本地存储的需管控的业务的业务特征信息,并在访问业务之前获得待访问业务的业务特征信息,根据所述待访问业务的业务特征信息以及所述异常业务特征信息拒绝处理所述业务特征信息所表征的业务。可以理解的是,跟业务节点602具有业务备份关系的业务节点可以有多个,也就是说,除了业务节点603之外,还可以有别的业务节点。
在一个示例中,业务节点603,用于从接收到的业务访问请求中获得所述待访问业务的特征信息,所述业务访问请求中包括所述待访问业务的业务特征信息;或者,根据管理维护任务获得所述管理维护任务所访问的待访问业务的业务特征信息。
在上述的实施例中,业务节点602将发生异常的业务的业务特征信息发送给控制节点601有两种可能的实现方式。第一种,业务节点602,用于启动管理维护任务,根据本地存储的异常业务信息确定执行所述管理维护任务,并在执行所述管理维护任务中发生异常时,通过执行所述管理维护任务的线程的ID获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述控制节点601。第二种,业务节点602,用于接收所述控制节点发送的业务访问请求,根据本地存储的需管控的业务的确定执行所述业务访问请求,并在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务特征信息,将所述获得的业务特征信息发送给所述控制节点601。
一种可能的实现中,根据执行所述管理维护任务的线程的ID获得所述发生异常的业务的业务特征信息具体包括:根据执行所述管理维护任务的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述管理维护任务的线程的ID获得所述线程正在执行的业务的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息。
在另外一种可能的实现中,根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务特征信息具体包括:根据执行所述业务访问请求的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息。本 实施例中未定义的术语及实现细节可以参考上述图2和图3的方法实施例。
除了上述分布式系统,本发明实施例还提供了一种没有部署控制节点的分布式系统。这种分布式系统包括第一业务节点和第二业务节点,且第二业务节点为与所述第一业务节点有业务备份关系的业务节点。其中,第一业务节点用于接收第二业务节点发送的发生异常的业务的业务特征信息,根据接收到的业务特征信息更新本地存储的异常业务信息,在访问业务之前获得待访问业务的业务特征信息,并根据所述待访问业务的业务特征信息以及所述更新后的异常业务信息确定拒绝处理所述待访问业务。其中,所述异常业务信息包括发生过异常的业务的业务特征信息。第二业务节点,用于获得本节点上发生异常的业务的业务特征信息,将所述发生异常的业务的业务特征信息发送给第一业务节点。
一种可实现的方式中,第二业务节点,用于启动管理维护任务,根据所述管理维护任务所访问的待访问业务的业务特征信息以及本地存储的异常业务信息确定执行所述管理维护任务,在执行所述管理维护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述第一业务节点。
在另外一种可实现的方式中,第二业务节点,用于接收客户端发送的业务访问请求,所述业务访问请求中包括待访问业务的业务特征信息,根据所述待访问业务的业务特征信息和本地存储的异常业务信息确定执行所述业务访问请求,并在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述第一业务节点。
可选的,上述的实现中,根据执行所述管理维护任务的线程的ID获得所述发生异常的业务的业务特征信息具体包括:根据执行所述管理维护任务的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述管理维护任务的线程的ID获得所述线程正在执行的业务的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息。
可选的,上述的实现中,根据执行所述业务访问请求的线程的ID获得所述业 务访问请求的业务特征信息具体包括:根据执行所述业务访问请求的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息。本实施例中未定义的术语及实现细节可以参考上述图4和图5的方法实施例。可以理解的是,分布式系统中的各个设备,例如,业务节点,第一业务节点,第二业务节点,为了实现上述的功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文所公开的实施例描述的各示例的模块及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
图7示出了本申请所涉及的业务节点的一种可能的结构示意图。该业务节点可以实现上述图4和图5中方法实施例中业务节点1和/或业务节点2的功能本实施例中未定义的术语及实现细节可以参考上述图4和图5的方法实施例。如图7所示,该业务节点可以包括接收单元701,更新单元702,获取单元703,处理单元704。其中,接收单元701,用于接收发生异常的业务的业务特征信息;更新单元702,用于根据接收到的业务特征信息更新异常业务信息,所述异常业务信息包括发生异常的业务的业务特征信息;获取单元703,还用于在访问业务之前获得第一待访问业务的业务特征信息;处理单元704,用于根据所述第一待访问业务的业务特征信息以及记录的异常业务信息拒绝处理所述待访问业务。
一种可能的实现中,获取单元703用于在访问业务之前从接收到的第一业务访问请求中获得所述第一待访问业务的特征信息,所述第一业务访问请求中包括所述第一待访问业务的业务特征信息;或者,获取单元703用于根据管理维护任务获得所述第一待访问业务的业务特征信息。
一种可能的实现中,业务节点还包括有发送单元705,其中,处理单元704用于启动管理维护任务,根据所述管理维护任务所访问的第二待访问业务的业务特征信息以及记录的业务特征信息确定执行所述自运行任务,并在执行所述管理维 护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述管理维护任务的线程的ID获得所述线程正在执行的业务的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息;而发送单元705,用于将所述获得的业务特征信息发送出去。
一种可能的实现中,业务节点还包括有发送单元705,其中,接收单元701还用于接收业务访问请求,所述业务访问请求中包括待访问业务的业务特征信息;处理单元704,还用于根据所述待访问业务的业务特征信息和记录的异常业务信息确定执行所述业务访问请求,并在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息;所述发送单元705,用于将所述获得的业务特征信息发送出去。
可选的,在上述的任意一种实现中,还可以包括存储单元706,存储单元706用于存储所述异常业务特征信息,处理单元704,用于在所述异常业务信息中找到与所述第一待访问业务的业务特征信息相同的业务特征信息时,拒绝处理所述第一待访问业务。
可选的,在上述的任意一种实现中,还可以包括存储单元706,存储单元706用于存储所述异常业务特征信以及存储用于管理异常业务的管控策。其中,所述异常业务特征信息还包括与记录的业务特征信息对应的发生异常的次数。在该实施例中,处理单元704用于在所述异常业务特征信息中找到与所述第一待访问业务的业务特征信息相同的业务特征信息及对应的发生异常的次数,并在确定找到的业务特征信息及对应的发生异常的次数符合管控策略中执行管控的条件时,拒绝处理所述第一待访问业务。
参考图7,上述图2和图3方法实施例中所涉及的业务节点,也可以包括接收单元,更新单元,获取单元和处理单元。其中,接收单元,用于接收业务控制节点发送的管控指令,根据接收到的业务特征信息更新本地存储的需管控的业务的业务特征信息,所述管控指令是由所述控制节点根据其他业务节点上报的发生异 常的业务的业务特征信息生成的,且,所述管控指令包含需管控的业务的业务特征信息;更新单元,用于根据接收到的业务特征信息更新本地存储的需管控的业务的业务特征信息;获取单元,还用于在访问业务之前获得第一待访问业务的业务特征信息;处理单元,用于根据所述第一待访问业务的业务特征信息以及更新后的需管控的业务的业务特征信息确定拒绝处理所述待访问业务。
在一种可能的实现中,所述获取单元用于在访问业务之前从接收到的第一业务访问请求中获得所述第一待访问业务的特征信息,所述第一业务访问请求中包括所述第一待访问业务的业务特征信息;或者,所述获取单元用于根据管理维护任务获得所述第一待访问业务的业务特征信息。
在一种可能的实现中,所述业务节点包括发送单元,其中,所述处理单元,还用于启动管理维护任务,根据管理维护任务所访问的第二待访问业务的业务特征信息以及业务特征信息确定执行所述管理维护任务,并在执行所述管理维护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述管理维护任务的线程的ID获得所述线程正在执行的业务的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息;所述发送单元,用于将所述获得的业务特征信息发送出去。
一种可能的实现中,上述的业务节点还包括发送单元,其中,所述接收单元,还用于接收业务访问请求,所述业务访问请求中包括待访问业务的业务特征信息;所述处理单元,还用于根据所述待访问业务的业务特征信息和异常业务信息确定执行所述业务访问请求,并在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息;所述发送单元,用于将所述获得的业务特征信息发送出去。
可选的,在上述的任意一种实现中,所述处理单元,用于在所述需管控的业务的业务特征信息中找到与所述待访问业务的业务特征信息相同的业务特征信息时,拒绝处理所述待访问业务。
需要注意的是,本实施例中未定义的术语及实现细节可以参考上述图4和图5的方法实施例。
图8示出了上述实施中所涉及的控制节点的一种可能的结构示意图。如图8所示,该控制节点包括接收单元801,指令生成单元802,发送单元803。其中,接收单元801,用于接收分布式系统中的第一业务节点上报的发生异常的业务的业务特征信息。指令生成单元802,用于根据所述业务特征信息生成管控指令,所述管控指令中包括所述业务特征信息。发送单元803,用于将所述管控指令发送给所述分布式系统中的第二业务节点,用于指示所述第二业务节点拒绝处理所述业务特征信息所表征的业务。其中,所述第二业务节点为与所述第一业务节点有业务备份关系的业务节点。
在一种具体的实现中,所述控制节点还包括了存储单元804。存储单元804上存储有异常业务信息以及用于管理异常业务的管控策略,所述异常业务信息包括发生过异常的业务的业务特征信息以及发生异常的次数。其中,指令生成单元802,用于根据接收到的所述业务特征信息更新所述异常业务信息,在确定所述异常业务信息中的业务特征信息及对应的发生异常的次数符合所述管控策略中执行管控的条件时,生成所述管控指令。
另外,本发明上述实施例中所涉及的业务节点及控制节点都可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于存储器中,比如,随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于业务节点中。当然,处理器和存储介质也可以作为分立组件存在于业务节点中。
参阅图9所示,该业务节点包括:处理器901、存储器902、通信接口903,总线904。其中,处理器901、存储器902以及通信接口通过总线904相互连接; 总线904可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中,通信接口903用于跟外部通信以及跟处理器901通信,存储器901中存储有计算机可执行指令,当处理器901执行所述存储器902中的指令时,会执行上述方法实施例中业务节点的功能。控制节点也可以是包括了处理器901、存储器902、通信接口903以及总线904,只不过存储器中存储的指令不同,当处理器901执行所述存储器902中的指令时,会执行上述方法实施例中控制节点的功能。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。上述本发明实施例的功能也可以是由包括指令的的计算机程序产品来实现,当该程序产品被计算机执行的时候,使得该计算机执行上述方法实施例中的部分或者全部步骤。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。

Claims (32)

  1. 一种处理业务的方法,应用于分布式系统中,该分布式系统包括控制节点和至少两个业务节点,所述至少两个业务节点包括第一业务节点和第二业务节点,所述第二业务节点为与所述第一业务节点有业务备份关系的业务节点,其特征在于,所述的方法包括:
    所述控制节点接收所述第一业务节点上报的发生异常的业务的业务特征信息;
    所述控制节点根据所述业务特征信息生成管控指令,所述管控指令中包括所述业务特征信息;
    所述控制节点将所述管控指令发送给所述第二业务节点,用于指示所述第二业务节点拒绝处理所述业务特征信息所表征的业务。
  2. 如权利要求1所述的方法,其特征在于,所述控制节点上存储有异常业务信息以及用于管理异常业务的管控策略,所述异常业务信息包括发生过异常的业务的业务特征信息以及发生异常的次数,所述生成管控指令包括:
    所述控制节点根据接收到的所述业务特征信息更新所述异常业务信息;
    所述控制节点确定更新后的异常业务信息中的所述业务特征信息及对应的发生异常的次数符合所述管控策略中执行管控的条件时,生成所述管控指令。
  3. 如权利要求1或2所述的方法,其特征在于,所述方法还包括:
    所述第二业务节点接收所述管控指令,根据所述管控指令中的所述业务特征信息更新本地存储的需管控的业务的业务特征信息;
    所述第二业务节点访问业务之前获得待访问业务的业务特征信息;
    所述第二业务节点根据获得的所述待访问业务的业务特征信息以及更新后的需管控的业务的业务特征信息确定拒绝处理所述待访问业务。
  4. 如权利要求3所述的方法,其特征在于,所述第二业务节点访问业务之前获得待访问业务的业务特征信息包括:
    所述第二业务节点从接收到的业务访问请求中获得所述待访问业务的业务特征信息,所述业务访问请求中包括所述待访问业务的业务特征信息;或者,
    所述第二业务节点根据管理维护任务获得所述待访问业务的业务特征信息。
  5. 如权利要求1或2所述的方法,其特征在于,所述控制节点接收发生异常 的业务的业务特征信息之前还包括:
    所述第一业务节点接收所述控制节点发送的业务访问请求,根据所述业务访问请求对应的待访问业务的业务特征信息以及本地存储的需管控的业务的业务特征信息确定执行所述业务访问请求;
    执行所述业务访问请求时触发业务异常,根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务特征信息,将获得的所述业务特征信息发送给所述控制节点。
  6. 如权利要求1或2所述的方法,其特征在于,所述控制节点接收发生异常的业务的业务特征信息之前还包括:
    所述第一业务节点启动管理维护任务,根据所述管理维护任务所访问的待访问业务的业务特征信息以及本地存储的需管控的业务的业务特征信息确定执行所述管理维护任务;
    所述第一业务节点执行所述管理维护任务时触发异常,根据执行所述管理维护任务的线程的ID获得所述发生异常的业务的业务特征信息,将获得的所述业务特征信息发送给所述控制节点。
  7. 一种处理业务的方法,该方法应用于分布式系统中,该分布式系统包括控制节点和至少两个业务节点,所述至少两个业务节点包括第一业务节点和第二业务节点,所述第二业务节点为与所述第一业务节点有业务备份关系的业务节点,其特征在于,所述的方法包括:
    所述第二业务节点接收所述控制节点发送的管控指令,根据接收到的业务特征信息更新本地存储的需管控的业务的业务特征信息,所述管控指令是由所述控制节点根据所述第一业务节点上报的发生异常的业务的业务特征信息生成的,且,所述管控指令包含需管控的业务的业务特征信息;
    所述第二业务节点访问业务之前获得待访问业务的业务特征信息;
    所述第二业务节点根据所述待访问业务的业务特征信息以及所述更新后的需管控的业务的业务特征信息确定拒绝处理所述待访问业务。
  8. 如权利要求7所述的方法,其特征在于,所述第二业务节点根据所述待访问业务的业务特征信息以及所述更新后的需管控的业务的业务特征信息确定拒绝处理所述待访问业务包括:
    所述第二业务节点在所述需管控的业务的业务特征信息中找到与所述待访问 业务的业务特征信息相同的业务特征信息时,拒绝处理所述待访问业务。
  9. 如权利要求7所述的方法,其特征在于,所述第二业务节点访问业务之前获得待访问业务的业务特征信息包括:
    所述第二业务节点从接收到的业务访问请求中获得所述待访问业务的业务特征信息,所述业务访问请求中包括所述待访问业务的业务特征信息;或者,
    所述第二业务节点根据管理维护任务获得所述待访问业务的业务特征信息。
  10. 如权利要求7所述的方法,其特征在于,所述方法还包括
    所述第二业务节点启动管理维护任务,根据所述管理维护任务所访问的待访问业务的业务特征信息以及本地存储的需管控的业务的业务特征信息确定执行所述管理维护任务;
    所述第二业务节点在执行所述管理维护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述管理维护任务的线程的ID获得所述线程正在执行的业务的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述控制节点。
  11. 如权利要求7所述的方法,其特征在于,所述方法还包括:
    所述第二业务节点接收客户端发送的业务访问请求,根据所述业务访问请求对应的待访问业务的业务特征信息以及本地存储的需管控的业务的业务特征信息确定执行所述业务访问请求;
    所述第二业务节点在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述控制节点。
  12. 一种处理业务的方法,该方法应用于分布式系统中,该分布式系统包括第一业务节点,其特征在于,所述的方法包括:
    所述第一业务节点接收其他业务节点发生异常的业务的业务特征信息,根据接收到的业务特征信息更新本地存储的异常业务信息,所述异常业务信息包括发生过异常的业务的业务特征信息;
    所述第一业务节点访问业务之前获得待访问业务的业务特征信息;
    所述第一业务节点根据所述待访问业务的业务特征信息以及所述更新后的异常业务信息确定拒绝处理所述待访问业务。
  13. 如权利要求12所述的方法,其特征在于,所述第一业务节点上存储有用于管理异常业务的管控策略,且所述异常业务特征信息还包括与所述发生过异常的业务的业务特征信息对应的发生异常的次数,所述第一业务节点根据所述待访问业务的业务特征信息以及所述异常业务信息拒绝处理所述待访问业务包括:
    所述第一业务节点在所述异常业务特征信息中找到与所述待访问业务的业务特征信息相同的业务特征信息及对应的发生异常的次数;
    所述第一业务节点确定找到的业务特征信息及对应的发生异常的次数符合所述管控策略中执行管控的条件时,拒绝处理所述待访问业务。
  14. 如权利要求12所述的方法,其特征在于,所述第一业务节点访问业务之前获得待访问业务的业务特征信息包括:
    所述第一业务节点从接收到的业务访问请求中获得所述待访问业务的业务特征信息,所述业务访问请求中包括所述待访问业务的业务特征信息;或者,
    所述第一业务节点根据管理维护任务获得所述管理维护任务所访问的所述待访问的业务的业务特征信息。
  15. 如权利要求12-14任意一项所述的方法,所述分布式系统还包括第二业务节点,所述第二业务节点为与所述第一业务节点有业务备份关系的业务节点,其特征在于,所述第一业务节点接收其他业务节点发生异常的业务的业务特征信息之前包括:
    所述第二业务节点启动管理维护任务,根据所述管理维护任务所访问的待访问业务的业务特征信息以及本地存储的异常业务信息确定执行所述管理维护任务;
    所述第二业务节点在执行所述管理维护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述第一业务节点。
  16. 如权利要求12-14任一项所述的方法,其特征在于,所述分布式系统还包括第二业务节点,所述第二业务节点为与所述第一业务节点有业务备份关系的业务节点,所述第一业务节点接收其他业务节点发生异常的业务的业务特征信息之前还包括:
    所述第二业务节点接收客户端发送的业务访问请求,根据所述业务访问请求对 应的待访问业务的业务特征信息以及本地存储的异常业务信息确定执行所述业务访问请求;
    所述第二业务节点在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述第一业务节点。
  17. 一种业务节点,所述业务节点包括:
    接收单元,用于接收业务控制节点发送的管控指令,根据接收到的业务特征信息更新本地存储的需管控的业务的业务特征信息,所述管控指令是由所述控制节点根据其他业务节点上报的发生异常的业务的业务特征信息生成的,且,所述管控指令包含需管控的业务的业务特征信息;
    更新单元,用于根据接收到的业务特征信息更新本地存储的需管控的业务的业务特征信息;
    获取单元,还用于在访问业务之前获得第一待访问业务的业务特征信息;
    处理单元,用于根据所述第一待访问业务的业务特征信息以及更新后的需管控的业务的业务特征信息确定拒绝处理所述待访问业务。
  18. 如权利要求17所述的业务节点,其特征在于,
    所述获取单元用于在访问业务之前从接收到的第一业务访问请求中获得所述第一待访问业务的特征信息,所述第一业务访问请求中包括所述第一待访问业务的业务特征信息;或者,
    所述获取单元用于根据管理维护任务获得所述第一待访问业务的业务特征信息。
  19. 如权利要求17所述的业务节点,其特征在于,所述业务节点包括发送单元,其中,
    所述处理单元,还用于启动管理维护任务,根据管理维护任务所访问的第二待访问业务的业务特征信息以及业务特征信息确定执行所述管理维护任务,并在执行所述管理维护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述管理维护任务的线程的ID获得所述线程正在执行的业务的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息;
    所述发送单元,用于将所述获得的业务特征信息发送出去。
  20. 如权利要求17所述的业务节点,其特征在于,还包括发送单元,其中,
    所述接收单元,还用于接收业务访问请求,所述业务访问请求中包括待访问业务的业务特征信息;
    所述处理单元,还用于根据所述待访问业务的业务特征信息和异常业务信息确定执行所述业务访问请求,并在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息;
    所述发送单元,用于将所述获得的业务特征信息发送出去。
  21. 如权利要求17-20任意一项所述的业务节点,其特征在于,所述处理单元,用于在所述需管控的业务的业务特征信息中找到与所述待访问业务的业务特征信息相同的业务特征信息时,拒绝处理所述待访问业务。
  22. 一种业务节点,所述业务节点包括:
    接收单元,用于接收其他业务节点发生异常的业务的业务特征信息;
    更新单元,用于根据接收到的业务特征信息更新本地存储的异常业务信息,所述异常业务信息包括发生过异常的业务的业务特征信息;
    获取单元,还用于在访问业务之前获得第一待访问业务的业务特征信息;
    处理单元,用于根据所述第一待访问业务的业务特征信息以及更新后的异常业务信息确定拒绝处理所述待访问业务。
  23. 如权利要求22所述的业务节点,其特征在于,
    所述获取单元用于在访问业务之前从接收到的第一业务访问请求中获得所述第一待访问业务的特征信息,所述第一业务访问请求中包括所述第一待访问业务的业务特征信息;或者,
    所述获取单元用于根据管理维护任务获得所述第一待访问业务的业务特征信息。
  24. 如权利要求22所述的业务节点,其特征在于,所述业务节点包括发送单元,其中,
    所述处理单元,还用于启动管理维护任务,根据管理维护任务所访问的第二待访问业务的业务特征信息以及业务特征信息确定执行所述管理维护任务,并在 执行所述管理维护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述管理维护任务的线程的ID获得所述线程正在执行的业务的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息;
    所述发送单元,用于将所述获得的业务特征信息发送出去。
  25. 如权利要求22所述的业务节点,其特征在于,还包括发送单元,其中,
    所述接收单元,还用于接收业务访问请求,所述业务访问请求中包括待访问业务的业务特征信息;
    所述处理单元,还用于根据所述待访问业务的业务特征信息和异常业务信息确定执行所述业务访问请求,并在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述线程的线程上下文,从所述线程上下文中获得所述发生异常的业务的业务特征信息,或根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务上下文,从所述业务上下文中获得所述发生异常的业务的业务特征信息;
    所述发送单元,用于将所述获得的业务特征信息发送出去。
  26. 如权利要求22-25任意一项所述的方法,其特征在于,所述业务节点还包括存储单元,所述存储单元用于记录所述异常业务特征信息,以及存储用于管理异常业务的管控策略,其中,所述异常业务特征信息还包括与所述发生过异常的业务的业务特征信息对应的发生异常的次数;
    所述处理单元,用于在所述异常业务特征信息中找到与所述第一待访问业务的业务特征信息相同的业务特征信息及对应的发生异常的次数,并在确定找到的业务特征信息及对应的发生异常的次数符合管控策略中执行管控的条件时,拒绝处理所述第一待访问业务。
  27. 一种分布式系统,其特征在于,所述的分布式系统包括控制节点和至少两个业务节点,所述至少两个业务节点包括第一业务节点和第二业务节点,所述第二业务节点为与所述第一业务节点有业务备份关系的业务节点,其特征在于,
    所述的控制节点用于接收第一业务节点上报的发生异常的业务的业务特征信息,根据所述业务特征信息生成管控指令并发送给所述第二业务节点,所述管控指令中包括所述业务特征信息,所述管控指令用于指示所述第二业务节点拒绝处理所述业务特征信息所表征的业务;
    所述第二业务节点用于接收所述管控指令,根据所述管控指令中的业务特征信息更新本地存储的需管控的业务的业务特征信息,并在访问业务之前获得待访问业务的业务特征信息,根据所述待访问业务的业务特征信息以及更新后的需管控的业务的业务特征信息拒绝处理所述待访问业务。
  28. 如权利要求27所述的分布式系统,其特征在于,
    所述第二业务节点,用于从接收到的业务访问请求中获得所述待访问业务的特征信息,所述业务访问请求中包括所述待访问业务的业务特征信息;或者,根据管理维护任务获得所述管理维护任务所访问的待访问业务的业务特征信息。
  29. 如权利要求27或28所述的分布式系统,其特征在于,
    所述第一业务节点,用于启动管理维护任务,根据本地存储的异常业务信息确定执行所述管理维护任务,并在执行所述管理维护任务中发生异常时,根据执行所述管理维护任务的线程的ID获得所述发生异常的业务的业务特征信息,将所述获得的业务特征信息发送给所述控制节点。
  30. 如权利要求27或28所述的分布式系统,其特征在于,
    所述第一业务节点,用于接收所述控制节点发送的业务访问请求,根据本地存储的需管控的业务的确定执行所述业务访问请求,并在执行所述业务访问请求中触发业务异常时,根据执行所述业务访问请求的线程的ID获得所述业务访问请求的业务特征信息,将所述获得的业务特征信息发送给所述控制节点。
  31. 一种控制节点,包括通信接口、处理器和存储器,所述通信接口、处理器和存储器通过总线相连,其特征在于,所述通信接口,用于与跟外部通信以及跟处理器通信,所述存储器中存储有指令,所述处理器执行所述存储器中的指令以执行如权利要求1或2所述的方法。
  32. 一种业务节点,包括通信接口、处理器和存储器,所述通信接口、处理器和存储器通过总线相连,其特征在于,所述通信接口,用于与跟外部通信以及跟处理器通信,所述存储器中存储有指令,所述处理器执行所述存储器中的指令以执行如权利要求7-16任一所述的方法。
CN201680003721.5A 2016-11-28 2016-11-28 一种处理业务的方法、业务节点、控制节点和分布式系统 Pending CN108377670A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/107504 WO2018094739A1 (zh) 2016-11-28 2016-11-28 一种处理业务的方法、业务节点、控制节点和分布式系统

Publications (1)

Publication Number Publication Date
CN108377670A true CN108377670A (zh) 2018-08-07

Family

ID=62194626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680003721.5A Pending CN108377670A (zh) 2016-11-28 2016-11-28 一种处理业务的方法、业务节点、控制节点和分布式系统

Country Status (2)

Country Link
CN (1) CN108377670A (zh)
WO (1) WO2018094739A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115589307B (zh) * 2022-09-07 2024-07-16 支付宝(杭州)信息技术有限公司 分布式系统的风险监测方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267345A (zh) * 2008-03-10 2008-09-17 中兴通讯股份有限公司 业务节点备份方法及分布式系统
CN103685459A (zh) * 2012-09-24 2014-03-26 日本电气株式会社 分布式系统、服务器计算机、分布式管理服务器和故障防止方法
US20160132380A1 (en) * 2014-11-07 2016-05-12 International Business Machines Corporation Building an intelligent, scalable system dump facility

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100777752B1 (ko) * 2004-10-28 2007-11-19 니폰덴신뎅와 가부시키가이샤 서비스 불능 공격 검지 시스템 및 서비스 불능 공격 검지방법
CN106130786B (zh) * 2016-07-26 2019-05-07 腾讯科技(深圳)有限公司 一种网络故障的检测方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267345A (zh) * 2008-03-10 2008-09-17 中兴通讯股份有限公司 业务节点备份方法及分布式系统
CN103685459A (zh) * 2012-09-24 2014-03-26 日本电气株式会社 分布式系统、服务器计算机、分布式管理服务器和故障防止方法
US20160132380A1 (en) * 2014-11-07 2016-05-12 International Business Machines Corporation Building an intelligent, scalable system dump facility

Also Published As

Publication number Publication date
WO2018094739A1 (zh) 2018-05-31

Similar Documents

Publication Publication Date Title
EP3128720B1 (en) Post-cluster brain split quorum processing method and quorum storage device and system
CN110830283B (zh) 故障检测方法、装置、设备和系统
US8533525B2 (en) Data management apparatus, monitoring apparatus, replica apparatus, cluster system, control method and computer-readable medium
CN109361525B (zh) 重启分布式部署多服务的方法、装置、控制终端及介质
CN105141400A (zh) 一种高可用性集群管理方法及相关设备
CN109697112B (zh) 分布式集约化一站式作业系统和实现方法
WO2019024910A1 (zh) 存储资源回收方法、装置及系统
US20120124221A1 (en) Element terminal and communication system
CN111901176B (zh) 故障确定方法、装置、设备及存储介质
CN111565135A (zh) 监控服务器运行的方法、监控服务器和存储介质
CN110109772B (zh) 一种cpu的重启方法、通信设备及可读存储介质
US11281446B2 (en) Updating method, terminal and electronic device
CN109474470A (zh) 一种自监控方法和装置
CN111342986B (zh) 分布式节点管理方法及装置、分布式系统、存储介质
CN113590049B (zh) 一种存储卷跨节点克隆的方法、装置、设备及可读介质
CN113330426B (zh) 一种备份数据的方法、装置和系统
CN114675998A (zh) 一种监控定时快照任务的方法、装置、设备及介质
CN108377670A (zh) 一种处理业务的方法、业务节点、控制节点和分布式系统
CN106559282A (zh) 一种锁定文件管理方法和装置
CN115314361B (zh) 一种服务器集群管理方法及其相关组件
WO2017080362A1 (zh) 数据管理方法及装置
CN111226200B (zh) 为分布式应用创建一致性快照的方法、装置和分布式系统
CN115145782A (zh) 一种服务器切换方法,MooseFS系统及存储介质
US20030200309A1 (en) Transmission network system
CN113452726A (zh) 数据传输方法、终端及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180807

WD01 Invention patent application deemed withdrawn after publication