專利名稱:分布式系統(tǒng)及分布式系統(tǒng)處理任務流的方法
技術領域:
本發(fā)明涉及計算機應用技術領域,特別涉及一種分布式系統(tǒng)及分布式系統(tǒng)處理任
務流的方法。
背景技術:
隨著計算機技術的日益發(fā)展,計算機作為一種高效、快捷、方便的工具,在越來越 多的組織和機構(gòu)內(nèi)發(fā)揮著日益重要的作用,計算機的應用功能日益增多,應用規(guī)模也不斷 增長,從最初的單機應用發(fā)展到了現(xiàn)在的網(wǎng)絡化應用,在網(wǎng)絡化應用中,網(wǎng)絡上的計算機通 過有線或者無線的方式聯(lián)系在一起進行信息傳遞,增加了時效性,且豐富了用戶的使用體 驗。 計算機的應用實際上是由計算機來執(zhí)行一系列的任務,例如復制一個文件、啟動 一個進程、關閉一個窗口等等,隨著計算機應用的復雜化,單純地只執(zhí)行一個任務尚不能滿 足日益增長的應用需求,于是出現(xiàn)了由多個任務組成的執(zhí)行序列,該執(zhí)行序列形成任務流, 以共同完成一個大的任務目標,現(xiàn)有技術執(zhí)行任務流中的各個任務的方式,是在一臺計算 機上進行,在任務流中的一個任務執(zhí)行完之后,再執(zhí)行下一個任務,根據(jù)這種方式,任務流 中的所有任務都是在同一臺計算機上進行,勢必增加了計算機的負擔,此外,隨著計算機網(wǎng) 絡應用的日益發(fā)展,對網(wǎng)絡中各計算機之間的相互協(xié)同工作的需求日益增加,而根據(jù)現(xiàn)有 技術中的任務處理方式,其只可以在單機上執(zhí)行,無法應用于網(wǎng)絡協(xié)同工作中,不能充分地 應用計算機及網(wǎng)絡資源。
發(fā)明內(nèi)容
針對上述現(xiàn)有技術中存在的問題,本發(fā)明的目的在于提供一種分布式任務系統(tǒng)及 分布式系統(tǒng)處理任務流的方法,其可以對任務流中的任務進行分布式處理,實現(xiàn)任務流的 網(wǎng)絡協(xié)同工作。 為達到上述目的,本發(fā)明采用以下技術方案 —種分布式系統(tǒng)處理任務流的方法,所述分布式系統(tǒng)包括服務器以及一個以上的 客戶端,所述方法包括步驟 服務器獲取任務流以及該任務流中的可執(zhí)行任務,分配執(zhí)行該可執(zhí)行任務的客戶 端,并向所述客戶端發(fā)送執(zhí)行所述可執(zhí)行任務的任務執(zhí)行信息; 所述客戶端接收所述任務執(zhí)行信息,執(zhí)行所述可執(zhí)行任務,并將任務執(zhí)行結(jié)果信 息向所述服務器發(fā)送。 —種分布式處理系統(tǒng),包括服務器與一個以上的客戶端,
所述服務器包括 用于儲存所述任務流的任務存儲模塊; 與所述任務存儲模塊連接的任務調(diào)度模塊,用于從所述任務存儲模塊中獲取任務 流,并確定所述任務流中的各任務的執(zhí)行順序;
與所述任務調(diào)度模塊連接的任務觸發(fā)模塊,用于從所述任務流中獲取所述可執(zhí)行 任務; 與所述任務觸發(fā)模塊連接的任務分配模塊,用于為所述可執(zhí)行任務分配執(zhí)行所述 可執(zhí)行任務的客戶端; 與所述任務存儲模塊、所述任務分配模塊連接的服務器通信模塊,用于向執(zhí)行所 述可執(zhí)行任務的客戶端發(fā)送所述任務執(zhí)行信息,接收所述客戶端返回的所述任務執(zhí)行結(jié)果 信息; 所述客戶端包括 與所述服務器連接的客戶端通信模塊,用于接收所述任務執(zhí)行信息,并將任務執(zhí) 行結(jié)果收集模塊收集的所述任務執(zhí)行結(jié)果信息向所述服務器發(fā)送; 與所述客戶端通信模塊連接的任務狀態(tài)管理模塊,用于儲存所述可執(zhí)行任務的狀 態(tài)信息; 與所述任務狀態(tài)管理模塊連接的任務執(zhí)行單元管理模塊,用于查找并確定執(zhí)行所 述可執(zhí)行任務的任務執(zhí)行單元, 與所述任務執(zhí)行單元管理模塊連接的任務執(zhí)行模塊,用于采用所述任務執(zhí)行單元 執(zhí)行所述可執(zhí)行任務; 與所述任務執(zhí)行模塊、所述客戶端通信模塊連接的任務執(zhí)行結(jié)果收集模塊,用于 收集所述任務執(zhí)行結(jié)果信息。 根據(jù)上述本發(fā)明的方案,其是由服務器和一個以上的客戶端組成分布式任務處理 系統(tǒng),在對任務流進行處理時,服務器對任務流中的可執(zhí)行任務分配相應的客戶端,并向客 戶端發(fā)送任務執(zhí)行信息,由客戶端來執(zhí)行該可執(zhí)行任務,并將任務執(zhí)行結(jié)果信息返回給服 務器,由于對各可執(zhí)行任務的執(zhí)行,是由服務器通知相應的客戶端來執(zhí)行,從而對于任務流 中的各個不同的可執(zhí)行任務,服務器可以分別為其分配不同的客戶端,即,任務流中的各個 可執(zhí)行任務,可分別由各不同的客戶端來執(zhí)行,從而實現(xiàn)對任務流的分布式處理,實現(xiàn)任務 流的網(wǎng)絡協(xié)同工作,此外,在對各可執(zhí)行任務分配客戶端時,是由服務器統(tǒng)一進行,且各客 戶端執(zhí)行完任務之后會向服務器返回任務執(zhí)行結(jié)果,便于服務器監(jiān)視各客戶端的任務執(zhí)行 情況,有利于集中管理。
圖1是本發(fā)明的分布式系統(tǒng)具體實施例的結(jié)構(gòu)示意圖
圖2是本發(fā)明的分布式系統(tǒng)處理任務流的具體實施例
圖3是本發(fā)明的分布式系統(tǒng)處理任務流的具體實施例
具體實施例方式
參見圖1所示,是本發(fā)明的分布式系統(tǒng)具體實施例的結(jié)構(gòu)示意圖,其包括服務器 101以及一個以上的客戶端102(圖示中以一個進行說明), 服務器101用于獲取任務流,并從所述任務流中獲取可執(zhí)行任務,為所述可執(zhí)行 任務分配執(zhí)行該可執(zhí)行任務的客戶端102,并向所述客戶端102發(fā)送任務執(zhí)行信息,所述任 務流包括至少一個任務,所述任務執(zhí)行信息包括所述可執(zhí)行任務;
客戶端102用于接收服務器101發(fā)送的任務執(zhí)行信息,執(zhí)行所述可執(zhí)行任務,并將 任務執(zhí)行結(jié)果信息向所述服務器101發(fā)送。 根據(jù)上述本發(fā)明的系統(tǒng),其包括服務器101與一個以上的客戶端102,在對任務流 進行處理時,服務器101對任務流中的可執(zhí)行任務分配相應的客戶端102,并向客戶端102 發(fā)送執(zhí)行該可執(zhí)行任務的任務執(zhí)行信息,客戶端102接收該任務執(zhí)行信息后執(zhí)行該可執(zhí)行 任務,并將任務執(zhí)行結(jié)果信息返回給服務器IOI,對于任務流中的各個不同的可執(zhí)行任務, 服務器101可以分別為其分配不同的客戶端102,從而實現(xiàn)對任務流的分布式處理,實現(xiàn)任 務流的網(wǎng)絡協(xié)同工作,此外,在對各可執(zhí)行任務分配客戶端102時,是由服務器101統(tǒng)一進 行,且各客戶端執(zhí)行完任務之后會向服務器返回任務執(zhí)行結(jié)果,便于服務器監(jiān)視各客戶端 的任務執(zhí)行情況,有利于集中管理。
其中,上述服務器101具體包括
任務存儲模塊1011,用于儲存所述任務流; 與所述任務存儲模塊1011連接的任務調(diào)度模塊1012,用于從所述任務存儲模塊 1011中獲取任務流,并確定所述任務流中的各任務的執(zhí)行順序; 與所述任務調(diào)度模塊1012連接的任務觸發(fā)模塊1013,用于從所述任務流中獲取 當前需要執(zhí)行的可執(zhí)行任務; 與所述任務觸發(fā)模塊1013連接的任務分配模塊1014,用于為所述任務觸發(fā)模塊 1013確定的可執(zhí)行任務分配執(zhí)行該可執(zhí)行任務的客戶端; 與所述任務存儲模塊1011、所述任務分配模塊1014連接的服務器通信模塊1015, 用于向執(zhí)行所述可執(zhí)行任務的客戶端102發(fā)送任務執(zhí)行信息,接收所述客戶端102返回的 所述任務執(zhí)行結(jié)果信息,并將所述任務執(zhí)行結(jié)果信息向所述任務存儲模塊1011發(fā)送,由該 任務存儲模塊1011予以儲存。 其中,上述服務器通信模塊1015還可以將客戶端102返回的任務執(zhí)行結(jié)果信息向 任務存儲模塊1011發(fā)送,由任務存儲模塊1011予以儲存,從而,可以便于服務器在得到了 客戶端執(zhí)行任務流中的各執(zhí)行任務的任務執(zhí)行結(jié)果信息后,針對這些任務執(zhí)行結(jié)果進行統(tǒng)
一管理。 其中,上述任務存儲模塊1011可以是臨時性存儲,也可以是永久性存儲,根據(jù)具 體應用需要和選擇的不同可以有所不同。此外,該任務存儲模塊1011中所存儲的任務流, 可以是通過多種方式向其中添加的,此時,上述任務調(diào)度模塊1012還可以用于將用戶添加 的任務流存儲到任務存儲模塊1011中去。 此外,所述任務觸發(fā)模塊1013還可以與所述任務存儲模塊1011相連接,從而,在 客戶端102向服務器101返回任務執(zhí)行結(jié)果信息、并由任務存儲模塊1011存儲后,任務觸 發(fā)模塊1013還可以根據(jù)任務存儲模塊1011所儲存的任務執(zhí)行結(jié)果信息確定接下來要需要 執(zhí)行哪一個可執(zhí)行任務。 此外,任務分配模塊1014在為可執(zhí)行任務分配客戶端時,出于對側(cè)重點的考慮的 不同及需要的不同,可以采用不同的策略進行選擇,例如可以預先劃分各客戶端的功能,即 設定某一類型的可執(zhí)行任務固定由某一個客戶端來執(zhí)行,在確定了當前需要執(zhí)行的可執(zhí)行 任務之后,可以根據(jù)該可執(zhí)行任務的類型分配對應的客戶端,或者,也可以是不對各客戶端 的功能進行區(qū)分,即各客戶端均可以執(zhí)行各類型的任務,在對可執(zhí)行任務分配客戶端時,根據(jù)各客戶端尚剩有的內(nèi)存大小進行分配,可以優(yōu)先選擇為該可執(zhí)行任務分配所剩有的內(nèi)存
最多的客戶端,以平衡各客戶端的任務處理量,且可以增加任務流的處理速度。
此外,如圖1所示,所述客戶端102具體可以包括 與服務器101連接的客戶端通信模塊1021,用于接收服務器101發(fā)送的任務執(zhí)行 信息,并將任務執(zhí)行結(jié)果收集模塊1025收集的任務執(zhí)行結(jié)果信息向服務器101發(fā)送;
與客戶端通信模塊1021連接的任務狀態(tài)管理模塊1022,用于將客戶端通信模塊 所接收的任務執(zhí)行信息中的可執(zhí)行任務的狀態(tài)信息予以儲存; 與任務狀態(tài)管理模塊1022連接的任務執(zhí)行單元管理模塊1023,用于查找并確定 執(zhí)行該可執(zhí)行任務的任務執(zhí)行單元; 與任務執(zhí)行單元管理模塊1023連接的任務執(zhí)行模塊1024,用于采用任務執(zhí)行單 元管理模塊1023確定的任務執(zhí)行單元執(zhí)行所述可執(zhí)行任務; 與任務執(zhí)行模塊1024、客戶端通信模塊1021連接的任務執(zhí)行結(jié)果收集模塊1025, 用于收集上述任務執(zhí)行單元執(zhí)行該可執(zhí)行任務的任務執(zhí)行結(jié)果信息。 其中,上述任務執(zhí)行模塊1024還可以與所述任務狀態(tài)管理模塊1022相連接,從 而,在任務執(zhí)行模塊1024執(zhí)行上述可執(zhí)行任務時、導致該可執(zhí)行任務的狀態(tài)信息發(fā)生變化 后,任務狀態(tài)管理模塊1022可將該可執(zhí)行任務變化后的狀態(tài)信息予以儲存,以實現(xiàn)客戶端 的集中式管理。 其中,可執(zhí)行任務的狀態(tài)信息可以包括該可執(zhí)行任務的任務名稱、該可執(zhí)行任務 用來完成什么樣的功能、該可執(zhí)行任務是否正在運行、以及執(zhí)行該可執(zhí)行任務的命令是由 哪臺服務器發(fā)送等等,還可以包括其他的狀態(tài)信息。 此外,上述任務執(zhí)行單元管理模塊1023中,可記錄有該客戶端具有的任務執(zhí)行單 元的信息,即當該客戶端每添加一個新的任務執(zhí)行單元時,可向該任務執(zhí)行單元管理模塊 予以登記,從而在為可執(zhí)行任務確定執(zhí)行的任務執(zhí)行單元時,可根據(jù)該可執(zhí)行任務的類型 確定對應的任務執(zhí)行單元。 根據(jù)上述本發(fā)明的分布式系統(tǒng),在進行具體的分布式任務處理時
服務器的任務調(diào)度模塊1012從任務存儲模塊1011中獲取一個任務流,任務觸發(fā) 模塊1013從任務調(diào)度模塊1012獲取的任務流中確定一個需要執(zhí)行的可執(zhí)行任務,并由任 務分配模塊1014為該可執(zhí)行任務分配相應的客戶端,隨后由服務器通信模塊1015向客戶 端發(fā)送執(zhí)行該可執(zhí)行任務的任務執(zhí)行信息; 客戶端102的客戶端通信模塊1021接收到服務器101發(fā)送的該任務執(zhí)行信息后, 先由任務狀態(tài)管理模塊1022將該可執(zhí)行任務的狀態(tài)信息予以儲存,由任務執(zhí)行單元管理 模塊1023查找對應于該可執(zhí)行任務的任務執(zhí)行單元,并由任務執(zhí)行模塊1024采用該任務 執(zhí)行單元執(zhí)行該可執(zhí)行任務,任務執(zhí)行結(jié)果收集模塊1025收集了執(zhí)行該可執(zhí)行任務的任 務執(zhí)行結(jié)果信息后,由客戶端通信模塊1021將該任務執(zhí)行結(jié)果信息反饋給服務器;
服務器101的服務器通信模塊1015接收到客戶端102反饋的任務執(zhí)行結(jié)果信息 后,將該任務執(zhí)行結(jié)果信息發(fā)送給任務存儲模塊1011予以儲存,以便于服務器對各客戶端 的任務執(zhí)行情況的監(jiān)視,有利于集中管理。 參見圖2所示,是本發(fā)明的分布式系統(tǒng)處理任務流的方法具體實施例一的流程示 意圖,其包括步驟
步驟S201 :服務器獲取一條任務流,并獲取該任務流中的下一個可執(zhí)行任務,進 入步驟S202 ; 步驟S202 :服務器確定執(zhí)行上述可執(zhí)行任務的客戶端,即為該可執(zhí)行任務分配相 應的客戶端,并向該客戶端發(fā)送任務執(zhí)行信息,該任務執(zhí)行信息中包括該可執(zhí)行任務,進入 步驟S203 ; 步驟S203 :客戶端接收服務器發(fā)送的任務執(zhí)行信息,并執(zhí)行該任務執(zhí)行信息中包 含的可執(zhí)行任務,收集執(zhí)行該可執(zhí)行任務的任務執(zhí)行結(jié)果信息,進入步驟S204 ;
步驟S204 :客戶端將收集的任務執(zhí)行結(jié)果信息向服務器發(fā)送,進入步驟S205 ;
步驟S205 :服務器接收客戶端發(fā)送的任務執(zhí)行結(jié)果信息。 根據(jù)上述本發(fā)明的方案,在對任務流進行處理時,服務器對任務流中的可執(zhí)行任 務分配相應的客戶端,并向客戶端發(fā)送執(zhí)行該可執(zhí)行任務的任務執(zhí)行信息,客戶端接收該 任務執(zhí)行信息后執(zhí)行該可執(zhí)行任務,并將執(zhí)行該可執(zhí)行任務的任務執(zhí)行結(jié)果信息返回給服 務器,對于任務流中的各個不同的可執(zhí)行任務,服務器可以分別為其分配不同的客戶端,從 而實現(xiàn)對任務流的分布式處理,實現(xiàn)任務流的網(wǎng)絡協(xié)同工作,此外,在對各可執(zhí)行任務分配 客戶端時,是由服務器統(tǒng)一進行,且各客戶端執(zhí)行完任務之后會向服務器返回任務執(zhí)行結(jié) 果,便于服務器監(jiān)視各客戶端的任務執(zhí)行情況,有利于集中管理。 其中,在所述步驟S205中,在服務器接收了客戶端發(fā)送的任務執(zhí)行結(jié)果信息后,
還可以將該任務執(zhí)行結(jié)果信息予以儲存。從而,可以便于服務器在得到了客戶端執(zhí)行任務
流中的各執(zhí)行任務的任務執(zhí)行結(jié)果信息后,針對這些任務執(zhí)行結(jié)果進行統(tǒng)一管理。 其中,在服務器為可執(zhí)行任務分配服務器時,出于對側(cè)重點考慮的不同及應用需
要的不同,可以采用不同的選擇策略,例如可以預先設定某一類型的可執(zhí)行任務固定由某
一個客戶端來執(zhí)行,在確定了當前需要執(zhí)行的可執(zhí)行任務之后,可以根據(jù)該可執(zhí)行任務的
類型分配對應的客戶端,或者,也可以是不對各客戶端的功能進行劃分,即各客戶端均可以
執(zhí)行各類型的任務,在對可執(zhí)行任務分配客戶端時,根據(jù)各客戶端尚剩有的內(nèi)存大小進行
分配,可以優(yōu)先選擇為該可執(zhí)行任務分配所剩內(nèi)存最多的客戶端,以平衡各客戶端的任務
處理量,且可以增加任務流的處理速度。 參見圖3所示,是本發(fā)明的分布式系統(tǒng)處理任務流的方法具體實施例二的流程示
意圖,本實施例中的方法與上述實施例一的不同主要在于,其進一步細化了分布式處理流 程,其具體包括步驟 步驟S301 :服務器獲取一條任務流,進入步驟S302 ; 步驟S302 :服務器判斷該任務流是否正在執(zhí)行,若是,進入步驟S304,若否,則進 入步驟S303 ; 步驟S303 :判斷該任務流是否滿足執(zhí)行條件,若滿足,則進入步驟S304,若否,則 返回步驟S301,獲取下一條任務流; 步驟S304 :獲取該任務流中的下一個可執(zhí)行任務,隨后進入步驟S305 ; 步驟S305 :為上述獲取的可執(zhí)行任務分配執(zhí)行該可執(zhí)行任務的客戶端,并向該客
戶端發(fā)送任務執(zhí)行信息,該任務執(zhí)行信息中包括有該可執(zhí)行任務,進入步驟S306 ; 步驟S306 :客戶端接收服務器發(fā)送的任務執(zhí)行信息,并將該任務執(zhí)行信息中所包
含的可執(zhí)行任務的狀態(tài)信息予以儲存,隨后進入步驟S307 ;
步驟S307 :客戶端判斷其是否具有對應于該可執(zhí)行任務的任務執(zhí)行單元,若具 有,則進入步驟S308,若不具有,則進入步驟S309 ; 步驟S308 :客戶端采用上述對應的任務執(zhí)行單元執(zhí)行該可執(zhí)行任務,并收集執(zhí)行
該可執(zhí)行任務的任務執(zhí)行結(jié)果信息,該任務執(zhí)行結(jié)果信息可以是任務執(zhí)行成功、任務執(zhí)行
失敗、任務執(zhí)行被中斷等信息,也可以是其他類型的執(zhí)行結(jié)果,隨后進入步驟S309 ; 步驟S309 :客戶端向服務器發(fā)送任務執(zhí)行結(jié)果信息,隨后進入步驟S310 ; 步驟S310 :服務器接收客戶端發(fā)送的任務執(zhí)行結(jié)果信息,并將該任務執(zhí)行結(jié)果信
息予以儲存。 根據(jù)上述本發(fā)明的系統(tǒng)方案,在對任務流進行處理時,服務器對任務流中的可執(zhí)
行任務分配相應的客戶端,并向客戶端發(fā)送執(zhí)行該可執(zhí)行任務的任務執(zhí)行信息,客戶端接
收該任務執(zhí)行信息后,查找對應于該可執(zhí)行任務的任務執(zhí)行單元,由任務執(zhí)行單元執(zhí)行該
可執(zhí)行任務,隨后客戶端收集執(zhí)行該可執(zhí)行任務的任務執(zhí)行結(jié)果信息后將任務執(zhí)行結(jié)果信
息返回給服務器,對于任務流中的各個不同的可執(zhí)行任務,服務器可以分別為其分配不同
的客戶端,從而實現(xiàn)對任務流的分布式處理,實現(xiàn)任務流的網(wǎng)絡協(xié)同工作,此外,在對各可
執(zhí)行任務分配客戶端時,是由服務器統(tǒng)一進行,且各客戶端執(zhí)行完任務之后會向服務器返
回任務執(zhí)行結(jié)果,便于服務器監(jiān)視各客戶端的任務執(zhí)行情況,有利于集中管理。 其中,在上述步驟S303中,判斷該任務流是否滿足執(zhí)行條件時,根據(jù)各任務流的
設定條件的不同,可以有不同的判斷方式,例如,對于某些種類的任務流需要在其基礎任務
執(zhí)行完成后才可以開始執(zhí)行,此時則需要判斷該基礎任務是否執(zhí)行完成,而對于某些種類
的任務則需要在特定的時間點開始執(zhí)行,例如定時查殺毒、定時備份文件等等,此時則需要
判斷是否達到預設的時間點,根據(jù)各任務流的類型的不同,還可能具有其他的執(zhí)行條件,在
此不予一一贅述。 在上述步驟S305中,服務器為該可執(zhí)行任務分配服務器時,出于對側(cè)重點考慮的 不同及應用需要的不同,可以采用不同的策略進行選擇,例如可以預先設某一類型的可執(zhí) 行任務固定由某一個客戶端來執(zhí)行,在確定了當前需要執(zhí)行的可執(zhí)行任務之后,可以根據(jù) 該可執(zhí)行任務的類型分配對應的客戶端,或者,也可以是不對各客戶端的功能進行劃分,即 各客戶端均可以執(zhí)行各類型的任務,在對可執(zhí)行任務分配客戶端時,根據(jù)各客戶端尚剩有 的內(nèi)存大小進行分配,可以優(yōu)先選擇為該可執(zhí)行任務分配所剩內(nèi)存最多的客戶端,以平衡 各客戶端的任務處理量,且可以增加任務流的處理速度。 此外,在客戶端執(zhí)行上述可執(zhí)行任務時,由于該可執(zhí)行任務從開始的尚未執(zhí)行變 換為正在執(zhí)行,使得其狀態(tài)發(fā)生了變化,此時,客戶端還可以將變化后的該可執(zhí)行任務的狀 態(tài)信息予以儲存,以有利于客戶端的集中管理。 在上述步驟S309中,客戶端向服務器的任務執(zhí)行結(jié)果信息中,在具有任務執(zhí)行單 元執(zhí)行該可執(zhí)行任務的情況下,所得的任務執(zhí)行結(jié)果信息可以是上述任務執(zhí)行成功、或者 任務執(zhí)行失敗、或者任務執(zhí)行被中斷等信息,在不具有執(zhí)行該可執(zhí)行任務的任務執(zhí)行單元 的情況下,所發(fā)送的任務執(zhí)行結(jié)果信息則可以是沒有執(zhí)行該可執(zhí)行單元的任務執(zhí)行單元、 或者任務執(zhí)行失敗等信息。 以上所述的各個本發(fā)明實施方式,并不構(gòu)成對本發(fā)明保護范圍的限定。任何在本 發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進等,均應包含在本發(fā)明的權(quán)利要求保護范圍之內(nèi)。
權(quán)利要求
一種分布式系統(tǒng)處理任務流的方法,所述分布式系統(tǒng)包括服務器以及一個以上的客戶端,所述方法包括步驟服務器獲取任務流以及該任務流中的可執(zhí)行任務,分配執(zhí)行該可執(zhí)行任務的客戶端,并向所述客戶端發(fā)送執(zhí)行所述可執(zhí)行任務的任務執(zhí)行信息;所述客戶端接收所述任務執(zhí)行信息,執(zhí)行所述可執(zhí)行任務,并將任務執(zhí)行結(jié)果信息向所述服務器發(fā)送。
2. 根據(jù)權(quán)利要求1所述的分布式系統(tǒng)處理任務流的方法,其特征在于,所述服務器接 收所述任務執(zhí)行結(jié)果信息后,還將所述任務執(zhí)行結(jié)果信息予以儲存。
3. 根據(jù)權(quán)利要求1所述的分布式任務處理方法,其特征在于,所述服務器根據(jù)所述任 務執(zhí)行結(jié)果信息從所述任務流中獲取可執(zhí)行任務。
4. 根據(jù)權(quán)利要求1所述的分布式任務處理方法,其特征在于,所述客戶端接收所述任 務執(zhí)行信息后,還將所述可執(zhí)行任務的狀態(tài)信息予以儲存。
5. 根據(jù)權(quán)利要求1至4任意一項所述的分布式任務處理方法,其特征在于,所述服務器 在分配客戶端時,根據(jù)各客戶端的所剩內(nèi)存大小或者所述可執(zhí)行任務的類型為所述可執(zhí)行 任務分配客戶端。
6. —種分布式處理系統(tǒng),包括服務器與一個以上的客戶端,其特征在于 所述服務器包括用于儲存所述任務流的任務存儲模塊;與所述任務存儲模塊連接的任務調(diào)度模塊,用于從所述任務存儲模塊中獲取任務流, 并確定所述任務流中的各任務的執(zhí)行順序;與所述任務調(diào)度模塊連接的任務觸發(fā)模塊,用于從所述任務流中獲取所述可執(zhí)行任務;與所述任務觸發(fā)模塊連接的任務分配模塊,用于為所述可執(zhí)行任務分配執(zhí)行所述可執(zhí) 行任務的客戶端;與所述任務存儲模塊、所述任務分配模塊連接的服務器通信模塊,用于向執(zhí)行所述可 執(zhí)行任務的客戶端發(fā)送所述任務執(zhí)行信息,接收所述客戶端返回的所述任務執(zhí)行結(jié)果信 息;所述客戶端包括與所述服務器連接的客戶端通信模塊,用于接收所述任務執(zhí)行信息,并將任務執(zhí)行結(jié) 果收集模塊收集的所述任務執(zhí)行結(jié)果信息向所述服務器發(fā)送;與所述客戶端通信模塊連接的任務狀態(tài)管理模塊,用于儲存所述可執(zhí)行任務的狀態(tài)信息;與所述任務狀態(tài)管理模塊連接的任務執(zhí)行單元管理模塊,用于查找并確定執(zhí)行所述可 執(zhí)行任務的任務執(zhí)行單元,與所述任務執(zhí)行單元管理模塊連接的任務執(zhí)行模塊,用于采用所述任務執(zhí)行單元執(zhí)行 所述可執(zhí)行任務;與所述任務執(zhí)行模塊、所述客戶端通信模塊連接的任務執(zhí)行結(jié)果收集模塊,用于收集 所述任務執(zhí)行結(jié)果信息。
7. 根據(jù)權(quán)利要求6所述的分布式任務管理系統(tǒng),其特征在于,所述服務器通信模塊,還用于將所述任務執(zhí)行結(jié)果信息向所述任務存儲模塊發(fā)送;所述任務存儲模塊,還用于將所述任務執(zhí)行結(jié)果信息予以儲存。
8. 根據(jù)權(quán)利要求6所述的分布式任務管理系統(tǒng),其特征在于,所述任務觸發(fā)模塊還與 所述任務存儲模塊相連接,所述任務觸發(fā)模塊還用于根據(jù)所述任務執(zhí)行結(jié)果信息獲取所述 可執(zhí)行任務。
9. 根據(jù)權(quán)利要求6所述的分布式任務處理系統(tǒng),其特征在于,所述任務執(zhí)行模塊還與 所述任務狀態(tài)管理模塊相連接。
10. 根據(jù)權(quán)利要求6至9任意一項所述的分布式任務處理系統(tǒng),其特征在于,所述任務 存儲模塊為臨時性存儲或者永久性存儲。
11. 根據(jù)權(quán)利要求6至9任意一項所述的分布式任務管理系統(tǒng),其特征在于,所述任務 分配模塊根據(jù)所述可執(zhí)行任務的類型或者各客戶端的所剩內(nèi)存大小為所述可執(zhí)行任務分 配客戶端。
全文摘要
一種分布式系統(tǒng)及分布式系統(tǒng)處理任務流的方法,服務器獲取任務流以及該任務流中的可執(zhí)行任務,為所述可執(zhí)行任務分配執(zhí)行該可執(zhí)行任務的客戶端,并向所述客戶端發(fā)送執(zhí)行所述可執(zhí)行任務的任務執(zhí)行信息,所述任務執(zhí)行信息包括所述可執(zhí)行任務;所述客戶端接收所述任務執(zhí)行信息,執(zhí)行所述可執(zhí)行任務,并將任務執(zhí)行結(jié)果信息向所述服務器發(fā)送;所述服務器接收所述任務執(zhí)行結(jié)果信息,并將所述任務執(zhí)行結(jié)果信息予以儲存。本發(fā)明方案對任務流進行處理時,針對任務流中的各個不同的可執(zhí)行任務,服務器可以分別為其分配不同的客戶端,有不同的客戶端分別進行處理,從而實現(xiàn)對任務流的分布式處理,實現(xiàn)任務流的網(wǎng)絡協(xié)同工作。
文檔編號H04L29/08GK101741885SQ20081021925
公開日2010年6月16日 申請日期2008年11月19日 優(yōu)先權(quán)日2008年11月19日
發(fā)明者成朝暉, 李清, 魏偉存 申請人:珠海市西山居軟件有限公司