[發明專利]軟件熱修復方法、終端、系統及計算機可讀存儲介質在審
| 申請號: | 201710483251.3 | 申請日: | 2017-06-21 |
| 公開(公告)號: | CN107329781A | 公開(公告)日: | 2017-11-07 |
| 發明(設計)人: | 黃小峰 | 申請(專利權)人: | 努比亞技術有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F11/07 |
| 代理公司: | 深圳市世紀恒程知識產權代理事務所44287 | 代理人: | 胡海國 |
| 地址: | 518057 廣東省深圳市南山區高新區北環大道9018*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 軟件 修復 方法 終端 系統 計算機 可讀 存儲 介質 | ||
技術領域
本發明涉及終端技術領域,尤其涉及一種軟件熱修復方法、終端、系統及計算機可讀存儲介質。
背景技術
目前,一個軟件App發布之后,出現漏洞bug需要進行緊急修復的情況時有發生,在bug對應修改的代碼量很小時,由于重新打包App、測試、向各個應用市場和渠道換包、提示用戶升級、用戶下載、覆蓋安裝等常規做法用戶體驗低,成本高,因而如何快速高效修復軟件App漏洞bug,成為急需解決的技術問題。
發明內容
本發明的主要目的在于提供一種軟件熱修復方法、終端、系統及計算機可讀存儲介質,旨在解決現有軟件修復過程用戶體驗低,成本高的技術問題。
為實現上述目的,本發明提供的一種軟件熱修復方法,若軟件中待修復漏洞符合預設修復邏輯時,生成軟件修復指令;
當終端檢測到軟件修復指令時,獲取修復指令對應的可執行補丁文件;
從軟件對應可執行文件集合中獲取可執行待修復文件,將可執行待修復文件與可執行補丁文件進行合并作為可執行合并文件,以實現終端加載該可執行合并文件,以實現對軟件的熱修復;
其中,在所述可執行合并文件中,按照先排列可執行補丁文件后排列可執行待修復文件的方式進行排列.
可選地,所述軟件包括各個類文件,所述當終端檢測到軟件修復指令時,獲取修復指令對應的可執行補丁文件步驟之前包括:
編譯所述軟件的各個類文件,在編譯過程中,若檢測到引用其它類文件的引用類文件時,將被引用類文件編譯成第一可執行文件,并將第一可執行文件作為第二可執行文件的可執行子文件存儲,其中,所述第二可執行文件由引用類文件編譯而成;
將編譯完成的各個類文件保存在軟件對應可執行文件集合中。
可選地,所述可執行補丁文件保存在服務器中,所述當終端檢測到軟件修復指令時,獲取修復指令對應的可執行補丁文件步驟包括:
當終端檢測到軟件修復指令時,向服務器發送請求軟件修復指令對應的可執行補丁文件的請求信息;
獲取服務器端反饋的所述軟件修復指令對應的可執行補丁文件,并對該可執行補丁文件的各類類文件進行有效性驗證,當驗證完成時,執行加載并編譯所述類文件成可執行補丁文件的步驟。
可選地,所述實現對軟件的熱修復步驟之后還包括:
檢測對軟件的熱修復是否成功,并向服務器端上報對軟件的熱修復是否成功的狀態信息。
可選地,所述檢測對軟件的熱修復是否成功,并向服務器端上報對軟件的熱修復是否成功的狀態信息步驟包括:
檢測對軟件的熱修復是否成功,當成功時,發送重啟所述軟件的指令,以基于該指令重啟軟件,并向服務器端上報對軟件的熱修復成功的第一狀態信息。
可選地,所述檢測對軟件的熱修復是否成功,并向服務器端上報對軟件的熱修復是否成功的狀態信息步驟還包括:
檢測對軟件的熱修復是否成功,當不成功時,發送修復失敗的提示信息,并向服務器端上報對軟件的熱修復失敗的第二狀態信息。
可選地,所述軟件包括可執行文件集合,所述可執行合并文件在可執行文件集合中的存儲位置與所述原可執行修復文件對應的存儲位置一致。
此外,為實現上述目的,本發明還提出一種軟件熱修復系統,所述軟件熱修復系統包括服務器以及實現上述所述軟件熱修復方法對應的終端,其中,所述服務器在接收終端發送請求可執行補丁文件的請求信息時,反饋所述可執行補丁文件,并接收終端上報的對軟件熱修復是否成功的狀態信息。
此外,為實現上述目的,本發明還提出一種終端,所述終端包括:存儲器、處理器、通信總線以及存儲在所述存儲器上的軟件熱修復程序:
所述通信總線用于實現處理器和存儲器之間的連接通信;
所述處理器用于執行所述軟件熱修復程序,以實現如下步驟:
若軟件中待修復漏洞符合預設修復邏輯時,生成軟件修復指令;
當終端檢測到軟件修復指令時,獲取修復指令對應的可執行補丁文件;
從軟件對應可執行文件集合中獲取可執行待修復文件,將可執行待修復文件與可執行補丁文件進行合并作為可執行合并文件,以實現終端加載該可執行合并文件,以實現對軟件的熱修復;
其中,在所述可執行合并文件中,按照先排列可執行補丁文件后排列可執行待修復文件的方式進行排列。
此外,為實現上述目的,本發明還提供一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有一個或者一個以上程序,所述一個或者一個以上程序可被一個或者一個以上的處理器執行以用于:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于努比亞技術有限公司,未經努比亞技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710483251.3/2.html,轉載請聲明來源鉆瓜專利網。





