[發明專利]一種熱補丁實現方法和系統在審
| 申請號: | 201410733769.4 | 申請日: | 2014-12-04 |
| 公開(公告)號: | CN104461625A | 公開(公告)日: | 2015-03-25 |
| 發明(設計)人: | 丁勇 | 申請(專利權)人: | 上海斐訊數據通信技術有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 上海光華專利事務所 31219 | 代理人: | 崔文文 |
| 地址: | 201616 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 補丁 實現 方法 系統 | ||
技術領域
本發明涉及一種通信技術領域,特別是涉及一種應于VxWorks操作系統的熱補丁實現方法和系統。
背景技術
系統中運行的程序,隨著時間的推移,可能會存在一些漏洞或安全隱患,補丁是一種用于修復這些問題的程序。補丁技術的基本原理是將現有系統中正在運行的函數替換成補丁函數,從而改變原函數的功能,以達到修改系統功能,或糾正現有系統故障的目的。
VxWorks操作系統是美國WindRiver公司設計開發的一種嵌入式實時操作系統,是嵌入式開發環境的關鍵組成部分。VxWorks操作系統以其良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌入式實時操作系統領域占據一席之地。并且,它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域,如衛星通訊、軍事演習、彈道制導和飛機導航等等。傳統的VxWorks操作系統,如果出現軟件問題,要解決該問題,需要修改一些代碼,并進行重新編譯,以生成新的鏡像文件,然后升級到VxWorks操作系統上,最后重啟VxWorks操作系統以重新載入新的軟件。
目前,在通信技術領域,VxWorks操作系統由于其卓越的實時性而被作為很多局端通信設備的軟件操作系統。所以,當局端通信設備在遇到比較重大的問題時,就系統通過VxWorks操作系統升級整個軟件,并且重啟局端通信設備軟件系統。但是,局端通信設備一般都是用于提供網絡接入的接口。一旦對局端通信設備進行重啟,勢必會導致整個網絡的業務中斷,其代價是非常大的。現在,一般局端通信設備進行補丁升級的時間都是選擇在半夜,半夜時通信的業務量是最小的,所以通過刻意選擇補丁升級時間來彌補對局端通信設備進行補丁升級所造成的業務中斷。但是時間上的選擇雖然能夠盡量彌補對整個通信網絡的影響,但是其沒有從根本上解決局端通信設備進行補丁升級會造成業務中斷的問題。
發明內容
鑒于以上所述現有技術的缺點,本發明的目的在于提供一種熱補丁實現方法和系統,用于解決現有技術中VxWorks操作系統的局端通信設備的進行補丁升級時必須重啟設備的問題。
為實現上述目的及其他相關目的,本發明提供一種熱補丁實現方法,應用于VxWorks操作系統,包括:編譯補丁函數;加載所述補丁函數至VxWorks操作系統的內存中;查找所述補丁函數對應的原函數的地址;依據所述地址改變所述原函數的指令;調用所述原函數:直接通過所述原函數跳轉執行所述補丁函數,并且,所述補丁函數執行完后通過所述原函數返回。
可選地,VxWorks操作系統內設置兩個全局變量:補丁函數列表和補丁函數數量。
可選地,所述補丁函數被加載至VxWorks操作系統內存后,更新所述補丁函數列表和所述補丁函數數量。
可選地,編譯的所述補丁函數為C文件。
可選地,所述補丁函數加載至VxWorks操作系統時還被–mlongcall編譯選項進行編譯,生成對象文件。
可選地,所述原函數的地址是在VxWorks操作系統的符號表中查找獲得的。
一種熱補丁實現系統,應用于VxWorks操作系統,包括編譯單元、加載單元、查找單元、修改單元和調用單元;所述編譯單元用于編譯補丁函數;所述加載單元用于將所述補丁函數加載至VxWorks操作系統的內存中;所述查找單元用于查找所述補丁函數對應的原函數的地址;所述修改單元用于依據所述地址修改所述原函數的指令;所述調用單元用于調用所述原函數,調用后,直接通過所述原函數跳轉執行所述補丁函數,并且,所述補丁函數執行完后通過所述原函數返回。
可選地,所述熱補丁實現系統還包括設置單元;所述設置單元用于設置和更新兩個全局變量:補丁函數列表和補丁函數數量;當所述補丁函數被所述加載單元加載至VxWorks操作系統內存后,更新所述補丁函數列表和所述補丁函數數量。
可選地,所述編譯單元編譯的所述補丁函數為C文件。
可選地,所述加載單元還將加載至VxWorks操作系統的所述補丁函按照–mlongcall編譯選項進行編譯,生成對象文件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海斐訊數據通信技術有限公司,未經上海斐訊數據通信技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410733769.4/2.html,轉載請聲明來源鉆瓜專利網。





