[發(fā)明專利]一種基于事務(wù)的構(gòu)件在線演化方法有效
| 申請?zhí)枺?/td> | 201010530576.0 | 申請日: | 2010-11-04 |
| 公開(公告)號: | CN101963913A | 公開(公告)日: | 2011-02-02 |
| 發(fā)明(設(shè)計(jì))人: | 曹春;馬曉星;呂建 | 申請(專利權(quán))人: | 南京大學(xué) |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 江蘇圣典律師事務(wù)所 32237 | 代理人: | 賀翔 |
| 地址: | 210093*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 事務(wù) 構(gòu)件 在線 演化 方法 | ||
?
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于事務(wù)的構(gòu)件在線演化技術(shù),屬于軟件維護(hù)技術(shù)領(lǐng)域。
背景技術(shù)
軟件構(gòu)件作為一種可以復(fù)用、組裝的軟件資源,能夠降低軟件系統(tǒng)的開發(fā)成本,縮短軟件產(chǎn)品推向市場的時間,因此被廣泛地用來構(gòu)建應(yīng)用系統(tǒng)。同時,一些關(guān)鍵領(lǐng)域的軟件系統(tǒng)要求提供不間斷的服務(wù),對這些軟件系統(tǒng)中構(gòu)件進(jìn)行升級演化必須在不中斷運(yùn)行系統(tǒng)的前提下進(jìn)行,即在線演化。
現(xiàn)有的軟件構(gòu)件技術(shù)一般不支持在線演化,只有少數(shù)的構(gòu)件技術(shù)支持在線演化,但其演化過程只考慮單個構(gòu)件的狀態(tài),缺乏對多個構(gòu)件之間事務(wù)狀態(tài)的考察。為此,本發(fā)明基于相關(guān)的多個構(gòu)件之間的事務(wù)關(guān)系,專門提出一種構(gòu)件在線演化方法,該方法在支持構(gòu)件在線演化的同時,應(yīng)用事務(wù)通信算法,能夠保障更新過程的系統(tǒng)一致性。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是在系統(tǒng)不間斷運(yùn)行的需求下,提供一種構(gòu)件在線演化的方法,使得系統(tǒng)不需要暫停服務(wù)既可以更新功能,同時保障這一演化過程不會對業(yè)務(wù)過程不產(chǎn)生破壞性效果。
本發(fā)明所述的基于事務(wù)的構(gòu)件在線演化方法,它包含以下步驟:
1)構(gòu)件部署器首先將構(gòu)件部署到支持在線演化的構(gòu)件容器(DUC)中,該構(gòu)件容器在構(gòu)件實(shí)例基礎(chǔ)上增加了演化管理器、通信器、依賴管理器以及事務(wù)管理器部件,以支持構(gòu)件動態(tài)演化。傳統(tǒng)構(gòu)件容器一般包括了構(gòu)件實(shí)例,容器負(fù)責(zé)管理實(shí)例。與傳統(tǒng)構(gòu)件容器相比,DUC增加了演化管理器、通信器、依賴管理器以及事務(wù)管理器部件,以支持構(gòu)件動態(tài)演化。
2)構(gòu)件管理器向DUC發(fā)送演化命令,DUC負(fù)責(zé)實(shí)施演化行為;
3)DUC向構(gòu)件管理器返回演化結(jié)果。
上述步驟1)中部署器部署構(gòu)件的具體步驟包括:
1.1)解析構(gòu)件部署信息,生成DUC,為其配置各種服務(wù);
1.2)?解析構(gòu)件的事務(wù)元信息,生成事務(wù)管理器并對事務(wù)管理器進(jìn)行初始化,事務(wù)管理器在初始化時根據(jù)事務(wù)元信息生成一個隨著構(gòu)件的執(zhí)行會進(jìn)行狀態(tài)自動跳轉(zhuǎn)的事務(wù)狀態(tài)機(jī),事務(wù)狀態(tài)機(jī)中包含若干不同的事務(wù)狀態(tài)以及事務(wù)狀態(tài)之間跳轉(zhuǎn)的條件,每一個事務(wù)狀態(tài)包含了一個一致性事務(wù)列表,該列表包含構(gòu)件在此狀態(tài)之前和之后都要使用的其他構(gòu)件服務(wù)的接口;
1.3)初始化依賴管理器,并根據(jù)構(gòu)件所依賴的接口將自己的構(gòu)件對象注冊到其所依賴構(gòu)件的依賴管理器中;
1.4)初始化通信器,由通信器構(gòu)造一個用于存儲被封鎖調(diào)用的調(diào)用列表,包含時間和調(diào)用類型的對象。
上述步驟2)DUC實(shí)施演化行為的過程為:
2.1)DUC將演化命令交給演化管理器,演化管理器收到演化命令之后,首先查詢依賴管理器,獲取當(dāng)前系統(tǒng)中所有需要此演化構(gòu)件提供服務(wù)的依賴構(gòu)件列表;
2.2)演化管理器判斷依賴構(gòu)件列表是否為空,是則轉(zhuǎn)到2.7),否則轉(zhuǎn)到2.3);
2.3)演化管理器向演化構(gòu)件與依賴構(gòu)件的通信器發(fā)送封鎖命令,通信器收到封鎖命令后對于所有對構(gòu)件的請求調(diào)用,獲取其調(diào)用時間,將時間和調(diào)用對象存進(jìn)封鎖調(diào)用列表;
2.4)演化管理器判斷演化構(gòu)件是否達(dá)到事務(wù)一致狀態(tài),如果是則轉(zhuǎn)到2.7),否則轉(zhuǎn)到2.5);
2.5)演化管理器判斷演化構(gòu)件與依賴構(gòu)件的通信器中存儲封鎖調(diào)用的列表是否都為空,是的話等待一定時間,轉(zhuǎn)到2.4),否則轉(zhuǎn)到2.6);
2.6)演化管理器從演化構(gòu)件與依賴構(gòu)件的通信器存儲封鎖調(diào)用的列表中取一個最早被封鎖的調(diào)用執(zhí)行,轉(zhuǎn)到2.4);
2.7)演化管理器向構(gòu)件實(shí)例執(zhí)行演化命令。
上述步驟2.4)中判斷事務(wù)一致狀態(tài)需要依賴構(gòu)件的事務(wù)管理器獲取構(gòu)件內(nèi)部一致性事務(wù)狀態(tài)。其具體步驟是:
2.4.1)演化管理器查詢演化構(gòu)件的事務(wù)管理器中是否存在正在運(yùn)行中的事務(wù),如果有的話返回否,否則轉(zhuǎn)到2.4.2);
2.4.2)演化管理器查詢依賴管理器,獲取當(dāng)前系統(tǒng)中所有需要此演化構(gòu)件提供服務(wù)的依賴構(gòu)件列表,對于其中的每一個依賴構(gòu)件,執(zhí)行2.4.3);
2.4.3)演化管理器查詢依賴構(gòu)件的事務(wù)管理器中所有的一致性事務(wù)接口列表,如果結(jié)果為空,轉(zhuǎn)到2.4.6),否則,轉(zhuǎn)到2.4.4);
2.4.4)對于一致性事務(wù)接口列表中的每一個接口,執(zhí)行2.4.5);
2.4.5)如果此接口與演化構(gòu)件所提供的接口相匹配,返回否;
2.4.6)返回是。
上述步驟2.4..1)中,事務(wù)管理器接到演化管理器發(fā)出的查詢命令之后的步驟是:查詢其中的所有事務(wù)狀態(tài)機(jī),如果存在未處于開始狀態(tài)的事務(wù),返回是,否則返回否。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京大學(xué),未經(jīng)南京大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010530576.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種事務(wù)處理的方法和裝置
- 分布式事務(wù)處理方法與系統(tǒng)
- 一種融合原生事務(wù)和邏輯事務(wù)的方法
- 用于聚結(jié)內(nèi)存事務(wù)的方法和系統(tǒng)
- 事務(wù)處理方法、事務(wù)參與節(jié)點(diǎn)及事務(wù)協(xié)調(diào)節(jié)點(diǎn)
- 跨進(jìn)程分布式事務(wù)控制方法及相關(guān)系統(tǒng)
- 一種分布式事務(wù)管理方法及系統(tǒng)
- 一種分布式事務(wù)處理的智能監(jiān)控方法及服務(wù)器
- 分布式事務(wù)處理方法及裝置
- 讀寫事務(wù)控制方法、系統(tǒng)、終端設(shè)備及存儲介質(zhì)
- 用于呈現(xiàn)在線實(shí)體在線狀態(tài)的系統(tǒng)和方法
- 提供web服務(wù)接入的在線系統(tǒng)和方法
- 定制在線圖標(biāo)
- 一種水質(zhì)在線檢測預(yù)處理裝置
- 在線測試學(xué)習(xí)方法、系統(tǒng)、計(jì)算機(jī)設(shè)備及存儲介質(zhì)
- 一種在線文檔的分頁方法、裝置、設(shè)備以及可讀介質(zhì)
- 一種基于web在線學(xué)習(xí)的資源訪問平臺
- 一種在線學(xué)習(xí)系統(tǒng)
- 在線文檔提交方法、裝置、計(jì)算機(jī)設(shè)備和存儲介質(zhì)
- 空調(diào)冷媒量確定方法、系統(tǒng)和可讀存儲介質(zhì)





