一種數(shù)據(jù)處理方法及裝置制造方法【專利摘要】本發(fā)明提供一種數(shù)據(jù)處理方法及裝置,方法包括以下步驟:設置一內存表,所述內存表包括至少兩級的存儲結點,所述存儲結點用于存儲數(shù)據(jù)或者下一級存儲結點的地址;接收待插入記錄數(shù)據(jù),所述待插入記錄數(shù)據(jù)包括有待插入數(shù)據(jù)標識;判斷是否存在與待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識;若存在與所述待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識,則將所述待插入記錄數(shù)據(jù)解析成至少一個的細胞數(shù)據(jù),并將細胞數(shù)據(jù)在下一級存儲結點進行存儲?!緦@f明】一種數(shù)據(jù)處理方法及裝置【【
技術領域:
】】[0001]本發(fā)明涉及數(shù)據(jù)處理【
技術領域:
】,特別是涉及一種數(shù)據(jù)處理方法及裝置?!尽?br>背景技術:
】】[0002]隨著需要處理的數(shù)據(jù)的不斷增多,對數(shù)據(jù)處理效率提出了很高的要求。[0003]以分布式數(shù)據(jù)庫的內存表為例,現(xiàn)有技術主要通過兩種結構的內存表對數(shù)據(jù)進行存儲,一是基于跳躍表(skiplist)結構的內存表,另一個是基于平衡樹結構的內存表。[0004]但是不論是基于跳躍表結構的內存表,還是基于平衡樹結構的內存表,在插入記錄數(shù)據(jù)或者查詢記錄數(shù)據(jù)時,由于在極端場景下,由O(1gN)的時間復雜度降低為O(N),而且基于全key的插入存儲對于內存的浪費很大,在向內存表插入記錄數(shù)據(jù)的時候需要解析成無沖突的key鍵,導致插入記錄數(shù)據(jù)的效率低下,進而降低記錄數(shù)據(jù)存儲的效率。[0005]因此,需解決現(xiàn)有技術中存在的技術問題?!尽?br/>發(fā)明內容】】[0006]本發(fā)明的一個目的在于提供一種數(shù)據(jù)處理方法,旨在解決現(xiàn)有技術中的基于全key的插入存儲對于內存的浪費很大,在向內存表插入記錄數(shù)據(jù)的時候需要解析成無沖突的key鍵,導致對記錄數(shù)據(jù)的存儲以及查詢的效率低下的技術問題。[0007]為解決上述技術問題,本發(fā)明構造了一種數(shù)據(jù)處理方法,所述方法包括以下步驟:[0008]接收待插入記錄數(shù)據(jù),所述待插入記錄數(shù)據(jù)包括有待插入數(shù)據(jù)標識;[0009]判斷是否存在與待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識;[0010]若存在與所述待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識,則將所述待插入記錄數(shù)據(jù)解析成至少一個的細胞數(shù)據(jù),并將細胞數(shù)據(jù)存儲在內存表中,所述內存表包括至少兩級的存儲結點,所述存儲結點用于存儲數(shù)據(jù)或者下一級存儲結點的地址,所述細胞數(shù)據(jù)存儲于所述內存表的所述下一級存儲節(jié)點中。[0011]本發(fā)明的另一個目的在于提供一種數(shù)據(jù)處理方法,旨在解決現(xiàn)有技術中的基于全key的插入存儲對于內存的浪費很大,在向內存表插入記錄數(shù)據(jù)的時候需要解析成無沖突的key鍵,導致對記錄數(shù)據(jù)的存儲以及查詢的效率低下的技術問題。[0012]為解決上述技術問題,本發(fā)明構造了一種數(shù)據(jù)處理裝置,所述裝置包括:[0013]存儲模塊,所述存儲模塊包括一內存表,所述內存表包括至少兩級的存儲結點,所述存儲結點用于存儲數(shù)據(jù)或者下一級存儲結點的地址;[0014]接收模塊,用于接收待插入記錄數(shù)據(jù),所述待插入記錄數(shù)據(jù)包括有待插入數(shù)據(jù)標識;[0015]判斷模塊,用于判斷是否存在與待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識;[0016]處理模塊,用于在存在與所述待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識時,將所述待插入記錄數(shù)據(jù)解析成至少一個的細胞數(shù)據(jù),并將細胞數(shù)據(jù)在下一級存儲結點進行存儲。[0017]相對于現(xiàn)有技術,本發(fā)明預先設置一內存表,該內存表包括至少兩級的存儲結點,所述存儲結點用于存儲數(shù)據(jù)或者下一級存儲結點的地址;在接收到待插入記錄數(shù)據(jù),首先判斷是否存在與待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識;若存在與所述待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識,則將所述待插入記錄數(shù)據(jù)解析成至少一個的細胞數(shù)據(jù),并將細胞數(shù)據(jù)在下一級存儲結點進行存儲。本發(fā)明提高了對記錄數(shù)據(jù)存儲的效率,進而提高了數(shù)據(jù)處理效率。[0018]為讓本發(fā)明的上述內容能更明顯易懂,下文特舉優(yōu)選實施例,并配合所附圖式,作詳細說明如下:【【專利附圖】【附圖說明】】[0019]圖1為本發(fā)明提供的據(jù)處理方法的較佳實施例流程示意圖;[0020]圖2為本發(fā)明中內存表的較佳實施例結構示意圖;[0021]圖3為本發(fā)明中記錄數(shù)據(jù)的結構示意圖;[0022]圖4為本發(fā)明中細胞數(shù)據(jù)的結構示意圖;[0023]圖5為本發(fā)明中對不同記錄數(shù)據(jù)進行存儲時的示意圖;[0024]圖6為本發(fā)明中查找待插入記錄數(shù)據(jù)正確位置的示意圖;[0025]圖7為本發(fā)明中查詢數(shù)據(jù)時的結構示意圖;[0026]圖8為本發(fā)明中對記錄數(shù)據(jù)標識進行前綴壓縮的示意圖;[0027]圖9為本發(fā)明提供的數(shù)據(jù)處理裝置的較佳實施例結構示意圖?!尽揪唧w實施方式】】[0028]以下各實施例的說明是參考附加的圖式,用以例示本發(fā)明可用以實施的特定實施例。本發(fā)明所提到的方向用語,例如「上」、「下」、「前」、「后」、「左」、「右」、「內」、「外」、「側面」等,僅是參考附加圖式的方向。因此,使用的方向用語是用以說明及理解本發(fā)明,而非用以限制本發(fā)明。在圖中,結構相似的單元是以相同標號表示。[0029]請參閱圖1,圖1為本發(fā)明提供的數(shù)據(jù)處理方法的較佳實施例流程示意圖。[0030]在步驟SlOl中,預先設置一內存表(Memtable)。其中該內存表包括至少兩級的存儲結點,非最后一級的存儲結點除了存儲數(shù)據(jù)外,還用于存儲其對應的下一級存儲結點的地址。[0031]譬如請參閱圖2,圖2為本發(fā)明提供的內存表的一較佳實施例結構示意圖。該內存表包括兩級的存儲結點,即一級存儲節(jié)點A和二級存儲節(jié)點B,二級存儲節(jié)點B為一級存儲節(jié)點A的下一級存儲節(jié)點。其中一級存儲節(jié)點A除了存儲數(shù)據(jù)外,還存儲二級存儲節(jié)點B的地址,譬如存儲節(jié)點All內存儲有二級存儲節(jié)點B的地址。[0032]譬如請參閱圖3,圖3為本發(fā)明中記錄數(shù)據(jù)的結構示意圖,其中記錄數(shù)據(jù)是某一存儲標識(Rowkey)下的一組數(shù)據(jù)組成的集合,其中記錄數(shù)據(jù)包括一記錄數(shù)據(jù)標識(Record_key)以及多個細胞數(shù)據(jù)(Rell)。[0033]請參閱圖4,圖4為本發(fā)明中細胞數(shù)據(jù)的結構示意圖。其中細胞數(shù)據(jù)為存儲數(shù)據(jù)的最小數(shù)據(jù)單元,其包括細胞數(shù)據(jù)標識(Rell_key)以及細胞值(Rell_value),其中所述細胞數(shù)據(jù)標識攜帶有時間戳,即每一時間戳對應一細胞數(shù)據(jù)標識,因此不存在相同的細胞數(shù)據(jù)標識。在本發(fā)明中,記錄數(shù)據(jù)存儲于一級存儲結點A中,細胞數(shù)據(jù)存儲于二級存儲結點B中。[0034]在步驟S102中,接收待插入記錄數(shù)據(jù),判斷是否存在與待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識,若存在,則進行步驟S103,否則進行步驟S104。[0035]若之前沒有相同記錄數(shù)據(jù)標識的記錄數(shù)據(jù)存儲,則待插入記錄數(shù)據(jù)的存儲位置為一級存儲結點A,若在此之前已經(jīng)有相同記錄數(shù)據(jù)標識的記錄數(shù)據(jù)存儲,則所述待插入記錄數(shù)據(jù)的存儲位置為二級存儲結點B。[0036]在步驟S103中,將所述待插入記錄數(shù)據(jù)解析成至少一個的細胞數(shù)據(jù),并將細胞數(shù)據(jù)在二級存儲結點B進行存儲。[0037]譬如請參閱圖5,以存儲第一記錄數(shù)據(jù)recordl和第二記錄數(shù)據(jù)record2為例。其中第一記錄數(shù)據(jù)recordl由于沒有相同的記錄數(shù)據(jù)標識的沖突,被存儲至一級存儲結點A,而第二記錄數(shù)據(jù)reCOrd2由于之前已有相同記錄數(shù)據(jù)標識的記錄數(shù)據(jù)插入進來,因此將第二記錄數(shù)據(jù)record2解析成3個無沖突的細胞數(shù)據(jù),對每個細胞數(shù)據(jù)在二級存儲結點B中找到正確的位置,并對細胞數(shù)據(jù)標識采用前綴壓縮的方式進行存儲。[0038]在具體實施過程中,以存儲第一記錄數(shù)據(jù)recordl為例,在查找第一記錄數(shù)據(jù)recordl待存儲的正確位置的過程中,本發(fā)明實施例優(yōu)選采用逐層二分法查找正確的位置進行存儲。假設第一記錄數(shù)據(jù)recordl的記錄數(shù)據(jù)標識為X,并假設A2<C1<C2<C3<F1<F2<X<F3<C4<A3,其中Al、A2、A3…B1、B2、B3等為各級存儲節(jié)點中存儲節(jié)點的記錄數(shù)據(jù)標識,譬如Al、A2、A3…為一級存儲結點A中各存儲節(jié)點的記錄數(shù)據(jù)標識。[0039]具體請參閱圖6,首先在內存表的一級存儲結點A上進行查找:由于X大于A2且小于A3,則通過二分法查找到A2存`儲結點,進而判定X存儲于A2存儲結點對應的分支上,譬如A2存儲結點對應下一級存儲節(jié)點C。之后在下一級存儲節(jié)點C查找:由于X大于C3,則通過二分法查找到C3存儲結點,進而判定X存儲于C3存儲結點對應的分支上,譬如C3存儲結點對應下一級存儲節(jié)點F。之后繼續(xù)在下一級存儲節(jié)點F上進行查找,依次類推,每一級的存儲節(jié)點都通過二分法查找相對應的下一級存儲節(jié)點,直到達到內存表中的最后一級存儲節(jié)點,,即可找到正確的位置。譬如在最后一級存儲節(jié)點F查找到存儲位置為F3存儲節(jié)點時,則將F3存儲節(jié)點后移,并將X插入到F3存儲節(jié)點原先的位置。[0040]在步驟S104中,對待插入記錄數(shù)據(jù)標識進行前綴壓縮后存儲。[0041]在具體實施過程中,還包括查詢的步驟,請參閱圖7,可用待插入記錄數(shù)據(jù)標識作為查詢索引,在內存表中查詢是否已存儲有對應的記錄數(shù)據(jù);若已存儲有對應的記錄數(shù)據(jù),且已存儲的記錄數(shù)據(jù)位于一級存儲結點A,則在對應的記錄數(shù)據(jù)中獲取相應的細胞數(shù)據(jù);若已存儲有對應的記錄數(shù)據(jù),且已存儲的記錄數(shù)據(jù)位于二級存儲結點B,則查找細胞數(shù)據(jù)標識,該細胞數(shù)據(jù)標識對應記錄數(shù)據(jù)標識,并用該細胞數(shù)據(jù)標識作為索引進行查詢,若查詢到對應的細胞數(shù)據(jù),則證明查詢成功,否則證明查詢失敗。[0042]在具體實施過程中,在對待插入記錄數(shù)據(jù)標識進行前綴壓縮時,選擇合適的基準密鑰(基key)對待插入記錄數(shù)據(jù)標識進行前綴壓縮,然后存儲至正確位置。其中基準密鑰是用來作為前綴壓縮的基準的key,譬如第一記錄數(shù)據(jù)recordl的第一記錄數(shù)據(jù)標識Ml;本發(fā)明選擇的基準密鑰在滿足所有已存在的記錄數(shù)據(jù)標識中,所選擇的基準密鑰可使得待插入記錄數(shù)據(jù)的數(shù)據(jù)標識可壓縮的字節(jié)數(shù)最多。[0043]譬如,第一記錄數(shù)據(jù)recordl具有第一記錄數(shù)據(jù)標識Ml,第二記錄數(shù)據(jù)record2具有第二記錄數(shù)據(jù)標識M2,第一記錄數(shù)據(jù)recordl和第二記錄數(shù)據(jù)record2存儲至內存表后,待插入記錄數(shù)據(jù)為第三記錄數(shù)據(jù)reCOrd3,其具有第三記錄數(shù)據(jù)標識M3,該第三記錄數(shù)據(jù)標識M3占用內存為BufferLen,首先查找到與第三記錄數(shù)據(jù)標識M3最接近的第二記錄數(shù)據(jù)標識M2,假設第二記錄數(shù)據(jù)標識M2提供給第三記錄數(shù)據(jù)標識M3的公共前綴串的長度為PrefixLen,則PrefixLen小于或者等于第二記錄數(shù)據(jù)標識M2與第三記錄數(shù)據(jù)標識M3的公共前綴串的長度SameLen,即:PrefixLen<SameLen。[0044]假設保存壓縮信息所占空間為Threshold,則第三記錄數(shù)據(jù)標識M3壓縮時:所占空間為下式⑴:[0045]BufferLen-PrefixLen+Threshold(I);[0046]第三記錄數(shù)據(jù)標識M3不壓縮時所占空間為weiBufferLen;[0047]假設第四記錄數(shù)據(jù)recorcM具有第四記錄數(shù)據(jù)標識M4,記錄數(shù)據(jù)標識M4與M2、M3至少有SameLen長度的公共前綴串,第四記錄數(shù)據(jù)標識M4的大小是BufferSize;當?shù)谒挠涗洈?shù)據(jù)標識M4插入時,空間的使用情況分別為:[0048]如果第三記錄數(shù)據(jù)標識M3已被壓縮,則第四記錄數(shù)據(jù)標識M4可以壓縮的大小是基于第三記錄數(shù)據(jù)標識M3的基準密鑰(B)產生的,則最終保存第四記錄數(shù)據(jù)標識M4所需要的空間同樣為式(1),即:[0049]BufferSize-PrefixLen+Threshold[0050]如果第三記錄數(shù)據(jù)標識M3未被壓縮,則第三記錄數(shù)據(jù)標識M3就可以作為M4的基準密鑰,則第三記錄數(shù)據(jù)標識M3至少能提供SameLen的壓縮空間給第四記錄數(shù)據(jù)標識M4,那么第四記錄數(shù)據(jù)標識M4以第三記錄數(shù)據(jù)標識M3為基準密鑰時其空間消耗為下式(2):[0051]BufferSize-SameLen+Threshold(2)[0052]在第三記錄數(shù)據(jù)標識M3壓縮和不壓縮的情況下,第四記錄數(shù)據(jù)標識M4插入的時候總的空間消耗分別為Tl和T2:[0053]Tl=BufferLen-PrefixLen+Threshold+BufferSize-PrefixLen+Threshold(3)[0054]T2=BufferLen+BufferSize-SameLen+Threshold(4)[0055]T2<Tl,可以得出:SameLen>2*PrefixLen-Threshold,顯然當SameLen與PrefixLeruThreshold滿足上述關系時,待插入記錄數(shù)據(jù)的記錄數(shù)據(jù)標識key可以不壓縮,該記錄數(shù)據(jù)標識key可作為下一個個待插入記錄數(shù)據(jù)的記錄數(shù)據(jù)標識的基準密鑰,從而提供更大的壓縮空間。[0056]對記錄數(shù)據(jù)標識進行前綴壓縮的過程請參閱圖8,第一記錄數(shù)據(jù)recordl和第二記錄數(shù)據(jù)reCOrd2的記錄數(shù)據(jù)標識分別為200個字節(jié)和230個字節(jié),其中有180個字節(jié)是相同的,在不進行前綴壓縮的條件下,僅存儲記錄數(shù)據(jù)標識共需230+200=430個字節(jié)。若采用前綴壓縮的方式,以第一記錄數(shù)據(jù)標識Ml為基準密鑰進行前綴壓縮,存儲第二記錄數(shù)據(jù)標識M2需要的字節(jié)數(shù)為:用8個字節(jié)保存記錄數(shù)據(jù)標識的地址,用4個字節(jié)保存總長度,用4個字節(jié)保存壓縮的長度,再加上后面未壓縮的230-180=50個字節(jié),共需字節(jié)數(shù):8+4+4+50=66個字節(jié)。則現(xiàn)有技術中需要用230個字節(jié)來保存的數(shù)據(jù),進行前綴壓縮后只需66個字節(jié)即可完成保存。[0057]請參閱圖9,圖9為本發(fā)明提供的數(shù)據(jù)處理裝置的較佳實施例結構示意圖。所述裝置包括存儲模塊81、接收模塊82、判斷模塊83、處理模塊84以及查詢模塊85。[0058]所述存儲模塊81包括一內存表,所述內存表包括至少兩級的存儲結點,所述存儲結點用于存儲數(shù)據(jù)或者下一級存儲結點的地址,具體請參閱圖2以及針對圖2的詳細描述。[0059]所述接收模塊82接收待插入記錄數(shù)據(jù),所述待插入記錄數(shù)據(jù)包括有待插入數(shù)據(jù)標識;所述判斷模塊83判斷是否存在與待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標。[0060]若所述判斷模塊83判定存在與所述待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識,則所述處理模塊84將所述待插入記錄數(shù)據(jù)解析成至少一個的細胞數(shù)據(jù),并將細胞數(shù)據(jù)在下一級存儲結點進行存儲。若所述判斷模塊83判定不存在與所述待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識,則所述處理模塊84將所述待插入記錄數(shù)據(jù)標識進行前綴壓縮后存儲。優(yōu)選的,所述處理模塊84對細胞數(shù)據(jù)的細胞數(shù)據(jù)標識進行前綴壓縮后存儲。[0061]在將所述待插入記錄數(shù)據(jù)標識進行前綴壓縮時,所述處理模塊84查找一記錄數(shù)據(jù)標識作為待插入記錄數(shù)據(jù)標識的基準密鑰,所述待插入記錄數(shù)據(jù)標識以該基準密鑰為準進行壓縮,其中所查找的記錄數(shù)據(jù)標識滿足下式:[0062]SameLen>2*PrefixLen-Threshold;[0063]其中SameLen為該記錄數(shù)據(jù)標識與待插入記錄數(shù)據(jù)標識的公共前綴串的長度;PrefiXLen為該記錄數(shù)據(jù)標識提供給所述待插入數(shù)據(jù)標識的公共前綴串的長度;Threshold為所述內存表中保存壓縮信息所占空間。[0064]更具體的,所述內存表包括一級存儲結點和二級存儲結點,所述查詢模塊在進行記錄數(shù)據(jù)查詢時,用記錄數(shù)據(jù)標識作為查詢索引,在內存表中查詢是否已存儲有對應的記錄數(shù)據(jù);若已存儲有對應的記錄數(shù)據(jù),且已存儲的記錄數(shù)據(jù)位于一級存儲結點,則在對應的記錄數(shù)據(jù)中獲取相應的細胞數(shù)據(jù);若已存儲的記錄數(shù)據(jù)位于二級存儲結點,則用細胞數(shù)據(jù)標識作為索引進行查詢,若查詢到對應的細胞數(shù)據(jù),則查詢成功,否則查詢失敗。[0065]綜上所述,雖然本發(fā)明已以優(yōu)選實施例揭露如上,但上述優(yōu)選實施例并非用以限制本發(fā)明,本領域的普通技術人員,在不脫離本發(fā)明的精神和范圍內,均可作各種更動與潤飾,因此本發(fā)明的保護范圍以權利要求界定的范圍為準?!緳嗬蟆?.一種數(shù)據(jù)處理方法,其特征在于:所述方法包括以下步驟:接收待插入記錄數(shù)據(jù),所述待插入記錄數(shù)據(jù)包括有待插入數(shù)據(jù)標識;判斷是否存在與待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識;若存在與所述待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識,則將所述待插入記錄數(shù)據(jù)解析成至少一個的細胞數(shù)據(jù),并將細胞數(shù)據(jù)存儲在內存表中,所述內存表包括至少兩級的存儲結點,所述存儲結點用于存儲數(shù)據(jù)或者下一級存儲結點的地址,所述細胞數(shù)據(jù)存儲于所述內存表的所述下一級存儲節(jié)點中。2.根據(jù)權利要求1所述的數(shù)據(jù)處理方法,其特征在于:所述方法還包括以下步驟:若不存在與所述待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識,則將所述待插入記錄數(shù)據(jù)標識進行前綴壓縮后存儲。3.根據(jù)權利要求1所述的數(shù)據(jù)處理方法,其特征在于:將細胞數(shù)據(jù)在下一級存儲結點進行存儲時,具體包括:對細胞數(shù)據(jù)的細胞數(shù)據(jù)標識進行前綴壓縮后存儲。4.根據(jù)權利要求2所述的數(shù)據(jù)處理方法,其特征在于:對記錄數(shù)據(jù)的記錄數(shù)據(jù)標識進行前綴壓縮的步驟具體包括:查找記錄數(shù)據(jù)標識,將所查找的記錄數(shù)據(jù)標識作為待插入記錄數(shù)據(jù)標識的基準密鑰,所述待插入記錄數(shù)據(jù)標識以該基準密鑰為準進行壓縮,其中所查找的記錄數(shù)據(jù)標識滿足下式:SameLen>2*Pr`efixLen-Threshold;其中SameLen為該記錄數(shù)據(jù)標識與待插入記錄數(shù)據(jù)標識的公共前綴串的長度;PrefiXLen為該記錄數(shù)據(jù)標識提供給所述待插入數(shù)據(jù)標識的公共前綴串的長度;Threshold為所述內存表中保存壓縮信息所占空間。5.根據(jù)權利要求1所述的數(shù)據(jù)處理方法,其特征在于:所述內存表包括一級存儲結點和二級存儲結點,所述二級存儲節(jié)點在順序上為所述一級存儲節(jié)點的下一級存儲節(jié)點,所述方法還包括在所述內存表查詢數(shù)據(jù)的過程,該查詢數(shù)據(jù)的過程包括:用記錄數(shù)據(jù)標識作為查詢索引,在內存表中按照存儲節(jié)點的順序查詢是否已存儲有對應的記錄數(shù)據(jù);如果已存儲有對應的記錄數(shù)據(jù),則判斷已存儲有對應的記錄數(shù)據(jù)所屬的存儲節(jié)點:若已存儲的記錄數(shù)據(jù)位于一級存儲結點,則在對應的記錄數(shù)據(jù)中獲取相應的細胞數(shù)據(jù);若已存儲的記錄數(shù)據(jù)位于二級存儲結點,則查找一細胞數(shù)據(jù)標識,該細胞數(shù)據(jù)標識對應所述記錄數(shù)據(jù)標識,并用查找到的細胞數(shù)據(jù)標識作為索引進行查詢,若查詢到對應的細胞數(shù)據(jù),則查詢成功,否則查詢失敗。6.一種數(shù)據(jù)處理裝置,其特征在于:所述裝置包括:存儲模塊,所述存儲模塊包括一內存表,所述內存表包括至少兩級的存儲結點,所述存儲結點用于存儲數(shù)據(jù)或者下一級存儲結點的地址;接收模塊,用于接收待插入記錄數(shù)據(jù),所述待插入記錄數(shù)據(jù)包括有待插入數(shù)據(jù)標識;判斷模塊,用于判斷是否存在與待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識;處理模塊,用于在存在與所述待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識時,將所述待插入記錄數(shù)據(jù)解析成至少一個的細胞數(shù)據(jù),并將細胞數(shù)據(jù)在下一級存儲結點進行存儲。7.根據(jù)權利要求6所述的數(shù)據(jù)處理裝置,其特征在于:所述處理模塊,還用于在不存在與所述待插入記錄數(shù)據(jù)標識相同的記錄數(shù)據(jù)標識時,將所述待插入記錄數(shù)據(jù)標識進行前綴壓縮后存儲。8.根據(jù)權利要求6所述的數(shù)據(jù)處理裝置,其特征在于:所述處理模塊,還用于對細胞數(shù)據(jù)的細胞數(shù)據(jù)標識進行前綴壓縮后存儲。9.根據(jù)權利要求7所述的數(shù)據(jù)處理裝置,其特征在于:所述處理模塊,還用于查找一記錄數(shù)據(jù)標識,將所查找的記錄數(shù)據(jù)標識作為待插入記錄數(shù)據(jù)標識的基準密鑰,所述待插入記錄數(shù)據(jù)標識以該基準密鑰為準進行壓縮,其中所查找的記錄數(shù)據(jù)標識滿足下式:SameLen>2*PrefixLen-Threshold;其中SameLen為該記錄數(shù)據(jù)標識與待插入記錄數(shù)據(jù)標識的公共前綴串的長度;PrefiXLen為該記錄數(shù)據(jù)標識提供給所述待插入數(shù)據(jù)標識的公共前綴串的長度;Threshold為所述內存表中保存壓縮信息所占空間。10.根據(jù)權利要求6所述的數(shù)據(jù)處理裝置,其特征在于:所述內存表包括一級存儲結點和二級存儲結點,所述二級存儲節(jié)點在順序上為所述一級存儲節(jié)點的下一級存儲節(jié)點,所述裝置還包括查詢模塊,所述查詢模塊,用于用記錄數(shù)據(jù)標識作為查詢索引,在內存表中按照存儲節(jié)點的順序查詢是否已存儲有對應的記錄數(shù)據(jù);如果已存儲有對應的記錄數(shù)據(jù),則判斷已存儲有對應的記錄數(shù)據(jù)所屬的存儲節(jié)點:若已存儲的記錄數(shù)據(jù)位于一級存儲結點,則在對應的記錄數(shù)據(jù)中獲取相應的細胞數(shù)據(jù);若已存儲的記錄數(shù)據(jù)位于二級存儲結點,則查找一細胞數(shù)據(jù)標識,該細胞數(shù)據(jù)標識對應所述記錄數(shù)據(jù)標識,并用查找到的細胞數(shù)據(jù)標識作為索引進行查詢,若查詢到對應的細胞數(shù)據(jù),則查詢成功,否則查詢失敗。`【文檔編號】G06F17/30GK103870462SQ201210528212【公開日】2014年6月18日申請日期:2012年12月10日優(yōu)先權日:2012年12月10日【發(fā)明者】敖爭光申請人:騰訊科技(深圳)有限公司