亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種任務(wù)調(diào)度系統(tǒng)的制作方法

文檔序號(hào):6548363閱讀:154來(lái)源:國(guó)知局
一種任務(wù)調(diào)度系統(tǒng)的制作方法
【專利摘要】本申請(qǐng)?zhí)峁┝艘环N任務(wù)調(diào)度系統(tǒng),包括:數(shù)據(jù)庫(kù)和運(yùn)行在計(jì)算機(jī)集群的各節(jié)點(diǎn)之上的嵌入式框架;其中,所述數(shù)據(jù)庫(kù)中存儲(chǔ)有任務(wù)文件、任務(wù)配置參數(shù)和任務(wù)狀態(tài),其中,該任務(wù)配置參數(shù)包括最大處理節(jié)點(diǎn)數(shù)目,在該任務(wù)的實(shí)際處理節(jié)點(diǎn)數(shù)目未超過(guò)所述最大處理節(jié)點(diǎn)數(shù)目時(shí)允許獲取該任務(wù)的任務(wù)文件;所述嵌入式框架包括:任務(wù)流程模塊、任務(wù)處理模塊和任務(wù)過(guò)程接口;其中,所述任務(wù)過(guò)程接口中封裝有預(yù)置任務(wù)過(guò)程的處理功能;所述任務(wù)流程模塊提供流程接口。本申請(qǐng)能夠節(jié)省計(jì)算機(jī)集群中的管理成本和節(jié)點(diǎn)資源,且能夠提高調(diào)度的便捷性和效率。
【專利說(shuō)明】一種任務(wù)調(diào)度系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別是涉及一種任務(wù)調(diào)度系統(tǒng)。

【背景技術(shù)】
[0002]計(jì)算機(jī)集群是一種計(jì)算機(jī)系統(tǒng),其通過(guò)多臺(tái)計(jì)算機(jī)(又稱為節(jié)點(diǎn))連接起來(lái)協(xié)作完成計(jì)算作業(yè)。這些節(jié)點(diǎn)位于同一管理域中,其具有統(tǒng)一的管理策略并且作為一個(gè)整體向用戶提供服務(wù)。將計(jì)算機(jī)集群上的作業(yè)任務(wù)分配到多個(gè)節(jié)點(diǎn)上的過(guò)程可以稱為任務(wù)的調(diào)度。
[0003]現(xiàn)有技術(shù)一種任務(wù)調(diào)度系統(tǒng),其在計(jì)算機(jī)集群中設(shè)定一個(gè)節(jié)點(diǎn),其他節(jié)點(diǎn)為從節(jié)點(diǎn),其中,主節(jié)點(diǎn)負(fù)責(zé)對(duì)從節(jié)點(diǎn)進(jìn)行管理,所述管理具體可以包括:主節(jié)點(diǎn)周期性向從節(jié)點(diǎn)發(fā)送心跳信息,并根據(jù)從節(jié)點(diǎn)回復(fù)的心跳信息確定從節(jié)點(diǎn)的狀態(tài)信息;主節(jié)點(diǎn)依據(jù)各從節(jié)點(diǎn)的狀態(tài)信息將作業(yè)任務(wù)分配給從節(jié)點(diǎn)等等。
[0004]在實(shí)際中,在用戶應(yīng)用存在任務(wù)處理請(qǐng)求時(shí),可以向上述任務(wù)調(diào)度系統(tǒng)發(fā)送存儲(chǔ)文件,則主節(jié)點(diǎn)可以依據(jù)配置文件中記錄的各從節(jié)點(diǎn)的狀態(tài)信息,選擇最優(yōu)的從節(jié)點(diǎn)來(lái)處理該項(xiàng)任務(wù)處理請(qǐng)求;主節(jié)點(diǎn)將選擇的從節(jié)點(diǎn)的IP地址和端口返回給用戶應(yīng)用,同時(shí)通知該從節(jié)點(diǎn)有文件上載并將文件名、文件大小等信息發(fā)送給該從節(jié)點(diǎn)。
[0005]然而,某些集群應(yīng)用中會(huì)有輕型任務(wù)的調(diào)度需求,雖然其涉及任務(wù)量少、負(fù)載小,但調(diào)度觸發(fā)的多樣性、調(diào)度運(yùn)行的復(fù)雜性及調(diào)度運(yùn)維的可靠性卻一樣也不能省,在使用上述任務(wù)調(diào)度系統(tǒng)調(diào)度輕型任務(wù)時(shí),存在如下問(wèn)題:
[0006]第一,主節(jié)點(diǎn)需要對(duì)計(jì)算機(jī)集群中的眾多從節(jié)點(diǎn)進(jìn)行管理,這無(wú)疑耗費(fèi)了大量的管理成本;
[0007]第二,上述眾多從節(jié)點(diǎn)對(duì)于輕型任務(wù)而言顯得過(guò)于龐大,浪費(fèi)了過(guò)多的節(jié)點(diǎn)資源;
[0008]第三,需要依賴于用戶應(yīng)用與上述任務(wù)調(diào)度系統(tǒng)之間的通信交互,這樣,在需要周期(例如每天)執(zhí)行某任務(wù)時(shí),用戶應(yīng)用需要每天向任務(wù)調(diào)度系統(tǒng)發(fā)送相應(yīng)的任務(wù)處理請(qǐng)求,因此上述任務(wù)調(diào)度系統(tǒng)具有操作繁瑣和效率低的缺點(diǎn)。


【發(fā)明內(nèi)容】

[0009]本申請(qǐng)所要解決的技術(shù)問(wèn)題是提供一種任務(wù)調(diào)度系統(tǒng),能夠節(jié)省計(jì)算機(jī)集群中的管理成本和節(jié)點(diǎn)資源,且能夠提高調(diào)度的便捷性和效率。
[0010]為了解決上述問(wèn)題,本申請(qǐng)公開(kāi)了一種任務(wù)調(diào)度系統(tǒng),包括:數(shù)據(jù)庫(kù)和運(yùn)行在計(jì)算機(jī)集群的各節(jié)點(diǎn)之上的嵌入式框架;
[0011]其中,所述數(shù)據(jù)庫(kù)中存儲(chǔ)有任務(wù)文件、任務(wù)配置參數(shù)和任務(wù)狀態(tài),其中,該任務(wù)配置參數(shù)包括最大處理節(jié)點(diǎn)數(shù)目,在該任務(wù)的實(shí)際處理節(jié)點(diǎn)數(shù)目未超過(guò)所述最大處理節(jié)點(diǎn)數(shù)目時(shí)允許獲取該任務(wù)的任務(wù)文件;
[0012]所述嵌入式框架包括:任務(wù)流程模塊、任務(wù)處理模塊和任務(wù)過(guò)程接口 ;其中,所述任務(wù)過(guò)程接口中封裝有預(yù)置任務(wù)過(guò)程的處理功能;所述任務(wù)流程模塊提供流程接口 ;
[0013]所述任務(wù)處理模塊,用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)預(yù)置任務(wù)狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程接口執(zhí)行相應(yīng)的任務(wù)處理;
[0014]所述任務(wù)流程模塊,用于在所述流程接口被所述任務(wù)處理模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用對(duì)應(yīng)的任務(wù)過(guò)程接口以執(zhí)行相應(yīng)任務(wù)過(guò)程的處理,并在相應(yīng)任務(wù)過(guò)程的處理成功后進(jìn)行任務(wù)狀態(tài)的轉(zhuǎn)換。
[0015]優(yōu)選的,所述嵌入式框架還包括節(jié)點(diǎn)管理模塊;
[0016]所述節(jié)點(diǎn)管理模塊,用于向所述數(shù)據(jù)庫(kù)登記所處節(jié)點(diǎn)的存活聲明,以及,從所述數(shù)據(jù)庫(kù)獲取失效節(jié)點(diǎn),并接手所述失效節(jié)點(diǎn)的任務(wù)。
[0017]優(yōu)選的,所述預(yù)置任務(wù)狀態(tài)包括待處理狀態(tài),所述流程接口包括流程執(zhí)行接口,所述任務(wù)過(guò)程接口包括過(guò)程業(yè)務(wù)處理接口,所述過(guò)程業(yè)務(wù)處理接口中封裝有業(yè)務(wù)邏輯過(guò)程的處理功能;
[0018]則所述任務(wù)處理模塊包括:
[0019]任務(wù)執(zhí)行子模塊,用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)待處理狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程執(zhí)行接口執(zhí)行相應(yīng)的任務(wù)處理;
[0020]則所述任務(wù)流程模塊,具體用于在所述流程執(zhí)行接口被所述任務(wù)執(zhí)行子模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程業(yè)務(wù)處理接口以進(jìn)行業(yè)務(wù)邏輯過(guò)程的處理,并在業(yè)務(wù)邏輯過(guò)程的處理成功后將任務(wù)狀態(tài)從待處理狀態(tài)轉(zhuǎn)換為處理成功狀態(tài)。
[0021]優(yōu)選的,所述任務(wù)過(guò)程接口還包括最終環(huán)境清理接口,所述最終環(huán)境清理接口中封裝有任務(wù)終結(jié)時(shí)運(yùn)行環(huán)境的清理功能;
[0022]則所述任務(wù)流程模塊,還用于在業(yè)務(wù)邏輯過(guò)程的處理成功后調(diào)用所述最終環(huán)境清理接口以進(jìn)行任務(wù)終結(jié)時(shí)運(yùn)行環(huán)境的清理,并在任務(wù)終結(jié)時(shí)運(yùn)行環(huán)境的清理成功后將任務(wù)狀態(tài)從待處理狀態(tài)轉(zhuǎn)換為處理成功狀態(tài)。
[0023]優(yōu)選的,所述預(yù)置任務(wù)狀態(tài)還包括斷點(diǎn)重做狀態(tài),所述任務(wù)過(guò)程接口還包括過(guò)程斷點(diǎn)重做環(huán)境清理接口,所述過(guò)程斷點(diǎn)重做環(huán)境清理接口封裝有業(yè)務(wù)邏輯過(guò)程文件的清理功能;
[0024]則所述任務(wù)執(zhí)行子模塊,還用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)斷點(diǎn)重做狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程執(zhí)行接口執(zhí)行相應(yīng)的任務(wù)處理;
[0025]則所述任務(wù)流程模塊,還用于在所述流程執(zhí)行接口被所述任務(wù)執(zhí)行子模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程斷點(diǎn)重做環(huán)境清理接口以進(jìn)行業(yè)務(wù)邏輯過(guò)程文件的清理,并在業(yè)務(wù)邏輯過(guò)程文件的清理成功后將任務(wù)狀態(tài)從斷點(diǎn)重做狀態(tài)轉(zhuǎn)換為待處理狀態(tài)。
[0026]優(yōu)選的,所述預(yù)置任務(wù)狀態(tài)還包括待檢查狀態(tài),所述流程接口還包括流程檢查接口,所述任務(wù)過(guò)程接口包括過(guò)程環(huán)境檢查接口,所述過(guò)程運(yùn)行前環(huán)境檢查接中封裝有運(yùn)行前環(huán)境檢查的功能;
[0027]則所述任務(wù)處理模塊還包括:
[0028]任務(wù)檢查子模塊,用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)待檢查狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程檢查接口執(zhí)行相應(yīng)的任務(wù)處理;
[0029]則所述任務(wù)流程模塊,還用于在所述流程檢查接口被所述任務(wù)檢查子模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程環(huán)境檢查接口以進(jìn)行運(yùn)行前環(huán)境檢查,并在運(yùn)行前環(huán)境檢查成功后將任務(wù)狀態(tài)從待檢查狀態(tài)轉(zhuǎn)換為待處理狀態(tài)。
[0030]優(yōu)選的,所述預(yù)置任務(wù)狀態(tài)還包括待預(yù)處理狀態(tài),所述流程接口還包括流程預(yù)處理接口,所述任務(wù)過(guò)程接口還包括過(guò)程預(yù)處理接口,所述過(guò)程預(yù)處理接中封裝有運(yùn)行前預(yù)處理的功能;
[0031]則所述任務(wù)處理模塊還包括:
[0032]任務(wù)預(yù)處理子模塊,用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)待預(yù)處理狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程預(yù)處理接口執(zhí)行相應(yīng)的任務(wù)處理;
[0033]則所述任務(wù)流程模塊,還用于在所述流程預(yù)處理接口被所述預(yù)處理子模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程預(yù)處理接口以進(jìn)行運(yùn)行前預(yù)處理,并在運(yùn)行前預(yù)處理成功后將任務(wù)狀態(tài)從待預(yù)處理狀態(tài)轉(zhuǎn)換為待檢查狀態(tài)。
[0034]優(yōu)選的,所述任務(wù)處理模塊,具體用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)預(yù)置任務(wù)狀態(tài)的任務(wù)時(shí),利用樂(lè)觀鎖機(jī)制獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程接口執(zhí)行相應(yīng)的任務(wù)處理。
[0035]與現(xiàn)有技術(shù)相比,本申請(qǐng)具有以下優(yōu)點(diǎn):
[0036]本申請(qǐng)實(shí)施例提供了一種嵌入式框架,在應(yīng)用于計(jì)算機(jī)集群的任務(wù)調(diào)度時(shí),其可以運(yùn)行在計(jì)算機(jī)集群的各節(jié)點(diǎn)之上,以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中任務(wù)的調(diào)度。
[0037]第一,正是由于嵌入式框架可以運(yùn)行在計(jì)算機(jī)集群的各節(jié)點(diǎn)之上,故計(jì)算機(jī)集群中所有的節(jié)點(diǎn)是平等的,不像現(xiàn)有技術(shù)存在主節(jié)點(diǎn)和從節(jié)點(diǎn)的區(qū)分,因此能夠節(jié)省現(xiàn)有技術(shù)中主節(jié)點(diǎn)對(duì)于從節(jié)點(diǎn)的管理成本;
[0038]第二,任務(wù)可以任務(wù)文件的形式存在,數(shù)據(jù)庫(kù)為各節(jié)點(diǎn)的中心位置,各節(jié)點(diǎn)可以通過(guò)數(shù)據(jù)庫(kù)去搶占任務(wù)文件,在具體實(shí)現(xiàn)中,可以利用數(shù)據(jù)庫(kù)鎖的搶占性和系統(tǒng)中的樂(lè)觀鎖機(jī)制實(shí)現(xiàn)無(wú)主節(jié)點(diǎn)的自由任務(wù)調(diào)度;
[0039]第三,表征任務(wù)需求的任務(wù)配置參數(shù)可以配置的形式得到,例如,可以通過(guò)人機(jī)交互界面配置任務(wù)的最大處理節(jié)點(diǎn)數(shù)目,且只有在該任務(wù)的實(shí)際處理節(jié)點(diǎn)數(shù)目未超過(guò)所述最大處理節(jié)點(diǎn)數(shù)目時(shí)才允許獲取該任務(wù)的任務(wù)文件;一方面,所述配置能夠依據(jù)任務(wù)需求靈活地配置需要調(diào)度的節(jié)點(diǎn)數(shù)目,因此相對(duì)于現(xiàn)有技術(shù)中主節(jié)點(diǎn)調(diào)度所有的從節(jié)點(diǎn),節(jié)省了資源開(kāi)銷(xiāo);另一方面,所述配置能夠依據(jù)任務(wù)需求靈活地配置任務(wù)的執(zhí)行周期,而無(wú)需依賴于用戶應(yīng)用與上述任務(wù)調(diào)度系統(tǒng)之間的通信交互,因此,相對(duì)于現(xiàn)有技術(shù)中用戶應(yīng)用需要每天向任務(wù)調(diào)度系統(tǒng)發(fā)送相應(yīng)的任務(wù)處理請(qǐng)求,本申請(qǐng)可以配置任務(wù)的執(zhí)行周期,由搶占的節(jié)點(diǎn)周期性地執(zhí)行任務(wù),因此,本申請(qǐng)的任務(wù)調(diào)度系統(tǒng)還具有操作便捷和高效的優(yōu)點(diǎn)。

【專利附圖】

【附圖說(shuō)明】
[0040]圖1是本申請(qǐng)實(shí)施例一提供的任務(wù)調(diào)度系統(tǒng)的結(jié)構(gòu)圖;
[0041]圖2是本申請(qǐng)實(shí)施例一種任務(wù)調(diào)度的方法流程圖;
[0042]圖3是本申請(qǐng)實(shí)施例二提供的任務(wù)調(diào)度系統(tǒng)的結(jié)構(gòu)圖。

【具體實(shí)施方式】
[0043]為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。
[0044]實(shí)施例一
[0045]參照?qǐng)D1,示出了本申請(qǐng)實(shí)施例一提供的任務(wù)調(diào)度系統(tǒng)的結(jié)構(gòu)圖,具體可以包括:數(shù)據(jù)庫(kù)101和運(yùn)行在計(jì)算機(jī)集群的各節(jié)點(diǎn)之上的嵌入式框架102 ;
[0046]其中,所述數(shù)據(jù)庫(kù)101中存儲(chǔ)有任務(wù)文件、任務(wù)配置參數(shù)和任務(wù)狀態(tài),其中,該任務(wù)配置參數(shù)具體可以包括最大處理節(jié)點(diǎn)數(shù)目,在該任務(wù)的實(shí)際處理節(jié)點(diǎn)數(shù)目未超過(guò)所述最大處理節(jié)點(diǎn)數(shù)目時(shí)允許獲取該任務(wù)的任務(wù)文件;
[0047]所述嵌入式框架102具體可以包括:任務(wù)流程模塊121、任務(wù)處理模塊122和任務(wù)過(guò)程接口 123 ;其中,所述任務(wù)過(guò)程接口 123中封裝有預(yù)置任務(wù)過(guò)程的處理功能;所述任務(wù)流程模塊121提供流程接口 ;
[0048]所述任務(wù)處理模塊122,用于掃描所述數(shù)據(jù)庫(kù)101,在發(fā)現(xiàn)預(yù)置任務(wù)狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程接口執(zhí)行相應(yīng)的任務(wù)處理;
[0049]所述任務(wù)流程模塊121,用于在所述流程接口被所述任務(wù)處理模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用對(duì)應(yīng)的任務(wù)過(guò)程接口以執(zhí)行相應(yīng)任務(wù)過(guò)程的處理,并在相應(yīng)任務(wù)過(guò)程的處理成功后進(jìn)行任務(wù)狀態(tài)的轉(zhuǎn)換。
[0050]某些集群應(yīng)用中會(huì)有輕型任務(wù)的調(diào)度需求,雖然其涉及任務(wù)量少、負(fù)載小,但調(diào)度觸發(fā)的多樣性、調(diào)度運(yùn)行的復(fù)雜性及調(diào)度運(yùn)維的可靠性卻一樣也不能省。
[0051]為了便捷、高效地實(shí)現(xiàn)輕型任務(wù)的調(diào)度,本申請(qǐng)實(shí)施例提供了一種嵌入式框架102,在應(yīng)用于計(jì)算機(jī)集群的任務(wù)調(diào)度時(shí),其可以運(yùn)行在計(jì)算機(jī)集群的各節(jié)點(diǎn)之上,以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)101中任務(wù)的調(diào)度,該嵌入式框架102具有無(wú)主節(jié)點(diǎn)限制、集群化、嵌入式、分布式、輕型任務(wù)、高可用性和用戶可擴(kuò)展的特點(diǎn);
[0052]其中,嵌入式表現(xiàn)在:嵌入式框架102可以將任務(wù)過(guò)程接口 123以用戶編程接口(API,Applicat1n Programming Interface)的模式提供給用戶,使調(diào)用者具備調(diào)度任務(wù)創(chuàng)建、任務(wù)管理和任務(wù)自動(dòng)運(yùn)行的功能;
[0053]分布式可用于表示嵌入式框架102可分布式在多機(jī)多節(jié)點(diǎn)的分布式運(yùn)算環(huán)境中,節(jié)點(diǎn)間的調(diào)度可以互相協(xié)調(diào)運(yùn)行,互相容錯(cuò);
[0054]輕型任務(wù)可用于表示嵌入式框架102可以在調(diào)度任務(wù)需求適度情況下保證調(diào)度系統(tǒng)的運(yùn)行效率,通??梢赃m用于總計(jì)調(diào)度任務(wù)50萬(wàn)以下的調(diào)度任務(wù)需求;
[0055]高可用性可用于表示嵌入式框架102在分布式集群中運(yùn)行時(shí),不會(huì)受到節(jié)點(diǎn)軟件、硬件故障而導(dǎo)致調(diào)度任務(wù)中斷,具備調(diào)度任務(wù)自動(dòng)故障轉(zhuǎn)移、斷點(diǎn)自動(dòng)重做等特點(diǎn);
[0056]用戶可擴(kuò)展:嵌入式框架102可以提供有大量的二次開(kāi)發(fā)接口,調(diào)用者可自定義任務(wù)處理的各個(gè)處理環(huán)節(jié),具體可以包括正常業(yè)務(wù)處理、系統(tǒng)異常處理等,從而可保障用戶最大靈活性,擴(kuò)大系統(tǒng)適用范圍。
[0057]綜上,本實(shí)施例的任務(wù)調(diào)度具有如下特點(diǎn):
[0058]第一,正是由于嵌入式框架102可以運(yùn)行在計(jì)算機(jī)集群的各節(jié)點(diǎn)之上,故計(jì)算機(jī)集群中所有的節(jié)點(diǎn)是平等的,不像現(xiàn)有技術(shù)存在主節(jié)點(diǎn)和從節(jié)點(diǎn)的區(qū)分,因此能夠節(jié)省現(xiàn)有技術(shù)中主節(jié)點(diǎn)對(duì)于從節(jié)點(diǎn)的管理成本;
[0059]第二,任務(wù)可以任務(wù)文件的形式存在,數(shù)據(jù)庫(kù)101為各節(jié)點(diǎn)的中心位置,各節(jié)點(diǎn)可以通過(guò)數(shù)據(jù)庫(kù)101去搶占任務(wù)文件,在具體實(shí)現(xiàn)中,可以利用數(shù)據(jù)庫(kù)鎖的搶占性實(shí)現(xiàn)無(wú)主節(jié)點(diǎn)的自由任務(wù)調(diào)度;
[0060]第三,表征任務(wù)需求的任務(wù)配置參數(shù)可以配置的形式得到,例如,可以通過(guò)人機(jī)交互界面配置任務(wù)的最大處理節(jié)點(diǎn)數(shù)目,且只有在該任務(wù)的實(shí)際處理節(jié)點(diǎn)數(shù)目未超過(guò)所述最大處理節(jié)點(diǎn)數(shù)目時(shí)才允許獲取該任務(wù)的任務(wù)文件;一方面,所述配置能夠依據(jù)任務(wù)需求靈活地配置需要調(diào)度的節(jié)點(diǎn)數(shù)目,因此相對(duì)于現(xiàn)有技術(shù)中主節(jié)點(diǎn)調(diào)度所有的從節(jié)點(diǎn),節(jié)省了資源開(kāi)銷(xiāo);另一方面,所述配置能夠依據(jù)任務(wù)需求靈活地配置任務(wù)的執(zhí)行周期,而無(wú)需依賴于用戶應(yīng)用與上述任務(wù)調(diào)度系統(tǒng)之間的通信交互,因此,相對(duì)于現(xiàn)有技術(shù)中用戶應(yīng)用需要每天向任務(wù)調(diào)度系統(tǒng)發(fā)送相應(yīng)的任務(wù)處理請(qǐng)求,本申請(qǐng)可以配置任務(wù)的執(zhí)行周期,由搶占的節(jié)點(diǎn)周期性地執(zhí)行任務(wù),因此,本申請(qǐng)的任務(wù)調(diào)度系統(tǒng)還具有操作便捷和高效的優(yōu)點(diǎn)。
[0061]數(shù)據(jù)庫(kù)101
[0062]在本實(shí)施例中,數(shù)據(jù)庫(kù)101可用于存儲(chǔ)各種任務(wù)信息,以便于節(jié)點(diǎn)之上的嵌入式框架102獲取所述任務(wù)信息,并依據(jù)所述獲取的任務(wù)信息執(zhí)行相應(yīng)的任務(wù)處理,這里的任務(wù)信息具體可以包括:任務(wù)文件、任務(wù)配置參數(shù)和任務(wù)狀態(tài)等等。
[0063]其中,任務(wù)狀態(tài)為任務(wù)調(diào)度和執(zhí)行過(guò)程中的狀態(tài),其為所述嵌入式框架102調(diào)度任務(wù)的重要依據(jù)之一,在具體實(shí)現(xiàn)中,本領(lǐng)域技術(shù)人員可以根據(jù)具體的任務(wù)需求設(shè)計(jì)各種各樣的任務(wù)狀態(tài),本實(shí)施例對(duì)具體的任務(wù)狀態(tài)不加以限制。
[0064]在實(shí)際應(yīng)用中,可以采用關(guān)系型數(shù)據(jù)庫(kù)提供安全可靠的數(shù)據(jù)存儲(chǔ)收到,并且,可以根據(jù)需要在關(guān)系數(shù)據(jù)庫(kù)中存儲(chǔ)調(diào)度任務(wù)文件、任務(wù)配置參數(shù)和任務(wù)狀態(tài)等。
[0065]嵌入式框架102
[0066]嵌入式框架102在實(shí)際中可以Jar (java存檔文件,JavaTM Archive File)包的形式存在,該Jar包中封裝有嵌入式框架102的調(diào)度功能,而通過(guò)解壓縮該Jar包,可以得到上述任務(wù)流程模塊121、任務(wù)處理模塊122和任務(wù)過(guò)程接口 123。
[0067]任務(wù)過(guò)程是指業(yè)務(wù)流程中特定環(huán)節(jié)執(zhí)行具體工作的單個(gè)過(guò)程,一個(gè)任務(wù)可以由若干個(gè)任務(wù)過(guò)程串聯(lián)組成。每個(gè)任務(wù)過(guò)程可通過(guò)對(duì)應(yīng)的任務(wù)過(guò)程接口 123來(lái)實(shí)現(xiàn),其中,每個(gè)任務(wù)過(guò)程接口 123均可被任務(wù)流程模塊121調(diào)用;其中本領(lǐng)域技術(shù)人員可以根據(jù)具體的任務(wù)特點(diǎn),設(shè)計(jì)各種各樣的任務(wù)過(guò)程接口 123,本實(shí)施例對(duì)具體的任務(wù)過(guò)程接口 123及所封裝的功能不加以限制。
[0068]任務(wù)流程模塊121對(duì)外提供流程接口供任務(wù)處理模塊122調(diào)用,對(duì)內(nèi)可調(diào)用任務(wù)過(guò)程接口 123以執(zhí)行相應(yīng)任務(wù)過(guò)程的處理,其中,在被任務(wù)處理模塊122調(diào)用時(shí),其可以解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用對(duì)應(yīng)的任務(wù)過(guò)程接口,并在相應(yīng)任務(wù)過(guò)程的處理成功后進(jìn)行任務(wù)狀態(tài)的轉(zhuǎn)換,以實(shí)現(xiàn)任務(wù)中所有任務(wù)過(guò)程的連接。
[0069]為了搶占任務(wù),任務(wù)處理模塊122可以使用獨(dú)立的線程,在實(shí)際中,其需要始終循環(huán)掃描所述數(shù)據(jù)庫(kù)101以發(fā)現(xiàn)預(yù)置任務(wù)狀態(tài)的任務(wù),并且,在發(fā)現(xiàn)預(yù)置任務(wù)狀態(tài)的任務(wù)時(shí),可以通過(guò)數(shù)據(jù)庫(kù)樂(lè)觀鎖機(jī)制確定該任務(wù)的任務(wù)狀態(tài)以避免其他節(jié)點(diǎn)同時(shí)處理同一任務(wù)導(dǎo)致的狀態(tài)混亂;并且,在任務(wù)文件獲取成功后可以調(diào)用所述流程接口執(zhí)行相應(yīng)的任務(wù)處理。所述流程接口可用于每個(gè)任務(wù)中任務(wù)流程的控制,其可由本領(lǐng)域技術(shù)人員依據(jù)實(shí)際需求來(lái)設(shè)計(jì)。
[0070]這里的數(shù)據(jù)庫(kù)樂(lè)觀鎖機(jī)制可以基于數(shù)據(jù)版本(Vers1n)記錄機(jī)制實(shí)現(xiàn),其中數(shù)據(jù)版本也即針對(duì)數(shù)據(jù)增加的一個(gè)版本標(biāo)識(shí),在基于數(shù)據(jù)庫(kù)表的版本解決方案中,一般是通過(guò)為數(shù)據(jù)庫(kù)表增加一個(gè)“vers1n”字段來(lái)實(shí)現(xiàn);讀取出數(shù)據(jù)時(shí),將此版本號(hào)一同讀出,之后更新時(shí),對(duì)此版本號(hào)加一。此時(shí),將提交數(shù)據(jù)的版本數(shù)據(jù)與數(shù)據(jù)庫(kù)表對(duì)應(yīng)記錄的當(dāng)前版本信息進(jìn)行比對(duì),如果提交的數(shù)據(jù)版本號(hào)大于數(shù)據(jù)庫(kù)表當(dāng)前版本號(hào),則予以更新,否則認(rèn)為是過(guò)期數(shù)據(jù)而予以駁回。
[0071]總之,上述數(shù)據(jù)庫(kù)樂(lè)觀鎖機(jī)制既可以提供高并發(fā)高可靠的多任務(wù)并行運(yùn)行,又不會(huì)給數(shù)據(jù)庫(kù)帶來(lái)較大的運(yùn)行壓力。由于系統(tǒng)對(duì)數(shù)據(jù)庫(kù)壓力較小且采用樂(lè)觀鎖的機(jī)制,在沒(méi)有使用到大型通用關(guān)系型數(shù)據(jù)庫(kù)的應(yīng)用中,也可以使用具備網(wǎng)絡(luò)功能和java數(shù)據(jù)庫(kù)連接(JDBC, Java Data Base Connectivity)接口的嵌入式數(shù)據(jù)庫(kù)作為支撐關(guān)系數(shù)據(jù)庫(kù)。
[0072]本申請(qǐng)實(shí)施例可以提供如下嵌入式框架102的技術(shù)方案:
[0073]技術(shù)方案一、
[0074]所述預(yù)置任務(wù)狀態(tài)具體可以包括待處理狀態(tài),所述流程接口具體可以包括流程執(zhí)行接口,所述任務(wù)過(guò)程接口具體可以包括過(guò)程業(yè)務(wù)處理接口,所述過(guò)程業(yè)務(wù)處理接口中封裝有業(yè)務(wù)邏輯過(guò)程的處理功能;
[0075]則所述任務(wù)處理模塊122具體可以包括:
[0076]任務(wù)執(zhí)行子模塊,用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)待處理狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程執(zhí)行接口執(zhí)行相應(yīng)的任務(wù)處理;
[0077]則所述任務(wù)流程模塊121,可具體用于在所述流程執(zhí)行接口被所述任務(wù)執(zhí)行子模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程業(yè)務(wù)處理接口以進(jìn)行業(yè)務(wù)邏輯過(guò)程的處理,并在業(yè)務(wù)邏輯過(guò)程的處理成功后將任務(wù)狀態(tài)從待處理狀態(tài)轉(zhuǎn)換為處理成功狀態(tài)。
[0078]本方案中,所述過(guò)程業(yè)務(wù)處理接口主要負(fù)責(zé)具體業(yè)務(wù)邏輯處理,是用戶應(yīng)用實(shí)現(xiàn)業(yè)務(wù)邏輯的主要部分,對(duì)于每個(gè)任務(wù)該接口僅需要運(yùn)行一次,在實(shí)際中可得到處理成功或處理失敗的結(jié)果。
[0079]技術(shù)方案二
[0080]技術(shù)方案二在技術(shù)方案一的基礎(chǔ)上,還可以包括如下可選技術(shù)方案:
[0081]技術(shù)方案二中所述任務(wù)過(guò)程接口還可以包括最終環(huán)境清理接口,所述最終環(huán)境清理接口中封裝有任務(wù)終結(jié)時(shí)運(yùn)行環(huán)境的清理功能;
[0082]則所述任務(wù)流程模塊121,還可用于在業(yè)務(wù)邏輯過(guò)程的處理成功后調(diào)用所述最終環(huán)境清理接口以進(jìn)行任務(wù)終結(jié)時(shí)運(yùn)行環(huán)境的清理,并在任務(wù)終結(jié)時(shí)運(yùn)行環(huán)境的清理成功后將任務(wù)狀態(tài)從待處理狀態(tài)轉(zhuǎn)換為處理成功狀態(tài)。
[0083]本方案中,所述最終環(huán)境清理接口主要負(fù)責(zé)任務(wù)終結(jié)時(shí)運(yùn)行環(huán)境的清理工作,t匕如臨時(shí)數(shù)據(jù)的清理釋放等。在實(shí)際中,所述流程任務(wù)接口可以在調(diào)用所述過(guò)程業(yè)務(wù)處理接口之后,且在結(jié)果為處理成功時(shí)調(diào)用所述最終環(huán)境清理接口。
[0084]技術(shù)方案三
[0085]技術(shù)方案三在技術(shù)方案一的基礎(chǔ)上,還可以包括如下可選技術(shù)方案。
[0086]技術(shù)方案三中所述預(yù)置任務(wù)狀態(tài)還可以包括斷點(diǎn)重做狀態(tài),所述任務(wù)過(guò)程接口還可以包括過(guò)程斷點(diǎn)重做環(huán)境清理接口,所述過(guò)程斷點(diǎn)重做環(huán)境清理接口封裝有業(yè)務(wù)邏輯過(guò)程文件的清理功能;
[0087]則所述任務(wù)執(zhí)行子模塊,還可用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)斷點(diǎn)重做狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程執(zhí)行接口執(zhí)行相應(yīng)的任務(wù)處理;
[0088]則所述任務(wù)流程模塊121,還可用于在所述流程執(zhí)行接口被所述任務(wù)執(zhí)行子模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程斷點(diǎn)重做環(huán)境清理接口以進(jìn)行業(yè)務(wù)邏輯過(guò)程文件的清理,并在業(yè)務(wù)邏輯過(guò)程文件的清理成功后將任務(wù)狀態(tài)從斷點(diǎn)重做狀態(tài)轉(zhuǎn)換為待處理狀態(tài)。
[0089]本方案中,過(guò)程斷點(diǎn)重做環(huán)境清理接口主要負(fù)責(zé)清理所述過(guò)程業(yè)務(wù)處理接口執(zhí)行過(guò)程中產(chǎn)生的臨時(shí)文件、臨時(shí)內(nèi)容,便于業(yè)務(wù)的重新執(zhí)行。
[0090]其中,在業(yè)務(wù)邏輯過(guò)程的處理失敗后可以將任務(wù)狀態(tài)從待處理狀態(tài)轉(zhuǎn)換為所述斷點(diǎn)重做狀態(tài),此種狀態(tài)下需要先調(diào)用所述過(guò)程斷點(diǎn)重做環(huán)境清理接口后才能重新執(zhí)行。
[0091]技術(shù)方案四
[0092]技術(shù)方案四在技術(shù)方案一的基礎(chǔ)上,還可以包括如下可選技術(shù)方案。
[0093]技術(shù)方案四中所述預(yù)置任務(wù)狀態(tài)還可以包括待檢查狀態(tài),所述流程接口還可以包括流程檢查接口,所述任務(wù)過(guò)程接口還可以包括過(guò)程環(huán)境檢查接口,所述過(guò)程運(yùn)行前環(huán)境檢查接中封裝有運(yùn)行前環(huán)境檢查的功能;
[0094]則所述任務(wù)處理模塊122還可以包括:
[0095]任務(wù)檢查子模塊,用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)待檢查狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程檢查接口執(zhí)行相應(yīng)的任務(wù)處理;
[0096]則所述任務(wù)流程模塊121,還可用于在所述流程檢查接口被所述任務(wù)檢查子模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程環(huán)境檢查接口以進(jìn)行運(yùn)行前環(huán)境檢查,并在運(yùn)行前環(huán)境檢查成功后將任務(wù)狀態(tài)從待檢查狀態(tài)轉(zhuǎn)換為待處理狀態(tài)。
[0097]本方案中,所述過(guò)程環(huán)境檢查接口主要負(fù)責(zé)檢查該過(guò)程是否滿足自定義執(zhí)行條件,用戶可自定義各種條件來(lái)確保業(yè)務(wù)處理的正確性,當(dāng)沒(méi)有滿足條件時(shí),該接口可被反復(fù)調(diào)用運(yùn)行,直到達(dá)到自定義條件。
[0098]技術(shù)方案五
[0099]技術(shù)方案五在技術(shù)方案一的基礎(chǔ)上,還可以包括如下可選技術(shù)方案。
[0100]技術(shù)方案五中所述預(yù)置任務(wù)狀態(tài)還可以包括待預(yù)處理狀態(tài),所述流程接口還可以包括流程預(yù)處理接口,所述任務(wù)過(guò)程接口還可以包括過(guò)程預(yù)處理接口,所述過(guò)程預(yù)處理接中封裝有運(yùn)行前預(yù)處理的功能;
[0101]則所述任務(wù)處理模塊122還可以包括:
[0102]任務(wù)預(yù)處理子模塊,用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)待預(yù)處理狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程預(yù)處理接口執(zhí)行相應(yīng)的任務(wù)處理;
[0103]則所述任務(wù)流程模塊121,還可用于在所述流程預(yù)處理接口被所述預(yù)處理子模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程預(yù)處理接口以進(jìn)行運(yùn)行前預(yù)處理,并在運(yùn)行前預(yù)處理成功后將任務(wù)狀態(tài)從待預(yù)處理狀態(tài)轉(zhuǎn)換為待檢查狀態(tài)。
[0104]本方案中,所述過(guò)程預(yù)處理接口主要負(fù)責(zé)上述運(yùn)行業(yè)務(wù)處理接口運(yùn)行時(shí)所需的環(huán)境準(zhǔn)備,比如文件目錄的創(chuàng)建、數(shù)據(jù)庫(kù)表的建立等。該接口在整個(gè)業(yè)務(wù)流程中僅需要成功運(yùn)行一次。
[0105]為使本領(lǐng)域技術(shù)人員更好地理解本實(shí)施例,參照?qǐng)D2,示出了本申請(qǐng)實(shí)施例一種任務(wù)調(diào)度的方法流程圖,具體可以包括:
[0106]步驟201、任務(wù)預(yù)處理子模塊循環(huán)掃描數(shù)據(jù)庫(kù),在發(fā)現(xiàn)待預(yù)處理狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程預(yù)處理接口執(zhí)行相應(yīng)的任務(wù)處理;
[0107]步驟202、在所述流程預(yù)處理接口被所述預(yù)處理子模塊調(diào)用時(shí),任務(wù)流程模塊解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程預(yù)處理接口以進(jìn)行運(yùn)行前預(yù)處理,并在運(yùn)行前預(yù)處理成功后將任務(wù)狀態(tài)從待預(yù)處理狀態(tài)轉(zhuǎn)換為待檢查狀態(tài);
[0108]步驟203、任務(wù)檢查子模塊循環(huán)掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)待檢查狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程檢查接口執(zhí)行相應(yīng)的任務(wù)處理;
[0109]步驟204、在所述流程檢查接口被所述任務(wù)檢查子模塊調(diào)用時(shí),所述任務(wù)流程模塊解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程環(huán)境檢查接口以進(jìn)行運(yùn)行前環(huán)境檢查,并在運(yùn)行前環(huán)境檢查成功后將任務(wù)狀態(tài)從待檢查狀態(tài)轉(zhuǎn)換為待處理狀態(tài);
[0110]步驟205、任務(wù)執(zhí)行子模塊循環(huán)掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)待處理狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程執(zhí)行接口執(zhí)行相應(yīng)的任務(wù)處理;
[0111]步驟206、在所述流程執(zhí)行接口被所述任務(wù)執(zhí)行子模塊調(diào)用時(shí),所述任務(wù)流程模塊解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程業(yè)務(wù)處理接口以進(jìn)行業(yè)務(wù)邏輯過(guò)程的處理;
[0112]步驟207、所述任務(wù)流程模塊在業(yè)務(wù)邏輯過(guò)程的處理成功后調(diào)用所述最終環(huán)境清理接口以進(jìn)行任務(wù)終結(jié)時(shí)運(yùn)行環(huán)境的清理,并在任務(wù)終結(jié)時(shí)運(yùn)行環(huán)境的清理成功后將任務(wù)狀態(tài)從待處理狀態(tài)轉(zhuǎn)換為處理成功狀態(tài);
[0113]步驟208、所述任務(wù)流程模塊在業(yè)務(wù)邏輯過(guò)程的處理失敗后將任務(wù)狀態(tài)從待處理狀態(tài)轉(zhuǎn)換為斷點(diǎn)重做狀態(tài);
[0114]步驟209、任務(wù)執(zhí)行子模塊循環(huán)掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)斷點(diǎn)重做狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程執(zhí)行接口執(zhí)行相應(yīng)的任務(wù)處理;
[0115]步驟210、在所述流程執(zhí)行接口被所述任務(wù)執(zhí)行子模塊調(diào)用時(shí),所述任務(wù)流程模塊解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程斷點(diǎn)重做環(huán)境清理接口以進(jìn)行業(yè)務(wù)邏輯過(guò)程文件的清理,并在業(yè)務(wù)邏輯過(guò)程文件的清理成功后將任務(wù)狀態(tài)從斷點(diǎn)重做狀態(tài)轉(zhuǎn)換為待處理狀態(tài)。
[0116]需要說(shuō)明的是,上述待預(yù)處理狀態(tài)一待檢查狀態(tài)一待處理狀態(tài)-處理成功狀態(tài),或者待預(yù)處理狀態(tài)一待檢查狀態(tài)一待處理狀態(tài)-斷點(diǎn)重做狀態(tài)-處理成功狀態(tài)只是作為本申請(qǐng)中所述預(yù)置任務(wù)狀態(tài)的應(yīng)用示例;可以理解,本領(lǐng)域技術(shù)人員可以根據(jù)任務(wù)需求靈活地設(shè)計(jì)所述預(yù)置任務(wù)狀態(tài)、流程接口和任務(wù)過(guò)程接口,并且,可以依據(jù)所設(shè)計(jì)的預(yù)置任務(wù)狀態(tài)、流程接口和任務(wù)過(guò)程接口對(duì)所述任務(wù)流程模塊和任務(wù)處理模塊的功能進(jìn)行進(jìn)一步設(shè)計(jì)。本實(shí)施例對(duì)具體的預(yù)置任務(wù)狀態(tài)、流程接口和任務(wù)過(guò)程接口不加以限制。
[0117]實(shí)施例二
[0118]參照?qǐng)D3,給出了本申請(qǐng)實(shí)施例二提供的任務(wù)調(diào)度系統(tǒng)的可選結(jié)構(gòu)圖。本實(shí)施例的任務(wù)調(diào)度系統(tǒng)在上述圖1所示實(shí)施例的基礎(chǔ)上,進(jìn)一步還可以包括如下可選技術(shù)方案。
[0119]如圖3所示,本實(shí)施例的嵌入式框架102還可以包括:節(jié)點(diǎn)管理模塊124 ;
[0120]所述節(jié)點(diǎn)管理模塊124,可用于向所述數(shù)據(jù)庫(kù)登記所處節(jié)點(diǎn)的存活聲明,以及,從所述數(shù)據(jù)庫(kù)獲取失效節(jié)點(diǎn),并接手所述失效節(jié)點(diǎn)的任務(wù)。
[0121]本實(shí)施例增設(shè)節(jié)點(diǎn)管理模塊124,節(jié)點(diǎn)管理模塊124為線程模塊,可始終循環(huán)向數(shù)據(jù)庫(kù)登記所處節(jié)點(diǎn)的存活聲明;這樣,對(duì)于所述數(shù)據(jù)庫(kù)而言,其可維護(hù)計(jì)算機(jī)集群之上各節(jié)點(diǎn)的存活狀態(tài),具體而言,其可循環(huán)監(jiān)測(cè)計(jì)算機(jī)集群之上各節(jié)點(diǎn)的存活狀態(tài),如果在預(yù)置時(shí)間段內(nèi)未收到來(lái)自某節(jié)點(diǎn)的存活聲明,則將該節(jié)點(diǎn)的存活狀態(tài)為失效,而如果在預(yù)置時(shí)間段內(nèi)收到了來(lái)自某節(jié)點(diǎn)的存活聲明,則將該節(jié)點(diǎn)的存活狀態(tài)為存活,其中,所述預(yù)置時(shí)間段可由本領(lǐng)域技術(shù)人員依據(jù)實(shí)際需求設(shè)定,如為ls,1ms等等。
[0122]對(duì)于失效節(jié)點(diǎn),其可能由于網(wǎng)絡(luò)故障、負(fù)載超載等原因出現(xiàn)了異常,而失效節(jié)點(diǎn)之上可能存在一些搶占的且未執(zhí)行完畢的任務(wù),故為提高任務(wù)調(diào)度的可靠性,本實(shí)施例中,存活節(jié)點(diǎn)可以從所述數(shù)據(jù)庫(kù)獲取失效節(jié)點(diǎn),并從失效節(jié)點(diǎn)接手未處理完畢的任務(wù)。在具體實(shí)現(xiàn)中,存活節(jié)點(diǎn)可以修改失效節(jié)點(diǎn)對(duì)應(yīng)的任務(wù)狀態(tài),及清理已處理完畢的失效節(jié)點(diǎn)。
[0123]本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0124]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0125]本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0126]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0127]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0128]盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。
[0129]以上對(duì)本申請(qǐng)所提供的一種任務(wù)調(diào)度系統(tǒng),進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。
【權(quán)利要求】
1.一種任務(wù)調(diào)度系統(tǒng),其特征在于,包括:數(shù)據(jù)庫(kù)和運(yùn)行在計(jì)算機(jī)集群的各節(jié)點(diǎn)之上的嵌入式框架; 其中,所述數(shù)據(jù)庫(kù)中存儲(chǔ)有任務(wù)文件、任務(wù)配置參數(shù)和任務(wù)狀態(tài),其中,該任務(wù)配置參數(shù)包括最大處理節(jié)點(diǎn)數(shù)目,在該任務(wù)的實(shí)際處理節(jié)點(diǎn)數(shù)目未超過(guò)所述最大處理節(jié)點(diǎn)數(shù)目時(shí)允許獲取該任務(wù)的任務(wù)文件; 所述嵌入式框架包括:任務(wù)流程模塊、任務(wù)處理模塊和任務(wù)過(guò)程接口 ;其中,所述任務(wù)過(guò)程接口中封裝有預(yù)置任務(wù)過(guò)程的處理功能;所述任務(wù)流程模塊提供流程接口 ; 所述任務(wù)處理模塊,用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)預(yù)置任務(wù)狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程接口執(zhí)行相應(yīng)的任務(wù)處理; 所述任務(wù)流程模塊,用于在所述流程接口被所述任務(wù)處理模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用對(duì)應(yīng)的任務(wù)過(guò)程接口以執(zhí)行相應(yīng)任務(wù)過(guò)程的處理,并在相應(yīng)任務(wù)過(guò)程的處理成功后進(jìn)行任務(wù)狀態(tài)的轉(zhuǎn)換。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述嵌入式框架還包括節(jié)點(diǎn)管理模塊; 所述節(jié)點(diǎn)管理模塊,用于向所述數(shù)據(jù)庫(kù)登記所處節(jié)點(diǎn)的存活聲明,以及,從所述數(shù)據(jù)庫(kù)獲取失效節(jié)點(diǎn),并接手所述失效節(jié)點(diǎn)的任務(wù)。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述預(yù)置任務(wù)狀態(tài)包括待處理狀態(tài),所述流程接口包括流程執(zhí)行接口,所述任務(wù)過(guò)程接口包括過(guò)程業(yè)務(wù)處理接口,所述過(guò)程業(yè)務(wù)處理接口中封裝有業(yè)務(wù)邏輯過(guò)程的處理功能; 則所述任務(wù)處理模塊包括: 任務(wù)執(zhí)行子模塊,用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)待處理狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程執(zhí)行接口執(zhí)行相應(yīng)的任務(wù)處理; 則所述任務(wù)流程模塊,具體用于在所述流程執(zhí)行接口被所述任務(wù)執(zhí)行子模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程業(yè)務(wù)處理接口以進(jìn)行業(yè)務(wù)邏輯過(guò)程的處理,并在業(yè)務(wù)邏輯過(guò)程的處理成功后將任務(wù)狀態(tài)從待處理狀態(tài)轉(zhuǎn)換為處理成功狀態(tài)。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述任務(wù)過(guò)程接口還包括最終環(huán)境清理接口,所述最終環(huán)境清理接口中封裝有任務(wù)終結(jié)時(shí)運(yùn)行環(huán)境的清理功能; 則所述任務(wù)流程模塊,還用于在業(yè)務(wù)邏輯過(guò)程的處理成功后調(diào)用所述最終環(huán)境清理接口以進(jìn)行任務(wù)終結(jié)時(shí)運(yùn)行環(huán)境的清理,并在任務(wù)終結(jié)時(shí)運(yùn)行環(huán)境的清理成功后將任務(wù)狀態(tài)從待處理狀態(tài)轉(zhuǎn)換為處理成功狀態(tài)。
5.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述預(yù)置任務(wù)狀態(tài)還包括斷點(diǎn)重做狀態(tài),所述任務(wù)過(guò)程接口還包括過(guò)程斷點(diǎn)重做環(huán)境清理接口,所述過(guò)程斷點(diǎn)重做環(huán)境清理接口封裝有業(yè)務(wù)邏輯過(guò)程文件的清理功能; 則所述任務(wù)執(zhí)行子模塊,還用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)斷點(diǎn)重做狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程執(zhí)行接口執(zhí)行相應(yīng)的任務(wù)處理; 則所述任務(wù)流程模塊,還用于在所述流程執(zhí)行接口被所述任務(wù)執(zhí)行子模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程斷點(diǎn)重做環(huán)境清理接口以進(jìn)行業(yè)務(wù)邏輯過(guò)程文件的清理,并在業(yè)務(wù)邏輯過(guò)程文件的清理成功后將任務(wù)狀態(tài)從斷點(diǎn)重做狀態(tài)轉(zhuǎn)換為待處理狀態(tài)。
6.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述預(yù)置任務(wù)狀態(tài)還包括待檢查狀態(tài),所述流程接口還包括流程檢查接口,所述任務(wù)過(guò)程接口包括過(guò)程環(huán)境檢查接口,所述過(guò)程運(yùn)行前環(huán)境檢查接中封裝有運(yùn)行前環(huán)境檢查的功能; 則所述任務(wù)處理模塊還包括: 任務(wù)檢查子模塊,用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)待檢查狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程檢查接口執(zhí)行相應(yīng)的任務(wù)處理; 則所述任務(wù)流程模塊,還用于在所述流程檢查接口被所述任務(wù)檢查子模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程環(huán)境檢查接口以進(jìn)行運(yùn)行前環(huán)境檢查,并在運(yùn)行前環(huán)境檢查成功后將任務(wù)狀態(tài)從待檢查狀態(tài)轉(zhuǎn)換為待處理狀態(tài)。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述預(yù)置任務(wù)狀態(tài)還包括待預(yù)處理狀態(tài),所述流程接口還包括流程預(yù)處理接口,所述任務(wù)過(guò)程接口還包括過(guò)程預(yù)處理接口,所述過(guò)程預(yù)處理接中封裝有運(yùn)行前預(yù)處理的功能; 則所述任務(wù)處理模塊還包括: 任務(wù)預(yù)處理子模塊,用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)待預(yù)處理狀態(tài)的任務(wù)時(shí),鎖定并獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程預(yù)處理接口執(zhí)行相應(yīng)的任務(wù)處理; 則所述任務(wù)流程模塊,還用于在所述流程預(yù)處理接口被所述預(yù)處理子模塊調(diào)用時(shí),解析該任務(wù)涉及的任務(wù)過(guò)程,依據(jù)解析結(jié)果調(diào)用所述過(guò)程預(yù)處理接口以進(jìn)行運(yùn)行前預(yù)處理,并在運(yùn)行前預(yù)處理成 功后將任務(wù)狀態(tài)從待預(yù)處理狀態(tài)轉(zhuǎn)換為待檢查狀態(tài)。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述任務(wù)處理模塊,具體用于掃描所述數(shù)據(jù)庫(kù),在發(fā)現(xiàn)預(yù)置任務(wù)狀態(tài)的任務(wù)時(shí),利用樂(lè)觀鎖機(jī)制獲取該任務(wù)的任務(wù)文件,并在獲取成功后調(diào)用所述流程接口執(zhí)行相應(yīng)的任務(wù)處理。
【文檔編號(hào)】G06F9/46GK104050029SQ201410239514
【公開(kāi)日】2014年9月17日 申請(qǐng)日期:2014年5月30日 優(yōu)先權(quán)日:2014年5月30日
【發(fā)明者】滕一勤, 朱大勇, 張濤 申請(qǐng)人:北京先進(jìn)數(shù)通信息技術(shù)股份公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1