趙立波+李凌霞+王旭
摘要:物聯(lián)網中的數(shù)據(jù)具有海量、異構性的特點,數(shù)據(jù)存儲關系到數(shù)據(jù)共享、數(shù)據(jù)查詢等后續(xù)工作,對存儲方式的研究一直備受關注。在介紹存儲策略和查詢技術的基礎上,著重探討查詢算法,為海量異構傳感采樣數(shù)據(jù)存儲提供可參考的解決方案。
關鍵詞:物聯(lián)網;海量數(shù)據(jù);異構數(shù)據(jù);海量數(shù)據(jù);數(shù)據(jù)查詢
DOIDOI:10.11907/rjdk.172023
中圖分類號:TP392
文獻標識碼:A 文章編號:1672-7800(2017)012-0182-02
Abstract:The datas in the IoT are massive and heterogeneous, the good storage strategy has been a research hotspot. The storage of data is related to the next operation, such as data sharing, data query and so on. Based on the analysis of storage technology, a storage strategy is proposed based on the selection of appropriate storage technology, and the query algorithm is discussed, which provides a reference solution for the storage of massive heterogeneous sensor sampling data.
Key Words:Internet of Things;massive data;heterogeneous data;storage;data query
0 引言
1999年,美國Auto-ID首先提出“物聯(lián)網”(The Internet of Thing,IoT)的概念[1],指通過各種信息傳感系統(tǒng)(如傳感網、射頻識別系統(tǒng)、紅外感應器、激光掃描器等)、條碼與二維碼、全球定位系統(tǒng),按約定的通信協(xié)議,將物與物、人與物、人與人連接起來,通過各種接入網、互聯(lián)網進行信息交換,以實現(xiàn)智能化識別、定位、跟蹤、監(jiān)控的一種信息網絡。物聯(lián)網從底層到高層共分為感知層、網絡層、數(shù)據(jù)層、應用層[2]。數(shù)據(jù)經過層層處理,從底層傳送到高層。
物聯(lián)網中的數(shù)據(jù)具有如下特征:①物聯(lián)網數(shù)據(jù)的大數(shù)據(jù)特征。由于物聯(lián)網結點中存在各類傳感器節(jié)點,感知的數(shù)據(jù)類型各不相同,每一個傳感器在工作期間都是頻繁地采集數(shù)據(jù),因此整個系統(tǒng)中產生了海量數(shù)據(jù),這些海量數(shù)據(jù)的存儲、查詢對于物聯(lián)網數(shù)據(jù)管理系統(tǒng)是一個巨大挑戰(zhàn);②物聯(lián)網數(shù)據(jù)的異構性[3]。在一個物聯(lián)網系統(tǒng)中,包含不同類型的傳感節(jié)點,例如音頻傳感器、溫度傳感器、GPS傳感器等,這些傳感器得到的采樣數(shù)據(jù)結構完全不同,而這些不同類型的采樣數(shù)據(jù)要在一個網絡中協(xié)調工作,互相配合。因此,如何存儲這些異構的海量數(shù)據(jù)亟待研究解決。鑒于此,本文梳理了物聯(lián)網海量異構數(shù)據(jù)的存儲策略和查詢技術,總結了各種方法的優(yōu)缺點,為海量異構傳感采樣數(shù)據(jù)存儲提供參考。
1 物聯(lián)網數(shù)據(jù)管理系統(tǒng)特點與結構
物聯(lián)網的數(shù)據(jù)管理系統(tǒng)是分布式的,但又不同于傳統(tǒng)分布式數(shù)據(jù)庫系統(tǒng),它具有自己的特性:一是在傳感網的生存環(huán)境中,感知節(jié)點可能隨時失效,存儲容量、處理能力、電池能量有限;二是數(shù)據(jù)需在傳感網內進行預處理,這是因為物聯(lián)網由海量節(jié)點組成,并且每個節(jié)點采集到的采樣數(shù)據(jù)中包含大量冗余無效的噪聲數(shù)據(jù);三是能夠處理感知數(shù)據(jù)誤差。
物聯(lián)網中的數(shù)據(jù)管理系統(tǒng)主要分為集中式、半分布式、分布式、層次式。集中式結構中,節(jié)點的工作方式是將采集的數(shù)據(jù)按事先約定的形式傳送至中心節(jié)點,再由中心節(jié)點統(tǒng)一處理。這種方式的優(yōu)點是簡單,并且數(shù)據(jù)中心與節(jié)點相比較,具有強大的存儲和計算能力,可以支持復雜、密集的查詢工作。但缺點也很明顯,中心節(jié)點成為整個系統(tǒng)的瓶頸,容錯性較差。半分布式結構中,節(jié)點將數(shù)據(jù)傳送到中心節(jié)點之前,會對原始數(shù)據(jù)進行簡單處理。分布式結構中,節(jié)點獨自處理數(shù)據(jù)存儲及查詢命令。顯然,這要求網絡中所有節(jié)點具有較強的通信、存儲和計算能力。由于每次查詢都會有網絡通信開銷,導致查詢效率低下,因此分布式結構不適合密集、復雜的查詢工作。層次式結構中,節(jié)點被分為網絡層和代理層兩種類型。網絡層的每個節(jié)點均具有一定的計算和存儲能力,完成諸如接收指令、本地計算和數(shù)據(jù)傳送等任務。而代理層是為了完成接收命令、本地計算和數(shù)據(jù)傳輸?shù)裙δ?,因此代理層?jié)點要求具有一定的計算和存儲能力。
2 物聯(lián)網海量異構數(shù)據(jù)存儲策略
對于物聯(lián)網的海量異構數(shù)據(jù),較好的方案是采用集中式處理方式。集中式管理方式下,文件系統(tǒng)的存儲方式由于效率限制,不適合作為物聯(lián)網數(shù)據(jù)的存儲方案,數(shù)據(jù)庫技術作為物聯(lián)網數(shù)據(jù)的存儲方案是比較常見的選擇。
數(shù)據(jù)庫技術可分為關系型數(shù)據(jù)庫和非關系型數(shù)據(jù)庫。關系型數(shù)據(jù)庫技術較為成熟,對數(shù)據(jù)描述精確,強調數(shù)據(jù)的完整性、一致性。然而,傳感網數(shù)據(jù)流具有與之完全不同的特點,即數(shù)據(jù)實時到達,是一個時間序列,且數(shù)據(jù)流中存在噪聲數(shù)據(jù),數(shù)據(jù)具有多樣性,結構完全不同,因此不能簡單地將關系型數(shù)據(jù)庫技術推廣到物聯(lián)網數(shù)據(jù)存儲處理中。
新興的非關系型數(shù)據(jù)庫技術中,NoSQL技術由于性能、擴展性等方面的優(yōu)勢,在處理大數(shù)據(jù)方面有很多成功應用,其中包含云數(shù)據(jù)管理技術。其利用普通PC搭建平臺,動態(tài)管理大規(guī)模計算機資源,使這些計算機協(xié)調工作,結合計算機群的資源處理能力,為海量數(shù)據(jù)處理提供有效解決方法。
針對物聯(lián)網海量異構數(shù)據(jù)的特點,對于數(shù)據(jù)存儲,必須對原始數(shù)據(jù)作預處理,并用統(tǒng)一的表達方式將數(shù)據(jù)存儲到數(shù)據(jù)庫中。endprint
(1)預處理。在物聯(lián)網節(jié)點內進行數(shù)據(jù)預處理,其原因有二:一是由于物聯(lián)網中的采樣數(shù)據(jù)帶有大量的噪聲數(shù)據(jù),而物聯(lián)網節(jié)點處理能力及能量有限,因此要先進行數(shù)據(jù)清洗、數(shù)據(jù)融合、關鍵值提取;二是由于物聯(lián)網各節(jié)點采樣數(shù)據(jù)格式不一致,因此預處理中也要對數(shù)據(jù)格式進行統(tǒng)一規(guī)劃。
根據(jù)傳感器類型的不同,將采樣數(shù)據(jù)分為非數(shù)值化與數(shù)值化兩種。對于非數(shù)值化數(shù)據(jù),例如視頻、音頻數(shù)據(jù),要根據(jù)實際應用作分析,通過算法提取出關鍵值;對于數(shù)值型數(shù)據(jù),還需注意密集數(shù)據(jù)的稀疏化。數(shù)據(jù)經過清洗和融合之后,定義一個狀態(tài)變化的閾值,當狀態(tài)變化超過閾值,才提取數(shù)據(jù),進一步達到數(shù)據(jù)關鍵值提取的目的。
(2)數(shù)據(jù)表達。文獻[2-3]中,提出使用非NoSQL數(shù)據(jù)庫存儲物聯(lián)網數(shù)據(jù)的策略。在此方法中,有三級數(shù)據(jù):數(shù)據(jù)元素、數(shù)據(jù)記錄、數(shù)據(jù)集合。數(shù)據(jù)集合由數(shù)據(jù)記錄組成,數(shù)據(jù)記錄由數(shù)據(jù)元素組成。采樣數(shù)據(jù)包含兩類信息:靜態(tài)信息和動態(tài)信息。靜態(tài)信息指只采集一次信息,例如傳感節(jié)點ID;而動態(tài)信息指時空相關信息,例如時間、溫度等。用一條類似于數(shù)據(jù)中的記錄記載這兩條信息,如圖1所示。
靜態(tài)信息和動態(tài)信息分別指向原子信息開始位置,每個原子信息表示方法為:
多個數(shù)據(jù)元素組成了一條記錄,內容包括senID、type、value、time,loc。senID:節(jié)點ID;type:數(shù)據(jù)類型;value:數(shù)據(jù)值;time:采樣時間;loc:采樣地點。每條記錄相當于關系型數(shù)據(jù)庫中的一條記錄,若干條記錄組成一個數(shù)據(jù)集合。
文獻[4]中,提出用MongoDB數(shù)據(jù)庫存儲數(shù)據(jù)的方法。此方法中,可以像普通關系數(shù)據(jù)庫用E-R圖設計數(shù)據(jù)邏輯模型,將E-R圖中的實體集、屬性集和方法集轉換為MongoDB中的屬性和集合。
E-R模型中的單值屬性、對象屬性、派生屬性分別為單一鍵值對應的文檔、多鍵值對應的文檔和外部引用的文檔。實體可以轉換為集合,在實體轉換為集合時:一對一的關系中,將兩個實體轉換為一個集合,一個實體看作另一個實體的屬性;一對多的關系中,將兩個實體分別建立集合,再根據(jù)具體情況確定將哪個集合嵌套在另一個集合中;多對多的關系中,將實體和關系都映射為集合,再根據(jù)應用需求構建不同的數(shù)據(jù)模型。
非關系型數(shù)據(jù)庫的存儲方式能夠高效實現(xiàn)主關鍵字的查詢,缺點是對于物聯(lián)網數(shù)據(jù)的時空關系表示與存儲、時空邏輯條件查詢以及屬性約束條件查詢等不能很好地予以支持。
3 查詢技術
目前,物聯(lián)網海量數(shù)據(jù)查詢算法相關研究并不多,主要方法是構建能夠快速查詢數(shù)據(jù)的索引表,加快查詢速度。每種查詢算法都與數(shù)據(jù)存儲方案關系緊密,不能普遍適用。文獻[5]提出了一種基于分布式哈希表的數(shù)據(jù)結構查詢方法,將數(shù)據(jù)抽象為
4 結語
海量異構數(shù)據(jù)如何存儲,達到方便共享、快速查詢的要求值得探究。本文從尋求合適的存儲方式入手,分析各類數(shù)據(jù)的不同,提出了一種能夠統(tǒng)一表達數(shù)據(jù)的存儲策略,并對查詢技術作了探討。未來工作中,將進一步探尋
更高效的查詢方法。
參考文獻:
[1] SARMA S,BROCK D L,ASHTON K. MIT auto ID WH-001:the networked physical world-proposals for engineering the next generation of computing,commerce & automatic-identification[M].Massachusetts:MIT Press,2000.
[2] 丁治明.面向物聯(lián)網海量傳感器采樣數(shù)據(jù)管理的數(shù)據(jù)庫集群系統(tǒng)框架[J].計算機工程,2011,37(23):1175-1191.
[3] 田野.物聯(lián)網海量異構數(shù)據(jù)存儲與共享策略研究[J].電子學報,2016,44(2):247-256.
[4] 王光磊.MongoDB數(shù)據(jù)庫的應用研究和方案優(yōu)化[J].信息科技,2011,20(044):93-96.
[5] 李占波.基于Chord算法的物聯(lián)網信息機制[J].2011,37(23):107-109.
[6] 馬武彬,劉明星,鄧蘇,等.面向物聯(lián)網的語義空間資源索引構建及其查詢優(yōu)化算法[J].系統(tǒng)工程與電子技術,2014,36(1):173-178.
(責任編輯:孫 娟)