本發(fā)明涉及存儲(chǔ)領(lǐng)域,并且更具體地,涉及一種自適應(yīng)存儲(chǔ)文件的方法和裝置。
背景技術(shù):
:在分布式文件系統(tǒng)中,為了減小存儲(chǔ)開(kāi)銷,可以采用糾刪碼(ErasureCode,EC)技術(shù)對(duì)數(shù)據(jù)進(jìn)行編解碼代替多副本復(fù)制的方案,每種EC技術(shù)都有各自的優(yōu)點(diǎn),有的可靠性高,有的恢復(fù)成本低,有的存儲(chǔ)開(kāi)銷低。例如,點(diǎn)積編解碼(ProductCode,PC)算法采用了水平和垂直兩個(gè)方向的編碼方式,只進(jìn)行XOR運(yùn)算,得到高的編解碼速度和低恢復(fù)成本,但存儲(chǔ)開(kāi)銷高,本地重建編解碼(LocallyReconstructionCode,LRC)算法的存儲(chǔ)開(kāi)銷低,但是多節(jié)點(diǎn)失效時(shí)的恢復(fù)成本高。因此現(xiàn)有EC技術(shù)的綜合性能還有待提升。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供一種自適應(yīng)存儲(chǔ)文件的方法和裝置,能夠提高存儲(chǔ)開(kāi)銷、恢復(fù)成本、可靠性和編解碼速度多個(gè)維度的綜合性能。第一方面,提供了一種自適應(yīng)存儲(chǔ)文件的方法,該方法包括:確定該文件的冷熱度屬性,該文件的冷熱度屬性表征該文件被訪問(wèn)的頻率;根據(jù)該文件的冷熱度屬性,對(duì)該文件執(zhí)行編碼存儲(chǔ)或轉(zhuǎn)碼存儲(chǔ)處理。該方法自適應(yīng)使用多種EC技術(shù),同時(shí)降低了存儲(chǔ)開(kāi)銷和恢復(fù)成本,整體上兼顧了各方面的性能。結(jié)合第一方面,在第一方面的第一種實(shí)現(xiàn)方式中,該確定文件的冷熱度屬性,包括:根據(jù)該文件的訪問(wèn)頻率和/或該文件的平均訪問(wèn)時(shí)間間隔,確定該文件的冷熱度屬性;在該文件的訪問(wèn)頻率大于第一頻率閾值,或該文件的平均訪問(wèn)時(shí)間間隔小于第一時(shí)間間隔時(shí),確定該文件的冷熱度屬性為熱;或在該文件的訪問(wèn)頻率不大于第一頻率閾值,或該文件的平均訪問(wèn)時(shí)間間隔不小于第一時(shí)間間隔時(shí),確定該文件的冷熱度屬性為冷。結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第二種實(shí)現(xiàn)方式中,該根據(jù)該文件的冷熱度屬性,對(duì)該文件執(zhí)行編碼存儲(chǔ)或轉(zhuǎn)碼存儲(chǔ)處理,包括:當(dāng)確定該文件的冷熱度屬性為熱時(shí),采用第一編解碼算法對(duì)該文件進(jìn)行編碼存儲(chǔ)處理;或當(dāng)確定該文件的冷熱度屬性為冷時(shí),采用第二編解碼算法對(duì)該文件進(jìn)行編碼存儲(chǔ)處理;其中,該第一編解碼算法的恢復(fù)成本低于恢復(fù)成本閾值,該第二編解碼算法的存儲(chǔ)開(kāi)銷低于存儲(chǔ)開(kāi)銷閾值。結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第三種實(shí)現(xiàn)方式中,該根據(jù)該文件的冷熱度屬性,對(duì)該文件執(zhí)行編解碼或轉(zhuǎn)碼存儲(chǔ)處理,包括:根據(jù)該文件的冷熱度屬性的變化,對(duì)該文件執(zhí)行轉(zhuǎn)碼存儲(chǔ)處理。結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第四種實(shí)現(xiàn)方式中,根據(jù)該文件的冷熱度屬性的變化,對(duì)該文件執(zhí)行轉(zhuǎn)碼存儲(chǔ)處理,包括:當(dāng)確定該文件的冷熱度屬性由冷轉(zhuǎn)變?yōu)闊釙r(shí),對(duì)該文件執(zhí)行從第一源編解碼算法到第一目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ)處理;或當(dāng)確定該文件的冷熱度屬性由熱轉(zhuǎn)變?yōu)槔鋾r(shí),對(duì)該文件執(zhí)行從第二源編解碼算法到第二目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ)處理;其中,該第一目標(biāo)編解碼算法的恢復(fù)成本低于恢復(fù)成本閾值,該第一源編解碼算法的恢復(fù)成本不低于該恢復(fù)成本閾值,該第二目標(biāo)編解碼算法的存儲(chǔ)開(kāi)銷低于存儲(chǔ)開(kāi)銷閾值,該第二源編解碼算法的存儲(chǔ)開(kāi)銷不低于存儲(chǔ)開(kāi)銷閾值。在該實(shí)現(xiàn)方式中,當(dāng)數(shù)據(jù)的冷熱屬性發(fā)生變化時(shí),采用了高效的增量轉(zhuǎn)碼方式,不對(duì)原始數(shù)據(jù)重新編碼,提升了性能。結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第五種實(shí)現(xiàn)方式中,該對(duì)該文件執(zhí)行從第一源編解碼算法到第一目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ)處理,包括:將第一源校驗(yàn)碼減去第一差值校驗(yàn)碼后得到的結(jié)果確定為第一目的校驗(yàn)碼;其中,該文件包括N個(gè)數(shù)據(jù)塊,該第一源校驗(yàn)碼是基于第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第一目的校驗(yàn)碼是基于該第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的M個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第一差值校驗(yàn)碼是基于該第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的除該M個(gè)數(shù)據(jù)塊以外的數(shù)據(jù)塊編碼產(chǎn)生的,該第一編碼函數(shù)為基于該第一源編解碼算法的編碼函數(shù),該N,M為正整數(shù),N>M。在該實(shí)現(xiàn)方式中,數(shù)據(jù)變熱時(shí),把之前冷數(shù)據(jù)EC技術(shù)編碼產(chǎn)生的校驗(yàn)碼轉(zhuǎn)換為熱數(shù)據(jù)EC技術(shù)的校驗(yàn)碼,無(wú)需對(duì)原始數(shù)據(jù)重新編碼,而是采用增量編碼的方式,能高效地完成轉(zhuǎn)碼,避免產(chǎn)生過(guò)多的性能損耗。結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第六種實(shí)現(xiàn)方式中,該 對(duì)該文件執(zhí)行從第二源編解碼算法到第二目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ)處理,包括:將第二源校驗(yàn)碼加上第二差值校驗(yàn)碼后得到的結(jié)果確定為第二目的校驗(yàn)碼;其中,該文件包括N個(gè)數(shù)據(jù)塊,該第二源校驗(yàn)碼是基于第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的M個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第二目的校驗(yàn)碼是基于該第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第二差值校驗(yàn)碼是基于該第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的除該M個(gè)數(shù)據(jù)塊以外的數(shù)據(jù)塊編碼產(chǎn)生的,該第二編碼函數(shù)為基于該第二源編解碼算法的編碼函數(shù),該N,M為正整數(shù),N>M。在該實(shí)現(xiàn)方式中,數(shù)據(jù)變冷時(shí),把之前熱數(shù)據(jù)EC技術(shù)編碼產(chǎn)生的校驗(yàn)碼轉(zhuǎn)換為冷數(shù)據(jù)EC技術(shù)的校驗(yàn)碼,無(wú)需對(duì)原始數(shù)據(jù)重新編碼,而是采用增量編碼的方式,能高效地完成轉(zhuǎn)碼,避免產(chǎn)生過(guò)多的性能損耗。結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第七種實(shí)現(xiàn)方式中,在該確定文件的冷熱度屬性之前,該方法還包括:判斷該文件的存儲(chǔ)時(shí)間達(dá)到第一時(shí)間閾值且該文件的訪問(wèn)次數(shù)小于第一次數(shù)閾值。第二方面,提供了一種自適應(yīng)存儲(chǔ)文件的裝置,該裝置包括執(zhí)行第一方面中的方法的各模塊。第三方面,提供了一種自適應(yīng)存儲(chǔ)文件的裝置,該裝置包括存儲(chǔ)器和與該存儲(chǔ)器連接的處理器,該存儲(chǔ)器用于存儲(chǔ)指令,該處理器用于執(zhí)行該存儲(chǔ)器存儲(chǔ)的指令,當(dāng)該處理器執(zhí)行該存儲(chǔ)器中存儲(chǔ)的指令時(shí),該處理器具體用于執(zhí)行第一方面中的方法,第一方面中的方法的步驟可以直接由該處理器執(zhí)行完成,也可以由處理器中的硬件及軟件模塊組合執(zhí)行完成,該軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中,該存儲(chǔ)介質(zhì)位于存儲(chǔ)器中?;谏鲜黾夹g(shù)方案,因此,根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法和裝置,能夠根據(jù)文件的冷熱度屬性對(duì)文件采用相應(yīng)的編解碼技術(shù)進(jìn)行存儲(chǔ)處理,因此能充分考慮文件的冷熱度屬性對(duì)存儲(chǔ)開(kāi)銷、恢復(fù)成本的需求,因此,能提高存儲(chǔ)開(kāi)銷、恢復(fù)成本、可靠性和編解碼速度多個(gè)維度的綜合性能。附圖說(shuō)明為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面所描述的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的 前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是根據(jù)本發(fā)明實(shí)施例的分布式文件存儲(chǔ)系統(tǒng)的示意性框圖。圖2是根據(jù)本發(fā)明實(shí)施例的自適應(yīng)編碼裝置原理圖。圖3是根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法的示意性流程圖。圖4是根據(jù)本發(fā)明實(shí)施例的轉(zhuǎn)碼存儲(chǔ)文件的方法的示意圖。圖5是根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的裝置的示意性框圖。圖6是根據(jù)本發(fā)明另一實(shí)施例的自適應(yīng)存儲(chǔ)文件的裝置的示意性框圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明的技術(shù)方案,可以應(yīng)用于分布式文件存儲(chǔ)系統(tǒng)中,例如Handoop分布式文件系統(tǒng)(HandoopDistributedFileSystem,HDFS)系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)(NetworkFileSystem,NFS)系統(tǒng)等。在介紹本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法之前,首先介紹分布式文件存儲(chǔ)系統(tǒng)的物理結(jié)構(gòu),圖1示出了分布式文件存儲(chǔ)系統(tǒng)的物理結(jié)構(gòu),如圖1所示,該分布式文件存儲(chǔ)系統(tǒng)通常包括一個(gè)命名節(jié)點(diǎn)(NameNode)和多個(gè)數(shù)據(jù)節(jié)點(diǎn)(DataNode)的集群,數(shù)據(jù)節(jié)點(diǎn)的數(shù)量不限,數(shù)據(jù)節(jié)點(diǎn)被劃分到多個(gè)機(jī)架,同一個(gè)機(jī)架下的數(shù)據(jù)節(jié)點(diǎn)通過(guò)交換機(jī)互聯(lián),機(jī)架間也通過(guò)交換機(jī)互聯(lián),其中,命名節(jié)點(diǎn)管理著整個(gè)集群的元數(shù)據(jù),數(shù)據(jù)節(jié)點(diǎn)負(fù)責(zé)文件數(shù)據(jù)在本地的持久化存儲(chǔ)。EC(ErasureCode,糾刪碼)是一類對(duì)數(shù)據(jù)進(jìn)行編碼產(chǎn)生冗余數(shù)據(jù)以保障數(shù)據(jù)可靠性的技術(shù)。它將數(shù)據(jù)切分成多個(gè)數(shù)據(jù)塊,分散到各個(gè)DataNode,同時(shí),編碼得到的校驗(yàn)碼也存放不同的位置,例如磁盤、節(jié)點(diǎn)或者其它地理位置,提供可靠性或容災(zāi)能力。例如當(dāng)Node4的一個(gè)文件塊丟失時(shí),需要從其它5個(gè)節(jié)點(diǎn)讀取數(shù)據(jù)回傳到Node4進(jìn)行解碼,才能還原出數(shù)據(jù),恢復(fù)成本較高。典型的HDFS中使用了RS(10,4),即10份文件塊,4份校驗(yàn)碼,這種情況下,網(wǎng)絡(luò)中需要傳輸10份數(shù)據(jù)才能進(jìn)行數(shù)據(jù)恢復(fù),恢復(fù)成本為10x。EC有多種具體技術(shù)實(shí)現(xiàn),如:RS(Reed-Solomon)Code,CRS (CauchyReed-Solomon)Code,LRC(LocalReconstructionCodes),HitchHiker等等。如圖2所示,本發(fā)明實(shí)施例的分布式文件存儲(chǔ)系統(tǒng)還可以包括冷熱感應(yīng)裝置和自適應(yīng)編碼裝置。冷熱感應(yīng)裝置主要用于管理維護(hù)數(shù)據(jù)的冷熱程度,在一個(gè)實(shí)施例中,可以采用warm隊(duì)列(按LRU規(guī)則淘汰)和hot隊(duì)列(按FIFO規(guī)則淘汰)來(lái)管理維護(hù)較熱的數(shù)據(jù),只有當(dāng)文件訪問(wèn)次數(shù)達(dá)到預(yù)設(shè)的閥值(例如5次)才觸發(fā)隊(duì)列元素的遷移,避免隊(duì)列頻繁遷移。而不在warm隊(duì)列和hot隊(duì)列中的數(shù)據(jù)則視為冷數(shù)據(jù)。在另一個(gè)實(shí)施例中,也可以用一個(gè)單獨(dú)的cold隊(duì)列來(lái)維護(hù)管理冷數(shù)據(jù),例如,當(dāng)文件訪問(wèn)次數(shù)低于某預(yù)設(shè)的閾值時(shí),將該數(shù)據(jù)加入cold隊(duì)列。調(diào)度器主要用于編解碼任務(wù)的調(diào)度,例如基于客戶端的請(qǐng)求,調(diào)度文件或文件塊進(jìn)行編碼。自適應(yīng)模塊和EC模塊根據(jù)冷熱感應(yīng)裝置輸出的結(jié)果,對(duì)不同冷熱度的數(shù)據(jù)采用不同EC技術(shù)進(jìn)行編解碼,對(duì)于較熱的數(shù)據(jù)采用恢復(fù)成本較低的EC編碼技術(shù),以快速恢復(fù)數(shù)據(jù);對(duì)于較冷的數(shù)據(jù),采用存儲(chǔ)開(kāi)銷較低的EC技術(shù),如RSCode。例如,對(duì)于在hot和/或warm隊(duì)列中的數(shù)據(jù),采用恢復(fù)成本較低的EC編碼技術(shù),對(duì)于不在warm和hot兩隊(duì)列里面的數(shù)據(jù),較冷的數(shù)據(jù)采用RSCode技術(shù),該技術(shù)存儲(chǔ)開(kāi)銷低??梢岳斫獾氖?,自適應(yīng)模塊和EC模塊也可以合成為一個(gè)模塊,以實(shí)現(xiàn)根據(jù)數(shù)據(jù)冷熱程度自適應(yīng)EC編碼的功能。進(jìn)一步地,如圖2所示,數(shù)據(jù)變冷或變熱時(shí)對(duì)校驗(yàn)碼節(jié)點(diǎn)的編碼結(jié)果進(jìn)行冷轉(zhuǎn)碼或熱轉(zhuǎn)碼,采用增量編碼的方式進(jìn)行轉(zhuǎn)碼,而且只有一半校驗(yàn)碼才需要轉(zhuǎn)碼,避免全部重新編碼產(chǎn)生的性能問(wèn)題。關(guān)于冷轉(zhuǎn)碼和熱轉(zhuǎn)碼的具體實(shí)現(xiàn)細(xì)節(jié)請(qǐng)參見(jiàn)圖4及相關(guān)的實(shí)施例。在一個(gè)實(shí)施例中,該冷熱感應(yīng)裝置和自適應(yīng)編碼裝置可以集成在自適應(yīng)存儲(chǔ)文件的裝置中,該自適應(yīng)存儲(chǔ)文件的裝置可以集成于命名節(jié)點(diǎn)中,也可以為該分布式文件存儲(chǔ)系統(tǒng)中獨(dú)立的裝置,本發(fā)明實(shí)施例對(duì)此不作限制??梢岳斫獾氖?,該自適應(yīng)存儲(chǔ)文件的裝置可以可由軟件、硬件和/或固件的適當(dāng)組合執(zhí)行。本發(fā)明后續(xù)的實(shí)施例對(duì)其部分實(shí)現(xiàn)方式做了介紹。圖3示出了根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法1000的示意性流程圖,該方法1000可以由上述自適應(yīng)存儲(chǔ)文件的裝置執(zhí)行,該方法1000 包括:S1100,確定該文件的冷熱度屬性,該文件的冷熱度屬性表征該文件被訪問(wèn)的頻率;S1200,根據(jù)該文件的冷熱度屬性,對(duì)該文件執(zhí)行編碼存儲(chǔ)或轉(zhuǎn)碼存儲(chǔ)處理。具體而言,該自適應(yīng)存儲(chǔ)文件的裝置可以用于確定當(dāng)前文件的冷熱度屬性,該文件的冷熱度屬性表征該文件被訪問(wèn)的頻率??蛇x地,該自適應(yīng)存儲(chǔ)文件的裝置可以根據(jù)文件的訪問(wèn)頻率來(lái)確定該文件的冷熱度屬性,例如,當(dāng)該文件的訪問(wèn)頻率大于10次每周時(shí),可以確定該文件的冷熱度屬性為熱;該自適應(yīng)存儲(chǔ)文件的裝置還可以根據(jù)文件的平均訪問(wèn)時(shí)間間隔來(lái)確定該文件的冷熱度屬性,例如,在一段時(shí)間內(nèi),例如1個(gè)月或2個(gè)月內(nèi),如果該文件連續(xù)兩次訪問(wèn)的平均訪問(wèn)時(shí)間間隔小于16.8小時(shí),該自適應(yīng)存儲(chǔ)文件的裝置可以確定該文件的冷熱度屬性為熱。在該自適應(yīng)存儲(chǔ)文件的裝置確定該文件的冷熱度屬性后,該自適應(yīng)存儲(chǔ)文件的裝置可以根據(jù)該文件的冷熱度屬性,對(duì)該文件執(zhí)行編碼存儲(chǔ)或轉(zhuǎn)碼存儲(chǔ)。可選地,當(dāng)該文件當(dāng)前的冷熱度屬性為熱時(shí),該自適應(yīng)存儲(chǔ)文件的裝置可以采用恢復(fù)成本低的編解碼技術(shù)對(duì)該文件進(jìn)行存儲(chǔ)處理,例如,可以采用PC(2x5)技術(shù)或奇偶編解碼(EvenOddCode)技術(shù)等;當(dāng)該文件當(dāng)前的冷熱度屬性為冷時(shí),可選地,該自適應(yīng)存儲(chǔ)文件的裝置可以采用存儲(chǔ)開(kāi)銷低的編解碼技術(shù)對(duì)該文件進(jìn)行存儲(chǔ)處理,例如,采用PC(6x5)編解碼技術(shù)、水平垂直編解碼(HoVerCode)或LRC技術(shù)等。可選地,如果確定該文件的冷熱度屬性由冷轉(zhuǎn)變?yōu)闊釙r(shí),該自適應(yīng)存儲(chǔ)文件的裝置還可以將該文件當(dāng)前采用的編解碼技術(shù)轉(zhuǎn)換為采用恢復(fù)成本更低的編解碼技術(shù)進(jìn)行存儲(chǔ);如果確定該文件的冷熱度屬性由熱轉(zhuǎn)變?yōu)槔鋾r(shí),該自適應(yīng)存儲(chǔ)文件的裝置還可以將該文件當(dāng)前的采用的編解碼技術(shù)轉(zhuǎn)換為采用存儲(chǔ)開(kāi)銷更低的編解碼技術(shù)進(jìn)行存儲(chǔ)。因此,根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法,能夠根據(jù)文件的冷熱度屬性對(duì)文件采用相應(yīng)的編解碼技術(shù)進(jìn)行存儲(chǔ)處理,能充分考慮文件的冷熱度屬性對(duì)存儲(chǔ)開(kāi)銷、恢復(fù)成本的需求,而且采用的編解碼技術(shù)的可靠性高,編解碼速度快,因此,本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法,能同時(shí)兼顧存儲(chǔ)開(kāi)銷、恢復(fù)成本、可靠性和編解碼速度多個(gè)維度的性能。應(yīng)理解,在本發(fā)明實(shí)施例中,編碼存儲(chǔ)可以指采用一種編解碼算法對(duì)文 件進(jìn)行存儲(chǔ)處理,在分布式文件存儲(chǔ)系統(tǒng)中,該文件分為幾個(gè)文件塊數(shù)據(jù)分別存儲(chǔ)在多個(gè)數(shù)據(jù)節(jié)點(diǎn)上,對(duì)該文件進(jìn)行編碼存儲(chǔ)處理可以指將該文件包括的幾個(gè)文件塊數(shù)據(jù)進(jìn)行線性迭代運(yùn)算,得到該文件的校驗(yàn)碼,然后將該文件的校驗(yàn)碼存儲(chǔ)到新的數(shù)據(jù)節(jié)點(diǎn),也就是文件塊數(shù)據(jù)與校驗(yàn)碼數(shù)據(jù)不會(huì)存放在同一個(gè)節(jié)點(diǎn);轉(zhuǎn)碼存儲(chǔ)指的是將存儲(chǔ)該文件當(dāng)前采用的編解碼算法轉(zhuǎn)換為另一種編解碼算法,也可以理解為將存儲(chǔ)該文件采用的一種編解碼算法的校驗(yàn)碼轉(zhuǎn)換為另一種編解碼算法的校驗(yàn)碼,例如,當(dāng)前存儲(chǔ)該文件采用的編解碼算法是A算法,對(duì)應(yīng)的校驗(yàn)碼為A校驗(yàn)碼,對(duì)該文件進(jìn)行轉(zhuǎn)碼存儲(chǔ)可以將存儲(chǔ)該文件采用的A算法轉(zhuǎn)換為B算法,可以將該文件采用B算法重新編碼以生成B算法對(duì)應(yīng)的B校驗(yàn)碼,可選地,還可以將A算法對(duì)應(yīng)的A校驗(yàn)碼轉(zhuǎn)換為B算法對(duì)應(yīng)的B校驗(yàn)碼??蛇x地,在本發(fā)明實(shí)施例中,確定該文件的冷熱度屬性,包括:根據(jù)該文件的訪問(wèn)頻率和/或該文件的平均訪問(wèn)時(shí)間間隔,確定該文件的冷熱度屬性;在該文件的訪問(wèn)頻率大于第一頻率閾值,或該文件的平均訪問(wèn)時(shí)間間隔小于第一時(shí)間間隔時(shí),確定該文件的冷熱度屬性為熱;或在該文件的訪問(wèn)頻率不大于第一頻率閾值,或該文件的平均訪問(wèn)時(shí)間間隔不小于第一時(shí)間間隔時(shí),確定該文件的冷熱度屬性為冷。具體而言,該自適應(yīng)存儲(chǔ)文件的裝置可以用于確定該文件的冷熱度屬性,該自適應(yīng)存儲(chǔ)文件的裝置可以根據(jù)該文件的訪問(wèn)頻率和/或該文件的平均訪問(wèn)時(shí)間間隔來(lái)確定文件的冷熱度屬性??蛇x地,該自適應(yīng)存儲(chǔ)文件的裝置可以周期性的檢測(cè)該文件的狀態(tài),例如,該自適應(yīng)存儲(chǔ)文件的裝置可以1周檢測(cè)1次該文件的狀態(tài),記錄在這1周內(nèi)該文件的訪問(wèn)次數(shù)和/或該文件最近兩次的訪問(wèn)時(shí)間間隔??蛇x地,該自適應(yīng)存儲(chǔ)文件的裝置可以從該文件存儲(chǔ)到該分布式文件系統(tǒng)開(kāi)始執(zhí)行周期性的檢測(cè)該文件的狀態(tài)的操作,例如,如果該文件的存儲(chǔ)時(shí)間為8周時(shí),該自適應(yīng)存儲(chǔ)文件的裝置檢測(cè)文件的狀態(tài)的檢測(cè)周期為1周,那么在8周的存儲(chǔ)周期內(nèi),該自適應(yīng)存儲(chǔ)文件的裝置檢測(cè)該文件的狀態(tài)共8次,記錄了8組該文件的訪問(wèn)數(shù)據(jù)。可選地,該自適應(yīng)存儲(chǔ)文件的裝置可以根據(jù)記錄的8組訪問(wèn)數(shù)據(jù)中的每周訪問(wèn)次數(shù)的數(shù)據(jù)確定該文件的訪問(wèn)頻率。同樣地,該自適應(yīng)存儲(chǔ)文件的裝置可以根據(jù)記錄的8組訪問(wèn)數(shù)據(jù)中的該文件的最近兩次的訪問(wèn)時(shí)間間隔確定該文件的平均訪問(wèn)時(shí)間間 隔。可選地,該自適應(yīng)存儲(chǔ)文件的裝置還可以根據(jù)固定的一段時(shí)間(例如,1個(gè)月或2個(gè)月等)的該文件的訪問(wèn)次數(shù)或最近兩次的訪問(wèn)時(shí)間間隔的數(shù)據(jù),確定該文件的訪問(wèn)頻率或平均訪問(wèn)時(shí)間間隔??蛇x地,在該文件的訪問(wèn)頻率大于第一頻率閾值,或該文件的平均訪問(wèn)時(shí)間間隔小于第一時(shí)間間隔時(shí),確定該文件的冷熱度屬性為熱;或在該文件的訪問(wèn)頻率不大于第一頻率閾值,或該文件的平均訪問(wèn)時(shí)間間隔不小于第一時(shí)間間隔時(shí),確定該文件的冷熱度屬性為冷。例如,如果該第一頻率閾值為10次/周,那么該文件的訪問(wèn)頻率大于10次/周時(shí),可以確定該文件的冷熱度屬性為熱,否則,該文件的冷熱度屬性為冷;或者,如果第一時(shí)間間隔為0.7天/次,那么該文件的平均訪問(wèn)時(shí)間間隔小于0.7天/次時(shí),可以確定該文件的冷熱度屬性為熱,否則,該文件的冷熱度屬性為冷。應(yīng)理解,該第一頻率閾值和該第一時(shí)間間隔不是唯一確定的,該第一頻率閾值和該第一時(shí)間間隔可以根據(jù)該分布式文件存儲(chǔ)系統(tǒng)的訪問(wèn)量和/該系統(tǒng)的存儲(chǔ)容量確定,可選地,在該分布式文件系統(tǒng)的訪問(wèn)量較大時(shí),該第一頻率閾值可以設(shè)置的相對(duì)較大些,在該系統(tǒng)的存儲(chǔ)容量較大時(shí),也可以將該第一頻率閾值設(shè)置得相對(duì)較大些,該第一頻率閾值和該第一時(shí)間間隔也可以根據(jù)其他因素來(lái)確定,例如,該文件的類型等,本發(fā)明實(shí)施例不作限制。應(yīng)理解,本發(fā)明實(shí)施例以該第一頻率閾值為10次/周,第一時(shí)間間隔為0.7天/次為例進(jìn)行說(shuō)明僅僅是為了示例,而不應(yīng)對(duì)本發(fā)明實(shí)施例構(gòu)成任何限制,本發(fā)明實(shí)施例該第一頻率閾值還可以為8次/周,該第一時(shí)間間隔為1天/次等??蛇x地,在本發(fā)明實(shí)施例中,根據(jù)該文件的冷熱度屬性,對(duì)該文件執(zhí)行編解碼或轉(zhuǎn)碼存儲(chǔ),包括:當(dāng)確定該文件的冷熱度屬性為熱時(shí),采用第一編解碼算法對(duì)該文件進(jìn)行編碼存儲(chǔ)處理;或當(dāng)確定該文件的冷熱度屬性為冷時(shí),采用第二編解碼算法對(duì)該文件進(jìn)行編碼存儲(chǔ)處理;其中,該第一編解碼算法的恢復(fù)成本低于恢復(fù)成本閾值,該第二編解碼算法的存儲(chǔ)開(kāi)銷低于存儲(chǔ)開(kāi)銷閾值。具體而言,在本發(fā)明實(shí)施例中,該文件的原始存儲(chǔ)方式可以為多副本存儲(chǔ)方式,采用多副本存儲(chǔ)方式的存儲(chǔ)開(kāi)銷比較大,例如,如果該文件的原始 存儲(chǔ)方式為3副本存儲(chǔ)方式,那么該文件的存儲(chǔ)開(kāi)銷為該文件大小的3倍。此時(shí),可以將該文件轉(zhuǎn)換為采用EC編解碼技術(shù)進(jìn)行存儲(chǔ),EC編解碼技術(shù)相對(duì)于多副本技術(shù)的可靠性更高,而且編解碼速度更快??蛇x地,該自適應(yīng)存儲(chǔ)文件的裝置可以根據(jù)文件的冷熱度屬性,選擇采用恢復(fù)成本低的EC編解碼技術(shù)還是采用存儲(chǔ)開(kāi)銷低的編解碼技術(shù)。在自適應(yīng)存儲(chǔ)文件的裝置對(duì)該文件采用EC編解碼技術(shù)進(jìn)行存儲(chǔ)之前,可選地,該自適應(yīng)存儲(chǔ)文件的裝置首先確定該文件的冷熱度屬性,該自適應(yīng)存儲(chǔ)文件的裝置可以根據(jù)該文件的訪問(wèn)頻率和/或該文件的平均訪問(wèn)時(shí)間間隔來(lái)確定該文件的冷熱度屬性,然后該自適應(yīng)存儲(chǔ)文件的裝置可以根據(jù)文件的冷熱度屬性,采取相應(yīng)的EC編解碼技術(shù)進(jìn)行存儲(chǔ),可選地,在該自適應(yīng)存儲(chǔ)文件的裝置確定該文件的冷熱度屬性為熱時(shí),該自適應(yīng)存儲(chǔ)文件的裝置使用第一編解碼算法對(duì)該文件進(jìn)行存儲(chǔ),當(dāng)該自適應(yīng)存儲(chǔ)文件的裝置確定該文件的冷熱度屬性為冷時(shí),該自適應(yīng)存儲(chǔ)文件的裝置使用第二編解碼算法對(duì)該文件進(jìn)行存儲(chǔ);其中,該第一編解碼算法的恢復(fù)成本低于恢復(fù)成本閾值,該第二編解碼算法的存儲(chǔ)開(kāi)銷低于存儲(chǔ)開(kāi)銷閾值。例如,該第一編解碼算法可以為PC(2x5)技術(shù)、EvenOddCode技術(shù)等,該第二編解碼算法可以為PC(6x5)技術(shù)、LRC技術(shù)等。在該自適應(yīng)存儲(chǔ)文件的裝置根據(jù)該文件的冷熱度屬性對(duì)文件采用相應(yīng)的EC編解碼技術(shù)進(jìn)行存儲(chǔ)處理后,刪除采用多副本方式存儲(chǔ)的數(shù)據(jù),這樣就釋放了采用多副本方式存儲(chǔ)數(shù)據(jù)占用的空間,從而節(jié)省了存儲(chǔ)開(kāi)銷。應(yīng)理解,該恢復(fù)成本閾值和該存儲(chǔ)開(kāi)銷閾值可以是系統(tǒng)設(shè)置的,也可以是用戶根據(jù)當(dāng)前根據(jù)需求設(shè)置的,本發(fā)明實(shí)施例對(duì)此不作限制。因此,根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法,能夠根據(jù)文件的冷熱度屬性對(duì)文件采用相應(yīng)的編解碼技術(shù)進(jìn)行存儲(chǔ)處理,能充分考慮文件的冷熱度屬性對(duì)存儲(chǔ)開(kāi)銷、恢復(fù)成本的需求,而且采用的編解碼技術(shù)的可靠性高,編解碼速度快,因此,本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法,能提高存儲(chǔ)開(kāi)銷、恢復(fù)成本、可靠性和編解碼速度多個(gè)維度的綜合性能??蛇x地,在本發(fā)明實(shí)施例中,在確定該文件的冷熱度屬性之前,該方法1000還包括:判斷該文件的存儲(chǔ)時(shí)間達(dá)到第一時(shí)間閾值且該文件的訪問(wèn)次數(shù)小于第一次數(shù)閾值。具體而言,當(dāng)該文件的原始存儲(chǔ)方式為多副本存儲(chǔ)方式時(shí),可選地,在 確定該文件的冷熱度屬性之前,先判斷該文件的存儲(chǔ)時(shí)間達(dá)到第一時(shí)間閾值且該文件的訪問(wèn)次數(shù)小于第一時(shí)間閾值,也就是在這段存儲(chǔ)時(shí)間內(nèi)該文件沒(méi)有經(jīng)常被訪問(wèn),如果一個(gè)不經(jīng)常被訪問(wèn)的文件在文件系統(tǒng)中采用多副本方式存儲(chǔ),會(huì)浪費(fèi)大量的存儲(chǔ)空間,因此將該文件轉(zhuǎn)換為采用編解碼技術(shù)進(jìn)行存儲(chǔ)會(huì)減少對(duì)存儲(chǔ)空間的占用。在將該文件轉(zhuǎn)換為采用編解碼技術(shù)之前,可以首先確定該文件的冷熱度屬性,然后根據(jù)該文件的冷熱度屬性確定選擇采用恢復(fù)成本低的編解碼技術(shù)還是采用存儲(chǔ)開(kāi)銷低的編解碼技術(shù)??蛇x地,在本發(fā)明實(shí)施例中,根據(jù)該文件的冷熱度屬性對(duì)該文件執(zhí)行編解碼或轉(zhuǎn)碼存儲(chǔ),包括:根據(jù)該文件的冷熱度屬性的變化,對(duì)該文件執(zhí)行轉(zhuǎn)碼存儲(chǔ)。換句話說(shuō),該自適應(yīng)存儲(chǔ)文件的裝置可以根據(jù)該文件的冷熱度屬性的變化,確定對(duì)該文件執(zhí)行轉(zhuǎn)碼存儲(chǔ),可選地,在該文件的冷熱度屬性由冷轉(zhuǎn)變?yōu)闊峄蛴蔁徂D(zhuǎn)變?yōu)槔鋾r(shí),該自適應(yīng)存儲(chǔ)文件的裝置可以對(duì)存儲(chǔ)該文件采用的編解碼算法執(zhí)行從一種編解碼算法到另一種編解碼算法的轉(zhuǎn)換??蛇x地,在本發(fā)明實(shí)施例中,根據(jù)該文件的冷熱度的變化,對(duì)該文件執(zhí)行轉(zhuǎn)碼存儲(chǔ),包括:當(dāng)確定該文件的冷熱度屬性由冷轉(zhuǎn)變?yōu)闊釙r(shí),對(duì)該文件執(zhí)行從第一源編解碼算法到第一目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ)處理;或當(dāng)確定該文件的冷熱度屬性由熱轉(zhuǎn)變?yōu)槔鋾r(shí),對(duì)該文件執(zhí)行從第二源編解碼算法到第二目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ)處理;其中,該第一目標(biāo)編解碼算法的恢復(fù)成本低于恢復(fù)成本閾值,該第一源編解碼算法的恢復(fù)成本不低于該恢復(fù)成本閾值,該第二目標(biāo)編解碼算法的存儲(chǔ)開(kāi)銷低于存儲(chǔ)開(kāi)銷閾值,該第二源編解碼算法的存儲(chǔ)開(kāi)銷不低于存儲(chǔ)開(kāi)銷閾值。具體而言,在本發(fā)明實(shí)施例中,存儲(chǔ)該文件采用的存儲(chǔ)技術(shù)為一種EC編解碼技術(shù),因?yàn)椴捎靡环NEC編解碼技術(shù)不能同時(shí)兼顧多個(gè)維度的性能,而且不同冷熱度屬性的文件對(duì)恢復(fù)成本或存儲(chǔ)開(kāi)銷等性能的要求不同。可選地,當(dāng)該自適應(yīng)存儲(chǔ)文件的裝置確定文件的冷熱度屬性發(fā)生變化,例如,該自適應(yīng)存儲(chǔ)文件的裝置確定該文件的冷熱度屬性由冷轉(zhuǎn)變?yōu)闊峄蛟撐募睦錈岫葘傩杂蔁徂D(zhuǎn)變?yōu)槔洌@種情況下,也可以理解為該文件對(duì)采用的編解碼技術(shù)的性能的要求發(fā)生改變。當(dāng)文件的冷熱度屬性由冷變熱時(shí),該文件對(duì) 采用的編解碼技術(shù)的恢復(fù)成本的要求變高,對(duì)存儲(chǔ)開(kāi)銷的要求變低,當(dāng)文件的冷熱度屬性由熱變冷時(shí),該文件對(duì)采用的編解碼技術(shù)的存儲(chǔ)開(kāi)銷的要求變高,對(duì)恢復(fù)成本的要求變高。可選地,當(dāng)文件的冷熱度屬性發(fā)生變化時(shí),該自適應(yīng)存儲(chǔ)文件的裝置根據(jù)該文件的冷熱度屬性,將該文件進(jìn)行轉(zhuǎn)碼存儲(chǔ),也就是該自適應(yīng)存儲(chǔ)文件的裝置根據(jù)該文件的冷熱度屬性的變化,將存儲(chǔ)該文件當(dāng)前采用的EC編解碼技術(shù)轉(zhuǎn)化為與文件當(dāng)前的冷熱度屬性需求匹配的EC編解碼技術(shù)??蛇x地,當(dāng)該自適應(yīng)存儲(chǔ)文件的裝置確定該文件的冷熱度屬性是由冷變熱時(shí),該自適應(yīng)存儲(chǔ)文件的裝置對(duì)該文件執(zhí)行從第一源編解碼算法到第一目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ),其中,該第一目標(biāo)編解碼算法的恢復(fù)成本低于恢復(fù)成本閾值,該第一源編解碼算法的恢復(fù)成本不低于該恢復(fù)成本閾值,由于存儲(chǔ)冷熱度屬性為熱的文件相對(duì)于存儲(chǔ)冷熱度屬性為冷的文件對(duì)于恢復(fù)成本的要求更高,也就是存儲(chǔ)冷熱度屬性為熱的文件要求的恢復(fù)成本低于存儲(chǔ)冷熱度屬性為冷的文件要求的恢復(fù)成本。所以當(dāng)文件的冷熱度屬性發(fā)生變化時(shí),需要根據(jù)文件的冷熱度屬性的變化,對(duì)存儲(chǔ)文件采用的EC編解碼技術(shù)做出相應(yīng)的調(diào)整。換句話說(shuō),當(dāng)文件的冷熱度屬性由冷轉(zhuǎn)變?yōu)闊釙r(shí),之前存儲(chǔ)該文件采用的EC編解碼方式的恢復(fù)成本方面的性能可能不能滿足當(dāng)前冷熱度屬性的需求,那么如果仍然采用以前的恢復(fù)成本較高的EC編解碼技術(shù)進(jìn)行存儲(chǔ),會(huì)增加該文件的總的恢復(fù)成本,可選地,當(dāng)文件的冷熱度屬性由冷變熱時(shí),將之前采用的恢復(fù)成本較高的編解碼技術(shù)轉(zhuǎn)換為恢復(fù)成本相對(duì)較低的編解碼技術(shù),例如,可以將采用里德所羅門(ReedSolomon,RS)Code編解碼技術(shù)轉(zhuǎn)換為采用混合里德所羅門(Mix-ReedSolomon,Mix-RS)Code編解碼技術(shù),其中,該Mix-RSCode的恢復(fù)成本低于RSCode的恢復(fù)成本。同樣地,當(dāng)文件的冷熱度屬性由熱轉(zhuǎn)變?yōu)槔鋾r(shí),該自適應(yīng)存儲(chǔ)文件的裝置對(duì)該文件執(zhí)行從第二源編解碼算法到第二目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ),其中,該第二目標(biāo)編解碼算法的存儲(chǔ)開(kāi)銷低于存儲(chǔ)開(kāi)銷閾值,該第二源編解碼算法的存儲(chǔ)開(kāi)銷不低于存儲(chǔ)開(kāi)銷閾值,由于存儲(chǔ)冷熱度屬性為冷的文件相對(duì)于存儲(chǔ)冷熱度屬性為熱的文件對(duì)于存儲(chǔ)開(kāi)銷的要求更高,也就是存儲(chǔ)冷熱度屬性為冷的文件要求的存儲(chǔ)開(kāi)銷低于存儲(chǔ)冷熱度為熱的文件要求的存儲(chǔ)開(kāi)銷。所以當(dāng)文件的冷熱度屬性發(fā)生變化時(shí),需要根據(jù)文件的冷熱度屬性,對(duì)存儲(chǔ)文件采用的EC編解碼技術(shù)做出相應(yīng)的調(diào)整??蛇x地,當(dāng)文件的冷熱度屬性由熱轉(zhuǎn)變?yōu)槔鋾r(shí),將之前采用的存儲(chǔ)開(kāi)銷較高的編解碼技術(shù) 轉(zhuǎn)換為存儲(chǔ)開(kāi)銷相對(duì)較低的編解碼技術(shù),例如,可以將存儲(chǔ)該文件采用的編解碼技術(shù)由Mix-RSCode編解碼技術(shù)轉(zhuǎn)換為RSCode編解碼技術(shù),其中,該RSCode的存儲(chǔ)開(kāi)銷低于Mix-RSCode的存儲(chǔ)開(kāi)銷??蛇x地,該自適應(yīng)存儲(chǔ)文件的裝置可以對(duì)該文件的原始數(shù)據(jù)重新編碼來(lái)產(chǎn)生新的編解碼技術(shù)下的校驗(yàn)碼,該自適應(yīng)存儲(chǔ)文件的裝置也可以采用增量方式產(chǎn)生新的編解碼技術(shù)下的校驗(yàn)碼,例如,將采用第一源編解碼算法的校驗(yàn)碼轉(zhuǎn)換為采用第一目標(biāo)編解碼算法的校驗(yàn)碼。該自適應(yīng)存儲(chǔ)文件的裝置采用增量方式進(jìn)行轉(zhuǎn)碼,避免了對(duì)該文件的原始數(shù)據(jù)進(jìn)行重新編碼產(chǎn)生的性能損耗。因此,根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法,能夠根據(jù)文件的冷熱度屬性對(duì)文件采用相應(yīng)的編解碼技術(shù)進(jìn)行轉(zhuǎn)碼存儲(chǔ)處理,能充分考慮文件的冷熱度屬性對(duì)存儲(chǔ)開(kāi)銷、恢復(fù)成本的需求,而且采用的編解碼技術(shù)的可靠性高,編解碼速度快,因此,本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法,能提高存儲(chǔ)開(kāi)銷、恢復(fù)成本、可靠性和編解碼速度多個(gè)維度的綜合性能。可選地,在本發(fā)明實(shí)施例中,對(duì)該文件執(zhí)行從第一源編解碼算法到第一目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ)處理,包括:將第一源校驗(yàn)碼減去第一差值校驗(yàn)碼后得到的結(jié)果確定為第一目的校驗(yàn)碼;其中,該文件包括N個(gè)數(shù)據(jù)塊,該第一源校驗(yàn)碼是基于第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第一目的校驗(yàn)碼是基于該第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的M個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第一差值校驗(yàn)碼是基于該第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的除該M個(gè)數(shù)據(jù)塊以外的數(shù)據(jù)塊編碼產(chǎn)生的,該第一編碼函數(shù)為基于該第一源編解碼算法的編碼函數(shù),該N,M為正整數(shù),N>M。具體而言,在該文件的冷熱度屬性由冷轉(zhuǎn)變?yōu)闊釙r(shí),可以對(duì)該文件執(zhí)行從第一源編解碼算法到第一目的編解碼算法的轉(zhuǎn)碼,也就是說(shuō)可以將該第一源編解碼算法的校驗(yàn)碼轉(zhuǎn)變?yōu)榈谝荒繕?biāo)編解碼算法的校驗(yàn)碼??蛇x地,此時(shí),可以采用增量轉(zhuǎn)碼方式將該第一源編解碼算法的校驗(yàn)碼轉(zhuǎn)變?yōu)榈谝荒繕?biāo)編解碼算法的校驗(yàn)碼。例如,該文件包括N個(gè)數(shù)據(jù)塊,該第一源校驗(yàn)碼為該第一編解碼算法下基于第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,將該第一源校驗(yàn)碼轉(zhuǎn)換為第一目標(biāo)校驗(yàn)碼,不需要對(duì)該N個(gè)數(shù)據(jù)塊進(jìn)行重新編碼,只需從該第一源校驗(yàn)碼中獲取第一差值校驗(yàn)碼,如果該第一目標(biāo)校驗(yàn)碼為對(duì)該N 個(gè)數(shù)據(jù)塊中的M個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,從該第一源校驗(yàn)碼中獲取對(duì)該N個(gè)數(shù)據(jù)塊中的除該M個(gè)數(shù)據(jù)塊以外的數(shù)據(jù)塊進(jìn)行編碼對(duì)應(yīng)的校驗(yàn)碼,將該校驗(yàn)碼作為第一差值校驗(yàn)碼,然后將該第一源校驗(yàn)碼減去該第一差值校驗(yàn)碼后得到的結(jié)果確定為第一目標(biāo)校驗(yàn)碼即可。對(duì)該文件執(zhí)行從第二源編解碼算法到第二目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ)處理,包括:將第二源校驗(yàn)碼加上第二差值校驗(yàn)碼后得到的結(jié)果確定為第二目的校驗(yàn)碼;其中,該文件包括N個(gè)數(shù)據(jù)塊,該第二源校驗(yàn)碼是基于第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的M個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第二目的校驗(yàn)碼是基于該第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第二差值校驗(yàn)碼是基于該第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的除該M個(gè)數(shù)據(jù)塊以外的數(shù)據(jù)塊編碼產(chǎn)生的,該第二編碼函數(shù)為基于該第二源編解碼算法的編碼函數(shù),該N,M為正整數(shù),N>M。具體而言,在該文件的冷熱度屬性由熱轉(zhuǎn)變?yōu)槔鋾r(shí),可以對(duì)該文件執(zhí)行從第二源編解碼算法到第二目的編解碼算法的轉(zhuǎn)碼,也就是說(shuō)可以將該第二源編解碼算法的校驗(yàn)碼轉(zhuǎn)變?yōu)榈诙繕?biāo)編解碼算法的校驗(yàn)碼??蛇x地,此時(shí),可以采用增量轉(zhuǎn)碼方式將該第二源編解碼算法的校驗(yàn)碼轉(zhuǎn)變?yōu)榈诙繕?biāo)編解碼算法的校驗(yàn)碼。例如,該文件包括N個(gè)數(shù)據(jù)塊,該第二源校驗(yàn)碼為該第二編解碼算法下基于第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的M個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,將該第二源校驗(yàn)碼轉(zhuǎn)換為第二目標(biāo)校驗(yàn)碼,不需要對(duì)該N個(gè)數(shù)據(jù)塊進(jìn)行重新編碼,只需從該第二源校驗(yàn)碼中獲取第二差值校驗(yàn)碼,如果該第二目標(biāo)校驗(yàn)碼為對(duì)該N個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,從該第二源校驗(yàn)碼中獲取對(duì)該N個(gè)數(shù)據(jù)塊中的除該M個(gè)數(shù)據(jù)塊以外的數(shù)據(jù)塊進(jìn)行編碼對(duì)應(yīng)的校驗(yàn)碼,將該校驗(yàn)碼作為第二差值校驗(yàn)碼,然后將該第二源校驗(yàn)碼加上該第二差值校驗(yàn)碼后得到的結(jié)果確定為第二目標(biāo)校驗(yàn)碼即可。下面結(jié)合圖4介紹如何采用增量轉(zhuǎn)碼方式進(jìn)行兩種編解碼技術(shù)之間的轉(zhuǎn)碼,應(yīng)理解,在本發(fā)明實(shí)施例中,以Mix-RSCode技術(shù)與RSCode技術(shù)的校驗(yàn)碼之間的相互轉(zhuǎn)換為例進(jìn)行說(shuō)明僅僅是為了示例,而不應(yīng)對(duì)本發(fā)明實(shí)施例構(gòu)成任何限定,本發(fā)明實(shí)施例的采用增量方式進(jìn)行轉(zhuǎn)碼的方法也可以適用于從PC(6x5)與PC(2x5)的校驗(yàn)碼之間的相互轉(zhuǎn)換等。在圖4中,例如,該文件包括10個(gè)數(shù)據(jù)塊(a1~a10),分別存儲(chǔ)在10個(gè)數(shù)據(jù)節(jié)點(diǎn)(數(shù)據(jù)節(jié)點(diǎn)1~數(shù)據(jù)節(jié)點(diǎn)10),如果該文件采用RSCode技術(shù)存儲(chǔ),可選地,采用RSCode技術(shù)進(jìn)行編解碼的校驗(yàn)碼可以包括4塊(f1(a1,a2,…,a10)、f2(a1,a2,…,a10)、f3(a1,a2,…,a10)和f4(a1,a2,…,a10)),分別位于4個(gè)數(shù)據(jù)節(jié)點(diǎn)(數(shù)據(jù)節(jié)點(diǎn)11~數(shù)據(jù)節(jié)點(diǎn)14),校驗(yàn)碼f1(a1,a2,…,a10)是由該文件的a1~a10通過(guò)f1編碼函數(shù)編碼產(chǎn)生,校驗(yàn)碼f2(a1,a2,…,a10)是由該文件的a1~a10通過(guò)f2編碼函數(shù)編碼產(chǎn)生,校驗(yàn)碼f3(a1,a2,…,a10)是由該文件的a1~a10通過(guò)f3編碼函數(shù)編碼產(chǎn)生,校驗(yàn)碼f4(a1,a2,…,a10)是由該文件的a1~a10通過(guò)f4編碼函數(shù)編碼產(chǎn)生??蛇x地,當(dāng)文件的冷熱度屬性由冷轉(zhuǎn)變?yōu)闊釙r(shí),可以采用增量轉(zhuǎn)碼方式將采用RSCode技術(shù)的校驗(yàn)碼轉(zhuǎn)換為采用Mix-RSCode技術(shù)的校驗(yàn)碼,也就是需要對(duì)該文件的校驗(yàn)碼執(zhí)行熱轉(zhuǎn)碼,采用Mix-RSCode技術(shù)的校驗(yàn)碼也可以包括4塊(f1(a1,a2,a3,a4)、f2(a3,a4,a5,a6)、f3(a5,a6,a7,a8)和f4(a7,a8,a9,a10)),分別位于4個(gè)數(shù)據(jù)節(jié)點(diǎn)(數(shù)據(jù)節(jié)點(diǎn)11~數(shù)據(jù)節(jié)點(diǎn)14),校驗(yàn)碼f1(a1,a2,a3,a4)是可以該文件的a1~a4部分?jǐn)?shù)據(jù)通過(guò)f1編碼函數(shù)編碼產(chǎn)生,可選地,該f1(a1,a2,a3,a4)可以由RSCode中相應(yīng)部分的校驗(yàn)碼即f1(a1,a2,…,a10)減去使用同一個(gè)編碼函數(shù)f1對(duì)剩余6個(gè)數(shù)據(jù)節(jié)點(diǎn)(a5~a10)進(jìn)行編碼的編碼結(jié)果得到,其他部分的校驗(yàn)碼也可以采用同樣的方法得到,也就是采用Mix-RSCode技術(shù)的校驗(yàn)碼可以根據(jù)以下關(guān)系得到:f1(a1,a2,a3,a4)=f1(a1,a2,…,a10)-f1(a5,a6,…,a10)f2(a1,a2,a3,a4)=f2(a1,a2,…,a10)-f2(a5,a6,…,a10)f3(a1,a2,a3,a4)=f3(a1,a2,…,a10)-f3(a5,a6,…,a10)f4(a1,a2,a3,a4)=f4(a1,a2,…,a10)-f4(a5,a6,…,a10)這樣就無(wú)需再?gòu)奈募拿總€(gè)數(shù)據(jù)節(jié)點(diǎn)讀取相應(yīng)的數(shù)據(jù)塊,然后對(duì)該數(shù)據(jù)塊進(jìn)行重新編碼來(lái)產(chǎn)生相應(yīng)的校驗(yàn)碼,而只需從現(xiàn)有的文件的校驗(yàn)碼中獲取對(duì)應(yīng)數(shù)據(jù)塊的校驗(yàn)碼,然后做差即可得到需要的校驗(yàn)碼。例如,要想獲取f1(a1,a2,a3,a4),因?yàn)閒1(a1,a2,…,a10)已知,先從f1(a1,a2,…,a10)中獲取f1(a5,a6,…,a10),然后將該f1(a1,a2,…,a10)減去f1(a5,a6,…,a10)即可得到f1(a1,a2,a3,a4)。同樣地,當(dāng)文件的冷熱度屬性由熱轉(zhuǎn)變?yōu)槔鋾r(shí),可以采用增量轉(zhuǎn)碼方式將采用Mix-RSCode技術(shù)的校驗(yàn)碼轉(zhuǎn)換為采用RSCode技術(shù)的校驗(yàn)碼,也就是需要對(duì)該文件的校驗(yàn)碼執(zhí)行冷轉(zhuǎn)碼,可選地,采用RSCode技術(shù)的校驗(yàn)碼可以由Mix-RSCode技術(shù)的校驗(yàn)碼加上使用同一個(gè)編碼函數(shù)對(duì)剩余6個(gè)數(shù)據(jù) 節(jié)點(diǎn)進(jìn)行編碼的編碼結(jié)果得到,也就是RSCode的校驗(yàn)碼可以根據(jù)以下關(guān)系得到:f1(a1,a2,…,a10)=f1(a1,a2,a3,a4)+f1(a5,a6,…,a10)f2(a1,a2,…,a10)=f2(a1,a2,a3,a4)+f2(a5,a6,…,a10)f3(a1,a2,…,a10)=f3(a1,a2,a3,a4)+f3(a5,a6,…,a10)f4(a1,a2,…,a10)=f4(a1,a2,a3,a4)+f4(a5,a6,…,a10)因此,采用增量轉(zhuǎn)碼方式對(duì)該文件的校驗(yàn)碼進(jìn)行轉(zhuǎn)碼,避免了對(duì)該原始數(shù)據(jù)重新編碼產(chǎn)生的系統(tǒng)消耗。應(yīng)理解,本發(fā)明實(shí)施例僅以該文件存儲(chǔ)在10個(gè)數(shù)據(jù)節(jié)點(diǎn),該文件的校驗(yàn)碼存儲(chǔ)在4個(gè)數(shù)據(jù)節(jié)點(diǎn)為例進(jìn)行介紹,而不應(yīng)對(duì)本發(fā)明實(shí)施例造成任何限定,本發(fā)明實(shí)施例也不限于此,本發(fā)明實(shí)施例中,該文件還可以存儲(chǔ)在15個(gè)數(shù)據(jù)節(jié)點(diǎn),該文件的校驗(yàn)碼可以存儲(chǔ)6個(gè)數(shù)據(jù)節(jié)點(diǎn)等,本發(fā)明實(shí)施例對(duì)此不作限制,還應(yīng)理解,本發(fā)明實(shí)施例中僅以利用該文件的4個(gè)數(shù)據(jù)塊或10個(gè)數(shù)據(jù)塊進(jìn)行編碼產(chǎn)生校驗(yàn)碼為例進(jìn)行介紹,而不應(yīng)對(duì)本發(fā)明實(shí)施例造成任何限定,本發(fā)明實(shí)施例還可以利用該文件的6個(gè)數(shù)據(jù)塊或8個(gè)數(shù)據(jù)塊進(jìn)行編碼來(lái)產(chǎn)生相應(yīng)的校驗(yàn)碼等。表1示出了本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法相對(duì)于現(xiàn)有的幾種分布式文件系統(tǒng):(臉書(Facebook)的HDFS系統(tǒng)、微軟云(WindowAzure)系統(tǒng)以及谷歌(Google)的巨人(Colossus)文件系統(tǒng)(FileSystem,F(xiàn)S)在存儲(chǔ)開(kāi)銷、恢復(fù)成本和可靠性性能方面的提升比例。表1存儲(chǔ)開(kāi)銷恢復(fù)成本可靠性FacebookHDFS系統(tǒng)6.7%64%0.0%WindowAzure系統(tǒng)-0.4%40%25%GoogleColossusFS系統(tǒng)0%40%25%從上述數(shù)據(jù)可以看出,本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法,能夠提高存儲(chǔ)開(kāi)銷、恢復(fù)成本、可靠性和編解碼速度多個(gè)維度的綜合性能。因此,根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法,能夠根據(jù)文件的冷熱度屬性對(duì)文件采用相應(yīng)的編解碼技術(shù)進(jìn)行轉(zhuǎn)碼存儲(chǔ)處理,能充分考慮文件的冷熱度屬性對(duì)存儲(chǔ)開(kāi)銷、恢復(fù)成本的需求,而且采用的編解碼技術(shù)的可靠 性高,編解碼速度快,因此,本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法,能提高存儲(chǔ)開(kāi)銷、恢復(fù)成本、可靠性和編解碼速度多個(gè)維度的綜合性能。上文結(jié)合圖3和圖4對(duì)根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的方法進(jìn)行了詳細(xì)的介紹,下面結(jié)合圖5對(duì)根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的裝置進(jìn)行介紹。圖5示出了根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的裝置200的示意性框圖。如圖5所示,該自適應(yīng)存儲(chǔ)文件的裝置200包括:確定模塊210,用于確定文件的冷熱度屬性,該文件的冷熱度屬性表征該文件被訪問(wèn)的頻率;執(zhí)行模塊220,用于根據(jù)該確定模塊210確定的該文件的冷熱度屬性,對(duì)該文件執(zhí)行編碼存儲(chǔ)或轉(zhuǎn)碼存儲(chǔ)處理。具體而言,確定模塊210確定文件的冷熱度屬性,可選地,該確定模塊210可以根據(jù)文件的訪問(wèn)頻率來(lái)確定該文件的冷熱度屬性,例如,當(dāng)該文件的訪問(wèn)頻率大于10次每周時(shí),可以確定該文件的冷熱度屬性為熱;該確定模塊210還可以根據(jù)文件的平均訪問(wèn)時(shí)間間隔來(lái)確定該文件的冷熱度屬性,例如,如果該文件連續(xù)兩次訪問(wèn)的平均訪問(wèn)時(shí)間間隔小于16.8小時(shí),該確定模塊210可以確定該文件的冷熱度屬性為熱。當(dāng)確定模塊210確定該文件的冷熱度屬性為冷或熱時(shí),該執(zhí)行模塊220可以根據(jù)該文件的冷熱度屬性,對(duì)該文件執(zhí)行編碼存儲(chǔ)或轉(zhuǎn)碼存儲(chǔ)處理。因此,根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的裝置,能夠根據(jù)文件的冷熱度屬性對(duì)文件采用相應(yīng)的編解碼技術(shù)進(jìn)行存儲(chǔ)處理,能充分考慮文件的冷熱度屬性對(duì)存儲(chǔ)開(kāi)銷、恢復(fù)成本的需求,而且采用的編解碼技術(shù)的可靠性高,編解碼速度快,因此,本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的裝置,能提高存儲(chǔ)開(kāi)銷、恢復(fù)成本、可靠性和編解碼速度多個(gè)維度的綜合性能??蛇x地,在本發(fā)明實(shí)施例中,該確定模塊210具體用于:根據(jù)該文件的訪問(wèn)頻率和/或該文件的平均訪問(wèn)時(shí)間間隔,確定該文件的冷熱度屬性;在該文件的訪問(wèn)頻率大于第一頻率閾值,或該文件的平均訪問(wèn)時(shí)間間隔小于第一時(shí)間間隔時(shí),確定該文件的冷熱度屬性為熱;或在該文件的訪問(wèn)頻率不大于第一頻率閾值,或該文件的平均訪問(wèn)時(shí)間間隔不小于第一時(shí)間間隔時(shí),確定該文件的冷熱度屬性為冷。具體而言,該確定模塊210與圖2中冷熱感應(yīng)裝置的功能等同,可以由軟件程序?qū)崿F(xiàn),例如,該軟件程序可以放在一個(gè)進(jìn)程中實(shí)現(xiàn),也可以由硬件芯片上的軟件模塊來(lái)實(shí)現(xiàn),或者由硬件和軟件模塊的組合來(lái)實(shí)現(xiàn)等。在該分布式文件存儲(chǔ)系統(tǒng)中,用于確定該系統(tǒng)中存儲(chǔ)的文件的冷熱度屬性的確定模塊可以為一個(gè),也可以為多個(gè),當(dāng)該確定模塊為一個(gè)時(shí),也就是該確定模塊用于確定該分布式文件存儲(chǔ)系統(tǒng)中所有文件的冷熱度屬性,此時(shí),可選地,該確定模塊可以集成到命名節(jié)點(diǎn)上,也可以為該分布式文件存儲(chǔ)系統(tǒng)中獨(dú)立存在的模塊,本發(fā)明實(shí)施例對(duì)此不作限制;當(dāng)該確定模塊為多個(gè)時(shí),可選地,可以在每個(gè)機(jī)架上部署一個(gè)該確定模塊,也可以每個(gè)數(shù)據(jù)節(jié)點(diǎn)部署一個(gè)確定模塊等,本發(fā)明實(shí)施例對(duì)此不作限制。可選地,在本發(fā)明實(shí)施例中,該執(zhí)行模塊220具體用于:當(dāng)該確定模塊210確定該文件的冷熱度屬性為熱時(shí),采用第一編解碼算法對(duì)該文件進(jìn)行編碼存儲(chǔ);或當(dāng)該確定模塊210確定該文件的冷熱度屬性為冷時(shí),采用第二編解碼算法對(duì)該文件進(jìn)行編碼存儲(chǔ);其中,該第一編解碼算法的恢復(fù)成本低于恢復(fù)成本閾值,該第二編解碼算法的存儲(chǔ)開(kāi)銷低于存儲(chǔ)開(kāi)銷閾值??蛇x地,在本發(fā)明實(shí)施例中,該裝置200還可以包括:判斷模塊,用于判斷該文件的存儲(chǔ)時(shí)間達(dá)到第一時(shí)間閾值且該文件的訪問(wèn)次數(shù)小于第一次數(shù)閾值。該判斷模塊可以集成到確定模塊210中。可選地,在本發(fā)明實(shí)施例中,該執(zhí)行模塊220具體用于:當(dāng)該確定模塊210確定該文件的冷熱度屬性由冷轉(zhuǎn)變?yōu)闊釙r(shí),執(zhí)行對(duì)該文件從第一源編解碼算法到第一目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ)處理;或當(dāng)該確定模塊210確定該文件的冷熱度屬性由熱轉(zhuǎn)變?yōu)槔鋾r(shí),執(zhí)行對(duì)該文件從第二源編解碼算法到第二目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ)處理;其中,該第一目標(biāo)編解碼算法的恢復(fù)成本低于恢復(fù)成本閾值,該第一源編解碼算法的恢復(fù)成本不低于該恢復(fù)成本閾值,該第二目標(biāo)編解碼算法的存儲(chǔ)開(kāi)銷低于存儲(chǔ)開(kāi)銷閾值,該第二源編解碼算法的存儲(chǔ)開(kāi)銷不低于存儲(chǔ)開(kāi)銷閾值??蛇x地,在本發(fā)明實(shí)施例中,該執(zhí)行模塊220還用于:將第一源校驗(yàn)碼減去第一差值校驗(yàn)碼后得到的結(jié)果確定為第一目的校 驗(yàn)碼;其中,該文件包括N個(gè)數(shù)據(jù)塊,該第一源校驗(yàn)碼是基于第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第一目的校驗(yàn)碼是基于該第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的M個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第一差值校驗(yàn)碼是基于該第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的除該M個(gè)數(shù)據(jù)塊以外的數(shù)據(jù)塊編碼產(chǎn)生的,該第一編碼函數(shù)為基于該第一源編解碼算法的編碼函數(shù),該N,M為正整數(shù),N>M??蛇x地,在本發(fā)明實(shí)施例中,該執(zhí)行模塊還用于:將第二源校驗(yàn)碼加上第二差值校驗(yàn)碼后得到的結(jié)果確定為第二目的校驗(yàn)碼;其中,該文件包括N個(gè)數(shù)據(jù)塊,該第二源校驗(yàn)碼是基于第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的M個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第二目的校驗(yàn)碼是基于該第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第二差值校驗(yàn)碼是基于該第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的除該M個(gè)數(shù)據(jù)塊以外的數(shù)據(jù)塊編碼產(chǎn)生的,該第二編碼函數(shù)為基于該第二源編解碼算法的編碼函數(shù),該N,M為正整數(shù),N>M。應(yīng)理解,該執(zhí)行模塊210的功能與圖2中自適應(yīng)模塊和EC模塊的功能等同,其可以由軟件程序?qū)崿F(xiàn),例如,可以將該軟件程序可以放在一個(gè)進(jìn)程中實(shí)現(xiàn),也可以由硬件芯片上的軟件模塊來(lái)實(shí)現(xiàn),或者由硬件和軟件模塊的組合來(lái)實(shí)現(xiàn)等。在該分布式文件存儲(chǔ)系統(tǒng)中,該執(zhí)行模塊可以為一個(gè),也可以為多個(gè),當(dāng)該執(zhí)行模塊為一個(gè)時(shí),該執(zhí)行模塊可以集成在命名節(jié)點(diǎn)中,或者為該分布式文件存儲(chǔ)系統(tǒng)中獨(dú)立存在的模塊,本發(fā)明實(shí)施例對(duì)此不作限制;當(dāng)該執(zhí)行模塊為多個(gè)時(shí),該執(zhí)行模塊可以集成在每個(gè)數(shù)據(jù)節(jié)點(diǎn)上,也可以在該每個(gè)數(shù)據(jù)節(jié)點(diǎn)外為該每個(gè)數(shù)據(jù)節(jié)點(diǎn)單獨(dú)部署的一個(gè)獨(dú)立的模塊等,本發(fā)明實(shí)施例對(duì)此不作限制。因此,根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的裝置,能夠根據(jù)文件的冷熱度屬性對(duì)文件采用相應(yīng)的編解碼技術(shù)進(jìn)行轉(zhuǎn)碼存儲(chǔ)處理,能充分考慮文件的冷熱度屬性對(duì)存儲(chǔ)開(kāi)銷、恢復(fù)成本的需求,而且采用的編解碼技術(shù)的可靠性高,編解碼速度快,因此,本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的裝置,能提高存儲(chǔ)開(kāi)銷、恢復(fù)成本、可靠性和編解碼速度多個(gè)維度的綜合性能。如圖6所示,本發(fā)明實(shí)施例還提供了一種自適應(yīng)存儲(chǔ)文件的裝置300的 示意性框圖,該自適應(yīng)存儲(chǔ)文件的裝置300包括處理器310、存儲(chǔ)器320、總線系統(tǒng)330和網(wǎng)絡(luò)接口340。其中,處理器310、存儲(chǔ)器320和網(wǎng)絡(luò)接口340通過(guò)總線系統(tǒng)330相連,該存儲(chǔ)器320用于存儲(chǔ)指令,該處理器310用于執(zhí)行該存儲(chǔ)器320存儲(chǔ)的指令,例如計(jì)算機(jī)程序。通過(guò)網(wǎng)絡(luò)接口340(可以是有線或者無(wú)線)實(shí)現(xiàn)與至少一個(gè)其他網(wǎng)元之間的通信連接,可以使用互聯(lián)網(wǎng),廣域網(wǎng),本地網(wǎng),城域網(wǎng)等。其中,該處理器310用于確定文件的冷熱度屬性,該文件的冷熱度屬性表征該文件被訪問(wèn)的頻率;該處理器310還用于根據(jù)該文件的冷熱度屬性,對(duì)該文件執(zhí)行編碼存儲(chǔ)或轉(zhuǎn)碼存儲(chǔ)。因此,根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的裝置,能夠根據(jù)文件的冷熱度屬性對(duì)文件采用相應(yīng)的編解碼技術(shù)進(jìn)行存儲(chǔ)處理,能充分考慮文件的冷熱度屬性對(duì)存儲(chǔ)開(kāi)銷、恢復(fù)成本的需求,而且采用的編解碼技術(shù)的可靠性高,編解碼速度快,因此,本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的裝置,能提高存儲(chǔ)開(kāi)銷、恢復(fù)成本、可靠性和編解碼速度多個(gè)維度的綜合性能。應(yīng)理解,在本發(fā)明實(shí)施例中,該處理器310可以是中央處理單元(CentralProcessingUnit,簡(jiǎn)稱為“CPU”),該處理器310還可以是其他通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。該存儲(chǔ)器320可以包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并向處理器310提供指令和數(shù)據(jù)。存儲(chǔ)器320的一部分還可以包括非易失性隨機(jī)存取存儲(chǔ)器。例如,存儲(chǔ)器320還可以存儲(chǔ)設(shè)備類型的信息。該總線系統(tǒng)330除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號(hào)總線等。但是為了清楚說(shuō)明起見(jiàn),在圖中將各種總線都標(biāo)為總線系統(tǒng)330。在實(shí)現(xiàn)過(guò)程中,上述方法的各步驟可以通過(guò)處理器310中的硬件的集成邏輯電路或者軟件形式的指令完成。結(jié)合本發(fā)明實(shí)施例所公開(kāi)的方法的步驟可以直接體現(xiàn)為硬件處理器執(zhí)行完成,或者用處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器320,處理器310讀取存儲(chǔ)器320中的信息,結(jié)合其硬件完成上述方法的步驟。為避免重復(fù),這里不再詳細(xì)描述??蛇x地,在本發(fā)明實(shí)施例中,該處理器310還用于:根據(jù)該文件的訪問(wèn)頻率和/或該文件的平均訪問(wèn)時(shí)間間隔,確定該文件的冷熱度屬性;在該文件的訪問(wèn)頻率大于第一頻率閾值,或該文件的平均訪問(wèn)時(shí)間間隔小于第一時(shí)間間隔時(shí),確定該文件的冷熱度屬性為熱;或在該文件的訪問(wèn)頻率不大于第一頻率閾值,或該文件的平均訪問(wèn)時(shí)間間隔不小于第一時(shí)間間隔時(shí),確定該文件的冷熱度屬性為冷??蛇x地,在本發(fā)明實(shí)施例中,該處理器310具體用于:當(dāng)確定該文件的冷熱度屬性為熱時(shí),采用第一編解碼算法對(duì)該文件進(jìn)行編碼存儲(chǔ)處理;或當(dāng)確定該文件的冷熱度屬性為冷時(shí),采用第二編解碼算法對(duì)該文件進(jìn)行編碼存儲(chǔ)處理;其中,該第一編解碼算法的恢復(fù)成本低于恢復(fù)成本閾值,該第二編解碼算法的存儲(chǔ)開(kāi)銷低于存儲(chǔ)開(kāi)銷閾值。可選地,在本發(fā)明實(shí)施例中,該處理器310還用于:判斷該文件的存儲(chǔ)時(shí)間達(dá)到第一時(shí)間閾值且該文件的訪問(wèn)次數(shù)小于第一次數(shù)閾值。可選地,在本發(fā)明實(shí)施例中,該處理器310還用于:根據(jù)該文件的冷熱度屬性的變化,對(duì)該文件執(zhí)行轉(zhuǎn)碼處理??蛇x地,在本發(fā)明實(shí)施例中,該處理器310具體用于:當(dāng)確定該文件的冷熱度屬性由冷轉(zhuǎn)變?yōu)闊釙r(shí),對(duì)該文件執(zhí)行從第一源編解碼算法到第一目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ)處理;或當(dāng)確定該文件的冷熱度屬性由熱轉(zhuǎn)變?yōu)槔鋾r(shí),對(duì)該文件執(zhí)行從第二源編解碼算法到第二目標(biāo)編解碼算法的轉(zhuǎn)碼存儲(chǔ)處理;其中,該第一目標(biāo)編解碼算法的恢復(fù)成本低于恢復(fù)成本閾值,該第一源編解碼算法的恢復(fù)成本不低于該恢復(fù)成本閾值,該第二目標(biāo)編解碼算法的存儲(chǔ)開(kāi)銷低于存儲(chǔ)開(kāi)銷閾值,該第二源編解碼算法的存儲(chǔ)開(kāi)銷不低于存儲(chǔ)開(kāi)銷閾值??蛇x地,在本發(fā)明實(shí)施例中,該處理器310還用于:將第一源校驗(yàn)碼減去第一差值校驗(yàn)碼后得到的結(jié)果確定為第一目的校驗(yàn)碼;其中,該文件包括N個(gè)數(shù)據(jù)塊,該第一源校驗(yàn)碼是基于第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第一目的校驗(yàn)碼是基于該第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的M個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第一差值校驗(yàn)碼是基于該第一編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的除該M個(gè)數(shù)據(jù)塊以外的數(shù)據(jù)塊編碼產(chǎn)生的,該第一編碼函數(shù)為基于該第一源編解碼算法的編碼函數(shù),該N,M為正整數(shù),N>M。可選地,在本發(fā)明實(shí)施例中,該處理器310還用于:將第二源校驗(yàn)碼加上第二差值校驗(yàn)碼后得到的結(jié)果確定為第二目的校驗(yàn)碼;其中,該文件包括N個(gè)數(shù)據(jù)塊,該第二源校驗(yàn)碼是基于第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的M個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第二目的校驗(yàn)碼是基于該第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊編碼產(chǎn)生的,該第二差值校驗(yàn)碼是基于該第二編碼函數(shù)對(duì)該N個(gè)數(shù)據(jù)塊中的除該M個(gè)數(shù)據(jù)塊以外的數(shù)據(jù)塊編碼產(chǎn)生的,該第二編碼函數(shù)為基于該第二源編解碼算法的編碼函數(shù),該N,M為正整數(shù),N>M。因此,根據(jù)本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的裝置,能夠根據(jù)文件的冷熱度屬性對(duì)文件采用相應(yīng)的編解碼技術(shù)進(jìn)行存儲(chǔ)處理,能充分考慮文件的冷熱度屬性對(duì)存儲(chǔ)開(kāi)銷、恢復(fù)成本的需求,而且采用的編解碼技術(shù)的可靠性高,編解碼速度快,因此,本發(fā)明實(shí)施例的自適應(yīng)存儲(chǔ)文件的裝置,能提高存儲(chǔ)開(kāi)銷、恢復(fù)成本、可靠性和編解碼速度多個(gè)維度的綜合性能。應(yīng)理解,本文中術(shù)語(yǔ)“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:?jiǎn)为?dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。應(yīng)理解,在本發(fā)明的各種實(shí)施例中,上述各過(guò)程的序號(hào)的大小并不意味著執(zhí)行順序的先后,各過(guò)程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對(duì)本發(fā)明實(shí)施例的實(shí)施過(guò)程構(gòu)成任何限定。本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方 法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM,RandomAccessMemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。以上所述,僅為本發(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)。當(dāng)前第1頁(yè)1 2 3