[發明專利]一種基于事務的構件在線演化方法有效
| 申請號: | 201010530576.0 | 申請日: | 2010-11-04 |
| 公開(公告)號: | CN101963913A | 公開(公告)日: | 2011-02-02 |
| 發明(設計)人: | 曹春;馬曉星;呂建 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 江蘇圣典律師事務所 32237 | 代理人: | 賀翔 |
| 地址: | 210093*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 事務 構件 在線 演化 方法 | ||
1.一種基于事務的構件在線演化方法,其特征在于它包含以下步驟:
1)構件部署器首先將構件部署到支持在線演化的構件容器,即DUC中,該DUC在構件實例基礎上增加了演化管理器、通信器、依賴管理器以及事務管理器部件,以支持構件動態演化;?
2)構件管理器向DUC發送演化命令,DUC負責實施演化行為;
3)DUC向構件管理器返回演化結果。
2.根據權利要求1所述的基于事務的構件在線演化方法,其特征在于步驟1)中構件部署器部署構件的具體步驟包括:
1.1)解析構件部署信息,生成DUC,為其配置各種服務;
1.2)?解析構件的事務元信息,生成事務管理器并對事務管理器進行初始化,事務管理器在初始化時根據事務元信息生成一個隨著構件的執行會進行狀態自動跳轉的事務狀態機,事務狀態機中包含若干不同的事務狀態以及事務狀態之間跳轉的條件,每一個事務狀態包含了一個一致性事務列表,該列表包含構件在此狀態之前和之后都要使用的其他構件服務的接口;?
1.3)初始化依賴管理器,并根據構件所依賴的接口將自己的構件對象注冊到其所依賴構件的依賴管理器中;
1.4)初始化通信器,由通信器構造一個用于存儲被封鎖調用的調用列表,包含時間和調用類型的對象。
3.根據權利要求1所述的基于事務的構件在線演化方法,其特征在于步驟2)DUC實施演化行為的過程為:
2.1)DUC將演化命令交給演化管理器,演化管理器收到演化命令之后,首先查詢依賴管理器,獲取當前系統中所有需要此演化構件提供服務的依賴構件列表;
2.2)演化管理器判斷依賴構件列表是否為空,是則轉到2.7),否則轉到2.3);
2.3)演化管理器向演化構件與依賴構件的通信器發送封鎖命令,通信器收到封鎖命令后對于所有對構件的請求調用,獲取其調用時間,將時間和調用對象存進封鎖調用列表;
2.4)演化管理器判斷演化構件是否達到事務一致狀態,如果是則轉到2.7),否則轉到2.5);
2.5)演化管理器判斷演化構件與依賴構件的通信器中存儲封鎖調用的列表是否都為空,是的話等待一定時間,轉到2.4),否則轉到2.6);
2.6)演化管理器從演化構件與依賴構件的通信器存儲封鎖調用的列表中取一個最早被封鎖的調用執行,轉到2.4);
2.7)演化管理器向構件實例執行演化命令。
4.根據權利要求3所述的基于事務的構件在線演化方法,其特征在于步驟2.4)中一致性事務狀態的判斷具體步驟是:
?2.4.1)演化管理器查詢演化構件的事務管理器中是否存在正在運行中的事務,如果有的話返回否,否則轉到2.4.2);
2.4.2)演化管理器查詢依賴管理器,獲取當前系統中所有需要此演化構件提供服務的依賴構件列表,對于其中的每一個依賴構件,執行2.4.3);
2.4.3)演化管理器查詢依賴構件的事務管理器中所有的一致性事務接口列表,如果結果為空,轉到2.4.6),否則,轉到2.4.4);
2.4.4)對于一致性事務接口列表中的每一個接口,執行2.4.5);
2.4.5)如果此接口與演化構件所提供的接口相匹配,返回否;
2.4.6)返回是。
5.根據權利要求4所述的基于事務的構件在線演化方法,其特征在于步驟2.4.1)中,事務管理器接到演化管理器發出的查詢命令之后的步驟是:查詢其中的所有事務狀態機,如果存在未處于開始狀態的事務,返回是,否則返回否。
6.根據權利要求4所述的基于事務的構件在線演化方法,其特征在于步驟2.4.3)中,事務管理器接到演化管理器發出的查詢命令之后,步驟如下:
2.4.3.1)查詢事務管理器中所有未處于開始狀態的事務,如果不存在,返回空列表,否則轉到2.4.3.2);
2.4.3.2)查詢事務其所處狀態的一致性事務列表,如果不為空,返回列表給演化管理器,否則返回空列表。
7.根據權利要求3所述的基于事務的構件在線演化方法,其特征在于步驟2.6)中演化管理器執行最早被封鎖的調用的步驟是:
2.6.1)演化管理器向演化構件以及依賴構件的通信器查詢它們的封鎖調用列表中最早的調用;
2.6.2)通信器收到查詢命令之后檢查其封鎖調用列表,如果為空,返回空,否則比較封鎖調用列表中所有的調用的封鎖時間,返回最早封鎖的調用及其封鎖時間;
2.6.3)演化管理器比較這些調用的封鎖時間,得到最早被封鎖的調用;
2.6.4)?演化管理器通知此調用的通信器釋放并執行此調用;
2.6.5)通信器收到此命令之后,從封鎖調用列表中刪除此調用,然后執行這個調用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010530576.0/1.html,轉載請聲明來源鉆瓜專利網。





