基於情境感知的網構軟體演化方法
2023-04-23 14:50:26 2
專利名稱:基於情境感知的網構軟體演化方法
技術領域:
本發明涉及的是一種軟體維護技術領域的方法,具體是一種基於情境感知的網構 軟體演化方法。
背景技術:
在網際網路已成為主要的軟體運行平臺的情況下,利用網際網路上多個自治的軟體實 體進行按需聚合以實現應用目標,已成為一個新的應用系統構造模式。網構軟體的概念就 是在這個背景下,由北京大學、南京大學等研究機構的學者提出的,目標是形成一種支持柔 性可演化、連續反應式和適應多目標的軟體構造和運行維護的新形態。由於開放網際網路環境下自治軟體實體的運行質量不可控,使得跟蹤實體運行的情 境變化並據此驅動軟體實體聚合關係的演化,以提高最終應用的服務質量變得十分迫切。 因此,如何獲取和傳播服務提供者的運行時情境,如何基於情境的變化和服務請求者的需 求,確定用於演化的軟體實體和策略,並將這些信息反饋給服務的請求者,都是必須解決的 問題。經過對現有技術的檢索發現,中國專利申請號01136385. 1,記載了一種構件化軟 件的在線演化方法。通過引入構件的同步狀態、截流狀態和緩衝狀態建立起構件的細粒度 管理機制,利用構造新加載程序的方法,並藉助於構件接口來進行構件重載,以實現在運行 過程中進行構件的替換、增加和刪除等操作。進一步檢索發現,中國專利申請號2004100481 . 1,記載了一種構件化軟體中非 功能特徵組裝方法,採用基於側面的方法建立軟體的體系結構,實現與構件相獨立的、提供 非功能特徵的側面,在建模階段建立側面和構件之間的關聯描述,自動生成包括構件實現 與側面實現的可運行代碼以及相應的部署描述符的軟體包,並在運行階段根據體系結構規 約建立和調整構件實例和側面實例之間的關聯。進一步檢索發現,中國專利申請號200810207687. 0,記載了一種基於體系結構的 軟體產品線演化方法。以統一的軟體產品線體系結構與構件版本模型為基礎,在體系結構 和構件兩個層面上實現統一、協調的產品線演化支持。上述的方法主要關注軟體實體的組裝與集成方法,以及在演化策略和對象明確條 件下實現在線重構的組裝方法。沒有涉及軟體實體運行時情境的獲取和傳播,沒有涉及在 情境發生變化時如何確定備用的軟體實體並告知服務請求者的方法。而在一個開放的環境 下軟體實體的實現技術和交互協議的選擇權在用戶手上,支撐系統根據這些信息確定服務 提供者以完成應用聚合。然後只有在有能力監控服務提供者的情境變化,並將這一變化傳 播到服務請求者一端,由支撐系統進一步確定用於演化的實體對象和策略後,上述的在線 組裝和重構的方法才能發揮作用。
發明內容
本發明針對現有技術存在的上述不足,提供一種基於情境感知的網構軟體演化方法,在服務的初始聚合關係確定的情況下,解決了網際網路環境中服務提供者運行時情境的 獲取和傳播,以及根據情境變化確定備用服務實體並告知服務請求者的相關問題,以支持 面向網構軟體的應用系統動態演化。本發明是通過以下技術方案實現的,本發明包括以下步驟步驟一、構造網際網路環境下服務的運行時情境;步驟二、根據服務的聚合關係確定情境變化的生產者和消費者,並完成對所關注 之情境變化的訂閱;步驟三、捕獲運行時情境的變化,並根據上述的生產者/消費者關係完成情境變 化的發布;步驟四、根據服務請求者明確的演化策略實施相應的動作,當需要更新使用的服 務實體時,通過預定義的回調接口將選擇的結果告知給服務請求者;步驟五、當備用的服務實體被選擇和通告後,服務請求者自主地進行調用關係的 重定向,以完成面向網構軟體的動態重組與演化。所述的服務運行時情境包括服務的生命周期中的服務實體運行狀態的轉變、服 務實體運行平臺的負載變化以及網絡連接狀態的變化。所述的聚合關係是指開放環境下服務實體間的調用與被調用的關係。所述的情境變化的生產者是指提供服務的軟體實體,消費者是指請求服務的軟體 實體。所述的演化策略是指在獲得被發布的情境變化後服務請求者一端的支撐系統可 以遵照實施的規則。所述的動作包括改變服務質量等級、設置服務狀態、啟動重新搜索、獲取本地緩 存的備選服務引用、告知某情境的當前值。所述的回調接口是指用於通知服務請求者關鍵情境的變化或者備選服務實體的 引用的接口。所述的調用關係的重定向是指當產生了新的服務實體並進行了通告之後,服務 請求者將應用邏輯中對原有服務提供者的調用改變為對備選服務實體的調用。本發明提供的技術方案建立了網際網路環境下服務運行時情境的構造方法,建立了 服務請求者和提供者之間的基於情境的生產與消費關係,建立了情境信息的訂閱與發布機 制,建立了基於策略的演化機制,解決了網際網路環境下服務情境的獲取和傳播問題,實現了 面向網構軟體的應用聚合關係的動態演化。本發明便於網際網路資源的共享和復用,支持在 線調整服務實體間的聚合關係,也有利於整體應用服務質量的提高。
圖1是本發明實施例1的方法示意圖。圖2是本發明實施例2的工作原理示意圖。
具體實施例方式下面對本發明的實施例作詳細說明,本實施例在以本發明技術方案為前提下進行 實施,給出了詳細的實施方式和具體的操作過程,但本發明的保護範圍不限於下述的實施例。實施例1如圖1所示,圖中①分析網際網路服務實體的生命周期和所處的環境,給出其運行時情境規範。②在服務實體註冊時生成其本地的情境庫實例。③根據服務實體間的初始聚合關係確立情境變化的生產者與消費者,完成對所關 心情境的訂閱。④當被訂閱的情境發生變化時,向訂閱者定向發布該情境變化。⑤根據預設的演化策略實施相應的演化動作。⑥將演化的結果通過回調接口告知服務請求者實體。⑦服務請求者更新服務提供者的引用,完成服務調用的重定向。實施例2如圖2所示,本實施例中包括三種不同角色的服務實體及其支撐平臺,分別是服 務提供者、服務請求者和備用服務提供者,他們通過網際網路相連接。服務實體間通過其自身 實現的互操作協議實施自主交互。支撐平臺提供對基於情境的實體間聚合關係演化的支 持,通過ffeb Service方式向服務實體提供調用接口。服務實體根據預設的定義按照自身 的交互協議實現回調接口,支撐平臺為此提供多協議支持。所述的支撐平臺包括情境管理組件、服務註冊組件、服務選擇組件、規則生成組 件、動態演化組件。其中服務註冊組件與情境管理組件相連接以生成服務實體的本體情境 庫實例,服務選擇組件與情境管理組件相連接以完成分布式的服務發現和服務運行情境的 訂閱,動態演化組件與情境管理組件相連接以獲取訂閱之情境的變化,動態演化組件與服 務選擇組件相連接以啟動可能的備用服務發現,規則生成組件生成的演化規則集被動態演 化組件所使用。所述的情境管理組件負責生成和管理本地服務實體的運行時情境庫,並提供服務 實體狀態的管理接口。同時服務請求者一端的情境管理組件負責訂閱和接收遠程服務提供 者實體的運行時情境變化,在服務提供者一端則負責發布被訂閱的情境變化。另外網際網路 上所有的情境管理組件構成了一個P2P覆蓋網,提供分布式的服務發現。所述的服務註冊組件、服務選擇組件、規則生成組件提供ffeb Service接口供服務 實體調用。其中服務註冊接收服務實體的註冊請求,通過情境管理組件完成註冊並生成本 地運行情境庫。服務選擇組件接收服務實體或動態演化組件的服務選擇請求,通過情境管 理組件構成的P2P覆蓋網完成服務發現,按照服務實體的要求選擇匹配的服務提供者並完 成對情境變化的訂閱。規則生成組件接收服務實體的演化策略,生成用於動態演化的規則
結合。所述的動態演化組件根據獲得的服務提供者情境變化,查找演化規則集合中匹配 的規則執行。在產生了替代的服務提供者情況下,通過回調接口將新的服務提供者引用告 知服務實體。所述的服務實體的角色根據服務間的一對一調用關係確定,調用者是服務請求 者,被調用者是服務提供者。一個服務實體可以同時具備請求者和提供者兩種角色。本實施例與現有技術相比,並不限制服務實體自身的實現技術與交互協議,大大增加了演化方法和支撐平臺的適用範圍。
權利要求
1.一種基於情境感知的網構軟體演化方法,其特徵在於,包括以下步驟步驟一、構造網際網路環境下服務的運行時情境;步驟二、根據服務的聚合關係確定情境變化的生產者和消費者,並完成對所關注之情 境變化的訂閱;步驟三、捕獲運行時情境的變化,並根據上述的生產者/消費者關係完成情境變化的 發布;步驟四、根據服務請求者明確的演化策略實施相應的動作,當需要更新使用的服務實 體時,通過預定義的回調接口將選擇的結果告知給服務請求者;步驟五、當備用的服務實體被選擇和通告後,服務請求者自主地進行調用關係的重定 向,以完成面向網構軟體的動態重組與演化。
2.根據權利要求1所述的基於情境感知的網構軟體演化方法,其特徵是,所述的服務 運行時情境包括服務的生命周期中的服務實體運行狀態的轉變、服務實體運行平臺的負 載變化以及網絡連接狀態的變化。
3.根據權利要求1所述的基於情境感知的網構軟體演化方法,其特徵是,所述的聚合 關係是指開放環境下服務實體間的調用與被調用的關係。
4.根據權利要求1所述的基於情境感知的網構軟體演化方法,其特徵是,所述的情境 變化的生產者是指提供服務的軟體實體,消費者是指請求服務的軟體實體。
5.根據權利要求1所述的基於情境感知的網構軟體演化方法,其特徵是,所述的演化 策略是指在獲得被發布的情境變化後服務請求者一端的支撐系統可以遵照實施的規則。
6.根據權利要求1或5所述的基於情境感知的網構軟體演化方法,其特徵是,所述的動 作包括改變服務質量等級、設置服務狀態、啟動重新搜索、獲取本地緩存的備選服務引用、 告知某情境的當前值。
7.根據權利要求1所述的基於情境感知的網構軟體演化方法,其特徵是,所述的回調 接口是指用於通知服務請求者關鍵情境的變化或者備選服務實體的引用的接口。
8.根據權利要求1所述的基於情境感知的網構軟體演化方法,其特徵是,所述的調用 關係的重定向是指當產生了新的服務實體並進行了通告之後,服務請求者將應用邏輯中 對原有服務提供者的調用改變為對備選服務實體的調用。
全文摘要
一種軟體維護技術領域的基於情境感知的網構軟體演化方法,通過構造網際網路環境下服務的運行時情境;並根據服務的聚合關係確定情境變化的生產者和消費者,完成對所關注之情境變化的訂閱;根據上述的生產者/消費者關係完成情境變化的發布;根據服務請求者明確的演化策略實施相應的動作,通過預定義的回調接口將選擇的結果告知給服務請求者;服務請求者自主地進行調用關係的重定向,以完成面向網構軟體的動態重組與演化。本發明在服務間初始聚合關係確定的情況下,解決了網際網路環境中服務提供者運行時情境的獲取和傳播,以及根據情境變化和演化策略進行相關操作並告知服務請求者的一系列問題,實現了面向網構軟體的應用系統動態演化。
文檔編號G06F9/44GK102073503SQ20111002084
公開日2011年5月25日 申請日期2011年1月19日 優先權日2011年1月19日
發明者吳剛, 張乎興, 王珊珊, 高健 申請人:上海交通大學