[發明專利]軟件動態更新中確定實例對象轉換次序的方法及系統有效
| 申請號: | 200810201929.5 | 申請日: | 2008-10-30 |
| 公開(公告)號: | CN101393528A | 公開(公告)日: | 2009-03-25 |
| 發明(設計)人: | 徐小輝;黃林鵬;王德俊;王欣 | 申請(專利權)人: | 上海交通大學 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F9/445 |
| 代理公司: | 上海交達專利事務所 | 代理人: | 王錫麟;王桂忠 |
| 地址: | 200240*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 軟件 動態 更新 確定 實例 對象 轉換 次序 方法 系統 | ||
技術領域
本發明涉及一種計算機應用技術領域的方法,具體是一種軟件動態更新中確 定實例對象轉換次序的方法及系統。
背景技術
軟件構件技術的產生,使得可以依據一些關注分離規則將一個完整的應用程 序劃分成適當數目的軟件構件模塊。這些構件可以在不同的環境下獨立開發和編 譯,并通過合適的組裝方式來搭建實際的應用系統,由此使構件得以重用和共享, 其使用壽命也不再像傳統代碼模塊一樣受限于某個應用程序。由于生存周期的延 長,構件在其服役期間將可能需要得到更新,以便改進構件實現、提供新的功能、 糾正設計錯誤及適應運行時環境的變化等。更為重要的是,在一些任務關鍵型應 用領域,諸如金融數據處理系統、空中交通控制系統、航天探測器控制軟件、網 格和自治計算系統等,由于具有比較高的可用性需求,軟件構件的更新必須在運 行時完成而不導致系統的中斷,也就是需要進行動態更新。動態更新將用構件運 行時實例的新版本來取代舊版本,而構件的運行時實例是通過某些服務對象(或 直接稱對象)來實現的。因此,動態構件更新將被具體化為活躍對象的更新。
通常,對單一構件而言,動態更新就是在運行時為其提供新版本構件實例, 并由對應的轉換函數依據各舊版本對象的當前狀態,來初始化從屬于該構件的所 有新對象。但是,由于構件之間存在的交互依賴關系,完整的系統更新將往往包 含不止一個構件的更新,而是要求轉換相關舊版本構件提供的所有對象。并且由 于高可用性需求,在更新過程中應當盡量避免應用的延遲。一種較為合理的更新 方式是懶更新(lazy?upgrade),對于每個活躍對象,都恰好在應用過程或者其他 更新過程訪問它之前進行轉換,從而確保在更新開始之后才啟動的應用不會訪問 到未被更新的對象,也使得應用過程不會因整個系統的更新而被極大地延遲。構 件的關注分離特性表現在接口與實現的分離,因而構件更新可以包括內部實現的 改進和接口的改變,而接口的改變有時可以是不兼容的。并且,構件更新時,用 于提供狀態轉換等功能的轉換函數,其實現不僅取決于被更新的對象本身,而且 往往還依賴于構件的其他對象甚至其他構件所提供的對象。因此,為不致使在更 新實際對象時因碰到不兼容的更新而導致失敗,一種比較合理的方式是在更新實 施之前,確定各個對象被轉換的次序,以保證安全的構件更新。目前大多數與構 件化軟件動態更新相關的工作都重點關注新版本構件模塊的加載和替換操作,而 往往把合理對象轉換次序的確定這一確保安全動態更新的問題留給更新管理員, 甚或完全忽略。
經對現有技術文獻的檢索發現,德國柏林工業大學(TechnischenBerlin)的Marcin?Solarski博士在其2004年的博士論文“Dynamic?Upgrade?of Distributed?Software?Components”(分布式軟件構件的動態更新)中詳細闡述了 構件作為動態更新單元進行動態更新時需要滿足的各種功能和非功能性需求,并 且提出了一套更新的方法論模型。但在其模型中并未就構件之間的運行時依賴對 動態更新的影響給出詳細討論,更沒有對運行時構件更新中活躍對象的轉換次序 給出合適的處理方法。
經檢索還發現,Chandrasekhar?Boyapati等在2003年“Annual?ACM?SIGPLAN Conference?on?Object-Oriented?Programming,Systems,Languages,and Applications”(ACM?SIGPLAN面向對象程序設計、系統、語言及應用年會)會 議論文集(Proceeding?ofOOPSLA’03)第403到417頁上發表的“Lazy?Modular Upgrades?in?Persistent?Object?Stores”(持久對象存儲中模塊的懶更新),該文章中 對面向對象數據庫(OODB)中持久對象的更新進行了討論,研究了對象與其子 對象之間的更新次序問題,能靜態保證單個類中更新語義的正確性。但其不足之 處在于,由于將每一個類的轉換都作為一個獨立的更新事務,并且缺乏運行時對 象間動態依賴性信息,僅能從靜態角度為單個類中各對象和子對象的轉換提供安 全性保證。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學,未經上海交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810201929.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種垃圾博客檢測方法
- 下一篇:移動通信系統中的直放站共用功放電路





