基于REST的智能环境服务系统研究

2019-05-07 02:03汪峰坤张婷婷
通化师范学院学报 2019年4期
关键词:服务平台服务器智能化

王 斌,汪峰坤,张婷婷

随着物联网技术、通信技术、云计算的快速发展[1-2],智能化设备的不断涌现,人们的生活环境愈发智能化,智能环境(Ambient Intelligence)[3]的概念应运而生.人们在智能环境中的工作和生活过程就是使用智能设备的过程,也是人与智能设备不间断的交互过程.在这个过程中,智能设备不再只是一个被动地执行人的显式的操作命令的信息处理工具,而是在一定的情景感知下协助人完成任务的帮手,交互的双方具有和谐一致的协作关系.智能环境实际上是通过情景感知、服务推理、服务组合执行等动作为人们提供智能化服务的系统.

然而,由于智能环境服务系统的供应商众多(如百度、阿里、腾讯、谷歌、小米等),各家平台在硬件接口、通信协议、数据格式等方面不尽相同,智能环境实际上还是存在“信息交互孤岛”的问题.同时,目前的智能环境服务主要集中在环境信息采集和设备控制上,并没有考虑使用者之间的差异,体现以人为本的智能化特点.研究表明,为了更好地满足人们对智能环境的智能化需求,智能环境服务系统应该满足以下三个方面:

(1)智能环境服务系统是一个开放的服务平台,要能够兼容主流厂商的软硬件系统.

(2)智能环境服务系统应该更主动地为用户提供智能化的服务[4-5],具备特征行为提取和行为库建立的能力,并能预测人们的行为,而不是孤立地执行用户发出一个个独立的指令.

(3)智能环境服务系统应该利用已有的Web服务,不断优化服务组合方案,提升系统服务与用户需求的契合度.

为了解决异构设备交互孤岛和缺乏智能化的问题,本文提出了一种基于REST风格的智能环境服务系统框架.该框架通过REST中间件技术将设备及数据抽象成资源,并通过标准的REST API服务实现对资源的操作,引入云服务系统,通过约简用户历史操作数据形成特征方法库,结合群体智能算法和模式匹配算法为用户提供个性化的智能服务.最后以智能家居为背景进行了案例设计分析.

1 REST架构

REST即表述性状态传递(R Epresentational State Transfer),是分布式系统设计的一种软件架构风格.REST架构将整个Web抽象成各类资源的集合,通过URI(Uniform Resource Identifier)标识资源,采用基于HTTP协议的标准方法实现对资源的增删改查操作.与传统的SOAP相比,REST具有系统开销小、复杂度低、接口统一的优点[6].REST架构主要有如下特性.

(1)无状态通信.Client对Server的请求是无状态的,Server不保存任何请求状态信息;Client的每一个请求都具有User credentials等所需要的全部信息,所以能被任意可用的Server应答.由于智能环境中的海量数据通信,无状态通信有效地降低了Server内存占用率,提升了Server系统的伸缩性.

(2)统一接口.采用标准的HTTP方法实现对资源的创建、检索、更新和删除.创建资源-POST、检索资源-GET、更新或添加资源-PUT、删除资源-DELETE.REST系统中对资源的所有操作都采用上述统一接口,统一接口的使用提升了组件之间的交互能力,是REST架构的核心.

(3)URI标识资源.URI是系统中每一个资源的唯一地址或ID,对资源的访问及资源间的通信都通过URI完成,Client集成简单.URI有效地解决了智能环境中设备多样性所带来的接入系统难题,降低了服务的耦合性.

(4)资源多重表述.URI所访问的每个资源都可以使用不同的数据类型表示(常用的数据类型有JSON、XML、HTML等),具体的表现形式取决于访问资源的客户端.资源多重表述使得资源可以被更多的应用所调用.

(5)超媒体原则.Server为Client提供一组链接,使得Client能通过链接将应用从一个状态改变成另外一个状态.

2 基于REST的智能环境服务系统框架

根据REST架构的特点,本文提出了一种基于REST的智能环境服务系统框架.主要设计思想是:首先通过REST中间件技术将智能环境设备、对设备的操作、数据发布成面向资源的标准的REST API服务,客户端通过HTTP访问系统中的资源,从而解决智能环境中异构设备的交互孤岛问题;其次,个性的智能化系统需要服务计算和数据库作为支撑,将用户对设备的操作整合成状态矩阵存储到状态历史数据库中,然后利用数据挖掘理论中的属性约简及规则生成算法挖掘属于用户自己的个性化服务方法,并形成特征方法库.随着状态历史数据库的不断增大,在本地资源受限的环境下,方法提取效率、智能环境服务组合的寻优速度和精度都会大幅下降.因此,将方法提取、服务组合优化等对资源消耗较大的操作交由云服务系统完成,云服务系统与本地服务提供层之间的数据传输仍然采用基于REST的风格的Web服务.云服务系统的引入可有效地提高本地系统的运行效率和服务组合与用户需求的契合度.

基于REST的智能环境服务系统框架采用分层体系架构设计,主要由异构设备层、REST中间件层、服务提供层、智能环境应用层四部分组成,其系统框架如图1所示.每一层具体分析如下.

图1 智能环境服务系统框架图

(1)异构设备层.智能环境中的感知设备和控制设备众多,由于这些设备的生产厂商不同,导致设备之间在物理接口、通信介质、通信协议、编程语言等方面都不尽相同.要构建一个开放的智能环境服务平台,首先必须要将不同的设备整合到本地服务网络中.本框架将设备分为两部分:网络设备和非网络设备.网络设备可通过智能网关(Zigbee、蓝牙、WiFi等通信协议间的相互转换设备)实现与本地网络对接;非网络设备可连接带有USB和串口的专用WiFi模块实现与本地网络的对接.

(2)REST中间件层.虽然异构设备层使得异构设备能顺利地接入本地服务网络中,但是异构设备间的数据包封装千差万别,缺乏统一的接口,这些问题会导致系统开发难度大、伸缩性差、服务的耦合性高、不能获得外部的Web服务.REST中间件层将智能环境中的设备及数据统一封装为具有REST风格的API,有效地解决了异构设备的接入问题.在本层中,由REST网关将智能环境中的温湿度、光照等环境信息和执行器都抽象成URI资源,然后通过HTTP协议中的GET获取、POST创建、PUT更新、DELETE删除四个指令完成对资源的操作.表1给出了智能环境中操作电灯的REST API.

表1 lamp的REST API

(3)服务提供层.本层的设计目的是使智能环境服务系统能够为用户提供基于情景感知的个性化服务,是智能化服务的核心层.服务提供层首先监测并存储系统的实时状态,形成历史状态数据集;然后基于模糊粗糙集理论、数据挖掘理论、群体智能算法等对历史状态数据集进行属性约简和规则提取,形成带有用户个性化特征的方法库;在拟定的触发条件下,系统通过前项规则匹配算法调用特征方法库中的规则来预测用户的行为,最终实现满足用户特征的个性化智能服务.考虑到本地系统在存储容量、运算能力等资源方面受限,可在云服务平台上搭建服务提供层,同时云服务平台可抓取Web上已有的个性化服务策略,优化本地方法库,进一步提升智能化服务的质量.

(4)智能环境应用层.智能环境应用层是框架的最高层,是人与系统间的可视化交互接口,实现智能环境资源的Web集成应用,主要包括用户管理、环境数据监测、设备状态管理、多媒体服务等.终端可以是智能手机、平板、笔记本等可以接入网络的任何设备,应用开发遵守REST API,具体功能可根据应用场景进行单独设计.

3 智能环境服务系统案例设计分析

在上述系统框架的基础上,以家居环境为背景设计基于REST架构的智能环境服务系统,为用户提供一种集情景感知、服务推理、服务组合、智能控制于一体的个性化服务系统.系统包括环境数据采集模块、智能网关模块、红外万能遥控器模块、本地服务器模块、人机交互界面模块、云服务平台等功能模块,具体介绍如下.

(1)环境数据采集模块.环境数据采集模块主要包括各类传感器和网络摄像头.各类传感器主要采集环境中的光照、温湿度等数据,采集的数据通过RS485传输至Zigbee节点.网络摄像头主要采集环境中的图像和声音,通过WiFi传输至本地服务器.

(2)智能网关模块.智能网络模块集成了Zigbee、Bluetooth、RF433M、WiFi通信协议.一方面,其接收各通信节点上传的环境数据后通过WiFi上传至本地服务器.另一方面,通过WiFi接收服务器下达的控制指令,以合适的通信协议转发给指定的执行器.

(3)红外万能遥控器模块.考虑到众多家电设备的控制都是通过红外实现的,在系统中加入带WiFi功能的红外万能遥控器.红外万能遥控器可学习并存储相关设备的红外控制指令,通过WiFi接收服务器的指令,然后转换成相应的红外指令传输至家电设备.

(4)本地服务器模块.本地服务器是整个系统的智能处理中心,当其无法接入因特网时可独立管理智能环境家居系统.当接入因特网时,可以与云服务平台相连,实时上传本地数据,请求云服务平台提供数据融合、关联规则提取、服务组合优化等复杂的服务.服务器上部署了数据库管理系统、状态驱动系统、受限中间件、REST服务系统等.服务器使用JAVA语言进行程序设计,采用Spring HATEOAS开发REST服务,由Maven完成工程的构建和管理.

(5)人机交互界面模块.人机交互界面模块是基于Andriod平台进行开发的客户端系统.由于客户端与服务器间的通信需使用HTTP协议,因此采用Apache推出的Spring for Android框架进行客户端开发.

(6)云服务平台.云服务平台为本地服务器提供满足用户需求的个性化决策服务.借助阿里的ECS搭建云服务平台,选用Hadoop框架,结合群智能优化算法和MapReduce编程模型,为智能环境中的关联规则提取、服务组合优化提供高性能的计算能力.

4 结束语

智能环境服务系统为智能环境的应用提供了有效支撑.本文提出的基于REST的智能环境服务系统框架,将REST风格的中间件技术引入到服务系统中,解决异构设备间的交互问题;同时,针对本地服务系统在关联规则提取和服务组合优化方面开销较大的问题,通过引入云服务系统,构建出了一个低复杂度、松耦合、能够为用户提供个性化智能服务的情景感知系统.下一步工作将结合改进的群智能算法,完善云服务系统的辅助决策机制和服务精准度,进一步提高智能环境服务系统的智能化水平.

猜你喜欢
服务平台服务器智能化
智能化战争多维透视
打造一体化汽车服务平台
探讨智能化技术在电气工程自动化中的应用
大型公共建筑智能化系统造价控制
江苏省一体化在线交通运输政务服务平台构建
服务器组功能的使用
论基于云的电子政务服务平台构建
高速公路伴随式信息服务平台
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool