掌桥专利:专业的专利平台
掌桥专利
首页

一种基于无主分布式MCA技术和H-DBK算法的快速同步方法

文献发布时间:2023-06-19 18:29:06


一种基于无主分布式MCA技术和H-DBK算法的快速同步方法

技术领域

本发明涉及水电站以及梯级集控计算机自动监控技术领域,尤其涉及一种基于无主分布式MCA技术和H-DBK算法的快速同步方法。

背景技术

水电站以及梯级集控计算机自动监控网络结构复杂,服务器数量众多,分别担任各种任务,包括数据采集、数据校核、数据统计分析等,需要进行数据同步。数据同步需要快速、无卡滞,以确保系统各程序的基础数据一致。

目前系统通常采用背景机进行数据的统一接收和发送,在这种模式下,所有的消息都先发送给背景机,背景机再定时分发下去,这种方式容易导致数据变化不能及时更新,效率低,且由于背景机负荷极重,一旦背景机崩溃,系统数据就会缺失,可靠性差。

本发明采用无主分布式部署方法,各服务器均部署sender和Receiver,任一服务器的数据有变化时,自主向其他服务器发送,无需背景机;采用定时+变化+召唤的方式,谁的数据发生变化谁及时发布,其他服务器及时接收,不需要经过背景机;采用H-DBK算法,使得生成的DBK编码ID号,易于分解成plantID、LcuID、typeID、pointNo,通过联合索引,快速查询到数据测值。本方法极大地提高了数据更新速率和系统可靠性。

发明内容

本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

鉴于上述现有存在的问题,提出了本发明。

因此,本发明解决的技术问题是:采用背景机进行数据的统一接收和发送,式容易导致数据变化不能及时更新,效率低,且由于背景机负荷极重,一旦背景机崩溃,系统数据就会缺失,可靠性差的问题。

为解决上述技术问题,本发明提供如下技术方案:基于MCA点对组多路技术,将至少一台以上服务器进行无主分步式部署;

将所述无主分步式部署后产生的系统数据进行分类,得到结构化数据、非结构化数据、消息数据、平台基础数据;

采用H-DBK算法将所述结构化数据、非结构化数据、消息数据、平台基础数据逆运算,得到plantID、LCuID、typeID、pointNo信息,并根据所述信息通过索引快速查询到相应的测值。

作为本发明所述的基于无主分布式MCA技术和H-DBK算法的快速同步方法的一种优选方案,其中:将至少一台以上服务器进行无主分步式部署的具体包括,

将所述服务器命名为A、B、C、D,……,且每台服务器都有接收器和发送器;

针对于每台服务器,若A服务器发消息发货所能变化,则A服务器主动发布,且每台服务器均接收其他服务器发来的消息,并实施数据同步。

所述系统数据包括,

所述系统数据以结构化数据、非结构化数据、消息数据、平台基础数据的模式进行存储,且所述系统数据被划分为DI、AI、TI、PI、Object;

将DI、AI、TI、PI、Object各类对象分别设置成一个类,在每个类里的属性有公共属性名称、测点ID、测点描述。

包括,

判断是否有新增服务器,若有新增服务器,则采用MCA点对组多路技术,将所有服务器进行无主分步式部署,使每台服务器地位平等;

所述新增服务器发布消息,其余各服务器接收所述新增服务器发布的消息,所述新增服务器通过召唤获得已有服务器的消息并开始和其余各服务器一起进行同步;

当所述新增服务器的数据初始化完成后,判断各台服务器数据是否有变化。

包括,

判断是否有新增服务器,若无新增服务器,则判断各台服务器数据是否有变化;

若服务器数据有变化,则采用MCA点对组多路技术,将所有服务器进行无主分步式部署,使每台服务器地位平等;

任一服务器发布消息,其余各服务器对消息进行接收,并继续判断各台服务器数据是否有变化;

循环迭代,直到所有数据对比完成。

还包括,

若服务器数据无变化且时长超过60秒,则采用MCA点对组多路技术,将所有服务器进行无主分步式部署,使每台服务器地位平等;

任一服务器发布消息,其余各服务器对消息进行接收,并继续判断各台服务器数据是否有变化;

循环迭代,直到所有数据对比完成。

所述相应的测值的快速查询包括,

对服务器数据是否有变化的判断包括,

每台服务器扫描所有的点号,读取当前值,作为初值;

每隔100毫秒,服务器扫描所有的点号获取数据,且边扫描边将获取到的数据和初值对比。

所述相应的测值的快速查询还包括,

当服务器扫描到的数据与初值不一致时,将所述服务器扫描到的值写入临时缓冲区,当临时缓冲区被写满时,所述服务器将临时缓冲区内存储的数据发送出去;

当存储在临时缓冲区内的数据被发送出去,服务器将临时缓冲区的数据清空;

循环迭代,直到所有数据对比完成,所有与初值不一致的对比数据发送出去。

所述plantID、LCuID、typeID、pointNo信息的获取包括,

设定DBK编码符号位置为0,并将电站信息按H-DBK算法计算后输出长度为5位的电站的DBK子码;

将控制单元信息按H-DBK算法计算后输出长度为7位的LCU的DBK子码;

将数据库对象信息按H-DBK算法计算后输出长度为5位的设备的DBK子码;

将数据库对象信息按H-DBK算法计算后输出长度为14位的DBK子码;

将各DBK子码组合成DBK编码。

还包括,

将所述DBK编码按H-DBK逆算法计算得到plantID、LCuID、typeID、pointNo信息,并通过电站、LCU和设备组合索引,快速查询到相应的测值。

本发明的有益效果:本发明采用无主分布式部署方法,各服务器均部署sender和Receiver,任一服务器的数据有变化时,自主向其他服务器发送,无需背景机;采用定时+变化+召唤的方式,谁的数据发生变化谁及时发布,其他服务器及时接收,不需要经过背景机;采用H-DBK算法,使得生成的DBK编码ID号,易于分解成plantID、LCuID、typeID、pointNo,通过联合索引,快速查询到数据测值,极大地提高了数据更新速率和系统可靠性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:

图1为本发明一个实施例提供的一种基于无主分布式MCA技术和H-DBK算法的快速同步方法的无主分布架构图;

图2为本发明一个实施例提供的一种基于无主分布式MCA技术和H-DBK算法的快速同步方法的定时+变化+召唤流程图;

图3为本发明一个实施例提供的一种基于无主分布式MCA技术和H-DBK算法的快速同步方法的H-DBK算法及逆运算流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。

其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。

本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。

同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

实施例1

参照图,为本发明的一个实施例,提供了一种基于无主分布式MCA技术和H-DBK算法的快速同步方法,包括:

S1:基于MCA点对组多路技术,将至少一台以上服务器进行无主分步式部署。需要说明的是:

将至少一台以上服务器进行无主分步式部署的具体包括,

将服务器命名为A、B、C、D,……,且每台服务器都有接收器和发送器;

针对于每台服务器,若A服务器发消息发货所能变化,则A服务器主动发布,且每台服务器均接收其他服务器发来的消息,并实施数据同步。

S2:将无主分步式部署后产生的系统数据进行分类,得到结构化数据、非结构化数据、消息数据、平台基础数据。需要说明的是:

系统数据包括,

系统数据以结构化数据、非结构化数据、消息数据、平台基础数据的模式进行存储,且系统数据被划分为DI、AI、TI、PI、Object;

将DI、AI、TI、PI、Object各类对象分别设置成一个类,在每个类里的属性有公共属性名称、测点ID、测点描述。

其中名称(Name)是自定义的易于人们识别的字符串,如LCU-AI-001,测点ID(dbkey)是由H-DBK算法得到的,descript是为了易于理解添加的备注,名称(Name)、测点ID(dbkey)之间没有必然的联系,如表1所示。

表1:公共属性表。

包括,

判断是否有新增服务器,若有新增服务器,则采用MCA点对组多路技术,将所有服务器进行无主分步式部署,使每台服务器地位平等;

新增服务器发布消息,其余各服务器接收新增服务器发布的消息,新增服务器通过召唤获得已有服务器的消息并开始和其余各服务器一起进行同步;

当新增服务器的数据初始化完成后,判断各台服务器数据是否有变化。

包括,

判断是否有新增服务器,若无新增服务器,则判断各台服务器数据是否有变化;

若服务器数据有变化,则采用MCA点对组多路技术,将所有服务器进行无主分步式部署,使每台服务器地位平等;

任一服务器发布消息,其余各服务器对消息进行接收,并继续判断各台服务器数据是否有变化;

循环迭代,直到所有数据对比完成。

还包括,

若服务器数据无变化且时长超过60秒,则采用MCA点对组多路技术,将所有服务器进行无主分步式部署,使每台服务器地位平等;

任一服务器发布消息,其余各服务器对消息进行接收,并继续判断各台服务器数据是否有变化;

循环迭代,直到所有数据对比完成。

相应的测值的快速查询包括,

对服务器数据是否有变化的判断包括,

每台服务器扫描所有的点号,读取当前值,作为初值;

每隔100毫秒,服务器扫描所有的点号获取数据,且边扫描边将获取到的数据和初值对比。

相应的测值的快速查询还包括,

当服务器扫描到的数据与初值不一致时,将服务器扫描到的值写入临时缓冲区,当临时缓冲区被写满时,服务器将临时缓冲区内存储的数据发送出去;

当存储在临时缓冲区内的数据被发送出去,服务器将临时缓冲区的数据清空;

循环迭代,直到所有数据对比完成,所有与初值不一致的对比数据发送出去。

S3:采用H-DBK算法将结构化数据、非结构化数据、消息数据、平台基础数据逆运算,得到plantID、LCuID、typeID、pointNo信息,并根据信息通过索引快速查询到相应的测值。需要说明的是:

plantID、LCuID、typeID、pointNo信息的获取包括,

设定DBK编码符号位置为0,并将电站信息按H-DBK算法计算后输出长度为5位的电站的DBK子码;

将控制单元信息按H-DBK算法计算后输出长度为7位的LCU的DBK子码;

将数据库对象信息按H-DBK算法计算后输出长度为5位的设备的DBK子码;

将数据库对象信息按H-DBK算法计算后输出长度为14位的DBK子码;

将各DBK子码组合成DBK编码。

还包括,

将DBK编码按H-DBK逆算法计算得到plantID、LCuID、typeID、pointNo信息,并通过电站、LCU和设备组合索引,快速查询到相应的测值。

通过MCA点对组多路广播技术,将多个不同用途的程序加入到组group中,组中的任何程序都可以同时接收广播信息,避免程序互斥。

在长期没有数据变化时,为了知道让系统自身是否还正常,需要定时发布消息。

本发明采用无主分布式部署方法,各服务器均部署sender和Receiver,任一服务器的数据有变化时,自主向其他服务器发送,无需背景机;采用定时+变化+召唤的方式,谁的数据发生变化谁及时发布,其他服务器及时接收,不需要经过背景机;采用H-DBK算法,使得生成的DBK编码ID号,易于分解成plantid\LcuID\typeid\pointNo,通过联合索引,快速查询到数据测值,极大地提高了数据更新速率和系统可靠性。

实施例2

参照图为本发明的第二个实施例,该实施例不同于第一个实施例的是,提供了一种基于无主分布式MCA技术和H-DBK算法的快速同步方法的验证测试,为对本方法中采用的技术效果加以验证说明,本实施例采用传统技术方案与本发明方法进行对比测试,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果。

传统技术方法用背景机进行数据的统一接收和发送,在这种模式下,所有的消息都先发送给背景机,背景机再定时分发下去,这种方式容易导致数据变化不能及时更新,效率低,且由于背景机负荷极重,一旦背景机崩溃,系统数据就会缺失,可靠性差。

本发明采用无主分布式部署方法,各服务器均部署sender和Receiver,任一服务器的数据有变化时,自主向其他服务器发送,无需背景机;采用定时+变化+召唤的方式,谁的数据发生变化谁及时发布,其他服务器及时接收,不需要经过背景机;采用H-DBK算法,使得生成的DBK编码ID号,易于分解成plantID、LCuID、typeID、pointNo,通过联合索引,快速查询到数据测值,极大地提高了数据更新速率和系统可靠性。

表2:传统方法与本发明数据对比表。

由表2可知,本发明与传统技术方法相比,多程序接收数据不存在互斥的现象;系统无故障运行时间提高约50%,单个数据包大小平均减少约50%。单个数据包解码速度提高约70%,单机数据发送频率减少约60%,数据变化到同步时间效率提升约30%。

应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

相关技术
  • 一种SDN中基于MCA-KMeans算法的分布式拒绝服务攻击检测方法
  • 一种基于push技术的分布式数据同步方法
技术分类

06120115579347