首页> 中国专利> Web环境下基于池技术的环保物联网实时控制方法

Web环境下基于池技术的环保物联网实时控制方法

摘要

本发明公开了一种Web环境下基于池技术的环保物联网实时控制方法,适用于B/S架构的污染源实时监控系统,所涉及的池包括:存储监控终端、浏览器等Socket连接信息的连接池,存储浏览器端向远程目标设备发出控制请求的执行中控制池和等待控制池,以及存储各类数据的数据池,所述的环保物联网实时控制方法,利用池技术实现了浏览器端对远程设备的并发控制,并能将无来源标识的控制结果准确地返回给发起控制的浏览器。

著录项

  • 公开/公告号CN104079658A

    专利类型发明专利

  • 公开/公告日2014-10-01

    原文格式PDF

  • 申请/专利权人 南通大学;

    申请/专利号CN201410331300.8

  • 申请日2014-07-14

  • 分类号H04L29/08(20060101);

  • 代理机构32243 南京正联知识产权代理有限公司;

  • 代理人顾伯兴

  • 地址 226000 江苏省南通市崇川区啬园路9号

  • 入库时间 2023-12-17 02:09:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-14

    授权

    授权

  • 2014-10-29

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20140714

    实质审查的生效

  • 2014-10-01

    公开

    公开

说明书

技术领域

本发明涉及一种基于池技术的环保物联网实时控制方法,主要应用于B/S架构下,环保物联网中监控中心服务器或任何浏览器端对现场设备进行远程实时控制。

背景技术

随着信息技术、网络技术的飞速发展,我国环境信息化建设工作也得到了较快发展,以国家级环境信息网络系统为中枢、省级环境信息网络系统为骨干、城市级环境信息网络系统为基础、县级环境信息网络系统为补充的四级全国环境信息网络系统已初具规模。虽然污染源自动监控系统经过10多年的建设,技术越来越先进,功能越来越复杂,但要使自动监控系统更完善、满足新时期环境预警与监控的要求,还有很多问题迫切需要解决。

现有的污染源在线监控中心对远程设备的控制,如远程读取实时数据、远程采样、远程读取分析仪的当前运行状态、远程关闭排污口阀门等功能,有的只能在中心服务器实现;有的基于C/S架构,在客户端安装相应的软件实现,实际使用中有一定的局限性。在B/S架构的污染源远程监控系统中,如何将浏览器上的信息快速地发送到远程现场设备,实现浏览器与远程监控设备之间实时、高效的双向通信是亟待解决的问题。

发明内容

本发明的目的是为了解决上述问题,提供一种Web环境下基于池技术的环保物联网实时控制方法。

本发明的目的通过以下技术方案来实现:环保物联网在线监控平台上,包括三类池:一是存储监控终端、浏览器等Socket连接的连接池,二是用于远程实时控制的控制池,三是存储各类数据的数据池。控制池包括执行中控制池和等待控制池,每个远程设备某个时刻只支持一个浏览器端的控制,如果有其他的发往该远程设备的控制请求则进入等待控制池中等待,实现浏览器端并发控制远程设备。根据连接池中保存的最新连接信息,监控服务器可将执行中控制池的控制命令准确而无冲突地发往相应的目标设备,同时能将目标设备返回的无来源标识的结果准确地反馈给发出请求的浏览器。

本发明的进一步改进在于:连接池实现了服务器与远程数采仪、数据传输单元、浏览器之间所有连接信息的统一管理。在实时控制中,一方面,因为数采仪与监控平台的Socket连接有时会断开,所以有些数采仪在反控实现时,是借助数采仪主动向监控平台发起的最近的一条连接来实现反控的,这会影响对数采仪实时反控的实现,甚至无法反控,为此通过引入连接池,记录所有连接信息,当数采仪每向监控中心发送数据就维护连接池中所有连接的最新信息,确保反控信息能够借助该连接即时发送命令给目标设备,减少等待时间;另一方面,连接池维护了浏览器端的Socket连接信息,当控制终端设备时,返回的结果信息可以通过这些连接通道快速地发送给发起控制的浏览器。

本发明的进一步改进在于:在服务器上根据接收数据类型的不同,进一步划分为存储不同类型数据包的包池,将接收的新数据直接存储在内存中,可以快速地将各类最新数据显示在监控界面上,无需频繁地进行入库查询和读取等操作,提高了页面加载数据的速度。

本发明的进一步改进在于:浏览器端向远程目标设备发出控制命令,如果当前该目标设备没有其他浏览器向其发出控制请求,则将该控制命令连同浏览器和服务器以及服务器和目标设备之间的连接信息封装后进入执行中控制池,并将相应的控制命令发往目标设备;当服务器监听到目标设备发送过来的数据时,先检查执行中控制池是否有发往该目标设备的相关控制命令,如有则将其作为反馈数据,并读取执行中控制池该条控制命令的相关连接信息,将反馈数据返回给发出请求的浏览器端,并将该条控制命令从执行中控制池删除。

本发明的进一步改进在于:某个时刻每台目标设备只处理一个浏览器端的控制,其余发往该设备的控制信号都进入服务器端的等待控制池队列;当执行中控制池发往该设备的控制命令执行结束或反馈时延超出了设置的最大时延时,将执行控制池中发往该设备的控制数据出池,同时从等待控制池中激活下一条发往该设备的控制数据进入执行中控制池,并发往相应的目标设备。

本发明与现有技术相比具有以下优点: 

1、利用连接池,能够实现所有连接信息的统一管理,并在监听到有效数据包时,自动维护连接池,保证连接池中的所有连接为有效连接。借助实时更新的连接池,直接将服务器上相关数据发给目标设备或浏览器,降低了服务器端只能被动等待连接发送数据的时延,提高了实时性。

2、利用连接池和控制池,监控平台能够实现将浏览器端发出的控制请求准确而无冲突地发往相应的目标设备,同时能将目标设备返回的无来源标识的结果准确地反馈给相应浏览器,给出了实时控制平台中一种有效的实时控制方法。

3、通过执行中控制池和等待控制池,实现了目标设备的并发控制,即某个设备某个时刻只允许一个浏览器端进行控制,避免了多终端同时控制引发的现场设备重复操作、误操作等问题,解决了浏览器端并发控制终端设备的需求。

附图说明

图1是基于B/S架构的污染源在线监控体系结构图;

图2是基于池的多任务监听;

图3是基于池的实时控制流程;

图4是浏览器BC Server监听和处理流程图;

图5是数采仪DAQ Server监听和处理流程图。

具体实施方式

为了加深对本发明的理解,下面将结合实施例和附图对本发明作进一步详述,该实施例仅用于解释本发明,并不构成对本发明保护范围的限定。

基于B/S架构的污染源在线监控体系结构如图1所示。为了实现监听服务器和Web浏览器之间双向实时通信,采用了Flash XML Socket通信方式。标准的Web访问机制采用HTTP协议,只允许浏览器端主动发起请求,而服务器是被动响应,不允许服务器向浏览器发出一个连接请求,也就是说没有为服务器向浏览器推送数据提供设计实现。与此相对照,XMLSocket解决方案保持与服务器的开放连接,这一连接允许服务器即时发送传入的消息,而无需客户端发出请求,保证了实时性。如图2中的Flash Server负责实现服务器端和浏览器端XMLSocket连接的建立,连接成功后即可通过BC Server实现服务器端和浏览器端的双向实时通信。

Web浏览器端根据用户从界面上提交的控制请求,如目标设备、命令类型、污染物编号等信息,通过添加校验码、包长等信息,按照我们自定义的传输协议封装成数据包,将控制命令从浏览器端发送给服务器端。

根据监听任务的不同,服务器端由多个监听服务器组成,如图2所示。其中BC Server负责接收从浏览器端发出的控制请求以及向浏览器发送控制结果,接收到控制数据包后,对数据包根据自定义传输协议进行合法性解析,如解析正确,进一步分析控制命令的类型。虽然目前国家对数采仪的传输标准等进行了规范,也支持远程控制,但各厂家在具体实现时还存在差异,也不能完全支持所有的控制类型,所以根据实际使用的需求,在我们的系统框架设计中,有些数采仪不支持的,我们可以直接通过数据传输单元DTU直接进行远程控制,使得我们的污染源在线控制系统具有高度的灵活性。

通过对控制命令类型的分析,我们可以选择是向数采仪,还是向DTU发送控制命令。如果向数采仪发送,服务器将接收到的控制数据包解析并提取数据,再将数据封装成符合国标HJ/T212-2005的控制命令格式,通过服务器端如图2中所示的DAQ Server,将数据发往对应的数采仪。如果向DTU发送,根据现场设备支持的协议类型,比如松下协议,将数据封装成松下协议格式的控制命令,通过DTU Server将数据发往对应的DTU。数采仪或DTU与现场监测设备之间通过串口通信,将控制命令发送给现场监测设备,如开阀、关阀、超标留样、获取实时值、获取检测仪表状态信息等。现场监测设备执行命令,将反馈的结果通过数采仪或DTU返回给监听服务器,由BC Server通过XML Socket将反馈结果传输到Web浏览器端。

如图2所示,监听服务器上除了负责监听不同任务的四种终端外,还有不同的池,包括用于记录连接信息的连接池ConnectionPool,用于处理控制信息的执行中控制池ControllingPool和控制等待池ControlWaitingPool,以及用于存储各类接收数据的数据池。将接收的最新数据直接存储在内存中,避免了对数据库的频繁查询、读取等操作,提高了页面加载数据的速度。

由于终端设备响应控制命令的反馈数据无法与普通数据进行区分,也无法追踪控制命令的发起者,为了实现浏览器端对远程设备的实时控制,例如远程采样、远程开阀、远程关阀等,我们约定一台数采仪或DTU某一时刻只处理一个远程控制命令。图3给出了环保物联网中基于池的实时控制技术。当浏览器端发出控制请求后,服务器端先检查执行中控制池ControllingPool中有无发往该数采仪或DTU的控制命令正在执行,如果没有,则将新的控制命令加入ControllingPool,否则将其加入等待控制池ControlWaitingPool。当某一控制命令执行完,数采仪或DTU将执行结果上传到服务器,服务器上将返回结果入相应的数据池,根据ControllingPool中发往该数采仪或DTU的控制信息,将执行结果返回给发出请求的浏览器,并将该控制信息从ControllingPool中删除,同时从ControlWaitingPool中获取发往该数采仪或DTU的下一条控制命令,如果存在这样的命令,将其从ControlWaitingPool转移到ControllingPool并执行,即将相应的控制信息根据ConnectionPool中的连接信息发往相应的数采仪或DTU,执行下一条控制命令。

为了实现浏览器端对现场设备的实时控制,我们基于Flash XML Socket实现双向实时通信。服务器上Flash Server负责建立服务器端和浏览器端的XML Socket连接,连接建立后,服务器上基于BC Server与浏览器端进行双向实时通信,浏览器端一般信息的浏览、查询等仍基于HTTP协议。

图4给出了服务器上BC Server针对浏览器的监听和处理流程。对浏览器端发出的控制请求进行解析,如果对接收的包解析正确,结合浏览器和服务器之间的连接信息,以及服务器和目标设备之间的连接信息,将控制请求封装为特定格式的控制数据入执行中控制池ControllingPool,根据目标设备是数采仪还是DTU,选择DAQ Server或DTU Server将控制数据发送给指定的目标设备。

图5给出了服务器上DAQ Server针对数采仪的具体监听和处理流程,服务器上DTU Server针对DTU的监听与处理流程与其类似。DAQ Server负责监听数采仪上传的数据,通过上传数据中数采仪设备的信息,再去控制池ControllingPool中查找是否有该数采仪的相应控制命令正在进行,若有则将此时数采仪上传的数据作为响应控制的结果返回给浏览器端,否则作为一般上传数据进行处理。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号