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

一種構建HBase集群全文索引方法,數(shù)據(jù)讀取方法以及數(shù)據(jù)寫入方法與流程

文檔序號:11774687閱讀:404來源:國知局
本發(fā)明涉及hbase集群領域,尤其涉及一種構建hbase集群全文索引方法,數(shù)據(jù)讀取方法以及數(shù)據(jù)寫入方法。
背景技術
::隨著云計算技術的不斷發(fā)展,云計算技術不斷落地成為支撐各行業(yè)信息技術發(fā)展的重要支柱?;趆adoop和hbase的分布式集群,如今已成為國內外云計算熱門研究對象。hadoop的hdfs分布式存儲為云平臺提供了分布式文件存儲系統(tǒng),而hbase因為具有良好的讀寫性能,并且能夠支持大數(shù)據(jù)量的表,因而適用于簡單業(yè)務、數(shù)據(jù)量巨大的在線數(shù)據(jù)庫及數(shù)據(jù)倉庫。由于hbase對事務的支持比較弱,只支持行級事務,因此業(yè)務數(shù)據(jù)庫往往由mysql、oracle等成熟的關系型數(shù)據(jù)庫擔任,同時hbase能夠輕而易舉的承載海量數(shù)據(jù),這是傳統(tǒng)關系數(shù)據(jù)庫不可比擬的,因此hbase往往用來做數(shù)據(jù)倉庫,存儲歷史明細數(shù)據(jù)。由于歷史數(shù)據(jù)數(shù)據(jù)量往往十分巨大,想要根據(jù)任意關鍵字查詢數(shù)據(jù),需要對每條數(shù)據(jù)的每個字段全部掃描一遍,猶如大海撈針,常用解決這個問題的手段是對數(shù)據(jù)在solr或elasticsearch中建立全文索引。當前對hbase數(shù)據(jù)建立全文索引,不再寫入hbase,而是將數(shù)據(jù)寫入消息隊列,然后通過流式計算分發(fā)數(shù)據(jù),寫入hbase和建立全文索引。這種方式需要將數(shù)據(jù)存在消息隊列中,并且需要編程實現(xiàn)流式計算,增加了存儲和計算開銷。技術實現(xiàn)要素:為了克服上述現(xiàn)有技術中的不足,本發(fā)明提供方法包括:在hbase集群中配置zookeeper,建立全文索引table_index表;hbase集群基于zookeeper將集群的所有節(jié)點配置成一隊列,在所述隊列中存放每個節(jié)點的讀取wal日志;在table_index表中對應的每個節(jié)點位開啟單獨線程,按照隊列的次序,將每個節(jié)點的wal日志對應到table_index表的節(jié)點位,每個節(jié)點位上設有一hbase集群節(jié)點的讀取wal日志以及節(jié)點的開啟線程。優(yōu)選地,當隊列中的節(jié)點wal日志對應到table_index表的節(jié)點位后,將隊列中的所述節(jié)點的wal日志刪除。優(yōu)選地,當隊列中有新的節(jié)點加入時,生成所述節(jié)點的wal日志,并將所述節(jié)點的wal日志對應到table_index表的空閑節(jié)點位,開啟所述節(jié)點線程;所述節(jié)點的wal日志對應到table_index表的節(jié)點位后,將隊列中的所述節(jié)點的wal日志刪除。優(yōu)選地,通過獲取table_index表中節(jié)點位的wal日志以及開啟線程,獲取hbase集群中的節(jié)點,對所述節(jié)點進行配置。優(yōu)選地,對table_index表的操作記錄建立全文索引并寫入solr或elasticsearch中。一種基于hbase集群的數(shù)據(jù)讀取方法,方法包括:客戶端輸入待操作的節(jié)點信息,對待操作的節(jié)點信息進行緩存;客戶端從hbase集群中讀取table_index表,通過待操作的節(jié)點信息獲取table_index表中對應的所述節(jié)點位及wal日志;將所述節(jié)點位對應的節(jié)點與客戶端建立讀取線程。一種基于hbase集群的數(shù)據(jù)寫入方法,方法包括:客戶端向hbase集群提交一個寫請求;hbase集群接收所述寫請求,并將寫入的數(shù)據(jù)寫到wal中;當數(shù)據(jù)寫到wal之后,將數(shù)據(jù)對應至hbase集群的節(jié)點;將所述節(jié)點配置到隊列中,在所述隊列中存放每個節(jié)點的讀取wal日志;將所述節(jié)點的wal日志對應到table_index表的空閑節(jié)點位,開啟所述節(jié)點線程;所述節(jié)點的wal日志對應到table_index表的節(jié)點位后,將隊列中的所述節(jié)點的wal日志刪除;所述數(shù)據(jù)形成wal日志之后,回復給發(fā)送客戶端確認信息。從以上技術方案可以看出,本發(fā)明具有以下優(yōu)點:通過對wal日志進行讀取并解析,然后對hbase集群數(shù)據(jù)建立全文索引的方法,具有很好的時效性,并且避免了額外的數(shù)據(jù)處理帶來的存儲和計算開銷,對需要建立全文索引的table_index表和字段都是可配置的,無需編程,同時由于是異步進行的,對hbase集群的性能影響小。附圖說明為了更清楚地說明本發(fā)明的技術方案,下面將對描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為構建hbase集群全文索引方法流程圖;圖2為基于hbase集群的數(shù)據(jù)讀取方法流程圖;圖3為基于hbase集群的數(shù)據(jù)寫入方法流程圖。具體實施方式為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將運用具體的實施例及附圖,對本發(fā)明保護的技術方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部的實施例。基于本專利中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本專利保護的范圍。本實施例提供一種構建hbase集群全文索引方法,如圖1所示,方法包括:s1,在hbase集群中配置zookeeper,建立全文索引table_index表;s2,hbase集群基于zookeeper將集群的所有節(jié)點配置成一隊列,在所述隊列中存放每個節(jié)點的讀取wal日志;s3,在table_index表中對應的每個節(jié)點位開啟單獨線程,按照隊列的次序,將每個節(jié)點的wal日志對應到table_index表的節(jié)點位,每個節(jié)點位上設有一hbase集群節(jié)點的讀取wal日志以及節(jié)點的開啟線程。本實施例中,當隊列中的節(jié)點wal日志對應到table_index表的節(jié)點位后,將隊列中的所述節(jié)點的wal日志刪除。當隊列中有新的節(jié)點加入時,生成所述節(jié)點的wal日志,并將所述節(jié)點的wal日志對應到table_index表的空閑節(jié)點位,開啟所述節(jié)點線程;所述節(jié)點的wal日志對應到table_index表的節(jié)點位后,將隊列中的所述節(jié)點的wal日志刪除。本實施例中,通過獲取table_index表中節(jié)點位的wal日志以及開啟線程,獲取hbase集群中的節(jié)點,對所述節(jié)點進行配置。對table_index表的操作記錄建立全文索引并寫入solr或elasticsearch中。通過對hbasewal日志進行讀取并解析,然后對hbase數(shù)據(jù)建立全文索引的方法,具有很好的時效性,并且避免了額外的數(shù)據(jù)處理帶來的存儲和計算開銷,對需要建立全文索引的hbase表和字段都是可配置的,無需編程,同時由于是異步進行的,對hbase的性能影響小。通過解析hbase的wal日志,使數(shù)據(jù)在寫入hbase數(shù)據(jù)庫的同時,文件即可分析出需要建立索引的數(shù)據(jù),進而將解析出的數(shù)據(jù)根據(jù)配置在搜索引擎系統(tǒng)中建立索引。大數(shù)據(jù)場景下的hbase數(shù)據(jù)進行異步實時構建全文索引。通過對hbase的wal日志的讀取和分析,根據(jù)用戶的配置,對數(shù)據(jù)構建全文索引。具有很好的時效性。在數(shù)據(jù)寫入hbase的同時,讀取并分析hbase的操作日志。通過配置文件對hbase的操作日志進行分析并建立全文索引。hbase因為具有良好的讀寫性能,并且能夠支持大數(shù)據(jù)量的表,因而適用于簡單業(yè)務、數(shù)據(jù)量巨大的在線數(shù)據(jù)庫及數(shù)據(jù)倉庫,供用戶查詢分析。由于歷史數(shù)據(jù)數(shù)據(jù)量往往十分巨大,想要根據(jù)任意關鍵字查詢數(shù)據(jù),需要對每條數(shù)據(jù)的每個字段全部掃描一遍,需要對hbase數(shù)據(jù)建立全文索引。當前對hbase數(shù)據(jù)建立全文索引存在兩大弊端:一是時效性差,影響hbase自身性能;二是需要額外的存儲和計算開銷。通過對hbase的操作日志進行讀取并分析,可以異步的對用戶所關心的數(shù)據(jù)根據(jù)配置文件建立全文索引。這種方法時效性強,數(shù)據(jù)進入hbase后立刻就能對數(shù)據(jù)進行關鍵字查詢,并且不需要額外的存儲和計算開銷,同時不影響hbase自身性能。hbase的寫數(shù)據(jù)過程為了保證數(shù)據(jù)的可靠性,首先將數(shù)據(jù)寫入wal日志,wal日志只記錄兩種操作,寫入和刪除。這樣在hbase發(fā)生意外宕機時,能夠自動的根據(jù)wal日志中的記錄,恢復用戶操作。wal日志會定期滾動。本發(fā)明還提供一種基于hbase集群的數(shù)據(jù)讀取方法,如圖2所示,方法包括:s11,客戶端輸入待操作的節(jié)點信息,對待操作的節(jié)點信息進行緩存;s12,客戶端從hbase集群中讀取table_index表,通過待操作的節(jié)點信息獲取table_index表中對應的所述節(jié)點位及wal日志;s13,將所述節(jié)點位對應的節(jié)點與客戶端建立讀取線程。本發(fā)明還提供一種基于hbase集群的數(shù)據(jù)寫入方法,如圖3所示,方法包括:s21,客戶端向hbase集群提交一個寫請求;s22,hbase集群接收所述寫請求,并將寫入的數(shù)據(jù)寫到wal中;s23,當數(shù)據(jù)寫到wal之后,將數(shù)據(jù)對應至hbase集群的節(jié)點;s24,將所述節(jié)點配置到隊列中,在所述隊列中存放每個節(jié)點的讀取wal日志;s25,將所述節(jié)點的wal日志對應到table_index表的空閑節(jié)點位,開啟所述節(jié)點線程;s26,所述節(jié)點的wal日志對應到table_index表的節(jié)點位后,將隊列中的所述節(jié)點的wal日志刪除;s27,所述數(shù)據(jù)形成wal日志之后,回復給發(fā)送客戶端確認信息。對所公開的實施例的上述說明,使本領域專業(yè)技術人員能夠實現(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。當前第1頁12當前第1頁12
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
东莞市| 武宣县| 孟州市| 白沙| 莱西市| 台北县| 桂林市| 玛沁县| 庆安县| 长宁区| 万源市| 南陵县| 广灵县| 马边| 恩平市| 张家港市| 武隆县| 双桥区| 扎兰屯市| 会东县| 平罗县| 太和县| 响水县| 张家港市| 库尔勒市| 长岛县| 和林格尔县| 台北市| 新和县| 惠来县| 通榆县| 杭锦后旗| 靖江市| 恩平市| 潞城市| 惠安县| 河源市| 潼南县| 松原市| 察哈| 当阳市|