CN101867620A - 一种跨安全区查看前置报文的方法 - Google Patents
一种跨安全区查看前置报文的方法 Download PDFInfo
- Publication number
- CN101867620A CN101867620A CN201010216081A CN201010216081A CN101867620A CN 101867620 A CN101867620 A CN 101867620A CN 201010216081 A CN201010216081 A CN 201010216081A CN 201010216081 A CN201010216081 A CN 201010216081A CN 101867620 A CN101867620 A CN 101867620A
- Authority
- CN
- China
- Prior art keywords
- message
- safety
- district
- passage
- districts
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
一种跨安全区查看前置报文的方法,用于电力调度自动化系统,通过网页浏览器访问安全三区WEB服务器,在安全三区的数据平台上建立高速缓存,存储前置数据、通道信息和通道报文,浏览器客户端登录到安全三区的WEB服务器后,获取通道的实时信息,并选择要查看的通道,将该通道关键字发送给安全三区,由安全三区通过正反向数据传输发送到安全一区;安全一区采集实时数据,将所需原始通道报文通过正反向数据传输发送给安全三区,安全三区将报文发送给浏览器客户端,实现浏览器客户端查看通道准实时报文。本发明通过访问安全三区的服务器,查看一区前置通道的信息及报文,操作简单明确,报文展现形式切合实际需要,并且具有较高的准实时查看速度。
Description
技术领域
本发明用于电力调度自动化系统,涉及在调度自动化系统中,通过电力二次系统安全三区订阅查看安全一区通道的准实时报文的方法,为一种跨安全区查看前置报文的方法。
背景技术
电力二次系统的通道接入调试和通道运行状况诊断一直是调度自动化建设和运行过程中非常重要的工作环节。通过查看通道报文来调试和诊断通道运行状况则是远动运行维护中频繁使用的一项手段。
根据《全国电力二次系统安全防护总体方案》的要求,电力调度自动化系统分为4个安全区,分别为:安全一区,实时控制区;安全二区,非控制生产区;安全三区,生产管理区;安全四区,管理信息区。目前在通道调试时,通常通过电话询问、或者下载拷贝等人工方式获取本端和对端报文内容,这些一般都需要运行维护人员进入远动机房,登录到安全一区的服务器上才能获取。
这些方式常常具有以下缺点:
第一、获取报文内容困难。前置报文通常使用指定的格式存放在指定的路径下,不同的调度前置系统,其格式和位置各不相同。在查看时,需要使用专用工具才能浏览阅读。
第二、效率不高。电话询问或人工下载都需要专人配合,处理周期长。尤其在查询对端报文时,如果对端无人配合,则工作将无法继续开展。
第三、安全性差。电话询问和下载拷贝都需要登录到安全一区服务器,下载拷贝更是增加了非安全介质或机器接入整个系统的可能性。登录或下载过程中的一旦发生错误的人工操作,都将对系统运行产生一定影响。
第四、可靠性低。语言很难精确的将大量的报文完整地描述出来,而在发生问题时,错误的报文往往只有短短几个字节,甚至只有几位。
第五、实时性不够。报文具有很强的实时性和突发性,一些报文是随着系统中一些操作产生,比如开关变位、遥控命令下发等。而一些错误的报文往往在系统运行在某些边界状态下产生,错误现象不易复现。如果实时性不强,在系统状态发生改变后,将很难判断出报文产生的原因。
随着经济的发展,对电力调度系统维护的要求越来越多,无论是新增厂站还是改造老站,往往都涉及到相应通道配置的修改维护。能方便快捷的查看通道报文内容,将大大提高电力调度远动维护的效率。
发明内容
本发明要解决的问题是:目前电力调度自动化系统在通道调试时,采用的调试方式存在获取报文内容困难,效率不高,安全性差,可靠性低,实时性不够的问题。
本发明的技术方案为:一种跨安全区查看前置报文的方法,用于电力调度自动化系统,电力调度自动化系统分为4个安全区,其中包括安全一区,实时控制区;安全三区,生产管理区;建立与安全三区WEB服务器连接的浏览器客户端,通过网页浏览器访问安全三区的WEB服务器,在安全三区的数据平台上建立高速缓存,存储前置数据、通道信息和通道报文,浏览器客户端登录到安全三区的WEB服务器后,安全三区WEB服务进程将当前所有通道信息发送给浏览器客户端,浏览器客户端获取通道的实时信息,并选择要查看的通道,将该通道关键字发送给安全三区的WEB服务进程,所述WEB服务进程将通道关键字发送给安全三区报文服务进程,安全三区报文服务进程将通道关键字整理合并后,通过正反向数据传输发送到安全一区前置报文服务进程;安全一区前置报文服务进程根据收到的通道关键字,向安全一区前置通道进程订阅相应的报文,安全一区前置通道进程再将订阅得到的原始通道报文发给安全一区前置报文服务进程,安全一区前置报文服务进程将所述原始通道报文通过正反向数据传输发送给安全三区前置报文服务进程,当安全三区前置报文服务进程在确认收到的报文有效后,将原始通道报文写入安全三区高速缓存,安全三区WEB服务进程定时读取高速缓存内的通道报文,并将读取到的报文发送给浏览器客户端,实现浏览器客户端查看通道准实时报文;
其中正反向数据传输是指,在对安全一区和安全三区之间进行跨安全区的数据传输时采用正反向通讯结合的通讯机制,形成一个完整地通讯环路,包含报文截获和报文转发:
报文截获:电力调度自动化系统的网络通讯由网络中间件完成,它包含区内通讯程序和跨区转发程序,跨区转发程序部署在一区和三区,跨区传输的报文截获过程如下:需要跨区传输的报文和区内传输的报文均存放在转发报文队列中,报文发送区根据接收区的应用发出的跨安全区报文订阅列表分析转发报文头中的订阅报文事件号或节点名,自动截获需要发往安全一区或安全三区的报文,即跨区传输的报文,并将其存放到跨安全区转发报文队列中;
报文转发:当截获的跨区传输报文存放到跨安全区转发报文队列中后,转发流程启动,报文转发包括:报文转发准备,报文转发和转发报文的接收与应答三个阶段;
(1)报文转发准备阶段:如果是报文从一区转发到三区,则跨区转发程序执行缓冲逻辑,设置跨安全区待转发报文缓存,按照设定的时间和缓存区大小阀值缓冲报文,当达到缓冲时间或者缓冲区已经填满则进入报文转发阶段;如果是报文从三区转发到一区,则跨区转发程序执行报文格式转换逻辑,将报文由二进制编码转换成符合国家电网公司《电力系统数据标记语言--E语言规范》要求的文档并加密,再进入反向隔离装置程序准备转发格式化报文文档;
(2)报文转发阶段:如果是报文从一区转发到三区,则通过建立的TCP链路将缓存后的报文转发到对端节点,中间经过正向隔离装置,对端的跨区转发程序收到报文后将报文解包,分成多个小报文,并依次转发这些小报文到目的节点;如果是报文从三区转发到一区:三区的跨区转发程序会将格式化报文文档通过FTP程序和反向隔离装置传输到一区,一区的跨区转发程序接收到格式化报文文档后将其转换成二进制报文编码,并将报文转发到目的节点;
(3)转发报文的接收与应答阶段:接收区跨区转发程序接收到报文,若数据完整且序号连续,则按照设定的时间阀值定期发送成功应答报文,通过接收区的报文发送路径传输到发送区,确认一段时间内的所有报文都接收成功,若接收区判断报文转发失败或者报文解包失败,则立即通过接收区的报文发送路径发送失败应答报文,并包含需要重发的报文编号,以便发送区的转发程序及时重发。
本发明具体包括以下步骤:
1)、安全三区通道信息和前置数据自动维护:在安全三区数据平台上建立高速缓存,映射安全一区前置数据和通道信息表,通过正反向数据传输,由安全三区数据平台接收安全一区传递过来的信息,并实时更新到安全三区的高速缓存;
2)、安全三区查看请求转发:浏览器客户端将要查看的通道关键字和查看方式发送给安全三区WEB服务进程,WEB服务进程再转发给安全三区的前置报文服务进程,由前置报文服务进程合并相同请求后,通过正反向数据传输,发送到安全一区前置报文服务进程;
3)、安全一区报文订阅转发:安全一区前置报文服务进程收到通道报文查看请求后,向前置节点上的前置通道订阅原始通道报文,通过网络平台接口获取到原始通道报文后,使用正反向数据传输,传输到安全三区,由安全三区前置报文服务进程接收;
4)、安全三区前置报文的接收和页面展示:安全三区的高速缓存存放安全三区前置报文服务进程收到的前置报文内容,安全三区WEB服务进程定时读取高速缓存中的所有报文,利用Ajax技术将报文内容发送到发出查看要求的浏览器客户端页面。
安全三区前置数据和通道信息自动维护步骤中,安全三区自动实时获取完整的安全一区的通道信息和前置数据,安全一区通道属性的修改、通道运行状态的变化和所有前置原始数据的变化都自动映射到三区;浏览器客户端页面动态展示所有通道运行情况,包括通道的通断情况、主备值班情况和工作节点情况信息,当安全一区信息变化时,页面显示相应变化。
安全三区查看请求转发步骤中,浏览器客户端页面将通道请求关键字发给安全三区WEB服务进程后,WEB服务进程在该页面连接的有效期内定期向安全三区报文服务进程发送关键字,安全三区报文服务进程维护关键字存根列表,清除在设定的时间内未被更新时标的关键字存根;不同浏览器客户端页面发送的相同关键字,在安全三区报文服务进程关键字存根列表中只保留一份,减少安全三区向安全一区发送的信息量。
安全一区报文订阅转发步骤中,安全一区报文服务进程收到安全三区的查看请求后,发送订阅请求,安全一区的前置通道线程收到订阅信息后,维护一份订阅发起进程列表,并根据订阅信息中的关键字,将相应规约插件接收到的报文副本发送到订阅发起进程列表中的每个进程。
安全三区前置报文的接收和页面展示步骤中,包括以下处理内容:
安全三区报文服务进程在存根列表中查询安全一区发送过来的通道报文关键字,将在存根列表中有对应关键字的通道报文存入安全三区高速缓存,将没有对应关键字的报文丢弃;
安全三区高速缓存中的通道报文存储采用循环表的数据结构,在满足并发查看数量的条件下,设定适当缓存大小;
安全三区WEB服务进程根据每个浏览器客户端页面session对应的通道关键字,定时检索高速缓存中的最新通道报文,并将最新通道报文发送到所有请求该通道报文的浏览器客户端页面;
浏览器客户端页面请求中如果包含解释命令,安全三区WEB服务进程调用规约插件对通道报文进行解释后再发送给浏览器客户端页面,页面显示同一通道中不同规约插件对相同报文内容的不同解释结果;
浏览器客户端页面收到新的通道报文后,自动滚屏,加入最新通道报文,并对通道报文原始码使用颜色决策,即按规约定义,对不同含义的通道报文使用不同的颜色显示来加以区分;
多个浏览器客户端页面同时独立浏览相同或不同通道,互不冲突,每个浏览器客户端页面分别对自己查看的通道报文进行暂停、清除和解释操作,所有操作只对当前查看页面产生作用;
报文信息和报文请求在安全一区和安全三区间传输,在网络非雪崩状态下,安全一区和安全三区之间信息传送延时在1秒以内。
本发明通过使用WEB浏览器访问设立在三区的服务器,查看一区前置通道的信息及报文,其有益效果是:本发明通过浏览器客户端查看前置报文内容,操作简单明确,报文展现形式切合实际需要,并且具有较高的准实时查看速度,实现远程查看,是一项提高运行效率的实用技术。使用本发明后,用户在查看前置报文时,不需要关心报文的来源、存放位置和获取方式,电力自动化调度系统的后台服务程序根据本发明方法自动完成从不同节点、不同通道收集报文的工作。同时,通过正反向数据传输由安全三区获取报文的方式,减少了进入一区的次数,增强了整个系统的安全性。在通道对点时,可以在本端操作的同时,通过三区的广域网查看对端收到的报文和结果,原本需要多人配合的工作只需要一个人就能完成,提高了用户的工作效率,也减少了多人配合产生失误的可能性。WEB浏览器上的报文展示人性化,除了基本的报文原始码,还提供解释、按规约分层、颜色决策、自动滚屏、清除和暂停等功能,方便用户迅速理解报文含义,做出判断。本发明具有很高的实时性,再配合快捷方便的报文获取方式,一旦系统发生异常,用户可以快速的查看到通道的状态以及报文内容,在第一时间内定位解决故障。
附图说明
图1为本发明的应用的电力网络结构和数据流向图。
图2为本发明整体流程图。
图3为本发明三区通道报文查看请求转发流程图。
图4为本发明一区通道报文订阅转发流程图。
图5为本发明三区通道报文的接收和页面展示流程图。
具体实施方式
本发明在电力调度自动化系统中的应用如图1所示:建立与安全三区WEB服务器连接的浏览器客户端,通过网页浏览器访问安全三区的WEB服务器,在安全三区的数据平台上建立高速缓存,存储前置数据、通道信息和通道报文,通道信息和前置数据通过正向物理隔离装置,实时的由安全一区的前置服务器同步到安全三区的WEB服务器。当用户在远离安全一区的办公室,或者在远方变电站内,使用普通电脑或工作站上的网页浏览器打开前置报文查看页面时,WEB服务器上的WEB服务进程将包含通道实时状态的树形列表页面发送到客户端浏览器,并由客户端定时刷新。用户选择好要查看报文的通道后,将该通道的关键字发送给WEB服务进程,WEB服务进程再转发给三区报文服务进程,整理合并后,经过反向隔离装置,发到一区报文服务进程。一区报文服务进程根据关键字将订阅收到的报文再发往三区的报文服务进程。三区报文服务进程将收到的报文存入高速缓存,WEB服务进程将从高速缓存内读取到的报文发送到客户端页面。
本发明的流程如图2所示,一区的网络平台、数据平台通过正反向数据传输的标准报文接口,将通道信息和前置数据发往三区。三区网络平台和数据平台接收后,将通道信息写入通道信息高速缓存,将前置数据写入前置数据高速缓存。
其中正反向数据传输是指,在对安全一区和安全三区之间进行跨安全区的数据传输时采用正反向通讯结合的通讯机制,形成一个完整地通讯环路,包含报文截获和报文转发:安全一区进行实时数据采集,通过一区的调度员工作站、维护工作站、五防工作站可以查看实时数据,如果三区的WEB服务进程也需要实时数据,则一区通过正向隔离装置将实时数据传输到三区。其过程如下:三区的WEB服务进程订阅一区实时数据,订阅报文通过反向隔离装置发送到一区,由一区跨区转发程序接收,并形成订阅列表,跨区转发程序根据订阅列表截获对应的一区发送的事件报文,并将三区订阅的数据转发到三区,三区定期的确认成功接收的报文,如果报文丢失及时发送NACK报文,即失败应答报文,要求一区重发相关报文。下面具体说明实施方式。
一、报文截获
现有的电力调度自动化系统中,安全区的应用采用统一的接口向同一安全区和跨安全区的应用发送和接收报文,屏蔽了跨安全区逻辑;电力调度自动化系统的网络通讯由网络中间件完成,它包含区内通讯程序和跨区转发程序,跨区转发程序部署在一区和三区,针对屏蔽的跨安全区逻辑,本发明正反向数据传输的跨区传输的报文截获过程如下:安全一区和三区需要跨区传输的报文和区内传输的报文均存放在转发报文队列中,跨区转发程序在报文传输过程中,报文发送区根据接收区的应用发出的跨安全区报文订阅列表分析转发报文头中的订阅报文事件号或节点名,自动截获需要跨区传输的报文,并将其存放到跨安全区转发报文队列中。一区与三区之间的应用报文为点对点报文,传输方式为TCP,因此跨区转发程序监听TCP传输端口的所有报文。跨安全区订阅列表信息由两部分组成:跨区通讯的节点名和跨区转发的事件号,由跨安全区转发程序通过隔离装置转发到对端,并由对端跨安全区转发程序保存并组织成报文订阅列表。
对转发报文队列的报文,参考跨安全区订阅列表中的目的节点名和跨安全区事件信息,先判断其目的节点是否为跨安全区对端节点,如果是将该报文放入跨安全区转发报文队列;如果不是判断事件号是否为跨安全区订阅事件号,是则放入跨安全区转发报文队列,不是则返回转发报文队列;循环执行上列步骤,完成转发队列中报文的截获。
二、报文转发
当截获的报文存放到跨安全区转发队列中后,转发流程启动,报文转发包括:报文转发准备,报文转发和接收与应答三个阶段。
1、转发准备阶段
(1)报文从一区转发到三区的流程:判断转发队列缓存是否已满,如果已满,将缓存报文打包并进入发送报文阶段,然后清空缓存,将发送后的报文转存到已发送队列,再将新报文加入到转发队列缓存中;如果缓存未满,则判缓存时间是否达到设定的时间,也就是限值,如果已达到限值,则将现有缓存打包进入发送报文阶段,如果没有达到限值,则将新报文加入到转发队列缓存中;重复执行以上步骤。
跨区转发程序执行缓冲逻辑,即按照设定的时间和缓存区大小阀值缓冲报文,当达到缓冲时间或者缓存区已经填满则进入报文转发阶段。设置缓存的目的是减少小报文对正向隔离装置的传输压力,提高运行效率。每次报文跨安全区转发,正向隔离装置都会实现一次物理上的网络链路通断,如果报文较小且数量非常多会造成正向隔离装置的频繁通断,从而影响运行效率。采用缓存策略,设置时间阀值可以保证报文传输的及时性,设置缓存区大小阀值可以限制报文的大小到一个合适的值,将小报文拼成大报文后再转发,减少转发次数,提高转发效率。
(2)报文从三区转发到一区的流程:跨区转发程序执行报文格式转换逻辑,将报文由二进制编码转换成符合国家规范要求《电力系统数据标记语言--E语言规范》的XML文档格式,并生成经过加密的XML文档,即格式化报文文档,进入反向隔离装置程序转发格式化报文文档,反向隔离装置程序为三区向一区通信的反向隔离装置自身的程序,由隔离装置厂商提供;如果转发成功,删除格式化报文文档,否则判断是否超出重发次数,如果超出重发次数则报文发送失败写入日志,否则重新进入反向隔离装置程序转发格式化报文文档。
2、转发阶段
(1)报文从一区转发到三区的流程:通过建立的TCP链路将缓存后的报文转发到对端节点,中间经过正向隔离装置,对端转发程序收到报文后将报文解包,分成多个小报文,并依次转发这些小报文到目的节点。
(2)报文从三区转发到一区的流程:三区的跨区转发程序会将格式化报文文档通过FTP程序和反向隔离装置传输到一区,一区的跨区转发程序接收到格式化报文文档后将其转换成二进制报文编码,并将报文转发到目的节点。
3、转发报文的接收与应答阶段
接收区的跨区转发程序接收到报文,若数据完整且序号连续,则按照设定的时间阀值定期发送成功应答报文,通过接收区的报文发送路径传输到发送区,确认一段时间内的所有报文都接收成功,若接收区判断报文转发失败或者报文解包失败,则立即通过接收区的报文发送路径发送失败应答报文,并包含需要重发的报文编号,以便发送区的转发程序及时重发。
(1)报文从一区转发到三区的流程:如果到三区的报文转发成功,则三区经过设定的发送应答报文时间间隔,向一区发送成功应答报文;如果到三区的报文转发失败或者报文解包失败,则三区通过反向隔离装置立即向一区发送失败应答报文,并包含需要重发的报文编号,以便一区的转发程序及时重发。
当一区接收到来自三区的成功的应答报文后会清理相应的已转发报文队列;当一区接收到来自三区的失败应答报文或者应答报文出现报文跳号现象,则立即按照失败应答报文中所含的报文编号重发报文,对于跳号现象,分析跳号应答报文表示的转发报文段,并在不超过转发次数阀值的前提下将此段报文重发,详见图5。
(2)报文从三区转发到一区的流程:采用成功应答报文定期发送,失败应答报文立即发送的策略,与报文从一区转发到三区的流程类似,详见图6。
正反向数据传输将安全一区和安全三区的报文传输路径结合为一个有机的整体,形成一个完整地通讯环路,用一区和三区各自的报文发送路径发送所有报文,包括应答报文,提供了一种透明、双向、安全、稳定和高效的传输方式,利于浏览器客户端通过安全三区实时查看安全一区的前置报文。
反向隔离装置以往的应用场景为从三区到一区传输文件,一般使用方式都是批处理方式,每天定时传输本区的应用生成的XML数据文件,如果通过原有方式由三区向一区发送XML数据文件,则需要在三区的各发送节点和一区的各目的节点部署隔离装置的转发程序,或者将文件通过FTP方式发送到部署了隔离装置转发程序的节点。本发明采用的正反向数据传输方式截获需要跨区传输的报文,利用每个节点本身都有网络中间件程序,转发到三区中部署了隔离装置转发程序的节点,并由该节点上的跨区转发程序将报文转换成XML数据文档,通过反向转发装置发送,在接收端也有跨区转发程序及时转换成二进制报文,再在区内转发,保证了数据传输更加可靠和及时。
以往的处理方式多为安全区的应用自行处理跨安全区转发,由于跨安全区转发牵扯的节点比较多,特别是三区向一区传输时,反向隔离装置从数据源节点到目的节点很可能牵扯到四类节点:三区:数据源节点、隔离装置转发程序部署节点;一区:隔离装置转发程序部署节点、目的节点;一区向三区传输时正向隔离装置也牵扯到两个节点:一区:数据源节点;三区:目的节点,如果将双向通讯打通,需要在四个或者更多节点上部署跨区转发程序,逻辑复杂度较高,一般安全区的应用无法编写如此复杂的逻辑,且反向隔离装置大量文件传输会产生拥塞,实时性较差,所以每个报文都通过反向隔离装置传输应答报文不太现实。本发明的正反向数据传输方式采用了定时成功应答和即时失败应答的方式减少应答报文量,减少反向传输压力,提高可靠性和及时性;而且使用较为通用的网络中间件,其原来就具有区内各个节点转发逻辑,部署在系统内所有节点上,通过加入跨区转发逻辑,截获跨区传输报文,专门负责跨区转发,并且自动进行相应的转发报文截获,可以为多个应用转发不同类型的报文,包括事件报文,点对点报文等。区内转发仍然借用原有逻辑,一定程度上减少了程序负责度。
本发明实施时,浏览器客户端登录到三区的WEB服务后,三区WEB服务进程将所有通道信息发送给浏览器客户端。客户端选择一个要查看的通道后,将该通道关键字发送给WEB服务进程。WEB服务进程将通道关键字发送给三区报文服务进程。三区报文服务进程将通道关键字整理合并后,通过正方向传输的标准报文接口发送到一区前置报文服务进程。一区报文服务进程根据收到的通道关键字,向前置通道进程订阅相应的报文。前置通道进程将原始通道报文发给一区前置报文服务进程。一区前置报文服务进程将原始通道报文通过正反向传输接口发送给三区前置报文服务进程。三区前置报文服务进程在确认收到的报文有效后,将通道原始报文写入三区通道报文高速缓存。
三区WEB服务进程定时读取通道报文高速缓存,并将读取到的报文发送给客户端浏览器。
下面先介绍一些出现在实施方式中的术语:
网络平台技术:即PCS9000分布式网络管理技术。网络平台屏蔽不同硬件平台和操作系统的差异,管理整个系统中的进程,提供统一的报文通讯接口,使系统内所有进程能够互相可靠、方便、快速的通讯。
Tomcat:是一种技术先进、性能稳定的免费WEB服务系统,由Apache、Sun和其他一些公司及个人共同开发,适合中小型系统或并发访问用户不是特别多的情况下使用。支持JAVA开发语言。
JNI类型接口:JNI即Java Native Interface(JAVA本地调用),它允许Java代码和其他语言写的代码进行交互。在本文中主要指对已有的C++代码进行封装,供Tomcat调用。
Json文件:即JavaScript Object Notation,相对于XML,是一种轻量级数据交互格式。其文件格式是基于JavaScript(Standard ECMA-2623rd Edition-December 1999)的一个子集。
Extjs:是一个用JavaScript写的、主要用于创建Web客户端界面、与后台(服务端)技术无关的Ajax框架。屏蔽了主流浏览器之间的差异,提供大量功能丰富的可视化组件。
Session信息:Session一般指用户浏览某个网站时,从进入网站到浏览器关闭或浏览超时,所经过的一段时间。Session信息在WEB服务端保存用户的状态信息,以便用户可以进行一系列相关的操作。
插件式规约技术:将电力通讯规约用一个或多个插件动态库实现,所有插件使用统一的接口进行调用。当增加新的规约时,只要增加相应的动态库即可,不需要修改编译其它代码。最常见的是将通讯的链路层和应用层分成2个插件,链路层规约插件常常可以重复利用。
下面具体说明本发明的实施步骤:
一、三区通道信息和前置数据自动维护
通道信息主要包含通道配置状况、规约的各项参数和通道的运行情况、主备通道的值班状态、运行率统计、误码率统计、通断统计和切换记录等信息。前置数据指一区收到的RTU信息、遥测、遥信、遥脉、遥控、遥调和升降等数据信息。通过在三区建立高速缓存,映射一区的这些数据,利用正反向数据传输技术和网络平台技术,由三区数据服务进程调用网络平台接口订阅相应数据在一区的增删修改等操作信息,并根据这些信息在三区进行相同的操作,实现三区前置数据和通道信息的自动维护。
如图3所示,WEB服务器的Web服务使用Tomcat,通过Java语言的jni类型接口调用由C++实现的数据平台接口,定时访问三区通道信息和前置数据高速缓存。根据每次访问得到的通道信息,生成符合实际情况的json(一种JavaScript支持的数据格式)文件,使用Ajax技术将json文件发送到客户端页面,由Extjs以树状列表形式展示出来。使用类似的方法,可以在客户端查看RTU信息、遥测、遥信、遥脉、遥控、遥调和升降等数据。
前置数据和通道信息的自动维护,使三区能方便的获取到一区的通道及数据信息,免去手工维护的过程,同时也能准实时的查看到一区前置从报文中解析出来的数据。
二、三区通道报文查看请求转发
如图1所示的浏览器客户端打开前置报文查看页面后,通过树形列表中使用的json文件,获取各个通道的信息,在页面上进行鼠标操作,将要查询的通道报文的关键字发送给安全三区的WEB服务进程。WEB服务进程记录下标识每一个客户端页面的session信息(在Tomcat中就是字符串JSESSIONID),并将关键字通过网络中间件传递给三区前置报文服务进程。在客户端页面浏览该通道报文期间,即session有效且通道关键字变化前,WEB服务以10秒一次的频率向三区前置报文服务进程发送该通道的报文查看请求,以保持该请求的激活状态。
三区前置报文服务进程维护一个请求存根队列,记录被请求通道报文的通道关键字和请求的最新时标。当收到一个WEB服务转发的请求后,首先在存根队列里面根据通道关键字查找是否已经存在相同请求的存根。如果已存在,则更新该存根的时标,否则添加一个新的存根。这样,对来自不同客户端页面的相同通道报文请求,只需要保留一个存根即可,后续的通道报文高速缓存也只需要建立一份就可满足多客户端同时查看的需求。
三区前置报文服务进程开启一个线程,每秒遍历一次存根队列,当存根的更新时标早于当前时间10秒(即前面WEB服务的激活频率)时,认为没有客户端在查询改存根对应的通道报文,则将该存根从队列中删除。存根删除后,不再向一区发送请求,也不再将一区发送过来的报文写入缓存。
三、一区通道报文订阅和转发
一区前置使用了插件式规约技术,在每个通道线程内,通过流水线对规约插件进行装配。每个规约插件都继承自符合流水线要求的基类,抽象出了如向上层规约或下层规约插件发送数据等接口。使用插件式规约技术能降低规约插件的复杂性,每个规约插件只需要考虑一部分范围内的逻辑关系,同时也提高了代码的重用性。通常可以将规约分成下层的链路层规约插件和上层的应用层规约插件,对复杂的规约,可以使用更多层次的规约插件来实现。通过查看不同层次的规约报文,能更准确的定位故障的源头。
如图4所示,一区报文服务进程发出包含通道关键字的订阅请求后,网络平台将订阅请求多播发送,也就是进行实时数据采集,每个前置节点的通道进程收到订阅请求后,根据关键字判断订阅的通道规约对象是否存在于本通道内。如果处于本通道内,再判断一区报文服务进程是否在本通道规约的订阅接收列表内。如果不在,则将一区报文服务进程的节点信息和进程信息作为关键字放到订阅列表内。当通道内收到或发出新报文时,通道遍历订阅列表,向列表内每个进程发送一份报文副本。一区报文服务进程收到所订阅的报文后,调用正反向传输接口向三区报文服务进程发送。
四、三区前置报文的接收和页面展示
三区通过数据平台建立高速缓存存储通道报文,通道报文使用循环表方式进行管理,循环表容量由设计同时浏览的客户端最大数量决定,兼顾并发操作和对存储资源的消耗。三区前置报文服务进程收到前置报文后,首先在请求存根队列中查找。如果找到存根,则将报文写入高速缓存,否则直接丢弃。
WEB服务进程根据每个浏览器客户端页面session对应的通道关键字,定时到通道报文高速缓存中进行检索。如果浏览器客户端对报文的查看请求需要解释报文,即用描述性语言展示收到的报文含义,则WEB服务进程调用相应的规约插件的静态解释接口对缓存中取出的报文源码进行解释。
页面使用Extjs,实现报文的格式化输出、滚屏、暂停和清除等功能。
如图5所示,三区报文服务进程收到通道报文后,在存根列表中查找报文对应的通道关键字是否存在。如果不存在,则丢弃该报文。如果存在,则将报文写入三区数据平台建立的报文高速缓存中去。
在每个客户端页面session对应的WEB服务线程中,定时检索该页面关心的最新报文高速缓存,检索时间段即为定时检索间隔。如果检索结果为空,则继续等待。当有检索结果时,则根据页面请求参数判断是否需要解释报文,如果不需要解释,则直接发往客户端页面;如果需要解释,则调用规约插件对报文进行解释后再发往客户端页面。
Claims (6)
1.一种跨安全区查看前置报文的方法,用于电力调度自动化系统,电力调度自动化系统分为4个安全区,其中包括安全一区,实时控制区;安全三区,生产管理区;其特征是建立与安全三区WEB服务器连接的浏览器客户端,通过网页浏览器访问安全三区的WEB服务器,在安全三区的数据平台上建立高速缓存,存储前置数据、通道信息和通道报文,浏览器客户端登录到安全三区的WEB服务器后,安全三区WEB服务进程将当前所有通道信息发送给浏览器客户端,浏览器客户端获取通道的实时信息,并选择要查看的通道,将该通道关键字发送给安全三区的WEB服务进程,所述WEB服务进程将通道关键字发送给安全三区报文服务进程,安全三区报文服务进程将通道关键字整理合并后,通过正反向数据传输发送到安全一区前置报文服务进程;安全一区前置报文服务进程根据收到的通道关键字,向安全一区前置通道进程订阅相应的报文,安全一区前置通道进程再将订阅得到的原始通道报文发给安全一区前置报文服务进程,安全一区前置报文服务进程将所述原始通道报文通过正反向数据传输发送给安全三区前置报文服务进程,当安全三区前置报文服务进程在确认收到的报文有效后,将原始通道报文写入安全三区高速缓存,安全三区WEB服务进程定时读取高速缓存内的通道报文,并将读取到的报文发送给浏览器客户端,实现浏览器客户端查看通道准实时报文;
其中正反向数据传输是指,在对安全一区和安全三区之间进行跨安全区的数据传输时采用正反向通讯结合的通讯机制,形成一个完整地通讯环路,包含报文截获和报文转发:
报文截获:电力调度自动化系统的网络通讯由网络中间件完成,它包含区内通讯程序和跨区转发程序,跨区转发程序部署在一区和三区,跨区传输的报文截获过程如下:需要跨区传输的报文和区内传输的报文均存放在转发报文队列中,报文发送区根据接收区的应用发出的跨安全区报文订阅列表分析转发报文头中的订阅报文事件号或节点名,自动截获需要发往安全一区或安全三区的报文,即跨区传输的报文,并将其存放到跨安全区转发报文队列中;
报文转发:当截获的跨区传输报文存放到跨安全区转发报文队列中后,转发流程启动,报文转发包括:报文转发准备,报文转发和转发报文的接收与应答三个阶段;
(1)报文转发准备阶段:如果是报文从一区转发到三区,则跨区转发程序执行缓冲逻辑,设置跨安全区待转发报文缓存,按照设定的时间和缓存区大小阀值缓冲报文,当达到缓冲时间或者缓冲区已经填满则进入报文转发阶段;如果是报文从三区转发到一区,则跨区转发程序执行报文格式转换逻辑,将报文由二进制编码转换成符合国家电网公司《电力系统数据标记语言--E语言规范》要求的文档并加密,再进入反向隔离装置程序准备转发格式化报文文档;
(2)报文转发阶段:如果是报文从一区转发到三区,则通过建立的TCP链路将缓存后的报文转发到对端节点,中间经过正向隔离装置,对端的跨区转发程序收到报文后将报文解包,分成多个小报文,并依次转发这些小报文到目的节点;如果是报文从三区转发到一区:三区的跨区转发程序会将格式化报文文档通过FTP程序和反向隔离装置传输到一区,一区的跨区转发程序接收到格式化报文文档后将其转换成二进制报文编码,并将报文转发到目的节点;
(3)转发报文的接收与应答阶段:接收区跨区转发程序接收到报文,若数据完整且序号连续,则按照设定的时间阀值定期发送成功应答报文,通过接收区的报文发送路径传输到发送区,确认一段时间内的所有报文都接收成功,若接收区判断报文转发失败或者报文解包失败,则立即通过接收区的报文发送路径发送失败应答报文,并包含需要重发的报文编号,以便发送区的转发程序及时重发。
2.根据权利要求1所述的一种跨安全区查看前置报文的方法,其特征是具体包括以下步骤:
1)、安全三区通道信息和前置数据自动维护:在安全三区数据平台上建立高速缓存,映射安全一区前置数据和通道信息表,通过正反向数据传输,由安全三区数据平台接收安全一区传递过来的信息,并实时更新到安全三区的高速缓存;
2)、安全三区查看请求转发:浏览器客户端将要查看的通道关键字和查看方式发送给安全三区WEB服务进程,WEB服务进程再转发给安全三区的前置报文服务进程,由前置报文服务进程合并相同请求后,通过正反向数据传输,发送到安全一区前置报文服务进程;
3)、安全一区报文订阅转发:安全一区前置报文服务进程收到通道报文查看请求后,向前置节点上的前置通道订阅原始通道报文,通过网络平台接口获取到原始通道报文后,使用正反向数据传输,传输到安全三区,由安全三区前置报文服务进程接收;
4)、安全三区前置报文的接收和页面展示:安全三区的高速缓存存放安全三区前置报文服务进程收到的前置报文内容,安全三区WEB服务进程定时读取高速缓存中的所有报文,利用Ajax技术将报文内容发送到发出查看要求的浏览器客户端页面。
3.根据权利要求2所述的一种跨安全区查看前置报文的方法,其特征是安全三区前置数据和通道信息自动维护步骤中,安全三区自动实时获取完整的安全一区的通道信息和前置数据,安全一区通道属性的修改、通道运行状态的变化和所有前置原始数据的变化都自动映射到三区;浏览器客户端页面动态展示所有通道运行情况,包括通道的通断情况、主备值班情况和工作节点情况信息,当安全一区信息变化时,页面显示相应变化。
4.根据权利要求2所述的一种跨安全区查看前置报文的方法,其特征是安全三区查看请求转发步骤中,浏览器客户端页面将通道请求关键字发给安全三区WEB服务进程后,WEB服务进程在该页面连接的有效期内定期向安全三区报文服务进程发送关键字,安全三区报文服务进程维护关键字存根列表,清除在设定的时间内未被更新时标的关键字存根;不同浏览器客户端页面发送的相同关键字,在安全三区报文服务进程关键字存根列表中只保留一份,减少安全三区向安全一区发送的信息量。
5.根据权利要求2所述的一种跨安全区查看前置报文的方法,其特征是安全一区报文订阅转发步骤中,安全一区报文服务进程收到安全三区的查看请求后,发送订阅请求,安全一区的前置通道线程收到订阅信息后,维护一份订阅发起进程列表,并根据订阅信息中的关键字,将相应规约插件接收到的报文副本发送到订阅发起进程列表中的每个进程。
6.根据权利要求2所述的一种跨安全区查看前置报文的方法,其特征是安全三区前置报文的接收和页面展示步骤中,包括以下处理内容:
安全三区报文服务进程在存根列表中查询安全一区发送过来的通道报文关键字,将在存根列表中有对应关键字的通道报文存入安全三区高速缓存,将没有对应关键字的报文丢弃;
安全三区高速缓存中的通道报文存储采用循环表的数据结构,在满足并发查看数量的条件下,设定适当缓存大小;
安全三区WEB服务进程根据每个浏览器客户端页面session对应的通道关键字,定时检索高速缓存中的最新通道报文,并将最新通道报文发送到所有请求该通道报文的浏览器客户端页面;
浏览器客户端页面请求中如果包含解释命令,安全三区WEB服务进程调用规约插件对通道报文进行解释后再发送给浏览器客户端页面,页面显示同一通道中不同规约插件对相同报文内容的不同解释结果;
浏览器客户端页面收到新的通道报文后,自动滚屏,加入最新通道报文,并对通道报文原始码使用颜色决策,即按规约定义,对不同含义的通道报文使用不同的颜色显示来加以区分;
多个浏览器客户端页面同时独立浏览相同或不同通道,互不冲突,每个浏览器客户端页面分别对自己查看的通道报文进行暂停、清除和解释操作,所有操作只对当前查看页面产生作用;
报文信息和报文请求在安全一区和安全三区间传输,在网络非雪崩状态下,安全一区和安全三区之间信息传送延时在1秒以内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102160810A CN101867620B (zh) | 2010-07-02 | 2010-07-02 | 一种跨安全区查看前置报文的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102160810A CN101867620B (zh) | 2010-07-02 | 2010-07-02 | 一种跨安全区查看前置报文的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101867620A true CN101867620A (zh) | 2010-10-20 |
CN101867620B CN101867620B (zh) | 2013-04-24 |
Family
ID=42959180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102160810A Active CN101867620B (zh) | 2010-07-02 | 2010-07-02 | 一种跨安全区查看前置报文的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101867620B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102364461A (zh) * | 2011-06-30 | 2012-02-29 | 广州市动景计算机科技有限公司 | 网页内容数据获取方法及服务器 |
CN102710639A (zh) * | 2012-05-31 | 2012-10-03 | 国网电力科学研究院 | 一种基于ActiveMQ数据总线的跨电力安全区实时数据交换方法 |
CN103259703A (zh) * | 2013-03-15 | 2013-08-21 | 山西省电力公司大同供电分公司 | 适用于电力行业的实时总线跨安全区通信方法 |
CN104468849A (zh) * | 2015-01-04 | 2015-03-25 | 云南电力调度控制中心 | 一种基于虚拟服务的跨安全区服务调用的实现方法 |
CN107506443A (zh) * | 2017-08-25 | 2017-12-22 | 国网辽宁省电力有限公司 | 一种跨平台的智能数据传输方法 |
CN108337245A (zh) * | 2018-01-12 | 2018-07-27 | 北京天元创新科技有限公司 | 一种电力通信网中的资源数据跨隔离采集方法及系统 |
CN109639453A (zh) * | 2018-10-31 | 2019-04-16 | 许继集团有限公司 | 一种实时监控系统跨安全区的web实时发布方法 |
CN111200592A (zh) * | 2019-12-17 | 2020-05-26 | 深圳供电局有限公司 | 信息传输方法、装置和系统 |
CN111277596A (zh) * | 2020-01-20 | 2020-06-12 | 广东电网有限责任公司电力调度控制中心 | 一种电网调控安全区数据传输系统、方法和设备 |
CN111970336A (zh) * | 2020-07-30 | 2020-11-20 | 许继集团有限公司 | 基于自动维护的电力系统隔离设备数据传输系统及方法 |
CN112260992A (zh) * | 2020-09-17 | 2021-01-22 | 南京南瑞继保电气有限公司 | 一种供电监控系统对设备运维系统交互报文数据方法 |
CN112995116A (zh) * | 2019-12-18 | 2021-06-18 | 南京南瑞继保电气有限公司 | 一种跨区协同统一数据采集方法 |
CN114157407A (zh) * | 2021-11-16 | 2022-03-08 | 北京华能新锐控制技术有限公司 | 单向隔离条件下的跨安全区时钟同步系统与方法 |
CN114793229A (zh) * | 2022-03-31 | 2022-07-26 | 广东电网有限责任公司 | 一种遥测数据的处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859384A (zh) * | 2005-12-29 | 2006-11-08 | 华为技术有限公司 | 控制用户报文通过网络隔离设备的方法 |
CN101374110A (zh) * | 2008-10-22 | 2009-02-25 | 成都市华为赛门铁克科技有限公司 | 无线服务网络中报文的处理方法、系统和设备 |
-
2010
- 2010-07-02 CN CN2010102160810A patent/CN101867620B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859384A (zh) * | 2005-12-29 | 2006-11-08 | 华为技术有限公司 | 控制用户报文通过网络隔离设备的方法 |
CN101374110A (zh) * | 2008-10-22 | 2009-02-25 | 成都市华为赛门铁克科技有限公司 | 无线服务网络中报文的处理方法、系统和设备 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102364461A (zh) * | 2011-06-30 | 2012-02-29 | 广州市动景计算机科技有限公司 | 网页内容数据获取方法及服务器 |
CN102710639A (zh) * | 2012-05-31 | 2012-10-03 | 国网电力科学研究院 | 一种基于ActiveMQ数据总线的跨电力安全区实时数据交换方法 |
CN102710639B (zh) * | 2012-05-31 | 2015-10-28 | 深圳供电局有限公司 | 一种基于ActiveMQ数据总线的跨电力安全区实时数据交换方法 |
CN103259703A (zh) * | 2013-03-15 | 2013-08-21 | 山西省电力公司大同供电分公司 | 适用于电力行业的实时总线跨安全区通信方法 |
CN103259703B (zh) * | 2013-03-15 | 2016-08-03 | 山西省电力公司大同供电分公司 | 适用于电力行业的实时总线跨安全区通信方法 |
CN104468849A (zh) * | 2015-01-04 | 2015-03-25 | 云南电力调度控制中心 | 一种基于虚拟服务的跨安全区服务调用的实现方法 |
CN107506443A (zh) * | 2017-08-25 | 2017-12-22 | 国网辽宁省电力有限公司 | 一种跨平台的智能数据传输方法 |
CN108337245A (zh) * | 2018-01-12 | 2018-07-27 | 北京天元创新科技有限公司 | 一种电力通信网中的资源数据跨隔离采集方法及系统 |
CN109639453B (zh) * | 2018-10-31 | 2022-04-05 | 许继集团有限公司 | 一种实时监控系统跨安全区的web实时发布方法 |
CN109639453A (zh) * | 2018-10-31 | 2019-04-16 | 许继集团有限公司 | 一种实时监控系统跨安全区的web实时发布方法 |
CN111200592A (zh) * | 2019-12-17 | 2020-05-26 | 深圳供电局有限公司 | 信息传输方法、装置和系统 |
CN111200592B (zh) * | 2019-12-17 | 2022-07-22 | 深圳供电局有限公司 | 信息传输方法、装置和系统 |
CN112995116A (zh) * | 2019-12-18 | 2021-06-18 | 南京南瑞继保电气有限公司 | 一种跨区协同统一数据采集方法 |
CN112995116B (zh) * | 2019-12-18 | 2023-05-12 | 南京南瑞继保电气有限公司 | 一种跨区协同统一数据采集方法 |
CN111277596A (zh) * | 2020-01-20 | 2020-06-12 | 广东电网有限责任公司电力调度控制中心 | 一种电网调控安全区数据传输系统、方法和设备 |
CN111970336A (zh) * | 2020-07-30 | 2020-11-20 | 许继集团有限公司 | 基于自动维护的电力系统隔离设备数据传输系统及方法 |
CN112260992A (zh) * | 2020-09-17 | 2021-01-22 | 南京南瑞继保电气有限公司 | 一种供电监控系统对设备运维系统交互报文数据方法 |
CN114157407A (zh) * | 2021-11-16 | 2022-03-08 | 北京华能新锐控制技术有限公司 | 单向隔离条件下的跨安全区时钟同步系统与方法 |
CN114157407B (zh) * | 2021-11-16 | 2023-09-19 | 北京华能新锐控制技术有限公司 | 单向隔离条件下的跨安全区时钟同步系统与方法 |
CN114793229A (zh) * | 2022-03-31 | 2022-07-26 | 广东电网有限责任公司 | 一种遥测数据的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101867620B (zh) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101867620B (zh) | 一种跨安全区查看前置报文的方法 | |
CN102088393B (zh) | 一种跨安全区正反向数据传输方法 | |
CN106815338A (zh) | 一种大数据的实时存储、处理和查询系统 | |
CN103501047B (zh) | 一种智能故障录波主站信息管理系统 | |
US11265333B2 (en) | Method of achieving synchronization management of account information of WEB interface in multi-system DAS | |
CN103905397B (zh) | 数据同步方法和系统 | |
CN101873005B (zh) | 一种实现电能量均衡采集的方法 | |
CN103559570B (zh) | 一种故障录波主站信息管理系统 | |
CN103049268B (zh) | 一种基于Naplet的应用开发管理系统 | |
CN102902669B (zh) | 基于互联网系统的分布式信息抓取方法 | |
CN114281790B (zh) | 一种多类型负荷资源聚合商接入系统及方法 | |
CN103347037A (zh) | 一种基于wcf实现的通信前置机系统及通讯方法 | |
CN101466109B (zh) | 一种WiMAX网络管理的通信系统和方法 | |
CN107103064A (zh) | 数据统计方法及装置 | |
CN113691497A (zh) | 一种基于KubeEdge和EdgeOS的物联网设备控制架构和方法 | |
CN104010031A (zh) | 一种改善Web浏览器应用效率的分布式协同方法 | |
CN112260992A (zh) | 一种供电监控系统对设备运维系统交互报文数据方法 | |
CN104394209B (zh) | 一种用于分布式能源管理的实时库数据传输方法 | |
CN114363096B (zh) | 一种跨安全分区的数据接入传输系统 | |
CN103345486A (zh) | 应用于远程浏览环境下客户端获取和展示图形文件的方法 | |
CN113542390B (zh) | 一种采用内存数据模型的物联网设备管理方法及系统 | |
CN102739788A (zh) | 一种基于eib协议的现场设备通信方法 | |
CN101924815A (zh) | 3g moa 手机中间件嵌入式系统 | |
CN1988477A (zh) | 具有高可用性特征的网络管理系统 | |
CN102868746B (zh) | 实现移动信息化的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |