專利名稱:一種刪除重復數據的方法、裝置和系統的制作方法
技術領域:
本發明涉及計算機領域,特別涉及一種刪除重復數據的方法、裝置和系統。
背景技術:
在現有技術中,提高海量信息存儲率的重要方法是刪除系統中存在的重復數據。系統中存在的重復數據是指存儲在系統中的完全相同的兩份或兩份以上數據。在刪除系統中存在的重復數據前,首先獲取上傳數據的數據信息,根據數據信息判斷系統中是否已經存在上傳數據,當已經存在上傳數據時,刪除上傳數據。
上傳數據的數據信息是對上傳數據進行哈希計算所得的值。哈希計算是計算機領域中的一種散列算法,用于把任意長度的二進制值映射為固定長度的較小二進制值。在獲得上傳數據的數據信息后,將數據信息與系統中保存的數據信息進行對比,若數據信息一致,則表示系統中存在與上傳數據相同的數據,需要刪除上傳數據。若數據信息不一致,則表示系統中不存在與上傳數據相同的數據,直接把上傳數據存儲在系統中。所述系統中保存的數據信息是指對存儲在數據系統中的數據進行哈希計算所得的值。在實現本發明過程中,發明人發現現有技術中至少存在如下問題I、由于需要刪除重復數據,因此系統中不能存儲兩份以上的相同數據,對于重要的數據不能進行備份操作,降低了數據可靠性;2、當出現異常情況,如停電等,系統中產生垃圾數據,降低存儲率;所述垃圾數據是系統進行刪除重復數據的過程中,系統已檢測出上傳數據為重復數據,需要進行刪除,但由于停電等意外情況的發生,導致未更新上傳數據元數據和刪除上傳數據,使系統中存在一份不需要的數據;3、用戶上傳數據時,若在線進行刪除重復數據的操作,影響用戶體驗。若上傳后進行刪除數據的操作,需要對全系統進行掃描,增加系統開銷。
發明內容
本發明的實施例提供一種刪除重復數據的方法、裝置和系統,解決系統中對于重要的數據不能進行備份操作,垃圾數據不能刪除的技術問題。為達到上述目的,本發明的實施例采用如下技術方案第一方面,提供一種刪除重復數據的方法,包括獲取用戶的輸入數據,以及用戶輸入的副本數。對所述輸入數據進行哈希計算,得到哈希值。建立所述輸入數據對應的數據信息,所述數據信息包括所述哈希值,所述副本數。在第一方面的第一種可能的實現方式中,判斷是否存在與所述數據信息相同的已存儲數據信息;所述已存儲數據信息對應唯一的已存儲數據。當存在與所述數據信息相同的已存儲數據信息時,刪除所述輸入數據。第二方面,提供一種刪除重復數據的裝置,包括
輸入數據獲取單元,用于獲取用戶的輸入數據,以及用戶輸入的副本數。第一哈希單元,用于對所述輸入數據進行哈希計算,得到哈希值。數據信息建立單元,用于建立所述輸入數據對應的數據信息,所述數據信息包括所述哈希值,所述副本數。在第二方面的第一種可能的實現方式中,第一判斷單元,用于判斷是否存在與所述數據信息相同的已存儲數據信息;所述已存儲數據信息對應唯一的已存儲數據。輸入數據刪除單元,用于當存在與所述數據信息相同的已存儲數據信息時,刪除所述輸入數據。
第三方面,提供一種計算機系統,包括總線,與所述總線相連的處理器以及與所述總線相連的存儲器;其中所述處理器包括上述提及的裝置。本發明實施例提供一種刪除重復數據的方法、裝置和系統,首先獲取用戶的輸入數據,以及用戶輸入的副本數。對所述輸入數據進行哈希計算,得到哈希值。建立所述輸入數據對應的數據信息,判斷是否存在與所述數據信息相同的已存儲數據信息。當存在與所述數據信息相同的已存儲數據信息時,刪除所述輸入數據。通過上述刪除重復數據的方法,記錄備份數,刪除垃圾數據,對系統中重要的數據進行備份,提高系統存儲空間存儲率,優化用戶體驗,加快運行效率。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖I為本發明實施例I中刪除重復數據的流程框圖;圖2為本發明實施例2中刪除重復數據的流程框圖;圖3為本發明實施例2中已存儲數據對應刪除列表的框圖;圖4為本發明實施例2中另一種刪除重復數據的流程框圖;圖5為本發明實施例2中第三種刪除重復數據的流程框圖;圖6為本發明實施例3中一種刪除重復數據裝置的框圖;圖7為本發明實施例3中另一種刪除重復數據裝置的框圖;圖8為本發明實施例3中第三種刪除重復數據裝置的框圖;圖9為本發明實施例3中元數據更新單元的框圖;圖10為本發明實施例3中計算機系統的框圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。實施例I :
本發明的一個實施例提供了一種刪除重復數據的方法,如圖I所示,該方法包括如下步驟101、獲取用戶的輸入數據,以及用戶輸入的副本數。用戶將輸入數據以及與該輸入數據的副本數一同輸入計算機中。102、對所述輸入數據進行哈希計算,得到哈希值。本發明實施例中提及的哈希計算是計算機領域中的一種散列算法,用于把任意長度的二進制值映射為固定長度的較小二進制值。103、建立所述輸入數據對應的數據信息,所述數據信息包括所述哈希值,所述副本數。
104、判斷是否存在與所述數據信息相同的已存儲數據信息。所述已存儲數據信息對應唯一的已存儲數據。在計算機中,已經存儲了大量的數據,每一份已存儲數據對相應的建立了唯一的已存儲數據信息,每份已存儲數據信息中包括對應的已存儲數據的哈希值和副本數。105、當存在與所述數據信息相同的已存儲數據信息時,刪除所述輸入數據。當存在與所述數據信息相同的已存儲數據信息時,表示在步驟101中獲取的用戶的輸入數據已經存在,不需要再進行存儲,此時對該輸入數據進行刪除。本發明的一個實施例提供一種刪除重復數據的方法,通過用戶輸入數據和需要存儲的副本數得到哈希值,進而得到與輸入數據對應的數據信息。當存在與所述數據信息相同的已存儲數據信息時,刪除所述輸入數據。通過上述方法,克服對重要數據不能備份的問題,提高數據的可靠性。實施例2 本發明的一個實施例提供一種刪除重復數據的方法,如圖2所示,包括201、獲取用戶的輸入數據,以及用戶輸入的副本數。202、對所述輸入數據進行哈希計算,得到哈希值。所述哈希計算是計算機領域中的一種散列算法,用于把任意長度的二進制值映射為固定長度的較小二進制值。203、建立所述輸入數據對應的數據信息,所述數據信息包括所述哈希值,所述副本數。204、判斷是否存在與所述數據信息相同的已存儲數據信息。所述已存儲數據信息對應唯一的已存儲數據。在計算機中,已經存儲了大量的數據,每一份已存儲數據相應的建立了唯一的已存儲數據信息,每份已存儲數據信息中包括對應的已存儲數據的哈希值和副本數。步驟204判斷是否存在與所述數據信息相同的已存儲數據信息,即判斷是否存在與用戶的輸入數據的數據信息所包括的哈希值和副本數分別相同的已存儲數據信息。如果兩個數據信息中的哈希值和副本數分別相同,可以判定這兩個數據信息所對應的兩個數據是相同的數據。205、當存在與所述數據信息相同的已存儲數據信息時,獲取所述已存儲數據信息對應的狀態信息項。所述已存儲數據信息對應的狀態信息項記錄有所述已存儲數據的存儲地址。206、根據所述已存儲數據的存儲地址,獲取對應的刪除列表。
所述刪除列表記錄有被執行過刪除動作的所述已存儲數據的文件名。207、將所述用戶輸入的數據的文件名加入所述刪除列表。舉例來說,如圖3所示,已存儲數據3001對應有已存儲數據信息301,301具有對應的狀態信息項302,302記錄有3001在硬盤上的存儲地址303 (具體的,303可以是3001存儲的起始地址)。此外,系統還對應存儲地址303建立有對應的刪除列表304。假設在304中記錄了 3041,3042,3043共三項,這三項分別是三個不同的文件名,且對應相同的文件內容,即3001。
通過步驟205至207,將用戶的輸入數據的文件名加入到對應的刪除列表中。該刪除列表對應已在系統中存儲的已存儲數據,并且該已存儲數據與用戶的輸入數據是相同的。208、將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址。所述元數據記錄有與元數據對應的數據的存儲地址、數據的副本數、數據的文件名。209、刪除所述輸入數據。本發明的一個實施例提供一種刪除重復數據的方法,通過用戶輸入數據和需要存儲的副本數得到哈希值,進而得到與輸入數據對應的數據信息。當存在與所述數據信息相同的已存儲數據信息時,獲取對應的刪除列表并將所述用戶輸入的數據的文件名加入所述刪除列表。然后將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址,最后刪除所述輸入數據。通過上述方法,克服對重要數據不能備份的問題,方便對執行上述步驟的數據進行管理。本發明的一個實施例還提供一種刪除重復數據的方法,如圖4所示,該方法包括如下步驟401獲取系統中已存在的元數據。所述系統中已存在的元數據記錄有所述系統中已存在的元數據對應數據的存儲地址、所述系統中已存在的元數據對應數據的副本數、所述系統中已存在的元數據對應數據的文件名。402、對所述系統中已存在的元數據對應數據的存儲地址中的數據進行哈希計算,得到第二哈希值。403、構造第二數據信息,所述第二數據信息包括所述第二哈希值,所述系統中已存在的元數據對應數據的副本數。404、判斷是否存在與所述第二數據信息相同的在系統中已存在的第三數據信息。當存在第三數據信息時,執行步驟405。405、獲取所述第三數據信息對應的第三狀態信息項。所述第三狀態信息項記錄有所述第三數據信息對應的數據的存儲地址。406、根據所述第三數據信息對應的數據的存儲地址,獲取對應的第三刪除列表。所述第三刪除列表記錄有被執行過刪除動作的第三數據信息對應的數據的文件名。407、判斷是否在所述第三刪除列表存在所述系統中已存在的元數據對應數據的文件名。當不存在所述當前元數據記錄的文件名時,執行步驟408。408、將所述系統中已存在的元數據對應數據的存儲地址更新為所述第三數據信息對應的數據的存儲地址。409、刪除所述系統中已存在的元數據對應數據的存儲地址中的數據。需要說明的是,對元數據的獲取動作,是通過對所有元數據進行遍歷來執行的。即對于每個元數據,都會執行上述步驟401至409的流程,當然,如果在執行過程中不能滿足步驟404或407的判斷條件,則終止對當前元數據的后續步驟。本發明的一個實施例提供一種刪除重復數據的方法,通過當前元數據獲得當前數據進而得到第二哈希值,然后構造第二數據信息,當在系統中存在與所述第二數據信息相·同的第三數據信息時,獲得第三數據信息對應的第三刪除列表。若所述第三刪除列表不存在當前元數據記錄的文件名,則將所述當前元數據記錄的當前數據的存儲地址更新為所述第三數據信息對應的數據的存儲地址并刪除當前數據的存儲地址中的所述當前數據。通過上述方法,刪除系統中的垃圾數據,提高系統存儲空間存儲率。進一步的,本發明的一個實施例還提供一種刪除重復數據的方法,如圖5所示,該方法包括如下步驟501、獲取用戶的輸入數據,以及用戶輸入的副本數。502、對所述輸入數據進行哈希計算,得到哈希值。503、建立所述輸入數據對應的數據信息,所述數據信息包括所述哈希值,所述副本數。504、判斷是否存在與所述數據信息相同的已存儲數據信息;所述已存儲數據信息對應唯一的已存儲數據。505、當存在與所述數據信息相同的已存儲數據信息時,獲取所述已存儲數據信息對應的狀態信息項;所述已存儲數據信息對應的狀態信息項記錄有所述已存儲數據的存儲地址。506、根據所述已存儲數據的存儲地址,獲取對應的刪除列表;所述刪除列表記錄有被執行過刪除動作的所述已存儲數據的文件名。507、將所述用戶輸入的數據的文件名加入所述刪除列表。508、經過預設定的時間段。509、將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址。所述元數據記錄有與元數據對應的數據的存儲地址、數據的副本數、數據的文件名。510、刪除所述輸入數據。本發明的一個實施例提供一種刪除重復數據的方法,通過用戶輸入數據和需要存儲的副本數得到哈希值,進而得到與輸入數據對應的數據信息。當存在與所述數據信息相同的已存儲數據信息時,獲取對應的刪除列表并將所述用戶輸入的數據的文件名加入所述刪除列表。經過預設定的時間段后,將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址,最后刪除所述輸入數據。通過上述方法,克服了用戶上傳數據時進行在線進行刪除重復數據的操作,影響用戶體驗和上傳后進行刪除數據的操作,需要對全系統進行掃描,增加系統開銷的問題,優化了用戶體驗,加快運行效率。實施例3本發明的一個實施例提供了一種刪除重復數據的裝置,如圖6所示,該裝置包括輸入數據獲取單元61,第一哈希單元62,數據信息建立單元63,第一判斷單元64,輸入數據刪除單元65。其中輸入數據獲取單元61用于獲取用戶的輸入數據,以及用戶輸入的副本數。第一哈希單元62用于對所述輸入數據進行哈希計算,得到哈希值。數據信息建立單元63用于建立所述輸入數據對應的數據信息,所述數據信息包 括所述哈希值,所述副本數。第一判斷單元64用于判斷是否存在與所述數據信息相同的已存儲數據信息;所述已存儲數據信息對應唯一的已存儲數據。輸入數據刪除單元65用于刪除所述輸入數據。進一步的,如圖7所示,所述裝置還包括狀態信息項獲取單元66,用于當存在與所述數據信息相同的已存儲數據信息時,獲取所述已存儲數據信息對應的狀態信息項;所述已存儲數據信息對應的狀態信息項記錄有所述已存儲數據的存儲地址。刪除列表獲取單元67,用于根據所述已存儲數據的存儲地址,獲取對應的刪除列表;所述刪除列表記錄有被執行過刪除動作的所述已存儲數據的文件名。文件名添加單元68,用于將所述用戶輸入的數據的文件名加入所述刪除列表。元數據更新單元69,用于將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址;所述元數據記錄有與元數據對應的數據的存儲地址、數據的副本數、數據的文件名。進一步的,如圖8所示,所述裝置還包括元數據獲取單元610,第二哈希單元611,第二數據信息建立單元612,第二判斷單元613,第三狀態信息項獲取單元614,第三刪除列表獲取單元615,第三判斷單元616,存儲地址更新單元617,當前數據刪除單元618。其中元數據獲取單元610用于獲取獲取系統中已存在的元數據。第二哈希單元611用于對所述系統中已存在的元數據對應數據的存儲地址中的數據進行哈希計算,得到第二哈希值。第二數據信息建立單元612用于構造第二數據信息。第二判斷單元613用于判斷是否存在與所述第二數據信息相同的第三數據信息。第三狀態信息項獲取單元614用于當存在與所述第二數據信息相同的第三數據息時,獲取所述第二數據息對應的第二狀態息項。第三刪除列表獲取單元615用于根據所述第三數據信息對應的數據的存儲地址,獲取對應的第三刪除列表;所述第三刪除列表記錄有被執行過刪除動作的第三數據信息對應的數據的文件名。第三判斷單元616用于判斷是否在所述第三刪除列表存在所述系統中已存在的元數據對應數據的文件名。
存儲地址更新單元617用于當所述第三刪除列表不存在所述系統中已存在的元數據對應數據的文件名時,將所述系統中已存在的元數據對應數據的存儲地址更新為所述第三數據信息對應的數據的存儲地址;。當前數據刪除單元618用于刪除所述系統中已存在的元數據對應數據的存儲地址中的數據。通過當前元數據獲得當前數據進而得到第二哈希值,然后構造第二數據信息,當在系統中存在與所述第二數據信息相同的第三數據信息時,獲得第三數據信息對應的第三刪除列表。若所述第三刪除列表不存在當前元數據記錄的文件名,則將所述當前元數據記錄的當前數據的存儲地址更新為所述第三數據信息對應的數據的存儲地址并刪除當前數據的存儲地址中的所述當前數據。通過上述裝置,刪除系統中的垃圾數據,提高系統存儲空間存儲率。進一步的,如圖9所示,元數據更新單元69包括元數據更新子單元691,用于在將所述用戶輸入的數據的文件名加入所述刪除列表后,經過預設定的時間段后,將所述輸入 數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址。本發明的一個實施例提供一種刪除重復數據的裝置,通過用戶輸入數據和需要存儲的副本數得到哈希值,進而得到與輸入數據對應的數據信息。當存在與所述數據信息相同的已存儲數據信息時,刪除所述輸入數據。通過上述裝置,記錄備份數,增強數據可靠性。進一步的,存在與所述數據信息相同的已存儲數據信息時,獲取對應的刪除列表并將所述用戶輸入的數據的文件名加入所述刪除列表。經過預設定的時間段后,將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址,最后刪除所述輸入數據,這樣方便對已經執行過刪除操作的數據的管理。此外,通過當前元數據獲得當前數據進而得到第二哈希值,然后構造第二數據信息,當在系統中存在與所述第二數據信息相同的第三數據信息時,獲得第三數據信息對應的第三刪除列表。若所述第三刪除列表不存在當前元數據記錄的文件名,則將所述當前元數據記錄的當前數據的存儲地址更新為所述第三數據信息對應的數據的存儲地址并刪除當前數據的存儲地址中的所述當前數據。通過上述方法,刪除系統中的垃圾數據,提高系統存儲空間存儲率。再者,所述用戶輸入的數據的文件名加入所述刪除列表后,經過預設定的時間段,將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址,克服了用戶上傳數據時進行在線進行刪除重復數據的操作,影響用戶體驗和上傳后進行刪除數據的操作,需要對全系統進行掃描,增加系統開銷的問題,優化了用戶體驗,加快運行效率。本發明的一個實施例還提供了一種計算機系統,如圖10所示,包括總線701,處理器702,存儲器703。其中,處理器702中包括上述提及的任意一種刪除重復數據的裝置。本發明的實施例提供一種計算機系統,通過用戶輸入數據和需要存儲的副本數得到哈希值,進而得到與輸入數據對應的數據信息。當存在與所述數據信息相同的已存儲數據信息時,獲取對應的刪除列表并將所述用戶輸入的數據的文件名加入所述刪除列表。經過預設定的時間段后,將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址,最后刪除所述輸入數據。通過上述裝置,克服了用戶上傳數據時進行在線進行刪除重復數據的操作,影響用戶體驗和上傳后進行刪除數據的操作,需要對全系統進行掃描,增加系統開銷的問題,優化了用戶體驗,加快運行效率。通過以上的實施方式的描述,所屬領域的技術人員可以清楚地了解到本發明可借助軟件加必需的通用硬件的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在可讀取的存儲介質中,如計算機的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服 務器,或者網絡設備等)執行本發明各個實施例所述的方法。以上所述,僅為本發明的具體實施方式
,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以所述權利要求的保護范圍為準。
權利要求
1.一種刪除重復數據的方法,其特征在于,包括 獲取用戶的輸入數據,以及用戶輸入的副本數; 對所述輸入數據進行哈希計算,得到哈希值; 建立所述輸入數據對應的數據信息,所述數據信息包括所述哈希值,所述副本數;判斷是否存在與所述數據信息相同的已存儲數據信息;所述已存儲數據信息對應唯一的已存儲數據; 當存在與所述數據信息相同的已存儲數據信息時,刪除所述輸入數據。
2.根據權利要求I所述的方法,其特征在于,還包括 當存在與所述數據信息相同的已存儲數據信息時,獲取所述已存儲數據信息對應的狀態信息項;所述已存儲數據信息對應的狀態信息項記錄有所述已存儲數據的存儲地址;根據所述已存儲數據的存儲地址,獲取對應的刪除列表;所述刪除列表記錄有被執行過刪除動作的所述已存儲數據的文件名; 將所述用戶輸入的數據的文件名加入所述刪除列表。
3.根據權利要求I所述的方法,其特征在于,系統按照預設的周期遍歷系統中已存在的元數據,包括 獲取系統中已存在的元數據;所述系統中已存在的元數據記錄有所述系統中已存在的元數據對應數據的存儲地址、所述系統中已存在的元數據對應數據的副本數、所述系統中已存在的元數據對應數據的文件名; 對所述系統中已存在的元數據對應數據的存儲地址中的數據進行哈希計算,得到第二哈希值; 構造第二數據信息,所述第二數據信息包括所述第二哈希值,所述系統中已存在的元數據對應數據的副本數; 判斷是否存在與所述第二數據信息相同的在系統中已存在的第三數據信息; 若存在,獲取所述第三數據信息對應的第三狀態信息項;所述第三狀態信息項記錄有所述第三數據信息對應的數據的存儲地址; 根據所述第三數據信息對應的數據的存儲地址,獲取對應的第三刪除列表;所述第三刪除列表記錄有被執行過刪除動作的第三數據信息對應的數據的文件名; 判斷是否在所述第三刪除列表存在所述系統中已存在的元數據對應數據的文件名;若否,將所述系統中已存在的元數據對應數據的存儲地址更新為所述第三數據信息對應的數據的存儲地址; 刪除所述系統中已存在的元數據對應數據的存儲地址中的數據。
4.根據權利要求I所述的方法,其特征在于,在刪除所述輸入數據前,還包括 將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址;所述元數據記錄有與元數據對應的數據的存儲地址、數據的副本數、數據的文件名。
5.根據權利要求4所述的方法,其特征在于,所述將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址,包括 在將所述用戶輸入的數據的文件名加入所述刪除列表后,經過預設定的時間段后,將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址。
6.一種刪除數據重復數據的裝置,其特征在于,包括 輸入數據獲取單元,用于獲取用戶的輸入數據,以及用戶輸入的副本數; 第一哈希單元,用于對所述輸入數據進行哈希計算,得到哈希值; 數據信息建立單元,用于建立所述輸入數據對應的數據信息,所述數據信息包括所述哈希值,所述副本數; 第一判斷單元,用于判斷是否存在與所述數據信息相同的已存儲數據信息;所述已存儲數據信息對應唯一的已存儲數據; 輸入數據刪除單元,用于當存在與所述數據信息相同的已存儲數據信息時,刪除所述輸入數據。
7.根據權利要求6所述的裝置,其特征在于,所述裝置還包括 狀態信息項獲取單元,用于當存在與所述數據信息相同的已存儲數據信息時,獲取所述已存儲數據信息對應的狀態信息項;所述已存儲數據信息對應的狀態信息項記錄有所述已存儲數據的存儲地址; 刪除列表獲取單元,用于根據所述已存儲數據的存儲地址,獲取對應的刪除列表;所述刪除列表記錄有被執行過刪除動作的所述已存儲數據的文件名; 文件名添加單元,用于將所述用戶輸入的數據的文件名加入所述刪除列表。
8.根據權利要求6所述的裝置,其特征在于,所述裝置還包括 元數據獲取單元,用于獲取系統中已存在的元數據;所述系統中已存在的元數據記錄有所述系統中已存在的元數據對應數據的存儲地址、所述系統中已存在的元數據對應數據的副本數、所述系統中已存在的元數據對應數據的文件名; 第二哈希單元,用于對所述系統中已存在的元數據對應數據的存儲地址中的數據進行哈希計算,得到第二哈希值; 第二數據信息建立單元,構造第二數據信息,所述第二數據信息包括所述第二哈希值,所述系統中已存在的元數據對應數據的副本數; 第二判斷單元,用于判斷是否存在與所述第二數據信息相同的在系統中已存在的第三數據信息; 第三狀態信息項獲取單元,用于當存在與所述第二數據信息相同的第三數據信息時,獲取所述第三數據信息對應的第三狀態信息項;所述第三狀態信息項記錄有所述第三數據信息對應的數據的存儲地址; 第三刪除列表獲取單元,用于根據所述第三數據信息對應的數據的存儲地址,獲取對應的第三刪除列表;所述第三刪除列表記錄有被執行過刪除動作的第三數據信息對應的數據的文件名; 第三判斷單元,用于判斷是否在所述第三刪除列表存在所述系統中已存在的元數據對應數據的文件名; 存儲地址更新單元,用于當在所述第三刪除列表不存在所述系統中已存在的元數據對應數據的文件名時,將所述當前元數據記錄的當前數據的存儲地址更新為所述第三數據信息對應的數據的存儲地址;當前數據刪除單元,用于刪除所述系統中已存在的元數據對應數據的存儲地址中的數據。
9.根據權利要求6所述的裝置,其特征在于,所述裝置還包括 元數據更新單元,用于在刪除所述輸入數據前,將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址;所述元數據記錄有與元數據對應的數據的存儲地址、數據的副本數、數據的文件名。
10.根據權利要求9所述的裝置,其特征在于,所述元數據更新單元,包括 元數據更新子單元,用于在將所述用戶輸入的數據的文件名加入所述刪除列表后,經過預設定的時間段后,將所述輸入數據對應的元數據記錄的所述輸入數據的存儲地址變更為所述已存儲數據對應的元數據記錄的所述已存儲數據的存儲地址。
11.一種計算機系統,其特征在于,包括 總線,與所述總線相連的處理器以及與所述總線相連的存儲器; 其中所述處理器包括權利要求6至10中任意一項所述的裝置。
全文摘要
本發明的實施例公開一種刪除重復數據的方法、裝置和系統,涉及計算機領域,解決現有技術中數據可靠性低,垃圾數據多,系統開銷大的問題。一種刪除重復數據的方法,包括通過用戶輸入數據和需要存儲的副本數得到哈希值,進而得到與輸入數據對應的數據信息和對應的刪除列表,將用戶輸入數據的文件名加入所述刪除列表。然后將輸入數據對應的元數據記錄的輸入數據的存儲地址變更為已存儲數據對應的元數據記錄的已存儲數據的存儲地址,最后刪除所述輸入數據。本發明主要應用于計算機系統中。
文檔編號G06F17/30GK102902762SQ20121036120
公開日2013年1月30日 申請日期2012年9月25日 優先權日2012年9月25日
發明者鄭錫濤, 張輝, 戰宏亮, 韓明 申請人:華為技術有限公司