王 斌,汪峰坤,張婷婷
隨著物聯網技術、通信技術、云計算的快速發(fā)展[1-2],智能化設備的不斷涌現,人們的生活環(huán)境愈發(fā)智能化,智能環(huán)境(Ambient Intelligence)[3]的概念應運而生.人們在智能環(huán)境中的工作和生活過程就是使用智能設備的過程,也是人與智能設備不間斷的交互過程.在這個過程中,智能設備不再只是一個被動地執(zhí)行人的顯式的操作命令的信息處理工具,而是在一定的情景感知下協助人完成任務的幫手,交互的雙方具有和諧一致的協作關系.智能環(huán)境實際上是通過情景感知、服務推理、服務組合執(zhí)行等動作為人們提供智能化服務的系統.
然而,由于智能環(huán)境服務系統的供應商眾多(如百度、阿里、騰訊、谷歌、小米等),各家平臺在硬件接口、通信協議、數據格式等方面不盡相同,智能環(huán)境實際上還是存在“信息交互孤島”的問題.同時,目前的智能環(huán)境服務主要集中在環(huán)境信息采集和設備控制上,并沒有考慮使用者之間的差異,體現以人為本的智能化特點.研究表明,為了更好地滿足人們對智能環(huán)境的智能化需求,智能環(huán)境服務系統應該滿足以下三個方面:
(1)智能環(huán)境服務系統是一個開放的服務平臺,要能夠兼容主流廠商的軟硬件系統.
(2)智能環(huán)境服務系統應該更主動地為用戶提供智能化的服務[4-5],具備特征行為提取和行為庫建立的能力,并能預測人們的行為,而不是孤立地執(zhí)行用戶發(fā)出一個個獨立的指令.
(3)智能環(huán)境服務系統應該利用已有的Web服務,不斷優(yōu)化服務組合方案,提升系統服務與用戶需求的契合度.
為了解決異構設備交互孤島和缺乏智能化的問題,本文提出了一種基于REST風格的智能環(huán)境服務系統框架.該框架通過REST中間件技術將設備及數據抽象成資源,并通過標準的REST API服務實現對資源的操作,引入云服務系統,通過約簡用戶歷史操作數據形成特征方法庫,結合群體智能算法和模式匹配算法為用戶提供個性化的智能服務.最后以智能家居為背景進行了案例設計分析.
REST即表述性狀態(tài)傳遞(R Epresentational State Transfer),是分布式系統設計的一種軟件架構風格.REST架構將整個Web抽象成各類資源的集合,通過URI(Uniform Resource Identifier)標識資源,采用基于HTTP協議的標準方法實現對資源的增刪改查操作.與傳統的SOAP相比,REST具有系統開銷小、復雜度低、接口統一的優(yōu)點[6].REST架構主要有如下特性.
(1)無狀態(tài)通信.Client對Server的請求是無狀態(tài)的,Server不保存任何請求狀態(tài)信息;Client的每一個請求都具有User credentials等所需要的全部信息,所以能被任意可用的Server應答.由于智能環(huán)境中的海量數據通信,無狀態(tài)通信有效地降低了Server內存占用率,提升了Server系統的伸縮性.
(2)統一接口.采用標準的HTTP方法實現對資源的創(chuàng)建、檢索、更新和刪除.創(chuàng)建資源-POST、檢索資源-GET、更新或添加資源-PUT、刪除資源-DELETE.REST系統中對資源的所有操作都采用上述統一接口,統一接口的使用提升了組件之間的交互能力,是REST架構的核心.
(3)URI標識資源.URI是系統中每一個資源的唯一地址或ID,對資源的訪問及資源間的通信都通過URI完成,Client集成簡單.URI有效地解決了智能環(huán)境中設備多樣性所帶來的接入系統難題,降低了服務的耦合性.
(4)資源多重表述.URI所訪問的每個資源都可以使用不同的數據類型表示(常用的數據類型有JSON、XML、HTML等),具體的表現形式取決于訪問資源的客戶端.資源多重表述使得資源可以被更多的應用所調用.
(5)超媒體原則.Server為Client提供一組鏈接,使得Client能通過鏈接將應用從一個狀態(tài)改變成另外一個狀態(tài).
根據REST架構的特點,本文提出了一種基于REST的智能環(huán)境服務系統框架.主要設計思想是:首先通過REST中間件技術將智能環(huán)境設備、對設備的操作、數據發(fā)布成面向資源的標準的REST API服務,客戶端通過HTTP訪問系統中的資源,從而解決智能環(huán)境中異構設備的交互孤島問題;其次,個性的智能化系統需要服務計算和數據庫作為支撐,將用戶對設備的操作整合成狀態(tài)矩陣存儲到狀態(tài)歷史數據庫中,然后利用數據挖掘理論中的屬性約簡及規(guī)則生成算法挖掘屬于用戶自己的個性化服務方法,并形成特征方法庫.隨著狀態(tài)歷史數據庫的不斷增大,在本地資源受限的環(huán)境下,方法提取效率、智能環(huán)境服務組合的尋優(yōu)速度和精度都會大幅下降.因此,將方法提取、服務組合優(yōu)化等對資源消耗較大的操作交由云服務系統完成,云服務系統與本地服務提供層之間的數據傳輸仍然采用基于REST的風格的Web服務.云服務系統的引入可有效地提高本地系統的運行效率和服務組合與用戶需求的契合度.
基于REST的智能環(huán)境服務系統框架采用分層體系架構設計,主要由異構設備層、REST中間件層、服務提供層、智能環(huán)境應用層四部分組成,其系統框架如圖1所示.每一層具體分析如下.
圖1 智能環(huán)境服務系統框架圖
(1)異構設備層.智能環(huán)境中的感知設備和控制設備眾多,由于這些設備的生產廠商不同,導致設備之間在物理接口、通信介質、通信協議、編程語言等方面都不盡相同.要構建一個開放的智能環(huán)境服務平臺,首先必須要將不同的設備整合到本地服務網絡中.本框架將設備分為兩部分:網絡設備和非網絡設備.網絡設備可通過智能網關(Zigbee、藍牙、WiFi等通信協議間的相互轉換設備)實現與本地網絡對接;非網絡設備可連接帶有USB和串口的專用WiFi模塊實現與本地網絡的對接.
(2)REST中間件層.雖然異構設備層使得異構設備能順利地接入本地服務網絡中,但是異構設備間的數據包封裝千差萬別,缺乏統一的接口,這些問題會導致系統開發(fā)難度大、伸縮性差、服務的耦合性高、不能獲得外部的Web服務.REST中間件層將智能環(huán)境中的設備及數據統一封裝為具有REST風格的API,有效地解決了異構設備的接入問題.在本層中,由REST網關將智能環(huán)境中的溫濕度、光照等環(huán)境信息和執(zhí)行器都抽象成URI資源,然后通過HTTP協議中的GET獲取、POST創(chuàng)建、PUT更新、DELETE刪除四個指令完成對資源的操作.表1給出了智能環(huán)境中操作電燈的REST API.
表1 lamp的REST API
(3)服務提供層.本層的設計目的是使智能環(huán)境服務系統能夠為用戶提供基于情景感知的個性化服務,是智能化服務的核心層.服務提供層首先監(jiān)測并存儲系統的實時狀態(tài),形成歷史狀態(tài)數據集;然后基于模糊粗糙集理論、數據挖掘理論、群體智能算法等對歷史狀態(tài)數據集進行屬性約簡和規(guī)則提取,形成帶有用戶個性化特征的方法庫;在擬定的觸發(fā)條件下,系統通過前項規(guī)則匹配算法調用特征方法庫中的規(guī)則來預測用戶的行為,最終實現滿足用戶特征的個性化智能服務.考慮到本地系統在存儲容量、運算能力等資源方面受限,可在云服務平臺上搭建服務提供層,同時云服務平臺可抓取Web上已有的個性化服務策略,優(yōu)化本地方法庫,進一步提升智能化服務的質量.
(4)智能環(huán)境應用層.智能環(huán)境應用層是框架的最高層,是人與系統間的可視化交互接口,實現智能環(huán)境資源的Web集成應用,主要包括用戶管理、環(huán)境數據監(jiān)測、設備狀態(tài)管理、多媒體服務等.終端可以是智能手機、平板、筆記本等可以接入網絡的任何設備,應用開發(fā)遵守REST API,具體功能可根據應用場景進行單獨設計.
在上述系統框架的基礎上,以家居環(huán)境為背景設計基于REST架構的智能環(huán)境服務系統,為用戶提供一種集情景感知、服務推理、服務組合、智能控制于一體的個性化服務系統.系統包括環(huán)境數據采集模塊、智能網關模塊、紅外萬能遙控器模塊、本地服務器模塊、人機交互界面模塊、云服務平臺等功能模塊,具體介紹如下.
(1)環(huán)境數據采集模塊.環(huán)境數據采集模塊主要包括各類傳感器和網絡攝像頭.各類傳感器主要采集環(huán)境中的光照、溫濕度等數據,采集的數據通過RS485傳輸至Zigbee節(jié)點.網絡攝像頭主要采集環(huán)境中的圖像和聲音,通過WiFi傳輸至本地服務器.
(2)智能網關模塊.智能網絡模塊集成了Zigbee、Bluetooth、RF433M、WiFi通信協議.一方面,其接收各通信節(jié)點上傳的環(huán)境數據后通過WiFi上傳至本地服務器.另一方面,通過WiFi接收服務器下達的控制指令,以合適的通信協議轉發(fā)給指定的執(zhí)行器.
(3)紅外萬能遙控器模塊.考慮到眾多家電設備的控制都是通過紅外實現的,在系統中加入帶WiFi功能的紅外萬能遙控器.紅外萬能遙控器可學習并存儲相關設備的紅外控制指令,通過WiFi接收服務器的指令,然后轉換成相應的紅外指令傳輸至家電設備.
(4)本地服務器模塊.本地服務器是整個系統的智能處理中心,當其無法接入因特網時可獨立管理智能環(huán)境家居系統.當接入因特網時,可以與云服務平臺相連,實時上傳本地數據,請求云服務平臺提供數據融合、關聯規(guī)則提取、服務組合優(yōu)化等復雜的服務.服務器上部署了數據庫管理系統、狀態(tài)驅動系統、受限中間件、REST服務系統等.服務器使用JAVA語言進行程序設計,采用Spring HATEOAS開發(fā)REST服務,由Maven完成工程的構建和管理.
(5)人機交互界面模塊.人機交互界面模塊是基于Andriod平臺進行開發(fā)的客戶端系統.由于客戶端與服務器間的通信需使用HTTP協議,因此采用Apache推出的Spring for Android框架進行客戶端開發(fā).
(6)云服務平臺.云服務平臺為本地服務器提供滿足用戶需求的個性化決策服務.借助阿里的ECS搭建云服務平臺,選用Hadoop框架,結合群智能優(yōu)化算法和MapReduce編程模型,為智能環(huán)境中的關聯規(guī)則提取、服務組合優(yōu)化提供高性能的計算能力.
智能環(huán)境服務系統為智能環(huán)境的應用提供了有效支撐.本文提出的基于REST的智能環(huán)境服務系統框架,將REST風格的中間件技術引入到服務系統中,解決異構設備間的交互問題;同時,針對本地服務系統在關聯規(guī)則提取和服務組合優(yōu)化方面開銷較大的問題,通過引入云服務系統,構建出了一個低復雜度、松耦合、能夠為用戶提供個性化智能服務的情景感知系統.下一步工作將結合改進的群智能算法,完善云服務系統的輔助決策機制和服務精準度,進一步提高智能環(huán)境服務系統的智能化水平.