啟動和管理無人參與的應用程序的方法和計算機系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明的實施例涉及啟動和管理無人參與的應用程序,例如內(nèi)容管理應用程序。
【背景技術】
[0002] 可以將定制的內(nèi)容管理應用程序描述為存儲和管理各種類型的數(shù)字化內(nèi)容,例如 與商業(yè)組織或機構的業(yè)務過程相關的文檔圖像、電子辦公文檔、可擴展標記語言(XML)文 檔、音頻和視頻。內(nèi)容管理應用程序可以是短時間運行的應用程序或長時間運行的應用程 序。常規(guī)系統(tǒng)將定制的內(nèi)容管理應用程序?qū)崿F(xiàn)為Windows?服務或UNIX?守護進程。 (Windows是微軟公司在美國和/或其它國家的注冊商標。UNIX是開放群組在美國和/或 其它國家的注冊商標。)但是,使用此類實現(xiàn),需要后臺模式中的按需執(zhí)行,并且引導時執(zhí) 行并不適合。此外,使用此類實現(xiàn),可能需要額外的c編程以便編寫Windows⑧服務或 UNIX?守護進程。
[0003] 此外,在用戶從前臺控制臺會話注銷之后,UNIX?命令(例如,"&"和"nohup") 中的典型后臺模式處理將終止后臺進程。
【發(fā)明內(nèi)容】
[0004] 提供一種用于啟動和管理無人參與的應用程序的方法。以后臺模式啟動所述應用 程序。響應于確定接收到退出命令,設置退出命令指示符以指示已接收到所述退出命令,以 及發(fā)送通知以喚醒所啟動的應用程序的被阻塞主線程。
[0005] 提供一種用于啟動和管理無人參與的應用程序的計算機程序產(chǎn)品。所述計算機程 序產(chǎn)品包括計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)其上包含程序代碼,所述程序 代碼可由至少一個處理器執(zhí)行以便執(zhí)行以下操作:以后臺模式啟動應用程序;以及響應于 確定接收到退出命令,設置退出命令指示符以指示已接收到所述退出命令;以及發(fā)送通知 以喚醒所啟動的應用程序的被阻塞主線程。
[0006] 提供一種用于啟動和管理無人參與的應用程序的計算機系統(tǒng)。所述計算機系統(tǒng)包 括一個或多個處理器、一個或多個計算機可讀存儲器和一個或多個計算機可讀有形存儲設 備;以及程序指令,所述程序指令存儲在所述一個或多個計算機可讀有形存儲設備中的至 少一個上,以便經(jīng)由所述一個或多個存儲器中的至少一個而由所述一個或多個處理器中的 至少一個執(zhí)行,從而執(zhí)行操作,所述操作包括:以后臺模式啟動應用程序;響應于確定接收 到退出命令,設置退出命令指示符以指示已接收到所述退出命令;以及發(fā)送通知以喚醒所 啟動的應用程序的被阻塞主線程。
【附圖說明】
[0007] 在附圖中,相同的參考標號表示對應的部件,這些附圖是:
[0008] 圖1以框圖示出根據(jù)某些實施例的計算環(huán)境;
[0009] 圖2以框圖示出根據(jù)某些實施例的應用程序;
[0010] 圖3示出根據(jù)某些實施例的前臺模式和后臺模式處理的概覽圖;
[0011] 圖4以流程圖示出根據(jù)某些實施例的用于使用實用工具的操作;
[0012] 圖5A和5B以流程圖示出根據(jù)某些實施例的用于檢查終止指示符和設置退出命令 指示符的操作;
[0013] 圖6以流程圖示出根據(jù)某些實施例的由阻塞機制執(zhí)行的操作;
[0014] 圖7以框圖示出根據(jù)某些實施例的可以使用的計算機體系架構。
【具體實施方式】
[0015] 出于示例目的給出了對本發(fā)明的不同實施例的描述,但所述描述并非旨在是窮舉 的或是限于所公開的實施例。在不偏離所述實施例的范圍和精神的情況下,對于所屬技術 領域的普通技術人員來說許多修改和變化都將是顯而易見的。在此使用的術語的選擇,旨 在最佳地解釋實施例的原理、實際應用或?qū)κ袌鲋械募夹g的技術改進,或者使所屬技術領 域的其它普通技術人員能夠理解在此公開的實施例。
[0016] 圖1以框圖示出根據(jù)某些實施例的計算環(huán)境。計算設備100包括啟動控制器110、 啟動監(jiān)視器120、退出控制器130和一個或多個應用程序140。計算設備100耦合到數(shù)據(jù)存 儲庫150。數(shù)據(jù)存儲庫150存儲一個或多個應用程序140中的每一個的標識信息和狀態(tài)信 息160。在某些實施例中,狀態(tài)信息包括每個所啟動的應用程序140的終止指示符162。
[0017] 在某些實施例中,將終止指示符162 (例如,標志或位)設置為真以指示已接收到 退出命令并且將終止所啟動的應用程序,或者設置為假以指示未接收到退出命令并且將不 終止所啟動的應用程序。在某些實施例中,響應于用戶發(fā)出退出命令以終止所啟動的應用 程序,退出控制器130將所啟動的應用程序的終止指示符162設置為真以便指示已接收到 退出命令。
[0018] 在某些實施例中,一個或多個應用程序140包括至少一個定制的內(nèi)容管理應用程 序。在某些實施例中,一個或多個應用程序140包括至少一個Java?應用程序。(Java是 甲骨文公司在美國和/或其它國家的注冊商標。)在某些實施例中,數(shù)據(jù)存儲庫150是永 久性數(shù)據(jù)存儲庫??梢詫⒂谰眯詳?shù)據(jù)存儲庫描述為永久保存數(shù)據(jù)的存儲器。在某些實施 例中,使用Java?Preferences應用編程接口(API)作為永久性數(shù)據(jù)存儲庫。Java? Preferences API將數(shù)據(jù)保存在Windows?平臺上的1Windows?注冊表中,并且將數(shù) 據(jù)保存在UNIX?平臺上的用戶目錄中。
[0019] 各實施例提供一種以后臺模式(無人參與的模式)運行應用程序(例如,定制 的內(nèi)容管理應用程序)的方式。可以將以后臺模式運行應用程序描述為在沒有人關注 的情況下運行。此外,即使當?shù)卿浻脩魪腢NIX?平臺上的終端會話注銷或者用戶從 Windows?平臺上的命令控制臺退出時,應用程序也繼續(xù)以后臺模式運行。相反,在前臺 模式中,在登錄用戶從UNIX?平臺上的終端會話注銷或者用戶從Windows?平臺上 的命令控制臺退出之后,應用程序?qū)⒈唤K止。
[0020] 各實施例提供一種用于管理無人參與的應用程序的技術。各實施例允許以后臺模 式啟動和管理無人參與的應用程序。各實施例提供:
[0021] (1)啟用工具包,其啟用應用程序的無人參與的后臺處理;以及
[0022] (2) -組實用工具,其以后臺模式管理應用程序的啟動、終止和狀態(tài)跟蹤。
[0023] 圖2以框圖示出根據(jù)某些實施例的應用程序140。應用程序140包括退出命令指 示符200,其是全局變量。檢查機制210和阻塞機制230可以訪問退出命令指示符200。在 某些實施例中,將退出命令指示符200設置為真以指示已接收到退出命令,并且設置為假 以指示未接收到退出命令。
[0024] 為了啟用無人參與的模式,應用程序140在原始應用程序邏輯220之前引入檢查 機制210,并且在原始應用程序邏輯220之后引入阻塞機制230。這避免需要額外的C編 程和shell腳本編寫。在某些實施例中,這是j ava?實現(xiàn),其還增強在各種平臺之間的可 移植性以及應用程序的可維護性。在某些實施例中,盡管可以在應用程序中按順序調(diào)用塊 210、220和230,但它們在啟動之后作為單獨