CN107181788A - 一种任务处理方法及装置 - Google Patents
一种任务处理方法及装置 Download PDFInfo
- Publication number
- CN107181788A CN107181788A CN201710207344.3A CN201710207344A CN107181788A CN 107181788 A CN107181788 A CN 107181788A CN 201710207344 A CN201710207344 A CN 201710207344A CN 107181788 A CN107181788 A CN 107181788A
- Authority
- CN
- China
- Prior art keywords
- server
- task
- cluster
- retried
- time
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明实施例提供了一种任务处理方法及装置,应用于第一集群中的任一服务器,所述方法包括步骤:处理接收到的任务,并将处理失败的任务确定为待重试任务;将所述待重试任务发送至其他集群的服务器中,以使所述其他集群的服务器重试处理所述待重试任务。应用本发明实施例提供的技术方案进行任务处理,实现了避免处理失败的任务在同一台服务器上多次重试处理对该服务器造成的待重试任务积压,且能够避免由服务器自身的原因造成任务处理失败。
Description
技术领域
本发明涉及集群技术领域,特别是涉及一种任务处理方法及装置。
背景技术
集群是将多台服务器连接到一起,使多台服务器能够像一台机器那样工作或者看起来好像一台机器,集群通常能够提高服务处理系统的稳定性以及网络中心的数据处理能力。
集群中的每台服务器在处理任务时都可能会处理失败,现有技术采用的是:集群中的某一服务器处理失败的任务,再通过该服务器进行多次的重试处理,以此提高该任务处理成功的几率。
但是,一直采用该单一服务器进行任务的重试处理会造成服务器的待重试任务积压,且如果是该服务器本身的问题导致的任务处理失败,也会造成多次待重试任务依然一直处理失败。
发明内容
本发明实施例的目的在于提供一种任务处理方法及装置,以避免处理失败的任务在同一台服务器上多次重试处理对该服务器造成的待重试任务积压,且避免由服务器自身的原因造成任务处理失败。具体技术方案如下:
一种任务处理方法,应用于第一集群中的任一服务器,所述方法包括步骤:
处理接收到的任务,并将处理失败的任务确定为待重试任务;
将所述待重试任务发送至其他集群的服务器中,以使所述其他集群的服务器重试处理所述待重试任务。
可选的,所述将所述待重试任务发送至其他集群的服务器中的步骤,包括:
根据所述第一集群中所有服务器的待重试任务数量,确定所述其他集群中的服务器的数量,作为第一数量,将所述待重试任务发送至其他集群的第一数量个服务器中;
或者,根据述第一集群中所有服务器的数量,确定所述其他集群中的服务器的数量,作为第二数量,将所述待重试任务发送至其他集群的第二数量个服务器中。
可选的,在所述处理接收的任务,并将处理失败的任务确定为待重试任务之后,所述方法还包括:
增加所述待重试任务的超时时间;
所述将所述待重试任务发送至其他集群的服务器中,以使所述其他集群的服务器重试处理所述待重试任务,包括:
将所述待重试任务以及所述超时时间发送至其他集群的服务器中,以使所述其他集群的服务器在所述超时时间内重试处理所述待重试任务。
一种任务处理方法,应用于第二集群中的任意一个服务器,所述方法包括步骤:
接收第三集群中的任意一个服务器发送的待重试任务和所述待重试任务的超时时间,将接收到的超时时间作为第一超时时间;
在所述第一超时时间内,对所述待重试任务进行重试处理。
可选的,所述待重试任务为所述第三集群中的任意一个服务器处理失败的任务;
或者,所述待重试任务为经所述第三集群中的第一服务器处理失败后,由所述第一服务器将该任务发送至第二服务器重试处理后仍然失败的任务,其中,所述第一服务器为所述第三集群中的任一服务器,所述第二服务器为所述第三集群中除所述第一服务器之外的服务器。
可选的,所述方法还包括:
在所述待重试任务进行重试处理失败的情况下,判断所述第一超时时间是否大于预设时间值;
如果否,将所述待重试任务发送至第四集群中的服务器进行重试处理。
可选的,所述将所述待重试任务发送至第四集群中的服务器进行重试处理,包括:
将所述第一超时时间增加为第二超时时间,将所述待重试任务及所述第二超时时间发送至所述第四集群中的服务器,以使所述第四集群中的服务器在所述第二超时时间内进行重试处理。
可选的,所述将所述待重试任务发送至第四集群中的服务器进行重试处理,包括:
根据所述第二集群中所有服务器的待重试任务的数量,确定所述第四集群中服务器的数量,作为第三数量,将所述待重试任务发送至第四集群中的服务器进行重试处理;
或者,根据所述第二集群中所有服务器的数量,确定所述第四集群中服务器的数量,作为第四数量,将所述待重试任务发送至第四集群中的服务器进行重试处理;
或者,根据所述第二集群中的服务器数量和所述第三集群中的服务器的数量,确定所述第四集群中服务器的数量,作为第五数量,将所述待重试任务发送至第四集群中的服务器进行重试处理。
可选的,所述根据所述第二集群中的服务器数量和所述第三集群中的服务器的数量,确定所述第四集群中服务器的数量,所采用的计算公式为:
Mi+1=AM(1-A)Mi
其中,Mi+1为所述第四集群中服务器的数量,Mi为所述第三集群中服务器的数量,Mi-1所述第二集群中服务器的数量,A为预设参数。
一种任务处理装置,应用于第一集群中的任一服务器,所述装置包括:
处理模块,用于处理接收到的任务,并将处理失败的任务确定为待重试任务;
第一重试处理模块,用于将所述待重试任务发送至其他集群的服务器中,以使所述其他集群的服务器重试处理所述待重试任务。
可选的,所述第一重试处理模块,具体用于:
根据所述第一集群中所有服务器的待重试任务数量,确定所述其他集群中的服务器的数量,作为第一数量,将所述待重试任务发送至其他集群的第一数量个服务器中;
或者,根据述第一集群中所有服务器的数量,确定所述其他集群中的服务器的数量,作为第二数量,将所述待重试任务发送至其他集群的第二数量个服务器中。
可选的,在所述处理模块之后,所述装置还包括:
增加模块,用于增加所述待重试任务的超时时间;
所述第一重试处理模块,具体用于:
将所述待重试任务以及所述超时时间发送至其他集群的服务器中,以使所述其他集群的服务器在所述超时时间内重试处理所述待重试任务。
一种任务处理装置,应用于第二集群中的任意一个服务器,所述装置包括:
接收模块,用于接收第三集群中的任意一个服务器发送的待重试任务和所述待重试任务的超时时间,将接收到的超时时间作为第一超时时间;
第二重试处理模块,用于在所述第一超时时间内,对所述待重试任务进行重试处理。
可选的,所述待重试任务为所述第三集群中的任意一个服务器处理失败的任务;
或者,所述待重试任务为经所述第三集群中的第一服务器处理失败后,由所述第一服务器将该任务发送至第二服务器重试处理后仍然失败的任务,其中,所述第一服务器为所述第三集群中的任一服务器,所述第二服务器为所述第三集群中除所述第一服务器之外的服务器。
可选的,所述装置还包括:
判断模块,用于在所述待重试任务进行重试处理失败的情况下,判断所述第一超时时间是否大于预设时间值;
发送模块,用于在所述判断模块的判断结果为否的情况下,将所述待重试任务发送至第四集群中的服务器进行重试处理。
可选的,所述发送模块,具体用于:
将所述第一超时时间增加为第二超时时间,将所述待重试任务及所述第二超时时间发送至所述第四集群中的服务器,以使所述第四集群中的服务器在所述第二超时时间内进行重试处理。
可选的,发送模块,具体用于:
根据所述第二集群中所有服务器的待重试任务的数量,确定所述第四集群中服务器的数量,作为第三数量,将所述待重试任务发送至第四集群中的服务器进行重试处理;
或者,根据所述第二集群中所有服务器的数量,确定所述第四集群中服务器的数量,作为第四数量,将所述待重试任务发送至第四集群中的服务器进行重试处理;
或者,根据所述第二集群中的服务器数量和所述第三集群中的服务器的数量,确定所述第四集群中服务器的数量,作为第五数量,将所述待重试任务发送至第四集群中的服务器进行重试处理。
可选的,所述根据所述第二集群中的服务器数量和所述第三集群中的服务器的数量,确定所述第四集群中服务器的数量,所采用的计算公式为:
Mi+1=AM(1-A)Mi
其中,Mi+1为所述第四集群中服务器的数量,Mi为所述第三集群中服务器的数量,Mi-1所述第二集群中服务器的数量,A为预设参数。
本发明实施例提供的任务处理方法及装置,通过第一集群中的任意一个服务器处理接收到的任务,在任务处理失败后将其确定为待重试任务,同时该服务器将待重试任务发送到其他集群的服务器中。以此,解决了现有技术中在集群中的一台服务器处理任务失败的情况下,多次在该台服务器上进行重试而导致的服务器待重试任务积压,且通过将该失败待重试任务发送给其他集群的服务器避免了由服务器自身的原因造成任务处理失败。因此,实现了避免处理失败的任务在同一台服务器上多次重试处理对该服务器造成的待重试任务积压,且能够避免由服务器自身的原因造成任务处理失败。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种任务处理方法的第一种流程示意图;
图2为本发明实施例提供的一种任务处理方法的第二种流程示意图;
图3为本发明实施例提供的另一种任务处理方法的第一种流程示意图;
图4为本发明实施例提供的另一种任务处理方法的第二种流程示意图;
图5为本发明实施例提供的一种任务处理装置的第一种结构示意图;
图6为本发明实施例提供的一种任务处理装置的第二种结构示意图;
图7为本发明实施例提供的另一种任务处理装置的第一种结构示意图;
图8为本发明实施例提供的另一种任务处理装置的第二种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决现有技术问题,本发明实施例提供了一种任务处理方法及装置,以下分别进行详细说明。
图1为本发明实施例提供的一种任务处理方法的第一种流程示意图,应用于第一集群中的任一服务器,其中,上述第一集群可以理解为是任一进行任务处理的集群,例如,服务处理系统中的一个集群。
所述方法包括步骤:
S101,处理接收到的任务,并将处理失败的任务确定为待重试任务。
本发明实施例中,第一集群中的任意一个服务器对接收到的任务进行处理。示例性的,第一集群中的服务器A接收到的任务B为:读取数据库中的数据Z,假设服务器A没有成功读取到数据库中的数据Z,那么服务器A处理任务B失败,可以将任务B确定为待重试任务。
S102,将所述待重试任务发送至其他集群的服务器中,以使所述其他集群的服务器重试处理所述待重试任务。
可以理解的是,为了提高任务B的处理成功率需要将任务B再次进行重试处理,所以处理该任务的服务器A将任务B发送给其他集群的服务器,以便该待重试任务在其他集群的服务器中再次重试处理。由于上述任务B处理失败可能是由于服务器A自身因素造成的,所以这样能够避免该任务一直在服务器A上进行重试处理依然失败的情况,提高任务B被成功处理的概率;另外,由其他集群的服务器对任务B进行重试处理,能够有效防止服务器A中重试任务的堆积。
具体的,在一种实现方式中,可以根据第一集群中所有服务器的待重试任务数量,确定其他集群中的服务器的数量,作为第一数量,将待重试任务发送至其他集群的第一数量个服务器中。
可以理解的是,可以根据第一集群中每一个服务器的待重试任务数量,获得该集群中所有服务器的待重试任务数量,根据所有服务器的待重试任务数量确定其他集群中的服务器的数量。示例性的,第一集群中包含10个服务器,10个服务器的待重试任务数量分别为:0、1、2、2、1、5、10、3、6、2,那么第一集群中所有服务器的待重试任务数量为32。具体的,可以根据32个待重试任务确定其他集群中的服务器的数量。
具体的,可以根据预先设定的第一集群中所有服务器的待重试任务数量与其他集群中的服务器的数量的对应关系,确定其他集群中的服务器的数量;例如,预先设定:第一集群中的数量在0-15时,对应其他集群中的服务器的数量为8;第一集群中的数量在16-32时,对应其他集群中的服务器的数量为12;第一集群中的数量在33-45时,对应其他集群中的服务器的数量为18,等等,那么在第一集群的待重试任务数量为32时,对应的其他集群的服务器的数量为18。
还可以设置第一集群中所有服务器的待重试任务数量与其他集群中的服务器的数量的比例关系,从而确定其他集群中的服务器的数量;例如,设置第一集群中所有服务器的待重试任务数量与其他集群中的服务器的数量的比例关系为4:1,那么在第一集群的待重试任务数量为32时,对应的其他集群的服务器的数量为8。
或者根据经验值,预先设置第一集群中所有服务器的待重试任务数量与其他集群中的服务器的数量的计算公式,从而确定其他集群中的服务器的数量。例如,设置他集群中的服务器的数量=第一集群中所有服务器的待重试任务数量/2+5,那么在第一集群的待重试任务数量为32时,对应的其他集群的服务器的数量为21。
将其他集群中的服务器数量作为第一数量,然后将待重试任务发送至第一数量个服务器中。具体的,可以发送至第一数量个服务器中的一个服务器中,也可以发送至多个服务器中,本发明实施例在此不对其进行限定。确定其他集群中服务器的数量的技术为现有技术,本发明实施例在此不对其进行赘述。
具体的,在另一种实现方式中,可以根据第一集群中所有服务器的数量,确定所述其他集群中的服务器的数量,作为第二数量,将所述待重试任务发送至其他集群的第二数量个服务器中。
可以理解的是,还可以根据第一集群中所有服务器的数量,确定其他集群中的服务器的数量,具体的确定方式可以通过设定第一集群中所有服务器的数量与其他集群中的服务器的数量的比例关系,从而根据比例关系能够确定其他集群中的服务器的数量;例如,设定第一集群中所有服务器的数量与其他集群中的服务器的数量为3:1的关系,在第一集群中所有服务器的数量为30的情况下,其他集群中的服务器的数量为10。
或者,根据预先设定的第一集群中所有服务器的数量与其他集群中的服务器的数量的数值对应关系,确定他集群中的服务器的数量,例如,设定第一集群中所有服务器的数量在5-18时,对应其他集群中的服务器的数量为10;设定第一集群中所有服务器的数量在19-30时,对应其他集群中的服务器的数量为20,等等。在第一集群中所有服务器的数量为25时,对应其他集群中的服务器的数量为20。以上确定他集群中的服务器的数量仅仅是示例性的,不构成对本发明实施例的具体限定。
再将其他集群中的服务器的数量,作为第二数量,将待重试任务发送至第二数量个服务器中,具体的,可以是第二数量个服务器中的1个服务器、也可以是多个服务器,等等,本发明实施例在此不对其做具体限定。
在这两种情况下能够动态调整集群中服务器的数量,实现了服务器数量的动态伸缩,从而在实际应用中能够提高服务器的利用效率。
应用图1所示的实施例,通过第一集群中的任意一个服务器处理接收到的任务,在任务处理失败后将其确定为待重试任务,同时该服务器将带待重试任务发送到其他集群的服务器中。以此,解决了现有技术中在集群中的一台服务器处理任务失败的情况下,多次在该台服务器上进行重试而导致的服务器待重试任务积压,且通过将该失败待重试任务发送给其他集群的服务器避免了由服务器自身的原因造成任务处理失败。因此,实现了避免处理失败的任务在同一台服务器上多次重试处理对该服务器造成的待重试任务积压,且能够避免由服务器自身的原因造成任务处理失败。
图2为本发明实施例提供的一种任务处理方法的第二种流程示意图,在所述处理接收的任务,并将处理失败的任务确定为待重试任务之后,所述方法还包括S103。
S103,增加所述待重试任务的超时时间。
可以理解的是,每一个任务都可以有一个与任务自身相对应的超时时间,超时时间表示任务从最初处理到结束处理的时间。在待重试任务处理失败后,对待重试任务的超时时间进行增加处理。可以理解的是,增加待重试任务的超时时间可以让其得到更多的被处理时间和重试处理机会,即能够增加待重试任务的处理成功率。示例性的,第一集群中的服务器A处理接收到的任务B失败后,增加任务B的超时间,假设任务B增加前的超时时间为3s,增加后的超时间为4s。
这种情况下,S102具体为S102A:将所述待重试任务以及所述超时时间发送至其他集群的服务器中,以使所述其他集群的服务器在所述超时时间内重试处理所述待重试任务。
示例性的,服务器A将任务B和增加的超时时间4s发送给其他集群的服务器,假设其他集群的服务器C接收任务B和超时时间,然后由服务器C在超时时间为4s的情况下重试处理任务B。
通过增加待重试任务的超时时间,并发送至其他集群中的服务器进行处理,从而在增加的超时时间内其他集群的服务器能够对待处理任务进行再次的处理,进而增加待重试任务的重试处理机会,以此达到提高待重试任务得处理成功率的目的。
图3为本发明实施例提供的另一种任务处理方法的第一种流程示意图,应用于第二集群中的任意一个服务器,所述方法包括步骤:
S301,接收第三集群中的任意一个服务器发送的待重试任务和所述待重试任务的超时时间,将接收到的超时时间作为第一超时时间。
示例性的,第二集群中的服务器D接收到第三集群中的服务器E发送的待重试任务Y以及待重试任务Y的超时时间,将待重试任务Y的超时时间作为第一超时时间,假设第一超时时间为4.2s。
本发明实施例中,待重试任务可以为第三集群中的任意一个服务器处理失败的任务;或者,待重试任务也可以为经第三集群中的第一服务器处理失败后,由第一服务器将该任务发送至第二服务器重试处理后仍然失败的任务,其中,第一服务器为第三集群中的任一服务器,第二服务器为第三集群中除第一服务器之外的服务器。具体的,经过第一服务器处理失败后的任务,第一服务器将其发送至该集群中的第二服务器进行重试处理,第二服务器可以为一个服务器也可以为多个服务器,只要能够正常处理待重试任务即可,本发明实施例在此不做具体限定。
S302,在所述第一超时时间内,对所述待重试任务进行重试处理。
示例性的,第二集群中的服务器D,在第一超时时间4.2s内对接收到的待重试任务Y进行重试处理。
应用本发明图3所示的实施例,通过第二集群中的任意一个服务器接收第三集群中的服务器发送的待重试任务和第一超时时间,且在第一超时时间内重试处理待重试任务,能够避免待重试任务重复在第三集群的原服务器上一直进行重试,而导致的任务积压,且能够避免由于该服务器问题造成的任务处理失败。
图4为本发明实施例提供的另一种任务处理方法的第二种流程示意图,在图3所示实施例的基础上增加S303、S304。
S303,在所述待重试任务进行重试处理失败的情况下,判断所述第一超时时间是否大于预设时间值;如果否,执行S304。
可以理解的是,第二集群中的服务器处理接收到的待重试任务也有可能处理失败,在处理失败的情况下,该服务器判断第一超时时间是否大于预设时间值,如果不大于,表明待重试任务可以继续进行重试处理。示例性的,第二集群中的服务器D,在第一超时时间4.2s内对接收到的待重试任务Y进行重试处理失败,假设预设时间值为5s,由于4.2s<5s,所以对待重试任务执行S304步骤。可以理解的是,对于每一个待重试任务都可以设置一个预设时间值,在该预设时间值的范围内对待重试任务进行处理,如果超时时间达到该预设时间值时,待重试任务仍然没有处理成功,则可以将待重试任务作为一次失败的任务。可以理解的是,对每一待重试任务设置一个预设时间值可以防止该任务不停的进行重试,有可能该任务是不能被处理成功的,不停的重试就会一直占用服务器的资源;另外,还可以根据待重试任务的时间紧急情况对预设时间值设置不同的值,以便在待重试任务处理失败的情况下可以及时的对任务采取其他的干预措施,如人工进行设备的检查,或者及时向用户反馈用户发送的重试任务处理失败等等。
S304,将所述待重试任务发送至第四集群中的服务器进行重试处理。
示例性的,第二集群中的服务器D可以将待重试任务Y发送至第四集群中的服务器进行重试处理,具体的,可以发送给第四集群中的一个服务器进行重试处理,也可以发给多个服务器进行重试处理,本发明实施例在此不做具体限定。
另外,值得一提的是,第二集群、第四集群为不同的、进行任务处理的任一集群,所以,第四集群中的每一服务器也可以应用本实施例提供的方案进行任务处理,也就是第四集群中的服务器接收到上述第待重试任务后,可以按照上述图3、图4所示实施例提供的方案进行任务处理,进而在任务处理失败的情况下,可以形成一级一级向后面集群中的服务器发送待重试任务,进而进行任务重试的情况。
再者,为保证各个集群中的服务器能够高效的进行任务处理,从功能上进行划分,上述第二集群、第四集群可以理解为专门进行任务重试处理的集群,也就是第二集群、第四集群中的各服务器专门处理其他集群处理失败的任务。当然,本申请并不对此进行限定。
应用本发明图4所示的实施例,只要在待重试任务的超时时间小于预设时间值的情况下,即可将待重试任务发送至其他集群的服务器上继续进行重试处理,如此就可以不断的增加待重试任务的重试处理次数,通过增加重试处理次数以便提高待重试任务的处理成功率。
具体的,在一种实现方式中,可以将第一超时时间增加为第二超时时间,将待重试任务及第二超时时间发送至所述第四集群中的服务器,以使第四集群中的服务器在第二超时时间内进行重试处理。应用本发明实施例可以使得在预设时间值以内,只要待重试任务处理失败即可增加待重试任务的超时时间,然后发送给其他集群的服务器继续进行重试处理,通过增加超时时间能够延长对待重试任务的重试处理,即增加待重试任务的重试处理次数,以此能够提高待重试任务的处理成功率。
具体的,在另一种实现方式中,可以根据第二集群中所有服务器的待重试任务的数量,确定第四集群中服务器的数量,作为第三数量,将待重试任务发送至第四集群中的服务器进行重试处理。具体的,可以根据预先设定的第二集群中所有服务器的待重试任务的数量与第四集群中服务器的数量的比例关系,在已知第二集群中所有服务器的待重试任务的数量的情况下,确定第四集群中服务器的数量;也可以预先设定第二集群中所有服务器的待重试任务的数量与第四集群中服务器的数量的数值范围对应关系,进而确定第四集群中服务器的数量;也可以设定第二集群中所有服务器的待重试任务的数量与第四集群中服务器的数量的计算公式,通过公式计算第四集群中服务器的数量,等等。
或者,根据第二集群中所有服务器的数量,确定第四集群中服务器的数量,作为第四数量,将待重试任务发送至第四集群中的服务器进行重试处理。可以通过预先设定第二集群中所有服务器的数量与第四集群中所有服务器数量的比例关系,例如第四集群中服务器的数量为第二集群中服务器数量的1/5、1/10、1/20、1/100等等,从而确定第四集群中服务器的数量,进而将待重试任务发送至第四集群中的服务器进行重试处理。
或者,根据第二集群中的服务器数量和所第三集群中的服务器的数量,确定第四集群中服务器的数量,作为第五数量,将待重试任务发送至第四集群中的服务器进行重试处理。具体的,可以采用的如下计算公式确定第四集群中服务器的数量。
Mi+1=AM(1-A)Mi
其中,Mi+1为第四集群中服务器的数量,Mi为第三集群中服务器的数量,Mi-1第二集群中服务器的数量,A为预设参数。
示例性的,预设参数A=0.5,第三集群中的服务器的数量为10,第二集群中的服务器的数量为8,那么第四集群中的服务器的数量为:0.5*8*(1-0.5)*10=20,然后将20作为第五数量,将待重试任务发送至第四集群的20个服务器中的一个或者多个上进行重试处理。本发明实施例中计算第四集群中服务器的数量仅仅是示例性的,不构成对本发明实施例的限定。
图5为本发明实施例提供的一种任务处理装置的第一种结构示意图,应用于第一集群中的任一服务器,所述装置可以包括:
处理模块501,用于处理接收到的任务,并将处理失败的任务确定为待重试任务;
第一重试处理模块502,用于将所述待重试任务发送至其他集群的服务器中,以使所述其他集群的服务器重试处理所述待重试任务。
具体的,所述第一重试处理模块502,具体用于:
根据所述第一集群中所有服务器的待重试任务数量,确定所述其他集群中的服务器的数量,作为第一数量,将所述待重试任务发送至其他集群的第一数量个服务器中;
或者,根据述第一集群中所有服务器的数量,确定所述其他集群中的服务器的数量,作为第二数量,将所述待重试任务发送至其他集群的第二数量个服务器中。
图6为本发明实施例提供的一种任务处理装置的第二种结构示意图,在图5所示实施例的基础上,增加:增加模块503。
增加模块503,用于增加所述待重试任务的超时时间;
所述第一重试处理模块502,具体用于:
将所述待重试任务以及所述超时时间发送至其他集群的服务器中,以使所述其他集群的服务器在所述超时时间内重试处理所述待重试任务。
图7为本发明实施例提供的另一种任务处理装置的第一种结构示意图,所述装置可以包括:
接收模块701,用于接收第三集群中的任意一个服务器发送的待重试任务和所述待重试任务的超时时间,将接收到的超时时间作为第一超时时间;
第二重试处理模块702,用于在所述第一超时时间内,对所述待重试任务进行重试处理。
具体的,所述待重试任务为所述第三集群中的任意一个服务器处理失败的任务;
或者,所述待重试任务为经所述第三集群中的第一服务器处理失败后,由所述第一服务器将该任务发送至第二服务器重试处理后仍然失败的任务,其中,所述第一服务器为所述第三集群中的任一服务器,所述第二服务器为所述第三集群中除所述第一服务器之外的服务器。
图8为本发明实施例提供的另一种任务处理装置的第二种结构示意图,在图7所示实施例的基础上,增加判断模块703、发送模块704。
判断模块703,用于在所述待重试任务进行重试处理失败的情况下,判断所述第一超时时间是否大于预设时间值;
发送模块704,用于在所述判断模块的判断结果为否的情况下,将所述待重试任务发送至第四集群中的服务器进行重试处理。
具体的,发送模块704,可以用于:
将所述第一超时时间增加为第二超时时间,将所述待重试任务及所述第二超时时间发送至所述第四集群中的服务器,以使所述第四集群中的服务器在所述第二超时时间内进行重试处理。
具体的,发送模块704,可以用于:
根据所述第二集群中所有服务器的待重试任务的数量,确定所述第四集群中服务器的数量,作为第三数量,将所述待重试任务发送至第四集群中的服务器进行重试处理;
或者,根据所述第二集群中所有服务器的数量,确定所述第四集群中服务器的数量,作为第四数量,将所述待重试任务发送至第四集群中的服务器进行重试处理;
或者,根据所述第二集群中的服务器数量和所述第三集群中的服务器的数量,确定所述第四集群中服务器的数量,作为第五数量,将所述待重试任务发送至第四集群中的服务器进行重试处理。
具体的,所述根据所述第二集群中的服务器数量和所述第三集群中的服务器的数量,确定所述第四集群中服务器的数量,所采用的计算公式为:
Mi+1=AM(1-A)Mi
其中,Mi+1为所述第四集群中服务器的数量,Mi为所述第三集群中服务器的数量,Mi-1所述第二集群中服务器的数量,A为预设参数。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (18)
1.一种任务处理方法,其特征在于,应用于第一集群中的任一服务器,所述方法包括步骤:
处理接收到的任务,并将处理失败的任务确定为待重试任务;
将所述待重试任务发送至其他集群的服务器中,以使所述其他集群的服务器重试处理所述待重试任务。
2.根据权利要求1所述的方法,其特征在于,所述将所述待重试任务发送至其他集群的服务器中的步骤,包括:
根据所述第一集群中所有服务器的待重试任务数量,确定所述其他集群中的服务器的数量,作为第一数量,将所述待重试任务发送至其他集群的第一数量个服务器中;
或者,根据述第一集群中所有服务器的数量,确定所述其他集群中的服务器的数量,作为第二数量,将所述待重试任务发送至其他集群的第二数量个服务器中。
3.根据权利要求1所述的方法,其特征在于,在所述处理接收的任务,并将处理失败的任务确定为待重试任务之后,所述方法还包括:
增加所述待重试任务的超时时间;
所述将所述待重试任务发送至其他集群的服务器中,以使所述其他集群的服务器重试处理所述待重试任务,包括:
将所述待重试任务以及所述超时时间发送至其他集群的服务器中,以使所述其他集群的服务器在所述超时时间内重试处理所述待重试任务。
4.一种任务处理方法,其特征在于,应用于第二集群中的任意一个服务器,所述方法包括步骤:
接收第三集群中的任意一个服务器发送的待重试任务和所述待重试任务的超时时间,将接收到的超时时间作为第一超时时间;
在所述第一超时时间内,对所述待重试任务进行重试处理。
5.根据权利要求4所述的方法,其特征在于,
所述待重试任务为所述第三集群中的任意一个服务器处理失败的任务;
或者,所述待重试任务为经所述第三集群中的第一服务器处理失败后,由所述第一服务器将该任务发送至第二服务器重试处理后仍然失败的任务,其中,所述第一服务器为所述第三集群中的任一服务器,所述第二服务器为所述第三集群中除所述第一服务器之外的服务器。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述待重试任务进行重试处理失败的情况下,判断所述第一超时时间是否大于预设时间值;
如果否,将所述待重试任务发送至第四集群中的服务器进行重试处理。
7.根据权利要求6所述的方法,其特征在于,所述将所述待重试任务发送至第四集群中的服务器进行重试处理,包括:
将所述第一超时时间增加为第二超时时间,将所述待重试任务及所述第二超时时间发送至所述第四集群中的服务器,以使所述第四集群中的服务器在所述第二超时时间内进行重试处理。
8.根据权利要求6所述的方法,其特征在于,所述将所述待重试任务发送至第四集群中的服务器进行重试处理,包括:
根据所述第二集群中所有服务器的待重试任务的数量,确定所述第四集群中服务器的数量,作为第三数量,将所述待重试任务发送至第四集群中的服务器进行重试处理;
或者,根据所述第二集群中所有服务器的数量,确定所述第四集群中服务器的数量,作为第四数量,将所述待重试任务发送至第四集群中的服务器进行重试处理;
或者,根据所述第二集群中的服务器数量和所述第三集群中的服务器的数量,确定所述第四集群中服务器的数量,作为第五数量,将所述待重试任务发送至第四集群中的服务器进行重试处理。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第二集群中的服务器数量和所述第三集群中的服务器的数量,确定所述第四集群中服务器的数量,所采用的计算公式为:
Mi+1=AM(1-A)Mi
其中,Mi+1为所述第四集群中服务器的数量,Mi为所述第三集群中服务器的数量,Mi-1所述第二集群中服务器的数量,A为预设参数。
10.一种任务处理装置,其特征在于,应用于第一集群中的任一服务器,所述装置包括:
处理模块,用于处理接收到的任务,并将处理失败的任务确定为待重试任务;
第一重试处理模块,用于将所述待重试任务发送至其他集群的服务器中,以使所述其他集群的服务器重试处理所述待重试任务。
11.根据权利要求10所述的装置,其特征在于,所述第一重试处理模块,具体用于:
根据所述第一集群中所有服务器的待重试任务数量,确定所述其他集群中的服务器的数量,作为第一数量,将所述待重试任务发送至其他集群的第一数量个服务器中;
或者,根据述第一集群中所有服务器的数量,确定所述其他集群中的服务器的数量,作为第二数量,将所述待重试任务发送至其他集群的第二数量个服务器中。
12.根据权利要求10所述的装置,其特征在于,在所述处理模块之后,所述装置还包括:
增加模块,用于增加所述待重试任务的超时时间;
所述第一重试处理模块,具体用于:
将所述待重试任务以及所述超时时间发送至其他集群的服务器中,以使所述其他集群的服务器在所述超时时间内重试处理所述待重试任务。
13.一种任务处理装置,其特征在于,应用于第二集群中的任意一个服务器,所述装置包括:
接收模块,用于接收第三集群中的任意一个服务器发送的待重试任务和所述待重试任务的超时时间,将接收到的超时时间作为第一超时时间;
第二重试处理模块,用于在所述第一超时时间内,对所述待重试任务进行重试处理。
14.根据权利要求13所述的装置,其特征在于,所述待重试任务为所述第三集群中的任意一个服务器处理失败的任务;
或者,所述待重试任务为经所述第三集群中的第一服务器处理失败后,由所述第一服务器将该任务发送至第二服务器重试处理后仍然失败的任务,其中,所述第一服务器为所述第三集群中的任一服务器,所述第二服务器为所述第三集群中除所述第一服务器之外的服务器。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
判断模块,用于在所述待重试任务进行重试处理失败的情况下,判断所述第一超时时间是否大于预设时间值;
发送模块,用于在所述判断模块的判断结果为否的情况下,将所述待重试任务发送至第四集群中的服务器进行重试处理。
16.根据权利要求15所述的装置,其特征在于,所述发送模块,具体用于:
将所述第一超时时间增加为第二超时时间,将所述待重试任务及所述第二超时时间发送至所述第四集群中的服务器,以使所述第四集群中的服务器在所述第二超时时间内进行重试处理。
17.根据权利要求15所述的装置,其特征在于,发送模块,具体用于:
根据所述第二集群中所有服务器的待重试任务的数量,确定所述第四集群中服务器的数量,作为第三数量,将所述待重试任务发送至第四集群中的服务器进行重试处理;
或者,根据所述第二集群中所有服务器的数量,确定所述第四集群中服务器的数量,作为第四数量,将所述待重试任务发送至第四集群中的服务器进行重试处理;
或者,根据所述第二集群中的服务器数量和所述第三集群中的服务器的数量,确定所述第四集群中服务器的数量,作为第五数量,将所述待重试任务发送至第四集群中的服务器进行重试处理。
18.根据权利要求17所述的装置,其特征在于,所述根据所述第二集群中的服务器数量和所述第三集群中的服务器的数量,确定所述第四集群中服务器的数量,所采用的计算公式为:
Mi+1=AM(1-A)Mi
其中,Mi+1为所述第四集群中服务器的数量,Mi为所述第三集群中服务器的数量,Mi-1所述第二集群中服务器的数量,A为预设参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710207344.3A CN107181788A (zh) | 2017-03-31 | 2017-03-31 | 一种任务处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710207344.3A CN107181788A (zh) | 2017-03-31 | 2017-03-31 | 一种任务处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107181788A true CN107181788A (zh) | 2017-09-19 |
Family
ID=59829884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710207344.3A Pending CN107181788A (zh) | 2017-03-31 | 2017-03-31 | 一种任务处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107181788A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108023936A (zh) * | 2017-11-07 | 2018-05-11 | 深圳市天下房仓科技有限公司 | 一种分布式接口访问控制方法及系统 |
CN108234658A (zh) * | 2018-01-05 | 2018-06-29 | 北京奇艺世纪科技有限公司 | 一种感知服务器集群健康状况的方法、装置和服务器 |
CN110287060A (zh) * | 2019-06-06 | 2019-09-27 | 郑州阿帕斯科技有限公司 | 一种数据的处理方法、装置 |
CN110968410A (zh) * | 2019-11-29 | 2020-04-07 | 深圳前海环融联易信息科技服务有限公司 | 任务失败重试方法、装置、计算机设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110219121A1 (en) * | 2010-03-04 | 2011-09-08 | Krishnan Ananthanarayanan | Resilient routing for session initiation protocol based communication systems |
CN102523234A (zh) * | 2011-12-29 | 2012-06-27 | 山东中创软件工程股份有限公司 | 一种应用服务器集群实现方法及系统 |
CN104378452A (zh) * | 2013-08-14 | 2015-02-25 | 阿里巴巴集团控股有限公司 | 一种用于域名解析的方法、装置及系统 |
CN104426692A (zh) * | 2013-08-26 | 2015-03-18 | 联想(北京)有限公司 | 一种信息处理方法,一种装置及网络服务器 |
CN104468174A (zh) * | 2013-09-25 | 2015-03-25 | 北京新媒传信科技有限公司 | 一种集群服务器执行任务的方法和装置 |
US20160127177A1 (en) * | 2014-11-03 | 2016-05-05 | Vladimir Pavlov | Installation of an arbitrary server as an extenstion of a computing platform |
CN105635231A (zh) * | 2014-11-06 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种分布式系统的调用方法和装置 |
CN106202581A (zh) * | 2016-08-30 | 2016-12-07 | 北京奇艺世纪科技有限公司 | 一种数据搜索方法及装置 |
-
2017
- 2017-03-31 CN CN201710207344.3A patent/CN107181788A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110219121A1 (en) * | 2010-03-04 | 2011-09-08 | Krishnan Ananthanarayanan | Resilient routing for session initiation protocol based communication systems |
CN102523234A (zh) * | 2011-12-29 | 2012-06-27 | 山东中创软件工程股份有限公司 | 一种应用服务器集群实现方法及系统 |
CN104378452A (zh) * | 2013-08-14 | 2015-02-25 | 阿里巴巴集团控股有限公司 | 一种用于域名解析的方法、装置及系统 |
CN104426692A (zh) * | 2013-08-26 | 2015-03-18 | 联想(北京)有限公司 | 一种信息处理方法,一种装置及网络服务器 |
CN104468174A (zh) * | 2013-09-25 | 2015-03-25 | 北京新媒传信科技有限公司 | 一种集群服务器执行任务的方法和装置 |
US20160127177A1 (en) * | 2014-11-03 | 2016-05-05 | Vladimir Pavlov | Installation of an arbitrary server as an extenstion of a computing platform |
CN105635231A (zh) * | 2014-11-06 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种分布式系统的调用方法和装置 |
CN106202581A (zh) * | 2016-08-30 | 2016-12-07 | 北京奇艺世纪科技有限公司 | 一种数据搜索方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108023936A (zh) * | 2017-11-07 | 2018-05-11 | 深圳市天下房仓科技有限公司 | 一种分布式接口访问控制方法及系统 |
CN108023936B (zh) * | 2017-11-07 | 2021-02-05 | 深圳市天下房仓科技有限公司 | 一种分布式接口访问控制方法及系统 |
CN108234658A (zh) * | 2018-01-05 | 2018-06-29 | 北京奇艺世纪科技有限公司 | 一种感知服务器集群健康状况的方法、装置和服务器 |
CN108234658B (zh) * | 2018-01-05 | 2021-05-25 | 北京奇艺世纪科技有限公司 | 一种感知服务器集群健康状况的方法、装置和服务器 |
CN110287060A (zh) * | 2019-06-06 | 2019-09-27 | 郑州阿帕斯科技有限公司 | 一种数据的处理方法、装置 |
CN110287060B (zh) * | 2019-06-06 | 2021-06-22 | 郑州阿帕斯科技有限公司 | 一种数据的处理方法、装置 |
CN110968410A (zh) * | 2019-11-29 | 2020-04-07 | 深圳前海环融联易信息科技服务有限公司 | 任务失败重试方法、装置、计算机设备及存储介质 |
CN110968410B (zh) * | 2019-11-29 | 2023-08-08 | 深圳前海环融联易信息科技服务有限公司 | 任务失败重试方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107181788A (zh) | 一种任务处理方法及装置 | |
CN1142491C (zh) | 测试服务器性能的框架系统及方法 | |
CN106789362A (zh) | 一种设备管理方法及网管系统 | |
EP1654649B1 (en) | On demand node and server instance allocation and de-allocation | |
CN103825785B (zh) | 一种服务节点的监测方法及装置 | |
CN109416646B (zh) | 一种容器分配的优化方法及处理设备 | |
CN106681840A (zh) | 一种云操作系统的任务调度方法及装置 | |
CN110233881A (zh) | 业务请求处理方法、装置、设备及存储介质 | |
CN106874116A (zh) | 一种放置新建虚拟机的服务器选择方法及装置 | |
CN109361762A (zh) | 一种文件传输方法、装置及系统 | |
CN104182683A (zh) | 一种联机事务的监控方法、装置及系统 | |
CN106096997A (zh) | 清单组价方法、系统及装置 | |
CN112416969A (zh) | 分布式数据库中的并行任务调度系统 | |
CN108833442A (zh) | 一种分布式网络安全监控装置及其方法 | |
CN107172112B (zh) | 一种计算机文件传输方法及装置 | |
CN103218449B (zh) | 报表日间操作异步处理方法与系统 | |
CN108111337A (zh) | 分布式系统仲裁主节点的方法及设备 | |
CN104731660B (zh) | 数据分配方法、装置和系统 | |
US7792897B2 (en) | Distributed transaction processing system | |
CN102307201A (zh) | 离线注册的方法及装置 | |
CN107197043A (zh) | 一种云计算系统 | |
CN105099738B (zh) | 数据获取方法、装置及系统 | |
CN106294445B (zh) | 基于跨机房Hadoop集群的数据存储的方法及装置 | |
CN104038364A (zh) | 分布式流处理系统的容错方法、节点及系统 | |
CN1074148C (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: 20170919 |
|
RJ01 | Rejection of invention patent application after publication |