專利名稱:調(diào)度和監(jiān)視計算機(jī)處理的系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)處理的調(diào)度和監(jiān)視。本發(fā)明尤其涉及交付作業(yè)進(jìn)行執(zhí)行。本發(fā)明還涉及經(jīng)多個聯(lián)網(wǎng)計算機(jī)平臺(節(jié)點(diǎn))的作業(yè)(job)的交付、調(diào)度和監(jiān)視以及為交付到作業(yè)的程序提供公共接口。
本發(fā)明還涉及一種維護(hù)具有每個節(jié)點(diǎn)詳細(xì)作業(yè)歷史的本地作業(yè)存儲庫(repository)的作業(yè)調(diào)度器,以及一個維護(hù)經(jīng)一個企業(yè)的詳細(xì)作業(yè)歷史的中央作業(yè)存儲庫。本發(fā)明還涉及在每個計算機(jī)平臺上提供調(diào)度代理(schedulingagent)以開始每個被交付作業(yè)的執(zhí)行。
背景技術(shù):
現(xiàn)代計算機(jī)系統(tǒng)被用于一個很寬的任務(wù)范圍。許多任務(wù)是簡單的并且被實(shí)時執(zhí)行。然而,某些任務(wù)需要很長執(zhí)行時間,或者必須在不同時間間隔或不方便的時間執(zhí)行(例如,當(dāng)一個任務(wù)正在運(yùn)行的系統(tǒng)具有輕的任務(wù)負(fù)載時,如清晨或周末時間)。
基本調(diào)度裝置已經(jīng)被用來在不同時間間隔或指定運(yùn)行時間上運(yùn)行某些程序或作業(yè)。然而,這些系統(tǒng)既不能提供足夠的服務(wù)或不能無縫地組合成特定的生產(chǎn)線,也不能在聯(lián)網(wǎng)環(huán)境中的多個計算平臺之間提供適當(dāng)?shù)姆?wù)。
發(fā)明內(nèi)容
因此,本發(fā)明的目的是提供一種調(diào)度作業(yè)的作業(yè)調(diào)度裝置。
本發(fā)明的另一個目的是提供一種作業(yè)調(diào)度裝置,它經(jīng)多個計算平臺提供作業(yè)調(diào)度服務(wù),并控制被交付的作業(yè)的執(zhí)行;本發(fā)明的再一個目的是提供一種計算機(jī)網(wǎng)絡(luò)的每個相應(yīng)節(jié)點(diǎn)上的調(diào)度代理,用于接受和管理交付給相應(yīng)節(jié)點(diǎn)的作業(yè);
本發(fā)明的另一個目的是提供一種命令行,可以被用來確定作業(yè)狀況和把作業(yè)控制命令發(fā)送給正在一個企業(yè)的節(jié)點(diǎn)上執(zhí)行的作業(yè)。
本發(fā)明的另一個目的是提供一種無縫作業(yè)調(diào)度裝置,用于具有交付和調(diào)度作業(yè)的公共格式的多個軟件產(chǎn)品,并向利用作業(yè)調(diào)度裝置的軟件產(chǎn)品提供一致性應(yīng)用編程接口。
本發(fā)明的再一個目的是提供一種單個作業(yè)調(diào)度和管理工具,用于公共應(yīng)用編程接口之下的所有POEMS激活(enabled)產(chǎn)品(例如,鉑金指向產(chǎn)品(platinum point product),該公共應(yīng)用編程接口特別有效地瞄準(zhǔn)產(chǎn)品的作業(yè)調(diào)度需求。
本發(fā)明的另一個目的是提供一種公共圖形用戶接口(例如,MicrosoftFoundation C1ass(MFC)(微軟基本類別)),以調(diào)度和列出由GUI(圖形用戶接口)部件和代理使用的所有的作業(yè)和公共API(應(yīng)用編程接口)。
通過參考下列的結(jié)合附圖的詳細(xì)說明,將容易地得到本發(fā)明的更加完整的評價以及由此帶來的許多優(yōu)點(diǎn),同樣,將使本發(fā)明變得更好理解。
圖1表示本發(fā)明一個實(shí)施例的一個方框圖,其中提供了在一個公共應(yīng)用編程接口下用于POEMS激活產(chǎn)品的作業(yè)調(diào)度和管理工具;圖2是輕量級企業(yè)調(diào)度器(LES)代理的方框圖,該代理協(xié)調(diào)用于一個節(jié)點(diǎn)的運(yùn)行和作業(yè)歷史交付;圖3是圖示說明用來把消息傳遞到接收模塊的RT服務(wù)器的流程圖;圖4是圖示說明用來把消息傳遞到預(yù)訂特定節(jié)點(diǎn)的接收模塊的RT服務(wù)器的流程圖;圖5是圖示說明鉑金企業(yè)通信器(PEC)消息的LES代理接收的流程圖;圖6是圖示說明經(jīng)PEC向一個指向產(chǎn)品(point product)處理發(fā)送點(diǎn)產(chǎn)品參數(shù)的LES代理的流程圖;圖7A是圖示說明LES代理啟動的流程圖;圖7B是圖示說明LES代理的處理的流程圖;圖8是圖示說明LES目錄結(jié)構(gòu)的方框圖;圖9是圖示說明應(yīng)用和指向產(chǎn)品的用戶標(biāo)識需求的鉑金安全模型的方框圖;圖10是POEMS調(diào)度服務(wù)作業(yè)調(diào)度窗口的圖示;圖11是指向產(chǎn)品屬性頁的圖示;圖12是指向產(chǎn)品屬性頁的下拉日歷的圖示;圖13是經(jīng)指向產(chǎn)品屬性頁運(yùn)行的被調(diào)度作業(yè)一個實(shí)例的圖示;圖14是經(jīng)指向產(chǎn)品屬性頁運(yùn)行的被調(diào)度作業(yè)的第二實(shí)例的圖示;圖15是提供一個安排為在每天運(yùn)行的作業(yè)的實(shí)例的圖示;圖16是提供一個安排為在每星期特定日運(yùn)行的作業(yè)的實(shí)例的圖示;圖17是提供一個安排為在每個月選定日運(yùn)行的作業(yè)的實(shí)例的圖示;圖18是提供一個安排為在一年的特定日運(yùn)行的作業(yè)的實(shí)例的圖示;圖19是一個通知腳本窗口的圖示;圖20是日歷選擇窗口的圖示;圖21是一個用來創(chuàng)建一個日歷的創(chuàng)建日歷窗口的圖示,該日歷具有運(yùn)行與其關(guān)聯(lián)的作業(yè)的選擇日期;圖22是提出作編輯的一個現(xiàn)有日歷的圖示;圖23是用來創(chuàng)建策略窗口和選擇用于編輯和刪除的策略窗口的策略調(diào)度窗口的圖示;圖24是通過點(diǎn)擊來自策略調(diào)度窗口的創(chuàng)建(create)而調(diào)用的指向產(chǎn)品屬性頁的圖示;圖25是一個刪除調(diào)度窗口的圖示,具有在刪除一個調(diào)度時,標(biāo)識一個清除腳本(script)的提示;圖26是一個插入對象窗口的圖示;圖27是屬性窗口的普通標(biāo)志(tab)的圖示;圖28是屬性窗口的代表標(biāo)志的圖示;圖29是用來選擇代表一個對象的圖標(biāo)圖形的選擇智能圖標(biāo)(Intellicon)位圖的圖示;圖30是用于作業(yè)資源對象標(biāo)簽(label)的顯示的一個瀏覽器視圖實(shí)例的圖示;圖31是屬性窗口的作業(yè)存儲庫的圖示;圖32是作業(yè)資源對象的文件夾(folder)分層的圖示;圖33是列出所有作業(yè)文件夾中的作業(yè)的圖示;
圖34是所有作業(yè)任何狀況文件夾中的作業(yè)的圖示;圖35是作業(yè)的運(yùn)行歷史的一個實(shí)例的圖示;圖36是特定節(jié)點(diǎn)下的所有作業(yè)任何狀況文件夾中的作業(yè)列表的圖示;圖37是對作業(yè)可用的屬性頁標(biāo)志的圖示;圖38是命令標(biāo)志屬性頁的圖示;圖39是數(shù)據(jù)庫標(biāo)志屬性頁的圖示;圖40是作業(yè)調(diào)度標(biāo)志屬性頁的圖示;圖41是參數(shù)標(biāo)志屬性頁的圖示;圖42是含有關(guān)于作業(yè)運(yùn)行信息的普通標(biāo)志屬性頁的圖示;圖43是顯示關(guān)于作業(yè)運(yùn)行的產(chǎn)品特定信息的運(yùn)行狀況標(biāo)志屬性頁的圖示;圖44是作業(yè)資源對象中的一組文字上的普通標(biāo)志屬性頁的圖示;圖45是導(dǎo)控器瀏覽器(Director Explorer)視圖中的日志文件欄的視圖的圖示;圖46是用于觀看日志文件的彈出菜單的利用的圖示;圖47是為特定作業(yè)運(yùn)行顯示的日志文件觀看器的圖示;圖48是用來刪除一個作業(yè)文件夾的彈出菜單的圖示;圖49是一個刪除作業(yè)窗口的圖示;圖50是一個狀況和結(jié)果窗口的圖示;圖51是刪除一個單個作業(yè)的彈出菜單的利用的圖示;圖52是一個刪除作業(yè)窗口的圖示;圖53是用于單個作業(yè)的刪除的狀況和結(jié)果的圖示;圖54是在文件夾級上喚醒多個作業(yè)重新運(yùn)行的的彈出窗口的利用的圖示;圖55是重新運(yùn)行作業(yè)彈出窗口的圖示;圖56是作業(yè)文件夾中的作業(yè)重新運(yùn)行的狀況和結(jié)果窗口的圖示;圖57是重新運(yùn)行單個作業(yè)的彈出窗口的利用的圖示;圖58是用于各作業(yè)的一個重新運(yùn)行作業(yè)窗口的圖示;圖59是取消運(yùn)行作業(yè)的彈出窗口之利用的圖示;圖60是一個取消運(yùn)行彈出窗口的圖示;圖61是在運(yùn)行作業(yè)上調(diào)用進(jìn)展監(jiān)視器的彈出窗口之利用的圖示;
圖62是顯示關(guān)于一個作業(yè)的階段、整個進(jìn)展和其它信息的本發(fā)明所利用的進(jìn)展監(jiān)視器的圖示;圖63是導(dǎo)控器服務(wù)管理監(jiān)視器的圖示;和圖64是服務(wù)管理器監(jiān)視器的右側(cè)的圖示,它顯示了駐留在一個節(jié)點(diǎn)上的程序的信息。
具體實(shí)施例方式
下面參見附圖,其中,相同的參考標(biāo)號代表多個圖中的相同或相應(yīng)的部分。尤其參見圖1,該圖1示出了,提供在公共應(yīng)用編程接口下用于POEMS激活產(chǎn)品(例如,鉑金指向產(chǎn)品)的作業(yè)調(diào)度和管理工具。
在圖1中,一組指向產(chǎn)品100(指向產(chǎn)品1..n)與不同的POEMS激活應(yīng)用編程接口(API’s)以及一個鉑金企業(yè)通信器(PEC)160鏈接在一起,其每一個指向產(chǎn)品包括一個指向產(chǎn)品GUI 110。至少一個輕量級企業(yè)調(diào)度員(LES)代理170被安裝在一個節(jié)點(diǎn)上。指向產(chǎn)品GUI 110把一個用戶接口提供給指向產(chǎn)品100,并且通過向一個GUI API 115發(fā)送作業(yè)數(shù)據(jù)來傳遞用戶選擇。
GUP API 115結(jié)合有提供LES的屬性頁,執(zhí)行數(shù)據(jù)檢驗和作業(yè)分配,并根據(jù)作業(yè)參數(shù)調(diào)用作業(yè)調(diào)度API130中的相關(guān)調(diào)度功能。GUI API 115由指向產(chǎn)品GUI 110使用。
作業(yè)調(diào)度API130執(zhí)行調(diào)度服務(wù),分配和定義交付的作業(yè),以及通過向運(yùn)行該作業(yè)的一個選用節(jié)點(diǎn)上(例如,LES節(jié)點(diǎn)1、170)的LES代理來啟動一個PEC消息,來分配諸多作業(yè)。處理間通信經(jīng)PEC160執(zhí)行。作業(yè)調(diào)度API最好由指向產(chǎn)品GUI 110使用。
LES代理170按照作業(yè)調(diào)度API 130的請求啟動作業(yè)的處理。本發(fā)明可以經(jīng)多個計算平臺和/或節(jié)點(diǎn)實(shí)施,并且在作業(yè)運(yùn)行的每個節(jié)點(diǎn)上安裝一個LES代理(LES代理1..n)。
每個LES代理更新本地作業(yè)存儲庫180,該本地作業(yè)存儲庫180維護(hù)被交付給其相應(yīng)節(jié)點(diǎn)的每個作業(yè)的作業(yè)信息。本地作業(yè)存儲庫被安裝在作業(yè)運(yùn)行的每個節(jié)點(diǎn)上,并且可以使用SQL*Anywhere(一個具有小覆蓋區(qū)(footprint)的數(shù)據(jù)庫產(chǎn)品,用于資源的效率)來實(shí)施。也可以換用其它SQL產(chǎn)品和各種數(shù)據(jù)庫/存儲庫配置。
中央作業(yè)存儲庫190維護(hù)交付給系統(tǒng)中每個節(jié)點(diǎn)的所有作業(yè)的作業(yè)數(shù)據(jù)的超集。中央作業(yè)存儲庫由作業(yè)數(shù)據(jù)管理API 140來維護(hù),并且在相關(guān)數(shù)據(jù)管理系統(tǒng)(RDBMS)、Dex、或其它數(shù)據(jù)存儲庫或管理系統(tǒng)中實(shí)施。
作業(yè)數(shù)據(jù)管理API 140選擇、插入、更新或刪除作業(yè)和作業(yè)歷史。本地和中央作業(yè)存儲庫由作業(yè)數(shù)據(jù)管理API來更新。此外,作業(yè)數(shù)據(jù)管理API140在內(nèi)部由作業(yè)調(diào)度器和LES代理使用。作業(yè)調(diào)度API把數(shù)據(jù)的格式變換成PEC消息格式。
中央作業(yè)存儲庫190的位置由RDEX(相關(guān)數(shù)據(jù)交換)來確定。如果沒有有效的DEX(數(shù)據(jù)交換)信息,則SDM(軟件傳遞管理器)安裝提示被用作表位置信息。在與中央作業(yè)存儲庫相同的節(jié)點(diǎn)、每個客戶機(jī)和作業(yè)運(yùn)行的每個節(jié)點(diǎn)上保持用于POEMS環(huán)境而建立的配置文件、PEC160、LES代理等。
中央和本地作業(yè)存儲庫的每一個由LES自動更新。指向產(chǎn)品本身只與API交互而與存儲庫的類型細(xì)節(jié)沒有關(guān)系。
提供指向產(chǎn)品API 120是為了允許每個指向產(chǎn)品進(jìn)行訪問,確定作業(yè)狀況、作業(yè)日志文件,執(zhí)行建立和取消功能(作業(yè)),更新作業(yè)日志文件和在作業(yè)運(yùn)行時提取作業(yè)參數(shù)。在POEMS配置中,該API由可執(zhí)行的指向產(chǎn)品(例如,指向產(chǎn)品100)使用。
LES命令行155提供訪問作業(yè)管理功能的命令行(與作業(yè)管理API150通信),包括確定作業(yè)狀態(tài),和建立、刪除或更新作業(yè)日志文件和提取作業(yè)參數(shù)。
作業(yè)管理API 150刪除、取消、重新運(yùn)行或拷貝現(xiàn)有作業(yè)。該API在內(nèi)部由LES命令行155和作業(yè)文件夾185(包含作業(yè)列表,可以以各種格式觀看)使用。
指向產(chǎn)品API120、作業(yè)調(diào)度API 130、作業(yè)數(shù)據(jù)管理API 140和作業(yè)管理API 150的每一個,在需要時,經(jīng)PEC消息與安裝在節(jié)點(diǎn)1..n的任何一個LES代理進(jìn)行通信。
PEC消息以一種在LES啟動(enabled)的工作站與不同API之間進(jìn)行通信的格式來提供。
設(shè)置編歷API 165是為了管理日歷功能并且在內(nèi)部由其他API和指向產(chǎn)品GUI使用。
安裝在計算網(wǎng)絡(luò)或系統(tǒng)的節(jié)點(diǎn)上的POEMS啟動的指向產(chǎn)品和LES代理提供公共作業(yè)調(diào)度服務(wù),以下稱之為輕量級企業(yè)調(diào)度器(LES)。LES允許用戶調(diào)度(schedule)一個新作業(yè)、刪除一個作業(yè)、取消一個作業(yè)、和重新運(yùn)行一個作業(yè)。
下列步驟提供了一個示例性的LES作業(yè)流程1、把作業(yè)參數(shù)輸入到指向產(chǎn)品GUI中。
2、按下“結(jié)束/OK”按鈕。
3、把作業(yè)參數(shù)傳送給LES作業(yè)分配器。
4、把母作業(yè)(parent job)輸入放入中央存儲庫中。
5、把作業(yè)參數(shù)傳送給使用PEC的LES代理。
6、將作業(yè)參數(shù)存儲到本地作業(yè)表中。(如果該步驟失敗,發(fā)送指示該作業(yè)未在該節(jié)點(diǎn)上安排的事件/警示。)7、創(chuàng)建子作業(yè),并存入中央存儲庫中。
8、為每個所選節(jié)點(diǎn)重復(fù)步驟5-7。
9、在適當(dāng)?shù)臅r間,啟動該作業(yè)(啟動可執(zhí)行的指向產(chǎn)品)。
10、使用LES API從作業(yè)表中獲得作業(yè)參數(shù)。
11、發(fā)出作業(yè)進(jìn)展消息。
12、在控制臺(console)上使用進(jìn)展監(jiān)視器顯示作業(yè)進(jìn)展。
13、作業(yè)完成,于是LES代理把一個記錄置于本地作業(yè)歷史表中。
14、LES代理把一個記錄置于中央作業(yè)歷史表中。
15、LES代理發(fā)送一個“作業(yè)完成”事件。LES代理圖2是圖示說明LES代理(例如,LES代理170)的主要部件和通信的方框圖。LES代理有三個主要部分組成1、通信模塊210-發(fā)送和接收從作業(yè)分配API到指向產(chǎn)品和從指向產(chǎn)品到作業(yè)分配API的PEC消息。
2、作業(yè)管理模塊220-LES核心。代理的這一部分設(shè)置內(nèi)部環(huán)境和存儲器,啟動作業(yè)、運(yùn)行作業(yè)和管理作業(yè)處理。
3、數(shù)據(jù)管理模塊230-從本地和中央存儲庫(分別為180和190)中更新和刪除數(shù)據(jù)。
低級功能API240對所有代理模塊是可用的。該低級API處理所有內(nèi)部功能、文件管理和消息。
圖3是圖示說明PEC消息是如何正常傳遞的流程圖。發(fā)送模塊300發(fā)送其中具有編碼的目的地的一個消息320,其中把消息320a和320b的拷貝分別發(fā)送給每個接收模塊340a和340b的RT服務(wù)器接收該消息(例如,LES代理)。
為了避免RT服務(wù)器把相同的作業(yè)消息發(fā)送給一個以上的代理,該LES代理注冊為PTLES<節(jié)點(diǎn)地址>數(shù)據(jù)組。該注冊用唯一的數(shù)據(jù)組標(biāo)識每個LES代理,以便把消息傳遞給與該消息對應(yīng)的數(shù)據(jù)組的節(jié)點(diǎn)。
每個LES代理預(yù)訂當(dāng)前節(jié)點(diǎn)地址(主機(jī)名)消息,使每個發(fā)送器還應(yīng)當(dāng)指定哪個節(jié)點(diǎn)將接受該消息。適當(dāng)?shù)南駨絺鬟f(routing)在圖4中示出,它示出了把消息320傳遞到接收模塊345a的RT服務(wù)器310,和不接收拷貝的接收模塊345b。RT服務(wù)器在每個管理各個處理過程、提供到正確目的地的PEC擇徑傳遞的機(jī)器上運(yùn)行。
圖5是圖示說明進(jìn)入到LES代理500的消息流的流程圖。所有的進(jìn)入消息經(jīng)PEC通信API(例如PEC160,參見圖1)從客戶機(jī)處理520、指向產(chǎn)品代理530、或與一個LES代理通信的其他模塊的任一個接收。每個消息經(jīng)一個RT服務(wù)器(例如,510a,510b)擇徑傳遞到LES代理500。
圖6示出了從LES代理500到指向產(chǎn)品代理530的反向消息業(yè)務(wù)。LES代理500使用PEC消息經(jīng)RT服務(wù)器510把指向產(chǎn)品參數(shù)發(fā)送給指向產(chǎn)品處理進(jìn)程(代理)530。
圖7A是圖示說明LES代理啟動的步驟的流程圖。在步驟705,LES配置文件(維護(hù)存儲庫位置上的啟動信息,維護(hù)發(fā)現(xiàn)如何設(shè)置和操作的LES的信息)被裝載。在步驟710,建立LES本地作業(yè)存儲庫表(例如,本地作業(yè)存儲庫1 180,參見圖1)。如果本地作業(yè)存儲庫已經(jīng)存在于LES代理正在被啟動的節(jié)點(diǎn)上,則跳過步驟710。
在步驟715,本地作業(yè)存儲庫與中央作業(yè)存儲庫190同步。例如,同步處理(process)更新中央作業(yè)存儲庫,以反映在本地作業(yè)存儲庫中的每個入口,該處理確保中央作業(yè)存儲庫維持跨企業(yè)的每個作業(yè)的記錄。
在步驟720,為所有的過期作業(yè)增加歷史行(中央和本地)。為歷史目的維護(hù)過期作業(yè)上的信息。
在步驟725,初始化PEC回調(diào)(call back)功能。PEC回調(diào)功能提供了允許與PEC160進(jìn)行通信的適當(dāng)?shù)腁PI接口。
在步驟730,計算和設(shè)置一個同步超時。該同步超時被用來控制等待多長時間去連接其他存儲庫。
如圖7B所示,一旦啟動LES代理,它就開始執(zhí)行在安裝該LES的節(jié)點(diǎn)上運(yùn)行的被選擇的作業(yè)處理進(jìn)程的接收和啟動。在步驟750,LES代理計算和執(zhí)行運(yùn)行下一個作業(yè)的設(shè)置,然后輸入一個等待循環(huán)760,在這里L(fēng)ES代理等待PEC消息、同步超時和運(yùn)行下一個作業(yè)的超時之一。
當(dāng)?shù)却h(huán)超過運(yùn)行下一個作業(yè)的時間時,執(zhí)行步驟770,它包括運(yùn)行當(dāng)前作業(yè)(時間已過的下一個作業(yè))、更新該作業(yè)的啟動狀態(tài)、和建立一個運(yùn)行歷史行(在本地和中央存儲庫中執(zhí)行更新和建立操作)。
當(dāng)該循環(huán)對同步超時時,則執(zhí)行中央/本地同步程序(將本地與中央、中央與本地進(jìn)行同步)。
當(dāng)循環(huán)接收到PEC消息時,LES代理執(zhí)行包含在PEC消息中的操作,即步驟780。LES代理接收的PEC消息包括運(yùn)行一個作業(yè)、刪除一個作業(yè)、更新一個作業(yè)、請求作業(yè)參數(shù)(作業(yè)參數(shù)是一個產(chǎn)品需要的消息、用戶名稱、db名稱,它們由指向產(chǎn)品設(shè)置并存儲在LES db區(qū)域的LES API中,其中指向產(chǎn)品可以用于它想要做的任何事情)的消息。
一旦作業(yè)超時、同步超時或PEC消息操作(步驟770,790和780)中的任何一個完成,就計算和設(shè)置下一個運(yùn)行的作業(yè)(重復(fù)步驟750),并再次進(jìn)入等待循環(huán)760。
當(dāng)POEMS調(diào)度服務(wù)被用來添加作業(yè)時,指向產(chǎn)品GUI110調(diào)用作業(yè)調(diào)度API130以提交該作業(yè)。
API執(zhí)行下列步驟1、保存中央存儲庫中的作業(yè)。
2、查看代理是否存在。
3、如果代理正在運(yùn)行,向該代理發(fā)送PEC消息(包括作業(yè))。
代理執(zhí)行以下步驟1、接收PEC消息。
2、保存本地存儲庫中的作業(yè)。
3、檢查何時運(yùn)行作業(yè)。
4、啟動命令行。
在一個分層組織的目錄結(jié)構(gòu)中維護(hù)LES代理,圖8示出了一個實(shí)例。頂層目錄$PLATHOME 800含有所有有關(guān)的目錄,它包含關(guān)于鉑金(Platinum)產(chǎn)品的文件(其它產(chǎn)品也可以替代使用)。POEMS根目錄,$Ptroot 810維護(hù)所有的與啟動POEMS有關(guān)的目錄和文件。
Cfgref830目錄維護(hù)一個配置文件,例如配置文件195。
Shlib*840目錄維護(hù)所有的*.lib,和*.so文件,他們是共享圖書館。
bin850目錄分離地維護(hù)ptles*文件852,*.dll 854,和*sql.dll 856文件的每一個。Ptles*文件852包含ptlesag,ptlestp,ptlestab,和其它有關(guān)文件。*.dll854維護(hù)每個動態(tài)鏈接庫,*sql.*856維護(hù)對LES功能的LES詢問。
Log 860目錄維護(hù)一個ptlesag.log865日志文件(包括診斷日志關(guān)于運(yùn)行的信息和誤差)。
在一個實(shí)施例中,如圖9所示,為了取得成功,鉑金安全模式需要許多應(yīng)用/指向產(chǎn)品像一個特定用戶那樣運(yùn)行。
AutoLogin(自動登錄)API提供一個像a16特定操作系統(tǒng)用戶那樣運(yùn)行作業(yè)的方式,這種方式不需要在運(yùn)行時間詢問用戶或者作為作業(yè)的一部分硬編碼UNIX用戶。
為了利用該特點(diǎn),應(yīng)用程序可以利用PtLESSetJobCommand()功能并把一個用戶名和角色傳送給LES。如果用戶名和角色被指定為NULL,則LES像默認(rèn)鉑金用戶(或其默認(rèn)用戶)那樣運(yùn)行該作業(yè)。否則,LES通過調(diào)用Autologin API并傳送作為被請求用戶和被請求角色的用戶名和角色、作為資源類型(Rosource Type)的操作系統(tǒng)、以及作為資源事例(Resource Instance)的作業(yè)事例名,嘗試提取用戶標(biāo)識和口令。把login信息輸入AutoLogin在Autolgin實(shí)施例中,管理員登入為“root(根)”,以安裝LES/OS資源。
以下來源于POEMS導(dǎo)控器(Director)1、選擇工具安全管理Autologin(自動登錄)2、登錄為“root”。如果已經(jīng)登錄,可以在運(yùn)行Administrator Autologin(管理員自動登錄)之前利用“rtlogout.exe”。
3、Autologin Administration窗口顯示。
4、右擊Agent’s Requesting User文件夾,以激活彈出菜單顯示。
5、選擇Add Entry(添加入口)。
6、Add Entry窗口顯示。
7、把登錄信息輸入以下字段。
h)把資源類型調(diào)整到OS。
i)資源事例是指向產(chǎn)品傳送到作業(yè)的相同事例名。
如果指向產(chǎn)品……使用AutoLogin和在Add Entry窗口中記錄有效用戶ID和口令,則LES代理傳遞ID和口令串并許可訪問。
使用AutoLogin但不在Add Entry窗口記錄用戶信息,則LES代理自動地檢驗UNIX用戶登錄。如果發(fā)現(xiàn)UNIX用戶,則許可訪問。
使用AutoLogin和在Add Entry窗口記錄無效用戶ID和口令,則LES代理默認(rèn)到PLATINUM(或其它默認(rèn))用戶。
不使用AutoLogin,則LES代理默認(rèn)PLATINUM(或其它默認(rèn))用戶。命令行接口LES中包含的命令行接口執(zhí)行管理功能,包括-刪除一作業(yè)及其所有的運(yùn)行。
-取消作業(yè)的運(yùn)行。
-列出所有作業(yè)。
-按產(chǎn)品碼、狀態(tài)、和/或節(jié)點(diǎn)列出所有作業(yè)。
-立即再運(yùn)行作業(yè)。
命令行接口利用了以下格式ptlescmd[-a action][-jobid][-c cleanup_process][-r run_number][-pproduct_code][-s status][-b buffersize][-n node]注-a選項用于所有的操作;-j選項用于除列表外的所有操作;其它是任選的。
ptlescmd是用來刪除作業(yè)、取消作業(yè)運(yùn)行、列出作業(yè)(所有作業(yè),按產(chǎn)品碼、按狀態(tài)和/或節(jié)點(diǎn))以及立即再運(yùn)行一個作業(yè)的LES命令行接口。
表1提供了支持選項的ptlescmd命令行的一個列表表1
為了使用LES命令行,用戶打印出以下內(nèi)容ptlescmd-a[action]-j[jobid][-letter option_name]其中action是以下之一刪除,取消、再運(yùn)行和列表。
Jobid是用于作業(yè)的標(biāo)識。
Letter是命令行Supported Option(支持選項)表中列出的選項之一的文字。
option_name是命令行Supported Option(支持選項)表中列出的選項之一的名稱。
表2提供了一組示例命令行和相應(yīng)的說明。
表2
注有效狀態(tài)值包括已完成,已失敗,未開始,先占,正在運(yùn)行和已停止。
LES作業(yè)停留在中央和本地存儲庫中,直至用戶刪除它們。用戶可以在任何時間通過在Poems導(dǎo)控器/作業(yè)文件夾185上進(jìn)行右擊來刪除、再運(yùn)行或取消正在運(yùn)行的作業(yè),并選擇適當(dāng)?shù)倪x項。一個刪除選項去除作業(yè)和所有運(yùn)行以及作業(yè)歷史。該指向產(chǎn)品可以提供一個可執(zhí)行的清除處理,以去除與該作業(yè)有關(guān)的所有指向產(chǎn)品文件。該可操作的處理如果可用,則在去除該作業(yè)和作業(yè)歷史之前由代理運(yùn)行。
LES提供包括Rerun Job和Update Job的更改選項。Rerun Job選項允許一個用戶以不同開始時間重新運(yùn)行該作業(yè)。PtLESUpdateJob()功能允許對所有GUI字段進(jìn)行更新。
上下文(context)變量,比如%C(PLATHOME)或環(huán)境變量%E(FUS_HOME)等,在運(yùn)行作業(yè)命令之前由代理解析。
UNIX用戶名作為作業(yè)的一部分從GUI指向產(chǎn)品設(shè)置。代理不需要口令,因為代理正在按根目錄運(yùn)行(代理具有set_root_ID位)。上下文變量上下文變量是可以在命令行上使用的關(guān)鍵字標(biāo)識符。LES代理根據(jù)傳遞的當(dāng)前作業(yè)的上下文和作業(yè)參數(shù)來變換這些變量。LES代理插入這些上下文變量,形成命令行,然后執(zhí)行命令行。
Keyword Context Variable(關(guān)鍵字上下文變量)-替換自當(dāng)前作業(yè)中發(fā)生。
Environment Variable(環(huán)境變量)-替換自代理正在運(yùn)行的環(huán)境中發(fā)生。
Filename Variable(文件名變量)-代理把該變量用作文件名,并且用該變量指向的文件的內(nèi)容代替它。如何指定上下文變量關(guān)鍵字上下文變量按%C(上下文標(biāo)識符由數(shù)值替代)指定-例如,用my_prog 1234管理器替代的my_prog %C(JOB_ID)%C(USERNAME),其中管理器的當(dāng)前作業(yè)的作業(yè)標(biāo)識jobid=1234,用戶名=管理員。
環(huán)境變量指定為%E(變量名)-例如,my_prog%E(HOME)%E(LANG),my_prog/platinum en-us。
文件名變量指定為%F(文件名)-例如,my_prog%(etc/platinum)%C(JOB_ID)%E(HOME)my_prog/home/dmc 1234/home/platinum,其中文件名/etc/platinum包含行home/dmc。
可接受的%(上下文變量名稱)語法關(guān)鍵字變量的語法是%C(KEYWORD)。用戶可以在括號內(nèi)的KEYWORD的任一側(cè)插入一個間隔。表3提供了舉例的關(guān)鍵字標(biāo)識符的列表。
GUI APIGUI API由用于若干功能的指向產(chǎn)品100和指向產(chǎn)品GUI110利用,包括·用Job調(diào)度API分配作業(yè),需要時置換任何默認(rèn)值。
·以分類CptDynPropertySheet(派生于CpropertySheet)的GUI為基礎(chǔ),而不是直接使用CpropertySheet。CptDynPropertySheet由DnyPS.DLL輸出。此外,GUI API可以用來交付一個作業(yè),而不用顯示GUI窗口。
·使用GUI API構(gòu)造基于作業(yè)的CptLESJobSchedulingPage(例如,參見圖25)對象,然后把它(和任何其它頁)加到CptDynPropertySheet或CptDynPropertySheet派生的屬性頁上。
·使用GUI API定制任何被顯示在調(diào)度屬性頁上的作業(yè)參數(shù)。
·使用Job Scheduling API設(shè)置任何需要的作業(yè)參數(shù),該作業(yè)參數(shù)是不可能通過控制調(diào)度屬性頁來設(shè)置的。這些實(shí)例包括通過調(diào)用PtLESSetJobparm而設(shè)置的指向產(chǎn)品專用的作業(yè)參數(shù)。
·當(dāng)最終OK指示該作業(yè)應(yīng)當(dāng)被交付時,使用GUI API使該數(shù)據(jù)有效和交付該作業(yè)。
使用LES作業(yè)調(diào)度頁作為標(biāo)志(tab)的產(chǎn)品,在交付作業(yè)之前調(diào)用其ValidateData()方法。ValidateData()可以被安全地調(diào)用多次,并且可以以消息框不顯示給用戶的方式來調(diào)用。
表4提供了調(diào)用GUI API實(shí)施上述討論的處理的示例代碼。
作業(yè)分配API作業(yè)分配API向適當(dāng)?shù)臋C(jī)器(LES工作站)分派任務(wù),通常由作業(yè)數(shù)據(jù)管理API140調(diào)用。作業(yè)調(diào)度API作業(yè)調(diào)度API130與指向產(chǎn)品GUI一同工作以定義被交付的作業(yè)。需要一些經(jīng)過作業(yè)調(diào)度API可用的功能,有一些是任選的,有一些是用戶可以經(jīng)LES GUI設(shè)置的內(nèi)部功能。為基線功能和任何預(yù)期的選項功能或由GUI定義的功能設(shè)置一個值(被定義為適用于一個對應(yīng)的指向產(chǎn)品)。
下表列出了功能類型并為每項功能提供了簡要說明?;€功能被用來為作業(yè)調(diào)度處理提供基本信息并用表5中的說明列出。
表5-基線功能
表6列出和說明的選項功能,不需要被利用(定義)為適用于特定的指向產(chǎn)品。
表6-選項功能
表7列出了用戶可以經(jīng)LES GUI設(shè)置的內(nèi)部功能。
表8提供了關(guān)于指向產(chǎn)品如何利用GUI API 115的實(shí)例碼。例如,分配一個作業(yè)結(jié)構(gòu)需要一個定義處理(handle)(jh)的指向產(chǎn)品,一個定義作業(yè)運(yùn)行的日子(0=不運(yùn)行,1=運(yùn)行;即,0,0,0,0,0,1,0指星期五運(yùn)行),一個用戶ID和口令,和一個對PtLESJobAlloc()的調(diào)用功能。
表8
編歷API編歷API在內(nèi)部由其它API使用,并提供全面的編歷功能。例如,編歷API的主要用途是允許用戶為一個特定的作業(yè)運(yùn)行輸入編歷信息。
作業(yè)管理API如上所述,作業(yè)管理APIl50刪除、取消、再運(yùn)行或復(fù)制現(xiàn)存的作業(yè)。此外,它還允許其它API確定作業(yè)狀態(tài),并設(shè)置、取消、或更新作業(yè)日志文件,以及提取作業(yè)參數(shù)。例如,作業(yè)管理API內(nèi)的一個處理是用來停止當(dāng)前運(yùn)行的作業(yè)的ptLESCancelJob。PtLESCancelJob首先執(zhí)行在特定節(jié)點(diǎn)上的檢查,查看作業(yè)是否運(yùn)行,如果作業(yè)正在運(yùn)行,則向相應(yīng)的LES代理發(fā)出一個停止命令。
作業(yè)數(shù)據(jù)管理API作業(yè)和作業(yè)歷史被保存在中央存儲庫和作業(yè)要被運(yùn)行的節(jié)點(diǎn)的本地存儲庫中。開放數(shù)據(jù)庫連通性(ODBC)被用來選擇、插入、更新和/或刪除每個作業(yè)或作業(yè)歷史。
指向產(chǎn)品API指向產(chǎn)品API允許指向產(chǎn)品與LES代理通信。當(dāng)你使用該API時,LES作業(yè)文件夾示出關(guān)于你的作業(yè)的更精確信息,日志文件觀看器示出作業(yè)日志文件,LES代理管理你的指向產(chǎn)品作業(yè),從發(fā)展的觀點(diǎn)看,使得LES更容易使用。
該API的功能封裝PEC消息到LES代理,以更新作業(yè)狀態(tài)或日志文件,或表示運(yùn)行作業(yè)處理的結(jié)束的信號。PEC模型被附著到其中LES代理和指向產(chǎn)品是使用廣播通信的Rtclient(Rt客戶)。在調(diào)用任何LES——API功能之前已執(zhí)行PEC初始化。此外,指向產(chǎn)品應(yīng)當(dāng)在退出之前調(diào)用TptTerm。
在一個實(shí)施例中,SIGUSR2被用作所有UNIX平臺上的CANCEL通知信號,LES代理缺省忽略該信號。由于子處理繼承了所有信號,所以CANCEL事件被忽略,除非指向產(chǎn)品采取動作。所以,如果用戶應(yīng)用程序正在使用用于其他目的的SIGUSR2,可能出現(xiàn)沖突(但允許利用用于操作的標(biāo)準(zhǔn)UNIX工具箱)。
在LES代理運(yùn)行任何指向產(chǎn)品之前設(shè)置下列環(huán)境變量LES_JOBID→指向產(chǎn)品當(dāng)前作業(yè)編號。
LES_RUN_NUM→指向產(chǎn)品當(dāng)前運(yùn)行編號。
LES_GROUPID→指向產(chǎn)品當(dāng)前策略組編號。
LES_RUNTIME→調(diào)度時間(如果-1,則立即調(diào)度作業(yè)運(yùn)行。)LES_INSTANCE→作業(yè)事例。
LES_USERNAME→作業(yè)用戶名稱。
LES_USERROLE→作業(yè)用戶角色。
只要代理檢測到一個誤差,就顯示誤差消息。表9列出了誤差,由編號和消息組成。一些消息使用了變量,在消息文本中表現(xiàn)為%符號,如下列實(shí)例所示。當(dāng)顯示誤差消息時,用實(shí)際值代替這些變量。例如,在該情況中,當(dāng)顯示誤差消息時,變量%用實(shí)際約束和文件名替代。
表9
表10提供了用于一個指向產(chǎn)品作業(yè)模板的示例性源代碼,被認(rèn)為是一個指向產(chǎn)品API120的使用的例子。然而,給出的碼不是用來成為本發(fā)明的可編輯或可執(zhí)行的版本,或者成為本發(fā)明的一個完美的實(shí)施例,而僅僅是反映這里所討論的某些特征的一個實(shí)例。
表10<pre listing-type="program-listing"><![CDATA[ /* Platinum Technology Inc * Copyright (C)1997 Platinum technology Dimeric Lab * All Rights Reserved. * PLATINUM Lightweight Enterprise Scheduler example program * using the LES Point Product API referred to LES_API * Function source code. */ /* Point Product job template and use of the Point Product API */ /* system includes */#include <stdio.h>#include <stdlib.h>/* pec include files */#include <rtworks/ipc.h>#include <ptm/ptm.h>/* LES_API include files */#include"ptles_size.h"#include"ptles_ppapi.h"/* edit keys here *//* for example purposes the num of keys allowed is limited to 10*/#define MAX_KEYS 10static char keys[MAX_KEYS][KEY_L+1]={"key 1",/*e.g replace"key 1"with your key value */"key 2","key 3","key 4",};#define MY_STATUS_RUNNING1#define MY_STATUS_COMPLETE 2#define MY_STATUS_ABORT 3#define MY_STATUS_CANCELED 4FILE *fplog;/*** If user want to cancel this job** switch to the following function*/voidcancel_this_job(sig)int sig;{ fprintf(fplog,"Update Job Status to STATUS_CANCELED \n"); if(PtLESUpdateJobStatus(MY_STATUS_CANCELED)==LESAPI_FAIL) { fprintf(fplog,"PtLESUpdateJobStatusError %d\n"); } fprintf(fplog,"Point Product exampleJob canceled by userrequest\n"); PtLESUpdateExitStatus(PP_FAILED); TptTerm(); fclose(fplog); exit(1);}/* example program demonstrates how a point product *//* can use the LES_API to communicate with the LES Agent*/int main(argc,argv)int argc;char **argv;{int rc; /* used for error return */char pvalue[DATA_L+1]; /* allocation to hold value of a key-valuepair*/int plen; /* length of value */int i; /* used as a counter*/int num_items; /* num of key-value pairs rec*/char *plat_home;char log_path[PATH_L+1];char *les_jobid,*job_id;char *les_groupid;char *les_runtime;char *les_run_number;#if defined(DEBUG) && defined(WIN32) DebugBreak();#endif job_id=getenv("LES_JOBID"); plat_home=getenv("PLATHOME"); if(plat_home 1=NULL && job_id 1=NULL)sprintf(log_path,"%s/les/files/logdir/pplogfile_%s.log",plat_home,job_id); else strcpy(log_path,"pplogfile.log"); fplog=fopen(log_path,"w"); if(fplog==NULL) fplog=stderr; fprintf(fplog,"-----------------Point product example------------------\n"); les_jobid=getenv("LES_JOBID"); les_groupid=getenv("LES_GROUPID"); les_runtime=getenv("LES_RUNTIME"); /* ** LES V1.1.0 New Env. */ les_run_number=getenv("LES_RUN_NUMBER"); fprintf(fplog,"ENV.VARIABLE SETUP BY PTLES_AGENT\n"); if(les_jobid 1=NULL) { PtLESSetJobId(atoi(les_jobid)); fprintf(fplog,"....LES_JOBID=%s \n",les_jobid);} if(les_groupid 1=NULL) { fprintf(fplog,"....LES_GROUPID =%s \n",les_groupid); } if(les_runtime 1=NULL) fprintf(fplog,"....LES_RUNTIME=%s \n",les_runtime); if(les_run_number 1=NULL) fprintf(fplog,"....LES_RUN_NUMBER=%s \n",les_run_number); /* print our any arguments passed on the command line */ fprintf(fplog,"Command line argument\n"); for(i=1;i<argc;i++) { fprintf(fplog,"Argument[%d]%s\n",i,argv[i]); } /*To use the LES_API you always have to call the PEC TptInitfunction*/ /* to make a connection to the RtServer in main program */ TptInit(PPROD_API,"V1.1.0"); /*LES V1.1.0 adapt.Add CANCEL Function */ PtLESSetJobCancel(&cancel_this_job); fprintf(fplog,"Update logfile name%s \n",log_path); /* Communicate the Point Products Logfile to LES Agent */ if(PtLESUpdateLogFileName(log_path)==LESAPI_FAIL) { fprintf(fplog,"PtLESUpdateLogFileNameError %d\n"); } /* Update the Point Product Status to Running *//* use this function to update status */ fprintf(fplog,"Update Job Status to STATUS_RUNNING \n"); if(PtLESUpdateJobStatus(MY_STATUS_RUNNING)==LESAPI_FAIL) { fprintf(fplog,"PtLESUpdateJobStatusError %d\n"); } /* The following function call performs the initialcommunication */ /* with the LES AGENT */ /* Used to retrieve the point product parms that may beneeded to */ /* be passed */ /* stored internally is the jobid and run number*/ fflush(fplog); fprintf(fplog,"Get Point product Parameters\n"); rc=PtLESGetProductParms(360 /* TIMEOUT */); if(rc==LESAPI_FAIL) { fprintf(fplog,"PtLESGetProductParmsError %d\n",PtLESGetErrno()); /* Another call to communicate the progress of a job*/ /* to the LES AGENT */ fprintf(fplog,"PP_exampleUpdate the STATUS toMY_STATUS_ABORT=%d \n", MY_STATUS_ABORT); if(PtLESUpdateJobStatus(MY_STATUS_ABORT)==LESAPI_FAIL){fprintf(fplog,"PtLESUpdateJobStatusError%d \n");} /* Communicate exit status of point product */ /* pre defined to PP_SUCCESS,PP_FAILED,PP_PREMPTED */ fprintf(fplog,"PP_exampleUpdate the exit status=%d \n",PP_FAILED); PtLESUpdateExitStatus(PP_FAILED); PtLESDestroyParms(); TptTerm(); fclose(fplog); exit(1);}/* edit the keys static char string defined before the main * to add point product keys*//* return the no of key value pairs */num_items=PtLESGetNumParms();if(num_items==LESAPI_FAIL){ fprintf(fplog,"PtLESGetNumParms%d\n", PtLESGetErrno());}fprintf(fplog,"No.Parameters received%d\n",num_items);num_items=num_items<MAX_KEYS?num_itemsMAX_KEYS;fprintf(fplog,"No.Parameters received%d\n",num_items);/* retrieve an print the key value pairs */for(i=0;i<num_items;i++){ /* get the length of value in the key-value pair */plen=PtLESGetParameterLen(keys[i]);if(plen>0){ /* Function used to retrieve the value given*/ /* a key for the parameter */ if(PtLESGetParameter(keys[i],pvalue,plen)==LESAPI_FAIL) fprintf(fplog,"PtLESGetParameter%d\n",PtLESGetErrno()); else/*print out the key-value pair */ fprintf(fplog, "\tParameter[%d]key=%s Value=%slen=%d\n", i,keys[i],pvalue,plen);} } /* print out the job Id and the Run Number received */ fprintf(fplog,"Received Job Id%ld\n",PtLESGetJobId()); fprintf(fplog,"Received Job RunNumber%ld\n",PtLESGetJobRunNum()); /* Another call to communicate the progress of a job */ /* to the LES AGENT */ fprintf(fplog,"Update Job Status to STATUS_COMPLETED \n"); if(PtLESUpdateJobStatus(MY_STATUS_COMPLETE)==LESAPI_FAIL) {fprintf(fplog,"PtLESUpdateJobStatusError %d\n"); } /*Before terminating call PtLESExitStatus */ /*Communicate exit status of point product */ /*pre defined to PP_SUCCESS,PP_FAILED,PP_PREMPTED */ /*free the internal structures allocated by LES_API*/fprintf(fplog,"Send END OF JOB with STATUS SUCCESS toPTLES_AGENT \n"); PtLESUpdateExitStatus(PP_SUCCESS); PtLESDestroyParms(); /* terminate connection to RTServer */ TptTerm(); fclose(fplog); return(0);}/* eof of main */]]></pre>經(jīng)POEMS的調(diào)度本發(fā)明利用包括一個窗口(POEMS調(diào)度服務(wù)作業(yè)調(diào)度窗口,圖10)或一個屬性頁(作業(yè)調(diào)度表屬性頁,圖11)的GUI接口來實(shí)施。GUI窗口或頁的其它實(shí)施例或安排也是可以應(yīng)用的,例如,使用下拉選擇菜單,而不是無線按鈕,僅作為一個實(shí)例)。
GUI接口允許用戶輸入用于待交付作業(yè)的調(diào)度說明,包括-立即作業(yè)運(yùn)行。
-作業(yè)稍后運(yùn)行。
-作業(yè)的起始時間和日期。
-作業(yè)的再次運(yùn)行間隔。
-建立或選擇調(diào)度日歷。
此外,GUI接口允許用戶確定或修改通知腳本。
為了啟動一個作業(yè),用戶把一個作業(yè)說明輸入到作業(yè)說明箱中,按照立即、稍后時間或啟動日期和時間選擇一個運(yùn)行時間,然后點(diǎn)擊OK或結(jié)束。
POEMS具有若干個提供適當(dāng)?shù)膯尤掌诤蜁r間的特征。例如,如圖12所示,,為日期選擇提供了一個下拉日歷。下拉日歷包括如下的前進(jìn)和減少的按鈕·選擇>>前進(jìn)一年的按鈕。
·選擇<<減少一年的按鈕。
·選擇>前進(jìn)到下一個月的按鈕。
·選擇<返回到前一個月的按鈕。
由于POEMS調(diào)度服務(wù)在遠(yuǎn)端節(jié)點(diǎn)上調(diào)度作業(yè),因此,提供一個按啟動時間使用遠(yuǎn)端節(jié)點(diǎn)(而不是交付節(jié)點(diǎn))的本地時間的選擇框。
重現(xiàn)作業(yè)運(yùn)行可以被設(shè)置用于間隔的寬陣列,包括·沒有-用來調(diào)度作業(yè)的不重現(xiàn)運(yùn)行。
·每小時后的幾分鐘-用來在該小時后的特定幾分鐘調(diào)度作業(yè)的重現(xiàn)(recurring)運(yùn)行。
·小時-用來按指定的每小時間隔調(diào)度作業(yè)的重現(xiàn)運(yùn)行。
·日-用來按每周的或幾日中指定的間隔調(diào)度作業(yè)的重現(xiàn)運(yùn)行。
·周-用來在選定日或幾日上按周指定的間隔調(diào)度作業(yè)的重現(xiàn)運(yùn)行。
·月-用來在選定日或幾日上按月指定的間隔調(diào)度作業(yè)的重現(xiàn)運(yùn)行。
·年-用來每年在指定日期調(diào)度作業(yè)的重現(xiàn)運(yùn)行。
圖13提供了一個在每小時之后的選定分鐘運(yùn)行的被調(diào)度的作業(yè)的一個實(shí)例(安排每小時重現(xiàn)運(yùn)行間隔)。圖14提供了一個在每小時之后的選定分鐘運(yùn)行的被調(diào)度的作業(yè)的一個實(shí)例(安排按小時重現(xiàn)運(yùn)行間隔)。圖15提供了每日運(yùn)行的被調(diào)度的作業(yè)的一個實(shí)例(安排按日重現(xiàn)運(yùn)行間隔)。圖16提供了一個借助特定啟動日期在每個星期四運(yùn)行的被調(diào)度的作業(yè)的一個實(shí)例(安排按周重現(xiàn)運(yùn)行間隔)。圖17提供了安排為在每月25日運(yùn)行的作業(yè)的一個實(shí)例(安排按月再現(xiàn)運(yùn)行間隔)。圖18提供了一個在每年的6月25日運(yùn)行的被調(diào)度的作業(yè)的一個實(shí)例(安排按年重現(xiàn)運(yùn)行間隔)。
通知腳本如上所述,GUI接口向用戶提供了確定、修改或選擇一個通知腳本的機(jī)會。通知腳本是外殼腳本,含有用來自動地提供有關(guān)作業(yè)的通知和作業(yè)狀態(tài)信息的動作。通知腳本例如也可以執(zhí)行其它功能。指向產(chǎn)品應(yīng)用程序執(zhí)行作業(yè)通知腳本。產(chǎn)品應(yīng)用程序文件歸檔(documentation)應(yīng)當(dāng)包括作業(yè)完成或作業(yè)失敗時所采取的動作的詳細(xì)信息。
可以構(gòu)成通知腳本用于表、表間隔和標(biāo)引。當(dāng)構(gòu)成用于完成或失敗的作業(yè)的通知的通知腳本時,可以利用先前賦值的變量。
這些變量的值是為默認(rèn)通知腳本文件中的特定作業(yè)確定的相同值。用戶可以在這些文件中定義用戶變量的值,然后把通知腳本中的變量用作自變量由于可以把不同值賦給用于每個作業(yè)的變量,因此使用通知腳本中的這些變量,可以使相同腳本用于各種作業(yè)。你可以按照產(chǎn)品應(yīng)用程序所確定的那樣,使用作業(yè)完成腳本或作業(yè)失敗腳本中的變量。
表11提供了建立的通知腳本變量的列表,包括每個變量的說明。
表11
GUI接口上的通知腳本按鈕接入通知腳本窗口(參見圖19)。通知腳本窗口允許用戶進(jìn)行·修改用于確認(rèn)消息的文本,該消息指示一個作業(yè)的完成或失敗。
·使用該窗口中指定的變量編寫一個定制的腳本。
·指定用來通知你作業(yè)完成或失敗的通知電子郵件地址的路徑。
在作業(yè)完成腳本框和作業(yè)失敗腳本框的每一個中,用戶可以輸入任何一個預(yù)定義的腳本變量以修改默認(rèn)腳本,或僅僅鍵入用于通知腳本的全路徑位置和文件名。
用戶的全路徑位置或通知電子郵件箱地址被鍵入通知電子郵件地址箱。該方法可以被利用來指定用于尋呼機(jī)、電子郵件、或電話號碼的通知擇徑地址,以把調(diào)度作業(yè)的信息傳遞到任何位置。調(diào)度一個日歷可從GUI接口訪問的日歷選擇窗口(參見圖20)提供了可以與當(dāng)前作業(yè)一起使用的預(yù)定日歷的一個列表。使用該窗口的選項,用戶可以·創(chuàng)建一個新日歷。
·編輯一個現(xiàn)有日歷。
·選擇一個事先確定的日歷。
·刪除一個日歷。
為了創(chuàng)建一個日歷,用戶選擇日歷選擇窗口中的創(chuàng)建按鈕,該日歷選擇窗口調(diào)用一個創(chuàng)建日歷窗口的顯示(參見圖21)。用戶填寫ID(日歷的名稱)和說明字段。
用戶可以選擇下列按鈕,選擇作業(yè)應(yīng)當(dāng)運(yùn)行的日期的年和月·選擇>>前進(jìn)一年的按鈕。
·選擇<<減少一年的按鈕。
·選擇>前進(jìn)到下一個月的按鈕。
·選擇<返回到前一個月的按鈕。
通過點(diǎn)擊該月的日,一個紅邊框標(biāo)出日歷上的日期,并在選擇日期字段上顯示完成的(標(biāo)出的)日期。也可以選擇多個日期。
也可以通過選擇一個日歷來修改現(xiàn)有的日歷,首先在日歷選擇窗口中點(diǎn)擊可用日歷中的日歷ID或說明,然后點(diǎn)擊編輯按鈕(例如,參見圖22)。該日歷一經(jīng)顯示,可以通過選擇該日歷上的一個日期來增加附加的作業(yè)運(yùn)行日期。用戶利用·選擇>>前進(jìn)一年的按鈕。
·選擇<<減少一年的按鈕。
·選擇>前進(jìn)到下一個月的按鈕。
·選擇<返回到前一個月的按鈕;并且用戶隨后點(diǎn)擊該月的該日。紅邊框標(biāo)出該日歷上的日期,并且完成的日期顯示在選擇的日期字段中。在運(yùn)行作業(yè)的所有日期顯示在所選擇日期字段中以前重復(fù)上述處理。
通過點(diǎn)擊用取消選定的紅色邊框標(biāo)注的日歷號,可以從選定日期列表中刪除日期。當(dāng)取消選定和選擇日期字段中不再顯示日期時,日期邊框消失。
OK按鈕保存和退出窗口。此后的被編輯的日歷可在日歷選擇窗口中得到。點(diǎn)擊取消按鈕,窗口退出,但不保存對日歷的改變。
通過點(diǎn)擊顯示日歷選擇窗口(例如,圖20)的GUI接口(作業(yè)調(diào)度窗口/屬性頁)的選擇按鈕,可以選擇一個日歷。通過點(diǎn)擊日歷ID和可用列表中的說明,然后點(diǎn)擊選擇按鈕(或雙擊ID或說明),使一個日歷增亮。日歷選擇窗口隨后關(guān)閉,并且在作業(yè)調(diào)度窗口或?qū)傩皂摰娜諝vID字段中顯示所選擇的日歷。
可以通過點(diǎn)擊日歷選擇窗口的刪除按鈕而不是選擇按鈕,采用上述的步驟刪除一個日歷。策略調(diào)度提供一個策略調(diào)度(strategy scheduling)窗口,以觀看、修改或刪除一個策略的調(diào)度。從一個指向產(chǎn)品中調(diào)用調(diào)度策略窗口,如圖23所示。
創(chuàng)建按鈕被提供用于創(chuàng)建一個用于當(dāng)前策略的新時間安排,它調(diào)用作業(yè)調(diào)度窗口/屬性頁(參見圖24)。然后為新的時間安排(schedule)填寫作業(yè)調(diào)度窗口/屬性頁。
一個編輯按鈕被提供來修改用于當(dāng)前策略的現(xiàn)有時間安排,它調(diào)用編輯所選用時間安排可用的作業(yè)調(diào)度窗口/屬性頁。
一個刪除按鈕被提供來刪除一個用于當(dāng)前策略的時間安排。用戶首先加亮待刪除的時間安排,然后點(diǎn)擊刪除。然后顯示提示一個清除腳本的一個刪除調(diào)度窗口(例如,參見圖25)。
用戶可以通過刪除外殼腳本或要運(yùn)行的其它處理的名稱(Name)中的文字(如果有),以清除相關(guān)的文件字段來刪除該時間安排,而不運(yùn)行一個清除腳本;或者通過鍵入腳本的路徑和全稱刪除該時間安排并運(yùn)行一個清除腳本。用戶通過通過點(diǎn)擊OK或返回到策略調(diào)度窗口來調(diào)用動作,而不用通過點(diǎn)擊取消進(jìn)行刪除。作業(yè)管理服務(wù)本發(fā)明包括多個以容易使用和直觀格式給出的作業(yè)管理服務(wù)。本發(fā)明利用一個作業(yè)資源對象,以便允許一個導(dǎo)控器(Director)程序識別和跟蹤各種作業(yè)處理過程。
將作業(yè)資源對象插入導(dǎo)控器之后,用戶可以執(zhí)行以下作業(yè)管理任務(wù)·以下列格式觀看信息·欄-位于導(dǎo)控器窗口的右側(cè)。
·屬性頁-位于導(dǎo)控器窗口的右側(cè)。
·日志文件-提供日志文件觀看器。
·刪除作業(yè)·再運(yùn)行作業(yè)·取消作業(yè)運(yùn)行·監(jiān)視作業(yè)運(yùn)行的進(jìn)程作業(yè)資源對象提供一個書簽,用于發(fā)現(xiàn)要顯示的信息,并且定位利用作業(yè)管理處理(例如,刪除或監(jiān)視作業(yè))時將起作用的作業(yè)。用戶調(diào)用的插入對象窗口(參見圖26)標(biāo)識插入的對象(POEMS提供可以插入的對象編號圖26提供了部分列表)。用戶選擇一個對象(在該實(shí)例中是POEMS調(diào)度服務(wù)),并按壓OK。作為響應(yīng),顯示屬性頁(參見圖27),包括General(通用)(圖28),Representation(表示)(圖29),Subscription(預(yù)訂),Indicator(指示器),JobRepository(作業(yè)存儲庫),Event Correlation(事件相互關(guān)系)表。
屬性頁包括一個標(biāo)簽和一個說明字段。用戶輸入一個標(biāo)簽和說明(說明是任選的)。
表達(dá)標(biāo)志允許用戶在Intellicon視圖中選擇表示作業(yè)的一個圖標(biāo),和任意選擇背景和背景顏色?;蛘?,用戶可以在Explorer視圖中選擇一個圖標(biāo)。
Intellicon視圖在圖29中示出,包括Intellicon圖標(biāo)的列表(由POEMS字段提供,或者由用戶提供),和一個觀看所選擇的圖標(biāo)(圖形)的顯示窗口。圖30示出了一個Explorer視圖的實(shí)例,它是顯示ProVision(指向產(chǎn)品,或應(yīng)用程序)作業(yè)(或LES作業(yè))的Explorer視圖,作為作業(yè)資源對象的標(biāo)簽。
通過選擇作業(yè)存儲庫標(biāo)志,顯示一個窗口,用于定義與作業(yè)有關(guān)的時間顯示的時區(qū)。向下箭頭下拉菜單條向用戶提供任何時區(qū)的選擇。該選擇不影響為運(yùn)行作業(yè)調(diào)度屬性頁中指定的作業(yè)而選擇的時間或時區(qū)。在一個實(shí)施例中,通過提供一個自動補(bǔ)償選擇器可以補(bǔ)償夏令時,該選擇器調(diào)用一個程序?qū)ο牧顣r進(jìn)行調(diào)整;或者用戶可選擇緊挨在預(yù)期時區(qū)東邊的時區(qū)。使用作業(yè)資源對象上述處理的所確定的作業(yè)資源對象能夠使用戶定位和觀察作業(yè)和運(yùn)行。用戶可以在Explorer視圖中定位每個作業(yè)。每次執(zhí)行一個作業(yè),它都創(chuàng)建一個新運(yùn)行,然后在作業(yè)的運(yùn)行文件夾中顯示。
每個作業(yè)資源對象包含被分成下列種類的文件夾的層次ALL Jobs-列出所有作業(yè),不管當(dāng)前狀態(tài),還用狀態(tài)列出所有運(yùn)行。
Jobs By Group-列出按組標(biāo)識符排列的所有作業(yè)。
Jobs By Node-列出按作業(yè)運(yùn)行的節(jié)點(diǎn)排列的所有作業(yè)。
Jobs By Product-列出按用于作業(yè)的排列的所有作業(yè)。
Jobs By Type-列出按類型排列的所有作業(yè)。
Jobs By User-列出按調(diào)度作業(yè)的用戶排列的所有作業(yè)。
然而,指向產(chǎn)品可以不允許用戶指定作業(yè)組或類型。文件夾的分層在圖32中示出。
所有作業(yè)文件夾(參見圖33)用數(shù)字列出所有的作業(yè),而不是用組、產(chǎn)品和類型分類它們。所有作業(yè)文件夾把作業(yè)列在文件夾中,包括·ALL Jobs Any Status-列出所有作業(yè),與狀態(tài)無關(guān),連同關(guān)聯(lián)的作業(yè)歷史(作業(yè)的每次運(yùn)行)。
·ALL Runs By Status-根據(jù)作業(yè)的當(dāng)前狀態(tài)把作業(yè)的所有運(yùn)行安排到下列文件夾中·完成的運(yùn)行·失敗的運(yùn)行·沒有啟動的運(yùn)行·先占的運(yùn)行·停止的運(yùn)行·Held Jobs-列出保持并且稍后調(diào)度的所有作業(yè)。
·Scheduled Jobs-列出被調(diào)度運(yùn)行的所有作業(yè)。
當(dāng)使用作業(yè)組文件夾最初調(diào)度作業(yè)時,用戶可以根據(jù)指定給他們的組來顯示作業(yè)。特定產(chǎn)品應(yīng)用程序(用來運(yùn)行作業(yè))指定一個組,但可以不使用該分類。
作業(yè)可以依據(jù)使用Jobs By Node Folder(按節(jié)點(diǎn)作業(yè)文件夾)運(yùn)行作業(yè)的節(jié)點(diǎn)來顯示。
作業(yè)可以依據(jù)使用Jobs By Product Folder(按產(chǎn)品作業(yè)文件夾)運(yùn)行每個作業(yè)的特定產(chǎn)品來顯示。這是有用的,如果使用多個ProVision產(chǎn)品調(diào)度和運(yùn)行具有POEMS Scheduling Service(調(diào)度服務(wù))的話(例如,因為它允許通過功能或應(yīng)用程序進(jìn)行作業(yè)分組)。
當(dāng)使用Job By Type Flolder(按類型作業(yè)文件夾)最初調(diào)度作業(yè)時,作業(yè)可以由指定給它們的作業(yè)類型來顯示。用戶的特定產(chǎn)品應(yīng)用程序(用來運(yùn)行該作業(yè))指定作業(yè)類型。然而,產(chǎn)品不一定使用該分類。
作業(yè)可以依據(jù)使用Jobs By User Folder調(diào)度該作業(yè)的用戶來顯示。JobsBy User、Jobs By Type、Jobs By Product、Jobs By Node和Jobs By GroupFolders(按組作業(yè)文件夾)的每一個包含與上述的所有作業(yè)文件夾相同的用于每個用戶的文件夾分層。
特定的作業(yè)可以通過使用作業(yè)資源對象分層中(+)符號來擴(kuò)展文件夾來定位。由此得到的顯示包括Job ID、Job Icon(作業(yè)圖標(biāo))、和一個Job說明。
此外,特定作業(yè)的(+)符號展現(xiàn)了其運(yùn)行歷史(例如,參見圖35)。
運(yùn)行歷史被存儲在幾個文件夾中。ALL Runs(所有運(yùn)行)文件夾包含與其狀態(tài)無關(guān)的每個運(yùn)。剩余的六個文件夾僅包含擁有適用于該文件夾的狀態(tài)的運(yùn)行(完成,失敗,未啟動,先占,運(yùn)行和停止運(yùn)行)。
可以依據(jù)圖34所示的特定運(yùn)行的狀態(tài)在ALL Run文件夾中定位特定運(yùn)行。在圖34中,Job883的Run #1(作業(yè)883的運(yùn)行#1)被停止;因此,它顯示在Stopped Runs(已停運(yùn)行)文件夾以及在ALL Runs文件夾中。
每個運(yùn)行列表包含·運(yùn)行圖標(biāo)·運(yùn)行編號·運(yùn)行起始日期和時間可以按存儲在作業(yè)、運(yùn)行、組、節(jié)點(diǎn)、產(chǎn)品、類型中的所有作業(yè)、運(yùn)行、組、節(jié)點(diǎn)、產(chǎn)品、類型和用戶的列格式觀看數(shù)據(jù)。當(dāng)使用Explorer視圖時,數(shù)據(jù)顯示在Director(導(dǎo)控器)窗口中。如圖36所示,它示出了在Job ByNode文件夾中的一個特定節(jié)點(diǎn)控制下對ALL Jobs Any Status(所有作業(yè)任何狀態(tài))文件夾中的作業(yè)是有效的一些數(shù)據(jù)。
用戶可以選擇下列文件夾的任何一個,以便用列格式觀看用于文件夾內(nèi)容的數(shù)據(jù)(注某些文件夾,比如ALL Jobs不提供數(shù)據(jù)),包括·Jobs By Group(按組作業(yè))·Jobs By Node(按節(jié)點(diǎn)作業(yè))·Jobs By Product(按產(chǎn)品作業(yè))·Jobs By Type(按類型作業(yè))·Jobs By User(按用戶作業(yè))·ALL Jobs Any Status(所有作業(yè)的任何狀態(tài))·ALL Runs By Status(按狀態(tài)的所有運(yùn)行)·Held Job(保持作業(yè))·Scheduled Jobs(調(diào)度作業(yè))·All Runs(所有運(yùn)行)·Completed Runs(完成的運(yùn)行)·Failed Runs(失敗的運(yùn)行)·Not Started Runs(未啟動的運(yùn)行)·Preempted Runs(先占的運(yùn)行)·Running Runs(正在運(yùn)行的運(yùn)行)·Stopped Runs(停止的運(yùn)行)觀看作業(yè)組數(shù)據(jù)當(dāng)用戶點(diǎn)擊作業(yè)資源對象中的Jobs By Group文件夾的文字時,顯示以下數(shù)據(jù)欄·Group ID-策略組ID號。
·Strategy ID-在該組所屬的公共策略服務(wù)中確定的策略的策略ID號。
·Description-創(chuàng)建該組時,用戶可以輸入的該組的說明。
·Product Code-用來創(chuàng)建可以在該文件夾中觀看的作業(yè)的產(chǎn)品代碼。
·Product Version-用來創(chuàng)建可以在該文件夾中觀看的作業(yè)的產(chǎn)品版本號。
·Jobs_per_Run-由用于該策略組的產(chǎn)品交付的POEMS調(diào)度服務(wù)作業(yè)的數(shù)目。
·Created-生成策略組作業(yè)的日期和時間。觀看節(jié)點(diǎn)數(shù)據(jù)當(dāng)用戶點(diǎn)擊作業(yè)資源對象中的Job By Node文件夾的文字時,顯示以下數(shù)據(jù)列Node-作業(yè)所在的節(jié)點(diǎn)的列表。觀看產(chǎn)品數(shù)據(jù)當(dāng)用戶點(diǎn)擊作業(yè)資源對象中的Job By Product文件夾的文字時,顯示以下數(shù)據(jù)列Product Code(產(chǎn)品碼)-用來創(chuàng)建在該文件夾中可以觀看的作業(yè)的產(chǎn)品的代碼。
Product Version(產(chǎn)品版本)-用來創(chuàng)建在該文件夾中可以觀看的作業(yè)的產(chǎn)品的版本號。觀看數(shù)據(jù)類型當(dāng)用戶點(diǎn)擊作業(yè)資源對象中的Job By Type文件夾的文字時,顯示以下數(shù)據(jù)列Type-作業(yè)類型的列表。用戶可以借助它們的作業(yè)類型定位作業(yè),作業(yè)類型被指定在用來運(yùn)行作業(yè)的產(chǎn)品中。觀看用戶數(shù)據(jù)當(dāng)用戶點(diǎn)擊作業(yè)資料源對象中的Job By User文件夾的文字時,顯示以下數(shù)據(jù)列User-用戶名稱的列表。用戶可以定位用戶名稱下列出的作業(yè)。觀看作業(yè)數(shù)據(jù)當(dāng)用戶點(diǎn)擊作業(yè)資料源對象中的ALL Jobs Any Status、Held Job或Scheduled Job文件夾的文本時,顯示以下數(shù)據(jù)列·Job ID-唯一的作業(yè)ID號。
·Description-可選的作業(yè)說明。
·Job Group-用于作業(yè)所屬的組的策略組ID號。
·Access Mode-如果該列顯示L,則鎖定該作業(yè)并且不能再運(yùn)行該作業(yè),直至該作業(yè)被解鎖。一個作業(yè)由運(yùn)行該作業(yè)的指向產(chǎn)品鎖定和解鎖。如果一個作業(yè)沒有被鎖定,則該列空白。
·Product(產(chǎn)品)-創(chuàng)建作業(yè)的產(chǎn)品。
·Type-作業(yè)類型(取決于產(chǎn)品)·Node(節(jié)點(diǎn))-作業(yè)將運(yùn)行的機(jī)器。
·Whosetz-調(diào)度作業(yè)所用的時區(qū)。
·When Deployed-將作業(yè)寫入作業(yè)表中的時間。
·Next Start-該字段可以包含以下值或文本信息之一·下一次設(shè)置作業(yè)運(yùn)行。
·立即運(yùn)行。
·過期。
·稍后安排(保持)。
·Run Count-作業(yè)運(yùn)行的總次數(shù)。觀看運(yùn)行數(shù)據(jù)(作業(yè)歷史)當(dāng)用戶點(diǎn)擊ALL Runs By Status文件夾和包含運(yùn)行的任何文件夾時,顯示以下數(shù)據(jù)列·Job ID-用于該運(yùn)行的唯一的作業(yè)ID。
·Run Number-唯一的運(yùn)行編號(指定給作業(yè)的每次再現(xiàn)運(yùn)行的編號)·Group ID-作業(yè)歸屬的組的策略組ID編號。
·Type-作業(yè)類型(依賴產(chǎn)品)。
·Time Zone-用于作業(yè)運(yùn)行的時區(qū)。
·Scheduled Start Time-作業(yè)被安排啟動的時間。
·Start Status-作業(yè)如何啟動的狀態(tài)。該狀態(tài)由POEMS Scheduling Service設(shè)置,該列可以包含以下值·0作業(yè)成功啟動。
·1作業(yè)不運(yùn)行,因為當(dāng)POEMS Scheduling Service失效(down)時啟動時間已過,而且該作業(yè)此時未再現(xiàn)。
·2因OS狀態(tài),導(dǎo)致不能執(zhí)行。
·3因OS狀態(tài)(不足的系統(tǒng)資源),導(dǎo)致派生(Fork)失敗。
·4無效用戶。
·Actual Start Time-該作業(yè)運(yùn)行實(shí)際開始時的時間。
·End Time-作業(yè)完成時的日期和時間。
·OS Status-當(dāng)不能創(chuàng)建作業(yè)處理時由操作系統(tǒng)提供(參見你的用于信息的操作系統(tǒng)文件)。
·Complt Status-由運(yùn)行作業(yè)的指向產(chǎn)品指定的運(yùn)行的完成狀態(tài)(參見你的用于信息的特定產(chǎn)品文件)。
·Failed-該列可以包含以下值·0作業(yè)是成功的。
·1由于任何原因?qū)е伦鳂I(yè)失敗。
·Preempted-該列可以包含以下值·1作業(yè)不能運(yùn)行,因為你的特定產(chǎn)品的操作規(guī)則導(dǎo)致不允許作業(yè)運(yùn)行。
·-1作業(yè)未被先占。
·Stopped-該列可以包含以下值·1作業(yè)處理在不通知代理的情況下結(jié)束,并且狀態(tài)是未知的。
·-1作業(yè)沒有被停止。
·Logfile-用于該運(yùn)行的日志的名稱和位置。以屬性頁格式觀看數(shù)據(jù)可以在一個作業(yè)資源對象之中觀看關(guān)于特定對象(作業(yè)、運(yùn)行、組、產(chǎn)品或類型)的數(shù)據(jù)。數(shù)據(jù)在導(dǎo)控器(Explorer視圖)窗口的右側(cè)以具有一個或多個標(biāo)志的屬性頁格式來顯示。通過點(diǎn)擊對象的文本,在導(dǎo)控器的右側(cè)以屬性頁格式顯示數(shù)據(jù),如圖37所示,以便訪問屬性頁數(shù)據(jù)。
普通屬性頁包含以下字段·Job ID-唯一的作業(yè)ID編號。
·Description-可選的作業(yè)說明。
·Group ID-該作業(yè)歸屬的組的策略組ID編號。
·Target Node(目標(biāo)節(jié)點(diǎn))-作業(yè)將運(yùn)行的機(jī)器。
·Deployed to Target Node(展開列目標(biāo)節(jié)點(diǎn))-在作業(yè)將運(yùn)行的節(jié)點(diǎn)上,把作業(yè)寫入作業(yè)表時的時間。
·Job Type-作業(yè)類型(依賴產(chǎn)品)。
·Job Owner-執(zhí)行作業(yè)的對象的所有者。
·Run Count-運(yùn)行作業(yè)的次數(shù)。
·Run State-該列可以包含以下值·0等待下次運(yùn)行。
·1當(dāng)前正在運(yùn)行。
·Scheduling Time Zone-調(diào)度該作業(yè)的工作站的時區(qū)。
·Retry Interval(分鐘)-該列可以包含以下值·在嘗試重新運(yùn)行一個先占運(yùn)行后的作業(yè)之前等待的分鐘數(shù),或·0在作業(yè)被預(yù)占之后,該作業(yè)將不能再運(yùn)行。
·Retry Count-該列可以包含以下值·當(dāng)作業(yè)被先占或不能啟動時進(jìn)行作業(yè)的再試次數(shù)。
或·0作業(yè)將不能重新運(yùn)行。
·Recur Fail Threshold(再現(xiàn)失敗閾值)-在作業(yè)調(diào)度被停止之前接受的失敗產(chǎn)品的運(yùn)行次數(shù)。
·Recur Fail Count(再現(xiàn)失敗計數(shù))-用來檢驗作業(yè)是否已經(jīng)失敗了連續(xù)運(yùn)行的給定次數(shù)。(該次數(shù)隨每次失敗而遞減,并復(fù)位到每次成功運(yùn)行的初始值;如果該次數(shù)為零則不能再調(diào)度該作業(yè)。)·Access Mode(接入模式)-如果鎖定出現(xiàn),則用戶不能重新運(yùn)行該作業(yè),直至該作業(yè)被解鎖。一個作業(yè)由運(yùn)行該作業(yè)的指向產(chǎn)品鎖定和解鎖。如果一個作業(yè)未被鎖定,該字段空白。
其它屬性頁通過點(diǎn)擊相應(yīng)的標(biāo)志(tab)來顯示。命令屬性頁(參見圖38)包含以下字段·Command Line(命令行)-要執(zhí)行的命令行。
·E-Mail Completion Notification to(電子郵件完成通知給)-用來發(fā)送作業(yè)完成或失敗通知的電子郵件地址。
·Completion Script(完成腳本)-作業(yè)完成腳本。
·Failure Script(失敗腳本)-作業(yè)失敗腳本。
·Product Code(產(chǎn)品碼)-創(chuàng)建作業(yè)的proVision產(chǎn)品的代碼。
數(shù)據(jù)庫屬性頁(參見圖39)包含以下字段·Database Connect String-可選的數(shù)據(jù)庫連接字符串或使用的名稱·Database Instance-完成或失敗的作業(yè)運(yùn)行的事例的名稱。
·Obiect Name-其作業(yè)完成或失敗的對象的名稱。
·User ID-數(shù)據(jù)庫用戶ID。
·User Password-加密的數(shù)據(jù)庫用戶口令。
注屬性頁上的信息由運(yùn)行該作業(yè)的指向產(chǎn)品設(shè)置。
作業(yè)調(diào)度屬性頁(參見圖40)顯示,在運(yùn)行作業(yè)的產(chǎn)品中作出的以下作業(yè)調(diào)度選擇·作業(yè)的開始日期和時間。
·調(diào)度作業(yè)的時區(qū)。
注如果該工作站按鈕的使用時區(qū)被選擇,則它是作業(yè)被調(diào)度的工作站。
·作業(yè)重新運(yùn)行的間隔。
·用來運(yùn)行作業(yè)的所存日歷的日歷ID。該字段顯示只有當(dāng)所存的日歷被使用時的日歷ID。
參數(shù)標(biāo)志(tab)屬性頁(參見圖41)包含以下字段·Job parameters(作業(yè)參數(shù))-列出作業(yè)參數(shù)名稱和值。(指向產(chǎn)品確定該字段的內(nèi)容。)普通標(biāo)志屬性頁(參見圖42)包含以下字段·Job ID-的用于該運(yùn)行的唯一作業(yè)ID。
·Run Number-唯一的運(yùn)行編號(指定給每個作業(yè)再現(xiàn)運(yùn)行的編號)。
·Time Zone-作業(yè)運(yùn)行的時區(qū)。
·Scheduled Start Time-當(dāng)調(diào)度作業(yè)啟動時的時間。
·Actual Start Time-當(dāng)該作業(yè)的運(yùn)行實(shí)際啟動時的時間。
·Start Status-作業(yè)開始的狀態(tài)(由POEMS Scheduling Service設(shè)置)。
·成功地啟動。
·Expired(過期)-作業(yè)不能運(yùn)行,因為在POEMS Scheduling Service(調(diào)度服務(wù))停止時和作業(yè)不能再現(xiàn)的時候啟動時間已過。
·Agant down-POEMS Scheduling Service代理失效(down)。
·Fork failed(派生失敗)-由于缺少足夠的系統(tǒng)資源,處理不能在代理機(jī)器上運(yùn)行。
·End Time-運(yùn)行完成的日期和時間。
·Operating System Status(操作系統(tǒng)狀態(tài))-由操作系統(tǒng)提供的處理狀態(tài)。
·Run Status(運(yùn)行狀態(tài))-選擇以下無線按鈕之一,指示當(dāng)前的運(yùn)行狀態(tài)·Completed(完成)-運(yùn)行結(jié)束。
·Not Started(不啟動)-運(yùn)行還未啟動。
·Running-運(yùn)行當(dāng)前正在進(jìn)行。
·Stopped-處理已經(jīng)結(jié)束,不通知代理并且狀態(tài)是未知的。
·Preempted(先占)-由于指向產(chǎn)品操作規(guī)則,不允許該運(yùn)行。
·Failed(失敗)-為詳細(xì)說明的原因?qū)е略撨\(yùn)行失敗。
·Completion Status Code(完成狀態(tài)碼)-由運(yùn)行該作業(yè)的指向產(chǎn)品指定的運(yùn)行的完成狀態(tài)。(參見用于信息的特定產(chǎn)品文件)。
·Logfile(日志文件)該作業(yè)的日志的名稱。
為了訪問運(yùn)行狀態(tài)標(biāo)識屬性頁,用戶點(diǎn)擊運(yùn)行狀態(tài)標(biāo)志,以觀看運(yùn)行狀態(tài)屬性頁上的數(shù)據(jù)(參見圖43)。
統(tǒng)計字段顯示關(guān)于作業(yè)的該運(yùn)行的特定產(chǎn)品信息。如果數(shù)據(jù)由ProVision、指向或其它產(chǎn)品提供,則該字段僅顯示數(shù)據(jù)。觀看作業(yè)組數(shù)據(jù)為了訪問作業(yè)組數(shù)據(jù)·點(diǎn)擊作業(yè)資源對象中的一個組的文字,顯示圖44所示的普通標(biāo)志屬性頁。
普通標(biāo)志屬性頁(用于一個組)包含以下字段·Group ID-策略組ID編號。
·Description-可選的組說明。
·Strategy ID-按該組歸屬的公共服務(wù)策略確定的策略的策略ID編號。
·Product Code-用來創(chuàng)建在該文件夾中可以觀看的作業(yè)的ProVision產(chǎn)品的代碼(在一個實(shí)施例中,是三個字母的Platinum碼)。
·Product Version-用來創(chuàng)建在該文件夾中可以觀看的作業(yè)的ProVision產(chǎn)品的版本號。
·Jobs Per Run-由用于該策略組的產(chǎn)品交付的POEMS調(diào)度服務(wù)作業(yè)的編號。
·When Created-生成策略組的日期和時間。觀看日志文件數(shù)據(jù)當(dāng)作業(yè)被運(yùn)行時,日志文件由各種ProVision產(chǎn)品、指向產(chǎn)品、應(yīng)用程序產(chǎn)品等(包含到API的鏈接并涉及這里所討論的編程的軟件產(chǎn)品的一個類別)生成。如果創(chuàng)建,則用戶可以觀看由通過一個作業(yè)資源對象使用POEMS調(diào)度服務(wù)的產(chǎn)品所生成日志文件。用戶可以啟動一個日志文件觀看器。
為了確定是否存在一個用于一個給定作業(yè)的日志文件,用戶首先點(diǎn)擊一個ALL Runs By Status(按狀態(tài)所有文件夾)文件夾的文字或圖標(biāo),以在導(dǎo)控器窗口右側(cè)以列格式觀看數(shù)據(jù)。然后,向左移動(屏幕),使用水平滾動條或右箭頭(例如,參見圖45)觀看日志列(欄)。如果用于一個運(yùn)行的日志文件是可用的,則在用于在日志文件列中運(yùn)行的行中顯示它的位置。
為了觀看用于一個運(yùn)行的一個日志文件,用戶在一個作業(yè)資源對象中尋找該作業(yè)的運(yùn)行。然后,右擊該運(yùn)行,以顯示一個彈出菜單(例如,參見圖46)。最后,通過從彈出菜單中選擇視圖日志文件,得到圖47所示的顯示。刪除作業(yè)當(dāng)用戶不再需要一個作業(yè)歷史時,可以使用作業(yè)管理窗口刪除它。多個作業(yè)或單個作業(yè)都可以被刪除。刪除多個作業(yè)為了刪除多個作業(yè),按照含有作業(yè)的文件夾的等級訪問作業(yè)管理窗口,以便在一個作業(yè)資源對象中刪除作業(yè)。然后,右擊該文件夾的圖標(biāo)或文字,以顯示圖48所示的彈出菜單。通過從彈出菜單中選擇刪除,顯示刪除作業(yè)窗口(參見圖49)。該窗口顯示了在交付作業(yè)/運(yùn)行字段中選擇的所有作業(yè)的Job ID和節(jié)點(diǎn)名稱。
首先選擇并加亮文件夾中的所有作業(yè)。如果用戶點(diǎn)擊一個作業(yè),則它被撤銷選擇并且將不被刪除。如果所有的作業(yè)被撤銷選擇,則交付按鈕變得不起作用。
通過以下任一種方式取消任何作業(yè)選定·每次點(diǎn)擊若干作業(yè)的一個(如圖49所示);或·使用Select None(選擇無)按鈕取消對所有作業(yè)的選定,然后點(diǎn)擊這些作業(yè)以作刪除;或每次點(diǎn)擊刪除的若干作業(yè)的一個,以最初取消對它們的選定,然后使用Invert(反轉(zhuǎn))按鈕反轉(zhuǎn)你的選擇。(這將再次選擇你取消選擇的作業(yè)和取消所有的其它選擇。)注Select All(選擇所有)按鈕可以被用來重新選擇所有作業(yè)。
點(diǎn)擊Submit(交付)按鈕,刪除所選擇的作業(yè)。該窗口擴(kuò)展,以提供狀態(tài)的動態(tài)顯示和動作的結(jié)果(參見圖50)。如果一個作業(yè)刪除成功地完成,則在成功字段中顯示用于每個作業(yè)的作業(yè)ID和節(jié)點(diǎn)名稱。如果一個作業(yè)刪除失敗,則在失敗字段中顯示用于該作業(yè)的作業(yè)ID、節(jié)點(diǎn)名稱和一個誤差代碼。
交付、成功、未決和失敗刪除的運(yùn)行總數(shù)在小的交付、成功、未決和失敗字段中顯示。或者,用戶在刪除作業(yè)的同時可以點(diǎn)擊關(guān)閉按鈕,而不等待擴(kuò)展窗口中顯示的所有結(jié)果;或者進(jìn)行等待,直至所有的結(jié)果(成功或失敗)在擴(kuò)展窗口的成功或失敗字段中顯示。然后將關(guān)閉按鈕改變到你選擇關(guān)閉作業(yè)管理窗口的完成(Done)按鈕。刪除單個作業(yè)為了刪除單個作業(yè),按照作業(yè)資源對象中的刪除作業(yè)的等級訪問作業(yè)管理窗口。然后用戶定位刪除的作業(yè)并右擊該作業(yè)的圖標(biāo)或文本,以顯示一個彈出菜單(參見圖51)并選擇刪除。
然后,顯示刪除作業(yè)窗口(參見圖52)。該窗口示出所選擇的作業(yè)的作業(yè)ID和節(jié)點(diǎn)名稱。如果用戶點(diǎn)擊該作業(yè),則取消對該作業(yè)的選擇并使交付按鈕變得無效。通過點(diǎn)擊交付按鈕,刪除該作業(yè),并且使該窗口擴(kuò)展以提供一個動作的狀態(tài)和結(jié)果的動態(tài)顯示(參見圖53)。
如果作業(yè)的刪除成功完成,則該作業(yè)的作業(yè)ID和節(jié)點(diǎn)名稱顯示在成功字段中。如果作業(yè)的刪除失敗,則該作業(yè)的作業(yè)ID、節(jié)點(diǎn)名稱和錯誤碼顯示在失敗字段中。
交付、成功、未決和失敗刪除的運(yùn)行總數(shù)在小的交付、成功、未決和失敗字段中顯示。再運(yùn)行作業(yè)作業(yè)管理窗口可以被利用來使用相同參數(shù)再運(yùn)行已完成的作業(yè)??梢栽龠\(yùn)行多個作業(yè)或單個作業(yè)。再運(yùn)行一個作業(yè)時,則指定一個新運(yùn)行編號。在一個實(shí)施例中,通過這些過程,防止鎖定的作業(yè)再運(yùn)行。再運(yùn)行多個作業(yè)為了再運(yùn)行多個作業(yè),按照作業(yè)資源對象中包含再運(yùn)行作業(yè)的文件夾的等級來訪問作業(yè)管理窗口。定位包含再運(yùn)行作業(yè)的文件夾,并右擊該文件夾的圖標(biāo)和文字,顯示一個彈出菜單(參見圖54)。通過從彈出菜單選擇再運(yùn)行,顯示再運(yùn)行作業(yè)窗口(參見圖55)。該窗口顯示在交付作業(yè)/運(yùn)行字段中所選擇的所有作業(yè)的作業(yè)ID和節(jié)點(diǎn)名稱,并提供運(yùn)行它們的選項。
與上述刪除作業(yè)過程相同,一個文件夾中的所有作業(yè)被最初選擇。如果用戶點(diǎn)擊一個作業(yè),則取消對該作業(yè)的選定,并且將不進(jìn)行再運(yùn)行。如果用戶取消對所有作業(yè)的選定,交付按鈕則變得無效。
用戶可以通過以下方式在起始日期和時間說明區(qū)域中利用以下選項之一·點(diǎn)擊立即運(yùn)行按鈕,立即運(yùn)行該作業(yè);或·點(diǎn)擊稍后調(diào)度按鈕,取消該作業(yè)的先前安排的下一次啟動時間,并在保持作業(yè)文件夾中保持該作業(yè)。
注作業(yè)可以通過使用作業(yè)管理窗口或者立即再運(yùn)行或者按一個指定時間再運(yùn)行(參見上述的再運(yùn)行多個作業(yè))。
或·點(diǎn)擊按鈕上的運(yùn)行,鍵入作業(yè)起始日期字段中的日期,或點(diǎn)擊向下箭頭從一個日歷中選擇日期,然后鍵入作業(yè)起始時間字段中的時間,或使用上/下箭頭移動到預(yù)期時間。
注在一個實(shí)施例中,用戶必須使用最初用來運(yùn)行作業(yè)的時區(qū)在這些字段中設(shè)置日期和時間。在作業(yè)最初運(yùn)行的時區(qū)中可以不顯示作業(yè)資源對象中的作業(yè)時間。
然后,按照指定的日期和時間再運(yùn)行所選擇的作業(yè)。通過點(diǎn)擊交付按鈕再運(yùn)行所選擇的作業(yè),使該窗口擴(kuò)展以提供一個動作的狀態(tài)和結(jié)果的動態(tài)顯示(參見圖56〕。如果一個作業(yè)被成功交付,則在成功字段中顯示該作業(yè)的作業(yè)ID和節(jié)點(diǎn)名稱。如果一個作業(yè)交付失敗,則在失敗字段中顯示該作業(yè)的作業(yè)ID、節(jié)點(diǎn)名稱和一個錯誤代碼。
交付、成功、未決和失敗再運(yùn)行的運(yùn)行總和顯示在交付、成功、未決和失敗字段中。再運(yùn)行單個作業(yè)為了再運(yùn)行單個作業(yè),按再運(yùn)行作業(yè)的等級訪問作業(yè)管理窗口。在作業(yè)文件夾中定位再運(yùn)行的作業(yè)之后,右擊該作業(yè)的圖標(biāo)或文字,以顯示一個菜單(參見圖57),并選擇再運(yùn)行,顯示再運(yùn)行作業(yè)窗口(參見圖58)。該窗口顯示所選擇的作業(yè)的作業(yè)ID和節(jié)點(diǎn)名稱,并提供再運(yùn)行它的選項。點(diǎn)擊該作業(yè),取消對它的選定,于是交付按鈕變得無效。與上述相同,起始日期和時間選項同樣也無效。點(diǎn)擊交付按鈕,再運(yùn)行該作業(yè)。
至于其它再運(yùn)行選項,該窗口擴(kuò)展提供一個該交付的狀態(tài)或結(jié)果的動態(tài)顯示。取消運(yùn)行用戶可以使用作業(yè)管理員取消一個再運(yùn)行作業(yè)。用戶可以取消一個作業(yè)的多個運(yùn)行或單個運(yùn)行。然而,在一個作業(yè)的關(guān)鍵階段(critical stage)期間,某些產(chǎn)品可以暫時禁止這種能力,即不允許恢復(fù),使恢復(fù)困難,或需要緊隨恢復(fù)的產(chǎn)品特定過程(處理)。取消多個運(yùn)行為了取消多個運(yùn)行,按作業(yè)資源對象中包含取消運(yùn)行的文件夾的等級訪問作業(yè)管理員。在定位取消運(yùn)行的一個正在運(yùn)行的運(yùn)行文件夾之后,一個該文件夾的圖標(biāo)或文字上的右擊顯示一個彈出菜單(參見圖59)。
通過從彈出菜單中選擇取消,顯示一個取消運(yùn)行窗口(參見圖60)。該窗口顯示在交付作業(yè)/運(yùn)行字段中選擇的所有運(yùn)行作業(yè)ID、運(yùn)行編號和節(jié)點(diǎn)名稱(例如,參見圖57)。
與刪除作業(yè)過程相似,最初選擇一個文件夾中的所有運(yùn)行。通過點(diǎn)擊一個運(yùn)行,取消對該運(yùn)行的選定,并且將不取消該運(yùn)行。如果所有運(yùn)行被取消選定,交付按鈕變得不起作用。交付按鈕取消所選的運(yùn)行,并且該窗口擴(kuò)展提供一個動作的狀態(tài)和結(jié)果的動態(tài)顯示。監(jiān)視作業(yè)的進(jìn)展(progress)進(jìn)程監(jiān)視器被提供來觀看產(chǎn)品使用POEMS調(diào)度服務(wù)運(yùn)行的任何作業(yè)的一個當(dāng)前階段和整個進(jìn)程。
各產(chǎn)品公布關(guān)于它們的作業(yè)的不同階段的事件。進(jìn)程監(jiān)視器預(yù)訂這些事件,并使用得到的數(shù)據(jù)向用戶提供作業(yè)進(jìn)程的信息。
特定進(jìn)程標(biāo)識符和可以被監(jiān)視的作業(yè)階段依賴于使用POEMS調(diào)度服務(wù)的產(chǎn)品的各自設(shè)計。訪問進(jìn)展監(jiān)視器可以按作業(yè)存儲庫資源對象中的各運(yùn)行等級訪問進(jìn)程監(jiān)視器。
為了監(jiān)視一個作業(yè)的進(jìn)展,用戶首先尋找該作業(yè)的運(yùn)行,右擊該運(yùn)行以顯示一個彈出菜單(參見圖61)。通過從彈出菜單中選擇進(jìn)程監(jiān)視器,顯示該監(jiān)視器(參見圖62)。進(jìn)程監(jiān)視器被配置來顯示以下信息·作業(yè)當(dāng)前階段的名稱。
·作業(yè)ID和運(yùn)行編號。
·作業(yè)當(dāng)前階段的名稱和/或編號。
·當(dāng)前階段編號和當(dāng)前階段中剩余的時間。
·作業(yè)當(dāng)前階段的進(jìn)程的圖形顯示和當(dāng)前階段的完成百分比。
·作業(yè)的整個進(jìn)程的圖形顯示(包括所有階段)和整個作業(yè)完成的百分比。
在一個實(shí)施例中,主要的文字字段的內(nèi)容根據(jù)調(diào)度作業(yè)的產(chǎn)品的設(shè)計而改變。
作業(yè)當(dāng)前階段的名稱可以從進(jìn)展監(jiān)視器窗口的標(biāo)題條中觀看。作業(yè)的當(dāng)前階段的進(jìn)展通過在進(jìn)程監(jiān)視器窗口觀看主要文字字段或者在進(jìn)程監(jiān)視器窗口中觀看當(dāng)前階段進(jìn)程來確定。該字段還提供作業(yè)的當(dāng)前階段的完成百分比。
整個作業(yè)的進(jìn)程通過使用進(jìn)程監(jiān)視器窗口中的整個進(jìn)展字段來觀看。此外,黑條被用來圖形顯示整個作業(yè)的進(jìn)展,和整個作業(yè)的完成百分比。故障排除要點(diǎn)本發(fā)明包括多種故障排除技術(shù)。多種可能性可以使一個故障刪除和再運(yùn)行作業(yè),或取消一個作業(yè)的特定運(yùn)行。
如果一個交付失敗·則可能不能與本地和中央存儲庫進(jìn)行通信。檢驗?zāi)憧梢耘c這兩個存儲庫通信后,再次交付該請求。
·用戶可以在作業(yè)執(zhí)行的關(guān)鍵階段嘗試取消一個運(yùn)行。正在使用的特定ProVision產(chǎn)品可以防止用戶利用取消特征,以避免一個潛在的沖突。
·POEMS調(diào)度服務(wù)代理(ptlesag.exe)不能在定位作業(yè)的節(jié)點(diǎn)/機(jī)器上運(yùn)行。驗證一個調(diào)度服務(wù)代理正在該機(jī)器上運(yùn)行之后,再次交付該請求。
為了驗證調(diào)度服務(wù)代理正在一個節(jié)點(diǎn)上運(yùn)行,用戶從顯示導(dǎo)控器服務(wù)管理員監(jiān)視器窗口的菜單欄中選擇ToolsMonitorService Manager(工具監(jiān)視器服務(wù)管理器)(參見圖63)。用戶可以點(diǎn)擊加號(+)或雙擊服務(wù)管理器的文字,以顯示不同節(jié)點(diǎn)上服務(wù)管理器的列表。點(diǎn)擊用于一個節(jié)點(diǎn)的服務(wù)管理員的文字,調(diào)出具有駐留在該節(jié)點(diǎn)上的用于程序的服務(wù)管理員監(jiān)視器的右側(cè)(參見圖64)。
本發(fā)明已經(jīng)結(jié)合由數(shù)據(jù)庫產(chǎn)品的Platinum序列利用的POMES調(diào)度服務(wù)進(jìn)行了說明。然而,本發(fā)明的教導(dǎo)可以應(yīng)用于任何個別或序列計算機(jī)或其它產(chǎn)品,以提供相似的服務(wù)。因此,本發(fā)明不限于特定產(chǎn)品線或產(chǎn)品的類型(例如,指向產(chǎn)品,ProVision產(chǎn)品,或數(shù)據(jù)庫),并且一般來說適用于計算機(jī)處理或應(yīng)用程序。
使用一個傳統(tǒng)的通用或一個專用數(shù)字計算機(jī)或根據(jù)本發(fā)明公開的教導(dǎo)編程的微處理器可以方便地實(shí)施本發(fā)明,對計算機(jī)領(lǐng)域的熟練人員來說這將是顯而易見的。
熟練的程序員根據(jù)本發(fā)明公開的機(jī)器可以容易地準(zhǔn)備合適的軟件編碼,對軟件領(lǐng)域計算機(jī)領(lǐng)域的熟練人員來說這將是顯而易見的對。通過特種集成電路應(yīng)用的準(zhǔn)備或互聯(lián)傳統(tǒng)的組成電路的合適網(wǎng)絡(luò),也可以實(shí)施本發(fā)明,對本領(lǐng)域的熟練人員來說這將是顯而易見的。
本發(fā)明包括一個計算機(jī)程序產(chǎn)品,它是一個存儲媒體(介質(zhì)),具存儲在其上/其中的用來安排一個計算機(jī)執(zhí)行本發(fā)明的任何處理的指令。該存儲媒體包括,但不限于,任何類型的盤,包括軟盤、光盤、DVD(數(shù)字多功能盤)、CD-ROM(只讀光盤)、微驅(qū)動和磁光盤,ROM(只讀存儲器)、RAM(隨機(jī)存取存儲器)、EPROM(可擦可編程ROM)、EEPROM(電可擦可編程ROM)、DRAM(動態(tài)RAM)、VRAM(可變RAM)、快閃存儲裝置、磁或光卡、納米系統(tǒng)(nanosystems)(包括分子存儲器IC),或任何類型的存儲指令和/數(shù)據(jù)的介質(zhì)或裝置。
本發(fā)明包括在計算機(jī)可讀介質(zhì)的任何一個上存儲的軟件,該軟件控制通用/專用計算機(jī)或微處理器的硬件以及使計算機(jī)或微控制器能夠連接人類用戶或利用本發(fā)明的結(jié)果的其它機(jī)械。這種軟件包括可以包括,但不限于設(shè)備驅(qū)動、操作系統(tǒng)和用戶應(yīng)用程序。此外,這種計算機(jī)可讀介質(zhì)還包括上述的執(zhí)行本發(fā)明的軟件。
通用/專用計算機(jī)或微處理器的編程(軟件)所包含的是實(shí)施本發(fā)明教導(dǎo)的軟件模塊,包括但不限于應(yīng)用編程接口,用于圖形用戶接口、作業(yè)調(diào)度、作業(yè)數(shù)據(jù)管理、作業(yè)管理、命令行接口、編歷功能和接入一個網(wǎng)絡(luò)的通信。軟件模塊還包括在計算機(jī)平臺的各節(jié)點(diǎn)上操作的作業(yè)調(diào)度代理,和與本發(fā)明的處理的結(jié)果相符的顯示、存儲或通信的模塊。
每個上述的API被編譯并且鏈接到特定的指向產(chǎn)品、proVision產(chǎn)品、或利用這些API執(zhí)行本發(fā)明的其它應(yīng)用。此外,維持配置字段用于本發(fā)明的設(shè)置和操作,以及通過本發(fā)明維持存儲庫。
很明顯,能夠根據(jù)上述教導(dǎo)對本發(fā)明作出多種修改和改進(jìn)。因此,應(yīng)當(dāng)明白,在附帶的權(quán)利要求范圍內(nèi),可以不按照這里的具體說明來實(shí)施本發(fā)明。
權(quán)利要求
1.一種作業(yè)調(diào)度裝置,用于在至少一個計算平臺的至少一個節(jié)點(diǎn)上調(diào)度作業(yè)運(yùn)行,該裝置包括一個安裝在每個節(jié)點(diǎn)上的企業(yè)調(diào)度代理,被配置來啟動交付給該代理的作業(yè)的執(zhí)行;一個被配置來接受和使參數(shù)有效的顯示層,所述這些參數(shù)標(biāo)識在至少一個所述節(jié)點(diǎn)上要提交作執(zhí)行的至少一個作業(yè);一個作業(yè)調(diào)度器,被配置來根據(jù)所述的參數(shù)分配至少一個作業(yè),并且把所分配的作業(yè)交付給至少一個企業(yè)調(diào)度代理。
2.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度裝置,還包括一個作業(yè)數(shù)據(jù)管理裝置,被配置為維護(hù)交付給每個企業(yè)調(diào)度代理的作業(yè)的作業(yè)數(shù)據(jù)和作業(yè)歷史。
3.根據(jù)權(quán)利要求2所述的作業(yè)調(diào)度裝置,其中所述的作業(yè)歷史包括從每個企業(yè)調(diào)度代理接收的關(guān)于所交付的作業(yè)狀態(tài)的信息。
4.根據(jù)權(quán)利要求2所述的作業(yè)調(diào)度裝置,其中所述的作業(yè)數(shù)據(jù)管理裝置被所述的作業(yè)調(diào)度器利用來設(shè)置要提交給所述企業(yè)調(diào)度代理的作業(yè)的參數(shù)。
5.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度裝置,還包括一個作業(yè)歷史存儲庫,保存交付給每個企業(yè)調(diào)度代理的作業(yè)和作業(yè)歷史;其中每個企業(yè)調(diào)度代理包括,一個代理通信器,被配置來發(fā)送和接收所述作業(yè)調(diào)度器與企業(yè)調(diào)度代理之間的消息,一個作業(yè)管理器,被配置來設(shè)置、啟動、運(yùn)行和管理交付給企業(yè)調(diào)度代理的作業(yè);一個數(shù)據(jù)管理器,被配置來更新和刪除來自所述作業(yè)歷史存儲庫的數(shù)據(jù),和一個低級API,被配置來處理所述企業(yè)調(diào)度代理(LES代理)的內(nèi)部功能、文件管理和消息處理功能。
6.根據(jù)權(quán)利要求5所述的作業(yè)調(diào)度裝置,還包括一個企業(yè)通信器,被配置來構(gòu)成并在所述的作業(yè)調(diào)度器與每個企業(yè)調(diào)度代理之間通信傳遞消息;和一個作業(yè)數(shù)據(jù)管理裝置,被配置來維護(hù)交付給每個企業(yè)調(diào)度代理的作業(yè)的作業(yè)歷史;其中所述的數(shù)據(jù)管理員通過從企業(yè)調(diào)度器向所述的作業(yè)數(shù)據(jù)管理裝置發(fā)送的企業(yè)通信器消息來更新所述的作業(yè)歷史。
7.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度裝置,還包括一個命令行裝置,被配置來接受交付給企業(yè)調(diào)度代理的有關(guān)作業(yè)管理的命令;和一個作業(yè)管理裝置,被配置來將所述的命令行傳遞到至少一個企業(yè)調(diào)度代理進(jìn)行執(zhí)行。
8.根據(jù)權(quán)利要求7所述的作業(yè)調(diào)度裝置,其中所述的命令行裝置接受的所述命令包括刪除一個作業(yè)及該作業(yè)所有的運(yùn)行,取消一個作業(yè)的運(yùn)行,列出所有作業(yè),由產(chǎn)品碼、狀態(tài)和節(jié)點(diǎn)的至少一個列出所有作業(yè)、以及立即再運(yùn)行一個作業(yè)中的至少一個。
9.根據(jù)權(quán)利要求8所述的作業(yè)調(diào)度裝置,其中所述的命令行裝置接受的所述命令包括上下文變量;和所述的企業(yè)調(diào)度代理根據(jù)一個當(dāng)前作業(yè)和作業(yè)參數(shù)變換所述的上下文變量,并執(zhí)行所述命令。
10.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度代理,還包括一個指向產(chǎn)品裝置,被配置來在一個所述企業(yè)調(diào)度代理與把作業(yè)交付給所述作業(yè)調(diào)度裝置的至少一個產(chǎn)品之間提供通信鏈路;其中所述的指向產(chǎn)品裝置在每個企業(yè)調(diào)度代理與所述的至少一個產(chǎn)品之間通信傳遞作業(yè)狀態(tài)、作業(yè)日志、設(shè)置、取消、作業(yè)參數(shù)功能和請求。
11.根據(jù)權(quán)利要求10所述的作業(yè)調(diào)度裝置,還包括一個作業(yè)管理裝置,被配置來接受命令行輸入和將所述的命令行傳遞給至少一個企業(yè)調(diào)度代理;一個作業(yè)數(shù)據(jù)管理裝置,被配置來維護(hù)交付給每個企業(yè)調(diào)度代理的作業(yè)的作業(yè)歷史;和一個企業(yè)通信器,被配置來在所述的作業(yè)調(diào)度器、指向產(chǎn)品裝置、作業(yè)管理裝置和作業(yè)數(shù)據(jù)管理裝置的至少一個與每個所述的企業(yè)調(diào)度代理之間發(fā)送消息。
12.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度裝置,還包括一個企業(yè)通信器,被配置來在所述的作業(yè)調(diào)度器與每個所述的企業(yè)調(diào)度代理之間發(fā)送消息。
13.根據(jù)權(quán)利要求12所述的作業(yè)調(diào)度裝置,其中按特定節(jié)點(diǎn)地址登記每個企業(yè)調(diào)度代理,所述的節(jié)點(diǎn)地址用一個唯一的數(shù)據(jù)組標(biāo)識每個企業(yè)調(diào)度代理;和所述的企業(yè)通信器用至少一個對應(yīng)于一數(shù)據(jù)組的目的地對每個消息進(jìn)行編碼,以把每個消息傳送給至少一個企業(yè)調(diào)度代理。
14.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度裝置,還包括一個安裝在每個所述的節(jié)點(diǎn)上的本地作業(yè)存儲庫;其中每個本地作業(yè)存儲庫維護(hù)每個作業(yè)的作業(yè)和作業(yè)歷史信息,所述的每個作業(yè)被交付給安裝本地作業(yè)存儲庫的節(jié)點(diǎn);每個本地作業(yè)存儲庫由被安裝在安裝本地作業(yè)存儲庫的節(jié)點(diǎn)上的企業(yè)調(diào)度代理來更新;和所述的作業(yè)信息包括需要執(zhí)行每個作業(yè)的作業(yè)參數(shù)。
15.根據(jù)權(quán)利要求14所述的作業(yè)調(diào)度裝置,還包括一個作業(yè)數(shù)據(jù)管理裝置,被配置來維護(hù)交付給每個企業(yè)調(diào)度代理的作業(yè)的作業(yè)歷史;和一個同步裝置,被配置來用所述的作業(yè)數(shù)據(jù)管理裝置維護(hù)的作業(yè)歷史,同步每個本地作業(yè)存儲庫。
16.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度裝置,還包括一個進(jìn)展監(jiān)視器,被配置來監(jiān)視和顯示至少一個所述作業(yè)的執(zhí)行;其中所述的進(jìn)展監(jiān)視器提供視覺顯示,一個所述作業(yè)的標(biāo)識和一個所述作業(yè)的當(dāng)前階段,所述作業(yè)完成百分比,和所述當(dāng)前階段的完成百分比。
17.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度裝置,還包括一個自動登錄裝置,被配置來接受來自一個交付作業(yè)的用戶的登錄參數(shù);其中所述的登錄參數(shù)被一個企業(yè)調(diào)度代理利用來啟動和執(zhí)行被交付的作業(yè)。
18.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度裝置,還包括一個通知腳本處理裝置,被配置來執(zhí)行一個具有指令的通知編寫,用于通知用戶一個被交付作業(yè)的狀態(tài);其中所述的腳本處理裝置包括創(chuàng)建、編輯和選擇一個用于特定作業(yè)的通知腳本的裝置。
19.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度裝置,其中所述的顯示層包括一個GUI接口,接受用于調(diào)度和指定一個待交付的作業(yè)的用戶輸入;其中所述的GUI接口包括用于一個調(diào)度日歷的選擇和創(chuàng)建、起始日期和時間的選擇、再現(xiàn)作業(yè)運(yùn)行間隔的選擇和作業(yè)立即運(yùn)行的選擇的裝置。
20.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度裝置,還包括一個資源管理裝置,被配置來使用戶能夠定位和觀看作業(yè)和作業(yè)運(yùn)行。
21.根據(jù)權(quán)利要求20所述的作業(yè)調(diào)度裝置,其中所述的資源管理裝置包括一個RM GUI,用于定義一個代表一個作業(yè)的對象,具有,一個通用屬性頁,具有用于標(biāo)識該作業(yè)的標(biāo)簽和該作業(yè)的說明的各輸入字段,一個說明屬性頁,具有一個標(biāo)識用于代表該作業(yè)的圖標(biāo)的選擇字段,和一個存儲庫頁,具有標(biāo)識作業(yè)時間的顯示的時區(qū)的選擇字段。
22.根據(jù)權(quán)利要求21所述的作業(yè)調(diào)度裝置,其中由所述的資源管理裝置定義的對象包括,文件夾的分層,至少包括以下文件夾之一所有作業(yè)的文件夾、按組作業(yè)的文件夾、按節(jié)點(diǎn)作業(yè)的文件夾、按產(chǎn)品作業(yè)的文件夾、按類型作業(yè)的文件夾和按用戶作業(yè)的文件夾。
23.根據(jù)權(quán)利要求22所述的作業(yè)調(diào)度裝置,其中所述的所有作業(yè)文件夾包括以下文件夾一個所有作業(yè)任何狀態(tài)文件夾,列出了與狀態(tài)無關(guān)但與每個作業(yè)的作業(yè)歷史有關(guān)的作業(yè),一個按狀態(tài)所有運(yùn)行的文件夾,列出了根據(jù)狀態(tài)的作業(yè),這些狀態(tài)包括完成的運(yùn)行、失敗的運(yùn)行,未開始的運(yùn)行、先占的運(yùn)行、正在運(yùn)行的運(yùn)行以及停止的運(yùn)行,一個保持作業(yè)文件夾,列出了保持并且稍后可以安排的作業(yè),和一個被調(diào)度的作業(yè)文件夾,列出了被調(diào)度運(yùn)行的作業(yè)。
24.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度裝置,其中所述的顯示層包括,一個策略調(diào)度窗口,被配置來允許用戶觀看、創(chuàng)建、修改和刪除用于一個策略的時間安排。
25.一種經(jīng)多個聯(lián)網(wǎng)計算平臺調(diào)度作業(yè)的方法,包括以下步驟根據(jù)用于至少一個待調(diào)度的作業(yè)的作業(yè)參數(shù),確定至少一個作業(yè);向所述計算機(jī)平臺的的一個選擇的節(jié)點(diǎn)上維持的至少一個調(diào)度代理發(fā)送所述的至少一個作業(yè);和在所述調(diào)度代理的管理下在一個選擇的節(jié)點(diǎn)上執(zhí)行每個作業(yè)。
26.根據(jù)權(quán)利要求25所述的方法,還包括步驟監(jiān)視執(zhí)行作業(yè)的進(jìn)展;和在一個進(jìn)展監(jiān)視器上顯示所述的進(jìn)展。
27.根據(jù)權(quán)利要求25所述的方法,還包括在一個作業(yè)歷史存儲庫中記錄每個作業(yè)和每個作業(yè)歷史的步驟。
28.根據(jù)權(quán)利要求27所述的方法,還包括以下步驟利用一個作業(yè)數(shù)據(jù)管理裝置,用于,提取從所述作業(yè)的一個所選擇的節(jié)點(diǎn)的一個調(diào)度代理發(fā)送的每個作業(yè)的狀態(tài)消息,和根據(jù)所述狀態(tài)消息更新所述作業(yè)歷史存儲庫。
29.根據(jù)權(quán)利要求28所述的方法,還包括以下步驟在每個所述節(jié)點(diǎn)上分別維護(hù)一個本地作業(yè)存儲庫,其每一個包含用于交付給各節(jié)點(diǎn)的每個作業(yè)的作業(yè)和作業(yè)歷史信息。
30.根據(jù)權(quán)利要求29所述的方法,還包括以下步驟將所述的作業(yè)歷史存儲庫與每個本地作業(yè)存儲庫同步。
31.根據(jù)權(quán)利要求25所述的方法,其中所述的確定步驟包括以下步驟從一個產(chǎn)品和一個收集所述作業(yè)參數(shù)的用戶接口的一個中提取所述的作業(yè)參數(shù);使所述的作業(yè)參數(shù)有效;和根據(jù)所述的作業(yè)參數(shù)分配一個作業(yè)。
32.根據(jù)權(quán)利要求25所述的方法,其中所述的發(fā)送步驟包括以下步驟按一個PEC通信格式打包所述的作業(yè)參數(shù);和將打包的作業(yè)參數(shù)從確定所述作業(yè)參數(shù)的計算平臺傳送給在所選用的節(jié)點(diǎn)上維護(hù)的所述調(diào)度代理。
33.根據(jù)權(quán)利要求25所述的方法,其中所述的執(zhí)行步驟包括以下步驟設(shè)置所選擇的節(jié)點(diǎn)以運(yùn)行一個由所述的作業(yè)參數(shù)標(biāo)識的應(yīng)用程序;在所選擇的節(jié)點(diǎn)上執(zhí)行所述的應(yīng)用程序;和監(jiān)視正在執(zhí)行的所述應(yīng)用程序的進(jìn)展。
34.根據(jù)權(quán)利要求25所述的方法,還包括以下步驟接受交付給所述企業(yè)調(diào)度代理的作業(yè)管理的一個命令行;和將所述的命令行傳遞給至少一個所述的企業(yè)調(diào)度代理進(jìn)行執(zhí)行。
35.根據(jù)權(quán)利要求34所述的方法,還包括以下步驟用基于所述上下文變量和待管理的作業(yè)的數(shù)據(jù)替換所述命令行中的上下文變量;和執(zhí)行該命令行。
36.根據(jù)權(quán)利要求25所述的方法,還包括以下步驟通信傳遞至少包括以下之一的數(shù)據(jù)作業(yè)狀態(tài)、作業(yè)日志文件、設(shè)置、取消、作業(yè)參數(shù)功能以及對產(chǎn)品與每個企業(yè)調(diào)度代理之間所述數(shù)據(jù)的請求。
37.根據(jù)權(quán)利要求25所述的方法,還包括以下步驟按節(jié)點(diǎn)地址登記每個企業(yè)調(diào)度代理,所述節(jié)點(diǎn)地址用一個獨(dú)特的數(shù)據(jù)組標(biāo)識所登記的企業(yè)調(diào)度代理;通過消息與每個企業(yè)調(diào)度代理通信傳送作業(yè)與作業(yè)管理命令和請求;和用至少一個目的地對發(fā)送給接收方企業(yè)調(diào)度代理的每個消息編碼,該目的地對應(yīng)一個將所述消息傳送給接收方企業(yè)調(diào)度代理的數(shù)據(jù)組。
38.根據(jù)權(quán)利要求25所述的方法,還包括以下步驟從調(diào)度一個自動登錄作業(yè)的一個用戶中提取自動登錄參數(shù);和利用所述自動登錄參數(shù)啟動所述作業(yè)的執(zhí)行。
39.根據(jù)權(quán)利要求38所述的方法,還包括以下步驟提取用于正被交付的一個作業(yè)的通知腳本;和并在一個所請求的狀態(tài)點(diǎn)執(zhí)行至少一個所述作業(yè)的完成的通知腳本。
40.根據(jù)權(quán)利要求25所述的方法,還包括以下步驟接收一個調(diào)度日歷,它標(biāo)識用于至少一個所述作業(yè)的執(zhí)行時間和間隔之一;以及按該日歷中標(biāo)識的時間和間隔,在所選用節(jié)點(diǎn)上執(zhí)行所述的作業(yè)。
41.根據(jù)權(quán)利要求所述的方法,還包括以下步驟提供至少所述作業(yè)的說明,包括一個書寫說明、一個標(biāo)簽、以及選擇代表所述作業(yè)的一個圖標(biāo);和標(biāo)識用于作業(yè)時間顯示的時區(qū)。
42.根據(jù)權(quán)利要求25所述的方法,包括以下步驟在包含文件夾的一個對象中放入關(guān)于作業(yè)時間和狀態(tài)的信息,其每個文件夾標(biāo)識所含有的作業(yè)的分類,這些文件夾包括一個所有作業(yè)的文件夾、一個按組作業(yè)的文件夾、一個按節(jié)點(diǎn)作業(yè)的文件夾、一個按產(chǎn)品作業(yè)的文件夾、一個按類型作業(yè)文件夾以及一個按用戶作業(yè)的文件夾。
43.根據(jù)權(quán)利要求42所述的方法,還包括以下步驟組織所述的所有作業(yè)文件夾以維護(hù)附加文件夾,包括下列至少之一一個所有作業(yè)狀態(tài)文件夾,列出了與狀態(tài)無關(guān)而與每個作業(yè)的作業(yè)歷史有關(guān)的作業(yè),一個依據(jù)狀態(tài)的所有運(yùn)行的文件夾,列出了根據(jù)狀態(tài)的作業(yè),這些狀態(tài)包括完成的運(yùn)行、失敗的運(yùn)行,未開始的運(yùn)行、先占的運(yùn)行、正在運(yùn)行的運(yùn)行以及停止的運(yùn)行,一個保持作業(yè)文件夾,列出了保持并且稍后可以調(diào)度的作業(yè),和一個已調(diào)度作業(yè)文件夾,列出了被調(diào)度運(yùn)行的作業(yè)。
44.根據(jù)權(quán)利要求25所述的方法,其中還包括提供一個策略調(diào)度窗口的步驟,該調(diào)度窗口允許用戶觀看、創(chuàng)建、修改和刪除用于一個策略的時間安排。
45.一種計算機(jī)可讀介質(zhì),具有在其上存儲的指令,當(dāng)裝載到一個計算機(jī)中時,使該計算機(jī)執(zhí)行以下步驟根據(jù)用于至少一個待調(diào)度的作業(yè)的作業(yè)參數(shù),確定至少一個作業(yè);向所述計算機(jī)平臺的一個所選擇的節(jié)點(diǎn)上維護(hù)的至少一個調(diào)度代理發(fā)送所述的至少一個作業(yè);和在所述調(diào)度代理的管理下在一個選擇的節(jié)點(diǎn)上執(zhí)行每個作業(yè)。
46.一種作業(yè)調(diào)度裝置,用于在至少一個計算平臺的至少一個節(jié)點(diǎn)上調(diào)度作業(yè)運(yùn)行,包括一個安裝在每個節(jié)點(diǎn)上的企業(yè)調(diào)度裝置,被配置來啟動交付給企業(yè)調(diào)度裝置的作業(yè)的執(zhí)行;一個被配置來接受和使參數(shù)有效的顯示裝置,該參數(shù)標(biāo)識在至少一個所述的節(jié)點(diǎn)上執(zhí)行的待交付的至少一個作業(yè);一個作業(yè)調(diào)度員裝置,被配置來根據(jù)所述的參數(shù)分配至少一個作業(yè),并且把所分配的作業(yè)交付給至少一個企業(yè)調(diào)度裝置。
全文摘要
一種提供了應(yīng)用編程接口(API)的一致集合的作業(yè)調(diào)度裝置,所述的應(yīng)用編程接口被編譯和鏈接成單個或一組程序以便在單個計算機(jī)或經(jīng)多個計算平臺提供調(diào)度服務(wù),該作業(yè)調(diào)度裝置包括:一個檢索和使作業(yè)參數(shù)有效的GUI API,一個基于作業(yè)參數(shù)分配作業(yè)的作業(yè)調(diào)度API,和一個在計算平臺的一個或多個節(jié)點(diǎn)上支持的企業(yè)調(diào)度代理。企業(yè)通信代理將包含作業(yè)的消息從利用作業(yè)調(diào)度裝置執(zhí)行程序的一個計算機(jī)發(fā)送到將要執(zhí)行該作業(yè)的一個選定節(jié)點(diǎn)上的企業(yè)調(diào)度代理。然后企業(yè)調(diào)度代理在該選定的節(jié)點(diǎn)上檢索作業(yè)參數(shù)和啟動該作業(yè)。企業(yè)調(diào)度代理維護(hù)一個本地存儲庫,并向作業(yè)數(shù)據(jù)管理API發(fā)送消息以維護(hù)一個中央作業(yè)存儲庫,其中所述的本地作業(yè)存儲庫含有在其相應(yīng)節(jié)點(diǎn)上運(yùn)行的每個作業(yè)的作業(yè)信息,而中央作業(yè)存儲庫含有在所有節(jié)點(diǎn)上執(zhí)行的作業(yè)的信息。
文檔編號G06F15/00GK1350676SQ99816088
公開日2002年5月22日 申請日期1999年12月21日 優(yōu)先權(quán)日1998年12月22日
發(fā)明者理查德·E·黑德利, 理查德·E·德維拉斯, 希瓦·米爾扎德 申請人:電腦聯(lián)合想象公司