亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

支持海量數據分組統計的智能索引構建、查詢及維護方法

文檔序號:9865727閱讀:827來源:國知局
支持海量數據分組統計的智能索引構建、查詢及維護方法
【技術領域】
[0001]本發(fā)明涉及一種支持海量數據分組統計的智能索引構建、查詢及維護方法,屬于大數據處理技術領域。
【背景技術】
[0002]隨著計算機技術的不斷發(fā)展和信息化程度的不斷提高,數據量迅速增長,面向海量數據存儲及應用也隨之蓬勃發(fā)展,大數據應用越來越廣泛。如,在網絡安全上,使用大數據技術分析網絡攻擊行為;在電子商務上,使用大數據技術分析用戶購物喜好或最受青睞的商品;在城市建設上,利用大數據技術構建智慧城市,方便人民出行。諸如此類,大數據技術在建設節(jié)約型社會,提高生成效率等方面起到了積極的推動作用。
[0003]但隨著數據量的持續(xù)增大和大數據應用的不斷發(fā)展,對大數據處理能力的要求越來越高。在海量數據分析應用中,對數據分組統計是常用的應用模式,其處理效率直接影響了業(yè)務應用。目前常用的分組統計方法主要利用分布式數據庫,或者分布式計算集群來對存儲于其內的海量數據進行普通的分析和分類匯總。這些方法的主要特點是對涉及到的數據全盤掃描,其對系統資源,特別是I/O會有極大的占用,從而對整個存儲系統帶來巨大壓力,其統計效率難以應對業(yè)務需求。因此,通過構建索引,降低磁盤I/O開銷,成為提高分組統計效率需要解決的關鍵問題。

【發(fā)明內容】

[0004]為提高分組統計效率,降低磁盤I/O開銷,本發(fā)明提供了一種支持分組統計的智能索引構建、查詢和維護方法。
[0005]本發(fā)明提供的支持海量數據分組統計的智能索引構建、查詢和維護方法,通過如下四方面實現:
[0006]第一方面,建立智能索引的數據組織結構,以使智能索引支持海量數據分組統計。
[0007]智能索引的數據組織結構包括索引元數據和索引數據。索引元數據是創(chuàng)建索引的依據,包括分組列簇和統計列簇。分組列簇采用二維表存儲,存儲信息包括分組字段名稱、分組字段類型和分組方式;分組字段類型包括整型、字符型和時間類型,分組方式包括區(qū)間、等值和哈希三種方式。統計列簇采用二維表存儲,存儲信息包括統計字段名稱、統計字段類型和統計方式;統計字段類型包括整型、字符型和時間類型,統計方式包括聚合、平均值、最大值、最小值、方差和求和。索引數據是對原始數據構建的索引,一個原始數據塊對應一個索引數據塊,每個索引數據塊包括分組數值區(qū)和統計數值區(qū)兩部分。分組數值區(qū)由多個字典組成,一個字典對應一個分組字段,每個字典包括分組字段值及其應用的位置ID,分組字段值和位置ID均使用有序鏈表存儲;統計數值區(qū)根據位置ID分段按行存儲,每個段按ID排序,使用有序鏈表存儲。
[0008]第二方面,在寫入數據時在內存中實時創(chuàng)建智能索引。
[0009]首先根據索引元數據確定分組字段和統計字段,然后對每條原始記錄在內存中計算,包括對分組字段按分組方式計算和對統計字段按統計方式計算,更新維護好分組數值區(qū)鏈表和統計數值區(qū)鏈表,最終將索引數據持久化到磁盤。
[0010]第三方面,利用智能索引進行分組統計的操作。
[0011]首先通過判定器判讀本次統計是否可以使用智能索引,當能使用時,通過執(zhí)行器讀取索引數據,最后通過匯聚器對分組值進行匯聚計算。
[0012]第四方面,實現對智能索引的刪除操作。
[0013]預設原始數據與索引數據物理存儲規(guī)則,根據待刪除的原始數據塊存儲路徑,來構造索引數據存儲路徑,將建立的索引數據刪除。
[0014]本發(fā)明提出的支持海量數據分組統計的智能索引構建、查詢及維護方法,相對于現有技術來說,實現了對海量數據的實時自動創(chuàng)建索引,在對海量數據進行分組統計時極大降低了磁盤I/O和計算時間,從而大幅提高了分組統計效率,并實現了對索引數據全生命周期的自動管理,符合目前的大數據分析應用需求,在大數據處理領域具有很強的實用性和應用范圍,具有廣闊的應用前景。
【附圖說明】
[0015]圖1為本發(fā)明支持海量數據分組統計的智能索引的數據組織結構示意圖;
[0016]圖2為本發(fā)明在存儲備份數據時智能索引創(chuàng)建的流程圖;
[0017]圖3為本發(fā)明利用智能索引進行分組統計的操作流程圖;
[0018]圖4為智能索引刪除的操作流程圖。
【具體實施方式】
[0019]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,下面結合附圖,對根據本發(fā)明一個實施例的層次分段式的備份數據組織管理方法進一步詳細說明。
[0020]本發(fā)明的支持海量數據分組統計的智能索引構建、查詢及維護方法,包括四個實現方面:(I)建立支持海量數據分組統計的智能索引的數據組織結構;(2)智能索引創(chuàng)建操作;⑶利用智能索引進行分組統計的操作;⑷實現對智能索引的刪除操作。通過本發(fā)明方法,可有效降統計時的磁盤I/O及系統計算資源,提高對大數據分組統計的效率。
[0021]圖1給出了本發(fā)明支持海量數據分組統計的智能索引的數據組織結構示意圖。
[0022]—種實現例中,智能索引采用如圖1所示的數據結構來實現。智能索引包括索引元數據和索引數據兩部分。其中,索引元數據是對索引的描述,是創(chuàng)建索引的依據。索引元數據包括分組列簇和統計列簇兩部分。分組列簇采用二維表存儲,存儲信息包括分組字段名稱、分組字段類型和分組方式,分組字段類型包括整型、字符型和時間類型,分組方式包括區(qū)間、等值和哈希三種方式。統計列簇采用二維表存儲,存儲信息包括統計字段名稱、統計字段類型和統計方式,統計字段類型包括整型、字符型和時間類型,統計方式包括聚合、平均值、最大值、最小值、方差和求和。索引數據是對原始數據構建的索引,一個原始數據塊對應一個索引數據塊,每個索引數據塊包括分組數值區(qū)和統計數值區(qū)兩部分。分組數值區(qū)由多個字典組成,一個字典對應一個分組字段,每個字典包括分組字段值及其應用的位置ID,分組字段值和位置ID均使用有序鏈表存儲。統計數值區(qū)根據位置ID分段按行存儲,每個段按ID排序。
[0023]圖1所示示例中,統計列簇的字段有NAME(名稱)和NUM(數量),字符類型分別為char和Int,統計方式分別為Count (計數)和Sum(求和);分組列簇的字段包括CITY(城市)和??ΜΕ(時間),字符類型分別為char和Int,分組方式分別為等值和區(qū)間。圖1也給出了一個依據該索引元數據所構建的一個索引數據塊,例如,字段CITY的值包括有ZB、JN、QD、WF和HZ,均為某城市代碼簡寫,每個字段值的應用的位置ID以鏈表組織,例如QD所應用的位置ID為4和5。在統計數值區(qū)根據位置ID分段按行存儲,示例中分為3個段,每段中給出統計字段按所設置的統計方式得到的統計值,例如段I中的位置ID I對NAME按Count方式統計的值為20。
[0024]在寫入數據時實時創(chuàng)建智能索引,通過智能索引創(chuàng)建操作。首先根據索引元數據描述,確定分組字段和統計字段,然后對每條原始記錄在內存中計算,包括對分組字段按分區(qū)方式計算和對統計字段按統計方式計算,維護好分組數值區(qū)鏈表和統計數值區(qū)鏈表,最終將索引數據持久化到磁盤。圖2示出了智能索引創(chuàng)建過程,具體步驟如下:
[0025]步驟201:讀取索引元數據,并初始化索引數據存儲結構;
[0026]步驟202:判斷索引數據是否可以持久化到磁盤上,如果需要持久化到磁盤,則轉到步驟206,否則轉到步驟203。索引數據持久化到磁盤上的判斷標準為其對應的原始數據塊已經被穩(wěn)定寫入磁盤;
[0027]步驟203:讀取下一條原始數據;
[0028]步驟204:根據分組方式,計算每個分組字段的分組值。計算分組值K,K依據分區(qū)方式計算得出:如果是等值方式,則K為字段值V;如果是區(qū)間方式,則K是通過字段值V計算得出,計算方法為字段值/區(qū)間跨度。然后將分組值K更新到分組數值區(qū)鏈表中,并按分組字段值進行排序,保持鏈表有序;
[0029]步驟205:計算統計值。根據所設定的統計方式,計算每個統計字段的統計值,并更新到統計數值區(qū)鏈表中,并位置ID進行排序,保持鏈表有序,轉到步驟202;
[0030]步驟206:將統計數值區(qū)鏈表寫入文件中,并按鏈表ID分段,依據數量分段,每個段內數量不大于預設數量N,每個段生成一個文件;
[0031]步驟207:將分組數值區(qū)鏈表寫入文件中,并按分組字段分成不同字典鏈表,每個字典生成一個
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1