本發(fā)明涉及集群技術領域,特別是涉及一種任務處理方法及裝置。
背景技術:
集群是將多臺服務器連接到一起,使多臺服務器能夠像一臺機器那樣工作或者看起來好像一臺機器,集群通常能夠提高服務處理系統的穩(wěn)定性以及網絡中心的數據處理能力。
集群中的每臺服務器在處理任務時都可能會處理失敗,現有技術采用的是:集群中的某一服務器處理失敗的任務,再通過該服務器進行多次的重試處理,以此提高該任務處理成功的幾率。
但是,一直采用該單一服務器進行任務的重試處理會造成服務器的待重試任務積壓,且如果是該服務器本身的問題導致的任務處理失敗,也會造成多次待重試任務依然一直處理失敗。
技術實現要素:
本發(fā)明實施例的目的在于提供一種任務處理方法及裝置,以避免處理失敗的任務在同一臺服務器上多次重試處理對該服務器造成的待重試任務積壓,且避免由服務器自身的原因造成任務處理失敗。具體技術方案如下:
一種任務處理方法,應用于第一集群中的任一服務器,所述方法包括步驟:
處理接收到的任務,并將處理失敗的任務確定為待重試任務;
將所述待重試任務發(fā)送至其他集群的服務器中,以使所述其他集群的服務器重試處理所述待重試任務。
可選的,所述將所述待重試任務發(fā)送至其他集群的服務器中的步驟,包括:
根據所述第一集群中所有服務器的待重試任務數量,確定所述其他集群中的服務器的數量,作為第一數量,將所述待重試任務發(fā)送至其他集群的第一數量個服務器中;
或者,根據述第一集群中所有服務器的數量,確定所述其他集群中的服務器的數量,作為第二數量,將所述待重試任務發(fā)送至其他集群的第二數量個服務器中。
可選的,在所述處理接收的任務,并將處理失敗的任務確定為待重試任務之后,所述方法還包括:
增加所述待重試任務的超時時間;
所述將所述待重試任務發(fā)送至其他集群的服務器中,以使所述其他集群的服務器重試處理所述待重試任務,包括:
將所述待重試任務以及所述超時時間發(fā)送至其他集群的服務器中,以使所述其他集群的服務器在所述超時時間內重試處理所述待重試任務。
一種任務處理方法,應用于第二集群中的任意一個服務器,所述方法包括步驟:
接收第三集群中的任意一個服務器發(fā)送的待重試任務和所述待重試任務的超時時間,將接收到的超時時間作為第一超時時間;
在所述第一超時時間內,對所述待重試任務進行重試處理。
可選的,所述待重試任務為所述第三集群中的任意一個服務器處理失敗的任務;
或者,所述待重試任務為經所述第三集群中的第一服務器處理失敗后,由所述第一服務器將該任務發(fā)送至第二服務器重試處理后仍然失敗的任務,其中,所述第一服務器為所述第三集群中的任一服務器,所述第二服務器為所述第三集群中除所述第一服務器之外的服務器。
可選的,所述方法還包括:
在所述待重試任務進行重試處理失敗的情況下,判斷所述第一超時時間是否大于預設時間值;
如果否,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理。
可選的,所述將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理,包括:
將所述第一超時時間增加為第二超時時間,將所述待重試任務及所述第二超時時間發(fā)送至所述第四集群中的服務器,以使所述第四集群中的服務器在所述第二超時時間內進行重試處理。
可選的,所述將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理,包括:
根據所述第二集群中所有服務器的待重試任務的數量,確定所述第四集群中服務器的數量,作為第三數量,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理;
或者,根據所述第二集群中所有服務器的數量,確定所述第四集群中服務器的數量,作為第四數量,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理;
或者,根據所述第二集群中的服務器數量和所述第三集群中的服務器的數量,確定所述第四集群中服務器的數量,作為第五數量,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理。
可選的,所述根據所述第二集群中的服務器數量和所述第三集群中的服務器的數量,確定所述第四集群中服務器的數量,所采用的計算公式為:
mi+1=am(1-a)mi
其中,mi+1為所述第四集群中服務器的數量,mi為所述第三集群中服務器的數量,mi-1所述第二集群中服務器的數量,a為預設參數。
一種任務處理裝置,應用于第一集群中的任一服務器,所述裝置包括:
處理模塊,用于處理接收到的任務,并將處理失敗的任務確定為待重試任務;
第一重試處理模塊,用于將所述待重試任務發(fā)送至其他集群的服務器中,以使所述其他集群的服務器重試處理所述待重試任務。
可選的,所述第一重試處理模塊,具體用于:
根據所述第一集群中所有服務器的待重試任務數量,確定所述其他集群中的服務器的數量,作為第一數量,將所述待重試任務發(fā)送至其他集群的第一數量個服務器中;
或者,根據述第一集群中所有服務器的數量,確定所述其他集群中的服務器的數量,作為第二數量,將所述待重試任務發(fā)送至其他集群的第二數量個服務器中。
可選的,在所述處理模塊之后,所述裝置還包括:
增加模塊,用于增加所述待重試任務的超時時間;
所述第一重試處理模塊,具體用于:
將所述待重試任務以及所述超時時間發(fā)送至其他集群的服務器中,以使所述其他集群的服務器在所述超時時間內重試處理所述待重試任務。
一種任務處理裝置,應用于第二集群中的任意一個服務器,所述裝置包括:
接收模塊,用于接收第三集群中的任意一個服務器發(fā)送的待重試任務和所述待重試任務的超時時間,將接收到的超時時間作為第一超時時間;
第二重試處理模塊,用于在所述第一超時時間內,對所述待重試任務進行重試處理。
可選的,所述待重試任務為所述第三集群中的任意一個服務器處理失敗的任務;
或者,所述待重試任務為經所述第三集群中的第一服務器處理失敗后,由所述第一服務器將該任務發(fā)送至第二服務器重試處理后仍然失敗的任務,其中,所述第一服務器為所述第三集群中的任一服務器,所述第二服務器為所述第三集群中除所述第一服務器之外的服務器。
可選的,所述裝置還包括:
判斷模塊,用于在所述待重試任務進行重試處理失敗的情況下,判斷所述第一超時時間是否大于預設時間值;
發(fā)送模塊,用于在所述判斷模塊的判斷結果為否的情況下,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理。
可選的,所述發(fā)送模塊,具體用于:
將所述第一超時時間增加為第二超時時間,將所述待重試任務及所述第二超時時間發(fā)送至所述第四集群中的服務器,以使所述第四集群中的服務器在所述第二超時時間內進行重試處理。
可選的,發(fā)送模塊,具體用于:
根據所述第二集群中所有服務器的待重試任務的數量,確定所述第四集群中服務器的數量,作為第三數量,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理;
或者,根據所述第二集群中所有服務器的數量,確定所述第四集群中服務器的數量,作為第四數量,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理;
或者,根據所述第二集群中的服務器數量和所述第三集群中的服務器的數量,確定所述第四集群中服務器的數量,作為第五數量,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理。
可選的,所述根據所述第二集群中的服務器數量和所述第三集群中的服務器的數量,確定所述第四集群中服務器的數量,所采用的計算公式為:
mi+1=am(1-a)mi
其中,mi+1為所述第四集群中服務器的數量,mi為所述第三集群中服務器的數量,mi-1所述第二集群中服務器的數量,a為預設參數。
本發(fā)明實施例提供的任務處理方法及裝置,通過第一集群中的任意一個服務器處理接收到的任務,在任務處理失敗后將其確定為待重試任務,同時該服務器將待重試任務發(fā)送到其他集群的服務器中。以此,解決了現有技術中在集群中的一臺服務器處理任務失敗的情況下,多次在該臺服務器上進行重試而導致的服務器待重試任務積壓,且通過將該失敗待重試任務發(fā)送給其他集群的服務器避免了由服務器自身的原因造成任務處理失敗。因此,實現了避免處理失敗的任務在同一臺服務器上多次重試處理對該服務器造成的待重試任務積壓,且能夠避免由服務器自身的原因造成任務處理失敗。
附圖說明
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種任務處理方法的第一種流程示意圖;
圖2為本發(fā)明實施例提供的一種任務處理方法的第二種流程示意圖;
圖3為本發(fā)明實施例提供的另一種任務處理方法的第一種流程示意圖;
圖4為本發(fā)明實施例提供的另一種任務處理方法的第二種流程示意圖;
圖5為本發(fā)明實施例提供的一種任務處理裝置的第一種結構示意圖;
圖6為本發(fā)明實施例提供的一種任務處理裝置的第二種結構示意圖;
圖7為本發(fā)明實施例提供的另一種任務處理裝置的第一種結構示意圖;
圖8為本發(fā)明實施例提供的另一種任務處理裝置的第二種結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
為解決現有技術問題,本發(fā)明實施例提供了一種任務處理方法及裝置,以下分別進行詳細說明。
圖1為本發(fā)明實施例提供的一種任務處理方法的第一種流程示意圖,應用于第一集群中的任一服務器,其中,上述第一集群可以理解為是任一進行任務處理的集群,例如,服務處理系統中的一個集群。
所述方法包括步驟:
s101,處理接收到的任務,并將處理失敗的任務確定為待重試任務。
本發(fā)明實施例中,第一集群中的任意一個服務器對接收到的任務進行處理。示例性的,第一集群中的服務器a接收到的任務b為:讀取數據庫中的數據z,假設服務器a沒有成功讀取到數據庫中的數據z,那么服務器a處理任務b失敗,可以將任務b確定為待重試任務。
s102,將所述待重試任務發(fā)送至其他集群的服務器中,以使所述其他集群的服務器重試處理所述待重試任務。
可以理解的是,為了提高任務b的處理成功率需要將任務b再次進行重試處理,所以處理該任務的服務器a將任務b發(fā)送給其他集群的服務器,以便該待重試任務在其他集群的服務器中再次重試處理。由于上述任務b處理失敗可能是由于服務器a自身因素造成的,所以這樣能夠避免該任務一直在服務器a上進行重試處理依然失敗的情況,提高任務b被成功處理的概率;另外,由其他集群的服務器對任務b進行重試處理,能夠有效防止服務器a中重試任務的堆積。
具體的,在一種實現方式中,可以根據第一集群中所有服務器的待重試任務數量,確定其他集群中的服務器的數量,作為第一數量,將待重試任務發(fā)送至其他集群的第一數量個服務器中。
可以理解的是,可以根據第一集群中每一個服務器的待重試任務數量,獲得該集群中所有服務器的待重試任務數量,根據所有服務器的待重試任務數量確定其他集群中的服務器的數量。示例性的,第一集群中包含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。
將其他集群中的服務器數量作為第一數量,然后將待重試任務發(fā)送至第一數量個服務器中。具體的,可以發(fā)送至第一數量個服務器中的一個服務器中,也可以發(fā)送至多個服務器中,本發(fā)明實施例在此不對其進行限定。確定其他集群中服務器的數量的技術為現有技術,本發(fā)明實施例在此不對其進行贅述。
具體的,在另一種實現方式中,可以根據第一集群中所有服務器的數量,確定所述其他集群中的服務器的數量,作為第二數量,將所述待重試任務發(fā)送至其他集群的第二數量個服務器中。
可以理解的是,還可以根據第一集群中所有服務器的數量,確定其他集群中的服務器的數量,具體的確定方式可以通過設定第一集群中所有服務器的數量與其他集群中的服務器的數量的比例關系,從而根據比例關系能夠確定其他集群中的服務器的數量;例如,設定第一集群中所有服務器的數量與其他集群中的服務器的數量為3:1的關系,在第一集群中所有服務器的數量為30的情況下,其他集群中的服務器的數量為10。
或者,根據預先設定的第一集群中所有服務器的數量與其他集群中的服務器的數量的數值對應關系,確定他集群中的服務器的數量,例如,設定第一集群中所有服務器的數量在5-18時,對應其他集群中的服務器的數量為10;設定第一集群中所有服務器的數量在19-30時,對應其他集群中的服務器的數量為20,等等。在第一集群中所有服務器的數量為25時,對應其他集群中的服務器的數量為20。以上確定他集群中的服務器的數量僅僅是示例性的,不構成對本發(fā)明實施例的具體限定。
再將其他集群中的服務器的數量,作為第二數量,將待重試任務發(fā)送至第二數量個服務器中,具體的,可以是第二數量個服務器中的1個服務器、也可以是多個服務器,等等,本發(fā)明實施例在此不對其做具體限定。
在這兩種情況下能夠動態(tài)調整集群中服務器的數量,實現了服務器數量的動態(tài)伸縮,從而在實際應用中能夠提高服務器的利用效率。
應用圖1所示的實施例,通過第一集群中的任意一個服務器處理接收到的任務,在任務處理失敗后將其確定為待重試任務,同時該服務器將帶待重試任務發(fā)送到其他集群的服務器中。以此,解決了現有技術中在集群中的一臺服務器處理任務失敗的情況下,多次在該臺服務器上進行重試而導致的服務器待重試任務積壓,且通過將該失敗待重試任務發(fā)送給其他集群的服務器避免了由服務器自身的原因造成任務處理失敗。因此,實現了避免處理失敗的任務在同一臺服務器上多次重試處理對該服務器造成的待重試任務積壓,且能夠避免由服務器自身的原因造成任務處理失敗。
圖2為本發(fā)明實施例提供的一種任務處理方法的第二種流程示意圖,在所述處理接收的任務,并將處理失敗的任務確定為待重試任務之后,所述方法還包括s103。
s103,增加所述待重試任務的超時時間。
可以理解的是,每一個任務都可以有一個與任務自身相對應的超時時間,超時時間表示任務從最初處理到結束處理的時間。在待重試任務處理失敗后,對待重試任務的超時時間進行增加處理。可以理解的是,增加待重試任務的超時時間可以讓其得到更多的被處理時間和重試處理機會,即能夠增加待重試任務的處理成功率。示例性的,第一集群中的服務器a處理接收到的任務b失敗后,增加任務b的超時間,假設任務b增加前的超時時間為3s,增加后的超時間為4s。
這種情況下,s102具體為s102a:將所述待重試任務以及所述超時時間發(fā)送至其他集群的服務器中,以使所述其他集群的服務器在所述超時時間內重試處理所述待重試任務。
示例性的,服務器a將任務b和增加的超時時間4s發(fā)送給其他集群的服務器,假設其他集群的服務器c接收任務b和超時時間,然后由服務器c在超時時間為4s的情況下重試處理任務b。
通過增加待重試任務的超時時間,并發(fā)送至其他集群中的服務器進行處理,從而在增加的超時時間內其他集群的服務器能夠對待處理任務進行再次的處理,進而增加待重試任務的重試處理機會,以此達到提高待重試任務得處理成功率的目的。
圖3為本發(fā)明實施例提供的另一種任務處理方法的第一種流程示意圖,應用于第二集群中的任意一個服務器,所述方法包括步驟:
s301,接收第三集群中的任意一個服務器發(fā)送的待重試任務和所述待重試任務的超時時間,將接收到的超時時間作為第一超時時間。
示例性的,第二集群中的服務器d接收到第三集群中的服務器e發(fā)送的待重試任務y以及待重試任務y的超時時間,將待重試任務y的超時時間作為第一超時時間,假設第一超時時間為4.2s。
本發(fā)明實施例中,待重試任務可以為第三集群中的任意一個服務器處理失敗的任務;或者,待重試任務也可以為經第三集群中的第一服務器處理失敗后,由第一服務器將該任務發(fā)送至第二服務器重試處理后仍然失敗的任務,其中,第一服務器為第三集群中的任一服務器,第二服務器為第三集群中除第一服務器之外的服務器。具體的,經過第一服務器處理失敗后的任務,第一服務器將其發(fā)送至該集群中的第二服務器進行重試處理,第二服務器可以為一個服務器也可以為多個服務器,只要能夠正常處理待重試任務即可,本發(fā)明實施例在此不做具體限定。
s302,在所述第一超時時間內,對所述待重試任務進行重試處理。
示例性的,第二集群中的服務器d,在第一超時時間4.2s內對接收到的待重試任務y進行重試處理。
應用本發(fā)明圖3所示的實施例,通過第二集群中的任意一個服務器接收第三集群中的服務器發(fā)送的待重試任務和第一超時時間,且在第一超時時間內重試處理待重試任務,能夠避免待重試任務重復在第三集群的原服務器上一直進行重試,而導致的任務積壓,且能夠避免由于該服務器問題造成的任務處理失敗。
圖4為本發(fā)明實施例提供的另一種任務處理方法的第二種流程示意圖,在圖3所示實施例的基礎上增加s303、s304。
s303,在所述待重試任務進行重試處理失敗的情況下,判斷所述第一超時時間是否大于預設時間值;如果否,執(zhí)行s304。
可以理解的是,第二集群中的服務器處理接收到的待重試任務也有可能處理失敗,在處理失敗的情況下,該服務器判斷第一超時時間是否大于預設時間值,如果不大于,表明待重試任務可以繼續(xù)進行重試處理。示例性的,第二集群中的服務器d,在第一超時時間4.2s內對接收到的待重試任務y進行重試處理失敗,假設預設時間值為5s,由于4.2s<5s,所以對待重試任務執(zhí)行s304步驟??梢岳斫獾氖牵瑢τ诿恳粋€待重試任務都可以設置一個預設時間值,在該預設時間值的范圍內對待重試任務進行處理,如果超時時間達到該預設時間值時,待重試任務仍然沒有處理成功,則可以將待重試任務作為一次失敗的任務??梢岳斫獾氖?,對每一待重試任務設置一個預設時間值可以防止該任務不停的進行重試,有可能該任務是不能被處理成功的,不停的重試就會一直占用服務器的資源;另外,還可以根據待重試任務的時間緊急情況對預設時間值設置不同的值,以便在待重試任務處理失敗的情況下可以及時的對任務采取其他的干預措施,如人工進行設備的檢查,或者及時向用戶反饋用戶發(fā)送的重試任務處理失敗等等。
s304,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理。
示例性的,第二集群中的服務器d可以將待重試任務y發(fā)送至第四集群中的服務器進行重試處理,具體的,可以發(fā)送給第四集群中的一個服務器進行重試處理,也可以發(fā)給多個服務器進行重試處理,本發(fā)明實施例在此不做具體限定。
另外,值得一提的是,第二集群、第四集群為不同的、進行任務處理的任一集群,所以,第四集群中的每一服務器也可以應用本實施例提供的方案進行任務處理,也就是第四集群中的服務器接收到上述第待重試任務后,可以按照上述圖3、圖4所示實施例提供的方案進行任務處理,進而在任務處理失敗的情況下,可以形成一級一級向后面集群中的服務器發(fā)送待重試任務,進而進行任務重試的情況。
再者,為保證各個集群中的服務器能夠高效的進行任務處理,從功能上進行劃分,上述第二集群、第四集群可以理解為專門進行任務重試處理的集群,也就是第二集群、第四集群中的各服務器專門處理其他集群處理失敗的任務。當然,本申請并不對此進行限定。
應用本發(fā)明圖4所示的實施例,只要在待重試任務的超時時間小于預設時間值的情況下,即可將待重試任務發(fā)送至其他集群的服務器上繼續(xù)進行重試處理,如此就可以不斷的增加待重試任務的重試處理次數,通過增加重試處理次數以便提高待重試任務的處理成功率。
具體的,在一種實現方式中,可以將第一超時時間增加為第二超時時間,將待重試任務及第二超時時間發(fā)送至所述第四集群中的服務器,以使第四集群中的服務器在第二超時時間內進行重試處理。應用本發(fā)明實施例可以使得在預設時間值以內,只要待重試任務處理失敗即可增加待重試任務的超時時間,然后發(fā)送給其他集群的服務器繼續(xù)進行重試處理,通過增加超時時間能夠延長對待重試任務的重試處理,即增加待重試任務的重試處理次數,以此能夠提高待重試任務的處理成功率。
具體的,在另一種實現方式中,可以根據第二集群中所有服務器的待重試任務的數量,確定第四集群中服務器的數量,作為第三數量,將待重試任務發(fā)送至第四集群中的服務器進行重試處理。具體的,可以根據預先設定的第二集群中所有服務器的待重試任務的數量與第四集群中服務器的數量的比例關系,在已知第二集群中所有服務器的待重試任務的數量的情況下,確定第四集群中服務器的數量;也可以預先設定第二集群中所有服務器的待重試任務的數量與第四集群中服務器的數量的數值范圍對應關系,進而確定第四集群中服務器的數量;也可以設定第二集群中所有服務器的待重試任務的數量與第四集群中服務器的數量的計算公式,通過公式計算第四集群中服務器的數量,等等。
或者,根據第二集群中所有服務器的數量,確定第四集群中服務器的數量,作為第四數量,將待重試任務發(fā)送至第四集群中的服務器進行重試處理??梢酝ㄟ^預先設定第二集群中所有服務器的數量與第四集群中所有服務器數量的比例關系,例如第四集群中服務器的數量為第二集群中服務器數量的1/5、1/10、1/20、1/100等等,從而確定第四集群中服務器的數量,進而將待重試任務發(fā)送至第四集群中的服務器進行重試處理。
或者,根據第二集群中的服務器數量和所第三集群中的服務器的數量,確定第四集群中服務器的數量,作為第五數量,將待重試任務發(fā)送至第四集群中的服務器進行重試處理。具體的,可以采用的如下計算公式確定第四集群中服務器的數量。
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作為第五數量,將待重試任務發(fā)送至第四集群的20個服務器中的一個或者多個上進行重試處理。本發(fā)明實施例中計算第四集群中服務器的數量僅僅是示例性的,不構成對本發(fā)明實施例的限定。
圖5為本發(fā)明實施例提供的一種任務處理裝置的第一種結構示意圖,應用于第一集群中的任一服務器,所述裝置可以包括:
處理模塊501,用于處理接收到的任務,并將處理失敗的任務確定為待重試任務;
第一重試處理模塊502,用于將所述待重試任務發(fā)送至其他集群的服務器中,以使所述其他集群的服務器重試處理所述待重試任務。
具體的,所述第一重試處理模塊502,具體用于:
根據所述第一集群中所有服務器的待重試任務數量,確定所述其他集群中的服務器的數量,作為第一數量,將所述待重試任務發(fā)送至其他集群的第一數量個服務器中;
或者,根據述第一集群中所有服務器的數量,確定所述其他集群中的服務器的數量,作為第二數量,將所述待重試任務發(fā)送至其他集群的第二數量個服務器中。
圖6為本發(fā)明實施例提供的一種任務處理裝置的第二種結構示意圖,在圖5所示實施例的基礎上,增加:增加模塊503。
增加模塊503,用于增加所述待重試任務的超時時間;
所述第一重試處理模塊502,具體用于:
將所述待重試任務以及所述超時時間發(fā)送至其他集群的服務器中,以使所述其他集群的服務器在所述超時時間內重試處理所述待重試任務。
圖7為本發(fā)明實施例提供的另一種任務處理裝置的第一種結構示意圖,所述裝置可以包括:
接收模塊701,用于接收第三集群中的任意一個服務器發(fā)送的待重試任務和所述待重試任務的超時時間,將接收到的超時時間作為第一超時時間;
第二重試處理模塊702,用于在所述第一超時時間內,對所述待重試任務進行重試處理。
具體的,所述待重試任務為所述第三集群中的任意一個服務器處理失敗的任務;
或者,所述待重試任務為經所述第三集群中的第一服務器處理失敗后,由所述第一服務器將該任務發(fā)送至第二服務器重試處理后仍然失敗的任務,其中,所述第一服務器為所述第三集群中的任一服務器,所述第二服務器為所述第三集群中除所述第一服務器之外的服務器。
圖8為本發(fā)明實施例提供的另一種任務處理裝置的第二種結構示意圖,在圖7所示實施例的基礎上,增加判斷模塊703、發(fā)送模塊704。
判斷模塊703,用于在所述待重試任務進行重試處理失敗的情況下,判斷所述第一超時時間是否大于預設時間值;
發(fā)送模塊704,用于在所述判斷模塊的判斷結果為否的情況下,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理。
具體的,發(fā)送模塊704,可以用于:
將所述第一超時時間增加為第二超時時間,將所述待重試任務及所述第二超時時間發(fā)送至所述第四集群中的服務器,以使所述第四集群中的服務器在所述第二超時時間內進行重試處理。
具體的,發(fā)送模塊704,可以用于:
根據所述第二集群中所有服務器的待重試任務的數量,確定所述第四集群中服務器的數量,作為第三數量,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理;
或者,根據所述第二集群中所有服務器的數量,確定所述第四集群中服務器的數量,作為第四數量,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理;
或者,根據所述第二集群中的服務器數量和所述第三集群中的服務器的數量,確定所述第四集群中服務器的數量,作為第五數量,將所述待重試任務發(fā)送至第四集群中的服務器進行重試處理。
具體的,所述根據所述第二集群中的服務器數量和所述第三集群中的服務器的數量,確定所述第四集群中服務器的數量,所采用的計算公式為:
mi+1=am(1-a)mi
其中,mi+1為所述第四集群中服務器的數量,mi為所述第三集群中服務器的數量,mi-1所述第二集群中服務器的數量,a為預設參數。
需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內。