[發明專利]一種支持軟件動態更新的服務構件架構方法有效
| 申請號: | 201310290619.6 | 申請日: | 2013-07-11 |
| 公開(公告)號: | CN103500084A | 公開(公告)日: | 2014-01-08 |
| 發明(設計)人: | 呂建;馬曉星;曹春 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 南京知識律師事務所 32207 | 代理人: | 張蘇沛 |
| 地址: | 210023 江蘇省南京市*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 支持 軟件 動態 更新 服務 構件 架構 方法 | ||
技術領域
本發明涉及一種支持軟件動態更新的服務構件架構技術,屬于軟件維護技術領域。
背景技術
基于構件的軟件開發CBSD(Component-Based?Software?Development)技術被認為是提高軟件開發效率和質量的有效途徑,并獲得廣泛的關注與應用,產生了諸多構件模型和構件框架。但隨著Internet/WWW逐步演化為開放的計算平臺,源于傳統靜態環境的CBSD難以充分應對開放網絡環境下用戶需求和軟件平臺的動態、多變性。
應對需求和環境變更的一個有效途徑是允許運行中的構件系統能夠動態地更新。主流的構件模型和構件框架對動態更新支持薄弱,而學術界研究所假設的模型過于簡化難以實際應用。為此,本發明擴展了服務構件架構SCA(Service?Component?Architecture),使其能完整的支持高效、一致的構件動態更新。
發明內容
本發明所要解決的技術問題是在不中斷系統正常運行的需求下,提供一種支持構件動態更新的方法,使得能夠支持高效、一致的構件動態更新。
本發明所述的一種支持軟件動態更新的服務構件架構方法,包含如下特征:
步驟1、為分布式事務定義具體的事務狀態、事務狀態跳轉語義以及事務狀態傳遞等,以抽象的描述構件業務邏輯在運行時刻的進展情況,從而可以根據當前構件上的事務上下文判斷構件是否達到可更新的安全狀態;
步驟2、當事務依賴信息和狀態發生改變時,通知事務管理器進行處理;
步驟3、定義構件生命周期器,支持完整的構件更新過程,它包括了更新所需的構件狀態、構件狀態跳轉語義;
步驟4、當目標構件收到更新請求,通知構件生命周期管理器;
步驟5、更新完成,返回更新結果。
上述步驟1具體包括:
步驟1-1、將分布式事務區分為根事務和本地事務;
步驟1-2、對于根事務,當根構件接收到來自外界客戶端的業務邏輯請求時,一旦該請求被允許在根構件上運行,則該事務進入Initiated狀態;當根事務一旦開始執行,該事務即進入RootTxStarted狀態;在根構件恰好準備第一次調用遠程構件之前,該事務即被標記為FirstRequest,其含義為根構件將要第一次發生遠程調用;根事務可能需要向遠程構件發起遠程事務請求,一旦該請求發送出去,根事務即轉入RemoteTxStarted狀態,用于標識當前構件正在等待一個遠程事務結束的過程中;一旦根事務正在等待的一個遠程事務結束返回,根事務即轉入RemoteTxEnded狀態,用于標識根事務剛結束了一次遠程調用;根事務發起的遠程事務結束返回則意味著構件過去曾使用過某個遠程構件,即該事務對構件的動態依賴關系發生了變化,事務進入DependenceChanged,在該狀態下,如果該構件后面還會發起其他遠程調用時,則該事務的后續狀態會轉為RemoteTxStarted,否則該事務等待進入Ended狀態;當根事務結束時,它便轉入Ended狀態;
步驟1-3、對于本地事務,當一個構件被其他構件要求在本地發起一個子事務時,一旦該子事務被允許在本地發起,該本地事務即進入Initiated狀態;當構件上的本地子事務一旦開始執行,該事務即被標記為LocalTxStarted狀態;本地事務可能需要向遠程構件發起遠程事務請求,一旦該請求發送出去,本地事務即轉入RemoteTxStarted狀態,用于標識當前構件正在等待一個遠程事務結束的過程中;一旦本地事務正在等待的一個遠程事務結束返回,該事務即轉入RemoteTxEnded狀態,用于標識事務剛結束了一次遠程調用;本地事務發起的遠程事務結束返回則意味著構件過去曾使用過某個遠程構件,即該事務對構件的動態依賴關系發生了變化,事務進入DependenceChanged,在該狀態下,如果該構件后面還會發起其他遠程調用時,則該事務的后續狀態會轉為RemoteTxStarted,否則該事務等待進入Ended狀態;當本地事務結束時,它便轉入Ended狀態;本地事務進入Ended狀態,則意味著執行結束返回,該狀態將會觸發父事務進入RemoteTxEnded狀態;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310290619.6/2.html,轉載請聲明來源鉆瓜專利網。





