王若梦,刘 云,张振江
(北京交通大学通信与信息系统北京市重点实验室 北京100044)
物联网技术的相关应用已经越来越普遍。但对应于每一种具有实际管理要求和应用的物联网,都需要开发与之相关的管理平台或服务,这使物联网的应用受到一定的限制和影响。开发一种通用的物联网管理平台,可以用于所有不同的异构网络,并且实现对该网络资源的管理将会使物联网的应用更加普遍和灵活。本文立足于设计一种可以用于管理普遍物联网的平台,该平台可以适应任意异构的网络,可以灵活自主地管理本地物联网资源,可以提供丰富的服务供其他系统使用,可以快速地添加模块以实现用户的特殊要求,并且具有良好的跨平台性,与用户使用的系统无关。本文详细地分析了平台的实现细节。
该平台的网络结构如图1所示。
该平台的服务器需要与被管理的物联网网关在应用层连接,可以访问该物联网的中间件服务。平台运行需要有ONS服务支持,用于解析物联网节点EPC的网络位置和数据存储位置。平台需要数据库的支持,用来管理物联网相关的数据,维护平台的正常运行。平台可以接入互联网,为互联网用户提供服务。
为了实现该平台最基本的两个问题:物联网如何接入该平台;对于物联网的各种功能,该平台如何做到全部支持。我们考虑使用图2所示的平台结构。
网络接口层用来实现物联网的接入和访问,主要提供中间件服务。中间件服务类似于“中间件的中间件”这一概念。不同功能的网络,其中间件提供的功能和访问方式都是不同的,平台通过中间件服务,可以做到对中间件的统一管理调度。
中间件服务主要提供以下3个功能。
·中间件注册:物联网接入平台时,需要向平台注册该网络的中间件服务以及调度方式,供平台使用。对应不同目标的中间件服务,生成中间件集,方便管理和调用。
·中间件访问管理:向上层提供中间件访问服务。需要根据上层需要访问的节点目标自动匹配中间件集,提供相应服务。
·中间件注销:注销无用的中间件集或中间件集中的服务。
该层维护和管理平台运行的基本环境,类似于平台的 “硬件”。基础服务层向系统提供完整的数据交互方式、系统故障处理和监视以及全部的数据管理功能,维护系统的正常运行。该层提供两类服务:基本服务和数据服务。
3.2.1基本服务
基本服务用来维护平台的基本运行,功能包括以下4方面。
(1)初始化功能
对未知的物联网接入初始化,如子网物理位置、IP以及相关信息;对未知节点初始化,如节点EPC、ONS写入,节点信息写入等。
(2)ONS维护
需要对ONS服务器的解析服务进行维护。当有节点从子网A退出,进入子网B时,该层需要对该节点的ONS信息进行维护,使之与实际相符。
(3)网络拓扑维护
至少做到某个节点归属子网之间的关系维护,对于一些更加复杂特殊的网络,可以做到平台需要的维护要求。
(4)节点状态监视
对物联网节点的状态监视,向上层提供反馈和报警功能。
3.2.2数据服务
数据服务用来维护物联网所有能够访问的数据。物联网的数据维护可以分为两类:数据缓冲区数据维护和数据库数据维护。
数据缓冲区是为实时服务而开启的内存区域,为上层提供节点数据的快速实时访问。数据缓冲区数据维护内容包括将节点采集的数据向内存的映射管理,数据采样率管理,内存释放等。对于传感器类网络,数据缓冲区数据是平台操作物联网数据的最直接方式,可以做到对数据的实时监视。
数据库是节点信息的基本存储手段。数据库中的内容包括两类:系统数据和用户数据。系统数据用来存储平台运行的基本信息,如节点基本信息、网络拓扑信息、日志信息等。用户数据是用户自己配置的需要管理的信息。该信息通过用户配置引擎将用户需要管理的内容映射为数据库相关表项,数据服务可以提供对这些表项的存取管理操作。
该层相当于 “软件层”,它利用已经搭建好的运行环境,提供一些最基本的服务。系统可以提供的服务集包括以下4种。
(1)数据服务集
对数据缓冲区和用户数据库数据,提供一组对数据的操作,包括映射服务、读写服务等。
(2)数据处理服务集
提供对相关数据的操作和处理。
(3)内容显示服务集
对各种类型的数据提供相应的显示服务。
(4)系统操作服务集
系统操作服务集包括邮件服务、系统配置服务、报警服务等基于系统的服务类型。
对于一些特殊的应用要求,用户可以自定义服务,来实现对物联网的管理要求。
该层是面向用户应用的一层。它的功能是通过用户的需要,利用提供的用户配置向导,将集成服务层的各种服务有机地组合和配置,使平台实现用户需要的管理功能。该层可以提供一些通用管理模板,实现大多数物联网及其资源的管理,也可以使用户自定义模板,实现用户的特殊要求。
用户配置包括数据配置和服务配置。在使用该平台前,用户必须明白需要管理物联网的何种资源(数据)以及如何管理(服务)。
数据配置指用户需要管理的对象以及相关属性的添加设置。每一个物联网节点,可以被惟一的EPC标示。标示背后的信息需要用户自己添加。向导会针对用户给出的管理对象的各种属性内容,生成相关的用户数据表项,或是开辟用于实时监控的数据缓存。
服务配置需要用户根据自己的需要,告诉平台物联网以及资源应该如何管理。是否要出入库登记,还是对某个温度传感器进行监视报警。该配置决定了平台的运行方式。
SOA(service oriented architecture)可以实现该平台期望的功能,即用户通过网络对松耦合的粗颗粒度应用组件进行分布式部署、组合和使用,从而实现对物联网的管理。服务可以是运行在同一主机或不同主机不同网络位置的应用程序来提供。程序之间通过定义良好的接口和协议来达到交互的目的。该平台的设计基于SOA,位于“集成服务层”和“基础服务层”的所有的服务都被设计为松耦合的粗颗粒度应用组件,所有服务都遵循Web services标准,使服务之间能够更好地进行交互。
基本的SOA体系结构如图3所示。
由于物联网环境的不可预知和异步性,单一的SOA技术并不能很好地做到物联网的实时响应。因此,该平台的设计需要事件驱动技术的支持。定义于该系统的事件可以传输与所有服务组件之间。服务组件通过响应特定的事件来完成系统指定的各种功能。
一个典型的事件驱动模型包括由事件消费者、事件生产者和事件管理器组成。事件生产者向事件管理器发布事件,事件消费者从事件管理器订阅和处理事件。当事件管理器从事件生产者那里接收到一个事件时,事件管理器把这个事件转交给事件消费者。当该事件消费者不可用时,事件管理器将保留该事件并在一段时间间隔后重发。
将平台上所有服务统一编制成基于Web services标准的粗颗粒度松耦合服务组件之后,可以统一通过如图4所示的结构进行统一调度和管理。
服务引擎通过用户服务配置文件,有规则地绑定集成服务层的服务以及制定事件处理规则。服务引擎需要通过服务注册中心发现服务的位置和内容。由于基础服务层和中间件接口层的设计对各自的上层透明,集成服务层的服务实现可以直接使用基础服务层,基础服务层的服务可以直接使用中间件服务而不需要从服务注册中心发现。这两层需要向服务注册中心注册服务,可以使其他系统或用户发现并使用它们所提供的服务。
事件订阅规则分为两种:基础事件和用户定制。基础事件指每个服务所能处理和产生的服务,用户定制事件是用户在配置服务时,服务引擎自动生成的用于控制服务结构和流程的事件,这些事件全部通过事件管理器管理。
不同用户对于数据的管理要求各不相同,数据管理模式要求用户完全自主定制。平台在这里引入一个节点类型(nodetype)的概念。在数据配置阶段,用户通过分析自己的实际环境,将物联网中的节点归类,利用向导组织每类需要管理的内容。从系统角度看,每个nodetype可以被描述为几个数据表的组合。节点读写时,根据该节点的nodetype和EPC码自动读取相对应的表项。向导工作流程如图5所示。
系统初始化流程包括用户数据配置、用户服务配置、系统环境搭建与维护。
用户数据配置主要用来告诉系统需要管理的对象有哪些。它主要是针对物联网节点而设计的。在分析自己的需求之后,用户可将需要管理的节点进行分类,为每一类命名,添加属性。这样,在系统初始化阶段,平台会为每类节点开辟数据表和数据缓存,提供相应的数据服务。平台没有为用户数据配置提供专门的文件系统,数据配置相当于“硬件配置”。
用户服务配置通过配置向导,将已有服务经过有机组合,向平台提供相关的管理依据。用户服务配置将生成专用于用户服务引擎的文件格式。平台依照该文件提供服务。
系统环境的搭建维护用来初始化平台的运行环境。
系统初始化有下列两种情况:系统第一次使用初始化和二次开机(配置和故障原因)初始化。系统第一次使用初始化和二次开机初始化流程如图6和图7所示。
其中,物联网注册包括物联网IP信息、位置信息以及相关管理信息。
网络节点注册包括注册该节点的网络归属位置、ONS信息、用户定义节点类型,必要时可以直接向用户数据写入节点内容以及属性信息。
平台环境维护用来维护平台的基本运行环境,包括网络拓扑、节点状态等。
二次开机流程与第一次初始化流程不同的是,平台只需要读取用户的服务配置文件,而不需要改变数据存储结构。平台需要检查网络拓扑结构,ONS数据是否与记录一致,不一致时询问用户更新网络节点或是记录信息,接着进入服务,维护平台环境。
该系统对两类功能截然不同的物联网进行了管理运行。一类是基于RFID的设备管理网络。由于该网络中间件接口使用标准Web服务接口,可以很轻松地接入该平台中。节点类型nodetype使用了3张表项:节点信息表、结点状态表、设备信息表。该平台对该类网络能够做到非常好的支持。由于管理中对数据库的服务涉及得比较多,用户服务规则定制十分简单,只需做到对3个数据表的读取和修改即可。且服务可以在任何一台连入互联网的计算机中访问。另一类是温度传感器监视网络,用以实时监视环境中的温度变化。由于物联网网关提供中间件服务,将其接入网络也相当简单。对于实时监视,需要在平台服务器中映射一段数据缓存区,这需要用到数据服务中的缓存映射服务。完成后,为服务配置设置监视规则和存储点即可。用户显示方式运用曲线显示,可以使用户看到一段时间的温度走势情况。平台对该类网络也可以做到相当好的支持。
从该平台的设计理念出发,该平台可以做到对任意类型物联网的支持,对其中的所有资源做到用户自定义的管理。为了方便使用,平台还设计了管理模板供用户使用。实际运行中也证明了这一点。它可以为物联网提供高效的组织管理功能,方便用户快速地将各种类型的物联网进行管理,必将对物联网的发展起到促进作用。鉴于物联网的异构性和使用的普遍性,这种网络资源管理的方式也将成为物联网中平台设计的主要方式之一。
1张辉,于建江,汤克明.基于整合SOA与EDA的智能化时间驱动模型.计算机应用研究,2009,26(9):3354~3357
2叶宇风.基于SOA的企业应用集成研究.微电子学与计算机,2006,23(5):211~213
3魏东,陈晓江,房鼎益.基于SOA体系结构的软件开发方法研究.微电子学与计算机,2005,22(6):73~76
4沈苏彬,范曲立等.物联网的体系结构与相关技术研究.南京邮电大学学报,2009,29(6):1~10