基于jms消息的电力调度实时数据发布系统及方法

文档序号:9551187阅读:714来源:国知局
基于jms消息的电力调度实时数据发布系统及方法
【技术领域】
[0001]本发明涉及电力自动化技术领域,具体而言涉及基于JMS消息的电力调度实时数据发布系统及方法。
【背景技术】
[0002]电力调度实时数据是观察电网实时运行状态、进行电力系统高级应用分析和控制的重要数据基础,具体采集点多、类型多样、数据变化快等特点。电力调度实时数据包括开关变位信号、保护动作信号、保护告警信息、母线电压、线路有功功率、发电机有功功率、线路无功功率等各种电气采集量。目前,电力调度实时数据主要是由电力调度主站系统中的数据采集模块从变电站的远动装置中采集得到,提供给其余电力系统模块和电力应用分析系统使用。
[0003]通常情况下,电力系统高级分析模块及电力应用分析系统获取实时数据的方法包括:
[0004](1)前置转发方式:数据采集模块采用标准的前置规约如IEC80975-104规约、TASE2规约,将实时数据转发给其余模块和系统。缺点在于需要开发复杂的规约解析模块,工程配置量较大。
[0005](2)文件方式:采数据采集模块采用文本文件的方式,将实时数据按照分钟级周期发送给其余模块和系统。缺点在于难以满足实时性要求。

【发明内容】

[0006]针对现有技术的缺陷和不足,本发明旨在提供基于JMS消息的电力调度实时数据发布系统及方法,可以实时发布电力调度各类型采集数据,数据格式简单,解析方便,保证与异构系统间数据交互的方便性和兼容性。
[0007]为达成上述目的,本发明所提出的的技术方案如下:基于JMS消息的电力调度实时数据发布系统,其特征在于,包括数据采集模块、数据处理模块、数据缓存模块、数据发布模块与JMS消息服务器;所述数据采集模块用于采集电网运行的实时数据并发送给数据处理模块;数据处理模块用于对收到的实时数据进行数据分类,并将即时型数据发送给数据发布模块,将周期型数据存储到数据缓存模块;数据缓存模块用于存储采集点当前时刻与上一时刻的实时数据;数据发布模块用于将即时型数据序列化并发送给JMS消息服务器;数据发布模块还用于周期校验数据缓存模块中的实时数据,并将满足条件的实时数据序列化后发送给JMS消息服务器JMS消息服务器用于将实时数据推送给数据订阅客户端。
[0008]进一步的,所述数据采集模块通过基于共享内存的消息队列方式,将采集的实时数据传递给数据处理模块;消息队列的最大长度可以根据当前缓存的消息个数进行动态调整;按照如下方法进行调整:
[0009]队列最大长度=(Xo/X^l)^式(1)
[0010]式⑴中X。为当前缓存的消息个数,X:为常整数,取值范围为100?1000。
[0011]进一步的,所述数据处理模块根据实时数据的电气类型和发布要求,将接收的实时数据分为两种类型:即时型数据和周期型数据;所述即时型数据包括开关动作信号、保护告警信息、变电站S0E事件;所述周期型数据包括线路有功功率、线路无功功率、母线电压。
[0012]实时数据分类后,数据处理模块将即时型数据发送给数据发布模块,将周期型数据存储到数据缓存模块。
[0013]进一步的,所述数据发布模块至少包括两个数据处理子模块:第一发布单元和第二发布单元;所述第一发布单元用于接收和发送即时型实时数据;第二发布单元用于校验和获取数据缓存模块里的实时数据,发送周期型实时数据。
[0014]进一步的,所述数据发布模块的第一发布单元接收到即时型数据后,使用JS0N格式对数据进行序列化,发送给JMS消息服务器;
[0015]序列化后的数据包格式定义如下:
[0016]{"Instance":[
[0017]{"ID": "010000001","Name": "5013 开关","Value": "Open"},
[0018]{〃ID〃: 〃010000002〃,〃Name〃: 〃 保护装置 A〃,〃Value〃: 〃 保护动作"}
[0019].........
[0020]]}
[0021]其中,标签“Instance”表示本数据包是即时型数据,标签"ID"表示采集点的ID号,标签"Name"表示采集点名称,标签"Value"表示采集点的实时数据值。
[0022]进一步的,所述数据发布模块的第二发布单元,周期校验数据缓存模块中各个采集点,选出满足检验公式的采集点;检验公式定义如下:
[0023]| Xo-Xi | ^ δ式⑵
[0024]式(1)中X。为采集点的当前实时值,乂:为采集点的上一周期实时值,δ为变化阀值,一般取值范围为1.0?0.0001。
[0025]进一步的,所述数据发布模块的第二发布单元使用JS0N格式将满足公式2的采集点的当前实时值进行序列化,发送给JMS消息服务器,发送完毕后更新采集点的上一周期实时值,将上一周期实时值更新为当前实时值;
[0026]序列化后的数据包格式定义如下:
[0027]{"Cycle":[
[0028]{"ID": "010000003","Name": "220kV 母线电压
[0029]","Value":"230.1"},
[0030]{〃ID〃: 〃010000004〃,〃Name〃: 〃 开滦线有功功率
[0031]","Value": "56.2"}
[0032].........
[0033]]}
[0034]其中,标签"Cycle"表示本数据包是周期型数据,标签"ID"表示采集点的ID号,标签"Name"表示采集点名称,标签"Value"表示采集点的当前实时值。
[0035]为实现上述技术目的,本发明采取的另一种技术方案为:基于JMS消息的电力调度实时数据发布方法,其特征在于包括以下步骤:包括数据采集模块、数据处理模块、数据缓存模块、数据发布模块与JMS消息服务器;数据采集模块采集电网运行的实时数据并发送给数据处理模块;数据处理模块对收到的实时数据进行数据分类,并将即时型数据发送给数据发布模块,将周期型数据存储到数据缓存模块;数据缓存模块存储采集点当前时刻与上一时刻的实时数据;数据发布模块将即时型数据序列化并发送给JMS消息服务器;数据发布模块周期校验数据缓存模块中的实时数据,并将满足条件的实时数据序列化后发送给JMS消息服务器JMS消息服务器将实时数据推送给数据订阅客户端。
[0036]进一步的,所述数据采集模块通过基于共享内存的消息队列方式,将采集的实时数据传递给数据处理模块;消息队列的最大长度可以根据当前缓存的消息个数进行动态调整;按照如下方法进行调整:
[0037]队列最大长度=(/%+1)*&式(1)
[0038]式⑴中X。为当前缓存的消息个数,X:为常整数,取值范围为100?1000。
[0039]进一步的,所述数据处理模块根据实时数据的电气类型和发布要求,将接收的实时数据分为两种类型:即时型数据和周期型数据;所述即时型数据包括开关动作信号、保护告警信息、变电站S0E事件;所述周期型数据包括线路有功功率、线路无功功率、母线电压。
[0040]实时数据分类后,数据处理模块将即时型数据发送给数据发布模块,将周期型数据存储到数据缓存模块。
[0041]进一步的,所述数据发布模块至少包括两个数据处理子模块:第一发布单元和第二发布单元;所述第一发布单元用于接收和发送即时型实时数据;第二发布单元用于校验和获取数据缓存模块里的实时数据,发送周期型实时数据。
[0042]进一步的,所述数据发布模块的第一发布单元接收到即时型数据后,使用JS0N格式对数据进行序列化,发送给JMS消息服务器;
[0043]序列化后的数据包格式定义如下:
[0044]{"Instance":[
[0045]{"ID": "010000001","Name": "5013 开关","Value": "Open"},
[0046]{〃ID〃: 〃010000002〃,〃Name〃: 〃 保护装置 A〃,〃Value〃: 〃 保护动作"}
[0047].........
[0048]]}
[0049]其中,标签“Instance”表示本数据包是即时型数据,标签"ID"表示采集点的ID号,标签"Name"表示采集点名称,标签"Value"表示采集点的实时数据值。
[0050]进一步的,所述数据发布模块的第二发布单元,周期校验数据缓存模块中各个采集点,选出满足检验公式的采集点;检验公式定义如下:
[0051]|x0-x」彡δ式⑵
[0052]式(1)中X。为采集点的当前实时值,乂:为采集点的上一周期实时值,δ为变化阀值,一般取值范围为1.0?0.0001。
[0053]进一步的,所述数据发布模块的第二发布单元使用JS0N格式将满足公式2的采集点的当前实时值进行序列化,发送给JMS消息服务器,发送完毕后更新采集点的上一周期实时值,将上一周期实时值更新为当前实时值;
[0054]序列化后的数据包格式定义如下:
[0055]{"Cycle":[
[0056]{"ID": "010000003","Name": "220kV 母线电压
[0057]","Value": "230.1"},
[0058]{〃ID〃: "010000004", 〃Name〃: 〃 开滦线有功功率
[0059]","Value": "56.2"}
[0060].........
[0061] ]}
[0062]其中,标签"Cycle"表示本数据包是周期型数据,标签"ID"表示采集点的ID号,标签"Name"表示采集点名称,标签"Value"表示采集点的当前实时值。
[0063]由以上本发明的技术方案可知,本发明的有益效果在于提
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1