專利名稱:動態(tài)配置系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本公開的多個方面涉及運行虛擬機(jī)的計算機(jī)系統(tǒng)。更具體地,本公開的多個方面 涉及虛擬機(jī)環(huán)境中規(guī)則的動態(tài)配置。
背景技術(shù):
Java管理擴(kuò)展(JMX)是已知的對太陽微系統(tǒng)(Sun Microsystem)的JAVA編程語 言的庫擴(kuò)展。維基百科(Wikipedia)解釋到JMX是“一種為管理和監(jiān)視應(yīng)用、系統(tǒng)對象、設(shè) 備(例如,打印機(jī))和面向服務(wù)的網(wǎng)絡(luò)而提供工具的Java技術(shù)。那些資源由稱作MBeans(用 于管理的Bean)的對象來表示。在API中,類能夠被動態(tài)地加載和實例化?!弊苑Q為“Java怪人”的Nicolas Frankel在2009年6月的博客中描寫了各種JMX 使用情況,包括使用JMX來管理應(yīng)用的配置。Frankel解釋到“即使每個應(yīng)用關(guān)于配置有不 同的需求(一種需求需要應(yīng)用被更多或更少地參數(shù)化)。為此,數(shù)代Java開發(fā)者...已經(jīng) 創(chuàng)建了兩個組件[1]第一個是屬性文件,其中存放(put)名稱值對;[2]另一個是Java類, 其責(zé)任是加載自身的屬性并且提供對這些值的訪問...這對于初始化是有用且不錯的,但 關(guān)于那些參數(shù)的運行時變化呢?這就是JMX出現(xiàn)(come in)的原因。通過JMX,你現(xiàn)在能根 據(jù)讀/寫授權(quán)而暴露那些參數(shù)。JDK 6為你提過了 JConsole應(yīng)用,其能在JMX使能的應(yīng)用 上連接”。同時,Oracle是知名的數(shù)據(jù)庫提供商。Oracle在其數(shù)據(jù)庫軟件系統(tǒng)的各種版本中 提供稱為Oracle變化通知(OCN)的特征。Oracle的文檔解釋到“數(shù)據(jù)庫變化通知是這樣 的特征,其使得客戶端應(yīng)用能夠向數(shù)據(jù)庫注冊查詢,并且響應(yīng)與查詢相關(guān)聯(lián)的對象上的DML 或DDL變化接收通知。在DML或DDL事務(wù)提交時,通知由數(shù)據(jù)庫公布”。
發(fā)明內(nèi)容
接下來呈現(xiàn)本公開的簡化的發(fā)明內(nèi)容以提供對某些方面的基本理解。意圖不在于 標(biāo)識本發(fā)明的關(guān)鍵或主要元素,或者描述本發(fā)明的保護(hù)范圍。接下來的發(fā)明內(nèi)容僅僅以簡 化形式顯示本公開的一些概念以作為下面提供的更為詳細(xì)的描述的前序。根據(jù)本公開的多個方面,公開了一種對虛擬機(jī)上運行的應(yīng)用所使用的規(guī)則(例 如,業(yè)務(wù)規(guī)則)進(jìn)行更新的方法。步驟包括在啟動虛擬機(jī)后加載規(guī)則;在虛擬機(jī)中實例化 應(yīng)用;進(jìn)行注冊以接收規(guī)則的運行時修改通知;接收通知;以及根據(jù)已修改的規(guī)則更新應(yīng) 用。此外,本發(fā)明的多個方面描述基于虛擬機(jī)上運行的應(yīng)用限制對特定規(guī)則的訪問。這樣, 第一組業(yè)務(wù)規(guī)則可以由第一應(yīng)用,而不是同一虛擬機(jī)上運行的第二應(yīng)用來訪問。在根據(jù)本公開多個方面的另一實施例中,公開了一種裝置,包含虛擬機(jī)、計算機(jī)存 儲器、到變化通知機(jī)制的接口、規(guī)則控制機(jī)制、和/或顯示接口。在替代的實施例中,計算機(jī)
4存儲器可以全部或部分地位于數(shù)據(jù)存儲系統(tǒng)中。本領(lǐng)域技術(shù)人員將會理解,前述方法和特征的一個或多個可以體現(xiàn)為存儲在計算 機(jī)可讀介質(zhì)上并由處理器來執(zhí)行的計算機(jī)可執(zhí)行代碼。
本公開通過示例的方式來圖示,并且不限于附圖,其中以相同的附圖標(biāo)記表示相 似的元件,附圖中圖1圖示可以實現(xiàn)本公開各個方面的通用數(shù)字計算環(huán)境的示意圖;圖2圖示根據(jù)本公開多個方面的系統(tǒng)的一個實施例;圖3是圖示根據(jù)本公開多個方面的方法的一個實施例的流程圖;以及圖4圖示根據(jù)本公開多個方面的示例性規(guī)則文件。
具體實施例方式根據(jù)本公開的各個方面,所圖示的系統(tǒng)和方法包含運行虛擬機(jī)的計算機(jī)系統(tǒng)。更 具體地,本公開的多個方面涉及虛擬機(jī)環(huán)境中規(guī)則(例如,業(yè)務(wù)規(guī)則、呈現(xiàn)規(guī)則等等)的動 態(tài)配置。進(jìn)一步,本公開的多個方面描述了用于管理動態(tài)規(guī)則對于同一虛擬機(jī)上運行的各 種應(yīng)用的可見性的系統(tǒng)和方法。圖1圖示了根據(jù)本發(fā)明的一個或多個示例性實施例可以使用的適當(dāng)計算系統(tǒng)環(huán) 境100的示例。計算系統(tǒng)環(huán)境100僅僅是適當(dāng)計算環(huán)境的一個示例,并且不意在暗示對本 發(fā)明的使用或功能范圍的任何限制。計算系統(tǒng)環(huán)境100不應(yīng)當(dāng)被解釋為具有對計算系統(tǒng)環(huán) 境100中圖示的任何一個組件或其組合的任何依賴或需要。本發(fā)明能夠由各種其它的通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或結(jié)構(gòu)來運行??梢赃m合于 本發(fā)明使用的公知計算系統(tǒng)、環(huán)境和/或結(jié)構(gòu)的示例包括但不限于個人計算機(jī)、服務(wù)器計 算機(jī)、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費電子產(chǎn) 品、網(wǎng)絡(luò)計算機(jī)、小型計算機(jī)、大型計算機(jī)、包括任何以上系統(tǒng)或設(shè)備的分布式計算環(huán)境等??梢栽谟捎嬎銠C(jī)執(zhí)行的計算機(jī)可執(zhí)行指令(如,程序模塊)的一般上下文中描述 本發(fā)明的多個方面。通常,程序模塊包括執(zhí)行特定任務(wù)或者實現(xiàn)特定抽象數(shù)據(jù)類型的例程、 程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。還可以在分布式計算環(huán)境中應(yīng)用本發(fā)明的多個方面,在該 環(huán)境中,任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行。在分布式計算環(huán)境中,程序模塊 可以位于包括存儲器儲存設(shè)備的本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)兩者中。參考圖1,計算系統(tǒng)環(huán)境100可以包括具有處理器103的計算設(shè)備101,處理器103 用于控制計算設(shè)備101及其關(guān)聯(lián)組件(包括RAM 105,ROM 107、通信模塊109和存儲器115) 的整體操作。計算設(shè)備101典型地包括各種計算機(jī)可讀介質(zhì)。計算機(jī)可讀介質(zhì)可以是可由 計算設(shè)備101訪問的任何可用介質(zhì),并且包括易失性和非易失性介質(zhì)、可移除和不可移除 介質(zhì)。作為示例而非限制,計算機(jī)可讀介質(zhì)可以包含計算機(jī)存儲介質(zhì)和通信介質(zhì)。計算機(jī)存 儲介質(zhì)包括以用于存儲信息(如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù))的任何 方法或技術(shù)來實現(xiàn)的易失性和非易失性、可移除和不可移除介質(zhì)。計算機(jī)存儲介質(zhì)包括但 不限于隨機(jī)訪問存儲器(RAM)、只讀存儲器(ROM)、電可擦寫可編程只讀存儲器(EEPROM)、 閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁帶盒、磁帶、磁盤存儲或者其它磁存儲設(shè)備、或者能夠用于存儲期望信息并且能夠由計算設(shè)備101訪問的任 何其它介質(zhì)。通信介質(zhì)典型地包含計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者諸如載波的調(diào) 制數(shù)據(jù)信號中的其它數(shù)據(jù)或其它傳輸機(jī)制,并且包括任何信息傳輸介質(zhì)。調(diào)制數(shù)據(jù)信號是 以在信號中對信息進(jìn)行編碼的方式來設(shè)置或改變其一個或多個特性的信號。作為示例而非 限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接有線連接的有線介質(zhì),以及諸如聲波、RF、紅外和 其它無線介質(zhì)的無線介質(zhì)。以上任何的組合也應(yīng)當(dāng)包括在計算機(jī)可讀介質(zhì)的范圍內(nèi)。盡管 未示出,RAM 105可以包括一個或多個如下應(yīng)用當(dāng)計算設(shè)備打開并且相應(yīng)的軟件應(yīng)用(例 如,軟件任務(wù))在計算設(shè)備101上運行時,該應(yīng)用表現(xiàn)RAM存儲器105中存儲的應(yīng)用數(shù)據(jù)。通信模塊109可以包括計算設(shè)備101的用戶能夠通過其提供輸入的麥克風(fēng)、鍵區(qū)、 觸摸屏和/或觸筆,并且還可以包括用于提供音頻輸出的揚(yáng)聲器以及用于提供文本、視聽 和/或圖形輸出的視頻顯示設(shè)備111中的一個或多個。軟件可以存儲在存儲器115和/或 存儲中,以向處理器103提供指令來讓計算設(shè)備101執(zhí)行各種功能。例如,存儲器115可以 存儲計算設(shè)備101使用的軟件,如操作系統(tǒng)117、應(yīng)用程序119和數(shù)據(jù)存儲121??商娲?, 用于計算設(shè)備101的計算機(jī)可執(zhí)行指令中的一些或全部可以用硬件或固件(未示出)實 現(xiàn)。如下面所要詳細(xì)描述的一樣,數(shù)據(jù)存儲121可以為整個業(yè)務(wù)提供賬號信息和賬號持有 人信息的集中存儲,以允許位于不同物理位置的業(yè)務(wù)中的不同元件之間的互用性。在一些 實施例中,數(shù)據(jù)存儲121可以物理上位于存儲器115之外。例如,數(shù)據(jù)存儲121可以是位于 計算設(shè)備151的企業(yè)數(shù)據(jù)庫。計算設(shè)備101可以在支持連接到諸如分支終端141和151的一個或多個遠(yuǎn)程計 算設(shè)備的聯(lián)網(wǎng)環(huán)境中運行。分支計算設(shè)備141和151可以是包括上面關(guān)于計算設(shè)備101 所描述的許多或全部元件的個人計算設(shè)備或服務(wù)器。圖1中所述的網(wǎng)絡(luò)連接包括局域網(wǎng) (LAN) 125和廣域網(wǎng)(WAN) 129,但還可以包括其它網(wǎng)絡(luò)。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算 設(shè)備101通過通信模塊109中的網(wǎng)絡(luò)接口或適配器連接至LAN 125。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中 使用時,服務(wù)器101可以包括通信模塊109中的調(diào)制解調(diào)器或者用于通過WAN 129建立通 信的其它部件,如因特網(wǎng)131。將會認(rèn)識到,所示的網(wǎng)絡(luò)連接是示意性的,并且可以使用在計 算設(shè)備之間建立通信鏈路的其它方式。假定存在諸如TCP/IP、以太網(wǎng)、FTP、HTTP等的各種 公知協(xié)議中的任何,并且系統(tǒng)能夠在客戶端-服務(wù)器結(jié)構(gòu)中運行以允許用戶從基于web的 服務(wù)器檢索網(wǎng)頁??梢允褂酶鞣N傳統(tǒng)的web瀏覽器中的任何來顯示和操作網(wǎng)頁上的數(shù)據(jù)。此外,根據(jù)本發(fā)明示例性實施例的計算設(shè)備101所使用的應(yīng)用119可以包括計算 機(jī)可執(zhí)行指令,用于調(diào)用諸如電子郵件、短信息服務(wù)(SMQ以及語音輸入和語音識別應(yīng)用 的與通信相關(guān)的用戶功能。圖2圖示根據(jù)本公開多個方面的系統(tǒng)的一個實施例??蛻舳擞嬎阍O(shè)備141可以與 網(wǎng)絡(luò)服務(wù)器151通信,該網(wǎng)絡(luò)服務(wù)器151依次可以與應(yīng)用服務(wù)器101通信??蛻舳擞嬎阍O(shè) 備141可以包括用于向用戶顯示應(yīng)用的圖形用戶界面的顯示器。這樣,應(yīng)用服務(wù)器可以包 括配置成發(fā)送圖形用戶界面至顯示設(shè)備的顯示接口。顯示接口可以通過使用業(yè)務(wù)規(guī)則(或 者修改的業(yè)務(wù)規(guī)則)構(gòu)造對應(yīng)于應(yīng)用的圖形用戶界面。例如,可以在涉及圖4的描述中找 到根據(jù)本發(fā)明多個方面的這類規(guī)則的示例性實施例。應(yīng)用服務(wù)器101可以訪問數(shù)據(jù)存儲系統(tǒng)202(例如,數(shù)據(jù)庫系統(tǒng))上存儲的數(shù)據(jù) (例如,應(yīng)用屬性、呈現(xiàn)規(guī)則、業(yè)務(wù)規(guī)則等等)。本領(lǐng)域技術(shù)人員將認(rèn)識到,盡管圖2中各種組件被可視地描述為位于特定設(shè)備中,但本公開預(yù)期一個或多個組件位于不同的設(shè)備中或 者被省略。例如,在一個實施例中,應(yīng)用服務(wù)器101和數(shù)據(jù)存儲系統(tǒng)202可以位于網(wǎng)絡(luò)服務(wù) 器151中。又在根據(jù)本公開的另一實施例中,數(shù)據(jù)存儲系統(tǒng)202可以位于應(yīng)用服務(wù)器101 內(nèi)部,或者數(shù)據(jù)存儲系統(tǒng)202和應(yīng)用服務(wù)器101的一個或多個組件可以位于(或者共同位 于)圖2的其它塊中。圖2的系統(tǒng)可以包括數(shù)據(jù)存儲系統(tǒng)202,其配置成保持由應(yīng)用服務(wù)器101上執(zhí)行的 一個或多個應(yīng)用使用的數(shù)據(jù)。數(shù)據(jù)存儲系統(tǒng)202可以存儲包括如下的至少一個或多個的數(shù) 據(jù)應(yīng)用屬性202A、呈現(xiàn)規(guī)則202B、和/或業(yè)務(wù)規(guī)則202C。圖4中描繪了數(shù)據(jù)存儲系統(tǒng)202 中存儲的示例性數(shù)據(jù)的示例,下面對圖4作進(jìn)一步詳細(xì)的描述。數(shù)據(jù)存儲系統(tǒng)202可以包 括用于存儲一個或多個業(yè)務(wù)規(guī)則(例如,第一業(yè)務(wù)規(guī)則、第二業(yè)務(wù)規(guī)則等等)的計算機(jī)存儲 器(例如,有形計算機(jī)可讀介質(zhì))。此外,可以提供業(yè)務(wù)規(guī)則管理系統(tǒng)208 (BRMQ來輔助創(chuàng) 建、修改和/或維護(hù)數(shù)據(jù)存儲系統(tǒng)202中存儲的各種數(shù)據(jù)。BRMS可以提供用戶友好的圖形 用戶界面(GUI)以允許具有較少甚至沒有計算機(jī)編程(以及網(wǎng)頁制作)經(jīng)驗的業(yè)務(wù)用戶創(chuàng) 建、修改和維護(hù)由虛擬機(jī)輔助運行的在線應(yīng)用(例如,網(wǎng)站)的呈現(xiàn)和配置。數(shù)據(jù)存儲202(例如,數(shù)據(jù)庫系統(tǒng))可以進(jìn)一步包括變化通知機(jī)制210。變化通知 機(jī)制可以提供數(shù)據(jù)(例如,應(yīng)用屬性202A、呈現(xiàn)規(guī)則202B、業(yè)務(wù)規(guī)則202C等等)修改的通 知。例如在一個實施例中,通知可以采用經(jīng)由IRQ(中斷請求)線的警告的形式。在另一 個實施例中,通知可以使用良好歸檔的“觀察者”設(shè)計模式來軟件實現(xiàn),該模式中“對象”和 “觀察者”松散地耦合,并且當(dāng)對象改變狀態(tài)時,對象提供通知給觀察者。本領(lǐng)域技術(shù)人員將 認(rèn)識到,其它配置或設(shè)計模式是本領(lǐng)域公知的,并且可以用來提供數(shù)據(jù)修改(例如,狀態(tài)改 變)的通知,如輪詢技術(shù)、推送(push)技術(shù)、和對象-觀察者實現(xiàn)。此外,應(yīng)用服務(wù)器101可 以包含到變化通知機(jī)制210的接口,以便使能通知的接收。例如,應(yīng)用服務(wù)器101可以包括 “觀察者”的實例,其被配置成從數(shù)據(jù)存儲系統(tǒng)202中的“對象”獲取業(yè)務(wù)規(guī)則修改的通知。根據(jù)本公開的各個方面,應(yīng)用服務(wù)器101可以包括被配置成使用處理器(例如, Intel .微處理器、AMD⑧微處理器、多核處理器、專用處理器等等)來執(zhí)行計算機(jī)可執(zhí)行指 令的虛擬機(jī)206 (例如,Java 虛擬機(jī)或者提供JRE )。這些指令可以包括被配置成由虛擬 機(jī)執(zhí)行以導(dǎo)致圖2的系統(tǒng)執(zhí)行圖3 (以及貫穿該公開)所標(biāo)識的一個或多個步驟的字節(jié)碼。 虛擬機(jī)206可以包括管理beans (mBeans )以輔助管理資源(例如,(多個)環(huán)境屬性文件 204、多個應(yīng)用屬性等等)和/或執(zhí)行一個或多個前述步驟。mBeans 是本領(lǐng)域公知的,并 且可以與JMX(例如,JMX控制臺)結(jié)合使用來輔助監(jiān)視虛擬機(jī)206上運行的一個或多個應(yīng) 用的多個方面。根據(jù)本公開的各個方面,虛擬機(jī)206還可以包括規(guī)則控制機(jī)制,其被配置成允許 虛擬機(jī)上運行的應(yīng)用訪問第一組業(yè)務(wù)規(guī)則,同時并行地限制應(yīng)用訪問第二組業(yè)務(wù)規(guī)則。同 時,規(guī)則控制機(jī)制可以允許也在虛擬機(jī)206上運行的第二應(yīng)用訪問第二組業(yè)務(wù)規(guī)則,但限 制應(yīng)用對第一組業(yè)務(wù)規(guī)則的訪問。本領(lǐng)域技術(shù)人員將認(rèn)識到,具有規(guī)則控制機(jī)制的虛擬機(jī) 206的系統(tǒng)的至少一個益處是能夠在應(yīng)用級別限制屬性(例如,業(yè)務(wù)規(guī)則、呈現(xiàn)規(guī)則、環(huán)境 屬性204等等)的可見性。例如,不同的應(yīng)用接著可以具有相同的屬性名稱而不沖突。因 此,大大提高和簡化了底層制造商產(chǎn)品和未來端口的互換性。在根據(jù)本公開的一個實施例 中,可以使用mBeans(參見圖2中的附圖標(biāo)記206)來實現(xiàn)規(guī)則控制機(jī)制。在根據(jù)本公開的另一個實施例中,可以通過存儲在應(yīng)用服務(wù)器101的真實的計算機(jī)可讀介質(zhì)上并且由虛擬 機(jī)206執(zhí)行的計算機(jī)可執(zhí)行指令來實現(xiàn)規(guī)則控制機(jī)制。此外,圖2的系統(tǒng)可以包括效用功能來輔助屬性的動態(tài)配置。例如,可以包括日志 記錄模塊來記錄編輯屬性值(例如,業(yè)務(wù)規(guī)則等等)的用戶的登錄以及發(fā)生修改的日期/ 時間(例如,通過填充(populate)日志表中的“modified_by”和“modified_date”字段)。 日志記錄的信息可以為對業(yè)務(wù)規(guī)則、呈現(xiàn)規(guī)則、應(yīng)用屬性、環(huán)境屬性等等的修改提供審計跟 蹤和其它(inter alia)。在另一個實施例中,日志記錄模塊可以提供指定應(yīng)用日志中記錄 的細(xì)節(jié)級別的能力。例如,日志記錄級別“5”可以指示在日志文件中應(yīng)當(dāng)記錄由應(yīng)用生成 的所有錯誤消息和警告消息。(參見圖4,附圖標(biāo)記408)。此外,可以提供其它效用功能模 塊(例如,圖2中的異常處理模塊和安全模塊)來輔助應(yīng)用開發(fā)人員和測試人員處理異常 和安全。例如,安全模塊可以提供與什么樣的應(yīng)用開發(fā)人員和/或業(yè)務(wù)用戶可以修改哪些 屬性有關(guān)的信息。安全模塊的至少一個益處是其可以阻止外行的業(yè)務(wù)用戶訪問和錯誤地修 改屬性值,這可能導(dǎo)致整個系統(tǒng)崩潰(例如,生成致命錯誤信息或者其它不期望的行為。)圖3是圖示根據(jù)本公開多個方面的方法的一個實施例的流程圖。可以使用系統(tǒng) (例如,圖2所示的系統(tǒng))來實施本方法的一個或多個方面。在步驟302,可以在虛擬機(jī)206 啟動時從數(shù)據(jù)存儲系統(tǒng)202和其它存儲器加載規(guī)則(例如,業(yè)務(wù)規(guī)則、呈現(xiàn)規(guī)則、應(yīng)用屬性 等等)。這些規(guī)則可以被讀入虛擬機(jī)206和/或可以被用來初始化虛擬機(jī)206的一個或多 個設(shè)置(例如,環(huán)境屬性204)。虛擬機(jī)已經(jīng)啟動之后對規(guī)則的后續(xù)改變可以被稱為運行時 修改。很多運行時修改是由用戶(例如,業(yè)務(wù)用戶)手動執(zhí)行的。在步驟304,可以在虛擬機(jī)206中實例化應(yīng)用。應(yīng)用可以是具有在虛擬機(jī)206上運 行的Java服務(wù)器網(wǎng)頁(JSP)的電子商務(wù)網(wǎng)站。在這樣的示例中,應(yīng)用可以使用虛擬機(jī)206 在步驟302中加載的規(guī)則/屬性中的一個或多個。例如,應(yīng)用可以依賴于pilotMode參數(shù) 的值(例如,參見圖4)來確定應(yīng)用應(yīng)當(dāng)運行在引導(dǎo)測試模式還是生產(chǎn)模式中。圖4中圖示 了參數(shù)-值配對的其它示例。在步驟306,虛擬機(jī)206上運行的應(yīng)用可以進(jìn)行注冊以接收規(guī)則/屬性的運行時 修改通知。如關(guān)于圖2中變化通知機(jī)制210所解釋的一樣,應(yīng)用服務(wù)器101可以進(jìn)行注冊 以在數(shù)據(jù)存儲系統(tǒng)202中存儲的規(guī)則被修改時接收通知。虛擬機(jī)206可以包括用于與變化 通知機(jī)制210通信的接口。依此,在步驟308,虛擬機(jī)206和/或應(yīng)用可以接收業(yè)務(wù)規(guī)則的 運行時修改通知。在一個實施例中,變化通知機(jī)制210在虛擬機(jī)206之外的數(shù)據(jù)存儲系統(tǒng) 202上執(zhí)行。在另一個實施例中,變化通知機(jī)制可以運行在應(yīng)用服務(wù)器101上,但是在應(yīng)用 的虛擬機(jī)206之外。在步驟310,在不需要重啟虛擬機(jī)206的情況下,可以接收已修改的業(yè)務(wù)規(guī)則并且 在正在運行的應(yīng)用中反映該更新。本領(lǐng)域技術(shù)人員將認(rèn)識到在不需要底層虛擬機(jī)206關(guān)閉 以及啟動的情況下更新應(yīng)用以識別已修改的業(yè)務(wù)規(guī)則的重要性。虛擬機(jī)206的重啟將需要 應(yīng)用停止(即,停工或非激活狀態(tài))一段時間。這在期望持續(xù)整天訪問的應(yīng)用中是不可接 受/不期望的。而且,如果任何用戶在重啟時間內(nèi)使用應(yīng)用,則他們可能會過早地從應(yīng)用中 退出。所公開實施例的多個方面的至少一個益處是克服虛擬機(jī)重啟的缺點的能力。在步驟312,在一個示例中,規(guī)則控制機(jī)制可以允許虛擬機(jī)206上運行的應(yīng)用訪問 第一規(guī)則(或者規(guī)則集),而限制應(yīng)用訪問第二規(guī)則(或規(guī)則集)。同時,規(guī)則控制機(jī)制可以允許不同的應(yīng)用訪問(多個)第二規(guī)則,而限制該應(yīng)用訪問(多個)第一規(guī)則。如上所 述,所公開實施例的多個方面的至少一個益處是避免虛擬機(jī)206上運行(或者被配置以運 行)的不同應(yīng)用的參數(shù)/屬性之間的沖突的能力。在步驟314,應(yīng)用可以讀取(多個)已修改的規(guī)則并且相應(yīng)地調(diào)整其操作或功能。 例如,如果已修改的業(yè)務(wù)規(guī)則關(guān)于應(yīng)用執(zhí)行的日志記錄(例如,圖4中的附圖標(biāo)記408)的 程度,則該屬性/參數(shù)值從值“5”到值“2”的更新可以降低應(yīng)用執(zhí)行的詳細(xì)日志記錄。在 另一個示例中,如果已修改的業(yè)務(wù)規(guī)則關(guān)于應(yīng)用執(zhí)行的強(qiáng)制緩存刷新(例如,圖4中的附圖 標(biāo)記414),則該屬性/參數(shù)值從值“TRUE”到值“FALSE”的更新可以阻止應(yīng)用執(zhí)行的強(qiáng)制緩 存清除。通常,在規(guī)則(例如,應(yīng)用屬性202A)被修改(例如,由業(yè)務(wù)用戶使用業(yè)務(wù)規(guī)則管 理系統(tǒng)208)之后,可以幾近立即地發(fā)生應(yīng)用更新,并且變化通知機(jī)制210發(fā)送通知給應(yīng)用 服務(wù)器101中運行的虛擬機(jī)206。特別地,不需要重啟虛擬機(jī)206以使已修改的業(yè)務(wù)規(guī)則生 效。參考圖4,顯示了根據(jù)本公開多個方面的示例性規(guī)則文件400。該規(guī)則可以遵守點 劃界命名規(guī)則以允許規(guī)則被分組。例如,與MBNA網(wǎng)站相關(guān)的規(guī)則可以包括規(guī)則406、408、 410、412、414。在圖4的示例中,以跟隨由MBNA專有屬性的“BofA,,前綴來命名這些規(guī)則。 同時,與Countryside網(wǎng)站相關(guān)的規(guī)則可以包括規(guī)則402、404。這種命名規(guī)則的至少一個益 處是虛擬機(jī)206中的規(guī)則控制機(jī)制可以相應(yīng)地、輕松地允許或限制應(yīng)用對屬性/參數(shù)的訪 問。而且,圖4中示例性規(guī)則文件400中的業(yè)務(wù)規(guī)則可以包括涉及功能權(quán)利、頁面流、 或者內(nèi)容檢索的規(guī)則。例如,規(guī)則404可以指導(dǎo)頁面流中的應(yīng)用。具體地,規(guī)則404可以讓 MBNA站點的用戶在登錄之后(即,登錄下一步)來到“信息驗證”屏幕/頁面。在另一示例 中,規(guī)則402可以指導(dǎo)功能權(quán)利中的應(yīng)用。具體地,規(guī)則402可以在MBNA站點上顯示按揭 計算器功能。在另一示例中,規(guī)則406可以指導(dǎo)內(nèi)容檢索中的應(yīng)用。具體地,規(guī)則406可以 指導(dǎo)MBNA應(yīng)用從“內(nèi)容服務(wù)器2”內(nèi)容服務(wù)器為其站點檢索內(nèi)容。在其它示例中,規(guī)則文件 400可以包括涉及日志級別408、連接池參數(shù)410、引導(dǎo)模式觸發(fā)器、強(qiáng)制緩存刷新414和顏 色412的規(guī)則。例如,顏色規(guī)則412可以對應(yīng)于應(yīng)用的圖形用戶界面的外觀和感覺(例如, 將網(wǎng)站的背景顏色制作成藍(lán)色)。本領(lǐng)域技術(shù)人員將認(rèn)識到,可以在數(shù)據(jù)存儲系統(tǒng)202中以 文件格式400或其它格式(例如,以關(guān)系數(shù)據(jù)庫中的SQL表格等等)存儲規(guī)則。盡管并非需要,但本領(lǐng)域技術(shù)人員將認(rèn)識到,本申請所述的各個方面可以實現(xiàn)為 方法、數(shù)據(jù)處理系統(tǒng)或者存儲計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì)。已經(jīng)按照其各種示例 性實施例描述了本發(fā)明的多個方面。對于本領(lǐng)域技術(shù)人員而言,通過瀏覽本公開,在所附權(quán) 利要求的范圍和實質(zhì)內(nèi)將出現(xiàn)許多其它實施例、修改和變化。例如,本領(lǐng)域技術(shù)人員將認(rèn)識 到,可以按照不同于上述順序的順序來執(zhí)行示意圖中所述的步驟,并且根據(jù)本公開的多個 方面,所述的一個或多個步驟是可選的。此外,可以通過使用處理器執(zhí)行計算機(jī)可讀介質(zhì)上 存儲的計算機(jī)可執(zhí)行指令來執(zhí)行這里所述的步驟。根據(jù)本發(fā)明的多個方面,處理器還可以 與顯示屏幕通信以輸出適當(dāng)?shù)男畔ⅰ?br>
權(quán)利要求
1.一種計算機(jī)裝置,包含虛擬機(jī),被配置成使用處理器來執(zhí)行計算機(jī)可執(zhí)行指令;存儲業(yè)務(wù)規(guī)則的有形計算機(jī)可讀介質(zhì),該業(yè)務(wù)規(guī)則至少包含第一業(yè)務(wù)規(guī)則和第二業(yè)務(wù) 規(guī)則;到變化通知機(jī)制的接口,該變化通知機(jī)制被配置成提供修改通知給業(yè)務(wù)規(guī)則; 該有形計算機(jī)可讀介質(zhì)進(jìn)一步存儲計算機(jī)可執(zhí)行指令,當(dāng)由處理器執(zhí)行所述計算機(jī)可 執(zhí)行指令時,導(dǎo)致所述裝置執(zhí)行包含如下步驟的方法 根據(jù)業(yè)務(wù)規(guī)則實例化虛擬機(jī)中的應(yīng)用; 接收業(yè)務(wù)規(guī)則的運行時修改通知;以及 根據(jù)已修改的業(yè)務(wù)規(guī)則更新應(yīng)用而不重啟虛擬機(jī)。
2.如權(quán)利要求1所述的裝置,進(jìn)一步包含規(guī)則控制機(jī)制,被配置成允許應(yīng)用訪問第一業(yè)務(wù)規(guī)則,但限制應(yīng)用對第二業(yè)務(wù)規(guī)則的 訪問ο
3.如權(quán)利要求2所述的裝置,其中業(yè)務(wù)控制機(jī)制允許第二應(yīng)用訪問第二業(yè)務(wù)規(guī)則,但 限制應(yīng)用對第一業(yè)務(wù)規(guī)則的訪問。
4.如權(quán)利要求1所述的裝置,其中有形計算機(jī)可讀介質(zhì)是數(shù)據(jù)庫系統(tǒng)的一部分。
5.如權(quán)利要求4所述的裝置,其中數(shù)據(jù)庫系統(tǒng)包含與數(shù)據(jù)存儲相關(guān)聯(lián)的變化通知機(jī)制。
6.如權(quán)利要求1所述的裝置,其中運行時修改是虛擬機(jī)已經(jīng)啟動之后有形計算機(jī)可讀 介質(zhì)上存儲的業(yè)務(wù)規(guī)則中的變化,其中所述變化由人員手動地執(zhí)行。
7.如權(quán)利要求2所述的裝置,其中規(guī)則控制機(jī)制使用點劃界命名規(guī)則來分組業(yè)務(wù)規(guī)則。
8.如權(quán)利要求1所述的裝置,其中業(yè)務(wù)規(guī)則包括涉及功能權(quán)利、頁面流和內(nèi)容檢索中 的至少一種的規(guī)則。
9.如權(quán)利要求1所述的裝置,其中業(yè)務(wù)規(guī)則包括涉及日志級別、連接池參數(shù)、引導(dǎo)模式 觸發(fā)器和強(qiáng)制緩存刷新中的至少一種的規(guī)則。
10.如權(quán)利要求1所述的裝置,進(jìn)一步包含顯示接口,被配置成發(fā)送圖形用戶界面給顯示設(shè)備;以及有形計算機(jī)可讀介質(zhì)進(jìn)一步存儲計算機(jī)可執(zhí)行指令,當(dāng)由處理器執(zhí)行所述計算機(jī)可執(zhí) 行指令時,導(dǎo)致所述裝置執(zhí)行進(jìn)一步包含如下步驟的方法構(gòu)造與使用已修改的業(yè)務(wù)規(guī)則的應(yīng)用對應(yīng)的圖形用戶界面。
11.一種方法,包含在虛擬機(jī)啟動時從數(shù)據(jù)存儲加載業(yè)務(wù)規(guī)則; 注冊虛擬機(jī)以接收業(yè)務(wù)規(guī)則的運行時修改通知; 在虛擬機(jī)中實例化應(yīng)用; 接收業(yè)務(wù)規(guī)則的運行時修改通知;以及 根據(jù)已修改的業(yè)務(wù)規(guī)則更新應(yīng)用而不停止虛擬機(jī)。
12.如權(quán)利要求11所述的方法,其中業(yè)務(wù)規(guī)則至少包含第一業(yè)務(wù)規(guī)則和第二業(yè)務(wù)規(guī) 則,所述方法進(jìn)一步包含允許應(yīng)用訪問第一業(yè)務(wù)規(guī)則;以及 限制應(yīng)用訪問第二業(yè)務(wù)規(guī)則。
13.如權(quán)利要求12所述的方法,進(jìn)一步包含 允許第二應(yīng)用訪問第二業(yè)務(wù)規(guī)則;以及 限制第二應(yīng)用訪問第一業(yè)務(wù)規(guī)則。
14.如權(quán)利要求11所述的方法,其中以名稱-值配置來定義業(yè)務(wù)規(guī)則,其中名稱是點劃 界的。
15.如權(quán)利要求14所述的方法,其中業(yè)務(wù)規(guī)則指定應(yīng)用的圖形用戶界面的外觀和感覺。
16.如權(quán)利要求14所述的方法,其中業(yè)務(wù)規(guī)則包括涉及功能權(quán)利、頁面流、內(nèi)容檢索、 日志級別、連接池參數(shù)、引導(dǎo)模式觸發(fā)器和強(qiáng)制緩存刷新中的至少一種的規(guī)則。
17.一種包含計算機(jī)可執(zhí)行指令的有形計算機(jī)可讀介質(zhì),所述計算機(jī)可執(zhí)行指令導(dǎo)致 裝置執(zhí)行包含如下步驟的方法在啟動虛擬機(jī)后從數(shù)據(jù)存儲加載業(yè)務(wù)規(guī)則,其中業(yè)務(wù)規(guī)則包括第一業(yè)務(wù)規(guī)則和第二業(yè) 務(wù)規(guī)則;在虛擬機(jī)中實例化應(yīng)用;進(jìn)行注冊以接收業(yè)務(wù)規(guī)則的運行時修改通知;接收第一業(yè)務(wù)規(guī)則的運行時修改通知;根據(jù)已修改的第一業(yè)務(wù)規(guī)則更新應(yīng)用而不重啟虛擬機(jī);允許應(yīng)用訪問第一業(yè)務(wù)規(guī)則;以及限制應(yīng)用訪問第二業(yè)務(wù)規(guī)則;允許第二應(yīng)用訪問第二業(yè)務(wù)規(guī)則;以及限制第二應(yīng)用訪問第一業(yè)務(wù)規(guī)則。
18.如權(quán)利要求17所述的有形計算機(jī)可讀介質(zhì),其中通過在虛擬機(jī)之外執(zhí)行的變化通 知機(jī)制來提供運行時修改通知。
19.如權(quán)利要求17所述的有形計算機(jī)可讀介質(zhì),進(jìn)一步包含計算機(jī)可執(zhí)行指令,所述 計算機(jī)可執(zhí)行指令導(dǎo)致裝置執(zhí)行包含如下步驟的方法使用應(yīng)用讀取第一已修改的業(yè)務(wù)規(guī)則,其中第一已修改的業(yè)務(wù)規(guī)則確定應(yīng)用執(zhí)行的日 志記錄的程度。
20.如權(quán)利要求17所述的有形計算機(jī)可讀介質(zhì),進(jìn)一步包含計算機(jī)可執(zhí)行指令,所述 計算機(jī)可執(zhí)行指令導(dǎo)致裝置執(zhí)行包含如下步驟的方法使用應(yīng)用讀取第一已修改的業(yè)務(wù)規(guī)則,其中第一已修改的業(yè)務(wù)規(guī)則確定何時發(fā)生緩存 刷新。
全文摘要
描述了與虛擬機(jī)環(huán)境中的規(guī)則(例如,業(yè)務(wù)規(guī)則、呈現(xiàn)規(guī)則等等)的動態(tài)配置相關(guān)的系統(tǒng)和方法。而且,可以利用虛擬機(jī)上運行的應(yīng)用更新和使用規(guī)則,而不需要停止和啟動(即,重啟)虛擬機(jī)。進(jìn)一步,本發(fā)明的多個方面描述了管理動態(tài)規(guī)則對同一虛擬機(jī)上運行的各種應(yīng)用的可見性。
文檔編號G06F9/455GK102096595SQ20101053508
公開日2011年6月15日 申請日期2010年8月23日 優(yōu)先權(quán)日2009年8月23日
發(fā)明者克里斯托弗·A·穆爾, 彼得·A·塔沃米納, 約翰·A·洛澤斯, 薩拉巴亞·波拉卡姆, 達(dá)林·M·德弗, 黃穎 申請人:美國銀行公司