《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種面向服務的物聯(lián)網(wǎng)網(wǎng)關設計
一種面向服務的物聯(lián)網(wǎng)網(wǎng)關設計
2015年電子技術應用第3期
楊建棟1,2,司 農(nóng)1,陳道新2,王 普1,楊 昊2
1.北京工業(yè)大學 電子信息與控制工程學院,北京100124; 2.首都信息發(fā)展股份有限公司,北京100080
摘要: 提出了一種普遍適用面向服務的物聯(lián)網(wǎng)網(wǎng)關的設計實現(xiàn)方式,通過對感知設備進行識別、建立應用路由并進行控制管理,接收感知層發(fā)送的數(shù)據(jù)并進行清洗和事件分析,向上層應用傳遞清洗和篩選后的數(shù)據(jù)或事件信息,利用組件建立與感知設備間透明的、標準的對話模式。從設備管理、運轉(zhuǎn)引擎、邏輯引擎等技術方面詳細描述了將底層設備統(tǒng)一化管理,使得當感知設備的數(shù)據(jù)庫軟件或后端發(fā)生變化情況發(fā)生時,應用端無需修改或做簡單修改就能處理,節(jié)省多對多連接的維護復雜性問題,從而解決現(xiàn)在物聯(lián)網(wǎng)領域產(chǎn)品眾多、標準不統(tǒng)一的問題。
中圖分類號: TP393
文獻標識碼: 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)、紅外感應器、全球定位系統(tǒng)、激光掃描器等信息傳感設備,按約定的協(xié)議,把任何物體與互聯(lián)網(wǎng)相連接,進行信息交換和通信,以實現(xiàn)對物體的智能化識別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡[1]。物聯(lián)網(wǎng)是應用信息通信技術的最新產(chǎn)物,是繼計算機、互聯(lián)網(wǎng)和移動通信之后引發(fā)新一輪信息產(chǎn)業(yè)浪潮的核心領域,已成為國際新一輪信息技術競爭的關鍵點和制高點。

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

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

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

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

001.jpg

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

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

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

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

002.jpg

2 網(wǎng)關層組件設計

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

003.jpg

  2.1 設備管理

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

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

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

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

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

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

004.jpg

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

  2.2 接口管理

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

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

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

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

  2.3 邏輯處理引擎

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

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

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

005.jpg

  2.4 運轉(zhuǎn)引擎

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

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

3 結(jié)語

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

  參考文獻

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

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

  [3] 孫其博,劉杰,黎羴,等.物聯(lián)網(wǎng):概念、架構(gòu)與關鍵技術研究綜述[J].北京郵電大學學報,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].電子設計工程,2011,19(7):103-106.

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


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