[發明專利]一種熱更新方法、裝置及電子設備在審
| 申請號: | 202110271502.8 | 申請日: | 2021-03-12 |
| 公開(公告)號: | CN115080097A | 公開(公告)日: | 2022-09-20 |
| 發明(設計)人: | 年彥東;辛波 | 申請(專利權)人: | 北京金山云網絡技術有限公司 |
| 主分類號: | G06F8/656 | 分類號: | G06F8/656;G06F9/50 |
| 代理公司: | 北京柏杉松知識產權代理事務所(普通合伙) 11413 | 代理人: | 孟維娜;丁蕓 |
| 地址: | 100085 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 更新 方法 裝置 電子設備 | ||
本發明實施例提供了一種熱更新方法、裝置及電子設備。其中,所述方法包括:啟動第二進程,所述第二進程與已經運行的第一進程執行不同版本的預設程序,所述第一進程和所述第二進程復用相同的磁盤;將所述第一進程的元數據同步至所述第二進程,以使得所述第二進程根據所述元數據恢復緩存;將在所述第二進程恢復緩存后接收到的所述預設程序對應的請求分配至所述第二進程進行處理;直至退出所述第一進程,當所述第一進程和所述第二進程中的任一進程執行寫操作時,控制所述任一進程將所述寫操作所需寫入的數據寫入所述任一進程對應的內存緩存;退出所述第一進程,所述第一進程和所述第二進程分別對應不同的內存緩存。可以實現應用程序的熱更新。
技術領域
本發明涉及云存儲技術領域,特別是涉及一種熱更新方法、裝置及電子設備。
背景技術
電子設備可以通過進程執行指定的應用程序,從而提供與該應用程序對應的功能,示例性的,云存儲系統中的節點設備可以通過進程執行用于回源的應用程序,從而提供回源服務。
出于實際需求,進程所執行的應用程序可能需要更新,例如應用程序升級、回滾等。相關技術中,可以啟動一個用于執行更新后的該應用程序的新進程,將原先用于執行該應用程序的老進程的元數據導出至該新進程,待新進程根據元數據恢復緩存后退出老進程。
在啟動新進程至退出老進程之間同時存在兩個進程,新進程和老進程將復用電子設備中的磁盤,因此為避免新進程和老進程寫操作沖突引起的數據錯誤,相關技術中在退出老進程之前不允許新進程和老進程執行寫操作。
但是一些業務邏輯的實現依賴于寫操作,因此在新進程和老進程共存的期間,新進程和老進程無法實現這些業務邏輯,即新進程和老進程在該期間內無法正常提供服務,導致服務中斷。
發明內容
本發明實施例的目的在于提供一種熱更新方法,以實現應用程序的熱更新。具體技術方案如下:
在本發明實施例的第一方面提供了一種熱更新方法,所述方法包括:
啟動第二進程,所述第二進程與已經運行的第一進程執行不同版本的預設程序,所述第一進程和所述第二進程復用相同的磁盤;
將所述第一進程的元數據同步至所述第二進程,以使得所述第二進程根據所述元數據恢復緩存;
將在所述第二進程恢復緩存后接收到的所述預設程序對應的請求分配至所述第二進程進行處理;
當所述第一進程和所述第二進程中的任一進程執行寫操作時,控制所述任一進程將所述寫操作所需寫入的數據寫入所述任一進程對應的內存緩存,直至退出所述第一進程,所述第一進程和所述第二進程分別對應不同的內存緩存。
在一種可能的實施例中,在所述退出所述第一進程之后,所述方法還包括:
當所述第二進程執行寫操作時,控制所述第二進程將所述寫操作所需寫入的數據寫入所述磁盤或所述第二進程對應的內存緩存。
在一種可能的實施例中,所述退出所述第一進程,包括:
在所述第二進程恢復緩存后預設時長退出所述第一進程。
在一種可能的實施例中,所述方法還包括:
當所述第一進程和所述第二進程中的任一進程針對所述任一進程所管理的磁盤數據執行刪除操作時,控制所述任一進程刪除所述刪除操作所針對的數據,直至退出所述第一進程。
在一種可能的實施例中,所述方法還包括:
當所述第一進程和所述第二進程中的任一進程對應的內存緩存的占用率達到預設閾值時,按照預設刪除策略刪除所述任一進程對應的內存緩存中存儲的數據。
在一種可能的實施例中,所述按照預設刪除策略刪除所述任一進程對應的內存緩存中存儲的數據,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京金山云網絡技術有限公司,未經北京金山云網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110271502.8/2.html,轉載請聲明來源鉆瓜專利網。





