一种基于SignalR技术的农机远程作业Web实时监测方法

文档序号:10488129阅读:270来源:国知局
一种基于SignalR技术的农机远程作业Web实时监测方法
【专利摘要】本发明涉及一种基于SignalR技术的农机远程作业Web实时监测方法,与现有技术相比解决了农机作业信息传输无法进行实时监测的缺陷。本发明包括以下步骤:监控终端上传农机系统监测数据,监控终端将获取的农机系统信息发送至缓冲区;Web客户端读取农机系统信息,Web客户端从缓冲区中读取农机系统信息。本发明中数据信息能够实时化处理,能够完成数据的实时接收及推送,实现对农机远程作业的实时web监测。
【专利说明】一种基于S i gna IR技术的农机远程作业Web实时监测方法
[0001]
技术领域
[0002]本发明涉及数据实时传输技术领域,具体来说是一种基于SignalR技术的农机远程作业Web实时监测方法。
[0003]
【背景技术】
[0004]现有技术中,在建置网站时若希望建立即时(realtime)的网站,通常都是透过Client定时重整页面或定时利用Ajax跟Server端索要资料,但这样的方法可能会造成Server端的等待时间太长、计算量太大,无法体现即时概念。理想化中应该是当Server端有更新时就〃主动〃发送讯息给Client端来做更新,才能符合RealTime网站概念。而SignalR技术的主要功能就是协助我们解决这些问题,当然除SignalR之外也有许多方案可以来解决这个问题,例如Html 5的Server Side与Web Socket方法、以及LongPolling等。但是这些方案在实际应用上十分复杂并且浏览器支援度不佳。而SignalR是基于.Net平台上能快速建置出支援即时通讯(real-time)的应用程式的一种技术方案。
[0005]ASP.NET SignalR是一个ASP.NET下的异步库,可以在ASP.NET的Web项目中实现实时通信。SignalR能用来持久客户端与服务端的连接,让我们便于开发一些实时的应用,例如聊天室在线预订系统,股票交易等实时应用。这可以显著降低服务器的负载,确保没有不必要的请求从重复客户端请求。而SignalR可以在ASP.NET的Web项目中实现实时通信,实时通信的Web就是让客户端(Web页面)和服务器端可以实时操作的互相通知消息及调用方法。SignalR的任务是提供非常易于使用的高阶API,用来实现伺服器端与浏览器间的远程程序呼叫(RPC,Remote Procedure Call),在这个架构下伺服器端以.NET开发,浏览器端则主要是以JavaScript开发,SignalR提供了优异的连线/断线管理以及扩充模型、连线/断线的事件通知,在讯息沟通的本质上则提供了令人期待的内建群组连线、还有相关的身份验证检查机制。
[0006]在实际生活中,随着互联网技术的飞速发展,以及农机化发展过程中新的问题不断出现,对现有的农机监管系统提出了新的需求,如实现农机设备统一调度、农机故障预警、作业路线查询、农机作业数据存储、定位周边服务设施、作业现场实时画面传输等。这些需求的第一前提就是实时化处理,那么如何利用好SignalR技术,实现农机设备作业的实时监测已经成为急需解决的技术问题。
[0007]

【发明内容】

[0008]本发明的目的是为了解决现有技术中农机作业信息传输无法进行实时监测的缺陷,提供一种基于SignalR技术的农机远程作业Web实时监测方法来解决上述问题。
[0009]为了实现上述目的,本发明的技术方案如下: 一种基于SignalR技术的农机远程作业Web实时监测方法,远程作业传输系统包括解析器、缓冲区、SignalR服务器和安装在农机上的监控终端,监控终端与Socket通信模块相连,Socket通信模块通过解析器与缓冲区进行通信,Web客户端通过SignalR服务器与缓冲区进行通信,监测方法包括以下步骤:
监控终端上传农机系统监测数据,监控终端将获取的农机系统信息发送至缓冲区;
Web客户端读取农机系统信息,Web客户端从缓冲区中读取农机系统信息。
[0010]所述的监控终端上传农机系统监测数据包括以下步骤:
监控终端获取农机的系统信息;
SignalR服务器启动并初始化,注册监听事件,通过监听事件实时接收监控终端的系统信息;
SignalR服务器控制监控终端将系统信息通过Socket通信模块发送至解析器;
SignalR服务器控制解析器将解析后的系统信息存入缓冲区。
[0011 ]所述的Web客户端读取农机系统信息包括以下步骤:
缓冲区间隔发送新消息至Web客户端;
Web客户端打开网站连接到S i gna IR服务器,并提示用户允许使用javascript;
SignalR服务器判断Web客户端是否支持WebSocket技术,若支持则采用WebSocket技术发送消息;若不支持WebSocket技术,则采用SSE或长轮询技术发送消息;
Web客户端选用当前浏览器支持的协议,将用户的ID、IP地址发送至SignalR服务器;
Web客户端与SignalR服务器建立连线,并触发监听事件;
SignalR服务器指定路径将缓冲区中的信息发送至Web客户端;
Web客户端浏览器的signal.js文件实时监听SignalR服务器发送过来的消息,并进行展示。
[0012]
有益效果
本发明的一种基于SignalR技术的农机远程作业Web实时监测方法,与现有技术相比数据信息能够实时化处理,能够完成数据的实时接收及推送,实现对农机远程作业的实时web监测。为农机手、农业生产管理单位和农机生产企业提供更有效的远程监管服务,有效提高农业生产和农机管理的效率,并且结构简单,易于拓展。
[0013]
【附图说明】
图1为本发明中远程作业传输系统的结构连接图;
图2为本发明的方法流程图;
其中,1_监控终端、2-Socket通彳目模块、3_解析器、4_缓冲区、5_ SignalR服务器、6-Web客户端。
[0014]
【具体实施方式】
[0015]为使对本发明的结构特征及所达成的功效有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:
如图1所示,远程作业传输系统包括解析器3、缓冲区4、SignalR服务器5和安装在农机上的监控终端I,监控终端I能够获取农机的系统信息,可以为摄像头、GPS等设备。监控终端I与Socket通信模块2相连,Socket通信模块2用于外传数据,将监控终端I中的农机系统信息传送至农机的外部。Socket通信模块2通过解析器3与缓冲区4进行通信,Socket通信模块2通过解析器3将农机系统信息存放在缓冲区4中,Web客户端6通过SignalR服务器5与缓冲区4进行通信,等待Web客户端6的响应读取,并且通过SignalR服务器5实现实时监测的效果O
[0016]如图2所示,本发明所述的一种基于SignalR技术的农机远程作业Web实时监测方法,包括以下步骤:
第一步,监控终端I上传农机系统监测数据,监控终端I将获取的农机系统信息发送至缓冲区3。通过安装在农机的监控终端I获取农机的系统信息;利用Socket通信模块2将农机的系统信息发送给解析器3并存入缓冲区4。其具体步骤如下:
(I)监控终端I获取农机的系统信息,在此农机的系统信息为实际需要的多类型信息,如农机车辆的GPS、运动轨迹、作业信息和现场图像信息等。
[0017](2)SignalR服务器5启动并初始化,初始化后SignalR服务器5注册监听事件。SignalR服务器5对监听事件(targetSess1n.DataReceived += targetSess1n_DataReceived)注册后,将可以实时接收车载终端I的信息,通过监听事件实时接收监控终端I的系统信息。
[0018](3)SignalR服务器5控制监控终端I将系统信息通过Socket通信模块2发送至解析器3,以准备存入缓冲区4。
[0019](4)SignalR服务器5控制解析器3将解析后的系统信息存入缓冲区4,实现将实时消息存入消息缓存区。
[0020]在此,在SignalR服务器5和监控终端I之间设立缓冲区4,并且只要SignalR服务器5注册监听事件后,SignalR服务器5就实时地将监控终端I的系统消息存入缓冲区4。监控终端I的系统消息不断的存入缓冲区4,过期的系统消息在缓冲区4中过滤掉,不断更新的新系统消息则等待Web客户端6的响应获取。而Web客户端6对农机系统信息的读取,则全部通过缓冲区4读取,不直接与监控终端I进行对话。这种方法不仅缩短了 Web客户端6通信所需要的网络路径,起到及时、高效的作用;还避免了过多的无用数据对话、连接对Server端的等待时间和计算量的增加。即Web客户端6需要获取系统消息的时候就进行获取,而不需要获取系统消息的时候,监控终端I不断产生的系统消息到达不了Web客户端6的服务器,只是在缓冲区4中循环堆积,从而避免了对Web客户端6的服务器的无用发送,Web客户端6的服务器也无需作无用计算,当需要获取时也缩短了等待计算时间。
[0021]第二步,Web客户端6读取农机系统信息,Web客户端6从缓冲区4中读取农机系统信息。其具体步骤如下:
(I)缓冲区4间隔发送新消息至Web客户端6,以提示有新消息可以获取。i0022] (2)Web客户端6打开网站连接到SignalR服务器5,准备通过SignalR服务器5进行信息获取。Web客户端6检测浏览器是否支持javascript,并提示用户允许使用javascript。
[0023](3)SignalR服务器5判断Web客户端6是否支持WebSocket技术,若支持则采用WebSocket技术发送消息。若不支持WebSocket技术,则采用SSE、IE9、长轮询技术等其他技术发送消息。
[0024](4)Web客户端6选用当前浏览器支持的协议,将用户的ID、IP地址通过其自身的消息处理服务模块发送至SignalR服务器5,以供SignalR服务器5进行选择性的数据信息派送。
[0025](5)Web客户端6与SignalR服务器5建立连线,并触发监听事件。若Web客户端6支持WebSocket技术,则建立一个WebSocket连线。在此触发监听事件是与前面的注册监听事件相配合,注册监听事件实现的是监控终端I往缓冲区4内存入系统信息,触发监听事件实现的是Web客户端6通过SignalR服务器5读取缓冲区4。
[0026](6)SignalR服务器5指定路径将缓冲区4中的信息发送至Web客户端6,Web客户端6收到从SignalR服务器5发送来的系统信息。
[0027](7)Web客户端6浏览器的signal, js文件实时监听SignalR服务器5发送过来的消息,接到消息后就及时进行展示,实现农机远程作业在Web客户端6的实时监测。
[0028]以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。
【主权项】
1.一种基于SignalR技术的农机远程作业Web实时监测方法,远程作业传输系统包括解析器(3)、缓冲区(4)、SignalR服务器(5)和安装在农机上的监控终端(1),监控终端(I)与Socket通信模块(2)相连,Socket通信模块(2)通过解析器(3)与缓冲区(4)进行通信,Web客户端(6)通过SignalR服务器(5)与缓冲区(4)进行通信,其特征在于,监测方法包括以下步骤: 11)监控终端(I)上传农机系统监测数据,监控终端(I)将获取的农机系统信息发送至缓冲区(4); 12)Web客户端(6)读取农机系统信息,Web客户端(6)从缓冲区(4)中读取农机系统信息。2.根据权利要求1所述的一种基于SignalR技术的农机远程作业Web实时监测方法,其特征在于,所述的监控终端上传农机系统监测数据包括以下步骤: 21)监控终端(I)获取农机的系统信息; 22)SignalR服务器(5)启动并初始化,注册监听事件,通过监听事件实时接收监控终端(I)的系统信息; 23)SignalR服务器(5)控制监控终端(I)将系统信息通过Socket通信模块(2)发送至解析器(3); 24)SignalR服务器(5)控制解析器(3)将解析后的系统信息存入缓冲区(4)。3.根据权利要求1所述的一种基于SignalR技术的农机远程作业Web实时监测方法,其特征在于,所述的Web客户端读取农机系统信息包括以下步骤: 31)缓冲区(4)间隔发送新消息至Web客户端(6); 32)Web客户端(6)打开网站连接到SignalR服务器(5),并提示用户允许使用javascript; 33)SignalR服务器(5)判断Web客户端(6)是否支持WebSocket技术,若支持则采用WebSocket技术发送消息;若不支持WebSocket技术,则采用SSE或长轮询技术发送消息; 34)Web客户端(6)选用当前浏览器支持的协议,将用户的ID、IP地址发送至SignalR月艮务器(5); 35)Web客户端(6)与SignalR服务器(5)建立连线,并触发监听事件; 36)SignalR服务器(5)指定路径将缓冲区(4)中的信息发送至Web客户端(6); 37)Web客户端(6)浏览器的signal.js文件实时监听SignalR服务器(5)发送过来的消息,并进行展示。
【文档编号】G06Q50/02GK105847409SQ201610295104
【公开日】2016年8月10日
【申请日】2016年5月6日
【发明人】周林立, 宋良图, 刘磊, 吴越
【申请人】中国科学院合肥物质科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1