物联网系统架构设计风格的对比与思考
2015-03-13王文杰
王文杰
(天津交通职业学院,天津 300110)
物联网系统架构设计风格的对比与思考
王文杰
(天津交通职业学院,天津 300110)
物联网架构要求能够支持大规模分布式泛在物联应用部署,并能根据公众和行业的需求提供相对应的服务。但是物联网系统的应用平台、通讯协议和通信设备普遍存异构性,制约着物联网产业的发展。为了进一步沟通物联网技术与最终使用者之间的关系,提高物联网服务的创新能力,人们迫切需要一个统一的技术标准和平台能够整合智能设备上所能提供的基础服务能力。在本文中,作者分析了物联网架构的基本需求,讨论了构建分布式系统的架构风格,并根据比较结果得出结论。
物联网;架构风格;分布式系统
物联网架构,作为一种内含成千上万各种信息设备的环境来说,除了要保证各设备正常工作,还要保证设备之间基本的相互理解。
一、物联网架构设计的基本需求-开放性和扩展性
在物联网架构设计之初,人们仅仅是使用WSN(无线传感器网络框架)解决了设备之间相互通信问题以及如何将大量异构设备部署在一个架构中的问题,但随着架构部署越来越大,不同用户和客户端之间会产生大量的共享设备信息的需求。所以,物联网架构在开发时有必要构建一个具有整合功能并且具备开放性和扩展性的设计风格。它应该满足如下需求:
1.低门槛:通过降低门槛,鼓励更多的开发者和研究人员开发应用,降低第三方个人或者服务提供商可以以较低的成本进行技术创新和设备升级。
2.快速访问:该设计风格应允许系统具备直接访问物理设备的功能。其目的在于希望用户在需要的时候能够通过Web浏览器直接接入物联网,从而获得数据和服务,而不需要安装额外的应用程序。这样一来,不仅降低了用户的使用难度,也提高了架构使用的灵活性。
3.轻量级:该设计风格在架构中起到的作用相当于一座桥梁,使用一种轻量级的数据访问方式,将高速设备与资源受限设备连接起来。
4.可扩展:该设计风格作为架构的主体部分,应该具有独立的可扩展性,用于在需要的时候扩展网络的基础设施。
5.智能化:该设计风格允许系统通过提供智能化的引擎服务,方便为用户提供更加个性化服务。通过在数据库中引入云计算功能,通过对物联网设备所手机的原始数据进行挖掘,可以有针对性的对用户提供定制服务,使服务更加自动化和人性化。
二、几种物联网架构风格的对比
对于早期的研究人员,最大的困难在于如何构建分布式应用系统。虽然有过一些方法和结论,但这些方法主要能够解决的问题还停留在如何让软件组件互相协作上。但是对于如何使用智能设备代替传统设备构建分布式应用系统却没有一个完善的解决方案。虽然我们希望在物联网系统架构在设计之初就有明确而统一的设计风格用来作为平台、通信协议和智能设备之间的桥梁,但是,这却并不能作为最终的解决方案。
通常,一个软件中的架构可以用来分配和标识系统元素,可以用来决定系统中的元素是如何进行交互的,还可以用来决定交互通信的粒度大小和接口的协议。也就是说,架构风格是一种设计模式,是用来解决软件的内部、外部结构和相互连接上的问题的。
下面我们将三种常见的构架风格进行对比讨论:分别是面向对象架构(OOA)、面向服务架构(SOA)和面向服务架构(ROA)。
OOA通常应用于独立封闭的系统,由一个实体对象控制着系统中组件的交互。它有两个重要特点:分别为标准对象间交互的接口和封装对象间传送的不同的数据格式。对象实例之间的通信状态通常基于远程过程调用(RPC)。紧耦合是RPC的架构形式,一旦交互的接口出现变化,必须保证系统中各封装对象具备高度的一致性。这个特点增大了系统维护的难度,也阻碍了系统的二次开发。
随着网络技术的日益发展,Web已经成为信息交换的重要媒介,基于简单对象访问协议(SOAP)所具备的协议体系,SOA允许进行如安全或服务发现等复杂操作。但是,基于SOAP的Web Service标准相对复杂,对于开发者而言,熟练的使用依然具有不小的难度。并且,即使出自同一套标准的不同体现方案也存在着不能完全兼容的问题。对于高度动态的物联网环境,SOP缺少灵活性,由于接口静态绑定,会导致新的设备会不断的出现和消失。
基于ROA构架的Web系统在目前的互联网中应用得最为普及。表述性状态转移(REST)是它的核心思想。这种设计原则较为抽象,可以同时应用于系统和网络应用的开发。它面向“资源”,可以把系统当中的所有组件进行唯一定位并被寻址。“资源”的范畴既包含物理对象,也包含抽象集合。也就是说既可以是系统当中的物理设备,也可以是系统当中的概念或网络中的文件。若一个系统被称为REST化(RESTful)的系统,需要至少满足以下五个条件:
1.资源的标识:REST使用统一资源标识符(URI)对Web中的资源进行标识,因此可以基于这种广泛使用的标识来建立资源间的链接。若将这种特性应用于物联网,则可在全局上唯一的标识物联网系统中的设备和资源。这种全局化的唯一性也同样适用于大规模部署分布式设备。为保障物联网系统与互联网的兼容性,应将URI作为使用规范。
2.统一的接口:开发者可以通过使用具有良好定义的交互语义的统一接口来对资源进行操作,例如超文本传输协议(HTTP)。HTTP协议通过定义了具有不同操作语义的有限的接口方法集合,降低了组件间接口的耦合度,提高了应用的交互性。物联网应用广泛使用传感器,而传感器的使用是根据实际需求动态的添加和移除。得益于HTTP的接口标准,使得系统的耦合度降低,提高了物联网系统的稳定性,解决了服务资源与客户端一致性的问题。
3.自描述的消息和资源的多重表述:若分布式系统使用统一的资源表述格式,服务器和客户端可以直接进行交互,便于降低系统的耦合度。由于HTTP统一接口的设计,组件间可以基于协议内的媒体类型直接协同工作,使得系统具备极强的扩展性。对于物联网应用,可以通过引入可扩展标记语言(XML)和轻量级数据交换格式(JSON)的方法,增强设备与应用之间,应用于应用之间的信息交互性。另外,根据应用的具体需求,还可以多重描述资源,再根据协商机制选择资源的表述形式。
4.超媒体驱动应用状态的转移:由于各种服务资源都具备独立的链接,所以已经实现REST化服务的客户端可以轻松的与之进行交互。这样一来客户端便可以基于统一的标准标识方式和统一的资源表述格式在互联网上寻找服务、进行交互、完成业务流程,而不需要指定服务器或服务目录。
5.无状态的交互:这里要求客户端所发出的请求应该包含所有消息,即它应具有自包含性。HTTP的设计正好符合这个条件,它基于Request/Response的模式发送交互请求,而HTTP本身是没有会话这个概念的。所以说HTTP的交互从本质来说是自包含的,也就是无状态的。虽然在某些情况下HTTP可以包含部分状态信息,如通过cookie或者通过在请求中添加服务器状态,但是,这些都改变不了HTTP无状态的事实。
结语
如表1-1所示,对三种架构的十种属性进行了对比。由于我们在前文中对物联网构架的开放性和扩展性进行了定义,通过对比得出结论,ROA风格最符合物联网架构的设计思想:由于物联网系统实际的使用现场布局相对松散开放,其架构的安全性、可靠性和流畅性无需定制化的协议来支持,所以具备高分布式和可扩展性的物联网架构体系可以完美发挥ROA松耦性的特点。此外,由于物联网网络系统为高速网与低速网协同工作,这就导致架构中部分低速设备所获取的资源将受到限制。通过使用ROA架构风格,其简单化和轻量级的特点可以更好的发挥此类设备的性能,降低应用的开发门槛。
表1-1 三种架构风格对比
[1]吴振宇.基于Web的物联网应用体系架构和关键技术研究[D].北京邮电大学,2013.
[2]张倩.基于TinyOS的无线传感器网络路由协议设计与实现[D].西北工业大学,2011.
[3]崔华,应时,袁文杰,胡罗凯.语义Web服务组合综述[J].计算机科学,2010,(05).
[4]G.Kortuem,F.Kawsar,V.Sundramoorthy,D.Fitton,Smart Objects as Building Blocks for the Internet Of Things,IEEE Internet Computing 2010;14(1):44-51,January,2010.
[5]孙其博,刘杰,黎养等.物联网:概念、架构与关键技术研究综述[J],北京邮电大学学报,2010,(03).
[6]沈苏彬,范曲立,宗平等.物联网的体系结构与相关技术研究[J].南京邮电大学学报,2009,(06).
Comparison and Reflection on Systematic Architecture Design of Internet of Things
WANG Wen-jie
(TianjinTransportationVocationalCollege,Tianjin, 300110)
architecture of Internet of Things should be able to support massive distributed ubiquitous Internet of Things applications, and provide correspondent services a required by the public and industry. However, the heterogeneity commonly found in the application platform, communication protocol and communication device of the Things applications greatly restricts development of the Internet of Things industry. In order to better connect the technology of Internet of Things and end-users, enhance the innovation capability of services by Internet of Things, it is in urgent need to make a unified technical standard and platform to integrate the ability of intelligent devices to offer basic services. The paper analyzes the basic requirements of the architecture of Internet of Things, discusses the design style to establish distributed system, and reaches a conclusion through comparative studies.
Internet of Things; architecture style; distributed system
2014-09-05
王文杰(1982-),男,天津市人,天津交通职业学院讲师,硕士,主要从事机械与电子专业教学。
TP399
A
1673-582X(2015)02-0082-03