【技術(shù)實現(xiàn)步驟摘要】
基于HBase的高效存儲方法及系統(tǒng)
本專利技術(shù)涉及大數(shù)據(jù)領(lǐng)域,具體是涉及一種基于HBase的高效存儲方法及系統(tǒng)。
技術(shù)介紹
隨著移動互聯(lián)網(wǎng)、智能終端、物聯(lián)網(wǎng)、云計算以及智慧城市的普及,人們逐漸進(jìn)入了“大數(shù)據(jù)”時代。美國互聯(lián)網(wǎng)數(shù)據(jù)中心指出,互聯(lián)網(wǎng)上的數(shù)據(jù)每年將增長50%,每兩年便將翻一番,而目前世界上90%以上的數(shù)據(jù)是最近幾年才產(chǎn)生的。除了互聯(lián)網(wǎng)上發(fā)布的信息,全世界的工業(yè)設(shè)備、汽車、電表上有著無數(shù)的數(shù)碼傳感器,隨時測量和傳遞著有關(guān)位置、運動、震動、溫度、濕度乃至空氣中化學(xué)物質(zhì)的變化,也產(chǎn)生了海量的數(shù)據(jù)信息。大數(shù)據(jù)是規(guī)模非常巨大和復(fù)雜的數(shù)據(jù)集,數(shù)據(jù)量達(dá)到拍字節(jié)、艾字節(jié)或澤字節(jié)的級別后傳統(tǒng)數(shù)據(jù)庫管理工具處理起來面臨很多問題,如獲取、存儲、檢索和分析等。大數(shù)據(jù)引發(fā)了一些問題,如對數(shù)據(jù)庫高并發(fā)讀寫要求、對海量數(shù)據(jù)的高效率存儲和訪問需求、對數(shù)據(jù)庫高可擴(kuò)展性和高可用性的需求,傳統(tǒng)數(shù)據(jù)庫以及數(shù)據(jù)倉庫技術(shù)顯得力不從心。Hadoop是由Apache軟件基金會維護(hù)的一個能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架,Hadoop帶來了廉價的處理大數(shù)據(jù)的能力。Hadoop是一個龐大的生態(tài)系統(tǒng),為處理大數(shù)據(jù)提供了各種工具和平臺。在Hadoop生態(tài)系統(tǒng)中,HBase是一個高可靠性、高性能、面向列、可伸縮的分布式非關(guān)系型數(shù)據(jù)庫系統(tǒng),可快速在海量數(shù)據(jù)中定位所需結(jié)果。HBase作為列存儲數(shù)據(jù)庫,表中的每個列,都?xì)w屬于某個列族,列族是表的結(jié)構(gòu)的一部分,必須在使用表之前定義,而列的數(shù)量以及類型則無需定義,因為它不屬于表的結(jié)構(gòu)。一個列族中可以包含多個列,這些列以其所在列族作為前綴命名,格式是<列族 ...
【技術(shù)保護(hù)點】
一種基于HBase的高效存儲方法,其特征在于,包括以下步驟:步驟101、輸入一行待存儲到目標(biāo)表的用戶數(shù)據(jù);步驟102、判斷內(nèi)存中是否有目標(biāo)表的字節(jié)組合編碼的初始化信息,如果沒有,則轉(zhuǎn)到步驟103;如果有,則轉(zhuǎn)到步驟104;步驟103、訪問元數(shù)據(jù)庫,對目標(biāo)表的字節(jié)組合編碼進(jìn)行初始化,并將初始化信息寫入內(nèi)存中,返回步驟102;步驟104、根據(jù)內(nèi)存中目標(biāo)表行鍵字節(jié)組合編碼的初始化信息,從待存用戶數(shù)據(jù)中解析出主鍵列值作為字節(jié)組合編碼對象,逐一進(jìn)行字節(jié)編碼并組合,形成1個字節(jié)序列,作為鍵值對存儲格式的行鍵值,轉(zhuǎn)到步驟105;步驟105、根據(jù)內(nèi)存中目標(biāo)表值字段字節(jié)組合編碼的初始化信息,從待存用戶數(shù)據(jù)中解析出非主鍵列值作為字節(jié)組合編碼對象,逐一進(jìn)行字節(jié)編碼并組合,形成1個字節(jié)序列,作為鍵值對存儲格式的值字段內(nèi)容,轉(zhuǎn)到步驟106;步驟106、存儲HBase:將步驟104得到的行鍵值字節(jié)序列和步驟105得到的值字段字節(jié)序列,組裝成鍵值對,并調(diào)用HBase客戶端應(yīng)用編程接口的數(shù)據(jù)插入方式完成HBase寫入。
【技術(shù)特征摘要】
1.一種基于HBase的高效存儲方法,其特征在于,包括以下步驟:步驟101、輸入一行待存儲到目標(biāo)表的用戶數(shù)據(jù);步驟102、判斷內(nèi)存中是否有目標(biāo)表的字節(jié)組合編碼的初始化信息,所述初始化信息包括目標(biāo)表的列名列表、列數(shù)據(jù)類型列表、主鍵列列表、行鍵字節(jié)組合編碼方式及其對象指示器、值字段字節(jié)組合編碼方式及其對象指示器,如果沒有,則轉(zhuǎn)到步驟103;如果有,則轉(zhuǎn)到步驟104;步驟103、訪問元數(shù)據(jù)庫,對目標(biāo)表的字節(jié)組合編碼進(jìn)行初始化,并將初始化信息寫入內(nèi)存中,返回步驟102;步驟104、根據(jù)內(nèi)存中目標(biāo)表行鍵字節(jié)組合編碼的初始化信息,從待存用戶數(shù)據(jù)中解析出主鍵列值作為字節(jié)組合編碼對象,逐一進(jìn)行字節(jié)編碼并組合,形成1個字節(jié)序列,作為鍵值對存儲格式的行鍵值,轉(zhuǎn)到步驟105;步驟105、根據(jù)內(nèi)存中目標(biāo)表值字段字節(jié)組合編碼的初始化信息,從待存用戶數(shù)據(jù)中解析出非主鍵列值作為字節(jié)組合編碼對象,逐一進(jìn)行字節(jié)編碼并組合,形成1個字節(jié)序列,作為鍵值對存儲格式的值字段內(nèi)容,轉(zhuǎn)到步驟106;步驟106、存儲HBase:將步驟104得到的行鍵值字節(jié)序列和步驟105得到的值字段字節(jié)序列,組裝成鍵值對,并調(diào)用HBase客戶端應(yīng)用編程接口的數(shù)據(jù)插入方式完成HBase寫入。2.如權(quán)利要求1所述的基于HBase的高效存儲方法,其特征在于:步驟106之后,還包括以下查詢HBase數(shù)據(jù)的步驟:步驟201、輸入對目標(biāo)表的查詢請求;步驟202、判斷內(nèi)存中是否有目標(biāo)表的字節(jié)組合編碼的初始化信息,如果沒有,則轉(zhuǎn)到步驟203;如果有,則轉(zhuǎn)到步驟204;步驟203、訪問元數(shù)據(jù)庫,對目標(biāo)表的字節(jié)組合編碼進(jìn)行初始化,并將初始化信息寫入內(nèi)存中,返回步驟202;步驟204、根據(jù)內(nèi)存中目標(biāo)表的初始化信息逐一對屬于查詢請求范圍中的主鍵進(jìn)行字節(jié)組合編碼,得到結(jié)果集對應(yīng)HBase中的行鍵范圍;步驟205、根據(jù)步驟204的行鍵范圍掃描HBase,得到結(jié)果集對應(yīng)HBase中的值范圍,轉(zhuǎn)到步驟206;步驟206、結(jié)合步驟205的結(jié)果集對應(yīng)HBase中的值范圍,根據(jù)值字段字節(jié)組合編碼方式及其對象指示器進(jìn)行反編碼,得到此次查詢請求結(jié)果,轉(zhuǎn)到步驟207;步驟207、返回查詢結(jié)果。3.一種基于HBase的高效存儲系統(tǒng),其特征在于:所述系統(tǒng)包括HBase寫入裝置,所述HBase寫入裝置包括第一輸入單元、第一初始化單元、主鍵列字節(jié)組合編碼單元、非主鍵列字節(jié)組合編碼單元、HBase寫入單元,其中:所述第...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:向智宇,郝俊瑞,高漢松,郭嘉,許德瑋,王靜,
申請(專利權(quán))人:武漢郵電科學(xué)研究院,
類型:發(fā)明
國別省市:湖北;42
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。