实时数据库系统组态数据的同步方法、系统、设备及介质技术方案

技术编号:32217433 阅读:16 留言:0更新日期:2022-02-09 17:22
本发明专利技术涉及一种实时数据库系统组态数据的同步方法、系统、设备及介质,其方法包括:在组态客户端发布用于组态更新的组态数据时,业务子系统中各节点的业务组态同步模块接收组态服务器分发的所述组态数据,并依据组态更新策略将所述组态数据同步更新到各自所属的节点中。当用户向实时数据库各业务子系统发布组态更新时,组态服务器与系统中的单个或多个第1级节点做数据同步,然后第1级节点再向其订阅从节点做数据同步,订阅从节点会从订阅的多个第1级节点中选择版本最高、优先级最新的节点作为更新数据源。本发明专利技术基于各组态业务节点的互联互通,依据多主多从的策略和多阶段发布机制,保证了实时数据库组态分发的高可用与高性能。能。能。

【技术实现步骤摘要】
实时数据库系统组态数据的同步方法、系统、设备及介质


[0001]本专利技术涉及数据库
,尤其涉及一种实时数据库系统组态数据的同步方法、系统、设备及介质。

技术介绍

[0002]随着企业信息化的不断深入,实时数据库的规模越来越庞大,实时数据库的性能要求也越来越高,实时数据库的使用场景也从单一的单机部署,发展为单机、双机冗余、集群、云等多种部署模式。作为实时数据库元数据的组态数据,其发布与同步方案必须兼顾单机、双机、集群等模式,保证各种场景下的高可用性,同时尽可能提高数据同步的性能。
[0003]当前主流的分布式实时数据库,其采用的集群架构方案一般为一主多从,通过主服务节点进行组态更新,然后从节点与主节点进行同步。这些方案中会存在选主处理,而选主算法一般会采用强一致性的Paxos算法或其变种如Raft等,这些算法会要求集群必须有3个或3个以上的可用节点。一方面,这对于小型客户来说,会造成资源浪费;另一方面,一旦集群因故障导致正常节点数量少于3个,集群将无法选出主节点,导致整个服务系统不可用。另外,还会存在集群因网络故障发生“脑裂”的可能,导致更严重的系统组态不同步,系统数据不可用。

技术实现思路

[0004](一)要解决的技术问题
[0005]鉴于现有技术的上述缺点、不足,本专利技术提供一种实时数据库系统组态数据的同步方法、系统、设备及介质,其解决了现有集群架构方案中限制于节点数量,不能兼顾单机模式与双机冗余模式且会陷入脑裂的问题技术问题。
[0006](二)技术方案
>[0007]为了达到上述目的,本专利技术采用的主要技术方案包括:
[0008]第一方面,本专利技术实施例提供一种实时数据库系统组态数据的同步方法,包括:
[0009]在组态客户端发布用于组态更新的组态数据时,业务子系统中各节点的业务组态同步模块接收组态服务器分发的所述组态数据,并依据组态更新策略将所述组态数据同步更新到各自所属的节点中;
[0010]其中,所述组态客户端、组态服务器以及业务子系统均为分布式实时数据库系统的组件;所述业务子系统中每一节点中均设置有组态同步模块;所述业务子系统包括:n级节点,且第n级节点订阅上一级的至少一个节点的数据,n为大于等于1的自然数;
[0011]所述组态更新策略为每一级节点选择订阅的所有上一级节点中的优先级最高的节点的组态数据进行组态同步。
[0012]可选地,所述业务子系统的部署模式包括:单机模式、双机冗余模式和集群模式。
[0013]可选地,
[0014]双机冗余模式和集群模式下的业务子系统中,第1级节点为根据预设的选取条件
选择的管理主节点,订阅管理主节点信息的第2级节点为订阅从节点;
[0015]所述管理主节点和所述订阅从节点按照节点更新规则变换,且任一所述管理主节点和所述订阅从节点内的业务组态同步模块实时获取该业务组态同步模块所属节点的位置信息,所述订阅从节点内的业务组态同步模块还用于实时获取该业务组态同步模块所属节点订阅的管理主节点信息;
[0016]所述订阅从节点内的业务组态同步模块根据所述位置信息、订阅的管理主节点信息和组态更新策略确认接收所述组态数据的上一级节点的信息。
[0017]可选地,在单机模式时,
[0018]将所述组态服务器配置为管理主节点,所述组态服务器在具备分发功能的情况下,还用于将所述组态客户端发布的组态数据下发至各业务子系统,各业务子系统仅做一次同步即可。
[0019]可选地,在双机冗余模式时,
[0020]各业务子系统配置为两个1级节点,直接与组态服务器同步数据。
[0021]可选地,在集群模式时,
[0022]在各个业务子系统中,第1级节点将获取的组态数据下发至已建立订阅关系的第2级节点;
[0023]第2级节点在收到多组所述组态数据后,通过比较第1级节点各个的组态版本,选择版本最新且优先级最高的第1级节点作为组态更新数据源来进行数据同步。
[0024]可选地,通过比较各个第1级节点的组态版本包括:以版本的序号、版本ID、版本发布时间来进行判断;
[0025]其中,版本序号单向增长,只有序号与ID都相等,才确定组态版本相等,不进行组态同步;否则,若第1级节点版本序号较新且相同序号的版本ID一致,则只进行增量更新,否则执行组态全量更新并重载业务子系统的组态。
[0026]可选地,
[0027]在第2级节点在线且第1级节点全部宕机时,第2级节点自动升级为第1级节点,以便与组态服务器进行数据同步;
[0028]若原有的第1级节点恢复,自动升级的第2级节点退回到未升级的工作状态。
[0029]第二方面,本专利技术实施例提供一种实时数据库系统组态数据的同步系统,包括:
[0030]组态客户端,被配置为发布用于组态更新的组态数据;
[0031]组态服务器,被配置为获取组态客户端发布的组态数据,并分发至各个业务子系统中进行多级节点依次下发,以使同一个业务子系统中的各个节点的数据保持同步;
[0032]业务子系统,所述业务子系统包括:n级节点,且第n级节点订阅上一级的至少一个节点的数据,n为大于等于1的自然数。
[0033]在各个业务子系统中,
[0034]第1级节点将获取的组态信息下发至已建立订阅关系的第2级节点;
[0035]第2级节点订阅至少1个所述第1级节点,在收到多组所述组态数据后,通过比较各个第1级节点的组态版本,选择版本最新且优先级最高的第1级节点作为组态更新数据源来进行数据同步。
[0036]第三方面,本专利技术实施例提供一种实时数据库系统组态数据的同步设备,其特征
在于,包括:至少一个数据库;以及与所述至少一个数据库通信连接的存储器;其中,所述存储器存储有可被所述至少一个数据库执行的指令,所述指令被所述至少一个数据库执行,以使所述至少一个数据库能够执行如上所述的一种实时数据库系统组态数据的同步方法。
[0037]第四方面,本专利技术实施例提供一种计算机可读介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上所述的一种实时数据库系统组态数据的同步方法。
[0038](三)有益效果
[0039]本专利技术集群组态同步采用多主多从的策略,保证了数据的高可用性,组态系统采用业务分离的架构,并通过二阶段(或多阶段)发布的策略,实现了组态数据的负载均衡,提高了数据同步的性能,并保证了数据的最终一致性与可用性。同时,组态系统可根据业务子系统的节点个数,自动匹配单机、双机冗余、集群三种部署模式,不需要额外开发其它兼容性代码,提高了系统的复用性与可扩展性。
附图说明
[0040]图1为本专利技术提供的一种实时数据库系统组态数据的同步方法的流程示意图;
[0041]图2为本专利技术提供的一种实时数据库系统组态数据的同步方法的交互时序示意图;
[0042]图3为本专利技术提供的一种实时数据库系统组态数据的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种实时数据库系统组态数据的同步方法,其特征在于,包括:在组态客户端发布用于组态更新的组态数据时,业务子系统中各节点的业务组态同步模块接收组态服务器分发的所述组态数据,并依据组态更新策略将所述组态数据同步更新到各自所属的节点中;其中,所述组态客户端、组态服务器以及业务子系统均为分布式实时数据库系统的组件;所述业务子系统中每一节点中均设置有组态同步模块;所述业务子系统包括:n级节点,且第n级节点订阅上一级的至少一个节点的数据,n为大于等于1的自然数;所述组态更新策略为每一级节点选择订阅的所有上一级节点中的优先级最高的节点的组态数据进行组态同步。2.如权利要求1所述的一种实时数据库系统组态数据的同步方法,其特征在于,所述业务子系统的部署模式包括:单机模式、双机冗余模式和集群模式。3.如权利要求2所述的一种实时数据库系统组态数据的同步方法,其特征在于,双机冗余模式和集群模式下的业务子系统中,第1级节点为根据预设的选取条件选择的管理主节点,订阅管理主节点信息的第2级节点为订阅从节点;所述管理主节点和所述订阅从节点按照节点更新规则变换,且任一所述管理主节点和所述订阅从节点内的业务组态同步模块实时获取该业务组态同步模块所属节点的位置信息,所述订阅从节点内的业务组态同步模块还用于实时获取该业务组态同步模块所属节点订阅的管理主节点信息;所述订阅从节点内的业务组态同步模块根据所述位置信息、订阅的管理主节点信息和组态更新策略确认接收所述组态数据的上一级节点的信息。4.如权利要求2所述的一种实时数据库系统组态数据的同步方法,其特征在于,在单机模式时,将所述组态服务器配置为管理主节点,所述组态服务器在具备分发功能的情况下,还用于将所述组态客户端发布的组态数据下发至各业务子系统,各业务子系统仅做一次同步即可。5.如权利要求2所述的一种实时数据库系统组态数据的同步方法,其特征在于,在集群模式时,在各个业务子系统中,第1级节点将获取的组态数据下发至已建立订阅关系的第2级节点;第2级节点在收到多组所述组态数据后,通过比较第1级节点各个的组态版本,选择版本最新且优先级最高的第1级节点作为组...

【专利技术属性】
技术研发人员:夏学存张军陆海琛
申请(专利权)人:浙江中控技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1