设备状态监测系统中实时双向通信模型设计与实现

2016-06-15 06:45林航张引强陆俊
中国新通信 2016年9期
关键词:数据包网关客户端

林航 张引强 陆俊

【摘要】 本文介绍了结合物联网技术的设备状态监测系统的实现方式,如何设计双向通信模型解决服务器与客户端间数据高频实时传输以及服务器与大量集中器同时通讯的问题,实现对大量资产设备的在线监测、消息告警、跟踪管理。

【关键字】 电力设备 状态监测 物联网 双向通信

一、引言

近年来,在国家政府的大力支持下,物联网产业得到长足的发展。物联网的用途广泛,可运用于城市公共安全、工业安全生产、环境监控、智能交通、智能家居、公共卫生、健康监测等多个领域,主要是从应用出发,利用互联网、无线通信技术进行业务数据的传送,是互联网、移动通信网应用的延伸,是自动化控制、遥控遥测及信息应用技术的综合展现。物联网应用于资产监测能够带来信息的实时性、提高便利性、有利于安全管理、提升信息化程度。[1]

要实现覆盖全省十几个地市上百个通信站点上万台机柜,获取大约十万采集点的实时状态监测数据,检测出任一设备的位置或者异常状况,采用过去那种高频率请求服务器的方法来获取设备的状态对服务器的压力很大,为此,我们研究并设计双向通信模型,引入SignalR库,构造实时的消息处理机制[2],建立持久连接的应用系统[3][4]。本系统结合物联网技术,通过信息传感设备按约定的通信协议,将物与物、人与物连接起来,通过各种接入网、互联网进行信息交换,获取实时可靠的在线资产状态数据,以实现资产设备智能化识别、定位、跟踪、监控和管理。

二、设备状态监测系统实现方式

在通信站点中常见的场景有调拨设备、维修设备、携带设备进出房间等,设备的管理信息全靠人工去维护费时费力且容易疏漏,尤其在上百个站点间信息互通也很困难。设计设备状态监测系统结合射频识别和传感器等物联网技术,即可构建包含数量庞大的设备的物联网络,在线监测设备资产的位置、温度、湿度等重要指标,实现在站点之间传递实时状态信息,完全发挥物联网的优势。

设备状态监测系统以全省地市为单位划分区域,区域内包含站点的通信机房,对机房的资产采用机柜到机框到设备逐层定位的方法,标识出一个设备的具体位置。设备在系统中可能具有的状态包括:正常、移出、新增等。设备的状态是根据阅读器扫描的结果对比分析系统中已注册的数据得出的。设备的性能指标如温度、湿度、浮尘由阅读器实时采集获得,与标准值(在系统中设定)比较来判断是否需要发出指标异常告警。

三、实时双向通信模型设计

设备状态监测系统不仅跟数据集中器通信来采集设备状态信息,同时还高效的分析数据,加工整合出操作人员需要看到的那一部分。我们给设备状态监测系统设计了主站系统和后端服务两个子系统。主站系统使用B/S结构,使用浏览器即可访问,它负责展示资产监测状况。后端服务部署后在后台7x24小时自动运行,无需人工干预,它负责监听物联网网关,采集资产设备的状态数据。那么在主站系统与后端服务乃至物联网网关间需要一条通信线路保持数据的传递及时准确,并且要能承担大数据量的压力。我们采用了SignalR搭建一个双向通信模型来支撑网络通信。

在系统中后台服务能监听多个物联网网关,如图1所示。网关周期性(可设置周期大小)的往指定端口发送数据包,数据包中包含此次采集的设备状态信息。服务在端口监听到数据包时,依照自定义的软硬件通信规约解析报文,丢弃无效和垃圾数据,提取出可靠的状态数据,然后进行计算分析是否有资产移动,是否有指标异常。在客户端浏览器中访问系统时,如果采用周期性请求刷新的方式,每隔一段时间去查询资产状态和位置,会给服务器带来较大压力,造成资源浪费,因为资产不属于运动的物体,在大部分时间在机柜中处于静止状态,频繁的查询效果并不好。我们引入SignalR——一组服务器和客户端库,建立了双向通信模型,以便在服务器和客户端之间建立实时双向通信。不仅客户端可以启动与服务器的联系,而且服务器也能联系客户端。这些并不仅仅是简单的 HTTP 响应。这些是从服务器到客户端的实际方法调用,类似于推送技术。这种推送依赖于浏览器的能力,而双向通信模型拥有Forever Frame、Long Polling、Server Sent Event、WebSocket四种传输方式,每种传输方式都有自身的要求限制,它可以根据客户端浏览器的支持选择最佳的传输方式。

我们使用SignalR中的集线器(Hubs)模式来进行通信,例如,在客户端的代码中放置一个broadcastMessage方法,当服务器分析得出有设备移动时则会使用集线器发送一个包含调用方法及参数(当对象作为方法参数时,将被序列化来发送)的数据包主动推送给客户端。然后客户端检查接收到的方法名称,并在客户端定义方法中进行匹配查找,如果匹配成功(这里就是broadcastMessage),则执行方法并使用反序列化的对象作为方法参数。反过来,在服务器配置一组响应集线器收到消息的方法,如果想要立即获得某个机柜中设备最新状态时,客户端使用集线器发送参数给服务器,服务器校验参数通过之后向物联网网关发出请求数据包,获取设备最新扫描状态再反馈给客户端,呈现在界面上。

系统覆盖全省通信站点,同时监听数个物联网网关的运行。后台服务与物联网网关间使用异步通讯模式,完全不用担心通讯阻塞和线程问题。系统支持带标记的数据报文格式的识别以完成大数据报文的传输,可以适应恶劣的网络环境。服务器维护了一组连接客户端的状态,能够管理客户端连接、断开,发送与接收数据的事件。当接收到数据包时可快速定位到客户端的地址,从而给网关所在的站点发出消息。

四、实时双向通信实现效果

物联网的重要基础是联系事物的组网与互联技术。通过使用双向通信模型,服务器与客户端之间建立了持久连接,有效减轻因客户端高频发送请求造成的服务器压力,服务器也无须等待客户端的请求到来再响应。假如在后台服务的一次数据包分析中发现了异常状态的设备,比如温度超出标准温度5度需要告警,那么消息处理机制会给操作人员一些提示,更新设备的温度并告诉他哪里的设备出现异常。即使全省有1000个客户端连接,服务器也可以对连接自动管理,它可以在几毫秒内给所有已连接的客户端发送广播消息,也可以选择只发给特定的客户端。

该实时双向通信模型应用于设备状态监测系统,结合传感、标识、定位等物联网技术,可实现全省上百个通信站点内各节点通信资产设备的定位与主要部件的温度、湿度、浮尘等重要性能指标感应采集,对大量采集数据加工分析,实时响应、传递异常状态的告警,防止对资产管理产生重大影响或潜在风险事件发生。

参 考 文 献

[1] 刘化君. 物联网技术[M]. 电子工业出版社2010

[2] Tom Dykstra, Tom FitzMacken. Server Broadcast with SignalR 2[J]. 2014

[3] Scott Hanselman. Asynchronous scalable web applications with real-time persistent long-running connections with SignalR[J]. 2011

[4] Patrick Fletcher. High-Frequency Realtime with SignalR 2[J]. 2014

猜你喜欢
数据包网关客户端
基于FPGA的工业TSN融合网关设计
基于ARM架构的工业物联网网关研究与实现
满足法规要求的车载终端数据包加密方案分析
C#串口高效可靠的接收方案设计
虚拟专用网络访问保护机制研究
新闻客户端差异化发展策略
网络数据包的抓取与识别
浅析IEEE 802.1x及其客户端软件
基于ENC28J60的嵌入式以太网/CAN网关设计