CN113225207B - 一种电力系统双活主备调消息同步方法和装置 - Google Patents

一种电力系统双活主备调消息同步方法和装置 Download PDF

Info

Publication number
CN113225207B
CN113225207B CN202110410371.7A CN202110410371A CN113225207B CN 113225207 B CN113225207 B CN 113225207B CN 202110410371 A CN202110410371 A CN 202110410371A CN 113225207 B CN113225207 B CN 113225207B
Authority
CN
China
Prior art keywords
message
messages
standby
rate
nth
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.)
Active
Application number
CN202110410371.7A
Other languages
English (en)
Other versions
CN113225207A (zh
Inventor
王恒
武杨
马云龙
尚学伟
赵林
邢恩照
米为民
李丹
鲁佳雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kedong Electric Power Control System Co Ltd
Original Assignee
Beijing Kedong Electric Power Control System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kedong Electric Power Control System Co Ltd filed Critical Beijing Kedong Electric Power Control System Co Ltd
Priority to CN202110410371.7A priority Critical patent/CN113225207B/zh
Publication of CN113225207A publication Critical patent/CN113225207A/zh
Application granted granted Critical
Publication of CN113225207B publication Critical patent/CN113225207B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种电力系统双活主备调消息同步方法和装置,将发送端系统需要同步的消息存放到消息转发缓冲区,判断所述消息是否来源于接收端系统,若是,则不转发;若不是,则通过智能速率控制方法将消息转发给接收端系统;若主、备调系统之间连接故障,则将消息保存到当前系统的磁盘文件中,当传输链路正常后按照原顺序将消息接续重传给接收端系统;通过消息的唯一标识判断是否是重复消息,若不是重复消息,则保存。本发明提高了消息同步的实时性和可靠性。

Description

一种电力系统双活主备调消息同步方法和装置
技术领域
本发明涉及电力系统技术领域,具体涉及一种电力系统双活主备调消息同步方法和装置。
背景技术
现有电力系统备调体系难以满足快速应急响应的需求,迫切需要提升主调系统和备调系统之间的数据交互和应急支持能力,构建A/B双活的主备调系统,实现调度应急技术手段的快速灵活部署,逐步形成全方位应急需求的调度应急体系。
主调系统与备调系统之间的数据交互需要依托通用的跨系统实时消息同步功能,支持将主调系统的遥信、遥测、人工置数、挂摘牌操作等实时消息同步到备调系统中,以及将备调系统的指定消息同步至主调系统,保持两个系统中实时消息的一致性。主备调度系统之间共享的故障信息、重要预警等实时信息,直接影响到电力高级应用功能的正确性和稳定性,因此要求消息转发功能具有极高的可靠性,主备调系统通过调度数据网相连,物理上相距可能较远,网络延迟比较大,出现网络抖动概率也很大,实时消息转发需要适应这种广域环境,具备高可靠、高吞吐量的特征,能够解决网络、消息转发服务器出现的单点故障问题,并能够确保接收消息的唯一性,避免收到重复消息。
目前,在双活主备同步领域,已有一些相关技术实现。例如在申请号为201510119082.6的中国专利申请中,公开了一种基于CIM/E文件的分布式数据采集系统的主备调同步方法,该方法以主调的在线CIM/E文件作为原数据生成中间文件,备调通过和中间文件对比的方式来获取更新,保证了信息的一致性。再例如在申请号为201810916934.8的中国专利申请中,公开了一种基于CEPH的双活同步在线热备方法,该方法采用CEPH分布式文件系统的存储方式,在文件集群间引入了一致性锁,保证了主备服务器读取数据时锁的共享性和写入时的排他性。然而上述两种数据同步方法都是基于文件的方式进行,需要多次拷贝,受制于磁盘I/O性能,同步实时性较差。
电网调控系统需要传输的消息类型包括设备采样数据、告警数据、模型数据等。随着交直流混连电网的不断发展,变电站数目快速增加,需要采集更加全面的电力设备状态,采样点规模越来越大。采样数据包括各厂站的线路、母线、变压器、机组、刀闸、开关等设备的遥测和遥信数据,如母线的电压值、频率值,交流线段端点、变压器绕组、断路器等的有功值、无功值、电流值等,在此趋势下消息传输数据压力日益凸显。为了减少数据采样,终端不定采样频率,而是采取变化存储或者压缩存储策略,数据量存在很大不确定性,例如电力设备状态监测数据中的油色谱数据每0.5h采样一次,而绝缘放电数据的采样速率则高达300kHz~1GHz,电动汽车的无序充放电行为使得充放电状态监测数据规模大幅变化等。此外电力设备或系统的告警数据更是受设备、气象、温度等因素影响随机性极大,因此会不定时出现消息传输拥塞的场景。
主备调系统之间的网络带宽属于各类业务共享资源,且不同的工程现场之间存在较大差异,现有的消息发送速率不能根据消息大小进行自适应传输,也导致消息同步实时性差的问题,同时对其他业务通信造成影响。
发明内容
为解决现有技术中的不足,本发明提供一种电力系统双活主备调消息同步方法和装置,解决了主备调系统之间实时消息同步实时性差、可靠性不高的问题。
为了实现上述目标,本发明采用如下技术方案:一种电力系统双活主备调消息同步方法,包括步骤:
将发送端系统需要同步的消息存放到消息转发缓冲区,判断所述消息是否来源于接收端系统,若是,则不转发;
若不是,则通过智能速率控制方法将消息转发给接收端系统;
若主、备调系统之间连接故障,则将消息保存到当前系统的磁盘文件中,当传输链路正常后按照原顺序将消息接续重传给接收端系统;
通过消息的唯一标识判断是否是重复消息,若不是重复消息,则保存。
进一步的,所述通过智能速率控制方法将消息转发给接收端系统,方法包括:
统计第n个速率反馈周期内客户端发送的消息量Qrev,n和待转发的消息量Qst,n,计算第n个速率反馈周期内流量差Qd,n
Qd,n=Qrev,n-Qst,n
预测第n个速率控制周期流量差的均值Q'd,n
Q'd,n=wQd,n+(1-w)Q'd,m-1
其中,w表示反馈周期内流量差的权重值,w∈[0,1];Q'd,n-1表示第n-1个速率控制周期流量差的均值;
计算第n个速率控制周期应调整的发送速率Bsize,为:
Figure BDA0003023900340000031
其中,Tb为速率反馈周期,Tc为速率控制周期;
计算发送速率修正因子m为:
Figure BDA0003023900340000032
修正后的第n个速率控制周期应调整的发送速率为:B′size=mBsize
Cn,n-1=D'n-D'n-1
Cn,n-1表示第n个控制周期和第n-1个控制周期写磁盘平均次数的差值,D'n表示第n个控制周期内写磁盘的平均次数。
进一步的,所述发送端系统的需要同步的消息获取方法为:
解析发送端系统下发的配置文件信息,获得指定的通道号和/或事件号,根据指定的通道号和/或事件号获取对应的消息。
进一步的,所述消息转发缓冲区用于存储接收的待发送消息和用于存储已发送消息,待发送消息经发送后自动转为已发送消息,已发送消息用于发送传输失败后进行重传使用,所述消息转发缓冲区为环形缓冲区。
进一步的,所述消息通过电网双平面冗余备份网络转发给接收端系统。
进一步的,所述若主、备调系统之间连接故障,则将消息保存到当前系统的磁盘文件中,当传输链路正常后按照原顺序将消息接续重传给接收端系统,方法包括:
通过发送端和接收端系统间心跳机制进行连接检测,当发现传输链路故障,关闭原通信链路,通过另一条通信链路建立连接,重连成功后依照时间先后顺序重传消息转发缓冲区中所有时效在预设时段T2以内的所有消息,其中,T2远大于网络中断后TCP传输的超时时间。
进一步的,若发送端系统的客户端消息代理主机故障,将发送端系统的备机切换为主机,将消息转发缓冲区中所有时效在预设时段T1内的消息依照时间先后顺序全部重发,其中,T1大于主备机因故障切换时间的最大值。
一种电力系统双活主备调消息同步装置,包括:
消息获取及转发模块,用于将发送端系统需要同步的消息存放到消息转发缓冲区,判断所述消息是否来源于接收端系统,若是,则不转发;若不是,则通过智能速率控制方法将消息转发给接收端系统;
重传模块,若主、备调系统之间连接故障,则将消息保存到当前系统的磁盘文件中,当传输链路正常后按照原顺序将消息接续重传给接收端系统;
重复消息判断模块,通过消息的唯一标识判断是否是重复消息,若不是重复消息,则保存。
进一步的,所述通过智能速率控制方法将消息转发给接收端系统,方法包括:
统计第n个速率反馈周期内客户端发送的消息量Qrev,n和待转发的消息量Qst,n,计算第n个速率反馈周期内流量差Qd,n
Qd,n=Qrev,n-Qst,n
预测第n个速率控制周期流量差的均值Q'd,n
Q'd,n=wQd,n+(1-w)Q'd,m-1
其中,w表示反馈周期内流量差的权重值,w∈[0,1];Q'd,n-1表示第n-1个速率控制周期流量差的均值;
计算第n个速率控制周期应调整的发送速率Bsize,为:
Figure BDA0003023900340000051
其中,Tb为速率反馈周期,Tc为速率控制周期;
计算发送速率修正因子m为:
Figure BDA0003023900340000052
修正后的第n个速率控制周期应调整的发送速率为:B′size=mBsize
Cn,n-1=D'n-D'n-1
Cn,n-1表示第n个控制周期和第n-1个控制周期写磁盘平均次数的差值,D'n表示第n个控制周期内写磁盘的平均次数。
进一步的,所述重传模块,包括:
链路故障检测重连模块,用于通过发送端和接收端系统间心跳机制进行连接检测,当发现传输链路故障,关闭原通信链路,通过另一条通信链路建立连接;
消息重传模块,用于在重连成功后依照时间先后顺序重传消息转发缓冲区中所有时效在预设时段T2以内的所有消息,其中,T2远大于网络中断后TCP传输的超时时间。
本发明所达到的有益效果:
本发明将发送端系统需要同步的消息存放到消息转发缓冲区,判断所述消息是否来源于接收端系统,若是,则不转发;若不是,则通过智能速率控制方法将消息转发给接收端系统;防止了消息回环重复发送同样的消息,提高实时性和可靠性,通过智能控制速率的方法使得消息发送速率根据消息大小进行自适应传输,提高了消息同步实时性;
若主、备调系统之间连接故障,则将消息保存到当前系统的磁盘文件中,当传输链路正常后按照原顺序将消息接续重传给接收端系统;本发明通过连接检测与断线重连、消息重发与断点续传,提升传输可靠性,当主备调系统出现异常情况时,包括发送端系统的客户端消息代理主机故障、消息发送过程中网络故障和接收端系统的服务端消息代理主机故障等,客户端都能及时感知故障状态,重新建立连接,并将消息按原次序接续重传给服务端,有效应对因主备调系统间物理距离较远而引发的网络波动、网络延迟风险。
缓冲区基于内存实现,设计成环形的存储方式,通过修改首尾偏移量实现消息读写、清除等功能,无需复制消息内容,大幅降低系统开销。消息缓冲区中只保留消息时效性内的消息,超出时效性的消息会被自动清理,避免消息的重放攻击。
利用电网调控系统网络基础设施双平面,主备调消息同步支持双网冗余配置,当网络中一条通信线路故障时,消息转发发送端自动切换到另一条通信线路,实现双网冗余通信,提升通信链路鲁棒性。
本发明支持将主调系统的遥信、遥测、人工置数、挂摘牌操作等实时消息同步到备调系统中,以及将备调系统的指定消息同步至主调系统,保持两个系统中实时消息的一致性,实现A/B双系统双活并列运行,利用双活模式使备调系统在独立场所的条件下具备与主调系统相一致的电网调度控制功能。主调与备调同步运行,各自承担部分调度运行业务,备调运行值班人员配置与主调基本相同,支持度应急技术手段的快速灵活部署,实现了电网调度控制场所、系统和调度业务的实时备用,提升了电网调度系统的应急支持能力。
附图说明
图1是本发明实施例中的主备调系统结构示意图;
图2是本发明实施例中的主备调消息同步方法示意图;
图3是本发明实施例中的环形缓冲区示意图;
图4是本发明实施例中的电网双平面冗余备份网络拓扑图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1:
如图1和图2所示,本发明实施例提供了一种电力系统双活主备调系统,主、备调系统之间通过双向冗余同步网络进行实时消息的同步。主备调消息双向同步为全业务操作同步和其他应用的消息同步提供通用、稳定、高效的消息同步服务;
双活主备调消息同步基于主、备调系统两侧的消息转发代理实现,消息转发代理包括客户端消息代理(简称“客户端”)和服务端消息代理(简称“服务端”)。
客户端主要包括消息接收线程、消息转发缓冲区、跨系统转发线程;服务端主要包括跨系统接收线程、消息全局唯一性检查和安全校验组件、消息接收缓冲区与消息本地转发线程。消息接收线程负责从消息总线接收消息,并放入消息转发缓冲区,跨系统转发线程负责将消息转发缓冲区中的消息转发给对侧系统。采用多线程并行的方式提高消息转发代理并发处理性能。
主调系统和备调系统中均包括主机节点和备机节点,所述主机节点和备机节点中均包括上述的客户端和服务端。
实施例2:
如图2所示,一种电力系统双活主备调消息同步方法,包括步骤:
步骤1,将主调或备调系统需要同步给对侧系统的消息存放到消息转发缓冲区,若所述消息不是来源于对侧系统,则通过智能速率控制方法将消息转发给对侧系统;
具体的,
面向通道和事件定制:主调或备调系统中的客户端(即客户端消息代理)读取当前系统下发的配置文件信息,获得指定的通道号和/或事件号,转发对应通道号和事件号的指定消息;消息本地接收线程订阅接收指定消息,并放到消息转发缓冲区;
针对实时数据跨区同步的需求,主备调消息双向同步提供数据定制功能,支持选取特定通道消息进行同步,或者选取通道下的特定事件进行同步,从而保证消息同步的灵活性。客户端消息代理读取配置后只同步目的系统所需要的消息,降低系统间网络负载。
来源识别与回环过滤:对于通道类型不同的消息,进行双向转发不会影响系统运行。但对于同一通道类型的消息,如果不进行特殊处理,会出现循环转发的情况,造成网络阻塞。为防止双向同步情景中同一通道下消息的回环问题,避免引发广播风暴,提供消息过滤功能,根据消息标签(标明了消息是由谁发出的(源节点、源应用、源进程))识别消息来源,当客户端消息代理判断出消息是由本系统(主或备调系统)服务端消息代理发出的,则不进行转发,只有本系统上层应用发出的消息才予以转发。通过消息标签完成消息源鉴识,进行针对性处理,从而避免消息在系统间循环转发的情况,提高消息转发的效率和实时性。
所述消息转发缓冲区用于存储刚接收的待发送消息和用于存储已发送消息,待发送消息经发送后自动转为已发送消息,已发送消息用于发送传输失败后进行重传使用。
所述通过智能速率控制方法将消息转发给对侧系统,包括步骤:
1)统计第n个速率反馈周期内客户端发送的消息量Qrev,n和待转发的消息量Qst,n,计算第n个速率反馈周期内流量差Qd,n
Qd,n=Qrev,n-Qst,n
速率反馈周期为统计消息量的时间间隔,每隔预设的反馈周期统计一次消息量,计算流量差;
2)采用指数加权移动平均数法EWMA预测第n个速率控制周期流量差的均值Q'd,n
Q'd,n=wQd,n+(1-w)Q'd,m-1
w表示反馈周期内流量差的权重值,w∈[0,1];Q'd,n-1表示第n-1个速率控制周期流量差的均值;
3)计算第n个速率控制周期应调整的发送速率Bsize,为:
Figure BDA0003023900340000091
Tb为速率反馈周期,Tc为速率控制周期;
4)考虑到下一个控制周期可能出现爆发式消息传输或网络拥塞的情况,需要对Bsize进行修正,进一步增大消息发送速率以应对的传输能力不足。
根据客户端消息代理的设计,只有在缓存不足的时候才会将消息写入磁盘文件,令D'n表示第n个控制周期内写磁盘的平均次数,Cn,n-1表示第n个控制周期和第n-1个控制周期写磁盘平均次数的差值,则有:
Cn,n-1=D'n-D'n-1
D'n一定程度上反映了当前消息缓存的使用情况,D'n值越大说明当前缓存使用越紧张。
修正因子m为:
Figure BDA0003023900340000092
故修正后的第n个速率控制周期应调整的发送速率为:B′size=mBsize
步骤2,若主、备调系统之间连接故障,则将消息保存到当前系统的磁盘文件中,切换到另一条通信线路,当传输链路正常后按照原顺序将消息接续重传给对侧系统;
如图4所示,主、备调系统之间采用电网双平面冗余备份网络,电网双平面冗余备份网络由1号消息转发网与2号消息转发网构成,二者保持完全独立,各自使用一套网关机、交换机、网线、电网安防隔离装置,实现硬件资源的全流程冗余备份。
发送端系统和接收端系统的主机和备机的消息转发代理均分别与1号消息转发网和2号消息转发网连接,从而发送端系统与对端系统形成4条通信线路,分别是(s1,r1)、(s1,r2)、(s2,r3)、(s2,r4)。当消息转发网络中一条通信线路故障时,消息转发发送端自动切换到另一条通信线路,实现双网冗余通信。
发送端系统客户端消息代理主机,在向接收端发送消息成功后,仍将消息保留在缓冲区中,在数据传输过程中很可能出现网络中断、网络波动及服务器异常等隐患,主备调消息双向同步提供重试机制,当发送失败后多次重试,通过系统间心跳机制进行不间断的连接检测,当发现系统间传输链路故障后,接收端的客户端立即关闭原通信链路,通过其他通信链路与接收端系统的服务端建立连接,直至重连成功,成功切换到另一条可用的消息转发通信链路后,依照时间先后顺序重传缓冲区中所有时效在预设时段T2以内的所有消息。其中,T2远大于网络中断后TCP传输的超时时间,消息缓冲区能够存储T2时效性以内的所有已转发消息。通过立即重新建立传输链路,并进行接续传输,实现网络波动情景下链路自适应调整,增加消息同步的安全性。
另外,若发送端系统的客户端消息代理主机故障,将发送端系统的备机切换为主机,立即将缓冲区中所有时效在预设时段T1内的消息依照时间先后顺序全部重发一遍,确保消息不丢失。其中,T1大于主备机因故障切换时间的最大值,缓冲区空间足够存储T1时效性以内的所有需要转发的消息。
若接收端系统的服务端消息代理主机故障,客户端自动与接收端另一个服务端消息代理节点建立连接,依照时间先后顺序重传缓冲区中所有时效在T2以内的所有消息。其中,T2远大于网络中断后TCP传输的超时时间,消息缓冲区能够存储T2时效性以内的所有已转发消息。
步骤3,通过消息的唯一标识判断是否是重复消息,若不是重复消息,则保存在对侧系统的数据接收缓冲区;通过消息转发线程将数据接收缓冲区中的消息转发给接收端系统的上层应用。
通过消息的唯一标识判断是否是重复消息,方法为:
在发送端系统中,消息总线发出的每条消息具有唯一标识ID,该ID至少包括源节点信息和消息序号两个信息,源节点信息在发送端系统和接收端系统系统中具有唯一性,消息序号从零开始连续递增,达到最大值Smax时再次归零。因此,在一定时间内,系统所发出每条消息均具有唯一标识。
在接收端系统中,解析收到的每条消息中的节点信息和消息序号,并保留每个节点发出的当前最大消息序号S1,对于来自同一节点的消息,如果其序号S2满足条件S2>S1或(S1-S2)>Smax/2时,认为是有效消息,并更新该节点的最新消息序号为S2,否则认为是重复消息,直接丢弃。
通过上述方式,在接收端系统中,自动过滤掉重复发送的消息,应用程序通过消息总线收到的消息均具有唯一性。
如图3所示,消息转发缓冲区和消息接收缓冲区中的所有消息均按时间先后顺序无缝连续存储。
两个缓冲区均基于内存实现,设计成环形的存储方式,通过修改首尾偏移量实现消息置入、读取、清除、状态转换等功能,无需复制消息内容,大幅降低系统开销。
缓冲区中只保留消息时效性内的消息,超出时效性的消息会被自动清理。在不同的应用场景下,可以调整消息缓冲区的大小,以平衡消息转发的可靠性与所占用的内存资源二者之间的关系。
两种缓冲区均基于最优动态分配策略进行共享内存动态分配和自动回收,具体为:
向操作系统申请一块大的共享内存区,将其划分成大小相等的小的共享内存块,并标记每块共享内存的使用情况,以块为单位进行管理;
缓冲区由一个或多个连续的共享内存块组成,初次分配发送/接收缓冲区大小时只分配一个小共享内存块。为减少空闲共享内存碎片的产生,提出了共享内存区最优动态分配策略,即在对缓冲区进行共享内存区分配时,从共享内存区首部进行查找,直到找到一个恰好能满足其缓存需求的连续共享内存块的位置为止,否则会分配一个满足缓存需求的最小的连续共享内存块的位置。缓冲区自动回收是指通过检测使用总线的应用进程是否存活,对已经退出的应用进程自动回收为其分配的共享内存块,避免共享内存区泄露。
在使用缓冲区进行发送和接收消息时采用先进先出的消息读写机制,在数据转发和接收缓冲区中分别划分出头指针、尾指针、读指针和写指针,分别用于记录数据缓冲区的起始位置、结束位置、可读取消息的位置和可写入消息的位置,通过移动读、写指针的位置实现消息的循环读写。由于每个消息的实际长度大小可能不同,为提高消息读写效率,在写入消息时根据每个消息的实际长度在数据缓冲区中进行紧凑排列,充分利用系统的共享内存区资源。本发明具备高读写率、低占用比的消息循环读写及紧凑排布机制。
在发送消息过快导致共享内存空间不足时通过数据缓冲区自适应分配方法保障消息不丢。当数据缓冲区共享内存不足时,重新申请一块更大的连续共享内存块,并将原有共享内存空间的消息拷贝到新申请的共享内存块中,同时释放原有共享内存。对共享内存大小设置上限,当达到该上限时,会将消息临时存储到磁盘文件中,并在内存中通过索引链表保存每条消息在磁盘文件中的位置索引。当共享内存中有消息被处理留出足够可用空间时,通过读取索引链表获取每个消息在文件中的位置,从磁盘中读取消息并写入可用共享内存中。从磁盘写回共享内存的消息不会占用全部可用共享内存,而是会预留一部分,以保证在读写消息时优先使用共享内存而不是磁盘,这样新来的消息能够被及时的处理。
实施例3:
一种电力系统双活主备调消息同步装置,包括:
消息获取及转发模块,用于将发送端系统需要同步的消息存放到消息转发缓冲区,判断所述消息是否来源于接收端系统,若是,则不转发;若不是,则通过智能速率控制方法将消息转发给接收端系统;
重传模块,若主、备调系统之间连接故障,则将消息保存到当前系统的磁盘文件中,当传输链路正常后按照原顺序将消息接续重传给接收端系统;
重复消息判断模块,通过消息的唯一标识判断是否是重复消息,若不是重复消息,则保存。
进一步的,所述通过智能速率控制方法将消息转发给接收端系统,方法包括:
统计第n个速率反馈周期内客户端发送的消息量Qrev,n和待转发的消息量Qst,n,计算第n个速率反馈周期内流量差Qd,n
Qd,n=Qrev,n-Qst,n
预测第n个速率控制周期流量差的均值Q'd,n
Q'd,n=wQd,n+(1-w)Q'd,m-1
其中,w表示反馈周期内流量差的权重值,w∈[0,1];Q'd,n-1表示第n-1个速率控制周期流量差的均值;
计算第n个速率控制周期应调整的发送速率Bsize,为:
Figure BDA0003023900340000131
其中,Tb为速率反馈周期,Tc为速率控制周期;
计算发送速率修正因子m为:
Figure BDA0003023900340000132
修正后的第n个速率控制周期应调整的发送速率为:B′size=mBsize
Cn,n-1=D'n-D'n-1
Cn,n-1表示第n个控制周期和第n-1个控制周期写磁盘平均次数的差值,D'n表示第n个控制周期内写磁盘的平均次数。
进一步的,所述重传模块,包括:
链路故障检测重连模块,用于通过发送端和接收端系统间心跳机制进行连接检测,当发现传输链路故障,关闭原通信链路,通过另一条通信链路建立连接;
消息重传模块,用于在重连成功后依照时间先后顺序重传消息转发缓冲区中所有时效在预设时段T2以内的所有消息,其中,T2远大于网络中断后TCP传输的超时时间。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (8)

1.一种电力系统双活主备调消息同步方法,其特征在于:包括步骤:
将发送端系统需要同步的消息存放到消息转发缓冲区,判断所述消息是否来源于接收端系统,若是,则不转发;
若不是,则通过智能速率控制方法将消息转发给接收端系统;
若主、备调系统之间连接故障,则将消息保存到当前系统的磁盘文件中,当传输链路正常后按照原顺序将消息接续重传给接收端系统;
通过消息的唯一标识判断是否是重复消息,若不是重复消息,则保存;
其中,所述通过智能速率控制方法将消息转发给接收端系统,方法包括:
统计第n个速率反馈周期内客户端发送的消息量Qrev,n和待转发的消息量Qst,n,计算第n个速率反馈周期内流量差Qd,n
Qd,n=Qrev,n-Qst,n
预测第n个速率控制周期流量差的均值Q'd,n
Q'd,n=wQd,n+(1-w)Q'd,m-1
其中,w表示反馈周期内流量差的权重值,w∈[0,1];Q'd,n-1表示第n-1个速率控制周期流量差的均值;
计算第n个速率控制周期应调整的发送速率Bsize,为:
Figure FDA0003804973140000011
其中,Tb为速率反馈周期,Tc为速率控制周期;
计算发送速率修正因子m为:
Figure FDA0003804973140000012
修正后的第n个速率控制周期应调整的发送速率为:B′size=mBsize
Cn,n-1=D'n-D'n-1
Cn,n-1表示第n个控制周期和第n-1个控制周期写磁盘平均次数的差值,D'n表示第n个控制周期内写磁盘的平均次数。
2.根据权利要求1所述的一种电力系统双活主备调消息同步方法,其特征是:所述发送端系统的需要同步的消息获取方法为:
解析发送端系统下发的配置文件信息,获得指定的通道号和/或事件号,根据指定的通道号和/或事件号获取对应的消息。
3.根据权利要求1所述的一种电力系统双活主备调消息同步方法,其特征是:所述消息转发缓冲区用于存储接收的待发送消息和用于存储已发送消息,待发送消息经发送后自动转为已发送消息,已发送消息用于发送传输失败后进行重传使用,所述消息转发缓冲区为环形缓冲区。
4.根据权利要求1所述的一种电力系统双活主备调消息同步方法,其特征是:所述消息通过电网双平面冗余备份网络转发给接收端系统。
5.根据权利要求4所述的一种电力系统双活主备调消息同步方法,其特征是:所述若主、备调系统之间连接故障,则将消息保存到当前系统的磁盘文件中,当传输链路正常后按照原顺序将消息接续重传给接收端系统,方法包括:
通过发送端和接收端系统间心跳机制进行连接检测,当发现传输链路故障,关闭原通信链路,通过另一条通信链路建立连接,重连成功后依照时间先后顺序重传消息转发缓冲区中所有时效在预设时段T2以内的所有消息,其中,T2远大于网络中断后TCP传输的超时时间。
6.根据权利要求1所述的一种电力系统双活主备调消息同步方法,其特征是:若发送端系统的客户端消息代理主机故障,将发送端系统的备机切换为主机,将消息转发缓冲区中所有时效在预设时段T1内的消息依照时间先后顺序全部重发,其中,T1大于主备机因故障切换时间的最大值。
7.一种电力系统双活主备调消息同步装置,其特征是:包括:
消息获取及转发模块,用于将发送端系统需要同步的消息存放到消息转发缓冲区,判断所述消息是否来源于接收端系统,若是,则不转发;若不是,则通过智能速率控制方法将消息转发给接收端系统;
重传模块,若主、备调系统之间连接故障,则将消息保存到当前系统的磁盘文件中,当传输链路正常后按照原顺序将消息接续重传给接收端系统;
重复消息判断模块,通过消息的唯一标识判断是否是重复消息,若不是重复消息,则保存;
其中,所述通过智能速率控制方法将消息转发给接收端系统,方法包括:
统计第n个速率反馈周期内客户端发送的消息量Qrev,n和待转发的消息量Qst,n,计算第n个速率反馈周期内流量差Qd,n
Qd,n=Qrev,n-Qst,n
预测第n个速率控制周期流量差的均值Q'd,n
Q'd,n=wQd,n+(1-w)Q'd,m-1
其中,w表示反馈周期内流量差的权重值,w∈[0,1];Q'd,n-1表示第n-1个速率控制周期流量差的均值;
计算第n个速率控制周期应调整的发送速率Bsize,为:
Figure FDA0003804973140000031
其中,Tb为速率反馈周期,Tc为速率控制周期;
计算发送速率修正因子m为:
Figure FDA0003804973140000032
修正后的第n个速率控制周期应调整的发送速率为:B′size=mBsize
Cn,n-1=D'n-D'n-1
Cn,n-1表示第n个控制周期和第n-1个控制周期写磁盘平均次数的差值,D'n表示第n个控制周期内写磁盘的平均次数。
8.根据权利要求7所述的一种电力系统双活主备调消息同步装置,其特征是:所述重传模块,包括:
链路故障检测重连模块,用于通过发送端和接收端系统间心跳机制进行连接检测,当发现传输链路故障,关闭原通信链路,通过另一条通信链路建立连接;
消息重传模块,用于在重连成功后依照时间先后顺序重传消息转发缓冲区中所有时效在预设时段T2以内的所有消息,其中,T2远大于网络中断后TCP传输的超时时间。
CN202110410371.7A 2021-04-16 2021-04-16 一种电力系统双活主备调消息同步方法和装置 Active CN113225207B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110410371.7A CN113225207B (zh) 2021-04-16 2021-04-16 一种电力系统双活主备调消息同步方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110410371.7A CN113225207B (zh) 2021-04-16 2021-04-16 一种电力系统双活主备调消息同步方法和装置

Publications (2)

Publication Number Publication Date
CN113225207A CN113225207A (zh) 2021-08-06
CN113225207B true CN113225207B (zh) 2022-11-01

Family

ID=77087838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110410371.7A Active CN113225207B (zh) 2021-04-16 2021-04-16 一种电力系统双活主备调消息同步方法和装置

Country Status (1)

Country Link
CN (1) CN113225207B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114006756A (zh) * 2021-10-29 2022-02-01 北京天融信网络安全技术有限公司 基于攻击报文的数据同步方法、主机、备机及电子设备
CN117453146B (zh) * 2023-12-22 2024-04-05 芯能量集成电路(上海)有限公司 数据读取方法、系统、eFlash控制器及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528366A (zh) * 2014-09-30 2016-04-27 阿里巴巴集团控股有限公司 一种数据同步控制方法和装置
CN106340882A (zh) * 2016-09-22 2017-01-18 国电南瑞科技股份有限公司 一种适用于电网多区域一体化调控的对等互备方法
CN109450810A (zh) * 2018-12-30 2019-03-08 国网北京市电力公司 识别冗余消息的方法及装置
CN112565231A (zh) * 2020-11-30 2021-03-26 国网江苏省电力有限公司电力科学研究院 基于电力调度数据网安全ii区和iii区数据同步方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140280672A1 (en) * 2013-03-15 2014-09-18 Schweitzer Engineering Laboratories, Inc. Systems and Methods for Managing Communication Between Devices in an Electrical Power System

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528366A (zh) * 2014-09-30 2016-04-27 阿里巴巴集团控股有限公司 一种数据同步控制方法和装置
CN106340882A (zh) * 2016-09-22 2017-01-18 国电南瑞科技股份有限公司 一种适用于电网多区域一体化调控的对等互备方法
CN109450810A (zh) * 2018-12-30 2019-03-08 国网北京市电力公司 识别冗余消息的方法及装置
CN112565231A (zh) * 2020-11-30 2021-03-26 国网江苏省电力有限公司电力科学研究院 基于电力调度数据网安全ii区和iii区数据同步方法及装置

Also Published As

Publication number Publication date
CN113225207A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN113225207B (zh) 一种电力系统双活主备调消息同步方法和装置
CN101394306B (zh) 一种双服务器系统的无缝切换方法
CN110350661A (zh) 虚拟测控单元与实体测控无缝切换方法
CN104485738A (zh) 一种智能变电站监控系统双机切换告警无扰动处理方法
CN112650048B (zh) 一种工业网关冗余系统和控制方法
CN115567615B (zh) 一种用于轨道交通信号系统的fsk与lan协议转换装置
CN108111355B (zh) 数据通信网关机及其同步数据的方法、装置、及介质
CN112346925A (zh) 一种进程级双机热备冗余系统及方法
CN105812492B (zh) 一种数据同步方法及系统
CN105302670A (zh) 一种采用多机冗余方式对车站进行监控的方法及装置
CN118113527A (zh) 一种冗余数据采集方法、设备及存储介质
CN108306989B (zh) 一种用于铁路调度集中系统的主备机数据同步方法
CN116185697B (zh) 容器集群管理方法、装置、系统、电子设备及存储介质
CN105049263A (zh) 一种数据处理方法和系统
CN1080504C (zh) 高可靠和一致的报文传输方法
CN109274763B (zh) 一种信息同步方法及双机热备设备
CN114598594B (zh) 一种多集群下应用故障的处理方法、系统、介质和设备
CN115396752A (zh) 一种基于Redis的双平面采集数据方法及系统
CN109256863B (zh) 一种微电网能量控制方法及微电网系统
CN113127435A (zh) 一种主备系统文件智能同步方法及系统
CN117714013A (zh) 一种主备双系通信系统
CN112260849B (zh) 一种城市轨道交通信号业务数据自适应交换的系统
CN113452000B (zh) 一种基于无线通信的配电网自适应差动保护自愈方法
Xu et al. Design of Real-time Message Synchronization cross Smart Grid Dispatching System
CN114598709B (zh) 一种支持双归属保护的船舶交通管理系统容灾方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant