新四季網

多階段任務的實現方法和裝置與流程

2024-04-10 04:44:05


本申請涉及網絡通信
技術領域:
,尤其涉及一種多階段任務的實現方法和裝置。
背景技術:
:隨著網絡技術的發展和智能終端的普及,人們越來越多的工作、生活事項都通過各種網絡應用來完成。這些網絡應用的服務提供商需要處理的業務數據越來越多,處理過程也越來越複雜。服務提供商的應用系統可以將一個任務的完整處理流程分為多個階段來進行,在每個階段由多個並行的處理功能模塊(如進程、線程等)來完成該階段的處理。現有技術中,一個完整處理流程的各個階段是固定的,假設一個完整處理流程包括依次進行的5個階段a、b、c、d和e,則任何一個進入該完整處理流程的任務都必須依次經過a、b、c、d和e5個階段的處理。如果一些其他任務的完整處理流程是a、b、f、g和e,則需要開發人員重新編程實現;如果另外一些任務只需經過a、b和e3個處理過程,則或者重新編程實現,或者讓這些任務在c和d兩個階段做空處理。也就是說,現有技術的實現方式或者造成開發人員的工作負荷增加,或者影響了任務的處理效率。技術實現要素:有鑑於此,本申請提供一種多階段任務的實現方法,所述多階段任務包括起始階段、至少一個中間階段和結束階段,所述方法應用在負責中間階段任務執行的節點上,包括:從任務信息管理平臺獲取目標狀態對應於本階段的任務的信息;所述任務信息中包括任務的標識和目標狀態;執行具有所述標識的任務的本階段處理過程;確定所述任務的下一處理階段,將包括對應於下一處理階段的目標狀態的任務信息更新到任務管理平臺。本申請提供的一種多階段任務的實現方法,所述多階段任務包括起始階段、至少一個中間階段和結束階段,所述方法應用在負責起始階段任務執行的節點上,包括:創建多階段任務,生成所述任務的標識;確定所述任務的下一個處理階段,採用所述任務的標識和下一個處理階段對應的目標狀態生成所述任務的信息;將所述任務的信息添加到任務管理平臺上。本申請還提供了一種多階段任務的實現裝置,所述多階段任務包括起始階段、至少一個中間階段和結束階段,所述裝置應用在負責中間階段任務執行的節點上,包括:任務信息獲取單元,用於從任務信息管理平臺獲取目標狀態對應於本階段的任務的信息;所述任務信息中包括任務的標識和目標狀態;本階段處理單元,用於執行具有所述標識的任務的本階段處理過程;下階段確定單元,用於確定所述任務的下一處理階段,將包括對應於下一處理階段的目標狀態的任務信息更新到任務管理平臺。本申請提供的一種多階段任務的實現裝置,所述多階段任務包括起始階段、至少一個中間階段和結束階段,所述裝置應用在負責起始階段任務執行的節點上,包括:任務創建單元,用於創建多階段任務,生成所述任務的標識;任務信息生成單元,用於確定所述任務的下一個處理階段,採用所述任務的標識和下一個處理階段對應的目標狀態生成所述任務的信息;任務添加單元,用於將所述任務的信息添加到任務管理平臺上。由以上技術方案可見,本申請的實施例中,採用任務的目標狀態來表示期望進行的下一處理階段,使得在任務的起始或中間階段,可以通過更新目標狀態來指定任務的下一個處理階段,從而實現對完整處理流程中處理階段的靈活改變,這樣不僅能夠將一些任務跳過某個完整處理流程中不必要的階段,提高了這些任務的處理效率;而且相同的處理階段還可以復用於不同的完整處理流程,降低了開發人員的工作量。附圖說明圖1是本申請實施例應用場景的一種網絡結構示意圖;圖2是本申請實施例中一種應用在負責起始階段任務執行的節點上、多階段任務的實現方法的流程圖;圖3是本申請實施例中一種應用在負責中間階段任務執行的節點上、多階段任務的實現方法的流程圖;圖4是本申請應用示例中初始化功能模塊的運行流程圖;圖5是本申請應用示例中拆分功能模塊的運行流程圖;圖6是本申請應用示例中執行功能模塊的運行流程圖;圖7是本申請應用示例中合併功能模塊的運行流程圖;圖8是運行本申請實施例的設備的一種硬體結構圖;圖9是本申請實施例中一種應用在負責起始階段任務執行的節點上、多階段任務的實現裝置的邏輯結構圖;圖10是本申請實施例中一種應用在負責中間階段任務執行的節點上、多階段任務的實現裝置的邏輯結構圖。具體實施方式本申請的實施例提出一種新的多階段任務的實現方法,在任務信息攜帶用來表示期望進行的下一處理階段的目標狀態,並且允許在起始階段或中間階段的運行流程中修改任務的目標狀態,從而能夠在非結束階段根據需要指定某個任務的下一個處理階段,以改變該任務的處理流程、或者跳過不必要的處理階段,使得一個處理階段的實現能夠復用於不同的完整處理流程,並且無需在不必要的處理階段對某些任務做空處理,在提高某些任務處理效率的同時降低了開發人員的工作量,以解決現有技術存在的問題。本申請實施例中,多階段任務包括起始階段,一個到多個中間階段和結束階段,各個階段的任務由運行在一個到多個節點上若干個處理功能模塊來負責執行。通常不同的任務階段由不同的處理功能模塊來負責執行,負責同一個任務階段的多個處理功能模塊並行進行該階段的處理。任務信息管理平臺負責維護每個任務的信息,並向各個節點上的處理功能模塊提供這些信息,處理功能模塊能夠根據這些信息獲得需要進行所負責階段的處理的任務,並能夠通過更新其中的部分信息來將處理完畢的任務推進到下一個處理階段(結束階段除外)。其中,任務信息管理平臺可以是網絡中一個到多個物理或邏輯節點,這些節點上可以同時運行有處理功能模塊,不做限定;處理功能模塊可以是運行在網絡節點上的應用程式、進程或線程等,同一個節點上可以運行一個或一個以上負責處理同一階段任務的處理功能模塊,也可以運行負責處理不同階段任務的處理功能模塊,同樣不做限定。圖1所示是本申請實施例應用場景的一個例子,分別負責執行階段a、階段b、階段c和階段d的若干個處理功能模塊a、處理功能模塊b、處理功能模塊c和處理功能模塊d分別運行在三臺伺服器上,任務管理信息平臺向每個處理功能模塊提供各階段任務的信息,使得每個處理功能模塊a、處理功能模塊b、處理功能模塊c或處理功能模塊d能夠得到處於階段a、階段b、階段c或階段d的任務的信息,並執行該階段的處理過程。本申請的實施例運行在負責起始階段或中間階段處理任務執行的節點上。所運行的節點可以是一個物理設備,如手機、平板電腦、pc(personalcomputer,個人電腦)、筆記本、伺服器等;也可以是一個邏輯設備,如虛擬機等;還可以是由兩個或兩個以上分擔不同職責的物理或邏輯設備、相互協同來實現本申請實施例中的各項功能。本申請的實施例中,應用在起始階段任務執行節點上的多階段任務的實現方法,其流程如圖2所示。步驟210,創建多階段任務,生成該任務的標識。當一個多階段任務的啟動條件具備時,負責起始階段的處理功能模塊創建一個新的多階段任務,為所創建的任務確定唯一的標識。任務的標識用來唯一代表一個任務。創建多階段任務和生成標識的具體實現請參照現有技術,不再贅述。步驟220,確定所創建任務的下一個處理階段,採用該任務的標識和下一個處理階段對應的目標狀態生成該任務的信息。本申請的實施例中,任務的信息包括包括任務的標識、任務的目標狀態,此外還可以根據實際應用場景的需要包括其他與任務有關的參數。任務的目標狀態用來表示該任務要進行的下一個階段處理是哪個階段。處理功能模塊可以根據所創建任務的業務類型、和/或其他業務參數來確定該任務的下一個處理階段,本申請的實施例不做限定。在確定下一個處理階段後,處理功能模塊將任務的標識、下一個處理階段對應的目標狀態、以及可能有的其他參數一併封裝在任務的信息中。步驟230,將所創建任務的信息添加到任務管理平臺上。如前所述,本申請實施例中,任務管理平臺上維護有任務的信息,包括任務的標識、任務的目標狀態。任務管理平臺可以採用各種不同的實現方式來維護任務的信息,本申請的實施例不做限定。例如,可以在任務管理平臺上保存任務的信息。任務管理平臺可以將每個任務的信息保存在一個文件、一張資料庫表或其他存儲單位裡。負責起始階段的處理功能模塊在生成任務的信息後,將所創建任務的信息添加到任務管理平臺上,添加在該文件、該資料庫表或其他存儲單位裡。再如,可以在任務管理平臺上運行一個任務消息隊列,隊列中的任務消息攜帶有任務的信息。負責起始階段的處理功能模塊在生成任務的信息後,創建任務消息,將任務的信息封裝在任務消息中,並發送到任務管理平臺的任務消息隊列中。以圖1的應用場景為例,設所有任務的起始階段為階段a,結束階段為階段d,第一類任務的處理階段依次為:階段a、階段b、階段c和階段d;第二類任務的處理階段依次為:階段a、階段b和階段d;第三類任務的處理階段依次為:階段a、階段c和階段d。設任務的目標狀態取值為s-b、s-c和s-d,分別對應於階段b、階段c和階段d。在負責起始階段任務處理的處理功能模塊創建一個第三類任務0003後,將任務標識0003、任務的目標狀態(下一個處理階段為階段c,對應的目標狀態為)、和任務的類型(第三類)封裝為任務0003的信息。設任務管理平臺上採用表1來保存任務的信息,則在負責起始階段任務處理的處理功能模塊將任務0003的信息添加到任務管理平臺後,表1如下所示:任務的標識任務的目標狀態任務的類型0001s-b第一類0002s-d第三類0003s-c第一類表1本申請的實施例中,應用在中間階段任務執行節點上的多階段任務的實現方法,其流程如圖3所示。步驟310,從任務信息管理平臺獲取目標狀態對應於本階段的任務的信息。負責執行不同階段處理過程的各個處理功能模塊分別從任務管理平臺維護的任務信息中,獲取目標狀態對應於其負責處理的階段的任務信息。仍以圖1的應用場景為例,設在某個時間點,任務管理平臺上保存的任務信息如表1所示,則一個處理功能模塊b、一個處理功能模塊c和一個處理功能模塊d可以分別獲取到任務0001、任務0003和任務0002。各個處理功能模塊從任務管理平臺獲取目標狀態的具體方式可以根據實際應用場景中任務管理平臺的具體實現來確定,本申請的實施例不做限定。以下以兩種方式為例來做出說明。第一種:掃描的實現方式。在任務管理平臺保存每個任務的信息;各個處理功能模塊分別從任務管理平臺保存的任務信息中,讀取目標狀態對應於本階段的任務的標識。具體而言,任務管理平臺可以將任務信息保存在某個文件中,也可以保存在資料庫表中,或以其他形式存儲。在任務的同一階段有多個處理功能模塊並行處理的情形下,當某個處理功能模塊讀取目標狀態對應於其所處理階段的任務的信息後,應當使得該任務的信息對其他處理功能模塊來說不可讀取,以免該任務的同一個階段被不同的處理功能模塊重複處理。例如,對文件形式保存的任務信息,可以刪除文件中該任務的信息;對以資料庫表形式保存的任務信息,可以對該任務信息的記錄上鎖。第二種:消息隊列的實現方式。在任務管理平臺上維護一個任務消息隊列,其中的任務消息攜帶有任務的信息。由任務管理平臺將消息隊列中的任務消息散發給所處理的階段對應於任務消息中目標狀態的處理功能模塊。處理功能模塊收到任務管理平臺發送的任務消息後,從任務消息中獲取任務的標識。在第一種掃描的實現方式中,通常處理功能模塊以某個設定的周期對任務管理平臺上保存的任務信息進行掃描,這樣,任務的某個階段等待處理的時間與設定周期相關聯。如果周期設置過長,則容易造成任務處理時間的延長,達不到好的時效性;如果周期設置過短,容易造成處理功能模塊的無效掃描(即在保存的任務信息中找不到需要處理的任務的標識),而浪費所在設備的運算資源。採用第二種消息隊列的方式,可以在有需要處理的某階段任務時,由任務管理平臺主動將其分配給負責該階段的處理功能模塊,在提高處理實時性的同時降低了處理功能模塊所在節點的工作負荷。步驟320,執行具有該標識的任務的本階段處理過程。在處理功能模塊得到需要進行本階段處理的任務的標識後,可以根據任務的標識獲取到該任務,並進行該任務的本階段處理。通過任務的標識獲取任務的具體方式、和本階段處理的具體方式,可根據實際應用場景的需要,參照現有技術實現,不再贅述。步驟330,確定該任務的下一處理階段,將包括對應於下一處理階段的目標狀態的任務信息更新到任務管理平臺。在所負責階段的任務處理的執行過程中、或執行完畢後,處理功能模塊確定該任務的下一個處理階段。處理功能模塊可以根據執行過程中得到與該任務相關的信息、該任務在本階段的執行結果、或者該任務的信息中攜帶的其他參數等因素中的一個到多個來確定該任務的下一個處理階段,本申請的實施例不做限定。在確定下一個處理階段後,處理功能模塊將任務信息中對應於下一個處理階段的目標狀態更新到任務管理平臺,以便將該任務推進到下一階段的處理。仍以圖1的應用場景為例,當處理功能模塊b在執行階段b處理過程後,會將第一類任務的目標狀態值修改為s-c,而將第二類任務的目標狀態值修改為s-d,並均更新至任務管理平臺。這樣,第一類任務的下一階段將由處理功能模塊c執行階段c的處理過程,而第二類任務的下一階段將由處理功能模塊d執行階段d的處理過程。處理功能模塊更新任務信息的具體實現可以根據任務管理平臺維護任務信息的方式、處理功能模塊獲取任務信息的方式等來確定。仍以前述掃描和消息隊列的實現方式為例進行說明。掃描的實現方式中,在確定所處理任務的下一處理階段後,處理功能模塊將任務管理平臺上保存的該任務的目標狀態修改為對應於該任務的下一處理階段。具體而言,對任務管理平臺將任務信息保存在文件中、並且在處理功能模塊獲取某條任務信息後將其刪除的場景中,處理功能模塊在本階段執行完畢後,可以將目標狀態對應於下一個處理階段的任務信息添加到該文件中;在任務管理平臺將任務信息保存資料庫表中、並且在處理功能模塊獲取某條任務信息的記錄後將該記錄加鎖的場景中,處理功能模塊可以將該記錄中的目標狀態修改後,再對該記錄解鎖。消息隊列的實現方式中,在確定所處理任務的下一處理階段後,處理功能模塊修改該任務消息中的目標狀態為對應於該任務的下一處理階段,將修改後的任務消息發送到任務管理平臺的任務消息隊列中。任務管理平臺會根據修改後任務消息中的目標狀態,將任務消息分發至負責處理下一階段的處理功能模塊。有些情形下,下一階段的處理過程需要滿足一定的條件才能開始執行,則本階段的處理功能模塊可以在滿足該任務的下一處理階段的預定執行條件時,將修改後的任務消息發送到任務管理平臺的任務消息隊列中。例如,下一階段的處理功能模塊只在一定的時間段內運行,則本階段的處理功能模塊可以在進入該時間段後,再向消息隊列發送目標狀態修改後的任務消息。需要說明的是,本申請實施例中的多階段任務的實現方法應用在結束階段任務執行節點上的流程為步驟310和步驟320。在一些應用場景中,在任務的完整執行流程中,一個任務需要被拆分為兩個或兩個以上的子任務,子任務的執行將作為完整執行流程中的一個到多個階段來進行。當一個任務的所有子任務執行完畢後,在一些情況下會有一個子任務合併的階段,用來將該任務的所有子任務的執行結果進行合併。其中,任務的拆分階段和子任務的執行階段可以是任務的起始階段或中間階段,子任務的執行階段或子任務合併階段可以是任務的中間階段或結束階段。此外,負責任務拆分階段的處理功能模塊在任務管理平臺上保存該父任務的所有子任務的標識。對負責任務拆分階段的處理功能模塊,拆分階段的處理過程通常包括:在從任務管理平臺獲取任務標識後,以具有該標識的任務為父任務,將其拆分為至少兩個子任務;類似的,將父任務拆分為子任務的具體實現因應用場景的不同而不同,可參照現有技術進行,不再贅述。在進行任務拆分後,負責任務拆分階段的處理功能模塊為每個子任務生成其標識,確定每個子任務的下一處理階段,基於每個子任務的標識、下一處理階段對應的目標狀態、和所屬父任務的標識生成子任務的任務信息,並且將生成的每個子任務的信息添加到任務管理平臺上。對負責子任務執行階段的處理功能模塊,從任務管理平臺獲取目標狀態匹配於本階段的某一個子任務的信息,其中包括子任務的標識、子任務的目標狀態和所屬父任務的標識。負責子任務執行階段的處理功能模塊根據子任務的標識來獲取要執行的子任務,並且進行本階段的處理過程,然後確定子任務的下一個階段,並且把對應於下一處理階段的目標狀態的子任務的信息更新到任務管理平臺。子任務的下一處理階段可能是另一個子任務的執行階段,可能是合併階段。子任務合併階段在屬於一個任務的所有子任務執行完畢後,也即合併前的最後一個子任務執行階段運行完成後才能實際執行。可以採用不同的機制來啟動子任務合併階段並且以相應的方式來實現子任務的合併,以下舉例說明:第一個例子:在掃描的實現方式中,負責子任務拆分階段的處理功能模塊在將每個子任務的信息添加到任務管理平臺後,按照對應於子任務合併階段的目標狀態來將父任務更新到任務管理平臺上。負責子任務合併階段的處理功能模塊在獲取到目標狀態對應於本階段的任務的標識(即父任務的標識)後,從任務管理平臺查找該父任務拆分而成的所有子任務的標識,然後按照該標識在任務管理平臺保存的任務信息中,掃描所有目標狀態對應於本階段的任務中是否已經包括該父任務的所有子任務,如果已經包括,則根據每個子任務的標識獲取每個子任務的執行結果並進行合併;否則繼續掃描。第二個例子:在掃描的實現方式中,負責子任務拆分階段的處理功能模塊在將每個子任務的信息添加到任務管理平臺後,刪除任務管理平臺上這些子任務所屬父任務的信息或者將該父任務的目標狀態修改為等待狀態(對於父任務而言,子任務的執行階段可以看做是等待階段)。除該父任務的所有子任務的標識外,負責任務拆分階段的處理功能模塊還在任務管理平臺上保存該父任務的已執行完畢的子任務數量,其值置為0。負責合併前最後一個子任務執行階段的處理功能模塊,在執行完子任務的本階段處理過程後,將任務管理平臺上保存的該子任務所屬父任務的已執行完畢的子任務數量加1;如果已執行完畢的子任務數量在加1後等於任務管理平臺上保存的該父任務的所有子任務的總數,則確定父任務的下一處理階段,即子任務合併階段,將帶有子任務合併階段對應的目標狀態的父任務信息添加到任務管理平臺上、或者將任務管理平臺上父任務的目標狀態從等待狀態修改為子任務合併階段對應的目標狀態,否則不作處理。負責子任務合併階段的處理功能模塊在任務管理平臺掃描目標狀態對應於子任務合併階段的任務,如果掃描到,則從任務信息中提取任務的標識(即父任務的標識),從任務管理平臺獲取屬於該父任務的所有子任務的標識;再根據每個子任務的標識獲取每個子任務的執行結果,並進行合併。第三個例子:在消息隊列的實現方式中,負責子任務拆分階段的處理功能模塊在每個任務消息(每個任務消息中包括一個子任務的信息)發送到任務管理平臺的任務消息隊列,並在任務管理平臺上保存該父任務的所有子任務的標識,並將已執行完畢的子任務數量置為0。負責合併前最後一個子任務執行階段的處理功能模塊,在執行完子任務的本階段處理過程後,將任務管理平臺上保存的該子任務所屬父任務的已執行完畢的子任務數量加1;如果已執行完畢的子任務數量在加1後等於任務管理平臺上保存的該父任務的所有子任務的總數,則確定父任務的下一處理階段,即子任務合併階段,向任務管理平臺的消息隊列發送任務消息,該任務消息中帶有標識為父任務標識、目標狀態對應於子任務合併階段的任務信息,否則不作處理。負責子任務合併階段的處理功能模塊從任務管理平臺收到目標狀態對應於子任務合併階段的任務消息,將該任務消息中的標識作為父任務的標識,從任務管理平臺獲取屬於該父任務的所有子任務的標識;再根據每個子任務的標識獲取每個子任務的執行結果,並進行合併。上述第一個例子中,往往需要經過多次掃描才能等待所有子任務執行完畢;而第二個和第三個例子中,通過對已執行完畢的子任務進行計數,可以在最後一個子任務執行完畢時自動更新父任務的目標狀態,不僅更加及時,而且減少了多次掃描造成了資源消耗。可見,本申請的實施例中,採用任務的目標狀態來表示期望進行的下一處理階段,並且在起始階段或中間階段的運行流程中可以修改任務的目標狀態,從而能夠在非結束階段根據需要指定某個任務的下一個處理階段,實現了對完整處理流程中處理階段的靈活改變,這樣不僅能夠通過將一些任務跳過不必要的階段來提高了這些任務的處理效率;而且能夠將相同的處理階段復用於不同的完整處理流程,降低了開發人員的工作量。在本申請的一個應用示例中,第三方支付平臺在每天的固定時段,會收到與該第三方支付平臺有業務對接的多家金融機構的多種類型的文件,這些文件中包括兩種,一種是業務文件,其內容為若干用戶當天的交易行為確認、分紅等業務記錄;另一種是監控文件,其內容為監控數據。第三方支付平臺採用包括數臺伺服器的文件處理集群來對每一條業務記錄或監控數據進行處理。文件處理集群採用多階段任務來進行文件處理。文件處理集群上運行若干個初始化功能模塊、若干個拆分功能模塊、若干個執行功能模塊、若干個合併功能模塊、和若干個結束功能模塊,分別進行文件的初始化、拆分、執行、合併和結束階段的處理。其中,文件的拆分、執行、合併和結束階段對應的任務目標狀態分別為:拆分、執行、合併和結束。此外,第三方支付平臺採用消息中間鍵集群來實現任務消息隊列,根據消息隊列中任務消息的目標狀態將任務消息發送給處理階段對應於目標狀態的功能模塊。由於業務文件的數據量龐大,將其拆分為幾個部分,分別由不同的執行功能模塊來處理,再由合併功能模塊將處理結果合併到一個文件中;而監控文件的數據量有限,無需進行拆分可直接執行。換言之,業務文件的完整處理流程需要經過以下階段:初始化、拆分、執行、合併和結束階段;監控文件的完整處理流程經過以下階段:初始化、執行和結束階段。初始化功能模塊的運行流程如圖4所示。通過定時掃描,初始化功能模塊獲取來自其他金融機構的待處理文件。當掃描到一個待處理文件時,初始化功能模塊創建一個新的任務,為新任務指定任務的標識。初始化功能模塊判斷待處理文件的類型是否是業務文件,如果是則該任務的下一個處理階段為拆分階段,對應的目標狀態為拆分,初始化功能模塊將該任務的標識、和目標狀態(拆分)封裝為該任務的信息;如果待處理文件的類型是監控文件,則該任務的下一個處理階段為執行階段,對應的目標狀態為執行,初始化功能模塊將該任務的標識、和目標狀態(執行)封裝為該任務的信息。初始化功能模塊生成攜帶有該任務信息的任務消息,將任務消息發送到消息中間鍵集群的任務消息隊列中。拆分功能模塊的運行流程如圖5所示。在從消息中間鍵集群收到任務消息後,拆分功能模塊提取其中的任務信息,對任務的目標狀態是否為拆分進行校驗,如果不是則向消息中間鍵集群拒絕該任務消息。被拒絕的任務消息將由消息中間鍵集群重新按照其目標狀態進行分發。校驗完成後,拆分功能模塊將具有該任務消息中標識的父任務拆分為兩個或兩個以上的子任務,每個子任務對應於待處理文件的一個部分。拆分功能模塊為每個子任務指定任務標識,確定其下一個處理階段為執行階段,將任務的標識(子任務標識)、目標狀態(執行)、和所屬父任務的標識封裝為每個子任務的信息。拆分功能模塊在預定網絡位置(假設為存儲伺服器上的父任務登記表)保存父任務的標識、該父任務的所有子任務的標識、所有子任務的總數和已執行完畢的子任務的數量(當前置為0)。拆分功能模塊生成每個子任務的任務消息,並將所有生成的任務消息發送到任務消息隊列中。執行功能模塊的運行流程如圖6所示。在從消息中間鍵集群收到任務消息後,執行功能模塊提取其中的任務信息,對任務的目標狀態是否為執行進行校驗,如果不是則向消息中間鍵集群拒絕該任務消息。校驗完成後,執行功能模塊對具有該任務消息中標識的任務進行本階段的處理,並將處理結果以該任務的標識為索引保存在網絡中。執行功能模塊所執行的任務可能是處理部分業務文件的子任務,其任務信息中帶有所屬父任務的標識;也可能是處理監控文件的任務,其任務信息中不會帶有父任務標識。如果該任務的信息中帶有父任務標識,執行功能模塊在存儲伺服器上的父任務登記表中根據該父任務標識查找到已執行完畢的子任務的數量,並將該數量加1後保存;如果加1後已執行完畢的子任務數量等於該父任務的所有子任務的總數,則執行功能模塊生成一條任務消息發送到消息中間鍵集群的任務消息隊列,該任務消息攜帶的任務信息中,任務標識為父任務的標識,目標狀態為合併;如果加1後已執行完畢的子任務數量小於父任務的所有子任務的總數,則執行功能模塊對該子任務的處理結束。對任務信息中不帶有父任務標識的任務,執行功能模塊生成一條任務消息發送到消息中間鍵集群的任務消息隊列,任務消息中以該任務的標識和結束目標狀態為該任務的信息。合併功能模塊的運行流程如圖7所示。在從消息中間鍵集群收到任務消息後,合併功能模塊提取其中的任務信息,對任務的目標狀態是否為合併進行校驗,如果不是則向消息中間鍵集群拒絕該任務消息。校驗完成後,合併功能模塊提取任務信息中的任務標識(父任務標識),在存儲伺服器上的父任務登記表中,查找該父任務標識的所有子任務的標識,再以這些子任務標識為索引獲取保存的每個子任務的處理結果,並且將處理結果合併在一個文件中,以該任務的標識(父任務標識)為索引將合併後的文件保存在網絡中。合併功能模塊生成一條目標狀態為結束的任務消息發送到消息中間鍵集群的任務消息隊列中。結束功能模塊在收到任務消息、並對任務消息中的目標狀態是否是結束進行校驗後,進行該任務結束階段的處理過程。本應用示例中,消息中間鍵集群與保存父任務登記表的存儲伺服器組成了任務管理平臺。與上述流程實現對應,本申請的實施例還提供了一種應用在負責中間階段任務執行的節點上的多階段任務的實現裝置,和一種應用在負責起始階段任務執行的節點上的多階段任務的實現裝置。這兩種裝置均可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為邏輯意義上的裝置,是通過所在設備的cpu(centralprocessunit,中央處理器)將對應的電腦程式指令讀取到內存中運行形成的。從硬體層面而言,除了圖8所示的cpu、內存以及非易失性存儲器之外,多階段任務的實現裝置所在的設備通常還包括用於進行無線信號收發的晶片等其他硬體,和/或用於實現網絡通信功能的板卡等其他硬體。圖9所示為本申請實施例提供的一種多階段任務的實現裝置,所述多階段任務包括起始階段、至少一個中間階段和結束階段,所述裝置應用在負責起始階段任務執行的節點上,包括任務創建單元、任務信息生成單元和任務添加單元,其中:任務創建單元用於創建多階段任務,生成所述任務的標識;任務信息生成單元用於確定所述任務的下一個處理階段,採用所述任務的標識和下一個處理階段對應的目標狀態生成所述任務的信息;任務添加單元用於將所述任務的信息添加到任務管理平臺上。可選的,所述任務信息管理平臺上保存有任務的信息;所述任務添加單元具體用於:在任務管理平臺上保存的任務信息中添加所創建任務的信息。可選的,所述任務管理平臺上包括任務消息隊列,隊列裡的任務消息中包括任務的信息;所述任務添加單元具體用於:將攜帶所述任務信息的任務消息發送到任務管理平臺的任務消息隊列中。圖10所示為本申請實施例提供的一種多階段任務的實現裝置,所述多階段任務包括起始階段、至少一個中間階段和結束階段,所述裝置應用在負責中間階段任務執行的節點上,包括任務信息獲取單元、本階段處理單元和下階段確定單元,其中:任務信息獲取單元用於從任務信息管理平臺獲取目標狀態對應於本階段的任務的信息;所述任務信息中包括任務的標識和目標狀態;本階段處理單元用於執行具有所述標識的任務的本階段處理過程;下階段確定單元用於確定所述任務的下一處理階段,將包括對應於下一處理階段的目標狀態的任務信息更新到任務管理平臺。可選的,所述任務信息管理平臺上保存有任務的信息;所述任務信息獲取單元具體用於:讀取任務管理平臺保存的任務信息中目標狀態對應於本階段的任務的標識;所述下階段確定單元具體用於:確定所述任務的下一處理階段,將任務管理平臺上保存的所述任務的目標狀態修改為對應於所述任務的下一處理階段。可選的,所述任務管理平臺上包括任務消息隊列,隊列裡的任務消息中包括任務的信息;所述任務信息獲取單元具體用於:接收任務管理平臺發送的任務消息,所述任務消息中的目標狀態對應於本階段,從所述任務消息中獲取任務的標識;所述下階段確定單元具體用於:確定所述任務的下一處理階段,修改所述任務消息中的目標狀態為對應於所述任務的下一處理階段,將修改後的任務消息發送到任務管理平臺的任務消息隊列中。可選的,所述下階段確定單元具體用於:確定所述任務的下一處理階段,修改所述任務消息中的目標狀態為對應於所述任務的下一處理階段,當滿足所述任務下一處理階段的預定執行條件時,將修改後的任務消息發送到任務管理平臺的任務消息隊列中。可選的,所述本階段處理過程包括:以具有所述標識的任務為父任務,將其拆分為至少兩個子任務;所述下階段確定單元具體用於:生成每個子任務的信息,包括子任務的標識、目標狀態、和所屬父任務的標識;將每個子任務的信息添加到任務管理平臺上;所述裝置還包括:子任務計數初始化單元,用於在任務管理平臺上保存所述父任務的所有子任務的標識,並將已執行完畢的子任務數量置為0。可選的,所述本階段處理過程包括:執行從父任務拆分出來的至少兩個子任務中的一個;所述任務的信息還包括:所屬父任務的標識;所述任務管理平臺上保存有所述父任務的所有子任務的標識、和已執行完畢的子任務數量;所述任務信息獲取單元具體用於:從任務信息管理平臺獲取目標狀態匹配於本階段的某一個子任務的信息;所述裝置還包括:子任務計數更新單元,用於在執行完具有所述標識的子任務的本階段處理過程後,將任務管理平臺上該子任務所屬父任務的已執行完畢的子任務數量加1;所述下階段確定單元具體用於:如果任務管理平臺上該子任務所屬父任務的已執行完畢的子任務數量在加1後等於父任務的所有子任務的總數,則確定父任務的下一處理階段,將包括對應於下一處理階段的目標狀態的父任務信息更新到任務管理平臺,否則不作處理。可選的,所述本階段處理過程包括:合併屬於同一個父任務的所有子任務的執行結果;所述任務的標識為:父任務的標識;所述本階段處理單元具體用於:從任務管理平臺獲取屬於所述父任務的所有子任務的標識;根據每個子任務的標識獲取每個子任務的執行結果,並進行合併。以上所述僅為本申請的較佳實施例而已,並不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的範圍之內。在一個典型的配置中,計算設備包括一個或多個處理器(cpu)、輸入/輸出接口、網絡接口和內存。內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內存等形式,如只讀存儲器(rom)或快閃記憶體(flashram)。內存是計算機可讀介質的示例。計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限於相變內存(pram)、靜態隨機存取存儲器(sram)、動態隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內存技術、只讀光碟只讀存儲器(cd-rom)、數字多功能光碟(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁磁碟存儲或其他磁性存儲設備或任何其他非傳輸介質,可用於存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitorymedia),如調製的數據信號和載波。還需要說明的是,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。本領域技術人員應明白,本申請的實施例可提供為方法、系統或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、cd-rom、光學存儲器等)上實施的電腦程式產品的形式。當前第1頁12

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀