分布式定時任務調(diào)度系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種分布式定時任務調(diào)度方法,包括如下步驟:a)任務分發(fā)者系統(tǒng)啟動,監(jiān)聽任務提交者系統(tǒng)的提交任務和任務執(zhí)行者系統(tǒng)中的任務執(zhí)行者的注冊;b)所述任務執(zhí)行者系統(tǒng)啟動,自動向所述任務分發(fā)者系統(tǒng)注冊;c)所述任務提交者系統(tǒng)向所述任務分發(fā)者系統(tǒng)提交任務;d)所述任務分發(fā)者系統(tǒng)收到任務后,通知所述任務執(zhí)行者系統(tǒng)中的已注冊的與所述任務對應的任務執(zhí)行者來取走所述任務;e)所述與所述任務對應的任務執(zhí)行者取走所述任務并執(zhí)行所述任務。利用本發(fā)明的分布式定時任務調(diào)度系統(tǒng)具有管理簡單、操作方便等特點,能夠解決程序數(shù)目較多,且管理混亂等問題。
【專利說明】分布式定時任務調(diào)度系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及客戶端/服務器系統(tǒng)的任務管理,特別涉及一種基于客戶端/服務器系統(tǒng)分布式定時任務調(diào)度系統(tǒng)。
【背景技術(shù)】
[0002]客戶端/服務器結(jié)構(gòu)(即Client/Server結(jié)構(gòu),簡稱C/S結(jié)構(gòu))是計算機領(lǐng)域中熟知的一種客戶機和服務器結(jié)構(gòu)。這是一種軟件系統(tǒng)體系結(jié)構(gòu),可以充分利用客戶機和服務器兩端的硬件環(huán)境的優(yōu)勢,將任務合理分配到客戶機(Client)端和服務器(Server)端來實現(xiàn),從而降低了系統(tǒng)的通訊開銷。服務器端通常采用高性能的PC、工作站或小型機,并采用大型數(shù)據(jù)庫系統(tǒng),如ORACLE、SYBASE、InfORMix或SQL Server??蛻舳诵枰惭b專用的客戶端軟件。C/S結(jié)構(gòu)的優(yōu)點是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務器。而且,數(shù)據(jù)的儲存管理功能較為透明。目前大多數(shù)應用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu)。
[0003]在客戶端/服務器結(jié)構(gòu)的系統(tǒng)中,經(jīng)常會有許多需要重復執(zhí)行的任務或程序。如:生成周報的程序需要每周執(zhí)行一次、發(fā)送郵件的程序需要每天凌晨3點執(zhí)行一次、分析日志的程序需要每天凌晨I點執(zhí)行一次、信息采集的程序需要每兩小時執(zhí)行一次等等。還有一些程序需要在特定的情況下手動觸發(fā)執(zhí)行。
[0004]這些以周期性重復執(zhí)行的任務或程序具有如下一些相同點:需要重復執(zhí)行、需要定時執(zhí)行、編寫程序時需要考慮定時邏輯等。如果在客戶端/服務器結(jié)構(gòu)的系統(tǒng)中這樣的任務或程序數(shù)目較多,就會使得客戶端/服務器結(jié)構(gòu)的系統(tǒng)的管理十分復雜混亂,容易出錯,造成系統(tǒng)不穩(wěn)定等問題。
[0005]在現(xiàn)有技術(shù)中,為了解決這類重復執(zhí)行的任務或程序的分配和管理問題,可以將這些需要定時重復執(zhí)行的任務部署在一臺服務器上,那么這個定時任務就是整個系統(tǒng)的單點。然而,在單點模式下如果這臺服務器出現(xiàn)故障的話會影響整個服務。對于可以冗余的任務(重復運行不影響服務),也可以部署在多臺服務器上,讓它們同時執(zhí)行,這樣就可以很簡單的避免單點。但是如果任務不允許冗余,最多只能有一臺服務器執(zhí)行任務,會產(chǎn)生互斥任務的單點問題。
[0006]因此,需要一種能夠解決定時重復執(zhí)行的任務的管理問題,以達到管理簡單,操作方便的目的分布式定時任務調(diào)度方法和系統(tǒng)。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的是提供一種分布式定時任務調(diào)度方法,包括如下步驟:a)任務分發(fā)者系統(tǒng)啟動,監(jiān)聽任務提交者系統(tǒng)的提交任務和任務執(zhí)行者系統(tǒng)中的任務執(zhí)行者的注冊;b)所述任務執(zhí)行者系統(tǒng)啟動,自動向所述任務分發(fā)者系統(tǒng)注冊;c)所述任務提交者系統(tǒng)向所述任務分發(fā)者系統(tǒng)提交任務;d)所述任務分發(fā)者系統(tǒng)收到任務后,通知所述任務執(zhí)行者系統(tǒng)中的已注冊的與所述任務對應的任務執(zhí)行者來取走所述任務;e)所述與所述任務對應的任務執(zhí)行者取走所述任務并執(zhí)行所述任務。
[0008]優(yōu)選地,還包括關(guān)閉所述任務分發(fā)者系統(tǒng)的步驟如下:h)所述任務提交者系統(tǒng)向任務分發(fā)者系統(tǒng)發(fā)送表示關(guān)閉任務分發(fā)者系統(tǒng)的命令;i)所述任務分發(fā)者系統(tǒng)停止接受任務;j)所述任務分發(fā)者系統(tǒng)向所述任務執(zhí)行者系統(tǒng)發(fā)送任務集群命令;k)所述任務執(zhí)行者系統(tǒng)將現(xiàn)有任務轉(zhuǎn)入集群;1)所述任務執(zhí)行者系統(tǒng)將包括現(xiàn)有任務的集群返回所述任務分發(fā)者;m)所述任務分發(fā)者系統(tǒng)關(guān)機。
[0009]優(yōu)選地,在步驟b中,所述任務提交者系統(tǒng)向所述任務分發(fā)者系統(tǒng)注冊的信息包括:每個所述任務執(zhí)行者的功能信息、唯一標示、最大負載、及輸入輸出參數(shù)。
[0010]優(yōu)選地,在步驟C中,所述任務提交者系統(tǒng)定時提交任務。
[0011]優(yōu)選地,在步驟e之后,向所述任務分發(fā)者系統(tǒng)返回包括表示任務執(zhí)行成功或任務異常的信息。
[0012]優(yōu)選地,從步驟a至步驟m都采用Gearman傳輸協(xié)議,請求和響應被封裝成二進制數(shù)據(jù)包,所述二進制數(shù)據(jù)包包含一個文件頭以及數(shù)據(jù)內(nèi)容。
[0013]優(yōu)選地,所述二進制數(shù)據(jù)包僅包含數(shù)據(jù)內(nèi)容。
[0014]優(yōu)選地,所述文件頭的格式如下:所述文件頭為12個Byte,由4byte的MagicCode、4byte的消息類型和4byte的數(shù)據(jù)大小信息組成。
[0015]優(yōu)選地,所述任務提交者系統(tǒng)包括2個任務提交者,所述任務分發(fā)者系統(tǒng)包括2個任務分發(fā)者。
[0016]優(yōu)選地,所述任務提交者系統(tǒng)具有用戶界面接口。
[0017]利用本發(fā)明的分布式定時任務調(diào)度系統(tǒng)具有管理簡單、操作方便等特點,能夠解決程序數(shù)目較多,且管理混亂等問題。
【專利附圖】
【附圖說明】
[0018]參考隨附的附圖,本發(fā)明更多的目的、功能和優(yōu)點將通過本發(fā)明實施方式的如下描述得以闡明,其中:
[0019]圖1示意性地示出了本發(fā)明的分布式定時任務調(diào)度系統(tǒng)的系統(tǒng)框圖;
[0020]圖2示意性地示出了本發(fā)明的分布式定時任務調(diào)度系統(tǒng)的方法流程圖。
[0021]圖3示意性地示出了本發(fā)明的分布式定時任務調(diào)度系統(tǒng)的關(guān)閉服務器的方法流程圖。
【具體實施方式】
[0022]通過參考示范性實施例,本發(fā)明的目的和功能以及用于實現(xiàn)這些目的和功能的方法將得以闡明。然而,本發(fā)明并不受限于以下所公開的示范性實施例;可以通過不同形式來對其加以實現(xiàn)。說明書的實質(zhì)僅僅是幫助相關(guān)領(lǐng)域技術(shù)人員綜合理解本發(fā)明的具體細節(jié)。
[0023]在下文中,將參考附圖描述本發(fā)明的實施例。在附圖中,相同的附圖標記代表相同或類似的部件,或者相同或類似的步驟。
[0024]圖1示意性地示出了本發(fā)明的分布式定時任務調(diào)度系統(tǒng)的系統(tǒng)框圖。本發(fā)明的分布式定時任務調(diào)度系統(tǒng)100包括3個子系統(tǒng):任務提交者系統(tǒng)110、任務分發(fā)者系統(tǒng)120和任務執(zhí)行者系統(tǒng)130。各子系統(tǒng)之間基于自定義協(xié)議(基于TCP/IP網(wǎng)絡(luò)通信協(xié)議)通信。[0025]下面關(guān)于自定義協(xié)議進行解釋。本系統(tǒng)的自定義協(xié)議的通信規(guī)則步驟為:
[0026]步驟1,任務分發(fā)者系統(tǒng)120啟動,監(jiān)聽任務提交者系統(tǒng)110的提交任務和任務執(zhí)行者系統(tǒng)130中的任務執(zhí)行者的注冊;
[0027]步驟2,任務執(zhí)行者系統(tǒng)130啟動,自動向任務分發(fā)者系統(tǒng)120注冊,告知自己能做的哪些任務和自己的編號;
[0028]步驟3,任務提交者系統(tǒng)110向任務分發(fā)者系統(tǒng)120提交任務;
[0029]步驟4,任務分發(fā)者系統(tǒng)120收到后,通知任務執(zhí)行者系統(tǒng)130中的已注冊的能做該任務的任務執(zhí)行者來取走任務;
[0030]步驟5,其中一個任務執(zhí)行者取走任務,執(zhí)行,并告知任務分發(fā)者系統(tǒng)120完成或異常。
[0031]以上五個步驟每個步驟都采用的Gearman傳輸協(xié)議,請求和響應被封裝成二進制數(shù)據(jù)包,該二進制數(shù)據(jù)包包含一個文件頭以及數(shù)據(jù)內(nèi)容。文件頭格式如下:文件頭為12個Byte,分別有4byte的Magic Code、4byte的消息類型和4byte的數(shù)據(jù)大小信息組成。優(yōu)選地,該二進制數(shù)據(jù)包也可以僅包含數(shù)據(jù)內(nèi)容。
[0032]例如:MagicCode 分別為,〃\0REQ〃 或 〃\0RES〃,〃\0REQ〃 代表請求,〃\0RES〃 代表響應。
[0033]優(yōu)選地,本系統(tǒng)將三個子系統(tǒng),即任務提交者系統(tǒng)110、任務分發(fā)者系統(tǒng)120,以及任務執(zhí)行者系統(tǒng)130完全解耦。從而方便系統(tǒng)的擴展與升級,避免單點故障,提高工作效率。
[0034]該自定義協(xié)議優(yōu)選設(shè)置為,通信內(nèi)容以命令+數(shù)據(jù)的方式在各子系統(tǒng)間傳送。例如,在任務執(zhí)行者系統(tǒng)130啟動時,會向任務分發(fā)者系統(tǒng)120注冊,使用SET_CLIENT_ID命令,并加上自己的ID號發(fā)送給任務分發(fā)者端。此處的向任務分發(fā)者系統(tǒng)120注冊的含義為,將任務執(zhí)行者系統(tǒng)130中的各任務執(zhí)行者能夠處理的任務以及各任務執(zhí)行者的編號告知任務分發(fā)者。
[0035]任務提交者系統(tǒng)110具有用戶界面接口,例如以web方式呈現(xiàn)的交互式頁面。用戶或管理員可以通過任務提交者系統(tǒng)110發(fā)起添加新任務,任務提交者系統(tǒng)110會將任務數(shù)據(jù)存入數(shù)據(jù)庫113。當需要提取任務數(shù)據(jù)時,任務提交者系統(tǒng)110會從數(shù)據(jù)庫113取出任務數(shù)據(jù),并按時將任務數(shù)據(jù)提交至任務分發(fā)者系統(tǒng)120。
[0036]優(yōu)選地,在任務即將執(zhí)行之前,任務提交者系統(tǒng)110提前一定時間地將任務數(shù)據(jù)加載到內(nèi)存,以實現(xiàn)準時投遞。例如,若某任務需要在10:00執(zhí)行,則任務提交者系統(tǒng)110在9:50將需要執(zhí)行的任務數(shù)據(jù)從硬盤加載至內(nèi)存,并將該任務數(shù)據(jù)加入延時隊列,在10:00時,任務數(shù)據(jù)會從延遲隊列被提取至任務提交者系統(tǒng)110,從而能夠在10:00準時地向任務分發(fā)者系統(tǒng)120提交任務數(shù)據(jù)。延時隊列是一種具有定時器和觸發(fā)器的隊列,從而能夠按時傳送數(shù)據(jù)。
[0037]作為具有用戶界面接口的任務提交者系統(tǒng)110,在需要的情況下,能夠顯示從任務分發(fā)者系統(tǒng)120返回的包含表示任務執(zhí)行成功與否的信息。例如,當任務分發(fā)者系統(tǒng)120接收到從任務執(zhí)行者系統(tǒng)130傳來的任務失敗的信息時,任務分發(fā)者系統(tǒng)120會向任務提交者系統(tǒng)110發(fā)送顯示任務失敗的提示信息以及報警命令。此時,任務提交者系統(tǒng)110將會通過用戶界面接口,將任務失敗的提示信息顯示出來。又例如,在進行任務分發(fā)者系統(tǒng)120的關(guān)閉操作時,任務提交者系統(tǒng)110接收從任務分發(fā)者系統(tǒng)返回的執(zhí)行結(jié)果,并將該執(zhí)行結(jié)果通過用戶界面接口顯示出來。
[0038]任務分發(fā)者系統(tǒng)120接收從任務提交者系統(tǒng)110提交的任務數(shù)據(jù),并將任務數(shù)據(jù)分發(fā)至任務執(zhí)行者系統(tǒng)130。在任務分發(fā)者系統(tǒng)120中的任務分發(fā)者都具有任務調(diào)度的功能。當任務執(zhí)行者系統(tǒng)130啟動后會向任務分發(fā)者系統(tǒng)120注冊自己的信息,比如任務執(zhí)行者的唯一標示,最大負載,輸入輸出參數(shù)等。任務分發(fā)者在接受到任務提交者提交上來的任務后,會根據(jù)任務的唯一標示找到可以接受該任務的任務執(zhí)行者。
[0039]根據(jù)本發(fā)明的分布式定時任務調(diào)度系統(tǒng)100優(yōu)選各具有至少兩個任務提交者和任務分發(fā)者,這樣可以防止單點故障。例如由某個機器宕機而引起系統(tǒng)服務中斷就屬于單點故障。如圖1所示,任務提交者系統(tǒng)Iio至少包括第一任務提交者111和第二任務提交者112。任務分發(fā)者系統(tǒng)120至少包括第一任務分發(fā)者121和第二任務分發(fā)者122。
[0040]當有某任務需要提交時,在正常的工作狀態(tài)下,該任務可以由任務提交者系統(tǒng)110中的任意一個任務提交者(例如任務提交者111)隨機地向任務分發(fā)者系統(tǒng)120中的任意一個任務分發(fā)者(例如任務分發(fā)者121)提交;若有任務提交者(例如任務提交者111)宕機,則該任務會由任務提交者112隨機地向任務分發(fā)者系統(tǒng)120中的任意一個任務分發(fā)者(例如任務分發(fā)者121)提交;若有任務分發(fā)者(例如任務分發(fā)者121)宕機,則任務提交者系統(tǒng)110將該任務向任務分發(fā)者系統(tǒng)120中的任務分發(fā)者122提交。另外,任務提交者系統(tǒng)110中的任務提交者以及任務分發(fā)者系統(tǒng)120中的任務分發(fā)者的個數(shù)可以大于兩個,但考慮到成本及效果的平衡,2個任務提交者及任務分發(fā)者是最合適的。
[0041]當任務執(zhí)行者發(fā)生單點故障時,例如任務執(zhí)行者系統(tǒng)130的某臺機器宕機時,任務分發(fā)者系統(tǒng)120會檢測到該宕機的機器的心跳停止,因此不會把任務發(fā)送給該機器的任務執(zhí)行者來執(zhí)行任務。
[0042]任務執(zhí)行者系統(tǒng)130處理從任務分發(fā)者系統(tǒng)120接收到的任務數(shù)據(jù)。在任務執(zhí)行者系統(tǒng)中可以至少包含一個任務執(zhí)行者,圖1中僅示意性地示出了第一任務執(zhí)行者131、第二任務執(zhí)行者132和第n任務執(zhí)行者139。為了保證系統(tǒng)效率,相同任務的任務執(zhí)行者可以有多個。如果提交的任務較多,則任務分發(fā)者系統(tǒng)120默認將任務平均隨機分配給任務執(zhí)行者系統(tǒng)130中的多個任務執(zhí)行者來執(zhí)行。
[0043]在各子系統(tǒng)之間,使用自定義的序列化實現(xiàn)數(shù)據(jù)在傳輸上的編碼的與解碼。每個任務有自己所需的參數(shù),這些參數(shù)在任務提交者端序列化為字節(jié),發(fā)送到任務分發(fā)者端,再分發(fā)到任務執(zhí)行者端,任務執(zhí)行者解析,并使用。
[0044]下面舉2個自定義的序列化的例子,任務執(zhí)行者系統(tǒng)130中的某個任務執(zhí)行者若準備好執(zhí)行任務時,則向任務分發(fā)者系統(tǒng)120發(fā)送一個協(xié)議包,表示隨時可以接受任務,該協(xié)議包如下:
[0045]Magic: REQ
[0046]Type: CAN—DO
[0047]任務執(zhí)行者系統(tǒng)130中的某個任務執(zhí)行者若不能接受新任務時,則向任務分發(fā)者系統(tǒng)120發(fā)送一個協(xié)議包,該協(xié)議包如下:
[0048]Magic: REQ
[0049]Type: CANT—DO[0050]圖2示意性地示出了本發(fā)明的分布式定時任務調(diào)度系統(tǒng)的方法流程圖。如圖2所示,首先,任務分發(fā)者系統(tǒng)120啟動,接收來自任務執(zhí)行者系統(tǒng)130的注冊,從而任務分發(fā)者系統(tǒng)120得到任務執(zhí)行者系統(tǒng)130中每個任務執(zhí)行者能夠處理的任務以及其編號(205)。若接收到任務提交者系統(tǒng)110提交的任務(210),任務分發(fā)者系統(tǒng)120將會根據(jù)任務的類型找到能夠處理該任務的相應的任務執(zhí)行者(215)。然后將該任務分發(fā)給任務執(zhí)行者系統(tǒng)110中能夠處理該任務的任務執(zhí)行者(220)。在接收到任務之后,被分配任務的任務執(zhí)行者處理該任務(225)。
[0051]優(yōu)選地,在步驟225之后存在以下步驟,任務執(zhí)行者將包含表示執(zhí)行成功與否的結(jié)果返回給任務分發(fā)者(226),任務分發(fā)者判斷該執(zhí)行是否成功(227),若成功則將包含表示執(zhí)行成功與否的結(jié)果經(jīng)由任務分發(fā)者系統(tǒng)120及任務提交者系統(tǒng)110返回至數(shù)據(jù)庫
(228),若不成功則通知任務發(fā)布者進行消息報警,并通知任務提交者系統(tǒng)重新提交任務
(229)。
[0052]優(yōu)選地,當需要關(guān)閉任務分發(fā)者系統(tǒng)時(例如任務分發(fā)者重啟或升級時),通過使用自定義命令實現(xiàn)任務分發(fā)者系統(tǒng)關(guān)機前的剩余任務處理,從而防止現(xiàn)有任務的丟失。
[0053]圖3示意性地示出了本發(fā)明的分布式定時任務調(diào)度系統(tǒng)的關(guān)閉服務器的方法流程圖。如圖3所不:
[0054]當需要關(guān)閉任務分發(fā)者系統(tǒng)120時,通過任務提交者系統(tǒng)110向任務分發(fā)者系統(tǒng)120發(fā)送KILL_SERVER命令,該命令為使任務分發(fā)者系統(tǒng)120關(guān)機的命令(305),收到命令的任務分發(fā)者系統(tǒng)120首先停止接受新任務(310),并向任務執(zhí)行者系統(tǒng)130發(fā)送現(xiàn)有任務的集群命令。集群命令的目的是通知任務執(zhí)行者系統(tǒng)130收集現(xiàn)有任務并將其反饋給任務分發(fā)者系統(tǒng)120,當任務分發(fā)者系統(tǒng)120再次開機時就可以重新分發(fā)本次集群收集到的現(xiàn)有任務,從而避免因任務分發(fā)者系統(tǒng)120關(guān)機導致現(xiàn)有任務的丟失?,F(xiàn)有任務是指任務分發(fā)者系統(tǒng)120正在向任務執(zhí)行者系統(tǒng)130分發(fā)的任務,以及任務執(zhí)行者系統(tǒng)130正在處理的任務(315)。收到命令的任務執(zhí)行者系統(tǒng)130將現(xiàn)有任務轉(zhuǎn)入集群(320),并將集群返回任務分發(fā)者系統(tǒng)120(325),然后任務分發(fā)者系統(tǒng)120關(guān)機(330)。
[0055]當需要關(guān)閉任務分發(fā)者系統(tǒng)120時,例如,可以由管理員通過任務提交者系統(tǒng)110向任務分發(fā)者系統(tǒng)120發(fā)送KILL_SERVER命令。但是不限于,例如也可以通過在向任務提交者系統(tǒng)110設(shè)置定時指令來向任務分發(fā)者系統(tǒng)120發(fā)送KILL_SERVER命令。
[0056]優(yōu)選地,在步驟255之后存在將關(guān)閉任務分發(fā)者系統(tǒng)的執(zhí)行結(jié)果,例如是否成功關(guān)閉,發(fā)送至任務提交者。
[0057]利用本發(fā)明的分布式定時任務調(diào)度系統(tǒng)具有管理簡單、操作方便等特點,能夠解決程序數(shù)目較多,且管理混亂等問題。
[0058]結(jié)合這里披露的本發(fā)明的說明和實踐,本發(fā)明的其他實施例對于本領(lǐng)域技術(shù)人員都是易于想到和理解的。說明和實施例僅被認為是示例性的,本發(fā)明的真正范圍和主旨均由權(quán)利要求所限定。
【權(quán)利要求】
1.一種分布式定時任務調(diào)度方法,其特征在于,包括如下步驟: a)任務分發(fā)者系統(tǒng)啟動,監(jiān)聽任務提交者系統(tǒng)的提交任務和任務執(zhí)行者系統(tǒng)中的任務執(zhí)行者的注冊; b)所述任務執(zhí)行者系統(tǒng)啟動,自動向所述任務分發(fā)者系統(tǒng)注冊; c)所述任務提交者系統(tǒng)向所述任務分發(fā)者系統(tǒng)提交任務; d)所述任務分發(fā)者系統(tǒng)收到任務后,通知所述任務執(zhí)行者系統(tǒng)中的已注冊的與所述任務對應的任務執(zhí)行者來取走所述任務; e)所述與所述任務對應的任務執(zhí)行者取走所述任務并執(zhí)行所述任務。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括關(guān)閉所述任務分發(fā)者系統(tǒng)的步驟如下: h)所述任務提交者系統(tǒng)向任務分發(fā)者系統(tǒng)發(fā)送表示關(guān)閉任務分發(fā)者系統(tǒng)的命令; i)所述任務分發(fā)者系統(tǒng)停止接受任務; j)所述任務分發(fā)者系統(tǒng)向所述任務執(zhí)行者系統(tǒng)發(fā)送任務集群命令; k)所述任務執(zhí)行者系統(tǒng)將現(xiàn)有任務轉(zhuǎn)入集群; I)所述任務執(zhí)行者系統(tǒng)將包括現(xiàn)有任務的集群返回所述任務分發(fā)者; m)所述任務分發(fā)者系統(tǒng)關(guān)機。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在步驟b中,所述任務提交者系統(tǒng)向所述任務分發(fā)者系統(tǒng)注冊的信息包括:每個所述任務執(zhí)行者的功能信息、唯一標示、最大負載、及輸入輸出參數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在步驟c中,所述任務提交者系統(tǒng)定時提交任務。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在步驟e之后,向所述任務分發(fā)者系統(tǒng)返回包括表示任務執(zhí)行成功或任務異常的信息。
6.根據(jù)權(quán)利要求1和2所述的方法,其特征在于,從步驟a至步驟m都采用Gearman傳輸協(xié)議,請求和響應被封裝成二進制數(shù)據(jù)包,所述二進制數(shù)據(jù)包包含一個文件頭以及數(shù)據(jù)內(nèi)容。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述二進制數(shù)據(jù)包僅包含數(shù)據(jù)內(nèi)容。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述文件頭的格式如下:所述文件頭為12個Byte,由4byte的Magic Code、4byte的消息類型和4byte的數(shù)據(jù)大小信息組成。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述任務提交者系統(tǒng)包括2個任務提交者,所述任務分發(fā)者系統(tǒng)包括2個任務分發(fā)者。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述任務提交者系統(tǒng)具有用戶界面接□。
【文檔編號】G06F9/46GK103577256SQ201310593626
【公開日】2014年2月12日 申請日期:2013年11月21日 優(yōu)先權(quán)日:2013年11月21日
【發(fā)明者】廖祿平, 朱廷發(fā), 蔡敏, 何正軍 申請人:五八同城信息技術(shù)有限公司