一种GOOSE报文发送方法及装置转让专利

申请号 : CN201910544289.6

文献号 : CN110290198A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 付金龙

申请人 : 上海东土远景工业科技有限公司

摘要 :

本发明涉及通信技术领域,公开了一种GOOSE报文发送方法及装置,用于保证各个终端接收订阅报文的同步性,该方法包括:服务器基于接收到的监控节点发送的触发指令,生成至少两种数据类型的GOOSE报文,其中,一个GOOSE报文中携带有表征数据类型的数据标识;然后,服务器将生成的各个GOOSE报文封装为数据帧,并发往通信网络内的各个终端中,以触发各个终端基于自身支持的数据类型,从接收的各个数据帧中,提取携带有相应数据标识的GOOSE报文并解析。这样,每个终端会同时捕获到至少两个所携带GOOSE报文的数据类型的数据帧,该终端可以基于自身支持的数据类型,获取相应订阅报文,保证了各个终端接收订阅报文的同步性。

权利要求 :

1.一种面向通用对象的变电站事件GOOSE报文发送方法,其特征在于,包括:服务器接收监控节点发送的触发指令,并基于所述触发指令生成至少两种数据类型的GOOSE报文,其中,一个GOOSE报文中携带有表征数据类型的数据标识;

所述服务器将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端,触发所述各个终端基于自身支持的数据类型,从接收的所述各个数据帧中,提取出携带有相应的数据标识的GOOSE报文并进行解析。

2.如权利要求1所述的方法,其特征在于,服务器接收监控节点发送的触发指令,包括:所述服务器接收所述监控节点发送的触发指令,从所述触发指令中获取包含所述监控节点的当前状态值与所述当前状态值变更时刻的变位信息。

3.如权利要求2所述的方法,其特征在于,服务器基于所述触发指令至少生成两种数据类型的GOOSE报文,包括:所述服务器从所述触发指令中获取所述变位信息,并将所述变位信息与所述服务器判断所述监控节点是否处于在线状态的状态信息,确定为GOOSE报文的第一数据内容,以及将所述变位信息中记录的所述监控节点的当前状态值,确定为GOOSE报文的第二数据内容;

为所述GOOSE报文的第一数据内容配置第一数据类型的数据标识,生成第一数据类型的GOOSE报文;

为所述GOOSE报文的第二数据内容配置第二数据类型的数据标识,生成第二数据类型的GOOSE报文。

4.如权利要求1所述的方法,其特征在于,服务器基于触发指令至少生成两种数据类型的GOOSE报文之后,在所述服务器将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端之前,进一步包括:所述服务器基于触发指令,进一步生成其他报文类型的报文。

5.如权利要求4所述的方法,其特征在于,所述服务器将生成的各个GOOSE报文封装为数据帧,并将各个数据帧发往通信网络内的各个终端,包括:所述服务器将生成的各个所述其他报文类型的报文封装为数据帧;

所述服务器按照设定的帧优先级顺序,将基于GOOSE报文生成的各个数据帧,以及基于所述其他报文类型的报文生成的各个数据帧,发往通信网络内的各个终端中,其中,基于所述其他报文类型的报文生成的各个数据帧的优先级,低于基于GOOSE报文生成的各个数据帧的优先级。

6.一种GOOSE报文接收方法,其特征在于,包括:

终端从通信网络内捕获服务器发送的携带GOOSE报文的至少两个数据帧,所述至少两个数据帧中所携带GOOSE报文的数据类型不同;

所述终端基于自身支持的数据类型对应的报文标识,从接收的所述各个数据帧中,提取出携带有相应的报文标识的GOOSE报文并进行解析;

所述终端基于解析结果,调整自身的状态值。

7.如权利要求6所述的方法,其特征在于,终端从通信网络内捕获服务器发送携带GOOSE报文的至少两个数据帧,进一步包括:所述终端从通信网络内捕获服务器按照设定的帧优先级顺序发送的各个数据帧,各个数据帧中包括基于GOOSE报文生成的各个数据帧,以及基于其他报文类型的报文生成的各个数据帧,其中,基于所述其他报文类型的报文生成的各个数据帧的优先级,低于基于GOOSE报文生成的各个数据帧的优先级。

8.如权利要求7所述的方法,其特征在于,所述终端基于自身支持的数据类型对应的报文标识,从接收的所述各个数据帧中,提取出携带有相应的报文标识的GOOSE报文,包括:所述终端分别对接收的各个数据帧执行以下操作:

所述终端将接收到的一个数据帧缓存在本地,并对所述一个数据帧的帧头进行解析,获得所述一个数据帧中所携带报文的报文类型;

确定所述一个数据帧中所携带报文的报文类型是GOOSE报文时,判定所述一个数据帧携带的是合法报文,并保存所述GOOSE报文。

9.如权利要求8所述的方法,其特征在于,所述终端对保存的GOOSE报文进行解析,包括:所述终端读取所述GOOSE报文的数据标识,识别所述GOOSE报文的数据类型,其中,所述数据标识为表征第一数据类型的第一数据标识,或者,为表征第二数据类型的第二数据标识;

所述终端确定所述GOOSE报文的数据类型与自身支持的数据类型一致时,将所述GOOSE报文确定为所述终端的订阅报文;

所述终端从所述GOOSE报文中进一步获取所述GOOSE报文携带的数据内容,其中,所述数据内容为对应第一数据类型的数据标识的第一数据内容,或者,为对应第二数据类型的数据标识的第二数据内容,所述第一数据内容是基于所述服务器接收监控节点发送的触发指令中包含的变位信息,以及所述服务器判断该监控节点是否处于在线状态的状态信息生成的,所述第二数据内容是基于所述触发指令中变位信息记录的所述监控节点的当前状态值生成的。

10.如权利要求9所述的方法,其特征在于,将所述GOOSE报文确定为所述终端的订阅报文之后,获取所述GOOSE报文携带的数据内容之前,进一步包括:所述终端确定针对所述GOOSE报文,从捕获对应的数据帧到获得所述GOOSE报文的数据标识之间的时长;

所述终端确定所述时长未超过对应的所述一个GOOSE报文设置的存活时长。

11.如权利要求6~10任一项所述的方法,其特征在于,所述终端基于解析结果,调整自身的状态值,包括:所述终端确定所述GOOSE报文中携带的数据内容;

所述终端将自身的状态值调整到与所述数据内容中包含的所述监控节点的当前状态值一致。

12.一种GOOSE报文发送装置,其特征在于,包括:

生成单元,用于接收监控节点发送的触发指令,并基于所述触发指令生成至少两种数据类型的GOOSE报文,其中,一个GOOSE报文中携带有表征数据类型的数据标识;

发送单元,用于将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端,触发所述各个终端基于自身支持的数据类型,从接收的所述各个数据帧中,提取出携带有相应的数据标识的GOOSE报文并进行解析。

13.如权利要求12所述的装置,其特征在于,接收监控节点发送的触发指令,所述生成单元用于:接收所述监控节点发送的触发指令,从所述触发指令中获取包含所述监控节点的当前状态值与所述当前状态值变更时刻的变位信息。

14.如权利要求13所述的装置,其特征在于,基于所述触发指令至少生成两种数据类型的GOOSE报文,所述生成单元用于:从所述触发指令中获取所述变位信息,并将所述变位信息与判断所述监控节点是否处于在线状态的状态信息,确定为GOOSE报文的第一数据内容,以及将所述变位信息中记录的所述监控节点的当前状态值,确定为GOOSE报文的第二数据内容;

为所述GOOSE报文的第一数据内容配置第一数据类型的数据标识,生成第一数据类型的GOOSE报文;

为所述GOOSE报文的第二数据内容配置第二数据类型的数据标识,生成第二数据类型的GOOSE报文。

15.如权利要求12所述的装置,其特征在于,基于触发指令至少生成两种数据类型的GOOSE报文之后,在将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端之前,所述发送单元具体用于:基于触发指令,进一步生成其他报文类型的报文。

16.如权利要求15所述的装置,其特征在于,将生成的各个GOOSE报文封装为数据帧,并将各个数据帧发往通信网络内的各个终端,所述发送单元用于:将生成的各个所述其他报文类型的报文封装为数据帧;

按照设定的帧优先级顺序,将基于GOOSE报文生成的各个数据帧,以及基于所述其他报文类型的报文生成的各个数据帧,发往通信网络内的各个终端中,其中,基于所述其他报文类型的报文生成的各个数据帧的优先级,低于基于GOOSE报文生成的各个数据帧的优先级。

17.一种GOOSE报文接收装置,其特征在于,包括:

获取单元,用于从通信网络内捕获服务器发送的携带GOOSE报文的至少两个数据帧,所述至少两个数据帧中所携带GOOSE报文的数据类型不同;

处理单元,用于基于自身支持的数据类型对应的报文标识,从接收的所述各个数据帧中,提取出携带有相应的报文标识的GOOSE报文并进行解析;

调整单元,用于基于解析结果,调整自身的状态值。

18.如权利要求17所述的装置,其特征在于,从通信网络内捕获服务器发送携带GOOSE报文的至少两个数据帧,所述获取单元具体用于:从通信网络内捕获服务器按照设定的帧优先级顺序发送的各个数据帧,各个数据帧中包括基于GOOSE报文生成的各个数据帧,以及基于其他报文类型的报文生成的各个数据帧,其中,基于所述其他报文类型的报文生成的各个数据帧的优先级,低于基于GOOSE报文生成的各个数据帧的优先级。

19.如权利要求18所述的装置,其特征在于,基于自身支持的数据类型对应的报文标识,从接收的所述各个数据帧中,提取出携带有相应的报文标识的GOOSE报文,所述处理单元用于:分别对接收的各个数据帧执行以下操作:

将接收到的一个数据帧缓存在本地,并对所述一个数据帧的帧头进行解析,获得所述一个数据帧中所携带报文的报文类型;

确定所述一个数据帧中所携带报文的报文类型是GOOSE报文时,判定所述一个数据帧携带的是合法报文,并保存所述GOOSE报文。

20.如权利要求19所述的装置,其特征在于,对保存的GOOSE报文进行解析,所述处理单元用于:读取所述GOOSE报文的数据标识,识别所述GOOSE报文的数据类型,其中,所述数据标识为表征第一数据类型的第一数据标识,或者,为表征第二数据类型的第二数据标识;

确定所述GOOSE报文的数据类型与自身支持的数据类型一致时,将所述GOOSE报文确定为所述终端的订阅报文;

从所述GOOSE报文中进一步获取所述GOOSE报文携带的数据内容,其中,所述数据内容为对应第一数据类型的数据标识的第一数据内容,或者,为对应第二数据类型的数据标识的第二数据内容,所述第一数据内容是基于所述服务器接收监控节点发送的触发指令中包含的变位信息,以及所述服务器判断该监控节点是否处于在线状态的状态信息生成的,所述第二数据内容是基于所述触发指令中变位信息记录的所述监控节点的当前状态值生成的。

21.根据权利要求20所述的装置,其特征在于,将所述GOOSE报文确定为所述终端的订阅报文之后,获取所述GOOSE报文携带的数据内容之前,所述处理单元具体用于:确定针对所述GOOSE报文,从捕获对应的数据帧到获得所述GOOSE报文的数据标识之间的时长;

确定所述时长未超过对应的所述一个GOOSE报文设置的存活时长。

22.根据权利要求17~21任一项所述的装置,其特征在于,基于解析结果,调整自身的状态值,所述调整单元用于:确定所述GOOSE报文中携带的数据内容;

将自身的状态值调整到与所述数据内容中包含的所述监控节点的当前状态值一致。

23.一种计算设备,其特征在于,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1~5任一项所述的方法,或者执行权利要求6~11任一项所述的方法。

24.一种存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1~5任一项所述的方法,或者执行如权利要求6~11任一项所述的方法。

说明书 :

一种GOOSE报文发送方法及装置

技术领域

[0001] 本发明涉及通信技术领域,特别涉及一种GOOSE报文发送方法及装置。

背景技术

[0002] 在现有技术的变电站环境中,服务器端接收到触发终端设备发送的触发指令后,向局域网内单独发送数据类型为结构体的GOOSE报文信息,或者数据类型为一个值的GOOSE报文信息,订阅终端设备在设定的周期内从局域网中按照自身的报文订阅类型捕获相应的报文信息。
[0003] 然而,若有多个触发终端设备同时向服务器端发送触发指令,且多个订阅终端设备的报文订阅类型不同,依然采用上述技术方案则会出现以下问题:假设服务器端发送的是包含一个值的GOOSE报文信息,则订阅结构体报文信息的终端设备,会抛弃已捕获的包含一个值的GOOSE报文信息;假设服务器端发送的是结构体GOOSE报文信息,则订阅一个值的报文信息的终端设备,会抛弃已捕获的结构体GOOSE报文信息。因此,在现有技术中,无法解决服务器端同时向订阅不同类型报文信息的终端设备发送相应的报文信息的技术问题。
[0004] 有鉴于此,需要设计一种新的GOOSE报文发送方法,以克服上述缺陷。

发明内容

[0005] 本发明实施例提供一种GOOSE报文发送方法及装置,用以解决现有技术中存在的各个订阅终端设备不能同时接收到服务器发送的订阅GOOSE报文的问题。
[0006] 本发明实施例提供的具体技术方案如下:
[0007] 一种面向通用对象的变电站事件GOOSE报文发送方法,包括:
[0008] 服务器接收监控节点发送的触发指令,并基于所述触发指令生成至少两种数据类型的GOOSE报文,其中,一个GOOSE报文中携带有表征数据类型的数据标识;
[0009] 所述服务器将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端,触发所述各个终端基于自身支持的数据类型,从接收的所述各个数据帧中,提取出携带有相应的数据标识的GOOSE报文并进行解析。
[0010] 可选的,服务器接收监控节点发送的触发指令,包括:
[0011] 所述服务器接收所述监控节点发送的触发指令,从所述触发指令中获取包含所述监控节点的当前状态值与所述当前状态值变更时刻的变位信息。
[0012] 可选的,服务器基于所述触发指令至少生成两种数据类型的GOOSE报文,包括:
[0013] 所述服务器从所述触发指令中获取所述变位信息,并将所述变位信息与所述服务器判断所述监控节点是否处于在线状态的状态信息,确定为GOOSE报文的第一数据内容,以及将所述变位信息中记录的所述监控节点的当前状态值,确定为GOOSE报文的第二数据内容;
[0014] 为所述GOOSE报文的第一数据内容配置第一数据类型的数据标识,生成第一数据类型的GOOSE报文;
[0015] 为所述GOOSE报文的第二数据内容配置第二数据类型的数据标识,生成第二数据类型的GOOSE报文。
[0016] 可选的,服务器基于触发指令至少生成两种数据类型的GOOSE报文之后,在所述服务器将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端之前,进一步包括:
[0017] 所述服务器基于触发指令,进一步生成其他报文类型的报文。
[0018] 可选的,所述服务器将生成的各个GOOSE报文封装为数据帧,并将各个数据帧发往通信网络内的各个终端,包括:
[0019] 所述服务器将生成的各个所述其他报文类型的报文封装为数据帧;
[0020] 所述服务器按照设定的帧优先级顺序,将基于GOOSE报文生成的各个数据帧,以及基于所述其他报文类型的报文生成的各个数据帧,发往通信网络内的各个终端中,其中,基于所述其他报文类型的报文生成的各个数据帧的优先级,低于基于GOOSE报文生成的各个数据帧的优先级。
[0021] 一种GOOSE报文接收方法,包括:
[0022] 终端从通信网络内捕获服务器发送的携带GOOSE报文的至少两个数据帧,所述至少两个数据帧中所携带GOOSE报文的数据类型不同;
[0023] 所述终端基于自身支持的数据类型对应的报文标识,从接收的所述各个数据帧中,提取出携带有相应的报文标识的GOOSE报文并进行解析;
[0024] 所述终端基于解析结果,调整自身的状态值。
[0025] 可选的,终端从通信网络内捕获服务器发送携带GOOSE报文的至少两个数据帧,进一步包括:
[0026] 所述终端从通信网络内捕获服务器按照设定的帧优先级顺序发送的各个数据帧,各个数据帧中包括基于GOOSE报文生成的各个数据帧,以及基于其他报文类型的报文生成的各个数据帧,其中,基于所述其他报文类型的报文生成的各个数据帧的优先级,低于基于GOOSE报文生成的各个数据帧的优先级。
[0027] 可选的,所述终端基于自身支持的数据类型对应的报文标识,从接收的所述各个数据帧中,提取出携带有相应的报文标识的GOOSE报文,包括:
[0028] 所述终端分别对接收的各个数据帧执行以下操作:
[0029] 所述终端将接收到的一个数据帧缓存在本地,并对所述一个数据帧的帧头进行解析,获得所述一个数据帧中所携带报文的报文类型;
[0030] 确定所述一个数据帧中所携带报文的报文类型是GOOSE报文时,判定所述一个数据帧携带的是合法报文,并保存所述GOOSE报文。
[0031] 可选的,所述终端对保存的GOOSE报文进行解析,包括:
[0032] 所述终端读取所述GOOSE报文的数据标识,识别所述GOOSE报文的数据类型,其中,所述数据标识为表征第一数据类型的第一数据标识,或者,为表征第二数据类型的第二数据标识;
[0033] 所述终端确定所述GOOSE报文的数据类型与自身支持的数据类型一致时,将所述GOOSE报文确定为所述终端的订阅报文;
[0034] 所述终端从所述GOOSE报文中进一步获取所述GOOSE报文携带的数据内容,其中,所述数据内容为对应第一数据类型的数据标识的第一数据内容,或者,为对应第二数据类型的数据标识的第二数据内容,所述第一数据内容是基于所述服务器接收监控节点发送的触发指令中包含的变位信息,以及所述服务器判断该监控节点是否处于在线状态的状态信息生成的,所述第二数据内容是基于所述触发指令中变位信息记录的所述监控节点的当前状态值生成的。
[0035] 可选的,将所述GOOSE报文确定为所述终端的订阅报文之后,获取所述GOOSE报文携带的数据内容之前,进一步包括:
[0036] 所述终端确定针对所述GOOSE报文,从捕获对应的数据帧到获得所述GOOSE报文的数据标识之间的时长;
[0037] 所述终端确定所述时长未超过对应的所述一个GOOSE报文设置的存活时长。
[0038] 可选的,所述终端基于解析结果,调整自身的状态值,包括:
[0039] 所述终端确定所述GOOSE报文中携带的数据内容;
[0040] 所述终端将自身的状态值调整到与所述数据内容中包含的所述监控节点的当前状态值一致。
[0041] 一种GOOSE报文发送装置,包括:
[0042] 生成单元,用于接收监控节点发送的触发指令,并基于所述触发指令生成至少两种数据类型的GOOSE报文,其中,一个GOOSE报文中携带有表征数据类型的数据标识;
[0043] 发送单元,用于将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端,触发所述各个终端基于自身支持的数据类型,从接收的所述各个数据帧中,提取出携带有相应的数据标识的GOOSE报文并进行解析。
[0044] 可选的,接收监控节点发送的触发指令,所述生成单元用于:
[0045] 接收所述监控节点发送的触发指令,从所述触发指令中获取包含所述监控节点的当前状态值与所述当前状态值变更时刻的变位信息。
[0046] 可选的,基于所述触发指令至少生成两种数据类型的GOOSE报文,所述生成单元用于:
[0047] 从所述触发指令中获取所述变位信息,并将所述变位信息与判断所述监控节点是否处于在线状态的状态信息,确定为GOOSE报文的第一数据内容,以及将所述变位信息中记录的所述监控节点的当前状态值,确定为GOOSE报文的第二数据内容;
[0048] 为所述GOOSE报文的第一数据内容配置第一数据类型的数据标识,生成第一数据类型的GOOSE报文;
[0049] 为所述GOOSE报文的第二数据内容配置第二数据类型的数据标识,生成第二数据类型的GOOSE报文。
[0050] 可选的,基于触发指令至少生成两种数据类型的GOOSE报文之后,在将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端之前,所述发送单元具体用于:
[0051] 基于触发指令,进一步生成其他报文类型的报文。
[0052] 可选的,将生成的各个GOOSE报文封装为数据帧,并将各个数据帧发往通信网络内的各个终端,所述发送单元用于:
[0053] 将生成的各个所述其他报文类型的报文封装为数据帧;
[0054] 按照设定的帧优先级顺序,将基于GOOSE报文生成的各个数据帧,以及基于所述其他报文类型的报文生成的各个数据帧,发往通信网络内的各个终端中,其中,基于所述其他报文类型的报文生成的各个数据帧的优先级,低于基于GOOSE报文生成的各个数据帧的优先级。
[0055] 一种GOOSE报文接收装置,包括:
[0056] 获取单元,用于从通信网络内捕获服务器发送的携带GOOSE报文的至少两个数据帧,所述至少两个数据帧中所携带GOOSE报文的数据类型不同;
[0057] 处理单元,用于基于自身支持的数据类型对应的报文标识,从接收的所述各个数据帧中,提取出携带有相应的报文标识的GOOSE报文并进行解析;
[0058] 调整单元,用于基于解析结果,调整自身的状态值。
[0059] 可选的,从通信网络内捕获服务器发送携带GOOSE报文的至少两个数据帧,所述获取单元具体用于:
[0060] 从通信网络内捕获服务器按照设定的帧优先级顺序发送的各个数据帧,各个数据帧中包括基于GOOSE报文生成的各个数据帧,以及基于其他报文类型的报文生成的各个数据帧,其中,基于所述其他报文类型的报文生成的各个数据帧的优先级,低于基于GOOSE报文生成的各个数据帧的优先级。
[0061] 可选的,基于自身支持的数据类型对应的报文标识,从接收的所述各个数据帧中,提取出携带有相应的报文标识的GOOSE报文,所述处理单元用于:
[0062] 分别对接收的各个数据帧执行以下操作:
[0063] 将接收到的一个数据帧缓存在本地,并对所述一个数据帧的帧头进行解析,获得所述一个数据帧中所携带报文的报文类型;
[0064] 确定所述一个数据帧中所携带报文的报文类型是GOOSE报文时,判定所述一个数据帧携带的是合法报文,并保存所述GOOSE报文。
[0065] 可选的,对保存的GOOSE报文进行解析,所述处理单元用于:
[0066] 读取所述GOOSE报文的数据标识,识别所述GOOSE报文的数据类型,其中,所述数据标识为表征第一数据类型的第一数据标识,或者,为表征第二数据类型的第二数据标识;
[0067] 确定所述GOOSE报文的数据类型与自身支持的数据类型一致时,将所述GOOSE报文确定为所述终端的订阅报文;
[0068] 从所述GOOSE报文中进一步获取所述GOOSE报文携带的数据内容,其中,所述数据内容为对应第一数据类型的数据标识的第一数据内容,或者,为对应第二数据类型的数据标识的第二数据内容,所述第一数据内容是基于所述服务器接收监控节点发送的触发指令中包含的变位信息,以及所述服务器判断该监控节点是否处于在线状态的状态信息生成的,所述第二数据内容是基于所述触发指令中变位信息记录的所述监控节点的当前状态值生成的。
[0069] 可选的,将所述GOOSE报文确定为所述终端的订阅报文之后,获取所述GOOSE报文携带的数据内容之前,所述处理单元具体用于:
[0070] 确定针对所述GOOSE报文,从捕获对应的数据帧到获得所述GOOSE报文的数据标识之间的时长;
[0071] 确定所述时长未超过对应的所述一个GOOSE报文设置的存活时长。
[0072] 可选的,基于解析结果,调整自身的状态值,所述调整单元用于:
[0073] 确定所述GOOSE报文中携带的数据内容;
[0074] 将自身的状态值调整到与所述数据内容中包含的所述监控节点的当前状态值一致。
[0075] 一种计算设备,包括:
[0076] 存储器,用于存储程序指令;
[0077] 处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一项GOOSE报文发送方法,或者执行上述任一项GOOSE报文接收方法。
[0078] 一种存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述任一项GOOSE报文发送方法,或者执行上述任一项GOOSE报文接收方法。
[0079] 本发明有益效果如下:
[0080] 本发明实施例中,服务器将生成至少两种数据类型的GOOSE报文,并将生成的各个GOOSE报文封装为数据帧,将各个数据帧同时发往处于同一通信网络内的各个终端中。这样的话,针对一个终端来说,会同时捕获到至少两个数据帧,每一个数据帧中所携带GOOSE报文的数据类型是不同的,所述一个终端可以基于自身支持的数据类型,获取所述一个终端的订阅报文,并基于订阅报文的解析结果,调整所述一个终端的状态值,因此,保证了各个终端接收订阅报文的同步性,保证了整个系统的安全运行。

附图说明

[0081] 图1为本发明实施例提供的服务器生成并发送GOOSE报文的流程示意图;
[0082] 图2为本发明实施例提供的终端捕获并解析服务器发送的各个数据帧的流程示意图;
[0083] 图3为本发明实施例提供的一种GOOSE报文发送装置的结构示意图;
[0084] 图4为本发明实施例提供的一种GOOSE报文接收装置的结构示意图;
[0085] 图5为本发明实施例提供的一种计算设备的结构示意图。

具体实施方式

[0086] 在智能变电站系统中,包括服务器,以及与服务器处于同一通信网络内的各个终端。
[0087] 当智能变电站系统中至少一个监控节点发生变位动作时,该系统会执行以下操作:
[0088] 首先,服务器在接收到系统中的监控节点发送的触发指令后,基于该触发指令生成至少两种数据类型的GOOSE报文,其中,一个GOOSE报文中携带有表征数据类型的数据标识;
[0089] 其次,服务器将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端;
[0090] 再次,各个终端从通信网络内捕获到服务器发送的各个数据帧后,各个终端基于自身支持的数据类型,从接收的各个数据帧中,提取出携带有相应的数据标识的GOOSE报文并进行解析;
[0091] 最后,各个终端基于获得的各个解析结果,调整自身的状态值。
[0092] 可选的,监控节点为断路器、告警节点、电流电压互感器、传感器等等。
[0093] 具体地,如图1所示,服务器生成并发送GOOSE报文的过程如下:
[0094] S101,服务器接收监控节点发送的触发指令。
[0095] 可选的,服务器接收监控节点发送的触发指令,从该触发指令中获取包含监控节点的当前状态值与当前状态值变更时刻的变位信息。
[0096] 例如,当系统中的某一断路器在T0时刻发生跳闸动作时,会产生一个动作信号,并基于该动作信号生成触发指令,该触发指令中包括该断路器的当前状态值0,当前状态值变更时刻T0。当服务器接收触发指令之后,在生成并发送GOOSE报文给处于同一通信网络内的各个终端之前,服务器还需要采用与该断路器进行三次握手,或者向该断路器发送心跳报文的形式,确定该断路器在服务器发送GOOSE报文前是否处于在线状态,若是,则生成00的状态信息,表征服务器基于该断路器发送的触发指令生成的GOOSE报文可信度高;否则,生成01的状态信息,表征服务器基于该断路器发送的触发指令生成的GOOSE报文可信度低。
[0097] S102,基于该触发指令生成至少两种数据类型的GOOSE报文,其中,一个GOOSE报文中携带有表征数据类型的数据标识。
[0098] 可选的,首先,服务器从该触发指令中获取变位信息,并将变位信息与服务器判断监控节点是否处于在线状态的状态信息,确定为GOOSE报文的第一数据内容,以及将变位信息中记录的监控节点的当前状态值,确定为GOOSE报文的第二数据内容;
[0099] 其次,为GOOSE报文的第一数据内容配置第一数据类型的数据标识,生成第一数据类型的GOOSE报文;为GOOSE报文的第二数据内容配置第二数据类型的数据标识,生成第二数据类型的GOOSE报文。
[0100] 例如,获取该断路器的当前状态值0,当前状态值的变更时刻T0,以及状态信息00,生成FCD(functionally constrained Data,功能约束数据)数据类型的GOOSE报文[3(0,T0,00)],其中3表征GOOSE报文的数据类型为FCD;以及FCDA_Stval(functionally constrained Data Attribute Stval,功能约束数据属性状态值)数据类型的GOOSE报文[4(0)],其中4表征GOOSE报文的数据类型为FCDA_Stval。
[0101] S103,服务器基于触发指令,进一步生成其他报文类型的报文。
[0102] 例如,服务器基于触发指令,进一步生成包含报告块的制造报文规范(manufacturing message specification,MMS)报文。
[0103] S104,服务器将生成的各个不同报文类型的报文封装为数据帧,并将各个数据帧发往通信网络内的各个终端。
[0104] 可选的,服务器将生成的各个不同报文类型的报文封装为数据帧,每一个数据帧包含帧头、帧尾和报文,在所述帧头中配置携带报文的报文类型;
[0105] 服务器按照设定的帧优先级顺序,将基于GOOSE报文生成的各个数据帧,以及基于所述其他报文类型的报文生成的各个数据帧,发往通信网络内的各个终端中,其中,基于其他报文类型的报文生成的各个数据帧的优先级,低于基于GOOSE报文生成的各个数据帧的优先级。
[0106] 例如,服务器将生成的FCD数据类型的GOOSE报文封装为数据帧1,并为该数据帧配置表征GOOSE的报文标识m;服务器将生成的FCDA_Stval数据类型的GOOSE报文封装为数据帧2,并为该数据帧配置表征GOOSE的报文标识m;服务器将生成的MMS报文封装为数据帧3,并为该数据帧配置表征MMS的报文标识n;
[0107] 然后,服务器按照帧的优先级顺序,先将数据帧1和数据帧2发送给通信网络内的各个终端,再将数据帧3发送给通信网络内的各个终端。
[0108] 服务器将各个数据帧发往通信网络内的各个终端,以触发所述各个终端基于自身支持的数据类型,从接收的所述各个第一数据帧中,提取出携带有相应的数据标识的GOOSE报文并进行解析。
[0109] 具体地,如图2所示,终端捕获并解析服务器发送的各个数据帧的过程如下:
[0110] S201,终端从通信网络内捕获服务器发送的各个数据帧。
[0111] 可选的,终端从通信网络内捕获服务器按照设定的帧优先级顺序发送的各个数据帧,各个数据帧中包括基于GOOSE报文生成的各个数据帧,以及基于其他报文类型的报文生成的各个数据帧,其中,基于其他报文类型的报文生成的各个数据帧的优先级,低于基于GOOSE报文生成的各个数据帧的优先级。
[0112] 例如,终端先从通信网络内捕获服务器发送的数据帧1和数据帧2,再捕获到数据帧3,由于数据帧1和数据帧2到达该终端的时间差为微秒级,可以忽略不计该时间差,认为终端同时捕获到数据帧1和数据帧2。
[0113] S202,终端针对一个数据帧,判断该数据帧中所携带报文是否为合法报文,若是,保存该数据帧中所携带的报文,并执行步骤204;否则,执行步骤203。
[0114] 可选的,终端将接收到的一个数据帧缓存在本地,并对所述一个数据帧的帧头进行解析,获得所述一个数据帧中所携带报文的报文类型;
[0115] 确定所述一个数据帧中所携带报文的报文类型是GOOSE报文时,判定所述一个数据帧携带的是合法报文,并保存所述GOOSE报文。
[0116] 例如,终端将接收到的一个数据帧缓存在本地,并对该数据帧的帧头进行解析,获得该数据帧中所携带报文的报文类型为m,确定该数据帧中所携带报文的报文类型是GOOSE报文时,判定该数据帧携带的是合法报文,并保存该GOOSE报文。
[0117] 又例如,终端将接收到的一个数据帧缓存在本地,并对该数据帧的帧头进行解析,获得该数据帧中所携带报文的报文类型为n,确定该数据帧中所携带报文的报文类型是MMS报文时,判定该数据帧携带的是非法报文,并从本地中删除该MMS报文。
[0118] S203,终端将该数据帧删除,并执行步骤201。
[0119] S204,终端对保存的GOOSE报文进行解析,确定该GOOSE报文是否为终端的订阅报文,若是,执行步骤205,否则,执行步骤203。
[0120] 可选的,终端读取GOOSE报文的数据标识,识别所述GOOSE报文的数据类型,其中,所述数据标识为表征第一数据类型的第一数据标识,或者,为表征第二数据类型的第二数据标识;
[0121] 所述终端确定所述GOOSE报文的数据类型与自身支持的数据类型一致时,将所述GOOSE报文确定为所述终端的订阅报文。
[0122] 例如,终端读取GOOSE报文的数据标识为3,识别该GOOSE报文的数据类型为FCD,若终端自身支持的数据类型为FCD,将该GOOSE报文确定为终端的订阅报文;若终端自身支持的数据类型为FCDA_Stval,则终端会将该GOOSE报文从本地中删除。
[0123] 又例如,终端读取GOOSE报文的数据标识为4,识别该GOOSE报文的数据类型为FCDA_Stval,若终端自身支持的数据类型为FCDA_Stval,将该GOOSE报文确定为终端的订阅报文;若终端自身支持的数据类型为FCD,则终端会将该GOOSE报文从本地中删除。
[0124] S205,判断该GOOSE报文是否未过期,若是,执行步骤206,否则,执行步骤203。
[0125] 可选的,终端确定针对该GOOSE报文,从捕获对应的数据帧到获得该GOOSE报文的数据标识之间的时长;
[0126] 终端确定时长未超过对应的所述一个GOOSE报文设置的存活时长。
[0127] 例如,终端从捕获数据帧1到获得数据帧1中携带FCD数据类型的GOOSE报文,共耗费4ms,远远低于GOOSE报文的存活时长10s,判定该GOOSE报文未过期。
[0128] 又例如,终端从捕获数据帧2到获得数据帧2中携带FCDA_Stval数据类型的GOOSE报文,共耗费11s,超过了GOOSE报文的存活时长10s,判定该GOOSE报文已过期,表征该GOOSE报文对于终端来说为无效数据,终端将该GOOSE报文从本地中删除。
[0129] S206,终端获取该GOOSE报文携带的数据内容。
[0130] 可选的,所述数据内容为对应第一数据类型的数据标识的第一数据内容,或者,为对应第二数据类型的数据标识的第二数据内容,所述第一数据内容是基于所述服务器接收监控节点发送的触发指令中包含的变位信息,以及所述服务器判断该监控节点是否处于在线状态的状态信息生成的,所述第二数据内容是基于所述触发指令中变位信息记录的所述监控节点的当前状态值生成的。
[0131] 例如,终端获取FCD数据类型的GOOSE报文为[3(0,T0,00)]。
[0132] 又例如,终端获取FCDA_Stval数据类型的GOOSE报文[4(0)]。
[0133] S207,终端基于解析结果,调整自身的状态值。
[0134] 可选的,终端确定该GOOSE报文中携带的数据内容;
[0135] 终端将自身的状态值调整到与所述数据内容中包含的所述监控节点的当前状态值一致。
[0136] 例如,终端获取FCD数据类型的GOOSE报文为[3(0,T0,00)],确定该断路器的当前状态值为0,则该终端也将自身的状态值调整为0。
[0137] 又例如,终端获取FCDA_Stval数据类型的GOOSE报文[4(0)],确定该断路器的当前状态值为0,则该终端也将自身的状态值调整为0。
[0138] 基于上述实施例,参阅图3所示,本发明实施例中,提供一种GOOSE报文发送装置,至少包括生成单元301和发送单元302,其中,
[0139] 生成单元301,用于接收监控节点发送的触发指令,并基于所述触发指令生成至少两种数据类型的GOOSE报文,其中,一个GOOSE报文中携带有表征数据类型的数据标识;
[0140] 发送单元302,用于将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端,触发所述各个终端基于自身支持的数据类型,从接收的所述各个数据帧中,提取出携带有相应的数据标识的GOOSE报文并进行解析。
[0141] 可选的,所述生成单元301用于:
[0142] 接收所述监控节点发送的触发指令,从所述触发指令中获取包含所述监控节点的当前状态值与所述当前状态值变更时刻的变位信息。
[0143] 可选的,基于所述触发指令至少生成两种数据类型的GOOSE报文,所述生成单元301用于:
[0144] 从所述触发指令中获取所述变位信息,并将所述变位信息与判断所述监控节点是否处于在线状态的状态信息,确定为GOOSE报文的第一数据内容,以及将所述变位信息中记录的所述监控节点的当前状态值,确定为GOOSE报文的第二数据内容;
[0145] 为所述GOOSE报文的第一数据内容配置第一数据类型的数据标识,生成第一数据类型的GOOSE报文;
[0146] 为所述GOOSE报文的第二数据内容配置第二数据类型的数据标识,生成第二数据类型的GOOSE报文。
[0147] 可选的,基于触发指令至少生成两种数据类型的GOOSE报文之后,在将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端之前,所述发送单元302具体用于:
[0148] 基于触发指令,进一步生成其他报文类型的报文。
[0149] 可选的,将生成的各个GOOSE报文封装为数据帧,并将各个数据帧发往通信网络内的各个终端,所述发送单元302用于:
[0150] 将生成的各个所述其他报文类型的报文封装为数据帧;
[0151] 按照设定的帧优先级顺序,将基于GOOSE报文生成的各个数据帧,以及基于所述其他报文类型的报文生成的各个数据帧,发往通信网络内的各个终端中,其中,基于所述其他报文类型的报文生成的各个数据帧的优先级,低于基于GOOSE报文生成的各个数据帧的优先级。
[0152] 基于上述实施例,参阅图4所示,本发明实施例中,提供一种GOOSE报文接收装置,至少包括获取单元401、处理单元402和调整单元403,其中,
[0153] 获取单元401,用于从通信网络内捕获服务器发送的携带GOOSE报文的至少两个数据帧,所述至少两个数据帧中所携带GOOSE报文的数据类型不同;
[0154] 处理单元402,用于基于自身支持的数据类型对应的报文标识,从接收的所述各个数据帧中,提取出携带有相应的报文标识的GOOSE报文并进行解析;
[0155] 调整单元403,用于基于解析结果,调整自身的状态值。
[0156] 可选的,从通信网络内捕获服务器发送携带GOOSE报文的至少两个数据帧,所述获取单元401具体用于:
[0157] 从通信网络内捕获服务器按照设定的帧优先级顺序发送的各个数据帧,各个数据帧中包括基于GOOSE报文生成的各个数据帧,以及基于其他报文类型的报文生成的各个数据帧,其中,基于所述其他报文类型的报文生成的各个数据帧的优先级,低于基于GOOSE报文生成的各个数据帧的优先级。
[0158] 可选的,基于自身支持的数据类型对应的报文标识,从接收的所述各个数据帧中,提取出携带有相应的报文标识的GOOSE报文,所述处理单元402用于:
[0159] 分别对接收的各个数据帧执行以下操作:
[0160] 将接收到的一个数据帧缓存在本地,并对所述一个数据帧的帧头进行解析,获得所述一个数据帧中所携带报文的报文类型;
[0161] 确定所述一个数据帧中所携带报文的报文类型是GOOSE报文时,判定所述一个数据帧携带的是合法报文,并保存所述GOOSE报文。
[0162] 可选的,对保存的GOOSE报文进行解析,所述处理单元402用于:
[0163] 读取所述GOOSE报文的数据标识,识别所述GOOSE报文的数据类型,其中,所述数据标识为表征第一数据类型的第一数据标识,或者,为表征第二数据类型的第二数据标识;
[0164] 确定所述GOOSE报文的数据类型与自身支持的数据类型一致时,将所述GOOSE报文确定为所述终端的订阅报文;
[0165] 从所述GOOSE报文中进一步获取所述GOOSE报文携带的数据内容,其中,所述数据内容为对应第一数据类型的数据标识的第一数据内容,或者,为对应第二数据类型的数据标识的第二数据内容,所述第一数据内容是基于所述服务器接收监控节点发送的触发指令中包含的变位信息,以及所述服务器判断该监控节点是否处于在线状态的状态信息生成的,所述第二数据内容是基于所述触发指令中变位信息记录的所述监控节点的当前状态值生成的。
[0166] 可选的,将所述GOOSE报文确定为所述终端的订阅报文之后,获取所述GOOSE报文携带的数据内容之前,所述处理单元402具体用于:
[0167] 确定针对所述GOOSE报文,从捕获对应的数据帧到获得所述GOOSE报文的数据标识之间的时长;
[0168] 确定所述时长未超过对应的所述一个GOOSE报文设置的存活时长。
[0169] 可选的,基于解析结果,调整自身的状态值,所述调整单元403用于:
[0170] 确定所述GOOSE报文中携带的数据内容;
[0171] 将自身的状态值调整到与所述数据内容中包含的所述监控节点的当前状态值一致。
[0172] 基于上述实施例,参阅图5所示,本发明实施例中,提供一种计算设备,至少包括存储器501和处理器502,其中,
[0173] 存储器501,用于存储程序指令;
[0174] 处理器502,用于服务器接收监控节点发送的触发指令,并基于所述触发指令生成至少两种数据类型的GOOSE报文,其中,一个GOOSE报文中携带有表征数据类型的数据标识;
[0175] 所述服务器将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端,触发所述各个终端基于自身支持的数据类型,从接收的所述各个数据帧中,提取出携带有相应的数据标识的GOOSE报文并进行解析;
[0176] 或者,用于终端从通信网络内捕获服务器发送的携带GOOSE报文的至少两个数据帧,所述至少两个数据帧中所携带GOOSE报文的数据类型不同;
[0177] 所述终端基于自身支持的数据类型对应的报文标识,从接收的所述各个数据帧中,提取出携带有相应的报文标识的GOOSE报文并进行解析;
[0178] 所述终端基于解析结果,调整自身的状态值。
[0179] 基于上述实施例,本发明实施例中,提供一种存储介质,至少包括:
[0180] 服务器接收监控节点发送的触发指令,并基于所述触发指令生成至少两种数据类型的GOOSE报文,其中,一个GOOSE报文中携带有表征数据类型的数据标识;
[0181] 所述服务器将生成的各个GOOSE报文封装为数据帧,将各个数据帧发往通信网络内的各个终端,触发所述各个终端基于自身支持的数据类型,从接收的所述各个数据帧中,提取出携带有相应的数据标识的GOOSE报文并进行解析;
[0182] 或者,终端从通信网络内捕获服务器发送的携带GOOSE报文的至少两个数据帧,所述至少两个数据帧中所携带GOOSE报文的数据类型不同;
[0183] 所述终端基于自身支持的数据类型对应的报文标识,从接收的所述各个数据帧中,提取出携带有相应的报文标识的GOOSE报文并进行解析;
[0184] 所述终端基于解析结果,调整自身的状态值。
[0185] 综上所述,服务器基于接收到的监控节点发送的触发指令,生成至少两种数据类型的GOOSE报文,其中,一个GOOSE报文中携带有表征数据类型的数据标识;然后,服务器将生成的各个GOOSE报文封装为数据帧,并发往通信网络内的各个终端中,以触发各个终端基于自身支持的数据类型,从接收的各个数据帧中,提取出携带有相应的数据标识的GOOSE报文并进行解析。
[0186] GOOSE报文是通过组播或者是广播的形式向外发送,向通信网络内的多个终端同时发布一个通用的变电站事件信息,这种机制保证了系统范围内快速可靠地输入输出数据,可当多个终端所订阅报文的数据类型不同时,可能会出现至少一个终端延迟接收订阅报文,进而导致所述至少一个终端延迟调整自身的状态值,由于GOOSE报文主要用于重要数据和控制命令的传递,所述至少一个终端的操作失误,可能导致整个智能变电站系统的崩溃,为了解决上述技术问题,本发明实施例中,服务器将生成至少两种数据类型的GOOSE报文,并将生成的各个GOOSE报文封装为数据帧,将各个数据帧同时发往处于同一通信网络内的各个终端中。这样的话,针对一个终端来说,会同时捕获到至少两个数据帧,每一个数据帧中所携带GOOSE报文的数据类型是不同的,所述一个终端可以基于自身支持的数据类型,获取所述一个终端的订阅报文,并基于订阅报文的解析结果,调整所述一个终端的状态值,因此,保证了各个终端接收订阅报文的同步性,保证了整个系统的安全运行。
[0187] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0188] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0189] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0190] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0191] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0192] 显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。