物联网通用应用层架构设计
扫描二维码
随时随地手机看文章
引言
物联网系统通常可由M2M应用平台、用户侧的汇聚网关和用户侧若干传感器组成。由于物联网设计的行业种类繁多,目前的应用平台和汇聚网关一般都由一个厂家提供,他们之间的通信协议也是私有的。而这又限制了应用的迅速开发和升级开发。
为此,本文设计了一种在汇聚网关上的通用应用层(CAL)架构。通用应用层(CAL)可对外提供统一的应用编程接口(API),并可屏蔽传感器通信差异的技术细节。文中详细介绍了通用应用层的分层架构模型,并针对不同性质的传感器应用设计了不同的API。采用该通用应用层架构的物联网系统可以进行汇聚网关和业务平台的独立开发和部署。
1 技术背景
物联网(M2M)作为当前迅猛发展的新技术,已经成为当前的热点话题。物联网技术必将带来一场深刻的科技变革,带来人类科技文明的飞跃。物联网的范围非常广,业内预测:物联网终端用户将是手机等移动通信终端用户数量的数十倍。物联网的种类和跨行业十分广泛,从家庭、企业、到各个行业。应用范围包括电力行业的远程抄表、配输电设备监控、重点污染源监控、气象检测、车辆管理、水文检测、物流运输、移动POS等业务,而且其它行业的物联网应用还有不少。物联网的实质是利用无线或有线通信技术,通过互联网实现各种物品的管理控制和信息共享。物联网数量庞大、行业众多,实现的技术多种多样。物联网设备接入网络的通信协议一般有Zig-Bee、蓝牙、Wi-Fi、Z-Wave等。
2 目前物联网体系框架存在的弊端
物联网(M2M)实现中,一般要在家庭或企业侧部署一个M2M网关,该网关可以是单独设备,也可以和路由器、宽带网关集成,主要负责传感器和应用平台之间的通信,它一方面由M2M网关接收应用平台的管理或操作指令,另一方面,M2M网关还负责传感器状态的监视和数据的采集。
物联网在各个行业都有非常专业的需求,因而每个行业,甚至每个部门都有自己的M2M应用平台。M2M网关给M2M应用平台提供的通信接口没有统一的标准,这样,应用平台就必须对M2M网关作定制开发。在没有统一接口标准的情况下,应用平台接口开发、调试工作量很大,另外,当M2M更换设备时,平台也要重新作适配开发。因此,物联网的飞速发展迫切需要定义统一的接口标准和通用的M2M网关架构。目前业界设计的平台开发架构多侧重于物联网运营支撑的平台架构,其结构如图1所示。
3 通用应用层的架构和关键技术
3.1 通用应用层架构和系统接口
M2M网关引入通用应用层(CAL)架构有助于解决应用平台和网关之间的标准统一,也有助于M2M网关的标准化。通用应用层可向M2M应用平台提供通用的应用编程接口(API),以便应用平台不再关心M2M网关的差异。通用应用层(CAL)的系统接口如图2所示。
传感器管理平台也可使用通用应用层提供的API,其中管理平台可能是应用平台的一部分,也可能是独立的平台。不同行业甚至可以共享一个管理平台,比如由电信运营商提供M2M网关的情形,设备的管理即由电信运营商管理,而业务采用各行业自建的平台。
通用应用层可提供不同形式的API:其一是对实时性要求较高的应用,可采用基于TCP/UDP的私有协议;其二是对实时性要求较低的应用,如管理、配置类通信请求,采用业界通用的WebService接口。
通用应用层技术还可以提供应用平台SDK开发包,开发者无需关心通信的底层协议,从而可以让开发者专注于M2M应用开发。
3.2 通用应用层的分层结构
图3所示是通用应用层的分层逻辑架构。由图可见,该应用层分为四层架构,现分别描述如下:
(1) 接口层
接口层主要是和各种传感器的接口。该层能适配各种传感器通信协议,如Zigbee、Z—Wave、UPnP、LON、DLNA等。
(2) 数据分析层
数据分析层主要是对主动采集的信息、设备上报的告警信息、事件信息等进行统一过滤和分析,只有超过用户设置的阈值才会向用户发送告警信息;同时对釆集的数据进行预处理,丢弃无用信息,并可转换采集的数据格式;另外就是进行简单的统计分析,供应用査询;再就是提供数据的短时间的存储。设计这一个策略层的目的就是减轻应用逻辑层的数据过滤和处理的压力,提高系统的整体性能。
(3) 应用逻辑层
应用逻辑层主要是对应用的请求进行处理。主要包含应用认证、传感器监控定制、传感器状态察看、传感器远程控制、传感器变化通知、传感器管理、传感器报警、传感器配置等八大类业务逻辑处理模块。应用认证模块的目的是防止未经授权的应用来访问传感器;传感器监控定制模块用于接收应用的订购监控请求,并保存;传感器状态察看模块接收应用的传感器状态査询请求,并从传感器获得相应状态,然后返回给应用;传感器变化通知模块根据传感器监控定制模块存储的定制请求,定期查询传感器状态,有符合应用定制要求的,就主动通知应用;传感器管理主要关注传感器工作状态的管理,而不是对传感器业务的管理;传感器报警模块接收数据分析层的告警信息,并发送到管理平台;传感器配置用于接收管理平台的配置工单,并正确配置传感器的参数。
(4) API层
API层可提供一系列的API,以供应用平台和管理平台调用。API主要包括认证API、订购API、査询API、控制API、通知API、告警API和配置API等。
3.3通用应用层API
通用应用层提供有一系列的APL可根据应用的不同提供WebserviceAPI和实时响应的自定义API。与管理相关的API对实时性要求不高,可以采用WebServiceAPI0而传感器状态监控、控制命令下发则对实时性要求很高,故需要釆用实时性较强的通信技术。表1所列是通用应用层编程接口(API)的主要分类。
4 轮渡和大桥交勇监控中的通用应用层应用
大江、大河的轮渡和大桥的交通运输一般都部署了各种传感器,如车辆载重传感器、挡竿传感器、风速传感器、路灯传感器等。因此,在大桥或轮渡监控中心部署交通监控应用平台,若没有使用具有通用应用层技术的采集网关,应用平台就必须开发和釆集网关的私有接口,而且开发调试比较困难,另外,应用平台的通用性也将受到限制。使用具有通用应用层技术的采集网关可简化开发周期,应用平台直接集成有通用应用层技术可提供的SDK。图4所示是通用应用层技术在轮渡大桥监控系统中的应用示例。
在图4所示的示例中没有部署单独的管理平台,其采用通用应用层技术的轮渡和大桥交通监控的应用流程如下:
(1) 应用平台通过通用应用层API接口配置传感器参数;
(2) 应用平台通过通用应用层API接口订购应用平台要监测的传感器及相关的状态;
(3) 通用应用层监测应用平台订购的传感器,并把符合应用平台监测要求的状态发送给应用平台;
(4) 应用平台通过通用应用层API接口查询传感器的状态(该步骤和2,3步无前后关系)。
5结语
通用应用层的提出能促进物联网业务平台的快速开发和部署,帮助物联网应用开发者屏蔽传感器通信差异的技术细节。然而,为促进物联网网关的标准化,通用应用层内部的技术细节还有待进一步研究。