发明内容
本发明为了克服上述现有技术的缺陷,提供基于物联网隧道照明***数据可视化监测分析控制平台,本发明能够对整个隧道内的所有车辆通过过程及隧道设备运行情况实现整体且实时可视化的呈现。
本发明通过下述技术方案实现:
基于物联网隧道照明***数据可视化监测分析控制平台,包括网络层,还包括应用层和感知层,所述应用层包括前端模块和后端模块,后端模块用于获取并处理存放在数据仓库中经网络层处理后的元数据,通过显示屏显示数据,前端模块用于根据后端模块返回的显示数据值来判断页面单双隧道,所述网络层采用Reactor线程模型,用于处理一个或多个并发传递给服务处理程序的服务请求,服务处理程序对传入的请求以多路复用的方式进行分离,并同步分派给相关的请求处理程序,所述感知层包括电连接的本地控制器、单灯调光控制器、光照传感器、车流传感器和网关,所述Reactor线程模型与感知层连接,并通过websocket与应用层进行通信。
所述网络层,用于将光照传感器及车流传感器与应用层的数据进行转化,完成数据传输。
所述应用层,用于调光、开关控制以及对单灯调光控制器运行状态数据进行采集管理监控。
所述Reactor线程模型,将待处理的I/O事件注册到一个I/O多路解复用器中,主线程循环遍历多路解复用器,直至有I/O事件准备就绪,多路解复用器从阻塞处返回,把准备好的I/O事件分发到事件处理器中。
所述Reactor线程模型,用于解耦事件处理与I/O连接模块。
所述Reactor线程模型包括主Reactor组和从Reactor组,通过业务线程池处理耗时业务逻辑。
所述主Reactor组为一个Reactor,用于监听设备的连接事件,当有连接事件产生时,在对应的连接事件处理器中创建初始化相应的设备连接通道,再以负载均衡的方式在从Reactor组中选取一个Reactor注册,并监听设备连接通道中的读写事件。
所述从Reactor组包括多个Reactor,从Reactor组中的Reactor用于监听设备的读写事件,每一个Reactor负责监听一组设备连接。
所述Reactor分配一个I/O线程,I/O线程用于从Reactor中获取I/O就绪事件,执行I/O调用获取I/O数据,并执行管道中各个处理器的业务逻辑处理代码。
本发明所述Reactor是指事件处理。
本发明所述websocket是指在单个TCP连接上进行全双工通信的协议。
本发明所述I/O是指计算机接口,输入/输出。
本发明的有益效果主要表现在以下方面:
1、本发明,与现有技术相比,采用物联网技术和数据可视化的发明构思,将通过隧道的车辆结合车速数据进行可视化的处理,从而能够对整个隧道内的所有车辆通过过程及隧道设备运行情况实现整体且实时可视化呈现。
2、本发明,在网络层接入本地控制器、单灯调光控制器、光照传感器、车流传感器和网关这些传感器设备,通过实时采集传感器设备的相关数据,实现对隧道内车辆的实时监测与跟踪。
3、本发明,通过在网络层应用Reactor线程模型,接入感知层中海量的传感器设备,并使用websocket与应用层进行通信,大大提高了平台监控数据的实时性及可靠性。
4、本发明,通过隧道的车辆结合车速数据进行可视化的处理,使得整个控制平台能够实现用图形化的形式展示隧道内车流、车速及能耗数据的实时变化情况。
5、本发明,基于光照传感器上传的实时数据,对隧道停电、隧道交通事故进行预警通知,并可根据隧道内外环境相关参数,按照提前设定的控制预案,自动下发控制指令给各个单灯调光控制器,最终实现隧道中的照明联动控制。
6、本发明,能够根据光照传感器上传的灯光状态数据、车流数据以及照度数据对隧道的照明节能进行数据分析,计算相应时间内隧道的节能数据,统计隧道的光照度以及车流变化数据曲线,为隧道监控中心管理者进行相关决策提供数据支撑。
7、本发明,Reactor线程模型,用于解耦事件处理与I/O连接模块,极大的提高了请求并发量,充分利用了服务器端的CPU 资源,并且Reactor线程模型本身不参与具体的业务逻辑,具有较好的复用性和扩展性。
8、本发明,Reactor分配一个I/O线程,I/O线程用于从Reactor中获取I/O就绪事件,执行I/O调用获取I/O数据,并执行管道中各个处理器的业务逻辑处理代码,这种无锁串行化的设计,能够防止多线程并发执行同一个连接上的I/O逻辑处理,防止出现线程安全问题,同时也可以使***吞吐量达到最大化。
具体实施方式
实施例1
参见图1,基于物联网隧道照明***数据可视化监测分析控制平台,包括网络层,还包括应用层和感知层,所述应用层包括前端模块和后端模块,后端模块用于获取并处理存放在数据仓库中经网络层处理后的元数据,通过显示屏显示数据,前端模块用于根据后端模块返回的显示数据值来判断页面单双隧道,所述网络层采用Reactor线程模型,用于处理一个或多个并发传递给服务处理程序的服务请求,服务处理程序对传入的请求以多路复用的方式进行分离,并同步分派给相关的请求处理程序,所述感知层包括电连接的本地控制器、单灯调光控制器、光照传感器、车流传感器和网关,所述Reactor线程模型与感知层连接,并通过websocket与应用层进行通信。
本实施例为最基本的实施方式,采用物联网技术和数据可视化的发明构思,将通过隧道的车辆结合车速数据进行可视化的处理,从而能够对整个隧道内的所有车辆通过过程及隧道设备运行情况实现整体且实时可视化呈现。
实施例2
参见图1,基于物联网隧道照明***数据可视化监测分析控制平台,包括网络层,还包括应用层和感知层,所述应用层包括前端模块和后端模块,后端模块用于获取并处理存放在数据仓库中经网络层处理后的元数据,通过显示屏显示数据,前端模块用于根据后端模块返回的显示数据值来判断页面单双隧道,所述网络层采用Reactor线程模型,用于处理一个或多个并发传递给服务处理程序的服务请求,服务处理程序对传入的请求以多路复用的方式进行分离,并同步分派给相关的请求处理程序,所述感知层包括电连接的本地控制器、单灯调光控制器、光照传感器、车流传感器和网关,所述Reactor线程模型与感知层连接,并通过websocket与应用层进行通信。
所述网络层,用于将光照传感器及车流传感器与应用层的数据进行转化,完成数据传输。
所述应用层,用于调光、开关控制以及对单灯调光控制器运行状态数据进行采集管理监控。
本实施例为一较佳实施方式,在网络层接入本地控制器、单灯调光控制器、光照传感器、车流传感器和网关这些传感器设备,通过实时采集传感器设备的相关数据,实现对隧道内车辆的实时监测与跟踪。
实施例3
参见图1,基于物联网隧道照明***数据可视化监测分析控制平台,包括网络层,还包括应用层和感知层,所述应用层包括前端模块和后端模块,后端模块用于获取并处理存放在数据仓库中经网络层处理后的元数据,通过显示屏显示数据,前端模块用于根据后端模块返回的显示数据值来判断页面单双隧道,所述网络层采用Reactor线程模型,用于处理一个或多个并发传递给服务处理程序的服务请求,服务处理程序对传入的请求以多路复用的方式进行分离,并同步分派给相关的请求处理程序,所述感知层包括电连接的本地控制器、单灯调光控制器、光照传感器、车流传感器和网关,所述Reactor线程模型与感知层连接,并通过websocket与应用层进行通信。
所述网络层,用于将光照传感器及车流传感器与应用层的数据进行转化,完成数据传输。
所述应用层,用于调光、开关控制以及对单灯调光控制器运行状态数据进行采集管理监控。
进一步的,所述Reactor线程模型,将待处理的I/O事件注册到一个I/O多路解复用器中,主线程循环遍历多路解复用器,直至有I/O事件准备就绪,多路解复用器从阻塞处返回,把准备好的I/O事件分发到事件处理器中。
本实施例为又一较佳实施方式,通过在网络层应用Reactor线程模型,接入感知层中海量的传感器设备,并使用websocket与应用层进行通信,大大提高了平台监控数据的实时性及可靠性。
实施例4
参见图1,基于物联网隧道照明***数据可视化监测分析控制平台,包括网络层,还包括应用层和感知层,所述应用层包括前端模块和后端模块,后端模块用于获取并处理存放在数据仓库中经网络层处理后的元数据,通过显示屏显示数据,前端模块用于根据后端模块返回的显示数据值来判断页面单双隧道,所述网络层采用Reactor线程模型,用于处理一个或多个并发传递给服务处理程序的服务请求,服务处理程序对传入的请求以多路复用的方式进行分离,并同步分派给相关的请求处理程序,所述感知层包括电连接的本地控制器、单灯调光控制器、光照传感器、车流传感器和网关,所述Reactor线程模型与感知层连接,并通过websocket与应用层进行通信。
所述网络层,用于将光照传感器及车流传感器与应用层的数据进行转化,完成数据传输。
所述应用层,用于调光、开关控制以及对单灯调光控制器运行状态数据进行采集管理监控。
所述Reactor线程模型,将待处理的I/O事件注册到一个I/O多路解复用器中,主线程循环遍历多路解复用器,直至有I/O事件准备就绪,多路解复用器从阻塞处返回,把准备好的I/O事件分发到事件处理器中。
所述Reactor线程模型,用于解耦事件处理与I/O连接模块。
所述Reactor线程模型包括主Reactor组和从Reactor组,通过业务线程池处理耗时业务逻辑。
进一步的,所述主Reactor组为一个Reactor,用于监听设备的连接事件,当有连接事件产生时,在对应的连接事件处理器中创建初始化相应的设备连接通道,再以负载均衡的方式在从Reactor组中选取一个Reactor注册,并监听设备连接通道中的读写事件。
本实施例为又一较佳实施方式,通过隧道的车辆结合车速数据进行可视化的处理,使得整个控制平台能够实现用图形化的形式展示隧道内车流、车速及能耗数据的实时变化情况。
基于光照传感器上传的实时数据,对隧道停电、隧道交通事故进行预警通知,并可根据隧道内外环境相关参数,按照提前设定的控制预案,自动下发控制指令给各个单灯调光控制器,最终实现隧道中的照明联动控制。
实施例5
参见图1,基于物联网隧道照明***数据可视化监测分析控制平台,包括网络层,还包括应用层和感知层,所述应用层包括前端模块和后端模块,后端模块用于获取并处理存放在数据仓库中经网络层处理后的元数据,通过显示屏显示数据,前端模块用于根据后端模块返回的显示数据值来判断页面单双隧道,所述网络层采用Reactor线程模型,用于处理一个或多个并发传递给服务处理程序的服务请求,服务处理程序对传入的请求以多路复用的方式进行分离,并同步分派给相关的请求处理程序,所述感知层包括电连接的本地控制器、单灯调光控制器、光照传感器、车流传感器和网关,所述Reactor线程模型与感知层连接,并通过websocket与应用层进行通信。
所述网络层,用于将光照传感器及车流传感器与应用层的数据进行转化,完成数据传输。
所述应用层,用于调光、开关控制以及对单灯调光控制器运行状态数据进行采集管理监控。
所述Reactor线程模型,将待处理的I/O事件注册到一个I/O多路解复用器中,主线程循环遍历多路解复用器,直至有I/O事件准备就绪,多路解复用器从阻塞处返回,把准备好的I/O事件分发到事件处理器中。
所述Reactor线程模型,用于解耦事件处理与I/O连接模块。
所述Reactor线程模型包括主Reactor组和从Reactor组,通过业务线程池处理耗时业务逻辑。
所述主Reactor组为一个Reactor,用于监听设备的连接事件,当有连接事件产生时,在对应的连接事件处理器中创建初始化相应的设备连接通道,再以负载均衡的方式在从Reactor组中选取一个Reactor注册,并监听设备连接通道中的读写事件。
所述从Reactor组包括多个Reactor,从Reactor组中的Reactor用于监听设备的读写事件,每一个Reactor负责监听一组设备连接。
所述Reactor分配一个I/O线程,I/O线程用于从Reactor中获取I/O就绪事件,执行I/O调用获取I/O数据,并执行管道中各个处理器的业务逻辑处理代码。
本实施例为最佳实施方式,能够根据光照传感器上传的灯光状态数据、车流数据以及照度数据对隧道的照明节能进行数据分析,计算相应时间内隧道的节能数据,统计隧道的光照度以及车流变化数据曲线,为隧道监控中心管理者进行相关决策提供数据支撑。
Reactor线程模型,用于解耦事件处理与I/O连接模块,极大的提高了请求并发量,充分利用了服务器端的CPU 资源,并且Reactor线程模型本身不参与具体的业务逻辑,具有较好的复用性和扩展性。
Reactor分配一个I/O线程,I/O线程用于从Reactor中获取I/O就绪事件,执行I/O调用获取I/O数据,并执行管道中各个处理器的业务逻辑处理代码,这种无锁串行化的设计,能够防止多线程并发执行同一个连接上的I/O逻辑处理,防止出现线程安全问题,同时也可以使***吞吐量达到最大化。
本发明的原理如下:
在传统的监控预警***中,对于事件的判断触发条件,多为提前预设,即预先在服务端硬编码相关事件触发条件,若相关数据达到触发条件,则判定触发相关事件。然而,在物联网环境中,设备传感器类型较多,设备所处地理环境复杂,相关遥感数据是否触发事件也常常要结合多种传感器数据以及所处的地理位置和时间来进行动态判定。例如,在照明调光控制***中,布设在隧道中的车流传感器设备会实时上传车流数据,因此可以通过上传相邻的车流传感器数据来判定当前隧道是否有堵车事件,而这个判定条件并不是一成不变,而是与当前时间、平均车速及车型这些变量参数紧密相关。而在传统监控预警***中,每一次触发条件的改变都需要重新编码,重启服务,因此使用硬编码的方式显得较为笨重与不便。而应用层通过使用事件规则处理器将事件触发规则信息剥离代码,将其提取保存至数据库中,后续所有的事件触发条件都能通过图像化界面配置相关信息,这样就可以动态的管理事件触发条件数据,比起传统模式,通过事件规则处理器来处理事件会更加灵活方便。
本发明控制平台的界面滑动隧道全景图可以跳转到隧道的相应位置,实现过程如下:
根据隧道长度及隧道全景图的长度,计算出它们之间的比例值,通过鼠标按下、移动和放下事件,计算出全景图滑动后,控制隧道滑动距离,赋值给控制滚动事件的scrollLeft,其中scrollLeft是指页面利用滚动条滚动到右侧时,隐藏在滚动条左侧的页面的宽度。
页面设备及车来灯亮车走灯灭的实现方法如下:
S1、根据后端返回的值来判断页面单双隧道;
S2、页面上的设备是按照现场设备的大小、数量及类型还原展示,设备分别安装在隧道的左边、右边和中间,设备在x方向的位置,用的是定位,位置的确定是循环设备,用数据返回来的偏移值*30,隧道的长度根据设备的偏移值来确定,一个隧道三排设备,取值最长设备的偏移值加上入口出口的距离来确定隧道的长度;
S3、设备类型为基本、应急和加强,根据数据字段判断是哪种类型的灯,页面上展示相应设备的瓦数及设备的类型;
S4、车在页面位置的实现:通过webSocket推送来判断是否有车,每来一辆车会推送一条数据,数据里会带有是哪个方向的车及车道相关信息,把车处理成数组的数据,每来一辆车在数据里面记录一下车来的当前时间,车在页面上的走动通过定时器来实现,车走的位置是:首先循环车,循环车的时候加一个当前时间,车现在的位置是车现在的时间减去车加入的时间乘车的速度;
S5、车来亮灯的实现:找出车前面600像素,后面200像素位置的灯点亮,并记录亮灯的设备;
S6、车走灯灭的实现:看灯设备里面是否包含了亮灯设备,包含的就是亮,未包含的就是灭。
由于车在页面走的效果是用定时器来实现每次走的距离,当浏览器切换到其它页面的时候,定时器会走得很慢,影响车走的距离,因此,通过在车进入隧道的时候加一个现在时间,车最后的距离则是现在时间减去车进入隧道的时间*车的速度,则能有效保障车行走距离的准确性。