• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種對分布式順序表進(jìn)行多維區(qū)間查詢的方法及其系統(tǒng)技術(shù)方案

    技術(shù)編號:8533035 閱讀:281 留言:0更新日期:2013-04-04 16:10
    本發(fā)明專利技術(shù)公開了一種對分布式順序表進(jìn)行多維區(qū)間查詢的方法及其系統(tǒng),其中方法包括:分別為所述分布式順序表的每個(gè)索引列創(chuàng)建一張對應(yīng)的二級索引表,各索引列對應(yīng)的二級索引表的主鍵為該索引列值、所述分布式順序表的主鍵值和該索引列值的長度三者的拼接值;當(dāng)接收到區(qū)間查詢請求時(shí),依據(jù)所述查詢請求的字段名稱,從各所述二級索引表中查找所述字段名稱對應(yīng)的二級索引表,依據(jù)所述查詢請求的字段值,從所述對應(yīng)的二級索引表中查找所述查詢請求字段值對應(yīng)的記錄位置,直接從所述分布式順序表中的該記錄位置讀取相應(yīng)的數(shù)據(jù)。本發(fā)明專利技術(shù)能大幅增加多維區(qū)間查詢的速度,能夠同時(shí)滿足高性能、低存儲開銷和高可靠性的要求。

    【技術(shù)實(shí)現(xiàn)步驟摘要】

    本專利技術(shù)涉及分布式信息處理
    ,尤其涉及一種對分布式順序表進(jìn)行多維區(qū)間查詢的方法及其系統(tǒng)
    技術(shù)介紹
    分布式順序表(Distributed Ordered Table簡稱DOT)是一種最適用于海量數(shù)據(jù)(TB到PB級)下多維區(qū)間查詢的數(shù)據(jù)庫系統(tǒng)。在分布式順序表上進(jìn)行多維區(qū)間查詢時(shí),通常直接掃描全表篩選出滿足條件的數(shù)據(jù)。在數(shù)據(jù)量非常大的時(shí)候,這種方法的查詢速度緩慢,并且使系統(tǒng)負(fù)載很大,響應(yīng)時(shí)間過長不能滿足目前網(wǎng)絡(luò)應(yīng)用對海量數(shù)據(jù)進(jìn)行實(shí)時(shí)檢索的需求。
    技術(shù)實(shí)現(xiàn)思路
    本專利技術(shù)的主要目的即基于分布式順序表構(gòu)建索引,使其能夠滿足多維區(qū)間查詢時(shí)的高性能、低存儲開銷和高可靠性要求。為達(dá)此目的,本專利技術(shù)采用以下技術(shù)方案本專利技術(shù)提出了一種對分布式順序表進(jìn)行多維區(qū)間查詢的方法,包括分別為所述分布式順序表的每個(gè)索引列創(chuàng)建一張對應(yīng)的二級索引表,各索引列對應(yīng)的二級索引表包括該索引列信息、所述分布式順序表的主鍵信息;當(dāng)接收到區(qū)間查詢請求時(shí),依據(jù)所述查詢請求中查詢條件對應(yīng)的字段名稱,從各所述二級索引表中查找所述字段名稱對應(yīng)的二級索引表,依據(jù)所述查詢請求的查詢條件,從所述對應(yīng)的二級索引表中查找符合所述條件的記錄,從各記錄中讀出該記錄對應(yīng)的主鍵值,依據(jù)所述主鍵值直接從所述分布式順序表中讀取相應(yīng)的數(shù)據(jù)。進(jìn)一步地,各所述二級索引表的主鍵為該二級索引表對應(yīng)的索引列、所述分布式順序表的主鍵和該索引列的長度三者的拼接值,或者,各所述二級索引表的主鍵為該二級索引表對應(yīng)的索引列、所述分布式順序表的主鍵和所述分布式順序表的主鍵的長度三者的拼接值。進(jìn)一步地,當(dāng)接收到區(qū)間查詢請求時(shí),首先對所述查詢請求中的查詢條件進(jìn)行合并去重預(yù)處理,將預(yù)處理結(jié)果轉(zhuǎn)化為析取式,從合取子式中選擇結(jié)果集最小的子查詢作為所述區(qū)間查詢請求的查詢條件。進(jìn)一步地,所述從合取子式中選擇結(jié)果集最小的子查詢的方法包括分別根據(jù)各合取子式中每個(gè)分片的起止主鍵,計(jì)算各合取子式的查詢范圍所覆蓋的分片數(shù)量,選擇分片數(shù)量最少的合取子式的結(jié)果集。進(jìn)一步地,還包括當(dāng)需要進(jìn)行數(shù)據(jù)更新時(shí),首先將更新寫入日志中,然后再分別更新所述分布式順序表和索引表;當(dāng)出現(xiàn)故障使部分?jǐn)?shù)據(jù)丟失,使所述分布式順序表和索引表數(shù)據(jù)不一致時(shí),依據(jù)所述日志進(jìn)行數(shù)據(jù)恢復(fù)。根據(jù)同一專利技術(shù)構(gòu)思,本專利技術(shù)還提供了一種對分布式順序表進(jìn)行多維區(qū)間查詢的系統(tǒng),包括索引表建立模塊,用于分別為所述分布式順序表的每個(gè)索引列創(chuàng)建一張對應(yīng)的二級索引表,各索引列對應(yīng)的二級索引表包括該索引列信息、所述分布式順序表的主鍵信息;區(qū)間查詢模塊,用于當(dāng)接收到區(qū)間查詢請求時(shí),依據(jù)所述查詢請求中查詢條件對應(yīng)的字段名稱,從各所述二級索引表中查找所述字段名稱對應(yīng)的二級索引表,依據(jù)所述查詢請求的查詢條件,從所述對應(yīng)的二級索引表中查找符合所述條件的記錄,從各記錄中讀出該記錄對應(yīng)的主鍵值,依據(jù)所述主鍵值直接從所述分布式順序表中讀取相應(yīng)的數(shù)據(jù)。進(jìn)一步地,各所述二級索引表的主鍵為該二級索引表對應(yīng)的索引列、所述分布式順序表的主鍵和該索引列的長度三者的拼接值,或者,各所述二級索引表的主鍵為該二級索引表對應(yīng)的索引列、所述分布式順序表的主鍵和所述分布式順序表的主鍵的長度三者的拼接值。進(jìn)一步地,還包括分片信息預(yù)估優(yōu)化查詢模塊,用于當(dāng)接收到區(qū)間查詢請求時(shí),首先對所述查詢請求中的查詢條件進(jìn)行合并去重預(yù)處理,將預(yù)處理結(jié)果轉(zhuǎn)化為析取式,從合取子式中選擇結(jié)果集最小的子查詢作為所述區(qū)間查詢請求的查詢條件。進(jìn)一步地,所述分片信息預(yù)估優(yōu)化查詢模塊中從合取子式中選擇結(jié)果集最小的子查詢作為所述區(qū)間查詢請求的查詢條件包括分別根據(jù)各合取子式中每個(gè)分片的起止主鍵,計(jì)算各合取子式的查詢范圍所覆蓋的分片數(shù)量,選擇分片數(shù)量最少的合取子式的結(jié)果集。進(jìn)一步地,還包括日志模塊,用于當(dāng)需要進(jìn)行數(shù)據(jù)更新時(shí),首先將更新寫入日志中,然后再分別更新所述分布式順序表和索引表;當(dāng)出現(xiàn)故障使部分?jǐn)?shù)據(jù)丟失,使所述分布式順序表和索引表數(shù)據(jù)不一致時(shí),依據(jù)所述日志進(jìn)行數(shù)據(jù)恢復(fù)。本專利技術(shù)能大幅增加多維區(qū)間查詢的速度,能夠同時(shí)滿足高性能、低存儲開銷和高可靠性的要求。附圖說明圖1是本專利技術(shù)具體實(shí)施例一所述的對分布式順序表進(jìn)行多維區(qū)間查詢的方法流程圖;圖2是本專利技術(shù)具體實(shí)施例一所述的對分布式順序表建立的二級索引表的示意圖;圖3是本專利技術(shù)具體實(shí)施例三所述的對分布式順序表進(jìn)行多維區(qū)間查詢的系統(tǒng)結(jié)構(gòu)框圖。具體實(shí)施例方式下面結(jié)合附圖并通過具體實(shí)施方式來進(jìn)一步說明本專利技術(shù)的技術(shù)方案。實(shí)施例一圖1是本專利技術(shù)具體實(shí)施例一所述的對分布式順序表進(jìn)行多維區(qū)間查詢的方法流程圖,如圖1所示,本實(shí)施例具體方法包括S101、為各索引列創(chuàng)建二級索引表;分布式順序表所存儲的數(shù)據(jù)按主鍵被水平劃分為多個(gè)分片(Region),每個(gè)分片存儲一段按照主鍵排序的數(shù)據(jù),同時(shí)將分片分配到多個(gè)分片服務(wù)器(RegionServer)上,支持按主鍵進(jìn)行高速點(diǎn)查詢和區(qū)間查詢,支持高速隨機(jī)數(shù)據(jù)讀寫。每張表可有一個(gè)或多個(gè)列,支持按列投影等操作。當(dāng)數(shù)據(jù)查詢時(shí),查詢條件經(jīng)常會指定一列或多列來給定,這些經(jīng)常用作查詢條件的一列或多列,通過對之前的查詢條件進(jìn)行統(tǒng)計(jì),或依據(jù)分布式順序表的結(jié)構(gòu)特征的分析,可指定所述分布式順序表中至少一個(gè)非主鍵的列作為索引列,用于分別基于這些列創(chuàng)建二級索引表。分別為分布式順序表的每個(gè)索引列創(chuàng)建一張對應(yīng)的二級索引表,各索引列對應(yīng)的二級索引表必須包括該索引列信息、所述分布式順序表的主鍵信息,可有多種組織方式。例如,各所述二級索引表的主鍵為該二級索引表對應(yīng)的索引列、所述分布式順序表的主鍵和該索引列的長度三者的拼接值;或者,各所述二級索引表的主鍵為該二級索引表對應(yīng)的索引列、所述分布式順序表的主鍵和所述分布式順序表的主鍵的長度三者的拼接值。圖2是本實(shí)施例所述的對分布式順序表建立的二級索引表的示意圖,如圖2所示,分布式順序表(又稱為原表)100包含列id,idxl,idx2和info,其中,id表示原表的主鍵,idxl和idx2為兩個(gè)索引列,info為其他的數(shù)據(jù)內(nèi)容的一列或多列。本示意圖中為每個(gè)索引列分別創(chuàng)建索引表的方法為各所述二級索引表的主鍵為該二級索引表對應(yīng)的索引列、所述分布式順序表的主鍵和該索引列的長度三者的拼接值。參見圖2,為所述分布式順序表100的兩個(gè)索引列idxl和idx2分別創(chuàng)建索引表101和102,其中,索引表101的主鍵keyl由當(dāng)前索引列idxl、原表的主鍵值id、以及當(dāng)前索引列idxl的長度值idxlLength順序拼接而成,索引表102的主鍵key2由當(dāng)前索引列idx2、原表的主鍵值id、以及當(dāng)前索引列idx2的長度值idx2Length順序拼接而成。這種方式使得索引表先按列值排序再按原主鍵排序,同時(shí),通過對索引列值的長度的記載,可以從新主鍵中得到原主鍵和索引列值,即使索引列重復(fù)也能具有唯一的新主鍵。S102、依據(jù)查詢請求的字段名稱,找到對應(yīng)的二級索引表;當(dāng)需要對索引列進(jìn)行區(qū)間查詢時(shí),連續(xù)掃描與該索引列對應(yīng)的所述索引表,找到與該索引列相關(guān)的所有二級索引。S103、依據(jù)查詢條件,從二級索引表中查找符合條件的記錄;根據(jù)所找到的二級索引表,從所述二級索引表中查找符合條件的記錄。S104、從各記錄中讀出對應(yīng)的主鍵值;由于每個(gè)二級索引表中每一條記錄均記載了索引列信息和對應(yīng)的分布式順序表的主鍵信息,所以,從所述二級索引表中查本文檔來自技高網(wǎng)...

    【技術(shù)保護(hù)點(diǎn)】
    一種對分布式順序表進(jìn)行多維區(qū)間查詢的方法,其特征在于,包括:分別為所述分布式順序表的每個(gè)索引列創(chuàng)建一張對應(yīng)的二級索引表,各索引列對應(yīng)的二級索引表包括該索引列信息、所述分布式順序表的主鍵信息;當(dāng)接收到區(qū)間查詢請求時(shí),依據(jù)所述查詢請求中查詢條件對應(yīng)的字段名稱,從各所述二級索引表中查找所述字段名稱對應(yīng)的二級索引表,依據(jù)所述查詢請求的查詢條件,從所述對應(yīng)的二級索引表中查找符合所述條件的記錄,從各記錄中讀出該記錄對應(yīng)的主鍵值,依據(jù)所述主鍵值直接從所述分布式順序表中讀取相應(yīng)的數(shù)據(jù)。

    【技術(shù)特征摘要】
    1.一種對分布式順序表進(jìn)行多維區(qū)間查詢的方法,其特征在于,包括分別為所述分布式順序表的每個(gè)索引列創(chuàng)建一張對應(yīng)的二級索引表,各索引列對應(yīng)的二級索引表包括該索引列信息、所述分布式順序表的主鍵信息;當(dāng)接收到區(qū)間查詢請求時(shí),依據(jù)所述查詢請求中查詢條件對應(yīng)的字段名稱,從各所述二級索引表中查找所述字段名稱對應(yīng)的二級索引表,依據(jù)所述查詢請求的查詢條件,從所述對應(yīng)的二級索引表中查找符合所述條件的記錄,從各記錄中讀出該記錄對應(yīng)的主鍵值,依據(jù)所述主鍵值直接從所述分布式順序表中讀取相應(yīng)的數(shù)據(jù)。2.如權(quán)利要求1所述的對分布式順序表進(jìn)行多維區(qū)間查詢的方法,其特征在于,各所述二級索引表的主鍵為該二級索引表對應(yīng)的索引列、所述分布式順序表的主鍵和該索引列的長度三者的拼接值,或者,各所述二級索引表的主鍵為該二級索引表對應(yīng)的索引列、所述分布式順序表的主鍵和所述分布式順序表的主鍵的長度三者的拼接值。3.如權(quán)利要求1或2所述的對分布式順序表進(jìn)行多維區(qū)間查詢的方法,其特征在于,當(dāng)接收到區(qū)間查詢請求時(shí),首先對所述查詢請求中的查詢條件進(jìn)行合并去重預(yù)處理,將預(yù)處理結(jié)果轉(zhuǎn)化為析取式,從合取子式中選擇結(jié)果集最小的子查詢作為所述區(qū)間查詢請求的查詢條件。4.如權(quán)利要求3所述的對分布式順序表進(jìn)行多維區(qū)間查詢的方法,其特征在于,所述從合取子式中選擇結(jié)果集最小的子查詢的方法包括分別根據(jù)各合取子式中每個(gè)分片的起止主鍵,計(jì)算各合取子式的查詢范圍所覆蓋的分片數(shù)量,選擇分片數(shù)量最少的合取子式的結(jié)果集。5.如權(quán)利要求1所述的對分布式順序表進(jìn)行多維區(qū)間查詢的方法,其特征在于,還包括當(dāng)需要進(jìn)行數(shù)據(jù)更新時(shí),首先將更新寫入日志中,然后再分別更新所述分布式順序表和索引表;當(dāng)出現(xiàn)故障使部分?jǐn)?shù)據(jù)丟失,使所述分布式順序表和索引表數(shù)據(jù)不一致時(shí),依據(jù)所述日志進(jìn)行數(shù)據(jù)恢復(fù)。6.一種對分布式順序表進(jìn)行多維區(qū)間查詢的系統(tǒng),其特征在于,包括索引表建...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:劉佳谷靖宇查禮
    申請(專利權(quán))人:北京普澤天璣數(shù)據(jù)技術(shù)有限公司
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 一本大道东京热无码一区| 五月天无码在线观看| 日韩人妻精品无码一区二区三区| 无码人妻精品一区二区三区99不卡| 国产激情无码一区二区三区| 无码精品一区二区三区在线 | 精品一区二区三区无码免费直播 | 蜜芽亚洲av无码一区二区三区| 蜜色欲多人AV久久无码| 亚洲欧洲美洲无码精品VA| 无码日韩人妻AV一区免费l| 亚洲日产无码中文字幕| 精品久久久久久无码中文字幕一区| 中文字幕无码视频专区| 亚洲看片无码在线视频| 国产精品99久久久精品无码| 亚洲精品无码成人片久久不卡| 一区二区三区无码视频免费福利 | 少妇人妻无码精品视频| 无码成人AAAAA毛片| 人妻少妇乱子伦无码视频专区| 人妻无码精品久久亚瑟影视| 麻豆AV无码精品一区二区| 亚洲AV无码一区二区三区系列| 无码综合天天久久综合网| 在人线av无码免费高潮喷水| 亚洲精品无码久久千人斩| 免费无码又爽又刺激一高潮| 精品韩国亚洲av无码不卡区| 亚洲日韩一区二区一无码| 色综合久久无码中文字幕| 亚洲中文字幕无码日韩| 亚洲中文字幕无码永久在线| 国产亚洲大尺度无码无码专线 | 亚洲成a∨人片在无码2023| 免费A级毛片av无码| 亚洲一区二区三区国产精品无码| 久久久久亚洲Av片无码v| 成人av片无码免费天天看| 国产成人AV无码精品| 人妻少妇无码精品视频区|