欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種索引數(shù)據(jù)處理方法及設備的制作方法

文檔序號:6359177閱讀:131來源:國知局
專利名稱:一種索引數(shù)據(jù)處理方法及設備的制作方法
技術(shù)領域
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領域,尤其涉及一種索引數(shù)據(jù)處理方法及設備。
背景技術(shù)
Key-Value數(shù)據(jù)庫提供鍵值對〈Key,Value)的存儲,一般的Key-Value系統(tǒng)僅提供基于Key的操作。對于根據(jù)Value中的屬性進行檢索的應用,需要在Key-value系統(tǒng)的基礎上構(gòu)建適配層來提供結(jié)構(gòu)化的數(shù)據(jù)檢索,通過適配層,將不同Key的Value包含的數(shù)據(jù)模型表格化,即將Value抽象為屬性名稱和屬性值的方式(或者稱為列和值),這樣不同的Key對應的Value可能具有相同的屬性名稱,因此可以為按照屬性名稱進行檢索創(chuàng)造了前提。為了提聞檢索的效率,可以對屬性的值建立索引。
現(xiàn)有技術(shù)中可以采用B+樹或前綴哈希樹的形式來組織索引數(shù)據(jù)。其中,B+樹結(jié)構(gòu)如圖Ia所示,其中內(nèi)部節(jié)點保存范圍的信息,如內(nèi)部節(jié)點I中表示小于等于0110的屬性值在其左邊的子樹中,大于0110的屬性值在其右邊的子樹中;葉子節(jié)點中保存真實的索引數(shù)據(jù)。前綴哈希樹構(gòu)建一個基于字典樹的數(shù)據(jù)結(jié)構(gòu),其原理是利用字符串的公共前綴來組織數(shù)據(jù),以包括O和I的字符集為例的前綴哈希樹如圖Ib所示,每個節(jié)點的前綴為從根到此節(jié)點的字符組成的字符串,中間節(jié)點僅存儲了和子節(jié)點的關系,葉子節(jié)點存儲真實的索引數(shù)據(jù)。然而,無論是B+樹還是前綴哈希樹的索引數(shù)據(jù)組織形式,對于每一個需要建立索引的屬性信息,都需要單獨組織一顆B+樹或前綴哈希樹結(jié)構(gòu)來存儲該屬性的索引數(shù)據(jù),同時樹中的每一個節(jié)點對應Key-Value數(shù)據(jù)庫中的一個鍵值對,因此,在當對索引數(shù)據(jù)進行相關數(shù)據(jù)操作時,例如定位或增加或刪除某一索引數(shù)據(jù),都需要先從眾多B+樹或前綴哈希樹中確定該索引數(shù)據(jù)的屬性信息所對應的B+樹或前綴哈希樹,然后再從最上級的內(nèi)部節(jié)點或中間節(jié)點向下遍歷,直到它到達一個葉子節(jié)點。因此,基于現(xiàn)有技術(shù)中的索引數(shù)據(jù)組織形式,在對索引數(shù)據(jù)進行處理時,均需要與Key-Value系統(tǒng)進行多次交互,效率較低。

發(fā)明內(nèi)容
本發(fā)明實施例提供一種索引數(shù)據(jù)處理方法及設備,能夠在對索引數(shù)據(jù)進行處理時,減少與Key-Value系統(tǒng)的交互,提高效率。為了解決上述技術(shù)問題,本發(fā)明實施例的技術(shù)方案如下一種索引數(shù)據(jù)處理方法,至少一種屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,所述索引結(jié)構(gòu)包括一頭索引和至少一塊索引,所述至少一塊索引的索引存儲在所述頭索引中,所述至少一塊索引的索引包括存儲在所述塊索引中的索引數(shù)據(jù)的屬性信息,所述方法包括接收對指定索引數(shù)據(jù)的處理指令,所述處理指令中包括指定索引數(shù)據(jù)的屬性信息;若根據(jù)所述索引結(jié)構(gòu)中的頭索引和所述指定索引數(shù)據(jù)的屬性信息能確定一塊索引的索引,則根據(jù)所述塊索引的索引定位所述塊索引,并對所述塊索引中匹配所述索引數(shù)據(jù)的數(shù)據(jù)項進行處理。一種索引數(shù)據(jù)處理設備,至少一種屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,所述索引結(jié)構(gòu)包括一頭索引和至少一塊索引,所述至少一塊索引的索引存儲在所述頭索引中,所述至少一塊索引的索引包括存儲在所述塊索引中的索引數(shù)據(jù)的屬性信息,所述設備包括指令接收模塊,用于接收對指定索引數(shù)據(jù)的處理指令,所述處理指令中包括指定索引數(shù)據(jù)的屬性信息;數(shù)據(jù)處理模塊,用于當根據(jù)所述索引結(jié)構(gòu)中的頭索引和所述指定索引數(shù)據(jù)的屬性信息能確定一塊索引的索引時,根據(jù)所述塊索引的索引定位所述塊索引,并對所述塊索引中匹配所述索弓I數(shù)據(jù)的數(shù)據(jù)項進行處理。本發(fā)明實施例通過將具有不同屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,使得 數(shù)據(jù)存儲更為緊湊,從而一次Key-Value訪問可以獲取或者更新更多的數(shù)據(jù),所以可以減少數(shù)據(jù)處理時與Key-Value系統(tǒng)之間的交互,從而提高了索引建立和查詢的性能。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖Ia是現(xiàn)有技術(shù)中索引數(shù)據(jù)以B+樹結(jié)構(gòu)形式組織的示意圖;圖Ib是現(xiàn)有技術(shù)中索引數(shù)據(jù)以前綴哈希樹形式組織的示意圖;圖2是本發(fā)明實施例一種索引數(shù)據(jù)處理方法的流程圖;圖3是圖2所示實施例中索引結(jié)構(gòu)的示意圖;圖4a是一種索引結(jié)構(gòu)的示意圖;圖4b是本發(fā)明實施例另一種索引數(shù)據(jù)處理方法的流程圖;圖5是本發(fā)明實施例一種刪除索引數(shù)據(jù)的流程圖;圖6是圖5所示實施例中索引結(jié)構(gòu)的示意圖;圖7是本發(fā)明另一實施例中塊索引的結(jié)構(gòu)示意圖;圖8是本發(fā)明實施例一種增加索引數(shù)據(jù)的流程圖;圖9是本發(fā)明另一實施例索引結(jié)構(gòu)的示意圖;圖10是本發(fā)明實施例一種索引數(shù)據(jù)處理設備的結(jié)構(gòu)示意圖;圖11是本發(fā)明實施例另一種索引數(shù)據(jù)處理設備的結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
參見圖2,為本發(fā)明實施例一種索引數(shù)據(jù)處理方法的流程圖。本實施例中,至少一種屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,如圖3所示,該索引結(jié)構(gòu)包括一頭索引(head index) 31和至少一塊索引(block index)32,該塊索引32可以用于存儲數(shù)據(jù)項數(shù)量較大的索引數(shù)據(jù),該至少一塊索引的索引(block indexreference) 33存儲在頭索引31中,至少一塊索引的索引33包括存儲在塊索引32中的索引數(shù)據(jù)的屬性信息。 基于上述索引結(jié)構(gòu),當指定一索引數(shù)據(jù)時,對該索引數(shù)據(jù)的處理方法可以包括步驟201,接收對指定索引數(shù)據(jù)的處理指令,該處理指令中包括指定索引數(shù)據(jù)的屬
性信息。本發(fā)明實施例中所有的實施方法可以由PC機等終端或服務器執(zhí)行,該索引結(jié)構(gòu)可以存儲在PC機等終端或服務器的內(nèi)部或外部的數(shù)據(jù)庫中。其中,索引數(shù)據(jù)中可以包括屬性名稱(attr)、屬性值(value)等屬性信息,還包括具體的數(shù)據(jù)項(item),例如〈Attrn, Valuen, Itemn〉。步驟202,若根據(jù)索引結(jié)構(gòu)中的頭索引和指定索引數(shù)據(jù)的屬性信息能確定一塊索引的索引,則根據(jù)塊索弓丨的索引定位塊索引,并對塊索引中匹配索引數(shù)據(jù)的數(shù)據(jù)項進行處理。PC機等終端或服務器查找頭索引31中存儲的塊索引的索引33中的屬性信息,如果其中包括指定索引數(shù)據(jù)的屬性信息,則可定位塊索引32,進而可以對該塊索引32中與該指定索引數(shù)據(jù)匹配的索引數(shù)據(jù)的數(shù)據(jù)項進行處理。在本發(fā)明的另一實施例中,該索引結(jié)構(gòu)可以包括至少一個存儲單元,在存儲單元中,如圖4a所示,除了可以包括塊索引41外,還可以包括至少一分段索引(segmentindex) 42,用于存儲數(shù)據(jù)項數(shù)量較小的索引數(shù)據(jù),頭索引43中存儲有塊索引的索引44和分段索引的索引(segment index reference) 45,分段索引的索引45包括存儲在分段索引42中的索引數(shù)據(jù)的屬性信息。索引數(shù)據(jù)根據(jù)各自數(shù)據(jù)項數(shù)量的多少,分配在塊索引41和分段索引(segment index) 42中存儲,例如當索引數(shù)據(jù)的數(shù)據(jù)項數(shù)量大于一個預設值時,可以將該索引數(shù)據(jù)存儲在塊索引41中,當小于該預設值時,可以將索引數(shù)據(jù)存儲在分段索引42中,其中,塊索引41和分段索引42可以用于區(qū)分存儲索引數(shù)據(jù),當然,在另一實施例中索引數(shù)據(jù)也可以根據(jù)其他信息,例如索引數(shù)據(jù)的屬性信息等,分配在塊索引和分段索引中存儲。本發(fā)明實施例中該屬性信息可以包括屬性名稱及屬性值等。當然,在另一實施例中,該索引結(jié)構(gòu)中也可以只包括其中的分段索引。需要說明的是,本發(fā)明所有實施例中的存儲單元可以是一種計算機可讀存儲介質(zhì),也可以是一種數(shù)據(jù)庫系統(tǒng),該數(shù)據(jù)庫系統(tǒng)可以是分布式的數(shù)據(jù)庫系統(tǒng)。上述索引結(jié)構(gòu)可以是存儲在上述計算機可讀存儲介質(zhì)或數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu)。若根據(jù)該索引結(jié)構(gòu)中的頭索引和指定索引數(shù)據(jù)的屬性信息能確定一分段索引的索引,則根據(jù)分段索引的索引定位分段索引,并對分段索引中匹配索引數(shù)據(jù)的數(shù)據(jù)項進行處理。具體的,PC機等終端或服務器查找頭索引中存儲的分段索引的索引中的屬性信息,如果其中包括指定索引數(shù)據(jù)的屬性信息,則可定位分段索引,進而可以對該分段索引中與該指定索引數(shù)據(jù)匹配的索引數(shù)據(jù)的數(shù)據(jù)項進行處理。在確定指定索引數(shù)據(jù)的屬性信息位于分段索引的索引還是塊索引的索引時,該確定過程可以是先查找塊索引的索引44中是否存在指定索引數(shù)據(jù)的屬性信息;若是,則確定該指定索引數(shù)據(jù)的屬性信息屬于塊索引的索引44 ;若否,則確定指定索引數(shù)據(jù)的屬性信息屬于分段索引的索引45。當然,也可以先查找分段索引的索引45是否存在指定索引數(shù)據(jù)的屬性信息。本發(fā)明實施例通過將具有不同屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,使得數(shù)據(jù)存儲更為緊湊,從而一次Key-Value訪問可以獲取或者更新更多的數(shù)據(jù),所以可以減少數(shù)據(jù)處理時與Key-Value系統(tǒng)之間的交互,從而提高了索引建立和查詢的性能。參見圖4b,為本發(fā)明實施例另一種索引數(shù)據(jù)處理方法的流程圖。本實施例中,基于圖4a所示的索引結(jié)構(gòu),當指定一索引數(shù)據(jù)時,對該索引數(shù)據(jù)的處理方法可以包括 步驟401,接收對指定索引數(shù)據(jù)的處理指令,該處理指令中包括指定索引數(shù)據(jù)的屬
性信息。本發(fā)明實施例中所有的實施方法可以由PC機等終端或服務器執(zhí)行。該索引結(jié)構(gòu)可以存儲在PC機等終端或服務器的內(nèi)部數(shù)據(jù)庫,或存儲在獨立于PC機等終端或服務器的外部數(shù)據(jù)庫中。步驟402,確定指定索引數(shù)據(jù)的屬性信息位于頭索引中分段索引的索引還是塊索引的索引。本發(fā)明實施例中,索引數(shù)據(jù)中可以包括屬性名稱(attr)、屬性值(value)等屬性信息,還包括具體的數(shù)據(jù)項(item),例如〈Attrn, Valuen, Itemn〉。當給出一指定索引數(shù)據(jù)時,首先可以根據(jù)其屬性信息,確定該指定索引數(shù)據(jù)的屬性信息是屬于頭索引43中的塊索引的索引44還是分段索引的索引45。該確定過程可以是先查找塊索引的索引44中是否存在指定索引數(shù)據(jù)的屬性信息;若是,則確定該指定索引數(shù)據(jù)的屬性信息屬于塊索引的索引44 ;若否,則確定指定索引數(shù)據(jù)的屬性信息屬于分段索引的索引45。當然,也可以先查找分段索引的索引45是否存在指定索引數(shù)據(jù)的屬性信息。若該指定索引數(shù)據(jù)的屬性信息屬于塊索引的索引44,則執(zhí)行步驟403 ;若該指定索引數(shù)據(jù)的屬性信息屬于分段索引的索引45,則執(zhí)行步驟404。步驟403,在塊索引中,根據(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ù)項中,定位指定索引數(shù)據(jù)的數(shù)據(jù)項;或者,在匹配索引數(shù)據(jù)的數(shù)據(jù)項中,刪除指定索引數(shù)據(jù)的數(shù)據(jù)項;或者,在匹配索引數(shù)據(jù)的數(shù)據(jù)項中,增加指定索引數(shù)據(jù)的數(shù)據(jù)項。在經(jīng)過上述數(shù)據(jù)處理后,還可以進一步對處理后的塊索引中的索引數(shù)據(jù)進行刪除,或合并,或劃分,或遷移等處理。步驟404,在分段索引中,根據(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ù)項中,定位指定索引數(shù)據(jù)的數(shù)據(jù)項;或者,在匹配索引數(shù)據(jù)的數(shù)據(jù)項中,刪除指定索引數(shù)據(jù)的數(shù)據(jù)項;或者,在匹配索引數(shù)據(jù)的數(shù)據(jù)項中,增加指定索引數(shù)據(jù)的數(shù)據(jù)項。在經(jīng)過上述數(shù)據(jù)處理后,還可以進一步對處理后的分段索引中的索引數(shù)據(jù)進行刪除,或合并,或劃分,或遷移等處理。在另一實施例中,如果索引結(jié)構(gòu)為圖3所示的結(jié)構(gòu),即其中只包括塊索引,則在進行索引數(shù)據(jù)的處理時,可以在接收到對指定索引數(shù)據(jù)的處理指令后,查找頭索引中存儲的塊索引的索引中的屬性信息,如果其中包括指定索引數(shù)據(jù)的屬性信息,則可定位塊索引,進而可以對該塊索引中與該指定索引數(shù)據(jù)匹配的索引數(shù)據(jù)的數(shù)據(jù)項進行處理,例如,定位、刪 除、增加等。本發(fā)明實施例通過將具有不同屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,使得數(shù)據(jù)存儲更為緊湊,從而一次Key-Value訪問可以獲取或者更新更多的數(shù)據(jù),所以可以減少數(shù)據(jù)處理時與Key-Value系統(tǒng)之間的交互,從而提高了索引建立和查詢的性能。參見圖5,為本發(fā)明實施例一種刪除索引數(shù)據(jù)的流程圖。本實施例中,對索引數(shù)據(jù)進行的處理以刪除一指定的索引數(shù)據(jù)為例進行說明。其中,多個屬性的索引數(shù)據(jù)仍以圖4a所示的組織形式進行存儲,更具體的,如圖6所示,分段索引42中包括至少一個分段索引單元,以分段索引單元421、422為例,分段索引單元421、422并列存儲,每個分段索引單元中包含多個索引數(shù)據(jù),其中的索引數(shù)據(jù)可以按照屬性信息進行排序,具體過程可以是,先將分段索引42中的索引數(shù)據(jù)按照屬性信息進行排序,然后再劃分為多個分段索引單元,按屬性信息進行排序的過程可以是通過比較不同的屬性名稱和屬性值進行排序,具體的排序方法如下,以(Attrl,Valuel),(Attr2,Value2)兩個屬性信息對為例,首先判斷Attrl是否大于Attr2,如果不相等,則兩個屬性信息對的大小和Attrl和Attr2的次序相同,否則兩個屬性信息對的大小和Valuel和Value2的大小次序相同。塊索引41中具有相同屬性信息的索引數(shù)據(jù)的數(shù)據(jù)項劃分為至少一個分段單元,且分段單元之間鏈式連接形成分段單元鏈,例如分段單元鏈411、412,分段單元鏈的相鄰兩分段單元中,上一分段單元存儲有下一分段單元的訪問信息,如key值等。在另一實施例中,如圖7所示,該塊索引41中,對具有相同屬性信息的索引數(shù)據(jù)的數(shù)據(jù)項所劃分的至少一個分段單元之間還可以并列存儲,塊索引41中還存儲有各分段單兀的分段信息,例如分段信息413。該刪除指定索引數(shù)據(jù)的方法可以包括步驟501,判斷該指定索引數(shù)據(jù)的屬性信息是否位于塊索引的索引中。在PC機等終端或服務器接收對指定索引數(shù)據(jù)的處理指令后,在本步驟中,可以首先查看塊索引的索引44中的屬性信息是否包含指定索引數(shù)據(jù)的屬性信息(Attrn,Valuen),如果否,則說明分段索引的索引45中包含該指定索引數(shù)據(jù)的屬性信息,也即分段索引42中存儲有該指定索引數(shù)據(jù),執(zhí)行步驟502 506 ;若是,則說明塊索引41中存儲有該指定索引數(shù)據(jù),執(zhí)行步驟507 509。步驟502,在分段索引的匹配索引數(shù)據(jù)的數(shù)據(jù)項中,刪除該指定索引數(shù)據(jù)的數(shù)據(jù)項。該匹配索引數(shù)據(jù)具有與指定索引數(shù)據(jù)相同的屬性信息(Attrn,Valuen),可以首先在分段索引的索引45中查找該屬性信息(Attrn,Valuen),以確定該匹配索引數(shù)據(jù)所在的分段索引單元,例如分段索引 單元421,在確定分段索引單元421中的匹配索引數(shù)據(jù)后,將指定索引數(shù)據(jù)的數(shù)據(jù)項Itemn從匹配索引數(shù)據(jù)的數(shù)據(jù)項中刪除。步驟503,判斷刪除數(shù)據(jù)項后的匹配索引數(shù)據(jù)的數(shù)據(jù)項數(shù)量是否為O。如果該匹配索引數(shù)據(jù)中的數(shù)據(jù)項完全等同于指定索引數(shù)據(jù)的數(shù)據(jù)項,則刪除該數(shù)據(jù)項后,該匹配索引數(shù)據(jù)的數(shù)據(jù)項即為O個,此時需要執(zhí)行步驟504。步驟504,在分段索引單元中刪除該匹配索引數(shù)據(jù)。若刪除數(shù)據(jù)項后,匹配索引數(shù)據(jù)的數(shù)據(jù)項為0,則可直接在分段索引單元421中刪除該匹配索引數(shù)據(jù)。之后,還可以對分段索引單元421執(zhí)行后續(xù)步驟505。步驟505,若該分段索引單元中的索引數(shù)據(jù)為空,則刪除該分段索引單元。刪除匹配索引數(shù)據(jù)后,判斷該分段索引單元421中是否還存在索引數(shù)據(jù),若不存在,則可以直接將該分段索引單元421刪除,并修改分段索引的索引45。進一步,還可以執(zhí)行步驟506。步驟506,若分段索引中不存在索引數(shù)據(jù),則將該分段索引的索引從頭索引中刪除。刪除上述分段索引單元421后,判斷該分段索引42中是否還存在索引數(shù)據(jù),如果不存在,也即不存在任何分段索引單元,則可進一步將該分段索引42刪除,并將分段索引的索引45從其所在的頭索引43中刪除。在另一實施例中,在執(zhí)行上述刪除操作后,如果相鄰兩分段索引單元中索引數(shù)據(jù)的數(shù)量和小于閾值a(第一閾值)時,還可以將該相鄰兩分段索引單元進行合并,即合并為一個分段索引單元,并可進一步修改分段索引的索引。其中,閾值a可以根據(jù)索引結(jié)構(gòu)的具體情況設定,此處不作限定。步驟507,在塊索引中,在匹配索引數(shù)據(jù)的數(shù)據(jù)項中,刪除指定索引數(shù)據(jù)的數(shù)據(jù)項。如果在步驟501中判斷的結(jié)果是該指定索引數(shù)據(jù)的屬性信息位于塊索引的索引44中,則說明該指定索引數(shù)據(jù)位于塊索引41中,則進一步確定塊索引41中與該指定索引數(shù)據(jù)的屬性信息相同的匹配索引數(shù)據(jù),在匹配索引數(shù)據(jù)的數(shù)據(jù)項中刪除該指定索引數(shù)據(jù)的數(shù)據(jù)項。在本實施例中,以塊索引41中的分段單元之間鏈式連接為例進行說明,如圖6所示,可以首先根據(jù)指定索引數(shù)據(jù)的屬性信息(Attrn,Valuen),確定該匹配索引數(shù)據(jù)所在的分段單元鏈411,再確定需要刪除的數(shù)據(jù)項所在的分段單元,假設為分段單元411a,然后在確定的分段單元411a中刪除該指定索引數(shù)據(jù)的數(shù)據(jù)項Itemn。進一步執(zhí)行步驟508。在另一實施例中,如果塊索引41中的分段單元為并列存儲,如圖7所示,則可以首先根據(jù)指定索引數(shù)據(jù)的屬性信息確定該匹配索引數(shù)據(jù)所屬的分段信息,假設為分段信息413,進一步在確定的分段信息413對應的分段單元中,確定該需要刪除的數(shù)據(jù)項所在的分段單元413a,然后在確定的分段單元413a中刪除該指定索引數(shù)據(jù)的數(shù)據(jù)項,并更新該分段信息413。步驟508,判斷塊索引中,指定索引數(shù)據(jù)的數(shù)據(jù)項所在的分段單元是否為空。
在上述分段單元411a中刪除數(shù)據(jù)項Itemn后,如果該分段單元411a中不存在其它數(shù)據(jù)項,則執(zhí)行步驟509。步驟509,將該空的分段單元從其所在的分段單元鏈中刪除。刪除該分段單元411a后,還可以重新建立分段單元鏈,只需要將原分段單元鏈411中分段單元411a的上一分段單元中的訪問信息修改為對該分段單元411a的下一分段單元的訪問信息即可。在另一實施例中,如果塊索引41中的分段單元為并列存儲,則若刪除數(shù)據(jù)項Itemn后,該數(shù)據(jù)項所在的分段單元413a為空,則可以直接將該分段單元413a刪除,并更新其對應的分段信息413。在步驟508后,在另一實施例中,如果該數(shù)據(jù)項Itemn所在的分段單元中的數(shù)據(jù)項數(shù)量不為0,而且,如果在塊索引41中,該匹配索引數(shù)據(jù)的數(shù)據(jù)項只劃分為一個分段單 元,則無論塊索引41中的分段單元以鏈式形式存儲,還是以分段式并列存儲,在刪除數(shù)據(jù)項Itemn后,均可以判斷該數(shù)據(jù)項所在的分段單元中的數(shù)據(jù)項數(shù)量是否小于閾值b (第五閾值)且不為O (該閾值b可以根據(jù)索引結(jié)構(gòu)進行設置,此處不作具體限定),若是,則將刪除數(shù)據(jù)項后的匹配索引數(shù)據(jù)從塊索引41遷移至分段索引42中,并更新頭索引43中分段索引的索引45以及塊索引的索引44。進一步的,在該刪除數(shù)據(jù)項的匹配索引數(shù)據(jù)遷移至分段索引42后,可以將該刪除數(shù)據(jù)項的匹配索引數(shù)據(jù)增加至某一分段索引單元中,也可以另外增設一分段索引單元來存儲該刪除數(shù)據(jù)項的匹配索引數(shù)據(jù)。在步驟508后,在另一實施例中,如果該數(shù)據(jù)項Itemn所在的分段單元中的數(shù)據(jù)項數(shù)量不為0,對于塊索引41中分段單元以鏈式存儲的方式,當刪除該數(shù)據(jù)項后,如果其所在的分段單元鏈411中,相鄰兩分段單元中數(shù)據(jù)項的數(shù)量和小于閾值c(第四閾值),則將相鄰兩分段單元合并,還可以進一步更新該分段單元鏈411中各分段單元中的訪問信息,其中,該閾值c可以根據(jù)該索引結(jié)構(gòu)進行設置,具體不作限定。對于塊索引41中分段單元并列存儲的方式,當刪除該數(shù)據(jù)項后,如果相鄰兩分段單元的數(shù)據(jù)項的數(shù)量和小于閾值C,則將該相鄰兩分段單元進行合并,并更新對應的分段信息413,其中,閾值c可以根據(jù)該索引結(jié)構(gòu)進行設置,具體不作限定。在另一實施例中,如果索引結(jié)構(gòu)為圖3所示的結(jié)構(gòu),即其中只包括塊索引,則在進行索引數(shù)據(jù)的刪除操作時,可以在接收到對指定索引數(shù)據(jù)的處理指令后,查找頭索引中存儲的塊索引的索引中的屬性信息,如果其中包括指定索引數(shù)據(jù)的屬性信息,則可定位塊索弓丨,進而可以對該塊索引中與該指定索引數(shù)據(jù)匹配的索引數(shù)據(jù)的數(shù)據(jù)項進行刪除。本發(fā)明實施例通過將具有不同屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,使得數(shù)據(jù)存儲更為緊湊,從而在執(zhí)行索引數(shù)據(jù)的刪除操作時,可以減少與Key-Value系統(tǒng)之間的交互,從而提高了索引建立和查詢的性能。參見圖8,為本發(fā)明實施例一種增加索引數(shù)據(jù)的流程圖。本實施例中,對索引數(shù)據(jù)進行的處理以增加一指定的索引數(shù)據(jù)為例進行說明。其中,多個屬性的索引數(shù)據(jù)仍以圖4a所示的組織形式進行存儲,具體的塊索引41和分段索引42中的索引數(shù)據(jù)仍以圖6、7所示的方式存儲。該增加指定索引數(shù)據(jù)的方法可以包括步驟801,判斷該指定索引數(shù)據(jù)的屬性信息是否位于塊索引的索引中。
本步驟中,可以首先查看塊索引的索引44中的屬性信息是否包含指定索引數(shù)據(jù)的屬性信息(Attrn,Valuen),如果否,則說明分段索引的索引45中包含該指定索引數(shù)據(jù)的屬性信息,也即該指定索引數(shù)據(jù)需要增加至分段索引42中,執(zhí)行步驟802 803 ;若是,則說明塊索引的索引44中包含該指定索引數(shù)據(jù)的屬性信息,也即該指定索引數(shù)據(jù)需要增加至塊索引41中,執(zhí)行步驟804 806。步驟802,在分段索引的匹配索引數(shù)據(jù)的數(shù)據(jù)項中,增加該指定索引數(shù)據(jù)的數(shù)據(jù)項。該匹配索引數(shù)據(jù)具有與指定索引數(shù)據(jù)相同的屬性信息(Attrn,Valuen),可以首先在分段索引的索引45中查找該屬性信息(Attrn,Valuen),以確定該匹配索引數(shù)據(jù)所在的分段索引單元,例如分段索引單元421,在確定分段索引單元421中的匹配索引數(shù)據(jù)后,將指定索引數(shù)據(jù)的數(shù)據(jù)項Itemn增加至匹配索引數(shù)據(jù)的數(shù)據(jù)項中。803,判斷增加數(shù)據(jù)項后的匹配索引數(shù)據(jù)的數(shù)據(jù)項的數(shù)量是否大于閾值d。 其中,閾值d (第二閾值)用于劃分索引數(shù)據(jù)適于存儲于分段索引還是塊索引,其具體數(shù)值可以根據(jù)索引結(jié)構(gòu)進行設置,具體不作限定。若增加數(shù)據(jù)項后的匹配索引數(shù)據(jù)中,數(shù)據(jù)項數(shù)量超過該閾值d,則執(zhí)行步驟8031,若否,不超過該閾值d,則執(zhí)行步驟8032。步驟8031,將增加數(shù)據(jù)項后的匹配索引數(shù)據(jù)從分段索引遷移至塊索引中,并更新頭索引中分段索引的索引以及塊索引的索引。首先,將該匹配索引數(shù)據(jù)從分段索引42的分段索引單元421中刪除,修改該分段索引的索引45,然后將該增加數(shù)據(jù)項的匹配索引數(shù)據(jù)增加至塊索引中。在增加至塊索引41時,首先根據(jù)預設的分段單元的數(shù)據(jù)項數(shù)量,將該增加數(shù)據(jù)項的匹配索引數(shù)據(jù)劃分為一個或多個分段單元,如果該塊索引41中的分段單元以鏈式方式存儲,則建立該分段單元間的鏈式連接,即增加各分段單元的訪問信息,創(chuàng)建分段單元鏈進行存儲,并修改該塊索引的索引44 ;如果該塊索引41中的分段單元以并列方式存儲,則將劃分后的分段單元并列存儲,并在塊索引41中增設該匹配索引數(shù)據(jù)對應的分段信息,并修改該塊索引的索引44。步驟8032,判斷增加數(shù)據(jù)項后的匹配索引數(shù)據(jù)所在的分段索引單元的大小是否大于閾值e,若是,則將該分段索引單元劃分為兩個新的分段索引單元。該閾值e (第三閾值)用于確定分段索引單元的大小,如果存儲在該分段索引單元中的索引數(shù)據(jù)大于該閾值e,則需要將該分段索引單元進行劃分,否則無需劃分。該閾值e可以根據(jù)索引結(jié)構(gòu)進行設置,具體數(shù)值,此處不作限定。在增加數(shù)據(jù)項后,如果該匹配索引數(shù)據(jù)所在的分段索引單元421內(nèi)的數(shù)據(jù)過多,占據(jù)空間過大,超過閾值e,則需要將該分段索引單元421重新劃分為兩個新的分段索引單元來替代原分段索引單元421,劃分后,還可進一步更新該分段索引的索引45。步驟804,在塊索引中,在匹配索引數(shù)據(jù)的數(shù)據(jù)項中,增加指定索引數(shù)據(jù)的數(shù)據(jù)項。如果在步驟801中判斷的結(jié)果是該指定索引數(shù)據(jù)的屬性信息位于塊索引的索引44中,則說明需要將該指定索引數(shù)據(jù)增加至塊索引41中,則進一步確定塊索引41中與該指定索引數(shù)據(jù)的屬性信息相同的匹配索引數(shù)據(jù),在匹配索引數(shù)據(jù)的數(shù)據(jù)項中增加該指定索引數(shù)據(jù)的數(shù)據(jù)項。
在本實施例中,以塊索引41中的分段單元之間鏈式連接為例進行說明,如圖6所示,首先根據(jù)指定索引數(shù)據(jù)的屬性信息(Attrn,Valuen),確定該匹配索引數(shù)據(jù)所在的分段單元鏈411,再確定需要增加的數(shù)據(jù)項所在的分段單元,假設為分段單元411a,然后在確定的分段單元411a中增加該指定索引數(shù)據(jù)的數(shù)據(jù)項Itemn。進一步執(zhí)行步驟805。在另一實施例中,如果塊索引41中的分段單元為并列存儲,如圖7所示,則可以首先根據(jù)指定索引數(shù)據(jù)的屬性信息確定該匹配索引數(shù)據(jù)所屬的分段信息,假設為分段信息413,進一步在確定的分段信息413對應的分段單元中,確定該需要增加的數(shù)據(jù)項所在的分段單元413a,然后在確定的分段單元413a中增加該指定索引數(shù)據(jù)的數(shù)據(jù)項,并更新該分段信息413。步驟805,判斷指定索引數(shù)據(jù)的數(shù)據(jù)項所在的分段單元中,數(shù)據(jù)項的數(shù)量是否超過閾值f。在分段單元411a中增加數(shù)據(jù)項Itemn后,判斷該分段單元411a中的數(shù)據(jù)項數(shù)量是否超過閾值f (第六閾值),若超過,則執(zhí)行步驟806,若不超過,則增加數(shù)據(jù)項操作結(jié)束。 該閾值f用于確定分段單元的大小,如果存儲在該分段單元中的數(shù)據(jù)項大于該閾值f,則需要將該分段單元進行劃分,否則無需劃分。該閾值f可以根據(jù)索引結(jié)構(gòu)進行設置,具體數(shù)值,此處不作限定。步驟806,將指定索引數(shù)據(jù)的數(shù)據(jù)項所在的分段單元劃分為兩個新的分段單元,并更新所在的分段單元鏈中分段單元之間的訪問信息。在本步驟中,需要將分段單元411a劃分為兩個新的分段單元,然后將兩個新的分段單元替換分段單元鏈411中的分段單元411a,并更新該分段單元鏈411中各分段單元的訪問信息。在另一實施例中,如果該塊索引41中的分段單元以并列方式存儲,則增加數(shù)據(jù)項Itemn后的分段單元413a,如果其數(shù)據(jù)項的數(shù)量超過閾值f,則將該增加數(shù)據(jù)項后的分段單元413a劃分為兩個新的分段單元來替代原分段單元413a,兩個新的分段單元并列存儲,并更新塊索引41中的分段信息413。在另一實施例中,如果索引結(jié)構(gòu)為圖3所示的結(jié)構(gòu),即其中只包括塊索引,則在進行索引數(shù)據(jù)的增加操作時,可以在接收到對指定索引數(shù)據(jù)的處理指令后,查找頭索引中存儲的塊索引的索引中的屬性信息,如果其中包括指定索引數(shù)據(jù)的屬性信息,則可定位塊索弓丨,進而可以在該塊索引中與該指定索引數(shù)據(jù)匹配的索引數(shù)據(jù)里增加指定索引數(shù)據(jù)的數(shù)據(jù)項。本發(fā)明實施例通過將具有不同屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,使得數(shù)據(jù)存儲更為緊湊,從而在執(zhí)行索引數(shù)據(jù)的增加操作時,可以減少與Key-Value系統(tǒng)之間的交互,從而提高了索引建立和查詢的性能。本發(fā)明實施例中,基于上述索引結(jié)構(gòu),在進行數(shù)據(jù)處理后,對于塊索引中的任何分段單元或索引數(shù)據(jù)均可執(zhí)行以下操作當分段單元中的數(shù)據(jù)項為空時,刪除該分段單元;當相鄰兩分段單元中數(shù)據(jù)項的數(shù)量和小于第四閾值時,將所述相鄰兩分段單元合并;當索引數(shù)據(jù)的數(shù)據(jù)項只劃分為一個分段單元時,若該分段單元中的數(shù)據(jù)項數(shù)量小于第五閾值,則將該索引數(shù)據(jù)從塊索引遷移至分段索引中;當分段單元中數(shù)據(jù)項的數(shù)量大于第六閾值時,將該分段單元劃分為兩個新的分段單元。
本發(fā)明實施例中,基于上述索引結(jié)構(gòu),在進行數(shù)據(jù)處理后,對于分段索引中的任何分段索引單元或索引數(shù)據(jù)均可執(zhí)行以下操作當分段索引單元中的索引數(shù)據(jù)為O時,刪除該分段索引單元;當相鄰兩分段索引單元中索引數(shù)據(jù)的數(shù)量和小于第一閾值時,將所述相鄰兩分段索引單元進行合并;當分段索引單元中索引數(shù)據(jù)的數(shù)據(jù)項數(shù)量超過第二閾值時,將該索引數(shù)據(jù)從其所在的分段索引單元遷移至塊索引中;當分段索引單元的大小大于第三閾值時,將該分段索引單元劃分為兩個新的分段索引單元。在本發(fā)明的另一實施例中,該索引結(jié)構(gòu)被存儲在多個如圖4a所示的存儲單元中,該索引結(jié)構(gòu)中還包括多個存儲單元的存儲信息,具體的如圖9所示,各存儲單元91之間可以并列存儲,該索引結(jié)構(gòu)中還可以包括各存儲單元的存儲信息92,存儲信息92與其下級存儲單元91之間形成級聯(lián)結(jié)構(gòu),該存儲信息91可以是各存儲單元的存儲數(shù)據(jù)的屬性信息等,該存儲信息92用于在確定指定索引數(shù)據(jù)位置時,首先根據(jù)指定索引數(shù)據(jù)的屬性信息查找各存儲單元91的存儲信息92,以確定指定索引數(shù)據(jù)所在存儲單元91,然后再在確定的存儲單元91中根據(jù)前述實施例的方法進行數(shù)據(jù)處理。而且,當存儲信息92為多個時,存儲信息92之間可以并列存儲,并與其上一級的索引節(jié)點93形成級聯(lián)結(jié)構(gòu),該索引節(jié)點93中可以 包括其下級存儲信息92的索引信息,例如存儲信息92中的屬性信息等,該索引結(jié)構(gòu)還可以是由包括存儲單元91、存儲信息92、索引節(jié)點93在內(nèi)的多級節(jié)點形成的大規(guī)模級聯(lián)結(jié)構(gòu)?;谠撍饕Y(jié)構(gòu),在進行數(shù)據(jù)處理時,如定位、刪除、增加數(shù)據(jù)等,在根據(jù)該數(shù)據(jù)的屬性信息等確定該數(shù)據(jù)處理所針對的存儲單元后,即可基于該存儲單元執(zhí)行與前述實施例類似的步驟,進行數(shù)據(jù)處理,此處不再重復描述。以上是對本發(fā)明方法實施例的描述,下面對實現(xiàn)上述方法的設備進行介紹。參見圖10,為本發(fā)明實施例一種索引數(shù)據(jù)處理設備的結(jié)構(gòu)示意圖。本實施例中,至少一種屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,該索引結(jié)構(gòu)包括一頭索引和至少一塊索引,所述至少一塊索引的索引存儲在所述頭索引中,所述至少一塊索引的索引包括存儲在所述塊索引中的索引數(shù)據(jù)的屬性信息。上述索引結(jié)構(gòu)可以存儲在PC機等終端或服務器的內(nèi)部或外部的數(shù)據(jù)庫中?;谏鲜鏊饕Y(jié)構(gòu),該設備可以包括指令接收模塊1001,用于接收對指定索引數(shù)據(jù)的處理指令,所述處理指令中包括指定索引數(shù)據(jù)的屬性信息。數(shù)據(jù)處理模塊1002,用于當根據(jù)所述索引結(jié)構(gòu)中的頭索引和所述指定索引數(shù)據(jù)的屬性信息能確定一塊索引的索引時,根據(jù)所述塊索引的索引定位所述塊索引,并對所述塊索引中匹配所述索引數(shù)據(jù)的數(shù)據(jù)項進行處理。指令接收模塊1001接收到指定索引數(shù)據(jù)的指令后,由數(shù)據(jù)處理模塊1002根據(jù)指定索引數(shù)據(jù)的屬性信息,對指定索引數(shù)據(jù)所在的位置進行定位,然后對其中與指定索引數(shù)據(jù)匹配的索引數(shù)據(jù)的數(shù)據(jù)項進行數(shù)據(jù)處理,。該數(shù)據(jù)處理可以是定位、刪除、增加指定索引數(shù)據(jù)的數(shù)據(jù)項等,其具體操作請參見前述圖5 8對應的實施例。在另一實施例中,該索引結(jié)構(gòu)也還可以包括至少一分段索引,該至少一分段索引的索引存儲在所述頭索引中,至少一分段索引的索引包括存儲在分段索引中的索引數(shù)據(jù)的屬性信息,數(shù)據(jù)處理模塊,還可以用于當根據(jù)索引結(jié)構(gòu)中的頭索引和指定索引數(shù)據(jù)的屬性信息能確定一分段索引的索引時,根據(jù)分段索引的索引定位分段索引,并對分段索引中匹配索引數(shù)據(jù)的數(shù)據(jù)項進行處理,該索引結(jié)構(gòu)可以才采用如圖3或圖4a或圖9中的形式等。
本發(fā)明實施例通過將具有不同屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,使得數(shù)據(jù)存儲更為緊湊,從而通過上述模塊可以在一次Key-Value訪問中獲取或者更新更多的數(shù)據(jù),所以可以減少數(shù)據(jù)處理時與Key-Value系統(tǒng)之間的交互,從而提高了索引建立和查詢的性能。參見圖11,為本發(fā)明實施例另一種索引數(shù)據(jù)處理設備的結(jié)構(gòu)示意圖。本發(fā)明實施例的索引結(jié)構(gòu)中,分段索引中包括至少一個分段索引單元,分段索引單元并列存儲,每個分段索引單元中包含多個索引數(shù)據(jù);塊索引中,具有相同屬性信息的索引數(shù)據(jù)的數(shù)據(jù)項劃分為至少一個分段單元。分段單元之間鏈式連接形成分段單元鏈,該分段單元鏈的相鄰兩分段單元中,上一分段單元存儲有下一分段單元的訪問信息;或者,分段單元之間并列存儲,塊索引中還存儲有各分段單元的分段信息。該設備也可以包括指令接收模塊1101和數(shù)據(jù)處理模塊1102,其中指令接收模塊1101與指令接收模塊1001類似。
本實施例中,該數(shù)據(jù)處理模塊1102可以進一步包括第一合并單元11021,用于當相鄰兩分段索引單元中索引數(shù)據(jù)的數(shù)量和小于第一閾值時,將所述相鄰兩分段索引單元進行合并;第一遷移單元11022,用于當分段索引單元中索引數(shù)據(jù)的數(shù)據(jù)項數(shù)量超過第二閾值時,將該索引數(shù)據(jù)從其所在的分段索引單元遷移至塊索引中;第一劃分單元11023,用于當分段索引單元的大小大于第三閾值時,將該分段索引單元劃分為兩個新的分段索引單元。第二合并單元11024,用于當相鄰兩分段單元中數(shù)據(jù)項的數(shù)量和小于第四閾值時,將所述相鄰兩分段單元合并;第二遷移單元11025,用于當索引數(shù)據(jù)的數(shù)據(jù)項只劃分為一個分段單元時,若該分段單元中的數(shù)據(jù)項數(shù)量小于第五閾值,則將該索引數(shù)據(jù)從塊索引遷移至分段索引中;第二劃分單元11026,用于當分段單元中數(shù)據(jù)項的數(shù)量大于第六閾值時,將該分段單元劃分為兩個新的分段單元。在該實施例中,該數(shù)據(jù)處理模塊1102可以包括以上單元的任意組合,不作具體限定。在本發(fā)明的另一實施例中,該數(shù)據(jù)處理模塊1102還可以進一步包括如下單元定位單元,用于在所述匹配索引數(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ù)為O時,刪除該分段索引單元;第三刪除單元,用于當分段單元中的數(shù)據(jù)項為空時,刪除該分段單元。該數(shù)據(jù)處理模塊可以同時包括上述單元的任意組合。在另一實施例中,若該索引結(jié)構(gòu)中存儲有多個存儲單元,則存儲單元之間可以并列存儲,該索引結(jié)構(gòu)中還包括各存儲單元的存儲信息,以形成大規(guī)模數(shù)據(jù)的級聯(lián)結(jié)構(gòu)。在該索引結(jié)構(gòu)下,數(shù)據(jù)處理模塊在進行數(shù)據(jù)處理時,如定位、刪除、增加數(shù)據(jù)等,在根據(jù)該數(shù)據(jù)的屬性信息等確定該數(shù)據(jù)處理所針對的存儲單元后,即可基于該存儲單元執(zhí)行與前述實施例類似的步驟,進行數(shù)據(jù)處理,此處不再重復描述。通過上述本發(fā)明實施例的實施方式的描述可知,本領域的技術(shù)人員可以清楚地了解到本發(fā)明實施例可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)。基于這樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明實施例或者實施例的某些部分所述的方法。本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。 本發(fā)明實施例通過將具有不同屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,使得數(shù)據(jù)存儲更為緊湊,從而通過上述模塊可以在一次Key-Value訪問中獲取或者更新更多的數(shù)據(jù),所以可以減少數(shù)據(jù)處理時與Key-Value系統(tǒng)之間的交互,從而提高了索引建立和查詢的性能。以上設備中各模塊及單元的具體實現(xiàn)過程請參見前述方法實施例的相應描述,此處不再贅述。以上所述的本發(fā)明實施方式,并不構(gòu)成對本發(fā)明保護范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進等,均應包含在本發(fā)明的權(quán)利要求保護范圍之內(nèi)。
權(quán)利要求
1.一種索引數(shù)據(jù)處理方法,其特征在于,至少一種屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,所述索引結(jié)構(gòu)包括一頭索引和至少一塊索引,所述至少一塊索引的索引存儲在所述頭索引中,所述至少一塊索引的索引包括存儲在所述塊索引中的索引數(shù)據(jù)的屬性信息,所述方法包括 接收對指定索引數(shù)據(jù)的處理指令,所述處理指令中包括指定索引數(shù)據(jù)的屬性信息;若根據(jù)所述索引結(jié)構(gòu)中的頭索引和所述指定索引數(shù)據(jù)的屬性信息能確定一塊索引的索引,則根據(jù)所述塊索引的索引定位所述塊索引,并對所述塊索引中匹配所述索引數(shù)據(jù)的數(shù)據(jù)項進行處理。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述索引結(jié)構(gòu)還包括至少一分段索引,所述至少一分段索引的索引存儲在所述頭索引中,所述至少一分段索引的索引包括存儲在所述分段索引中的索引數(shù)據(jù)的屬性信息; 若根據(jù)所述索引結(jié)構(gòu)中的頭索引和所述指定索引數(shù)據(jù)的屬性信息能確定一分段索引的索引,則根據(jù)所述分段索引的索引定位所述分段索引,并對所述分段索引中匹配所述索引數(shù)據(jù)的數(shù)據(jù)項進行處理。
3.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,所述索引結(jié)構(gòu)被存儲在多個存儲單元中,所述索引結(jié)構(gòu)中還包括所述多個存儲單元的存儲信息。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述分段索引中包括至少一個分段索引單元,所述分段索引單元并列存儲,每個分段索引單元中包含多個索引數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括 當相鄰兩分段索引單元中索引數(shù)據(jù)的數(shù)量和小于第一閾值時,將所述相鄰兩分段索引單元進行合并;或者, 當分段索引單元中索引數(shù)據(jù)的數(shù)據(jù)項數(shù)量超過第二閾值時,將該索引數(shù)據(jù)從其所在的分段索引單元遷移至塊索引中;或者, 當分段索引單元的大小大于第三閾值時,將該分段索引單元劃分為兩個新的分段索引單元。
6.根據(jù)權(quán)利要求I至5中任意一項所述的方法,其特征在于,所述塊索引中,具有相同屬性信息的索引數(shù)據(jù)的數(shù)據(jù)項劃分為至少一個分段單元。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于, 所述分段單元之間鏈式連接形成分段單元鏈,該分段單元鏈的相鄰兩分段單元中,上一分段單元存儲有下一分段單元的訪問信息;或者, 所述分段單元之間并列存儲,所述塊索引中還存儲有各分段單元的分段信息。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括 當相鄰兩分段單元中數(shù)據(jù)項的數(shù)量和小于第四閾值時,將所述相鄰兩分段單元合并;或者, 當索引數(shù)據(jù)的數(shù)據(jù)項只劃分為一個分段單元時,若該分段單元中的數(shù)據(jù)項數(shù)量小于第五閾值,則將該索引數(shù)據(jù)從塊索引遷移至分段索引中;或者, 當分段單元中數(shù)據(jù)項的數(shù)量大于第六閾值時,將該分段單元劃分為兩個新的分段單元ο
9.一種索引數(shù)據(jù)處理設備,其特征在于,至少一種屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,所述索引結(jié)構(gòu)包括一頭索引和至少一塊索引,所述至少一塊索引的索引存儲在所述頭索引中,所述至少一塊索引的索引包括存儲在所述塊索引中的索引數(shù)據(jù)的屬性信息,所述設備包括 指令接收模塊,用于接收對指定索引數(shù)據(jù)的處理指令,所述處理指令中包括指定索引數(shù)據(jù)的屬性信息; 數(shù)據(jù)處理模塊,用于當根據(jù)所述索引結(jié)構(gòu)中的頭索引和所述指定索引數(shù)據(jù)的屬性信息能確定一塊索引的索引時,根據(jù)所述塊索引的索引定位所述塊索引,并對所述塊索引中匹配所述索引數(shù)據(jù)的數(shù)據(jù)項進行處理。
10.根據(jù)權(quán)利要求9所述的設備,其特征在于,所述索引結(jié)構(gòu)還包括至少一分段索引,所述至少一分段索引的索引存儲在所述頭索引中,所述至少一分段索引的索引包括存儲在所述分段索引中的索引數(shù)據(jù)的屬性信息; 所述數(shù)據(jù)處理模塊,還用于當根據(jù)所述索引結(jié)構(gòu)中的頭索引和所述指定索引數(shù)據(jù)的屬性信息能確定一分段索引的索引時,根據(jù)所述分段索引的索引定位所述分段索引,并對所述分段索引中匹配所述索引數(shù)據(jù)的數(shù)據(jù)項進行處理。
11.根據(jù)權(quán)利要求9或10所述的設備,其特征在于,所述索引結(jié)構(gòu)被存儲在多個存儲單元中,所述索引結(jié)構(gòu)中還包括所述多個存儲單元的存儲信息。
12.根據(jù)權(quán)利要求10所述的設備,其特征在于,所述分段索引中包括至少一個分段索引單元,所述分段索引單元并列存儲,每個分段索引單元中包含多個索引數(shù)據(jù)。
13.根據(jù)權(quán)利要求12所述的設備,其特征在于,所述數(shù)據(jù)處理模塊包括如下至少一項 第一合并單元,用于當相鄰兩分段索引單元中索引數(shù)據(jù)的數(shù)量和小于第一閾值時,將所述相鄰兩分段索引單元進行合并; 第一遷移單元,用于當分段索引單元中索引數(shù)據(jù)的數(shù)據(jù)項數(shù)量超過第二閾值時,將該索引數(shù)據(jù)從其所在的分段索引單元遷移至塊索引中; 第一劃分單元,用于當分段索引單元的大小大于第三閾值時,將該分段索引單元劃分為兩個新的分段索引單元。
14.根據(jù)權(quán)利要求9至13中任意一項所述的設備,其特征在于,所述塊索引中,具有相同屬性信息的索引數(shù)據(jù)的數(shù)據(jù)項劃分為至少一個分段單元。
15.根據(jù)權(quán)利要求14所述的設備,其特征在于, 所述分段單元之間鏈式連接形成分段單元鏈,該分段單元鏈的相鄰兩分段單元中,上一分段單元存儲有下一分段單元的訪問信息;或者, 所述分段單元之間并列存儲,所述塊索引中還存儲有各分段單元的分段信息。
16.根據(jù)權(quán)利要求14或15所述的設備,其特征在于,所述數(shù)據(jù)處理模塊包括如下至少一項 第二合并單元,用于當相鄰兩分段單元中數(shù)據(jù)項的數(shù)量和小于第四閾值時,將所述相鄰兩分段單元合并; 第二遷移單元,用于當索引數(shù)據(jù)的數(shù)據(jù)項只劃分為一個分段單元時,若該分段單元中的數(shù)據(jù)項數(shù)量小于第五閾值,則將該索引數(shù)據(jù)從塊索引遷移至分段索引中; 第二劃分單元,用于當分段單元中數(shù)據(jù)項的數(shù)量大于第六閾值時,將該分段單元劃分為兩個新的分段單元。
全文摘要
一種索引數(shù)據(jù)處理方法,其中,至少一種屬性信息的索引數(shù)據(jù)存儲在一個索引結(jié)構(gòu)中,所述索引結(jié)構(gòu)包括一頭索引和至少一塊索引,所述至少一塊索引的索引存儲在所述頭索引中,所述至少一塊索引的索引包括存儲在所述塊索引中的索引數(shù)據(jù)的屬性信息,所述方法包括接收對指定索引數(shù)據(jù)的處理指令,所述處理指令中包括指定索引數(shù)據(jù)的屬性信息;若根據(jù)所述索引結(jié)構(gòu)中的頭索引和所述指定索引數(shù)據(jù)的屬性信息能確定一塊索引的索引,則根據(jù)所述塊索引的索引定位所述塊索引,并對所述塊索引中匹配所述索引數(shù)據(jù)的數(shù)據(jù)項進行處理。
文檔編號G06F17/30GK102725754SQ201180003412
公開日2012年10月10日 申請日期2011年12月26日 優(yōu)先權(quán)日2011年12月26日
發(fā)明者曹俊亮 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
临安市| 长泰县| 塔城市| 普洱| 玉溪市| 汝阳县| 资源县| 阿荣旗| 太原市| 蓝山县| 昆山市| 大邑县| 宽城| 紫阳县| 肥东县| 新干县| 齐河县| 龙口市| 垦利县| SHOW| 舞阳县| 焉耆| 闽清县| 皋兰县| 资兴市| 临夏市| 土默特右旗| 德格县| 怀仁县| 武强县| 濮阳县| 同江市| 五台县| 玛沁县| 乌拉特后旗| 奈曼旗| 陆良县| 桦南县| 永济市| 高清| 西峡县|