專利名稱:一種在網(wǎng)絡(luò)系統(tǒng)中實(shí)現(xiàn)任務(wù)管理的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù),尤其涉及一種在網(wǎng)絡(luò)系統(tǒng)中實(shí)現(xiàn)任務(wù)管理的方法。
背景技術(shù):
隨著運(yùn)營(yíng)商越來(lái)越關(guān)注網(wǎng)絡(luò)的可運(yùn)營(yíng)、可維護(hù)、可維護(hù),網(wǎng)管系統(tǒng)都向著無(wú)人管理的方向發(fā)展。通常由用戶事先配置好一系列操作,然后由網(wǎng)管在某個(gè)時(shí)候自動(dòng)執(zhí)行或每隔一段時(shí)間自動(dòng)重復(fù)執(zhí)行,如定時(shí)進(jìn)行數(shù)據(jù)庫(kù)備份、周期性的設(shè)備數(shù)據(jù)采集與同步等。另外可以事先配置好一些操作,然后在某個(gè)或某些事件發(fā)生的情況下執(zhí)行,如當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時(shí),需要采取某種恢復(fù)措施等。
目前,在很多網(wǎng)管中任務(wù)都是按功能組織所有操作實(shí)現(xiàn)的,不區(qū)分是不是屬于定時(shí)或者周期性任務(wù)。比如系統(tǒng)管理模塊包括所有的系統(tǒng)管理功能特性實(shí)現(xiàn),也包括各種定時(shí)/周期性任務(wù)實(shí)現(xiàn)支持,如周期性數(shù)據(jù)庫(kù)備份等。采用這種方法存在以下缺點(diǎn)1、各種任務(wù)分散在各個(gè)功能模塊,不利于用戶進(jìn)行統(tǒng)一的監(jiān)控和維護(hù);2、由于各個(gè)模塊的實(shí)現(xiàn)方法不同,操作界面也可能不同,增加了用戶學(xué)習(xí)的負(fù)擔(dān);3、由于每個(gè)任務(wù)模塊都有一套實(shí)現(xiàn)方式,導(dǎo)致了大量的重復(fù)的開(kāi)發(fā)工作,增加了開(kāi)發(fā)的工作量和出現(xiàn)問(wèn)題的概率。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種在網(wǎng)絡(luò)系統(tǒng)中實(shí)現(xiàn)任務(wù)管理的方法,解決現(xiàn)有技術(shù)中存在監(jiān)控、維護(hù)不便和重復(fù)開(kāi)發(fā)的問(wèn)題。
實(shí)現(xiàn)本發(fā)明的技術(shù)方案一種在網(wǎng)絡(luò)系統(tǒng)中實(shí)現(xiàn)任務(wù)管理的方法,該方法為
由策略管理客戶端從策略管理服務(wù)端中獲取已注冊(cè)的任務(wù)類型,并通過(guò)操作接口提供給用戶;用戶選擇已注冊(cè)的任務(wù)類型,并創(chuàng)建該類型的任務(wù)和設(shè)置調(diào)度參數(shù);策略管理客戶端將包含調(diào)度參數(shù)的任務(wù)相關(guān)信息提交到策略管理服務(wù)端,并由策略管理服務(wù)端保存;當(dāng)調(diào)度所述任務(wù)時(shí),策略管理服務(wù)端將任務(wù)相關(guān)信息發(fā)送給應(yīng)用模塊;以及由所述應(yīng)用模塊解析并執(zhí)行任務(wù)。
根據(jù)上述方法創(chuàng)建任務(wù)時(shí),策略管理客戶端還從策略管理服務(wù)端獲取已注冊(cè)的觸發(fā)任務(wù)類型的所有事件并提供給用戶,用戶可選取一個(gè)或多個(gè)事件與任務(wù)綁定。
在創(chuàng)建需要設(shè)置任務(wù)參數(shù)的復(fù)雜任務(wù)時(shí),由策略管理客戶端啟動(dòng)應(yīng)用模塊注冊(cè)并集成相應(yīng)用戶操作接口完成任務(wù)參數(shù)設(shè)置,并將任務(wù)參數(shù)組合成字符串通過(guò)策略管理客戶端提交到策略管理服務(wù)端。
調(diào)度任務(wù)的類型包括基于時(shí)間的調(diào)度、基于事件的調(diào)度和立即執(zhí)行。
調(diào)度基于時(shí)間的任務(wù)和立即執(zhí)行任務(wù)包括步驟根據(jù)調(diào)度命令中的任務(wù)標(biāo)識(shí)從任務(wù)表中查找對(duì)應(yīng)的任務(wù);根據(jù)任務(wù)對(duì)應(yīng)的類型標(biāo)識(shí)查找對(duì)應(yīng)的任務(wù)類型;根據(jù)任務(wù)類型的相應(yīng)信息將執(zhí)行任務(wù)的消息發(fā)送給應(yīng)用模塊;記錄任務(wù)的執(zhí)行時(shí)間和將任務(wù)的狀態(tài)修改為運(yùn)行,并將任務(wù)的當(dāng)前狀態(tài)廣播給策略管理客戶端。
調(diào)度基于事件的任務(wù)包括步驟(1)根據(jù)事件消息中的事件標(biāo)識(shí)在任務(wù)表中查找對(duì)應(yīng)的任務(wù)列表;(2)從列表中取出第一個(gè)任務(wù);(3)根據(jù)任務(wù)對(duì)應(yīng)的類型標(biāo)識(shí)查找對(duì)應(yīng)的任務(wù)類型;(4)根據(jù)任務(wù)類型的相應(yīng)信息將執(zhí)行任務(wù)的消息發(fā)送給應(yīng)用模塊;(5)記錄任務(wù)的執(zhí)行時(shí)間和將任務(wù)的狀態(tài)修改為運(yùn)行,并將當(dāng)前狀態(tài)廣播給策略管理客戶端;(6)判斷是否取完所有的任務(wù),如果是,則結(jié)束該流程,否則,取出下一個(gè)任務(wù),并進(jìn)行步驟(3)。
在進(jìn)行步驟(2)之前先判斷任務(wù)列表是否為空,如果為空,則結(jié)束該處理流程;否則繼續(xù)后續(xù)步驟。
應(yīng)用模塊執(zhí)行任務(wù)時(shí)還向策略管理服務(wù)端發(fā)送進(jìn)度消息,策略管理服務(wù)端收到該進(jìn)度消息后廣播給策略管理客戶端。
應(yīng)用模塊執(zhí)行完任務(wù)后向策略管理服務(wù)端發(fā)送包含執(zhí)行是否成功及詳細(xì)信息的任務(wù)結(jié)束消息。
策略管理服務(wù)端接收到任務(wù)結(jié)束消息時(shí)進(jìn)行下述步驟a、根據(jù)消息中的任務(wù)標(biāo)識(shí),查找任務(wù)運(yùn)行記錄表中是否存在對(duì)應(yīng)的記錄;如果存在對(duì)應(yīng)的記錄,則進(jìn)行步驟c;否則進(jìn)行步驟b;b、在任務(wù)運(yùn)行記錄表中新建一個(gè)記錄,并將執(zhí)行任務(wù)的開(kāi)始時(shí)間賦為當(dāng)前的系統(tǒng)時(shí)間;c、將任務(wù)執(zhí)行結(jié)果和結(jié)束時(shí)間寫入記錄并保存到任務(wù)運(yùn)行記錄表中;d、根據(jù)系統(tǒng)時(shí)間和任務(wù)的有效期更新任務(wù)的狀態(tài),并將該狀態(tài)廣播給策略管理客戶端。
基于時(shí)間的任務(wù)可處于活動(dòng)狀態(tài)、掛起狀態(tài)、運(yùn)行狀態(tài)、過(guò)期狀態(tài)或未到期狀態(tài),任務(wù)的狀態(tài)的任務(wù)可自動(dòng)轉(zhuǎn)化,或通過(guò)手工方式轉(zhuǎn)化。
基于事件的任務(wù)可處于活動(dòng)狀態(tài)、掛起狀態(tài)和運(yùn)行狀態(tài),任務(wù)的狀態(tài)的任務(wù)可自動(dòng)轉(zhuǎn)化,或通過(guò)手工方式轉(zhuǎn)化。
本發(fā)明具有以下有益效果1、提供一個(gè)集中的任務(wù)管理工具和執(zhí)行引擎,能夠?qū)λ械母鞣N不同類型的任務(wù)進(jìn)行統(tǒng)一的管理和調(diào)度執(zhí)行,簡(jiǎn)化了用戶的操作;2、提供了一組通用的任務(wù)類型和事件注冊(cè)接口,使應(yīng)用程序員只要關(guān)心具體功能的實(shí)現(xiàn),減輕了應(yīng)用程序員的負(fù)擔(dān),提供了開(kāi)發(fā)效率;3、減少了網(wǎng)絡(luò)管理系統(tǒng)中的重復(fù)代碼和功能,簡(jiǎn)化了系統(tǒng);4、提供了多種任務(wù)觸發(fā)機(jī)制,方便用戶靈活的定制網(wǎng)絡(luò)管理策略。
圖1為策略管理系統(tǒng)示意圖;圖2為任務(wù)狀態(tài)轉(zhuǎn)化示意圖;
圖3為停止/運(yùn)行任務(wù)處理流程圖;圖4為策略管理服務(wù)端收到事件消息時(shí)的處理流程圖;圖5為收到策略管理服務(wù)端收到任務(wù)結(jié)束消息的處理流程圖。
具體實(shí)施例方式
參閱圖1所示,策略管理系統(tǒng)作為一個(gè)獨(dú)立的系統(tǒng)模塊存在和運(yùn)行,包括策略管理客戶端(client)和策略管理服務(wù)端(server)。各具體產(chǎn)品應(yīng)用將需要策略管理支持的系統(tǒng)操作項(xiàng)(任務(wù)類型)按照一定的方式實(shí)現(xiàn)后,通過(guò)配置文件定義并注冊(cè)到策略管理服務(wù)端。對(duì)于復(fù)雜的任務(wù)操作的實(shí)現(xiàn),還需要獨(dú)立的客戶端側(cè)的操作支持,則需要產(chǎn)品應(yīng)用實(shí)現(xiàn)相應(yīng)的客戶端操作,并在策略管理服務(wù)端注冊(cè)(通過(guò)配置文件),由策略管理客戶端集成。
在本發(fā)明中,簡(jiǎn)單任務(wù)是指任務(wù)在執(zhí)行時(shí),只需策略管理向應(yīng)用模塊發(fā)送通知執(zhí)行的消息就可執(zhí)行的任務(wù)。
復(fù)雜任務(wù)是指任務(wù)在執(zhí)行時(shí),需要策略管理向應(yīng)用模塊發(fā)送任務(wù)執(zhí)行的消息中附帶任務(wù)參數(shù),應(yīng)用模塊才知道怎么執(zhí)行的任務(wù)。因?yàn)楦鱾€(gè)任務(wù)的參數(shù)各不相同,所以策略管理系統(tǒng)提供了一個(gè)抽象的窗口類,由應(yīng)用模塊實(shí)現(xiàn)該窗口類以向用戶提供設(shè)置任務(wù)參數(shù)的界面,應(yīng)用模塊將該窗口類的名字寫到策略管理系統(tǒng)提供的配置文件schedule_tasktype.xml中,策略管理系統(tǒng)的前臺(tái)通過(guò)反射機(jī)制調(diào)用該窗口類,用戶在配置好任務(wù)參數(shù)后,該窗口類將參數(shù)轉(zhuǎn)換成字符串返回給策略管理客戶端,客戶端提交給服務(wù)端保存,服務(wù)端在調(diào)度任務(wù)的時(shí)候?qū)⑵浒l(fā)給應(yīng)用模塊。對(duì)于參數(shù)到字符串的組合方式,以及字符串到參數(shù)的解析方式由應(yīng)用模塊的窗口類以及應(yīng)用模塊的服務(wù)端自己定義。
本發(fā)明的方法為由策略管理客戶端從策略管理服務(wù)端中獲取已注冊(cè)的任務(wù)類型,并通過(guò)操作接口提供給用戶;用戶選擇已注冊(cè)的任務(wù)類型,并創(chuàng)建該類型的任務(wù)和設(shè)置調(diào)度參數(shù);策略管理客戶端將包含調(diào)度參數(shù)的任務(wù)相關(guān)信息提交到策略管理服務(wù)端,并由策略管理服務(wù)端保存;當(dāng)調(diào)度所述任務(wù)時(shí),策略管理服務(wù)端將任務(wù)相關(guān)信息發(fā)送給應(yīng)用模塊;由所述應(yīng)用模塊解析并執(zhí)行任務(wù)。
以下對(duì)上述方法的實(shí)現(xiàn)進(jìn)行詳細(xì)說(shuō)明策略管理系統(tǒng)的用戶側(cè)提供一套標(biāo)準(zhǔn)的操作接口,實(shí)現(xiàn)(1)任務(wù)類型的瀏覽(2)已創(chuàng)建任務(wù)的查詢(3)創(chuàng)建新任務(wù)(4)刪除指定任務(wù)(5)掛起指定任務(wù)(6)激活指定任務(wù)(7)修改指定任務(wù)(重新設(shè)置調(diào)度參數(shù)和任務(wù)參數(shù))(8)立即執(zhí)行指定任務(wù)(9)查看正在執(zhí)行的任務(wù)的進(jìn)度(10)強(qiáng)制停止正在執(zhí)行的任務(wù)(11)查看任務(wù)的運(yùn)行記錄簡(jiǎn)單的任務(wù)操作只需要在用戶側(cè)選擇任務(wù)類型和設(shè)置調(diào)度參數(shù)。對(duì)于復(fù)雜的任務(wù)操作還有操作對(duì)象、操作數(shù)據(jù)等的管理需求(即需要設(shè)置任務(wù)參數(shù)),這時(shí)策略管理客戶端啟動(dòng)應(yīng)用模塊注冊(cè)并集成相應(yīng)用戶操作接口完成任務(wù)參數(shù)設(shè)置,之后將任務(wù)參數(shù)按照一定的規(guī)則(具體規(guī)則由應(yīng)用模塊自己定義)組合成字符串提交給策略管理客戶端,策略管理客戶端通過(guò)相應(yīng)接口將其提交到策略管理服務(wù)端保存,在任務(wù)被調(diào)度執(zhí)行時(shí),發(fā)送給應(yīng)用模塊,應(yīng)用模塊再根據(jù)自己定義的規(guī)則進(jìn)行解析。
策略管理系統(tǒng)服務(wù)端實(shí)現(xiàn)各種后臺(tái)管理與調(diào)度執(zhí)行功能,包括(1)處理應(yīng)用模塊具體任務(wù)操作的定義與注冊(cè)。
(2)處理策略管理系統(tǒng)用戶側(cè)提供的一系列標(biāo)準(zhǔn)操作的對(duì)應(yīng)后臺(tái)處理,比如數(shù)據(jù)管理方面的工作。
(3)在各任務(wù)項(xiàng)定義的調(diào)度時(shí)間內(nèi),調(diào)度相應(yīng)的任務(wù)操作執(zhí)行。
(4)接收各其它應(yīng)用模塊發(fā)送的事件,調(diào)度相應(yīng)的任務(wù)操作執(zhí)行。
(5)接收應(yīng)用模塊發(fā)送的任務(wù)執(zhí)行進(jìn)度和任務(wù)執(zhí)行結(jié)果。
(6)將任務(wù)的最新?tīng)顟B(tài)以及執(zhí)行進(jìn)度廣播給策略管理客戶端。
任務(wù)屬性項(xiàng)包括任務(wù)編號(hào)、任務(wù)名稱、任務(wù)類型標(biāo)識(shí)、所屬模塊、調(diào)度類型(事件觸發(fā)調(diào)度、每天調(diào)度、每月調(diào)度、每周調(diào)度、一次性調(diào)度、周期調(diào)度)、最后修改時(shí)間、創(chuàng)建用戶、目前狀態(tài)(活動(dòng)、掛起、過(guò)期、未到期、運(yùn)行)、開(kāi)始時(shí)間、有效期開(kāi)始時(shí)間、有效期結(jié)束時(shí)間、綁定的事件列表、備注、任務(wù)參數(shù)等。其中,任務(wù)參數(shù)主要針對(duì)需要操作對(duì)象、操作數(shù)據(jù)支持的復(fù)雜任務(wù),提供一個(gè)附加數(shù)據(jù)存儲(chǔ)支持(以字符串形式存儲(chǔ)),在調(diào)度任務(wù)的時(shí)候,發(fā)給具體應(yīng)用模塊解析。
調(diào)度方式可分成三大類(1)基于時(shí)間的調(diào)度A、定時(shí),即在某段時(shí)間內(nèi)每到某個(gè)時(shí)刻就執(zhí)行一次,如每月+XX日XX時(shí)XX分XX秒每周+XX日XX時(shí)XX分XX秒每日+XX時(shí)XX分XX秒B、周期,即在某段時(shí)間內(nèi)每隔固定時(shí)間就執(zhí)行一次;C、一次性,如在XXXX年XX月XX日XX時(shí)XX分XX秒執(zhí)行。
(2)基于事件的調(diào)度通過(guò)指定事件類型觸發(fā)執(zhí)行任務(wù)。
(3)立即執(zhí)行是一種人工調(diào)度的方式,用戶從策略管理客戶端選中一個(gè)任務(wù),讓其馬上執(zhí)行。執(zhí)行之后不會(huì)影響任務(wù)原來(lái)的調(diào)度策略,如原來(lái)定于每月XX日XX時(shí)XX分XX秒執(zhí)行的任務(wù),到時(shí)仍然會(huì)執(zhí)行。
參閱圖2所示的任務(wù)狀態(tài)轉(zhuǎn)化,任務(wù)狀態(tài)只有兩種狀態(tài)之間存在直接連線的才能直接轉(zhuǎn)化,如果是雙箭頭表示能相互轉(zhuǎn)換,如果是A->B形式的,則表示只有A能轉(zhuǎn)化成B。
A、活動(dòng)狀態(tài)當(dāng)任務(wù)處于活動(dòng)狀態(tài)時(shí),對(duì)應(yīng)于事件任務(wù)如果所綁定的事件發(fā)生,或?qū)?yīng)于時(shí)間任務(wù)所設(shè)定的調(diào)度時(shí)間到時(shí),該任務(wù)會(huì)被調(diào)度執(zhí)行。
B、掛起狀態(tài)當(dāng)任務(wù)處于掛起態(tài)時(shí),表示任務(wù)退出輪詢隊(duì)列。對(duì)應(yīng)于事件任務(wù)當(dāng)所綁定的事件發(fā)生,或?qū)?yīng)于時(shí)間任務(wù)所設(shè)定的調(diào)度時(shí)間到時(shí),該任務(wù)也不會(huì)被調(diào)度執(zhí)行。
C、過(guò)期狀態(tài)過(guò)期狀態(tài)僅對(duì)時(shí)間任務(wù)有意義,對(duì)于時(shí)間任務(wù)有一個(gè)有效期,當(dāng)系統(tǒng)日期晚于任務(wù)的有效期結(jié)束日期時(shí),任務(wù)處于過(guò)期態(tài),處于過(guò)期態(tài)的不會(huì)被系統(tǒng)自動(dòng)調(diào)度執(zhí)行,即所設(shè)定的調(diào)度時(shí)間到了,任務(wù)也不會(huì)被調(diào)度。
D、運(yùn)行狀態(tài)任務(wù)處于運(yùn)行態(tài),表示任務(wù)正在執(zhí)行。
E、未到期狀態(tài)僅對(duì)時(shí)間任務(wù)有效,當(dāng)系統(tǒng)日期早于有效期的開(kāi)始日期時(shí),任務(wù)處于未到期狀態(tài)。
只有處于活動(dòng)狀態(tài)的任務(wù)才能被掛起;處于過(guò)期狀態(tài)、未到期狀態(tài)、掛起狀態(tài)的任務(wù)能夠在通過(guò)手工調(diào)度的方式使之運(yùn)行。
在本發(fā)明中,如果需要支持某種任務(wù)類型,需要在策略管理系統(tǒng)中注冊(cè)該任務(wù)類型,并且如果需要該任務(wù)類型支持事件觸發(fā)的調(diào)度方式,還需要注冊(cè)能夠觸發(fā)該任務(wù)的所有事件,用戶在創(chuàng)建該類型的事件任務(wù)時(shí),只能在這些注冊(cè)了的事件中選1個(gè)或多個(gè)事件綁定到該任務(wù);如果一個(gè)任務(wù)類型沒(méi)有注冊(cè)任何與之相對(duì)應(yīng)的事件,則用戶只能創(chuàng)建該種類型的基于時(shí)間的任務(wù)。
通過(guò)提供兩個(gè)XML文件(TaskType.xml和TaskTypeAndEventMap.xml)給應(yīng)用程序員注冊(cè)任務(wù)類型和任務(wù)類型與事件的映射關(guān)系。
文件TaskType.xml用于注冊(cè)任務(wù)類型;文件TaskTypeAndEventMap.xml用于注冊(cè)任務(wù)類型與事件的映射關(guān)系。
任務(wù)類型包括如下屬性項(xiàng)
任務(wù)類型與事件映射關(guān)系包含如下屬性項(xiàng)
其中一個(gè)事件可以觸發(fā)多個(gè)任務(wù),一個(gè)任務(wù)可以由多個(gè)事件觸發(fā)。
在策略管理服務(wù)端包含有任務(wù)表(TaskTable),存儲(chǔ)在數(shù)據(jù)庫(kù)中,用于保存創(chuàng)建的任務(wù),任務(wù)的各屬性項(xiàng)作為表的字段。
任務(wù)類型表(TaskTypeList),由系統(tǒng)在啟動(dòng)時(shí)讀取配置文件生成,用于保存創(chuàng)建的任務(wù)的任務(wù)類型,由任務(wù)類型的各屬性項(xiàng)作為表的字段。
任務(wù)運(yùn)行記錄列表(RecordList),存儲(chǔ)在內(nèi)存中,用于記錄當(dāng)前正在運(yùn)行的任務(wù)的開(kāi)始時(shí)間。
任務(wù)運(yùn)行記錄表(RecordTable),存儲(chǔ)在數(shù)據(jù)庫(kù)中,用于來(lái)保存任務(wù)的運(yùn)行記錄。
任務(wù)調(diào)度流程對(duì)應(yīng)于三大類的調(diào)度類型,即時(shí)間調(diào)度、事件調(diào)度和立即調(diào)度,任務(wù)的觸發(fā)有以下三種A于時(shí)間任務(wù),當(dāng)所設(shè)的調(diào)度時(shí)間到時(shí),對(duì)應(yīng)的定時(shí)器會(huì)觸發(fā),然后發(fā)送執(zhí)行的消息給圖3所示的運(yùn)行/停止任務(wù)處理模塊。
如圖3所示,處理流程如下步驟10任務(wù)在觸發(fā)以后,根據(jù)調(diào)度命令中的任務(wù)標(biāo)識(shí)從任務(wù)表中查找對(duì)應(yīng)的任務(wù)。
步驟20判斷是否找到任務(wù),如果是則進(jìn)行步驟30,否則結(jié)束該流程。
步驟30根據(jù)任務(wù)對(duì)應(yīng)的類型標(biāo)識(shí)在任務(wù)類型列表中查找對(duì)應(yīng)的任務(wù)類型。
步驟40判斷是否找到,如果是則進(jìn)行步驟50,否則結(jié)束該流程。
步驟50根據(jù)任務(wù)類型列表中的相應(yīng)信息將執(zhí)行任務(wù)的消息發(fā)送給應(yīng)用模塊,讓其執(zhí)行/停止任務(wù)。
步驟60將任務(wù)標(biāo)識(shí)和執(zhí)行時(shí)間存入RecordList中。
步驟70修改任務(wù)的狀態(tài),并將任務(wù)的當(dāng)前狀態(tài)廣播給策略管理客戶端。
B、對(duì)于事件任務(wù),當(dāng)系統(tǒng)接收到事件時(shí),會(huì)調(diào)用如圖4示的事件消息處理模塊查找對(duì)應(yīng)的任務(wù)列表,然后對(duì)任務(wù)列表中的每一個(gè)任務(wù),發(fā)運(yùn)行消息給圖3所示運(yùn)行/停止任務(wù)處理模塊。
參閱圖4,處理流程如下步驟100根據(jù)事件消息中的事件標(biāo)識(shí)在TaskTable中查找能被該事件觸發(fā)的所有任務(wù)。通過(guò)查找TaskTable中任務(wù)的綁定的事件列表中是否包含事件標(biāo)識(shí)即可查找到滿足條件的所有任務(wù)。
步驟110判斷是否找到任務(wù),如果是則進(jìn)行步驟120,否則結(jié)束該流程。
步驟120從列表中取出第一個(gè)任務(wù)。
步驟130調(diào)用停止/執(zhí)行處理流程進(jìn)行處理。
步驟140判斷是否取完任務(wù),如果是則結(jié)束該流程,否則取下一個(gè)任務(wù)并進(jìn)行步驟130。
當(dāng)應(yīng)用模塊在執(zhí)行完任務(wù)后,會(huì)發(fā)送一個(gè)任務(wù)結(jié)束的消息(中有執(zhí)行成功/失敗以及詳細(xì)的信息)給策略管理后臺(tái),策略管理后臺(tái)在接收到任務(wù)結(jié)束消息后進(jìn)行相應(yīng)的處理。參閱圖5,其處理流程如下步驟200根據(jù)任務(wù)結(jié)束消息中的任務(wù)標(biāo)識(shí)(ID)從RecordList中查找對(duì)應(yīng)的記錄。
步驟210判斷是否找到記錄,如果沒(méi)有找到,則進(jìn)行步驟220,否則進(jìn)行步驟230。
步驟220新建一個(gè)記錄,將其開(kāi)始時(shí)間賦為當(dāng)前系統(tǒng)時(shí)間。
步驟230將消息中的信息(如錯(cuò)誤碼,詳細(xì)信息)賦給記錄,將當(dāng)前系統(tǒng)時(shí)間賦為結(jié)束時(shí)間,然后將記錄保存到數(shù)據(jù)庫(kù)的RecordTable中,然后將該Record從RecordList中刪除。
步驟240根據(jù)系統(tǒng)時(shí)間和任務(wù)的有效期更新任務(wù)的狀態(tài)。
步驟250將任務(wù)的新的狀態(tài)廣播給策略管理客戶端。
在本發(fā)明中,對(duì)于執(zhí)行時(shí)間較長(zhǎng)的任務(wù),在任務(wù)執(zhí)行時(shí)通過(guò)策略管理系統(tǒng)提供的接口發(fā)送進(jìn)度消息,當(dāng)策略管理后臺(tái)收到進(jìn)度消息后,廣播給策略管理客戶端,讓該客戶端更新任務(wù)的進(jìn)度顯示,使用戶可以方便的知道任務(wù)的當(dāng)前進(jìn)度。
從上可看出,本發(fā)明有以下特點(diǎn)1、基于客戶端/服務(wù)端(C/S)架構(gòu),Client端可用Java實(shí)現(xiàn),Server端可用C++實(shí)現(xiàn);2、每一個(gè)產(chǎn)品有一個(gè)網(wǎng)元管理進(jìn)程與之對(duì)應(yīng);3、有一個(gè)集中負(fù)責(zé)消息分發(fā)的進(jìn)程MDP,MDP做為進(jìn)程間通訊的樞紐,能夠?qū)?lái)自一個(gè)進(jìn)程的消息分發(fā)到另一個(gè)或者多個(gè)進(jìn)程。它使得多個(gè)客戶端及服務(wù)器端進(jìn)程的網(wǎng)狀連接變成星型連接,從而減少了系統(tǒng)連接管理的復(fù)雜度,使得每個(gè)客戶端/服務(wù)器端進(jìn)程只需要與MDP建立連接就可以相互通信;
4、提供了一個(gè)后臺(tái)進(jìn)程的開(kāi)發(fā)框架,該框架提供與MDP的連接建立及保持,消息的接收及發(fā)送。以及接收消息后的處理框架。該框架使得應(yīng)用程序員只需要關(guān)心應(yīng)用需要處理的消息,而無(wú)需關(guān)注消息的接收和發(fā)送。另外,該框架還為應(yīng)用程序開(kāi)發(fā)提供了定時(shí)器等豐富的輔助功能。
權(quán)利要求
1.一種在網(wǎng)絡(luò)系統(tǒng)中實(shí)現(xiàn)任務(wù)管理的方法,其特征在于該方法為由策略管理客戶端從策略管理服務(wù)端中獲取已注冊(cè)的任務(wù)類型,并通過(guò)操作接口提供給用戶;用戶選擇已注冊(cè)的任務(wù)類型,并創(chuàng)建該類型的任務(wù)和設(shè)置調(diào)度參數(shù);策略管理客戶端將包含調(diào)度參數(shù)的任務(wù)相關(guān)信息提交到策略管理服務(wù)端,并由策略管理服務(wù)端保存;當(dāng)調(diào)度所述任務(wù)時(shí),策略管理服務(wù)端將任務(wù)相關(guān)信息發(fā)送給應(yīng)用模塊;以及由所述應(yīng)用模塊解析并執(zhí)行任務(wù)。
2.如權(quán)利要求1所述的方法,其特征在于,創(chuàng)建任務(wù)時(shí),策略管理客戶端還從策略管理服務(wù)端獲取已注冊(cè)的觸發(fā)任務(wù)類型的所有事件并提供給用戶,用戶可選取一個(gè)或多個(gè)事件與任務(wù)綁定。
3.如權(quán)利要求1所述的方法,其特征在于,在創(chuàng)建需要設(shè)置任務(wù)參數(shù)的復(fù)雜任務(wù)時(shí),由策略管理客戶端啟動(dòng)應(yīng)用模塊注冊(cè)并集成相應(yīng)用戶操作接口完成任務(wù)參數(shù)設(shè)置,并將任務(wù)參數(shù)組合成字符串通過(guò)策略管理客戶端提交到策略管理服務(wù)端。
4.如權(quán)利要求1所述的方法,其特征在于,調(diào)度任務(wù)的類型至少包括基于時(shí)間的調(diào)度、基于事件的調(diào)度和立即執(zhí)行之一。
5.如權(quán)利要求4所述的方法,其特征在于,調(diào)度基于時(shí)間的任務(wù)包括步驟A、根據(jù)調(diào)度命令中的任務(wù)標(biāo)識(shí)從任務(wù)表中查找對(duì)應(yīng)的任務(wù);B、根據(jù)任務(wù)對(duì)應(yīng)的類型標(biāo)識(shí)查找對(duì)應(yīng)的任務(wù)類型;C、根據(jù)任務(wù)類型的相應(yīng)信息將執(zhí)行任務(wù)的消息發(fā)送給應(yīng)用模塊;D、記錄任務(wù)的執(zhí)行時(shí)間和修改任務(wù)的狀態(tài),并將任務(wù)的當(dāng)前狀態(tài)廣播給策略管理客戶端。
6.如權(quán)利要求5所述的方法,其特征在于,調(diào)度基于事件的任務(wù)包括步驟(1)根據(jù)事件消息中的事件標(biāo)識(shí)在任務(wù)表中查找對(duì)應(yīng)的任務(wù)列表;(2)從列表中取出第一個(gè)任務(wù);(3)根據(jù)任務(wù)對(duì)應(yīng)的類型標(biāo)識(shí)查找對(duì)應(yīng)的任務(wù)類型;(4)根據(jù)任務(wù)類型的相應(yīng)信息將執(zhí)行任務(wù)的消息發(fā)送給應(yīng)用模塊;(5)記錄任務(wù)的執(zhí)行時(shí)間和修改任務(wù)的狀態(tài),并將任務(wù)的當(dāng)前狀態(tài)廣播給策略管理客戶端;(6)判斷是否取完所有的任務(wù),如果是,則結(jié)束該流程,否則,取出下一個(gè)任務(wù),并進(jìn)行步驟(3)。
7.如權(quán)利要求6所述的方法,其特征在于,在進(jìn)行步驟(2)之前先判斷任務(wù)列表是否為空,如果為空,則結(jié)束該處理流程;否則繼續(xù)后續(xù)步驟。
8.如權(quán)利要求1所述的方法,其特征在于,應(yīng)用模塊執(zhí)行任務(wù)時(shí)還向策略管理服務(wù)端發(fā)送進(jìn)度消息,策略管理服務(wù)端收到該進(jìn)度消息后廣播給策略管理客戶端。
9.如權(quán)利要求1至8任一所述的方法,其特征在于,應(yīng)用模塊執(zhí)行完任務(wù)后向策略管理服務(wù)端發(fā)送包含執(zhí)行是否成功及詳細(xì)信息的任務(wù)結(jié)束消息。
10.如權(quán)利要求9所述的方法,其特征在于,策略管理服務(wù)端接收到任務(wù)結(jié)束消息時(shí)進(jìn)行下述步驟a、根據(jù)消息中的任務(wù)標(biāo)識(shí),查找任務(wù)運(yùn)行記錄表中是否存在對(duì)應(yīng)的記錄;如果存在對(duì)應(yīng)的記錄,則進(jìn)行步驟c;否則進(jìn)行步驟b;b、在任務(wù)運(yùn)行記錄表中新建一個(gè)記錄,并將執(zhí)行任務(wù)的開(kāi)始時(shí)間賦為當(dāng)前的系統(tǒng)時(shí)間;c、將任務(wù)執(zhí)行結(jié)果和結(jié)束時(shí)間寫入記錄并保存到任務(wù)運(yùn)行記錄表中;d、根據(jù)系統(tǒng)時(shí)間和任務(wù)的有效期更新任務(wù)的狀態(tài),并將該狀態(tài)廣播給策略管理客戶端。
11.如權(quán)利要求1所述的方法,其特征在于,基于時(shí)間的任務(wù)可處于活動(dòng)狀態(tài)、掛起狀態(tài)、運(yùn)行狀態(tài)、過(guò)期狀態(tài)或未到期狀態(tài),任務(wù)的狀態(tài)的任務(wù)可自動(dòng)轉(zhuǎn)化,或通過(guò)手工方式轉(zhuǎn)化。
12.如權(quán)利要求1所述的方法,其特征在于,基于事件的任務(wù)可處于活動(dòng)狀態(tài)、掛起狀態(tài)和運(yùn)行狀態(tài),任務(wù)的狀態(tài)的任務(wù)可自動(dòng)轉(zhuǎn)化,或通過(guò)手工方式轉(zhuǎn)化。
全文摘要
本發(fā)明公開(kāi)了一種在網(wǎng)絡(luò)系統(tǒng)中實(shí)現(xiàn)任務(wù)管理的方法,該方法為由策略管理客戶端從策略管理服務(wù)端中獲取已注冊(cè)的任務(wù)類型,并通過(guò)操作接口提供給用戶;用戶選擇已注冊(cè)的任務(wù)類型,并創(chuàng)建該類型的任務(wù)和設(shè)置調(diào)度參數(shù);策略管理客戶端將包含調(diào)度參數(shù)的任務(wù)相關(guān)信息提交到策略管理服務(wù)端,并由策略管理服務(wù)端保存;當(dāng)調(diào)度所述任務(wù)時(shí),策略管理服務(wù)端將任務(wù)相關(guān)信息發(fā)送給應(yīng)用模塊;以及由所述應(yīng)用模塊解析并執(zhí)行任務(wù)。
文檔編號(hào)H04L12/24GK1642105SQ20041000215
公開(kāi)日2005年7月20日 申請(qǐng)日期2004年1月5日 優(yōu)先權(quán)日2004年1月5日
發(fā)明者張美華 申請(qǐng)人:華為技術(shù)有限公司