集合中包含的數(shù)據(jù)塊在該容器中所占的比例較高,從而可以提高讀取文件時(shí)的有效數(shù)據(jù)率,進(jìn)而提高讀取性能。此外,刪除第三數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊可以減少磁盤的存儲(chǔ)壓力。另一方面,進(jìn)行數(shù)據(jù)去重后,該多個(gè)數(shù)據(jù)塊中剩余的數(shù)據(jù)塊被寫入快速的非易失存儲(chǔ)設(shè)備,當(dāng)快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊占用的存儲(chǔ)空間與快速的非易失存儲(chǔ)設(shè)備的存儲(chǔ)空間的比值大于第三閾值時(shí),才將快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊寫入磁盤。由于快速的非易失存儲(chǔ)設(shè)備的讀寫速度快于磁盤,因此,直接從快速的非易失存儲(chǔ)設(shè)備讀取數(shù)據(jù)塊的速率很快,因此,可以直接讀取快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊中有用的數(shù)據(jù)塊,可以保證從快速的非易失存儲(chǔ)設(shè)備中讀取文件時(shí)的有效數(shù)據(jù)率為100%。因此,采用本發(fā)明實(shí)施例提供的數(shù)據(jù)存儲(chǔ)裝置,可以減少磁盤的存儲(chǔ)壓力并提高讀取文件時(shí)的有效數(shù)據(jù)率,從而提高讀取性能。
[0153]通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考上述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
[0154]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0155]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
[0156]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0157]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(英文processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(英文:Read-Only Memory,縮寫:R0M)、隨機(jī)存取存儲(chǔ)器(英文:Random AccessMemory,縮寫:RAM)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0158]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括: 接收待存儲(chǔ)文件,將所述待存儲(chǔ)文件劃分為預(yù)設(shè)大小的多個(gè)數(shù)據(jù)塊,并從所述多個(gè)數(shù)據(jù)塊中確定第一數(shù)據(jù)塊集合,所述第一數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊為與磁盤中的任一容器中存儲(chǔ)的數(shù)據(jù)塊重復(fù)的數(shù)據(jù)塊; 當(dāng)所述第一數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊的個(gè)數(shù)與所述多個(gè)數(shù)據(jù)塊的個(gè)數(shù)的比值大于第一閾值時(shí),若存在包含的數(shù)據(jù)塊的個(gè)數(shù)大于第二閾值的第二數(shù)據(jù)塊集合,則從所述第一數(shù)據(jù)塊集合中刪除第三數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊,所述第二數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊為所述磁盤中一容器中存儲(chǔ)的、與所述第一數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊重復(fù)的數(shù)據(jù)塊,所述第三數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊為與所述第二數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊重復(fù)的數(shù)據(jù)塊; 將所述多個(gè)數(shù)據(jù)塊中剩余的數(shù)據(jù)塊寫入快速的非易失存儲(chǔ)設(shè)備; 當(dāng)所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊在所述快速的非易失存儲(chǔ)設(shè)備中占用的存儲(chǔ)空間與所述快速的非易失存儲(chǔ)設(shè)備的存儲(chǔ)空間的比值大于第三閾值時(shí),將所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊寫入所述磁盤。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述多個(gè)數(shù)據(jù)塊中剩余的數(shù)據(jù)塊寫入快速的非易失存儲(chǔ)設(shè)備,包括: 若所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)有數(shù)據(jù)塊,則從所述多個(gè)數(shù)據(jù)塊中剩余的數(shù)據(jù)塊中確定第四數(shù)據(jù)塊集合,所述第四數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊為與所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊重復(fù)的數(shù)據(jù)塊; 從所述多個(gè)數(shù)據(jù)塊中剩余的數(shù)據(jù)塊中刪除所述第四數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊,并將刪除所述第四數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊后的所述多個(gè)數(shù)據(jù)塊中剩余的數(shù)據(jù)塊寫入所述快速的非易失存儲(chǔ)設(shè)備。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述從所述多個(gè)數(shù)據(jù)塊中剩余的數(shù)據(jù)塊中刪除所述第四數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊之前,所述方法還包括: 從所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊中確定第五數(shù)據(jù)塊集合,所述第五數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊為與所述第四數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊重復(fù)的數(shù)據(jù)塊; 所述當(dāng)所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊在所述快速的非易失存儲(chǔ)設(shè)備中占用的存儲(chǔ)空間與所述快速的非易失存儲(chǔ)設(shè)備的存儲(chǔ)空間的比值大于第三閾值時(shí),將所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊寫入所述磁盤,包括: 當(dāng)所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊在所述快速的非易失存儲(chǔ)設(shè)備中占用的存儲(chǔ)空間與所述快速的非易失存儲(chǔ)設(shè)備的存儲(chǔ)空間的比值大于所述第三閾值時(shí),優(yōu)先將所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊中的第五數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊寫入所述磁盤。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)所述第一數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊的個(gè)數(shù)與所述多個(gè)數(shù)據(jù)塊的個(gè)數(shù)的比值大于所述第一閾值時(shí),若不存在包含的數(shù)據(jù)塊的個(gè)數(shù)大于所述第二閾值的所述第二數(shù)據(jù)塊集合,則將所述多個(gè)數(shù)據(jù)塊寫入所述快速的非易失存儲(chǔ)設(shè)備。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)所述第一數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊的個(gè)數(shù)與所述多個(gè)數(shù)據(jù)塊的個(gè)數(shù)的比值小于等于所述第一閾值時(shí),則將所述多個(gè)數(shù)據(jù)塊寫入所述磁盤。
6.根據(jù)權(quán)利要求1-5中任一項(xiàng)所述的方法,其特征在于,將數(shù)據(jù)塊寫入所述磁盤包括: 若待寫入的數(shù)據(jù)塊的個(gè)數(shù)大于所述磁盤中一個(gè)容器所能夠存儲(chǔ)的數(shù)據(jù)塊的個(gè)數(shù)時(shí),將所述待寫入的數(shù)據(jù)塊寫入所述磁盤中地址連續(xù)的容器。
7.一種數(shù)據(jù)存儲(chǔ)裝置,其特征在于,包括: 接收單元,用于接收待存儲(chǔ)文件; 數(shù)據(jù)塊劃分單元,用于將所述接收單元接收的所述待存儲(chǔ)文件劃分為預(yù)設(shè)大小的多個(gè)數(shù)據(jù)塊; 確定單元,用于從所述數(shù)據(jù)塊劃分單元?jiǎng)澐值乃龆鄠€(gè)數(shù)據(jù)塊中確定第一數(shù)據(jù)塊集合,所述第一數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊為與磁盤中任一容器中存儲(chǔ)的數(shù)據(jù)塊重復(fù)的數(shù)據(jù)塊; 刪除單元,用于當(dāng)所述確定單元確定的所述第一數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊的個(gè)數(shù)與所述數(shù)據(jù)塊劃分單元?jiǎng)澐值乃龆鄠€(gè)數(shù)據(jù)塊的個(gè)數(shù)的比值大于第一閾值時(shí),若存在包含的數(shù)據(jù)塊的個(gè)數(shù)大于第二閾值的第二數(shù)據(jù)塊集合,則從所述第一數(shù)據(jù)塊集合中刪除第三數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊,所述第二數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊為所述磁盤中一容器中存儲(chǔ)的、與所述第一數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊重復(fù)的數(shù)據(jù)塊,所述第三數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊為與所述第二數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊重復(fù)的數(shù)據(jù)塊; 寫入單元,用于將所述刪除單元?jiǎng)h除所述第三數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊后所述多個(gè)數(shù)據(jù)塊中剩余的數(shù)據(jù)塊寫入快速的非易失存儲(chǔ)設(shè)備; 所述寫入單元,還用于當(dāng)所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊在所述快速的非易失存儲(chǔ)設(shè)備中占用的存儲(chǔ)空間與所述快速的非易失存儲(chǔ)設(shè)備的存儲(chǔ)空間的比值大于第三閾值時(shí),將所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊寫入所述磁盤。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)存儲(chǔ)裝置,其特征在于, 所述確定單元,還用于若所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)有數(shù)據(jù)塊,則從所述多個(gè)數(shù)據(jù)塊中剩余的數(shù)據(jù)塊中確定第四數(shù)據(jù)塊集合,所述第四數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊為與所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊重復(fù)的數(shù)據(jù)塊; 所述刪除單元,還用于從所述多個(gè)數(shù)據(jù)塊中剩余的數(shù)據(jù)塊中刪除所述第四數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊; 所述寫入單元,具體用于將所述刪除單元?jiǎng)h除所述第四數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊后的所述多個(gè)數(shù)據(jù)塊中剩余的數(shù)據(jù)塊寫入所述快速的非易失存儲(chǔ)設(shè)備。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)存儲(chǔ)裝置,其特征在于, 所述確定單元,還用于在所述刪除單元從所述多個(gè)數(shù)據(jù)塊中剩余的數(shù)據(jù)塊中刪除所述第四數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊之前,從所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊中確定第五數(shù)據(jù)塊集合,所述第五數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊為與所述第四數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊重復(fù)的數(shù)據(jù)塊; 所述寫入單元,還具體用于當(dāng)所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊在所述快速的非易失存儲(chǔ)設(shè)備中占用的存儲(chǔ)空間與所述快速的非易失存儲(chǔ)設(shè)備的存儲(chǔ)空間的比值大于所述第三閾值時(shí),優(yōu)先將所述快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊中的第五數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊寫入所述磁盤。
10.根據(jù)權(quán)利要求7所述的數(shù)據(jù)存儲(chǔ)裝置,其特征在于, 所述寫入單元,還用于當(dāng)所述第一數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊的個(gè)數(shù)與所述多個(gè)數(shù)據(jù)塊的個(gè)數(shù)的比值大于所述第一閾值時(shí),若不存在包含的數(shù)據(jù)塊的個(gè)數(shù)大于所述第二閾值的所述第二數(shù)據(jù)塊集合,則將所述多個(gè)數(shù)據(jù)塊寫入所述快速的非易失存儲(chǔ)設(shè)備。
11.根據(jù)權(quán)利要求7所述的數(shù)據(jù)存儲(chǔ)裝置,其特征在于, 所述寫入單元,還用于當(dāng)所述第一數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊的個(gè)數(shù)與所述多個(gè)數(shù)據(jù)塊的個(gè)數(shù)的比值小于等于所述第一閾值時(shí),則將所述多個(gè)數(shù)據(jù)塊寫入所述磁盤。
12.根據(jù)權(quán)利要求7-11中任一項(xiàng)所述的數(shù)據(jù)存儲(chǔ)裝置,其特征在于, 所述寫入單元,還用于在將數(shù)據(jù)塊寫入所述磁盤時(shí),若待寫入的數(shù)據(jù)塊的個(gè)數(shù)大于所述磁盤中一個(gè)容器所能夠存儲(chǔ)的數(shù)據(jù)塊的個(gè)數(shù)時(shí),將所述待寫入的數(shù)據(jù)塊寫入所述磁盤中地址連續(xù)的容器。
【專利摘要】本發(fā)明實(shí)施例公開了一種數(shù)據(jù)存儲(chǔ)方法及裝置,涉及計(jì)算機(jī)領(lǐng)域,可以減少磁盤的存儲(chǔ)壓力、提高讀取文件的有效數(shù)據(jù)率,提高讀取性能。具體方案為:接收待存儲(chǔ)文件,將該文件劃分為預(yù)設(shè)大小的多個(gè)數(shù)據(jù)塊,并從該多個(gè)數(shù)據(jù)塊中確定第一數(shù)據(jù)塊集合;當(dāng)?shù)谝粩?shù)據(jù)塊集合中包含的數(shù)據(jù)塊的個(gè)數(shù)與該多個(gè)數(shù)據(jù)塊的個(gè)數(shù)的比值大于第一閾值時(shí),若存在包含的數(shù)據(jù)塊的個(gè)數(shù)大于第二閾值的第二數(shù)據(jù)塊集合,則從第一數(shù)據(jù)塊集合中刪除第三數(shù)據(jù)塊集合中包含的數(shù)據(jù)塊;將剩余的數(shù)據(jù)塊寫入快速的非易失存儲(chǔ)設(shè)備;當(dāng)快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊占用的存儲(chǔ)空間與快速的非易失存儲(chǔ)設(shè)備的存儲(chǔ)空間的比值大于第三閾值時(shí),將快速的非易失存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)塊寫入磁盤。
【IPC分類】G06F3-06, G06F17-30
【公開號(hào)】CN104750432
【申請(qǐng)?zhí)枴緾N201510115428
【發(fā)明人】柴云鵬, 孫東旺
【申請(qǐng)人】華為技術(shù)有限公司
【公開日】2015年7月1日
【申請(qǐng)日】2015年3月16日