《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 一種面向服務(wù)的物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計
一種面向服務(wù)的物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計
2015年電子技術(shù)應(yīng)用第3期
楊建棟1,2,司 農(nóng)1,陳道新2,王 普1,楊 昊2
1.北京工業(yè)大學(xué) 電子信息與控制工程學(xué)院,北京100124; 2.首都信息發(fā)展股份有限公司,北京100080
摘要: 提出了一種普遍適用面向服務(wù)的物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)計實現(xiàn)方式,通過對感知設(shè)備進行識別、建立應(yīng)用路由并進行控制管理,接收感知層發(fā)送的數(shù)據(jù)并進行清洗和事件分析,向上層應(yīng)用傳遞清洗和篩選后的數(shù)據(jù)或事件信息,利用組件建立與感知設(shè)備間透明的、標(biāo)準(zhǔn)的對話模式。從設(shè)備管理、運轉(zhuǎn)引擎、邏輯引擎等技術(shù)方面詳細(xì)描述了將底層設(shè)備統(tǒng)一化管理,使得當(dāng)感知設(shè)備的數(shù)據(jù)庫軟件或后端發(fā)生變化情況發(fā)生時,應(yīng)用端無需修改或做簡單修改就能處理,節(jié)省多對多連接的維護復(fù)雜性問題,從而解決現(xiàn)在物聯(lián)網(wǎng)領(lǐng)域產(chǎn)品眾多、標(biāo)準(zhǔn)不統(tǒng)一的問題。
中圖分類號: TP393
文獻標(biāo)識碼: A
文章編號: 0258-7998(2015)03-0035-03
The design of gateway layer of IoT
Yang Jiandong1,2,Si Nong1,Chen Daoxin2,Wang Pu1,Yang Hao2
1.School of Electronic Information and Control Engineering,Beijing University of Technology,Beijing 100124,China; 2.Capinfo Compay Limited,Beijing 100080,China
Abstract: A service oriented middleware gateway design is proposed in this paper, which sets up the application route and control management through the identification of sensors, receives the data that send from perception layer, conducts the data cleaning and event analysis, then transfers the data or event information that has been cleaned and filtered to the upper layers, and constructs a transparent and standard model of conversation between perception equipment components. The underlying equipment unification management is described from equipment management, engine operation, logic engine and other technical aspects in detail, so that when changes occur in the sensing devices or backend database software, the application client could handle the change without modifying or do simple modification, which will save the maintenance complexity problem of the many-to-many connection, and solve the unified standard problem between numerous products.
Key words : IoT;gateway;middleware

 

0 引言

  物聯(lián)網(wǎng)IoT(Internet of Things)是通過射頻識別(RFID)、紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器等信息傳感設(shè)備,按約定的協(xié)議,把任何物體與互聯(lián)網(wǎng)相連接,進行信息交換和通信,以實現(xiàn)對物體的智能化識別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡(luò)[1]。物聯(lián)網(wǎng)是應(yīng)用信息通信技術(shù)的最新產(chǎn)物,是繼計算機、互聯(lián)網(wǎng)和移動通信之后引發(fā)新一輪信息產(chǎn)業(yè)浪潮的核心領(lǐng)域,已成為國際新一輪信息技術(shù)競爭的關(guān)鍵點和制高點。

  物聯(lián)網(wǎng)應(yīng)用領(lǐng)域可全面覆蓋市政管理、公共安全、智能交通、能源公用、智能家居、金融和商業(yè)、醫(yī)療衛(wèi)生、工業(yè)和制造、農(nóng)業(yè)、生態(tài)環(huán)境等多個方面的市政管理與公共管理領(lǐng)域。大量、迫切的物聯(lián)網(wǎng)應(yīng)用需求帶來物聯(lián)網(wǎng)應(yīng)用支撐平臺的機遇和強烈需求,物聯(lián)網(wǎng)應(yīng)用支撐平臺可實現(xiàn)各種標(biāo)簽和傳感器等感知元件與應(yīng)用系統(tǒng)之間數(shù)據(jù)傳輸、過濾、數(shù)據(jù)格式轉(zhuǎn)換,具有統(tǒng)一的傳感信息接入標(biāo)準(zhǔn),具有對傳感信息進行身份認(rèn)證和安全傳輸?shù)哪芰?。物?lián)網(wǎng)應(yīng)用中間件就是在企業(yè)應(yīng)用系統(tǒng)和物聯(lián)網(wǎng)應(yīng)用感知層感知元件間數(shù)據(jù)流入和數(shù)據(jù)流出和對其進行管理的軟件,是連接和管理感知層和上層應(yīng)用系統(tǒng)的紐帶,使用戶能夠?qū)⒏兄獙硬杉臄?shù)據(jù)應(yīng)用到業(yè)務(wù)過程中[2]。物聯(lián)網(wǎng)應(yīng)用中間件是物聯(lián)網(wǎng)應(yīng)用支撐平臺關(guān)鍵,其扮演感知元件和應(yīng)用程序之間的中介角色。在存儲感知元件信息的數(shù)據(jù)庫軟件或后端發(fā)生變化,如應(yīng)用程序增加、改由其他軟件取代或者讀寫感知元件種類增加等情況發(fā)生時,應(yīng)用端無需修改或只需做簡單修改就能處理,節(jié)省多對多連接的維護復(fù)雜性問題。物聯(lián)網(wǎng)應(yīng)用中間件組件設(shè)計主要分為感知層終端設(shè)備組件設(shè)計、中間件網(wǎng)關(guān)層組件設(shè)計及服務(wù)端組件設(shè)計。其中,感知層終端設(shè)備的設(shè)備驅(qū)動程序是實現(xiàn)標(biāo)準(zhǔn)化設(shè)計的關(guān)鍵,中間件網(wǎng)關(guān)層組件設(shè)計是系統(tǒng)工作運轉(zhuǎn)的核心。

  本文提出了一種面向服務(wù)的物聯(lián)網(wǎng)網(wǎng)關(guān)中間件的設(shè)計實現(xiàn)方式。在典型的物聯(lián)網(wǎng)應(yīng)用場景中,物聯(lián)網(wǎng)應(yīng)用中間件通過其感知元件管理功能對感知層各感知元件進行識別、建立應(yīng)用路由并控制讀寫,接收感知層發(fā)送的數(shù)據(jù)并進行清洗和事件分析,向上層應(yīng)用傳遞清洗和篩選后的數(shù)據(jù)或事件信息。可利用網(wǎng)關(guān)組件建立與感知元件間透明的、標(biāo)準(zhǔn)的對話模式。

1 物聯(lián)網(wǎng)中間件應(yīng)用模型設(shè)計

  物聯(lián)網(wǎng)應(yīng)用中間件從下往上分為三層,分別為數(shù)據(jù)采集層、數(shù)據(jù)處理層以及上層應(yīng)用接口層,其示意圖[3]如圖1所示。

001.jpg

 ?。?)數(shù)據(jù)采集層:為底層不同的數(shù)據(jù)采集設(shè)備提供適配、管理以及異構(gòu)數(shù)據(jù)解析的功能。

  (2)數(shù)據(jù)處理層:對數(shù)據(jù)采集層傳回的物聯(lián)網(wǎng)元數(shù)據(jù)進行處理并根據(jù)事先配置的業(yè)務(wù)規(guī)則,生成上層應(yīng)用能直接使用業(yè)務(wù)事件數(shù)據(jù),交由上層應(yīng)用使用。其中數(shù)據(jù)隊列管理組件對采集的數(shù)據(jù)提供緩存服務(wù);數(shù)據(jù)過濾引擎通過元事件匹配規(guī)則對數(shù)據(jù)采集層傳回的初始數(shù)據(jù)進行去冗余操作,并生成元事件隊列;復(fù)雜事件處理組件通過查詢業(yè)務(wù)規(guī)則,使用基于有限自動機和活動實例棧的方法來檢測和處理復(fù)雜事件;業(yè)務(wù)規(guī)則配置組件提供靈活的業(yè)務(wù)配置管理機制,實現(xiàn)物聯(lián)網(wǎng)應(yīng)用中間件的可配置、可擴展性。

 ?。?)上層應(yīng)用接口層:為上層應(yīng)用系統(tǒng)提供統(tǒng)一接口支持,如消息管理、事件管理、業(yè)務(wù)規(guī)則配置、應(yīng)用管理等,屏蔽物聯(lián)網(wǎng)應(yīng)用中間件內(nèi)部更改對外圍應(yīng)用的服務(wù)產(chǎn)生的耦合依賴。

  物聯(lián)網(wǎng)中間件的技術(shù)實現(xiàn)通過網(wǎng)關(guān)層組件將各種感知設(shè)備的數(shù)據(jù)采集并進行處理整合到網(wǎng)關(guān),并經(jīng)過網(wǎng)關(guān)進行數(shù)據(jù)封裝并傳遞給上層應(yīng)用[4],詳見圖2。

002.jpg

2 網(wǎng)關(guān)層組件設(shè)計

  網(wǎng)關(guān)層組件是物聯(lián)網(wǎng)應(yīng)用中間件的關(guān)鍵組件,它既要將服務(wù)器端發(fā)來的數(shù)據(jù)發(fā)送至感知層交互,又要將感知層采集的數(shù)據(jù)傳輸至服務(wù)器端。網(wǎng)關(guān)層的運轉(zhuǎn)機制數(shù)據(jù)傳輸至關(guān)重要。整個網(wǎng)關(guān)應(yīng)用的設(shè)計都是以事件驅(qū)動進行設(shè)計的,事件驅(qū)動是整個數(shù)據(jù)采集和流轉(zhuǎn)關(guān)鍵所在,同時,設(shè)備管理設(shè)計是實現(xiàn)終端設(shè)備統(tǒng)一化管理的關(guān)鍵,設(shè)備驅(qū)動程序提供設(shè)備的統(tǒng)一化接口和設(shè)備IP化的標(biāo)準(zhǔn)。網(wǎng)關(guān)層組件設(shè)計重點是運轉(zhuǎn)引擎和設(shè)備管理驅(qū)動程序設(shè)計,如圖3所示。

003.jpg

  2.1 設(shè)備管理

  設(shè)備管理是對計算機的I/O系統(tǒng)的管理,其主要功能為[5]:

 ?。?)選擇和分配I/O設(shè)備進行數(shù)據(jù)傳輸操作;

  (2)控制I/O設(shè)備與CPU(或內(nèi)存)之間交換數(shù)據(jù);

 ?。?)為用戶提供一個友好的接口,把用戶和設(shè)備硬件特性分開,使得用戶在編制應(yīng)用程序時不必涉及具體設(shè)備,由系統(tǒng)按用戶的要求來對設(shè)備的工作進行控制。

 ?。?)提高設(shè)備與設(shè)備之間、CPU與設(shè)備之間以及進程與進程之間的并行操作程度,使操作系統(tǒng)獲得最佳效率。

  設(shè)備控制器是CPU與I/O設(shè)備之間的接口,它接收從CPU發(fā)來的命令并控制I/O設(shè)備工作。設(shè)備控制器是一個可編址設(shè)備,當(dāng)它僅控制一個設(shè)備時,它只有一個惟一的設(shè)備地址;當(dāng)它控制多個設(shè)備時,則應(yīng)具有多個設(shè)備地址,使每一個地址對應(yīng)一個設(shè)備。設(shè)備控制器由三部分組成,如圖4所示。

004.jpg

  網(wǎng)關(guān)設(shè)備管理主要是管理物聯(lián)網(wǎng)網(wǎng)關(guān)內(nèi)的所有設(shè)備,包括:網(wǎng)關(guān)設(shè)備、近程接入網(wǎng)絡(luò)設(shè)備及感知設(shè)備。設(shè)備管理分為設(shè)備地址管理、設(shè)備屬性管理和設(shè)備注冊與注銷管理。

  2.2 接口管理

  接口管理是通過設(shè)置I/O通道實現(xiàn),設(shè)置I/O通道的目的是使一些原來由CPU處理的I/O任務(wù)轉(zhuǎn)由通道來承擔(dān),從而把CPU從繁雜的I/O任務(wù)中解脫出來。

  在設(shè)置了通道后,CPU只需向通道發(fā)送一條I/O指令。通道在收到該指令后,便從內(nèi)存中取出本次要執(zhí)行的通道程序,然后執(zhí)行該通道程序。僅當(dāng)通道完成了規(guī)定的I/O任務(wù)后,才向CPU發(fā)中斷信號。

  I/O控制方式分為程序I/O方式、中斷驅(qū)動I/O控制方式和DMA控制方式。

  網(wǎng)關(guān)層組件接口管理采用多通路I/O系統(tǒng)及中斷驅(qū)動I/O控制的方式,從而使進程要啟動某個I/O設(shè)備工作時能實現(xiàn)CPU與I/O設(shè)備并行操作。

  2.3 邏輯處理引擎

  邏輯處理引擎的主要功能是當(dāng)一個設(shè)備事件觸發(fā)后根據(jù)數(shù)據(jù)等因素觸發(fā)其他設(shè)備的事件,邏輯引擎根據(jù)預(yù)先配置好的配置文件里的邏輯流程處理設(shè)備的相關(guān)邏輯。

  邏輯流程可以根據(jù)業(yè)務(wù)配置,并把邏輯流程以JSON格式存入配置文件中。格式為:邏輯ID={邏輯判斷條件,觸發(fā)設(shè)備地址}。

  物聯(lián)網(wǎng)網(wǎng)關(guān)的邏輯處理主要針對該網(wǎng)關(guān)內(nèi)的設(shè)備相關(guān)邏輯處理,網(wǎng)關(guān)間和復(fù)雜的邏輯處理都交由服務(wù)端應(yīng)用層進行處理。物聯(lián)網(wǎng)網(wǎng)關(guān)邏輯處理流程[6]如圖5所示。

005.jpg

  2.4 運轉(zhuǎn)引擎

  運轉(zhuǎn)引擎是物聯(lián)網(wǎng)網(wǎng)關(guān)層組件運轉(zhuǎn)的核心組件,整個應(yīng)用中間件是以事件驅(qū)動為動力、運轉(zhuǎn)引擎任務(wù)處理為核心的運轉(zhuǎn)體系。運轉(zhuǎn)引擎具有多線程并發(fā)處理、多任務(wù)調(diào)度處理、優(yōu)先級處理、自動伸縮線程池和接口對接的特點。

  運轉(zhuǎn)引擎需要調(diào)度處理各個模塊產(chǎn)生的任務(wù),具體包括事件處理任務(wù)、數(shù)據(jù)處理任務(wù)、邏輯處理任務(wù)、數(shù)據(jù)傳輸任務(wù)、指令處理任務(wù)、配置管理任務(wù)等。

3 結(jié)語

  物聯(lián)網(wǎng)中間件網(wǎng)關(guān)設(shè)計是物聯(lián)網(wǎng)系統(tǒng)工作運轉(zhuǎn)的核心,物聯(lián)網(wǎng)中間件網(wǎng)關(guān)層組件的設(shè)計是通過分析最下層感知設(shè)備(主要包括標(biāo)簽類設(shè)備、計量類傳感器及開關(guān)狀態(tài)量傳感器等)的特點,充分發(fā)揮網(wǎng)關(guān)層組件的作用,通過設(shè)備管理的驅(qū)動程序、運轉(zhuǎn)引擎、邏輯引擎、連接池、事件處理引擎等技術(shù)將底層設(shè)備統(tǒng)一化管理,使得當(dāng)感知設(shè)備信息的數(shù)據(jù)庫軟件或后端發(fā)生變化情況發(fā)生時,應(yīng)用端無需修改或只需做簡單修改就能處理,節(jié)省多對多連接的維護復(fù)雜性問題。同時形成傳感信息統(tǒng)一接入規(guī)范,解決物聯(lián)網(wǎng)領(lǐng)域產(chǎn)品眾多、標(biāo)準(zhǔn)不統(tǒng)一的問題。

  參考文獻

  [1] 劉化君,劉傳清.物聯(lián)網(wǎng)技術(shù)[M].北京:電子工業(yè)出版社,2010.

  [2] 楊慧,丁志剛,鄭樹泉,等.一種面向服務(wù)的物聯(lián)網(wǎng)中間件的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2013,30(5):65-67.

  [3] 孫其博,劉杰,黎羴,等.物聯(lián)網(wǎng):概念、架構(gòu)與關(guān)鍵技術(shù)研究綜述[J].北京郵電大學(xué)學(xué)報,2010,33(3):1-9.

  [4] VILLANUEVA F J,VILLA D,MOYA F,et al.Internet of Things architecture for a RFID-based product tracking business model[C].2012 Sixth International Conference on Innovative Mobile and Internet Services in Ubiquitous Com-puting,Palermo,2012:811-816.

  [5] 李杰.物聯(lián)網(wǎng)中無線傳感器節(jié)點和RFID數(shù)據(jù)融合的方法[J].電子設(shè)計工程,2011,19(7):103-106.

  [6] 張慧麗.JavaEE平臺上松耦合Web應(yīng)用模型設(shè)計與實現(xiàn)[J].科技信息,2007(16):334-335.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。