首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际检索单位 / 检索费 / 多路采集通道的遥信消息和SOE消息处理方法

多路采集通道的遥信消息和SOE消息处理方法

阅读:1024发布:2020-09-19

专利汇可以提供多路采集通道的遥信消息和SOE消息处理方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种多路采集通道的遥信消息和SOE消息处理方法、计算机设备、计算机存储介质。上述方法包括:通过SCADA系统的前置集群采集多路RTU通道上传的初始数据,将所述初数据汇聚到分布式发布订阅的生数据队列;将所述生数据队列中的各个消息分配至预设的多个通道消费模 块 ;按类型把遥信消息分配给遥信选优模块,把SOE消息分配给SOE选优模块;将采集的遥信消息写入预设的RTU实时断面键值 数据库 ,判断后续采集值是否反转,通过剩余通道号队列匹配过滤,判断后续遥信是否重复,根据不反转和不重复的遥信消息确定优选的遥信消息,将选优的遥信消息发送给结果队列;按SOE消息的时标过滤匹配,排除后续重复,把选优的SOE消息发送给结果队列。,下面是多路采集通道的遥信消息和SOE消息处理方法专利的具体信息内容。

1.一种多路采集通道的遥信消息和SOE消息处理方法,其特征在于,包括:
通过SCADA系统的前置集群采集多路RTU通道上传的初始数据,将所述初数据汇聚到分布式发布订阅的生数据队列;
将所述生数据队列中的各个消息分配至预设的多个通道消费模;通道消费模块解析消息,按类型把遥信消息分配给遥信选优模块,把SOE消息分配给SOE选优模块;
遥信选优模块将采集的遥信消息写入预设的RTU实时断面键值数据库,判断后续采集值是否反转,通过剩余通道号队列匹配过滤,判断后续遥信是否重复,根据不反转和不重复的遥信消息确定优选的遥信消息,将选优的遥信消息发送给结果队列;
SOE选优模块按SOE消息的时标过滤匹配,排除后续重复,把选优的SOE消息发送给结果队列。
2.根据权利要求1所述多路采集通道的遥信消息和SOE消息处理方法,其特征在于,通过SCADA系统的广域前置集群采集多路RTU通道上传的初始数据,将所述初数据汇聚到分布式发布订阅的生数据队列的过程包括:
定义采集消息结构:Mes=[rtuNo,chanNo,ptAddress,ptValue,ptStatus,msTime,isSOE],其中,rtuNo表示RTU号,chanNo表示通道号、ptAddress表示量测点号、ptValue表示采集数值、ptStatus表示质量码、msTime表示毫秒时间、isSOE表示SOE标志;
前置集群采集多路RTU通道的报文,根据所述报文和采集消息结构组装遥信消息,获取所述遥信消息的msTime属性、isSOE属性以及组装消息代号;
根据所述msTime属性、isSOE属性以及组装消息代号将所述遥信消息发布给生数据队列。
3.根据权利要求1所述的多路采集通道的遥信消息和SOE消息处理方法,其特征在于,遥信选优模块将采集的遥信消息写入预设的RTU实时断面键值数据库,判断后续采集值是否反转,通过剩余通道号队列匹配过滤,判断后续遥信是否重复,根据不反转和不重复的遥信消息确定优选的遥信消息,将选优的遥信消息发送给结果队列的过程包括:
S31,初始化RTU实时断面键值数据库RTU-KV;
S32,消费生数据队列中的一个遥信消息dim,根据采集键值存储格式检索RTU-KV库;其中,所述采集键值存储格式包括如下内容:RTU号|量测点号|通道号;
S33,若所述RTU-KV库无所检索的遥信消息dim,按采集键值存储格式写入RTU-KV库;若在RTU-KV库检索到遥信消息dim,比较采集的遥信数值与检索得到的遥信数值是否相等,不等时按采集键值存储格式维护RTU-KV库,相等则返回步骤S32;
S34,按采集键值存储格式连接构造的字符串,检索预设的缓存空间HashMap;
S35,若步骤S34检索无记录,将遥信消息按照缓存格式写入HashMap;
S36,若步骤S34检索有记录,取值中chanQueue,判断遥信消息dim中的通道编号是否在chanQueue中;其中,chanQueue表示遥信消息的RTU剩余通道号队列;
S37,若遥信消息dim中的通道编号在chanQueue中,删除chanQueue中第一个找到的值,判断chanQueue是否空,空则清除HashMap中遥信消息dim,收集HashMap中设定时间前的记录并删除,按chanQueue记录的内容构造通道漏传告警,提交给通道监视器;返回步骤S32;
S38,若遥信消息dim中的通道编号不在chanQueue中,更新chanQueue,将遥信消息dim按照缓存格式写入HashMap;
S39,将遥信消息dim按照缓存格式写入HashMap时,将遥信消息dim按选优定位键值存储格式将写入RTU-KV库,并把遥信消息dim发布给拟合后的结果队列,返回步骤S32。
4.根据权利要求3所述的多路采集通道的遥信消息和SOE消息处理方法,其特征在于,所述HashMap为基于哈希表的Map容器。
5.根据权利要求1所述的多路采集通道的遥信消息和SOE消息处理方法,其特征在于,SOE选优模块按SOE消息的时标过滤匹配,排除后续重复,把选优的SOE消息发送给结果队列的过程包括:
S41,初始化内部缓存队列SoeQueue;
S42,消费到生数据队列的第m个SOE消息soem,确定所述soem的消息字段json;
S43,查询json在SoeQueue是否有匹配的记录;
S44,在步骤S43无记录时,将json插入SoeQueue的对尾,发布soem给结果队列;
S45,循环检索SoeQueue的队头信息head,清除队头信息head;
S46,在步骤S43有记录时,确定soem为通道的重传消息;
S47,将m更新为m+1,返回步骤S42。
6.根据权利要求1所述的多路采集通道的遥信消息和SOE消息处理方法,其特征在于,所述通道消费模块为生数据队列的消费者。
7.根据权利要求1所述的多路采集通道的遥信消息和SOE消息处理方法,其特征在于,所述将所述生数据队列中的各个消息分配至预设的多个通道消费模块的过程包括:
获取通道消费模块部署的个数C和各路RTU通道的通道号chanNo;
将通道chanNo的遥信消息分配至第k个通道消费模块;其中,k=chanNo%C,符号%表示取模计算。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至
7任意一项所述的多路采集通道的遥信消息和SOE消息处理方法。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7任意一项所述的多路采集通道的遥信消息和SOE消息处理方法。

说明书全文

多路采集通道的遥信消息和SOE消息处理方法

技术领域

[0001] 本发明涉及智能电网调度控制技术领域,特别是涉及一种多路采集通道的遥信消息和SOE消息处理方法、计算机设备、计算机存储介质。

背景技术

[0002] SCADA(Supervisory Control And Data Acquisition,数据采集与监视控制)系统在智能电网调度控制中扮演极其重要的色,其采集数据的质量关系到电网运行的稳定。随着电网规模的扩展,结构越来越复杂,RTU多通道传输、前置广域采集技术,成为SCADA数据采集部分研究的重点。
[0003] 传统地市级电网调度控制系统在处理RTU多源采集或广域采集时,原则上采用值班通道的数据,但是在变电站运行的RTU异常或传输网络异常时,都可能导致各通道采集数据不一致,某些重要数据(例如遥信变位和SOE)可能通过非值班通道上送,而在值班通道却漏送,加之SCADA的采集链路扫描器异常、值班通道异常需推选新的值班通道时,发生的遥信变位和SOE信号很容易丢失,容易使用于SCADA计算服务的遥信数据和SOE数据准确性低。

发明内容

[0004] 基于此,有必要针对传统方案容易使用于SCADA计算服务的遥信数据和SOE数据准确性低的技术问题,提供一种多路采集通道的遥信消息和SOE消息处理方法、计算机设备、计算机存储介质。
[0005] 一种多路采集通道的遥信消息和SOE消息处理方法,包括:
[0006] 通过SCADA系统的前置集群采集多路RTU通道上传的初始数据,将所述初数据汇聚到分布式发布订阅的生数据队列;
[0007] 将所述生数据队列中的各个消息分配至预设的多个通道消费模;通道消费模块解析消息,按类型把遥信消息分配给遥信选优模块,把SOE消息分配给SOE选优模块;
[0008] 遥信选优模块将采集的遥信消息写入预设的RTU实时断面键值数据库,判断后续采集值是否反转,通过剩余通道号队列匹配过滤,判断后续遥信是否重复,根据不反转和不重复的遥信消息确定优选的遥信消息,将选优的遥信消息发送给结果队列;
[0009] SOE选优模块按SOE消息的时标过滤匹配,排除后续重复,把选优的SOE消息发送给结果队列。
[0010] 上述多路采集通道的遥信消息和SOE消息处理方法,通过SCADA系统的前置集群采集多路RTU通道上传的初始数据,将所述初数据汇聚到分布式发布订阅的生数据队列,将所述生数据队列中的各个消息分配至预设的多个通道消费模块,利用通道消费模块解析消息,按类型把遥信消息分配给遥信选优模块,把SOE消息分配给SOE选优模块,以实现遥信消息和SOE消息的优选,使所确定的遥信消息和SOE消息更为完整,且无重复数据,具有较高的准确性。
[0011] 在其中一个实施例中,所述通过SCADA系统的前置集群采集多路RTU通道上传的初始数据,将所述初数据汇聚到分布式发布订阅的生数据队列的过程包括:
[0012] 定义采集消息结构:Mes=[rtuNo,chanNo,ptAddress,ptValue,ptStatus,msTime,isSOE],其中,rtuNo表示RTU号,chanNo表示通道号、ptAddress表示量测点号、ptValue表示采集数值、ptStatus表示质量码、msTime表示毫秒时间、isSOE表示SOE标志;
[0013] 前置集群采集多路RTU通道的报文,根据所述报文和采集消息结构组装遥信消息,获取所述遥信消息的msTime属性、isSOE属性以及组装消息代号;
[0014] 根据所述msTime属性、isSOE属性以及组装消息代号将所述遥信消息发布给生数据队列。
[0015] 本实施例可以将遥信消息准确发布至生数据队列。
[0016] 作为一个实施例,上述遥信选优模块将采集的遥信消息写入预设的RTU实时断面键值数据库,判断后续采集值是否反转,通过剩余通道号队列匹配过滤,判断后续遥信是否重复,根据不反转和不重复的遥信消息确定优选的遥信消息,将选优的遥信消息发送给结果队列的过程包括:
[0017] S31,初始化RTU实时断面键值数据库RTU-KV;
[0018] S32,消费生数据队列中的一个遥信消息dim,根据采集键值存储格式检索RTU-KV库;其中,所述采集量测点键值存储格式(即采集键值存储格式)包括如下内容:<"RTU号|量测点号|通道号",采集数值>;
[0019] S33,若所述RTU-KV库无所检索的遥信消息dim,按采集键值存储格式写入RTU-KV库;若在RTU-KV库检索到遥信消息dim,比较采集的遥信数值与检索得到的遥信数值是否相等,不等时按采集键值存储格式维护RTU-KV库,相等则返回步骤S32;
[0020] S34,按"RTU号|量测点号|采集数值"格式连接构造的字符串为键,检索预设的缓存空间HashMap;
[0021] S35,若步骤S34检索无记录,将遥信消息按照键值存储格式(缓存格式):<"RTU号|量测点号|采集数值”,{optTime,chanQueue}>写入HashMap;
[0022] S36,若步骤S34检索有记录,取值中chanQueue,判断遥信消息dim中的通道编号是否在chanQueue中;其中,chanQueue表示遥信消息的RTU剩余通道号队列,求解方法如下:
[0023] a.读遥信消息中的RTU号和通道号chanNo;
[0024] b.根据RTU号取其所有的通道编号集合chanSet;
[0025] c.则chanQueue=chanQueue+(chanSet-chanNo),意思是把集合chanSet减去chanNo的剩余通道号集合,逐个添加到原chanQueue的队尾。
[0026] S37,若遥信消息dim中的通道编号在chanQueue中,删除chanQueue中第一个找到的值,判断chanQueue是否空,空则清除HashMap中遥信消息dim,收集HashMap中设定时间前的记录并删除,按chanQueue记录的内容构造通道漏传告警,提交给通道监视器;返回步骤S32;
[0027] S38,若遥信消息dim中的通道编号不在chanQueue中,更新chanQueue,将遥信消息dim按照缓存格式写入HashMap;
[0028] S39,将遥信消息dim按照缓存格式写入HashMap时,将遥信消息dim按选优定位键值存储格式将写入RTU-KV库,并把遥信消息dim发布给拟合后的结果队列,返回步骤S32。
[0029] 本实施例可以实现遥信消息的优选和去重,使发布给结果队列的遥信消息信息更为完善。
[0030] 作为一个实施例,所述HashMap为基于哈希表的Map容器。
[0031] 本实施例提供的HashMap可以提高相应数据处理的效率。
[0032] 在其中一个实施例中,所述SOE选优模块按SOE消息的时标过滤匹配,排除后续重复,把选优的SOE消息发送给结果队列的过程包括:
[0033] S41,初始化内部缓存队列SoeQueue;
[0034] S42,消费到生数据队列的第m个SOE消息soem,确定所述soem的消息字段json;
[0035] S43,查询json在SoeQueue是否有匹配的记录;
[0036] S44,在步骤S43无记录时,将json插入SoeQueue的对尾,发布soem给结果队列;
[0037] S45,循环检索SoeQueue的队头信息head,清除队头信息head;
[0038] S46,在步骤S43有记录时,确定soem为通道的重传消息;
[0039] S47,将m更新为m+1,返回步骤S42。
[0040] 本实施例可以对RTU实时断面键值数据库进行SOE时标过滤,保证相应SOE消息的有效性和完整性。
[0041] 在其中一个实施例中,所述通道消费模块为生数据队列的消费者。
[0042] 上述通道消费模块作为生数据队列的消费者,可以调用电网调控模型服务接口获取通道编号信息,分流、并行处理,为遥信选优组件和SOE选优组件提供输入消息的服务。
[0043] 在其中一个实施例中,所述将所述生数据队列中的各个消息分配至预设的多个通道消费模块的过程包括:
[0044] 获取通道消费模块部署的个数C和各路RTU通道的通道号chanNo;
[0045] 将通道chanNo的遥信消息分配至第k个通道消费模块;其中,k=chanNo%C,符号%表示取模计算。
[0046] 一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例提供的多路采集通道的遥信消息和SOE消息处理方法。
[0047] 根据本发明的多路采集通道的遥信消息和SOE消息处理方法,本发明还提供一种计算机设备和计算机存储介质,用于通过程序实现上述多路采集通道的遥信消息和SOE消息处理方法。上述计算机设备和计算机存储介质能够使所确定的遥信消息和SOE消息更为完整,且无重复数据,具有较高的准确性。附图说明
[0048] 图1为一个实施例的多路采集通道的遥信消息和SOE消息处理方法流程图
[0049] 图2为一个实施例的SCADA系统的前置多通道数据处理示意图;
[0050] 图3为一个实施例的计算机系统模块图。

具体实施方式

[0051] 为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
[0052] 需要说明的是,本发明实施例所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
[0053] 本发明实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
[0054] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0055] 在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0056] 参考图1所示,图1为一个实施例的多路采集通道的遥信消息和SOE消息处理方法流程图,包括:
[0057] S10,通过SCADA系统的广域前置集群采集多路RTU通道上传的初始数据,将所述初数据汇聚到分布式发布订阅的生数据队列;
[0058] 上述初始数据可以包括遥信消息和SOE消息;电系统中的SOE消息表示事件顺序记录系统或事件顺序记录分辨率,用于记录故障发生的时间和事件的类型。上述生数据队列是一种分布式的、高吞吐量、高可扩展性的发布订阅消息系统所提供的消息队列服务,可以实现监控采集数据的聚合。本实施例中,广域前置采集聚合的生数据队列和选优器处理的结果队列,可以采用在安全生产大区部署的Kafka的主题Topic模式定义,实现高吞吐量的分布式消息的发布和订阅。生数据队列的主题定义可以为:Fert-Data-Topic,结果队列的主题定义为:Data-Topic。
[0059] S20,将所述生数据队列中的各个消息分配至预设的多个通道消费模块;通道消费模块解析消息,按类型把遥信消息分配给遥信选优模块,把SOE消息分配给SOE选优模块;
[0060] 上述通道消费模块为生数据队列的消费者,其可以调用电网调控模型云服务接口获取通道编号信息,分流、并行处理,为遥信选优过程和SOE选优过程提供输入消息。上述SOE表示事件顺序记录系统或事件顺序记录分辨率,用于记录故障发生的时间和事件的类型。
[0061] 上述分配至预设的多个通道消费模块的过程可以包括:设通道消费模块部署C个,则编号为k(0<=k
[0062] S30,遥信选优模块将采集的遥信消息写入预设的RTU实时断面键值数据库,判断后续采集值是否反转,通过剩余通道号队列匹配过滤,判断后续遥信是否重复,根据不反转和不重复的遥信消息确定优选的遥信消息,将选优的遥信消息发送给结果队列;
[0063] 上述步骤为遥信选优过程,可以采用“遥信保险算法”,定义RTU实时断面键值数据库RTU-KV和缓存空间HashMap,通过上述HashMap缓存“RTU多路通道的采集实时断面”和“遥信的RTU剩余通道号队列”。新消息通过校核与RTU-KV存储的实时值比较,判断量测点的采集数值是否反转;是反转的消息,则与HashMap中存储的“剩余通道号队列”匹配校核,识别首次处理的消息,过滤后续其它通道的重传消息;将首次处理的消息发布给结果队列。
[0064] 上述RTU实时断面键值数据库RTU-KV库,是RTU通道实时断面键值缓存数据库,存储RTU多路通道采集量测点的最新一条记录和选优定位的记录的实时断面信息;采集量测点的键值存储格式:<"RTU号|量测点号|通道号",采集数值>;选优定位后量测点的键值存储格式:<"RTU号|采集点号",采集数值>。
[0065] 上述缓存空间HashMap是基于哈希表的Map容器,其键值存储格式可以为:<"RTU号|量测点号|采集数值”,{optTime,chanQueue}>,其中optTime表示操作秒值时间,chanQueue表示遥信的RTU剩余通道号队列。
[0066] S40,SOE选优模块按SOE消息的时标过滤匹配,排除后续重复,把选优的SOE消息发送给结果队列。
[0067] 上述步骤为SOE选优过程,通过SOE时标过滤,可以设计一条缓存消息队列,缓存设定时间内(如15分钟内)所采集SOE信号解析出的'{"msTime":毫秒时间,"rtuNo":RTU号,"ptAddress":量测点号}'的json字符串;解析收到的新SOE消息,与缓存队列的内容匹配校核;过滤掉缓存队列中存在同样记录的SOE消息;新SOE不在缓存队列中,消息存入队尾,并发布给结果队列。上述结果队列为发布订阅消息系统所提供的消息队列服务,可以将缓存遥信消息和SOE信号拟合成一路采集精度更高的采集信号,提供给SCADA计算服务订阅使用。
[0068] 本实施例提供的多路采集通道的遥信消息和SOE消息处理方法,通过SCADA系统的前置集群采集多路RTU通道上传的初始数据,将所述初数据汇聚到分布式发布订阅的生数据队列,将所述生数据队列中的各个消息分配至预设的多个通道消费模块,利用通道消费模块解析消息,按类型把遥信消息分配给遥信选优模块,把SOE消息分配给SOE选优模块,以实现遥信消息和SOE消息的优选,使所确定的遥信消息和SOE消息更为完整,且无重复数据,具有较高的准确性。
[0069] 在一个实施例中,所述通过SCADA系统的广域前置集群采集多路RTU通道上传的初始数据,将所述初数据汇聚到分布式发布订阅的生数据队列的过程包括:
[0070] S11,定义采集消息结构:Mes=[rtuNo,chanNo,ptAddress,ptValue,ptStatus,msTime,isSOE],其中,rtuNo表示RTU号,chanNo表示通道号、ptAddress表示量测点号、ptValue表示采集数值、ptStatus表示质量码、msTime表示毫秒时间、isSOE表示SOE标志;上述rtuNo和ptAddress可唯一定位一个变电站中设备的量测点(监控点),chanNo编号全局唯一,质量码是RTU传输的质量信息;
[0071] S12,前置集群采集多路RTU通道的报文,根据所述报文和采集消息结构组装遥信消息,获取所述遥信消息的msTime属性、isSOE属性以及组装消息代号;
[0072] S13,根据所述msTime属性、isSOE属性以及组装消息代号将所述遥信消息发布给生数据队列。
[0073] 具体地,上述步骤S12中,前置集群采集RTU多路通道的报文、还可以采集其它系统转发的广域报文,解析后按Mes结构(采集消息结构)组装消息(分类处理msTime和isSOE两个属性):遥信的msTime取操作系统组装的毫秒时间(如到1970年1月1日);若isSOE为0,组装的遥信消息代号为di;SOE的msTime取传输的时标值;若isSOE为1,组装的SOE消息代号为soe。上述步骤S13中可以依据组装结果的di或soe,将所述遥信消息发布给生数据队列。
[0074] 本实施例可以将遥信消息准确发布至生数据队列。
[0075] 作为一个实施例,所述遥信选优模块将采集的遥信消息写入预设的RTU实时断面键值数据库,判断后续采集值是否反转,通过剩余通道号队列匹配过滤,判断后续遥信是否重复,根据不反转和不重复的遥信消息确定优选的遥信消息,将选优的遥信消息发送给结果队列的的过程包括:
[0076] S31,初始化RTU实时断面键值数据库RTU-KV;
[0077] S32,消费生数据队列中的一个遥信消息dim(dim.isSOE=0),根据采集键值存储格式(即按键"RTU号|量测点号|通道号"连接构造的字符串)检索RTU-KV库;其中,所述采集键值存储格式包括如下内容:RTU号|量测点号|通道号;
[0078] S33,若所述RTU-KV库无所检索的遥信消息dim,按采集键值存储格式写入RTU-KV库;若在RTU-KV库检索到遥信消息dim,比较采集的遥信数值与检索得到的遥信数值是否相等,不等时按采集键值存储格式维护RTU-KV库,相等则返回步骤S32,继续提取后续遥信消息;
[0079] S34,按采集键值存储格式连接构造的字符串,检索预设的缓存空间HashMap;
[0080] S35,若步骤S34检索无记录,将遥信消息按照缓存格式写入HashMap;其中,所述缓存格式为:<“RTU号|量测点号|采集数值”,{optTime,chanQueue}>;optTime表示操作秒值时间,chanQueue表示遥信消息的RTU剩余通道号队列;
[0081] S36,若步骤S34检索有记录,取值中chanQueue,判断遥信消息dim中的通道编号是否在chanQueue中;
[0082] S37,若遥信消息dim中的通道编号在chanQueue中,删除chanQueue中第一个找到的值,判断chanQueue是否空,空则清除HashMap中遥信消息dim(具体清除HashMap中遥信消息dim的相关记录),收集HashMap中设定时间前的记录并删除,按chanQueue记录的内容构造通道漏传告警,提交给通道监视器;返回步骤S32;上述设定时间可以设置为15分钟;
[0083] S38,若遥信消息dim中的通道编号不在chanQueue中,更新chanQueue(计算新的chanQueue),将遥信消息dim按照缓存格式写入HashMap;
[0084] S39,将遥信消息dim按照缓存格式写入HashMap(即遥信消息dim的记录维护HashMap)时,将遥信消息dim按选优定位键值存储格式将写入RTU-KV库,并把遥信消息dim发布给拟合后的结果队列,返回步骤S32。
[0085] 上述结果队列是一种发布订阅消息系统所提供的消息队列服务,缓存遥信数据和SOE信号拟合成一路采集精度更高的采集信号,提供给SCADA计算服务订阅使用。
[0086] 本实施例可以实现遥信消息的优选和去重,使发布给结果队列的遥信消息信息更为完善。
[0087] 作为一个实施例,所述HashMap为基于哈希表的Map容器。
[0088] 上述HashMap对应的缓存格式可以为:<"RTU号|量测点号|采集数值”,{optTime,chanQueue}>,optTime为操作秒值时间,chanQueue是遥信的RTU剩余通道号队列。chanQueue求解方法如下:
[0089] a.读遥信消息中的RTU号和通道号chanNo;
[0090] b.根据RTU号取其所有的通道编号集合chanSet;
[0091] c.则chanQueue=chanQueue+(chanSet-chanNo),意思是把集合chanSet减去chanNo的剩余通道号集合,逐个添加到原chanQueue的队尾。
[0092] 本实施例提供的HashMap可以提高相应数据处理的效率。
[0093] 在一个实施例中,所述SOE选优模块按SOE消息的时标过滤匹配,排除后续重复,把选优的SOE消息发送给结果队列的过程包括:
[0094] S41,初始化内部缓存队列SoeQueue;
[0095] S42,消费到Fert-Data-Topic的第m个SOE消息soem,确定所述soem的消息字段json;其中Fert-Data-Topic表示生数据队列的主题;上述json可以为:
[0096] json='{"msTime":soem.msTime,"rtuNo":soem.rtuNo,"ptAddress":soem.ptAddress}';
[0097] S43,查询json在SoeQueue是否有匹配的记录;
[0098] S44,在步骤S43无记录时,将json插入SoeQueue的对尾,发布soem给Data-Topic;其中,所述Data-Topic为结果队列的主题;
[0099] S45,循环检索SoeQueue的队头信息head,soem.msTime-head.msTime>900000,清除队头信息head;
[0100] S46,在步骤S43有记录时,确定soem为通道的重传消息;此时,不对上述重传消息进行相关处理;
[0101] S47,将m更新为m+1(即m=m+1),返回步骤S42,消费下个消息。
[0102] 本实施例可以对RTU实时断面键值数据库进行SOE时标过滤,保证相应SOE消息的有效性和完整性。
[0103] 在一个实施例中,所述通道消费模块为生数据队列的消费者。
[0104] 上述通道消费模块作为“生数据队列”的消费者,可以调用电网调控模型云服务接口获取通道编号信息,分流、并行处理,为遥信选优组件和SOE选优组件提供输入消息的服务。
[0105] 在一个实施例中,所述将所述生数据队列中的各个消息分配至预设的多个通道消费模块的过程包括:
[0106] 获取通道消费模块部署的个数C和各路RTU通道的通道号chanNo;
[0107] 将通道chanNo的遥信消息分配至第k个通道消费模块;其中,k=chanNo%C,符号%表示取模计算。
[0108] 本实施例可以实现生数据队列中的各个遥信消息的有序分配。
[0109] 具体地,上述通道消费模块还可以进行如下数据处理:
[0110] a,调用电网调控模型的服务接口,读取所需匹配的RTU编号集合Rtu_No,并初始化前置相关模型;
[0111] b,消费Fert-Data-Topic的一个消息mes;
[0112] c,读取mes的RTU编号(mes.rtuNo),判断RTU是否在Rtu_No内;若不在则返回步骤a;
[0113] d,若RTU在Rtu_No内,在选优器内部部署C个通道消费模块,按整数k编号;其中,0≤k<C;
[0114] e,判断chanNo%C(取余计算,一般情况下RTU的通道编号是连续整形数)的值是否为k;
[0115] f,若步骤e为是,则表明mes与前置模型匹配,将遥信封装为消息di,并发布给遥信选优组件处理;若消息是SOE,则封装为消息soe,并发布给SOE选优组件处理;
[0116] g,监听相关前置模型变更信息,维护通道消费模块的本地模型;
[0117] h,返回执行步骤b。
[0118] 在一个实施例中,SCADA系统的前置广域多通道数据处理过程可以参考图2所示,上述处理过程涉及的结构包括前置集群S1、采集通道S2、广域前置采集聚合的生数据队列S3、通道消费模块S4、模型服务接口S5、结果队列S6、遥信选取组件S7、SOE选优组件S8。
[0119] 上述前置集群S1中,变电站RTU通过多路采集通道传输站端数据到前置集群中不同的节点上,转发RTU通过两路通道将转发的报文发送给不同的前置节点;前置节点解析报文,后按Mes结构组装消息:遥信的msTime取操作系统组装的毫秒时间(到1970年1月1日);isSOE为0,组装的遥信消息代号为di;SOE的msTime取传输的时标值、isSOE为1,组装的SOE消息代号为soe;
[0120] 上述采集通道S2可以代表多种形式的通讯信道,从不同安全区采集的信息,汇聚给安全生产大区的生数据队列;
[0121] 上述步骤生数据队列S3和结果队列S6中,广域前置采集聚合的生数据队列和选优器处理的结果队列,采用在安全生产大区部署的Kafka的主题Topic模式定义,实现高吞吐量的分布式消息的发布和订阅。生数据队列的主题定义为:Fert-Data-Topic,结果队列的主题定义为:Data-Topic;
[0122] 上述通道消费模块S4中可以进行通道消费模块相关的数据处理;
[0123] 上述遥信选取组件S7可以进行遥信消息的优选;
[0124] 上述SOE选优组件S8可以进行SOE消息的优选。
[0125] 本实施例采用遥信保险算法和SOE时标过滤算法实现对多路采集信号的过滤、互补,确保信号不丢、不重复;其中遥信消息的处理可以采用无源接点方式,通过遥信端子板将继电器触点的闭合或断开转换成为低电平或高电平信号送入RTU,信号发生即传送,无时标;SOE为事件顺序记录,有时标以便于事后分析。
[0126] 图3为能实现本发明实施例的一个计算机系统1000的模块图。该计算机系统1000只是一个适用于本发明的计算机环境的示例,不能认为是提出了对本发明的使用范围的任何限制。计算机系统1000包括处理器1010、存储器1020和系统总线1022。应当指出的是,其它包括比计算机系统1000更多或更少的子系统的计算机系统也能适用于发明。如上面详细描述的,适用于本发明的计算机系统1000能执行多路采集通道的遥信消息和SOE消息处理方法的指定操作。因此,实现本发明并不限于任何特定硬件电路软件的组合。
[0127] 基于如上所述的示例,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一种多路采集通道的遥信消息和SOE消息处理方法。
[0128] 上述计算机设备,通过所述处理器上运行的计算机程序,实现了对遥信消息和SOE消息的准确选取。
[0129] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述多路采集通道的遥信消息和SOE消息处理方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0130] 据此,在一个实施例中还提供一种计算机存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述各实施例中的任意一种多路采集通道的遥信消息和SOE消息处理方法。
[0131] 上述计算机存储介质,通过其存储的计算机程序,能够使所确定的遥信消息和SOE消息更为完整,且无重复数据,具有较高的准确性。
[0132] 以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0133] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈