物聯(lián)網(wǎng)通用應(yīng)用層架構(gòu)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
物聯(lián)網(wǎng)系統(tǒng)通??捎蒑2M應(yīng)用平臺(tái)、用戶側(cè)的匯聚網(wǎng)關(guān)和用戶側(cè)若干傳感器組成。由于物聯(lián)網(wǎng)設(shè)計(jì)的行業(yè)種類繁多,目前的應(yīng)用平臺(tái)和匯聚網(wǎng)關(guān)一般都由一個(gè)廠家提供,他們之間的通信協(xié)議也是私有的。而這又限制了應(yīng)用的迅速開(kāi)發(fā)和升級(jí)開(kāi)發(fā)。
為此,本文設(shè)計(jì)了一種在匯聚網(wǎng)關(guān)上的通用應(yīng)用層(CAL)架構(gòu)。通用應(yīng)用層(CAL)可對(duì)外提供統(tǒng)一的應(yīng)用編程接口(API),并可屏蔽傳感器通信差異的技術(shù)細(xì)節(jié)。文中詳細(xì)介紹了通用應(yīng)用層的分層架構(gòu)模型,并針對(duì)不同性質(zhì)的傳感器應(yīng)用設(shè)計(jì)了不同的API。采用該通用應(yīng)用層架構(gòu)的物聯(lián)網(wǎng)系統(tǒng)可以進(jìn)行匯聚網(wǎng)關(guān)和業(yè)務(wù)平臺(tái)的獨(dú)立開(kāi)發(fā)和部署。
1 技術(shù)背景
物聯(lián)網(wǎng)(M2M)作為當(dāng)前迅猛發(fā)展的新技術(shù),已經(jīng)成為當(dāng)前的熱點(diǎn)話題。物聯(lián)網(wǎng)技術(shù)必將帶來(lái)一場(chǎng)深刻的科技變革,帶來(lái)人類科技文明的飛躍。物聯(lián)網(wǎng)的范圍非常廣,業(yè)內(nèi)預(yù)測(cè):物聯(lián)網(wǎng)終端用戶將是手機(jī)等移動(dòng)通信終端用戶數(shù)量的數(shù)十倍。物聯(lián)網(wǎng)的種類和跨行業(yè)十分廣泛,從家庭、企業(yè)、到各個(gè)行業(yè)。應(yīng)用范圍包括電力行業(yè)的遠(yuǎn)程抄表、配輸電設(shè)備監(jiān)控、重點(diǎn)污染源監(jiān)控、氣象檢測(cè)、車輛管理、水文檢測(cè)、物流運(yùn)輸、移動(dòng)POS等業(yè)務(wù),而且其它行業(yè)的物聯(lián)網(wǎng)應(yīng)用還有不少。物聯(lián)網(wǎng)的實(shí)質(zhì)是利用無(wú)線或有線通信技術(shù),通過(guò)互聯(lián)網(wǎng)實(shí)現(xiàn)各種物品的管理控制和信息共享。物聯(lián)網(wǎng)數(shù)量龐大、行業(yè)眾多,實(shí)現(xiàn)的技術(shù)多種多樣。物聯(lián)網(wǎng)設(shè)備接入網(wǎng)絡(luò)的通信協(xié)議一般有Zig-Bee、藍(lán)牙、Wi-Fi、Z-Wave等。
2 目前物聯(lián)網(wǎng)體系框架存在的弊端
物聯(lián)網(wǎng)(M2M)實(shí)現(xiàn)中,一般要在家庭或企業(yè)側(cè)部署一個(gè)M2M網(wǎng)關(guān),該網(wǎng)關(guān)可以是單獨(dú)設(shè)備,也可以和路由器、寬帶網(wǎng)關(guān)集成,主要負(fù)責(zé)傳感器和應(yīng)用平臺(tái)之間的通信,它一方面由M2M網(wǎng)關(guān)接收應(yīng)用平臺(tái)的管理或操作指令,另一方面,M2M網(wǎng)關(guān)還負(fù)責(zé)傳感器狀態(tài)的監(jiān)視和數(shù)據(jù)的采集。
物聯(lián)網(wǎng)在各個(gè)行業(yè)都有非常專業(yè)的需求,因而每個(gè)行業(yè),甚至每個(gè)部門(mén)都有自己的M2M應(yīng)用平臺(tái)。M2M網(wǎng)關(guān)給M2M應(yīng)用平臺(tái)提供的通信接口沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),這樣,應(yīng)用平臺(tái)就必須對(duì)M2M網(wǎng)關(guān)作定制開(kāi)發(fā)。在沒(méi)有統(tǒng)一接口標(biāo)準(zhǔn)的情況下,應(yīng)用平臺(tái)接口開(kāi)發(fā)、調(diào)試工作量很大,另外,當(dāng)M2M更換設(shè)備時(shí),平臺(tái)也要重新作適配開(kāi)發(fā)。因此,物聯(lián)網(wǎng)的飛速發(fā)展迫切需要定義統(tǒng)一的接口標(biāo)準(zhǔn)和通用的M2M網(wǎng)關(guān)架構(gòu)。目前業(yè)界設(shè)計(jì)的平臺(tái)開(kāi)發(fā)架構(gòu)多側(cè)重于物聯(lián)網(wǎng)運(yùn)營(yíng)支撐的平臺(tái)架構(gòu),其結(jié)構(gòu)如圖1所示。
3 通用應(yīng)用層的架構(gòu)和關(guān)鍵技術(shù)
3.1 通用應(yīng)用層架構(gòu)和系統(tǒng)接口
M2M網(wǎng)關(guān)引入通用應(yīng)用層(CAL)架構(gòu)有助于解決應(yīng)用平臺(tái)和網(wǎng)關(guān)之間的標(biāo)準(zhǔn)統(tǒng)一,也有助于M2M網(wǎng)關(guān)的標(biāo)準(zhǔn)化。通用應(yīng)用層可向M2M應(yīng)用平臺(tái)提供通用的應(yīng)用編程接口(API),以便應(yīng)用平臺(tái)不再關(guān)心M2M網(wǎng)關(guān)的差異。通用應(yīng)用層(CAL)的系統(tǒng)接口如圖2所示。
傳感器管理平臺(tái)也可使用通用應(yīng)用層提供的API,其中管理平臺(tái)可能是應(yīng)用平臺(tái)的一部分,也可能是獨(dú)立的平臺(tái)。不同行業(yè)甚至可以共享一個(gè)管理平臺(tái),比如由電信運(yùn)營(yíng)商提供M2M網(wǎng)關(guān)的情形,設(shè)備的管理即由電信運(yùn)營(yíng)商管理,而業(yè)務(wù)采用各行業(yè)自建的平臺(tái)。
通用應(yīng)用層可提供不同形式的API:其一是對(duì)實(shí)時(shí)性要求較高的應(yīng)用,可采用基于TCP/UDP的私有協(xié)議;其二是對(duì)實(shí)時(shí)性要求較低的應(yīng)用,如管理、配置類通信請(qǐng)求,采用業(yè)界通用的WebService接口。
通用應(yīng)用層技術(shù)還可以提供應(yīng)用平臺(tái)SDK開(kāi)發(fā)包,開(kāi)發(fā)者無(wú)需關(guān)心通信的底層協(xié)議,從而可以讓開(kāi)發(fā)者專注于M2M應(yīng)用開(kāi)發(fā)。
3.2 通用應(yīng)用層的分層結(jié)構(gòu)
圖3所示是通用應(yīng)用層的分層邏輯架構(gòu)。由圖可見(jiàn),該應(yīng)用層分為四層架構(gòu),現(xiàn)分別描述如下:
(1) 接口層
接口層主要是和各種傳感器的接口。該層能適配各種傳感器通信協(xié)議,如Zigbee、Z—Wave、UPnP、LON、DLNA等。
(2) 數(shù)據(jù)分析層
數(shù)據(jù)分析層主要是對(duì)主動(dòng)采集的信息、設(shè)備上報(bào)的告警信息、事件信息等進(jìn)行統(tǒng)一過(guò)濾和分析,只有超過(guò)用戶設(shè)置的閾值才會(huì)向用戶發(fā)送告警信息;同時(shí)對(duì)釆集的數(shù)據(jù)進(jìn)行預(yù)處理,丟棄無(wú)用信息,并可轉(zhuǎn)換采集的數(shù)據(jù)格式;另外就是進(jìn)行簡(jiǎn)單的統(tǒng)計(jì)分析,供應(yīng)用査詢;再就是提供數(shù)據(jù)的短時(shí)間的存儲(chǔ)。設(shè)計(jì)這一個(gè)策略層的目的就是減輕應(yīng)用邏輯層的數(shù)據(jù)過(guò)濾和處理的壓力,提高系統(tǒng)的整體性能。
(3) 應(yīng)用邏輯層
應(yīng)用邏輯層主要是對(duì)應(yīng)用的請(qǐng)求進(jìn)行處理。主要包含應(yīng)用認(rèn)證、傳感器監(jiān)控定制、傳感器狀態(tài)察看、傳感器遠(yuǎn)程控制、傳感器變化通知、傳感器管理、傳感器報(bào)警、傳感器配置等八大類業(yè)務(wù)邏輯處理模塊。應(yīng)用認(rèn)證模塊的目的是防止未經(jīng)授權(quán)的應(yīng)用來(lái)訪問(wèn)傳感器;傳感器監(jiān)控定制模塊用于接收應(yīng)用的訂購(gòu)監(jiān)控請(qǐng)求,并保存;傳感器狀態(tài)察看模塊接收應(yīng)用的傳感器狀態(tài)査詢請(qǐng)求,并從傳感器獲得相應(yīng)狀態(tài),然后返回給應(yīng)用;傳感器變化通知模塊根據(jù)傳感器監(jiān)控定制模塊存儲(chǔ)的定制請(qǐng)求,定期查詢傳感器狀態(tài),有符合應(yīng)用定制要求的,就主動(dòng)通知應(yīng)用;傳感器管理主要關(guān)注傳感器工作狀態(tài)的管理,而不是對(duì)傳感器業(yè)務(wù)的管理;傳感器報(bào)警模塊接收數(shù)據(jù)分析層的告警信息,并發(fā)送到管理平臺(tái);傳感器配置用于接收管理平臺(tái)的配置工單,并正確配置傳感器的參數(shù)。
(4) API層
API層可提供一系列的API,以供應(yīng)用平臺(tái)和管理平臺(tái)調(diào)用。API主要包括認(rèn)證API、訂購(gòu)API、査詢API、控制API、通知API、告警API和配置API等。
3.3通用應(yīng)用層API
通用應(yīng)用層提供有一系列的APL可根據(jù)應(yīng)用的不同提供WebserviceAPI和實(shí)時(shí)響應(yīng)的自定義API。與管理相關(guān)的API對(duì)實(shí)時(shí)性要求不高,可以采用WebServiceAPI0而傳感器狀態(tài)監(jiān)控、控制命令下發(fā)則對(duì)實(shí)時(shí)性要求很高,故需要釆用實(shí)時(shí)性較強(qiáng)的通信技術(shù)。表1所列是通用應(yīng)用層編程接口(API)的主要分類。
4 輪渡和大橋交勇監(jiān)控中的通用應(yīng)用層應(yīng)用
大江、大河的輪渡和大橋的交通運(yùn)輸一般都部署了各種傳感器,如車輛載重傳感器、擋竿傳感器、風(fēng)速傳感器、路燈傳感器等。因此,在大橋或輪渡監(jiān)控中心部署交通監(jiān)控應(yīng)用平臺(tái),若沒(méi)有使用具有通用應(yīng)用層技術(shù)的采集網(wǎng)關(guān),應(yīng)用平臺(tái)就必須開(kāi)發(fā)和釆集網(wǎng)關(guān)的私有接口,而且開(kāi)發(fā)調(diào)試比較困難,另外,應(yīng)用平臺(tái)的通用性也將受到限制。使用具有通用應(yīng)用層技術(shù)的采集網(wǎng)關(guān)可簡(jiǎn)化開(kāi)發(fā)周期,應(yīng)用平臺(tái)直接集成有通用應(yīng)用層技術(shù)可提供的SDK。圖4所示是通用應(yīng)用層技術(shù)在輪渡大橋監(jiān)控系統(tǒng)中的應(yīng)用示例。
在圖4所示的示例中沒(méi)有部署單獨(dú)的管理平臺(tái),其采用通用應(yīng)用層技術(shù)的輪渡和大橋交通監(jiān)控的應(yīng)用流程如下:
(1) 應(yīng)用平臺(tái)通過(guò)通用應(yīng)用層API接口配置傳感器參數(shù);
(2) 應(yīng)用平臺(tái)通過(guò)通用應(yīng)用層API接口訂購(gòu)應(yīng)用平臺(tái)要監(jiān)測(cè)的傳感器及相關(guān)的狀態(tài);
(3) 通用應(yīng)用層監(jiān)測(cè)應(yīng)用平臺(tái)訂購(gòu)的傳感器,并把符合應(yīng)用平臺(tái)監(jiān)測(cè)要求的狀態(tài)發(fā)送給應(yīng)用平臺(tái);
(4) 應(yīng)用平臺(tái)通過(guò)通用應(yīng)用層API接口查詢傳感器的狀態(tài)(該步驟和2,3步無(wú)前后關(guān)系)。
5結(jié)語(yǔ)
通用應(yīng)用層的提出能促進(jìn)物聯(lián)網(wǎng)業(yè)務(wù)平臺(tái)的快速開(kāi)發(fā)和部署,幫助物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)者屏蔽傳感器通信差異的技術(shù)細(xì)節(jié)。然而,為促進(jìn)物聯(lián)網(wǎng)網(wǎng)關(guān)的標(biāo)準(zhǔn)化,通用應(yīng)用層內(nèi)部的技術(shù)細(xì)節(jié)還有待進(jìn)一步研究。