电力系统中b/s架构的实时告警系统及其实时告警方法

文档序号:7553346阅读:1120来源:国知局
专利名称:电力系统中b/s架构的实时告警系统及其实时告警方法
技术领域
本发明涉及一种电力系统中B/S架构的实时告警系统及其实时告警方法,属于基于AJAX的长连接技术。
背景技术
电力系统现场运行环境复杂多变,为保障电力系统的安全运行,避免调度故障,需要对异常情况进行及时警示和处理,作为电力行业重要技术应用的电力实时调度告警服务系统,近年来发展迅速。
虽然近些年来使用的告警实时监控系统已经对传统的监控系统做出了很多改进,但绝大多数系统采用的是C/S架构的体系结构,在B/S架构系统广泛使用的今天,C/S和B/S架构的不同首先不利于告警系统与其他系统的融合、实现一体化,同时C/S架构的使用意味着在系统投入使用时需要为每一个用户的主机安装专门的告警客户端程序,并且在系统软件的设计时需要考虑操作系统的兼容性以及可移植性,不利于实现快速部署、安装和配置,具有较大的局限。发明内容
针对现有技术中B/S架构的实时告警系统及其实时告警方法的上述不足,本发明提供一种基于B/S软件架构的电力调度自动化实时告警服务系统,提出使用AJAX异步通信机制实现长连接进行告警信息推送,达到实时告警的目的。对Web通信的浏览器和服务器端技术进行了研究,结合研究对告警系统的设计和实现进行了改进,提高了 B/S监控系统对异常反馈的实时性,该系统可以使用户不受时间、地点以及运行环境的限制,只需要打开浏览器就可以获取电力系统当前的实时告警信息,及时掌握电力现场的运行状况,并根据告警异常提示进行异常的管理和处理,达到了实时告警的目的。
本发明的技术方案是: 电力系统中B/S架构的实时告警系统,包括数据采集模块、数据处理模块、告警服务模块、浏览器展示模块;所述数据采集模块包括数据发送接口 ;所述数据处理模块包括报文解析单元、数据告警逻辑判断单元、数据接收接口、数据发送接口、数据库服务接口 ;所述告警服务模块包括消息管理单元、数据库服务接口、告警处理单元、数据发送接收接口 ;所述浏览器展示模块包括数据库服务接口、消息管理单元、数据接收接口、告警通知及展示单J Li o
进一步,所述数据采集模块用于通过前置信息采集装置获取电力系统现场运行的数据,将所述数据对应到告警系统中的测点,通过数据发送接口发送到数据处理模块。
进一步,所述数据处理模块用于通过数据接收接口接收数据采集模块发送来的实时数据报文,通过数据库服务接口定时同步告警配置表的告警点属性信息,组织告警信息,发送告警通知到告警 服务模块。
进一步,所 述告警服务模块用于接收数据处理模块发送来的告警通知,发送告警信息到消息总线,将处理过的告警信息推送到浏览器展示模块。
进一步,所述浏览器展示模块用于接收告警服务模块发送来的告警信息并进行展/Jn o
进一步,所述测点包括遥信点和遥测点。
进一步,所述告警信息存储于关系库中。
进一步,所述浏览器展示模块展示的内容包括组态图告警数据显示、各地调历史和实时告警数、告警实时曲线、告警处理操作。
上述电力系统中B/S架构的实时告警系统的实时告警方法,使用AJAX长连接方式实现告警信息的请求,其刷新根据是否有新数据来执行,如果有新的告警信息到达服务端,接收并显示告警数据,然后发起新的AJAX请求,如果一段时间内,没有告警信息,则连接处于睡眠状态,一直等待有告警数据到达或者请求超时时才发起下个AJAX请求,具体包括以下步骤: (1)用户打开浏览器,用户登录告警服务系统; (2)用户验证用户信息并获取相应告警信息浏览和处理权限后,tl时刻浏览器端发出AJAX初始化请求,向服务器端请求告警数据信息; (3H2时刻请求到达服务器端,后台servlet接收到请求信息后进行处理,将队列中的告警数据信息X从队列中取出在t3时刻发往浏览器端; (4H4时刻浏览器端AJAX引擎接收到数据X后立即准备长连接请求于t5时刻发往服务器端,请求编号为x+1的告警数据信息,与此同时AJAX引擎将数据X交给浏览器界面控件进行实时展; (5)当t6时刻请求到达服务器端,长连接建立,此时服务器端没有告警数据,等待告警数据信息到达服务器端,服务器端不断调用接口轮询接收告警数据信息,在t7时刻将获取到的编号为x+1、x+2、x+3的3条数据发送到浏览器端,以此类推,当时间到达tlO时刻,在t9到til时刻范围内服务端未获取任何告警数据信息,长连接超时,服务端释放连接,浏览器端再次向服务器端发送AJAX告警数据信息连接请求,继续请求数据。这样就完成了 B/S架构的告警实时展示的实现机制。在不`浪费系统资源的情况下保证告警的实时性。
本发明的有益效果是: 在B/S结构系统应用越来越广泛的今天,研究基于HTTP的实时信息传输是很有现实意义的。本发明对Web通信技术做了研究,最后使用新的实时信息传输方法,将服务器端推送技术和基于AJAX的异步传输两种模式结合起来,利用HTTP长连接进行实时告警信息异步传输,实现了 B/S架构的电力系统实时调度告警服务系统。根据实验结果测试,当告警产生时该方法响应及时,能够快速反馈给用户,达到实时监控和告警的目的。


图1是传统Web应用模型图; 图2是基于AJAX的Web模型图; 图3是基于长轮询的服务器推模型图; 图4是基于流方式的服务器推模型图; 图5是异步服务请求基本流程图;图6是短连接定时刷新方式实现告警信息实时展示和刷新的示意图; 图7是长连接方式实现告警信息实时展示和刷新的示意图; 图8是告警系统Web服务和浏览器的交互原理图; 图9是告警系统架构图。
具体实施方式
下面结合附图对本发明进行进一步详细说明。
本发明的电力系统中B/S架构的实时告警系统,包括数据采集模块、数据处理模块、告警服务模块、浏览器展示模块;所述数据采集模块包括数据发送接口 ;所述数据处理模块包括报文解析单元、数据告警逻辑判断单元、数据接收接口、数据发送接口、数据库服务接口 ;所述告警服务模块包括消息管理单元、数据库服务接口、告警处理单元、数据发送接收接口 ;所述浏览器展示模块包括数据库服务接口、消息管理单元、数据接收接口、告警通知及展示单元。
浏览器作为Web应用的前台,相对其他C/S桌面应用,其处理功能相对有限。浏览器的主要工作是发送HTTP连接请求,然后解析服务器返回的信息进行显示。以前浏览器主要使用的是同步通信的技术,即浏览器端在发送请求后,必须等待服务端的回复到达,才能采取下一步操作的通信方式。
但是AJAX技术的出现,解决了同步通信的问题,AJAX在浏览器端和服务器端之间增加了 I个AJAX引擎,允许浏览器发送异步请求,在异步通信过程中,并非所有的请求都提交给服务器端。它将一些请求,比如数据验证交由AJAX引擎来完成。只有确定需要从服务器端获取数据时再由AJAX引擎代为向服务器端提交请求。
然而在Web应用中,浏览器端的多个用户在同时不断地进行操作,服务器端的数据等信息也相应在不断更新,现有的AJAX技术并不能解决将服务器端的更新信息实时传送给所有浏览器端这个问题,因而用户可能会在“过时”的信息下进行操作。AJAX的应用也使后台数据更新更加频繁成为可能。
服务器推送在现实应用中确实存在很多需求,同时为了处理上面的数据“过时”问题,基于HTTP长连接、无须在浏览器端安装插件的服务器推送技术Comet得到较多的研究和关注。
通常Comet应用有两种实现模型,即长连接建立的策略有两种:HTTP流和HTTP长轮询。前者由客户端向服务器端发出请求并打开一个连接,这个连接只有在收到服务器端的数据之后才会关闭。服务器端发送完数据之后,就立即关闭连接。客户端则马上再打开一个新的连接,等待下一次的数据,后者客户端打开一个单一的与服务器端的HTTP持久连接。服务器通过此连接把数据发送过来,客户端对它们进行增量处理。
传统Web应用模型与基于AJAX的Web模型比较如图1和图2所示,基于AJAX的长轮询方式如图1所示,AJAX的出现使得JavaScript可以调XMLHTTPRequest对象发出HTTP请求,JavaScript响应处理函数根据服务器返回的信息对HTML页面的显示进行更新。使用AJAX实现服务器推送与传统的AJAX应用不同之处在于: I)服务器端会阻塞请求直到有数据传递或超时才返回。
2)客户端JavaScript响应处 理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。
3)当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;这些信息会被服务器端保存直到客户端重新建立连接,客户端会一次把当前服务器端所有的信息取回。
相对于“轮询”,这种长轮询方式也可以称为“拉”。因为这种方案基于AJAX,具有以下一些优点:请求异步发出;无须安装插件;IE、Mozilla FireFox都支持AJAX。
基于AJAX的流方式:流方式是基于Iframe及htmlfile, iframe是很早就存在的一种HTML标记,通过在HTML页面里嵌入一个隐蔵巾贞,然后将这个隐蔵巾贞的SRC属性设为Iframe是HTML提供的一种标签,利用Iframe可以在HTML页面中创建一个内联的文档框架,该标签的SRC属性用来设置该内联框架需要显示的文档的URL。当包含Iframe元素的页面加载显示时,Iframe会通过SRC属性设置的URL获取文档内容并显示。
基于Iframe的流方式也是应用较为广泛的方案。基于Iframe的流方式在页面中内置一个隐藏的Iframe元素,将Iframe的SRC属性设置为一个长连接请求,服务器端会不断更新连接状态,使这个长连接在执行过程中一直处于连接状态,服务器端在数据更新后会立即通过这个长连接将数据传送到客户端隐藏的Iframe中,客户端通过Iframe获取这些数据完成页面内容的更新。
从图4可以看到,每次数据传送不会关闭连接,连接只会在通信出现错误时,或是连接重建时关闭(一些防火墙常被设置为丢弃过长的连接,服务器端可以设置一个超时时间,超时后通知客户端重新建立连接,并关闭原来的连接)。
当业务数据大量涌现时,比如由于系统出现异常,告警会不断地密集发出,这时就要考虑到服务端的数据处理能力,在服务端压力增大时,需要一套后台Servlet处理机制避免服务端处理能力的下降甚至崩溃。
Servlet3中异步服务处理Servlet (Async Servlet)的特性,异步处理流程如图5所示,它很好地解决了服务端处理能力下降的问题。
为了实现实时告警系统与电力系统上其他B/S架构系统的平台一体化融合,实时告警系统的浏览器端起初使用通常的HTTP短连接,定时刷新的方法,调用消息接收接口获取告警信息进行展现。
如图6,在常规的 短 连接模式下,通过不间断的刷新页面请求获取数据实现当前最新电力系统告警信息的展示。页面每3秒钟就发送一次AJAX请求,更新一次数据,直到用户关闭网页。由于电力现场环境的不可预测性,电力系统异常的产生是随机的,一般运行较为稳定,没有告警发出,而一旦在雷雨天气等情况时出现异常时告警会不断密集发出,告警的产生显然并不是均匀分布,这样的实现遇到的主要问题是: 如果长时间里一个告警信息并没有,页面的每次刷新都不会返回新的告警数据,很多请求都是没必要的,造成了系统资源的大量浪费; 另外一个问题,就是实时性较低。告警信息发出后,跟数据的请求并不同步,会造成告警信息展示的延迟,从而影响对告警信息处理的效率。
如图7,使用AJAX长连接方式实现告警信息的请求,它的刷新是根据是否有新数据来执行的,如果有新的告警信息到达服务端,接收并显示告警数据,然后发起新的AJAX请求,如果一段时间内,没有告警信息,则连接处于睡眠状态,一直等待有告警数据到达或者请求超时时才发起下个AJAX请求。这样每个告警信息到达服务端时都会即时推送到浏览器上,延迟极少;而且其每次请求都是有意义的,与短连接方式相比,效率要高很多,避免了大量系统资源的浪费。
图8显示了 B/S电力调度告警服务系统最终的浏览器和服务器端所采用的技术方案和实现过程。
由于很多浏览器对于流的访问方式不支持,系统浏览器端采用长轮询的方式发送AJAX异步长连接请求与服务端进行通信和交互。浏览器发送告警信息请求,服务器端servlet调用接口从总线获取告警数据信息,告警数据存储在服务端分配的一个告警信息队列里。
用户打开浏览器,用户登录告警服务系统,验证用户信息并获取相应告警信息浏览和处理权限后,tl时刻浏览器端发出AJAX初始化请求,向服务器端请求告警数据信息,t2时刻请求到达服务器端,后台servlet接收到请求信息后进行处理,将队列中的告警数据信息X从队列中取出在t3时刻发往浏览器端,t4时刻浏览器端AJAX引擎接收到数据X后立即准备长连接请求于t5时刻发往服务器端,请求编号为x+1的告警数据信息,与此同时AJAX引擎将数据X交给浏览器界面控件进行实时展示。同样的,当t6时刻请求到达服务器端,长连接建立,此时服务器端没有告警数据,等待告警数据信息到达服务器端,服务器端不断调用接口轮询接收告警数据信息,在t7时刻将获取到的编号为x+l、x+2、x+3的3条数据发送到浏览器端,以此类推,当时间到达tlO时刻,在t9到til时刻范围内服务端未获取任何告警数据信息,长连接超时,服务端释放连接,浏览器端再次向服务器端发送AJAX告警数据信息连接请求,继续请求数据。这样就完成了 B/S架构的告警实时展示的实现机制。在不浪费系统资源的情况下保证告警的实时性。
如图9所示,B/S电力调度告警服务系统架构图描述了系统的架构、功能模块构成、数据存取访问以及数据的传送机制和处理流程。
权利要求
1.电力系统中B/S架构的实时告警系统,包括数据采集模块、数据处理模块、告警服务模块、浏览器展示模块;所述数据采集模块包括数据发送接口 ;所述数据处理模块包括报文解析单元、数据告警逻辑判断单元、数据接收接口、数据发送接口、数据库服务接口 ;所述告警服务模块包括消息管理单元、数据库服务接口、告警处理单元、数据发送接收接口 ;所述浏览器展示模块包括数据库服务接口、消息管理单元、数据接收接口、告警通知及展示单元。
2.根据权利要求1所述的电力系统中B/S架构的实时告警系统,其特征在于:所述数据采集模块用于通过前置信息采集装置获取电力系统现场运行的数据,将所述数据对应到告警系统中的测点,通过数据发送接口发送到数据处理模块。
3.根据权利要求1所述的电力系统中B/S架构的实时告警系统,其特征在于:所述数据处理模块用于通过数据接收接口接收数据采集模块发送来的实时数据报文,通过数据库服务接口定时同步告警配置表的告警点属性信息,组织告警信息,发送告警通知到告警服务模块。
4.根据权利要求1所述的电力系统中B/S架构的实时告警系统,其特征在于:所述告警服务模块用于接收数据处理模块发送来的告警通知,发送告警信息到消息总线,将处理过的告警信息推送到浏览器展示模块。
5.根据权利要求1所述的电力系统中B/S架构的实时告警系统,其特征在于:所述浏览器展示模块用于接收告警服务模块发送来的告警信息并进行展示。
6.根据权利要求2所述的电力系统中B/S架构的实时告警系统,其特征在于:所述测点包括遥信点和遥测点。
7.根据权利要求3或4或5所述的电力系统中B/S架构的实时告警系统,其特征在于:所述告警信息存储于关系库中。
8.根据权利要求5所述的电力系统中B/S架构的实时告警系统,其特征在于:所述浏览器展示模块展示的内容包括组态图告警数据显示、各地历史和实时告警数、告警实时曲线、告警处理操作。
9.权利要求1至8中任意一项所述的电力系统中B/S架构的实时告警系统的实时告警方法,其特征在于:使用AJAX长连接方式实现告警信息的请求,其刷新根据是否有新数据来执行,如果有新的告警信息到达服务端,接收并显示告警数据,然后发起新的AJAX请求,如果一段时间内,没有告警信息,则连接处于睡眠状态,一直等待有告警数据到达或者请求超时时才发起下个AJAX请求,具体包括以下步骤: (1)用户打开浏览器,用户登录告警服务系统; (2)用户验证用户信息并获取相应告警信息浏览和处理权限后,tl时刻浏览器端发出AJAX初始化请求,向服务器端请求告警数据信息; (3H2时刻请求到达服务器端,后台servlet接收到请求信息后进行处理,将队列中的告警数据信息X从队列中取出在t3时刻发往浏览器端; (4H4时刻浏览器端AJAX引擎接收到数据X后立即准备长连接请求于t5时刻发往服务器端,请求编号为x+1的告警数据信息,与此同时AJAX引擎将数据X交给浏览器界面控件进行实时展; (5)当t6时刻请求到达服务器端,长连接建立,此时服务器端没有告警数据,等待告警数据信息到达服务器端,服务器端不断调用接口轮询接收告警数据信息,在t7时刻将获取到的编号为x+l、x+2、x+3的3条数据发送到浏览器端,以此类推,当时间到达tlO时刻,在t9到til时刻范围内服务端未获取任何告警数据信息,长连接超时,服务端释放连接,浏览器端再次向服务器端发送AJAX告·警数据信息连接请求,继续请求数据。
全文摘要
本发明公开了一种电力系统中B/S架构的实时告警系统及其实时告警方法。所述实时告警系统包括数据采集模块、数据处理模块、告警服务模块、浏览器展示模块。所述实时告警方法使用AJAX长连接方式实现告警信息的请求,其刷新根据是否有新数据来执行,如果有新的告警信息到达服务端,接收并显示告警数据,然后发起新的AJAX请求,如果一段时间内,没有告警信息,则连接处于睡眠状态,一直等待有告警数据到达或者请求超时时才发起下个AJAX请求。本发明使用新的实时信息传输方法,实现了B/S架构的电力系统实时调度告警服务系统。借助图形化手段,实现了海迅实时数据库中海量历史实时数据的可视化的展示。
文档编号H04L29/08GK103237048SQ201310080340
公开日2013年8月7日 申请日期2013年3月13日 优先权日2013年3月13日
发明者王启银, 高明, 王 忠, 王晓强, 王旭 申请人:山西省电力公司大同供电分公司, 江苏瑞中数据股份有限公司, 国家电网公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1