亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

向激活狀態(tài)的客戶機位置發(fā)布實時配置更新和軟件的制作方法

文檔序號:6473611閱讀:174來源:國知局
專利名稱:向激活狀態(tài)的客戶機位置發(fā)布實時配置更新和軟件的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及客戶服務(wù)器應(yīng)用程序和發(fā)布應(yīng)用程序更新的技術(shù)領(lǐng)域。特別是,本發(fā)明涉及一種當(dāng)運行應(yīng)用程序的主機平臺仍處于激活狀態(tài)時發(fā)布應(yīng)用程序更新的方法和裝置。
背景技術(shù)
在典型的計算環(huán)境中,經(jīng)常需要提供用于從服務(wù)器向一個或多個客戶應(yīng)用程序自動發(fā)布軟件的方法。典型的計算環(huán)境由一個或多個服務(wù)器組成,用于向一個或多個客戶機提供本地化或特殊化的服務(wù)。這些分布式環(huán)境導(dǎo)致信息在多個不同類的數(shù)據(jù)倉庫間傳播。信息在多個不同類的數(shù)據(jù)倉庫間傳播的一個結(jié)果就是可以很容易地復(fù)制數(shù)據(jù)。然而,錯誤的復(fù)制經(jīng)常會導(dǎo)致更新前后矛盾。
已采用了許多方法來為操作分布式計算環(huán)境中的數(shù)據(jù)提供有效的方案。特別是,操作可以包括查找、添加、刪除和修改數(shù)據(jù)。其中一個方案涉及采用目錄服務(wù),其作用相當(dāng)于存儲環(huán)境中所有數(shù)據(jù)的中央倉庫。在該方案中,目錄服務(wù)是單一指針,從這里對包含在指針?biāo)肝恢弥械臄?shù)據(jù)進行操作。
將目錄服務(wù)用于在分布式環(huán)境中存儲和訪問數(shù)據(jù)在幾個方面是具有優(yōu)點的。目錄服務(wù)提供單一的中央資源,用于管理可能在局域網(wǎng)(LAN)中被本地化,或在廣域網(wǎng)(WAN)中被分配的資源。此外,由于只有單一的中央倉庫,因此,可以復(fù)制該環(huán)境中的資源,以保證高性能并用于冗余目的。
由于目錄服務(wù)為存儲數(shù)據(jù)定義了單一格式,其它具有不同存儲格式的應(yīng)用程序可以通過單一界面與該目錄服務(wù)進行通信。由于該單一開放式格式允許不同廠商之間的協(xié)同性,因此,其他廠商的應(yīng)用程序可以很容易地共享該目錄服務(wù)。此外,單一格式很靈活,可以方便地將其擴展為容許以后的增長,這種增長可能是技術(shù)進步的結(jié)果,也可能只是由于需要改變操作環(huán)境的規(guī)模。
考慮到這些優(yōu)點,已創(chuàng)建了幾種目錄服務(wù)技術(shù)來訪問數(shù)據(jù)倉庫。其中一種就是輕量級目錄訪問協(xié)議(LDAP)。LDAP定義了用于在目錄服務(wù)中存儲條目的模型以及用于訪問目錄服務(wù)中這些條目的方法。LDAP提供通過TCP/IP連接訪問該目錄服務(wù)。存儲在目錄服務(wù)中的數(shù)據(jù)可以包括用戶信息、應(yīng)用程序更新和配置信息,但不僅限于這些。
條目是LDAP技術(shù)中的基本數(shù)據(jù)單元實體。條目是包含有關(guān)特定資源的持續(xù)信息的對象。每個條目都具有一個定義為特殊名稱(DN)的唯一標(biāo)識符,并屬于目錄信息樹(DIT)。每個LDAP條目都由一組屬性組成,每個屬性都定義該條目的某些特定性質(zhì)。每個屬性都與某個特定的值類型相聯(lián)系。
已進行了許多嘗試,來實現(xiàn)在客戶機-服務(wù)器環(huán)境中自動發(fā)布軟件。然而,現(xiàn)有方案缺乏無需重新啟動支持平臺就向運行的應(yīng)用程序?qū)崟r發(fā)布應(yīng)用程序更新和軟件的能力。此外,現(xiàn)有自動軟件發(fā)布系統(tǒng)不支持無需首先關(guān)閉所有運行的應(yīng)用程序并隨后重新啟動平臺就實時更新配置數(shù)據(jù)。因此,存在這樣一種需要,即,當(dāng)主機平臺還在運行其它應(yīng)用程序時就向該主機平臺有效地發(fā)布應(yīng)用程序更新和配置。

發(fā)明內(nèi)容
本發(fā)明是一種用于向激活狀態(tài)的客戶機位置上的正在運行中的應(yīng)用程序組件發(fā)布實時更新的系統(tǒng)、方法和裝置。根據(jù)本發(fā)明的方法可以包括在管理運行中的應(yīng)用程序組件的平臺和配置客戶機之間建立第一通信連接;在該配置客戶機和配置服務(wù)器之間建立第二通信連接;以及通過該第二通信連接向配置客戶機發(fā)布更新。值得注意的是,每次更新都可以與至少一個特定的應(yīng)用程序組件相對應(yīng)。隨后,可以通知該平臺這些更新可用。為了對這類通知的接收作出響應(yīng),可以終止該特定運行應(yīng)用程序的運行。終止后,可以通過第一通信連接向平臺發(fā)送各個更新,并將各更新應(yīng)用到該特定應(yīng)用程序組件。最后,可以再次執(zhí)行已更新的各應(yīng)用程序組件。
在本發(fā)明的一個方面,終止步驟可以包括根據(jù)通知確定待更新的特定相應(yīng)應(yīng)用程序組件;終止每個確定的應(yīng)用程序組件實例;以及去掉終止的應(yīng)用程序組件實例和其它應(yīng)用程序組件之間的關(guān)聯(lián)。此外,重新執(zhí)行步驟可以包括實例化各已更新的應(yīng)用程序組件;以及初始化各已更新的應(yīng)用程序組件實例。此外,初始化步驟可以包括將配置信息通知配置客戶機;以及根據(jù)該配置信息,重新初始化各已更新的應(yīng)用程序組件的內(nèi)部狀態(tài)信息。最后,本方法可以進一步包括向配置客戶機請求更新通知,當(dāng)在配置服務(wù)器中可以獲得更新時,該更新通知將這些應(yīng)用程序組件更新通知平臺。
在本發(fā)明的另一方面,本方法可以進一步包括將更新通知通過第二通信連接發(fā)送至配置客戶機。特別是,當(dāng)配置服務(wù)器中可以獲得應(yīng)用程序組件更新時,更新通知可以將該更新通知配置客戶機。此外,通過第二連接發(fā)送更新通知的步驟還可以包括根據(jù)通用數(shù)據(jù)報協(xié)議(UDP)對更新通知進行打包,并向配置服務(wù)器發(fā)送該UDP包。最后,在本發(fā)明的另一方面,配置服務(wù)器可以是LDAP服務(wù)器。因此,本方法可以包括在LDAP服務(wù)器的基于LDAP的數(shù)據(jù)庫中存儲應(yīng)用程序組件更新。
在本發(fā)明方法的另一方面,用于向激活狀態(tài)的客戶機位置上的運行中的應(yīng)用程序組件發(fā)布實時更新的方法可以包括首先,從通信連接的配置客戶機接收對運行中的應(yīng)用程序組件的更新,其中每個更新都對應(yīng)于至少一個特定的應(yīng)用程序組件。第二,可以終止每個具有已接收的相應(yīng)更新的特定運行中的應(yīng)用程序組件的執(zhí)行。第三,所接收的更新可以應(yīng)用到相應(yīng)的應(yīng)用程序組件中。最后,可以重新執(zhí)行已更新的應(yīng)用程序組件。
所述終止步驟可以包括終止具有已接收的相應(yīng)更新的特定運行中的應(yīng)用程序組件的實例,并去掉終止的應(yīng)用程序組件實例和其它應(yīng)用程序組件之間的關(guān)聯(lián)。重新執(zhí)行步驟可以包括實例化每個已更新的應(yīng)用程序組件,并對每個已更新的應(yīng)用程序組件實例進行初始化。最后,本方法還可以包括向配置客戶機預(yù)訂(subscribe to)更新通知,其中,當(dāng)可以獲得更新時,更新通知將該更新通知激活狀態(tài)的客戶機位置上的應(yīng)用程序組件。
用于更新激活狀態(tài)的客戶機位置的系統(tǒng)可以包括用于管理運行中的應(yīng)用程序組件的平臺;用于存儲更新的配置服務(wù)器;以及用于從配置服務(wù)器接收更新并將所接收的更新通知該平臺的配置客戶機。所述平臺可以從配置客戶機接收該更新。隨后,平臺可以終止所選擇的一個運行中的應(yīng)用程序組件。然后,平臺可以將所接收的更新應(yīng)用到終止的應(yīng)用程序組件。最后,平臺可以重新加載已更新的應(yīng)用程序組件。
在本發(fā)明的一個方面,配置服務(wù)器可以是LDAP服務(wù)器。在本發(fā)明的另一方面,運行中的應(yīng)用程序組件可以是JAVA類實例。在本發(fā)明的另一方面,配置客戶機可以包括通知對象和收聽器接口。其結(jié)果是,運行中的應(yīng)用程序組件可以配置為通過收聽器接口從配置客戶機接收更新通知。與此類似,配置服務(wù)器也可以包括通知對象和收聽器接口。同樣,配置客戶機可以配置為通過該收聽器接口從配置服務(wù)器接收更新通知。


附圖中示出了優(yōu)選實施例,然而,可以理解,本發(fā)明并不僅限于這些實施方式和手段。附圖中圖1是說明用于向激活狀態(tài)的客戶機位置發(fā)布實時配置更新和軟件的系統(tǒng)的高級示意圖;圖2是用在圖1所示系統(tǒng)中的網(wǎng)絡(luò)結(jié)構(gòu)圖;圖3A和3B一起是說明在圖2所示系統(tǒng)中向激活狀態(tài)的客戶機位置發(fā)布實時配置更新和軟件的流程的UML程序表。
具體實施例方式
本發(fā)明是用于在客戶機-服務(wù)器環(huán)境中向激活狀態(tài)的客戶機位置發(fā)布實時配置更新和軟件的系統(tǒng)。特別是,本發(fā)明的系統(tǒng)可以向客戶機位置發(fā)布軟件和配置數(shù)據(jù)而無需重新啟動各客戶機位置。圖1說明了用于本發(fā)明系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)。如圖1所示,用于向激活狀態(tài)的客戶機位置發(fā)布實時配置更新和軟件的該系統(tǒng)可以包括配置服務(wù)器105、計算機通信網(wǎng)絡(luò)115以及通過計算機通信網(wǎng)絡(luò)115與配置服務(wù)器105相連的多個客戶機位置110A、110B和110C。
當(dāng)各客戶機位置110A、110B和110C運行引導(dǎo)程序時,可以在配置服務(wù)器105和客戶機位置110A、110B和110C之間建立通信連接。隨后,每個已啟動的客戶機位置110A、110B和110C可以詢問配置服務(wù)器105,以確定將安裝在客戶機位置110A、110B和110C上的應(yīng)用程序組件。一旦確定了該應(yīng)用程序組件,各客戶機位置110A、110B和110C就可以安裝所確定的應(yīng)用程序組件。
值得注意的是,在初始化各應(yīng)用程序組件時,可以請求將任何未來更新通知該應(yīng)用程序組件。當(dāng)在配置服務(wù)器105上可以獲得更新時,可以向客戶機位置110A、110B和11OC廣播消息,以便將該更新通知這些客戶機位置。可以在所影響的客戶機位置110A、110B和110C之間再次建立通信連接以作出響應(yīng)。隨后,可以通過該通信連接檢索包括配置數(shù)據(jù)和更新模塊在內(nèi)的更新。檢索后,可以終止、更新和重新加載將應(yīng)用這些更新的應(yīng)用程序組件。值得注意的是,一旦重新加載,應(yīng)用程序組件將已經(jīng)合并了這些更新。因此,本發(fā)明的系統(tǒng)可以在激活狀態(tài)的客戶機位置執(zhí)行應(yīng)用程序組件的實時應(yīng)用程序更新。
圖2描述了配置服務(wù)器201和單客戶機位置207之間通過網(wǎng)絡(luò)206的交互。網(wǎng)絡(luò)206可以是LAN、WAN、數(shù)據(jù)總線或其它適用于與分布式處理通信鏈接的介質(zhì)。如圖所示,單客戶機位置207可以包括配置客戶機202、至少一個應(yīng)用程序組件205、用于管理應(yīng)用程序組件205的應(yīng)用程序平臺203以及用于加載和卸載應(yīng)用程序組件205的應(yīng)用程序加載器204。同樣,本發(fā)明并不僅限于上述考慮,配置客戶機202可以作為在分布式環(huán)境中客戶機位置207的外部應(yīng)用程序組件。
值得注意的是,本發(fā)明既不限于由平臺203管理的應(yīng)用程序組件205的數(shù)量,也不限于管理應(yīng)用程序組件205的平臺203數(shù)量。此外,可包括加載器204以作為平臺203的一部分,或獨立于平臺203存在。最后,配置客戶機202可以作為應(yīng)用程序組件與應(yīng)用程序組件205一起由平臺203管理。配置服務(wù)器201可以存儲用于向客戶機位置發(fā)布的配置數(shù)據(jù)214和軟件模塊216。特別是,配置服務(wù)器201可以將數(shù)據(jù)214和模塊216存儲于LDAP文件服務(wù)器210中。然而,本發(fā)明并不僅限于該考慮。當(dāng)然,可以通過任何合適的裝置,例如XML文件服務(wù)器存儲和訪問數(shù)據(jù)214和模塊216。
如圖2所示,可以獨立于平臺203來管理配置客戶機202。此外,在本發(fā)明的一個方面,配置客戶機202可以實施為Java Bean。其結(jié)果是,配置客戶機202的Java Bean實施可以由其它應(yīng)用程序重新使用。值得注意的是,平臺203可以是用于管理應(yīng)用程序組件205的基于Java的平臺。這樣,平臺203就可以作為安裝在平臺203上的各種應(yīng)用程序組件205的對象請求代理(ORB)。
在運行中,當(dāng)客戶機位置207運行引導(dǎo)程序時,平臺203可以啟動配置客戶機202。一旦啟動,配置客戶機202就可以讀取只包含配置服務(wù)器201的通用資源定位符(URL)和客戶機位置標(biāo)識符的引導(dǎo)程序特性文件。隨后,配置客戶機202可以建立與配置服務(wù)器201的通信連接。特別是,該通信連接可以是與采用Java命名和目錄接口(JNDI/LDAP)的LDAP服務(wù)器之間的LDAP連接。同樣,本發(fā)明并不僅限于該特定通信連接。當(dāng)然,任何合適的通信連接都可以滿足需要。例如,該通信連接可以是與采用HTTP的平面文件數(shù)據(jù)庫的CGI接口之間的點對點TCP/IP連接。
一旦建立了通信連接,配置客戶機202就可以利用位置標(biāo)識符作為搜索變量來執(zhí)行對配置服務(wù)器201的初始查詢。對該初始查詢的響應(yīng)可以包括一列將被安裝在客戶機位置207上的應(yīng)用程序組件205。隨后,配置客戶機202可以檢查該列表,并為列表上的每個應(yīng)用程序組件205執(zhí)行第二次查詢。如上所述,對第二次查詢的第二次響應(yīng)可以包括用于應(yīng)用程序組件205的可執(zhí)行模塊和配置數(shù)據(jù),該配置數(shù)據(jù)可以包括執(zhí)行應(yīng)用程序組件205所需的服務(wù)器地址。
可以在平臺203上接收第二次響應(yīng)。一旦接收,就可以執(zhí)行應(yīng)用程序組件205。具體是,平臺203可以檢索一列將被安裝到客戶機位置207上的各應(yīng)用程序組件205。隨后,可以通過執(zhí)行合適的實例以及調(diào)用在相應(yīng)的應(yīng)用程序組件接口中定義的所需初始化方法來安裝各應(yīng)用程序組件205。
在初始化過程中,每個應(yīng)用程序組件205都能向配置客戶機202請求相應(yīng)的配置數(shù)據(jù)。配置數(shù)據(jù)的例子可以包括選擇設(shè)置、屏幕限定和服務(wù)器地址。接收時,請求的應(yīng)用程序組件205可以執(zhí)行合適的初始化。每個應(yīng)用程序組件205也可以請求配置客戶機202將用于應(yīng)用程序組件205的未來更新通知應(yīng)用程序組件205。值得注意的是,在本發(fā)明的一個方面,應(yīng)用程序組件通知功能可以包括執(zhí)行觀測器設(shè)計模式。盡管如此,本發(fā)明并不僅限于該考慮。當(dāng)然,其它實施應(yīng)用程序通知功能的方式也可以,包括將一列應(yīng)用程序組件存儲在數(shù)據(jù)庫中,并在每次接收指向列表中某個應(yīng)用程序組件的更新時,都通知所選擇的應(yīng)用程序組件。
當(dāng)在配置服務(wù)器201中可以獲得更新時,可以向包含該更新指向的應(yīng)用程序組件205的客戶機位置207發(fā)送一條更新消息。同樣本發(fā)明也不僅限于該考慮。當(dāng)然,這些消息可以是指向客戶機位置207的廣播消息或UDP小范圍播送(narrow-cast)消息,而不必考慮包含在該客戶機中的應(yīng)用程序組件205。在任何情況下,一旦配置客戶機202接收了更新消息,配置客戶機202就可以建立與配置服務(wù)器201的新通信連接。如前所述,該通信連接可以是LDAP連接,其中配置服務(wù)器201是LDAP服務(wù)器。隨后,可以將已更新的配置數(shù)據(jù)和軟件模塊形式上的更新通過該通信連接發(fā)送到配置客戶機202。
一旦接收到已更新的配置數(shù)據(jù)和軟件模塊,配置客戶機202就可以通知平臺203已接收到更新。例如,在Java或C++應(yīng)用中,配置客戶機202可以生成更新接收事件,并將其發(fā)送到平臺203。在響應(yīng)時,如果接收到已更新的軟件模塊,平臺203可以確定這些更新指向的應(yīng)用程序組件。在更新是不需要終止目標(biāo)應(yīng)用程序組件205的已更新的配置數(shù)據(jù)的情況下,平臺203可以簡單地將該更新發(fā)送到目標(biāo)應(yīng)用程序組件205。具體是,配置客戶機202可以通知目標(biāo)應(yīng)用程序組件205已接收到已更新的配置數(shù)據(jù)。在響應(yīng)時,目標(biāo)應(yīng)用程序組件205可以從配置客戶機202檢索已更新的配置數(shù)據(jù),并適當(dāng)?shù)刂匦鲁跏蓟嚓P(guān)聯(lián)的內(nèi)部狀態(tài)。
不同的是,在更新是要求終止和重新實例化應(yīng)用程序組件205的已更新軟件模塊或已更新配置數(shù)據(jù)的情況下,平臺203可以在將更新應(yīng)用到目標(biāo)應(yīng)用程序組件205之前終止目標(biāo)應(yīng)用程序組件205。在本發(fā)明的一個方面,通過訪問與目標(biāo)應(yīng)用程序組件205關(guān)聯(lián)、且由目標(biāo)應(yīng)用程序組件205的界面公開的終止方法,平臺203可以終止目標(biāo)應(yīng)用程序組件205。重要的是,在將更新應(yīng)用到目標(biāo)應(yīng)用程序組件205時,可以實施兩階段的啟動和關(guān)閉步驟。
該步驟的結(jié)果是,應(yīng)用程序組件205可以去掉所有關(guān)聯(lián)而無需影響其它應(yīng)用程序組件205的程序運行。一旦終止應(yīng)用程序組件205,平臺就可以根據(jù)與更新關(guān)聯(lián)的配置數(shù)據(jù)來應(yīng)用該更新。隨后,平臺203可以重新實例化目標(biāo)應(yīng)用程序組件205。此外,平臺203還可以調(diào)用目標(biāo)應(yīng)用程序組件205的初始化方法,從而使目標(biāo)應(yīng)用程序組件205重新正確加載。
現(xiàn)在轉(zhuǎn)至圖3A和3B,其說明了一種通信順序,其中圖1和2的系統(tǒng)可以配置為向激活狀態(tài)的客戶機位置發(fā)布實時更新。如圖1和2所示,該系統(tǒng)可以包括配置服務(wù)器301、配置客戶機302、平臺303、加載器304以及應(yīng)用程序組件305A-305C。此外,該系統(tǒng)還可以包括引導(dǎo)程序探測器306,用于在引導(dǎo)過程中協(xié)助配置客戶機302。
現(xiàn)在轉(zhuǎn)至圖3A,當(dāng)平臺303執(zhí)行引導(dǎo)程序時,平臺303可以執(zhí)行加載器304和配置客戶機302的實例310。然后,平臺303可以執(zhí)行一系列與配置客戶機302間的運行時通信例行程序,例如執(zhí)行g(shù)etInstance(獲得實例())312以獲得配置客戶機302的特定實例,執(zhí)行addConfigListener(string)(添加配置收聽器(字符串))314以指示配置客戶機302添加平臺作為收聽器/觀測器,執(zhí)行g(shù)etConfig(string)(獲得配置(字符串))316以檢索配置數(shù)據(jù)。一旦完成了引導(dǎo)程序的初始化階段,配置客戶機302可以讀取318引導(dǎo)程序特性文件,并從中提取出用于配置服務(wù)器301的地址。在本發(fā)明的一個方面,引導(dǎo)程序特性文件可以包含配置服務(wù)器301的URL和位置標(biāo)識符。
一旦引導(dǎo)程序運行完畢,配置客戶機302就可以建立與配置服務(wù)器301的通信連接。特別是,在配置服務(wù)器301是LDAP服務(wù)器的地方,配置客戶機302可以建立與采用JNDI/LDAP的配置服務(wù)器的LDAP連接。隨后,配置客戶機302可以采用getContext()(獲得上下文())方法320,以獲得配置服務(wù)器301的上下文。然后,配置客戶機302可以對配置服務(wù)器301進行初始查詢,以檢索客戶機應(yīng)用程序組件類型列表。初始查詢322可以采用配置客戶機302的位置標(biāo)識符作為搜索變量。
為了響應(yīng)初始查詢322,配置服務(wù)器301可以返回包含一列將被安裝在平臺303上的客戶機應(yīng)用程序組件類型的響應(yīng)。隨后,配置客戶機302可以遍歷該客戶機應(yīng)用程序組件類型列表,并為每個定義的應(yīng)用程序組件發(fā)出相應(yīng)的第二次查詢328和322,以便檢索相關(guān)的客戶配置數(shù)據(jù)。對第二次查詢328和332的響應(yīng)可以包括用于應(yīng)用程序組件305A、305B和305C的可執(zhí)行模塊。為了完成該初始化階段,可以將配置客戶機302的列舉338響應(yīng)返回平臺303。
現(xiàn)在轉(zhuǎn)至圖3B,采用配置數(shù)據(jù)的平臺303可以加載和初始化對采用load(PlatformInterface)(加載(平臺界面))方法340的加載器304的合適平臺界面。一旦初始化后,加載器304可以運行一系列與配置客戶機302間的通信例行程序。具體是,加載器304可以訪問getInstance()(獲得實例())方法342,以便獲得配置客戶機302的特定實例。此外,加載器304可以訪問addConfigListener(string)(添加配置收聽器(字符串))344,以便指示配置客戶機302添加加載器304作為收聽器/觀測器。最后,加載器304可以訪問getConfig(string)(獲得配置(字符串))方法346,以檢索包含待實例化類的名稱的配置數(shù)據(jù)。
對于每個在由配置服務(wù)器301在查詢324、328和332中提供的配置數(shù)據(jù)中列出的應(yīng)用程序組件305A、305B和305C的類名,會出現(xiàn)以下順序的事件。首先,加載器304可以實例化348應(yīng)用程序組件305A、305B和305C,并通過setup(reference to Platform)(啟動(關(guān)聯(lián)平臺))方法350向應(yīng)用程序組件305A、305B和305C提供與平臺303的關(guān)聯(lián)。隨后,應(yīng)用程序組件305A、305B和305C可以執(zhí)行初始化。
具體是,根據(jù)上述兩階段的啟動和關(guān)閉步驟,初始化處理的第一階段352可以在完成setup(reference to Platform)(啟動(關(guān)聯(lián)平臺))方法350之后,在該方法中,關(guān)閉應(yīng)用程序組件305A、305B和305C的現(xiàn)有實例,然后更新應(yīng)用程序組件305A、305B和305C。隨后,可以重新實例化應(yīng)用程序組件305A、305B和305C。
在初始化352的第一階段后,應(yīng)用程序組件305A、305B和305C可以建立與配置客戶機302之間的通信連接。特別是,應(yīng)用程序組件305A、305B和305C可以訪問getInstance()(獲得實例())方法354,以便獲得配置客戶機302的特定實例。此外,應(yīng)用程序組件305A、305B和305C可以訪問addConfigListener(string)(添加配置收聽器(字符串))356,以便指示配置客戶機302添加應(yīng)用程序組件305A、305B和305C作為收聽器/觀測器。最后,應(yīng)用程序組件305A、305B和305C可以訪問getConfig(string)(獲得配置(字符串))方法358,以檢索配置數(shù)據(jù)用于應(yīng)用程序組件305A、305B和305C的特定實例。
隨后,應(yīng)用程序組件305A、305B和305C可以利用register()(注冊())函數(shù)360在平臺303注冊。注冊后,加載器304可以利用啟動方法362開始執(zhí)行應(yīng)用程序組件305A、305B和305C。此外,應(yīng)用程序組件305A、305B和305C可以利用subscribe()(預(yù)訂())方法364向平臺303預(yù)訂未來更新。特別是,subscribe()方法364可以確保會將未來組件和/或配置更新通知應(yīng)用程序組件305A、305B和305C。在預(yù)訂步驟后,應(yīng)用程序組件305A、305B和305C可以開始兩階段啟動和關(guān)閉步驟的第二和最后初始化階段366。在完成初始化后,加載器304可以利用activate()(激活())函數(shù)368激活已更新的應(yīng)用程序組件305A、305B和305C。
值得注意的是,本發(fā)明可以在硬件、軟件或硬件和軟件的組合中實現(xiàn)。本發(fā)明的方法可以在一個計算機系統(tǒng)的中央控制方式中實現(xiàn),也可以在不同元件分布在多個內(nèi)連接計算機系統(tǒng)的分布方式中實現(xiàn)。任何適用于執(zhí)行這里描述的本方法的計算機系統(tǒng)或其它裝置都是合適的。硬件和軟件的典型組合可以是通用目的的含計算機程序的計算機系統(tǒng),在加載和執(zhí)行計算機程序時,可控制該計算機系統(tǒng)以使其執(zhí)行本方法。
本發(fā)明還可以嵌入在計算機程序產(chǎn)品中,該產(chǎn)品包含所有可以執(zhí)行本方法的特征,并在加載到計算機系統(tǒng)上后可以執(zhí)行這些方法。本文中的計算機程序裝置或計算機程序以任何語言、代碼或注釋,表示一套試圖使系統(tǒng)具有信息處理能力的指令的任何表達式,以直接或在以下一種或兩種方式之后執(zhí)行特定功能a)轉(zhuǎn)換為其它語言、代碼或注釋;b)以不同的材料形式再生產(chǎn)。
權(quán)利要求
1.一種用于向激活狀態(tài)的客戶機位置上的運行中的應(yīng)用程序組件發(fā)布實時更新的方法,包括在管理運行中的應(yīng)用程序組件的平臺和配置客戶機之間建立第一通信連接;在所述配置客戶機和配置服務(wù)器之間建立第二通信連接;通過所述第二通信連接向所述配置客戶機發(fā)布更新,其中,每個更新對應(yīng)于至少一個特定應(yīng)用程序組件;通知所述平臺所述更新可用;為響應(yīng)所述通知,終止所述特定運行中的應(yīng)用程序組件的運行,通過所述第一通信連接向所述平臺發(fā)送各個所述更新,將各個所述更新應(yīng)用到至少一個相應(yīng)的應(yīng)用程序組件,并重新執(zhí)行各個所述已更新的應(yīng)用程序組件。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述終止步驟包括根據(jù)所述通知確定至少一個待更新的所述特定的相應(yīng)應(yīng)用程序組件;終止每個所述已確定的應(yīng)用程序組件實例;去掉所述已終止的應(yīng)用程序組件實例和其它應(yīng)用程序組件之間的關(guān)聯(lián)。
3.根據(jù)權(quán)利要求1或2所述的方法,其中,所述重新執(zhí)行步驟包括實例化各所述已更新的應(yīng)用程序組件;初始化各所述已更新的應(yīng)用程序組件實例。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述初始化步驟包括將配置信息通知所述配置客戶機;根據(jù)所述配置信息,重新初始化各所述已更新的應(yīng)用程序組件的內(nèi)部狀態(tài)信息。
5.根據(jù)權(quán)利要求3所述的方法,進一步包括向所述配置客戶機請求更新通知,當(dāng)在所述配置服務(wù)器中可以獲得所述更新時,所述更新通知將這些應(yīng)用程序組件更新通知所述平臺。
6.根據(jù)上述任一項權(quán)利要求所述的方法,進一步包括將更新通知通過所述第二通信連接發(fā)送至所述配置客戶機,當(dāng)所述配置服務(wù)器中可以獲得所述應(yīng)用程序組件更新時,所述更新通知將所述應(yīng)用程序組件更新通知所述配置客戶機。
7.根據(jù)權(quán)利要求6所述的方法,其中,通過所述第二連接發(fā)送更新通知的步驟包括下列步驟根據(jù)通用數(shù)據(jù)報協(xié)議(UDP)對所述更新通知進行打包;向所述配置客戶機發(fā)送該UDP包。
8.根據(jù)上述任一項權(quán)利要求所述的方法,其中,所述配置服務(wù)器是LDAP服務(wù)器。
9.根據(jù)權(quán)利要求8所述的方法,進一步包括在所述LDAP服務(wù)器的基于LDAP的數(shù)據(jù)庫中存儲所述應(yīng)用程序組件更新。
10.一種用于更新激活狀態(tài)的客戶機位置的系統(tǒng),包括用于管理運行中的應(yīng)用程序組件的平臺;用于存儲更新的配置服務(wù)器;用于從所述配置服務(wù)器接收更新并將所接收的更新通知所述平臺的配置客戶機;為了響應(yīng)從所述配置客戶機接收所述更新,所述平臺終止所選擇的一個所述運行中的應(yīng)用程序組件,將所述接收的更新應(yīng)用到所述已終止的應(yīng)用程序組件,并重新加載所述已更新的應(yīng)用程序組件。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,所述配置服務(wù)器是LDAP服務(wù)器。
12.根據(jù)權(quán)利要求10或11所述的系統(tǒng),其中,所述運行中的應(yīng)用程序組件是JAVA類實例。
13.根據(jù)權(quán)利要求11至12中任一項所述的系統(tǒng),其中,所述配置客戶機進一步包括通知器對象和收聽器接口,其中,所述運行中的應(yīng)用程序組件配置為通過所述收聽器接口從所述配置客戶機接收更新通知。
14.根據(jù)權(quán)利要求11至13中任一項所述的系統(tǒng),其中,所述配置服務(wù)器進一步包括通知器對象和收聽器接口,其中,所述配置客戶機配置為通過所述收聽器接口從所述配置服務(wù)器接收更新通知。
15.一種具有多個代碼段的計算機程序,用于向激活狀態(tài)的客戶機位置上的運行中的應(yīng)用程序組件發(fā)布實時更新,所述代碼段可由機器執(zhí)行,以使該機器執(zhí)行以下步驟在管理運行中的應(yīng)用程序組件的平臺和配置客戶機之間建立第一通信連接;在所述配置客戶機和配置服務(wù)器之間建立第二通信連接;通過所述第二通信連接向所述配置客戶機發(fā)布更新,其中,每個更新對應(yīng)于至少一個特定應(yīng)用程序組件;通知所述平臺所述更新可用;為響應(yīng)所述通知,終止所述特定運行中的應(yīng)用程序的運行,通過所述第一通信連接向所述平臺發(fā)送各個所述更新,將各個所述更新應(yīng)用到至少一個相應(yīng)的應(yīng)用程序組件,并重新執(zhí)行各個所述已更新的應(yīng)用程序組件。
16.根據(jù)權(quán)利要求15所述的計算機程序,其中,所述終止步驟包括根據(jù)所述通知確定至少一個待更新的所述特定的相應(yīng)應(yīng)用程序組件;終止每個所述已確定的應(yīng)用程序組件實例;去掉所述已終止的應(yīng)用程序組件實例和其它應(yīng)用程序組件之間的關(guān)聯(lián)。
17.根據(jù)權(quán)利要求15或16所述的計算機程序,其中,所述重新執(zhí)行步驟包括實例化各所述已更新的應(yīng)用程序組件;初始化各所述已更新的應(yīng)用程序組件實例。
18.根據(jù)權(quán)利要求17所述的計算機程序,其中,所述初始化步驟包括將配置信息通知所述配置客戶機;根據(jù)所述配置信息,重新初始化各所述已更新的應(yīng)用程序組件的內(nèi)部狀態(tài)信息。
19.根據(jù)權(quán)利要求17所述的計算機程序,進一步包括步驟向所述配置客戶機請求更新通知,當(dāng)在所述配置服務(wù)器中可以獲得所述更新時,所述更新通知將這些應(yīng)用程序組件更新通知所述平臺。
20.根據(jù)權(quán)利要求15至19中任一項所述的計算機程序,進一步包括步驟將更新通知通過所述第二通信連接發(fā)送至所述配置客戶機,當(dāng)所述配置服務(wù)器中可以獲得所述應(yīng)用程序組件更新時,所述更新通知將所述應(yīng)用程序組件更新通知所述配置客戶機。
21.根據(jù)權(quán)利要求20所述的計算機程序,其中,通過所述第二連接發(fā)送更新通知的步驟包括下列步驟根據(jù)通用數(shù)據(jù)報協(xié)議(UDP)對所述更新通知進行打包;向所述配置客戶機發(fā)送該UDP包。
22.根據(jù)權(quán)利要求15至21中任一項所述的計算機程序,其中,所述配置服務(wù)器是LDAP服務(wù)器。
23.根據(jù)權(quán)利要求22所述的計算機程序,進一步包括在所述LDAP服務(wù)器的基于LDAP的數(shù)據(jù)庫中存儲所述應(yīng)用程序組件更新。
24.一種用于向運行在激活狀態(tài)的客戶機位置上的應(yīng)用程序組件發(fā)布實時更新的方法,包括從通信連接的配置客戶機接收對運行中的應(yīng)用程序組件的更新,每個更新都對應(yīng)于至少一個特定的應(yīng)用程序組件;終止每個具有已接收的相應(yīng)更新的特定運行中的應(yīng)用程序組件的執(zhí)行;將所述已接收的更新應(yīng)用到所述相應(yīng)的應(yīng)用程序組件中;重新執(zhí)行已更新的應(yīng)用程序組件。
25.根據(jù)權(quán)利要求24所述的方法,其中,所述終止步驟包括終止每個具有已接收的相應(yīng)更新的特定運行中的應(yīng)用程序組件實例;去掉所述已終止的應(yīng)用程序組件實例和其它應(yīng)用程序組件之間的關(guān)聯(lián)。
26.根據(jù)權(quán)利要求24或25所述的方法,其中,所述重新執(zhí)行步驟包括實例化每個已更新的應(yīng)用程序組件;對每個已更新的應(yīng)用程序組件實例進行初始化。
27.根據(jù)權(quán)利要求24至26中任一項所述的方法,進一步包括向所述配置客戶機預(yù)訂更新通知,當(dāng)可以獲得所述更新時,所述更新通知將所述應(yīng)用程序組件更新通知激活狀態(tài)的客戶機位置。
28.一種具有多個代碼段的計算機程序,用于向運行在激活狀態(tài)的客戶機位置上的應(yīng)用程序組件發(fā)布實時更新,所述代碼段可由機器執(zhí)行,以使該機器執(zhí)行以下步驟從通信連接的配置客戶機接收對運行中的應(yīng)用程序組件的更新,每個更新都對應(yīng)于至少一個特定的應(yīng)用程序組件;終止每個具有已接收的相應(yīng)更新的特定運行中的應(yīng)用程序組件的執(zhí)行;將所接收的更新應(yīng)用到相應(yīng)的應(yīng)用程序組件中;重新執(zhí)行已更新的應(yīng)用程序組件。
29.根據(jù)權(quán)利要求28所述的計算機程序,其中,所述終止步驟包括終止每個具有已接收的相應(yīng)更新的特定運行中的應(yīng)用程序組件實例;去掉已終止的應(yīng)用程序組件實例和其它應(yīng)用程序組件之間的關(guān)聯(lián)。
30.根據(jù)權(quán)利要求28所述的計算機程序,其中,所述重新執(zhí)行步驟包括實例化每個已更新的應(yīng)用程序組件;對每個已更新的應(yīng)用程序組件實例進行初始化。
31.根據(jù)權(quán)利要求28至30中任一項所述的方法,進一步包括步驟向所述配置客戶機預(yù)訂更新通知,當(dāng)可以獲得所述更新時,所述更新通知將所述應(yīng)用程序組件更新通知激活狀態(tài)的客戶機位置。
全文摘要
一種用于更新激活狀態(tài)的客戶機位置的系統(tǒng),可以包括用于管理運行中的應(yīng)用程序組件的平臺;用于存儲更新的配置服務(wù)器;以及用于從配置服務(wù)器接收更新并將所接收的更新通知該平臺的配置客戶機。所述平臺可以從配置客戶機接收所述更新。隨后,平臺可以終止所選擇的一個運行應(yīng)用程序組件。然后,平臺可以將所接收的更新應(yīng)用到終止的應(yīng)用程序組件。最后,平臺可以重新加載已更新的應(yīng)用程序組件。
文檔編號G06F9/445GK1470018SQ0181757
公開日2004年1月21日 申請日期2001年10月3日 優(yōu)先權(quán)日2000年10月19日
發(fā)明者卡洛斯·皮內(nèi)拉, 保羅·林霍夫, 杰夫·斯盧茨基, 卡洛斯 皮內(nèi)拉, 斯盧茨基, 林霍夫 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1