新四季網

一種非關係型資料庫數據更新方法和裝置製造方法

2023-05-10 04:40:41 2

一種非關係型資料庫數據更新方法和裝置製造方法【專利摘要】本發明公開了一種非關係型資料庫數據更新方法和裝置,該方法包括:接收更新指令,並記錄所述更新指令中攜帶的更新數據,所述更新數據包括主鍵和對應的更新操作內容;當預設的第一觸發事件發生時,查找各更新數據中的主鍵所屬的數據文件;根據更新數據中的所述更新操作內容,將各更新數據與其對應的數據文件合併到新的數據文件中,並用所述新的數據文件替換合併前的數據文件。採用本發明提供的方法,可以提高非關係型資料庫歷史數據更新的效率。【專利說明】一種非關係型資料庫數據更新方法和裝置【
技術領域:
】[0001]本發明涉及網絡【
技術領域:
】,特別涉及一種非關係型資料庫數據更新方法和裝置。【
背景技術:
】[0002]關係型資料庫中的表都具有固定的數據結構,每個元組(資料庫表中的每一條記錄)的欄位組成都一樣,即使不是每個元組都需要所有的欄位,但資料庫會為每個元組的所有欄位分配相應的數據。例如,某資料庫表中包括姓名、年齡、籍貫三個欄位,那麼該表中的每條記錄都需要包括姓名、年齡、籍貫三個欄位,即使其中某個元組的某個欄位的內容為空,系統也要為其分配一個默認值,如O。這樣的結構可以便於表與表之間進行連接等操作,但從另一個角度來說它也是導致關係型資料庫性能瓶頸的一個關鍵因素,使得關係型資料庫不能滿足對資料庫高並發讀寫的需求,對海量數據的高效率存儲和訪問的需求,對資料庫的高可擴展性和高可用性的需求。[0003]為了解決上述問題,非關係資料庫(NoSQL)應運而生。Google的BigTable與Amazon的Dynamo是很成功的商業NoSQL系統。一些開源的NoSQL系統,如Membase,MongoDB,Cassandra,BeansDB,Redis等,也得到了廣泛認同。[0004]非關係型資料庫,它以鍵值對存儲,結構不固定,每一個元組可以有不一樣的欄位,每個元組可以根據需要增加一些自己的鍵值對,不局限於固定的結構,可以減少一些時間和空間的開銷。KV(Key-Value,鍵值)存儲,是NoSQL存儲的一種方式,數據按照鍵值對的形式進行組織、索引和存儲。KV存儲非常適合不涉及過多數據關係和業務關係的業務數據,同時能有效減少讀寫磁碟的次數,比關係型資料庫存儲擁有更好的讀寫性能。[0005]鍵值存儲機制採用鍵值對形式存儲,值可以是任意不定長數據,使用主鍵可作簡單查詢和複雜查詢(如列表查詢、範圍查詢等),同時定期進行更新數據和歷史數據的合併(該合併操作可以包括添加、刪除、修改等操作)以處理過期數據。如圖1所示,更新數據和歷史數據採用O、I目錄管理,對於更新數據設置O、I兩個目錄,對歷史數據也設置O、I兩個目錄,假設當前的更新數據目錄和歷史數據目錄都為O目錄,在進行更新數據和歷史數據的合併時,將更新數據的O目錄和歷史數據的O目錄合併,並將合併後的數據存儲在歷史數據的I目錄中,同時在合併過程中,新的更新數據寫入到更新數據的I目錄中。在下一次進行更新數據和歷史數據的合併時,將更新數據的I目錄和歷史數據的I目錄合併到歷史數據的O目錄中,依此類推。[0006]然而,發明人發現,現有技術至少存在如下問題:現有的數據更新方法中,每次更新數據和歷史數據的合併,都要將所有的歷史數據與更新數據進行合併,即沒有發生變化的歷史數據也要合併並遷移到另一個目錄中,效率較低,大大增加了系統的開銷。【
發明內容】[0007]本發明的目的在於提供一種非關係型資料庫數據更新方法和裝置,以提高非關係型資料庫歷史數據更新的效率,為此,本發明實施例採用如下技術方案:一種非關係型資料庫數據更新方法,包括:接收更新指令,並記錄所述更新指令中攜帶的更新數據,所述更新數據包括主鍵和對應的更新操作內容;當預設的第一觸發事件發生時,查找各更新數據中的主鍵所屬的數據文件;根據更新數據中的所述更新操作內容,將各更新數據與其對應的數據文件合併到新的數據文件中,並用所述新的數據文件替換合併前的數據文件。[0008]一種非關係型資料庫數據更新裝置,包括:記錄模塊,用於接收更新指令,並記錄所述更新指令中攜帶的更新數據,所述更新數據包括主鍵和對應的更新操作內容;查找模塊,用於當預設的第一觸發事件發生時,查找各更新數據中的主鍵所屬的數據文件;更新模塊,用於根據更新數據中的所述更新操作內容,將各更新數據與其對應的數據文件合併到新的數據文件中,並用所述新的數據文件替換合併前的數據文件。[0009]本發明的上述實施例,接收更新指令,並記錄更新指令中攜帶的更新數據,更新數據包括主鍵和對應的更新操作內容,當預設的第一觸發事件發生時,查找記錄的各更新數據中的主鍵所屬的數據文件,根據更新數據中的所述更新操作內容,將各更新數據與其對應的數據文件合併到新的數據文件中,並用所述新的數據文件替換合併前的數據文件,從而,可以提高非關係型資料庫歷史數據更新的效率。【專利附圖】【附圖說明】[0010]圖1為現有技術中更新數據和歷史數據的存儲方式示意圖;圖2為本發明實施例提供的非關係型資料庫數據更新方法中SSTable的結構示意圖;圖3為本發明實施例提供的非關係型資料庫數據更新方法的流程示意圖;圖4為本發明實施例提供的非關係型資料庫數據更新方法中根據更新數據查找對應數據文件的示意圖;圖5為本發明實施例提供的非關係型資料庫數據更新方法中元數據文件存儲內容的示意圖;圖6為本發明實施例提供的非關係型資料庫數據更新方法中數據查詢方法的流程示意圖;圖7為本發明實施例提供的非關係型資料庫數據更新方法的流程示意圖;圖8為本發明實施例提供的非關係型資料庫數據更新裝置的結構示意圖。【具體實施方式】[0011]下面將結合本發明中的附圖,對本發明中的技術方案進行清楚、完整的描述,顯然,所描述的實施例是本發明的一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其它實施例,都屬於本發明保護的範圍。[0012]實施例一在本實施例中,更新數據以Memtable的存儲結構存儲在更新文件中,歷史數據以SSTable的存儲結構存儲在一個或多個數據文件中。SSTable結構是一種分布式的鍵值存儲結構,每個數據文件中都可以包含多個SSTable,每個SSTable中可以存儲有多個value(主鍵對應的值)和對應的塊內索引,每個SSTable的結構可以如圖2所示。在進行查詢的時候,可以先根據key(主鍵)查詢其所屬的數據文件,然後再進一步查詢其在該數據文件中所屬的SSTable,由於歷史數據的數量非常龐大,採用SSTable結構可以提升查詢效率。Memtable是一種非分布式的存儲結構,由於更新數據一般數量比較少,所以採用Memtable結構可以提升存儲效率。[0013]如圖3所示,為本發明實施例提供的非關係型資料庫數據更新方法的處理的流程,具體包括以下步驟:步驟301,系統接收更新指令,並記錄更新指令中攜帶的更新數據,更新數據包括主鍵和對應的更新操作內容。[0014]資料庫的維護人員可以通過伺服器或管理終端發出更新指令,系統接收到更新指令後,可以先將更新指令中的更新數據存儲在更新文件當中,具體可以採用列表的形式存儲key和對應的更新操作內容。更新數據中可以包括其需要更新的key,並包括對相應的key-value對進行的操作(即更新操作內容),該更新操作內容可以是刪除key-value對、添加key-value對或修改value等。[0015]步驟302,當預設的第一觸發事件發生時,系統查找各更新數據中的主鍵所屬的數據文件。[0016]具體的,該預設的第一觸發事件可以是達到預設更新數據合併周期,即系統預先設置更新數據合併周期,按照周期進行更新數據與歷史數據的合併。另外,預設的第一觸發事件還可以是接收到更新數據合併指令,即可以由資料庫維護人員發送更新數據合併指令,以指示系統將更新數據與歷史數據進行合併。[0017]具體的,如圖4所示,系統可以根據元數據文件中記錄的元數據,查找各更新數據中的key對應的數據文件。元數據是一種用於描述數據的數據,元數據文件中記錄的元數據的隊列可以如圖5所示,可以包括每個數據文件的文件編號、文件中key的範圍、文件的存儲容量等信息。另外,在元數據文件中還可以記錄文件編號的信息,如已用文件編號、可用文件編號。[0018]步驟303,系統根據更新數據中的更新操作內容,將各更新數據與其對應的數據文件合併到新的數據文件中,並用新的數據文件替換合併前的數據文件。[0019]系統針對每條更新數據,根據更新數據中的key找到其對應的數據文件,然後將更新數據與相應的數據文件進行合併。具體的,合併的操作是根據更新數據中的更新操作內容進行的,可以包括刪除key-value對、添加key-value對或修改value等。[0020]當多個更新數據key對應到同一個數據文件時,此多個更新數據共同與該數據文件合併到新的數據文件中。合併過程會根據原數據文件中的各key和value,以及更新數據中的key和對應的更新操作內容,按照key的順序,在新的數據文件中重新順序生成各SSTable,SSTable的存儲容量為預先設置的數值。[0021]優選的,系統可以為合併得到的新的數據文件分配新的文件編號(在可用文件編號中選取)。在合併結束後,系統可以刪除被替換的數據文件,並釋放該數據文件的文件編號,該文件編號由已用文件編號變為可用文件編號。[0022]在本實施例上述流程中,系統可以預先建立兩個用於記錄更新數據的目錄,將接收到的更新指令中攜帶的更新數據記錄到其中一個目錄中;然後,每當第一觸發事件發生時,進行目錄切換,將後續接收到的更新指令中攜帶的更新數據記錄到另一個目錄中,並將之前使用的目錄中記錄的各更新數據與對應的數據文件合併到新的數據文件中;將之前使用的目錄中記錄的各更新數據與對應的數據文件合併到新的數據文件中之後,刪除之前使用的目錄中的更新數據。[0023]具體的,可以採用0、1目錄的方式對更新數據進行進行存儲,分別建立更新數據的O目錄文件、I目錄文件,每當第一觸發事件發生時,進行目錄切換,假設當前使用的是O目錄,當第一觸發事件發生開始進行合併過程時,新接收到的更新數據將被存儲到目錄I中,將目錄O中的更新數據與相應的數據文件進行合併,且在合併過程結束後,O目錄中的更新數據將被刪除,然後,下一次發生第一觸發事件時,再切換回到O目錄進行更新數據存儲,將目錄I中的更新數據與相應的數據文件進行合併,且在合併過程結束後,刪除I目錄中的更新數據,依此類推。[0024]優選的,本發明實施例還提供了的的非關係型資料庫數據更新方法,還可以包括:當預設的第二觸發事件發生時,判斷相鄰多個數據文件的存儲容量之和是否超過預設存儲容量閾值,如果沒有超過,則將所述多個數據文件合併為一個數據文件。其中的第二觸發事件可以是達到預設數據文件合併周期,也可以是各更新數據與相應的數據文件合併完畢,還可以是接收到數據文件合併指令。具體的數據文件的合併過程可以包括如下步驟:步驟A,根據數據文件中包含的主鍵的順序對數據文件進行排序,將排序後的數據文件中的第一個數據文件作為基準文件。[0025]根據數據文件中存儲的key的順序,可以對數據文件進行排序。例如,數據文件I中包含keyl、key2、key3,數據文件2中包含key4、key5、key6,數據文件3中包含key7、key8、key9,則根據key的順序可以確定數據文件的順序為數據文件1、數據文件2、數據文件3。[0026]步驟B,判斷基準文件是否為排序後的數據文件中的最後一個數據文件;如果是,則結束流程;否則,確定基準文件與基準文件的下一個數據文件的存儲空間之和,並執行步驟C。[0027]步驟C,判斷所述存儲空間之和是否超過預設的空間閾值;如果是,則將所述基準文件的下一個數據文件作為基準文件,並轉至步驟B;否則,將基準文件與基準文件的下一個數據文件合併,將合併後的數據文件作為基準文件,並轉至步驟B。[0028]例如,對數據文件I到數據文件η進行數據文件合併過程,設置存儲容量閾值為IM(兆)。將數據文件I作為基準文件,判斷基準文件與數據文件2的存儲容量之和是否超過1Μ,假設沒有超過1Μ,則將數據文件I與數據文件2合併為數據文件I』,將數據文件I』作為基準文件,並繼續判斷基準文件與數據文件3的存儲容量之和是否超過1Μ,假設超過1Μ,則將數據文件3作為基準文件,判斷基準文件與數據文件4的存儲容量之和是否超過1Μ,依此類推,直至基準文件是數據文件隊列中的最後一個文件時,結束流程。[0029]本發明實施例還提供了一種數據查詢的方法,系統預先對應各數據文件建立索引文件,索引文件中記錄其對應的數據文件中的各SSTable所存儲的主鍵的範圍。具體的,索引文件中可以記錄SSTable中的開始key,SSTable中key的個數,SSTable數據在其所屬的數據文件中的偏移。在資料庫啟動時,系統可以預先將各索引文件的內容加載到內存中。[0030]如圖6所示,該數據查詢方法的流程可以包括如下步驟:步驟601,當接收到查詢指令時,系統確定所述查詢指令中攜帶的主鍵所屬的數據文件。系統可以根據元數據文件中記錄的元數據,查找各更新數據中的key對應的數據文件,具體方法在步驟302中已作闡述,在此不再累述。[0031]步驟602,系統根據該數據文件對應的索引文件中記錄的該數據文件中的各SSTable所存儲的主鍵的範圍,確定查詢指令中攜帶的主鍵所屬的SSTable。[0032]在資料庫啟動時,系統可以預先將各索引文件的內容加載到內存中。然後,系統可以根據內存中加載的數據文件中各SSTable所存儲的主鍵的範圍,確定相應的主鍵所屬的SSTable。[0033]步驟603,在該主鍵所屬的SSTable中查找該主鍵對應的值。[0034]本發明實施例中,接收更新指令,並記錄更新指令中攜帶的更新數據,更新數據包括主鍵和對應的更新操作內容,當預設的第一觸發事件發生時,查找記錄的各更新數據中的主鍵所屬的數據文件,根據更新數據中的所述更新操作內容,將各更新數據與其對應的數據文件合併到新的數據文件中,並用所述新的數據文件替換合併前的數據文件,從而,可以提高非關係型資料庫歷史數據更新的效率。[0035]實施例二如圖7所示,為本發明實施例提供的非關係型資料庫數據更新方法在具體應用場景中的處理流程,可以包括如下步驟:步驟701,系統切換到更新數據合併模式,獲取當前數據正在使用的目錄。假設當前使用的目錄是O目錄,後續再接收到的更新數據將存入到I目錄中。[0036]步驟702,獲取該目錄中所有更新數據對應的key,並根據元數據查找各key對應的數據文件。[0037]步驟703,分配可用文件編號,建立新的數據文件,並將各更新數據與其對應的數據文件合併到新的數據文件中。合併結束後,可以刪除合併前的數據文件及其對應的索引文件,並將其文件編號釋放為可用。[0038]步驟704,建立新的數據文件的索引文件,並將該索引文件的內容更新到內存中。可以用該索引文件的內容替換合併前的數據文件對應的索引文件在內存中的相應內容。[0039]步驟705,結束更新數據與歷史數據的合併流程,系統切換到正常模式。在正常模式下,系統只接收更新數據並存儲到相應的目錄中,而不進行更新數據與歷史數據的合併。[0040]本發明實施例中,接收更新指令,並記錄更新指令中攜帶的更新數據,更新數據包括主鍵和對應的更新操作內容,當預設的第一觸發事件發生時,查找記錄的各更新數據中的主鍵所屬的數據文件,根據更新數據中的所述更新操作內容,將各更新數據與其對應的數據文件合併到新的數據文件中,並用所述新的數據文件替換合併前的數據文件,從而,可以提高非關係型資料庫歷史數據更新的效率。[0041]實施例三基於相同的技術構思,本發明實施例還提供了一種非關係型資料庫數據更新裝置,如圖8所示,包括:記錄模塊810,用於接收更新指令,並記錄所述更新指令中攜帶的更新數據,所述更新數據包括主鍵和對應的更新操作內容;查找模塊820,用於當預設的第一觸發事件發生時,查找各更新數據中的主鍵所屬的數據文件;更新模塊830,用於根據更新數據中的所述更新操作內容,將各更新數據與其對應的數據文件合併到新的數據文件中,並用所述新的數據文件替換合併前的數據文件。[0042]優選的,還包括更新數據管理模塊,用於:預先建立兩個用於記錄所述更新數據的目錄;將接收到的更新指令中攜帶的更新數據記錄到其中一個目錄中;每當所述第一觸發事件發生時,進行目錄切換,將後續接收到的更新指令中攜帶的更新數據記錄到另一個目錄中,並將之前使用的目錄中記錄的各更新數據與對應的數據文件合併到新的數據文件中;將之前使用的目錄中記錄的各更新數據與對應的數據文件合併到新的數據文件中之後,刪除之前使用的目錄中的更新數據。[0043]優選的,還包括合併模塊,用於:當預設的第二觸發事件發生時,判斷相鄰多個數據文件的存儲容量之和是否超過預設存儲容量閾值,如果沒有超過,則將所述多個數據文件合併為一個數據文件。[0044]優選的,所述合併模塊,具體用於:步驟A,根據數據文件中包含的主鍵的順序對數據文件進行排序,將排序後的數據文件中的第一個數據文件作為基準文件;步驟B,判斷基準文件是否為排序後的數據文件中的最後一個數據文件;如果是,則結束流程;否則,確定基準文件與基準文件的下一個數據文件的存儲空間之和,並執行步驟C;步驟C,判斷所述存儲空間之和是否超過預設的空間閾值;如果是,則將所述基準文件的下一個數據文件作為基準文件,並轉至步驟B;否則,將基準文件與基準文件的下一個數據文件合併,將合併後的數據文件作為基準文件,並轉至步驟B。[0045]優選的,所述預設的第二觸發事件,具體為達到預設數據文件合併周期。[0046]優選的,還包括:建立模塊,用於對應各數據文件建立索引文件,索引文件中記錄其對應的數據文件中的各SSTable所存儲的主鍵的範圍;查詢模塊,用於當接收到查詢指令時,確定所述查詢指令中攜帶的主鍵所屬的數據文件;根據該數據文件對應的索引文件中記錄的該數據文件中的各SSTable所存儲的主鍵的範圍,確定所述查詢指令中攜帶的主鍵所屬的SSTable;在該主鍵所屬的SSTable中查找該主鍵對應的值。[0047]優選的,所述預設的第一觸發事件,具體為達到預設更新數據合併周期。[0048]優選的,還包括文件編號管理模塊,用於:為所述新的數據文件分配新的文件編號;刪除被替換的數據文件,並釋放該數據文件的文件編號。[0049]本發明實施例中,接收更新指令,並記錄更新指令中攜帶的更新數據,更新數據包括主鍵和對應的更新操作內容,當預設的第一觸發事件發生時,查找記錄的各更新數據中的主鍵所屬的數據文件,根據更新數據中的所述更新操作內容,將各更新數據與其對應的數據文件合併到新的數據文件中,並用所述新的數據文件替換合併前的數據文件,從而,可以提高非關係型資料庫歷史數據更新的效率。[0050]本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布於實施例的裝置中,也可以進行相應變化位於不同於本實施例的一個或多個裝置中。上述實施例的模塊可以合併為一個模塊,也可以進一步拆分成多個子模塊。[0051]上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。[0052]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可藉助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺終端設備(可以是手機,個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述的方法。[0053]以上所述僅是本發明的優選實施方式,應當指出,對於本【
技術領域:
】的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視本發明的保護範圍。【權利要求】1.一種非關係型資料庫數據更新方法,其特徵在於,包括:接收更新指令,並記錄所述更新指令中攜帶的更新數據,所述更新數據包括主鍵和對應的更新操作內容;當預設的第一觸發事件發生時,查找各更新數據中的主鍵所屬的數據文件;根據更新數據中的所述更新操作內容,將各更新數據與其對應的數據文件合併到新的數據文件中,並用所述新的數據文件替換合併前的數據文件。2.如權利要求1所述的方法,其特徵在於,預先建立兩個用於記錄所述更新數據的目錄;將接收到的更新指令中攜帶的更新數據記錄到其中一個目錄中;每當所述第一觸發事件發生時,進行目錄切換,將後續接收到的更新指令中攜帶的更新數據記錄到另一個目錄中,並將之前使用的目錄中記錄的各更新數據與對應的數據文件合併到新的數據文件中;將之前使用的目錄中記錄的各更新數據與對應的數據文件合併到新的數據文件中之後,刪除之前使用的目錄中的更新數據。3.如權利要求1所述的方法,其特徵在於,還包括:當預設的第二觸發事件發生時,判斷相鄰多個數據文件的存儲容量之和是否超過預設存儲容量閾值,如果沒有超過,則將所述多個數據文件合併為一個數據文件。4.、如權利要求3所述的方法,其特徵在於,所述判斷相鄰多個數據文件的存儲容量之和是否超過預設存儲容量閾值,如果沒有超過,則將所述多個數據文件合併為一個數據文件,具體為:步驟A,根據數據文件中包含的主鍵的順序對數據文件進行排序,將排序後的數據文件中的第一個數據文件作為基準文件;步驟B,判斷基準文件是否為排序後的數據文件中的最後一個數據文件;如果是,則結束流程;否則,確定基準文件與基準文件的下一個數據文件的存儲空間之和,並執行步驟C;步驟C,判斷所述存儲空間之和是否超過預設的空間閾值;如果是,則將所述基準文件的下一個數據文件作為基準文件,並轉至步驟B;否則,將基準文件與基準文件的下一個數據文件合併,將合併後的數據文件作為基準文件,並轉至步驟B。5.如權利要求3所述的方法,其特徵在於,所述預設的第二觸發事件,具體為達到預設數據文件合併周期。6.如權利要求1所述的方法,其特徵在於,還包括:對應各數據文件建立索引文件,索引文件中記錄其對應的數據文件中的各SSTable所存儲的主鍵的範圍;當接收到查詢指令時,確定所述查詢指令中攜帶的主鍵所屬的數據文件;根據該數據文件對應的索引文件中記錄的該數據文件中的各SSTable所存儲的主鍵的範圍,確定所述查詢指令中攜帶的主鍵所屬的SSTable;在該主鍵所屬的SSTable中查找該主鍵對應的值。7.如權利要求1所述的方法,其特徵在於,所述預設的第一觸發事件,具體為達到預設更新數據合併周期。8.如權利要求1所述的方法,其特徵在於,還包括:為所述新的數據文件分配新的文件編號;刪除被替換的數據文件,並釋放該數據文件的文件編號。9.一種非關係型資料庫數據更新裝置,其特徵在於,包括:記錄模塊,用於接收更新指令,並記錄所述更新指令中攜帶的更新數據,所述更新數據包括主鍵和對應的更新操作內容;查找模塊,用於當預設的第一觸發事件發生時,查找各更新數據中的主鍵所屬的數據文件;更新模塊,用於根據更新數據中的所述更新操作內容,將各更新數據與其對應的數據文件合併到新的數據文件中,並用所述新的數據文件替換合併前的數據文件。10.如權利要求9所述的裝置,其特徵在於,還包括更新數據管理模塊,用於:預先建立兩個用於記錄所述更新數據的目錄;將接收到的更新指令中攜帶的更新數據記錄到其中一個目錄中;每當所述第一觸發事件發生時,進行目錄切換,將後續接收到的更新指令中攜帶的更新數據記錄到另一個目錄中,並將之前使用的目錄中記錄的各更新數據與對應的數據文件合併到新的數據文件中;將之前使用的目錄中記錄的各更新數據與對應的數據文件合併到新的數據文件中之後,刪除之前使用的目錄中的更新數據。11.如權利要求9所述的裝置,其特徵在於,還包括合併模塊,用於:當預設的第二觸發事件發生時,判斷相鄰多個數據文件的存儲容量之和是否超過預設存儲容量閾值,如果沒有超過,則將所述多個數據文件合併為一個數據文件。12.如權利要求11所述的裝置,其特徵在於,所述合併模塊,具體用於:步驟A,根據數據文件中包含的主鍵的順序對數據文件進行排序,將排序後的數據文件中的第一個數據文件作為基準文件;步驟B,判斷基準文件是否為排序後的數據文件中的最後一個數據文件;如果是,則結束流程;否則,確定基準文件與基準文件的下一個數據文件的存儲空間之和,並執行步驟C;步驟C,判斷所述存儲空間之和是否超過預設的空間閾值;如果是,則將所述基準文件的下一個數據文件作為基準文件,並轉至步驟B;否則,將基準文件與基準文件的下一個數據文件合併,將合併後的數據文件作為基準文件,並轉至步驟B。13.如權利要求11所述的裝置,其特徵在於,所述預設的第二觸發事件,具體為達到預設數據文件合併周期。14.如權利要求9所述的裝置,其特徵在於,還包括:建立模塊,用於對應各數據文件建立索引文件,索引文件中記錄其對應的數據文件中的各SSTable所存儲的主鍵的範圍;查詢模塊,用於當接收到查詢指令時,確定所述查詢指令中攜帶的主鍵所屬的數據文件;根據該數據文件對應的索引文件中記錄的該數據文件中的各SSTable所存儲的主鍵的範圍,確定所述查詢指令中攜帶的主鍵所屬的SSTable;在該主鍵所屬的SSTable中查找該主鍵對應的值。15.如權利要求9所述的裝置,其特徵在於,所述預設的第一觸發事件,具體為達到預設更新數據合併周期。16.如權利要求9所述的裝置,其特徵在於,還包括文件編號管理模塊,用於:為所述新的數據文件分配新的文件編號;刪除被替換的數據文件,並釋放該數據文件的文件編號。【文檔編號】G06F17/30GK103473239SQ201210187686【公開日】2013年12月25日申請日期:2012年6月8日優先權日:2012年6月8日【發明者】鍾豔春,劉錦標,江紅英申請人:騰訊科技(深圳)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀