應的數據鍵值對也需要進行相應的更新,原第二節點的數據鍵值對更新為“K+2- ‘l、4、b’ ”,原第三節點的數據鍵值對更新為“K+3- ‘4、-l、c’ ”.’該鏈表相應的結構鍵值對也發生了變化,增加新節點后的鏈表中的待轉換數據的數量為4,鏈表中的下一可用的位置標識為5,鏈表的頭部數據的位置標識為1,鏈表的尾部數據的位置標識為3,以預定的鏈表信息標識“KMta”為鍵,結構相關信息“4,5,1,3”,因此相應的結構鍵值對更新為“KMta- ‘4,5,1,3’”,得到添加后的鏈表結構如圖7。
[0107]又例如,接上例,在圖7鏈表中刪除value數據單元為b的第二節點,貝第一節點的下一可用的位置標識與第三節點的前一可用的位置標識發生了變化,相應的數據鍵值對也需要進行相應的更新,此時原第一節點的數據鍵值對更新為“K+1 - ‘_1、4、a’”,原第三節點的數據鍵值對更新為“K+4- ‘1、3、d’”;相應的結構鍵值對也發生了變化,刪除第二節點后的鏈表中的待轉換數據的數量為3,鏈表中的下一可用的位置標識為5,鏈表的頭部數據的位置標識為1,鏈表的尾部數據的位置標識為3,以預定的鏈表信息標識“KMta”為鍵,結構相關信息“3,5,1,3”,因此相應的結構鍵值對更新為“KMta- ‘3,5,1,3’ ”,得到刪除后的鏈表結構如圖8所示。
[0108]本技術領域技術人員可以理解,本發明包括涉及用于執行本申請中所述操作中的一項或多項的設備。這些設備可以為所需的目的而專門設計和制造,或者也可以包括通用計算機中的已知設備。這些設備具有存儲在其內的計算機程序,這些計算機程序選擇性地激活或重構。這樣的計算機程序可以被存儲在設備(例如,計算機)可讀介質中或者存儲在適于存儲電子指令并分別耦聯到總線的任何類型的介質中,所述計算機可讀介質包括但不限于任何類型的盤(包括軟盤、硬盤、光盤、⑶-ROM、和磁光盤)、ROM (Read-Only Memory,只讀存儲器)、RAM (Random Access Memory,隨即存儲器)、EPROM (Erasable ProgrammableRead-Only Memory,可擦寫可編程只讀存儲器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,電可擦可編程只讀存儲器)、閃存、磁性卡片或光線卡片。也就是,可讀介質包括由設備(例如,計算機)以能夠讀的形式存儲或傳輸信息的任何介質。
[0109]本技術領域技術人員可以理解,可以用計算機程序指令來實現這些結構圖和/或框圖和/或流圖中的每個框以及這些結構圖和/或框圖和/或流圖中的框的組合。本技術領域技術人員可以理解,可以將這些計算機程序指令提供給通用計算機、專業計算機或其他可編程數據處理方法的處理器來實現,從而通過計算機或其他可編程數據處理方法的處理器來執行本發明公開的結構圖和/或框圖和/或流圖的框或多個框中指定的方案。
[0110]本技術領域技術人員可以理解,本發明中已經討論過的各種操作、方法、流程中的步驟、措施、方案可以被交替、更改、組合或刪除。進一步地,具有本發明中已經討論過的各種操作、方法、流程中的其他步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。進一步地,現有技術中的具有與本發明中公開的各種操作、方法、流程中的步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。
[0111]以上所述僅是本發明的部分實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。
【主權項】
1.一種數據存儲結構的轉換方法,其特征在于,包括: 提取基于原始鏈表存儲結構的同一鏈表中各個待轉換數據的位置標識以及所述鏈表的鏈表標識,并將所述鏈表標識及所述各個待轉換數據的位置標識分別進行合并,以確定與所述各個待轉換數據相應的轉換存儲結構中的鍵; 提取與所述各個待轉換數據在所述鏈表中左右相鄰兩個數據中的位置標識以及所述各個待轉換數據中的value數據單元,并將提取到的與所述各個待轉換數據在所述鏈表中左右相鄰兩個數據中的位置標識與提取到的所述各個待轉換數據中的value數據單元分別進行合并,以確定為所述各個待轉換數據的轉換存儲結構中的值; 根據所述轉換存儲結構,將所述鍵及所述值組成的數據鍵值對存儲至鍵值數據庫中。2.根據權利要求1所述的數據存儲結構的轉換方法,其中,該方法還包括: 確定所述鏈表中與原始鏈表存儲結構相應的結構相關信息; 將以預定的鏈表信息標識為鍵、以所述結構相關信息為值組成的結構鍵值對與所述同一鏈表中的各個待轉換數據相關聯地存儲至鍵值數據庫中。3.根據權利要求2所述的數據存儲結構的轉換方法,其中,所述結構相關信息至少包括: 所述鏈表中的待轉換數據的數量; 所述鏈表中的下一可用的位置標識; 所述鏈表的頭部數據的位置標識; 所述鏈表的尾部數據的位置標識。4.根據權利要求2或3所述的數據存儲結構的轉換方法,其中,所述預定的鏈表信息標識至少包括: 所述鏈表的鏈表標識;可變量標識。5.根據權利要求1所述的數據存儲結構的轉換方法,其中,該方法還包括: 當對任一待更新的數據鍵值對進行更新操作時,對與該待更新的數據鍵值在所述鏈表中左右相鄰的兩個數據對應的數據鍵值對進行相應更新, 并對與該待更新的數據鍵值對相關聯的結構鍵值對進行相應更新。6.一種數據存儲結構的轉換裝置,其特征在于,包括: 鍵確定模塊,用于提取基于原始鏈表存儲結構的同一鏈表中各個待轉換數據的位置標識以及所述鏈表的鏈表標識,并將所述鏈表標識及所述各個待轉換數據的位置標識分別進行合并,以確定與所述各個待轉換數據相應的轉換存儲結構中的鍵; 值確定模塊,用于提取與所述各個待轉換數據在所述鏈表中左右相鄰兩個數據中的位置標識以及所述各個待轉換數據中的value數據單元,并將提取到的與所述各個待轉換數據在所述鏈表中左右相鄰兩個數據中的位置標識與提取到的所述各個待轉換數據中的value數據單元分別進行合并,以確定為所述各個待轉換數據的轉換存儲結構中的值;數據鍵值對存儲模塊,用于根據所述轉換存儲結構,將所述鍵及所述值組成的數據鍵值對存儲至鍵值數據庫中。7.根據權利要求6所述的數據存儲結構的轉換裝置,其中,該裝置還包括: 結構確定模塊,用于確定所述鏈表中與原始鏈表存儲結構相應的結構相關信息; 結構鍵值對存儲模塊,用于將以預定的鏈表信息標識為鍵、以所述結構相關信息為值組成的結構鍵值對與所述同一鏈表中的各個待轉換數據相關聯地存儲至鍵值數據庫中。8.根據權利要求7所述的數據存儲結構的轉換裝置,其中,所述結構相關信息至少包括: 所述鏈表中的待轉換數據的數量; 所述鏈表中的下一可用的位置標識; 所述鏈表的頭部數據的位置標識; 所述鏈表的尾部數據的位置標識。9.根據權利要求7或8所述的數據存儲結構的轉換裝置,其中,所述預定的鏈表信息標識至少包括: 所述鏈表的鏈表標識;可變量標識。10.根據權利要求9所述的數據存儲結構的轉換裝置,其中,該裝置還包括更新模塊: 更新模塊,用于當對任一待更新的數據鍵值對進行更新操作時,對與該待更新的數據鍵值在所述鏈表中左右相鄰的兩個數據對應的數據鍵值對進行相應更新,并對與該待更新的數據鍵值對相關聯的結構鍵值對進行相應更新。
【專利摘要】本發明提供了一種數據存儲結構的轉換方案,包括:提取基于原始鏈表存儲結構的同一鏈表中各個待轉換數據的位置標識以及鏈表的鏈表標識,并將鏈表標識及各個待轉換數據的位置標識分別進行合并,以確定與各個待轉換數據相應的轉換存儲結構中的鍵,隨后將提取到的與各個待轉換數據在鏈表中左右相鄰兩個數據中的位置標識與提取到的各個待轉換數據中的value數據單元分別進行合并,以確定為各個待轉換數據的轉換存儲結構中的值,根據轉換存儲結構,將鍵及值組成的數據鍵值對存儲至鍵值數據庫中。通過本發明,最終可實現一種數據存儲處理效率較高、既支持多種類型的數據存儲結構、又不受物理內存限制的存儲系統。
【IPC分類】G06F17/30
【公開號】CN105389334
【申請號】CN201510674542
【發明人】宋昭, 陳宗志
【申請人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司
【公開日】2016年3月9日
【申請日】2015年10月16日