摘 要: 研究REST架构机制下的物联网服务平台设计。通过在REST架构机制下构建物联网服务平台,分析物联网服务平台设计需求,从而制定出优化的平台设计方法,以便可以设计实现基于REST架构机制的物联网服务平台。结果表明,在REST架构机制下设计物联网服务平台,不仅具有高拓展性,也可以扩展客户端功能,设计的物联网服务平台的性能提升了20.0%,可发挥积极的应用效益,值得推广。
关键词: REST; 服务平台; REST架构机制; 物联网
中图分类号: TN915⁃34 文献标识码: A 文章编号: 1004⁃373X(2016)14⁃0061⁃03
Design of IOT service platform based on REST architecture mechanism
TIAN Jun
(Foshan Polytechnic, Foshan 528137, China)
Abstract: The purpose of this paper is to study the design of Internet service platform based on REST (Representational state transfer) architecture mechanism. The design requirements of the service platform of IOT (Internet of Things) are analyzed by establishing an IOT service platform the mechanism under REST architecture mechanism, so as to develop a platform design method to realize the IOT service platform based on REST architecture mechanism. The results confirm that the IOT services platform designed under the REST architecture mechanism not only has a high expansion, but also can expand the client function, and increase the performance of the IOT services platform by 20%.
Keywords: REST; service platform; REST architecture mechanism; Internet of Things
随着现代信息化技术的发展,在不同的Web开发框架之中,均可以支持开发REST(Represen tational State Transfer,表述性状态转移)架构机制软件[1];并且,对于实际中大多数的物联网服务平台设计开发人员,其也都是在阅读一些REST框架文档基础上,开发基于REST机制的软件平台。在当前物联网设计应用中,采取REST架构机制,有助于改善物联网服务平台性能,丰富其构建风格,在实际中发挥积极应用价值。
1 REST架构机制及物联网技术
1.1 REST架构机制
REST架构机制是一整套基于网络的软件(即所谓的“分布式应用”)设计方法。REST构建机制能够在继承前人成果基础之上,从而可以建立起新的研究、评价架构[2⁃5]。同时,REST架构机制中,有6个架构约束,分别如下所示:
客户⁃服务器(Client ⁃ Server),由该平台客户端发起,并响应服务。无状态(Stateless)通信的会话状态(Session State),由服务平台的客户端来负责管理维护。缓存(Cache),在服务平台通信链中,响应内容可以缓存在某处,能够改善物联网络效率。统一接口(Uniform Interface),对于通信链组件通信,需要通过统一接口,提高系统平台的交互性。分层系统(Layered System),能够限制服务平台中的组件行为,将软件REST架构分解为若干不同等级的层。按需代码(Code⁃On⁃Demand,可选),可以支持下载执行代码,扩展客户端的功能。
1.2 物联网技术
物联网可以通过当前现代化信息技术,实现人、设备以及系统之间通信交流的智能互连。物联网在业界被认为是继计算机、互联网以及移动通信网后的第三次世界信息产业浪潮,有着巨大经济效益与社会效益[1,6⁃8]。物联网的发展是应用驱动的,会渗透到经济的各个领域,生活的方方面面。
2 物联网服务平台需求分析
在物联网服务平台设计中,由于交互模式要求复杂[9]。在设计物联网服务平台中,运用REST架构机制,能够为“运行在物联网环境”的“分布式”、“超媒体”系统量身定制风格,违反了REST架构机制,会降低物联网服务平台性能。在REST架构机制下设计物流网公共服务平台,要确保其资源是抽象的[10],资源可以是文件,也可以是数据库表等信息;一个资源可以由一个或多个URI来标识[11]。在实际物联网服务平台设计中,REST架构可支持抽象设计,REST的风格耦合度是最小的,满足设计需求。
3 基于REST架构机制设计物联网服务平台
3.1 设计该平台总体构建
物联网服务平台设计中,需要面向物联网各个行业,能够在REST的架构机制下,提供多平台的标识注册、解析以及服务搜索等功能,支撑物联网服务平台应用。物联网服务平台设计如图1所示。
接入标识物联网服务平台的各种物联网应用,该服务平台可以统一分配节点资源,确保平台中各个应用在其内部沟通的便利,整合物联网服务平台应用层服务。
3.2 平台接入设计
在REST架构机制之下设计物联网服务平台,能够确保为服务平台的用户提供一种可以实现统一访问的端口,可以据此来接入应用物联网服务平台中的相关资源。可以实现浏览器交互方式,用户可以通过统一API接口交互[12]。使用统一的程序接口访问物联网应用方便了用户的使用,提高了用户体验。
(1) 添加客户端源代码。在工程代码中加入客户端源代码,包括cn.cnnic.iot下的client,common,util,xml包。然后实例化一个PublicClient对象,调用其Public String create(String sid,String rid,String mid,String mType, String serviceType, int TTL)方法进行注册。在工程代码中加入客户端jar包,然后实例化一个PublicClient对象,调用其public String create(String sid,String rid,String mid,String mType, String serviceType, int TTL)方法进行注册。
(2) 添加客户端JAR包。在工程代码中加入客户端jar包,然后实例化一个PublicClient对象,调用其Public String create(String sid,String rid,String mid,String mType, String serviceType, int TTL)方法进行注册。
(3) 使用桌面客户端→手工录入。预装jre环境,打开桌面客户端,选择手工录入。如图2所示,在录入框中,添加标准标识sid,物品标识rid,映射标识mid,映射类型mType, 注册类型serviceType, 生存时间TTL6个参数,点击注册,进行物联网标识注册。
(4) 使用桌面客户端→TXT导入。预装jre环境,打开桌面客户端,选择TXT导入。
选择的TXT文件需要具备以下格式:每一行为一条记录,包括6个参数,6个参数分别是:标准标识sid,物品标识rid,映射标识mid,映射类型mType, 注册类型serviceType, 生存时间TTL。
(5) 使用桌面客户端→Excel导入。预装jre环境,打开桌面客户端,选择Excel导入。选择的Excel文件需要具备以下格式:有6列数据,表头分别为sid,rid,mid,mType,serviceType,TTL,之后每行为一条记录。
(6) 使用网页客户端。可以使用浏览器访问物联网服务平台中的标识注册页面register.niot.cn,选择标识注册。
标识者向二级权威服务器注册其所管理的一类标识对应的语义规则:通过Web页面的形式注册,对应的NAPTR记录写入***.snsroot.cn;能够在现阶段尚无法使用标准标识的情况下,分布式管理各自的标准标识,确保物联网服务平台安全性。
3.3 平台交互设计实现
REST架构机制中,对于整个物联网网络中的REST资源,有高度可扩展的标准语义及表现形式,使物联网服务平台中物体与物体之间的交互成为可能。REST物联网服务平台状态转变实现代码如下:
列举所有物体状态:
信息服务器每创建一个新的物品记录时都需要向注册服务器进行注册,注册内容包括:TID,IS_IP,物品资源根,应用程序(浏览器、客户端)得到物品码后,通过查询接口获得某TID的IS_IP以及物品资源根。应用程序构造物品资源URI,并向其发送http GET请求包,物品资源URI形式如下:http://IS_IP/TR_ROOT/TID。信息服务器返回关于该物品的所有信息,信息以XML形式返回,应用程序解析XML数据包得到物品的信息。REST架构机制下,物流网服务平台设计中,开始的一个服务程序代码实现如下:
在REST架构机制下,设计物流网服务平台,创建一个新的数据库,如iot数据库,编辑存储 app/config/database.php,其实现代码如下:
在REST架构机制设计物联网服务平台,可以提升服务平台的信息数据储存量,加大平台运行性能。
4 平台的应用效益分析
在物联网服务平台设计中,采取REST架构机制,有助于满足该服务平台的实时性设计要求,确保提升物联网服务平台性能。对于设计面向物联网的服务平台,设计采用REST的架构机制,不仅可以简化服务平台的开发、测试以及运维人员的工作量,也更加能提升物联网服务平台通信的可伸缩性。在REST架构机制下,设计物联网服务平台,不仅具有高拓展性,也可以扩展客户端功能,提升了设计物联网服务平台的性能,性能提升可达20.0%,可发挥积极应用效益。
5 结 论
综上所述,基于REST架构机制下,设计物联网服务平台,不仅可以提升该平台可扩展性,还可以将各种物联网设备(传感器、感知设备、执行器)联接到统一的服务平台中,提升该平台应用性能,充分展现物联网服务平台的整体结构,发挥积极应用价值,值得在实际中推广应用REST架构机制。
参考文献
[1] 汤春明,张荧,吴宇平.无线物联网中CoAP协议的研究与实现[J].现代电子技术,2013,36(1):40⁃44.
[2] 程冬梅,王瑞聪,刘燕,等.基于REST架构风格的物联网服务平台研发[J].计算机工程与应用,2012,48(14):74⁃78.
[3] 张卫荣,李航.基于REST风格的Web服务在物联网服务平台的应用[J].黑龙江科技信息,2015(10):138.
[4] 李小红.REST架构下作业线模糊贴近度支配集优化控制[J].科技通报,2014(12):205⁃207.
[5] 陈昊,李士宁.基于REST风格的物联网应用开发模式探究[J].计算机与现代化,2013(2):56⁃60.
[6] 张慧超,朱红松,孙利民,等.DISP:物联网开放式数据服务系统[J].计算机科学,2012,39(12):1⁃5.
[7] 李晓钟,王莹,王倩倩.苏粤两省物联网产业发展比较研究[J].财经论丛,2014(1):22⁃27.
[8] 周超琦,朱正羊,耿明翠.基于物联网的应答式洗衣机系统[J].计算机时代,2015(2):10⁃14.
[9] 朱红.基于REST架构的泛在物联通信技术研究[J].数字通信世界,2015(3):38⁃41.
[10] 袁璞,艾中良,汪涵.基于物联网服务平台的统一标识寻址研究设计[J].现代电子技术,2015,38(6):59⁃62.
[11] 李振营,刘经纬,鄢楚平.热力管网系统中的物联网网关研究与设计[J].现代电子技术,2014,37(23):13⁃16.
[12] 赵艳玲.一种基于物联网的远程监控系统设计[J].现代电子技术, 2012,35(6):61⁃64.