王進(jìn)華+蔡莉莉+錢(qián)海忠
DOI:10.16644/j.cnki.cn33-1094/tp.2016.07.005
摘 要: 物品萬(wàn)維網(wǎng)采用標(biāo)準(zhǔn)的應(yīng)用層http協(xié)議去替代傳輸層協(xié)議,實(shí)現(xiàn)傳感器設(shè)備與因特網(wǎng)相連,但是在物品萬(wàn)維網(wǎng)上要實(shí)現(xiàn)用戶對(duì)資源的透明訪問(wèn)及快速構(gòu)建應(yīng)用程序是一大挑戰(zhàn)。針對(duì)此問(wèn)題提出了一種面向服務(wù)架構(gòu)的物品萬(wàn)維網(wǎng)的分布式框架,它能夠?qū)β?lián)入該框架的各類資源透明地管理、查找、訪問(wèn)和控制,并對(duì)外提供面向終端用戶和智能軟件的接口。
關(guān)鍵詞: 傳感器萬(wàn)維網(wǎng); 語(yǔ)義萬(wàn)維網(wǎng); 萬(wàn)維網(wǎng)服務(wù); 物聯(lián)網(wǎng); 物品萬(wàn)維網(wǎng)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2016)07-16-04
SOA distributed framework for Web of Things
Wang Jinhua1, Cai Lili2, Qian Haizhong3
(1. Zhejiang Software Technology Co., Ltd., Zhejiang, Hangzhou 310053, China; 2. CEIE, Nanjing University of aeronautics & astronautics;
3. College of information technology, jinling institute of technology)
Abstract: Web of Things (WoT) uses a standard application protocol HTTP to provide the connection of sensors with Internet instead of the transport protocols. But it is a big challenge for users to realize the transparent access to resources and build applications quickly on WoT. For this problem, this paper presents a SOA distributed framework for WoT, it can manage, search, access and control all kinds of resources in the framework, and provide the interfaces to the end users and intelligent software.
Key words: Sensor Web; Semantic Web; Web Service; Internet of Things; Web of Things
0 引言
傳感器在人們的客觀世界及虛擬數(shù)字世界之間正扮演著重要的橋梁作用。傳感器萬(wàn)維網(wǎng)、物聯(lián)網(wǎng)[1]、物品萬(wàn)維網(wǎng)等一些新興領(lǐng)域應(yīng)運(yùn)而生,主要是為了實(shí)現(xiàn)物品與物品、人與物品、人與人之間隨時(shí)隨地的互聯(lián)、相互操作。但是由于當(dāng)前各類異構(gòu)的傳感器網(wǎng)絡(luò)都是面向特定應(yīng)用領(lǐng)域,實(shí)現(xiàn)終端用戶通過(guò)因特網(wǎng)隨時(shí)隨地訪問(wèn)各類異構(gòu)的傳感器網(wǎng)絡(luò)資源,以及各類異構(gòu)網(wǎng)絡(luò)系統(tǒng)智能交互是其最大的挑戰(zhàn)。
萬(wàn)維網(wǎng)服務(wù)具有模塊化、自描述和自包含的特點(diǎn),尤其是用戶能夠通過(guò)因特網(wǎng)協(xié)議方便訪問(wèn)萬(wàn)維網(wǎng)服務(wù),因此它已成為一種集成各類同構(gòu)或異構(gòu)的分布式系統(tǒng)的有效手段。萬(wàn)維網(wǎng)服務(wù)技術(shù)與傳感器技術(shù)相結(jié)合受到了越來(lái)越多的研究者關(guān)注。文獻(xiàn)[2]采用restful web[3]技術(shù)實(shí)現(xiàn)對(duì)設(shè)備功能接口進(jìn)行封裝,便于用戶利用標(biāo)準(zhǔn)因特網(wǎng)協(xié)議進(jìn)行訪問(wèn)。傳感器萬(wàn)維網(wǎng)[4]是傳感器網(wǎng)絡(luò)和萬(wàn)維網(wǎng)這兩個(gè)技術(shù)融合的產(chǎn)物,但是傳感器萬(wàn)維網(wǎng)只是實(shí)現(xiàn)了傳感器與因特網(wǎng)的互聯(lián),其還存在一些不足:①面向特定的應(yīng)用,各類傳感器應(yīng)用中缺乏統(tǒng)一的數(shù)據(jù)表示形式,各類異構(gòu)數(shù)據(jù)難以智能交互,不能有效被集成到別的相關(guān)應(yīng)用中;②用戶難以快速的組織這些資源,構(gòu)建面向特定需求的應(yīng)用。因此傳感器萬(wàn)維網(wǎng)還不能成為一個(gè)擁有眾多智能設(shè)備的協(xié)同系統(tǒng)。
物品萬(wàn)維網(wǎng)當(dāng)前面臨著與傳感器萬(wàn)維網(wǎng)同樣的挑戰(zhàn)[3]:要建立抽象層面,可以獲取、處理以及管理所有物品數(shù)據(jù);要能有效的管理物品的質(zhì)量或是特性(或是服務(wù)質(zhì)量);要能夠集成和融合來(lái)自各類物品網(wǎng)絡(luò)數(shù)據(jù)(如傳感器萬(wàn)維網(wǎng));要能夠識(shí)別和定位相關(guān)的物品資源;能夠快速創(chuàng)建應(yīng)用。
本文采用面向服務(wù)架構(gòu)(Service Oriented Architecture,SOA)技術(shù),提出了一個(gè)面向物品萬(wàn)維網(wǎng)的分布式架構(gòu)(Distributed Framework for Web of Things,DFWoT),它為終端用戶提供了服務(wù)注冊(cè)、查找、訪問(wèn)以及服務(wù)集成的功能。各類嵌入傳感器設(shè)備的物品以及各類面向特定應(yīng)用的傳感器萬(wàn)維網(wǎng),它們的功能接口都會(huì)以萬(wàn)維網(wǎng)服務(wù)技術(shù)來(lái)進(jìn)行封裝,并注冊(cè)到DFWoT中。在DFWoT中,傳感器數(shù)據(jù)都會(huì)轉(zhuǎn)換成統(tǒng)一的數(shù)據(jù)表示方法,實(shí)現(xiàn)各類數(shù)據(jù)的統(tǒng)一處理,同時(shí)它在最上層提供兩類接口:①面向普通用戶的接口;②面向智能軟件的應(yīng)用接口。
1 相關(guān)工作
傳感器萬(wàn)維網(wǎng)、物聯(lián)網(wǎng)等眾多新興領(lǐng)域的興起,涌現(xiàn)出了眾多面向這些研究領(lǐng)域的分布式框架。傳感器萬(wàn)維網(wǎng)框架(Sensor Web Enablement,SWE)是在傳感器萬(wàn)維網(wǎng)中最為突出的一個(gè),它通過(guò)萬(wàn)維網(wǎng)來(lái)連接傳感器,構(gòu)造基于萬(wàn)維網(wǎng)的傳感器網(wǎng)絡(luò)和應(yīng)用,能夠通過(guò)萬(wàn)維網(wǎng)的標(biāo)準(zhǔn)協(xié)議來(lái)查找、訪問(wèn)以及控制的數(shù)據(jù)中心。雖然SWE提供了一套協(xié)議標(biāo)準(zhǔn)和定義了相關(guān)服務(wù)規(guī)則,但是它還存在一些缺陷[4]。首先是SWE沒(méi)有利用本體對(duì)數(shù)據(jù)進(jìn)行語(yǔ)義表述,語(yǔ)義交互難以實(shí)現(xiàn);然后SWE過(guò)分注重?cái)?shù)據(jù)的獲取,卻忽略了數(shù)據(jù)的過(guò)濾以及信息的過(guò)載;York大學(xué)GeoICT實(shí)驗(yàn)室提出了GeoSWIFT[5],它是一個(gè)基于萬(wàn)維網(wǎng)服務(wù)的框架,采用SWE標(biāo)準(zhǔn)對(duì)數(shù)據(jù)進(jìn)行集成。它就像一個(gè)網(wǎng)關(guān)服務(wù)能夠?qū)Ξ悩?gòu)空間傳感器的數(shù)據(jù)進(jìn)行融合與集成。該框架由三個(gè)層面組成,底層是傳感器層,包含了各類實(shí)際的傳感器設(shè)備;中間層為通信層,它實(shí)現(xiàn)數(shù)據(jù)以及控制信息在上下兩層進(jìn)行交互;最上層為信息層主要是對(duì)傳感器資源進(jìn)行存儲(chǔ)、分析、變換、管理以及顯示。文獻(xiàn)[6]提出了一種框架(IrisNet),它有兩個(gè)層面:感知智能體和組織智能體。感知智能體主要實(shí)現(xiàn)數(shù)據(jù)的獲取以及提供訪問(wèn)傳感器的接口;組織智能體實(shí)現(xiàn)存儲(chǔ)服務(wù)。IrisNet最大的特點(diǎn)就是感知智能體層對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,減少了未處理的數(shù)據(jù)在傳感器之間的傳遞。組織智能體收集和分析從感知層面獲取的數(shù)據(jù)并響應(yīng)終端用戶的應(yīng)用請(qǐng)求。雖然眾多面向傳感器萬(wàn)維網(wǎng)的框架被提出來(lái),但是它們還難以滿足物品萬(wàn)維網(wǎng)的需求,只能作為物品萬(wàn)維網(wǎng)的一個(gè)子系統(tǒng)。文獻(xiàn)[7]提出了一個(gè)面向資源的物品萬(wàn)維網(wǎng)框架,但是它只是把無(wú)線傳感器、嵌入式設(shè)備以及電子標(biāo)記的物品利用萬(wàn)維網(wǎng)技術(shù)進(jìn)行封裝,便于用戶通過(guò)Web進(jìn)行訪問(wèn),還不能有效的對(duì)物品資源進(jìn)行管理。文獻(xiàn)[8]分析了物品萬(wàn)維網(wǎng)的一些需求,并提出了webPlug的物品萬(wàn)維網(wǎng)框架,它也只是提供了對(duì)采用restful機(jī)制聯(lián)入的設(shè)備進(jìn)行訪問(wèn),還未能解決Web系統(tǒng)交互,物品數(shù)據(jù)語(yǔ)義處理,尤其是在其之上構(gòu)建新的應(yīng)用。
2 DFWoT分布式框架的設(shè)計(jì)
許多內(nèi)嵌傳感器設(shè)備的物品可以直接聯(lián)入萬(wàn)維網(wǎng),但是有些資源必須通過(guò)類似網(wǎng)關(guān)節(jié)點(diǎn)的機(jī)制,才能聯(lián)入萬(wàn)維網(wǎng),如某些面向特定領(lǐng)域的傳感器網(wǎng)絡(luò),它們節(jié)點(diǎn)功能只是采集數(shù)據(jù)功能。物品萬(wàn)維網(wǎng)可看成是一個(gè)協(xié)同系統(tǒng),是由眾多傳感器網(wǎng)絡(luò)等獨(dú)立系統(tǒng)組成,而不僅僅是單一獨(dú)立的網(wǎng)絡(luò)。本文提出采用面向服務(wù)架構(gòu)的物品萬(wàn)維網(wǎng)架構(gòu)就是能夠把各類物品、各類傳感器網(wǎng)絡(luò)集成到一個(gè)平臺(tái)上,為上層的應(yīng)用提供一個(gè)透明的、統(tǒng)一的服務(wù)接口[9]。終端用戶可以利用它方便的訪問(wèn)、查找物品萬(wàn)維網(wǎng)上的各類數(shù)據(jù),同時(shí)也能夠利用這個(gè)框架的軟件接口快速構(gòu)建應(yīng)用程序。DFWoT的架構(gòu)如圖1所示。
2.1 物理層
物理層主要是面向?qū)嶋H訪問(wèn)的物品資源。由于大量低價(jià)的傳感器節(jié)點(diǎn)的部署,它不像傳統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò),每個(gè)節(jié)點(diǎn)都有全球惟一ID標(biāo)識(shí),特別是那些撒播部署的節(jié)點(diǎn)。因此它們不太可能全部作為獨(dú)立的資源直接聯(lián)入DFWoT中。在DFWoT物理層主要處理兩類物品資源:一類是具有位置相對(duì)固定且具有較長(zhǎng)生命周期的物品,如攝像機(jī)、監(jiān)視器等;另一類是面向特定應(yīng)用傳感器網(wǎng)絡(luò)節(jié)點(diǎn),它們都會(huì)以網(wǎng)關(guān)節(jié)點(diǎn)的方式聯(lián)入DFWoT。對(duì)于各類傳感器萬(wàn)維網(wǎng)資源,由于它們已采用萬(wàn)維網(wǎng)機(jī)制,因此DFWoT將是這類資源的注冊(cè)中心和交互中心。
2.2 適配層
在物理層接收和處理的都是未經(jīng)過(guò)處理的數(shù)據(jù),它們都是面向特定的應(yīng)用領(lǐng)域,因此數(shù)據(jù)格式呈多樣化。要實(shí)現(xiàn)異構(gòu)系統(tǒng)自動(dòng)交互及數(shù)據(jù)融合,就必須要有統(tǒng)一的數(shù)據(jù)表示格式,同時(shí)能夠使數(shù)據(jù)表示格式內(nèi)涵一些語(yǔ)義信息[10]。雖然SWE的提出是針對(duì)傳感器萬(wàn)維網(wǎng)的,但其標(biāo)準(zhǔn)是較為成熟的,本文采用SWE中的SML語(yǔ)言,并利用SWSDL本體標(biāo)注方法來(lái)構(gòu)建一個(gè)面向傳感器設(shè)備的統(tǒng)一數(shù)據(jù)表示格式,用來(lái)描述所有傳感器節(jié)點(diǎn)采集的數(shù)據(jù)。在本節(jié),提出了一個(gè)虛節(jié)點(diǎn)的概念,它承擔(dān)類似網(wǎng)關(guān)節(jié)點(diǎn)的服務(wù)角色,管理物理層中兩類資源。物理層兩類資源只要聯(lián)入到DFWoT,都會(huì)有一個(gè)相應(yīng)的虛節(jié)點(diǎn)與之對(duì)應(yīng)。虛節(jié)點(diǎn)具有兩大功能:一是與物理傳感器連接及相互通信;另一個(gè)就是對(duì)收集的數(shù)據(jù)以統(tǒng)一格式進(jìn)行轉(zhuǎn)換、對(duì)其進(jìn)行語(yǔ)義標(biāo)注并傳送到Web處理層;雖然加入DFWoT的傳感器資源屬于不同的組織或面向不同的應(yīng)用領(lǐng)域,但是采用虛節(jié)點(diǎn)方式接入到因特網(wǎng)中具有明顯的優(yōu)勢(shì)。各類傳感器接入時(shí),它們只需實(shí)現(xiàn)本系統(tǒng)專用數(shù)據(jù)格式能與DFWoT的統(tǒng)一數(shù)據(jù)格式相互轉(zhuǎn)換功能,并且可以有選擇的向外提供服務(wù);語(yǔ)義標(biāo)注中所采用什么樣的領(lǐng)域本體庫(kù)是一直制約語(yǔ)義萬(wàn)維網(wǎng)發(fā)展的瓶頸,因?yàn)殡y以實(shí)現(xiàn)滿足各類應(yīng)用領(lǐng)域的統(tǒng)一本體庫(kù)。采用虛節(jié)點(diǎn)的方式,各類異構(gòu)的傳感器網(wǎng)絡(luò)資源數(shù)據(jù)標(biāo)注就可以采用它們所屬的領(lǐng)域本體庫(kù)。
2.3 Web處理層
Web處理層主要實(shí)現(xiàn)兩大功能[11]:服務(wù)注冊(cè)和數(shù)據(jù)預(yù)處理。為了能夠包容傳感器萬(wàn)維網(wǎng)中的所有資源,DFWoT提供了兩類資源注冊(cè)服務(wù):①傳感器網(wǎng)絡(luò)的實(shí)例注冊(cè)服務(wù)SIR(Sensor Instance Registry);②以Web服務(wù)形式對(duì)外提供服務(wù)的資源。這樣在DFWoT中就可構(gòu)建于傳感器萬(wàn)維網(wǎng)服務(wù)之上,形成一個(gè)協(xié)同系統(tǒng)。獨(dú)立的傳感器萬(wàn)維網(wǎng)系統(tǒng)也是通過(guò)此種形式接入DFWoT中。
雖然適配層中的數(shù)據(jù)是采用SWE中的SML標(biāo)準(zhǔn),但SML一般是面向傳感器網(wǎng)絡(luò)節(jié)點(diǎn),因此在Web層增加了數(shù)據(jù)預(yù)處理功能。它能實(shí)現(xiàn)SML格式到RDFS格式、OWL格式的轉(zhuǎn)換,而Rdfs和OWL是當(dāng)前語(yǔ)義萬(wàn)維網(wǎng)采用的比較完備的數(shù)據(jù)表示方法。經(jīng)過(guò)Web層的數(shù)據(jù)預(yù)處理模塊,知識(shí)層就可以對(duì)這些數(shù)據(jù)進(jìn)行推理、分析。
2.4 知識(shí)層
語(yǔ)義網(wǎng)實(shí)現(xiàn)了海量數(shù)據(jù)智能處理,能對(duì)數(shù)據(jù)再分析,這樣就可以更快、更準(zhǔn)確的滿足終端用戶的應(yīng)用需求。在DFWoT的知識(shí)層中,最重要的一個(gè)功能單元就是語(yǔ)義處理功能組件。它集成了一些語(yǔ)義推理工具,如RACE、JENA等,能夠?qū)倪m配層傳來(lái)的數(shù)據(jù)進(jìn)行語(yǔ)義推理、分析,獲取新知識(shí)[15]并存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)或是相關(guān)本體知識(shí)庫(kù)中供終端用戶進(jìn)行查詢。本體是實(shí)現(xiàn)語(yǔ)義智能的主體,因此本體庫(kù)的管理是知識(shí)層中重要模塊,它的主要功能是存儲(chǔ)那些面向各類特定領(lǐng)域的本體,如OWL-time Ontology。
2.5 應(yīng)用層
實(shí)現(xiàn)終端用戶透明訪問(wèn)物品萬(wàn)維網(wǎng)上所有資源是物品萬(wàn)維網(wǎng)最重要的目標(biāo)之一。DFWoT在應(yīng)用層內(nèi)嵌了Web Server,提供了面向終端用戶接口,這樣,終端用戶可以通過(guò)現(xiàn)有絕大多數(shù)的Web瀏覽器就能通過(guò)因特網(wǎng)隨時(shí)隨地訪問(wèn)DFWoT;通過(guò)調(diào)用萬(wàn)維網(wǎng)服務(wù)接口,能實(shí)現(xiàn)各類應(yīng)用軟件自動(dòng)交互。為了能夠快速的構(gòu)建滿足客戶多變需求的應(yīng)用程序,在DFWoT提供了面向應(yīng)用程序接口,由于都是采用了萬(wàn)維網(wǎng)技術(shù),DFWoT上的資源就可以看成一個(gè)個(gè)具有獨(dú)立單元功能的組件,便于用戶快速的建立應(yīng)用程序。
3 家庭智能電器應(yīng)用場(chǎng)景
物品萬(wàn)維網(wǎng)正逐步被應(yīng)用到各個(gè)相關(guān)領(lǐng)域,為了能夠更好地說(shuō)明本文提出的分布式框架,我們以智能家庭為應(yīng)用場(chǎng)景。在智能家庭眾多設(shè)備中,有些設(shè)備可以內(nèi)嵌Web Server,它就可以直接利用Restful APIs并注冊(cè)到這個(gè)框架中成為DFWoT的一部分,而有些設(shè)備可能需要通過(guò)3.2節(jié)中提到類似網(wǎng)關(guān)節(jié)點(diǎn)的“虛節(jié)點(diǎn)”,來(lái)實(shí)現(xiàn)與DFWoT的聯(lián)接并實(shí)現(xiàn)協(xié)議的相互轉(zhuǎn)換,例如:Zigbee,bluetooth等。
家庭中一些電器設(shè)備被安裝上一個(gè)智能電卡(Plogg),它是一個(gè)支持藍(lán)牙技術(shù)的無(wú)線傳感器節(jié)點(diǎn),適合作為電器設(shè)備的一部分。它能夠?qū)崟r(shí)獲得設(shè)備的用電信息,也能按時(shí)間段統(tǒng)計(jì)用電量,但是為了能夠讓它聯(lián)入DFWoT,必須借助網(wǎng)關(guān)節(jié)點(diǎn);家庭監(jiān)控?cái)z像頭由于內(nèi)嵌一個(gè)Web Server服務(wù)器并以Web Service形式提供接口。如圖2所示。虛節(jié)點(diǎn)(網(wǎng)關(guān)節(jié)點(diǎn))對(duì)應(yīng)適配層功能,完成協(xié)議轉(zhuǎn)換以及數(shù)據(jù)轉(zhuǎn)換功能。為了能更好的聯(lián)接智能卡(Plogg), 本場(chǎng)景中虛節(jié)點(diǎn)模擬了PNC的相關(guān)功能。智能家庭所有設(shè)備通過(guò)這兩種方式都可以注冊(cè)到DFWoT并以服務(wù)的對(duì)外開(kāi)放,用戶可以通過(guò)該分布式平臺(tái)訪問(wèn)相關(guān)設(shè)備信息。
4 結(jié)束語(yǔ)
語(yǔ)義網(wǎng)、萬(wàn)維網(wǎng)服務(wù)和面向服務(wù)架構(gòu)等多種技術(shù)的融合為實(shí)現(xiàn)物品萬(wàn)維網(wǎng)提供了一條有效的途徑。本文提出了一個(gè)面向服務(wù)架構(gòu)的物品萬(wàn)維網(wǎng)分布式框架,是為了能夠連接、管理與之互聯(lián)的物品資源。它既是一個(gè)注冊(cè)中心,同時(shí)也是一個(gè)服務(wù)提供中心。終端用戶與智能軟件都能通過(guò)它較為方便的訪問(wèn)物品資源或是利用服務(wù)組合組件,快速集成各原子功能生成滿足客戶需求的新的應(yīng)用程序。文中智能家庭應(yīng)用場(chǎng)景雖然較為初級(jí),但是由于相關(guān)的技術(shù)都較為成熟,DFWoT充分利用已有技術(shù)并對(duì)它們進(jìn)行集成,因此它具有一定可行性和有效性。
參考文獻(xiàn)(References):
[1] Iera, A., Floerkemeier, C., Mitsugi, J., etc, The internet of
Things[J]. IEEE Wireless Communications,2010:17(6):8-9
[2] Dominique G., Vlad T.. Towards the Web of things: Web
mashups for Embedded devices[C].WWW2009, Madrid, Spain,2009.
[3] Corcho, O., Garcia-Castro, R., Five Challenges for the
Semantic Sensor Web, Semantic Web journal,2010.http://www.semantic-web-journal.net/sites/default/files/SWJ103.pdf.
[4] Moodley, D., Simonis,I.; A New Architecture for the
Sensor Web: The SWAP Framework[C], workshop of the 5th international Semantic web conference ISWC,2006.
[5] Liang, S. H. L., Croitoru, A., Tao, C. V., A distributed
geospatial infrastructure for Sensor Web[J]. Computers & Geosciences,2005.31(2):221-231
[6] Gibbons, Phillip B., Brad Karp, et al, IrisNet: An
Architecture for a Worldwide Sensor Web[J]. IEEE Pervasive Computing,2003.2(4):22-33
[7] Guinard D., Trifa V., Wilde E.; A resource oriented
architecture for the web of things[C]. internet of things 2010, Tokyo,2010:1-9
[8] Ostermaier B., Schlup F., Romer K.; WebPlug: A
framework for the web of things[C]. Pervasive computing and commnications workshops 2010, Mannheim,2010:690-695
[9] Hamblen, J.O., van Bekkum, G.M.E.. An Embedded
Systems Laboratory to Support Rapid Prototyping of Robotics and the Internet of Things[J]. IEEE Transactions on Education,2013.56(1):121-128
[10] Pfisterer, D., Romer, K., Bimschas, D., etc. SPITFIRE:
toward a semantic web of things[J]. IEEE Communications Magazine,2011.49(11):40-48
[11] Guinard, D., Trifa, V., Karnouskos, S., Spiess, P., Savio,
D.. Interacting with the SOA-Based Internet of Things:Discovery, Query, Selection, and On-Demand Provisioning of Web Services[J].IEEE Transactions on Services Computing,2010.3(3):223-235