首页> 中国专利> 一种分布式情况下位号组态数据同步处理的方法和系统

一种分布式情况下位号组态数据同步处理的方法和系统

摘要

本发明公开了一种分布式情况下位号组态数据同步处理的方法,位号组态数据的数据结构至少包括唯一的位号索引、基于位号索引确定的稳定的创建版本号、基于系统数据变化而改变的变更版本号,以及,基于位号自身数据更改而改变的更新版本号;数据同步处理方法具体包括,获取全局操作版本号;对原数据进行归档备份;基于位号索引进行数据更新存储,并在存储时将位号组态数据结构中的变更版本号更新为全局操作版本号;还提出了一种位号组态数据同步处理系统;实现了分布式下多版本位号数据组态的同步管理方式,来实现针对分布式领域较大规模的数据位号进行快速组态同步和版本变更管理,保证多节点分布式系统间位号数据组态的一致性。

著录项

  • 公开/公告号CN112699122A

    专利类型发明专利

  • 公开/公告日2021-04-23

    原文格式PDF

  • 申请/专利号CN202011589872.8

  • 申请日2020-12-29

  • 分类号G06F16/22(20190101);G06F16/27(20190101);G06F16/21(20190101);G06F16/23(20190101);

  • 代理机构33401 杭州宇信联合知识产权代理有限公司;

  • 代理人王健

  • 地址 310053 浙江省杭州市滨江区六和路309号

  • 入库时间 2023-06-19 10:43:23

说明书

技术领域

本发明涉及工业控制领域,具体涉及一种应用于分布式情况下位号组态数据同步处理的方法和系统。

背景技术

工控领域中,由于大型系统以及分布式架构的提出,作为现场数据采集中最重要的一环的现场点位组态数据的使用量,随系统规模逐步的提升而增加,从小型系统的小规模的数百这个数量级逐步上升到数万甚至于数十万数量级。而如果作为更为上层的大数据分析领域或者汇总分析领域,例如多个厂或者整个行业的数据分析处理中心,数量级更是会达到一个非常巨大的程度。

而作为直接影响到现场生产,指标准确性以及数据重复利用率的点位组态数据的同步处理成为重要的一环,目前,针对点位组态数据的同步分为增量同步和全量同步,各有一定的缺点和局限。全量同步,通过读取全部信息的方式进行同步,要求被同步端必须根据全量信息对自身的信息进行一一比对后进行变更,其在量级较低时有着非常优秀的性能和同步结果,但是随着量级扩大其性能偏差将会以指数型上升,且随着比较数据的复杂性也会极大程度的导致整个被同步系统的负荷极具上升。

增量同步,即通过由变动方主动通知的方式,告知被变动方其相应的变更情况,由于需要由变动方主动去通知被变动方,因此对于整个系统的结构是存在一定的要求约束的,同时由于分布式系统的不稳定性,即系统节点间的通讯良好性不可能得到100%保证,因此通知方随着需要通知的节点越多,那么意味着其自身需要越发复杂的异常处理和状态处理,且同时如果由于变动方本身即为多节点,那么其系统的复杂性将直线上升,其稳态将难以保证。

因此大量数据的同步不论对于系统的响应性、可维护性以及数据的可比较性都带来了很多无法解决的困扰。

发明内容

本发明针对以上问题,提出了一种分布式情况下位号组态数据同步处理的方法,解决了多个不同节点、系统间对于大量数据组态进行有效的一致性同步的问题,提高了同步的效率,减少不必要的数据交互和比较判断处理逻辑来避免系统性能的损失,从而提高系统的吞吐率和执行效率。

本发明的第二个目的是提出了一种分布式情况下位号组态数据同步处理的系统。

为了实现上述目的,本发明的一种分布式情况下位号组态数据同步处理的方法,所述位号组态数据的数据结构至少包括唯一的位号索引、基于位号索引确定的稳定的创建版本号、基于系统数据变化而改变的变更版本号,以及,基于位号自身数据更改而改变的更新版本号;所述数据同步处理方法包括:获取基于系统数据变化而对应的全局操作版本号,基于全局操作版本号以及位号组态数据结构进行数据同步;对原数据进行归档备份;基于位号索引进行数据更新存储,并在存储时基于全局操作版本号,将位号组态数据结构中的变更版本号更新为全局操作版本号。

进一步的,还包括,更新版本号与全局操作版本号一致化处理;一致化处理后,基于全局操作版本号,对全局操作版本号之前的操作日志数据进行舍弃和/或合并。

进一步的,更新版本号基于自身数据的变化发生改变,或者,基于全局操作版本号计算偏差更新更新版本号。

进一步的,创建版本号、变更版本号和更新版本号为无符号线性64位整数,发生更改时呈线性递增变化。

进一步的,全局操作版本号基于系统内任何数据变化呈顺序线性递增。

进一步的,创建版本号用于处理和判断新增位号组态数据,包括但不限于删除后新增位号组态数据,完全新增位号组态数据。

进一步的,还包括基于创建版本号和变更版本号之间的范围检索位号的操作记录变更。

进一步的,位号的操作记录变更包括但不限于删除、删除后新增以及完全新增。

为了实现本发明的第二个目的,本发明提出了一种分布式情况下位号组态数据同步处理的系统,至少包括一个中心节点和一个业务节点;所述中心节点基于系统内数据变化产生对应的线性递增的全局操作版本号,并基于业务节点的请求或者主动发送全局操作版本号至业务节点;所述业务节点基于的全局操作版本号,同步位号组态数据,并在数据存储时更新其位号组态数据的变更版本号。

进一步的,所述业务节点基于自身数据变化更新其位号组态数据的更新版本号。

进一步的,所述业务节点基于更新版本号和全局操作版本号协调处理数据同步。

本发明的有益技术效果如下:

1、本发明针对分布式情况下位号组态数据同步重新定义了位号组态数据的数据结构,以此为基础实现多版本管理和组态数据同步,保证多节点分布式系统间位号数据组态的一致性。

2、基于变更版本号、创建版本号、更新版本号在变更发生时的线性递增,从而使位号组态数据呈现多维索引的能力,从而实现不同维度的快速检索。

3、多索引的设计方式,可在其基础上扩展实现针对特定功能应用的检索模式来方便上层功能的开发,实现基于变更追踪到任何变动,或者基于结果确认某次变更之后到什么为止的所有结果快照。

4、通用性的实现方案,可以此扩展满足其他数据同步的要求,实现性能以及快照之间的平衡。

5、减少了由于不同节点间的时间部同步或者时间差导致的数据同步错误。

附图说明

图1为本发明位号组态数据同步处理方法实施例中多节点分布式系统示意图。

图2为本发明位号组态数据同步处理方法实施例中位号组态数据结构示意图。

图3为本发明位号组态数据同步处理方法实施例的流程示意图。

图4为本发明位号组态数据同步处理方法实施例中全局操作版本号的逻辑变化示意图。

图5为本发明位号组态数据同步处理方法实施例中基于创建版本号和变更版本号确定位号变更示意图。

图6为本发明位号组态数据同步处理方法实施例中数据同步和自身数据变更流程示意图。

图7为本发明位号组态数据同步处理系统实施例的示意图。

具体实施方式

为了进一步理解本发明,下面结合实施例对本发明优选实施方案进行描述,但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制。

本发明提供的一种应用于分布式情况下的位号组态数据同步处理方法,

本发明的目的在于解决分布式领域较大规模的数据位号如何进行快速组态同步和版本变更管理的问题,设计了一套应用于分布式情况下的位号组态数据同步处理方法和系统,下面结合实施例进行详细说明。

为了更详细清楚解释本发明提出的位号组态数据同步处理方法,参照图1所示的多节点分布式系统中实施例加以说明。

在本发明的下述示出实施例中,位号组态数据,由位号名,位号描述,类型,上下限值等一系列参数构成的信息集合数据,位号组态数据作为上层应用系统进行对现场数据采集获取以及计算过程处理的依据。

图1所述的多节点分布式系统中包括一个统一管理处理单元,和A、B、C三个节点,其中A节点包括数据位号A、B,B节点包括数据位号C、D,C节点包括数据位号E、F。

位号点位数据在系统中具有一个全局唯一的ID,且呈现明显的分布式分组的结构,因此以此为主要的数据索引,提出了如图2所示的数据结构,实现多版本信息记录和管理,来保证整个系统的变动呈线性变化。

本发明的一个实施例中,定义的位号组态数据的数据结构如图2所示,至少包括唯一的位号索引,基于位号索引确定的稳定的创建版本号、基于系统数据变化而改变的变更版本号,以及,基于位号自身数据更改而改变的更新版本号;其中数据同步处理方法如图3所示,包括:S1,获取基于系统数据变化而对应的全局操作版本号,基于全局操作版本号以及位号组态数据结构进行数据同步;S2,对原数据进行归档备份;S3,基于位号索引进行数据更新存储,并在存储时基于全局操作版本号,将位号组态数据结构中的变更版本号更新为全局操作版本号。

在一些实施方式中,位号数据被创建时,其对应的创建版本号Create Version将会被确定,且其值不会再发生变化。而变更版本号Modify Version和更新版本号UpdateVersion在创建时也会别赋予初始值,并分别根据全局数据变化和自身数据变化,其值发生对应的变化。

对于节点来说,变更版本号Modify Version有且可以对应一个系统的全局操作版本号Operation Version,是一个明确的数据,即实际的操作日志,在系统上呈现线性唯一,可以基于时间先后来进行逻辑上的处理。

对于本节点来说,更新版本号Update Version主要用于协调本节点对外的版本管理,自身发生变化时,更新版本号Update Version发生相应的修改,其修改和对应的变更不会影响其他节点。

位号组态数据结构的三个版本号均为64位无符号整数,其改变遵循递增操作,即使变动操作频率为1ms一次,可用约为584942417年远远超过整个系统上限,因此不会产生相关的溢出情况,保证位号组态数据结构改变的线性过程。

对于系统的所有节点来说,需要同步的就是全局操作版本号Operation Version。任意节点的任意数据变化,都会使系统的全局操作版本号Operation Version按照一定的规律和顺序实现线性的递增获得对应的,如图4所示的全局操作版本号Operation Version永久递增处理。

在一些实施方式中,对于数据节点A来说,其位号索引A具有唯一性,系统中对应位号A的数据有更新时,产生的全局操作版本号Operation Version为10087,数据节点A根据位号索引在更改之前的原数据进行归档备份,由于不同节点间的时间同步或者固定的时间差,更新版本号Update Version和全局操作版本号Operation Version进行对应的一致化处理,如更新版本号Update Version通过全局的Operation Version计算偏差后,并基于差值进行校准。一致化处理后,根据Operation Version进行一次合并处理,即对于该全局操作版本号Operation Version之前的操作日志数据进行舍弃和合并。数据存储时,变更版本号Modify Version即更新为全局操作版本号Operation Version的值。

在一些实施方式中,单一节点的某一位号数据发生变化时,通过本地时间戳Update Version来获得线性的操作一致性,提交到整个中心节点来同步整个系统节点时,在获得对应的全局Modify Version来获得全局线性的一致性。

如图5所示,在位号A组态数据发生一次变化,对应的更新版本号Update Version变为1,并提交到中心节点同步整个系统节点,中心节点的全局操作版本号OperationVersion线性递增为10087,则对应的位号A组态数据结构的变更版本号Modify Version更新为10087。位号A组态数据再次发生变化,对应的更新版本号Update Version线性递增变为2,并提交到中心节点同步整个系统节点,中心节点的全局操作版本号OperationVersion线性递增变为10089,因为系统还产生了其他数据变化,所以位号A组态数据结构的变更版本号Modify Version更新的数据为10089。

因此单一节点获得对应位号的变更情况,根据变更版本号Modify Version获取对应的变更结果就可实现。单一节点想了解其他节点的变化,只需要获得变更版本号ModifyVersion和中心节点之间的差异变化即可。对于整个系统角度来说不论是获得有限范围的变更差异还是获得全局的变更差异均可以根据变更版本号Modify Version和更新版本号Update Version之间的线性关系来进行处理。

需要说明的是,在进行进行变更监听或者获取变更结果方面,可以根据本节点确定的变更版本号Modify Version来获取整个系统之后的全部变化,或者根据更新版本号Update Version去获取某一确定节点最终的所有位号,从而来实现多版本请求管理,根据实际的需要来快速索引和定位到自己所需要的数据。

在本发明的一些实施方式中,还可根据创建版本号Create Version和变更版本号Modify Version检索到对位号A的所有变更操作。因为创建版本号Create Version可以完全新增产生,也可以在删除后新增产生。创建版本号Create Version为变更版本号ModifyVersion的某个确定的点。因此可以使用图6所示的查询公式,追溯包括删除在内的操作记录。

本发明还提出了一种位号组态数据同步系统,如图7所示至少包括一个中心节点和一个业务节点,在本发明的另一个实施例中,中心节点基于系统内数据变化产生对应的线性递增的全局操作版本号,并基于业务节点的请求或者主动发送全局操作版本号至业务节点,业务节点基于更新版本号和全局操作版本号一致化处理后,同步位号组态数据,并在数据存储时更新其位号组态数据的变更版本号。

以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号