物聯(lián)網(wǎng)(Internet of things,loT)涉及到人類(lèi)生活的各個(gè)方面,對(duì)于提高國(guó)民生活質(zhì)量、推動(dòng)經(jīng)濟(jì)發(fā)展具有十分重要的意義,F(xiàn)已經(jīng)成為學(xué)術(shù)界和工業(yè)界的關(guān)注焦點(diǎn),甚至升級(jí)為很多國(guó)家的發(fā)展戰(zhàn)略,如歐洲的“e-Europe”、美國(guó)的“智慧地球”以及我國(guó)的“感知中國(guó)”戰(zhàn)略。
從數(shù)據(jù)處理角度,物聯(lián)網(wǎng)自下而上可以分為感知層、網(wǎng)絡(luò)層、數(shù)據(jù)層以及應(yīng)用層,如圖l所示。可以看到,數(shù)據(jù)層在整個(gè)物聯(lián)網(wǎng)體系結(jié)構(gòu)中起到了承上啟下的作用,向下服務(wù)于感知網(wǎng)絡(luò),向上為各類(lèi)應(yīng)用作有力支撐,其核心功能之一是存儲(chǔ)物聯(lián)網(wǎng)感知數(shù)據(jù),將數(shù)據(jù)以一定的形式記錄于存儲(chǔ)介質(zhì)中。感知數(shù)據(jù)反映了物理世界特定條件下的真實(shí)狀態(tài),因而蘊(yùn)涵了大量直接的或不為人們所知的潛在的有價(jià)值信息,借助于信息處理技術(shù)可實(shí)現(xiàn)物聯(lián)網(wǎng)智能化應(yīng)用;而作為記錄感知數(shù)據(jù)的手段,數(shù)據(jù)存儲(chǔ)系統(tǒng)可以保證感知數(shù)據(jù)的持續(xù)累積,為物聯(lián)網(wǎng)提取信息、挖掘知識(shí)提供實(shí)時(shí)的或大量的歷史數(shù)據(jù),是實(shí)現(xiàn)物聯(lián)網(wǎng)智能化應(yīng)用的關(guān)鍵角色。因此,設(shè)計(jì)良好的數(shù)據(jù)存儲(chǔ)方案對(duì)于推動(dòng)物聯(lián)網(wǎng)發(fā)展、實(shí)現(xiàn)物聯(lián)網(wǎng)價(jià)值的最大化具有不可替代的作用。
圖1 物聯(lián)網(wǎng)層次
本文開(kāi)展了物聯(lián)網(wǎng)存儲(chǔ)模式與方案研究,首先分析了物聯(lián)網(wǎng)數(shù)據(jù)特征為存儲(chǔ)帶來(lái)韻挑戰(zhàn),并基于此提出物聯(lián)網(wǎng)存儲(chǔ)的需求,根據(jù)需求給出物聯(lián)網(wǎng)存儲(chǔ)方案定性評(píng)價(jià)指標(biāo);其次,對(duì)物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)模式進(jìn)行分類(lèi),并根據(jù)這些分類(lèi)介紹物聯(lián)網(wǎng)存儲(chǔ)的研究現(xiàn)狀與進(jìn)展,同時(shí)對(duì)典型的物聯(lián)網(wǎng)存儲(chǔ)技術(shù)及方案進(jìn)行了比較分析;之后根據(jù)物聯(lián)網(wǎng)應(yīng)用分類(lèi)指出適合相應(yīng)應(yīng)用特性的存儲(chǔ)模式;最后對(duì)物聯(lián)網(wǎng)存儲(chǔ)進(jìn)一步工作進(jìn)行了總結(jié)。
1.物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)挑戰(zhàn)與需求
1.1 物聯(lián)網(wǎng)數(shù)據(jù)特征與挑戰(zhàn)
物聯(lián)網(wǎng)數(shù)據(jù)來(lái)源于大規(guī)模異構(gòu)感知設(shè)備,描述著數(shù)以十億計(jì)的物理世界對(duì)象,總體而言其呈現(xiàn)以下主要特征:
a)多源異構(gòu)。物聯(lián)網(wǎng)數(shù)據(jù)來(lái)源于不同的感知設(shè)備,如RFID識(shí)讀器、視頻設(shè)備、溫度傳感器、濕度傳感器等,源自這些設(shè)備的數(shù)據(jù)有著不同的語(yǔ)義及結(jié)構(gòu)。
b)超大規(guī)模。物聯(lián)網(wǎng)部署了數(shù)量巨大的感知設(shè)備,這些設(shè)備的持續(xù)感知將以前所未有的速度產(chǎn)生數(shù)據(jù),導(dǎo)致數(shù)據(jù)規(guī)模的急劇膨脹,形成了海量數(shù)據(jù)。
c)時(shí)空關(guān)聯(lián)。物聯(lián)網(wǎng)系統(tǒng)中每一個(gè)采樣數(shù)據(jù)都具備時(shí)間和空間屬性,用于描述物體狀態(tài)在時(shí)間和空間上的動(dòng)態(tài)變化。
d)多維標(biāo)量。物聯(lián)網(wǎng)應(yīng)用通常集成了多個(gè)不同種類(lèi)的感知設(shè)備,可同時(shí)感知多個(gè)指標(biāo)量(即多維事件),因而物聯(lián)網(wǎng)采樣數(shù)據(jù)通常是多維甚至是高維的。
e)冗余度高。物聯(lián)網(wǎng)應(yīng)用中存在采樣頻率過(guò)高以及不同的感知設(shè)備對(duì)同一個(gè)物體同時(shí)感知等情況,這類(lèi)情況導(dǎo)致了大量的冗余數(shù)據(jù)。
上述特征為物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn)帶來(lái)了巨大挑戰(zhàn):a)物聯(lián)網(wǎng)多源異構(gòu)數(shù)據(jù)給存儲(chǔ)與共享形成了不少難題,需要對(duì)數(shù)據(jù)的表達(dá)進(jìn)行細(xì)致的考慮.b)數(shù)據(jù)規(guī)模巨大,對(duì)海量存儲(chǔ)空間有強(qiáng)烈需求;c)感知信息具有時(shí)空關(guān)聯(lián)的特性,蘊(yùn)藏了海量有價(jià)值的信息,存儲(chǔ)系統(tǒng)需要支持從不同空間區(qū)域上的多粒度分級(jí)存儲(chǔ)和檢索,以改善資源利用率并提高信息獲取效率;d)(實(shí)時(shí)的、歷史的)多維事件的檢測(cè)不僅需要考慮效率,還需要在具有不確定性(缺失、噪聲等)的情況下保證較高的準(zhǔn)確率;e)冗余數(shù)據(jù)占據(jù)了過(guò)多的存儲(chǔ)空間與網(wǎng)絡(luò)流量,需要適當(dāng)?shù)貕嚎s、去重以保證數(shù)據(jù)質(zhì)量。因而物聯(lián)網(wǎng)存儲(chǔ)系統(tǒng)相對(duì)于傳統(tǒng)互聯(lián)網(wǎng)存儲(chǔ)面臨著更多更新的難題,需要專(zhuān)門(mén)研究以支持物聯(lián)網(wǎng)智能應(yīng)用。
1.2 物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)需求
為應(yīng)對(duì)物聯(lián)網(wǎng)的挑戰(zhàn),應(yīng)用于物聯(lián)網(wǎng)的存儲(chǔ)系統(tǒng)須滿足以下需求:
a)開(kāi)放兼容,即物聯(lián)網(wǎng)信息服務(wù)系統(tǒng)具備良好的開(kāi)放性。接口與交互協(xié)議須便于物聯(lián)網(wǎng)信息的發(fā)現(xiàn)、定位和獲取,使得物聯(lián)網(wǎng)信息的共享成為可能;兼容多種物聯(lián)網(wǎng)技術(shù),屏蔽多種數(shù)據(jù)接口帶來(lái)的復(fù)雜性,物聯(lián)網(wǎng)數(shù)據(jù)可用于數(shù)據(jù)挖掘、狀態(tài)跟蹤等各類(lèi)應(yīng)用,兼容多源、異構(gòu)的物聯(lián)網(wǎng)有助于縮減應(yīng)用開(kāi)發(fā)成本,降低使用代價(jià)。
b)動(dòng)態(tài)擴(kuò)展。它包括兩方面:(a)存儲(chǔ)能力動(dòng)態(tài)可擴(kuò)展,具備伴隨數(shù)據(jù)規(guī)模增大可無(wú)限橫向擴(kuò)展的能力,同時(shí)也具備需求完成后釋放資源的能力,良好的彈性是應(yīng)對(duì)物聯(lián)網(wǎng)海量數(shù)據(jù)存儲(chǔ)的基本前提;(b)數(shù)據(jù)結(jié)構(gòu)動(dòng)態(tài)可擴(kuò)展,即數(shù)據(jù)不要固定結(jié)構(gòu),可根據(jù)需求靈活定制數(shù)據(jù)格式。物聯(lián)網(wǎng)數(shù)據(jù)具有多源、異構(gòu)的特點(diǎn),固定結(jié)構(gòu)難以應(yīng)對(duì)此類(lèi)數(shù)據(jù)的管理,靈活結(jié)構(gòu)可解決此難題。
c)可靠高效,即支持高并發(fā)及高可用性。物聯(lián)網(wǎng)存在大量網(wǎng)關(guān)同時(shí)向信息服務(wù)系統(tǒng)寫(xiě)數(shù)據(jù)以及大量用戶同時(shí)查詢(xún)數(shù)據(jù)的情景,信息服務(wù)系統(tǒng)需對(duì)這類(lèi)高并發(fā)場(chǎng)景提供良好支持;另一方面,還應(yīng)在部分節(jié)點(diǎn)失效的情況下,整個(gè)系統(tǒng)依然可提供正常信息服務(wù),即具備高容錯(cuò)能力,這是信息服務(wù)系統(tǒng)可用的關(guān)鍵。
d)安全可信。物聯(lián)網(wǎng)信息服務(wù)系統(tǒng)健康地運(yùn)維需要健全的安全體系支持,系統(tǒng)的開(kāi)放性對(duì)維護(hù)數(shù)據(jù)安全、提高隱私保護(hù)帶來(lái)了更大的挑戰(zhàn)。構(gòu)建于安全可信框架下的物聯(lián)網(wǎng)信息服務(wù)是推動(dòng)用戶廣泛接受必須滿足的條件,也是物聯(lián)網(wǎng)普及應(yīng)用的前提。
2.物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)評(píng)價(jià)指標(biāo)
根據(jù)物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)需求,可以從以下幾個(gè)方面展開(kāi)對(duì)物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)方案的評(píng)價(jià):
a)開(kāi)放性(openness),指系統(tǒng)具有開(kāi)放性質(zhì)的措施和形式,其他系統(tǒng)能夠方便地接人,可以通過(guò)約定的規(guī)則或協(xié)議交換數(shù)據(jù)、協(xié)同工作、共享資源。
b)擴(kuò)展性(scalability),指在通過(guò)增加設(shè)備等手段提升存儲(chǔ)能力的同時(shí),系統(tǒng)整體性能不會(huì)受到顯著的消極影響。
c)靈活性(flexibility),在此指存儲(chǔ)系統(tǒng)可應(yīng)對(duì)異構(gòu)的數(shù)據(jù),靈活調(diào)整數(shù)據(jù)結(jié)構(gòu)。
d)可靠性(reliability),指系統(tǒng)在一定時(shí)間內(nèi)無(wú)故障地完成指定任務(wù)的可能性,通常可以用平均無(wú)故障時(shí)衡量。
e)高效性(efficiency),指系統(tǒng)在完成特定任務(wù)時(shí)占用較少的時(shí)間和資源。
f)安全性(security),指系統(tǒng)可以通過(guò)如訪問(wèn)控制、加密等安全手段確保數(shù)據(jù)的私密性。
g)可用性(usability),指系統(tǒng)易用程度,是否可輕松高效地完成特定范圍的任務(wù)。
h)實(shí)時(shí)性(real-time),指系統(tǒng)中數(shù)據(jù)的產(chǎn)生到獲取經(jīng)歷的時(shí)延小于限定時(shí)間。
其中,評(píng)價(jià)指標(biāo)a)對(duì)應(yīng)于開(kāi)放兼容的需求;評(píng)價(jià)指標(biāo)b)c)對(duì)應(yīng)于動(dòng)態(tài)擴(kuò)展的需求;評(píng)價(jià)指標(biāo)d)e)對(duì)應(yīng)于可靠高效的需求;評(píng)價(jià)指標(biāo)f)對(duì)應(yīng)于安全可信的需求;評(píng)價(jià)指標(biāo)g)對(duì)應(yīng)于系統(tǒng)普適需求;評(píng)價(jià)指標(biāo)h)對(duì)應(yīng)于部分應(yīng)用特別需求。
3.物聯(lián)網(wǎng)存儲(chǔ)研究進(jìn)展與比較分析
3.1 存儲(chǔ)模式分類(lèi)
物聯(lián)網(wǎng)整體是由若干局域感知網(wǎng)絡(luò)構(gòu)成,感知網(wǎng)絡(luò)之間基于互聯(lián)網(wǎng)、衛(wèi)星等手段實(shí)現(xiàn)互連互通。從網(wǎng)絡(luò)構(gòu)成角度劃分,物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)模式主要分為兩大類(lèi):
a)網(wǎng)內(nèi)存儲(chǔ)模式。利用感知網(wǎng)絡(luò)自身的存儲(chǔ)能力記錄感知數(shù)據(jù);通常感知設(shè)備都具備一定的存儲(chǔ)空間,以WSN為例,除電源、傳感單元、處理器等部件外,也配備了存儲(chǔ)單元,可以保存一定量的數(shù)據(jù)。網(wǎng)內(nèi)存儲(chǔ)還可細(xì)分為兩類(lèi):(a)本地存儲(chǔ),感知數(shù)據(jù)生成后就地存儲(chǔ)于產(chǎn)生它的感知節(jié)點(diǎn)中;(b)分布存儲(chǔ),感知數(shù)據(jù)分布存儲(chǔ)于感知網(wǎng)絡(luò)的某些或全部節(jié)點(diǎn)中,通過(guò)分布式機(jī)制實(shí)現(xiàn)對(duì)數(shù)據(jù)的訪問(wèn)。
b)網(wǎng)外存儲(chǔ)模式。感知數(shù)據(jù)由各個(gè)節(jié)點(diǎn)產(chǎn)生后,由專(zhuān)門(mén)的節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)集成,并借助網(wǎng)絡(luò)、無(wú)人機(jī)等設(shè)施與感知網(wǎng)絡(luò)外部建立通信,最終以人工收集、自動(dòng)推送或定期詢(xún)問(wèn)等方式將感知數(shù)據(jù)發(fā)送至網(wǎng)絡(luò)外的存儲(chǔ)系統(tǒng)集中存儲(chǔ),查詢(xún)處理可以在網(wǎng)外存儲(chǔ)系統(tǒng)中直接完成,無(wú)須與感知網(wǎng)絡(luò)建立通信。
不同存儲(chǔ)模式的工作重點(diǎn)有所差別,對(duì)于網(wǎng)內(nèi)存儲(chǔ)模式,既需要關(guān)注于對(duì)感知數(shù)據(jù)的網(wǎng)內(nèi)處理與存儲(chǔ)以實(shí)現(xiàn)高效節(jié)能,也需要實(shí)現(xiàn)快速、可靠的信息收集與統(tǒng)計(jì),有效減少掃描時(shí)延并確保魯棒性,并在具有不確定性的實(shí)時(shí)數(shù)據(jù)流基礎(chǔ)上提供可靠的事件查詢(xún)結(jié)果;對(duì)于網(wǎng)外存儲(chǔ)模式,需要關(guān)注大規(guī)模數(shù)據(jù)下的分片存儲(chǔ)與查詢(xún)優(yōu)化處理,兼容多源異構(gòu)數(shù)據(jù)的存儲(chǔ)與表達(dá),提供多級(jí)時(shí)間、空間粒度下對(duì)于復(fù)雜事件的查詢(xún)支持,并在多用戶、多任務(wù)、高并發(fā)情況下保持較高的性能。
圖2是對(duì)本節(jié)所介紹的物聯(lián)網(wǎng)存儲(chǔ)分類(lèi)及總結(jié)。從圖中可以看到,這兩類(lèi)模式從技術(shù)上來(lái)講最基本的存儲(chǔ)手段有四種:8)文件系統(tǒng),將感知數(shù)據(jù)以文件的形式(如XML文件或純文本)存儲(chǔ)于文件系統(tǒng)中,文件系統(tǒng)包括了本地文件系統(tǒng),以及建立于本地文件系統(tǒng)之上的分布式文件系統(tǒng);b)數(shù)據(jù)庫(kù),將感知數(shù)據(jù)以結(jié)構(gòu)化、半結(jié)構(gòu)化或非結(jié)構(gòu)化等形式存儲(chǔ)于數(shù)據(jù)庫(kù)中;c)混合式,將文件系統(tǒng)與數(shù)據(jù)庫(kù)結(jié)合,在數(shù)據(jù)庫(kù)中存儲(chǔ)的不是原始感知數(shù)據(jù),而是數(shù)據(jù)的索引,原始數(shù)據(jù)以文件形式存儲(chǔ)于文件系統(tǒng)中,可充分利用兩者存儲(chǔ)不同類(lèi)型數(shù)據(jù)特有的優(yōu)勢(shì);d)云平臺(tái),其技術(shù)基礎(chǔ)實(shí)質(zhì)上仍是分布式文件系統(tǒng)或數(shù)據(jù)庫(kù),作為一項(xiàng)新興技術(shù)和新的服務(wù)模式,具有(計(jì)算資源與存儲(chǔ)空間)彈性、開(kāi)放、高性能等優(yōu)勢(shì),但其內(nèi)部環(huán)境復(fù)雜也引發(fā)了更多的數(shù)據(jù)安全等問(wèn)題,與物聯(lián)網(wǎng)的結(jié)合需要專(zhuān)門(mén)的研究。
圖2 物聯(lián)網(wǎng)存儲(chǔ)分類(lèi)及技術(shù)
3.2 典型存儲(chǔ)技術(shù)及方案
3.2.1 基于文件系統(tǒng)的物聯(lián)網(wǎng)存儲(chǔ)
文件系統(tǒng)包括本地文件系統(tǒng)以及建立于本地文件系統(tǒng)之上的分布式文件系統(tǒng)。
本地文件系統(tǒng)是指文件系統(tǒng)管理的物理存儲(chǔ)資源直接連接在本地節(jié)點(diǎn)上,處理器通過(guò)系統(tǒng)總線可以直接訪問(wèn)。建立于本地文件系統(tǒng)上的方案如在TinyOS上使用XML存儲(chǔ)數(shù)據(jù)以實(shí)現(xiàn)嵌入式設(shè)備提供Web服;將所有數(shù)據(jù)都存儲(chǔ)于PML文件中,實(shí)現(xiàn)了一個(gè)物聯(lián)網(wǎng)的數(shù)據(jù)服務(wù)器;為優(yōu)化PML存儲(chǔ),提出了一個(gè)PML壓縮算法"J。但基于本地文件系統(tǒng)的方案整體較少,僅在一些早期方案或小規(guī)模、簡(jiǎn)單應(yīng)用中被采用,究其原因:a)本地文件系統(tǒng)功能有限,僅提供基本的存儲(chǔ)與文件索引功能,無(wú)法很好地支持大規(guī)模數(shù)據(jù)處理;b)橫向擴(kuò)展困難也是限制本地文件系統(tǒng)應(yīng)用的一個(gè)重要原因;C)將不同設(shè)備上的本地文件系統(tǒng)連接協(xié)同工作需要大量額外工作,增加了使用成本;d)本地文件系統(tǒng)通常運(yùn)行于獨(dú)立的設(shè)備之上,當(dāng)設(shè)備失效時(shí)容易造成數(shù)據(jù)丟失,可靠性不強(qiáng)。
鑒于本地文件系統(tǒng)的上述局限,一些研究關(guān)注于使用分布式文件系統(tǒng)存儲(chǔ)物聯(lián)網(wǎng)數(shù)據(jù)。這類(lèi)文件系統(tǒng)建立于本地文件系統(tǒng)之上,通過(guò)網(wǎng)絡(luò)將若干存儲(chǔ)節(jié)點(diǎn)相連,邏輯上將獨(dú)立的存儲(chǔ)節(jié)點(diǎn)聚合為一個(gè)文件系統(tǒng)整體,統(tǒng)一管理這些節(jié)點(diǎn)的物理資源,同時(shí)提供并發(fā)控制以實(shí)現(xiàn)多用戶文件訪問(wèn),可以解決I/O瓶頸、空間動(dòng)態(tài)擴(kuò)展等問(wèn)題。分布式文件系統(tǒng)是近年來(lái)的一個(gè)研究熱點(diǎn)。典型的分布式文件系統(tǒng)為Xyratex的Lustre、谷歌的GFS以及Apache項(xiàng)目中的HDFS等。圖3展示了分布式文件系統(tǒng)一般架構(gòu)。該類(lèi)系統(tǒng)主要由兩類(lèi)角色構(gòu)成:a)元數(shù)據(jù)服務(wù)器,用于保存元數(shù)據(jù)(文件名、文件路徑、數(shù)據(jù)塊索引等),并監(jiān)測(cè)其他服務(wù)器狀態(tài),扮演整個(gè)集群的管理角色;b)用戶數(shù)據(jù)服務(wù)器,用于存儲(chǔ)用戶數(shù)據(jù),一般情況下數(shù)據(jù)會(huì)將數(shù)據(jù)備份到不同機(jī)架的若干服務(wù)器上,以防止數(shù)據(jù)因部分節(jié)點(diǎn)失效而丟失,同時(shí)提供機(jī)架感知功能,客戶端訪問(wèn)數(shù)據(jù)時(shí)確保從最近的機(jī)架以最快的速度獲取數(shù)據(jù)。
圖3 分布式文件系統(tǒng)架構(gòu)
對(duì)于存儲(chǔ)物聯(lián)網(wǎng)數(shù)據(jù),分布式文件系統(tǒng)較本地文件系統(tǒng)的優(yōu)點(diǎn)是顯而易見(jiàn)的:a)只需簡(jiǎn)單地配置即可輕松地將集群擴(kuò)展到數(shù)萬(wàn)節(jié)點(diǎn),適用于存儲(chǔ)物聯(lián)網(wǎng)海量數(shù)據(jù);b)提供并發(fā)訪問(wèn)控制,并可以根據(jù)數(shù)據(jù)分布優(yōu)化訪問(wèn),提高多任務(wù)環(huán)境下物聯(lián)網(wǎng)應(yīng)用效率;c)將節(jié)點(diǎn)失效視為常態(tài),容錯(cuò)性高,提供了健全的數(shù)據(jù)備份及恢復(fù)機(jī)制,確保數(shù)據(jù)的可靠性;d)吞量大,適合大規(guī)模數(shù)據(jù)應(yīng)用;e)一次寫(xiě),多次讀,與物聯(lián)網(wǎng)數(shù)據(jù)讀寫(xiě)模式一致;f)一些分布式文件系統(tǒng)還支持上層海量數(shù)據(jù)處理工具,如Hadoop中的MapReduce,有助于挖掘物聯(lián)網(wǎng)數(shù)據(jù)潛在信息。
然而,無(wú)論是本地文件系統(tǒng)還是分布式文件系統(tǒng),都存在一些不可避免的問(wèn)題:a)文件結(jié)構(gòu)定制化程度高,與實(shí)際應(yīng)用部分耦合,不利于不同應(yīng)用共享數(shù)據(jù);b)數(shù)據(jù)冗余度大,清理困難,浪費(fèi)存儲(chǔ)空間,容易造成數(shù)據(jù)的不一致;c)文件大小不一,物聯(lián)網(wǎng)數(shù)據(jù)的不確定性容易產(chǎn)生大量小文件,對(duì)這類(lèi)文件的處理需要根據(jù)不同的文件系統(tǒng)作專(zhuān)門(mén)的研究;d)以文件為單位管理數(shù)據(jù),通常僅針對(duì)少量關(guān)鍵字進(jìn)行索引,檢索困難,對(duì)物聯(lián)網(wǎng)數(shù)據(jù),特別是海量物聯(lián)網(wǎng)數(shù)據(jù)的多維度、多粒度的分級(jí)檢索支持度差;e)文件系統(tǒng)不能很好地支持在線數(shù)據(jù)流處理,無(wú)法滿足部分物聯(lián)網(wǎng)應(yīng)用的實(shí)時(shí)性要求。因此,基于文件系統(tǒng)的方案并不適用于存儲(chǔ)物聯(lián)網(wǎng)數(shù)據(jù)。
3.2.2 基于數(shù)據(jù)庫(kù)的物聯(lián)網(wǎng)存儲(chǔ)
主流的數(shù)據(jù)庫(kù)技術(shù)分為關(guān)系型數(shù)據(jù)庫(kù)(relational database management system,RDBMS)和非關(guān)系型數(shù)據(jù)庫(kù)(not only SQL,NoSQL)兩類(lèi)。關(guān)系型數(shù)據(jù)庫(kù)以結(jié)構(gòu)化的方式存儲(chǔ)數(shù)據(jù),提供標(biāo)準(zhǔn)的SQL語(yǔ)言,具有強(qiáng)大的查詢(xún)功能;非關(guān)系型數(shù)據(jù)庫(kù)是目前一個(gè)新的數(shù)據(jù)庫(kù)研究熱點(diǎn),通常以鍵值對(duì)的形式存儲(chǔ)數(shù)據(jù),已成功應(yīng)用于互聯(lián)網(wǎng)大數(shù)據(jù)處理。
感知網(wǎng)絡(luò)內(nèi)部使用的數(shù)據(jù)庫(kù)系統(tǒng)與網(wǎng)外存儲(chǔ)模式使用的數(shù)據(jù)庫(kù)系統(tǒng)由于設(shè)備不同,兩者設(shè)計(jì)上有較大差異,本節(jié)將分別從網(wǎng)內(nèi)和網(wǎng)外兩個(gè)方面闡述基于數(shù)據(jù)庫(kù)的物聯(lián)網(wǎng)存儲(chǔ)。
1)網(wǎng)內(nèi)存儲(chǔ)模式中數(shù)據(jù)庫(kù)的應(yīng)用
感知網(wǎng)絡(luò)內(nèi)部可通過(guò)某種策略確定數(shù)據(jù)在節(jié)點(diǎn)中的分布,這類(lèi)存儲(chǔ)系統(tǒng)典型的代表有TinyDB、Cougar等。TinyDB是用于存儲(chǔ)WSN感知數(shù)據(jù)的分布式數(shù)據(jù)庫(kù)原型系統(tǒng),它將整個(gè)感知網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)都散列到指定的節(jié)點(diǎn)進(jìn)行存儲(chǔ)和管理,提供類(lèi)SQL接口,用戶無(wú)須了解WSN具體結(jié)構(gòu),可以相同的語(yǔ)言查詢(xún)數(shù)據(jù)。關(guān)于TinyDB已有較多的研究。Cougar功能與TinyDB類(lèi)似,如圖4所示,在理念上與TinyDB最大的不同是將無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)劃分為若干簇,客戶前端可與任意簇頭交互,簇頭同時(shí)負(fù)責(zé)與簇內(nèi)其他節(jié)點(diǎn)的通信;相對(duì)于Ti-nyDB側(cè)重為數(shù)據(jù)管理提供底層系統(tǒng)框架,并對(duì)查詢(xún)引擎進(jìn)行優(yōu)化,Cougar更側(cè)重于有效通信機(jī)制的建立,并盡可能減少查詢(xún)引起的通信能量消耗。
圖4 Cougar系統(tǒng)架構(gòu)
TinyDB與Cougar都是基于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)模型.部分研究將目光轉(zhuǎn)移到了新數(shù)據(jù)庫(kù)存儲(chǔ)技術(shù),如文獻(xiàn)嘗試基于非關(guān)系型數(shù)據(jù)庫(kù)Redis 22實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)的查詢(xún)系統(tǒng),用于取代TinyDB。
但上述這些工作實(shí)質(zhì)上都是數(shù)據(jù)庫(kù)技術(shù)向感知網(wǎng)絡(luò)的簡(jiǎn)單擴(kuò)展,需要針對(duì)感知網(wǎng)內(nèi)數(shù)據(jù)特點(diǎn)開(kāi)展更有針對(duì)性的工作,因而部分研究為上述工作進(jìn)行了優(yōu)化,提出了一些改進(jìn)的存儲(chǔ)方案及策略。多數(shù)感知網(wǎng)絡(luò)能量有限,節(jié)能極為重要,文獻(xiàn)關(guān)注到了感知網(wǎng)絡(luò)能量問(wèn)題,提出了無(wú)線傳感網(wǎng)絡(luò)中一種能量有效的存儲(chǔ)方法,采用動(dòng)態(tài)規(guī)劃方法確保所有存儲(chǔ)節(jié)點(diǎn)能量均衡且所有節(jié)點(diǎn)能耗最小由于多數(shù)存儲(chǔ)策略只以節(jié)能為目的,很少顧及節(jié)點(diǎn)有限的存儲(chǔ)容量,文獻(xiàn)在優(yōu)化存儲(chǔ)的過(guò)程中,重點(diǎn)關(guān)注如何節(jié)省空間,設(shè)計(jì)的一種小波漸近數(shù)據(jù)壓縮算法在耗能相當(dāng)?shù)那闆r下節(jié)省了節(jié)點(diǎn)存儲(chǔ)容量。感知設(shè)備還存在多維甚至高維的情況,文獻(xiàn)指出支持多維查詢(xún)的數(shù)據(jù)存儲(chǔ)方法DIM(distributed index for multi—dimensional data)和Pool算法存在熱點(diǎn)、規(guī)模擴(kuò)展性差、平均查找代價(jià)過(guò)大、可操作性不足等問(wèn)題,并基于K-D樹(shù)提出了一種支持多維查詢(xún)的數(shù)據(jù)存儲(chǔ)策略,在一定程度上解決了DIM以及Pool算法存在的問(wèn)題。此外,由于傳感器自身或環(huán)境的原因可能產(chǎn)生不精確或缺失的數(shù)據(jù),感知數(shù)據(jù)具有一定的不確定性,文獻(xiàn)針對(duì)這種不確定數(shù)據(jù)流提出了基于滑動(dòng)窗口的概率閾值頻繁項(xiàng)查詢(xún)算法,但該算法僅考慮了數(shù)據(jù)集中的情況.在分布式環(huán)境下并不適用;文獻(xiàn)提出了基于過(guò)濾策略的分布式聚類(lèi)算法,并設(shè)計(jì)了分布式環(huán)境下不確定數(shù)據(jù)的表示和存儲(chǔ)方法。上述研究都是從數(shù)據(jù)特征角度分析并解決問(wèn)題,而文獻(xiàn)則從用戶的角度出發(fā),指出不同查詢(xún)用戶所關(guān)心事件的粒度不同,并提出了一套基于環(huán)結(jié)構(gòu)的傳感器網(wǎng)絡(luò)多分辨率數(shù)據(jù)存儲(chǔ)機(jī)制,提供了多分辨率層次結(jié)構(gòu)的存儲(chǔ)查詢(xún)機(jī)制來(lái)有效地支持不同粒度由粗到細(xì)的查詢(xún)請(qǐng)求。
以上這些方案一定程度上解決了能耗、感知數(shù)據(jù)流的不確定性以及多維數(shù)據(jù)的優(yōu)化查詢(xún)等問(wèn)題,但目前對(duì)于傳感數(shù)據(jù)的統(tǒng)計(jì)特性以及感知數(shù)據(jù)之間的關(guān)聯(lián)性研究仍顯不足另外,由于多數(shù)方案的查詢(xún)都需要在整個(gè)感知網(wǎng)絡(luò)內(nèi)部廣播,因此網(wǎng)內(nèi)存儲(chǔ)模式隨著網(wǎng)絡(luò)規(guī)模的增大,能量的消耗將隨之加快,限制了應(yīng)用規(guī)模,擴(kuò)展性不強(qiáng)。
2)網(wǎng)外存儲(chǔ)模式中數(shù)據(jù)庫(kù)的應(yīng)用
關(guān)系型數(shù)據(jù)庫(kù)技術(shù)成熟,其中一些典型的產(chǎn)品如MySQL、SQL server以及DB2等已經(jīng)廣泛應(yīng)用于互聯(lián)網(wǎng)、金融、企業(yè)以及教育等行業(yè),其功能與性能得到了長(zhǎng)時(shí)間驗(yàn)證,因此,當(dāng)前網(wǎng)外模式多數(shù)物聯(lián)網(wǎng)存儲(chǔ)方案都選擇這種技術(shù)為基礎(chǔ)”。數(shù)據(jù)庫(kù)的使用一定程度上減少了數(shù)據(jù)管理的難度,使得具體應(yīng)用與數(shù)據(jù)得以分離,但簡(jiǎn)單地推廣至物聯(lián)網(wǎng)很難滿足其需求。因此一些研究針對(duì)物聯(lián)網(wǎng)數(shù)據(jù)的特性提出了相應(yīng)的解決方案。文獻(xiàn)在分析物品移動(dòng)路徑特征與采樣數(shù)據(jù)實(shí)際應(yīng)用狀況的基礎(chǔ)上,針對(duì)物流倉(cāng)儲(chǔ)提出了一個(gè)面向RFID海量數(shù)據(jù)的新數(shù)據(jù)模型RFID—Cuboids,該模型在完整保存了物品狀態(tài)變化的同時(shí)還顯著地進(jìn)行了數(shù)據(jù)壓縮,由于多數(shù)存儲(chǔ)方案如文獻(xiàn)一樣,僅針對(duì)物聯(lián)網(wǎng)某一個(gè)方面、某一種技術(shù)或某一個(gè)業(yè)務(wù)領(lǐng)域,應(yīng)用場(chǎng)景具有較大的局限性。文獻(xiàn)面向整個(gè)物聯(lián)網(wǎng),特別針對(duì)物聯(lián)網(wǎng)數(shù)據(jù)時(shí)空關(guān)聯(lián)特性,在改良RDBMS基礎(chǔ)上提出了兼容鍵值(key—value)查詢(xún)方式的數(shù)據(jù)庫(kù)模型RDB—KV、該方案將物聯(lián)網(wǎng)數(shù)據(jù)分為數(shù)值型和多媒體型。并最終將所有物聯(lián)網(wǎng)數(shù)據(jù)都轉(zhuǎn)換為數(shù)值型進(jìn)行存儲(chǔ),對(duì)于一些較大的或重復(fù)程度較高的數(shù)據(jù),僅提取一些關(guān)鍵幀,在保證數(shù)據(jù)正確性的同時(shí),有效減少數(shù)據(jù)量,提高數(shù)據(jù)質(zhì)量;然而該方案核心技術(shù)為RDBMS,盡管RDB—KV將所有數(shù)據(jù)都存人一張表中,避免了join(連接)操作帶來(lái)的性能損耗。但由于RDBMS采用r鎖機(jī)制,該方案擴(kuò)展性較差,在性能及并發(fā)性方面表現(xiàn)并不理想:文獻(xiàn)分析了物聯(lián)網(wǎng)環(huán)境下數(shù)據(jù)庫(kù)系統(tǒng)面臨的挑戰(zhàn),指出傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的SQL已不適合時(shí)間序列數(shù)據(jù)的查詢(xún)一文獻(xiàn)也指出RDBMS在應(yīng)對(duì)物聯(lián)網(wǎng)感知數(shù)據(jù)時(shí)具有以下不足:a)傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)難以存儲(chǔ)管理海量的感知數(shù)據(jù);b)多數(shù)情況下,為滿足實(shí)時(shí)性,只需得到一定誤差范圍內(nèi)的近似結(jié)果,傳統(tǒng)的RDBMS很難支持任何近似查詢(xún)操作。對(duì)于一些聚集查詢(xún)請(qǐng)求,RDBMS需要掃描外存中的關(guān)系表數(shù)據(jù)來(lái)得到查詢(xún)結(jié)果,這個(gè)過(guò)程會(huì)產(chǎn)生許多I/O操作,不滿足數(shù)據(jù)流系統(tǒng)中的實(shí)時(shí)查詢(xún)要求。
因此,一些新興的數(shù)據(jù)庫(kù)技術(shù)得到了不少關(guān)注,尤其是NoSQL,該技術(shù)由于性能、擴(kuò)展性方面的優(yōu)勢(shì)已在互聯(lián)網(wǎng)中處理大數(shù)據(jù)方面有較成功的應(yīng)用。NoSQL與RDBMS在設(shè)計(jì)理念上有較大差異,關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)格式固定,每一行數(shù)據(jù)都具有相同的字段.這方便了不同表之間連接查詢(xún)操作,但也是性能瓶頸的主因而NoSQL具備以下特點(diǎn):a)擴(kuò)展簡(jiǎn)單,能方便地水平擴(kuò)展集群,輕松應(yīng)對(duì)海量數(shù)據(jù)存儲(chǔ);b)性能高,NoSQL遵循BASE(basically available(基本可用)、soft state(軟狀態(tài))、eventually consistency(最終一致性))模型,犧牲高一致性以獲得高性能;c)結(jié)構(gòu)靈活,NoSQL允許每一行有不同字段,并可隨意增刪,操作靈活且減少了時(shí)間和空間開(kāi)銷(xiāo),適用于高效存取異構(gòu)數(shù)據(jù)。當(dāng)前,較為流行的開(kāi)源NoSQL數(shù)據(jù)庫(kù)有MongoDB、CouchDB-8、HBase、Redis以及Cassandra、”等;應(yīng)用較廣的非開(kāi)源數(shù)據(jù)庫(kù)有谷歌的Bigtable。以及亞馬遜的Dynamo等。
已有少量工作將NoSQL數(shù)據(jù)庫(kù)應(yīng)用于物聯(lián)網(wǎng)領(lǐng)域,文獻(xiàn)將NoSQL應(yīng)用構(gòu)建物聯(lián)網(wǎng)異構(gòu)多媒體數(shù)據(jù)存儲(chǔ)架構(gòu),但這項(xiàng)工作較為初步;NoSQL技術(shù)種類(lèi)眾多,陔方案并未給出合理的選擇依據(jù)。文獻(xiàn)在對(duì)比了不同NoSQL特性的基礎(chǔ)上,針對(duì)感知數(shù)據(jù)的海量異構(gòu)性基于NoSQL提出了一套存儲(chǔ)方案,該方案對(duì)異構(gòu)物聯(lián)網(wǎng)數(shù)據(jù)提出統(tǒng)一的表達(dá)形式,并通過(guò)預(yù)處理、數(shù)據(jù)分布等策略減少冗余數(shù)據(jù)量,提高了數(shù)據(jù)質(zhì)量但這些方案對(duì)物聯(lián)網(wǎng)感知數(shù)據(jù)的時(shí)空關(guān)聯(lián)性以及數(shù)據(jù)不確定性方面并沒(méi)有展開(kāi)有效的工作,對(duì)于如何使用NoSQL應(yīng)對(duì)物聯(lián)網(wǎng)數(shù)據(jù)的種類(lèi)特性研究還不夠全面。
3.2.3 合式
部分應(yīng)用出于自身的考慮設(shè)計(jì)了數(shù)據(jù)庫(kù)與文件系統(tǒng)結(jié)合使用的方式。由于感知節(jié)點(diǎn)資源有限,混合式對(duì)于感知網(wǎng)絡(luò)內(nèi)部實(shí)現(xiàn)起來(lái)較為困難,這種方式多出現(xiàn)于網(wǎng)外存儲(chǔ)模式中。
文獻(xiàn)針對(duì)智能電網(wǎng)數(shù)據(jù)存儲(chǔ),設(shè)計(jì)了BDBMS與本地文件系統(tǒng)結(jié)合的存儲(chǔ)架構(gòu),將數(shù)據(jù)存儲(chǔ)于文件系統(tǒng)中,而文件路徑及時(shí)間信息則存儲(chǔ)于數(shù)據(jù)庫(kù)中。該方案實(shí)際上是對(duì)本地文件系統(tǒng)方案的改進(jìn),提高了文件的檢索效率,使得存儲(chǔ)空間的擴(kuò)展變得簡(jiǎn)單,是一種輕量化設(shè)計(jì),實(shí)現(xiàn)容易,開(kāi)發(fā)工程量小。但這種改進(jìn)收益并不大,對(duì)該方案進(jìn)行的仿真實(shí)驗(yàn)結(jié)果表明,其執(zhí)行時(shí)間較長(zhǎng),性能差;進(jìn)一步地,通過(guò)分析可得,這類(lèi)方案使得數(shù)據(jù)與應(yīng)用的禍合度更高,若有其他需求須重新設(shè)計(jì);另外,由于數(shù)據(jù)庫(kù)中的索引信息定制程度高,開(kāi)放性并不理想,難以實(shí)現(xiàn)與其他系統(tǒng)的互操作,且由于實(shí)現(xiàn)機(jī)制簡(jiǎn)單,不能很好地保證數(shù)據(jù)的完整性和可靠性。
文獻(xiàn)使用分布式文件系統(tǒng)HDFS與數(shù)據(jù)庫(kù)HUADINGS構(gòu)建了智慧醫(yī)療應(yīng)用,較文獻(xiàn)工作更為合理,對(duì)不同格式數(shù)據(jù)進(jìn)行了分類(lèi)存儲(chǔ),非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)于文件系統(tǒng)中,而結(jié)構(gòu)化數(shù)據(jù)則存儲(chǔ)于數(shù)據(jù)庫(kù)中,用于借助數(shù)據(jù)庫(kù)的強(qiáng)大查詢(xún)功能支持語(yǔ)義規(guī)則分析。
混合式可以利用數(shù)據(jù)庫(kù)與文件系統(tǒng)各自的優(yōu)點(diǎn),但由于涉及了兩類(lèi)存儲(chǔ)系統(tǒng),在訪問(wèn)數(shù)據(jù)時(shí)較單一的系統(tǒng)而言增加了額外的開(kāi)銷(xiāo),系統(tǒng)性能也會(huì)受到消極影響。可以看到,如果應(yīng)用中涉及了結(jié)構(gòu)化、半結(jié)構(gòu)化以及非結(jié)構(gòu)化等多種復(fù)雜的數(shù)據(jù),將數(shù)據(jù)庫(kù)與文件系統(tǒng)結(jié)合是一個(gè)不錯(cuò)的選擇,也有利于針對(duì)不同類(lèi)型的數(shù)據(jù)存儲(chǔ)上進(jìn)行優(yōu)化;但如果數(shù)據(jù)類(lèi)型單一,如文獻(xiàn)展示的應(yīng)用,則無(wú)須采取這種方式。
3.2.4 基于云平臺(tái)的物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)
云計(jì)算是一種大規(guī)模的分布式計(jì)算模式,帶動(dòng)了一種將應(yīng)用作為服務(wù)的新趨勢(shì),使得硬件與軟件通過(guò)互聯(lián)網(wǎng)可以被充分地使用。物聯(lián)網(wǎng)存在大量數(shù)據(jù)密集型應(yīng)用,這些應(yīng)用需要對(duì)海量數(shù)據(jù)進(jìn)行處理,云平臺(tái)有助于解決物聯(lián)網(wǎng)自身平臺(tái)存儲(chǔ)空間有限、計(jì)算性能差等問(wèn)題,提高環(huán)境感知能力以及數(shù)據(jù)的收集和存儲(chǔ)效率,并提供高效的在線處理感知數(shù)據(jù)的能力。鑒于云平臺(tái)的這些優(yōu)勢(shì),已有大量工作開(kāi)展了基于云平臺(tái)的物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)研究,如文獻(xiàn)設(shè)計(jì)了一個(gè)基于云平臺(tái)的高效海量數(shù)據(jù)處理模型,可以同時(shí)處理物聯(lián)網(wǎng)產(chǎn)生的結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù);文獻(xiàn)不僅考慮了數(shù)據(jù)格式問(wèn)題,更關(guān)注了物聯(lián)網(wǎng)系統(tǒng)間的互操作性、系統(tǒng)安全、數(shù)據(jù)服務(wù)質(zhì)量以及存儲(chǔ)空間的動(dòng)態(tài)擴(kuò)展,基于云計(jì)算為物聯(lián)網(wǎng)智慧醫(yī)療提出了一個(gè)開(kāi)放、安全以及靈活的平臺(tái),探索了彈性的物聯(lián)網(wǎng)服務(wù);大量的應(yīng)用與異構(gòu)感知節(jié)點(diǎn)的接人使得大規(guī)模數(shù)據(jù)處理變得十分困難,文獻(xiàn)考慮到了不斷增長(zhǎng)的物聯(lián)網(wǎng)實(shí)體及多種多樣的信息帶來(lái)的物聯(lián)網(wǎng)設(shè)備管理失控問(wèn)題,并在開(kāi)放性上較文獻(xiàn)做了更多實(shí)踐,融合了物聯(lián)網(wǎng)一些先進(jìn)的技術(shù)和新的標(biāo)準(zhǔn),如鏈接傳感數(shù)據(jù)(linked sensor data)、語(yǔ)義傳感網(wǎng)本體以及CoAP協(xié)議,使得整個(gè)數(shù)據(jù)管理框架面向底層感知網(wǎng)絡(luò)以及上層智能應(yīng)用都具備很好的開(kāi)放性。實(shí)時(shí)性是物聯(lián)網(wǎng)應(yīng)用的另一個(gè)重要需求,與應(yīng)用交互的設(shè)備如傳感器等對(duì)海量存儲(chǔ)、高性能計(jì)算能力有非常高的要求。文獻(xiàn)研究了物聯(lián)網(wǎng)與云計(jì)算的結(jié)合以解決大數(shù)據(jù)面臨的問(wèn)題,提高了數(shù)據(jù)實(shí)時(shí)性,以實(shí)現(xiàn)用戶可以在任何時(shí)間、任何地點(diǎn)對(duì)任何物體的訪問(wèn)。除去數(shù)據(jù)的實(shí)時(shí)性,大量冗余數(shù)據(jù)也為云平臺(tái)與物聯(lián)網(wǎng)的結(jié)合帶來(lái)了挑戰(zhàn)。文獻(xiàn)在保證數(shù)據(jù)實(shí)時(shí)性的基礎(chǔ)上,設(shè)計(jì)了一個(gè)空間有界(space-bounded)的數(shù)據(jù)摘要結(jié)構(gòu),極大地減少了數(shù)據(jù)量,并基于時(shí)間滑動(dòng)窗口(time sliding window)的聚合算法確保了數(shù)據(jù)的準(zhǔn)確性。
云平臺(tái)為物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)提供了彈性的、開(kāi)放的、實(shí)時(shí)的、高效的服務(wù),卻加重了數(shù)據(jù)隱私和安全問(wèn)題。文獻(xiàn)對(duì)結(jié)合云平臺(tái)的智能電網(wǎng)風(fēng)險(xiǎn)進(jìn)行了分析,指出了云平臺(tái)下數(shù)據(jù)面臨的七個(gè)安全風(fēng)險(xiǎn),雖然部分研究[”一川提出了一些方法保證云平臺(tái)環(huán)境下數(shù)據(jù)的安全,但目前還沒(méi)有一個(gè)系統(tǒng)的框架應(yīng)對(duì)上述所有風(fēng)險(xiǎn)。
3.3 物聯(lián)網(wǎng)存儲(chǔ)模式比較分析
3.2節(jié)詳細(xì)闡述了各類(lèi)存儲(chǔ)模式所使用的技術(shù)及基于這些技術(shù)的方案?梢钥吹阶罨镜拇鎯(chǔ)技術(shù)雖然只有數(shù)據(jù)庫(kù)與文件系統(tǒng)兩類(lèi),但這些技術(shù)內(nèi)部又有更細(xì)的劃分,基于這些技術(shù)衍生出的具體方案及改進(jìn)方案更為多樣,難以枚舉出所有的方案,因此,在對(duì)比不同的存儲(chǔ)模式時(shí)僅選取了其中的一些典型方案作為代表。表1是根據(jù)3.2節(jié)中的分析得到的結(jié)果,其中符號(hào)“V”表明該類(lèi)物聯(lián)網(wǎng)存儲(chǔ)方案在對(duì)應(yīng)的指標(biāo)上具有較好的表現(xiàn),下面根據(jù)這些指標(biāo)進(jìn)行詳細(xì)的闡述。
表1 物聯(lián)網(wǎng)存儲(chǔ)模式比較
a)在開(kāi)放性方面。網(wǎng)內(nèi)的存儲(chǔ)模式通常較為封閉,與其他系統(tǒng)通信困難、協(xié)同性較差,通常兩個(gè)感知網(wǎng)絡(luò)之間的數(shù)據(jù)交換需要借助翻譯模塊,洲實(shí)現(xiàn)。但翻譯模塊通常是定制的,難以兼容所有種類(lèi)的感知網(wǎng)絡(luò),即便是同一種物聯(lián)網(wǎng)技術(shù)內(nèi)部也存在標(biāo)準(zhǔn)不一的情況,要為所有感知技術(shù)都建立通信橋梁將更加困難。網(wǎng)外模式中由于本地文件系統(tǒng)缺乏對(duì)外的標(biāo)準(zhǔn)接口,不利于外部系統(tǒng)從中獲取數(shù)據(jù),因而開(kāi)放性相比其他幾類(lèi)較差。
b)在擴(kuò)展性方面。網(wǎng)內(nèi)模式的存儲(chǔ)空間通常是由感知網(wǎng)絡(luò)節(jié)點(diǎn)的存儲(chǔ)容量所決定的,部分類(lèi)型感知設(shè)備,如RFID的手持識(shí)讀器可以通過(guò)更換存儲(chǔ)卡獲取更大的容量,但對(duì)于廣泛應(yīng)用的WSN,一旦部署完成(如通過(guò)無(wú)人機(jī)拋灑至一個(gè)廣大區(qū)域進(jìn)行環(huán)境監(jiān)測(cè)),則幾乎不能更換設(shè)備,因此這類(lèi)模式的存儲(chǔ)空間受到了感知網(wǎng)絡(luò)節(jié)點(diǎn)物理空間的限制。在網(wǎng)外模式中,本地文件系統(tǒng)缺乏協(xié)同機(jī)制以利用不同機(jī)器上的存儲(chǔ)空間,通常只能縱向擴(kuò)展,即增加機(jī)器本身的存儲(chǔ)空間,但獨(dú)立的機(jī)器所能管理的空間是有限的,因此本地文件系統(tǒng)的擴(kuò)展性并不理想,而其他幾類(lèi)則可以通過(guò)橫向擴(kuò)展輕松獲得更大的空間。
c)在靈活性方面。網(wǎng)內(nèi)數(shù)據(jù)庫(kù)模式大多采用的是關(guān)系型模型,這類(lèi)模型數(shù)據(jù)格式固定,難以靈活增刪字段,雖有一些初步的工作將NoSQL引人這類(lèi)模式應(yīng)對(duì)異構(gòu)數(shù)據(jù),但還未得到廣泛應(yīng)用。因此整體上來(lái)講,網(wǎng)內(nèi)模式的數(shù)據(jù)靈活性是較差的。在網(wǎng)外模式中,由于非關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)與云平臺(tái)的應(yīng)用,數(shù)據(jù)格式上能支持結(jié)構(gòu)化、半結(jié)構(gòu)化以及非結(jié)構(gòu)化等數(shù)據(jù),數(shù)據(jù)類(lèi)型上也可應(yīng)對(duì)復(fù)雜的多媒體數(shù)據(jù),因而基于這幾類(lèi)技術(shù)的方案都具備較好的靈活性。
d)在可靠性方面。網(wǎng)內(nèi)存儲(chǔ)模式由于感知節(jié)點(diǎn)存儲(chǔ)空間與計(jì)算資源的限制,難以提供數(shù)據(jù)冗余備份,一點(diǎn)感知節(jié)點(diǎn)失效,將可能導(dǎo)致部分或全部的數(shù)據(jù)丟失,系統(tǒng)魯棒性較差。網(wǎng)外存儲(chǔ)模式中,基于本地文件系統(tǒng)的存儲(chǔ)方案通常存儲(chǔ)于單臺(tái)機(jī)器上,備份困難,容易存在單點(diǎn)失效的問(wèn)題,而其他幾類(lèi)技術(shù)的方案通常都能夠通過(guò)網(wǎng)絡(luò)利用本地甚至異地的多臺(tái)機(jī)器存儲(chǔ)空間,并提供完善的備份與同步機(jī)制,因而數(shù)據(jù)的可靠性能得到良好的保證。
e)在高效性方面。網(wǎng)內(nèi)存儲(chǔ)模式的查詢(xún)通常需要洪泛,這種工作模式下即便是單次查詢(xún),也會(huì)引發(fā)大量不必要的開(kāi)銷(xiāo),因而完成數(shù)據(jù)訪問(wèn)的效率較低。網(wǎng)外存儲(chǔ)模式中將數(shù)據(jù)庫(kù)與文件系統(tǒng)混合應(yīng)用的方案。需要部署兩類(lèi)系統(tǒng),而這兩類(lèi)系統(tǒng)間需要額外的通信開(kāi)銷(xiāo)完成任務(wù),文獻(xiàn)實(shí)驗(yàn)表明其性能較其他幾類(lèi)使用單一系統(tǒng)的方案有較大的劣勢(shì)。
f)在安全性方面。由于物聯(lián)網(wǎng)的日益普及,而感知數(shù)據(jù)多涉及敏感、隱私信息,其安全問(wèn)題得到了特別的關(guān)注。在網(wǎng)內(nèi)存儲(chǔ)模式方面,針對(duì)如何保護(hù)網(wǎng)內(nèi)數(shù)據(jù)安全已有較多的研究,一些典型的方案如WSN中的TinySec和SenSec安全操作系統(tǒng)、RFID網(wǎng)絡(luò)中的Hash-lock協(xié)議、公鑰密碼機(jī)制等,這些方案能一定程度地保護(hù)感知網(wǎng)內(nèi)數(shù)據(jù)安全,但這些方案整體還并不完善。由于感知網(wǎng)絡(luò)環(huán)境的特殊性易被攻破,部分方案由于算法復(fù)雜度較高,在實(shí)際中難以部署到資源受限的感知設(shè)備中。在網(wǎng)外存儲(chǔ)模式中,應(yīng)用防火墻、訪問(wèn)控制以及認(rèn)證機(jī)制等設(shè)置便可較好地保護(hù)數(shù)據(jù)安全;然而由于云平臺(tái)環(huán)境復(fù)雜,面臨的安全風(fēng)險(xiǎn)更高,目前還未有系統(tǒng)的方案能夠較好地應(yīng)對(duì)云平臺(tái)下數(shù)據(jù)安全問(wèn)題。
g)在可用性方面。無(wú)論網(wǎng)內(nèi)還是網(wǎng)外存儲(chǔ)模式,采用RD-BMS的方案都可以提供標(biāo)準(zhǔn)的SQL查詢(xún)語(yǔ)言,接口單一,查詢(xún)語(yǔ)言對(duì)用戶友好程度高、易于理解,因而基于RDBMS的方案可用性較高。而基于非關(guān)系型數(shù)據(jù)庫(kù)的方案,由于NoSQL種類(lèi)眾多,并沒(méi)有統(tǒng)一的查詢(xún)語(yǔ)言,雖然部分系統(tǒng)能提供功能強(qiáng)大的查詢(xún)語(yǔ)法(如MongoDB查詢(xún)語(yǔ)法幾乎可以與SQL一一對(duì)應(yīng),并支持空間數(shù)據(jù)的查詢(xún)),但因?yàn)楦黝?lèi)系統(tǒng)使用的語(yǔ)言不一致,導(dǎo)致了使用成本的增加,可用性較基于RDBMS的方案差;谖募到y(tǒng)的方案,雖然部分分布式文件系統(tǒng)提供了一定功能的數(shù)據(jù)處理工具,但整體上定制程度高,用戶端工作量較大,難以輕松利用一些簡(jiǎn)單SQL語(yǔ)言便可實(shí)現(xiàn)的功能,因此基于文件系統(tǒng)的方案可用性是最差的。
h)在實(shí)時(shí)性方面。網(wǎng)內(nèi)存儲(chǔ)模式由于可以直接與感知網(wǎng)絡(luò)交互,數(shù)據(jù)的實(shí)時(shí)性得到了最大化的保證。而網(wǎng)絡(luò)外部存儲(chǔ)模式由于需要將數(shù)據(jù)通過(guò)通信網(wǎng)絡(luò)傳輸?shù)酵獠看鎯?chǔ)系統(tǒng)集中存儲(chǔ),因此增加了通信時(shí)延;此外,由于網(wǎng)絡(luò)造成的能量消耗較高,無(wú)法一有數(shù)據(jù)產(chǎn)生便傳送至外部存儲(chǔ),需要累積一定量一次性傳輸,以減少頻繁網(wǎng)絡(luò)交互帶來(lái)的能量消耗,因而網(wǎng)外存儲(chǔ)模式的實(shí)時(shí)性要遠(yuǎn)低于網(wǎng)內(nèi)存儲(chǔ)模式。
3.4 不同存儲(chǔ)模式應(yīng)用范圍
根據(jù)物聯(lián)網(wǎng)應(yīng)用對(duì)數(shù)據(jù)量的需求可以將應(yīng)用分為數(shù)據(jù)稀疏型和數(shù)據(jù)密集型兩大類(lèi)。前者一般應(yīng)用簡(jiǎn)單,多為數(shù)據(jù)的直接獲取和展示,用戶通過(guò)查詢(xún)所得到的結(jié)果一般是最初輸人數(shù)據(jù)的實(shí)例,最多再加上一些簡(jiǎn)單處理如求和、平均、極大、極小等;而后者一般應(yīng)用較為復(fù)雜,需要大量數(shù)據(jù)支持,并運(yùn)用多種數(shù)據(jù)處理手段從數(shù)據(jù)中挖掘出數(shù)據(jù)之間蘊(yùn)涵的關(guān)系以及感興趣的知識(shí)。另一方面,從數(shù)據(jù)的實(shí)時(shí)性要求角度可以將物聯(lián)網(wǎng)應(yīng)用劃分為實(shí)時(shí)性應(yīng)用、半實(shí)時(shí)性應(yīng)用以及歷史數(shù)據(jù)應(yīng)用、實(shí)時(shí)性應(yīng)用要求數(shù)據(jù)產(chǎn)生與獲得之間的時(shí)延很小,一旦生成便盡可能快地獲得;半實(shí)時(shí)性應(yīng)用對(duì)時(shí)延的要求稍有放寬(如獲取智能交通應(yīng)用關(guān)于某時(shí)段交通路況的信息),幾分鐘甚至上小時(shí)的時(shí)延是可以容忍的;歷史數(shù)據(jù)應(yīng)用則通常需要較大的數(shù)據(jù)量的累積,因而并不關(guān)心數(shù)據(jù)的實(shí)時(shí)性,新產(chǎn)生的數(shù)據(jù)對(duì)數(shù)據(jù)處理結(jié)果幾乎沒(méi)有影響。
根據(jù)上述分析,可以界定不同存儲(chǔ)模式的適用范圍,進(jìn)而得到圖5展示的物聯(lián)網(wǎng)應(yīng)用與存儲(chǔ)模式的對(duì)應(yīng)關(guān)系。網(wǎng)內(nèi)存儲(chǔ)模式由于數(shù)據(jù)量小、數(shù)據(jù)簡(jiǎn)單、實(shí)時(shí)性高,因而用于實(shí)時(shí)性或半實(shí)時(shí)性應(yīng)用;網(wǎng)外存儲(chǔ)模式往往具備良好的硬件、完善的數(shù)據(jù)接口以及強(qiáng)大的功能,能夠很好地支撐數(shù)據(jù)處理,從海量感知數(shù)據(jù)中獲取有價(jià)值的信息,因此適用于數(shù)據(jù)密集型的應(yīng)用。同時(shí),部分方案能夠支持在線對(duì)歷史數(shù)據(jù)流的處理,因而也適用于如文獻(xiàn)所示的高速公路車(chē)速監(jiān)控、股票趨勢(shì)預(yù)測(cè)等半實(shí)時(shí)性應(yīng)用。
圖5 物聯(lián)網(wǎng)應(yīng)用分類(lèi)與存儲(chǔ)分類(lèi)對(duì)應(yīng)關(guān)系
4.物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)趨勢(shì)與下一步工作
根據(jù)上述分析可以得出,物聯(lián)網(wǎng)由于本身的技術(shù)多樣性、應(yīng)用廣泛性等特點(diǎn),多種存儲(chǔ)方案并存是其發(fā)展的必然結(jié)果,沒(méi)有一種模式或一種方案能解決所有問(wèn)題。另一方面,可以根據(jù)物聯(lián)網(wǎng)存儲(chǔ)的發(fā)展總結(jié)出一個(gè)明顯的趨勢(shì):從最早的一維數(shù)據(jù)到現(xiàn)在的多維數(shù)據(jù),從早期數(shù)據(jù)的簡(jiǎn)單呈現(xiàn)到目前的基于海量數(shù)據(jù)的信息處理,物聯(lián)網(wǎng)應(yīng)用越來(lái)越復(fù)雜,智能化程度也日益增加,對(duì)存儲(chǔ)系統(tǒng)的要求也隨之增高,不同的存儲(chǔ)模式(網(wǎng)內(nèi)存儲(chǔ)模式、網(wǎng)外存儲(chǔ)模式)在不同類(lèi)型(實(shí)時(shí)性、半實(shí)時(shí)性、歷史數(shù)據(jù))的應(yīng)用中將會(huì)朝著更為安全、開(kāi)放、兼容、高效等方向發(fā)展,以應(yīng)對(duì)物聯(lián)網(wǎng)數(shù)據(jù)的各類(lèi)特性,滿足智能化應(yīng)用需求。但要達(dá)到這些目標(biāo),下一步工作還需要在以下幾個(gè)方面完善。
對(duì)于網(wǎng)內(nèi)存儲(chǔ)模式:8)開(kāi)放性方面,還缺乏標(biāo)準(zhǔn)的數(shù)據(jù)交換機(jī)制,感知網(wǎng)絡(luò)內(nèi)部現(xiàn)存了多種數(shù)據(jù)交換協(xié)議,如PML、M2MXML以及NGTP等,不同的協(xié)議定義的數(shù)據(jù)格式各異,且限制在特定領(lǐng)域內(nèi)有效,僅靠翻譯模塊實(shí)現(xiàn)不同感知網(wǎng)絡(luò)之間的數(shù)據(jù)交換具有較大的局限性;b)可靠性方面,內(nèi)部存儲(chǔ)模式易受網(wǎng)絡(luò)內(nèi)分組丟失和節(jié)點(diǎn)失效的情況影響而丟失數(shù)據(jù),雖有一些工作關(guān)注到這樣的問(wèn)題,但效果并不明顯;c)安全性方面,現(xiàn)有的解決方案在理論上都能一定程度地確保數(shù)據(jù)安全,但網(wǎng)內(nèi)存儲(chǔ)模式中節(jié)點(diǎn)資源有限,現(xiàn)有的方法往往能耗較高,實(shí)際部署較為困難;d)實(shí)時(shí)性方面,雖然網(wǎng)內(nèi)存儲(chǔ)模式具備天然的實(shí)時(shí)性?xún)?yōu)勢(shì),但目前的應(yīng)用已并非簡(jiǎn)單的數(shù)據(jù)獲取與展示,在線實(shí)時(shí)的復(fù)雜事件檢測(cè)仍然是一個(gè)難點(diǎn)。由于復(fù)雜事件檢測(cè)的應(yīng)用場(chǎng)景一般為分布式環(huán)境,數(shù)據(jù)在匯集到中心節(jié)點(diǎn)時(shí),由于網(wǎng)絡(luò)延遲或其他不確定因素,在數(shù)據(jù)流中可能存在數(shù)據(jù)亂序的情況,如何在保證在線復(fù)雜事件檢測(cè)完整性和一致性的前提下去除亂序數(shù)據(jù)的影響,也是需要考慮的問(wèn)題。
對(duì)于網(wǎng)外存儲(chǔ)模式:a)在高效性方面,絕大部分方案都基于RDBMS,由于其本身的局限性,在海量數(shù)據(jù)背景下很難提供高性能查詢(xún),對(duì)于并發(fā)的支持度也很低,雖然有部分方案嘗試使用了NoSQL提高性能,但存儲(chǔ)策略還較為初步;b)可用性方面,服務(wù)功能還相當(dāng)局限,SQL已不再適應(yīng)物聯(lián)網(wǎng)時(shí)空相關(guān)性及動(dòng)態(tài)流式等特征,而NoSQL大多數(shù)情況下也僅能支持功能有限的鍵值查詢(xún),雖然有工作將RDBMS與鍵值結(jié)合,但其方案還并不成熟,缺乏復(fù)雜、靈活的查詢(xún)服務(wù);c)靈活性方面,異構(gòu)感知數(shù)據(jù)的存儲(chǔ)管理已超越了以往的時(shí)空數(shù)據(jù)管理的范疇,現(xiàn)實(shí)世界的物理對(duì)象還具備多種屬性,雖然文獻(xiàn)提出了統(tǒng)一的表達(dá)方式,但其數(shù)據(jù)類(lèi)型僅限于數(shù)值型,未能概括物聯(lián)網(wǎng)所有數(shù)據(jù)類(lèi)型,因而物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)的面對(duì)異構(gòu)數(shù)據(jù)的靈活度還有待加強(qiáng);d)安全性方面,基于云平臺(tái)的方案問(wèn)題尤為突出,已有的方法能一定程度地解決云平臺(tái)數(shù)據(jù)的安全性和私密問(wèn)題,但各個(gè)方法之間相對(duì)獨(dú)立,缺乏系統(tǒng)性工作;e)其他方面,對(duì)感知數(shù)據(jù)的關(guān)聯(lián)性研究當(dāng)前還相對(duì)空白,如何支持不同應(yīng)用數(shù)據(jù)之間的關(guān)聯(lián)挖掘,以達(dá)到協(xié)同工作的目的將需要專(zhuān)門(mén)的研究工作。
此外,部分應(yīng)用需要將網(wǎng)內(nèi)存儲(chǔ)模式與網(wǎng)外存儲(chǔ)模式相結(jié)合,如在網(wǎng)內(nèi)存儲(chǔ)模式的實(shí)時(shí)數(shù)據(jù)流中捕獲即時(shí)發(fā)生的事件,同時(shí)利用網(wǎng)外存儲(chǔ)模式中的海量歷史數(shù)據(jù)發(fā)掘與事件相關(guān)的信息,這是未來(lái)物聯(lián)網(wǎng)應(yīng)用的一個(gè)趨勢(shì),兩種模式之間的協(xié)同需要考慮效率、帶寬占用、能量消耗等方面之間的平衡,同時(shí)如何確定最佳的服務(wù)方式(如API調(diào)用、訂單服務(wù)、實(shí)時(shí)推送等)也需要細(xì)致的考量。
5.結(jié)束語(yǔ)
本文從感知網(wǎng)絡(luò)構(gòu)成方式角度將物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)分為網(wǎng)內(nèi)存儲(chǔ)模式和網(wǎng)外存儲(chǔ)模式,并根據(jù)物聯(lián)網(wǎng)數(shù)據(jù)特征得出物聯(lián)網(wǎng)存儲(chǔ)需求,依據(jù)這些需求導(dǎo)出開(kāi)放性、擴(kuò)展性、靈活性、高效性、可靠性、可用性、安全性、實(shí)時(shí)性八個(gè)指標(biāo),對(duì)比評(píng)價(jià)了不同存儲(chǔ)模式下的存儲(chǔ)方案。本文將物聯(lián)網(wǎng)應(yīng)用分為實(shí)時(shí)性、半實(shí)時(shí)性以及歷史數(shù)據(jù)應(yīng)用,根據(jù)應(yīng)用特征界定了不同的存儲(chǔ)模式及方案應(yīng)用范圍,并在最后分析了物聯(lián)網(wǎng)存儲(chǔ)發(fā)展趨勢(shì),同時(shí)基于當(dāng)前工作的不足,介紹了下一步不同模式的物聯(lián)網(wǎng)存儲(chǔ)研究工作的重點(diǎn)。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴(lài)品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標(biāo)題:物聯(lián)網(wǎng)存儲(chǔ)模式與方案研究
本文網(wǎng)址:http://m.hanmeixuan.com/html/consultation/10839312897.html