第7章 物聯(lián)網(wǎng)應(yīng)用軟件設(shè)計(jì)(二)_第1頁
第7章 物聯(lián)網(wǎng)應(yīng)用軟件設(shè)計(jì)(二)_第2頁
第7章 物聯(lián)網(wǎng)應(yīng)用軟件設(shè)計(jì)(二)_第3頁
第7章 物聯(lián)網(wǎng)應(yīng)用軟件設(shè)計(jì)(二)_第4頁
第7章 物聯(lián)網(wǎng)應(yīng)用軟件設(shè)計(jì)(二)_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

物聯(lián)網(wǎng)工程設(shè)計(jì)1第七章物聯(lián)網(wǎng)軟件設(shè)計(jì)最少學(xué)時(shí):6學(xué)時(shí);知識點(diǎn)

:物聯(lián)網(wǎng)軟件的特點(diǎn)和分類;物聯(lián)網(wǎng)感知層核心技術(shù)及軟件設(shè)計(jì);物聯(lián)網(wǎng)接入層核心技術(shù)及軟件設(shè)計(jì);物聯(lián)網(wǎng)應(yīng)層核心技術(shù)及軟件設(shè)計(jì);物聯(lián)網(wǎng)中間件分類及設(shè)計(jì);學(xué)習(xí)目標(biāo):掌握物聯(lián)網(wǎng)軟件的特點(diǎn)和分類;掌握物聯(lián)網(wǎng)感知層核心技術(shù)及軟件設(shè)計(jì);

熟悉物聯(lián)網(wǎng)接入層核心技術(shù)及軟件設(shè)計(jì);掌握物聯(lián)網(wǎng)應(yīng)層核心技術(shù)及軟件設(shè)計(jì)方法和步驟;

熟悉并能撰寫合格的軟件設(shè)計(jì)報(bào)告;2第七章物聯(lián)網(wǎng)軟件設(shè)計(jì)3物聯(lián)網(wǎng)軟件技術(shù)的發(fā)展離不開系統(tǒng)架構(gòu)和硬件的支持。完整的物聯(lián)網(wǎng)系統(tǒng)包含感知層、傳輸層和應(yīng)用層(包括處理子層和應(yīng)用領(lǐng)域子層),涉及的技術(shù)基礎(chǔ)包括:標(biāo)準(zhǔn)化、感知材料和標(biāo)識技術(shù)、安全和隱私、功率和能量存儲(chǔ)技術(shù)、發(fā)現(xiàn)和搜索技術(shù)、組網(wǎng)激素、通信技術(shù)、數(shù)據(jù)流及數(shù)據(jù)處理技術(shù)、軟件和算法等。物聯(lián)網(wǎng)軟件設(shè)計(jì)也分散在這些層次中,協(xié)助硬件一起完成特定層次功能。本章簡要介紹物聯(lián)網(wǎng)各層涉及的軟件的設(shè)計(jì)方法、特點(diǎn)和注意事項(xiàng)。主要內(nèi)容4物聯(lián)網(wǎng)軟件設(shè)計(jì)概述物聯(lián)網(wǎng)應(yīng)用層軟件設(shè)計(jì)方法物聯(lián)網(wǎng)中間件技術(shù)面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)物聯(lián)網(wǎng)部署物聯(lián)網(wǎng)應(yīng)用軟件設(shè)計(jì)與部署案例教學(xué)物聯(lián)網(wǎng)感知層核心技術(shù)與軟件設(shè)計(jì)物聯(lián)網(wǎng)接入層核心技術(shù)與軟件設(shè)計(jì)7.5物聯(lián)網(wǎng)中間件技術(shù)傳統(tǒng)的中間件是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,是伴隨著網(wǎng)絡(luò)技術(shù)的產(chǎn)生、發(fā)展而興起的,為網(wǎng)絡(luò)分布式計(jì)算環(huán)境提供通信服務(wù)、交換服務(wù)、語義互操作服務(wù)等系統(tǒng)之間的協(xié)同集成服務(wù),解決系統(tǒng)之間的互連互通和資源共享問題。在物聯(lián)網(wǎng)中采用中間件技術(shù),是為實(shí)現(xiàn)多個(gè)系統(tǒng)和多種技術(shù)之間的資源共享,最終組成一個(gè)資源豐富、功能強(qiáng)大的服務(wù)系統(tǒng)。從本質(zhì)上看,物聯(lián)網(wǎng)中間件是物聯(lián)網(wǎng)應(yīng)用的共性需求(全面感知、互聯(lián)互通和智能處理),與已存在的各種中間件及信息處理技術(shù),包括信息感知技術(shù)、下一代網(wǎng)絡(luò)技術(shù)、人工智能與自動(dòng)化技術(shù)的聚合與技術(shù)提升。7.5物聯(lián)網(wǎng)中間件技術(shù)目前階段,一方面,受限于底層不同的網(wǎng)絡(luò)技術(shù)和硬件平臺(tái),物聯(lián)網(wǎng)中間件研究主要還集中在底層的感知和互聯(lián)互通方面,現(xiàn)實(shí)目標(biāo)包括屏蔽底層硬件及網(wǎng)絡(luò)平臺(tái)差異,支持物聯(lián)網(wǎng)應(yīng)用開發(fā)、運(yùn)行時(shí)共享和開放互聯(lián)互通,保障物聯(lián)網(wǎng)相關(guān)系統(tǒng)的可靠部署與可靠管理等內(nèi)容;另一方面,當(dāng)前物聯(lián)網(wǎng)應(yīng)用復(fù)雜度和規(guī)模還處于初級階段,物聯(lián)網(wǎng)中間件支持大規(guī)模物聯(lián)網(wǎng)應(yīng)用還存在環(huán)境復(fù)雜多變、異構(gòu)物理設(shè)備、遠(yuǎn)距離多樣式無線通信、大規(guī)模部署、海量數(shù)據(jù)融合、復(fù)雜事件處理、綜合運(yùn)維管理等諸多仍未克服的障礙。

7.5.1中間件概述7.5.2物聯(lián)網(wǎng)中間件分類7.5.3基于中間件的物聯(lián)網(wǎng)應(yīng)用軟件設(shè)計(jì)案例7.5物聯(lián)網(wǎng)中間件技術(shù)77.5.1中間件概述IDC曾經(jīng)給中間件的定義:一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源,位于客戶機(jī)服務(wù)器的操作系統(tǒng)之上,管理計(jì)算資源和網(wǎng)絡(luò)通信主機(jī)一

中間件分布式應(yīng)用中間件API操作系統(tǒng)API操作系統(tǒng)處理存儲(chǔ)通信主機(jī)二

中間件分布式應(yīng)用中間件API操作系統(tǒng)API操作系統(tǒng)處理存儲(chǔ)通信網(wǎng)絡(luò)圖7-6中間件在應(yīng)用系統(tǒng)中的位置7.5物聯(lián)網(wǎng)中間件技術(shù)87.5.1中間件概述許多物聯(lián)網(wǎng)體系架構(gòu)中,經(jīng)常把中間件單獨(dú)劃分一層,位于感知層與網(wǎng)絡(luò)層或網(wǎng)絡(luò)層與應(yīng)用層之間。物聯(lián)網(wǎng)中采用中間件技術(shù),可以實(shí)現(xiàn)多個(gè)系統(tǒng)和多種技術(shù)之間的資源共享,最終組成資源豐富、功能強(qiáng)大的服務(wù)系統(tǒng),最大限度地發(fā)揮物聯(lián)網(wǎng)系統(tǒng)的作用。物聯(lián)網(wǎng)中間件的主要作用在于將實(shí)體對象轉(zhuǎn)換為信息環(huán)境下的虛擬對象,因此數(shù)據(jù)處理是中間件最重要的功能。同時(shí),中間件具有數(shù)據(jù)的搜集、過濾、整合與傳遞等特性,以便將正確的對象信息傳到后端的應(yīng)用系統(tǒng)。7.5物聯(lián)網(wǎng)中間件技術(shù)97.5.1中間件概述物聯(lián)網(wǎng)中間件的特點(diǎn)(1)獨(dú)立于架構(gòu)。中間件獨(dú)立于物聯(lián)網(wǎng)設(shè)備與后端應(yīng)用程序之間,并能與多個(gè)后端應(yīng)用程序連接,降低維護(hù)的復(fù)雜性;(2)數(shù)據(jù)流。物聯(lián)網(wǎng)的目的是將實(shí)體對象轉(zhuǎn)換為信息環(huán)境下的虛擬對象,因此數(shù)據(jù)處理是中間件最重要的功能。(3)處理流。物聯(lián)網(wǎng)中間件采用程序邏輯及存儲(chǔ)轉(zhuǎn)發(fā)功能提供順序信息流,具有數(shù)據(jù)流設(shè)計(jì)與管理的能力。(4)標(biāo)準(zhǔn)化。7.5物聯(lián)網(wǎng)中間件技術(shù)107.5.1中間件概述按照技術(shù)發(fā)展的階段劃分,物聯(lián)網(wǎng)中間件發(fā)展主要分成3個(gè)階段應(yīng)用程序中間件階段;架構(gòu)中間件階段;解決方案中間件階段;目前,物聯(lián)網(wǎng)中間件最主要的代表是RFID中間件,其他的還有嵌入式中間件、數(shù)字電視中間件、通用中間件等。7.5物聯(lián)網(wǎng)中間件技術(shù)117.5.1中間件概述RFID中間件RFID中間件是RFID標(biāo)簽和應(yīng)用程序之間的中介,從應(yīng)用程序端使用中間件提供的一組通用的API,能夠讀寫RFID標(biāo)簽。RFID中間件在系統(tǒng)中的位置和作用參見下圖7-17所示。RFID中間件是為了實(shí)現(xiàn)每個(gè)小的應(yīng)用環(huán)境或系統(tǒng)的標(biāo)準(zhǔn)化以及它們之間的通信,在后臺(tái)應(yīng)用軟件和讀寫器之間設(shè)置的一個(gè)通用的平臺(tái)和接口。圖7-18典型的嵌入式Web服務(wù)器系統(tǒng)模型7.5物聯(lián)網(wǎng)中間件技術(shù)127.5.1中間件概述嵌入式中間件位于嵌入式操作系統(tǒng)、數(shù)據(jù)庫與應(yīng)用軟件之間的一種軟件,使用嵌入式操作系統(tǒng)所提供的基本功能和服務(wù),并為上層的應(yīng)用系統(tǒng)提供運(yùn)行開發(fā)環(huán)境。嵌入式系統(tǒng)的優(yōu)點(diǎn)在于軟件和硬件的可裁剪性,結(jié)構(gòu)靈活性、穩(wěn)定性和經(jīng)濟(jì)性。嵌入式中間件有兩個(gè)重要的平臺(tái):嵌入式Web和JavaVM平臺(tái)。7.5物聯(lián)網(wǎng)中間件技術(shù)137.5.1中間件概述數(shù)字電視中間件指位于數(shù)字電視機(jī)頂盒內(nèi)部實(shí)時(shí)操作系統(tǒng)與應(yīng)用程序之間的軟件部分;以應(yīng)用程序接口API的形式存在,整個(gè)API集合被存儲(chǔ)在機(jī)頂盒的閃存FLASH中,針對機(jī)頂盒的應(yīng)用程序基于API進(jìn)行開發(fā),能夠支持豐富的應(yīng)用。7.5物聯(lián)網(wǎng)中間件技術(shù)147.5.1中間件概述下面以RFID中間件的發(fā)展為例,簡單介紹其3個(gè)發(fā)展階段:應(yīng)用程序中間件階段多以整合、串接RFID讀寫器為目的,RFID廠商提供簡單的API,以供用戶將后端與RFID讀寫器串接,用戶需要花費(fèi)較多成本處理前后端之間的連接問題;架構(gòu)中間件階段是RFID中間件發(fā)展的關(guān)鍵階段,不但已經(jīng)具備基本的數(shù)據(jù)搜索、過濾功能,同時(shí)也滿足企業(yè)多對多的連接需求,并具備平臺(tái)的管理與維護(hù)功能;解決方案中間件階段是在RFID標(biāo)簽、讀寫器與中間件發(fā)展成熟過程中,各廠商針對不同領(lǐng)域提出的創(chuàng)新應(yīng)用解決方案,如ManhattanAssociates提出的RFIDinaBox,企業(yè)不需再為前端的RFID硬件和后端應(yīng)用系統(tǒng)的連接而煩惱,該公司與AlienTechnologyCorp在RFID硬件端合作,發(fā)展中間件,針對該公司的900多家已有的供應(yīng)鏈客戶群發(fā)展供應(yīng)鏈執(zhí)行方案。7.5物聯(lián)網(wǎng)中間件技術(shù)157.5.2物聯(lián)網(wǎng)中間件分類按物聯(lián)網(wǎng)底層感知及互聯(lián)互通,和面向大規(guī)模物聯(lián)網(wǎng)應(yīng)用兩方面介紹當(dāng)前物聯(lián)網(wǎng)中間件的相關(guān)研究現(xiàn)狀:物聯(lián)網(wǎng)底層感知與互聯(lián)互通方面:

EPC中間件相關(guān)規(guī)范、OPC中間件相關(guān)規(guī)范已經(jīng)過多年的發(fā)展,相關(guān)商業(yè)產(chǎn)品在業(yè)界已被廣泛接受和使用;WSN中間件,以及面向開放互聯(lián)的OSGi中間件,正處于研究熱點(diǎn);大規(guī)模物聯(lián)網(wǎng)應(yīng)用方面:面對海量數(shù)據(jù)實(shí)時(shí)處理等的需求,傳統(tǒng)面向服務(wù)的中間件技術(shù)將難以發(fā)揮作用,而事件驅(qū)動(dòng)架構(gòu)、復(fù)雜事件處理CEP中間件則是物聯(lián)網(wǎng)大規(guī)模應(yīng)用的核心研究內(nèi)容之一。7.5物聯(lián)網(wǎng)中間件技術(shù)167.5.2物聯(lián)網(wǎng)中間件分類

(一)EPC(ElectronicProductCode)中間件EPC中間件是電子產(chǎn)品標(biāo)簽和應(yīng)用程序之間的中介。應(yīng)用程序使用EPC中間件所提供的一組通用應(yīng)用程序接口,讀取RFID標(biāo)簽數(shù)據(jù)。EPC中間件的標(biāo)準(zhǔn)接口,可以解決應(yīng)用程序和RFID標(biāo)簽之間多對多連接的維護(hù)復(fù)雜性等問題。EPC電子標(biāo)簽標(biāo)準(zhǔn)化方面,美國在世界領(lǐng)先成立了EPCGlobal(電子產(chǎn)品代碼環(huán)球協(xié)會(huì))。EPCGlobal主要針對RFID編碼及應(yīng)用開發(fā)規(guī)范方面進(jìn)行研究,其主要職責(zé)是在全球范圍內(nèi)對各個(gè)行業(yè)建立和維護(hù)EPC網(wǎng)絡(luò),保證供應(yīng)鏈各環(huán)節(jié)信息的自動(dòng)、實(shí)時(shí)識別采用全球統(tǒng)一標(biāo)準(zhǔn)。國際上,目前比較知名的EPC中間件廠商有IBM、Oracle、SAP、Microsoft、Sun(Oracle)、Sybase、BEA(Oracle)等的相關(guān)產(chǎn)品。7.5物聯(lián)網(wǎng)中間件技術(shù)177.5.2物聯(lián)網(wǎng)中間件分類(二)OPC(OLEforProcessControl,用于過程控制的OLE)中間件OPC是一個(gè)面向開放工控系統(tǒng)的工業(yè)標(biāo)準(zhǔn),基于微軟的OLE(ActiveX)、COM(構(gòu)件對象模型)和DCOM(分布式構(gòu)件對象模型)技術(shù),包括一整套接口、屬性和方法的標(biāo)準(zhǔn)集,用于過程控制和制造業(yè)自動(dòng)化系統(tǒng),現(xiàn)已成為工業(yè)界系統(tǒng)互聯(lián)的默認(rèn)方案。OPC是連接數(shù)據(jù)源(OPC服務(wù)器)和數(shù)據(jù)使用者(OPC應(yīng)用程序)之間的軟件接口標(biāo)準(zhǔn)。

OPCClient/Server運(yùn)行關(guān)系示意圖7.5物聯(lián)網(wǎng)中間件技術(shù)187.5.2物聯(lián)網(wǎng)中間件分類(三)WSN中間件相比RFID和OPC中間件產(chǎn)品的成熟度和業(yè)界廣泛應(yīng)用程度,WSN中間件還處于初級研究階段,所需解決的問題也更為復(fù)雜。WSN中間件主要用于支持基于無線傳感器應(yīng)用的開發(fā)、維護(hù)、部署和執(zhí)行,其中包括復(fù)雜高級感知任務(wù)的描述機(jī)制,傳感器網(wǎng)絡(luò)通信機(jī)制,傳感器節(jié)點(diǎn)之間協(xié)調(diào)以在各傳感器節(jié)點(diǎn)上分配和調(diào)度該任務(wù),對合并的傳感器感知數(shù)據(jù)進(jìn)行數(shù)據(jù)融合以得到高級結(jié)果,并將所得結(jié)果向任務(wù)指派者進(jìn)行匯報(bào)等機(jī)制。7.5物聯(lián)網(wǎng)中間件技術(shù)197.5.2物聯(lián)網(wǎng)中間件分類(三)WSN中間件針對WSN中間件的上述目標(biāo),目前的WSN中間件研究提出了諸如分布式數(shù)據(jù)庫、虛擬共享元組空間、事件驅(qū)動(dòng)、服務(wù)發(fā)現(xiàn)與調(diào)用、移動(dòng)代理等許多不同的設(shè)計(jì)方法。1、分布式數(shù)據(jù)庫基于分布式數(shù)據(jù)庫設(shè)計(jì)的WSN中間件把整個(gè)WSN網(wǎng)絡(luò)看成一個(gè)分布式數(shù)據(jù)庫,用戶使用類SQL的查詢命令以獲取所需的數(shù)據(jù)。分布式數(shù)據(jù)庫方法把整個(gè)網(wǎng)絡(luò)抽象為一個(gè)虛擬實(shí)體,屏蔽了系統(tǒng)分布式問題,使開發(fā)人員擺脫了對底層問題的關(guān)注和繁瑣的單節(jié)點(diǎn)開發(fā)。然而,建立和維護(hù)一個(gè)全局節(jié)點(diǎn)和網(wǎng)絡(luò)抽象需要整個(gè)網(wǎng)絡(luò)信息,這也限制了此類系統(tǒng)的擴(kuò)展。7.5物聯(lián)網(wǎng)中間件技術(shù)207.5.2物聯(lián)網(wǎng)中間件分類(三)WSN中間件2、虛擬共享元組空間指分布式應(yīng)用利用一個(gè)共享存儲(chǔ)模型,通過對元組的讀、寫和移動(dòng)以實(shí)現(xiàn)協(xié)同。在虛擬共享元組空間中,數(shù)據(jù)被表示為稱為元組的基本數(shù)據(jù)結(jié)構(gòu),所有的數(shù)據(jù)操作與查詢看上去像是本地查詢和操作一樣。虛擬共享元組空間通信范式在時(shí)空上都是去耦的,不需要節(jié)點(diǎn)的位置或標(biāo)志信息,非常適合具有移動(dòng)特性的WSN,并具有很好的擴(kuò)展性。但它的實(shí)現(xiàn)對系統(tǒng)資源要求也相對較高,與分布式數(shù)據(jù)庫類似,考慮到資源和移動(dòng)性等的約束,把傳感器網(wǎng)絡(luò)中所有連接的傳感器節(jié)點(diǎn)映射為一個(gè)分布式共享元組空間并非易事。典型實(shí)現(xiàn)包括TinyLime,Agilla等。7.5物聯(lián)網(wǎng)中間件技術(shù)217.5.2物聯(lián)網(wǎng)中間件分類(三)WSN中間件3、事件驅(qū)動(dòng)基于事件驅(qū)動(dòng)的WSN中間件支持應(yīng)用程序指定感興趣的某種特定的狀態(tài)變化。當(dāng)傳感器節(jié)點(diǎn)檢測到相應(yīng)事件的發(fā)生就立即向相應(yīng)程序發(fā)送通知。應(yīng)用程序也可指定一個(gè)復(fù)合事件,只有發(fā)生的事件匹配了此復(fù)合事件模式才通知應(yīng)用程序。4、服務(wù)發(fā)現(xiàn)基于服務(wù)發(fā)現(xiàn)機(jī)制的WSN中間件,可使得上層應(yīng)用通過使用服務(wù)發(fā)現(xiàn)協(xié)議,來定位可滿足物聯(lián)網(wǎng)應(yīng)用數(shù)據(jù)需求的傳感器節(jié)點(diǎn)。7.5物聯(lián)網(wǎng)中間件技術(shù)227.5.2物聯(lián)網(wǎng)中間件分類(三)WSN中間件----5、移動(dòng)代理移動(dòng)代理(或移動(dòng)代碼)可以被動(dòng)態(tài)注入并運(yùn)行在傳感器網(wǎng)絡(luò)中。這些可移動(dòng)代碼可以收集本地的傳感器數(shù)據(jù),然后自動(dòng)遷移或?qū)⒆陨砜截愔疗渌麄鞲衅鞴?jié)點(diǎn)上運(yùn)行,并能夠與其他遠(yuǎn)程移動(dòng)代理(包括自身拷貝)進(jìn)行通信。除上述提到的WSN中間件類型外,還有許多針對WSN特點(diǎn)而設(shè)計(jì)的其他方法。另外,在無線傳感器網(wǎng)絡(luò)環(huán)境中,WSN中間件和傳感器節(jié)點(diǎn)硬件平臺(tái)(如ARM,Atmel等)、適用操作系統(tǒng)(TinyOS,ucLinux,ContikiOS,MantisOS,SOS,SenOS,MagnetOS,PEEROS,AmbitentRT,Bertha等)、無線網(wǎng)絡(luò)協(xié)議棧(包括鏈路、路由、轉(zhuǎn)發(fā)、節(jié)能)、節(jié)點(diǎn)資源管理(時(shí)間同步、定位、電源消耗)等功能聯(lián)系緊密。但由于篇幅關(guān)系,本文對上述內(nèi)容不做贅述。7.5物聯(lián)網(wǎng)中間件技術(shù)237.5.2物聯(lián)網(wǎng)中間件分類(四)OSGi(OpenServicesGatewayinitiative)中間件OSGi是一個(gè)1999年成立的開放標(biāo)準(zhǔn)聯(lián)盟,旨在建立一個(gè)開放的服務(wù)規(guī)范,一方面,為通過網(wǎng)絡(luò)向設(shè)備提供服務(wù)建立開放的標(biāo)準(zhǔn),另一方面,為各種嵌入式設(shè)備提供通用的軟件運(yùn)行平臺(tái),以屏蔽設(shè)備操作系統(tǒng)與硬件的區(qū)別。OSGi規(guī)范基于JAVA技術(shù),可為設(shè)備的網(wǎng)絡(luò)服務(wù)定義一個(gè)標(biāo)準(zhǔn)的、面向組件的計(jì)算環(huán)境,并提供已開發(fā)的象HTTP服務(wù)器、配置、日志、安全、用戶管理、XML等很多公共功能標(biāo)準(zhǔn)組件。OSGi組件可以在無需網(wǎng)絡(luò)設(shè)備重啟下被設(shè)備動(dòng)態(tài)加載或移除,以滿足不同應(yīng)用的不同需求。7.5物聯(lián)網(wǎng)中間件技術(shù)247.5.2物聯(lián)網(wǎng)中間件分類(五)復(fù)雜事件處理CEP中間件復(fù)雜事件處理(ComplexEventProgressing)技術(shù)是90年代中期由斯坦福大學(xué)的DavidLuckham教授所提出是一種新興的基于事件流的技術(shù),它將系統(tǒng)數(shù)據(jù)看作不同類型的事件,通過分析事件間的關(guān)系如:成員關(guān)系、時(shí)間關(guān)系以及因果關(guān)系,包含關(guān)系等,建立不同的事件關(guān)系序列庫,即規(guī)則庫,利用過濾、關(guān)聯(lián)、聚合等技術(shù),最終由簡單事件產(chǎn)生高級事件或商業(yè)流程。不同的應(yīng)用系統(tǒng)可以通過它得到不同的高級事件。7.5物聯(lián)網(wǎng)中間件技術(shù)257.5.2物聯(lián)網(wǎng)中間件分類(五)復(fù)雜事件處理CEP中間件(續(xù))復(fù)雜事件處理代表一個(gè)新的開發(fā)理念和架構(gòu),具有很多特征,例如分析計(jì)算是基于數(shù)據(jù)流而不是簡單數(shù)據(jù)的方式進(jìn)行的。它不是數(shù)據(jù)庫技術(shù)層面的突破,而是整個(gè)方法論的突破。目前,復(fù)雜事件處理中間件主要面向金融、監(jiān)控等領(lǐng)域,包括IBM流計(jì)算中間件InfoSphereStreams,以及Sybase、Tibico等的相關(guān)產(chǎn)品。7.5物聯(lián)網(wǎng)中間件技術(shù)267.5.2物聯(lián)網(wǎng)中間件分類(六)其他相關(guān)中間件國際電信聯(lián)盟對物聯(lián)網(wǎng)提出的任何時(shí)刻、任何地點(diǎn)、任意物體之間互聯(lián),無所不在的網(wǎng)絡(luò)和無處不在的計(jì)算的發(fā)展愿景,在某種程度上,與普適計(jì)算的核心思想是一致的。普適計(jì)算(Ubiquitouscomputing或pervasivecomputing),是一個(gè)強(qiáng)調(diào)和環(huán)境融為一體的計(jì)算概念,而計(jì)算機(jī)本身則從人們的視線里消失。在普適計(jì)算的模式下,人們能夠在任何時(shí)間、任何地點(diǎn)、以任何方式進(jìn)行信息的獲取與處理。有關(guān)普適計(jì)算中間件及物聯(lián)網(wǎng)應(yīng)用方面的研究內(nèi)容,可參閱其他相關(guān)文獻(xiàn)。另外,由于行業(yè)應(yīng)用的不同,即使是RFID應(yīng)用,也可能因其在商場、物流、健康醫(yī)療、食品回溯等領(lǐng)域的不同,而具有不同的應(yīng)用架構(gòu)和信息處理模型。針對智能電網(wǎng),智能交通,智能物流,智能安防,軍事應(yīng)用等領(lǐng)域的物聯(lián)網(wǎng)中間件,也是當(dāng)前物聯(lián)網(wǎng)中間件研究的熱點(diǎn)內(nèi)容。7.5物聯(lián)網(wǎng)中間件技術(shù)277.5.2物聯(lián)網(wǎng)中間件分類(七)物聯(lián)網(wǎng)國際研究項(xiàng)目中間件ASPIRE旨在將RFID應(yīng)用滲透到中小型企業(yè)。為了達(dá)到這樣的目的,ASPIRE完全改變了現(xiàn)有的RFID應(yīng)用開發(fā)模式,它引入并推進(jìn)一種完全開放的中間件(即設(shè)置一個(gè)通用的平臺(tái)和接口,以實(shí)現(xiàn)每個(gè)小的應(yīng)用環(huán)境或系統(tǒng)的標(biāo)準(zhǔn)化以及它們之間的通信),同時(shí)完全有能力支持原有模式中核心部分的開發(fā)。ASPIRE的解決辦法是完全開源和免版權(quán)費(fèi)用,這大大降低了總的開發(fā)成本。歐盟Hydra物聯(lián)網(wǎng)中間件項(xiàng)目致力于開發(fā)可廣泛部署的智能網(wǎng)絡(luò)嵌入式中間件平臺(tái),使之可運(yùn)行于新的或已存在的分布式有線/無線網(wǎng)絡(luò)設(shè)備中。Hydra是定位于操作系統(tǒng)和應(yīng)用之間的中間件,包含了設(shè)計(jì)用于處理各種任務(wù)的眾多軟件組成成分,以完成一個(gè)有效利用成本低智能物聯(lián)網(wǎng)應(yīng)用開發(fā)過程。7.5物聯(lián)網(wǎng)中間件技術(shù)287.5.2物聯(lián)網(wǎng)中間件分類(七)物聯(lián)網(wǎng)國際研究項(xiàng)目中間件歐洲IOT-A(InternetofThingsArchitecture)項(xiàng)目致力于當(dāng)前物連網(wǎng)向未來物聯(lián)網(wǎng)的轉(zhuǎn)變,以及物聯(lián)網(wǎng)業(yè)務(wù)流程建模、原型實(shí)現(xiàn),并對物聯(lián)網(wǎng)工業(yè)應(yīng)用作出貢獻(xiàn)。其具體內(nèi)容包括搭建物聯(lián)網(wǎng)系統(tǒng)互操作模型,建立有效的服務(wù)層響應(yīng)機(jī)制,提供基于開放協(xié)議的服務(wù)協(xié)議,定義官方物聯(lián)網(wǎng)體系結(jié)構(gòu)以及設(shè)備平臺(tái)組件等。7.6物聯(lián)網(wǎng)中間件技術(shù)297.5.3基于中間件的物聯(lián)網(wǎng)應(yīng)用軟件設(shè)計(jì)案例基于中間件的體系結(jié)構(gòu)指的是通過中間件隱藏硬件和網(wǎng)絡(luò)平臺(tái)的復(fù)雜性和異質(zhì)性的架構(gòu)。本節(jié)針對醫(yī)療保健應(yīng)用提供了一個(gè)基于中間件的物聯(lián)網(wǎng)體系架構(gòu),為嵌入式設(shè)備和節(jié)點(diǎn),如計(jì)算機(jī)或數(shù)據(jù)服務(wù)器,提供簡單、統(tǒng)一的配置和操作。該模型把整個(gè)系統(tǒng)看作一個(gè)分布式系統(tǒng),把任何計(jì)算設(shè)備,無論硬件還是操作系統(tǒng),都看作為一個(gè)節(jié)點(diǎn),該架構(gòu)要求每個(gè)節(jié)點(diǎn)有必須包含一個(gè)獨(dú)立于設(shè)備的中間件,并給出基于該中間件進(jìn)行應(yīng)用實(shí)例開發(fā)的架構(gòu)和方法。7.6物聯(lián)網(wǎng)中間件技術(shù)307.5.3基于中間件的物聯(lián)網(wǎng)應(yīng)用軟件設(shè)計(jì)案例一個(gè)簡單的醫(yī)療保健應(yīng)用場景:(中間件需求)在醫(yī)療保健這個(gè)特殊場景中,通常需要在被治療者身上設(shè)置包含若干傳感器的嵌入式設(shè)備節(jié)點(diǎn),在某個(gè)突發(fā)實(shí)例觸發(fā)對數(shù)據(jù)的使用需求之前,每個(gè)節(jié)點(diǎn)都需要存儲(chǔ)數(shù)據(jù)。該場景中,節(jié)點(diǎn)的存儲(chǔ)和處理能力是最重要的方面,以供決策支持系統(tǒng)使用。例如,如果患者去醫(yī)院并使用人體感應(yīng)器來監(jiān)測一天的心跳,節(jié)點(diǎn)必須能存儲(chǔ)它一天收集的數(shù)據(jù),并且只有當(dāng)患者返回醫(yī)院時(shí)才卸載檢節(jié)點(diǎn)測到的數(shù)據(jù)。考慮上面的場景,我們可從中提取出幾個(gè)中間件需求:數(shù)據(jù)采集和處理、系統(tǒng)配置作為功能性需求,而異質(zhì)性、互操作性和適應(yīng)性被視為非功能性需求。7.6物聯(lián)網(wǎng)中間件技術(shù)317.5.3基于中間件的物聯(lián)網(wǎng)應(yīng)用軟件設(shè)計(jì)案例數(shù)據(jù)采集和處理:數(shù)據(jù)必須被獲取和存儲(chǔ)、處理(例如,格式適應(yīng)、過濾),轉(zhuǎn)移、進(jìn)一步加工或合并并交付給用戶。異質(zhì)性:中間件應(yīng)當(dāng)模塊化并基于驅(qū)動(dòng)程序和接口,這些允許它運(yùn)行在不同的硬件和軟件平臺(tái)?;ゲ僮餍裕罕仨殲樗械墓?jié)點(diǎn)提供標(biāo)準(zhǔn)的接口來訪問數(shù)據(jù)(不同的節(jié)點(diǎn)必須被抽象并使用通用API以相同的方式訪問)。靈活性:中間件必須具有靈活性和適應(yīng)性。每個(gè)應(yīng)用上下文(例如血壓、血糖水平的測量)將要求一個(gè)稍微不同的操作、采樣率和響應(yīng)時(shí)間的組合。系統(tǒng)配置和適應(yīng)性:部署系統(tǒng)應(yīng)該是必要的,配置系統(tǒng),系統(tǒng)應(yīng)該就啟動(dòng)和運(yùn)行。在其他情況下,可能有必要使用共同的方言和調(diào)用標(biāo)準(zhǔn)API函數(shù),編程應(yīng)用程序的一部分。針對上述醫(yī)療保健應(yīng)用場景及中間件需求的物聯(lián)網(wǎng)體系結(jié)構(gòu)7.6物聯(lián)網(wǎng)中間件技術(shù)327.5.3基于中間件的物聯(lián)網(wǎng)應(yīng)用軟件設(shè)計(jì)案例架構(gòu)中定義了節(jié)點(diǎn)構(gòu)件(NCeH),該節(jié)點(diǎn)構(gòu)件必須被包括在所有節(jié)點(diǎn)裝置,包括計(jì)算機(jī)和數(shù)據(jù)服務(wù)器中。該節(jié)點(diǎn)構(gòu)件NCeH主要目的是提供一些機(jī)制來處理節(jié)點(diǎn)的引用、異質(zhì)性和平臺(tái)和通信協(xié)議的獨(dú)立性。該例中血糖儀裝備有節(jié)點(diǎn)組件NCeH二進(jìn)制文件,運(yùn)行Android的智能手機(jī)裝備有面向Android的NCeH,而服務(wù)器運(yùn)行NCeH的Linux版本。用戶發(fā)送配置命令(每秒讀葡萄糖;發(fā)送到智能手機(jī),存儲(chǔ)1天;發(fā)送到服務(wù)器)。每個(gè)關(guān)鍵詞-葡萄糖、智能手機(jī)、服務(wù)器-使用一種簡單的機(jī)制來定義。其中物聯(lián)網(wǎng)中間件NCeH的一種體系結(jié)構(gòu)可以參考下圖所示。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)構(gòu)件是系統(tǒng)中實(shí)際存在的可更換部分,代表系統(tǒng)中的一部分物理實(shí)施,其發(fā)展在某種程度上極大依賴于中間件技術(shù),同時(shí),構(gòu)件技術(shù)是支持復(fù)用的核心技術(shù)。服務(wù)相當(dāng)于構(gòu)件化編程模型中的構(gòu)件。面向服務(wù)的架構(gòu)是一種松耦合的軟件構(gòu)件技術(shù),將應(yīng)用程序的不同功能模塊化,并通過標(biāo)準(zhǔn)化的接口和調(diào)用方式聯(lián)系起來,實(shí)現(xiàn)快速可重用的系統(tǒng)開發(fā)和部署。面向服務(wù)的架構(gòu)模型使得構(gòu)建在不同系統(tǒng)中的同類服務(wù)可以通過統(tǒng)一和通用的方式進(jìn)行交互。本節(jié)討論構(gòu)件化架構(gòu)或面向服務(wù)架構(gòu)方式設(shè)計(jì)開發(fā)物聯(lián)網(wǎng)系統(tǒng)時(shí)的相關(guān)設(shè)計(jì)技術(shù)。337.6.1面向構(gòu)件的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)7.6.2面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)347.6.1面向構(gòu)件的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)構(gòu)件具有以下幾個(gè)特點(diǎn):

(1)自描述:構(gòu)件必須能夠識別其屬性、存取方法和事件,這些信息可以使開發(fā)環(huán)境將第三方軟件構(gòu)件無縫地結(jié)合起來;

(2)可定制:允許提供一個(gè)典型的圖形方式環(huán)境,軟件構(gòu)件的屬性只能通過控制面板來設(shè)置;

(3)可集成:構(gòu)件必須可以被編程語言直接控制。構(gòu)件也可以和腳本語言或者與從代碼級訪問構(gòu)件的環(huán)境連接,這個(gè)特點(diǎn)使得軟件構(gòu)件可以在非可視化開發(fā)項(xiàng)目中使用;

(4)連接機(jī)制:構(gòu)件必須能產(chǎn)生事件或者具有讓程序員從語義上實(shí)現(xiàn)相互連接的其他機(jī)制。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)357.6.1面向構(gòu)件的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)構(gòu)件技術(shù)是由基于面向?qū)ο蠹夹g(shù)而發(fā)展起來的,與面向?qū)ο蟮脑O(shè)計(jì)中的對象相類似,但它們之間存在很大差異,構(gòu)件不是對象,只是與對象類似。物聯(lián)網(wǎng)應(yīng)用范圍、規(guī)模及種類的多樣性使得物聯(lián)網(wǎng)應(yīng)用環(huán)境具有開放、動(dòng)態(tài)和難控等特性,也造成構(gòu)成系統(tǒng)的軟件實(shí)體也具有異構(gòu)、智能和自主等特點(diǎn)。我們把適應(yīng)環(huán)境變化,且能夠自主進(jìn)行決策的構(gòu)件稱為自主構(gòu)件一方面,從構(gòu)件角度來看,自主構(gòu)件與普通構(gòu)件相同,它具有相對獨(dú)立的功能,能夠被復(fù)用和組裝,成為系統(tǒng)的有機(jī)構(gòu)成成分。另一方面,從自主性的角度來看,自主構(gòu)件行為受到自身策略的驅(qū)動(dòng)向外提供服務(wù),并且可以在運(yùn)行時(shí)刻收集系統(tǒng)的信息,感知變化從而做出決策。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)367.6.1面向構(gòu)件的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)針對物聯(lián)網(wǎng)應(yīng)用環(huán)境的特點(diǎn),構(gòu)成物聯(lián)網(wǎng)應(yīng)用的構(gòu)件不能只被看作被動(dòng)的受管對象,而應(yīng)將其建模為具有主動(dòng)能力的軟件實(shí)體,即自主構(gòu)件。自主構(gòu)件同時(shí)具備了構(gòu)件以及Agent的關(guān)鍵性質(zhì),從能力要求來看,除了對外提供服務(wù),自主構(gòu)件區(qū)別于傳統(tǒng)構(gòu)件的能力主要:(1)功能性:能對外提供服務(wù),可以通過調(diào)用外部構(gòu)件的服務(wù)來實(shí)現(xiàn)自身的功能性需求;并具有質(zhì)量屬性評估的功能。(2)自決策性:對功能性和非功能性目標(biāo)的實(shí)現(xiàn)和改進(jìn)具有決策能力。(3)自適應(yīng)性:自主構(gòu)件對于不同應(yīng)用環(huán)境具有適應(yīng)能力,在不同場景下,對外所展現(xiàn)的行為會(huì)有所不同。能夠決定如何選擇和使用外部資源(依賴服務(wù)),并規(guī)范依賴服務(wù)的行為。(4)交互性和協(xié)同性:能參與交互和合作,多個(gè)自主構(gòu)件可以協(xié)作完成復(fù)雜的任務(wù)。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)377.6.1面向構(gòu)件的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)自主構(gòu)件的功能模塊構(gòu)成一個(gè)執(zhí)行循環(huán):“監(jiān)控→分析→決策→執(zhí)行”來動(dòng)態(tài)的監(jiān)控環(huán)境變化并做出實(shí)時(shí)響應(yīng)。以上4部分使用的數(shù)據(jù)作為共享的知識存儲(chǔ)在知識庫中,共享的知識包括網(wǎng)絡(luò)拓?fù)湫畔ⅰ⑾到y(tǒng)日志、策略庫等。在開放物聯(lián)網(wǎng)環(huán)境中,構(gòu)件所依賴的服務(wù)質(zhì)量和數(shù)量、鏈接的狀態(tài)等都是動(dòng)態(tài)變化的。理想狀態(tài)下,具有自適應(yīng)能力的構(gòu)件能夠在網(wǎng)絡(luò)環(huán)境不斷變化的情況下,無需外界進(jìn)行顯式控制,就能調(diào)整其自身內(nèi)部行為或結(jié)構(gòu)保證正常對外提供服務(wù)。自主構(gòu)件將數(shù)據(jù)、操作、質(zhì)量屬性封裝在一起。自主構(gòu)件是部署在網(wǎng)絡(luò)上、能被第三方復(fù)用的軟件實(shí)體。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)387.6.1面向構(gòu)件的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)自主構(gòu)件主要由以下8個(gè)部分組成:(1)接口:即自主構(gòu)件對外部提供的服務(wù)接口。主要由感知器和效應(yīng)器2個(gè)接口組成,用于感知環(huán)境和作用于環(huán)境。(2)質(zhì)量屬性:影響質(zhì)量的各種因素的評估函數(shù);(3)內(nèi)部數(shù)據(jù):由數(shù)據(jù)名、類型,以及允許的取值范圍定義。往往用于記錄自主構(gòu)件內(nèi)部和外部環(huán)境的動(dòng)態(tài)變化。(4)外部依賴服務(wù):定義了自主構(gòu)件對外部計(jì)算資源的依賴,以及對計(jì)算資源的計(jì)算能力和服務(wù)質(zhì)量的期待。(5)交互對象:定義了自主構(gòu)件在合作過程中,對交互對象的期望列表。(6)交互協(xié)議:定義自主構(gòu)件能夠支持的交互方式。(7)動(dòng)作:定義了自主構(gòu)件的具體行為。(8)決策:決定是否采取行動(dòng),以及如何采取行動(dòng),以便更好地實(shí)現(xiàn)自身的目標(biāo)。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)397.6.1面向構(gòu)件的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)自主構(gòu)件的基本構(gòu)成及其運(yùn)行機(jī)理7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)407.6.1面向構(gòu)件的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)自主構(gòu)件的生命周期經(jīng)過設(shè)計(jì)、實(shí)施、測試、驗(yàn)證,經(jīng)過安裝和配置,自主構(gòu)件需要向系統(tǒng)注冊安裝和配置信息,以便在進(jìn)行后續(xù)自決策時(shí)使用。安裝配置完成后,自主構(gòu)件進(jìn)入自己的生命周期。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)417.6.2面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)面向服務(wù)的體系結(jié)構(gòu)(ServiceOrientedArchitecture,SOA)是一種構(gòu)件模型,可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用構(gòu)件進(jìn)行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。SOA是軟件工程中提出來旨在提高軟件構(gòu)件重用功能的體系架構(gòu),但其特征無疑同樣適合于物聯(lián)網(wǎng)系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì)與開發(fā)。SOA的5大基本特征為構(gòu)件的功能重用提供了解決的辦法。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)427.6.2面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)①服務(wù)之間通過簡單、精確定義的接口進(jìn)行通信,不涉及底層編程接口和通信模型。②粗粒度性:粗粒度服務(wù)提供一項(xiàng)特定的業(yè)務(wù)功能,采用粗粒度服務(wù)接口的優(yōu)點(diǎn)在于使用者和服務(wù)層之間不必再進(jìn)行多次的往復(fù),一次往復(fù)就足夠了。③松耦合性:松耦合性要求SOA架構(gòu)中的不同服務(wù)之間應(yīng)該保持一種松耦合的關(guān)系。④位置透明性:位置透明性要求SOA系統(tǒng)中的所有服務(wù)對于其調(diào)用者來說都是位置透明的。⑤協(xié)議無關(guān)性:協(xié)議無關(guān)性要求每一個(gè)服務(wù)都可以通過不同的協(xié)議來調(diào)用。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)437.6.2面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)本節(jié)以一個(gè)基于服務(wù)的物聯(lián)網(wǎng)EPCIS設(shè)計(jì)來介紹面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)。本節(jié)的物聯(lián)網(wǎng)流程即按照EPCglobal框架設(shè)計(jì)RFID讀寫器讀取商品標(biāo)簽中的EPC碼并傳送到RFID過濾收集中間件,中間件負(fù)責(zé)收集從識讀器上傳的數(shù)據(jù)。在EPCIS捕獲應(yīng)用程序和EPCIS存儲(chǔ)系統(tǒng)之間定義EPCIS信息捕獲接口,捕獲中間件的事件報(bào)告,并存儲(chǔ)到EPCIS存儲(chǔ)系統(tǒng),在EPCIS存儲(chǔ)系統(tǒng)和EPCIS訪問系統(tǒng)之間定義EPCIS查詢接口,負(fù)責(zé)查詢EPCIS事件報(bào)告。上述流程可知,EPC信息系統(tǒng)處于系統(tǒng)最高抽象層次,負(fù)責(zé)和RFID過濾收集中間件進(jìn)行交互7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)447.6.2面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)分析:EPCIS訪問系統(tǒng)相當(dāng)于電子商務(wù)中的供應(yīng)商,EPCIS存儲(chǔ)系統(tǒng)相當(dāng)于電子商務(wù)中經(jīng)營規(guī)模較大的經(jīng)銷商,經(jīng)銷商從供應(yīng)商購買商品后出售,售出商品后,經(jīng)銷商的系統(tǒng)接收RFID過濾收集中間件從讀寫器讀來的數(shù)據(jù)存到數(shù)據(jù)庫,為經(jīng)銷商查詢商品銷售情況提供依據(jù),供應(yīng)商可以從經(jīng)銷商處及時(shí)、準(zhǔn)確了解到自己所訂閱商品的銷售情況,從而及時(shí)調(diào)整生產(chǎn),避免產(chǎn)量過剩或者不足。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)457.6.2面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)設(shè)計(jì):用兩個(gè)系統(tǒng)分別代表供應(yīng)商和經(jīng)銷商。在EPCIS的實(shí)現(xiàn)中引入面向服務(wù)的架構(gòu)設(shè)計(jì)后,經(jīng)銷商登錄供應(yīng)商的系統(tǒng)選購?fù)晟唐凡⑻峤挥唵魏?,訂單中的商品信息自?dòng)存儲(chǔ)在以本次訂單號為文件名的XML文件中,系統(tǒng)將根據(jù)訂單號獲取訂單中商品信息的操作發(fā)布為服務(wù),經(jīng)銷商根據(jù)訂單號去調(diào)用這個(gè)服務(wù)就可以獲取本次購物袋商品信息。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)467.6.2面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)設(shè)計(jì)(續(xù)):供應(yīng)商登錄經(jīng)銷商的系統(tǒng),填寫訂閱請求表單,需要填寫的訂閱信息為商品編號、商品名稱、開始時(shí)間、結(jié)束時(shí)間,提交訂閱表單后得到一個(gè)訂閱號。經(jīng)銷商端的系統(tǒng)跟過濾收集中間件相連,售出商品時(shí),識讀器掃描售出商品的標(biāo)簽中的商品信息,經(jīng)過ALE中間件的處理后傳遞到經(jīng)銷商,經(jīng)銷商系統(tǒng)根據(jù)供應(yīng)商的訂閱信息,將訂閱商品的信息存儲(chǔ)在以訂閱單號為文件名的XML文件中,并根據(jù)訂閱單號獲取訂閱商品信息,發(fā)布為服務(wù),供應(yīng)商根據(jù)訂閱單號直接調(diào)用該服務(wù)就可以得到該訂閱商品信息。供應(yīng)商和經(jīng)銷商這兩個(gè)系統(tǒng)之間交互是以相互調(diào)用服務(wù)的形式進(jìn)行交互,真正實(shí)現(xiàn)了SOA中的松耦合。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)477.6.2面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)實(shí)現(xiàn):經(jīng)銷商系統(tǒng)中需要錄入商品的屬性為商品編碼、商品名稱、商品種類、商品價(jià)格、商品數(shù)量,則供應(yīng)商在暴露的獲取商品清單的服務(wù)中的商品應(yīng)包括這些內(nèi)容,由于這個(gè)服務(wù)中商品的屬性來自商品清單XML文件,則商品清單XML文件里也應(yīng)包括這些屬性,并以元素名代表這些屬性,元素的內(nèi)容為商品的屬性。供應(yīng)商系統(tǒng)中需要訂閱的商品屬性為商品編碼、商品名稱、商品種類、商品價(jià)格、商品數(shù)量、交易地點(diǎn)、交易時(shí)間。則經(jīng)銷商在獲取訂閱商品信息的服務(wù)中也應(yīng)該包括這些內(nèi)容,由于該服務(wù)中商品的屬性來自訂閱商品XML文件,則訂閱商品XML文件也應(yīng)包括這些屬性,以元素名代表這些屬性,元素的內(nèi)容為商品的屬性。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)487.6.2面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)實(shí)現(xiàn)(續(xù)):WebServices作為SOA的實(shí)現(xiàn)技術(shù),充分利用Web分布式編程模型的松散耦合性,允許各種平臺(tái)和各種編程語言的應(yīng)用程序彼此交換數(shù)據(jù),從而將其無縫地整合在一起。WebServices涉及到的技術(shù)有SOAP,WSDL和UDDI。SOAP基于兩種已經(jīng)廣泛使用的技術(shù):HTTP和XML,其中HTTP用于SOAP消息傳輸,而XML文檔則是SOAP的編碼模式,SOAP可以非常方便地解決異構(gòu)系統(tǒng)中互相通信的問題。一條SOAP消息就是一份特定的XML文檔,包含如下三個(gè)元素:必需的<Envelop/>根元素,可選的<Head/>元素,包含SOAP消息的頭消息,必需的<Body/>元素,包括所有的調(diào)用和響應(yīng)消息。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)497.6.2面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)實(shí)現(xiàn)(續(xù)):WSDL文檔是一份與平臺(tái)無關(guān)的XML文檔,詳細(xì)定義了WebServices的位置、所提供的操作以及調(diào)用這些操作的方式,WebServices調(diào)用者根據(jù)該WSD文檔調(diào)用WebServices的服務(wù)。WSDL模型充分運(yùn)用了規(guī)范和實(shí)現(xiàn)分離的原則,將WebServices的服務(wù)和實(shí)現(xiàn)分成兩個(gè)部分定義。第一部分定義了服務(wù)接口,由<message/>元素和<portType/>元素組成,而<portType/>元素則包含任意數(shù)量的<operation/>子元素,每個(gè)<operation/>子元素代表一個(gè)允許遠(yuǎn)程調(diào)用的操作。第二部分定義了服務(wù)實(shí)現(xiàn),由<binding/>和<service/>兩個(gè)元素組成,其中<binding/>元素定義了使用特定的通信協(xié)議,而<service/>元素則包含了一系列的<port/>元素,把綁定機(jī)制、服務(wù)訪問協(xié)議和端點(diǎn)地址結(jié)合在一起。7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)507.6.2面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)實(shí)現(xiàn)(續(xù)):基于服務(wù)的EPCIS實(shí)現(xiàn)可以采用Apache的CXF開源框架來簡化用戶開發(fā)WebServices操作,并可與JavaEE項(xiàng)目實(shí)現(xiàn)無縫整合,因此選用Java中的Struts2+Spring3+Hiberate3框架實(shí)現(xiàn)供應(yīng)商和經(jīng)銷商這兩個(gè)系統(tǒng),并通過CXF框架為這兩個(gè)系統(tǒng)增加Web服務(wù)功能來實(shí)現(xiàn)上述設(shè)計(jì)。其中,Web服務(wù)的發(fā)布需要首先聲明一個(gè)接口,再通過具體類來實(shí)現(xiàn)該接口。接口和實(shí)現(xiàn)類的代碼如下所示://獲取商品清單服務(wù)的接口@WebServicepublicinterfaceOrderWs{publicList<Commodity>getCommodities(Stringid,Stringusername,Stringpassword);}7.6面向構(gòu)件及服務(wù)的設(shè)計(jì)技術(shù)517.6.2面向服務(wù)的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)實(shí)現(xiàn)(續(xù))://獲取商品清單服務(wù)的實(shí)現(xiàn)@WebService(endpointInterface=“com.service.ws.order.OrderWs”,serviceName=“OrderWs”)publicclassOrderWsImpimplementsOrderWs{publicList<Commodity>getCommodities(Stringorderid,Stringusername,Stringpassword){//具體實(shí)現(xiàn)代碼(略)}}其中具體實(shí)現(xiàn)代碼就是解析文件“訂單號.xml”中<商品>元素的內(nèi)容,得到訂單中的商品信息。在Spring配置文件ApplicationContex.xml中利用CFX框架提供的<jaxws:endpoint>元素,用下面一行代碼<jaxws:endpointid=“order”implementor=“orderWs”address=“/order”></jaxws:endpoint>就能將getCommodities方法暴露成獲取清單的服務(wù)(前提是將該元素的<scheme>元素包含在配置文件ApplicationContex.xml中)7.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)以APP應(yīng)用程序?yàn)橹行牡能浖鷳B(tài)系統(tǒng)指的是使用軟件生態(tài)系統(tǒng)作為軟件架構(gòu)。這種架構(gòu)有兩部分主要的構(gòu)成要素,一部分是基礎(chǔ)軟件模塊——APP應(yīng)用程序;另一部分是管理和運(yùn)行這些應(yīng)用程序的環(huán)境。其中,APP也表示最主要的實(shí)體類型。以APP為中心的軟件生態(tài)系統(tǒng)當(dāng)前最成功的應(yīng)用是在移動(dòng)領(lǐng)域。然而,這些平臺(tái)的成功已經(jīng)導(dǎo)致建立應(yīng)用商店的一個(gè)廣泛的領(lǐng)域,并通過一系列的產(chǎn)品,甚至延伸到近期SMART平臺(tái)的電子病歷(EMR)領(lǐng)域。527.7.1以APP為中心的軟件生態(tài)系統(tǒng)架構(gòu)7.7.2APP與構(gòu)件之間的比較7.7.3APP與服務(wù)之間的比較7.7.4APP環(huán)境7.7.5以APP為中心的物聯(lián)網(wǎng)軟件系統(tǒng)實(shí)例7.7.1以APP為中心的軟件生態(tài)系統(tǒng)架構(gòu)以APP為中心的軟件生態(tài)系統(tǒng)的眾多組成中,存在兩個(gè)普通的元素:一組APP以及用來管理和執(zhí)行這些APP的環(huán)境。這兩個(gè)子系統(tǒng)構(gòu)成了以APP為中心的軟件生態(tài)系統(tǒng)的體系結(jié)構(gòu)。一個(gè)應(yīng)用程序APP是一種小型、單一用途的軟件工具。APP在概念上與大型、單一廠商的軟件即服務(wù)(SaaS)所提供的產(chǎn)品的模塊或插件類似。但是,一個(gè)APP比插件或模塊更加獨(dú)立于其環(huán)境:APP一般與APP環(huán)境中的基礎(chǔ)的、通用的功能沒有沒有依賴。537.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)7.7.1以APP為中心的軟件生態(tài)系統(tǒng)架構(gòu)一般地,如果一個(gè)模塊或插件滿足以下要求,就可以被認(rèn)為是APP:(1)APP具有用戶界面。也就是說,APP的設(shè)計(jì)是為與系統(tǒng)的人類用戶交互的。他們還可以通過該APP環(huán)境彼此互動(dòng)。(2)APP在其生態(tài)系統(tǒng)中服務(wù)于一個(gè)或幾個(gè)目的(如電子郵件,日歷,待辦事項(xiàng)列表)。(3)APP是可以被APP環(huán)境發(fā)現(xiàn)和加載的。這些因素也有助于從組件和服務(wù)中區(qū)分APP。在軟件模塊的抽象層次,APP可能被認(rèn)為是在和服務(wù)相似的抽象層次,而組件存在于較低層。547.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)7.7.2APP與構(gòu)件之間的比較APP對構(gòu)件就像構(gòu)件和對象的對比:是上面抽象的統(tǒng)一層次。APP可以由構(gòu)件,以及對象、功能和原始程序代碼來組成。構(gòu)件存儲(chǔ)他們的大部分?jǐn)?shù)據(jù),而APP幾乎不存儲(chǔ)自己的數(shù)據(jù)。不是在內(nèi)部存儲(chǔ)數(shù)據(jù),APP操作的數(shù)據(jù)是存儲(chǔ)在共享數(shù)據(jù)總線上,由APP環(huán)境提供,以方便與類似用途的APP之間共享。不像構(gòu)件,APP通過在一個(gè)APP環(huán)境中托管以組合成更大的軟件系統(tǒng)。構(gòu)件的組合通常需要在各個(gè)構(gòu)件之間配置一系列的接口調(diào)用。557.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)7.7.3APP與服務(wù)之間的比較APP和服務(wù)在軟件模塊抽象層次中處于同一層。然而,APP和服務(wù)在鏈接數(shù)據(jù)和可執(zhí)行代碼時(shí)采用相反的方法。服務(wù)一般要求數(shù)據(jù)在服務(wù)之間來回傳輸;在Web服務(wù)的情況下,這種傳輸?shù)陌l(fā)生是通過數(shù)據(jù)網(wǎng)絡(luò)向遠(yuǎn)程服務(wù)的主機(jī)。另一方面,使用APP需要傳送可執(zhí)行代碼,即APP,到包含數(shù)據(jù)的執(zhí)行環(huán)境。APP和服務(wù)這兩者都是由對象、組件、功能和源程序代碼組成。和APP不同,服務(wù)是通過一組數(shù)據(jù)的鏈接的轉(zhuǎn)換而集成和組合成較大的解決方案。567.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)7.7.4APP環(huán)境一個(gè)以APP為中心的軟件生態(tài)系統(tǒng)的APP環(huán)境提供發(fā)現(xiàn)、管理和執(zhí)行APP的必要資源。APP的發(fā)現(xiàn)往往是通過一個(gè)集中的Web服務(wù)----APP商店來管理。AppStore中包含的環(huán)境的安裝,配置和刪除APP的能力構(gòu)成了它來管理它所包含的APP的能力。而APP被執(zhí)行時(shí),環(huán)境提供到共享數(shù)據(jù)存儲(chǔ)、外部通信(如網(wǎng)絡(luò)服務(wù))、以及訪問連接到該應(yīng)用環(huán)境中的物理設(shè)備的接口,例如相機(jī),GPS接收器和加速計(jì)。577.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)7.7.4APP環(huán)境在APP為中心的軟件體系結(jié)構(gòu)中,數(shù)據(jù)在APP之間通過由環(huán)境提供的共享數(shù)據(jù)總線共享。共享數(shù)據(jù)總線的使用允許特定類型的APP的多個(gè)實(shí)例在生態(tài)系統(tǒng)中存在,允許用戶選擇他們更喜歡使用的實(shí)例。例如,蘋果公司的iOS應(yīng)用環(huán)境提供訪問日歷數(shù)據(jù)庫,應(yīng)用程序可以用它來管理日歷數(shù)據(jù)(如約會(huì))。IOS設(shè)備的用戶可能會(huì)從各種日歷管理應(yīng)用程序選擇,根據(jù)自己的喜好,如對于給定的用戶接口的偏好。587.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)7.7.4APP環(huán)境由APP環(huán)境提供的共享數(shù)據(jù)總線還可以使得APP即使沒有相互之間的直接調(diào)用時(shí),也能響應(yīng)其他APP的活動(dòng)。返回到IOS中的日歷數(shù)據(jù)示例,一個(gè)APP可以監(jiān)視在不久的將來的約會(huì),與導(dǎo)航和GPSAPP交互來確定從設(shè)備當(dāng)前地點(diǎn)旅行到預(yù)約地點(diǎn)所需的時(shí)間,并且當(dāng)設(shè)備用戶需要開始動(dòng)身到他們的下一個(gè)約會(huì)時(shí)觸發(fā)警報(bào)。在這個(gè)例子中,用戶不必直接將他們的約會(huì)輸入到警報(bào)APP。取而代之的是,報(bào)警APP對共享數(shù)據(jù)總線上的日歷數(shù)據(jù)作出反應(yīng)。值得注意的是,在以APP為中心的軟件生態(tài)系統(tǒng)環(huán)境的描述中沒有包含生態(tài)系統(tǒng)環(huán)境對于單一設(shè)備的描述。如果共享數(shù)據(jù)總線,就像在Web3.0資源描述框架總線或無線傳感器網(wǎng)絡(luò),能夠跨越多個(gè)設(shè)備,在多個(gè)物理設(shè)備的APP應(yīng)用程序仍然可以被認(rèn)為是相同的APP環(huán)境的一部分。597.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)7.7.5以APP為中心的物聯(lián)網(wǎng)軟件系統(tǒng)實(shí)例需求:我經(jīng)常去家門口的一家餐館吃飯,而且每次去,點(diǎn)的餐食基本都一樣。但現(xiàn)在的問題是,每次去都要排隊(duì)、點(diǎn)餐、交錢,然后拿餐牌、找座位、等待。顯然這是一個(gè)重復(fù)乏味的過程,如果能夠通過自動(dòng)化的物聯(lián)網(wǎng)應(yīng)用,使得這個(gè)過程簡化或者自動(dòng)化,那就很理想了。解決方案:我們開發(fā)一種通用的智能手環(huán),智能手環(huán)上運(yùn)行物聯(lián)網(wǎng)操作系統(tǒng)。手環(huán)除了具備通用的鬧鐘提醒、身體生物指標(biāo)測量和報(bào)告等功能外,還具備RFID功能,該功能的打開與否,由用戶控制,比如甩一下手環(huán)、按一個(gè)按鈕等。在餐館門口,安裝一套ID識別設(shè)備,一旦一個(gè)帶手環(huán)的人進(jìn)入餐館,并打開了RFID功能,就立即被檢測到。檢測設(shè)備把進(jìn)入者的ID上報(bào)給后端服務(wù)器,后端服務(wù)器進(jìn)一步判斷這個(gè)人是否已經(jīng)有消費(fèi)記錄。如果沒有,OK,遵循通常的點(diǎn)餐、交錢、等待等流程,但是這個(gè)過程中,后臺(tái)系統(tǒng)會(huì)建立針對這個(gè)人的檔案,并記錄其點(diǎn)餐列表、等待時(shí)間、座位號等信息。607.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)7.7.5以APP為中心的物聯(lián)網(wǎng)軟件系統(tǒng)實(shí)例解決方案(續(xù)):如果這個(gè)人第二次來就餐,那好了,運(yùn)行在手環(huán)上的APP(由餐館開發(fā)并上傳到M2MAPPStore,由用戶安裝到手環(huán)上)會(huì)立即震動(dòng)提醒消費(fèi)者,并通過自帶的小屏幕,自動(dòng)把上一次點(diǎn)的餐食列表等信息呈現(xiàn)給消費(fèi)者,讓消費(fèi)者確認(rèn)是否點(diǎn)同樣的餐食。如果確認(rèn)點(diǎn)同樣的餐食,則消費(fèi)者只需要找個(gè)空閑的位置坐下,然后等待即可,手環(huán)上的APP會(huì)自動(dòng)檢測出座位號,并聯(lián)系餐館的后臺(tái)服務(wù)器下訂單。吃完后,通過手環(huán)確認(rèn)一下,可自動(dòng)完成支付,甚至可以對本次消費(fèi)滿意度點(diǎn)評。顯然,排隊(duì)、點(diǎn)餐、交錢等過程完全省略了,大大提升了就餐方便程度。617.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)7.7.5以APP為中心的物聯(lián)網(wǎng)軟件系統(tǒng)實(shí)例實(shí)現(xiàn):實(shí)現(xiàn)這個(gè)過程,最關(guān)鍵的一點(diǎn)就是,手環(huán)上需要運(yùn)行一個(gè)餐館特定的APP,這個(gè)APP能夠跟RFID聯(lián)動(dòng),并跟餐館后臺(tái)交互,完成就餐過程的自動(dòng)化。這樣的APP可能有多個(gè),因?yàn)槟憧赡芤ズ芏嗖宛^就餐。如果沒有物聯(lián)網(wǎng)操作系統(tǒng)的支持,這是無法做到的?;蛘哒f也可以做到,但是你的手腕上需佩戴很多手環(huán),一個(gè)餐館一個(gè)。這樣的話,你的職業(yè)也變了,變成餐館的活體廣告牌了。627.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)7.7.5以APP為中心的物聯(lián)網(wǎng)軟件系統(tǒng)實(shí)例分析:這個(gè)餐飲行業(yè)的應(yīng)用,幾乎把上面生態(tài)模型中的每個(gè)模塊都涉及到了:手環(huán)與餐館檢測系統(tǒng)的交互,屬于端端通信,手環(huán)上運(yùn)行的APP,需要從M2MAPPStore下載。具體下載哪些餐館的APP,由消費(fèi)者通過智能手機(jī)控制。手環(huán)上的任何一個(gè)APP,都需要跟自己的后臺(tái)進(jìn)行通信。假設(shè)手環(huán)上的某個(gè)配件(比如某個(gè)按鈕、甚至RFID等)壞了,需要更換一個(gè)新的,這時(shí)候手環(huán)需要跟終端管理后臺(tái)進(jìn)行通信,下載新配件的驅(qū)動(dòng)程序。上述過程的最核心需求,就是物聯(lián)網(wǎng)操作系統(tǒng)支持的兩大分離特性:應(yīng)用軟件和硬件分離,操作系統(tǒng)內(nèi)核和硬件設(shè)備驅(qū)動(dòng)程序的分離。637.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)7.7.5以APP為中心的物聯(lián)網(wǎng)軟件系統(tǒng)實(shí)例分析(續(xù)):在物聯(lián)網(wǎng)領(lǐng)域,很多情況下,硬件終端的功能比手環(huán)簡單得多,無需或者無法運(yùn)行第三方開發(fā)的APP。這種場景下,上述架構(gòu)也可以很好的實(shí)現(xiàn)人與物的交互。舉例來說,為了實(shí)現(xiàn)對環(huán)境的實(shí)時(shí)檢測,未來可能會(huì)開發(fā)很多依靠太陽能供電、無顯示屏等外設(shè)的“環(huán)境監(jiān)測器”,以公共服務(wù)的形式,安裝到任何可以安裝的地方。用戶通過智能手機(jī),可以隨時(shí)讀取這些小玩意兒上的檢測數(shù)據(jù)。這時(shí)候,如果是第一次讀取某種型號監(jiān)測器上的數(shù)據(jù),則首先用手機(jī)上的M2MAPPStore客戶端軟件,掃一下監(jiān)測器上的二維碼,客戶端會(huì)自動(dòng)根據(jù)二維碼中記錄的信息,到M2MAPPStore上下載一個(gè)應(yīng)用程序。這個(gè)應(yīng)用程序調(diào)用藍(lán)牙、Zigbee等無線服務(wù),從監(jiān)測器上獲取數(shù)據(jù),然后顯示出來。647.7以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)7.8物聯(lián)網(wǎng)應(yīng)用部署657.8.1成功部署物聯(lián)網(wǎng)應(yīng)用的十個(gè)步驟7.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式7.8.3應(yīng)用在末梢終端上的部署7.8.4應(yīng)用在服務(wù)器上的部署7.8.5基于云計(jì)算的應(yīng)用部署7.8物聯(lián)網(wǎng)應(yīng)用部署667.8.1成功部署物聯(lián)網(wǎng)應(yīng)用的十個(gè)步驟物聯(lián)網(wǎng)應(yīng)用項(xiàng)目開發(fā)完成后,應(yīng)用的部署也是一項(xiàng)非常重要的工作。下面是成功部署物聯(lián)網(wǎng)項(xiàng)目的10個(gè)步驟,可供我們部署之前參考。1:學(xué)習(xí)他人經(jīng)驗(yàn)2:制定戰(zhàn)略3:先實(shí)現(xiàn)較容易的目標(biāo)4:清理你的數(shù)據(jù)5:想想你的客戶6:不要忘記故障轉(zhuǎn)移7:加強(qiáng)安全防范8:結(jié)合IoT數(shù)據(jù)與現(xiàn)有數(shù)據(jù)9:設(shè)置基線和指標(biāo)10:定義你的下一代IoT應(yīng)用程序7.8物聯(lián)網(wǎng)應(yīng)用部署677.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式本節(jié)簡單介紹三種物聯(lián)網(wǎng)平臺(tái)部署模式,給出三種物聯(lián)網(wǎng)平臺(tái)的安全接入方案,并分別對這三種方案的安全性進(jìn)行討論,目的是為利用現(xiàn)有技術(shù)從傳輸安全出發(fā)為感知數(shù)據(jù)安全地傳輸?shù)轿锫?lián)網(wǎng)平臺(tái)提供建議和參考。運(yùn)營商在物聯(lián)網(wǎng)產(chǎn)業(yè)鏈中扮演重要角色,因?yàn)樗鼈儞碛杏脩艉途W(wǎng)絡(luò)資源,大部分物聯(lián)網(wǎng)的感知數(shù)據(jù)需要經(jīng)過運(yùn)營商掌握的網(wǎng)絡(luò)資源進(jìn)行傳輸。國外運(yùn)營商或聯(lián)合平臺(tái)提供商推出物聯(lián)網(wǎng)平臺(tái),或自己開發(fā)物聯(lián)網(wǎng)平臺(tái)。國內(nèi)運(yùn)營商正在加緊各自物聯(lián)網(wǎng)平臺(tái)的研發(fā)。7.8物聯(lián)網(wǎng)應(yīng)用部署687.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式1

物聯(lián)網(wǎng)平臺(tái)的部署模式物聯(lián)網(wǎng)平臺(tái)搭建在通信網(wǎng)絡(luò)上,為網(wǎng)絡(luò)和應(yīng)用層業(yè)務(wù)邏輯提供連接,其部署模式主要有三種,即行業(yè)專網(wǎng)模式、電信網(wǎng)模式和Internet模式。1)行業(yè)專網(wǎng)模式:即物聯(lián)網(wǎng)應(yīng)用部署在行業(yè)專網(wǎng)上,甚至某些感知設(shè)備也是行業(yè)專用的。這種模式的物聯(lián)網(wǎng)應(yīng)用只針對行業(yè)內(nèi)的用戶,不對外公開,典型案例如煤礦、機(jī)場等重要區(qū)域的安防類應(yīng)用。2)電信網(wǎng)模式:即物聯(lián)網(wǎng)應(yīng)用部署在PSTN(PublicSwitchedTelephoneNetwork,公共交換電話網(wǎng))、3G/4G等由運(yùn)營商嚴(yán)格管控的公用電信網(wǎng)絡(luò)上,這種模式的物聯(lián)網(wǎng)應(yīng)用針對具有電信網(wǎng)通信功能的感知設(shè)備(如帶有3G/4G通信模塊)和用戶,典型案例如電力抄表。7.8物聯(lián)網(wǎng)應(yīng)用部署697.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式1、

物聯(lián)網(wǎng)平臺(tái)的部署模式3)Internet模式:即物聯(lián)網(wǎng)應(yīng)用部署在Internet上。由于Internet是一個(gè)連接各種網(wǎng)絡(luò)的網(wǎng)絡(luò),它與電信網(wǎng)絡(luò)、行業(yè)專網(wǎng)也是互聯(lián)互通的。這種模式與電信網(wǎng)模式的最大區(qū)別是運(yùn)營商無法對Internet實(shí)施嚴(yán)格管控,而運(yùn)營商可以對電信網(wǎng)絡(luò)實(shí)施嚴(yán)格管控。這種模式的典型案例如通過LAN(LocalAreaNetwork,局域網(wǎng))接入Internet的家庭網(wǎng)絡(luò),運(yùn)營商可以對家庭網(wǎng)關(guān)進(jìn)行管控,但是對網(wǎng)關(guān)以下的節(jié)點(diǎn)就有些力不從心了。7.8物聯(lián)網(wǎng)應(yīng)用部署707.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案感知數(shù)據(jù)(包括視頻、音頻、傳感數(shù)據(jù))在網(wǎng)絡(luò)上傳輸,要保證較高的安全級別,否則錯(cuò)誤的數(shù)據(jù)是沒有意義的,在某些對安全性要求較高的領(lǐng)域(如安防監(jiān)控),錯(cuò)誤的數(shù)據(jù)甚至是危險(xiǎn)的。對應(yīng)三種物聯(lián)網(wǎng)平臺(tái)的部署模式,可以采用三種方式實(shí)現(xiàn)感知數(shù)據(jù)的安全傳輸,第一種是提供物理上與公共網(wǎng)絡(luò)隔離的專線連接網(wǎng)絡(luò),第二種是基于移動(dòng)通信網(wǎng)絡(luò)的安全通道,第三種是基于Internet的安全通道。7.8物聯(lián)網(wǎng)應(yīng)用部署717.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.1專線接入該方式適合于物聯(lián)網(wǎng)平臺(tái)的行業(yè)專網(wǎng)模式。以機(jī)場、銀行、監(jiān)獄等重要區(qū)域安防類應(yīng)用為例。這類重要區(qū)域不僅需要各種傳感器采集防區(qū)的信息,視頻監(jiān)控更是不可缺少的監(jiān)控手段,提供最直觀的視頻信息和視頻復(fù)查功能。由于視頻具有高帶寬大碼流的特點(diǎn),同時(shí)眾多的其它感知設(shè)備也會(huì)造成大量的感知數(shù)據(jù),所以本節(jié)中的方案采用光纖作為傳輸介質(zhì),具體組網(wǎng)結(jié)構(gòu)如圖7-35所示。感知層采集視頻、聲音和各類傳感數(shù)據(jù),通過物聯(lián)網(wǎng)網(wǎng)關(guān)接入光端機(jī),然后通過環(huán)狀的光纖交換網(wǎng)絡(luò)接入重要區(qū)域內(nèi)部網(wǎng)絡(luò)7.8物聯(lián)網(wǎng)應(yīng)用部署727.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.1專線接入光端機(jī)實(shí)現(xiàn)對采集視頻、聲音和各類傳感數(shù)據(jù)的數(shù)據(jù)處理及光電轉(zhuǎn)換,能夠支持各種高分辨率視頻信號,自動(dòng)兼容各種視頻圖像制式。除視頻信號,還提供雙向音頻信號,雙向RS232(或其它數(shù)據(jù)通信接口)數(shù)據(jù)信號。雙向RS232數(shù)據(jù)信號用于傳輸攝像機(jī)云臺(tái)控制或視頻矩陣切換。光纖交換機(jī)組成自愈環(huán)網(wǎng),連接光端機(jī)和物聯(lián)網(wǎng)平臺(tái)。7.8物聯(lián)網(wǎng)應(yīng)用部署737.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.1專線接入該方案的安全性體現(xiàn)在:1)感知設(shè)備通過專線接入物聯(lián)網(wǎng)平臺(tái),其承載網(wǎng)絡(luò)實(shí)現(xiàn)與公眾網(wǎng)絡(luò)物理上的隔離。物聯(lián)網(wǎng)的業(yè)務(wù)數(shù)據(jù)不易受到來自公眾網(wǎng)絡(luò)的威脅。2)光纖交換機(jī)作為重要區(qū)域內(nèi)部傳輸網(wǎng)絡(luò)的核心,采用自愈環(huán)網(wǎng)組網(wǎng)方式,可在各種環(huán)境下實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)姆€(wěn)定性、可靠性和實(shí)時(shí)性。7.8物聯(lián)網(wǎng)應(yīng)用部署747.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.2基于WCDMA網(wǎng)絡(luò)的安全通道一、WCDMA電路域接入圖7-36中感知終端和物聯(lián)網(wǎng)網(wǎng)關(guān)都具有WCDMA通信模塊,二者統(tǒng)稱作感知設(shè)備。二者的主要區(qū)別是,其它不具備WCDMA通信能力的感知設(shè)備可以通過近距離通信(Zigbee,藍(lán)牙,WiFi等)與物聯(lián)網(wǎng)網(wǎng)關(guān)相連,然后通過網(wǎng)關(guān)接入WCDMA網(wǎng)絡(luò)。而圖中帶WCDMA通信模塊的感知終端不具備近距離組網(wǎng)能力,且可以直接連接WCDMA網(wǎng)絡(luò)。基于WCDMA電路域接入物聯(lián)網(wǎng)平臺(tái)可以通過USSD(UnstructuredSupplementaryServiceData,非結(jié)構(gòu)化補(bǔ)充數(shù)據(jù)業(yè)務(wù))和短消息兩種方式。7.8物聯(lián)網(wǎng)應(yīng)用部署757.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.2基于WCDMA網(wǎng)絡(luò)的安全通道一、WCDMA電路域接入1)感知設(shè)備或手機(jī)用戶USSD流程:①感知設(shè)備或手機(jī)用戶向USSD平臺(tái)呼叫;②USSD平臺(tái)接收到呼叫請求后,經(jīng)過路由判斷,把請求按照SRE(ServiceRuntimeEnvironment業(yè)務(wù)運(yùn)行環(huán)境,它用內(nèi)部接口與USSD網(wǎng)關(guān)交互)格式打包向SRE提交;③SRE根據(jù)業(yè)務(wù)觸發(fā)規(guī)則找到對應(yīng)的動(dòng)態(tài)庫;④動(dòng)態(tài)庫執(zhí)行對應(yīng)的業(yè)務(wù)邏輯,生成處理結(jié)果;⑤SRE將數(shù)據(jù)提交到USSDC,USSDC轉(zhuǎn)換產(chǎn)生USSD數(shù)據(jù)發(fā)回感知設(shè)備或用戶。7.8物聯(lián)網(wǎng)應(yīng)用部署767.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.2基于WCDMA網(wǎng)絡(luò)的安全通道一、WCDMA電路域接入2)感知設(shè)備或手機(jī)用戶短消息流程:①感知設(shè)備開機(jī)后,首先使用AT命令對通信模塊進(jìn)行初始化,然后定時(shí)地采集本地各種感知信息;②采集后數(shù)據(jù)經(jīng)過數(shù)據(jù)處理單元(如單片機(jī))處理,以短消息的形式發(fā)送到物聯(lián)網(wǎng)平臺(tái);7.8物聯(lián)網(wǎng)應(yīng)用部署777.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.2基于WCDMA網(wǎng)絡(luò)的安全通道一、WCDMA電路域接入(續(xù))2)感知設(shè)備或手機(jī)用戶短消息流程(續(xù)):③平臺(tái)將收到數(shù)據(jù)整理比較,同時(shí)把各種感知數(shù)據(jù)在平臺(tái)用戶接口上進(jìn)行顯示。如果接收的某些數(shù)據(jù)達(dá)到設(shè)定的閥值,感知設(shè)備向平臺(tái)發(fā)出報(bào)警信號,平臺(tái)可以對收到的告警信息進(jìn)行處理,并采取相應(yīng)的措施進(jìn)行補(bǔ)救。短信息(SMS)具有隨時(shí)在線、不需撥號、價(jià)格便宜、覆蓋范圍廣等特點(diǎn),特別適合于傳送小流量數(shù)據(jù)。將數(shù)據(jù)處理單元(如單片機(jī))和SMS結(jié)合,利用單片機(jī)系統(tǒng)采集本地?cái)?shù)據(jù)并作出相關(guān)判斷,再通過SMS傳輸感知數(shù)據(jù),并且物聯(lián)網(wǎng)平臺(tái)利用發(fā)送SMS實(shí)現(xiàn)對感知設(shè)備的遠(yuǎn)程控制,是一種行之有效的物聯(lián)網(wǎng)業(yè)務(wù)開展方式。7.8物聯(lián)網(wǎng)應(yīng)用部署787.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.2基于WCDMA網(wǎng)絡(luò)的安全通道一、WCDMA電路域接入(續(xù))2)感知設(shè)備或手機(jī)用戶短消息流程(續(xù)):該方案的安全性體現(xiàn)在:基于現(xiàn)有移動(dòng)網(wǎng)絡(luò)安全接入機(jī)制使用信令信道傳輸數(shù)據(jù),實(shí)時(shí)性、交互性好,減少數(shù)據(jù)被截獲、篡改的可能性;但該方案數(shù)據(jù)傳輸帶寬小,僅適用于少量數(shù)據(jù)的安全傳輸。7.8物聯(lián)網(wǎng)應(yīng)用部署797.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.2基于WCDMA網(wǎng)絡(luò)的安全通道一、WCDMAVPDN接入(續(xù))WCDMAVPDN業(yè)務(wù)全稱是VirtualPrivateDial-upNetwork,又稱為虛擬專用(或私有)撥號網(wǎng),是VPN的一種,是基于撥號用戶的虛擬專用撥號網(wǎng)業(yè)務(wù)。該技術(shù)使感知設(shè)備或用戶能通過WCDMA網(wǎng)絡(luò)無縫和安全地連接到物聯(lián)網(wǎng)平臺(tái)。VPDN的具體實(shí)現(xiàn)是采用隧道技術(shù),即將感知數(shù)據(jù)封裝在隧道中進(jìn)行傳輸。本文VPDN的隧道封裝采用L2TP(Layer2TunnelProtocol)封裝。7.8物聯(lián)網(wǎng)應(yīng)用部署807.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.2基于WCDMA網(wǎng)絡(luò)的安全通道一、WCDMAVPDN接入呼叫建立流程如下。1)感知設(shè)備或用戶通過物聯(lián)網(wǎng)平臺(tái)專用APN呼叫到SGSN。運(yùn)營商為物聯(lián)網(wǎng)平臺(tái)分配專用APN(AccessPointName,接入點(diǎn))信息,該APN信息會(huì)寫入的HLR中,保證只有物聯(lián)網(wǎng)平臺(tái)授權(quán)的號碼才能進(jìn)行該APN的撥號,獲取相關(guān)IP地址信息及網(wǎng)絡(luò)訪問權(quán)限。2)SGSN通過DNS解析APN接入歸屬GGSN的IP地址。可采用專用的GGSN等核心網(wǎng)設(shè)備進(jìn)行VPDN業(yè)務(wù)(該GGSN只進(jìn)行VPDN業(yè)務(wù),不進(jìn)行大眾應(yīng)用),實(shí)現(xiàn)在物理上與大眾應(yīng)用的隔離,確保安全。7.8物聯(lián)網(wǎng)應(yīng)用部署817.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.2基于WCDMA網(wǎng)絡(luò)的安全通道一、WCDMAVPDN接入(續(xù))呼叫建立流程如下(續(xù))。3)GRPS/WCDMA網(wǎng)絡(luò)在SGSN和GGSN間啟動(dòng)相應(yīng)的GTP隧道協(xié)議,實(shí)現(xiàn)GPRS/WCDMA骨干網(wǎng)內(nèi)的安全傳輸。4)物聯(lián)網(wǎng)平臺(tái)所對應(yīng)的GGSN針對該APN發(fā)起RADIUS(RemoteAuthenticationDialInUserService,遠(yuǎn)程撥號用戶認(rèn)證服務(wù))認(rèn)證請求,同時(shí)GGSN(具有LAC即L2TPAccessConcentrator,L2TP接入集中器的功能)通過APN的用戶標(biāo)識實(shí)現(xiàn)L2TP隧道選擇,由AAA服務(wù)器或LNS(LNS表示L2TP網(wǎng)絡(luò)服務(wù)器L2TPNetworkServer,是PPP端系統(tǒng)上用于處理L2TP協(xié)議服務(wù)器端)對用戶名和密碼進(jìn)行認(rèn)證。7.8物聯(lián)網(wǎng)應(yīng)用部署827.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.2基于WCDMA網(wǎng)絡(luò)的安全通道一、WCDMAVPDN接入(續(xù))呼叫建立流程如下(續(xù))。5)如果物聯(lián)網(wǎng)平臺(tái)部署在企業(yè)內(nèi)部網(wǎng)絡(luò),企業(yè)將私有IP地址事先在GGSN或LNS上面配置好,這樣就可以通過GGSN或LNS根據(jù)APN給GRPS/WCDMA用戶分配企業(yè)內(nèi)部的IP地址。6)感知設(shè)備或用戶發(fā)起數(shù)據(jù)業(yè)務(wù),在GGSN通過APN的用戶標(biāo)識實(shí)現(xiàn)數(shù)據(jù)的L2TP隧道封裝安全傳輸,最后在企業(yè)外部網(wǎng)關(guān)完成L2TP隧道的解封裝,還原為企業(yè)內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)包。7)企業(yè)內(nèi)部網(wǎng)絡(luò)到感知設(shè)備或用戶的L2TP隧道封裝數(shù)據(jù)包,經(jīng)過GGSN隧道解封裝后,通過GRPS/WCDMA網(wǎng)絡(luò)轉(zhuǎn)發(fā)到感知設(shè)備或用戶。7.8物聯(lián)網(wǎng)應(yīng)用部署837.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.2基于WCDMA網(wǎng)絡(luò)的安全通道一、WCDMAVPDN接入(續(xù))呼叫建立流程如下(續(xù))。該方案的安全性體現(xiàn)在:1)撥號用戶使用VPDN業(yè)務(wù)時(shí)有兩種認(rèn)證情況,一種是一次認(rèn)證;另一種是二次認(rèn)證,一般情況下,為了保證VPDN的安全性,通常需要采用二次認(rèn)證。所謂二次認(rèn)證是指在接入服務(wù)器LNS和企業(yè)安全服務(wù)器上分別進(jìn)行用戶認(rèn)證。接入服務(wù)器進(jìn)行初步認(rèn)證,確定該用戶是否為合法的VPDN用戶以及是否建立隧道。隧道建立后,企業(yè)安全服務(wù)器對用戶進(jìn)行第二次認(rèn)證,再次確認(rèn)用戶是否為企業(yè)的合法用戶。一般來說,二次認(rèn)證方式要比一次認(rèn)證方式的安全性高。7.8物聯(lián)網(wǎng)應(yīng)用部署847.8.2物聯(lián)網(wǎng)平臺(tái)的三種部署方式2、三種接入方案----2.2基于WCDMA網(wǎng)絡(luò)的安全通道一、WCDMAVPDN接入(續(xù))呼叫建立流程如下(續(xù))。該方案的安全性體現(xiàn)在:2)可以結(jié)合IMSI(InternationalMobileSubscriberIdentificationNumber,國際移動(dòng)用戶識別碼)認(rèn)證與IP地址綁定、專用APN

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論