CN110351139B - 一种电能质量管理系统多机主备实现方法 - Google Patents

一种电能质量管理系统多机主备实现方法 Download PDF

Info

Publication number
CN110351139B
CN110351139B CN201910629674.0A CN201910629674A CN110351139B CN 110351139 B CN110351139 B CN 110351139B CN 201910629674 A CN201910629674 A CN 201910629674A CN 110351139 B CN110351139 B CN 110351139B
Authority
CN
China
Prior art keywords
server
message
management system
quality management
heartbeat
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
CN201910629674.0A
Other languages
English (en)
Other versions
CN110351139A (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.)
Tianjin Keyvia Electric Co ltd
Original Assignee
Tianjin Keyvia Electric 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 Tianjin Keyvia Electric Co ltd filed Critical Tianjin Keyvia Electric Co ltd
Priority to CN201910629674.0A priority Critical patent/CN110351139B/zh
Publication of CN110351139A publication Critical patent/CN110351139A/zh
Application granted granted Critical
Publication of CN110351139B publication Critical patent/CN110351139B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

本发明创造提供了一种电能质量管理系统多机主备实现方法,S1、主控模块进程运行,同步创建服务器心跳报文定时服务和服务器信息监测定时服务,服务器信息监测定时周期大于等于2个服务器心跳定时周期;S2、创建同步器线程;通过同步器实现通信报文在多机间同步通信;S3、注册组播服务;S4、初始化本地服务器信息池数据结构;当获取服务器心跳报文后,更新报文数据中对应的服务器记录里面的内容。本发明实施例中针对电能质量管理系统应用现场容易出现的问题,采取上述方式,使电能质量管理系统增强冗余性,提高系统鲁棒性,在已部署现场中达到预期效果。

Description

一种电能质量管理系统多机主备实现方法
技术领域
本发明创造属于电能质量管理系统多机主备领域,尤其是涉及一种电能质量管理系统多机主备实现方法。
背景技术
电能质量管理系统主要包括采集模块,计算分析模块,存储模块以及显示模块,各模块依次完成上一模块后续工作,每一个模块都是相辅相成,实现电能质量管理系统功能。任意一个模块中任一环节出现问题时候,都会导致电能质量管理系统中后续模块不能正常工作,影响电能质量管理系统的正常使用。电能质量管理系统运用领域愈加广泛,逐渐得到了关注和重视。电能质量管理系统的稳定性也愈加重要,传统上的单一服务器模式,很容易因电能质量管理系统中间某一环节故障导致系统不稳定,为了增加电能质量管理系统的稳定性,电能质量管理系统由单一服务器转变为多机服务器。
发明内容
有鉴于此,本发明创造旨在克服上述现有技术中存在的缺陷,提出一种电能质量管理系统多机主备实现方法。
为达到上述目的,本发明创造的技术方案是这样实现的:
一种电能质量管理系统多机主备实现方法,包括:
S1、主控模块进程运行,创建服务器心跳报文定时服务和服务器信息监测定时服务,服务器信息监测定时周期大于等于2个服务器心跳定时周期;
S2、创建同步器线程;主控模块启动同步器线程,通过同步器控制通信报文在多机间通信过程;
S3、注册组播服务;同步器线程利用ACE架构提供的接口直接创建组播服务,在发送者和每一接收者之间实现点对多点网络连接,组播服务用于网络传输报文,包括报文接收和发送;
S4、初始化本地服务器信息池数据结构;当获取服务器心跳报文后,更新报文数据中对应的服务器记录里面的内容;
S5、同步器运行,通过同步器注册组播服务将心跳报文发送至其他服务器;
S6、服务器心跳报文定时服务时间到,获取服务器信息池中本机记录数据;
S7、其他服务器接收报文,服务器信息检测定时服务时间到,获取所有服务器心跳报文解析数据,进入服务器信息检测及服务器角色更新服务,进行服务器间角色状态更新,完成心跳报文接收任务。
进一步的,所述步骤S1中,所述心跳报文包括服务器节点编号、主控模块进程编号、报文长度、时间、服务器状态、故障次数和成主机次数;
服务器节点编号:是电能质量管理系统服务器集群中每一台服务器的编号;
主控模块进程编号:在电能质量管理系统运行前配置固定配置好,运行过程中不发生改变;
报文长度:指本次心跳报文的长度;
时间:组心跳报文的时刻;
服务器状态:分为主机、备机和离线三种状态;
故障次数:用于统计电能质量管理系统运行后服务器节点累计离线次数;
成主机次数:用于统计电能质量管理系统运行后服务器节点累计成为主机的次数。
进一步的,所述步骤S6的具体方法如下:
S601、从服务器记录中获取本机服务器心跳报文结构数据;
S602、ACE_OutputCDR将心跳报文结构数据序列化并组成组播报文;
S603、向同步器写组播报文;
S604、组播服务发送该报文;
S605、完成同步器发送报文。
进一步的,所述步骤S7的具体方法如下:
S701、组播服务接收到组播报文;
S702、同步器接收到组播报文;
S703、通过ACE_InputCDR解析报文,依次将服务器心跳报文拆分为5部分并保存到内存数据对象中;
S704、服务器信息检测定时服务时间到,获取S703中解析的所有服务器心跳报文内存数据对象;
S705、更新本地服务器信息池;
S706、进入服务器信息检测及服务器角色更新服务;
S707、完成心跳报文接收任务。
进一步的,所述步骤S703的具体方法如下:
S7031、创建内存数据对象数组;每个对象中包含服务器节点编号、时间、服务器状态、故障次数、成主机次数5个变量;
S7032、每次接受到服务器心跳报文后,通过ACE_InputCDR接口解析报文数据并分别保存到同一个内存数据对象中;
S7033、内存数据对象添加到内存数据对象数组中。
进一步的,所述步骤S705的具体方法如下:
S7051、分别获取S704中获取到的内存对象数组中每一个对象;
S7052、将单个内存对象数据解析,获取服务器节点编号信息;
S7053、在本地服务器信息池中检索S7052中获取的服务器节点编号,并找到匹配的那一条服务器记录信息;
S7054、将单个内存对象数据中时间和服务器状态、故障次数、成主机次数分别更新到S7053中的记录;
S7055、更新完所有内存对象数组数据后,删除内存对象数组。
进一步的,所述步骤S706的具体方法如下:
S7061、进入服务器信息监测服务,统计本地服务器信息池中所有记录信息的时间是否在本周期内,判断服务器状态;
S7062、当S7061中时间不在本周期内,记录信息中显示的状态为“主机”或“备机”,判断此时服务器为“离线”状态,对该服务器超时累计次数加一;
S7063、当S7061中时间不在本周期内容,记录信息中显示的状态为“离线”,判断服务器处于故障中,该服务器超时累计次数不变;
S7064、统计所有记录信息中“服务器状态”为主服务器的记录信息数目,根据记录信息数目情况更新服务器角色;
S7065、完成心跳报文接收任务。
进一步的,所述步骤S7064的具体方法如下:
当主服务器数目为1时,跳过服务器角色更新服务,等待进入下一轮服务器信息监测服务;。
当主服务器数目为0时,且经过3个时间周期后无变化,通过公式在备机中选出临时主机后,更新本机信息并发送心跳同步报文;
备机筛选公式如下:
Figure BDA0002128324650000051
其中n为节点编号,i为超时次数,j为当选主机次数,当i或者j为0时候,只通过节点编号大小确定当选服务器;
当主服务器数目为2时,表示此时主服务器因故障修复好,将临时主机切换为备机,恢复故障主机状态,主、备机发送心跳同步报文;
当任意备机k出现故障并修复后,备机发送初始心跳同步报文,收到该心跳报文解析后,主机更新备机k的记录信息,并发送完整备机心跳同步报文。
相对于现有技术,本发明创造具有以下优势:
本发明的目标首先是解决多个模块运行中出现异常时,缺乏对模块运行监视和故障恢复的问题;其次是解决单机系统出现掉电或断网情况下,如何继续保持电能质量管理系统持续正常运行的问题。
本发明实施例中增加的主控模块用于监视所有模块运行状态,并对异常模块进行对应恢复操作,同时本发明实施例中增加了多服务器进行主备服务,当单机系统出现问题后,可以自由切换到其他备机中运行电能质量管理系统;本发明实施例中针对电能质量管理系统应用现场容易出现的问题,采取上述方式,使电能质量管理系统增强冗余性,提高系统鲁棒性,在已部署现场中达到预期效果。
附图说明
构成本发明创造的一部分的附图用来提供对本发明创造的进一步理解,本发明创造的示意性实施例及其说明用于解释本发明创造,并不构成对本发明创造的不当限定。在附图中:
图1为本发明创造实施例所述的电能质量管理系统多机主备实现方法流程图;
图2为本发明创造实施例所述的服务器角色更新服务流程图;
图3为本发明创造实施例中多机通信报文数据结构图;
图4为本发明创造实施例中电能质量管理系统结构图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明创造中的实施例及实施例中的特征可以相互组合。
在本发明创造的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明创造和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明创造的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明创造的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明创造的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明创造中的具体含义。
下面将参考附图并结合实施例来详细说明本发明创造。
如图3所示,本发明实施例中心跳报文数据结构如下:
心跳报文数据结构分为“服务器节点编号”、“主控模块进程编号”、“报文长度”、“时间”、“服务器状态”、“故障次数”和“成主机次数”。
具体的,服务器节点编号是电能质量管理系统服务器集群中每一台服务器的编号,该编号在电能质量管理系统运行前固定配置好,运行过程中不发生改变。
主控模块进程编号也是在电能质量管理系统运行前配置固定配置好,运行过程中不发生改变。
报文长度是指本次心跳报文的长度,主要包括图1中的“时间”和“服务器状态”长度。
时间为组心跳报文的时刻,该时间是系统启动后固定设置时钟周期,进行定时组报文,一般设置为1秒,可以迅速在本地对所有服务器状态信息进行更新。
服务器状态分为主机、备机和离线三种状态。
故障次数用于统计电能质量管理系统运行后服务器节点累计离线次数。
成主机次数用于统计电能质量管理系统运行后服务器节点累计成为主机的次数。
如图4所示,本发明实施例中的电能质量管理系统结构如下:
1.电能质量管理系统主要分为底层设备和服务器以及中间的连接线路。
2.底层设备都是数据集中器。数据集中器用于采集所有智能设备的数据,并汇总处理,提供服务器采集模块所需数据并转发至采集模块。
3.服务器角色分为主机和备机两种。电能质量管理系统主机只有一个,备机可以为多台;电能质量管理系统初始时主机和备机角色是由系统预先配置好;这样可以将服务器配置高的机器作为主机,将服务器配置低的作为备机,对服务器进行差异化灵活部署,节省电能质量管理系统投入费用;
当初始时主机出现故障时候,系统中备机通过竞争规则临时切换成主机。初始时主机故障修复后为系统主机,由备机作为临时主机的服务器则切换回备机;服务器运行着主控模块、采集模块、计算分析模块,存储模块,以及显示模块;
电能质量管理系统的主备机服务主要是靠主控模块实现;主控模块为现有电能质量管理系统中负责向其他服务器发送心跳报文、以及负责解析其他服务器发送过来的心跳报文的模块;主控模块对采集模块、计算分析模块,存储模块,以及显示模块运行情况进行监测,可以让因故障崩溃的模块重新开启,同时主控模块还可以关闭其中某一模块,用来实现主备机服务器;
采集模块为现有电能质量管理系统中用于和底层设备中的数据集中器进行通信的模块,通过电能质量管理系统配置定时抄表任务,从数据集中器中获取指定的数据;只有服务器角色为主机的服务器中才被主控模块启动采集模块;采集模块启动后会依次与底层的数据集中器发送链接确认信息,然后建立通信链接;当主服务器出现故障时候,主服务器与数据集中器之间的链接断开,无数据采集过程,直到新当选为主服务器发送链接确认信息,建立新的通信链接;
采集模块将获取的数据生成多个sqlite类型的文件;计算分析模块获取采集模块生成的sqlite文件进一步生成相关统计信息的sqlite文件;存储模块将采集模块和计算分析模块所有生成的sqlite文件写入到数据库中;显示模块是输出模块,用于对外展示电能质量管理系统采集的数据信息,为web显示界面。
4.主控模块因服务器角色有所不同;当服务器为主机时候,主控模块将采集模块、计算分析模块,存储模块,以及显示模块都启动并监视模块运行状态;当服务器为备机的时候,主控模块只打开存储模块和显示模块;备机均为热备;主控模块监视到服务器角色发送改变时候,会立即按照相应角色关闭或者打开对应角色中运行的模块。
如图1所示,本发明实施例中多机实现流程如下:
1.主控模块进程运行,并创建服务器心跳报文定时服务,该定时服务用于定时给其他服务器发送心跳报文;同时创建服务器信息检测定时服务,用于统计一定时间周期内所有服务器状态信息,服务器信息检测定时周期大于等于2个服务器心跳定时周期,保证在一个服务器信息检测定时周期内,所有服务器信息均以更新一次;
2.创建同步器线程;主控模块启动同步器线程,通过同步器控制通信报文在多机间通信过程;
3.注册组播服务;同步器线程利用ACE架构提供的接口直接创建组播服务,在发送者和每一接收者之间实现点对多点网络连接,组播服务用于网络传输报文,包括报文接收和发送;
4.初始化本地服务器信息池数据结构;该信息池每一条记录包含服务器节点编号,服务器主控模块进程编号,上次更新报文时间以及对应服务器状态等信息;所有服务器信息均在启动电能质量管理系统前配置好并保存到数据库中;启动后,加载所有的服务器配置信息,并初始化本地服务器信息池;在该服务器信息池中,每一个服务器只对应一条记录;当获取服务器心跳报文时候,更新报文数据中对应的服务器记录里面的内容;
5.同步器运行;
6.服务器心跳报文定时服务时间到,获取服务器信息池中本机记录数据;每台服务器均各自获取自己服务器目前角色信息,按照图3的格式,从服务器记录中获取本机服务器节点编号、本机主控模块进程号、当前时间、服务器状态,故障次数并统计报文长度,将上述数据依次组成服务器心跳报文结构数据;
7.ACE_OutputCDR将心跳报文结构数据序列化并组成组播报文;
8.向同步器写组播报文;
9.组播服务发送该报文;
10.完成同步器发送报文;
11.组播服务接收到组播报文;
12.同步器接收到组播报文;
13.通过ACE_InputCDR解析报文;通过图3的格式,依次将服务器心跳报文拆分为5部分;获取服务器节点编号、时间、服务器状态、故障次、成主机次数信息,保存对应数据到内存对象中;
14.服务器信息检测定时服务时间到,获取所有服务器心跳报文解析数据;该部分是从步骤13中获取保存到内存的数据;启动更新本地服务器信息池工作;
15.更新本地服务器信息池;从步骤14中获取到的所有服务器心跳报文解析数据中,依次获取服务器节点编号和主控模块进程编号,在本地服务器信息池中检索匹配的那一条服务器记录信息;将步骤14中获取到的服务器时间和服务器状态数据依次更新到原来记录中;
16.进入服务器信息检测及服务器角色更新服务;详见图2.
17.完成心跳报文接收任务。
如图2所示,本发明实施例中服务器角色更新服务流程如下:
依次统计本地服务器信息池中服务器记录信息。服务器接收到多机通信报文后,会更新本地服务器信息池。首先统计本地服务器信息池中所有记录信息的时间是否在本周期内,如果不是就将该条记录信息中“服务器状态”为“主机”或“备机”变为离线状态(超时未收到对应服务器更新信息,判断该服务器离线),然后对该服务器超时累计次数加一,“服务器状态”在离线时不进行累加。然后统计所有记录信息中“服务器状态”为主服务器的记录信息数目,正常情况下是1,当主服务器出现故障时候,本地服务器信息池中对应的记录信息中显示“服务器状态”为离线状态,此时主服务器数目为0。
当主服务器数目为1时,说明系统运行正常,跳过服务器角色更新服务,等待进入下一轮服务器信息检测服务。
当主服务器数目为0时,经过3个时间周期后无变化,则进入服务器角色更新服务中。
本地服务器信息池中所有记录信息包含所有节点超时累计次数和当选临时主机次数。在电能质量管理系统初始化时,根据服务器配置情况,依次对不同服务器进行编号,配置高的服务器优先开始编号,故配置高服务器编号小,当进行服务器角色更新服务时候,利用服务器节点编号,服务器节点超时时间次数和服务器当选临时主机次数按照公式1计算在线备机竞选值,数值最大备机服务器当选为临时主机。其中n为节点编号,i为超时次数,j为当选主机次数,当i或者j为0时候,只通过节点编号大小确定当选服务器;之后更新本地信息池中本机记录信息中当选临时主机加1心跳报文用于别的服务器进行信息同步。
公式1如下所示:
Figure BDA0002128324650000121
当主服务器数目为2时,表示此时主服务器因故障修复好,电能质量管理系统服务器中存在正在运行的由原先备机变成主机情况,此时由备机变成主机的服务器检测到因故障修复好的主服务器发送的心跳报文后,将自身切换为备机;其他备机服务器接到服务器心跳报文后本地服务器信息池中更新这两台服务器状态信息。
当任意备机k出现故障修复后,向其他服务器发送服务器心跳报文,其中“故障次数”和“当选主机次数”都初始化为0。当其它服务器接收到该心跳报文时候,更新服务器状态和时间,保留原先故障次数,而主机检测到备机k的心跳报文后,会检测该服务器上线,将本地服务器信息池该服务器对应记录中“服务器状态”由“离线”设置为“备机”状态。进一步发送带有真实“故障次数”和“当选主机次数”备机k的心跳报文,其他服务器包括备机k收到该心跳报文解析后更新本地服务器信息池中备机k的记录信息。只由主机发送带有故障服务器心跳报文信息可以保持所有服务器因故障后恢复自身的准确信息。
本发明的目标首先是解决多个模块运行中出现异常时,缺乏对模块运行监视和故障恢复的问题;其次是解决单机系统出现掉电或断网情况下,如何继续保持电能质量管理系统持续正常运行的问题。
本发明实施例中增加的主控模块用于监视所有模块运行状态,并对异常模块进行对应恢复操作,同时本发明实施例中增加了多服务器进行主备服务,当单机系统出现问题后,可以自由切换到其他备机中运行电能质量管理系统;本发明实施例中针对电能质量管理系统应用现场容易出现的问题,采取上述方式,使电能质量管理系统增强冗余性,提高系统鲁棒性,在已部署现场中达到预期效果。
以上所述仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明创造的保护范围之内。

Claims (6)

1.一种电能质量管理系统多机主备实现方法,其特征在于,包括:
S1、主控模块进程运行,创建服务器心跳报文定时服务和服务器信息监测定时服务,服务器信息监测定时周期大于等于2个服务器心跳定时周期;
S2、创建同步器线程;主控模块启动同步器线程,通过同步器控制通信报文在多机间通信过程;
S3、注册组播服务;同步器线程利用ACE架构提供的接口直接创建组播服务,在发送者和每一接收者之间实现点对多点网络连接,组播服务用于网络传输报文,包括报文接收和发送;
S4、初始化本地服务器信息池数据结构;当获取服务器心跳报文后,更新报文数据中对应的服务器记录里面的内容;
S5、同步器运行,通过同步器注册组播服务将心跳报文发送至其他服务器;
S6、服务器心跳报文定时服务时间到,获取服务器信息池中本机记录数据;
S7、其他服务器接收报文,服务器信息检测定时服务时间到,获取所有服务器心跳报文解析数据,进入服务器信息检测及服务器角色更新服务,进行服务器间角色状态更新,完成心跳报文接收任务;
所述步骤S6的具体方法如下:
S601、从服务器记录中获取本机服务器心跳报文结构数据;
S602、ACE_OutputCDR将心跳报文结构数据序列化并组成组播报文;
S603、向同步器写组播报文;
S604、组播服务发送该报文;
S605、完成同步器发送报文;
所述步骤S7的具体方法如下:
S701、组播服务接收到组播报文;
S702、同步器接收到组播报文;
S703、通过ACE_InputCDR解析报文,依次将服务器心跳报文拆分为5部分并保存到内存数据对象中;
S704、服务器信息检测定时服务时间到,获取S703中解析的所有服务器心跳报文内存数据对象;
S705、更新本地服务器信息池;
S706、进入服务器信息检测及服务器角色更新服务;
S707、完成心跳报文接收任务。
2.根据权利要求1所述的一种电能质量管理系统多机主备实现方法,其特征在于:所述步骤S1中,所述心跳报文包括服务器节点编号、主控模块进程编号、报文长度、时间、服务器状态、故障次数和成主机次数;
服务器节点编号:是电能质量管理系统服务器集群中每一台服务器的编号;
主控模块进程编号:在电能质量管理系统运行前配置固定配置好,运行过程中不发生改变;
报文长度:指本次心跳报文的长度;
时间:组心跳报文的时刻;
服务器状态:分为主机、备机和离线三种状态;
故障次数:用于统计电能质量管理系统运行后服务器节点累计离线次数;
成主机次数:用于统计电能质量管理系统运行后服务器节点累计成为主机的次数。
3.根据权利要求1所述的一种电能质量管理系统多机主备实现方法,其特征在于,所述步骤S703的具体方法如下:
S7031、创建内存数据对象数组;每个对象中包含服务器节点编号、时间、服务器状态、故障次数、成主机次数5个变量;
S7032、每次接受到服务器心跳报文后,通过ACE_InputCDR接口解析报文数据并分别保存到同一个内存数据对象中;
S7033、内存数据对象添加到内存数据对象数组中。
4.根据权利要求1所述的一种电能质量管理系统多机主备实现方法,其特征在于,所述步骤S705的具体方法如下:
S7051、分别获取S704中获取到的内存对象数组中每一个对象;
S7052、将单个内存对象数据解析,获取服务器节点编号信息;
S7053、在本地服务器信息池中检索S7052中获取的服务器节点编号,并找到匹配的那一条服务器记录信息;
S7054、将单个内存对象数据中时间和服务器状态、故障次数、成主机次数分别更新到S7053中的记录;
S7055、更新完所有内存对象数组数据后,删除内存对象数组。
5.根据权利要求1所述的一种电能质量管理系统多机主备实现方法,其特征在于,所述步骤S706的具体方法如下:
S7061、进入服务器信息监测服务,统计本地服务器信息池中所有记录信息的时间是否在本周期内,判断服务器状态;
S7062、当S7061中时间不在本周期内,记录信息中显示的状态为“主机”或“备机”,判断此时服务器为“离线”状态,对该服务器超时累计次数加一;
S7063、当S7061中时间不在本周期内,记录信息中显示的状态为“离线”,判断服务器处于故障中,该服务器超时累计次数不变;
S7064、统计所有记录信息中“服务器状态”为主服务器的记录信息数目,根据记录信息数目情况更新服务器角色;
S7065、完成心跳报文接收任务。
6.根据权利要求5所述的一种电能质量管理系统多机主备实现方法,其特征在于,所述步骤S7064的具体方法如下:
当主服务器数目为1时,跳过服务器角色更新服务,等待进入下一轮服务器信息监测服务;当主服务器数目为0时,且经过3个时间周期后无变化,通过公式在备机中选出临时主机后,更新本机信息并发送心跳同步报文;
备机筛选公式如下:
Figure FDA0003481921710000041
其中n为节点编号,i为超时次数,j为当选主机次数,当i或者j为0时候,只通过节点编号大小确定当选服务器;
当主服务器数目为2时,表示此时主服务器因故障修复好,将临时主机切换为备机,恢复故障主机状态,主、备机发送心跳同步报文;
当任意备机k出现故障并修复后,备机发送初始心跳同步报文,收到该心跳报文解析后,主机更新备机k的记录信息,并发送完整备机心跳同步报文。
CN201910629674.0A 2019-07-12 2019-07-12 一种电能质量管理系统多机主备实现方法 Active CN110351139B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910629674.0A CN110351139B (zh) 2019-07-12 2019-07-12 一种电能质量管理系统多机主备实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910629674.0A CN110351139B (zh) 2019-07-12 2019-07-12 一种电能质量管理系统多机主备实现方法

Publications (2)

Publication Number Publication Date
CN110351139A CN110351139A (zh) 2019-10-18
CN110351139B true CN110351139B (zh) 2022-03-29

Family

ID=68175079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910629674.0A Active CN110351139B (zh) 2019-07-12 2019-07-12 一种电能质量管理系统多机主备实现方法

Country Status (1)

Country Link
CN (1) CN110351139B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035262A (zh) * 2020-09-22 2020-12-04 中国建设银行股份有限公司 多主机动态管理调整的方法和装置
CN113641307A (zh) * 2021-08-12 2021-11-12 浙江华云信息科技有限公司 能掉电保存报文的远方电能量数据终端及其报文存储方法
CN114301895A (zh) * 2021-12-28 2022-04-08 天津凯发电气股份有限公司 一种能源管理系统及跨系统交互方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1829168A (zh) * 2006-04-12 2006-09-06 深圳市台电实业有限公司 一种会议系统及其管理系统软件的双机热备份运行方法
CN102868560A (zh) * 2012-09-28 2013-01-09 南京恩瑞特实业有限公司 一种服务器热备实现系统及方法
CN103491453A (zh) * 2012-06-13 2014-01-01 北大方正集团有限公司 一种云播出系统及方法
CN104052799A (zh) * 2014-05-23 2014-09-17 上海爱数软件有限公司 一种利用资源环实现高可用存储的方法
CN105306559A (zh) * 2015-10-12 2016-02-03 国电南瑞科技股份有限公司 用于区域电网调控系统的无中心分区多分区消息控制系统
CN109032816A (zh) * 2018-07-25 2018-12-18 天津凯发电气股份有限公司 一种电能质量管理系统共享内存多机通信同步方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1829168A (zh) * 2006-04-12 2006-09-06 深圳市台电实业有限公司 一种会议系统及其管理系统软件的双机热备份运行方法
CN103491453A (zh) * 2012-06-13 2014-01-01 北大方正集团有限公司 一种云播出系统及方法
CN102868560A (zh) * 2012-09-28 2013-01-09 南京恩瑞特实业有限公司 一种服务器热备实现系统及方法
CN104052799A (zh) * 2014-05-23 2014-09-17 上海爱数软件有限公司 一种利用资源环实现高可用存储的方法
CN105306559A (zh) * 2015-10-12 2016-02-03 国电南瑞科技股份有限公司 用于区域电网调控系统的无中心分区多分区消息控制系统
CN109032816A (zh) * 2018-07-25 2018-12-18 天津凯发电气股份有限公司 一种电能质量管理系统共享内存多机通信同步方法

Also Published As

Publication number Publication date
CN110351139A (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
CN110351139B (zh) 一种电能质量管理系统多机主备实现方法
CN102142008B (zh) 分布式内存数据库的实现方法、系统、令牌控制器及内存数据库
CN103346903B (zh) 一种双机备份的方法和装置
CN108173691B (zh) 一种跨设备聚合的方法及装置
CN105471622B (zh) 一种基于Galera的控制节点主备切换的高可用方法及系统
CN103441863B (zh) 一种空管自动化系统中的双服务器热备系统及控制方法
CN104378232B (zh) 主备集群组网模式下的脑裂发现、恢复方法及装置
CN105721315A (zh) 一种集中式mac地址学习的控制方法
CN109474465A (zh) 一种基于服务器集群的可动态流转的高可用性的实现方法和系统
CN104518927A (zh) 数据中心网络中错误连线的检测方法及装置
CN105446827A (zh) 一种数据库故障时的数据存储方法和设备
CN106850255A (zh) 一种多机备份的实现方法
CN105512171A (zh) 数据库同步的方法及装置
CN112866408B (zh) 一种集群中业务切换方法、装置、设备及存储介质
CN109656753A (zh) 一种应用于轨道交通综合监控系统的冗余热备系统
CN105915426A (zh) 环形网络的故障恢复方法及装置
CN102664755B (zh) 控制通道故障确定方法及其装置
CN105959078A (zh) 一种集群时间同步方法、集群及时间同步系统
CN106817387A (zh) 一种数据同步方法、装置和系统
CN109088830B (zh) 一种端口状态同步方法及装置
CN111198662A (zh) 一种数据存储方法、装置和计算机可读存储介质
CN104158843B (zh) 分布式文件存储系统的存储单元失效检测方法及装置
CN102045185A (zh) 用户信息备份方法及装置
CN102387210A (zh) 一种基于快速同步网络的分布式文件系统监控方法
CN114020279A (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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Method for Implementing Multiple Mains and Backups of Power Quality Management System

Effective date of registration: 20230615

Granted publication date: 20220329

Pledgee: Bank of Beijing Limited by Share Ltd. Tianjin branch

Pledgor: TIANJIN KEYVIA ELECTRIC Co.,Ltd.

Registration number: Y2023980044280

PE01 Entry into force of the registration of the contract for pledge of patent right