專利名稱:文件存儲方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲技術(shù)領(lǐng)域,尤其涉及一種文件存儲方法和裝置。
背景技術(shù):
隨著計(jì)算機(jī)應(yīng)用的范圍不斷地?cái)U(kuò)大,數(shù)據(jù)存儲技術(shù)已經(jīng)深入到金融,通信,保險(xiǎn)等各行各業(yè),這些行業(yè)的數(shù)據(jù)具備一個(gè)共同點(diǎn)數(shù)據(jù)安全性是第一位的,甚至在發(fā)生自然災(zāi)害時(shí),數(shù)據(jù)都必須絲毫不漏的恢復(fù),于是,鏡像技術(shù)應(yīng)運(yùn)而生。鏡像技術(shù)通過建立一個(gè)與本體數(shù)據(jù)完全一致的副本,為數(shù)據(jù)提供完整的冗余,使數(shù)據(jù)安全得到了很大的提高,它唯一的不足就是需要占用大量空間,但是隨著存儲硬件工藝的不斷提升,各種存儲介質(zhì)的單位容量不斷增加。而成本卻在不斷降低,為鏡像技術(shù)的普及打下了堅(jiān)實(shí)的物質(zhì)基礎(chǔ)。對于網(wǎng)絡(luò)附加存儲(Network Attached Storage, NAS)服務(wù)來說,對外均提供的是文件級的服務(wù),因此,文件系統(tǒng)是必不可少的,為了保證文件系統(tǒng)的數(shù)據(jù)安全性,通常在文件系統(tǒng)層即建立鏡像關(guān)系,鏡像文件系統(tǒng)也就誕生了。傳統(tǒng)鏡像文件系統(tǒng)在寫入數(shù)據(jù)時(shí),會克隆原始數(shù)據(jù)并將兩份完全相同的數(shù)據(jù)均寫入后端磁盤,這兩個(gè)磁盤在物理上往往是兩個(gè)獨(dú)立的個(gè)體,他們裝有完全相同的兩份數(shù)據(jù),因此,若任意一份數(shù)據(jù)發(fā)生問題,均可100%恢復(fù)。但是這種方法存在以下缺點(diǎn)盡管存儲介質(zhì)在近幾年發(fā)生了翻天覆地的變化,單盤容量已經(jīng)可上T級,但數(shù)據(jù)量成幾何級數(shù)地增加,再加上現(xiàn)在面向企業(yè)級的介質(zhì)的絕對價(jià)格也并非十分便宜,導(dǎo)致組建鏡像存儲的成本依然是居高不下,而鏡像技術(shù)限于其本身的設(shè)計(jì)思想,有效空間的使用率僅有50%是無法改變的事實(shí),導(dǎo)致在面對海量數(shù)據(jù)時(shí),鏡像技術(shù)的成本非常高昂;傳統(tǒng)鏡像文件系統(tǒng)寫入文件時(shí)即寫入鏡像,所以一般來說文件系統(tǒng)中每個(gè)文件都存在相同個(gè)數(shù)的鏡像,假設(shè)在一個(gè)文件系統(tǒng)中有部分文件是核心文件,我們希望這些核心文件具有比其它文件更多的鏡像,而其它文件保持原來數(shù)量的鏡像,在這種應(yīng)用場景下,傳統(tǒng)的鏡像文件系統(tǒng)是無法滿足的。
發(fā)明內(nèi)容
在第一方面,本發(fā)明實(shí)施例提供了一種文件存儲方法,包括將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組中的數(shù)據(jù)相同;按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成坐標(biāo)組,所述二維坐標(biāo)的橫坐標(biāo)值中的偶數(shù)坐標(biāo)值表示第一數(shù)據(jù),所述二維坐標(biāo)的縱坐標(biāo)值表示所述橫坐標(biāo)值所表示的數(shù)據(jù)的個(gè)數(shù),所述第一數(shù)據(jù)為O或I ;將所述坐標(biāo)組存儲在存儲設(shè)備上。結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述二維坐標(biāo)的橫軸坐標(biāo)值的最大值不超過所述源文件中的二進(jìn)制數(shù)據(jù)個(gè)數(shù)。
在第二方面,本發(fā)明實(shí)施例提供了一種文件存儲方法,包括將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組具有相同的數(shù)據(jù)量;按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成二維坐標(biāo)組;將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值連續(xù)變化的第一坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo),所述柱面坐標(biāo)的第一坐標(biāo)值與所述第一坐標(biāo)組的橫軸坐標(biāo)值相同,所述柱面坐標(biāo)的第二坐標(biāo)值為第一坐標(biāo)范圍,所述第一坐標(biāo)范圍利用所述第一坐標(biāo)組中的最小縱軸坐標(biāo)值和最大縱軸坐標(biāo)值表示;將所述柱面坐標(biāo)存儲在存儲設(shè)備上。結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述二維坐標(biāo)的縱軸坐標(biāo)值的最大值為,將所述數(shù)據(jù)組中的每一位取I時(shí)所表示的數(shù)據(jù)。結(jié)合第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述二維坐標(biāo)組中的第一坐標(biāo)的縱軸坐標(biāo)值與其對應(yīng)的第一數(shù)據(jù)相同,如果所述第一數(shù)據(jù)不大于第二數(shù)據(jù),則所述第一坐標(biāo)的橫軸坐標(biāo)值為在第二數(shù)據(jù)對應(yīng)的橫軸坐標(biāo)值的基礎(chǔ)上加1,否則,所述第一坐標(biāo)的橫軸坐標(biāo)值與所述第二數(shù)據(jù)對應(yīng)的橫軸坐標(biāo)值相同,所述第二數(shù)據(jù)為所述第一數(shù)據(jù)的前一個(gè)數(shù)據(jù)。結(jié)合第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值不連續(xù)變化的第二坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo),所述柱面坐標(biāo)的第一坐標(biāo)值與所述第二坐標(biāo)組的橫軸坐標(biāo)值相同,當(dāng)所述第二坐標(biāo)組中的坐標(biāo)數(shù)量不超過第一數(shù)量閾值時(shí),所述柱面坐標(biāo)的其它坐標(biāo)值包括所述第二坐標(biāo)組的縱軸坐標(biāo)值,否則,所述柱面坐標(biāo)的其它坐標(biāo)值包括負(fù)數(shù)坐標(biāo)組,所述負(fù)數(shù)坐標(biāo)組為從所述縱軸坐標(biāo)值的范圍中除去所述第二坐標(biāo)組中的縱軸坐標(biāo)值,將剩下的縱軸坐標(biāo)值取負(fù)數(shù)。在第三方面,本發(fā)明實(shí)施例提供了一種文件存儲裝置,包括分組單元,用于將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組中的數(shù)據(jù)相同,將所述數(shù)據(jù)組發(fā)送至生成單元;生成單元,用于接收所述分組單元發(fā)送的所述數(shù)據(jù)組,按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成坐標(biāo)組,所述二維坐標(biāo)的橫坐標(biāo)值中的偶數(shù)坐標(biāo)值表示第一數(shù)據(jù),所述二維坐標(biāo)的縱坐標(biāo)值表示所述橫坐標(biāo)值所表示的數(shù)據(jù)的個(gè)數(shù),所述第一數(shù)據(jù)為O或I,將所述坐標(biāo)組發(fā)送至存儲單元;存儲單元,用于接收所述生成單元發(fā)送的所述數(shù)據(jù)組,將所述坐標(biāo)組存儲在存儲設(shè)備上。結(jié)合第三方面,在第一種可能的實(shí)現(xiàn)方式中,所述生成單元中的所述二維坐標(biāo)的橫軸坐標(biāo)值的最大值不超過所述源文件中的二進(jìn)制數(shù)據(jù)個(gè)數(shù)。在第四方面,本發(fā)明實(shí)施例提供了一種文件存儲裝置,包括分組單元,用于將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組具有相同的數(shù)據(jù)量,將所述數(shù)據(jù)組發(fā)送至生成單元;生成單元,用于接收所述分組單元發(fā)送的所述數(shù)據(jù)組,按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成二維坐標(biāo)組,將所述二維坐標(biāo)組發(fā)送至壓縮單元;壓縮單元,用于接收所述生成單元發(fā)送的所述二維坐標(biāo)組,將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值連續(xù)變化的第一坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo),所述柱面坐標(biāo)的第一坐標(biāo)值與所述第一坐標(biāo)組的橫軸坐標(biāo)值相同,所述柱面坐標(biāo)的第二坐標(biāo)值為第一坐標(biāo)范圍,所述第一坐標(biāo)范圍利用所述第一坐標(biāo)組中的最小縱軸坐標(biāo)值和最大縱軸坐標(biāo)值表示,將所述柱面坐標(biāo)發(fā)送至存儲單元;存儲單元,用于接收所述壓縮單元發(fā)送的所述柱面坐標(biāo),將所述柱面坐標(biāo)存儲在存儲設(shè)備上。結(jié)合第四方面,在第一種可能的實(shí)現(xiàn)方式中,所述生成單元中的所述二維坐標(biāo)的縱軸坐標(biāo)值的最大值為,將所述數(shù)據(jù)組中的每一位取I時(shí)所表示的數(shù)據(jù)。結(jié)合第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述生成單元中的所述二維坐標(biāo)組中的第一坐標(biāo)的縱軸坐標(biāo)值與其對應(yīng)的第一數(shù)據(jù)相同,如果所述第一數(shù)據(jù)不大于第二數(shù)據(jù),則所述第一坐標(biāo)的橫軸坐標(biāo)值為在第二數(shù)據(jù)對應(yīng)的橫軸坐標(biāo)值的基礎(chǔ)上加1,否則,所述第一坐標(biāo)的橫軸坐標(biāo)值與所述第二數(shù)據(jù)對應(yīng)的橫軸坐標(biāo)值相同,所述第二數(shù)據(jù)為所述第一數(shù)據(jù)的前一個(gè)數(shù)據(jù)。結(jié)合第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述壓縮單元還用于將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值不連續(xù)變化的第二坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo),所述柱面坐標(biāo)的第一坐標(biāo)值與所述第二坐標(biāo)組的橫軸坐標(biāo)值相同,當(dāng)所述第二坐標(biāo)組中的坐標(biāo)數(shù)量不超過第一數(shù)量閾值時(shí),所述柱面坐標(biāo)的其它坐標(biāo)值包括所述第二坐標(biāo)組的縱軸坐標(biāo)值,否則所述柱面坐標(biāo)的其它坐標(biāo)值包括負(fù)數(shù)坐標(biāo)組,所述負(fù)數(shù)坐標(biāo)組為從所述縱軸坐標(biāo)值的范圍中除去所述第二坐標(biāo)組中的縱軸坐標(biāo)值,將剩下的縱軸坐標(biāo)值取負(fù)數(shù)。本發(fā)明實(shí)施例中,通過將二維坐標(biāo)或柱面坐標(biāo)存儲作為鏡像文件,從而減小了鏡像文件的大小,并且傳統(tǒng)鏡像文件系統(tǒng)無論在寫操作還是讀操作,都會涉及到對磁盤的大數(shù)據(jù)量的訪問,而基于二維坐標(biāo)的鏡像文件系統(tǒng)只需在硬盤上寫入或讀取少量坐標(biāo)數(shù)據(jù),而后的組合全部是在內(nèi)存區(qū)域執(zhí)行,這樣既能減少對后端磁盤的消耗,還能加快數(shù)據(jù)的讀寫速度,從而增加了處理效率,對于每一個(gè)文件,我們分塊處理,這使得我們在鏡像時(shí),可以靈活地增加一個(gè)文件甚至一個(gè)文件塊的鏡像數(shù)量。
圖1為本發(fā)明實(shí)施例一提供的文件存儲方法流程圖;圖2為本發(fā)明實(shí)施例二提供的文件存儲方法流程圖;圖3為本發(fā)明實(shí)施例二提供的文件存儲方法示意圖;圖4為本發(fā)明實(shí)施例二提供的柱面坐標(biāo)生成方法示意圖;圖5為本發(fā)明實(shí)施例三提供的文件存儲裝置示意圖;圖6為本發(fā)明實(shí)施例四提供的文件存儲裝置示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對本發(fā)明具體實(shí)施例作進(jìn)一步的詳細(xì)描述。我們知道,在計(jì)算機(jī)世界里面只有2個(gè)數(shù)字,即O和1,無論計(jì)算機(jī)軟件表現(xiàn)如何精彩,究其根本,依然是O和1,所以,當(dāng)我們在存儲文件的時(shí)候,只要知道在什么位置寫0,什么位置寫I就可以了,而一個(gè)文件組成可以簡單表示為文件=文件頭+源文件數(shù)據(jù),其中,源文件中存儲的是文件中的有用數(shù)據(jù),文件頭也稱為元數(shù)據(jù),是對源文件中存儲的數(shù)據(jù)的存儲方式、數(shù)據(jù)結(jié)構(gòu)等的描述,不屬于文件正文。上述等式中,源文件數(shù)據(jù)中的數(shù)據(jù)可以定位為下面的等式源文件數(shù)據(jù)=位置O* [O I I] + 位置 I* [O I I] + 位置 2* [O | I] + 位置 3* [O | I] +......+
位置(N-1) * [O 11] + 位置 N* [O 11],注意上述等式中,符號“I”表示或者的意思,因子(位置N*[O I I])表示在某個(gè)位置是連續(xù)的O或連續(xù)的1,而加號(+)表示將它們串聯(lián)起來?;谏鲜龅脑恚景l(fā)明實(shí)施例提出了一種文件存儲方法,即我們可以將源文件看成是一個(gè)由連續(xù)的O和連續(xù)的I組成的序列,我們可以將源文件中的O和I表示為二維坐標(biāo)的形式,可以將這些二維坐標(biāo)作為鏡像文件存儲,具體過程如下所述下述實(shí)施例描述的為一種文件存儲方法。圖1為本發(fā)明實(shí)施例一提供的文件存儲方法流程圖。如圖1所示,本發(fā)明實(shí)施例提供的文件存儲方法包括S101,將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組中的數(shù)據(jù)相同。具體地,假設(shè)源文件數(shù)據(jù)為0000111111100000011111110000011110000000101111,則將該數(shù)據(jù)分組,分組后的數(shù)據(jù)為源文件數(shù)據(jù)為0000,1111111,000000,1111111,00000,1111,0000000,1,0,1111,可以看出每組中的數(shù)據(jù)相同。S102,按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成坐標(biāo)組,所述二維坐標(biāo)的橫坐標(biāo)值中的偶數(shù)坐標(biāo)值表示第一數(shù)據(jù),所述二維坐標(biāo)的縱坐標(biāo)值表示所述橫坐標(biāo)值所表示的數(shù)據(jù)的個(gè)數(shù),所述第一數(shù)據(jù)為O或I。具體地,需要計(jì)算每個(gè)數(shù)據(jù)組所包含的數(shù)據(jù)個(gè)數(shù),將該個(gè)數(shù)作為二維坐標(biāo)的縱坐標(biāo),橫坐標(biāo)值從O開始依次進(jìn)一位(這里將橫軸坐標(biāo)值從O開始,也可以從其它數(shù)據(jù)開始,只要橫軸坐標(biāo)值是遞增即可,也可以遞減,即坐標(biāo)值只可以一直遞減或一直遞增,后面于此相同,不再贅述),并設(shè)定橫坐標(biāo)中的偶數(shù)值表示0,奇數(shù)值表示1,當(dāng)然也可以做相反的設(shè)定。以上面的數(shù)據(jù)組:0000,1111111,000000,1111111,00000,1111,0000000,1,0,1111為例,為這些數(shù)據(jù)組生成的二維坐標(biāo)分別為(0,4),(1,7),(2,6), (3,7), (4,5),(5,4), (6,7) (7,I), (8,I), (9,4)。以第二個(gè)坐標(biāo)(1,7)為例,源文件數(shù)據(jù)為七個(gè)1,如果將該段數(shù)據(jù)復(fù)制一遍,則數(shù)據(jù)量為七個(gè)比特,如果寫成坐標(biāo)的形式則數(shù)據(jù)量為兩個(gè)坐標(biāo)值的數(shù)據(jù)量,橫軸坐標(biāo)值為1,因此占用I個(gè)比特,縱軸坐標(biāo)值為7,因此,占用3個(gè)比特,總和為4個(gè)比特,少于復(fù)制的數(shù)據(jù)量,因此,可以減小存儲數(shù)量。S103,將所述坐標(biāo)組存儲在存儲設(shè)備上。具體地,由于S102中設(shè)定了橫軸坐標(biāo)值為偶數(shù)時(shí)表示Y軸記錄的為O的個(gè)數(shù),橫軸坐標(biāo)值為奇數(shù)時(shí)表示Y軸記錄的為I的個(gè)數(shù),因此,根據(jù)上述坐標(biāo)可以獲知源文件的內(nèi)容為 0000111111100000011111110000011110000000101111。另外,從上述過程可以看出,如果源文件的內(nèi)容為O和I間隔循環(huán)出現(xiàn),則可以獲知二維坐標(biāo)的橫軸坐標(biāo)值的最大值為源文件中的二進(jìn)制數(shù)據(jù)個(gè)數(shù)。上述實(shí)施例描述的為,將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組中的數(shù)據(jù)相同;按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成坐標(biāo)組,所述二維坐標(biāo)的橫坐標(biāo)值中的偶數(shù)坐標(biāo)值表示第一數(shù)據(jù),所述二維坐標(biāo)的縱坐標(biāo)值表示所述橫坐標(biāo)值所表示的數(shù)據(jù)的個(gè)數(shù),所述第一數(shù)據(jù)為O或I ;將所述坐標(biāo)組存儲在存儲設(shè)備上。從而減小了鏡像文件的大小,并且傳統(tǒng)鏡像文件系統(tǒng)無論在寫操作還是讀操作,都會涉及到對磁盤的大數(shù)據(jù)量的訪問,而基于二維坐標(biāo)的鏡像文件系統(tǒng)只需在硬盤上寫入或讀取少量坐標(biāo)數(shù)據(jù),而后的組合全部是在內(nèi)存區(qū)域執(zhí)行,這樣既能減少對后端磁盤的消耗,還能加快數(shù)據(jù)的讀寫速度,從而增加了處理效率,對于每一個(gè)文件,我們分塊處理,這使得我們在鏡像時(shí),可以靈活地增加一個(gè)文件甚至一個(gè)文件塊的鏡像數(shù)量。通過上述實(shí)施例可以看出,由于一個(gè)文件所包含的二進(jìn)制位數(shù)極大,如果按上述方法,處理效率比較低,為提高處理效率,可以將多個(gè)數(shù)據(jù)作為一個(gè)單位進(jìn)行處理,因此,本發(fā)明實(shí)施例提出了另一種基于二維坐標(biāo)的文件存儲方法。圖2為本發(fā)明實(shí)施例二提供的文件存儲方法流程圖。如圖2所示,本發(fā)明實(shí)施例提供的文件存儲方法包括S201,將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組具有相同的數(shù)據(jù)量。每個(gè)數(shù)據(jù)組中的數(shù)據(jù)量可以是I個(gè)字節(jié),也可是其它大小,為闡述方便,這里以I個(gè)字節(jié)為例,我們知道一個(gè)字節(jié)由8個(gè)比特組成,因此,它有256種組合,也能表示256種狀態(tài),我們將這256種狀態(tài)也即0(00000000廣255(11111111)作為二維坐標(biāo)的縱軸坐標(biāo)值的內(nèi)容。假設(shè)源文件的內(nèi)容為000000110000100000000001000001110000011100001000001110000011100001,劃分后的數(shù)據(jù)為 00000011,00001000,00000001,00000111,00000111,0000100,00000010,00001001, 00000110,即將源文件數(shù)據(jù)分成了 6組,形成了數(shù)據(jù)組(3,8,1,7,7,8,2, 5,6),其中最后一組不滿一個(gè)字節(jié),在低位補(bǔ)O。S202,按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成二維坐標(biāo)組。具體地,按順序?yàn)槊總€(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),為數(shù)據(jù)生成二維坐標(biāo)的過程即為將數(shù)據(jù)寫入二維坐標(biāo)系的過程,按順序?qū)⑸鲜鰯?shù)據(jù)組寫入二維坐標(biāo)系中時(shí),所述二維坐標(biāo)組中的第一坐標(biāo)的縱軸坐標(biāo)值與其對應(yīng)的第一數(shù)據(jù)相同,如果所述第一數(shù)據(jù)不大于第二數(shù)據(jù),則所述第一坐標(biāo)的橫軸坐標(biāo)值為在第二數(shù)據(jù)對應(yīng)的橫軸坐標(biāo)值的基礎(chǔ)上加1,否則,所述第一坐標(biāo)的橫軸坐標(biāo)值與所述第二數(shù)據(jù)對應(yīng)的橫軸坐標(biāo)值相同,所述第二數(shù)據(jù)為所述第一數(shù)據(jù)的前一個(gè)數(shù)據(jù)。為使上述技術(shù)方案便于理解,下面以圖3為例詳細(xì)闡述將數(shù)據(jù)組(3,8,1,7,7,8,2,5,6)寫入二維坐標(biāo)系的過程,圖3為本發(fā)明實(shí)施例二提供的文件存儲方法示意圖。具體地,首先將第一個(gè)數(shù)據(jù)“3”寫入X坐標(biāo)為0,Y坐標(biāo)為3的坐標(biāo)中,然后將第二個(gè)數(shù)據(jù)“8”寫入坐標(biāo)系中,由于8大于3,因此,X坐標(biāo)不變,將“8”寫入Y坐標(biāo)為的坐標(biāo)中,第三個(gè)數(shù)據(jù)為“7”,7小于8,因此,需要將X坐標(biāo)加I (由O進(jìn)為1),然后將“7”寫入X坐標(biāo)為1,Y坐標(biāo)為7的坐標(biāo)中,以此類推,可以將其它數(shù)據(jù)寫入坐標(biāo)系中。從中可以看出,Y坐標(biāo)可以表示的最大值為255 (二進(jìn)制因此,所述二維坐標(biāo)的縱軸坐標(biāo)值的最大值為,將所述數(shù)據(jù)組中的每一位取I時(shí)所表示的數(shù)據(jù)。S203,將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值連續(xù)變化的第一坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo),所述柱面坐標(biāo)的第一坐標(biāo)值與所述第一坐標(biāo)組的橫軸坐標(biāo)值相同,所述柱面坐標(biāo)的第二坐標(biāo)值為第一坐標(biāo)范圍,所述第一坐標(biāo)范圍利用所述第一坐標(biāo)組中的最小縱軸坐標(biāo)值和最大縱軸坐標(biāo)值表示。具體地,為所有數(shù)據(jù)生成二維坐標(biāo)后,還需要將生成的二維坐標(biāo)做壓縮處理,以減小文件大小。圖4為本發(fā)明實(shí)施例二提供的柱面坐標(biāo)生成方法示意圖。如圖4中的圖(a)所示,假設(shè)具有相同X坐標(biāo)的坐標(biāo)組中的坐標(biāo)為(A, a)、(A, b)、(A, c)、(A, d)、(A, e),則可 以將這些坐標(biāo)寫為柱面坐標(biāo)(A,a^e),該柱面坐標(biāo)表示a、b、C、d、e被選中。所述方法還包括將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值不連續(xù)變化的第二坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo),所述柱面坐標(biāo)的第一坐標(biāo)值與所述第二坐標(biāo)組的橫軸坐標(biāo)值相同,當(dāng)所述第二坐標(biāo)組中的坐標(biāo)數(shù)量不超過第一數(shù)量閾值時(shí),所述柱面坐標(biāo)的其它坐標(biāo)值包括所述第二坐標(biāo)組的縱軸坐標(biāo)值,否則,所述柱面坐標(biāo)的其它坐標(biāo)值包括負(fù)數(shù)坐標(biāo)組,所述負(fù)數(shù)坐標(biāo)組為從所述縱軸坐標(biāo)值的范圍中除去所述第二坐標(biāo)組中的縱軸坐標(biāo)值,將剩下的縱軸坐標(biāo)值取負(fù)數(shù)。以圖4中的圖(b)為例,假設(shè)具有相同X坐標(biāo)的坐標(biāo)組中的坐標(biāo)為(A, b)、(A, c)、(A, d)、(A, e)、(A, g)、(A, h),只有數(shù)據(jù)a和f沒有被選中,即沒有選中的數(shù)據(jù)為2個(gè),選中的數(shù)據(jù)為6個(gè),可以將這些選中的坐標(biāo)表示為柱面坐標(biāo)(A,b,c,d,e, f,h),也可以將這些坐標(biāo)表示為柱面坐標(biāo)(A,-a, _f),可見,第二中方法更節(jié)省空間,因此采用第二個(gè)柱面坐標(biāo),該柱面坐標(biāo)表示除a、f外,其它數(shù)據(jù)被選中。圖4中的圖(c)所示的為具有相同X坐標(biāo)的坐標(biāo)組中的坐標(biāo)為(A,c)、(A, e)、(A, g),則可以將這些坐標(biāo)寫為柱面坐標(biāo)(A,c, e,g),該柱面坐標(biāo)表示C、e、g被選中。從中可以看出,第一數(shù)量閾值為所述縱軸坐標(biāo)值的最大值的一半時(shí),所獲得的柱面坐標(biāo)更節(jié)省空間。S204,將所述柱面坐標(biāo)存儲在存儲設(shè)備上。按順序?qū)⑸鲜鲋孀鴺?biāo)存儲即可形成鏡像文件。上述實(shí)施例描述的為,將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組具有相同的數(shù)據(jù)量;按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成二維坐標(biāo)組;將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值連續(xù)變化的第一坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo);將所述柱面坐標(biāo)存儲在存儲設(shè)備上,從而減小了鏡像文件的大小,并且傳統(tǒng)鏡像文件系統(tǒng)無論在寫操作還是讀操作,都會涉及到對磁盤的大數(shù)據(jù)量的訪問,而基于二維坐標(biāo)的鏡像文件系統(tǒng)只需在硬盤上寫入或讀取少量坐標(biāo)數(shù)據(jù),而后的組合全部是在內(nèi)存區(qū)域執(zhí)行,這樣既能減少對后端磁盤的消耗,還能加快數(shù)據(jù)的讀寫速度,從而增加了處理效率,對于每一個(gè)文件,我們分塊處理,這使得我們在鏡像時(shí),可以靈活地增加一個(gè)文件甚至一個(gè)文件塊的鏡像數(shù)量。相應(yīng)地,本發(fā)明實(shí)施例提供了與文件存儲方法對應(yīng)的文件存儲裝置,下述實(shí)施例描述的為與上述實(shí)施例一的文件存儲方法對應(yīng)的文件存儲裝置。圖5為本發(fā)明實(shí)施例三提供的文件存儲裝置示意圖。如圖5所示,本發(fā)明實(shí)施例提供的裝置包括確定單元501、生成單元502和存儲單元503。分組單元501,用于將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組中的數(shù)據(jù)相同,將所述數(shù)據(jù)組發(fā)送至生成單元502 ;生成單元502,用于接收所述分組單元501發(fā)送的所述數(shù)據(jù)組,按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成坐標(biāo)組,所述二維坐標(biāo)的橫坐標(biāo)值中的偶數(shù)坐標(biāo)值表示第一數(shù)據(jù),所述二維坐標(biāo)的縱坐標(biāo)值表示所述橫坐標(biāo)值所表示的數(shù)據(jù)的個(gè)數(shù),所述第一數(shù)據(jù)為O或I,將所述坐標(biāo)組發(fā)送至存儲單元503 ;存儲單元503,用于接收所述生成單元502發(fā)送的所述數(shù)據(jù)組,將所述坐標(biāo)組存儲在存儲設(shè)備上。所述生成單元502中的所述二維坐標(biāo)的橫軸坐標(biāo)值的最大值不超過所述源文件中的二進(jìn)制數(shù)據(jù)個(gè)數(shù)。需要說明的是,本發(fā)明實(shí)施例提供的裝置植入了上述實(shí)施例一中的文件存儲方法,因此,本發(fā)明實(shí)施例提供的裝置所包括的各個(gè)單元的工作過程在此不復(fù)贅述。上述實(shí)施例描述的為,分組單元將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組中的數(shù)據(jù)相同;生成單元按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成坐標(biāo)組,所述二維坐標(biāo)的橫坐標(biāo)值中的偶數(shù)坐標(biāo)值表示第一數(shù)據(jù),所述二維坐標(biāo)的縱坐標(biāo)值表示所述橫坐標(biāo)值所表示的數(shù)據(jù)的個(gè)數(shù),所述第一數(shù)據(jù)為O或I元;存儲單元將所述坐標(biāo)組存儲在存儲設(shè)備上。從而減小了鏡像文件的大小,并且傳統(tǒng)鏡像文件系統(tǒng)無論在寫操作還是讀操作,都會涉及到對磁盤的大數(shù)據(jù)量的訪問,而基于二維坐標(biāo)的鏡像文件系統(tǒng)只需在硬盤上寫入或讀取少量坐標(biāo)數(shù)據(jù),而后的組合全部是在內(nèi)存區(qū)域執(zhí)行,這樣既能減少對后端磁盤的消耗,還能加快數(shù)據(jù)的讀寫速度,從而增加了處理效率,對于每一個(gè)文件,我們分塊處理,這使得我們在鏡像時(shí),可以靈活地增加一個(gè)文件甚至一個(gè)文件塊的鏡像數(shù)量。下述實(shí)施例描述的為與上述實(shí)施例二的文件存儲方法對應(yīng)的文件存儲裝置。圖6為本發(fā)明實(shí)施例四提供的文件存儲裝置示意圖。如圖6所示,本發(fā)明實(shí)施例提供的裝置包括分組單元601、生成單元602、壓縮單元603和存儲單元604。分組單元601,用于將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組具有相同的數(shù)據(jù)量所述數(shù)據(jù)組發(fā)送至生成單元602。生成單元602,用于接收所述分組單元601發(fā)送的所述數(shù)據(jù)組,按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成二維坐標(biāo)組,將所述二維坐標(biāo)組發(fā)送至壓縮單元603。壓縮單元603,用于接收所述生成單元發(fā)603送的所述二維坐標(biāo)組,將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值連續(xù)變化的第一坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo),所述柱面坐標(biāo)的第一坐標(biāo)值與所述第一坐標(biāo)組的橫軸坐標(biāo)值相同,所述柱面坐標(biāo)的第二坐標(biāo)值為第一坐標(biāo)范圍,所述第一坐標(biāo)范圍利用所述第一坐標(biāo)組中的最小縱軸坐標(biāo)值和最大縱軸坐標(biāo)值表示,將所述柱面坐標(biāo)發(fā)送至存儲單元604。存儲單元604,用于接收所述壓縮單元603發(fā)送的所述柱面坐標(biāo),將所述柱面坐標(biāo)存儲在存儲設(shè)備上。
所述生成單元602中的所述二維坐標(biāo)的縱軸坐標(biāo)值的最大值為,將所述數(shù)據(jù)組中的每一位取I時(shí)所表示的數(shù)據(jù)。所述生成單元602中的所述二維坐標(biāo)組中的第一坐標(biāo)的縱軸坐標(biāo)值與其對應(yīng)的第一數(shù)據(jù)相同,如果所述第一數(shù)據(jù)不大于第二數(shù)據(jù),則所述第一坐標(biāo)的橫軸坐標(biāo)值為在第二數(shù)據(jù)對應(yīng)的橫軸坐標(biāo)值的基礎(chǔ)上加1,否則,所述第一坐標(biāo)的橫軸坐標(biāo)值與所述第二數(shù)據(jù)對應(yīng)的橫軸坐標(biāo)值相同,所述第二數(shù)據(jù)為所述第一數(shù)據(jù)的前一個(gè)數(shù)據(jù)。所述壓縮單元603還用于將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值不連續(xù)變化的第二坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo),所述柱面坐標(biāo)的第一坐標(biāo)值與所述第二坐標(biāo)組的橫軸坐標(biāo)值相同,當(dāng)所述第二坐標(biāo)組中的坐標(biāo)數(shù)量不超過第一數(shù)量閾值時(shí),所述柱面坐標(biāo)的其它坐標(biāo)值包括所述第二坐標(biāo)組的縱軸坐標(biāo)值,否則,所述柱面坐標(biāo)的其它坐標(biāo)值包括負(fù)數(shù)坐標(biāo)組,所述負(fù)數(shù)坐標(biāo)組為從所述縱軸坐標(biāo)值的范圍中除去所述第二坐標(biāo)組中的縱軸坐標(biāo)值,將剩下的縱軸坐標(biāo)值取負(fù)數(shù)。第一數(shù)量閾值為所述縱軸坐標(biāo)值的最大值的一半時(shí),所獲得的柱面坐標(biāo)更節(jié)省空間。需要說明的是,本發(fā)明實(shí)施例提供的裝置植入了上述實(shí)施例二中的文件存儲方法,因此,本發(fā)明實(shí)施例提供的裝置所包括的各個(gè)單元的工作過程在此不復(fù)贅述。上述實(shí)施例描述的為,分組單元用于將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組具有相同的數(shù)據(jù)量;生成單元用于按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成二維坐標(biāo)組;壓縮單元用于將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值連續(xù)變化的第一坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo);存儲單元用于將所述柱面坐標(biāo)存儲在存儲設(shè)備上,從而減小了鏡像文件的大小,并且傳統(tǒng)鏡像文件系統(tǒng)無論在寫操作還是讀操作,都會涉及到對磁盤的大數(shù)據(jù)量的訪問,而基于二維坐標(biāo)的鏡像文件系統(tǒng)只需在硬盤上寫入或讀取少量坐標(biāo)數(shù)據(jù),而后的組合全部是在內(nèi)存區(qū)域執(zhí)行,這樣既能減少對后端磁盤的消耗,還能加快數(shù)據(jù)的讀寫速度,從而增加了處理效率,對于每一個(gè)文件,我們分塊處理,這使得我們在鏡像時(shí),可以靈活地增加一個(gè)文件甚至一個(gè)文件塊的鏡像數(shù)量。專業(yè)人員應(yīng)該還可以進(jìn)一步意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲器(RAM)、內(nèi)存、只讀存儲器(ROM),電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。以上所述的具體實(shí)施方式
,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式
而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種文件存儲方法,其特征在于,所述方法包括 將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組中的數(shù)據(jù)相同; 按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成坐標(biāo)組,所述二維坐標(biāo)的橫坐標(biāo)值中的偶數(shù)坐標(biāo)值表示第一數(shù)據(jù),所述二維坐標(biāo)的縱坐標(biāo)值表示所述橫坐標(biāo)值所表示的數(shù)據(jù)的個(gè)數(shù),所述第一數(shù)據(jù)為O或I ; 將所述坐標(biāo)組存儲在存儲設(shè)備上。
2.根據(jù)權(quán)利要求1所述的文件存儲方法,其特征在于,所述二維坐標(biāo)的橫軸坐標(biāo)值的最大值不超過所述源文件中的二進(jìn)制數(shù)據(jù)個(gè)數(shù)。
3.一種文件存儲方法,其特征在于,所述方法包括 將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組具有相同的數(shù)據(jù)量; 按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成二維坐標(biāo)組; 將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值連續(xù)變化的第一坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo),所述柱面坐標(biāo)的第一坐標(biāo)值與所述第一坐標(biāo)組的橫軸坐標(biāo)值相同,所述柱面坐標(biāo)的第二坐標(biāo)值為第一坐標(biāo)范圍,所述第一坐標(biāo)范圍利用所述第一坐標(biāo)組中的最小縱軸坐標(biāo)值和最大縱軸坐標(biāo)值表示; 將所述柱面坐標(biāo)存儲在存儲設(shè)備上。
4.根據(jù)權(quán)利要求3所述的文件存儲方法,其特征在于,所述二維坐標(biāo)的縱軸坐標(biāo)值的最大值為,將所述數(shù)據(jù)組中的每一位取I時(shí)所表示的數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的文件存儲方法,其特征在于,所述二維坐標(biāo)組中的第一坐標(biāo)的縱軸坐標(biāo)值與其對應(yīng)的第一數(shù)據(jù)相同,如果所述第一數(shù)據(jù)不大于第二數(shù)據(jù),則所述第一坐標(biāo)的橫軸坐標(biāo)值為在第二數(shù)據(jù)對應(yīng)的橫軸坐標(biāo)值的基礎(chǔ)上加1,否則,所述第一坐標(biāo)的橫軸坐標(biāo)值與所述第二數(shù)據(jù)對應(yīng)的橫軸坐標(biāo)值相同,所述第二數(shù)據(jù)為所述第一數(shù)據(jù)的前一個(gè)數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的文件存儲方法,其特征在于,所述方法還包括 將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值不連續(xù)變化的第二坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo),所述柱面坐標(biāo)的第一坐標(biāo)值與所述第二坐標(biāo)組的橫軸坐標(biāo)值相同,當(dāng)所述第二坐標(biāo)組中的坐標(biāo)數(shù)量不超過第一數(shù)量閾值時(shí),所述柱面坐標(biāo)的其它坐標(biāo)值包括所述第二坐標(biāo)組的縱軸坐標(biāo)值,否則 所述柱面坐標(biāo)的其它坐標(biāo)值包括負(fù)數(shù)坐標(biāo)組,所述負(fù)數(shù)坐標(biāo)組為從所述縱軸坐標(biāo)值的范圍中除去所述第二坐標(biāo)組中的縱軸坐標(biāo)值,將剩下的縱軸坐標(biāo)值取負(fù)數(shù)。
7.一種文件存儲裝置,其特征在于,所述裝置包括 分組單元,用于將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組中的數(shù)據(jù)相同,將所述數(shù)據(jù)組發(fā)送至生成單元; 生成單元,用于接收所述分組單元發(fā)送的所述數(shù)據(jù)組,按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成坐標(biāo)組,所述二維坐標(biāo)的橫坐標(biāo)值中的偶數(shù)坐標(biāo)值表示第一數(shù)據(jù),所述二維坐標(biāo)的縱坐標(biāo)值表示所述橫坐標(biāo)值所表示的數(shù)據(jù)的個(gè)數(shù),所述第一數(shù)據(jù)為O或I,將所述坐標(biāo)組發(fā)送至存儲單元; 存儲單元,用于接收所述生成單元發(fā)送的所述數(shù)據(jù)組,將所述坐標(biāo)組存儲在存儲設(shè)備上。
8.根據(jù)權(quán)利要求7所述的文件存儲裝置,其特征在于,所述生成單元中的所述二維坐標(biāo)的橫軸坐標(biāo)值的最大值不超過所述源文件中的二進(jìn)制數(shù)據(jù)個(gè)數(shù)。
9.一種文件存儲裝置,其特征在于,所述裝置包括 分組單元,用于將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組具有相同的數(shù)據(jù)量,將所述數(shù)據(jù)組發(fā)送至生成單元; 生成單元,用于接收所述分組單元發(fā)送的所述數(shù)據(jù)組,按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成二維坐標(biāo)組,將所述二維坐標(biāo)組發(fā)送至壓縮單元; 壓縮單元,用于接收所述生成單元發(fā)送的所述二維坐標(biāo)組,將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值連續(xù)變化的第一坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo),所述柱面坐標(biāo)的第一坐標(biāo)值與所述第一坐標(biāo)組的橫軸坐標(biāo)值相同,所述柱面坐標(biāo)的第二坐標(biāo)值為第一坐標(biāo)范圍,所述第一坐標(biāo)范圍利用所述第一坐標(biāo)組中的最小縱軸坐標(biāo)值和最大縱軸坐標(biāo)值表示,將所述柱面坐標(biāo)發(fā)送至存儲單元; 存儲單元,用于接收所述壓縮單元發(fā)送的所述柱面坐標(biāo),將所述柱面坐標(biāo)存儲在存儲設(shè)備上。
10.根據(jù)權(quán)利要求9所述的文件存儲裝置,其特征在于,所述生成單元中的所述二維坐標(biāo)的縱軸坐標(biāo)值的最大值為,將所述數(shù)據(jù)組中的每一位取I時(shí)所表示的數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的文件存儲裝置,其特征在于,所述生成單元中的所述二維坐標(biāo)組中的第一坐標(biāo)的縱軸坐標(biāo)值與其對應(yīng)的第一數(shù)據(jù)相同,如果所述第一數(shù)據(jù)不大于第二數(shù)據(jù),則所述第一坐標(biāo)的橫軸坐標(biāo)值為在第二數(shù)據(jù)對應(yīng)的橫軸坐標(biāo)值的基礎(chǔ)上加1,否貝U,所述第一坐標(biāo)的橫軸坐標(biāo)值與所述第二數(shù)據(jù)對應(yīng)的橫軸坐標(biāo)值相同,所述第二數(shù)據(jù)為所述第一數(shù)據(jù)的前一個(gè)數(shù)據(jù)。
12.根據(jù)權(quán)利要求11所述的文件存儲裝置,其特征在于,所述壓縮單元還用于 將所述二維坐標(biāo)組中具有相同橫軸坐標(biāo)值,并且縱軸坐標(biāo)值不連續(xù)變化的第二坐標(biāo)組壓縮為一個(gè)柱面坐標(biāo),所述柱面坐標(biāo)的第一坐標(biāo)值與所述第二坐標(biāo)組的橫軸坐標(biāo)值相同,當(dāng)所述第二坐標(biāo)組中的坐標(biāo)數(shù)量不超過第一數(shù)量閾值時(shí),所述柱面坐標(biāo)的其它坐標(biāo)值包括所述第二坐標(biāo)組的縱軸坐標(biāo)值,否則 所述柱面坐標(biāo)的其它坐標(biāo)值包括負(fù)數(shù)坐標(biāo)組,所述負(fù)數(shù)坐標(biāo)組為從所述縱軸坐標(biāo)值的范圍中除去所述第二坐標(biāo)組中的縱軸坐標(biāo)值,將剩下的縱軸坐標(biāo)值取負(fù)數(shù)。
全文摘要
本發(fā)明實(shí)施例涉及一種文件存儲方法及裝置,包括將二進(jìn)制源文件中的數(shù)據(jù)進(jìn)行分組處理獲得數(shù)據(jù)組,每一個(gè)所述數(shù)據(jù)組中的數(shù)據(jù)相同;按所述數(shù)據(jù)組在所述源文件中的順序,為每個(gè)所述數(shù)據(jù)組生成對應(yīng)的二維坐標(biāo),形成坐標(biāo)組,所述二維坐標(biāo)的橫坐標(biāo)值中的偶數(shù)坐標(biāo)值表示第一數(shù)據(jù),所述二維坐標(biāo)的縱坐標(biāo)值表示所述橫坐標(biāo)值所表示的數(shù)據(jù)的個(gè)數(shù),所述第一數(shù)據(jù)為0或1;將所述坐標(biāo)組存儲在存儲設(shè)備上。從而減小了鏡像文件的大小,并且可以減少對后端磁盤的消耗,還能加快數(shù)據(jù)的讀寫速度,從而增加了處理效率,對于每一個(gè)文件,我們分塊處理,這使得我們在鏡像時(shí),可以靈活地增加一個(gè)文件甚至一個(gè)文件塊的鏡像數(shù)量。
文檔編號G06F11/16GK103019895SQ20121058654
公開日2013年4月3日 申請日期2012年12月28日 優(yōu)先權(quán)日2012年12月28日
發(fā)明者李彤 申請人:華為技術(shù)有限公司