[發明專利]文件熱修復方法、裝置、設備及存儲介質有效
| 申請號: | 202010616093.6 | 申請日: | 2020-06-30 |
| 公開(公告)號: | CN111796972B | 公開(公告)日: | 2022-11-04 |
| 發明(設計)人: | 高永崗 | 申請(專利權)人: | 蘇州三六零智能安全科技有限公司 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14 |
| 代理公司: | 深圳市世紀恒程知識產權代理事務所 44287 | 代理人: | 晏波 |
| 地址: | 215000 江蘇省蘇州市蘇州工業*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 文件 修復 方法 裝置 設備 存儲 介質 | ||
本發明公開了一種文件熱修復方法、裝置、設備及存儲介質,該方法包括:在虛擬文件系統層對接收到的文件讀取命令進行攔截,并獲取文件讀取命令所包含的文件標識;然后判斷文件標識對應的預讀文件是否屬于待修復文件;在預讀文件屬于待修復文件時,獲取預讀文件的修復文件;再根據修復文件對預讀文件進行修復獲得目標文件;最后將目標文件返回至文件讀取命令的發起端。由于本發明是在VFS層對文件讀取命令進行攔截,從而能夠避免底層文件系統的差異在文件熱修復過程中引起過多的系統性能消耗,此外通過文件標識來判斷文件是否屬于待修復的文件,也能夠準確地判斷文件是否需要被熱修復,提高了文件的熱修復效率。
技術領域
本發明涉及計算機軟件技術領域,尤其涉及一種文件熱修復方法、裝置、設備及存儲介質。
背景技術
目前,在代碼文件存在漏洞(bug)時,一種方式是開發人員在后臺修復 bug,然后用修復bug的代碼文件替換掉原來的代碼文件,但這種線下修復并進行文件替換的漏洞修復方案成本較高、效率較低;另一種方式就是采用熱修復方案,即以動態加載的方式通過修復好的代碼文件來對存在bug的代碼文件進行覆蓋,進而完成熱修復。
現有的熱修復方式雖然不需要開發人員在后臺進行文件修復,但由于修復過程中需要考慮底層代碼文件系統的差異,在修復代碼過程中不可避免的需要進行各類代碼文件的屏蔽操作,大大損耗了系統性能。
上述內容僅用于輔助理解本發明的技術方案,并不代表承認上述內容是現有技術。
發明內容
本發明的主要目的在于提供了一種文件熱修復方法、裝置、設備及存儲介質,旨在解決現有的代碼漏洞熱修復技術無法有效屏蔽底層文件系統的差異、文件修復操作需要損耗較大的系統性能的技術問題。
為實現上述目的,本發明提供了一種文件熱修復方法,所述方法包括以下步驟:
在虛擬文件系統層對接收到的文件讀取命令進行攔截,并獲取所述文件讀取命令所包含的文件標識;
判斷所述文件標識對應的預讀文件是否屬于待修復文件;
在所述預讀文件屬于待修復文件時,獲取所述預讀文件的修復文件;
根據所述修復文件對所述預讀文件進行修復,以獲得目標文件;
將所述目標文件返回至所述文件讀取命令的發起端。
可選地,所述判斷所述文件標識對應的預讀文件是否屬于待修復文件的步驟,包括:
確定所述文件標識對應的預讀文件,并獲取所述預讀文件對應的inode數據結構;
根據所述inode數據結構中存放的數據判斷所述預讀文件是否屬于待修復文件。
可選地,所述根據所述inode數據結構中存放的數據判斷所述預讀文件是否屬于待修復文件的步驟,包括:
判斷所述inode數據結構中是否包含文件更新標識符;
在所述inode數據結構中包含所述文件更新標識符時,判定所述預讀文件屬于待修復文件;
在所述inode數據結構中未包含所述文件更新標識符時,判定所述預讀文件不屬于待修復文件。
可選地,所述在所述inode數據結構中未包含所述文件更新標識符時,判定所述預讀文件不屬于待修復文件的步驟之后,所述方法還包括:
獲取所述預讀文件,并將所述預讀文件返回至所述文件讀取命令的發起端。
可選地,所述將所述目標文件返回至所述文件讀取命令的發起端步驟之前,所述方法還包括:
釋放所述預讀文件以及所述修復文件所占用的內存;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州三六零智能安全科技有限公司,未經蘇州三六零智能安全科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010616093.6/2.html,轉載請聲明來源鉆瓜專利網。





