本技術屬于計算機,尤其涉及一種數據刪除方法和計算機設備。
背景技術:
1、當前業界主流的部分操作系統所提供的刪除指令無法支持回收站機制,如發行版linux操作系統的刪除指令。在使用不支持回收站機制的刪除指令進行數據刪除時,可能存在重要數據的誤刪造成數據的永久刪除丟失。
2、相關技術中,為了實現刪除命令的回收站機制,一方面可以采用特定的工具軟件并使用相應的特定的命令實現,例如安裝trash-cli命令行工具等。另一方面可以通過修改刪除命令本身的內容實現回收站機制。上述數據刪除過程中的回收站機制的實現方式復雜且效率低下。
技術實現思路
1、本技術實施例提供了一種數據刪除方法和計算機設備,能夠在不支持回收站機制的數據刪除操作中實現簡單高效的回收站機制。
2、本技術實施例的第一方面提供了一種數據刪除方法,包括:
3、響應于針對目標數據的刪除命令,調用目標刪除函數,所述目標刪除函數包含在目標動態庫中,所述目標動態庫的讀取優先級高于原始動態庫;
4、在調用所述目標刪除函數的過程中,識別所述目標數據的目標刪除方式;
5、若所述目標刪除方式為基于回收站機制的保護刪除,則執行針對所述目標數據的保護刪除操作;
6、若所述目標刪除方式為直接刪除,則調用原始刪除函數直接刪除所述目標數據,所述原始刪除函數包含在所述原始動態庫中。
7、通過優先讀取目標動態庫庫中的目標刪除函數的方式,將原本基于原始動態庫的原始刪除函數所實現的程序行為,修改為基于目標動態庫的目標刪除函數所實現的程序行為,并從直接刪除方式或基于回收站機制的保護刪除方式中選擇合適的目標刪除方式,執行數據刪除操作,如此,不僅兼容了基于原始動態庫的直接刪除操作,還能夠在不支持回收站機制的數據刪除過程中實現簡單高效的回收站機制
8、在第一方面的一種實現方式中,在調用所述目標刪除函數之前,所述方法還包括:
9、獲取新增的動態庫,所述新增的動態庫包括所述目標刪除函數;
10、通過編譯器編譯所述新增的動態庫,得到所述目標動態庫;
11、將所述目標動態庫寫入鏈接器的預加載文件中,所述預加載文件的讀取優先級高于所述鏈接器的其他加載目錄。
12、通過在讀取優先高的預加載文件中配置目標動態庫的方式,確保目標動態庫優先于原始動態庫被讀取,從而確保目標動態庫的目標刪除函數先于原始刪除函數被調用。如此,便能在不改變原始動態庫任何內容的情況下,實現基于回收站機制的數據刪除操作。
13、在第一方面的一種實現方式中,所述調用目標刪除函數,包括:
14、根據所述預加載文件,讀取所述目標動態庫。
15、在所述目標動態庫中,讀取并調用所述目標刪除函數。
16、在第一方面的一種實現方式中,所述在調用所述目標刪除函數的過程中,識別所述目標數據的目標刪除方式,包括:
17、從配置文件中讀取與刪除方式對應的配置信息,所述配置信息包括指定標志位,所述指定標志位用于表征是否全局啟用回收站機制;
18、若所述指定標志位表征全局啟用回收站機制,則確定所述目標數據的目標刪除方式為基于回收站機制的保護刪除。
19、通過配置信息中的指定標志位來動態控制是否啟用回收站機制,能夠根據實際情況靈活調整刪除方式,提高操作的靈活性和用戶體驗。
20、在第一方面的一種實現方式中,所述配置信息還包括需要啟用回收站機制的至少一個保護目錄,所述方法還包括:
21、若所述指定標志位表征非全局啟用回收站機制,則匹配所述目標數據與任一所述保護目錄,得到匹配結果;
22、若所述匹配結果表征存在保護目錄與所述目標數據匹配,則確定所述目標數據的目標刪除方式為基于回收站機制的保護刪除;
23、若所述匹配結果表征不存在保護目錄與所述目標數據匹配,則確定所述目標數據的目標刪除方式為直接刪除。
24、通過匹配目標數據與配置信息中的保護目錄的方式,提高確定針對目標數據的刪除方式的準確性。
25、在第一方面的一種實現方式中,所述執行針對所述目標數據的保護刪除操作,包括:
26、基于預設的回收站目錄,對所述目標數據進行備份處理;
27、若所述目標數據備份成功,則在所述目標數據的原始目錄中,調用所述原始刪除函數執行針對所述目標數據的直接刪除操作。
28、通過在預設的回收站目錄中備份目標數據并在備份成功后執行直接刪除操作,能夠有效防止重要數據的永久丟失,提高數據的安全性。
29、在第一方面的一種實現方式中,所述基于預設的回收站目錄,對所述目標數據進行備份處理,包括:
30、保存所述目標數據的屬性信息;
31、通過壓縮命令,對所述目標數據進行打包壓縮,得到所述目標數據的壓縮包;
32、將所述壓縮包存儲至預設的回收站目錄中。
33、通過保存目標數據的屬性數據、對其進行打包壓縮并將壓縮包存儲至預設的回收站目錄中,不僅能夠保護數據的完整性,還能夠提高存儲效率。
34、在第一方面的一種實現方式中,所述方法還包括:
35、若接收到針對所述回收站目錄中的任一待恢復數據的恢復命令,則基于述待恢復數據的標識,獲取所述待恢復數據的壓縮包;
36、對所述壓縮包進行解壓處理,得到所述待恢復數據。
37、通過基于標識快速定位并解壓指定壓縮包來恢復待恢復數據,能夠提高數據恢復的效率和可靠性。
38、在第一方面的一種實現方式中,在從所述配置文件中讀取與刪除方式對應的配置信息之前,所述方法還包括:
39、獲取所述刪除命令的觸發方式;
40、若所述觸發方式與預設觸發方式一致,則從所述配置文件中讀取與所述刪除方式對應的配置信息,基于所述配置信息,識別所述目標數據的目標刪除方式;
41、若所述觸發方式與預設觸發方式不一致,則調用所述原始刪除函數執行數據刪除操作。
42、通過驗證刪除命令的觸發方式與預設觸發方式的一致性,能夠實現針對刪除操作的嚴格控制,增強系統的安全性,減少誤操作的風險。
43、本技術實施例的第二方面提供了一種數據刪除裝置,包括:
44、加載模塊,用于響應于針對目標數據的刪除命令,調用目標刪除函數,所述目標刪除函數包括在目標動態庫中,所述目標動態庫的讀取優先級高于原始動態庫;
45、識別模塊,用于在調用所述目標刪除函數的過程中,識別所述目標數據的目標刪除方式;
46、保護刪除模塊,用于若所述目標刪除方式為基于回收站機制的保護刪除,則執行針對所述目標數據的保護刪除操作;
47、直接刪除模塊,用于若所述目標刪除方式為直接刪除,則調用原始刪除函數直接刪除所述目標數據,所述原始刪除函數包含在所述原始動態庫中。
48、本技術實施例的第三方面提供了一種計算機設備,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現如上述第一方面所述的方法。
49、本技術實施例的第四方面提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現如上述第一方面所述的方法。
50、本技術實施例第一方面在應用程序運行過程中,通過優先讀取目標動態庫庫中的目標刪除函數的方式,將原本基于原始動態庫的原始刪除函數所實現的程序行為,修改為基于目標動態庫的目標刪除函數所實現的程序行為,并從直接刪除方式或基于回收站機制的保護刪除方式中選擇合適的目標刪除方式,執行數據刪除操作,如此,不僅兼容了基于原始動態庫的直接刪除操作,還能夠在不支持回收站機制的數據刪除過程中實現簡單高效的回收站機制。
51、可以理解的是,上述第二方面至第四方面的有益效果可以參見上述第一方面中的相關描述,在此不再贅述。