李和顯 胡博
摘 要 物聯(lián)網(wǎng)是基于互聯(lián)網(wǎng)的第二網(wǎng)絡,近年來,其應用和發(fā)展如火如荼,在如今科技飛速發(fā)展的過程中起著舉足輕重的作用。物聯(lián)網(wǎng)以數(shù)據(jù)為中心,其核心是數(shù)據(jù)存儲和管理,而無線通信技術的出現(xiàn)和快速發(fā)展,伴隨著人類社會中龐大的終端數(shù)量,將會產(chǎn)生海量數(shù)據(jù)。無疑,數(shù)據(jù)存儲和管理技術將備受關注。鑒于此,本文提出了基于HBase的數(shù)據(jù)存儲方案,從物聯(lián)網(wǎng)海量數(shù)據(jù)存儲系統(tǒng)的角度,對其進行設計,實現(xiàn)對數(shù)據(jù)存儲的智能化處理,為信息服務提供安全保障。
關鍵詞 物聯(lián)網(wǎng) 數(shù)據(jù)存儲 HBase
中圖分類號:TP393文獻標識碼:A
0前言
人類社會從信息時代向數(shù)據(jù)時代的過渡使得數(shù)據(jù)處理需求急劇上升,當前物聯(lián)網(wǎng)信息服務系統(tǒng)數(shù)據(jù)存儲存在性能低下、共享困難等問題,因此,如何有效并可靠地存儲這些數(shù)據(jù)對系統(tǒng)建設者們提出了巨大挑戰(zhàn)。本文提出基于HBase的數(shù)據(jù)存儲設計方案,為有效存儲數(shù)據(jù)提供了有力的支持。
1相關理論介紹
1.1數(shù)據(jù)存儲
數(shù)據(jù)存儲是數(shù)據(jù)流在加工過程中產(chǎn)生的臨時文件或需要查找的信息,數(shù)據(jù)以某種格式記錄在計算機的內部或外部存儲介質上,傳統(tǒng)存儲介質多為磁帶或磁盤。而物聯(lián)網(wǎng)數(shù)據(jù)通常數(shù)量巨大,難于收集、處理和分析,這就對存儲系統(tǒng)設計者們提出了巨大挑戰(zhàn)。一個高性能的數(shù)據(jù)存儲系統(tǒng)通常要求智能、大容量、高吞吐率、存儲可靠,并且有良好的橫向擴展性能。
1.2 HBase簡介
HBase是一個開源的分布式數(shù)據(jù)庫,以Google公布的BigTable為基礎實現(xiàn),具有開源、分布式、可擴展以及面向列存儲的特點,在架構上遵從主從模式,不支持事務的聯(lián)機處理,不能進行關系查詢。HBase適合物聯(lián)網(wǎng)海量數(shù)據(jù)存儲的優(yōu)勢在于其數(shù)據(jù)存儲規(guī)模大,存儲結構靈活,并且可以按列存儲,這使得HBase數(shù)據(jù)表有著大容量、高靈活度以及高效率。HBase的存儲底層是Key-Value的形式,在存儲模型中HBase有四個維度的關系,即行鍵、列族、列、時間戳。HBase中存儲的任意一個值可以認為是一個存儲單元,每個存儲單元由行鍵、列族、列、時間戳唯一確定。讀取HBase數(shù)據(jù)表中的數(shù)據(jù)時,需要先定位到目標數(shù)據(jù)的行鍵,然后根據(jù)列族、列確定數(shù)據(jù)存儲單元的具體位置,從而得到數(shù)據(jù)。
2系統(tǒng)設計及實現(xiàn)
2.1實時監(jiān)控模塊設計及實現(xiàn)
實時監(jiān)控數(shù)據(jù)存儲模塊中存儲的是經(jīng)過解析的傳感數(shù)據(jù)。此模塊的基本功能是完整地存儲解析后的傳感數(shù)據(jù),快速響應實時監(jiān)控系統(tǒng)對數(shù)據(jù)的查詢。關于存儲方式,由于其內存儲的數(shù)據(jù)需要同步到分布式數(shù)據(jù)存儲集群中,因此要以易于數(shù)據(jù)同步的方式進行存儲。另外,實時監(jiān)控系統(tǒng)需要頻繁地查詢數(shù)據(jù)庫中不斷更新的數(shù)據(jù), 因此最好采用讀寫分離的方式,提高模塊的可用性。綜合以上幾點,可以考慮MySQL數(shù)據(jù)庫系統(tǒng),它使用SQL(結構化查詢語言)對數(shù)據(jù)庫進行管理,在速度、可靠性和適應性等方面都符合設計要求,因此本文選用MySQL存儲實時監(jiān)控數(shù)據(jù)。
2.2原始數(shù)據(jù)存儲模塊設計及實現(xiàn)
原始數(shù)據(jù)存儲模塊負責接收數(shù)據(jù)同步模塊傳輸?shù)脑紨?shù)據(jù),并且以集群的形式存儲數(shù)據(jù),使數(shù)據(jù)由單機存儲變?yōu)榉植际郊捍鎯?,因此對原始?shù)據(jù)存儲模塊有著存儲量大、易擴展、數(shù)據(jù)易用的要求。經(jīng)過研究可以得出,基于Hadoop生態(tài)的各類組件都比較適合本系統(tǒng)的存儲需求。Hadoop是目前比較流行的大數(shù)據(jù)處理框架,包含了很多極具實用性的功能組件,尤其是其中的分布式文件系統(tǒng)HDFS,可以說是滿足本系統(tǒng)原始數(shù)據(jù)存儲的不二之選。HDFS具有高可用、易擴展的特點,同時HDFS以文件的形式存儲數(shù)據(jù),并有多種存儲形式可以靈活使用。
2.3數(shù)據(jù)同步模塊設計及實現(xiàn)
數(shù)據(jù)同步模塊可以將關系型數(shù)據(jù)庫中存儲的數(shù)據(jù)同步到分布式數(shù)據(jù)存儲集群中, 此模塊可以自動或通過人工指定數(shù)據(jù)庫中數(shù)據(jù)的同步位置,指定數(shù)據(jù)過濾規(guī)則,并根據(jù)數(shù)據(jù)的不同類型進行處理。其具體功能是將實時監(jiān)控系統(tǒng)數(shù)據(jù)存儲模塊的數(shù)據(jù)同步到原始數(shù)據(jù)存儲模塊中。因為原始數(shù)據(jù)存儲模塊還要為后續(xù)的數(shù)據(jù)整合、查詢模塊提供支持,所以要盡量保證及時性,同步增量數(shù)據(jù),若每次同步數(shù)據(jù)規(guī)模小,則速度會更快。因此本系統(tǒng)選用增量同步工具。在系統(tǒng)開始運行時,同步開啟數(shù)據(jù)同步工具,只需要每次把變化的數(shù)據(jù)同步到HDFS中即可,這樣就可以保證數(shù)據(jù)同步的及時性與完整性。
2.4數(shù)據(jù)整合模塊設計及實現(xiàn)
數(shù)據(jù)整合模塊的作用是對存儲在分布式文件系統(tǒng)中的原始數(shù)據(jù)進行二次處理,以應對系統(tǒng)對不同維度數(shù)據(jù)的查詢需求。這種查詢需求主要有兩類,第一類是常規(guī)化處理任務,定期執(zhí)行,對期間的增量數(shù)據(jù)按照既定方案進行處理,匯總到原有的處理結果中,供查詢任務使用;第二類是應對臨時性的處理任務,單次處理大量數(shù)據(jù)得出結果。針對數(shù)據(jù)批處理的要求,并考慮到對大規(guī)模數(shù)據(jù)的處理延時要求不是很高,需要存儲大量數(shù)據(jù)等,選擇采用MapReduce批處理計算模型來對數(shù)據(jù)進行處理。對于定期處理任務,通過Linux系統(tǒng)的crontab任務來固定執(zhí)行時間,并通過檢測據(jù)文件的產(chǎn)生時間來確定需要處理的數(shù)據(jù)源。
2.5多維度數(shù)據(jù)存儲模塊
多維度數(shù)據(jù)存儲模塊用于存儲被數(shù)據(jù)處理模塊處理、整合后的數(shù)據(jù),要求此模塊存儲方式靈活、存儲規(guī)模大、查詢便捷,這樣才能避免后期數(shù)據(jù)應用困難,有足夠大的容量來存儲不斷增加的數(shù)據(jù)信息,并且保證查詢的便捷性。綜合考慮以上因素,本系統(tǒng)選用基于Hadoop的HBase非關系型數(shù)據(jù)庫,作為多維度數(shù)據(jù)存儲模塊。由于HBase為非關系型,因此對數(shù)據(jù)的列信息控制相對寬松,可以在兩個維度上進行信息表的擴展,即既可以隨時添加新的行,也可以增加列的內容。如此,對數(shù)據(jù)信息存儲的靈活性大大提高。同時HBase單表的規(guī)??蛇_數(shù)十億行數(shù)百萬列,完全可以滿足本系統(tǒng)的存儲要求。
3結語
該文介紹了數(shù)據(jù)存儲和HBase技術的基本概況,充分發(fā)揮HBase的特性,結合物聯(lián)網(wǎng)海量數(shù)據(jù)的特點,設計了基于HBase的數(shù)據(jù)存儲系統(tǒng),該系統(tǒng)實時監(jiān)控模塊、原始數(shù)據(jù)存儲模塊、數(shù)據(jù)同步模塊、數(shù)據(jù)整合模塊和多維度數(shù)據(jù)存儲模塊五部分組成,在每個模塊的設計與選型上都以盡可能大的限度契合物聯(lián)網(wǎng)數(shù)據(jù)的特點,并且強調其高靈活性和大規(guī)模存儲的特點,力求以盡可能高的性能滿足人類社會日益提高的對物聯(lián)網(wǎng)數(shù)據(jù)存儲的迫切需求。
作者簡介:李和顯,男,哈爾濱石油學院信息工程學院信息工程學院15級計算機專業(yè)。
參考文獻
[1] 周開樂,丁帥,胡小建.面向海量數(shù)據(jù)應用的物聯(lián)網(wǎng)信息服務系統(tǒng)研究綜述[J].計算機應用研究,2012(01):8-11.
[2] 田野,袁博,李廷力.物聯(lián)網(wǎng)海量異構數(shù)據(jù)存儲與共享策略研究[J].電子學報,2016(02):247-257.