文獻標識碼: A
文章編號: 0258-7998(2015)03-0035-03
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)是應用信息通信技術的最新產物,,是繼計算機,、互聯(lián)網(wǎng)和移動通信之后引發(fā)新一輪信息產業(yè)浪潮的核心領域,已成為國際新一輪信息技術競爭的關鍵點和制高點。
物聯(lián)網(wǎng)應用領域可全面覆蓋市政管理,、公共安全,、智能交通、能源公用,、智能家居,、金融和商業(yè)、醫(yī)療衛(wèi)生,、工業(yè)和制造,、農業(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ù)格式轉換,具有統(tǒng)一的傳感信息接入標準,,具有對傳感信息進行身份認證和安全傳輸?shù)哪芰?。物?lián)網(wǎng)應用中間件就是在企業(yè)應用系統(tǒng)和物聯(lián)網(wǎng)應用感知層感知元件間數(shù)據(jù)流入和數(shù)據(jù)流出和對其進行管理的軟件,是連接和管理感知層和上層應用系統(tǒng)的紐帶,,使用戶能夠將感知層采集的數(shù)據(jù)應用到業(yè)務過程中[2],。物聯(lián)網(wǎng)應用中間件是物聯(lián)網(wǎng)應用支撐平臺關鍵,其扮演感知元件和應用程序之間的中介角色,。在存儲感知元件信息的數(shù)據(jù)庫軟件或后端發(fā)生變化,,如應用程序增加、改由其他軟件取代或者讀寫感知元件種類增加等情況發(fā)生時,,應用端無需修改或只需做簡單修改就能處理,,節(jié)省多對多連接的維護復雜性問題。物聯(lián)網(wǎng)應用中間件組件設計主要分為感知層終端設備組件設計,、中間件網(wǎng)關層組件設計及服務端組件設計,。其中,感知層終端設備的設備驅動程序是實現(xiàn)標準化設計的關鍵,,中間件網(wǎng)關層組件設計是系統(tǒng)工作運轉的核心,。
本文提出了一種面向服務的物聯(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所示,。
(1)數(shù)據(jù)采集層:為底層不同的數(shù)據(jù)采集設備提供適配,、管理以及異構數(shù)據(jù)解析的功能,。
(2)數(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)應用中間件的可配置,、可擴展性。
?。?)上層應用接口層:為上層應用系統(tǒng)提供統(tǒng)一接口支持,,如消息管理、事件管理,、業(yè)務規(guī)則配置,、應用管理等,屏蔽物聯(lián)網(wǎng)應用中間件內部更改對外圍應用的服務產生的耦合依賴,。
物聯(lián)網(wǎng)中間件的技術實現(xiàn)通過網(wǎng)關層組件將各種感知設備的數(shù)據(jù)采集并進行處理整合到網(wǎng)關,,并經(jīng)過網(wǎng)關進行數(shù)據(jù)封裝并傳遞給上層應用[4],詳見圖2,。
2 網(wǎng)關層組件設計
網(wǎng)關層組件是物聯(lián)網(wǎng)應用中間件的關鍵組件,,它既要將服務器端發(fā)來的數(shù)據(jù)發(fā)送至感知層交互,又要將感知層采集的數(shù)據(jù)傳輸至服務器端,。網(wǎng)關層的運轉機制數(shù)據(jù)傳輸至關重要,。整個網(wǎng)關應用的設計都是以事件驅動進行設計的,事件驅動是整個數(shù)據(jù)采集和流轉關鍵所在,,同時,,設備管理設計是實現(xiàn)終端設備統(tǒng)一化管理的關鍵,,設備驅動程序提供設備的統(tǒng)一化接口和設備IP化的標準。網(wǎng)關層組件設計重點是運轉引擎和設備管理驅動程序設計,,如圖3所示,。
2.1 設備管理
設備管理是對計算機的I/O系統(tǒng)的管理,其主要功能為[5]:
?。?)選擇和分配I/O設備進行數(shù)據(jù)傳輸操作,;
(2)控制I/O設備與CPU(或內存)之間交換數(shù)據(jù),;
?。?)為用戶提供一個友好的接口,把用戶和設備硬件特性分開,,使得用戶在編制應用程序時不必涉及具體設備,,由系統(tǒng)按用戶的要求來對設備的工作進行控制。
?。?)提高設備與設備之間,、CPU與設備之間以及進程與進程之間的并行操作程度,使操作系統(tǒng)獲得最佳效率,。
設備控制器是CPU與I/O設備之間的接口,,它接收從CPU發(fā)來的命令并控制I/O設備工作。設備控制器是一個可編址設備,,當它僅控制一個設備時,,它只有一個惟一的設備地址;當它控制多個設備時,,則應具有多個設備地址,,使每一個地址對應一個設備。設備控制器由三部分組成,,如圖4所示,。
網(wǎng)關設備管理主要是管理物聯(lián)網(wǎng)網(wǎng)關內的所有設備,包括:網(wǎng)關設備、近程接入網(wǎng)絡設備及感知設備,。設備管理分為設備地址管理,、設備屬性管理和設備注冊與注銷管理。
2.2 接口管理
接口管理是通過設置I/O通道實現(xiàn),,設置I/O通道的目的是使一些原來由CPU處理的I/O任務轉由通道來承擔,,從而把CPU從繁雜的I/O任務中解脫出來。
在設置了通道后,,CPU只需向通道發(fā)送一條I/O指令,。通道在收到該指令后,便從內存中取出本次要執(zhí)行的通道程序,,然后執(zhí)行該通道程序,。僅當通道完成了規(guī)定的I/O任務后,,才向CPU發(fā)中斷信號。
I/O控制方式分為程序I/O方式,、中斷驅動I/O控制方式和DMA控制方式,。
網(wǎng)關層組件接口管理采用多通路I/O系統(tǒng)及中斷驅動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)關內的設備相關邏輯處理,,網(wǎng)關間和復雜的邏輯處理都交由服務端應用層進行處理。物聯(lián)網(wǎng)網(wǎng)關邏輯處理流程[6]如圖5所示,。
2.4 運轉引擎
運轉引擎是物聯(lián)網(wǎng)網(wǎng)關層組件運轉的核心組件,,整個應用中間件是以事件驅動為動力、運轉引擎任務處理為核心的運轉體系,。運轉引擎具有多線程并發(fā)處理,、多任務調度處理、優(yōu)先級處理,、自動伸縮線程池和接口對接的特點,。
運轉引擎需要調度處理各個模塊產生的任務,具體包括事件處理任務,、數(shù)據(jù)處理任務,、邏輯處理任務,、數(shù)據(jù)傳輸任務,、指令處理任務、配置管理任務等,。
3 結語
物聯(lián)網(wǎng)中間件網(wǎng)關設計是物聯(lián)網(wǎng)系統(tǒng)工作運轉的核心,,物聯(lián)網(wǎng)中間件網(wǎng)關層組件的設計是通過分析最下層感知設備(主要包括標簽類設備、計量類傳感器及開關狀態(tài)量傳感器等)的特點,,充分發(fā)揮網(wǎng)關層組件的作用,,通過設備管理的驅動程序、運轉引擎,、邏輯引擎,、連接池、事件處理引擎等技術將底層設備統(tǒng)一化管理,,使得當感知設備信息的數(shù)據(jù)庫軟件或后端發(fā)生變化情況發(fā)生時,,應用端無需修改或只需做簡單修改就能處理,,節(jié)省多對多連接的維護復雜性問題。同時形成傳感信息統(tǒng)一接入規(guī)范,,解決物聯(lián)網(wǎng)領域產品眾多,、標準不統(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):概念,、架構與關鍵技術研究綜述[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.