一種數(shù)據(jù)文件的管理方法及裝置制造方法【專利摘要】本申請公開了一種數(shù)據(jù)文件的管理方法及裝置。其中,數(shù)據(jù)文件的管理方法包括:在增量數(shù)據(jù)存儲區(qū)達到第一數(shù)據(jù)文件合并條件時,將增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中每個主鍵對應的記錄片段分別與查找到的主鍵對應的歷史完整記錄合并,形成每個主鍵對應的合并時刻的完整記錄;將每個主鍵對應的合并時刻的完整記錄寫入完整數(shù)據(jù)存儲區(qū)的一個新建的數(shù)據(jù)文件中,其中,每個主鍵對應的合并時刻的完整記錄作為在完整數(shù)據(jù)存儲區(qū)精確查詢主鍵的輸出結(jié)果。通過上述方式,本申請能夠使主鍵的記錄集中化,為在完整數(shù)據(jù)存儲區(qū)主鍵精確查詢減少IO開銷?!緦@f明】一種數(shù)據(jù)文件的管理方法及裝置【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及一種數(shù)據(jù)文件的管理方法及裝置。【
背景技術(shù):
】[0002]數(shù)據(jù)庫分為關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫(NotOnlySQL,NoSQL),NoSQL是對所有不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的統(tǒng)稱。NoSQL數(shù)據(jù)存儲可以不需要固定的表格模式,通常以鍵值對存儲。目前多數(shù)NoSQL的數(shù)據(jù)存儲以日志結(jié)構(gòu)合并樹(Log-StructuredMerge-Tree,LSM-tree)為基礎(chǔ),提出一種延遲更新、批量寫入硬盤的數(shù)據(jù)結(jié)構(gòu)及其算法。LSM-tree通過將很多小文件的存取轉(zhuǎn)換為連續(xù)的大批量傳輸,使得對于文件系統(tǒng)的大多數(shù)存取都是順序性的,從而提高磁盤帶寬利用率,最小化系統(tǒng)的存取性能的開銷,特別適用于會產(chǎn)生大量插入操作的應用環(huán)境。所以,以LSM-tree為基礎(chǔ)的NoSQL也被稱為增量數(shù)據(jù)庫。[0003]LSM-tree由至少兩個部件構(gòu)成。一個部件常駐內(nèi)存,稱為C0樹(或C0),可以為任何方便鍵值查找的數(shù)據(jù)結(jié)構(gòu),其他部件常駐硬盤之中,稱為C1......CK樹(或C1......CK),C1......CK中經(jīng)常被訪問的結(jié)點也將會被緩存在主存中。增量數(shù)據(jù)庫采用增量寫模式,即數(shù)據(jù)庫新增記錄或者更新記錄,首先放入內(nèi)存數(shù)據(jù)結(jié)構(gòu)(如主存內(nèi)數(shù)據(jù)表,MemoryTable,Memtable)中,即C0樹,它達到一定大小形成一個小數(shù)據(jù)文件(如有序字符串表,SortedStringTable,Sstable)刷入硬盤數(shù)據(jù)結(jié)構(gòu),即C1......CK樹,內(nèi)部主鍵(Rowkey)有序排列。這樣的文件將不可修改。查詢時,則需要分別從這些小數(shù)據(jù)文件查詢Rowkey記錄片段,共同構(gòu)成一條完整Rowkey記錄。[0004]采用增量寫模式,一條完整Rowkey記錄在存儲上可以是離散在不同數(shù)據(jù)文件的Rowkey記錄片段構(gòu)成。這樣,導致一次Rowkey精確查詢需要多次存儲器輸入/輸出(Input/Output,10)消耗。【
發(fā)明內(nèi)容】[0005]本發(fā)明主要解決的技術(shù)問題是提供一種數(shù)據(jù)文件的管理方法及裝置,能夠使Rowkey由增量存儲區(qū)的離散狀態(tài)變?yōu)橥暾麛?shù)據(jù)存儲區(qū)的集中狀態(tài),為在完整數(shù)據(jù)存儲區(qū)Rowkey精確查詢減少10開銷。[0006]本申請第一方面,提供一種數(shù)據(jù)文件的管理方法,包括:在增量數(shù)據(jù)存儲區(qū)達到第一數(shù)據(jù)文件合并條件時,將所述增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中每個主鍵對應的記錄片段分別與查找到的所述主鍵對應的歷史完整記錄合并,形成所述每個主鍵對應的合并時刻的完整記錄;將所述每個主鍵對應的所述合并時刻的完整記錄寫入完整數(shù)據(jù)存儲區(qū)的一個新建的數(shù)據(jù)文件中,其中,所述每個主鍵對應的所述合并時刻的完整記錄作為在所述完整數(shù)據(jù)存儲區(qū)精確查詢所述主鍵的輸出結(jié)果。[0007]結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中:所述方法還包括:將所述每個主鍵對應的所述合并時刻的完整記錄寫入主存。[0008]結(jié)合第一方面或第一方面的的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式中:所述方法還包括:在所述完整數(shù)據(jù)存儲區(qū)達到第二數(shù)據(jù)文件合并條件時,對所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件進行合并,刪除所述完整數(shù)據(jù)存儲區(qū)的每個所述主鍵的冗余記錄。[0009]結(jié)合第一方面的第二種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,所述對所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件進行合并,刪除所述完整數(shù)據(jù)存儲區(qū)的每個所述主鍵的冗余記錄,具體為:采用歸并算法對所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件進行合并,刪除所述完整數(shù)據(jù)存儲區(qū)的每個所述主鍵的冗余記錄。[0010]結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第一方面的第四種可能的實現(xiàn)方式中:所述采用歸并算法對所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件進行合并,刪除所述完整數(shù)據(jù)存儲區(qū)的每個所述主鍵的冗余記錄的步驟包括:從所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件中,查找出每個所述主鍵所在的最新的數(shù)據(jù)文件,所述最新的數(shù)據(jù)文件是指形成時間最晚的數(shù)據(jù)文件;從所述每個主鍵所在的最新的數(shù)據(jù)文件中獲取每個所述主鍵對應的完整記錄并寫入所述完整數(shù)據(jù)存儲區(qū)的合并的數(shù)據(jù)文件,刪除所述完整數(shù)據(jù)存儲區(qū)的已完成合并的所述數(shù)據(jù)文件。[0011]結(jié)合第一方面的第二種至第四種任一可能的實現(xiàn)方式,在第一方面的第五種可能的實現(xiàn)方式中:所述將所述增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中每個主鍵對應的記錄片段分別與查找到的所述主鍵對應的歷史完整記錄合并,形成所述每個主鍵對應的合并時刻的完整記錄的步驟之前,還包括:從所述主存或所述完整數(shù)據(jù)存儲區(qū)的數(shù)據(jù)文件中查找每個所述主鍵對應的歷史完整記錄。[0012]結(jié)合第一方面的第五種可能的實現(xiàn)方式,在第一方面的第六種可能的實現(xiàn)方式中:所述從所述主存或所述完整數(shù)據(jù)存儲區(qū)的數(shù)據(jù)文件中查找每個所述主鍵對應的歷史完整記錄的步驟包括:按照每個所述主鍵對應的完整記錄的形成時間由新到舊的方式在所述主存中的數(shù)據(jù)文件中進行檢索,若所述主存中沒有檢索到,再到所述完整數(shù)據(jù)存儲區(qū)的數(shù)據(jù)文件中進行檢索,直到檢索到所述主鍵對應的完整記錄,所述檢索到的主鍵的完整記錄為所述主鍵對應的歷史完整記錄。[0013]結(jié)合第一方面的第五種可能的實現(xiàn)方式,在第一方面的第七種可能的實現(xiàn)方式中:在沒有查找到所述主鍵對應的歷史完整記錄時,所述將所述增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中每個主鍵對應的記錄片段分別與查找到的所述主鍵對應的歷史完整記錄合并,形成所述每個主鍵對應的合并時刻的完整記錄,具體為:將所述增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中所述主鍵對應的記錄片段合并,作為所述主鍵對應的所述合并時刻的完整記錄。[0014]結(jié)合第一方面,在第一方面的第八種可能的實現(xiàn)方式中:所述方法還包括:刪除所述增量數(shù)據(jù)存儲區(qū)的所述數(shù)據(jù)文件。[0015]本申請的第二方面,提供一種存儲裝置,所述存儲裝置包括第一合并模塊和寫入模塊,其中:所述第一合并模塊用于在增量數(shù)據(jù)存儲區(qū)達到第一數(shù)據(jù)文件合并條件時,將所述增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中每個主鍵對應的記錄片段分別與查找到的所述主鍵對應的歷史完整記錄合并,形成所述每個主鍵對應的合并時刻的完整記錄并輸出給所述寫入模塊;所述寫入模塊用于將所述每個主鍵對應的所述合并時刻的完整記錄寫入完整數(shù)據(jù)存儲區(qū)的一個新建的數(shù)據(jù)文件中,其中,所述每個主鍵對應的所述合并時刻的完整記錄作為在所述完整數(shù)據(jù)存儲區(qū)精確查詢所述主鍵的輸出結(jié)果。[0016]結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中:所述寫入模塊還用于將所述每個主鍵對應的所述合并時刻的完整記錄寫入主存。[0017]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中:所述裝置還包括第二合并模塊,其中:所述第二合并模塊用于在所述完整數(shù)據(jù)存儲區(qū)達到第二數(shù)據(jù)文件合并條件時,對所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件進行合并,刪除所述完整數(shù)據(jù)存儲區(qū)的每個所述主鍵的冗余記錄。[0018]結(jié)合第二方面的第二種可能的實現(xiàn)方式,在第二方面的第三種可能的實現(xiàn)方式中:所述第二合并模塊包括查找單元和寫入單元,其中:所述查找單元用于從所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件中,查找出每個所述主鍵所在的最新的數(shù)據(jù)文件,所述最新的數(shù)據(jù)文件是指形成時間最晚的數(shù)據(jù)文件;所述寫入單元用于從所述每個主鍵所在的最新的數(shù)據(jù)文件中獲取每個所述主鍵對應的完整記錄并寫入所述完整數(shù)據(jù)存儲區(qū)的合并的數(shù)據(jù)文件,刪除所述完整數(shù)據(jù)存儲區(qū)的已完成合并的所述數(shù)據(jù)文件。[0019]結(jié)合第二方面的第一種至第三種任一可能的實現(xiàn)方式,在第二方面的第四種可能的實現(xiàn)方式中:所述裝置還包括查找模塊,其中:所述查找模塊用于從所述主存或所述完整數(shù)據(jù)存儲區(qū)的數(shù)據(jù)文件中查找每個所述主鍵對應的歷史完整記錄,并將查找到的每個所述主鍵對應的歷史完整記錄輸出給所述第一合并模塊。[0020]結(jié)合第二方面的第四種可能的實現(xiàn)方式,在第二方面的第五種可能的實現(xiàn)方式中:在所述查找模塊沒有查找到所述主鍵對應的歷史完整記錄時,所述第一合并模塊用于將所述增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中所述主鍵對應的記錄片段合并,作為所述主鍵對應的所述合并時刻的完整記錄。[0021]本發(fā)明的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本申請將增量數(shù)據(jù)存儲區(qū)的數(shù)據(jù)文件中每個Rowkey對應的記錄片段,分別與查找到的Rowkey對應的歷史完整記錄合并,形成每個Rowkey對應的合并時刻的完整記錄并寫入完整數(shù)據(jù)存儲區(qū),通過這樣的方式,對增量數(shù)據(jù)庫的數(shù)據(jù)文件在增量數(shù)據(jù)存儲區(qū)和完整數(shù)據(jù)存儲區(qū)進行動態(tài)管理,從而使Rowkey在完整數(shù)據(jù)存儲區(qū)呈集中狀態(tài)存儲,為在完整數(shù)據(jù)存儲區(qū)Rowkey精確查詢減少10開銷?!緦@綀D】【附圖說明】[0022]圖1是本申請分層存儲結(jié)構(gòu)示意圖;[0023]圖2是本申請數(shù)據(jù)文件的管理方法一個實施方式的流程圖;[0024]圖3是本申請數(shù)據(jù)文件的管理方法其中一個實施方式中,形成每個主鍵對應的合并時刻的完整記錄的流程圖;[0025]圖4是本申請數(shù)據(jù)文件的管理方法另一個實施方式的流程圖;[0026]圖5是本申請數(shù)據(jù)文件的管理方法其中一個實施方式中,歸并算法對完整數(shù)據(jù)存儲區(qū)的保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件進行合并的流程圖;[0027]圖6是本申請數(shù)據(jù)文件的管理方法其中一個實施方式的存儲結(jié)構(gòu)示意圖;[0028]圖7是本申請數(shù)據(jù)文件的管理方法另一個實施方式的存儲結(jié)構(gòu)示意圖;[0029]圖8是本申請數(shù)據(jù)文件的管理方法又一個實施方式的存儲結(jié)構(gòu)示意圖;[0030]圖9是本申請存儲裝置一個實施方式的結(jié)構(gòu)示意圖;[0031]圖10是本申請存儲裝置另一個實施方式的結(jié)構(gòu)示意圖;[0032]圖11是本申請存儲裝置一個實施方式中第二合并模塊的結(jié)構(gòu)示意圖;[0033]圖12是本申請存儲裝置又一個實施方式的結(jié)構(gòu)示意圖。【具體實施方式】[0034]硬盤驅(qū)動器(HardDiskDrive,HDD)作為存儲信息的媒介廣泛用于存儲系統(tǒng),t匕如數(shù)據(jù)庫?;谟脖P的數(shù)據(jù)庫通常采用主存(MainMemory)+HDD的兩層存儲結(jié)構(gòu)。數(shù)據(jù)記錄首先寫入到主存,再在一定觸發(fā)條件下持久化到硬盤。但長期以來,工業(yè)界二者發(fā)展不均衡,主存10性能大大提高,而硬盤10性能增長緩慢,這就造成基于硬盤的數(shù)據(jù)庫的讀寫性能嚴重受限于硬盤10。固態(tài)硬盤(SolidStateDisk,SSD)的問世給數(shù)據(jù)庫帶來可觀的優(yōu)化空間。SSD具有良好的讀寫性能,相對于HDD更快,通常作為容量有限的讀/寫緩存引入到存儲系統(tǒng),構(gòu)成了MainMemory+SSD+HDD的多層存儲結(jié)構(gòu),充分發(fā)揮硬件優(yōu)勢,尋求性能、容量、價格三者的平衡。SSD和HDD均是非易失性存儲介質(zhì)。[0035]本申請中,定義零級存儲區(qū)、一級存儲區(qū)和二級存儲區(qū):零級存儲區(qū)特指主存;一級存儲區(qū)和二級存儲區(qū)是兩類存儲設(shè)備,其中一級存儲區(qū)相對于二級存儲區(qū)讀寫性能突出,但價格較為昂貴,如主存和SSD組合、SSD和HDD組合、HDD和磁帶組合等。一級存儲區(qū)和二級存儲區(qū)可以理解為SSD和HDD組合,但在本申請的實施例中不僅僅局限于這種組合。在本申請中,也將一級存儲區(qū)叫做增量數(shù)據(jù)存儲區(qū),而二級存儲區(qū)叫做完整數(shù)據(jù)存儲區(qū)。[0036]請參閱圖1,圖1是分層存儲結(jié)構(gòu)示意圖,其中,A中所示為兩層存儲結(jié)構(gòu)示意圖,B中所示為三層存儲結(jié)構(gòu)示意圖。[0037]在兩層存儲結(jié)構(gòu)中,數(shù)據(jù)流向是從零級存儲區(qū)向一級存儲區(qū)。數(shù)據(jù)庫存儲引擎接收數(shù)據(jù)寫入(包括插入、更新、刪除)請求,數(shù)據(jù)首先寫入到零級存儲區(qū)內(nèi)的數(shù)據(jù)集。存儲引擎監(jiān)控數(shù)據(jù)集,當達到一定觸發(fā)條件,比如數(shù)據(jù)集大小超過一定閥值,將滿足條件的數(shù)據(jù)集刷(flush)到二級存儲區(qū)上的持久化數(shù)據(jù)文件。存儲引擎接收數(shù)據(jù)查詢(select)請求時,存儲引擎將分別從零級存儲區(qū)內(nèi)的數(shù)據(jù)集和二級存儲區(qū)上的持久化數(shù)據(jù)文件檢索(retrieve)符合查詢條件的數(shù)據(jù)記錄片段,然后對來自這兩個存儲區(qū)的數(shù)據(jù)記錄片段進行拼接,構(gòu)成完整數(shù)據(jù)記錄作為查詢結(jié)果返回。[0038]在三層存儲結(jié)構(gòu)中,數(shù)據(jù)流向是從零級存儲區(qū)向一級存儲區(qū),再從一級存儲區(qū)向二級存儲區(qū)。數(shù)據(jù)庫存儲引擎接收數(shù)據(jù)寫入(包括插入、更新、刪除)請求,數(shù)據(jù)首先寫入到零級存儲區(qū)內(nèi)的數(shù)據(jù)集。存儲引擎監(jiān)控數(shù)據(jù)集,當達到一定觸發(fā)條件,比如數(shù)據(jù)集大小超過一定閥值,將滿足條件的數(shù)據(jù)集刷到一級存儲區(qū)上的持久化數(shù)據(jù)文件。當一級存儲區(qū)上的持久化數(shù)據(jù)文件滿足設(shè)定的觸發(fā)條件時,以一定形式轉(zhuǎn)移這些數(shù)據(jù)到二級存儲區(qū)上的持久化數(shù)據(jù)文件。引擎接收數(shù)據(jù)查詢(select)請求時,存儲引擎將分別從零級存儲區(qū)內(nèi)的數(shù)據(jù)集、一級存儲區(qū)和二級存儲區(qū)上的持久化數(shù)據(jù)文件檢索符合查詢條件的數(shù)據(jù)記錄片段,然后對來自這三個存儲區(qū)的數(shù)據(jù)記錄片段進行拼接,構(gòu)成完整數(shù)據(jù)記錄作為查詢結(jié)果返回。[0039]現(xiàn)有增量數(shù)據(jù)庫通常采用增量寫模式,從而導致一條完整Rowkey記錄在存儲上可以是離散在不同數(shù)據(jù)文件的Rowkey記錄片段構(gòu)成。這樣,導致一次Rowkey精確查詢多次存儲器10消耗。[0040]基于現(xiàn)有技術(shù)在存儲設(shè)備上形成大量數(shù)據(jù)文件,造成Rowkey離散,不利于查詢操作的技術(shù)問題,本申請?zhí)峁┮环N數(shù)據(jù)文件的管理方法及裝置,能夠?qū)υ隽繑?shù)據(jù)庫的數(shù)據(jù)文件在增量數(shù)據(jù)存儲區(qū)和完整數(shù)據(jù)存儲區(qū)進行動態(tài)管理,使Rowkey從最初的增量數(shù)據(jù)存儲區(qū)的離散狀態(tài)變?yōu)橥暾麛?shù)據(jù)存儲區(qū)的集中狀態(tài),為完整數(shù)據(jù)存儲區(qū)內(nèi)Rowkey精確查詢減少10開銷。[0041]以下結(jié)合【具體實施方式】,對本申請的數(shù)據(jù)文件的管理方法及裝置進行詳細說明,但是并不用以限制本申請的保護范圍。[0042]請參閱圖2,圖2是本申請數(shù)據(jù)文件的管理方法一個實施方式的流程圖,本實施方式的數(shù)據(jù)文件的管理方法包括:[0043]步驟S101:在增量數(shù)據(jù)存儲區(qū)達到第一數(shù)據(jù)文件合并條件時,將增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中每個主鍵對應的記錄片段分別與查找到的主鍵對應的歷史完整記錄合并,形成每個主鍵對應的合并時刻的完整記錄;[0044]本申請實施方式中,主鍵(Rowkey)是指NoSQL所支持的嵌套結(jié)構(gòu)的表格模式(Schema)的每個子表格模式的唯一'丨生標識,以下博客為例來說明嵌套類型Schema,定義博客表(Feed_Table)的Schema:[0045]【權(quán)利要求】1.一種數(shù)據(jù)文件的管理方法,其特征在于,包括:在增量數(shù)據(jù)存儲區(qū)達到第一數(shù)據(jù)文件合并條件時,將所述增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中每個主鍵對應的記錄片段分別與查找到的所述主鍵對應的歷史完整記錄合并,形成所述每個主鍵對應的合并時刻的完整記錄;將所述每個主鍵對應的所述合并時刻的完整記錄寫入完整數(shù)據(jù)存儲區(qū)的一個新建的數(shù)據(jù)文件中,其中,所述每個主鍵對應的所述合并時刻的完整記錄作為在所述完整數(shù)據(jù)存儲區(qū)精確查詢所述主鍵的輸出結(jié)果。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:將所述每個主鍵對應的所述合并時刻的完整記錄寫入主存。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括:在所述完整數(shù)據(jù)存儲區(qū)達到第二數(shù)據(jù)文件合并條件時,對所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件進行合并,刪除所述完整數(shù)據(jù)存儲區(qū)的每個所述主鍵的冗余記錄。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件進行合并,刪除所述完整數(shù)據(jù)存儲區(qū)的每個所述主鍵的冗余記錄,具體為:采用歸并算法對所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件進行合并,刪除所述完整數(shù)據(jù)存儲區(qū)的每個所述主鍵的冗余記錄。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述采用歸并算法對所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件進行合并,刪除所述完整數(shù)據(jù)存儲區(qū)的每個所述主鍵的冗余記錄的步驟包括:從所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件中,查找出每個所述主鍵所在的最新的數(shù)據(jù)文件,所述最新的數(shù)據(jù)文件是指形成時間最晚的數(shù)據(jù)文件;從所述每個主鍵所在的最新的數(shù)據(jù)文件中獲取每個所述主鍵對應的完整記錄并寫入所述完整數(shù)據(jù)存儲區(qū)的合并的數(shù)據(jù)文件,刪除所述完整數(shù)據(jù)存儲區(qū)的已完成合并的所述數(shù)據(jù)文件。6.根據(jù)權(quán)利要求2至5任一項所述的方法,其特征在于,所述將所述增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中每個主鍵對應的記錄片段分別與查找到的所述主鍵對應的歷史完整記錄合并,形成所述每個主鍵對應的合并時刻的完整記錄的步驟之前,還包括:從所述主存或所述完整數(shù)據(jù)存儲區(qū)的數(shù)據(jù)文件中查找每個所述主鍵對應的歷史完整記錄。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述從所述主存或所述完整數(shù)據(jù)存儲區(qū)的數(shù)據(jù)文件中查找每個所述主鍵對應的歷史完整記錄的步驟包括:按照每個所述主鍵對應的完整記錄的形成時間由新到舊的方式在所述主存中的數(shù)據(jù)文件中進行檢索,若所述主存中沒有檢索到,再到所述完整數(shù)據(jù)存儲區(qū)的數(shù)據(jù)文件中進行檢索,直到檢索到所述主鍵對應的完整記錄,所述檢索到的主鍵的完整記錄為所述主鍵對應的歷史完整記錄。8.根據(jù)權(quán)利要求6所述的方法,其特征在于,在沒有查找到所述主鍵對應的歷史完整記錄時,所述將所述增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中每個主鍵對應的記錄片段分別與查找到的所述主鍵對應的歷史完整記錄合并,形成所述每個主鍵對應的合并時刻的完整記錄,具體為:將所述增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中所述主鍵對應的記錄片段合并,作為所述主鍵對應的所述合并時刻的完整記錄。9.根據(jù)權(quán)利要求1至8任一項所述的方法,其特征在于,所述方法還包括:刪除所述增量數(shù)據(jù)存儲區(qū)的所述數(shù)據(jù)文件。10.-種存儲裝置,其特征在于,包括第一合并模塊以及寫入模塊,其中:所述第一合并模塊用于在增量數(shù)據(jù)存儲區(qū)達到第一數(shù)據(jù)文件合并條件時,將所述增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中每個主鍵對應的記錄片段分別與查找到的所述主鍵對應的歷史完整記錄合并,形成所述每個主鍵對應的合并時刻的完整記錄并輸出給所述寫入模塊;所述寫入模塊用于將所述每個主鍵對應的所述合并時刻的完整記錄寫入完整數(shù)據(jù)存儲區(qū)的一個新建的數(shù)據(jù)文件中,其中,所述每個主鍵對應的所述合并時刻的完整記錄作為在所述完整數(shù)據(jù)存儲區(qū)精確查詢所述主鍵的輸出結(jié)果。11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述寫入模塊還用于將所述每個主鍵對應的所述合并時刻的完整記錄寫入主存。12.根據(jù)權(quán)利要求10或11所述的裝置,其特征在于,所述裝置還包括第二合并模塊,其中:所述第二合并模塊用于在所述完整數(shù)據(jù)存儲區(qū)達到第二數(shù)據(jù)文件合并條件時,對所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件進行合并,刪除所述完整數(shù)據(jù)存儲區(qū)的每個所述主鍵的冗余記錄。13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述第二合并模塊包括查找單元和寫入單元,其中:所述查找單元用于從所述完整數(shù)據(jù)存儲區(qū)中保存的包含各合并時刻的完整記錄的各數(shù)據(jù)文件中,查找出每個所述主鍵所在的最新的數(shù)據(jù)文件,所述最新的數(shù)據(jù)文件是指形成時間最晚的數(shù)據(jù)文件;所述寫入單元用于從所述每個主鍵所在的最新的數(shù)據(jù)文件中獲取每個所述主鍵對應的完整記錄并寫入所述完整數(shù)據(jù)存儲區(qū)的合并的數(shù)據(jù)文件,刪除所述完整數(shù)據(jù)存儲區(qū)的已完成合并的所述數(shù)據(jù)文件。14.根據(jù)權(quán)利要求11至13任一項所述的裝置,其特征在于,所述裝置還包括查找模塊,其中:所述查找模塊用于從所述主存或所述完整數(shù)據(jù)存儲區(qū)的數(shù)據(jù)文件中查找每個所述主鍵對應的歷史完整記錄,并將查找到的每個所述主鍵對應的歷史完整記錄輸出給所述第一合并模塊。15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,在所述查找模塊沒有查找到所述主鍵對應的歷史完整記錄時,所述第一合并模塊用于將所述增量數(shù)據(jù)存儲區(qū)中的各數(shù)據(jù)文件中所述主鍵對應的記錄片段合并,作為所述主鍵對應的所述合并時刻的完整記錄?!疚臋n編號】G06F17/30GK104424219SQ201310373456【公開日】2015年3月18日申請日期:2013年8月23日優(yōu)先權(quán)日:2013年8月23日【發(fā)明者】羅成對,張軍申請人:華為技術(shù)有限公司