[发明专利]一种提高电力监控服务器端报文处理速度的方法无效
申请号: | 201110201166.6 | 申请日: | 2011-07-18 |
公开(公告)号: | CN102307138A | 公开(公告)日: | 2012-01-04 |
发明(设计)人: | 丁建义;林峰平;张孝山;廖民康;刘正方 | 申请(专利权)人: | 深圳市康必达中创科技有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L1/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518040 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提高 电力 监控 服务器端 报文 处理 速度 方法 | ||
技术领域
本发明要解决的技术问题在于提供一种提高电力监控服务器端报文处理速度的方法。
背景技术
电力监控系统以计算机、通讯设备、测控单元为基本工具,为变配电系统的实时数据采集、开关状态检测及远程控制提供了基础平台,它可以和检测、控制设备构成任意复杂的监控系统,在变配电监控中发挥了核心作用,可以帮助企业消除孤岛、降低运作成本,提高生产效率,加快变配电过程中异常的反应速度。在它的功能不断完善的同时,用户对实时性方面提出了越来越高的要求。由于它采用的面向连接TCP/IP技术,系统的响应时间取决于发送方的发送速率和接收方响应处理能力,要尽量避免出现因接收方处理速度慢,数据在TCP/IP缓冲层堆积,导致发送方发送数据失败,速率降低的情况。因此服务器端和客户端应支持并发处理方式,一个任务阻塞等待的时候另一个任务正好得以调度运行,充分利用CPU的能力。
发明内容
本发明要解决的技术问题在于提供一种运行稳定,处理速度快捷的电力监控服务器端报文处理方法。
为解决上述技术问题,本发明通过一下技术方案来实现:一种提高电力监控服务器端报文处理速度的方法,基于IEC61850客户端的动态库软件,实现与IEC61850服务器端的连接,提高服务器发送的报文快速有效的处理,包括 有编码模块、解码模块、测试模块、数据接收线程模块、客户端动态库接口模块和滤波模块,其实现过程包括以下步骤,
a、所述编码模块主要任务是对各种命令进行组帧,组织报文的依据是MMS协议,主要的算法是采用后序编码,即从缓冲区的末尾向前进行编码;
b、所述解码模块由各种命令解帧函数构成,主要用来解析接收缓冲区的报文,线程是在初始化MMS成功后和报文接收线程同时创建,从缓冲区取出一帧正确的数据放入临时缓冲区,然后调用解帧函数对报文进行处理;
c、所述测试模块主要是对各种命令的组帧函数进行单测,检验的方法是将发送帧输出到屏幕上,然后将接受到的报文也输出到屏幕上,与IEDSCOUT软件对照即可知道是否接受成功;
d、所述数据接收线程模块主要是接收来自服务器端的报文,把收到的数据放入接收缓冲区,当接收数据有问题时断开网络,之后重新连接;
e、所述是客户端的最终接口,该接口直接提供给上层程序进行调用,该动态库的接口函数有一些函数构成,能实现传统的四遥功能,以及录波等功能,并且能满足现场的要求,能够处理程序的一些异常情况,使程序能够稳定的运行。
所述步骤a中编码模块的组帧有以下三种情况,初始化MMS,只有这个成功才创建MMS数据解析与接收线程;读取树节点报文,读树信息会涉及到很多嵌套,一定要发送一条命令且等待解析完后才能发下一条命令,这个等待用一个事件来触发解析完成,等待会有一个超时,超时会读取树节点函数会异常退出,程序又要重新开始读取树信息,组帧完后调用发送函数就返回,中间不会等待;错误处理:MMS启动报文是初始化MMS,读取树节点报文的发送报文失败会让函数返回失败,之后重新建立连接,再次发送,发送后失败后,会断开网络连接, 数据接收线程会检测到这个状态,重新连接网络,这个报文不会重新发送。
所述步骤b中解码模块算法,首先对固定字节进行比较,判定接收到的报文是否有错;如果没有错,继续解析,当遇到有所需要的数据时,如果为LD,则创建一个LD对象,为LN,则创建一个LN对象,其他对象方法一样;然后调用添加元素函数,将LD,LN等对象加入到相应节点的下面,添加成功后,返回帧。
本发明采用多线程处理的方法,分为MMS命令发送线程,接收服务端报文线程以及报文处理线程,服务端报文线程一直监测Socket缓冲区是否有数据,如果有数据到来就一次性全部读出来放入应用程序开辟数据共享缓冲区,然后通知数据处理线程从数据共享缓冲区读取数据作解码处理,本发明总体来说具有以下优点:
1.模块性强,扩展性好;
2.采用多线程的处理方式,提高任务的并发性和吞吐量;
3.处理因数据变化、品质变化等原因引起遥信、遥测报告实时性很强;
4.应用程序开辟大块缓冲区,减少因TCP缓冲区满导致服务器端发送失败的机率;
5.严密的逻辑判断和异常处理,极大程度保证程序稳定运行。
附图说明
图1为本发明编码模块原理图;
图2为本发明编码模块接口流程图;
图3为本发明解码模块原理图;
图4为本发明解码模块流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市康必达中创科技有限公司,未经深圳市康必达中创科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110201166.6/2.html,转载请声明来源钻瓜专利网。