本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,更為具體而言,涉及任務(wù)執(zhí)行方法和終端設(shè)備。
背景技術(shù):
任務(wù)是指所需要執(zhí)行的指令或動(dòng)作的最小單位,一般用來(lái)觸發(fā)期望的一些操作。其中,定時(shí)任務(wù)通常是指在觸發(fā)時(shí)間所指示的時(shí)刻執(zhí)行任務(wù)內(nèi)容的一種事件。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,定時(shí)任務(wù)的應(yīng)用越來(lái)越廣泛,定時(shí)任務(wù)的執(zhí)行數(shù)量和種類也越來(lái)越多。因此,保證定時(shí)任務(wù)的有效執(zhí)行已成為互聯(lián)網(wǎng)領(lǐng)域的關(guān)鍵性問(wèn)題。
然而,在現(xiàn)有技術(shù)當(dāng)中,定時(shí)任務(wù)與任務(wù)調(diào)度端之間往往存在較大的耦合度,一旦任務(wù)調(diào)度端發(fā)生故障,則會(huì)導(dǎo)致定時(shí)任務(wù)難以執(zhí)行。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施方式提供了任務(wù)執(zhí)行方法和終端設(shè)備,用以解決現(xiàn)有技術(shù)中所存在的上述技術(shù)問(wèn)題。
第一方面,本發(fā)明實(shí)施方式提供了一種任務(wù)執(zhí)行方法。
具體地,所述方法包括:
獲取定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間;
從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī);
將所述執(zhí)行指令和所述觸發(fā)時(shí)間傳輸給選取的執(zhí)行機(jī),以便于所述選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和所述觸發(fā)時(shí)間執(zhí)行所述定時(shí)任務(wù)。
由于在本發(fā)明中除定時(shí)任務(wù)的執(zhí)行指令以外,還向執(zhí)行機(jī)傳輸定時(shí)任務(wù)的觸發(fā)時(shí)間,因此,能夠降低定時(shí)任務(wù)與調(diào)度端的耦合度,即使在調(diào)度端發(fā)生異常的情形下,仍能保證定時(shí)任務(wù)在執(zhí)行機(jī)側(cè)正常運(yùn)行。
結(jié)合第一方面,在本發(fā)明的一些實(shí)現(xiàn)方式中,將所述執(zhí)行指令和所述觸發(fā)時(shí)間傳輸給選取的執(zhí)行機(jī)包括:
登錄所述選取的執(zhí)行機(jī);
將所述執(zhí)行指令和所述觸發(fā)時(shí)間寫(xiě)入到所述選取的執(zhí)行機(jī)的配置文件中,其中,所述配置文件由守護(hù)進(jìn)程調(diào)用。
守護(hù)進(jìn)程是一種運(yùn)行在后臺(tái)的特殊進(jìn)程,它獨(dú)立于控制終端并且周期性地執(zhí)行某種任務(wù)或等待處理某些發(fā)生的事件。由于在本發(fā)明中,將定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間寫(xiě)入到由守護(hù)進(jìn)程調(diào)用的配置文件中,因此,能夠通過(guò)守護(hù)進(jìn)程自動(dòng)執(zhí)行定時(shí)任務(wù)。
結(jié)合第一方面,在本發(fā)明的一些實(shí)現(xiàn)方式中,登錄所述選取的執(zhí)行機(jī)包括:
通過(guò)安全協(xié)議登錄所述選取的執(zhí)行機(jī)。
由于在本發(fā)明中通過(guò)安全協(xié)議登錄選取的執(zhí)行機(jī),因此,能夠提高定時(shí)任務(wù)執(zhí)行的安全性。
結(jié)合第一方面,在本發(fā)明的一些實(shí)現(xiàn)方式中,將所述觸發(fā)時(shí)間寫(xiě)入到所述選取的執(zhí)行機(jī)的配置文件中包括:
根據(jù)所述觸發(fā)時(shí)間生成調(diào)度表達(dá)式;
將所述調(diào)度表達(dá)式寫(xiě)入到所述選取的執(zhí)行機(jī)的配置文件中。
在本發(fā)明中,所述調(diào)度表達(dá)式用于指示定時(shí)任務(wù)的調(diào)度信息,該調(diào)度信息包括定時(shí)任務(wù)的所有觸發(fā)時(shí)間。
定時(shí)任務(wù)的觸發(fā)時(shí)間通常為多個(gè),假設(shè)要求定時(shí)任務(wù)每天從00:00開(kāi)始,每隔10分鐘執(zhí)行一次,則該定時(shí)任務(wù)的觸發(fā)時(shí)間例如為:00:10、00:20、00:30……。
本發(fā)明通過(guò)一個(gè)調(diào)度表達(dá)式記錄了定時(shí)任務(wù)的所有觸發(fā)時(shí)間,由此節(jié)省了配置文件的存儲(chǔ)空間。
結(jié)合第一方面,在本發(fā)明的一些實(shí)現(xiàn)方式中,所述方法還包括:
從所述選取的執(zhí)行機(jī)接收所述定時(shí)任務(wù)的批次信息。
批次是指任務(wù)所派生出的周期性的執(zhí)行實(shí)例。批次信息包括任務(wù)的開(kāi)始時(shí)間、結(jié)束時(shí)間和執(zhí)行結(jié)果。在本發(fā)明中通過(guò)從選取的執(zhí)行機(jī)接收定時(shí)任務(wù)的批次信息,可以精確定位定時(shí)任務(wù)每個(gè)批次的開(kāi)始、結(jié)束和結(jié)果,使得定時(shí)任務(wù)的控制粒度更加細(xì)化,便于從批次級(jí)別對(duì)定時(shí)任務(wù)進(jìn)行觀察和操作。
第二方面,本發(fā)明實(shí)施方式提供了一種終端設(shè)備。
具體地,所述設(shè)備包括:
獲取模塊,用于獲取定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間;
第一選取模塊,用于從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī);
第一傳輸模塊,用于將所述執(zhí)行指令和所述觸發(fā)時(shí)間傳輸給選取的執(zhí)行機(jī),以便于所述選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和所述觸發(fā)時(shí)間執(zhí)行所述定時(shí)任務(wù)。
由于在本發(fā)明中除定時(shí)任務(wù)的執(zhí)行指令以外,還向執(zhí)行機(jī)傳輸定時(shí)任務(wù)的觸發(fā)時(shí)間,因此,能夠降低定時(shí)任務(wù)與調(diào)度端的耦合度,即使在調(diào)度端發(fā)生異常的情形下,仍能保證定時(shí)任務(wù)在執(zhí)行機(jī)側(cè)正常運(yùn)行。
結(jié)合第二方面,在本發(fā)明的一些實(shí)現(xiàn)方式中,所述第一傳輸模塊包括:
登錄單元,用于登錄所述選取的執(zhí)行機(jī);
寫(xiě)入單元,包括:用于將所述執(zhí)行指令寫(xiě)入到所述選取的執(zhí)行機(jī)的配置文件中的指令寫(xiě)入組件,和,用于將所述觸發(fā)時(shí)間寫(xiě)入到所述配置文件中的時(shí)間寫(xiě)入組件,其中,所述配置文件由守護(hù)進(jìn)程調(diào)用。
守護(hù)進(jìn)程是一種運(yùn)行在后臺(tái)的特殊進(jìn)程,它獨(dú)立于控制終端并且周期性地執(zhí)行某種任務(wù)或等待處理某些發(fā)生的事件。由于在本發(fā)明中,將定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間寫(xiě)入到由守護(hù)進(jìn)程調(diào)用的配置文件中,因此,能夠通過(guò)守護(hù)進(jìn)程自動(dòng)執(zhí)行定時(shí)任務(wù)。
結(jié)合第二方面,在本發(fā)明的一些實(shí)現(xiàn)方式中,
所述登錄單元,用于執(zhí)行下述處理以實(shí)現(xiàn)登錄所述選取的執(zhí)行機(jī):通過(guò)安全協(xié)議登錄所述選取的執(zhí)行機(jī)。
由于在本發(fā)明中通過(guò)安全協(xié)議登錄選取的執(zhí)行機(jī),因此,能夠提高定時(shí)任務(wù)執(zhí)行的安全性。
結(jié)合第二方面,在本發(fā)明的一些實(shí)現(xiàn)方式中,所述時(shí)間寫(xiě)入組件包括:
生成子組件,用于根據(jù)所述觸發(fā)時(shí)間生成調(diào)度表達(dá)式;
寫(xiě)入子組件,用于將所述調(diào)度表達(dá)式寫(xiě)入到所述配置文件中。
在本發(fā)明中,所述調(diào)度表達(dá)式用于指示定時(shí)任務(wù)的調(diào)度信息,該調(diào)度信息包括定時(shí)任務(wù)的所有觸發(fā)時(shí)間。
定時(shí)任務(wù)的觸發(fā)時(shí)間通常為多個(gè),假設(shè)要求定時(shí)任務(wù)每天從00:00開(kāi)始,每隔10分鐘執(zhí)行一次,則該定時(shí)任務(wù)的觸發(fā)時(shí)間例如為:00:10、00:20、00:30……。
本發(fā)明通過(guò)一個(gè)調(diào)度表達(dá)式記錄了定時(shí)任務(wù)的所有觸發(fā)時(shí)間,由此節(jié)省了配置文件的存儲(chǔ)空間。
結(jié)合第二方面,在本發(fā)明的一些實(shí)現(xiàn)方式中,所述設(shè)備還包括:
接收模塊,用于從所述選取的執(zhí)行機(jī)接收所述定時(shí)任務(wù)的批次信息。
批次是指任務(wù)所派生出的周期性的執(zhí)行實(shí)例。批次信息包括任務(wù)的開(kāi)始時(shí)間、結(jié)束時(shí)間和執(zhí)行結(jié)果。在本發(fā)明中通過(guò)從選取的執(zhí)行機(jī)接收定時(shí)任務(wù)的批次信息,可以精確定位定時(shí)任務(wù)每個(gè)批次的開(kāi)始、結(jié)束和結(jié)果,使得定時(shí)任務(wù)的控制粒度更加細(xì)化,便于從批次級(jí)別對(duì)定時(shí)任務(wù)進(jìn)行觀察和操作。
本發(fā)明的這些方面或其他方面在以下具體實(shí)施方式的描述中會(huì)更加簡(jiǎn)明易懂。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施方式的技術(shù)方案,下面將對(duì)實(shí)施方式描述中所需要使用的附圖作一簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施方式,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)本發(fā)明方法實(shí)施方式1的任務(wù)執(zhí)行方法的流程圖;
圖2是根據(jù)本發(fā)明方法實(shí)施方式2的任務(wù)執(zhí)行方法的流程圖;
圖3是根據(jù)本發(fā)明方法實(shí)施方式3的任務(wù)執(zhí)行方法的流程圖;
圖4是根據(jù)本發(fā)明方法實(shí)施方式5的任務(wù)執(zhí)行方法的流程圖;
圖5是根據(jù)本發(fā)明方法實(shí)施方式6的任務(wù)執(zhí)行方法的流程圖;
圖6是用于實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施方式8的任務(wù)執(zhí)行方法的系統(tǒng)的架構(gòu)圖;
圖7是根據(jù)本發(fā)明方法實(shí)施方式8的任務(wù)執(zhí)行方法的流程圖;
圖8是根據(jù)本發(fā)明產(chǎn)品實(shí)施方式1的終端設(shè)備的結(jié)構(gòu)示意圖;
圖9示出了圖8所示的第一傳輸模塊3的一種實(shí)施方式;
圖10示出了圖9所示的時(shí)間寫(xiě)入組件322的一種實(shí)施方式;
圖11是根據(jù)本發(fā)明產(chǎn)品實(shí)施方式6的終端設(shè)備的結(jié)構(gòu)示意圖;
圖12是根據(jù)本發(fā)明產(chǎn)品實(shí)施方式7的終端設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
以下結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明的各個(gè)方面進(jìn)行詳細(xì)闡述。其中,在本發(fā)明的各個(gè)具體實(shí)施方式中,眾所周知的操作過(guò)程、程序模塊、單元及其相互之間的連接、鏈接、通信或操作沒(méi)有示出或未作詳細(xì)說(shuō)明。
并且,所描述的特征、架構(gòu)或功能可在一個(gè)或一個(gè)以上實(shí)施例中以任何方式組合。
此外,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,下述的各種實(shí)施方式只用于舉例說(shuō)明,而非用于限制本發(fā)明的保護(hù)范圍。本領(lǐng)域的技術(shù)人員還可以容易理解,本文所述和附圖所示的各實(shí)施方式中的程序模塊、單元或步驟可以按多種不同配置進(jìn)行組合和設(shè)計(jì)。
對(duì)于未在本說(shuō)明書(shū)中進(jìn)行具體說(shuō)明的技術(shù)術(shù)語(yǔ),除非另有特定說(shuō)明,都應(yīng)以本領(lǐng)域最寬泛的意思進(jìn)行解釋。
在本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的描述的一些流程中,包含了按照特定順序出現(xiàn)的多個(gè)操作,但是應(yīng)該清楚了解,這些操作可以不按照其在本文中出現(xiàn)的順序來(lái)執(zhí)行或并行執(zhí)行,操作的序號(hào)如101、102等,僅僅是用于區(qū)分開(kāi)各個(gè)不同的操作,序號(hào)本身不代表任何的執(zhí)行順序。另外,這些流程可以包括更多或更少的操作,并且這些操作可以按順序執(zhí)行或并行執(zhí)行。需要說(shuō)明的是,本文中的“第一”、“第二”等描述,是用于區(qū)分不同的消息、設(shè)備、模塊等,不代表先后順序,也不限定“第一”和“第二”是不同的類型。
下面將結(jié)合附圖,對(duì)本發(fā)明實(shí)施方式中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施方式僅僅是本發(fā)明的一部分實(shí)施方式,而不是全部的實(shí)施方式?;诒景l(fā)明中的實(shí)施方式,本領(lǐng)域技術(shù)人員在沒(méi)有付出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施方式,都屬于本發(fā)明保護(hù)的范圍。
【方法實(shí)施方式1】
圖1是根據(jù)本發(fā)明方法實(shí)施方式1的任務(wù)執(zhí)行方法的流程圖。參見(jiàn)圖1,在本實(shí)施方式中,所述方法包括:
s11:獲取定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間。
所述定時(shí)任務(wù)指在觸發(fā)時(shí)間所指示的時(shí)刻執(zhí)行任務(wù)內(nèi)容的一種事件。
s12:從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī)。
所述執(zhí)行機(jī)組包括多個(gè)執(zhí)行機(jī)。
s13:將所述執(zhí)行指令和所述觸發(fā)時(shí)間傳輸給選取的執(zhí)行機(jī),以便于所述選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和所述觸發(fā)時(shí)間執(zhí)行所述定時(shí)任務(wù)。
由于在本發(fā)明中除定時(shí)任務(wù)的執(zhí)行指令以外,還向執(zhí)行機(jī)傳輸定時(shí)任務(wù)的觸發(fā)時(shí)間,因此,能夠降低定時(shí)任務(wù)與調(diào)度端的耦合度,即使在調(diào)度端發(fā)生異常的情形下,仍能保證定時(shí)任務(wù)在執(zhí)行機(jī)側(cè)正常運(yùn)行。
【方法實(shí)施方式2】
圖2是根據(jù)本發(fā)明方法實(shí)施方式2的任務(wù)執(zhí)行方法的流程圖。參見(jiàn)圖2,在本實(shí)施方式中,所述方法包括:
s21:獲取定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間。
s22:根據(jù)所述定時(shí)任務(wù)的執(zhí)行類型,從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī)。
s23:將所述執(zhí)行指令和所述觸發(fā)時(shí)間傳輸給選取的執(zhí)行機(jī),以便于所述選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和所述觸發(fā)時(shí)間執(zhí)行所述定時(shí)任務(wù)。
所述執(zhí)行類型包括但不限于:用戶指定執(zhí)行機(jī)執(zhí)行、隨機(jī)選取執(zhí)行機(jī)執(zhí)行、擇優(yōu)選取執(zhí)行機(jī)執(zhí)行等。
用戶指定執(zhí)行機(jī)執(zhí)行指:從執(zhí)行機(jī)組中選取用戶指定的執(zhí)行機(jī)執(zhí)行定時(shí)任務(wù)。
隨機(jī)選取執(zhí)行機(jī)執(zhí)行指:從執(zhí)行機(jī)組中隨機(jī)選取執(zhí)行機(jī)執(zhí)行定時(shí)任務(wù)。
擇優(yōu)選取執(zhí)行機(jī)執(zhí)行指:根據(jù)執(zhí)行機(jī)的cpu(centralprocessingunit,中央處理器)負(fù)載情況和內(nèi)存使用情況,從執(zhí)行機(jī)組中擇優(yōu)選取執(zhí)行機(jī)執(zhí)行定時(shí)任務(wù)。
由于在本發(fā)明中根據(jù)定時(shí)任務(wù)的執(zhí)行類型,從執(zhí)行機(jī)組中選取執(zhí)行該定時(shí)任務(wù)的執(zhí)行機(jī),因此,能夠定制化地執(zhí)行定時(shí)任務(wù),從而滿足不同的定時(shí)任務(wù)處理需求。
【方法實(shí)施方式3】
圖3是根據(jù)本發(fā)明方法實(shí)施方式3的任務(wù)執(zhí)行方法的流程圖。如圖3所示,在本實(shí)施方式中,所述方法包括:
s31:獲取定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間。
s32:從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī)。
s33:登錄所述選取的執(zhí)行機(jī)。
s34:將所述執(zhí)行指令和所述觸發(fā)時(shí)間寫(xiě)入到所述選取的執(zhí)行機(jī)的配置文件中,以便于所述選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和觸發(fā)時(shí)間執(zhí)行所述定時(shí)任務(wù)。其中,所述配置文件由守護(hù)進(jìn)程調(diào)用。
守護(hù)進(jìn)程是一種運(yùn)行在后臺(tái)的特殊進(jìn)程,它獨(dú)立于控制終端并且周期性地執(zhí)行某種任務(wù)或等待處理某些發(fā)生的事件。由于在本發(fā)明中,將定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間寫(xiě)入到由守護(hù)進(jìn)程調(diào)用的配置文件中,因此,能夠通過(guò)守護(hù)進(jìn)程自動(dòng)執(zhí)行定時(shí)任務(wù)。
【方法實(shí)施方式4】
本實(shí)施方式所提供的方法包含了方法實(shí)施方式3中的全部?jī)?nèi)容,在此不再贅述。其中,在本實(shí)施方式中,通過(guò)下述方式實(shí)現(xiàn)s33:通過(guò)安全協(xié)議登錄所述選取的執(zhí)行機(jī)。
由于在本發(fā)明中通過(guò)安全協(xié)議登錄選取的執(zhí)行機(jī),因此,能夠提高定時(shí)任務(wù)執(zhí)行的安全性。
【方法實(shí)施方式5】
圖4是根據(jù)本發(fā)明方法實(shí)施方式5的任務(wù)執(zhí)行方法的流程圖。如圖4所示,在本實(shí)施方式中,所述方法包括:
s41:獲取定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間。
s42:從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī)。
s43:登錄所述選取的執(zhí)行機(jī)。
s44:根據(jù)所述觸發(fā)時(shí)間生成調(diào)度表達(dá)式。
s45:將所述執(zhí)行指令和所述調(diào)度表達(dá)式寫(xiě)入到所述選取的執(zhí)行機(jī)的配置文件中,以便于所述選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和調(diào)度表達(dá)式執(zhí)行所述定時(shí)任務(wù)。其中,所述配置文件由守護(hù)進(jìn)程調(diào)用。
所述調(diào)度表達(dá)式用于指示定時(shí)任務(wù)的調(diào)度信息,該調(diào)度信息包括定時(shí)任務(wù)的所有觸發(fā)時(shí)間。
定時(shí)任務(wù)的觸發(fā)時(shí)間通常為多個(gè),假設(shè)要求定時(shí)任務(wù)每天從00:00開(kāi)始,每隔10分鐘執(zhí)行一次,則該定時(shí)任務(wù)的觸發(fā)時(shí)間例如為:00:10、00:20、00:30……。
對(duì)此,本發(fā)明通過(guò)一個(gè)調(diào)度表達(dá)式記錄了定時(shí)任務(wù)的所有觸發(fā)時(shí)間,由此節(jié)省了配置文件的存儲(chǔ)空間。
該調(diào)度表達(dá)式的字段包括:秒、分鐘、小時(shí)、日、月、年。各字段的允許值分別為:0至59、0至59、0至23、1至31、1至12、1900至2999(可選)。每個(gè)字段的取值均可采用一些特定的符號(hào),例如,“-”、“*”、“/”等。
其中,“-”表示時(shí)間范圍,例如,若小時(shí)字段的取值為“10-12”,則表示10點(diǎn)、11點(diǎn)、12點(diǎn)。
“*”表示該字段的所有取值,例如,若分鐘字段的取值為“*”,則表示每分鐘。
“/”表示時(shí)間增量,例如,若分鐘字段的取值為“5/15”,則表示每小時(shí)的5分、20分、35分和50分。
【方法實(shí)施方式6】
圖5是根據(jù)本發(fā)明方法實(shí)施方式6的任務(wù)執(zhí)行方法的流程圖。如圖5所示,在本實(shí)施方式中,所述方法包括:
s51:獲取定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間。
s52:從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī)。
s53:將所述執(zhí)行指令和所述觸發(fā)時(shí)間傳輸給選取的執(zhí)行機(jī),以便于所述選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和所述觸發(fā)時(shí)間執(zhí)行所述定時(shí)任務(wù)。
s54:從所述選取的執(zhí)行機(jī)接收所述定時(shí)任務(wù)的批次信息。
批次是指任務(wù)所派生出的周期性的執(zhí)行實(shí)例。批次信息包括任務(wù)的開(kāi)始時(shí)間、結(jié)束時(shí)間和執(zhí)行結(jié)果。
在本發(fā)明中通過(guò)從選取的執(zhí)行機(jī)接收定時(shí)任務(wù)的批次信息,可以精確定位定時(shí)任務(wù)每個(gè)批次的開(kāi)始時(shí)間、結(jié)束時(shí)間和執(zhí)行結(jié)果,使得定時(shí)任務(wù)的控制粒度更加細(xì)化,便于從批次級(jí)別對(duì)定時(shí)任務(wù)進(jìn)行觀察和操作。
【方法實(shí)施方式7】
本實(shí)施方式所提供的方法包括了方法實(shí)施方式1至方法實(shí)施方式6中任一項(xiàng)的全部?jī)?nèi)容,在此不再贅述。在本實(shí)施方式中,所述方法還包括以下處理:
a、識(shí)別所述選取的執(zhí)行機(jī)是否屬于所述執(zhí)行機(jī)組。若是,則經(jīng)設(shè)定時(shí)間(例如1分鐘,當(dāng)然本領(lǐng)域的技術(shù)人員也可以根據(jù)實(shí)際需要對(duì)該設(shè)定時(shí)間進(jìn)行其他合理設(shè)置)后返回執(zhí)行處理a,若否,則執(zhí)行處理b。
b、從所述選取的執(zhí)行機(jī)上刪除所述定時(shí)任務(wù)。
c、從所述執(zhí)行機(jī)組中重新選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī)。
d、將所述執(zhí)行指令和所述觸發(fā)時(shí)間傳輸給重新選取的執(zhí)行機(jī)。
由于在本發(fā)明中增加了監(jiān)控轉(zhuǎn)移邏輯(即識(shí)別選取的執(zhí)行機(jī)是否屬于執(zhí)行機(jī)組,在選取的執(zhí)行機(jī)不屬于執(zhí)行機(jī)組的情形下,轉(zhuǎn)移定時(shí)任務(wù)),因此,能夠有效避免通過(guò)無(wú)效的執(zhí)行機(jī)執(zhí)行定時(shí)任務(wù)。
【方法實(shí)施方式8】
圖6是用于實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施方式8的任務(wù)執(zhí)行方法的系統(tǒng)的架構(gòu)圖。參見(jiàn)圖6,該系統(tǒng)包括中控機(jī)和執(zhí)行機(jī)。其中,中控機(jī)在網(wǎng)絡(luò)層進(jìn)行單一任務(wù)的配置、批量任務(wù)的配置、任務(wù)審核、任務(wù)測(cè)試、任務(wù)批次的中斷以及日志查看等操作,在應(yīng)用層進(jìn)行執(zhí)行機(jī)組解析(例如解析執(zhí)行機(jī)組下各執(zhí)行機(jī)的狀態(tài)信息)、任務(wù)注冊(cè)(將任務(wù)植入到執(zhí)行機(jī)的配置文件中)、任務(wù)解綁(將任務(wù)從執(zhí)行機(jī)上刪除)、執(zhí)行腳本生成、執(zhí)行機(jī)組更新檢測(cè)(識(shí)別執(zhí)行機(jī)組下的執(zhí)行機(jī)是否發(fā)生變更)以及監(jiān)控告警等操作。執(zhí)行機(jī)進(jìn)行執(zhí)行腳本調(diào)起、批次信息回傳、進(jìn)程殺死、日志回調(diào)等操作。
下面將結(jié)合流程圖說(shuō)明根據(jù)本實(shí)施方式的任務(wù)執(zhí)行方法的具體實(shí)現(xiàn)過(guò)程。如圖7所示,在本實(shí)施方式中,所述方法包括:
步驟1:用戶通過(guò)中控機(jī)的前端配置定時(shí)任務(wù)的任務(wù)名稱、任務(wù)標(biāo)識(shí)、執(zhí)行指令、觸發(fā)時(shí)間以及期望的執(zhí)行類型(用戶指定執(zhí)行機(jī)執(zhí)行、隨機(jī)選取執(zhí)行機(jī)執(zhí)行或者擇優(yōu)選取執(zhí)行機(jī)執(zhí)行)。
步驟2:中控機(jī)對(duì)用戶配置的定時(shí)任務(wù)進(jìn)行審核,若審核通過(guò),則執(zhí)行步驟3,若審核未通過(guò),則結(jié)束當(dāng)前流程。
步驟3:中控機(jī)依據(jù)執(zhí)行類型從執(zhí)行機(jī)組中選取執(zhí)行機(jī)。
以執(zhí)行類型為擇優(yōu)選取執(zhí)行機(jī)執(zhí)行為例,中控機(jī)通過(guò)執(zhí)行機(jī)組解析邏輯,獲取執(zhí)行機(jī)組下所有執(zhí)行機(jī)的狀態(tài)信息(包括cpu負(fù)載信息和內(nèi)存使用量信息),并且根據(jù)各執(zhí)行機(jī)的狀態(tài)信息選取合適的執(zhí)行機(jī)(組)。此外,在本實(shí)施方式中,在選取執(zhí)行機(jī)之后,需要判斷選取的是單一的執(zhí)行機(jī)還是執(zhí)行機(jī)組,若選取的是執(zhí)行機(jī)組,則需要解析出執(zhí)行機(jī)組的ip(internetprotocol,網(wǎng)絡(luò)之間互聯(lián)的協(xié)議)地址列表,以便于中控機(jī)登錄到選取的執(zhí)行機(jī)組。
步驟4:中控機(jī)通過(guò)邏輯拼接將用戶配置的執(zhí)行指令拼接成執(zhí)行腳本,該執(zhí)行腳本中記載有基于http(hypertexttransferprotocol,超文本傳輸協(xié)議)協(xié)議的信息回調(diào)方法。
步驟5:中控機(jī)根據(jù)用戶配置的觸發(fā)時(shí)間生成調(diào)度表達(dá)式,該調(diào)度表達(dá)式用于指示定時(shí)任務(wù)的調(diào)度信息,該調(diào)度信息包括定時(shí)任務(wù)的所有觸發(fā)時(shí)間。
步驟6:中控機(jī)通過(guò)安全協(xié)議(例如ssh(secureshell,安全外殼協(xié)議))登錄選取的執(zhí)行機(jī),將定時(shí)任務(wù)的執(zhí)行腳本和調(diào)度表達(dá)式注冊(cè)到執(zhí)行機(jī)的配置文件中,該配置文件由守護(hù)進(jìn)程調(diào)用。
在基于ssh協(xié)議登錄執(zhí)行機(jī)的情形下,如果用戶對(duì)執(zhí)行機(jī)沒(méi)有完全控制的權(quán)限(例如沒(méi)有執(zhí)行機(jī)的密碼),則可以通過(guò)agent(代理)與執(zhí)行機(jī)進(jìn)行交互,這樣可以嚴(yán)格控制用戶的執(zhí)行權(quán)限。
步驟7:執(zhí)行機(jī)的守護(hù)進(jìn)程根據(jù)該配置文件中的調(diào)度表達(dá)式,在指定的觸發(fā)時(shí)間調(diào)起執(zhí)行腳本,并通過(guò)執(zhí)行腳本中的信息回調(diào)方法與中控機(jī)進(jìn)行交互。
步驟8:中控機(jī)接收?qǐng)?zhí)行機(jī)通過(guò)信息回調(diào)方法傳遞過(guò)來(lái)的定時(shí)任務(wù)批次信息(包括定時(shí)任務(wù)在某一批次的開(kāi)始時(shí)間、結(jié)束時(shí)間和執(zhí)行結(jié)果),并在前端將該批次信息動(dòng)態(tài)展示給用戶,用戶可以根據(jù)批次信息中斷某一批次的執(zhí)行,例如,用戶可以根據(jù)批次信息手動(dòng)殺死進(jìn)程樹(shù)。
在本實(shí)施方式中,中控機(jī)只接收?qǐng)?zhí)行機(jī)通過(guò)信息回調(diào)方法傳遞過(guò)來(lái)的信息,批次的生成邏輯托管至執(zhí)行機(jī)中。
可選地,執(zhí)行機(jī)在開(kāi)始執(zhí)行定時(shí)任務(wù)前,可以先進(jìn)行互斥檢查,即檢查該定時(shí)任務(wù)的前一批次是否已執(zhí)行完畢,以避免發(fā)生執(zhí)行沖突。
此外,在本實(shí)施方式中,所述方法還可以包括與上述過(guò)程(步驟1至步驟8)并發(fā)執(zhí)行的下述處理:識(shí)別步驟3選取的執(zhí)行機(jī)是否屬于該執(zhí)行機(jī)組,若不屬于該執(zhí)行機(jī)組,則將所述定時(shí)任務(wù)從選取的執(zhí)行機(jī)上解綁,并結(jié)合步驟3所采用的執(zhí)行機(jī)選取邏輯,從該執(zhí)行機(jī)組中重新選取執(zhí)行機(jī)執(zhí)行所述定時(shí)任務(wù)。即在執(zhí)行機(jī)組中的執(zhí)行機(jī)發(fā)生改變時(shí),通過(guò)對(duì)執(zhí)行機(jī)上的任務(wù)進(jìn)行注冊(cè)和解綁來(lái)達(dá)到變更執(zhí)行機(jī)的目的,以避免通過(guò)無(wú)效的執(zhí)行機(jī)執(zhí)行定時(shí)任務(wù)。
當(dāng)然,用戶也可以通過(guò)中控機(jī)對(duì)任務(wù)進(jìn)行注冊(cè)和解綁,從而更換執(zhí)行機(jī)。
【產(chǎn)品實(shí)施方式1】
圖8是根據(jù)本發(fā)明產(chǎn)品實(shí)施方式1的終端設(shè)備的結(jié)構(gòu)示意圖。參見(jiàn)圖8,在本實(shí)施方式中,終端設(shè)備10包括:獲取模塊1、第一選取模塊2和第一傳輸模塊3,具體地:
獲取模塊1用于獲取定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間。
所述定時(shí)任務(wù)指在觸發(fā)時(shí)間所指示的時(shí)刻執(zhí)行任務(wù)內(nèi)容的一種事件。
第一選取模塊2用于從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī)。
所述執(zhí)行機(jī)組包括多個(gè)執(zhí)行機(jī)。
第一傳輸模塊3用于將獲取模塊1獲取的執(zhí)行指令和觸發(fā)時(shí)間傳輸給第一選取模塊2選取的執(zhí)行機(jī),以便于所述選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和所述觸發(fā)時(shí)間執(zhí)行所述定時(shí)任務(wù)。
由于在本發(fā)明中除定時(shí)任務(wù)的執(zhí)行指令以外,還向執(zhí)行機(jī)傳輸定時(shí)任務(wù)的觸發(fā)時(shí)間,因此,能夠降低定時(shí)任務(wù)與調(diào)度端的耦合度,即使在調(diào)度端發(fā)生異常的情形下,仍能保證定時(shí)任務(wù)在執(zhí)行機(jī)側(cè)正常運(yùn)行。
【產(chǎn)品實(shí)施方式2】
本實(shí)施方式與產(chǎn)品實(shí)施方式1采用了相同的結(jié)構(gòu)。其區(qū)別在于,在本實(shí)施方式中,第一選取模塊2具體通過(guò)以下方式來(lái)實(shí)現(xiàn)從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī):根據(jù)所述定時(shí)任務(wù)的執(zhí)行類型,從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī)。
所述執(zhí)行類型包括但不限于:用戶指定執(zhí)行機(jī)執(zhí)行、隨機(jī)選取執(zhí)行機(jī)執(zhí)行、擇優(yōu)選取執(zhí)行機(jī)執(zhí)行等。
用戶指定執(zhí)行機(jī)執(zhí)行指:從執(zhí)行機(jī)組中選取用戶指定的執(zhí)行機(jī)執(zhí)行定時(shí)任務(wù)。
隨機(jī)選取執(zhí)行機(jī)執(zhí)行指:從執(zhí)行機(jī)組中隨機(jī)選取執(zhí)行機(jī)執(zhí)行定時(shí)任務(wù)。
擇優(yōu)選取執(zhí)行機(jī)執(zhí)行指:根據(jù)執(zhí)行機(jī)的cpu負(fù)載情況和內(nèi)存使用情況,從執(zhí)行機(jī)組中擇優(yōu)選取執(zhí)行機(jī)執(zhí)行定時(shí)任務(wù)。
由于在本發(fā)明中根據(jù)定時(shí)任務(wù)的執(zhí)行類型,從執(zhí)行機(jī)組中選取執(zhí)行該定時(shí)任務(wù)的執(zhí)行機(jī),因此,能夠定制化地執(zhí)行定時(shí)任務(wù),從而滿足不同的定時(shí)任務(wù)處理需求。
【產(chǎn)品實(shí)施方式3】
本實(shí)施方式所提供的終端設(shè)備包括了產(chǎn)品實(shí)施方式1或產(chǎn)品實(shí)施方式2中的全部?jī)?nèi)容,在此不再贅述。如圖9所示,在本實(shí)施方式中,第一傳輸模塊3包括:登錄單元31和寫(xiě)入單元32,具體地:
登錄單元31用于登錄所述選取的執(zhí)行機(jī)。
寫(xiě)入單元32包括:用于將所述執(zhí)行指令寫(xiě)入到登錄單元31登錄的執(zhí)行機(jī)的配置文件中的指令寫(xiě)入組件321,和,用于將所述觸發(fā)時(shí)間寫(xiě)入到所述配置文件中的時(shí)間寫(xiě)入組件322,其中,所述配置文件由守護(hù)進(jìn)程調(diào)用。
守護(hù)進(jìn)程是一種運(yùn)行在后臺(tái)的特殊進(jìn)程,它獨(dú)立于控制終端并且周期性地執(zhí)行某種任務(wù)或等待處理某些發(fā)生的事件。由于在本發(fā)明中,將定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間寫(xiě)入到由守護(hù)進(jìn)程調(diào)用的配置文件中,因此,能夠通過(guò)守護(hù)進(jìn)程自動(dòng)執(zhí)行定時(shí)任務(wù)。
【產(chǎn)品實(shí)施方式4】
本實(shí)施方式與產(chǎn)品實(shí)施方式3采用了相同的結(jié)構(gòu)。其區(qū)別在于,在本實(shí)施方式中,登錄單元31具體通過(guò)以下方式來(lái)實(shí)現(xiàn)登錄所述選取的執(zhí)行機(jī):通過(guò)安全協(xié)議登錄所述選取的執(zhí)行機(jī)。
由于在本發(fā)明中通過(guò)安全協(xié)議登錄選取的執(zhí)行機(jī),因此,能夠提高定時(shí)任務(wù)執(zhí)行的安全性。
【產(chǎn)品實(shí)施方式5】
本實(shí)施方式所提供的終端設(shè)備包括了產(chǎn)品實(shí)施方式3或產(chǎn)品實(shí)施方式4中的全部?jī)?nèi)容,在此不再贅述。如圖10所示,在本實(shí)施方式中,時(shí)間寫(xiě)入組件322包括:生成子組件3221和寫(xiě)入子組件3222,具體地:
生成子組件3221用于根據(jù)所述觸發(fā)時(shí)間生成調(diào)度表達(dá)式。
寫(xiě)入子組件3222用于將生成子組件3221生成的調(diào)度表達(dá)式寫(xiě)入到所述配置文件中。
在本發(fā)明中,所述調(diào)度表達(dá)式用于指示定時(shí)任務(wù)的調(diào)度信息,該調(diào)度信息包括定時(shí)任務(wù)的所有觸發(fā)時(shí)間。
定時(shí)任務(wù)的觸發(fā)時(shí)間通常為多個(gè),假設(shè)要求定時(shí)任務(wù)每天從00:00開(kāi)始,每隔10分鐘執(zhí)行一次,則該定時(shí)任務(wù)的觸發(fā)時(shí)間例如為:00:10、00:20、00:30……。
本發(fā)明通過(guò)一個(gè)調(diào)度表達(dá)式記錄了定時(shí)任務(wù)的所有觸發(fā)時(shí)間,由此節(jié)省了配置文件的存儲(chǔ)空間。
該調(diào)度表達(dá)式的字段包括:秒、分鐘、小時(shí)、日、月、年。各字段的允許值分別為:0至59、0至59、0至23、1至31、1至12、1900至2999(可選)。每個(gè)字段的取值均可采用一些特定的符號(hào),例如,“-”、“*”、“/”等。
其中,“-”表示時(shí)間范圍,例如,若小時(shí)字段的取值為“10-12”,則表示10點(diǎn)、11點(diǎn)、12點(diǎn)。
“*”表示該字段的所有取值,例如,若分鐘字段的取值為“*”,則表示每分鐘。
“/”表示時(shí)間增量,例如,若分鐘字段的取值為“5/15”,則表示每小時(shí)的5分、20分、35分和50分。
【產(chǎn)品實(shí)施方式6】
圖11是根據(jù)本發(fā)明產(chǎn)品實(shí)施方式6的終端設(shè)備的結(jié)構(gòu)示意圖。參見(jiàn)圖11,在本實(shí)施方式中,終端設(shè)備10’包括:獲取模塊1’、第一選取模塊2’、第一傳輸模塊3’和接收模塊4’,具體地:
獲取模塊1’用于獲取定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間。
第一選取模塊2’用于從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī)。
第一傳輸模塊3’用于將獲取模塊1’獲取的執(zhí)行指令和觸發(fā)時(shí)間傳輸給第一選取模塊2’選取的執(zhí)行機(jī),以便于所述選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和所述觸發(fā)時(shí)間執(zhí)行所述定時(shí)任務(wù)。
接收模塊4’用于從第一選取模塊2’選取的執(zhí)行機(jī)接收所述定時(shí)任務(wù)的批次信息。
批次是指任務(wù)所派生出的周期性的執(zhí)行實(shí)例。批次信息包括任務(wù)的開(kāi)始時(shí)間、結(jié)束時(shí)間和執(zhí)行結(jié)果。
在本發(fā)明中通過(guò)從選取的執(zhí)行機(jī)接收定時(shí)任務(wù)的批次信息,可以精確定位定時(shí)任務(wù)每個(gè)批次的開(kāi)始、結(jié)束和結(jié)果,使得定時(shí)任務(wù)的控制粒度更加細(xì)化,便于從批次級(jí)別對(duì)定時(shí)任務(wù)進(jìn)行觀察和操作。
【產(chǎn)品實(shí)施方式7】
圖12是根據(jù)本發(fā)明產(chǎn)品實(shí)施方式7的終端設(shè)備的結(jié)構(gòu)示意圖。參見(jiàn)圖12,在本實(shí)施方式中,終端設(shè)備10”包括:獲取模塊1”、第一選取模塊2”、第一傳輸模塊3”、識(shí)別模塊4”、刪除模塊5”、第二選取模塊6”和第二傳輸模塊7”,具體地:
獲取模塊1”用于獲取定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間。
第一選取模塊2”用于從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī)。
第一傳輸模塊3”用于將獲取模塊1”獲取的執(zhí)行指令和觸發(fā)時(shí)間傳輸給第一選取模塊2”選取的執(zhí)行機(jī),以便于所述選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和所述觸發(fā)時(shí)間執(zhí)行所述定時(shí)任務(wù)。
識(shí)別模塊4”用于識(shí)別第一選取模塊2”選取的執(zhí)行機(jī)是否屬于所述執(zhí)行機(jī)組。
刪除模塊5”用于在識(shí)別模塊4”識(shí)別出所述選取的執(zhí)行機(jī)不屬于所述執(zhí)行機(jī)組的情形下,從所述選取的執(zhí)行機(jī)上刪除所述定時(shí)任務(wù)。
第二選取模塊6”用于在識(shí)別模塊4”識(shí)別出所述選取的執(zhí)行機(jī)不屬于所述執(zhí)行機(jī)組的情形下,從所述執(zhí)行機(jī)組中重新選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī)。
第二傳輸模塊7”用于將獲取模塊1”獲取的執(zhí)行指令和觸發(fā)時(shí)間傳輸給第二選取模塊6”重新選取的執(zhí)行機(jī),以便于所述重新選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和所述觸發(fā)時(shí)間執(zhí)行所述定時(shí)任務(wù)。
由于在本發(fā)明中增加了監(jiān)控轉(zhuǎn)移邏輯(即識(shí)別選取的執(zhí)行機(jī)是否屬于執(zhí)行機(jī)組,在選取的執(zhí)行機(jī)不屬于執(zhí)行機(jī)組的情形下,轉(zhuǎn)移定時(shí)任務(wù)),因此,能夠有效避免通過(guò)無(wú)效的執(zhí)行機(jī)執(zhí)行定時(shí)任務(wù)。
本發(fā)明的實(shí)施方式還提供了一種終端設(shè)備,包括存儲(chǔ)器和處理器;其中,
所述存儲(chǔ)器用于存儲(chǔ)一條或多條計(jì)算機(jī)指令,其中,所述一條或多條計(jì)算機(jī)指令被所述處理器執(zhí)行時(shí)能夠?qū)崿F(xiàn)如方法實(shí)施方式1至方法實(shí)施方式8中任意一項(xiàng)所述的方法。
此外,本發(fā)明的實(shí)施方式還提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)存儲(chǔ)介質(zhì)用于存儲(chǔ)一條或多條計(jì)算機(jī)指令,其中,當(dāng)所述一條或多條計(jì)算機(jī)指令被執(zhí)行時(shí)能夠?qū)崿F(xiàn)如方法實(shí)施方式1至方法實(shí)施方式8中任意一項(xiàng)所述的方法。
本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可全部通過(guò)軟件實(shí)現(xiàn),也可借助軟件結(jié)合硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案對(duì)背景技術(shù)做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),所述計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如rom/ram、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,智能手機(jī)或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施方式或者實(shí)施方式的某些部分所述的方法。
本文中所使用的“軟件”等詞均指一般意義上的任意類型的計(jì)算機(jī)編碼或者計(jì)算機(jī)可執(zhí)行指令集,可以運(yùn)行所述編碼或者指令集來(lái)使計(jì)算機(jī)或其他處理器程序化以執(zhí)行如上所述的本發(fā)明的技術(shù)方案的各個(gè)方面。此外,需要說(shuō)明的是,根據(jù)實(shí)施方式的一個(gè)方面,在執(zhí)行時(shí)實(shí)施本發(fā)明的技術(shù)方案的方法的一個(gè)或多個(gè)計(jì)算機(jī)程序不必須要在一臺(tái)計(jì)算機(jī)或處理器上,而是可以分布于多個(gè)計(jì)算機(jī)或者處理器中的模塊中,以執(zhí)行本發(fā)明的技術(shù)方案的各個(gè)方面。
計(jì)算機(jī)可執(zhí)行指令可以有許多形式,如程序模塊,可以由一臺(tái)或多臺(tái)計(jì)算機(jī)或是其他設(shè)備執(zhí)行。一般地,程序模塊包括例程、程序、對(duì)象、組件以及數(shù)據(jù)結(jié)構(gòu)等等,執(zhí)行特定的任務(wù)或是實(shí)施特定的抽象數(shù)據(jù)類型。特別地,在各種實(shí)施方式中,程序模塊進(jìn)行的操作可以根據(jù)各個(gè)不同實(shí)施方式的需要進(jìn)行結(jié)合或者拆分。
并且,本發(fā)明的技術(shù)方案可以體現(xiàn)為一種方法,并且已經(jīng)提供了所述方法的至少一個(gè)示例??梢酝ㄟ^(guò)任何一種合適的順序執(zhí)行動(dòng)作,所述動(dòng)作表現(xiàn)為所述方法中的一部分。因此,實(shí)施方式可以構(gòu)造成可以按照與所示出的執(zhí)行順序不同的順序執(zhí)行動(dòng)作,其中,可以包括同時(shí)地執(zhí)行一些動(dòng)作(盡管在示出的實(shí)施方式中,這些動(dòng)作是連續(xù)的)。
本文所給出的和使用的定義,應(yīng)當(dāng)對(duì)照字典、通過(guò)引用而并入的文檔中的定義、和/或其通常意思進(jìn)行理解。
在權(quán)利要求書(shū)中以及上述的說(shuō)明書(shū)中,所有的過(guò)度短語(yǔ),例如“包括”、“具有”、“包含”、“承載”、“具有”、“涉及”、“主要由…組成”以及類似詞語(yǔ)是應(yīng)理解為是開(kāi)放式的,即,包含但不限于。
本發(fā)明說(shuō)明書(shū)中使用的術(shù)語(yǔ)和措辭僅僅為了舉例說(shuō)明,并不意味構(gòu)成限定。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,在不脫離所公開(kāi)的實(shí)施方式的基本原理的前提下,對(duì)上述實(shí)施方式中的各細(xì)節(jié)可進(jìn)行各種變化。因此,本發(fā)明的范圍只由權(quán)利要求確定,在權(quán)利要求中,除非另有說(shuō)明,所有的術(shù)語(yǔ)應(yīng)按最寬泛合理的意思進(jìn)行理解。
本發(fā)明公開(kāi)了a1、一種任務(wù)執(zhí)行方法,包括:
獲取定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間;
從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī);
將所述執(zhí)行指令和所述觸發(fā)時(shí)間傳輸給選取的執(zhí)行機(jī),以便于所述選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和所述觸發(fā)時(shí)間執(zhí)行所述定時(shí)任務(wù)。
a2、如a1所述的方法中,將所述執(zhí)行指令和所述觸發(fā)時(shí)間傳輸給選取的執(zhí)行機(jī)包括:
登錄所述選取的執(zhí)行機(jī);
將所述執(zhí)行指令和所述觸發(fā)時(shí)間寫(xiě)入到所述選取的執(zhí)行機(jī)的配置文件中,其中,所述配置文件由守護(hù)進(jìn)程調(diào)用。
a3、如a2所述的方法中,登錄所述選取的執(zhí)行機(jī)包括:
通過(guò)安全協(xié)議登錄所述選取的執(zhí)行機(jī)。
a4、如a2所述的方法中,將所述觸發(fā)時(shí)間寫(xiě)入到所述選取的執(zhí)行機(jī)的配置文件中包括:
根據(jù)所述觸發(fā)時(shí)間生成調(diào)度表達(dá)式;
將所述調(diào)度表達(dá)式寫(xiě)入到所述選取的執(zhí)行機(jī)的配置文件中。
a5、如a1所述的方法中,所述方法還包括:
從所述選取的執(zhí)行機(jī)接收所述定時(shí)任務(wù)的批次信息。
a6、如a1至a5中任一項(xiàng)所述的方法中,所述方法還包括:
識(shí)別所述選取的執(zhí)行機(jī)是否屬于所述執(zhí)行機(jī)組;
若所述選取的執(zhí)行機(jī)不屬于所述執(zhí)行機(jī)組,則從所述選取的執(zhí)行機(jī)上刪除所述定時(shí)任務(wù);
從所述執(zhí)行機(jī)組中重新選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī);
將所述執(zhí)行指令和所述觸發(fā)時(shí)間傳輸給重新選取的執(zhí)行機(jī)。
本發(fā)明還公開(kāi)了b7、一種終端設(shè)備,包括:
獲取模塊,用于獲取定時(shí)任務(wù)的執(zhí)行指令和觸發(fā)時(shí)間;
第一選取模塊,用于從執(zhí)行機(jī)組中選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī);
第一傳輸模塊,用于將所述執(zhí)行指令和所述觸發(fā)時(shí)間傳輸給選取的執(zhí)行機(jī),以便于所述選取的執(zhí)行機(jī)根據(jù)所述執(zhí)行指令和所述觸發(fā)時(shí)間執(zhí)行所述定時(shí)任務(wù)。
b8、如b7所述的設(shè)備中,所述第一傳輸模塊包括:
登錄單元,用于登錄所述選取的執(zhí)行機(jī);
寫(xiě)入單元,包括:用于將所述執(zhí)行指令寫(xiě)入到所述選取的執(zhí)行機(jī)的配置文件中的指令寫(xiě)入組件,和,用于將所述觸發(fā)時(shí)間寫(xiě)入到所述配置文件中的時(shí)間寫(xiě)入組件,其中,所述配置文件由守護(hù)進(jìn)程調(diào)用。
b9、如b8所述的設(shè)備中,所述登錄單元,用于執(zhí)行下述處理以實(shí)現(xiàn)登錄所述選取的執(zhí)行機(jī):通過(guò)安全協(xié)議登錄所述選取的執(zhí)行機(jī)。
b10、如b8所述的設(shè)備中,所述時(shí)間寫(xiě)入組件包括:
生成子組件,用于根據(jù)所述觸發(fā)時(shí)間生成調(diào)度表達(dá)式;
寫(xiě)入子組件,用于將所述調(diào)度表達(dá)式寫(xiě)入到所述配置文件中。
b11、如b7所述的設(shè)備中,所述設(shè)備還包括:
接收模塊,用于從所述選取的執(zhí)行機(jī)接收所述定時(shí)任務(wù)的批次信息。
b12、如b7至b11中任一項(xiàng)所述的設(shè)備中,所述設(shè)備還包括:
識(shí)別模塊,用于識(shí)別所述選取的執(zhí)行機(jī)是否屬于所述執(zhí)行機(jī)組;
刪除模塊,用于在所述選取的執(zhí)行機(jī)不屬于所述執(zhí)行機(jī)組的情形下,從所述選取的執(zhí)行機(jī)上刪除所述定時(shí)任務(wù);
第二選取模塊,用于從所述執(zhí)行機(jī)組中重新選取執(zhí)行所述定時(shí)任務(wù)的執(zhí)行機(jī);
第二傳輸模塊,用于將所述執(zhí)行指令和所述觸發(fā)時(shí)間傳輸給重新選取的執(zhí)行機(jī)。
本發(fā)明還公開(kāi)了c13、一種終端設(shè)備,包括存儲(chǔ)器和處理器;其中,
所述存儲(chǔ)器用于存儲(chǔ)一條或多條計(jì)算機(jī)指令,其中,所述一條或多條計(jì)算機(jī)指令被所述處理器執(zhí)行時(shí)能夠?qū)崿F(xiàn)如a1至a6中任一項(xiàng)所述的方法。
本發(fā)明還公開(kāi)了d14、一種計(jì)算機(jī)存儲(chǔ)介質(zhì),用于存儲(chǔ)一條或多條計(jì)算機(jī)指令,其中,當(dāng)所述一條或多條計(jì)算機(jī)指令被執(zhí)行時(shí)能夠?qū)崿F(xiàn)如a1至a6中任一項(xiàng)所述的方法。