新四季網

基於語義的構件動態替換方法

2023-05-05 21:22:21

專利名稱:基於語義的構件動態替換方法
技術領域:
本發明涉及計算機軟體開發中間件領域,特別是涉及一種基於語義的構件 動態替換方法。
背景技術:
一些系統必須無間斷長期運行,比如導航系統、金融系統、郵件系統。不 管是對提供商還是客戶來說,中斷這些服務都將帶來巨大損失,甚至災難。因 此,新技術的發展、客戶需求、功能實現或業務流程的改變,都要求軟體系統 具備動態演化的能力,即可以在不停止系統運行的情況下,實現軟體的功能更新。
此外,自適應、自管理系統也越來越引起人們的關注。隨著Internet的出現 與發展,現在的基於構件的系統所面臨的環境從靜態、封閉逐步走向動態、開 放,應用系統變得越來越難以管理和維護,必須儘可能實現應用系統的自動管理。
從軟體體系結構的角度看,所有的軟體系統,無論多麼複雜,都可視為由 構件根據一定規則連接而成。組成系統的構件,構件的物理分布及構件間的連 接關係等構成了系統的配置。在系統運行期間對系統配置進行更改的技術就是 動態配置。而動態配置主要有構件刪除、構件添加、構件替換、構件遷移、連 接建立、連接刪除、連接重定向和構件屬性等方面,其中最關鍵的就是構件替 換,亦即動態替換。
雖然某些場景可停止系統運行來替換構件,動態替換仍是較好的選擇。因為動態替換期間,系統中仍有部分構件不受影響,可繼續為客戶服務,這樣就 把對系統的影響降到了最低。
目前的做法有形式化方法和非形式化方法兩種。動態配置形式化方向的研 究重點在於對系統結構和配置變化的形式化描述以及相關性質的形式化驗證, 包括動態配置意圖本身的合法性,動態配置操作序列是否保證系統一致性,以 及系統在動態配置後是否具有期望的性質,如是否存在死鎖、活鎖等。但是目 前利用形式化的系統結構描述語言對系統的描述和分析技術,特別是對系統動 態特性的描述和分析技術還遠未成熟。
非形式化方法根據保證系統一致性方法的不同,非形式化的動態配置方法 大致可分為恢復性方法、避免性方法和通用配置框架這三種方法。其中,避免 性方法對應用系統本身沒有過高要求、使用範圍較廣、動態配置性能較好、動 態配置能力也較強,目前很多研究都集中在此類方法卜.,本發明也採用了這種 方法。
但是目前的非形式化方法由於找不到一種強有力的構件描述方法,來描述 構件的運行時信息, 一般只能採用阻塞大量的構件以防止動態替換期間目標構 件處於非穩定狀態。
因此急需一種能夠儘可能減少構件動態替換期間對系統性能帶來影響的可行方
法,以滿足動態配置的需求。

發明內容
為解決以上問題,本發明提供能夠儘可能減少構件動態替換期間對系統性 能影響的基於語義的構件動態替換方法。
一種基於語義的構件動態替換方法,採用語義技術為構件描述提供更為豐富的信息,然後使用基於構件的軟體系統一致性約束的保證方法進行構件替換 的約束條件,所述構件為基於語義技術的構件模型。
進一歩的,所述語義構件模型包括行為模型和交互模型。
進一步的,動態替換過程中的系統一致性約束包括行為一致性、狀態一致 性、應用一致性和引用一致性。
更進一步的,所述系統一致性約束的保證方法主要通過埠負責構件的狀 態設置。
更進一步的,所述系統一致性約束的保證方法包括
a) 行為一致性的保證方法為,找到啟動事務的源構件並阻塞它,從而保證 在動態替換期間沒有正在執行的事務;
b) 狀態一致性的保證方法為,構件通過指定的一個埠負責狀態的收集, 同時指定另一個埠負責狀態的初始化,這樣就能實現構件狀態在新舊構件之 間的正確傳遞;
c) 應用一致性的保證方法為,構件通過指定一個埠負責構件加入系統時 的相關狀態的設置,同時指定另一個埠負責構件離開系統時的相關狀態設置;
d) 引用一致性的保證方法為,通過引用註冊中心解決引用一致性的問題, 所有新創建的構件的埠都需要在引用註冊中心登記,由引用註冊中心統一管 理埠之間的引用;
進一步的,所述構件替換的流程為 第一階段,找出所有可以啟動需要目標構件參與的事務的源埠; 第二階段為鈍化階段; 第三階段為激活階段。更進一步的,所述鈍化階段為首先阻塞第一階段中找到的所有源埠,其 次以等待方式驅動目標構件進入穩定狀態,然後保存目標構件的狀態並設置系 統中的其他構件狀態,最後通過弓I用註冊中心刪除目標構件。
更進一步的,所述激活階段,首先通過引用註冊中心添加新構件,其次設 置系統中其他構件的狀態,然後設置新構件的狀態並激活它,最後激活系統中 在第二階段被阻塞的所有源埠 。
本發明與背景技術相比,具有的有益的效果是它採用較成熟的非形式化 方法,在構件模型中引入語義,能更好地描述構件的運行時信息,為構件的動 態替換提供了必要的信息,同時在替換過程中將粒度從整個構件細化到構件的 埠,提高了査找影響目標構件的構件集合的精度,且在替換期間只阻塞這些 構件的相應事務啟動埠 ,從而提高了替換期間系統的性能。


圖1是語義構件的概念模型;
圖2是接口本體的抽象示意圖3是交互本體的抽象示意圖
圖4是源埠求解示意圖
具體實施例方式
1)語義構件模型
語義構件模型包括行為模型和交互模型,在行為模型中, 一個操作序列組
成一個接口,接口通過埠向外發布(見圖1);在交互模型中,埠之間通過 連接子進行連接。
若接口中的操作序列為原子性序列(也就是事務),則可標識該接口為事務啟動接口 ,而該接口發布的埠也相應地為事務啟動埠 。
埠有兩種類型服務埠和配置埠。通過服務埠發布的接口提供通 常意義上的一般服務。而配置埠則提供動態替換相關的服務,配置埠包括
Getter、 Setter、 Passivator和Activator四種。其中Getter埠負責構件離 開系統時狀態的收集、Setter負責構件加入系統時狀態的設置、Passivator負責 構件離開系統時對系統中其他構件狀態的設置、Activator負責構件加入系統時 對系統中其他構件狀態的設置。接口本體的抽象示意圖見圖2。
構件通過埠進行交互,而連接子是埠之間的通道,連接子指明了源端 口和目標埠等,交互本體的抽象示意圖見圖3。
2) 系統一致性約束
動態替換過程中的系統一致性約束可分為以下幾種
a) 行為一致性系統在運行時表現為一系列的行為序列,動態替換若保證 了行為序列的正常完成,也就保證了系統處於一致性狀態。
b) 狀態一致性進行動態替換時,構件狀態在新舊構件之間的正確傳遞稱 為狀態一致性。
C)應用一致性構件狀態的除了與自身行為有關,還受到系統對狀態全局
約束的限制,動態替換必須保證不會破壞這種全局狀態約束,稱為應用一致性。
d)引用^致性構件替換前後,交互中的構件不會持有過時的引用,這就 是引用一致性。
3) 系統-致性約束的保證方法
a)行為一致性的保證方法為,找到啟動事務的源構件並阻塞它,從而保證 在動態替換期間沒有正在執行的事務。為保證行為一致性,目標構件在動態配置前必須進入穩定狀態。 當埠滿足如下條件時,稱該埠處於懶惰狀態
1. 當前沒有啟動需要目標構件參與的事務
2. 將來不會啟動需要目標構件參與的事務
當處於懶惰狀態的埠滿足以下條件時,稱該埠處於穩定狀態
1. 當前沒有參與其他埠啟動的事務
2. 將來不會參與其他埠啟動的事務
當目標構件的所有埠處於穩定狀態時,稱該目標構件處於穩定狀態。 如果某個埠可以啟動需要目標構件參與事務,並且從該埠到目標構件
之間的調用不需要另外一個事務啟動埠參與,我們稱該埠稱為源埠。也
就是離目標構件最近的事務啟動埠 。
我們將目標構件Q的所有源埠結合記為PS(Q)。顯然可以證明埠的懶
惰狀態是可以達到的。當PS(Q)中的所有埠都進入懶惰狀態時,Q即進入穩定 狀態。因此,構件的穩定狀態也是可以達到的。
當然,動態替換的對象除了可以是單個構件外,還可以是由多個構件組成 的構件集合。對於目標構件集合TS來說,PS(TS)=UieTSPS(i)。只有當PS(TS) 中的所有構件都進入懶惰狀態時,TS中各構件才能進入穩定狀態。
替換處於穩定狀態的構件不會破壞事務的完整性,從而保證了行為一致性。
而且實施動態替換前,驅動TS進入穩定狀態,可以使構件此時的狀態相對 穩定,為保證構件狀態一致性和應用狀態--致性的保證提供了適當時機。
其中PS(TS)的計算實例如圖4所示,為了替換構件ComA,必須找出構件 ComA所擁有的埠 PortA的源埠。通過連接亍R3、 R2、 Rl回溯尋找其源埠,得到唯一埠 (構件ComC的PortC2),也就是說構件ComA的源埠集合 為PS(TS)= {PortC2},其中TS= {ComA};
b) 狀態一致性的保證方法為,通過構件指定的一個Getter埠負責構件離 開系統時構件狀態的收集,並通過"個Setter埠負責構件加入系統時構件狀態 的初始化。
c) 應用一致性的保證方法為,通過構件指定的一個Activator埠負責構件 加入系統時的相關狀態的設置,包括對受其影響的所有構件的狀態設置,可通 過給這些構件發送請求來實現這個目的;而通過指定一個Passivator埠負責構 件離開系統時的相關狀態設置;
d) 引用一致性的保證方法為,通過引用註冊中心解決引用一致性的問題, 所有新創建的構件的埠都需要在引用註冊中心登記,由引用註冊中心統一管 理埠之間的引用。引用註冊中心為每個埠分配唯一的URL標識,並為每一 個與之交互的埠建立連接子,連接兩個埠,實現信息交互的正常執行;
4)動態替換的實現
動態替換的基本思路是,首先驅動目標構件的源埠集合進入預期的一致 性狀態,也就是懶惰狀態;其次,實施動態配置意圖;最後,恢復系統的正常 運行。下面給出構件替換執行的具體算法流程,該流程可以分三個階段進行
第一階段,找出所有可以啟動需要目標構件參與的事務的源埠。首先找 出所有的目標構件,將其擁有的埠放入埠列表PL,其次從PL中逐個取出 埠,並回溯該埠的源埠,由此生成一棵調用樹,然後判斷樹中的葉子節 點是否存在源埠,若有則把這些埠加入源埠集合PS中。如此循環直到列 表PL中的埠全部被檢查過為止。第二階段,鈍化階段。首先阻塞第一階段中找到的所有源埠,其次以等
待方式驅動目標構件進入穩定狀態,然後通過構件的Getter埠保存目標構件 的狀態並通過構件的Passivator埠設置系統中的其他構件狀態,最後通過引用 註冊中心刪除目標構件。
第三階段,激活階段。首先通過構件註冊中心添加新構件,其次通過新構 件的Activator埠設置系統中其他構件的狀態,然後通過新構件的Setter端U 初始化新構件的狀態並激活它,最後激活系統中在第二階段被阻塞的其他構件。
至此,動態替換執行結束。
權利要求
1. 一種基於語義的構件動態替換方法,其特徵在於採用語義技術為構件描述提供更為豐富的信息,然後使用基於構件的軟體系統一致性約束的保證方法進行構件替換的約束條件,所述構件為基於語義技術的構件模型。
2. 根據權利要求1所述的基於語義的構件動態替換方法,其特徵在於所述語 義構件模型包括行為模型和交互模型。
3. 根據權利要求1所述的基於語義的構件動態替換方法,其特徵在於動態替 換過程中的系統一致性約束包括行為一致性、狀態一致性、應用一致性和引用一致性。
4. 根據權利要求3所述的基於語義的構件動態替換方法,其特徵在於所述系 統一致性約束的保證方法主要通過埠負責構件的狀態設置。
5. 根據權利要求4所述的基於語義的構件動態替換方法,其特徵在於所述系 統一致性約束的保證方法包括a) 行為一致性的保證方法為,找到啟動事務的源構件並阻塞它,從而保證在動態替換期間沒有正在執行的事務;b) 狀態一致性的保證方法為,構件通過指定的一個埠負責狀態的收集, 同時指定另一個埠負責狀態的初始化,這樣就能實現構件狀態在新舊構件之間的正確傳遞;c) 應用一致性的保證方法為,構件通過指定一個埠負責構件加入系統時 的相關狀態的設置,同時指定另一個埠負責構件離開系統時的相關狀態設置;d) 引用一致性的保證方法為,通過引用註冊中心解決引用一致性的問題, 所有新創建的構件的埠都需要在引用註冊中心登記,由引用註冊中心統一管 理埠之間的引用;
6. 根據權利要求1所述的基於語義的構件動態替換方法,其特徵在於所述構件替換的流程為第一階段,找出所有可以啟動需要目標構件參與的事務的源埠; 第二階段為鈍化階段;第三階段為激活階段。
7. 根據權利要求6所述的基於語義的構件動態替換方法,其特徵在於所述鈍 化階段為首先阻塞第一階段中找到的所有源埠,其次以等待方式驅動目標 構件進入穩定狀態,然後保存目標構件的狀態並設置系統中的其他構件狀態, 最後通過引用註冊中心刪除目標構件。
8. 根據權利要求6所述的基於語義的構件動態替換方法,其特徵在於所述激 活階段,首先通過引用註冊中心添加新構件,其次設置系統中其他構件的狀態, 然後設置新構件的狀態並激活它,最後激活系統中在第二階段被阻塞的所有源 埠。
全文摘要
本發明涉及計算機軟體開發中間件領域,特別是涉及一種基於語義的構件動態替換方法。一種基於語義的構件動態替換方法,採用語義技術為構件描述提供更為豐富的信息,然後使用基於構件的軟體系統一致性約束的保證方法進行構件替換的約束條件,所述構件為基於語義技術的構件模型。本發明與背景技術相比,具有的有益的效果是它採用較成熟的非形式化方法,在構件模型中引入語義,能更好地描述構件的運行時信息,為構件的動態替換提供了必要的信息,同時在替換過程中將粒度從整個構件細化到構件的埠,提高了查找影響目標構件的構件集合的精度,且在替換期間只阻塞這些構件的相應事務啟動埠,從而提高了替換期間系統的性能。
文檔編號G06F9/44GK101441565SQ20081016339
公開日2009年5月27日 申請日期2008年12月18日 優先權日2008年12月18日
發明者健 吳, 吳朝暉, 尹建偉, 瑩 李, 殷昱煜, 鄧水光 申請人:浙江大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀