定時(shí)任務(wù)的處理方法及裝置制造方法
【專利摘要】本發(fā)明公開(kāi)一種定時(shí)任務(wù)的處理方法,包括:將每一個(gè)預(yù)設(shè)的定時(shí)任務(wù)分成多個(gè)子任務(wù),并存儲(chǔ);獲取定時(shí)任務(wù)編輯指令,所述定時(shí)任務(wù)編輯指令包括組成定時(shí)任務(wù)的子任務(wù)、定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件;根據(jù)所述定時(shí)任務(wù)編輯指令,調(diào)取與所述定時(shí)任務(wù)編輯指令相應(yīng)的子任務(wù),對(duì)所調(diào)取的子任務(wù)進(jìn)行組裝,獲得定時(shí)任務(wù),并為所述定時(shí)任務(wù)添加所述定時(shí)單元的調(diào)度信息及定時(shí)任務(wù)的運(yùn)行條件;將所述定時(shí)任務(wù)存放至定時(shí)任務(wù)列表中。本發(fā)明還公開(kāi)一種定時(shí)任務(wù)的處理裝置。本發(fā)明使得定時(shí)任務(wù)的處理更加靈活,而且還提高了定時(shí)任務(wù)的處理效率。
【專利說(shuō)明】定時(shí)任務(wù)的處理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種定時(shí)任務(wù)的處理方法及裝置。
【背景技術(shù)】
[0002]在軟件系統(tǒng)中,定時(shí)任務(wù)的使用非常普遍,開(kāi)發(fā)者先對(duì)定時(shí)任務(wù)的內(nèi)容以及運(yùn)行時(shí)間進(jìn)行預(yù)先設(shè)定。然后系統(tǒng)則在運(yùn)行時(shí)間到達(dá)后根據(jù)定時(shí)任務(wù)的內(nèi)容自動(dòng)地執(zhí)行相應(yīng)的操作。
[0003]但是定時(shí)任務(wù)的要求將隨著需求、時(shí)間、運(yùn)行環(huán)境、系統(tǒng)負(fù)載等因素的變動(dòng)而不同,上述預(yù)先設(shè)定的定時(shí)任務(wù)并不同同時(shí)滿足需求,當(dāng)需要修改定時(shí)任務(wù)時(shí),則需要維修人員停止軟件系統(tǒng),修改源代碼中的相關(guān)定時(shí)任務(wù)時(shí)間及內(nèi)容,再將修改好的軟件系統(tǒng)重新部署至服務(wù)器中。因此,現(xiàn)有技術(shù)的定時(shí)任務(wù)的處理存在以下缺點(diǎn):
[0004](I)修改定時(shí)任務(wù)時(shí)需要專業(yè)人員尋找到相關(guān)代碼的位置,并進(jìn)行相關(guān)編程,對(duì)維護(hù)人員的專業(yè)水平要求較高;
[0005](2)修改定時(shí)任務(wù)時(shí)需要停止軟件系統(tǒng)并重新部署,影響用戶的使用;
[0006](3)由于需要重新進(jìn)行編碼,提高了系統(tǒng)維護(hù)的風(fēng)險(xiǎn)及難度;
[0007](4)定時(shí)任務(wù)修改難度、復(fù)雜度高,靈活性很差。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的主要目的是提供一種定時(shí)任務(wù)的處理方法及裝置,旨在解決了現(xiàn)有技術(shù)中定時(shí)任務(wù)的處理不夠靈活,且復(fù)雜度高、定時(shí)任務(wù)的處理效率不高的技術(shù)問(wèn)題。
[0009]本發(fā)明提供了一種定時(shí)任務(wù)的處理方法,包括以下步驟:
[0010]將每一個(gè)預(yù)設(shè)的定時(shí)任務(wù)分成多個(gè)子任務(wù),并存儲(chǔ);
[0011]獲取定時(shí)任務(wù)編輯指令,所述定時(shí)任務(wù)編輯指令包括組成定時(shí)任務(wù)的子任務(wù)、定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件;
[0012]根據(jù)所述定時(shí)任務(wù)編輯指令,調(diào)取與所述定時(shí)任務(wù)編輯指令相應(yīng)的子任務(wù),對(duì)所調(diào)取的子任務(wù)進(jìn)行組裝,獲得定時(shí)任務(wù),并為所述定時(shí)任務(wù)添加所述定時(shí)單元的調(diào)度信息及定時(shí)任務(wù)的運(yùn)行條件;
[0013]將所述定時(shí)任務(wù)存放至定時(shí)任務(wù)列表中。
[0014]優(yōu)選地,所述將定時(shí)任務(wù)存放至定時(shí)任務(wù)列表中之后還包括:
[0015]周期性地遍歷所述定時(shí)任務(wù)列表中的所有定時(shí)任務(wù);
[0016]當(dāng)所述定時(shí)任務(wù)隊(duì)列中存在滿足運(yùn)行條件的定時(shí)任務(wù)時(shí),將所述定時(shí)任務(wù)存放至調(diào)度隊(duì)列。
[0017]優(yōu)選地,所述將所述定時(shí)任務(wù)存放至調(diào)度隊(duì)列之后還包括:
[0018]按照所述調(diào)度隊(duì)列的運(yùn)行規(guī)則,運(yùn)行所述定時(shí)任務(wù);
[0019]在所述定時(shí)任務(wù)結(jié)束后,將其從調(diào)度隊(duì)列中刪除。
[0020]優(yōu)選地,所述將每一個(gè)預(yù)設(shè)的定時(shí)任務(wù)分成多個(gè)任務(wù)單元,并存儲(chǔ)包括:[0021]獲取預(yù)設(shè)的定時(shí)任務(wù);
[0022]按照預(yù)設(shè)的劃分規(guī)則,對(duì)所述預(yù)設(shè)的定時(shí)任務(wù)進(jìn)行劃分,獲得多個(gè)任務(wù)單元;
[0023]對(duì)每個(gè)任務(wù)單元對(duì)應(yīng)的代碼進(jìn)行封裝,形成子任務(wù),并將所述子任務(wù)存儲(chǔ)在任務(wù)單元列表中。
[0024]優(yōu)選地,所述定時(shí)任務(wù)編輯指令包括新建定時(shí)任務(wù)、修改定時(shí)任務(wù)。
[0025]本發(fā)明還提供了一種定時(shí)任務(wù)的處理裝置,包括:
[0026]子任務(wù)劃分模塊,用于將每一個(gè)預(yù)設(shè)的定時(shí)任務(wù)分成多個(gè)子任務(wù),并存儲(chǔ);
[0027]指令獲取模塊,用于獲取定時(shí)任務(wù)編輯指令,所述定時(shí)任務(wù)編輯指令包括組成定時(shí)任務(wù)的子任務(wù)、定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件;
[0028]定時(shí)任務(wù)編輯模塊,用于根據(jù)所述定時(shí)任務(wù)編輯指令,調(diào)取與所述定時(shí)任務(wù)編輯指令相應(yīng)的子任務(wù),對(duì)所調(diào)取的子任務(wù)進(jìn)行組裝,獲得定時(shí)任務(wù),并為所述定時(shí)任務(wù)添加所述定時(shí)單元的調(diào)度信息及定時(shí)任務(wù)的運(yùn)行條件;
[0029]定時(shí)任務(wù)存放模塊,用于將所述定時(shí)任務(wù)存放至定時(shí)任務(wù)列表中。
[0030]優(yōu)選地,所述定時(shí)任務(wù)的處理裝置還包括:
[0031]定時(shí)任務(wù)遍歷模塊,用于周期性地遍歷所述定時(shí)任務(wù)列表中的所有定時(shí)任務(wù);
[0032]定時(shí)任務(wù)調(diào)度模塊,用于當(dāng)所述定時(shí)任務(wù)隊(duì)列中存在滿足運(yùn)行條件的定時(shí)任務(wù)時(shí),將所述定時(shí)任務(wù)存放至調(diào)度隊(duì)列。
[0033]優(yōu)選地,所述定時(shí)任務(wù)調(diào)度模塊還用于:按照所述調(diào)度隊(duì)列的運(yùn)行規(guī)則,運(yùn)行所述定時(shí)任務(wù);在所述定時(shí)任務(wù)結(jié)束后,將其從調(diào)度隊(duì)列中刪除。
[0034]優(yōu)選地,所述子任務(wù)劃分模塊包括:
[0035]預(yù)設(shè)定時(shí)任務(wù)獲取單元,用于獲取預(yù)設(shè)的定時(shí)任務(wù);
[0036]任務(wù)劃分單元,用于按照預(yù)設(shè)的劃分規(guī)則,對(duì)所述預(yù)設(shè)的定時(shí)任務(wù)進(jìn)行劃分,獲得多個(gè)任務(wù)單元;
[0037]子任務(wù)形成單元,用于對(duì)每個(gè)任務(wù)單元對(duì)應(yīng)的代碼進(jìn)行封裝,形成子任務(wù),并將所述子任務(wù)存儲(chǔ)在任務(wù)單元列表中。
[0038]優(yōu)選地,所述定時(shí)任務(wù)編輯指令包括新建定時(shí)任務(wù)、修改定時(shí)任務(wù)。
[0039]本發(fā)明通過(guò)將定時(shí)任務(wù)劃分為多個(gè)功能單一的子任務(wù),在需要對(duì)定時(shí)任務(wù)進(jìn)行編輯時(shí),只需要調(diào)取相應(yīng)的子任務(wù),即可生成新的定時(shí)任務(wù),以滿足不同運(yùn)行環(huán)境的需求。因此,本發(fā)明實(shí)施例使得定時(shí)任務(wù)的處理更加靈活,而且不再需要專業(yè)人員進(jìn)行操作,使得定時(shí)任務(wù)的操作更加簡(jiǎn)單,進(jìn)一步提高了定時(shí)任務(wù)的處理效率。
【專利附圖】
【附圖說(shuō)明】
[0040]圖1為本發(fā)明定時(shí)任務(wù)的處理方法第一實(shí)施例的流程示意圖;
[0041]圖2為本發(fā)明定時(shí)任務(wù)的處理方法中定時(shí)任務(wù)劃分的子任務(wù)的結(jié)構(gòu)示意圖;
[0042]圖3為本發(fā)明定時(shí)任務(wù)的處理方法第二實(shí)施例的流程示意圖;
[0043]圖4為本發(fā)明定時(shí)任務(wù)的處理方法中劃分定時(shí)任務(wù)的流程示意圖;
[0044]圖5為本發(fā)明定時(shí)任務(wù)的處理方法進(jìn)入軟件系統(tǒng)的維護(hù)界面的界面示例圖;
[0045]圖6a及圖6b為本發(fā)明定時(shí)任務(wù)的處理方法中新建定時(shí)任務(wù)時(shí)的操作示例圖;
[0046]圖7a及圖7b為本發(fā)明定時(shí)任務(wù)的處理方法中修改定時(shí)任務(wù)時(shí)的操作示例圖;[0047]圖8為本發(fā)明定時(shí)任務(wù)的處理方法中刪除定時(shí)任務(wù)時(shí)的操作示例圖;
[0048]圖9為本發(fā)明定時(shí)任務(wù)的處理裝置第一實(shí)施例的功能模塊示意圖;
[0049]圖10為本發(fā)明定時(shí)任務(wù)的處理裝置第二實(shí)施例的功能模塊示意圖;
[0050]圖11為本發(fā)明定時(shí)任務(wù)的處理裝置中子任務(wù)劃分模塊的功能模塊示意圖。
[0051]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
【具體實(shí)施方式】
[0052]以下結(jié)合說(shuō)明書(shū)附圖及具體實(shí)施例進(jìn)一步說(shuō)明本發(fā)明的技術(shù)方案。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0053]本發(fā)明提供了 一種定時(shí)任務(wù)的處理方法。參照?qǐng)D1,該實(shí)施例的定時(shí)任務(wù)的處理方法包括以下步驟:
[0054]步驟SI 10、將每一個(gè)預(yù)設(shè)的定時(shí)任務(wù)分成多個(gè)子任務(wù),并存儲(chǔ);
[0055]該預(yù)設(shè)的定時(shí)任務(wù)為現(xiàn)有技術(shù)中已經(jīng)存在的定時(shí)任務(wù),例如虛擬信息采集任務(wù)以及資源信息采集任務(wù)。該子任務(wù)為實(shí)現(xiàn)單一功能的任務(wù)。將現(xiàn)有技術(shù)中已經(jīng)存在的定時(shí)任務(wù)劃分為單一功能的子任務(wù),從而使得該子任務(wù)可以達(dá)到最大的可復(fù)用性。如圖2所示,虛擬信息采集任務(wù)可劃分為虛擬機(jī)信息采集子任務(wù)、資源使用情況統(tǒng)計(jì)子任務(wù)。資源信息采集任務(wù)可劃分為數(shù)據(jù)中心信息采集子任務(wù)、主機(jī)信息采集子任務(wù)、虛擬機(jī)信息采集子任務(wù)、存儲(chǔ)信息采集子任務(wù)、資源使用情況統(tǒng)計(jì)子任務(wù)。
[0056]步驟S120、獲取定時(shí)任務(wù)編輯指令,所述定時(shí)任務(wù)編輯指令包括組成定時(shí)任務(wù)的子任務(wù)、定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件;
[0057]該定時(shí)任務(wù)編輯指令包括新建定時(shí)任務(wù)、修改定時(shí)任務(wù)。新建定時(shí)任務(wù)時(shí),定時(shí)任務(wù)編輯指令包括組成定時(shí)任務(wù)的子任務(wù)、定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件。修改定時(shí)任務(wù)時(shí),定時(shí)任務(wù)編輯指令可以包括組成定時(shí)任務(wù)的子任務(wù)、定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件中的任意一個(gè)或多個(gè)信息。由于該定時(shí)任務(wù)編輯指令不再需要針對(duì)定時(shí)任務(wù)相關(guān)的源代碼進(jìn)行修改,從而對(duì)處理人員的專業(yè)水平要求較低。同時(shí)該修改定時(shí)任務(wù)時(shí),不再需要停止軟件系統(tǒng)并重新部署,提高了軟件系統(tǒng)的運(yùn)行效率。
[0058]步驟S130、根據(jù)所述定時(shí)任務(wù)編輯指令,調(diào)取與所述定時(shí)任務(wù)編輯指令相應(yīng)的子任務(wù),對(duì)所調(diào)取的子任務(wù)進(jìn)行組裝,獲得定時(shí)任務(wù),并為所述定時(shí)任務(wù)添加所述定時(shí)單元的調(diào)度信息及定時(shí)任務(wù)的運(yùn)行條件;
[0059]根據(jù)定時(shí)任務(wù)編輯指令,可以對(duì)子任務(wù)進(jìn)行重新組合,生成與當(dāng)前的運(yùn)行環(huán)境相適應(yīng)的定時(shí)任務(wù),然后為該生成的定時(shí)任務(wù)配置定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件。
[0060]步驟S140、將所述定時(shí)任務(wù)存放至定時(shí)任務(wù)列表中。
[0061]該獲得的定時(shí)任務(wù)將存放至定時(shí)任務(wù)列表中,供軟件系統(tǒng)調(diào)用并執(zhí)行。
[0062]本發(fā)明實(shí)施例通過(guò)將定時(shí)任務(wù)劃分為多個(gè)功能單一的子任務(wù),在需要對(duì)定時(shí)任務(wù)進(jìn)行編輯時(shí),只需要調(diào)取相應(yīng)的子任務(wù),即可生成新的定時(shí)任務(wù),以滿足不同運(yùn)行環(huán)境的需求。因此,本發(fā)明實(shí)施例使得定時(shí)任務(wù)的處理更加靈活,而且不再需要專業(yè)人員進(jìn)行操作,使得定時(shí)任務(wù)的操作更加簡(jiǎn)單,進(jìn)一步提高了定時(shí)任務(wù)的處理效率。
[0063]進(jìn)一步地,參照?qǐng)D3,上述步驟S140之后還包括:[0064]步驟S150、周期性地遍歷所述定時(shí)任務(wù)列表中的所有定時(shí)任務(wù);
[0065]首先將設(shè)置一個(gè)普通的定時(shí)任務(wù),例如設(shè)置一定時(shí)器。該定時(shí)器的運(yùn)行周期需要足夠短,例如I分鐘。定時(shí)器的計(jì)時(shí)到達(dá)時(shí),將觸發(fā)該定時(shí)任務(wù)。也就是遍歷所述定時(shí)任務(wù)列表中的所有定時(shí)任務(wù)。
[0066]步驟S160、當(dāng)所述定時(shí)任務(wù)列表中存在滿足運(yùn)行條件的定時(shí)任務(wù)時(shí),將所述定時(shí)任務(wù)存放至調(diào)度隊(duì)列。
[0067]判斷定時(shí)任務(wù)列表中的定時(shí)任務(wù)的運(yùn)行條件是否滿足,滿足時(shí),將滿足條件的定時(shí)任務(wù)存放至調(diào)度隊(duì)列。該定時(shí)任務(wù)的運(yùn)行條件主要是指運(yùn)行時(shí)間,當(dāng)然也可以為其他的觸發(fā)條件,例如該定時(shí)任務(wù)將在另一定時(shí)任務(wù)的運(yùn)行結(jié)束后觸發(fā)等等。
[0068]步驟S170、按照所述調(diào)度隊(duì)列的運(yùn)行規(guī)則,運(yùn)行所述定時(shí)任務(wù);
[0069]本實(shí)施例中,該調(diào)度隊(duì)列將依據(jù)任務(wù)的優(yōu)先級(jí)高低,運(yùn)行隊(duì)列中的定時(shí)任務(wù)。每個(gè)定時(shí)任務(wù)的優(yōu)先級(jí)信息可以是由用戶設(shè)置的,也可以是軟件系統(tǒng)默認(rèn)設(shè)置的。另外,該調(diào)度隊(duì)列的運(yùn)行規(guī)則還可以為其他的規(guī)則,在此并不限定。
[0070]步驟S180、在所述定時(shí)任務(wù)結(jié)束后,將其從調(diào)度隊(duì)列中刪除。
[0071]當(dāng)所述定時(shí)任務(wù)結(jié)束后,將其從調(diào)度隊(duì)列中刪除,以便釋放空間。
[0072]本發(fā)明實(shí)施例通過(guò)將定時(shí)任務(wù)存放在定時(shí)任務(wù)列表中,待遍歷該定時(shí)任務(wù)列表時(shí),滿足運(yùn)行條件的定時(shí)任務(wù)再調(diào)至調(diào)度隊(duì)列中執(zhí)行。因此,本發(fā)明實(shí)施例中,定時(shí)任務(wù)的編輯與定時(shí)任務(wù)的執(zhí)行分隔開(kāi),定時(shí)任務(wù)的編輯時(shí)不需要停止軟件系統(tǒng),不會(huì)影響其他任務(wù)的執(zhí)行。另外,本發(fā)明實(shí)施例通過(guò)優(yōu)先級(jí)的調(diào)度,避免了定時(shí)任務(wù)之間可能出現(xiàn)的依賴問(wèn)題。
[0073]進(jìn)一步地,參照?qǐng)D4,上述步驟SllO包括:
[0074]步驟SI 11、獲取預(yù)設(shè)的定時(shí)任務(wù);
[0075]該預(yù)設(shè)的定時(shí)任務(wù)為軟件系統(tǒng)中已經(jīng)存在或可能會(huì)存在的定時(shí)任務(wù)。
[0076]步驟S112、按照預(yù)設(shè)的劃分規(guī)則,對(duì)所述預(yù)設(shè)的定時(shí)任務(wù)進(jìn)行劃分,獲得多個(gè)任務(wù)單元;
[0077]該預(yù)設(shè)的劃分規(guī)則為:劃分的任務(wù)單元功能盡量單一,以達(dá)到最大可復(fù)用性;任務(wù)單元可獨(dú)立完成一項(xiàng)服務(wù),即可獨(dú)立作為一個(gè)定時(shí)任務(wù);任務(wù)單元的耦合度盡可能低。根據(jù)該預(yù)設(shè)的劃分規(guī)則,對(duì)所述預(yù)設(shè)的定時(shí)任務(wù)進(jìn)行劃分,獲得多個(gè)任務(wù)單元??梢岳斫獾氖牵搫澐忠?guī)則可為其他的劃分規(guī)則,在此并不限定。
[0078]步驟S113、對(duì)每個(gè)任務(wù)單元對(duì)應(yīng)的代碼進(jìn)行封裝,形成子任務(wù),并將所述子任務(wù)存儲(chǔ)在任務(wù)單元列表中。
[0079]根據(jù)劃分的每個(gè)任務(wù)單元,調(diào)用相應(yīng)的代碼或編輯相應(yīng)的代碼,并對(duì)該代碼進(jìn)行封裝,形成子任務(wù)。然后將該形成的子任務(wù)存儲(chǔ)在任務(wù)單元列表中。該任務(wù)單元列表中的子任務(wù)供上述步驟S120中編輯定時(shí)任務(wù)時(shí)使用。
[0080]下面對(duì)以XXX軟件系統(tǒng)的定時(shí)任務(wù)的處理過(guò)程進(jìn)行詳細(xì)的描述,其中該XXX軟件系統(tǒng)中存在3個(gè)定時(shí)任務(wù),即定時(shí)任務(wù)1、定時(shí)任務(wù)2、定時(shí)任務(wù)3。且每個(gè)定時(shí)任務(wù)均劃分為多個(gè)子任務(wù),即定時(shí)任務(wù)I包括子任務(wù)a、子任務(wù)b、子任務(wù)c ;定時(shí)任務(wù)2包括子任務(wù)C、子任務(wù)d、子任務(wù)e ;定時(shí)任務(wù)3包括子任務(wù)a、子任務(wù)C、子任務(wù)f、子任務(wù)g。
[0081]首先將進(jìn)入軟件系統(tǒng)的維護(hù)界面。如圖5所示,該維護(hù)界面中設(shè)有定時(shí)任務(wù)的編輯菜單欄,點(diǎn)擊該“定時(shí)任務(wù)編輯”菜單欄,即可彈出菜單欄下的相應(yīng)控件,例如新建、修改及刪除等等??梢岳斫獾氖?,為了軟件系統(tǒng)的安全性,進(jìn)入維護(hù)界面之前必須進(jìn)行用戶的合法驗(yàn)證,驗(yàn)證通過(guò)時(shí),才可以進(jìn)入維護(hù)界面。
[0082]當(dāng)觸發(fā)“新建”控件時(shí),將彈出如圖6a所示的新建界面。該新建界面中,將顯示供用戶選擇的子任務(wù)以及供用戶輸入定時(shí)任務(wù)名稱的輸入框。該供用戶選擇的子任務(wù)是軟件系統(tǒng)中劃分好的所有子任務(wù)?;蛘咴撟尤蝿?wù)可以為與當(dāng)前用戶的權(quán)限對(duì)應(yīng)的子任務(wù)。通過(guò)勾選相應(yīng)的子任務(wù),并輸入相應(yīng)的定時(shí)任務(wù)名稱,然后點(diǎn)擊“下一步”控件,即進(jìn)入如圖6b所示的新建界面。該新建界面中,將顯示供用戶輸入定時(shí)任務(wù)的調(diào)度信息及運(yùn)行時(shí)間的輸入框。當(dāng)然還可以添加一些其他的信息。在用戶輸入相應(yīng)的信息后,點(diǎn)擊“確定”即可發(fā)起定時(shí)任務(wù)編輯指令。
[0083]當(dāng)觸發(fā)“修改”控件時(shí),將彈出如圖7a所示的修改界面。該修改界面中,將顯示供用戶選擇的定時(shí)任務(wù),例如定時(shí)任務(wù)1、定時(shí)任務(wù)2、定時(shí)任務(wù)3等等。用戶選擇一定時(shí)任務(wù)后,點(diǎn)擊“下一步”控件,即進(jìn)入如圖7b所示的修改界面。該修改界面中,將顯示該定時(shí)任務(wù)I對(duì)應(yīng)的所有子任務(wù)、運(yùn)行時(shí)間及調(diào)度信息的編輯框等等。在用戶編輯相應(yīng)的信息后,點(diǎn)擊“確定”即可發(fā)起定時(shí)任務(wù)編輯指令。
[0084]當(dāng)觸發(fā)“刪除”控件時(shí),將彈出如圖8所示的刪除界面。該刪除界面中,將顯示供用戶選擇的定時(shí)任務(wù),例如定時(shí)任務(wù)1、定時(shí)任務(wù)2、定時(shí)任務(wù)3等等。用戶選擇一定時(shí)任務(wù)后,點(diǎn)擊“刪除”控件,即發(fā)起定時(shí)任務(wù)編輯指令??梢岳斫獾氖?,該定時(shí)任務(wù)的刪除并不是將該定時(shí)任務(wù)的子任務(wù)刪除,其僅刪除定時(shí)任務(wù)的子任務(wù)構(gòu)成關(guān)系及定時(shí)任務(wù)的其他相關(guān)信息。
[0085]對(duì)應(yīng)地,本發(fā)明還提供一種定時(shí)任務(wù)的處理裝置。參照?qǐng)D9,該實(shí)施例的定時(shí)任務(wù)的處理裝置包括:
[0086]子任務(wù)劃分模塊110,用于將每一個(gè)預(yù)設(shè)的定時(shí)任務(wù)分成多個(gè)子任務(wù),并存儲(chǔ);
[0087]指令獲取模塊120,用于獲取定時(shí)任務(wù)編輯指令,所述定時(shí)任務(wù)編輯指令包括組成定時(shí)任務(wù)的子任務(wù)、定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件;
[0088]定時(shí)任務(wù)編輯模塊130,用于根據(jù)所述定時(shí)任務(wù)編輯指令,調(diào)取與所述定時(shí)任務(wù)編輯指令相應(yīng)的子任務(wù),對(duì)所調(diào)取的子任務(wù)進(jìn)行組裝,獲得定時(shí)任務(wù),并為所述定時(shí)任務(wù)添加所述定時(shí)單元的調(diào)度信息及定時(shí)任務(wù)的運(yùn)行條件;
[0089]定時(shí)任務(wù)存放模塊140,用于將所述定時(shí)任務(wù)存放至定時(shí)任務(wù)列表中。
[0090]該預(yù)設(shè)的定時(shí)任務(wù)為現(xiàn)有技術(shù)中已經(jīng)存在的定時(shí)任務(wù),例如虛擬信息采集任務(wù)以及資源信息采集任務(wù)。該子任務(wù)為實(shí)現(xiàn)單一功能的任務(wù)。子任務(wù)劃分模塊110將現(xiàn)有技術(shù)中已經(jīng)存在的定時(shí)任務(wù)劃分為單一功能的子任務(wù),從而使得該子任務(wù)可以達(dá)到最大的可復(fù)用性。例如,虛擬信息采集任務(wù)可劃分為虛擬機(jī)信息采集子任務(wù)、資源使用情況統(tǒng)計(jì)子任務(wù)。資源信息采集任務(wù)可劃分為數(shù)據(jù)中心信息采集子任務(wù)、主機(jī)信息采集子任務(wù)、虛擬機(jī)信息采集子任務(wù)、存儲(chǔ)信息采集子任務(wù)、資源使用情況統(tǒng)計(jì)子任務(wù)。上述定時(shí)任務(wù)編輯指令包括新建定時(shí)任務(wù)、修改定時(shí)任務(wù)。新建定時(shí)任務(wù)時(shí),定時(shí)任務(wù)編輯指令包括組成定時(shí)任務(wù)的子任務(wù)、定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件。修改定時(shí)任務(wù)時(shí),定時(shí)任務(wù)編輯指令可以包括組成定時(shí)任務(wù)的子任務(wù)、定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件中的任意一個(gè)或多個(gè)信息。由于該定時(shí)任務(wù)編輯指令不再需要針對(duì)定時(shí)任務(wù)相關(guān)的源代碼進(jìn)行修改,從而對(duì)處理人員的專業(yè)水平要求較低。同時(shí)該修改定時(shí)任務(wù)時(shí),不再需要停止軟件系統(tǒng)并重新部署,提高了軟件系統(tǒng)的運(yùn)行效率。
[0091]定時(shí)任務(wù)編輯模塊130可以根據(jù)定時(shí)任務(wù)編輯指令,對(duì)子任務(wù)進(jìn)行重新組合,生成與當(dāng)前的運(yùn)行環(huán)境相適應(yīng)的定時(shí)任務(wù),然后為該生成的定時(shí)任務(wù)配置定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件。然后定時(shí)任務(wù)存放模塊140該獲得的定時(shí)任務(wù)將存放至定時(shí)任務(wù)列表中,供軟件系統(tǒng)調(diào)用并執(zhí)行。
[0092]本發(fā)明實(shí)施例通過(guò)將定時(shí)任務(wù)劃分為多個(gè)功能單一的子任務(wù),在需要對(duì)定時(shí)任務(wù)進(jìn)行編輯時(shí),只需要調(diào)取相應(yīng)的子任務(wù),即可生成新的定時(shí)任務(wù),以滿足不同運(yùn)行環(huán)境的需求。因此,本發(fā)明實(shí)施例使得定時(shí)任務(wù)的處理更加靈活,而且不再需要專業(yè)人員進(jìn)行操作,使得定時(shí)任務(wù)的操作更加簡(jiǎn)單,進(jìn)一步提高了定時(shí)任務(wù)的處理效率。
[0093]進(jìn)一步地,參照?qǐng)D10,上述定時(shí)任務(wù)的處理裝置還包括:
[0094]定時(shí)任務(wù)遍歷模塊150,用于周期性地遍歷所述定時(shí)任務(wù)列表中的所有定時(shí)任務(wù);
[0095]定時(shí)任務(wù)調(diào)度模塊160,用于當(dāng)所述定時(shí)任務(wù)隊(duì)列中存在滿足運(yùn)行條件的定時(shí)任務(wù)時(shí),將所述定時(shí)任務(wù)存放至調(diào)度隊(duì)列。
[0096]首先將設(shè)置一個(gè)普通的定時(shí)任務(wù),例如設(shè)置一定時(shí)器。該定時(shí)器的運(yùn)行周期需要足夠短,例如I分鐘。定時(shí)器的計(jì)時(shí)到達(dá)時(shí),將觸發(fā)該定時(shí)任務(wù)。定時(shí)任務(wù)遍歷模塊150將遍歷所述定時(shí)任務(wù)列表中的所有定時(shí)任務(wù)。
[0097]然后,定時(shí)任務(wù)調(diào)度模塊160判斷定時(shí)任務(wù)列表中的定時(shí)任務(wù)的運(yùn)行條件是否滿足,滿足時(shí),將滿足條件的定時(shí)任務(wù)存放至調(diào)度隊(duì)列。該定時(shí)任務(wù)的運(yùn)行條件主要是指運(yùn)行時(shí)間,當(dāng)然也可以為其他的觸發(fā)條件,例如該定時(shí)任務(wù)將在另一定時(shí)任務(wù)的運(yùn)行結(jié)束后觸
發(fā)等等。
[0098]進(jìn)一步地,上述定時(shí)任務(wù)調(diào)度模塊160還用于:按照所述調(diào)度隊(duì)列的運(yùn)行規(guī)則,運(yùn)行所述定時(shí)任務(wù);在所述定時(shí)任務(wù)結(jié)束后,將其從調(diào)度隊(duì)列中刪除。
[0099]該調(diào)度隊(duì)列將依據(jù)任務(wù)的優(yōu)先級(jí)高低,運(yùn)行隊(duì)列中的定時(shí)任務(wù)。每個(gè)定時(shí)任務(wù)的優(yōu)先級(jí)信息可以是由用戶設(shè)置的,也可以是軟件系統(tǒng)默認(rèn)設(shè)置的。另外,該調(diào)度隊(duì)列的運(yùn)行規(guī)則還可以為其他的規(guī)則,在此并不限定。當(dāng)所述定時(shí)任務(wù)結(jié)束后,將其從調(diào)度隊(duì)列中刪除,以便釋放空間。本發(fā)明實(shí)施例通過(guò)將定時(shí)任務(wù)存放在定時(shí)任務(wù)列表中,待遍歷該定時(shí)任務(wù)列表時(shí),滿足運(yùn)行條件的定時(shí)任務(wù)再調(diào)至調(diào)度隊(duì)列中執(zhí)行。因此,本發(fā)明實(shí)施例中,定時(shí)任務(wù)的編輯與定時(shí)任務(wù)的執(zhí)行分隔開(kāi),定時(shí)任務(wù)的編輯時(shí)不需要停止軟件系統(tǒng),不會(huì)影響其他任務(wù)的執(zhí)行。另外,本發(fā)明實(shí)施例通過(guò)優(yōu)先級(jí)的調(diào)度,避免了定時(shí)任務(wù)之間可能出現(xiàn)的依賴問(wèn)題。
[0100]進(jìn)一步地,參照?qǐng)D11,上述子任務(wù)劃分模塊110包括:
[0101]預(yù)設(shè)定時(shí)任務(wù)獲取單元111,用于獲取預(yù)設(shè)的定時(shí)任務(wù);
[0102]任務(wù)劃分單元112,用于按照預(yù)設(shè)的劃分規(guī)則,對(duì)所述預(yù)設(shè)的定時(shí)任務(wù)進(jìn)行劃分,獲得多個(gè)任務(wù)單兀;
[0103]子任務(wù)形成單元113,用于對(duì)每個(gè)任務(wù)單元對(duì)應(yīng)的代碼進(jìn)行封裝,形成子任務(wù),并將所述子任務(wù)存儲(chǔ)在任務(wù)單元列表中。
[0104]該預(yù)設(shè)的定時(shí)任務(wù)為軟件系統(tǒng)中已經(jīng)存在或可能會(huì)存在的定時(shí)任務(wù)。該預(yù)設(shè)的劃分規(guī)則為:劃分的任務(wù)單元功能盡量單一,以達(dá)到最大可復(fù)用性;任務(wù)單元可獨(dú)立完成一項(xiàng)服務(wù),即可獨(dú)立作為一個(gè)定時(shí)任務(wù);任務(wù)單元的耦合度盡可能低。根據(jù)該預(yù)設(shè)的劃分規(guī)貝U,對(duì)所述預(yù)設(shè)的定時(shí)任務(wù)進(jìn)行劃分,獲得多個(gè)任務(wù)單元??梢岳斫獾氖?,該劃分規(guī)則可為其他的劃分規(guī)則,在此并不限定。根據(jù)劃分的每個(gè)任務(wù)單元,調(diào)用相應(yīng)的代碼或編輯相應(yīng)的代碼,并對(duì)該代碼進(jìn)行封裝,形成子任務(wù)。然后將該形成的子任務(wù)存儲(chǔ)在任務(wù)單元列表中。該任務(wù)單元列表中的子任務(wù)供定時(shí)任務(wù)編輯模塊130編輯定時(shí)任務(wù)時(shí)使用。
[0105]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制其專利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種定時(shí)任務(wù)的處理方法,其特征在于,包括以下步驟: 將每一個(gè)預(yù)設(shè)的定時(shí)任務(wù)分成多個(gè)子任務(wù),并存儲(chǔ); 獲取定時(shí)任務(wù)編輯指令,所述定時(shí)任務(wù)編輯指令包括組成定時(shí)任務(wù)的子任務(wù)、定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件; 根據(jù)所述定時(shí)任務(wù)編輯指令,調(diào)取與所述定時(shí)任務(wù)編輯指令相應(yīng)的子任務(wù),對(duì)所調(diào)取的子任務(wù)進(jìn)行組裝,獲得定時(shí)任務(wù),并為所述定時(shí)任務(wù)添加所述定時(shí)單元的調(diào)度信息及定時(shí)任務(wù)的運(yùn)行條件; 將所述定時(shí)任務(wù)存放至定時(shí)任務(wù)列表中。
2.根據(jù)權(quán)利要求1所述的定時(shí)任務(wù)的處理方法,其特征在于,所述將定時(shí)任務(wù)存放至定時(shí)任務(wù)列表中之后還包括: 周期性地遍歷所述定時(shí)任務(wù)列表中的所有定時(shí)任務(wù); 當(dāng)所述定時(shí)任務(wù)隊(duì)列中存在滿足運(yùn)行條件的定時(shí)任務(wù)時(shí),將所述定時(shí)任務(wù)存放至調(diào)度隊(duì)列。
3.根據(jù)權(quán)利要求2所述的定時(shí)任務(wù)的處理方法,其特征在于,所述將所述定時(shí)任務(wù)存放至調(diào)度隊(duì)列之后還包括: 按照所述調(diào)度隊(duì)列的運(yùn)行規(guī)則,運(yùn)行所述定時(shí)任務(wù); 在所述定時(shí)任務(wù)結(jié)束后,將其從調(diào)度隊(duì)列中刪除。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的定時(shí)任務(wù)的處理方法,其特征在于,所述將每一個(gè)預(yù)設(shè)的定時(shí)任務(wù)分成多個(gè)任務(wù)單元,并存儲(chǔ)包括: 獲取預(yù)設(shè)的定時(shí)任務(wù); 按照預(yù)設(shè)的劃分規(guī)則,對(duì)所述預(yù)設(shè)的定時(shí)任務(wù)進(jìn)行劃分,獲得多個(gè)任務(wù)單元; 對(duì)每個(gè)任務(wù)單元對(duì)應(yīng)的代碼進(jìn)行封裝,形成子任務(wù),并將所述子任務(wù)存儲(chǔ)在任務(wù)單元列表中。
5.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的定時(shí)任務(wù)的處理方法,其特征在于,所述定時(shí)任務(wù)編輯指令包括新建定時(shí)任務(wù)、修改定時(shí)任務(wù)。
6.一種定時(shí)任務(wù)的處理裝置,其特征在于,包括: 子任務(wù)劃分模塊,用于將每一個(gè)預(yù)設(shè)的定時(shí)任務(wù)分成多個(gè)子任務(wù),并存儲(chǔ); 指令獲取模塊,用于獲取定時(shí)任務(wù)編輯指令,所述定時(shí)任務(wù)編輯指令包括組成定時(shí)任務(wù)的子任務(wù)、定時(shí)任務(wù)的調(diào)度信息以及定時(shí)任務(wù)的運(yùn)行條件; 定時(shí)任務(wù)編輯模塊,用于根據(jù)所述定時(shí)任務(wù)編輯指令,調(diào)取與所述定時(shí)任務(wù)編輯指令相應(yīng)的子任務(wù),對(duì)所調(diào)取的子任務(wù)進(jìn)行組裝,獲得定時(shí)任務(wù),并為所述定時(shí)任務(wù)添加所述定時(shí)單元的調(diào)度信息及定時(shí)任務(wù)的運(yùn)行條件; 定時(shí)任務(wù)存放模塊,用于將所述定時(shí)任務(wù)存放至定時(shí)任務(wù)列表中。
7.根據(jù)權(quán)利要求6所述的定時(shí)任務(wù)的處理裝置,其特征在于,還包括: 定時(shí)任務(wù)遍歷模塊,用于周期性地遍歷所述定時(shí)任務(wù)列表中的所有定時(shí)任務(wù); 定時(shí)任務(wù)調(diào)度模塊,用于當(dāng)所述定時(shí)任務(wù)隊(duì)列中存在滿足運(yùn)行條件的定時(shí)任務(wù)時(shí),將所述定時(shí)任務(wù)存放至調(diào)度隊(duì)列。
8.根據(jù)權(quán)利要求7所述的定時(shí)任務(wù)的處理裝置,其特征在于,所述定時(shí)任務(wù)調(diào)度模塊還用于:按照所述調(diào)度隊(duì)列的運(yùn)行規(guī)則,運(yùn)行所述定時(shí)任務(wù);在所述定時(shí)任務(wù)結(jié)束后,將其從調(diào)度隊(duì)列中刪除。
9.根據(jù)權(quán)利要求6-8任一項(xiàng)所述的定時(shí)任務(wù)的處理裝置,其特征在于,所述子任務(wù)劃分模塊包括: 預(yù)設(shè)定時(shí)任務(wù)獲取單元,用于獲取預(yù)設(shè)的定時(shí)任務(wù); 任務(wù)劃分單元,用于按照預(yù)設(shè)的劃分規(guī)則,對(duì)所述預(yù)設(shè)的定時(shí)任務(wù)進(jìn)行劃分,獲得多個(gè)任務(wù)單元; 子任務(wù)形成單元,用于對(duì)每個(gè)任務(wù)單元對(duì)應(yīng)的代碼進(jìn)行封裝,形成子任務(wù),并將所述子任務(wù)存儲(chǔ)在任務(wù)單元列表中。
10.根據(jù)權(quán)利要求6-8任一項(xiàng)所述的定時(shí)任務(wù)的處理裝置,其特征在于,所述定時(shí)任務(wù)編輯指令包括 新建定時(shí)任務(wù)、修改定時(shí)任務(wù)。
【文檔編號(hào)】G06F9/44GK103645909SQ201310743715
【公開(kāi)日】2014年3月19日 申請(qǐng)日期:2013年12月30日 優(yōu)先權(quán)日:2013年12月30日
【發(fā)明者】侯杰華, 鄒暾 申請(qǐng)人:中國(guó)煙草總公司湖南省公司