[發明專利]一種不停服的熱更新方法在審
| 申請號: | 201811580208.X | 申請日: | 2018-12-24 |
| 公開(公告)號: | CN109840105A | 公開(公告)日: | 2019-06-04 |
| 發明(設計)人: | 何雪松 | 申請(專利權)人: | 蘇州蝸牛數字科技股份有限公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65 |
| 代理公司: | 北京德崇智捷知識產權代理有限公司 11467 | 代理人: | 王金雙 |
| 地址: | 215000 江蘇省*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 可執行文件 補丁 修復 業務功能控制 函數地址 函數替換 加載應用 偏移地址 游戲體驗 在線恢復 在線修復 基地址 熱補丁 原函數 原文件 更新 調用 服務器 中斷 創建 配合 | ||
一種不停服的熱更新方法,包括以下步驟:將需要進行熱補丁的可執行文件靜態加載應用補丁庫;修復可執行文件;修復后的可執行文件調用創建補丁庫的接口,指明要修復的函數所在模塊、函數相對于模塊基地址的偏移地址以及新的函數地址;使用補丁可執行文件中的新的函數替換原文件中的原函數。本發明的方法,能夠使得一些低優先級的BUG也能夠得到及時的處理,配合業務功能控制系統,可以在暫時關閉某些功能后在線修復BUG,然后在線恢復業務,整個過程無須關閉服務器,做到不中斷主要的游戲體驗。
技術領域
本發明涉及服務器更新方法,特別是一種不停服的熱更新方法。
背景技術
游戲服務器通常都需要不間斷對外提供服務,常規的游戲服務器會有周期性的維護,進行服務器升級以及修復一些優先級較低的BUG,新游戲在進行一定規模測試的階段,往往存在大量的問題,修復的方式也只能是停服重啟。正式的線上環境要修復已知BUG同樣只能停服重啟,或者任由低優先級BUG存在。重啟會影響用戶體驗,同時也影響游戲的運營數據。
發明內容
為了解決現有技術存在的不足,本發明的目的在于提供一種不停服的熱更新方法。本發明能夠使得一些低優先級的BUG也能夠得到及時的處理,配合業務功能控制系統,可以在暫時關閉某些功能后在線修復BUG,然后在線恢復業務,整個過程無須關閉服務器,做到不中斷主要的游戲體驗。
為實現上述目的,本發明的一種不停服的熱更新方法,包括以下步驟:
將需要進行熱補丁的可執行文件靜態加載應用補丁庫;
修復可執行文件;
修復后的可執行文件調用創建補丁庫的接口,指明要修復的函數所在模塊、函數相對于模塊基地址的偏移地址以及新的函數地址;
使用補丁可執行文件中的新的函數替換原文件中的原函數。
進一步地,所述將需要進行熱補丁的可執行文件靜態加載應用補丁庫的步驟,進一步包括,加載應用補丁庫,生成的可執行文件;所述可執行文件,包括兩個預留的內存頁,分別為用于存放補丁數據的內存頁和用于存放補丁代碼的內存頁。
進一步地,所述修復可執行文件的步驟,進一步包括,在修復可執行文件時,添加一個與原函數簽名一致的新的函數,并在新的函數中修改存在的問題,新添加的函數編譯后存放在預留的代碼內存頁中。
進一步地,所述修復可執行文件的步驟,進一步包括,引入額外的全局變量,全局變量遵守與新的函數編寫相同的規則,并且全局變量存在放預留的數據內存頁中。
進一步地,所述修復后的可執行文件調用創建補丁庫的接口,指明要修復的函數所在模塊、函數相對于模塊基地址的偏移地址以及新的函數地址的步驟,進一步包括,
創建補丁庫并根據傳入的信息生成補丁文件,記錄所指明的信息,同時將預留的數據代碼頁和內存代碼頁的二進制數據存入補丁文件。
更進一步地,所述使用補丁可執行文件中的新的函數替換原文件中的原函數的步驟,進一步包括,接收到需要應用補丁的指令后,調用應用補丁庫的接口加載生產的補丁文件,將其中內存頁和代碼頁裝載到自身預留的內存頁和代碼頁中,并解析其中的補丁信息,根據模塊信息和相對偏移地址,重新計算出被補丁函數的地址,并將被補丁函數修改為jump 指令,使其跳轉到新的函數地址。
本發明提供的不停服的熱更新方法,具有以下優點:
1、對開發商而言,無須重啟服務器就能夠及時修復已知的BUG。
2、對于玩家而言,有問題的業務可能會受到影響,但是其他沒有問題的業務仍可以體驗。
3、對運維而言,整個補丁過程全透明,只需按照說明布置好補丁文件和執行相關的運維命令即可,不會引入額外的復雜度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州蝸牛數字科技股份有限公司,未經蘇州蝸牛數字科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811580208.X/2.html,轉載請聲明來源鉆瓜專利網。





