專利名稱:一種將數(shù)據(jù)轉(zhuǎn)儲到移動存儲介質(zhì)以及從其上提取數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明的核心是一種將數(shù)據(jù)轉(zhuǎn)儲到移動存儲介質(zhì)上以及從其上提取數(shù)據(jù)的方法,移動存儲介質(zhì)主要指軟盤、U盤、活動硬盤等,其中,3.25英寸軟盤(容量1.44M)是主流的少量數(shù)據(jù)頻繁報送的存儲介質(zhì)。
背景技術(shù):
數(shù)據(jù)的轉(zhuǎn)儲、傳送以及提取、再利用,是數(shù)據(jù)交換的活動,通過移動存儲介質(zhì)來中轉(zhuǎn),是傳統(tǒng)的、樸素的技術(shù)實現(xiàn)。計算機(jī)網(wǎng)絡(luò)的建設(shè),為數(shù)據(jù)交換的實現(xiàn)提供了更好的平臺,但由于以下幾種原因,使用移動介質(zhì)來傳送數(shù)據(jù)的方案,在一段時期內(nèi),仍然具有充分的應(yīng)用依據(jù)和廣闊的應(yīng)用舞臺。
原因之一計算機(jī)網(wǎng)路的部署總是按照一定的規(guī)劃,受經(jīng)濟(jì)、地理等環(huán)境因素的制約,只能從長計議,一般都要分階段、分區(qū)域逐步地搭建,很難做到短期內(nèi)全部到位。
原因之二某行業(yè)內(nèi)部的網(wǎng)絡(luò)已然需要經(jīng)過長期的努力,才能建設(shè)圓滿,行業(yè)之間的網(wǎng)絡(luò)連接,則更引入了許多更加復(fù)雜的需要關(guān)注的問題,其中網(wǎng)絡(luò)安全的級別大幅度提高,對技術(shù)、管理和維護(hù)都提出了嚴(yán)峻的挑戰(zhàn),故而為平穩(wěn)發(fā)展起見,在較長的時期內(nèi),行業(yè)之間的數(shù)據(jù)交換仍不能廣泛地通過網(wǎng)絡(luò)實現(xiàn)。
原因之三一些特殊的應(yīng)用,如大量分支機(jī)構(gòu)的定期數(shù)據(jù)向上保送,瞬間對網(wǎng)絡(luò)帶寬的要求非常高,一時難以滿足。
即使是傳統(tǒng)的數(shù)據(jù)報送方法,在具體技術(shù)實現(xiàn)上,也存在諸多差異。
最簡單不過的是把文件在移動介質(zhì)和固定介質(zhì)上拷貝來拷貝去,先進(jìn)一步的是在從固定介質(zhì)拷貝到移動介質(zhì)前,對文件進(jìn)行壓縮(當(dāng)文件較多、數(shù)據(jù)量較大,尤其是數(shù)據(jù)冗余度較高時,獲益明顯),形成另外一個最終存儲的文件,即拷貝的是壓縮后的文件。
上述兩種方法都要求介質(zhì)是預(yù)先經(jīng)過格式化的,介質(zhì)上具有操作系統(tǒng)支持的文件管理結(jié)構(gòu),都使用操作系統(tǒng)提供的強(qiáng)大而靈活的文件處理功能,因此實現(xiàn)容易,并且兼容性好。但當(dāng)今計算機(jī)病毒泛濫,各類文件恰是病毒關(guān)注的對象、棲身的場所和傳播的重要途徑之一,這樣一來,當(dāng)移動存儲介質(zhì)送達(dá)目標(biāo)應(yīng)用環(huán)境中時,對其中的數(shù)據(jù)是否純潔、可否放心使用,都需質(zhì)疑。
計算機(jī)病毒是一種惡意程序片段,主要分為兩種系統(tǒng)型和文件型。系統(tǒng)型病毒篡改操作系統(tǒng)的啟動部分,故又稱引導(dǎo)型病毒,大多編制精巧、身材苗條,棲身在操作系統(tǒng)存儲介質(zhì)(軟盤/硬盤)的第一個扇區(qū),此扇區(qū)中原始內(nèi)容是操作系統(tǒng)用以識別介質(zhì)類型的基本數(shù)據(jù)和用以讀入后續(xù)的系統(tǒng)啟動程序的代碼,經(jīng)系統(tǒng)型病毒篡改后,病毒將及早地截獲了系統(tǒng)的控制權(quán)。文件型病毒嵌入在操作系統(tǒng)中可執(zhí)行程序(.EXE/.DLL/.COM等)或者支持腳本語言的文件(.DOC/.EML等)中,更有甚者,象水印一般,隱藏在一些數(shù)據(jù)和內(nèi)部實現(xiàn)自包含的文件中(.JPG/.TTF等),在程序執(zhí)行、文檔打開或正常應(yīng)用程序按照接口調(diào)用其中內(nèi)部功能時截獲系統(tǒng)控制權(quán)。一種病毒可以同時具有上述兩種特征,反而,單純的系統(tǒng)型病毒由于可利用的資源(強(qiáng)大的文件訪問功能、網(wǎng)絡(luò)功能等)較少,實現(xiàn)傳播和發(fā)作都受到了許多限制,病毒的編寫也很不容易,目前已幾乎絕跡,即完全不利用文件系統(tǒng)的病毒基本已經(jīng)無人有興趣肇事了,那么,文件就成了病毒特殊青睞的對象。
對抗病毒,主要從兩個方面入手查殺、防止。查殺是掃描存儲介質(zhì),看看是否有病毒棲身,發(fā)現(xiàn)再處理;防止是在對系統(tǒng)監(jiān)控的基礎(chǔ)上,分析系統(tǒng)中活動進(jìn)程的意圖,如有表現(xiàn)異常的(修改系統(tǒng)重要敏感數(shù)據(jù)或者侵?jǐn)_其它進(jìn)程、程序等),予以禁止。
從以上病毒機(jī)理的分析看,現(xiàn)今的計算機(jī)病毒總要通過文件訪問來找尋棲身場所。操作系統(tǒng)提供的種種功能,方便了正面應(yīng)用的實現(xiàn),病毒也會利用它來興風(fēng)作浪,所以,反向而行,不以操作系統(tǒng)支持的文件系統(tǒng)格式來訪問數(shù)據(jù),是一種回避病毒的方案。
不以文件形式來訪問數(shù)據(jù),就不能使用操作系統(tǒng)提供的文件處理功能,需要采用較為底層的存儲介質(zhì)直接訪問手段,這種方法有著明顯的缺點,就是兼容性不佳,表現(xiàn)在兩個方面第一是特定的程序只能訪問特定的數(shù)據(jù),反之,欲訪問特定的數(shù)據(jù),就需要編寫特定的程序;第二是不同的操作系統(tǒng)提供的底層介質(zhì)訪問技術(shù)不盡相同,不能象文件訪問那樣,以統(tǒng)一的方法來實現(xiàn),至少需要就主流的多種操作系統(tǒng)分別給予實現(xiàn)。由于該缺陷的存在,此技術(shù)不適合在通用型產(chǎn)品中采用,例如字處理(Word/WPS等)、圖形圖像處理(CorelDraw/PhotoShop等)等軟件工具;然而,考察各行業(yè)的專用業(yè)務(wù)軟件,卻發(fā)現(xiàn),此技術(shù)有應(yīng)用價值,因為行業(yè)軟件正是一種特定的程序,它處理的數(shù)據(jù)也正是一種特定的數(shù)據(jù),并不刻意追求兼容性,而數(shù)據(jù)的安全性則越高越好,也就是說,存在采用本發(fā)明涉及的技術(shù)方案的理由;而此技術(shù)的另外一個兼容性差的方面,則正是本發(fā)明的核心思想的具體實現(xiàn)。
發(fā)明內(nèi)容
為了解決上述關(guān)于數(shù)據(jù)安全(主要是病毒侵害)的問題,以及未提到的現(xiàn)有技術(shù)中的其它問題,提出本發(fā)明。
根據(jù)本發(fā)明的一個方面,提供了一種將原存儲在文件中的數(shù)據(jù)轉(zhuǎn)儲到移動存儲介質(zhì)上的方法,該方法包括以下步驟(A)逐個讀取由參數(shù)指定的多個文件,在內(nèi)存中連接、合并而成為一個字節(jié)流,稱為原始流;(B)將原始流進(jìn)行壓縮,形成另外一個字節(jié)流,稱為存儲流;(C)計算存儲流的字節(jié)累加和;以及(D)將存儲接口標(biāo)志、存儲流長度、原始流長度、字節(jié)累加和、存儲流內(nèi)容寫入移動介質(zhì)。
根據(jù)本發(fā)明的另一個方面,提供了一種將數(shù)據(jù)從移動介質(zhì)提取出來并還原為文件的方法,該方法包括以下步驟(A)讀取移動介質(zhì)的第一個存儲單位,判斷是否具有存儲接口標(biāo)志,滿足才繼續(xù);(B)獲得存儲流長度、原始流長度、以及字節(jié)累加和;(C)根據(jù)存儲流長度,讀取相應(yīng)數(shù)量的存儲單位中的數(shù)據(jù),即讀取存儲流內(nèi)容;(D)重新計算剛剛獲得的存儲流內(nèi)容的字節(jié)累加和,與在步驟(B)中獲得的字節(jié)累加和進(jìn)行比較,相同才繼續(xù);(E)對存儲流進(jìn)行解壓縮,還原出原始流;以及(F)根據(jù)原始流的結(jié)構(gòu),進(jìn)一步還原出原始數(shù)據(jù)文件,保存在由參數(shù)指定的路徑中,維持原文件名。
從下面的詳細(xì)說明中可顯而易見地得知本發(fā)明的上述及其它目的、特征,以及優(yōu)點。
圖1給出了根據(jù)本發(fā)明實施例的總流程框圖;圖2給出了根據(jù)本發(fā)明實施例的用于將數(shù)據(jù)轉(zhuǎn)儲到移動介質(zhì)的流程圖;圖3給出了根據(jù)本發(fā)明實施例的軟盤存儲布局;圖4給出了根據(jù)本發(fā)明實施例的原始流的內(nèi)部數(shù)據(jù)結(jié)構(gòu);以及圖5給出了根據(jù)本發(fā)明實施例的用于從移動介質(zhì)中提取數(shù)據(jù)的流程圖。
具體實施例方式
參考附圖,對本發(fā)明的實施例詳細(xì)說明如下。
如圖1所示,首先由專門的行業(yè)應(yīng)用軟件提取要轉(zhuǎn)儲的數(shù)據(jù),形成數(shù)據(jù)文件。專門的行業(yè)應(yīng)用軟件并不是本申請的發(fā)明點,在此不對其進(jìn)行詳細(xì)說明,但應(yīng)該有這樣的共識專門的行業(yè)應(yīng)用軟件盡管各不相同,卻具有明顯的共性,那就是對外交流的數(shù)據(jù)保存在文件中。其次,所形成的數(shù)據(jù)文件通過圖2所示的處理而轉(zhuǎn)儲到移動介質(zhì)上。隨后,根據(jù)行業(yè)應(yīng)用部署方案,進(jìn)行諸如軟盤、U盤、活動硬盤傳送等介質(zhì)移動。接下來,通過圖3所示的處理,從移動介質(zhì)中提取數(shù)據(jù),在數(shù)據(jù)應(yīng)用場所的固定介質(zhì)上重新形成數(shù)據(jù)文件。最后,專門的行業(yè)應(yīng)用軟件又以文件的形式處理數(shù)據(jù),繼續(xù)業(yè)務(wù)流程。
應(yīng)該注意的是,大多數(shù)數(shù)據(jù)交換是少量數(shù)據(jù)定期或不定期頻繁報送,軟盤由于廉價而仍然是數(shù)據(jù)報送的主流存儲介質(zhì),所以附圖中過程描述和下面的詳細(xì)描述以軟盤為例。
參考圖2,對將數(shù)據(jù)轉(zhuǎn)儲到移動介質(zhì)上的主體流程進(jìn)行具體描述,略去了一些不影響精神領(lǐng)悟的分支細(xì)節(jié),例如文件讀取失敗、移動介質(zhì)訪問失敗等錯誤處理機(jī)制。
在步驟2A,逐個讀取由參數(shù)指定的多個文件到內(nèi)存中,連接、合并為一個字節(jié)流,稱為原始流。原始流的內(nèi)部數(shù)據(jù)結(jié)構(gòu)如附表1所示。
在步驟2B,將字節(jié)流進(jìn)行壓縮,形成另外一個字節(jié)流,稱為存儲流;在步驟2C,計算存儲流各個字節(jié)的累加和;以及在步驟2D,將存儲接口標(biāo)志、存儲流長度、原始流長度、存儲流的字節(jié)累加和、存儲流的內(nèi)容寫入軟盤。
下面我們對通過圖2所處理的數(shù)據(jù)在軟盤中的存儲位置進(jìn)行說明。
從軟盤的第一個扇區(qū)(引導(dǎo)區(qū))就開始,按照固定的結(jié)構(gòu),順序?qū)懭脒B續(xù)若干個扇區(qū)的數(shù)據(jù)。這樣寫入數(shù)據(jù)之后,在引導(dǎo)區(qū)就不包含可執(zhí)行代碼,也不包含軟盤基數(shù)表,對文件系統(tǒng)來說,恰似一張沒有經(jīng)過格式化的裸介質(zhì),自然地拒絕普通的嘗試以文件形式來訪問軟盤數(shù)據(jù)的操作。在喪失兼容性的同時,抵制了引導(dǎo)型病毒的侵害,保證了數(shù)據(jù)的潔凈,降低了應(yīng)用環(huán)境的風(fēng)險。
軟盤存儲布局如圖5所示。
參考圖3,對從移動存儲介質(zhì)上提取數(shù)據(jù)、還原成文件的流程進(jìn)行具體的描述,略去了一些不影響精神領(lǐng)悟的分支細(xì)節(jié),例如介質(zhì)訪問失敗、創(chuàng)建文件失敗等錯誤處理機(jī)制。
在步驟3A,讀取軟盤的第一個扇區(qū),判斷是否具有約定的存儲接口標(biāo)志,符合才繼續(xù),不符合則結(jié)束;在步驟3B,獲得存儲流長度、原始流長度、字節(jié)累加和在步驟3C,根據(jù)存儲流的長度,讀出一定數(shù)量的扇區(qū)中的數(shù)據(jù);在步驟3D,計算讀出數(shù)據(jù)的字節(jié)累加和,與在步驟2B中獲得的累加和(存儲前計算好的)進(jìn)行比較,一致才繼續(xù),否則即數(shù)據(jù)校驗失敗,結(jié)束;在步驟3E,將讀出的數(shù)據(jù)流認(rèn)定為存儲流,對其進(jìn)行解壓縮,還原出原始流;在步驟3F,根據(jù)原始流的結(jié)構(gòu),還原出文件,將文件保存在由參數(shù)指定的路徑中,維持原文件名。上述原始流的結(jié)構(gòu)參見圖4。
對于本領(lǐng)域的普通技術(shù)人員來說可顯而易見的得出其他優(yōu)點和修改。因此,具有更廣方面的本發(fā)明并不局限于這里所示出的并且所描述的具體說明及示例性實施例。因此,在不脫離由隨后權(quán)利要求及其等價體所定義的一般發(fā)明構(gòu)思的精神和范圍的情況下,可對其做出各種修改。
權(quán)利要求
1.一種將原存儲在文件中的數(shù)據(jù)轉(zhuǎn)儲到移動存儲介質(zhì)上的方法,該方法包括以下步驟(A)逐個讀取由參數(shù)指定的多個文件,在內(nèi)存中連接、合并而成為一個字節(jié)流,稱為原始流;(B)將原始流進(jìn)行壓縮,形成另外一個字節(jié)流,稱為存儲流;(C)計算存儲流的字節(jié)累加和;以及(D)將存儲接口標(biāo)志、存儲流長度、原始流長度、字節(jié)累加和、存儲流內(nèi)容寫入移動介質(zhì)。
2.一種將數(shù)據(jù)從移動介質(zhì)提取出來并還原為文件的方法,該方法包括以下步驟(A)讀取移動介質(zhì)的第一個存儲單位,判斷是否具有存儲接口標(biāo)志,滿足才繼續(xù);(B)獲得存儲流長度、原始流長度、以及字節(jié)累加和;(C)根據(jù)存儲流長度,讀取相應(yīng)數(shù)量的存儲單位中的數(shù)據(jù),即讀取存儲流內(nèi)容;(D)重新計算剛剛獲得的存儲流內(nèi)容的字節(jié)累加和,與在步驟(B)中獲得的字節(jié)累加和進(jìn)行比較,相同才繼續(xù);(E)對存儲流進(jìn)行解壓縮,還原出原始流;以及(F)根據(jù)原始流的結(jié)構(gòu),進(jìn)一步還原出原始數(shù)據(jù)文件,保存在由數(shù)指定的存放路徑,維持原文件名。
全文摘要
一種將原存儲在文件中的數(shù)據(jù)轉(zhuǎn)儲到移動存儲介質(zhì)上的方法,該方法包括(A)逐個讀取由參數(shù)指定的多個文件,在內(nèi)存中連接、合并而成為一個字節(jié)流,稱為原始流;(B)將原始流進(jìn)行壓縮,形成另外一個字節(jié)流,稱為存儲流;(C)計算存儲流的字節(jié)累加和;以及(D)將存儲接口標(biāo)志、存儲流長度、原始流長度、字節(jié)累加和、存儲流內(nèi)容寫入移動介質(zhì)。此外,提供了一種相應(yīng)的將數(shù)據(jù)從移動介質(zhì)提取出來并還原為文件的方法。其中,在移動存儲介質(zhì)上的數(shù)據(jù)訪問(讀/寫),不以文件形式體現(xiàn),從而可避免計算機(jī)病毒感染和禁止病毒傳播。
文檔編號G06F1/00GK1655089SQ200510059358
公開日2005年8月17日 申請日期2005年3月28日 優(yōu)先權(quán)日2005年3月28日
發(fā)明者王川, 左湘東, 呂賓 申請人:北京紫光華宇軟件股份有限公司