亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種自動(dòng)化腳本工具的制作方法

文檔序號(hào):6523454閱讀:1210來源:國(guó)知局
一種自動(dòng)化腳本工具的制作方法
【專利摘要】本發(fā)明提供一種自動(dòng)化腳本工具,通過對(duì)依賴關(guān)系的預(yù)先設(shè)定,實(shí)現(xiàn)依賴的可定制化,自動(dòng)對(duì)相互關(guān)聯(lián)進(jìn)程按照滿足應(yīng)用、功能等需求的啟動(dòng)順序進(jìn)行啟動(dòng),并自動(dòng)檢測(cè)每階段啟動(dòng)是否正常,如正常,將按照使用者預(yù)設(shè)的順序,啟動(dòng)下一個(gè)進(jìn)程,啟動(dòng)的進(jìn)程、進(jìn)程數(shù)及相互關(guān)系可按照使用者的需求進(jìn)行預(yù)設(shè)。腳本工具同樣可自動(dòng)對(duì)相互關(guān)聯(lián)進(jìn)程按照滿足應(yīng)用、功能等需求的結(jié)束順序進(jìn)行結(jié)束,并自動(dòng)檢測(cè)每階段結(jié)束是否成功,如成功,將按照使用者預(yù)設(shè)的順序,結(jié)束下一個(gè)進(jìn)程。該一種自動(dòng)化腳本工具和現(xiàn)有技術(shù)相比,實(shí)用性強(qiáng),自動(dòng)化完成效率較高,易于推廣。
【專利說明】一種自動(dòng)化腳本工具
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及服務(wù)器計(jì)算應(yīng)用及管理【技術(shù)領(lǐng)域】,具體的說是一種自動(dòng)化腳本工具?!颈尘凹夹g(shù)】
[0002]在服務(wù)器上根據(jù)應(yīng)用環(huán)境不同,會(huì)啟動(dòng)各不相同的進(jìn)程。大量進(jìn)程中會(huì)存在各自獨(dú)立,啟動(dòng)順序、結(jié)束順序各不影響的進(jìn)程,同時(shí)也存在啟動(dòng)順序及結(jié)束順序相互關(guān)聯(lián),即某些進(jìn)程需要在另一些進(jìn)程已經(jīng)啟動(dòng)完畢后才可正常啟動(dòng)、某些進(jìn)程需要在另一些進(jìn)程已經(jīng)啟動(dòng)完畢后才可正常關(guān)閉。一般做法,是在編寫程序時(shí)考慮進(jìn)程的相互關(guān)聯(lián)性,并需要預(yù)先在代碼層做好設(shè)計(jì)及相應(yīng)實(shí)現(xiàn)。一般方法無法對(duì)于一些沒有源碼的可執(zhí)行文件產(chǎn)生的進(jìn)程進(jìn)行相互關(guān)聯(lián),并且在實(shí)際應(yīng)用環(huán)境及需求發(fā)生變更時(shí),需要在代碼層重新做大量的設(shè)計(jì)和編碼工作。
[0003]目前服務(wù)器上普遍采用多處理器且每處理器均是多個(gè)物理核心,單臺(tái)服務(wù)器所能承載的進(jìn)程數(shù)可達(dá)到上百進(jìn)程甚至更多,如果應(yīng)用環(huán)境發(fā)生變化,按照一般方法需要重新在代碼層進(jìn)行修改,工作量繁重,如果人工手動(dòng)操作,工作量會(huì)相當(dāng)大,手動(dòng)操作的人為失誤也會(huì)增加。
[0004]因此,提供可定制化依賴、易用、簡(jiǎn)化人為操作的腳本工具,就顯得非常有實(shí)際意義。

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

[0005]本發(fā)明的技術(shù)任務(wù)是解決現(xiàn)有技術(shù)的不足,提供一種自動(dòng)化腳本工具。
[0006]本發(fā)明的技術(shù)方案是按以下方式實(shí)現(xiàn)的,該一種自動(dòng)化腳本工具,其實(shí)現(xiàn)步驟為:
1)腳本在運(yùn)行時(shí)獲得當(dāng)前時(shí)間戳,讀取用戶預(yù)設(shè)依賴關(guān)系及等待時(shí)間W;
2)以進(jìn)程名加時(shí)間戳為名字,創(chuàng)建日志文件,并使文件處于可追加寫入的狀態(tài);
3)以運(yùn)行子進(jìn)程的方式啟動(dòng)列表中的當(dāng)前進(jìn)程并立即返回腳本;
4)等待時(shí)間w后,檢測(cè)步驟3)中已啟動(dòng)進(jìn)程的狀態(tài),狀態(tài)可為:運(yùn)行或未運(yùn)行;
5)在4)中如果檢測(cè)到的狀態(tài)為未運(yùn)行,則進(jìn)行提示并退出腳本;如果檢測(cè)到的狀態(tài)為運(yùn)行,則對(duì)預(yù)設(shè)的進(jìn)程列表中下一個(gè)進(jìn)程以運(yùn)行子進(jìn)程的方式啟動(dòng)進(jìn)程并立即返回腳本;
6)重復(fù)步驟3)?5),直到預(yù)設(shè)列表中的所有進(jìn)程均被啟動(dòng);
7)讀取用戶預(yù)設(shè)依賴關(guān)系中進(jìn)程結(jié)束列表;
8)持續(xù)檢測(cè)列表中的當(dāng)前進(jìn)程狀態(tài),直到狀態(tài)為未運(yùn)行;
9)按照結(jié)束列表的順序,結(jié)束下一個(gè)進(jìn)程,并持續(xù)檢測(cè)結(jié)束操作作用的進(jìn)程狀態(tài),直到狀態(tài)為未運(yùn)行;
10)重復(fù)步驟9),直到結(jié)束列表中的所有進(jìn)程均被結(jié)束。
[0007]所述步驟1)中預(yù)先設(shè)定依賴關(guān)系包括一個(gè)進(jìn)程啟動(dòng)列表和進(jìn)程結(jié)束列表,其中進(jìn)程啟動(dòng)列表是包含所有需要啟動(dòng)的進(jìn)程名,按所需啟動(dòng)的先后順序排列,且相鄰的前后兩個(gè)進(jìn)程,后一個(gè)進(jìn)程依賴于前一個(gè)進(jìn)程已經(jīng)啟動(dòng),并已經(jīng)在正常運(yùn)行;
進(jìn)程結(jié)束列表是包含所有需要啟動(dòng)的進(jìn)程名,按所需結(jié)束的先后順序排列,且相鄰的前后兩個(gè)進(jìn)程,后一個(gè)進(jìn)程依賴于前一個(gè)進(jìn)程已經(jīng)結(jié)束。
[0008]所述步驟1)中的等待時(shí)間用于等待進(jìn)程完全啟動(dòng),該時(shí)間大于進(jìn)程列表中最大啟動(dòng)時(shí)間和最大結(jié)束時(shí)間的最大值。
[0009]本發(fā)明與現(xiàn)有技術(shù)相比所產(chǎn)生的有益效果是:
本發(fā)明的一種自動(dòng)化腳本工具通過對(duì)依賴關(guān)系的預(yù)先設(shè)定,實(shí)現(xiàn)依賴的可定制化,從而在實(shí)際應(yīng)用環(huán)境及需求發(fā)生變更時(shí),進(jìn)行快速變更,滿足新需求。不需要重新對(duì)代碼層進(jìn)行設(shè)計(jì)和更改。實(shí)用性強(qiáng),適用范圍廣泛,易于推廣。
【具體實(shí)施方式】
[0010]下面對(duì)本發(fā)明的一種自動(dòng)化腳本工具作以下詳細(xì)說明。
[0011]本發(fā)明是通過設(shè)計(jì)一個(gè)腳本工具,用于自動(dòng)對(duì)相互關(guān)聯(lián)進(jìn)程按照滿足應(yīng)用、功能等需求的啟動(dòng)順序進(jìn)行啟動(dòng),并自動(dòng)檢測(cè)每階段啟動(dòng)是否正常,如正常,將按照使用者預(yù)設(shè)的順序,啟動(dòng)下一個(gè)進(jìn)程,如某一階段啟動(dòng)失敗或啟動(dòng)后快速結(jié)束,將給出提示,如后續(xù)階段均依賴本階段進(jìn)程的正常啟動(dòng)及工作,腳本將提示并退出。啟動(dòng)的進(jìn)程、進(jìn)程數(shù)及相互關(guān)系可按照使用者的需求進(jìn)行預(yù)設(shè)。腳本工具同樣可自動(dòng)對(duì)相互關(guān)聯(lián)進(jìn)程按照滿足應(yīng)用、功能等需求的結(jié)束順序進(jìn)行結(jié)束,并自動(dòng)檢測(cè)每階段結(jié)束是否成功,如成功,將按照使用者預(yù)設(shè)的順序,結(jié)束下一個(gè)進(jìn)程,如某一階段結(jié)束進(jìn)程不成功,將給出提示,如后續(xù)階段均依賴本階段進(jìn)程的結(jié)束,腳本將提示并退出。本發(fā)明提供的腳本工具的具體實(shí)現(xiàn)步驟為:
1)腳本在運(yùn)行時(shí)獲得當(dāng)前時(shí)間戳,讀取用戶預(yù)設(shè)依賴關(guān)系及等待時(shí)間W。
[0012]通過系統(tǒng)函數(shù)直接得到時(shí)間戳,如不支持直接獲得,當(dāng)前時(shí)間進(jìn)行計(jì)算得到當(dāng)前時(shí)間戳,讀入用戶預(yù)先設(shè)定的進(jìn)程啟動(dòng)列表,并將當(dāng)前操作進(jìn)程設(shè)置為進(jìn)程啟動(dòng)列表的首個(gè)進(jìn)程。
[0013]2)以進(jìn)程名加時(shí)間戳為名字,創(chuàng)建日志文件,并使文件處于可追加寫入的狀態(tài)。
[0014]3)以運(yùn)行子進(jìn)程的方式啟動(dòng)列表中的當(dāng)前進(jìn)程并立即返回腳本。以運(yùn)行子進(jìn)程的方式啟動(dòng)當(dāng)前進(jìn)程,操作使用非阻塞方式,這樣操作后會(huì)立即返回腳本。
[0015]4)等待時(shí)間w后,檢測(cè)步驟3)中已啟動(dòng)進(jìn)程的狀態(tài),狀態(tài)可為:運(yùn)行或未運(yùn)行;按預(yù)設(shè),等待時(shí)間w后,檢測(cè)(3)中已啟動(dòng)進(jìn)程的狀態(tài)。
[0016]5)在步驟4)中如果檢測(cè)到的狀態(tài)為未運(yùn)行,則進(jìn)行提示并退出腳本;如果檢測(cè)到的狀態(tài)為運(yùn)行,則對(duì)預(yù)設(shè)的進(jìn)程列表中下一個(gè)進(jìn)程以運(yùn)行子進(jìn)程的方式啟動(dòng)進(jìn)程并立即返回腳本;如檢測(cè)到的狀態(tài)為運(yùn)行,則對(duì)預(yù)設(shè)的進(jìn)程列表中下一個(gè)進(jìn)程以運(yùn)行子進(jìn)程的方式啟動(dòng)進(jìn)程并立即返回腳本。
[0017]6)重復(fù)步驟3)?5),直到預(yù)設(shè)列表中的所有進(jìn)程均被啟動(dòng),以循環(huán)的方式依次操作列表中的進(jìn)程,循環(huán)結(jié)束時(shí),所有進(jìn)程均被啟動(dòng)或有錯(cuò)誤返回。
[0018]7)讀取用戶預(yù)設(shè)依賴關(guān)系中進(jìn)程結(jié)束列表。
[0019]8)持續(xù)檢測(cè)列表中的當(dāng)前進(jìn)程狀態(tài),直到狀態(tài)為未運(yùn)行,持續(xù)檢測(cè)使用阻塞方式操作,不立即返回,直到檢測(cè)到的狀態(tài)為未運(yùn)行才返回腳本。
[0020]9)按照結(jié)束列表的順序,結(jié)束下一個(gè)進(jìn)程,并持續(xù)檢測(cè)結(jié)束操作作用的進(jìn)程狀態(tài),直到狀態(tài)為未運(yùn)行。
[0021]10)重復(fù)步驟9),直到結(jié)束列表中的所有進(jìn)程均被結(jié)束。之后關(guān)閉日志文件,腳本結(jié)束。
[0022]所述步驟1)中預(yù)先設(shè)定依賴關(guān)系包括一個(gè)進(jìn)程啟動(dòng)列表和進(jìn)程結(jié)束列表,其中進(jìn)程啟動(dòng)列表是包含所有需要啟動(dòng)的進(jìn)程名,按所需啟動(dòng)的先后順序排列,且相鄰的
前后兩個(gè)進(jìn)程,后一個(gè)進(jìn)程依賴于前一個(gè)進(jìn)程已經(jīng)啟動(dòng),并已經(jīng)在正常運(yùn)行。
[0023]進(jìn)程結(jié)束列表是包含所有需要啟動(dòng)的進(jìn)程名,按所需結(jié)束的先后順序排列,且相鄰的前后兩個(gè)進(jìn)程,后一個(gè)進(jìn)程依賴于前一個(gè)進(jìn)程已經(jīng)結(jié)束。
[0024]所述步驟1)中的等待時(shí)間用于等待進(jìn)程完全啟動(dòng),該時(shí)間大于進(jìn)程列表中最大啟動(dòng)時(shí)間和最大結(jié)束時(shí)間的最大值。
[0025]本發(fā)明為針對(duì)相互關(guān)聯(lián)進(jìn)程啟動(dòng)及結(jié)束的自動(dòng)化腳本工具,是可用于自動(dòng)開啟及結(jié)束具有相互依賴關(guān)系的進(jìn)程,如兩個(gè)進(jìn)程A、B,進(jìn)程A需要先于進(jìn)程B啟動(dòng),并且進(jìn)程B的正常工作需要保證A已經(jīng)啟動(dòng)并正常運(yùn)行,本發(fā)明可以在用戶設(shè)置進(jìn)程A和進(jìn)程B的啟動(dòng)順序和依賴關(guān)系后,按照預(yù)設(shè)順序進(jìn)行啟動(dòng),并會(huì)自動(dòng)檢查進(jìn)程狀態(tài),以確定預(yù)設(shè)依賴關(guān)系是否滿足,保證進(jìn)程A、B均可按預(yù)設(shè)條件,正常工作。本發(fā)明不僅適用于兩個(gè)相互關(guān)聯(lián)進(jìn)程,同樣適用于多個(gè)相互關(guān)聯(lián)的進(jìn)程。
[0026]本發(fā)明的自動(dòng)化腳本工具特點(diǎn)在于可對(duì)任意預(yù)設(shè)的依賴關(guān)系中的進(jìn)程按其依賴進(jìn)行啟動(dòng)及結(jié)束,可任意定制、操作自動(dòng)化
以上所述僅為本發(fā)明的實(shí)施例而已,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種自動(dòng)化腳本工具,其特征在于其實(shí)現(xiàn)步驟為:1)腳本在運(yùn)行時(shí)獲得當(dāng)前時(shí)間戳,讀取用戶預(yù)設(shè)依賴關(guān)系及等待時(shí)間W;2)以進(jìn)程名加時(shí)間戳為名字,創(chuàng)建日志文件,并使文件處于可追加寫入的狀態(tài);3)以運(yùn)行子進(jìn)程的方式啟動(dòng)列表中的當(dāng)前進(jìn)程并立即返回腳本;4)等待時(shí)間w后,檢測(cè)步驟3)中已啟動(dòng)進(jìn)程的狀態(tài),狀態(tài)可為:運(yùn)行或未運(yùn)行;5)在4)中如果檢測(cè)到的狀態(tài)為未運(yùn)行,則進(jìn)行提示并退出腳本;如果檢測(cè)到的狀態(tài)為運(yùn)行,則對(duì)預(yù)設(shè)的進(jìn)程列表中下一個(gè)進(jìn)程以運(yùn)行子進(jìn)程的方式啟動(dòng)進(jìn)程并立即返回腳本;6)重復(fù)步驟3)?5),直到預(yù)設(shè)列表中的所有進(jìn)程均被啟動(dòng);7)讀取用戶預(yù)設(shè)依賴關(guān)系中進(jìn)程結(jié)束列表;8)持續(xù)檢測(cè)列表中的當(dāng)前進(jìn)程狀態(tài),直到狀態(tài)為未運(yùn)行;9)按照結(jié)束列表的順序,結(jié)束下一個(gè)進(jìn)程,并持續(xù)檢測(cè)結(jié)束操作作用的進(jìn)程狀態(tài),直到狀態(tài)為未運(yùn)行;10)重復(fù)步驟9),直到結(jié)束列表中的所有進(jìn)程均被結(jié)束。
2.根據(jù)權(quán)利要求1所述的一種自動(dòng)化腳本工具,其特征在于:所述步驟1)中預(yù)先設(shè)定依賴關(guān)系包括一個(gè)進(jìn)程啟動(dòng)列表和進(jìn)程結(jié)束列表,其中進(jìn)程啟動(dòng)列表是包含所有需要啟動(dòng)的進(jìn)程名,按所需啟動(dòng)的先后順序排列,且相鄰的前后兩個(gè)進(jìn)程,后一個(gè)進(jìn)程依賴于前一個(gè)進(jìn)程已經(jīng)啟動(dòng),并已經(jīng)在正常運(yùn)行;進(jìn)程結(jié)束列表是包含所有需要啟動(dòng)的進(jìn)程名,按所需結(jié)束的先后順序排列,且相鄰的前后兩個(gè)進(jìn)程,后一個(gè)進(jìn)程依賴于前一個(gè)進(jìn)程已經(jīng)結(jié)束。
3.根據(jù)權(quán)利要求2所述的一種自動(dòng)化腳本工具,其特征在于:所述步驟1)中的等待時(shí)間用于等待進(jìn)程完全啟動(dòng),該時(shí)間大于進(jìn)程列表中最大啟動(dòng)時(shí)間和最大結(jié)束時(shí)間的最大值。
【文檔編號(hào)】G06F9/44GK103645898SQ201310678164
【公開日】2014年3月19日 申請(qǐng)日期:2013年12月13日 優(yōu)先權(quán)日:2013年12月13日
【發(fā)明者】陳博文 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1