基于REST架构风格的物联网服务平台研发_程冬梅

基于REST架构风格的物联网服务平台研发_程冬梅
基于REST架构风格的物联网服务平台研发_程冬梅

Computer Engineering and Applications计算机工程与应用2012,48(14)

1引言

物联网是继计算机、互联网之后的世界信息产业第三次浪潮,而本次浪潮将在前两次科技浪潮技术成果积累的基础上,进一步将信息获取的触角延伸至感知层,实现更广阔的互联互通。在物联网的应用中,物联网服务平台主要对数据进行存储和智能分析处理,为应用提供功能支撑。但是现有的服务平台存在诸多弊端:系统是紧耦合的,系统集成是一件复杂而庞大的过程,而对于每个特定应用的创建都需要复杂的集成工作。

针对物联网系统集成的复杂性问题,本文提出了基于REST架构风格的物联网服务平台系统,将传感节点等嵌入式设备和感知数据看作资源,使异构系统模块采用REST架构方式组建新型应用,描述了

基于REST架构风格的物联网服务平台研发

程冬梅1,王瑞聪2,刘燕2,秦伟俊3

CHENG Dongmei1,WANG Ruicong2,LIU Yan2,QIN Weijun3

1.解放军第三零五医院,北京100017

2.北京大学软件与微电子学院,北京102600

3.中国科学院软件研究所,北京100190

1.PLA305Hospital,Beijing100017,China

2.School of Software and Microelectronics,Peking University,Beijing102600,China

3.Institute of Software,the Chinese Academy of Sciences,Beijing10090,China

CHENG Dongmei,WANG Ruicong,LIU Yan,et al.Research and development of Internet of things service platform based on REST-style https://www.360docs.net/doc/6511010167.html,puter Engineering and Applications,2012,48(14):74-78.

Abstract:Under the support of Wireless Sensor Network(WSN),broadband mobile communication,and embed-ded technology,Internet of Things(IoT)has been widely used in warehouses,smart homes and so on.However,the current system is not efficacious:the devices are private,and the systems are close coupling,so every particular ap-plication requires complex integration work,and therefore it needs more technical expertise,effort and time.It pro-poses an IoT service platform based on REST-style architecture in which the wireless sensors and sensing data are regarded as unified resources and facilitate heterogeneous system modules to mashup new applications under REST-style architecture.It gives the implementation details of the prototyping system and performance evaluation. Key words:Internet of things;wireless sensor networks;REST;service platform

摘要:随着传感网、无线通信、嵌入式系统等技术的发展,推动了物联网技术在诸如仓储物流、智能家庭等领域的应用。但是,现有系统一般都是独立开发,系统间相对较为孤立,存在着系统耦合性强,设备异构等弊端,使得新应用的创建需要复杂的集成工作。提出了一个基于REST架构风格的物联网服务平台,将传感节点等嵌入式设备和感知数据看作资源,使异构系统模块采用REST架构方式组建新型应用,同时设计了物联网服务平台的系统原型,,并给出具体的实现技术和系统验证。

关键词:物联网;无线传感网;REST;服务平台

文章编号:1002-8331(2012)14-0074-05文献标识码:A中图分类号:TP393

基金项目:国家自然科学基金(No.61073014);国家重大科技专项基金项目(No.2011ZX03005-006,No.2011ZX03005-002-02).

作者简介:程东梅(1964—),女,高级工程师,主要研究方向为计算机网络、信息管理系统性别;王瑞聪,女,硕士研究生;刘燕,女,博士,副教授;秦伟俊(1981—),男,博士,助理研究员。

收稿日期:2011-07-12修回日期:2011-10-25CNKI出版日期:2011-11-14

DOI:10.3778/j.issn.1002-8331.2012.14.016https://www.360docs.net/doc/6511010167.html,/kcms/detail/11.2127.TP.20111114.0950.072.html

74

2012,48(14)

物联网服务平台的架构和实现关键技术。

2相关工作

2.1物联网相关标准

国际标准化组织在物联网的相关标准已经有一定工作。ETSI M2M TC主要从端到端的角度,研究机器对机器通信机制,并与ETSI内NGN的研究及3GPP已有的研究进行协同工作。ETSI M2M TC首先推进的是M2M相关定义及M2M行业应用实例,以此为基础,同步进行业务需求和体系架构标准工作。同时,ETSI M2M TC提出M2M服务平台的概念,并通过M2M服务平台的功能接口,为行业应用提供服务支持,但目前尚未开始涉及具体技术。3GPP从2005年启动了M2M的研究小组,其标准关注于服务、架构、安全等方面。IEEE802.15标准化工作主要针对网络的物理层和MAC层。

2.2REST技术

Representational State Transfer(表述性状态转移,简称REST)是由Roy Fielding博士在其博士论文[1]中首次提出,它作为分布式系统设计的一种架构风格,在REST的概念中,整个Web被看作一组资源的集合,资源由URI标识,对资源进行的操作由客户端指定的URI和HTTP协议动词的组合来实施,同时将资源和资源的表示分开,为构建可扩展、简单性、可移植和松耦合的Web程序提供了一个架构上的准则,REST这种基于资源的设计改变了传统的基于服务的设计思想。

目前物联网应用已有部分研究者采用REST架构来构建应用平台。SenseWeb[2]将传感器等设备资源整合到Web中,基于SenseWeb搭建的服务都可以通过Web访问物理设备,从而掩藏传感网等无线接入方式的异构性。然而,这类基础服务[2-5]采用的是基于Big Web Services or WS-*[6]协议栈。Big Web Services 最初是为了整合中间件和分布式系统的异构的API 而设计,它会随着分布式系统和中间件功能和这类的增多,其复杂性会大大增加。2005年,Luckenbach[7]等人提出了Web of Things的概念,主张在物联网中使用轻量级的Web service技术。2007年,Wilde[8]等人首次提出将REST架构风格使用到智能设备中。2009年,Guinard[9]等人提出Web of Things的架构,通过智能网关,将真实的物体转化为能通过HTTP直接访问的REST资源,整合到现有的Web系统中。

不同于已有的工作,本文实现了一个基于REST 架构风格的物联网服务平台原型系统,实现了创建物联网应用的松耦合的方式,并提供了统一接口。3物联网体系结构

典型的物联网体系架构如图1所示,主要分为四层,由下到上依次为物理设备层、接入层、服务平台层、应用层。

物理设备层主要任务是完成对物理信息的获取。物理设备层包括无线传感器网络和数据采集设备。其中,数据采集设备包括无线传感器节点,RFID 标签等,这些数据采集设备通常密布于整个被观测区域中,可以收集物理世界的信息。无线传感器网络是由部署在检测区域内大量的微型传感器节点通过无线电通信形成的一个多跳的自组织网络系统,其目的是协作地感知、采集和处理网络覆盖区域里被监测对象的信息[10]。

接入层是无线传感器网络和物联网服务平台之间的桥梁。它的主要任务是收集、汇聚物理感知设备采集的数据,并且进行协议转换,将数据以2G/3G的通信方式转发到上层。具体来说,接入层是通过物联网网关实现物理感知设备的接入。物联网网关建立了物理感知设备与业务平台的以太网/GPRS通信。

服务平台为物联网应用提供了支撑。具体来说,服务平台通过提供一系列的接口,为应用提供功能,可以简化和优化应用程序的开发和部署。并且,服务平台为应用层提供统一的物理设备管理和服务管理等功能。再者,服务平台层提供标准化的接口,使得数据传输简单直接,屏蔽了底层无线传感器网络多样性对上层应用的影响。

应用层是特定行业针对自身需求,创建物联网应用。应用层是物联网发展的目的,软件开发、智能控制技术将会为行业、政府或家庭个人提供丰富多彩的物联网应用,各种行业和家庭应用的开发也将会大大推动物联网的普及。各层之间,相互配合,搭建起整个物联网应用架构。

家庭应用

传感网3

传感网2

传感网1

网关

网关

网关

应用层

服务平台层

接入层

物理设备层

行业应用政府应用

图1典型的物联网体系架构图

程冬梅,王瑞聪,刘燕,等:基于REST架构风格的物联网服务平台研发75

Computer Engineering and Applications 计算机工程与应用

2012,48(14)物联网网关

数据处理

命令处理

Cache

数据库

应用

Client1

Client2Restful API

展示层

日志

管理

设备管理

数据管理通讯交互

传输网络

物联网

网关

图2物联网服务平台架构图

物联网服务平台

4基于REST 风格的物联网服务平台4.1物联网服务平台架构

基于REST 架构风格的物联网服务平台是一个分层的体系架构,利用物联网终端设备和先进的移动数据通信网络,采用REST 架构风格实现物联对象与应用中心之间的灵活组网,提供不同应用领域的服务支撑和管理功能。该平台为上层应用提供统一的接口,提供REST 式Web 服务API ,物联网应用系统能够通过使用REST 式Web 服务API 来获取无线传感网设备的数据,同时也能够通过REST 式Web 服务API 对无线传感网设备进行控制和管理,使得物理设备松耦合,方便复用,实现大规模物联对象的无缝接入。

如图2所示为物联网服务平台架构图。物联网服务平台通过展示层提供REST 式Web 服务API ,通过通信交互模块与物联网网关进行数据传输。在物联网服务平台内部,提供对数据的处理和对命令的处理。处理后的数据存入数据库和缓存中。该缓存机制保存最新消息,加快展示层查询速度。另一方面,通过对传感网数据的分析处理,提供设备管理功能,维护当前活跃设备状态列表。同时,通过对传感网命令的相应管理,使得物联网服务平台支持对物理感知设备的管理;通过对日志的管理,使得物联网服务平台支持对故障的记录和对API 访问情况的跟踪记录。

4.2物联网服务平台实现细节

4.2.1资源描述方法

在REST 架构风格的概念中,任何需要被引用的事物都视为资源。在物联网应用中,某个物理感知设备感知的温度数据,物理感知设备本身的配置信

息,控制智能插座的开关状态等,这些都可以定义为资源,并通过URI 的形式定义资源标识。

举例来说,如图3左上图所示,在系统中存在3个物理感知设备,它们的设备ID 是唯一确定的。其中,1号、2号传感器可以感知环境中的温度、光照信息,3号设备为智能插座,可以通过命令自动控制开关状态。将上述3个物理设备映射成URI 如图3右所示。这些URI 将作为外部Client 访问物联网资源的接口。如,URI :http ://...wsn/sensors/1/Temperature-Data.json (表示1号传感器节点JSON [11]表示的温度数据信息),将得到1号设备的温度数据,结果以JSON 格式返回给客户端。对于普通感知设备(例如1、2号设备),实时温度、光照数据,设备自身配置信息,设备历史信息,开关控制设备汇报状态都是资源,都有对应的URI 。对于智能插座设备(例如3号设备),控制开关状态是一种资源。

在所有资源中,分为两类,一类是设备本身的信息资源,一类是服务平台通过聚合产生的信息资源。如http ://...wsn/sensors/1/TemperatureData.json 是设备本身的信息资源,可以直接从设备中获取数据;而URI http ://.../wsn/sensors/activeNode/all.xml (表示当前所有活跃节点列表),和URI http ://.../wsn/sen-sors/1/history/LightData/2011-3-20/2011-3-31.xml (表

示1号设备从2011-03-20到2011-03-31所搜集的历史光照信息),都是是服务平台经过聚合分析处理设备信息而得出的数据,属于第二类资源。4.2.2REST 接口实现

在定义REST 式服务时,除了需要定义访问资源的URI ,也需要指定访问方式。访问方式使用HTTP 提供的基本操作,对应于物联网资源的操作是:

(1)获取资源的一个表示:HTTP GET 。例如:一

物理感知设备

1号

传感器

2号传感器3号智能插座

Http:…/wsn/sensors /Temperature-Data

/Switch

/Light /Temperature /LightData /TemperatureData /command

/command /history /configuration

/Light-Data /activeNode

/3

/2

/1

图3物联网资源描述层次图

76

2012,48(14)

个感知设备的当前温度信息。

(2)创建一个新资源:HTTP POST。例如:创建一个新的获取位置的信息。

(3)修改已有资源:HTTP PUT。例如:打开已存在的加湿器。

(4)删除已有资源:HTTP DELETE。例如:删除一个传感器设备。

如表1所示为物联网服务平台定义的访问接口。对于5类资源分别进行定义。其中,控制传感器属于PUT操作,而对其他类别资源的操作属于GET 操作。例如,采用PUT访问方式,访问如下URI http://.../wsn/sensors/3/command/switch/interval,指定负载参数为interval=0,表示关闭3号智能插座。

4.2.3设备管理机制

由于嵌入式设备并非静止地处于固定的位置,而且设备具有移动性。为了有效地管理物理感知设备,服务平台需要有动态发现机制来发现物理感知设备和注册它们的基本信息。这样,设备可以动态地连入整个系统,并且当设备失活时,服务平台可以识别并将其移除系统。

(1)动态发现设备。当收到陌生设备ID发来的信息时,自动将该设备ID加入当前活跃设备列表。

(2)自动删除设备。采用“侦查-询问-等待”模式,首先监听每个在当前活跃设备列表中的设备,如果超过MAX时间收不到该设备发过来的任何信息,则服务平台产生询问命令发送到该设备。此时,如果设备处于活跃状态,收到该询问命令,会发送ACK 到服务平台,则服务平台判定该设备仍然活跃;如果设备处于失活状态,服务平台等待超时内没有收到ACK,则服务平台判定该设备失活,将从当前活跃设备列表中删除该设备ID。

5原型系统实现与性能评测

5.1实验场景的搭建

此原型系统按照如图2所示的架构进行搭建,实现了对传感网数据的应用和对传感器的控制。系统具体包括10个物理感知设备、1个物联网网关、1个物联网服务器平台和1个Android客户端验证平台。

其中物理感知设备包括8个传感器感知设备,2个智能插座,共10个Telosb节点,其硬件结构如图4(a)所示,物理感知设备通过ZigBee协议连接到物联网网关。物联网网关采用ARM-Linux操作系统,64MB 内存,其硬件结构如图4(b)所示,实现无线传感器网络与互联网的连接。物联网服务平台部署在PC上,采用Windows操作系统,1GB内存,通过以太网与物联网网关相连。Android客户端验证平台部署在An-droid手机侧,通过互联网与物联网服务平台相连接。

5.2访问Web资源和物理资源的测试

本次测试的目的是评估物联网服务平台的时间性能,主要是指物联网服务平台在三个关键阶段的时延,分别是阶段1:数据解析所需时间,阶段2:解析后数据存储时间(包括存储到缓存和数据库),阶段3:将请求数据打包成待传输数据的时间。测试通过Android客户端验证平台,发送不同的访问请求到物联网服务平台,在服务平台侧进行测试。测试结果如图5、6所示。

编号1 2 3 4 5

资源种类

实时信息

历史信息

配置信息

活跃传感器

控制传感器

REST动词

GET

GET

GET

GET

PUT

返回类型

XML/JSON

XML/JSON

XML/JSON

XML/JSON

XML/JSON

负载

interval

表1REST

式服务访问接口(a)Telosb节点(b)物联网网关

图4

实验设备硬件图

60

50

40

30

20

10

阶段1阶段2

/

m

s

图5阶段1、2的平均响应时间

1000

900

800

700

600

500

400

300

200

100

封装成XML时间

封装成JSON时间

2

4

1

5

1

3

1

/

m

s

数据量/条

图6阶段3针对不同数据量的不同响应时间

程冬梅,王瑞聪,刘燕,等:基于REST架构风格的物联网服务平台研发77

Computer Engineering and Applications计算机工程与应用2012,48(14)

从图5可以看出,阶段1的平均响应时间为0.937ms,阶段2的平均响应时间为55.326ms。

阶段3的响应时间与传输数据的数据量有明显关系,如图6所示。可以看出,随着传输数据量的增长,所需要的时间也明显增长。并且,平均来说,封装成XML数据所需要的时间比封装成JSON数据所需要的时间更长。

5.3应用的展示

Mashup(混搭)是将多个不同的支持Web API的应用进行堆叠而形成的新型Web服务。Mashup作为一种交互式Web应用程序,利用从外部数据源检索到的内容来创建全新的Web服务。它具有Web2.0的特点,与传统应用相比,它是一种基于网络的、可复用的、轻量级的内容集成[12]。Web中的Mashup概念可以应用到物联网中,即授权用户在服务平台基础上创建一些应用。如用户可以使用物联网服务平台提供的REST式Web服务API获取室内的温度状态,并且使用新浪微博提供的Web服务API,将温度状态发布到新浪微博上。

如图7所示为Android客户端验证平台展示页面。该验证平台主要包括6大功能,分别是实时数据显示、历史数据显示、设备查询、设备管理、个性化服务定制、分享到微博。

其中图7(a)显示了对实时数据查询,可以对特定设备的特定信息类型进行查询,获取最新的感知信息。图7(b)显示了历史信息的查询界面。选定起始日期和结束日期,可以对特定设备的特定数据类型进行历史信息查询。查询结果以折线图的形式展现出来。图7(c)为对设备信息查询的展示图,选中活跃设备,可以查询该设备的配置信息。图7(d)显示设备管理界面。图7(e)展示了定制个性化服务的过程,可以定制三种类型的服务,分别是智能开关空调,智能开关加湿器,智能门禁提醒。图7(f)显示了信息分享,将获取的传感器信息可以分享到新浪微博上。

6结论和未来的工作

物联网服务平台为物联网应用提供了支撑,是物联网应用系统中极为重要的组成部分。本文提出了基于REST架构风格的物联网服务平台,将REST 架构风格应用到物联网服务平台,构建出一个高效、松耦合、易访问的服务支撑平台,使其可以更好地为应用提供服务,并且为物联网应用使用Web混搭技术提供了支持。目前,本系统尚处于原型开发阶段,尚有诸多功能需求有待完善,例如对服务平台的访问方式仅限于“拉”方式,而不支持“推”方式。

参考文献:

[1]Fielding R T.Architectural styles and the design of net-

work-based software architectures[D].Irvine,California:University of California,Irvine,2000.

[2]Kansal A,Nath S,Liu J,et al.Senseweb:an infrastructure

for shared sensing[J].IEEE Multimedia,2007,14(4):8-13.

[3]Priyantha N B,Kansal A,Goraczko M,et al.Tiny web

services:design and implementation of interoperable and evolvable sensor networks[C]//Proc of SenSys’08,2008:253-266.

[4]Jammes F,Smit H.Service-oriented paradigms in indus-

trial automation[J].IEEE Trans on Industrial Informatics,2005,1(1):62-70.

[5]Souza L M S,Spiess P,Guinard D,et al.SOCRADES:a

web service based shop floor integration infrastructure[C]// Proc of Internet of Things Conf(IoT’08),2008:

50-67.(a)实时数据查询

展示图

(b)历史数据查询

展示图

(c)设备信息查询

展示图

(d)设备管理

展示图

(e)个性化服务定制

展示图

(f)信息分享

展示图

图7Android

客户端验证平台展示界面

(下转157页)78

2012,48(14)5结语

基于网页标题和关键词等HTML 内容,提出了

一种基于频繁项集的Deep Web 数据源聚类方法,并通过向量空间距离对聚类进行优化。这种方法可以有效地对文本向量进行降维,避免了高维稀疏文本向量模型的计算。聚类结果的个数自动确定,无需设置任何初始化参数。每个聚类对应的频繁项集可以作为聚类标签,对聚类进行概念描述。实验结果也证明了方法具有良好的效果。通过结合本体领域库,引入语义分析,可以进一步提高聚类精度,这也是下一步的研究工作。

参考文献:

[1]Shestakov D ,Salakoski T.Host-IP clustering technique for

deep web characterization[C]//Proceedings of the 2010ACM Symposium on Applied Computing ,2010:874-875.[2]Li Yingjun ,Nie Tiezheng.Domain-oriented Deep Web data

sources ’discovery and identification[C]//APWEB ,2010:464-467.

[3]He B ,Tao T ,Chang K C https://www.360docs.net/doc/6511010167.html,anizing structured Web

sources by query schemas :a clustering approach[C]//Gra-

vano L.Proc of ACM the 13th Conference on Informa-tion and Knowledge Management ,2004.

[4]Peng Qian ,Meng Weiyi ,He Hai ,et al.WISE-cluster :clus-tering e-commerce search engines automatically[C]//6th ACM International Workshop on Web Information and Data Management ,2004.

[5]Gravano L ,Ipeirotis P ,Sahami M.QProber :a system for

automatic classification of hidden-web databases[J].ACM Transactions on Information Systems ,2003,21(1):1-41.[6]马军,宋玲.基于网页上下文的Deep Web 数据库分类[J].

软件学报,2008,19(2).

[7]Chang J H ,Lee W S.Finding frequent itemsets over on-line data streams[J].Information and Software Technolo-gy ,2006,48:606-618.

[8]Barbosa L ,Freire https://www.360docs.net/doc/6511010167.html,bining classifiers to identify on-line databases[C]//Proc of the 16th International Confer-ence on World Wide Web ,2007.

[9]Fung B C M ,Wang Ke ,Ester M.Hierarchical document

clustering using frequent itemsets[C]//Proceedings of SDM ,2003.

[10]Salton G ,Buckley C.Term weighting approach in auto-matic text retrieval[J].Information Processing and Man-agement ,1988,25(5):513-523.

[6]Pautasso C ,Zimmermann O ,Leymann F.RESTful web

services vs."big"web services :making the right archi-tectural decision[C]//Proceedings of the 17th International World Wide Web Conference ,Beijing ,China ,2008:805-814.

[7]Luckenbach T ,Gober P ,Arbanowski S ,et al.TinyREST —

a protocol for integrating sensor networks into the Inter-net[C]//Proc of the Workshop on Real-World Wireless Sensor Network :SICS ,Stockholm ,Sweden ,2005.

[8]Wilde E.Putting things to REST[R].Berkeley ,California

School of Information ,UC Berkeley ,2007.

[9]Guinard D ,Trifa V ,Pham T ,et al.Towards physical

mashups in the web of things[C]//INSS ’09,2009.[10]王殊,阎毓杰,胡富平,等.无线传感器网络的理论及应用[M].

北京:北京航空航天大学出版社,2007.

[11]JSON.Internet informational RFC 4627[S].2006.[12]Guinard D ,Trifa V .Towards the Web of things :web

mashups for embedded devices[C]//2nd Workshop on Mashups ,Enterprise Mashups and Lightweight Compo-sition on the Web (MEM2009),Madrid ,Spain ,2009.

(上接78页)

箱,减少完成CLB 逻辑功能装箱所需的样本电路数,提高了装箱的速度。未来Dup-Pack 将考虑进一步优化DFC 的划分匹配方式以获得更良好的装箱效率。

参考文献:

1]Betz V ,Rose J ,Marquardt A.Architecture and CAD for deep-submicron FPGAs[M].王伶俐,杨萌,周学功,译.北京:电子工业出版社,2008.

[2]Betz V .VPR and T-VPack user ’s manual[EB/OL].http ://

www.eecg.utoronto/vpr/.

[3]龚爱慧,梁绍池,陈志辉,等.CSPack :采用CSP 图匹配的新

型装箱算法[J].计算机辅助设计与图形学学报,2010,22(11).[4]Rudolf M.Utilizing constraint satisfaction techniques for

efficient graph pattern matching[C]//The 6th International Workshop on Theory and Application of Graph Trans-formations ,November 16-20,1998.

[5]Yang S.Logic synthesis and optimization benchmarks ,

version3.0[R].Microelectronics Center of North Carolina ,1991.

[6]ABC :a system for sequential synthesis and verification[EB/

OL].http ://https://www.360docs.net/doc/6511010167.html,/alumni/abc.

[7]Wu Fang ,Lai Jinmei.Circuit design of a novel FPGA chip

FDP2008[J].Journal of Semiconductors ,2009,30(11).

(上接67页)

张蓬飞,朱群雄:频繁项集在Deep Web 数据源聚类中的应用157

相关主题
相关文档
最新文档