[發明專利]一種嵌入式系統熱補丁實現方法在審
| 申請號: | 201710961788.6 | 申請日: | 2017-10-17 |
| 公開(公告)號: | CN107766069A | 公開(公告)日: | 2018-03-06 |
| 發明(設計)人: | 劉東棟 | 申請(專利權)人: | 安徽皖通郵電股份有限公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65;G06F8/71 |
| 代理公司: | 北京科億知識產權代理事務所(普通合伙)11350 | 代理人: | 湯東鳳 |
| 地址: | 230000 *** | 國省代碼: | 安徽;34 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 嵌入式 系統 補丁 實現 方法 | ||
技術領域
本發明涉及嵌入式通信設備軟件在線升級技術,具體說就是用一種熱補丁的方式,在嵌入式通信設備不中斷運行的情況下進行指令替換,在不需要重新發布軟件版本的情況下進行進程替換操作,以達到新增功能或者修復錯誤的目的。
技術背景
隨著通信技術的發展,嵌入式通信設備為人們提供了各種各樣的特色業務,運營商、企業、學校等單位部署了大量的嵌入式通信設備,設備廠商維護壓力較大,新增業務功能和設備軟件故障修復都得重新發布版本,軟件升級往往會中斷嵌入式通信設備用戶的業務,影響面廣。在不影響業務正常運行的情況下,能夠使用熱補丁對設備軟件系統進行更新,包括新增功能,功能更新,故障修復等。熱補丁主要使用了共享庫注射技術(injectso),熱補丁以共享庫的形式注射到運行的系統中,對系統進行更新和修復。
熱補丁技術提供了一種在不中斷系統運行的情況下,實現系統程序局部修改的方法。一方面,軟件熱補丁技術提供了一種及時修正運行中系統錯誤的方便手段;另一方面,通過軟件熱補丁技術添加系統功能,可以減少了整個系統版本升級次數,以滿足局方不中斷業務便可進行無縫升級的需求。另外,由于單板版本不斷升級,也有一些非常難以定位的問題存在。這些問題,如果重啟單板,也許就再也難以定位到,這就需要我們在不重啟單板的時候,加入一些調試代碼,也對熱補丁提出了要求。
發明內容
本發明所要解決的技術問題是提供一種通過熱補丁的方式對嵌入式通信設備進行升級的方法,主要包括關鍵進程在線不重啟熱補丁,非關鍵進程替換重啟熱補丁,分布式單板之間熱補丁同步功能,一旦給系統打了熱補丁之后,系統重啟后會自動加載重啟前所打的熱補丁,無需重新打熱補丁。為了達到以上的的技術效果本發明的技術方案如下,一種嵌入式系統熱補丁實現方法,在嵌入式系統版本管理子系統中實現熱補丁版本管理功能,主要包括補丁版本的在線配置和查詢、補丁版本添加、刪除、激活、去激活的前臺處理、主備補丁版本同步、外圍單板版本回寫;通過這些命令進行下面的步驟:
步驟一,制作熱補丁
對需要修復的源代碼進行修改,編譯生成動態庫,然后打包成補丁包pkg。
步驟二,添加熱補丁
把步驟一制作好的熱補丁加載到嵌入式通信設備的存儲中。
步驟三,激活熱補丁
把步驟二嵌入式存儲設備中的熱補丁包加載到被補丁進程的內存空間中,讓需要補丁的指令跳轉到補丁區域,使用新的指令來完成功能,執行完補丁區域的指令后,直接返回到原來指令區域,補丁區域和原來指令區域可以切換和跳轉。
執行步驟三后,被補丁的指令跳轉到了補丁區域對應指令執行,有如下兩種打補丁場景:
所補丁模塊屬于關鍵進程所承載的流程,而且是可以補丁的范圍,則可以制作補丁,直接對關鍵進程打補丁,不需要重啟系統;
所補丁模塊屬于非關鍵進程所承載的流程,涉及的修改較多,則對非關鍵進程通過打補丁的方式進行替換,然后重啟進程,不需要重啟整個系統。
步驟四,去激活熱補丁
停止正在使用的補丁,使指令恢復到補丁前所指,這時補丁區域處于空閑狀態。
步驟五,刪除熱補丁
對于已經去激活的補丁刪除通信設備存儲中的熱補丁包,從系統中移除熱補丁。
步驟六,同步熱補丁
在主備單板之間,外圍單板之間進行同樣適用的熱補丁同步。
本發明在嵌入式通信設備不中斷運行的情況下進行指令替換,在不需要重新發布軟件版本的情況下進行進程替換操作,以達到新增功能或者修復錯誤的。
附圖說明
圖1是本發明的函數動態替換基本原理示意圖;
圖2是本發明的熱補丁示例圖。
具體實施方式:
下面結合附圖對本發明的具體實施方式加以詳細說明。
一種嵌入式系統熱補丁實現方法,在嵌入式系統版本管理子系統中實現熱補丁版本管理功能,主要包括補丁版本的在線配置和查詢、補丁版本添加、刪除、激活、去激活的前臺處理、主備補丁版本同步、外圍單板版本回寫;
通過這些命令進行下面的步驟:
一、制作熱補丁
1)確定需要打補丁的進程;
2)修改打補丁的代碼,確定修改的粒度,新增和修改變量、函數;一個進程至少可以打一個熱補丁,熱補丁依賴關系由熱補丁管理系統管理;
3)編譯修改的補丁代碼,編譯成動態庫,包含-fPIC和-shared選項;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于安徽皖通郵電股份有限公司,未經安徽皖通郵電股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710961788.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:防皮膚老化奶茶及其制備方法
- 下一篇:一種纖體茶及其制作方法





