王文杰
(天津交通職業(yè)學(xué)院,天津 300110)
物聯(lián)網(wǎng)系統(tǒng)架構(gòu)設(shè)計風(fēng)格的對比與思考
王文杰
(天津交通職業(yè)學(xué)院,天津 300110)
物聯(lián)網(wǎng)架構(gòu)要求能夠支持大規(guī)模分布式泛在物聯(lián)應(yīng)用部署,并能根據(jù)公眾和行業(yè)的需求提供相對應(yīng)的服務(wù)。但是物聯(lián)網(wǎng)系統(tǒng)的應(yīng)用平臺、通訊協(xié)議和通信設(shè)備普遍存異構(gòu)性,制約著物聯(lián)網(wǎng)產(chǎn)業(yè)的發(fā)展。為了進一步溝通物聯(lián)網(wǎng)技術(shù)與最終使用者之間的關(guān)系,提高物聯(lián)網(wǎng)服務(wù)的創(chuàng)新能力,人們迫切需要一個統(tǒng)一的技術(shù)標準和平臺能夠整合智能設(shè)備上所能提供的基礎(chǔ)服務(wù)能力。在本文中,作者分析了物聯(lián)網(wǎng)架構(gòu)的基本需求,討論了構(gòu)建分布式系統(tǒng)的架構(gòu)風(fēng)格,并根據(jù)比較結(jié)果得出結(jié)論。
物聯(lián)網(wǎng);架構(gòu)風(fēng)格;分布式系統(tǒng)
物聯(lián)網(wǎng)架構(gòu),作為一種內(nèi)含成千上萬各種信息設(shè)備的環(huán)境來說,除了要保證各設(shè)備正常工作,還要保證設(shè)備之間基本的相互理解。
在物聯(lián)網(wǎng)架構(gòu)設(shè)計之初,人們僅僅是使用WSN(無線傳感器網(wǎng)絡(luò)框架)解決了設(shè)備之間相互通信問題以及如何將大量異構(gòu)設(shè)備部署在一個架構(gòu)中的問題,但隨著架構(gòu)部署越來越大,不同用戶和客戶端之間會產(chǎn)生大量的共享設(shè)備信息的需求。所以,物聯(lián)網(wǎng)架構(gòu)在開發(fā)時有必要構(gòu)建一個具有整合功能并且具備開放性和擴展性的設(shè)計風(fēng)格。它應(yīng)該滿足如下需求:
1.低門檻:通過降低門檻,鼓勵更多的開發(fā)者和研究人員開發(fā)應(yīng)用,降低第三方個人或者服務(wù)提供商可以以較低的成本進行技術(shù)創(chuàng)新和設(shè)備升級。
2.快速訪問:該設(shè)計風(fēng)格應(yīng)允許系統(tǒng)具備直接訪問物理設(shè)備的功能。其目的在于希望用戶在需要的時候能夠通過Web瀏覽器直接接入物聯(lián)網(wǎng),從而獲得數(shù)據(jù)和服務(wù),而不需要安裝額外的應(yīng)用程序。這樣一來,不僅降低了用戶的使用難度,也提高了架構(gòu)使用的靈活性。
3.輕量級:該設(shè)計風(fēng)格在架構(gòu)中起到的作用相當于一座橋梁,使用一種輕量級的數(shù)據(jù)訪問方式,將高速設(shè)備與資源受限設(shè)備連接起來。
4.可擴展:該設(shè)計風(fēng)格作為架構(gòu)的主體部分,應(yīng)該具有獨立的可擴展性,用于在需要的時候擴展網(wǎng)絡(luò)的基礎(chǔ)設(shè)施。
5.智能化:該設(shè)計風(fēng)格允許系統(tǒng)通過提供智能化的引擎服務(wù),方便為用戶提供更加個性化服務(wù)。通過在數(shù)據(jù)庫中引入云計算功能,通過對物聯(lián)網(wǎng)設(shè)備所手機的原始數(shù)據(jù)進行挖掘,可以有針對性的對用戶提供定制服務(wù),使服務(wù)更加自動化和人性化。
對于早期的研究人員,最大的困難在于如何構(gòu)建分布式應(yīng)用系統(tǒng)。雖然有過一些方法和結(jié)論,但這些方法主要能夠解決的問題還停留在如何讓軟件組件互相協(xié)作上。但是對于如何使用智能設(shè)備代替?zhèn)鹘y(tǒng)設(shè)備構(gòu)建分布式應(yīng)用系統(tǒng)卻沒有一個完善的解決方案。雖然我們希望在物聯(lián)網(wǎng)系統(tǒng)架構(gòu)在設(shè)計之初就有明確而統(tǒng)一的設(shè)計風(fēng)格用來作為平臺、通信協(xié)議和智能設(shè)備之間的橋梁,但是,這卻并不能作為最終的解決方案。
通常,一個軟件中的架構(gòu)可以用來分配和標識系統(tǒng)元素,可以用來決定系統(tǒng)中的元素是如何進行交互的,還可以用來決定交互通信的粒度大小和接口的協(xié)議。也就是說,架構(gòu)風(fēng)格是一種設(shè)計模式,是用來解決軟件的內(nèi)部、外部結(jié)構(gòu)和相互連接上的問題的。
下面我們將三種常見的構(gòu)架風(fēng)格進行對比討論:分別是面向?qū)ο蠹軜?gòu)(OOA)、面向服務(wù)架構(gòu)(SOA)和面向服務(wù)架構(gòu)(ROA)。
OOA通常應(yīng)用于獨立封閉的系統(tǒng),由一個實體對象控制著系統(tǒng)中組件的交互。它有兩個重要特點:分別為標準對象間交互的接口和封裝對象間傳送的不同的數(shù)據(jù)格式。對象實例之間的通信狀態(tài)通?;谶h程過程調(diào)用(RPC)。緊耦合是RPC的架構(gòu)形式,一旦交互的接口出現(xiàn)變化,必須保證系統(tǒng)中各封裝對象具備高度的一致性。這個特點增大了系統(tǒng)維護的難度,也阻礙了系統(tǒng)的二次開發(fā)。
隨著網(wǎng)絡(luò)技術(shù)的日益發(fā)展,Web已經(jīng)成為信息交換的重要媒介,基于簡單對象訪問協(xié)議(SOAP)所具備的協(xié)議體系,SOA允許進行如安全或服務(wù)發(fā)現(xiàn)等復(fù)雜操作。但是,基于SOAP的Web Service標準相對復(fù)雜,對于開發(fā)者而言,熟練的使用依然具有不小的難度。并且,即使出自同一套標準的不同體現(xiàn)方案也存在著不能完全兼容的問題。對于高度動態(tài)的物聯(lián)網(wǎng)環(huán)境,SOP缺少靈活性,由于接口靜態(tài)綁定,會導(dǎo)致新的設(shè)備會不斷的出現(xiàn)和消失。
基于ROA構(gòu)架的Web系統(tǒng)在目前的互聯(lián)網(wǎng)中應(yīng)用得最為普及。表述性狀態(tài)轉(zhuǎn)移(REST)是它的核心思想。這種設(shè)計原則較為抽象,可以同時應(yīng)用于系統(tǒng)和網(wǎng)絡(luò)應(yīng)用的開發(fā)。它面向“資源”,可以把系統(tǒng)當中的所有組件進行唯一定位并被尋址?!百Y源”的范疇既包含物理對象,也包含抽象集合。也就是說既可以是系統(tǒng)當中的物理設(shè)備,也可以是系統(tǒng)當中的概念或網(wǎng)絡(luò)中的文件。若一個系統(tǒng)被稱為REST化(RESTful)的系統(tǒng),需要至少滿足以下五個條件:
1.資源的標識:REST使用統(tǒng)一資源標識符(URI)對Web中的資源進行標識,因此可以基于這種廣泛使用的標識來建立資源間的鏈接。若將這種特性應(yīng)用于物聯(lián)網(wǎng),則可在全局上唯一的標識物聯(lián)網(wǎng)系統(tǒng)中的設(shè)備和資源。這種全局化的唯一性也同樣適用于大規(guī)模部署分布式設(shè)備。為保障物聯(lián)網(wǎng)系統(tǒng)與互聯(lián)網(wǎng)的兼容性,應(yīng)將URI作為使用規(guī)范。
2.統(tǒng)一的接口:開發(fā)者可以通過使用具有良好定義的交互語義的統(tǒng)一接口來對資源進行操作,例如超文本傳輸協(xié)議(HTTP)。HTTP協(xié)議通過定義了具有不同操作語義的有限的接口方法集合,降低了組件間接口的耦合度,提高了應(yīng)用的交互性。物聯(lián)網(wǎng)應(yīng)用廣泛使用傳感器,而傳感器的使用是根據(jù)實際需求動態(tài)的添加和移除。得益于HTTP的接口標準,使得系統(tǒng)的耦合度降低,提高了物聯(lián)網(wǎng)系統(tǒng)的穩(wěn)定性,解決了服務(wù)資源與客戶端一致性的問題。
3.自描述的消息和資源的多重表述:若分布式系統(tǒng)使用統(tǒng)一的資源表述格式,服務(wù)器和客戶端可以直接進行交互,便于降低系統(tǒng)的耦合度。由于HTTP統(tǒng)一接口的設(shè)計,組件間可以基于協(xié)議內(nèi)的媒體類型直接協(xié)同工作,使得系統(tǒng)具備極強的擴展性。對于物聯(lián)網(wǎng)應(yīng)用,可以通過引入可擴展標記語言(XML)和輕量級數(shù)據(jù)交換格式(JSON)的方法,增強設(shè)備與應(yīng)用之間,應(yīng)用于應(yīng)用之間的信息交互性。另外,根據(jù)應(yīng)用的具體需求,還可以多重描述資源,再根據(jù)協(xié)商機制選擇資源的表述形式。
4.超媒體驅(qū)動應(yīng)用狀態(tài)的轉(zhuǎn)移:由于各種服務(wù)資源都具備獨立的鏈接,所以已經(jīng)實現(xiàn)REST化服務(wù)的客戶端可以輕松的與之進行交互。這樣一來客戶端便可以基于統(tǒng)一的標準標識方式和統(tǒng)一的資源表述格式在互聯(lián)網(wǎng)上尋找服務(wù)、進行交互、完成業(yè)務(wù)流程,而不需要指定服務(wù)器或服務(wù)目錄。
5.無狀態(tài)的交互:這里要求客戶端所發(fā)出的請求應(yīng)該包含所有消息,即它應(yīng)具有自包含性。HTTP的設(shè)計正好符合這個條件,它基于Request/Response的模式發(fā)送交互請求,而HTTP本身是沒有會話這個概念的。所以說HTTP的交互從本質(zhì)來說是自包含的,也就是無狀態(tài)的。雖然在某些情況下HTTP可以包含部分狀態(tài)信息,如通過cookie或者通過在請求中添加服務(wù)器狀態(tài),但是,這些都改變不了HTTP無狀態(tài)的事實。
如表1-1所示,對三種架構(gòu)的十種屬性進行了對比。由于我們在前文中對物聯(lián)網(wǎng)構(gòu)架的開放性和擴展性進行了定義,通過對比得出結(jié)論,ROA風(fēng)格最符合物聯(lián)網(wǎng)架構(gòu)的設(shè)計思想:由于物聯(lián)網(wǎng)系統(tǒng)實際的使用現(xiàn)場布局相對松散開放,其架構(gòu)的安全性、可靠性和流暢性無需定制化的協(xié)議來支持,所以具備高分布式和可擴展性的物聯(lián)網(wǎng)架構(gòu)體系可以完美發(fā)揮ROA松耦性的特點。此外,由于物聯(lián)網(wǎng)網(wǎng)絡(luò)系統(tǒng)為高速網(wǎng)與低速網(wǎng)協(xié)同工作,這就導(dǎo)致架構(gòu)中部分低速設(shè)備所獲取的資源將受到限制。通過使用ROA架構(gòu)風(fēng)格,其簡單化和輕量級的特點可以更好的發(fā)揮此類設(shè)備的性能,降低應(yīng)用的開發(fā)門檻。
表1-1 三種架構(gòu)風(fēng)格對比
[1]吳振宇.基于Web的物聯(lián)網(wǎng)應(yīng)用體系架構(gòu)和關(guān)鍵技術(shù)研究[D].北京郵電大學(xué),2013.
[2]張倩.基于TinyOS的無線傳感器網(wǎng)絡(luò)路由協(xié)議設(shè)計與實現(xiàn)[D].西北工業(yè)大學(xué),2011.
[3]崔華,應(yīng)時,袁文杰,胡羅凱.語義Web服務(wù)組合綜述[J].計算機科學(xué),2010,(05).
[4]G.Kortuem,F(xiàn).Kawsar,V.Sundramoorthy,D.Fitton,Smart Objects as Building Blocks for the Internet Of Things,IEEE Internet Computing 2010;14(1):44-51,January,2010.
[5]孫其博,劉杰,黎養(yǎng)等.物聯(lián)網(wǎng):概念、架構(gòu)與關(guān)鍵技術(shù)研究綜述[J],北京郵電大學(xué)學(xué)報,2010,(03).
[6]沈蘇彬,范曲立,宗平等.物聯(lián)網(wǎng)的體系結(jié)構(gòu)與相關(guān)技術(shù)研究[J].南京郵電大學(xué)學(xué)報,2009,(06).
Comparison and Reflection on Systematic Architecture Design of Internet of Things
WANG Wen-jie
(TianjinTransportationVocationalCollege,Tianjin, 300110)
architecture of Internet of Things should be able to support massive distributed ubiquitous Internet of Things applications, and provide correspondent services a required by the public and industry. However, the heterogeneity commonly found in the application platform, communication protocol and communication device of the Things applications greatly restricts development of the Internet of Things industry. In order to better connect the technology of Internet of Things and end-users, enhance the innovation capability of services by Internet of Things, it is in urgent need to make a unified technical standard and platform to integrate the ability of intelligent devices to offer basic services. The paper analyzes the basic requirements of the architecture of Internet of Things, discusses the design style to establish distributed system, and reaches a conclusion through comparative studies.
Internet of Things; architecture style; distributed system
2014-09-05
王文杰(1982-),男,天津市人,天津交通職業(yè)學(xué)院講師,碩士,主要從事機械與電子專業(yè)教學(xué)。
TP399
A
1673-582X(2015)02-0082-03