CN109471745A - 基于服务器集群的宕机服务器任务处理方法及系统 - Google Patents

基于服务器集群的宕机服务器任务处理方法及系统 Download PDF

Info

Publication number
CN109471745A
CN109471745A CN201811213652.8A CN201811213652A CN109471745A CN 109471745 A CN109471745 A CN 109471745A CN 201811213652 A CN201811213652 A CN 201811213652A CN 109471745 A CN109471745 A CN 109471745A
Authority
CN
China
Prior art keywords
server
delay machine
cluster
task
delay
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
CN201811213652.8A
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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201811213652.8A priority Critical patent/CN109471745A/zh
Publication of CN109471745A publication Critical patent/CN109471745A/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种基于服务器集群的宕机服务器任务处理方法及系统,该方法包括:服务器集群中的服务器判断该服务器集群中是否存在宕机服务器;当根据判断结果确定该服务器集群中的某服务器为宕机服务器时,第一个判断出该宕机服务器宕机的服务器执行该宕机服务器当前执行的任务。本申请解决了现有技术中无法及时对宕机服务器的任务进行处理的问题。

Description

基于服务器集群的宕机服务器任务处理方法及系统
技术领域
本申请涉及一种宕机服务器的任务处理方法,具体而言,涉及一种基于服务器集群的宕机服务器任务处理方法及系统。
背景技术
在服务器集群执行任务时,有时会出现服务器集群中的某台服务器宕机的情况,当一台服务器宕机时,如果他服务器无法获知该情况,则会认为在这台宕机服务器上的任务正在处理中,而不会接管,这就导致了在该台宕机服务器上处理的任务终止执行的问题。
针对这个问题,现有技术是通过设置任务的超时时间来进行解决,一般的超时时间的设置要大于服务器在最高负荷下处理的时间,这样,对于宕机的服务器上的任务,往往会延迟较长时间才会得到处理。这在某些需要得到尽快处理的场景中,会造成不必要的麻烦或引起客户投诉。
针对相关技术中无法及时对宕机服务器的任务进行处理的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种基于服务器集群的宕机服务器任务处理方法,以解决现有技术中无法及时对宕机服务器的任务进行处理的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种基于服务器集群的宕机服务器任务处理方法,该方法包括:
服务器集群中的服务器判断该服务器集群中是否存在宕机服务器;
当根据判断结果确定该服务器集群中的某服务器为宕机服务器时,第一个判断出该宕机服务器宕机的服务器执行该宕机服务器当前执行的任务。
为了实现上述目的,根据本申请的另一方面,还提供了一种基于服务器集群的宕机服务器任务系统,该系统包括:服务器集群,该服务器集群中包括多个服务器,其中:
服务器集群中的服务器,用于判断该服务器集群中是否存在宕机服务器;
当根据判断结果确定该服务器集群中的某服务器为宕机服务器时,第一个判断出该宕机服务器宕机的服务器用于执行该宕机服务器当前执行的任务。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于服务器集群的宕机服务器任务处理方法中的步骤。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述基于服务器集群的宕机服务器任务处理方法中的步骤。
本申请的有益效果为:在本申请实施例中,采用服务器集群中各服务器之间互相判断是否宕机的方法,当一个服务器出现宕机时,其他服务器可以立刻得知该服务器宕机的信息,进而代替该宕机服务器处理其当前任务,实现了解决现有技术中无法及时对宕机服务器的任务进行处理的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请实施例基于服务器集群的宕机服务器任务处理方法的流程图;
图2是本申请实施例基于服务器集群的宕机服务器任务处理方法的应用场景图;
图3是本申请第一实施例确定服务器集群中宕机服务器的方法流程图;
图4是本申请第二实施例确定服务器集群中宕机服务器的方法流程图;
图5是本申请第三实施例确定服务器集群中宕机服务器的方法流程图;
图6是本申请实施例处理宕机服务器当前任务的方法的流程图;
图7是本申请实施例基于服务器集群的宕机服务器任务处理系统的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,本申请的说明书和权利要求书中的术语宕机可以指的是,服务器由于某种原因,如掉电、硬件故障或其他意外故障等,造成服务器死机不再响应任何请求的现象。
图2是本申请实施例基于服务器集群的宕机服务器任务处理方法的应用场景图,如图2所示,该实施例的应用场景为一个服务器集群,该服务器集群包括多个任务处理服务器,分别为:服务器1、服务器2…..服务器n。这些任务服务器处于同一网络中,例如接入同一个路由器,以使这些任务服务器可以互相发送和接收数据。在本应用场景中还包括任务系统,该任务系统用于:向每个任务服务器分配任务;储存每个任务服务器执行的任务;接收并储存任务服务器执行任务的信息。在本实施例的场景中,所有的任务都是以作业步和工作流的形式储存在任务系统中的,任务系统会将每个作业步的信息及其上下文信息保存在数据库中,以使后续可以还原某个作业步的场景。
图1为本申请实施例基于服务器集群的宕机服务器任务处理方法的流程图,如图1所示,本实施例的方法包括步骤S101至步骤S102。
步骤S101,服务器集群中的服务器判断该服务器集群中是否存在宕机服务器。在本申请实施例中,服务器集群中的各服务器之间互相连接并互相判断工作状态,即服务器集群中的每个服务器都可以实时或者定时判断所有其他服务器的工作状态,根据各服务器的状态判断结果可以确定出该服务器集群中是否存在宕机服务器,以及哪个服务器为宕机服务器。在本申请的可选实施例中,服务器集群中的各服务器之间可以通过判断相互连接状态的方法,来互相判断工作状态,例如当与服务器A连接的服务器B突然断开连接,处于不在线状态时,服务器A则会判断服务器B处于宕机状态。在本申请的可选实施例中,确定服务器宕机的方法可以为,当服务器集合中有多个服务器同时判断某个服务器宕机时,则确定该服务器宕机。
步骤S102,当根据判断结果确定该服务器集群中的某服务器为宕机服务器时,第一个判断出该宕机服务器宕机的服务器执行该宕机服务器当前执行的任务。在本申请的可选实施例中,在通过上述步骤S101确定出服务器集群中某个服务器为宕机服务器时,则第一个判断出该宕机服务器的服务器接管该宕机服务器当前执行的任务。具体为,第一个判断出该宕机服务器的服务器获取该宕机服务器当前执行的任务,并将该任务添加到其任务队列的末尾。在本申请的可选实施例中,第一个判断出该宕机服务器的服务器可以从任务库中获取该宕机服务器当前执行的任务,该任务库可以为:与服务器集群中每个服务器连接的任务服务器中的任务数据库;与服务器集群中每个服务器连接的云服务器中的任务数据库;或者同时设置在服务器集群中每个服务器上的任务系统的任务库。
从以上的描述中,可以看出,本申请实施例采用了服务器集群中各服务器之间互相判断是否宕机的方法,当一个服务器出现宕机时,其他服务器可以立刻得知该服务器宕机的信息,进而代替该宕机服务器处理其当前任务,实现了解决现有技术中无法及时对宕机服务器的任务进行处理的问题。
图3是本申请第一实施例确定服务器集群中宕机服务器的方法流程图,如图3所示,该实施例中的方法包括步骤S201至步骤S203。
步骤S201,服务器集群中的第一服务器判断第二服务器是否宕机。在本申请实施例中,服务器集群中任意两服务器之间互相判断对方是否宕机,本步骤中第一服务器和第二服务器为服务器集群中任意两个服务器。在本申请的可选实施例中,第一服务器可以通过判断与第二服务器的连接状态来判断该第二服务器是否宕机。
步骤S202,若是,所述第一服务器获取该服务器集群中其他服务器对所述第二服务器的宕机判断结果。在本申请实施例中,当上述第一服务器根据预设的判断方法判断出上述第二服务器宕机时,则查询该服务器集群中其他服务器对所述第二服务器的宕机判断结果。具体为,当第一服务器根据预设的判断方法判断出第二服务器宕机时,则向服务器集群中所有其他服务器(服务器集群中除去第一服务器和第二服务器外的所有服务器)发送查询信息,用于获取所有其他服务器对该第二服务器的宕机判断结果,当所有其他服务器中的每个服务器接收到查询信息时,将其对该第二服务器的宕机判断结果发送给第一服务器。
步骤S203,当该服务器集群中预设比例的服务器的宕机判断结果为所述第二服务器宕机时,所述第一服务器确定所述第二服务器为宕机服务器。在本申请的实施例中,第一服务器接收所有其他服务器发送来的对第二服务器的宕机判断结果,当服务器集群中除去第二服务器外的所有服务器中(包括第一服务器)有超过预设比例的服务器判断该第二服务器宕机时,则确定该第二服务器为宕机服务器。在本申请的可选实施例中,该预设比例的取值区间为百分之30至百分之50,优选为百分之30。
例如,服务器集群中有ABCDEFGH共8台服务器,其中A服务器宕机,在BCDEFGH之间,若B认为其宕机,则向CDEFGH发送查询信息,若CDEFG都认为A服务器宕机,则认为A服务器宕机的服务器在服务器集群中所占的比例已经超过预设比例,则判定A服务器为宕机服务器。
在本申请的实施例中,该第一服务器为第一个判断出第二服务器宕机的服务器,当该第一服务器判断第二服务器宕机时,可以依次向该服务器集群中所有其他服务器发送查询信息,用于获取所有其他服务器对该第二服务器的宕机判断结果,当反馈的宕机判断结果已经足以确定该第二服务器为宕机服务器时,即当反馈的宕机判断结果已经表明有足够数量的服务器判断该第二服务器宕机时,第一服务器则停止继续发送查询信息,直接判断该第二服务器为宕机服务器,避免了在已经可以确定结果时继续查询造成的资源浪费。
从以上的描述中,可以看出,在本申请实施例中,当第一服务器判断第二服务器宕机时,还会向服务器集群中的其他服务器进行问询,并发起类似各服务器对第二服务器宕机的投票,当服务器集群中有多个服务器同时认为该第二服务器为宕机时,则确定第二服务器为宕机服务器。采用这样的类似服务器投票的方法,有助于提升服务器宕机判断的准确性,减少了由于通讯原因而造成的误判。
图4是本申请第二实施例确定服务器集群中宕机服务器的方法流程图,如图4所示,本实施例的方法包括步骤S301至步骤S303。
步骤S301,所述第一服务器通过判断是否能正确的接收到所述第二服务器发送的状态信息判断所述第二服务器是否为宕机服务器。在本申请实施例中,服务器集群中任意两服务器之间互相将自身的工作状态信息发送给对方,该工作状态信息可以包括服务器的当前任务状态,当服务器集群中的第一服务器在预设的时间内未接收到第二服务器基于第一服务器发送的工作状态信息反馈的工作状态信息,则第一服务器判断第二服务器处于宕机状态。本步骤中的第一服务器和第二服务器为服务器集群中任意两个服务器。在本申请的可选实施例中,服务器集群中任意两服务器之间可以通过UDP通讯协议互相将自身的工作状态信息发送给对方。
步骤S302,若是,所述第一服务器获取该服务器集群中其他服务器对所述第二服务器的宕机判断结果。在本申请实施例中,当第一服务器通过上述步骤S301中的方法判断出第二服务器宕机时,则查询该服务器集群中其他服务器对所述第二服务器的宕机判断结果。具体为,当第一服务器根据预设的判断方法判断出第二服务器宕机时,则向服务器集群中所有其他服务器(服务器集群中除去第一服务器和第二服务器外的所有服务器)发送查询信息,用于获取所有其他服务器对该第二服务器的宕机判断结果,当所有其他服务器中的每个服务器接收到查询信息时,将其对该第二服务器的宕机判断结果发送给第一服务器。
步骤S303,当该服务器集群中预设比例的服务器的宕机判断结果为所述第二服务器宕机时,所述第一服务器确定所述第二服务器为宕机服务器。在本申请的实施例中,第一服务器接收所有其他服务器发送来的对第二服务器的宕机判断结果,当服务器集群中除去第二服务器外的所有服务器中(包括第一服务器)有超过预设比例的服务器判断该第二服务器宕机时,则确定该第二服务器为宕机服务器。在本申请的可选实施例中,该预设比例的取值区间为百分之30至百分之50,优选为百分之30。
例如,服务器集群中有ABCDEFGH8台服务器,其中A服务器宕机,在BCDEFGH之间,若B认为其宕机,则向CDEFGH发送查询信息,若CDEFG都认为A服务器宕机,则认为A服务器宕机的服务器在服务器集群中所占的比例已经超过预设比例,则判定A服务器为宕机服务器。
在本申请的实施例中,该第一服务器为第一个判断出第二服务器宕机的服务器,当该第一服务器判断第二服务器宕机时,可以依次向该服务器集群中所有其他服务器发送查询信息,用于获取所有其他服务器对该第二服务器的宕机判断结果,当反馈的宕机判断结果已经足以确定该第二服务器为宕机服务器时,即当反馈的宕机判断结果已经表明有足够数量的服务器判断该第二服务器宕机时,第一服务器则停止继续发送查询信息,直接判断该第二服务器为宕机服务器,避免了在已经可以确定结果时继续查询造成的资源浪费。
从以上的描述中,可以看出,在本申请实施例中,服务器集群中任意两服务器之间互相将自身的工作状态信息发送给对方,通过判断是否能定时收到对方发送的工作状态信息来确定对方服务器是否宕机,有助于提升服务器宕机判断的准确性。此外,当第一服务器判断第二服务器宕机时,还会向服务器集群中的其他服务器进行问询,并发起类似各服务器对第二服务器宕机的投票,当服务器集群中有多个服务器同时认为该第二服务器为宕机时,则确定第二服务器为宕机服务器。采用这样的类似服务器投票的方法,有助于提升服务器宕机判断的准确性,减少了由于通讯原因而造成的误判。
图5是本申请第三实施例确定服务器集群中宕机服务器的方法流程图,如图5所示,本实施例的方法包括步骤S401至步骤S403。
步骤S401,所述第一服务器通过判断是否能正确的接收到所述第二服务器发送的状态信息判断所述第二服务器是否为宕机服务器。在本申请的可选实施例中,服务器集群中任意两服务器之间互相发送心跳数据,该心跳数据为定时发送,当服务器集群中的第一服务器在预设的时间内未接收到第二服务器发送的工作状态信息,则第一服务器判断第二服务器处于宕机状态。在本申请的另一可选实施例中,服务器集群中任意两服务器之间互相发送心跳数据,该心跳数据为定时发送,当第一服务器接收到第二服务器发送的心跳数据时,向第二服务器返回一个应答数据,以此来互相通知自己处于正常状态,当第一服务器在一定时间内未接收到第二服务器发送的心跳数据或者第一服务器向第二服务器发送心跳数据但未收到第二服务器返回的应答数据时,则判断该第二服务器为宕机。本步骤中的第一服务器和第二服务器为服务器集群中任意两个服务器。在本申请的可选实施例中,服务器集群中任意两服务器之间可以通过UDP通讯协议互相发送心跳数据。
步骤S402,若是,所述第一服务器获取该服务器集群中其他服务器对所述第二服务器的宕机判断结果。在本申请实施例中,当第一服务器通过上述步骤S301中的方法判断出第二服务器宕机时,则查询该服务器集群中其他服务器对所述第二服务器的宕机判断结果。具体为,当第一服务器根据预设的判断方法判断出第二服务器宕机时,则向服务器集群中所有其他服务器(服务器集群中除去第一服务器和第二服务器外的所有服务器)发送查询信息,用于获取所有其他服务器对该第二服务器的宕机判断结果,当所有其他服务器中的每个服务器接收到查询信息时,将其对该第二服务器的宕机判断结果发送给第一服务器。
步骤S403,当该服务器集群中预设比例的服务器的宕机判断结果为所述第二服务器宕机时,所述第一服务器确定所述第二服务器为宕机服务器。在本申请的实施例中,第一服务器接收所有其他服务器发送来的对第二服务器的宕机判断结果,当服务器集群中除去第二服务器外的所有服务器中(包括第一服务器)有超过预设比例的服务器判断该第二服务器宕机时,则确定该第二服务器为宕机服务器。在本申请的可选实施例中,该预设比例的取值区间为百分之30至百分之50,优选为百分之30。
例如,服务器集群中有ABCDEFGH8台服务器,其中A服务器宕机,在BCDEFGH之间,若B认为其宕机,则向CDEFGH发送查询信息,若CDEFG都认为A服务器宕机,则认为A服务器宕机的服务器在服务器集群中所占的比例已经超过预设比例,则判定A服务器为宕机服务器。
在本申请的实施例中,该第一服务器为第一个判断出第二服务器宕机的服务器,当该第一服务器判断第二服务器宕机时,可以依次向该服务器集群中所有其他服务器发送查询信息,用于获取所有其他服务器对该第二服务器的宕机判断结果,当反馈的宕机判断结果已经足以确定该第二服务器为宕机服务器时,即当反馈的宕机判断结果已经表明有足够数量的服务器判断该第二服务器宕机时,第一服务器则停止继续发送查询信息,直接判断该第二服务器为宕机服务器,避免了在已经可以确定结果时继续查询造成的资源浪费。
从以上的描述中,可以看出,在本申请实施例中,服务器集群中任意两服务器之间互相发送心跳数据,通过判断是否能定时收到对方发送的心跳数据来确定对方服务器是否宕机,有助于提升服务器宕机判断的准确性。此外,当第一服务器判断第二服务器宕机时,还会向服务器集群中的其他服务器进行问询,并发起类似各服务器对第二服务器宕机的投票,当服务器集群中有多个服务器同时认为该第二服务器为宕机时,则确定第二服务器为宕机服务器。采用这样的类似服务器投票的方法,有助于提升服务器宕机判断的准确性,减少了由于通讯原因而造成的误判。
在本申请实施例中,所有的任务都是以作业步和工作流的形式储存在数据库中的,每个任务的每个作业步信息及其上下文信息将会保存在数据库中,以使后续可以还原某个作业步的场景。在本申请中,由第一个判断出宕机服务器的服务器来接管该宕机服务器的当前任务,具体的方法可以采用如图6所示的方法步骤。如图6所示的实施例处理宕机服务器当前任务的方法包括步骤S501至步骤S503。
步骤S501,所述第一个判断出该宕机服务器宕机的服务器获取所述任务的工作流。在本申请的实施例中,所述第一个判断出该宕机服务器宕机的服务器可以访问数据库,从中获取该宕机服务器当前执行的任务,并获取该任务对应的任务流。该工作流中记录有该任务每个作业步的作业进度,通过工作流就可以确定出该任务具体执行到哪个作业步。在本申请的可选实施例中,该任务库可以为:与服务器集群中每个服务器连接的任务服务器中的任务数据库;与服务器集群中每个服务器连接的云服务器中的任务数据库;或者同时设置在服务器集群中每个服务器上的任务系统的任务库。
步骤S502,所述第一个判断出该宕机服务器宕机的服务器从所述工作流中获取所述任务的当前作业步。在本申请实施例中,在获取宕机服务器当前执行任务的工作流之后,可以从工作流中获取作业步信息,以此可以确定出该宕机服务器在宕机之前在处理该任务的哪个作业步,并在确定出当前作业步之后,提取该当前作业步。
步骤S503,所述第一个判断出该宕机服务器宕机的服务器将所述当前作业步添加到自身的任务队列中。在本申请实施例中,在获取宕机服务器在宕机之前处理的作业步之后,该第一个判断出该宕机服务器宕机的服务器将该作业步添加到自身任务队列的末尾。在本申请的可选实施例中,该第一个判断出该宕机服务器宕机的服务器可以将该作业步以及任务中该作业步之后的所有作业步依次添加到自身任务队列的末尾,以替代宕机服务器处理其当前处理任务中剩下的所有作业步。
从以上的描述中,可以看出,在本申请实施例中,所有的任务都是以作业步和工作流的形式储存在数据库中的,每个任务的每个作业步信息及其上下文信息将会保存在数据库中,以使后续可以还原某个作业步的场景。本申请实施例中的方法实现了,当服务器宕机时,其他服务器可以从该宕机服务器的任务的当前处理作业步继续执行该任务,而不用从头执行该任务,加快了任务处理速度,避免了资源浪费。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本申请实施例还提供了一种基于服务器集群的宕机服务器任务处理系统,可以用于实现上述基于服务器集群的宕机服务器任务处理方法,如下面的实施例所述。由于基于服务器集群的宕机服务器任务处理系统解决问题的原理与基于服务器集群的宕机服务器任务处理方法相似,因此基于服务器集群的宕机服务器任务处理系统的实施例可以参见基于服务器集群的宕机服务器任务处理方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
如图7所示,本申请实施例的基于服务器集群的宕机服务器任务处理系统包括:服务器集群1,该服务器集群1中包括多个服务器2。
服务器集群1中的服务器2,用于判断该服务器集群1中是否存在宕机服务器,在本申请实施例中,服务器集群1中的各服务器2之间互相连接并互相判断工作状态,即服务器集群1中的每个服务器2都判断所有其他服务器2的工作状态,并根据各服务器2的状态判断结果来确定出该服务器集群1中是否存在宕机服务器,以及哪个服务器2为宕机服务器。
当根据判断结果确定该服务器集群中的某服务器为宕机服务器时,第一个判断出该宕机服务器宕机的服务器用于执行该宕机服务器当前执行的任务,在本申请的实施例中,第一个判断出该宕机服务器的服务器获取该宕机服务器当前执行的任务,并将该任务添加到其任务队列的末尾。
在本申请的实施例中,所述服务器集群1包括:第一服务器和第二服务器。
所述第一服务器用于判断所述第二服务器是否宕机,在本申请的可选实施例中,第一服务器可以通过判断与第二服务器的连接状态来判断该第二服务器是否宕机。
当所述第一服务器判断出所述第二服务器宕机时,所述第一服务器获取该服务器集群中其他服务器对所述第二服务器的宕机判断结果,在本申请的实施例中,当第一服务器根据预设的判断方法判断出第二服务器宕机时,则向服务器集群中所有其他服务器(服务器集群中除去第一服务器和第二服务器外的所有服务器)发送查询信息,用于获取所有其他服务器对该第二服务器的宕机判断结果,当所有其他服务器中的每个服务器接收到查询信息时,将其对该第二服务器的宕机判断结果发送给第一服务器。
当该服务器集群中预设比例的服务器的宕机判断结果为所述第二服务器宕机时,所述第一服务器确定所述第二服务器为宕机服务器,在本申请的实施例中,第一服务器接收所有其他服务器发送来的对第二服务器的宕机判断结果,当服务器集群中除去第二服务器外的所有服务器中(包括第一服务器)有超过预设比例的服务器判断该第二服务器宕机时,则确定该第二服务器为宕机服务器。在本申请的可选实施例中,该预设比例的取值区间为百分之30至百分之50,优选为百分之30。
在本申请的可选实施例中,所述第一服务器,还用于通过判断是否能正确的接收到所述第二服务器发送的状态信息判断所述第二服务器是否为宕机服务器。在本申请实施例中,服务器集群中任意两服务器之间互相将自身的工作状态信息发送给对方,该工作状态信息可以包括服务器的当前任务状态,当服务器集群中的第一服务器在预设的时间内未接收到第二服务器发送的工作状态信息,则第一服务器判断第二服务器处于宕机状态。
在本申请的可选实施例中,所述第一服务器,还用于通过判断是否能定期接收到所述第二服务器发送的心跳数据判断所述第二服务器是否为宕机服务器。在本申请的可选实施例中,服务器集群中任意两服务器之间互相发送心跳数据,该心跳数据为定时发送,当服务器集群中的第一服务器在预设的时间内未接收到第二服务器发送的工作状态信息,则第一服务器判断第二服务器处于宕机状态。
在本申请的可选实施例中,所述第一个判断出该宕机服务器宕机的服务器,还用于将该宕机服务器当前执行的任务添加到自身任务队列中。在本申请的实施例中,第一个判断出该宕机服务器的服务器获取该宕机服务器当前执行的任务,并将该任务添加到其任务队列的末尾。
在本身的可选实施例中,所述第一个判断出该宕机服务器宕机的服务器,还用于:获取所述任务的工作流;从所述工作流中获取所述任务的当前作业步;将所述当前作业步添加到自身的任务队列中。在本申请的实施例中,所述第一个判断出该宕机服务器宕机的服务器可以访问数据库,从中获取该宕机服务器当前执行的任务,并获取该任务对应的任务流。该工作流中记录有该任务每个作业步的作业进度,通过工作流就可以确定出该任务具体执行到哪个作业步。在确定出当前作业步之后,提取该当前作业步,将该作业步添加到自身任务队列的末尾。在本申请的可选实施例中,该第一个判断出该宕机服务器宕机的服务器可以将该作业步以及任务中该作业步之后的所有作业步依次添加到自身任务队列的末尾,以替代宕机服务器处理其当前处理任务中剩下的所有作业步。
本申请的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述建立终端与服务器节点连接的方法中的步骤。
本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述建立终端与服务器节点连接的方法中的步骤。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (16)

1.一种基于服务器集群的宕机服务器任务处理方法,其特征在于,包括:
服务器集群中的服务器判断该服务器集群中是否存在宕机服务器;
当根据判断结果确定该服务器集群中的某服务器为宕机服务器时,第一个判断出该宕机服务器宕机的服务器执行该宕机服务器当前执行的任务。
2.根据权利要求1所述的基于服务器集群的宕机服务器任务处理方法,其特征在于,所述服务器集群中的服务器判断该服务器集群中是否存在宕机服务器,包括:
服务器集群中的第一服务器判断第二服务器是否宕机;
若是,所述第一服务器获取该服务器集群中其他服务器对所述第二服务器的宕机判断结果;
当该服务器集群中预设比例的服务器的宕机判断结果为所述第二服务器宕机时,所述第一服务器确定所述第二服务器为宕机服务器。
3.根据权利要求2所述的基于服务器集群的宕机服务器任务处理方法,其特征在于,所述服务器集群中的第一服务器判断第二服务器是否宕机,包括:
所述第一服务器通过判断是否能正确的接收到所述第二服务器发送的状态信息判断所述第二服务器是否为宕机服务器。
4.根据权利要求3所述的基于服务器集群的宕机服务器任务处理方法,其特征在于,所述第一服务器通过判断是否能正确的接收到所述第二服务器发送的状态信息判断所述第二服务器是否为宕机服务器,包括:
所述第一服务器通过判断是否能定期接收到所述第二服务器发送的心跳数据判断所述第二服务器是否为宕机服务器。
5.根据权利要求1所述的基于服务器集群的宕机服务器任务处理方法,其特征在于,所述第一个判断出该宕机服务器宕机的服务器执行该宕机服务器当前执行的任务,包括:
所述第一个判断出该宕机服务器宕机的服务器将该宕机服务器当前执行的任务添加到自身任务队列中。
6.根据权利要求5所述的基于服务器集群的宕机服务器任务处理方法,其特征在于,所述第一个判断出该宕机服务器宕机的服务器将该宕机服务器当前执行的任务添加到自身任务队列中,包括:
所述第一个判断出该宕机服务器宕机的服务器获取所述任务的工作流;
所述第一个判断出该宕机服务器宕机的服务器从所述工作流中获取所述任务的当前作业步;
所述第一个判断出该宕机服务器宕机的服务器将所述当前作业步添加到自身的任务队列中。
7.根据权利要求2所述的基于服务器集群的宕机服务器任务处理方法,其特征在于,所述预设比例的取值范围为百分之30至百分之50。
8.一种基于服务器集群的宕机服务器任务处理系统,其特征在于,包括:服务器集群,该服务器集群中包括多个服务器,其中:
服务器集群中的服务器,用于判断该服务器集群中是否存在宕机服务器;
当根据判断结果确定该服务器集群中的某服务器为宕机服务器时,第一个判断出该宕机服务器宕机的服务器用于执行该宕机服务器当前执行的任务。
9.根据权利要求8所述的基于服务器集群的宕机服务器任务处理系统,其特征在于,所述服务器集群包括:第一服务器和第二服务器,其中:
所述第一服务器用于判断所述第二服务器是否宕机;
当所述第一服务器判断出所述第二服务器宕机时,所述第一服务器获取该服务器集群中其他服务器对所述第二服务器的宕机判断结果;
当该服务器集群中预设比例的服务器的宕机判断结果为所述第二服务器宕机时,所述第一服务器确定所述第二服务器为宕机服务器。
10.根据权利要求9所述的基于服务器集群的宕机服务器任务处理系统,其特征在于,所述第一服务器,还用于通过判断是否能正确的接收到所述第二服务器发送的状态信息判断所述第二服务器是否为宕机服务器。
11.根据权利要求10所述的基于服务器集群的宕机服务器任务处理系统,其特征在于,所述第一服务器,还用于通过判断是否能定期接收到所述第二服务器发送的心跳数据判断所述第二服务器是否为宕机服务器。
12.根据权利要求8所述的基于服务器集群的宕机服务器任务处理系统,其特征在于,所述第一个判断出该宕机服务器宕机的服务器,还用于将该宕机服务器当前执行的任务添加到自身任务队列中。
13.根据权利要求12所述的基于服务器集群的宕机服务器任务处理系统,其特征在于,所述第一个判断出该宕机服务器宕机的服务器,还用于:
获取所述任务的工作流;
从所述工作流中获取所述任务的当前作业步;
将所述当前作业步添加到自身的任务队列中。
14.根据权利要求9所述的基于服务器集群的宕机服务器任务处理系统,其特征在于,所述预设比例的取值范围为百分之30至百分之50。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项方法中的步骤。
16.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序在计算机处理器中执行时实现如权利要求1至7任意一项方法中的步骤。
CN201811213652.8A 2018-10-18 2018-10-18 基于服务器集群的宕机服务器任务处理方法及系统 Pending CN109471745A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811213652.8A CN109471745A (zh) 2018-10-18 2018-10-18 基于服务器集群的宕机服务器任务处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811213652.8A CN109471745A (zh) 2018-10-18 2018-10-18 基于服务器集群的宕机服务器任务处理方法及系统

Publications (1)

Publication Number Publication Date
CN109471745A true CN109471745A (zh) 2019-03-15

Family

ID=65664151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811213652.8A Pending CN109471745A (zh) 2018-10-18 2018-10-18 基于服务器集群的宕机服务器任务处理方法及系统

Country Status (1)

Country Link
CN (1) CN109471745A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535126A (zh) * 2020-04-14 2021-10-22 天津科技大学 一种基于ssm的房屋租赁平台

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321992B1 (en) * 2002-05-28 2008-01-22 Unisys Corporation Reducing application downtime in a cluster using user-defined rules for proactive failover
CN105430052A (zh) * 2015-10-30 2016-03-23 浪潮(北京)电子信息产业有限公司 一种用于集群系统的仲裁方法和装置
CN106656624A (zh) * 2017-01-04 2017-05-10 合肥康捷信息科技有限公司 基于Gossip通信协议和Raft选举算法的优化方法
CN106997314A (zh) * 2016-01-22 2017-08-01 广州市动景计算机科技有限公司 用于分布式系统的异常处理方法、装置及系统
CN107526648A (zh) * 2017-08-10 2017-12-29 天脉聚源(北京)科技有限公司 一种处理节点设备宕机的方法及装置
CN108667872A (zh) * 2017-03-31 2018-10-16 北京京东尚科信息技术有限公司 用于调度服务器的存档方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321992B1 (en) * 2002-05-28 2008-01-22 Unisys Corporation Reducing application downtime in a cluster using user-defined rules for proactive failover
CN105430052A (zh) * 2015-10-30 2016-03-23 浪潮(北京)电子信息产业有限公司 一种用于集群系统的仲裁方法和装置
CN106997314A (zh) * 2016-01-22 2017-08-01 广州市动景计算机科技有限公司 用于分布式系统的异常处理方法、装置及系统
CN106656624A (zh) * 2017-01-04 2017-05-10 合肥康捷信息科技有限公司 基于Gossip通信协议和Raft选举算法的优化方法
CN108667872A (zh) * 2017-03-31 2018-10-16 北京京东尚科信息技术有限公司 用于调度服务器的存档方法和装置
CN107526648A (zh) * 2017-08-10 2017-12-29 天脉聚源(北京)科技有限公司 一种处理节点设备宕机的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535126A (zh) * 2020-04-14 2021-10-22 天津科技大学 一种基于ssm的房屋租赁平台

Similar Documents

Publication Publication Date Title
CN105165054B (zh) 网络服务故障处理方法,服务管理系统和系统管理模块
CN105553993B (zh) 一种远程服务调用方法、装置及服务器
EP3905589A1 (en) Slice resource deployment method and apparatus, and slice manager and computer storage medium
CN106301829A (zh) 一种网络业务扩容的方法和装置
CN105338061A (zh) 一种轻量级消息中间件的实现方法与系统
CN111338773A (zh) 一种分布式定时任务调度方法、调度系统及服务器集群
CN105610972A (zh) 集群式的任务调派系统
CN106612196B (zh) 获取资源的方法及装置
Kliazovich et al. CA-DAG: Communication-aware directed acyclic graphs for modeling cloud computing applications
CN110032576A (zh) 一种业务处理方法以及装置
CN109450711A (zh) 分布式系统中主节点的选取方法、装置、系统及存储介质
CN113014611A (zh) 一种负载均衡方法及相关设备
CN105897861A (zh) 一种服务器集群的服务器部署方法及系统
CN104243473B (zh) 一种数据传输的方法以及装置
CN114706675A (zh) 基于云边协同系统的任务部署方法及装置
CN103299298B (zh) 处理业务的方法和系统
CN110365598A (zh) 心跳消息发送的方法、装置、服务器、终端及存储介质
CN109471745A (zh) 基于服务器集群的宕机服务器任务处理方法及系统
CN109491767A (zh) 分布式事务的处理方法和分布式系统
CN103152420A (zh) 一种避免Ovirt虚拟管理平台单点失效的方法
CN108366102A (zh) 一种基于Consul的服务发现方法、装置及电子设备
CN105335362B (zh) 实时数据的处理方法及系统、即时处理系统
CN104639379A (zh) 测试代理方法及其装置
CN114710485A (zh) 处理方法和处理装置
CN114610465A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190315

RJ01 Rejection of invention patent application after publication