王进华+蔡莉莉+钱海忠
DOI:10.16644/j.cnki.cn33-1094/tp.2016.07.005
摘 要: 物品万维网采用标准的应用层http协议去替代传输层协议,实现传感器设备与因特网相连,但是在物品万维网上要实现用户对资源的透明访问及快速构建应用程序是一大挑战。针对此问题提出了一种面向服务架构的物品万维网的分布式框架,它能够对联入该框架的各类资源透明地管理、查找、访问和控制,并对外提供面向终端用户和智能软件的接口。
关键词: 传感器万维网; 语义万维网; 万维网服务; 物联网; 物品万维网
中图分类号:TP393 文献标志码:A 文章编号:1006-8228(2016)07-16-04
SOA distributed framework for Web of Things
Wang Jinhua1, Cai Lili2, Qian Haizhong3
(1. Zhejiang Software Technology Co., Ltd., Zhejiang, Hangzhou 310053, China; 2. CEIE, Nanjing University of aeronautics & astronautics;
3. College of information technology, jinling institute of technology)
Abstract: Web of Things (WoT) uses a standard application protocol HTTP to provide the connection of sensors with Internet instead of the transport protocols. But it is a big challenge for users to realize the transparent access to resources and build applications quickly on WoT. For this problem, this paper presents a SOA distributed framework for WoT, it can manage, search, access and control all kinds of resources in the framework, and provide the interfaces to the end users and intelligent software.
Key words: Sensor Web; Semantic Web; Web Service; Internet of Things; Web of Things
0 引言
传感器在人们的客观世界及虚拟数字世界之间正扮演着重要的桥梁作用。传感器万维网、物联网[1]、物品万维网等一些新兴领域应运而生,主要是为了实现物品与物品、人与物品、人与人之间随时随地的互联、相互操作。但是由于当前各类异构的传感器网络都是面向特定应用领域,实现终端用户通过因特网随时随地访问各类异构的传感器网络资源,以及各类异构网络系统智能交互是其最大的挑战。
万维网服务具有模块化、自描述和自包含的特点,尤其是用户能够通过因特网协议方便访问万维网服务,因此它已成为一种集成各类同构或异构的分布式系统的有效手段。万维网服务技术与传感器技术相结合受到了越来越多的研究者关注。文献[2]采用restful web[3]技术实现对设备功能接口进行封装,便于用户利用标准因特网协议进行访问。传感器万维网[4]是传感器网络和万维网这两个技术融合的产物,但是传感器万维网只是实现了传感器与因特网的互联,其还存在一些不足:①面向特定的应用,各类传感器应用中缺乏统一的数据表示形式,各类异构数据难以智能交互,不能有效被集成到别的相关应用中;②用户难以快速的组织这些资源,构建面向特定需求的应用。因此传感器万维网还不能成为一个拥有众多智能设备的协同系统。
物品万维网当前面临着与传感器万维网同样的挑战[3]:要建立抽象层面,可以获取、处理以及管理所有物品数据;要能有效的管理物品的质量或是特性(或是服务质量);要能够集成和融合来自各类物品网络数据(如传感器万维网);要能够识别和定位相关的物品资源;能够快速创建应用。
本文采用面向服务架构(Service Oriented Architecture,SOA)技术,提出了一个面向物品万维网的分布式架构(Distributed Framework for Web of Things,DFWoT),它为终端用户提供了服务注册、查找、访问以及服务集成的功能。各类嵌入传感器设备的物品以及各类面向特定应用的传感器万维网,它们的功能接口都会以万维网服务技术来进行封装,并注册到DFWoT中。在DFWoT中,传感器数据都会转换成统一的数据表示方法,实现各类数据的统一处理,同时它在最上层提供两类接口:①面向普通用户的接口;②面向智能软件的应用接口。
1 相关工作
传感器万维网、物联网等众多新兴领域的兴起,涌现出了众多面向这些研究领域的分布式框架。传感器万维网框架(Sensor Web Enablement,SWE)是在传感器万维网中最为突出的一个,它通过万维网来连接传感器,构造基于万维网的传感器网络和应用,能够通过万维网的标准协议来查找、访问以及控制的数据中心。虽然SWE提供了一套协议标准和定义了相关服务规则,但是它还存在一些缺陷[4]。首先是SWE没有利用本体对数据进行语义表述,语义交互难以实现;然后SWE过分注重数据的获取,却忽略了数据的过滤以及信息的过载;York大学GeoICT实验室提出了GeoSWIFT[5],它是一个基于万维网服务的框架,采用SWE标准对数据进行集成。它就像一个网关服务能够对异构空间传感器的数据进行融合与集成。该框架由三个层面组成,底层是传感器层,包含了各类实际的传感器设备;中间层为通信层,它实现数据以及控制信息在上下两层进行交互;最上层为信息层主要是对传感器资源进行存储、分析、变换、管理以及显示。文献[6]提出了一种框架(IrisNet),它有两个层面:感知智能体和组织智能体。感知智能体主要实现数据的获取以及提供访问传感器的接口;组织智能体实现存储服务。IrisNet最大的特点就是感知智能体层对数据进行预处理,减少了未处理的数据在传感器之间的传递。组织智能体收集和分析从感知层面获取的数据并响应终端用户的应用请求。虽然众多面向传感器万维网的框架被提出来,但是它们还难以满足物品万维网的需求,只能作为物品万维网的一个子系统。文献[7]提出了一个面向资源的物品万维网框架,但是它只是把无线传感器、嵌入式设备以及电子标记的物品利用万维网技术进行封装,便于用户通过Web进行访问,还不能有效的对物品资源进行管理。文献[8]分析了物品万维网的一些需求,并提出了webPlug的物品万维网框架,它也只是提供了对采用restful机制联入的设备进行访问,还未能解决Web系统交互,物品数据语义处理,尤其是在其之上构建新的应用。
2 DFWoT分布式框架的设计
许多内嵌传感器设备的物品可以直接联入万维网,但是有些资源必须通过类似网关节点的机制,才能联入万维网,如某些面向特定领域的传感器网络,它们节点功能只是采集数据功能。物品万维网可看成是一个协同系统,是由众多传感器网络等独立系统组成,而不仅仅是单一独立的网络。本文提出采用面向服务架构的物品万维网架构就是能够把各类物品、各类传感器网络集成到一个平台上,为上层的应用提供一个透明的、统一的服务接口[9]。终端用户可以利用它方便的访问、查找物品万维网上的各类数据,同时也能够利用这个框架的软件接口快速构建应用程序。DFWoT的架构如图1所示。
2.1 物理层
物理层主要是面向实际访问的物品资源。由于大量低价的传感器节点的部署,它不像传统的计算机网络,每个节点都有全球惟一ID标识,特别是那些撒播部署的节点。因此它们不太可能全部作为独立的资源直接联入DFWoT中。在DFWoT物理层主要处理两类物品资源:一类是具有位置相对固定且具有较长生命周期的物品,如摄像机、监视器等;另一类是面向特定应用传感器网络节点,它们都会以网关节点的方式联入DFWoT。对于各类传感器万维网资源,由于它们已采用万维网机制,因此DFWoT将是这类资源的注册中心和交互中心。
2.2 适配层
在物理层接收和处理的都是未经过处理的数据,它们都是面向特定的应用领域,因此数据格式呈多样化。要实现异构系统自动交互及数据融合,就必须要有统一的数据表示格式,同时能够使数据表示格式内涵一些语义信息[10]。虽然SWE的提出是针对传感器万维网的,但其标准是较为成熟的,本文采用SWE中的SML语言,并利用SWSDL本体标注方法来构建一个面向传感器设备的统一数据表示格式,用来描述所有传感器节点采集的数据。在本节,提出了一个虚节点的概念,它承担类似网关节点的服务角色,管理物理层中两类资源。物理层两类资源只要联入到DFWoT,都会有一个相应的虚节点与之对应。虚节点具有两大功能:一是与物理传感器连接及相互通信;另一个就是对收集的数据以统一格式进行转换、对其进行语义标注并传送到Web处理层;虽然加入DFWoT的传感器资源属于不同的组织或面向不同的应用领域,但是采用虚节点方式接入到因特网中具有明显的优势。各类传感器接入时,它们只需实现本系统专用数据格式能与DFWoT的统一数据格式相互转换功能,并且可以有选择的向外提供服务;语义标注中所采用什么样的领域本体库是一直制约语义万维网发展的瓶颈,因为难以实现满足各类应用领域的统一本体库。采用虚节点的方式,各类异构的传感器网络资源数据标注就可以采用它们所属的领域本体库。
2.3 Web处理层
Web处理层主要实现两大功能[11]:服务注册和数据预处理。为了能够包容传感器万维网中的所有资源,DFWoT提供了两类资源注册服务:①传感器网络的实例注册服务SIR(Sensor Instance Registry);②以Web服务形式对外提供服务的资源。这样在DFWoT中就可构建于传感器万维网服务之上,形成一个协同系统。独立的传感器万维网系统也是通过此种形式接入DFWoT中。
虽然适配层中的数据是采用SWE中的SML标准,但SML一般是面向传感器网络节点,因此在Web层增加了数据预处理功能。它能实现SML格式到RDFS格式、OWL格式的转换,而Rdfs和OWL是当前语义万维网采用的比较完备的数据表示方法。经过Web层的数据预处理模块,知识层就可以对这些数据进行推理、分析。
2.4 知识层
语义网实现了海量数据智能处理,能对数据再分析,这样就可以更快、更准确的满足终端用户的应用需求。在DFWoT的知识层中,最重要的一个功能单元就是语义处理功能组件。它集成了一些语义推理工具,如RACE、JENA等,能够对从适配层传来的数据进行语义推理、分析,获取新知识[15]并存储在关系数据库或是相关本体知识库中供终端用户进行查询。本体是实现语义智能的主体,因此本体库的管理是知识层中重要模块,它的主要功能是存储那些面向各类特定领域的本体,如OWL-time Ontology。
2.5 应用层
实现终端用户透明访问物品万维网上所有资源是物品万维网最重要的目标之一。DFWoT在应用层内嵌了Web Server,提供了面向终端用户接口,这样,终端用户可以通过现有绝大多数的Web浏览器就能通过因特网随时随地访问DFWoT;通过调用万维网服务接口,能实现各类应用软件自动交互。为了能够快速的构建满足客户多变需求的应用程序,在DFWoT提供了面向应用程序接口,由于都是采用了万维网技术,DFWoT上的资源就可以看成一个个具有独立单元功能的组件,便于用户快速的建立应用程序。
3 家庭智能电器应用场景
物品万维网正逐步被应用到各个相关领域,为了能够更好地说明本文提出的分布式框架,我们以智能家庭为应用场景。在智能家庭众多设备中,有些设备可以内嵌Web Server,它就可以直接利用Restful APIs并注册到这个框架中成为DFWoT的一部分,而有些设备可能需要通过3.2节中提到类似网关节点的“虚节点”,来实现与DFWoT的联接并实现协议的相互转换,例如:Zigbee,bluetooth等。
家庭中一些电器设备被安装上一个智能电卡(Plogg),它是一个支持蓝牙技术的无线传感器节点,适合作为电器设备的一部分。它能够实时获得设备的用电信息,也能按时间段统计用电量,但是为了能够让它联入DFWoT,必须借助网关节点;家庭监控摄像头由于内嵌一个Web Server服务器并以Web Service形式提供接口。如图2所示。虚节点(网关节点)对应适配层功能,完成协议转换以及数据转换功能。为了能更好的联接智能卡(Plogg), 本场景中虚节点模拟了PNC的相关功能。智能家庭所有设备通过这两种方式都可以注册到DFWoT并以服务的对外开放,用户可以通过该分布式平台访问相关设备信息。
4 结束语
语义网、万维网服务和面向服务架构等多种技术的融合为实现物品万维网提供了一条有效的途径。本文提出了一个面向服务架构的物品万维网分布式框架,是为了能够连接、管理与之互联的物品资源。它既是一个注册中心,同时也是一个服务提供中心。终端用户与智能软件都能通过它较为方便的访问物品资源或是利用服务组合组件,快速集成各原子功能生成满足客户需求的新的应用程序。文中智能家庭应用场景虽然较为初级,但是由于相关的技术都较为成熟,DFWoT充分利用已有技术并对它们进行集成,因此它具有一定可行性和有效性。
参考文献(References):
[1] Iera, A., Floerkemeier, C., Mitsugi, J., etc, The internet of
Things[J]. IEEE Wireless Communications,2010:17(6):8-9
[2] Dominique G., Vlad T.. Towards the Web of things: Web
mashups for Embedded devices[C].WWW2009, Madrid, Spain,2009.
[3] Corcho, O., Garcia-Castro, R., Five Challenges for the
Semantic Sensor Web, Semantic Web journal,2010.http://www.semantic-web-journal.net/sites/default/files/SWJ103.pdf.
[4] Moodley, D., Simonis,I.; A New Architecture for the
Sensor Web: The SWAP Framework[C], workshop of the 5th international Semantic web conference ISWC,2006.
[5] Liang, S. H. L., Croitoru, A., Tao, C. V., A distributed
geospatial infrastructure for Sensor Web[J]. Computers & Geosciences,2005.31(2):221-231
[6] Gibbons, Phillip B., Brad Karp, et al, IrisNet: An
Architecture for a Worldwide Sensor Web[J]. IEEE Pervasive Computing,2003.2(4):22-33
[7] Guinard D., Trifa V., Wilde E.; A resource oriented
architecture for the web of things[C]. internet of things 2010, Tokyo,2010:1-9
[8] Ostermaier B., Schlup F., Romer K.; WebPlug: A
framework for the web of things[C]. Pervasive computing and commnications workshops 2010, Mannheim,2010:690-695
[9] Hamblen, J.O., van Bekkum, G.M.E.. An Embedded
Systems Laboratory to Support Rapid Prototyping of Robotics and the Internet of Things[J]. IEEE Transactions on Education,2013.56(1):121-128
[10] Pfisterer, D., Romer, K., Bimschas, D., etc. SPITFIRE:
toward a semantic web of things[J]. IEEE Communications Magazine,2011.49(11):40-48
[11] Guinard, D., Trifa, V., Karnouskos, S., Spiess, P., Savio,
D.. Interacting with the SOA-Based Internet of Things:Discovery, Query, Selection, and On-Demand Provisioning of Web Services[J].IEEE Transactions on Services Computing,2010.3(3):223-235