專利名稱:一種文件拆分方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及大數(shù)據(jù)對象的管理技術(shù),屬于計算機(jī)科學(xué)與技術(shù)學(xué)科中的智能信息處理領(lǐng)域。
背景技術(shù):
在大數(shù)據(jù)對象管理中的一項關(guān)鍵技術(shù),是如何對數(shù)據(jù)文件進(jìn)行分割,以便于進(jìn)行文件管理與智能搜索。文件分割方法通常采用順序分割技術(shù),但是對于大數(shù)據(jù)對象的分割,如數(shù)據(jù)的容量達(dá)到GB時,其分割效率很低,甚至?xí)?dǎo)致系統(tǒng)內(nèi)存崩潰。這是由于要在內(nèi)存中對數(shù)據(jù)文件進(jìn)行打開、拷貝、粘貼、保存、上傳等操作,因此大量的消耗了系統(tǒng)內(nèi)存空間。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是現(xiàn)有的文件分割方法分割效率很低,甚至?xí)?dǎo)致系統(tǒng)內(nèi)存崩潰。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:一種文件拆分方法,包括以下步驟:1)對文件目錄結(jié)構(gòu)進(jìn)行 預(yù)處理,使其規(guī)范化;2)采用雙指針技術(shù)對文件目錄進(jìn)行定位,獲取數(shù)據(jù)文件的目錄個數(shù);3)從文件的尾部開始依此向文章的起始處剪切,按照文件目錄的順序逐目錄進(jìn)行分割提取,對子目錄的內(nèi)容進(jìn)行剪切,然后將剪切的內(nèi)容再粘貼到新的空文件中,并以網(wǎng)頁的形式保存在數(shù)據(jù)庫中。傳統(tǒng)文件的分割方法是采用順序分割方法,即按照文件目錄的順序逐目錄進(jìn)行分割提取,對子目錄的內(nèi)容進(jìn)行剪切,然后將剪切的內(nèi)容再粘貼到新的空文件中,并以網(wǎng)頁的形式保存在數(shù)據(jù)庫中;本發(fā)明根據(jù)文件的目錄結(jié)構(gòu)分割數(shù)據(jù)文件,將子目錄作為存儲與管理文件的基本單位,且對文件進(jìn)行剪切操作。采用剪切操作的優(yōu)點(diǎn)是:隨著拆分的不斷進(jìn)行,原文件所占用的內(nèi)存空間將逐步減少,拆分速度是不斷加快的;此外,本發(fā)明采取倒排序的方法,從文件的尾部開始剪切,這樣就不會引起文件內(nèi)容的移動,避免了采用順序方式拆分時,可能造成的文件格式混亂及系統(tǒng)崩潰問題,進(jìn)而得到滿意的拆分效果。作為本發(fā)明的一種改進(jìn)方案,步驟2)中的雙指針包括指針Count和指針Catalog();指針Count為文件的目錄順序,其初始值為文件的最大目錄數(shù);指針Catalog ()為數(shù)組,為要拆分目錄所在的目錄層次?!N文件拆分裝置,包括預(yù)處理模塊,用于預(yù)處理原始文件的目錄結(jié)構(gòu),使其規(guī)范化;定位模塊,用于定位原始文件的目錄順序和目錄層次;查找模塊,用于在所述內(nèi)容文件中,查找需要剪切的文件內(nèi)容,并定位內(nèi)容起始處的文件目錄所在的位置;拆分模塊,用于剪切分割提取的子目錄的內(nèi)容,并將剪切的內(nèi)容粘貼到新的空文件中,以網(wǎng)頁的形式保存入數(shù)據(jù)庫。本發(fā)明的優(yōu)點(diǎn)是:拆分速度快、不會造成的文件格式混亂及系統(tǒng)崩潰問題、拆分效果好。
圖1是本發(fā)明的流程示意圖。
具體實(shí)施例方式本發(fā)明的裝置包括以下模塊:
預(yù)處理模塊,用于預(yù)處理原始文件的目錄結(jié)構(gòu),使其規(guī)范化;
定位模塊,用于定位原始文件的目錄順序和目錄層次;
查找模塊,用于在所述內(nèi)容文件中,查找需要剪切的文件內(nèi)容,并定位內(nèi)容起始處的文件目錄所在的位置;
拆分模塊,用于拷貝分割提取的子目錄的內(nèi)容,并將剪切的內(nèi)容粘貼到新的空文件中,以網(wǎng)頁的形式保存入數(shù)據(jù)庫。本發(fā)明的方法包括以下步驟:
1)對文件目錄結(jié)構(gòu)進(jìn)行預(yù)處理,使其規(guī)范化;
2)采用雙指針技術(shù)對文件目錄進(jìn)行定位,獲取數(shù)據(jù)文件的目錄個數(shù);所述雙指針包括指針Count和指針Catalog ();指針Count為文件的目錄順序,其初始值為文件的最大目錄數(shù);指針Catalog ()為數(shù)組,為要拆分目錄所在的目錄層次
3)從文件的尾部開始依此向文章的起始處剪切,按照文件目錄的順序逐目錄進(jìn)行分割提取,對子目錄的內(nèi)容進(jìn)行剪切,然后將剪切的內(nèi)容再粘貼到新的空文件中,并以網(wǎng)頁的形式保存在數(shù)據(jù)庫中。如圖1所示,本發(fā)明對具有規(guī)范目錄結(jié)構(gòu)的word文件可直接進(jìn)行拆分,若word文件目錄結(jié)構(gòu)不規(guī)范,必須進(jìn)行預(yù)處理,對其進(jìn)行規(guī)范化后,再使用本發(fā)明的方法進(jìn)行拆分。本發(fā)明的倒排序方法,采用雙指針技術(shù)對文件目錄進(jìn)行定位,指針Count為文件的目錄順序,其初始值為文件的最大目錄數(shù)。指針Catalog ()為數(shù)組,是要拆分目錄所在的目錄層次,如一級目錄、二級目錄等。Start為要拆分內(nèi)容的起始位置,End為終止位置。本發(fā)明拆分流程如下:
步驟1:獲取數(shù)據(jù)文件的目錄個數(shù),并賦值給指針Count ;
步驟2:拆分起始位置Start置初始值O ;
步驟3:拆分終止位置End置初始值,指向文件的末尾;
步驟4:獲取數(shù)據(jù)文件的段落數(shù),對段落數(shù)加一并將其賦值給變量i ;
步驟5:對段落數(shù)減一,并將其賦值給變量i ;
步驟6:判斷第i段是否為文件的目錄,若是,轉(zhuǎn)步驟7,不是,轉(zhuǎn)步驟5 ;
步驟7:獲取第i段的起始位置,并賦值給Start ;
步驟8:剪切從Start到End之間的內(nèi)容;
步驟9:將剪切的內(nèi)容保存為網(wǎng)頁并保存到數(shù)據(jù)庫中;
步驟10:將目錄數(shù)減一,并保存在指針Count中;
步驟11:將Count保存到數(shù)據(jù)庫中;
步驟12:將該目錄所在的層次保存到數(shù)組Catalog ()中,并保存到數(shù)據(jù)庫中;
步驟13:設(shè)置變量值End=Start ;
步驟14:判讀i是 否大于0,若是,轉(zhuǎn)步驟5,不是,轉(zhuǎn)步驟15 ;步驟15 :算法結(jié)束。
權(quán)利要求
1.一種文件拆分方法,其特征是,包括以下步驟: 1)對文件目錄結(jié)構(gòu)進(jìn)行預(yù)處理,使其規(guī)范化; 2)采用雙指針技術(shù)對文件目錄進(jìn)行定位,獲取數(shù)據(jù)文件的目錄個數(shù); 3)從文件的尾部開始依此向文章的起始處剪切,按照文件目錄的順序逐目錄進(jìn)行分割提取,對子目錄的內(nèi)容進(jìn)行剪切,然后將剪切的內(nèi)容再粘貼到新的空文件中,并以網(wǎng)頁的形式保存在數(shù)據(jù)庫中。
2.根據(jù)權(quán)利要求1所述的一種文件拆分方法,其特征是:步驟2)中的雙指針包括指針Count和指針Catalog ();指針Count為文件的目錄順序,其初始值為文件的最大目錄數(shù);指針Catalog ()為數(shù)組,為要拆分目錄所在的目錄層次。
3.采用權(quán)利要求1-2中任意一項所述的一種文件拆分方法所使用的裝置,包括: 預(yù)處理模塊,用于預(yù)處理原始文件的目錄結(jié)構(gòu),使其規(guī)范化; 定位模塊,用于定位原始文件的目錄順序和目錄層次; 查找模塊,用于在所述內(nèi)容文件中,查找需要剪切的文件內(nèi)容,并定位內(nèi)容起始處的文件目錄所在的位置; 拆分模塊,用于剪切分割提取的子目錄的內(nèi)容,并將剪切的內(nèi)容粘貼到新的空文件中,以網(wǎng)頁的形式保存入 數(shù)據(jù)庫。
全文摘要
本發(fā)明公開了一種文件拆分方法及裝置,該裝置包括用于預(yù)處理原始文件的目錄結(jié)構(gòu)的預(yù)處理模塊;用于定位原始文件的目錄順序和目錄層次的定位模塊;用于在所述內(nèi)容文件中,查找需要剪切的文件內(nèi)容,并定位內(nèi)容起始處的文件目錄所在的位置的查找模塊;用于剪切分割提取的子目錄的內(nèi)容,并將剪切的內(nèi)容粘貼到新的空文件中,以網(wǎng)頁的形式保存入數(shù)據(jù)庫的拆分模塊。本發(fā)明拆分速度快、不會造成的文件格式混亂及系統(tǒng)崩潰問題、拆分效果好。
文檔編號G06F17/30GK103218453SQ20131015498
公開日2013年7月24日 申請日期2013年4月28日 優(yōu)先權(quán)日2013年4月28日
發(fā)明者王衛(wèi)東, 陳勇, 葉華, 李紅梅, 郭小芳, 胡存剛, 宋曉寧 申請人:南京龍淵微電子科技有限公司