CN117349025B - 一种组态迁移方法、装置、电子设备和存储介质 - Google Patents
一种组态迁移方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117349025B CN117349025B CN202311636527.9A CN202311636527A CN117349025B CN 117349025 B CN117349025 B CN 117349025B CN 202311636527 A CN202311636527 A CN 202311636527A CN 117349025 B CN117349025 B CN 117349025B
- Authority
- CN
- China
- Prior art keywords
- configuration
- migrated
- controller
- data
- target
- 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
Links
- 238000013508 migration Methods 0.000 title claims abstract description 108
- 230000005012 migration Effects 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 9
- 125000004122 cyclic group Chemical group 0.000 claims description 9
- 230000001360 synchronised effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000013524 data verification Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
Abstract
本申请公开了一种组态迁移方法、装置、电子设备和存储介质,涉及工业控制领域。该方法包括:确定源控制器和目的控制器;确定待迁移组态和待迁移数据;若源控制器和目的控制器均允许进行组态迁移,则将待迁移组态下载到目的控制器作为目标组态;若目的控制器已经为目标组态分配存储空间,则将待迁移数据同步至目的控制器作为目标数据;若确定待迁移数据的数据同步时长小于或等于预设的数据同步时长,且确定目标数据与待迁移数据相同,则运行目标组态,并将待迁移组态和待迁移数据从源控制器中删除。本申请中的方案最终实现源控制器和目的控制器间的负载均衡,可以提高组态控制软件的运行效率。
Description
技术领域
本申请涉及工业控制领域,特别是涉及一种组态迁移方法、装置、电子设备和存储介质。
背景技术
在大型DCS系统(Distributed Control System,分布式控制系统)项目中,常常出现由于同一控制器下组态规模过大、该控制器负载负荷过高,导致组态控制软件工作性能较差的问题。如何实现控制器的负载均衡,保证组态控制软件能高效地工作,成为工业控制领域亟待解决的技术问题。
发明内容
基于上述问题,本申请提供了一种组态迁移方法,用以实现控制器的负载均衡,解决由于组态规模过大、控制器负载负荷过高而导致的组态控制软件工作性能较差的问题,可以提高组态控制软件的运行效率。
本申请实施例公开了如下技术方案:
本申请第一方面提供了一种组态迁移方法,包括:
从通信连接的多个控制器中确定源控制器和目的控制器;所述源控制器是待迁移组态迁移前所在的控制器;所述目的控制器是接收所述待迁移组态的控制器;
从所述源控制器对应的多个组态中确定所述待迁移组态和待迁移数据;所述待迁移数据是所述待迁移组态对应的数据;
若确定所述源控制器和所述目的控制器均允许进行组态迁移,则将所述待迁移组态下载到所述目的控制器作为目标组态;
若确定所述目的控制器已经为所述目标组态分配存储空间,则将所述待迁移数据同步至所述目的控制器作为目标数据;
若确定所述待迁移数据的数据同步时长小于或等于预设的数据同步时长,且确定所述目标数据与所述待迁移数据相同,则运行所述目标组态,并将所述待迁移组态和所述待迁移数据从所述源控制器中删除。
在一种可选的实现方式中,所述方法还包括:
若所述目的控制器未能为所述目标组态分配存储空间,则确定组态迁移失败;
若所述待迁移数据的数据同步时长大于所述预设的数据同步时长,或所述目标数据与所述待迁移数据有差异,则确定数据同步失败。
在一种可选的实现方式中,所述从通信连接的多个控制器中确定源控制器和目的控制器,包括:
根据控制器的负载量,从所述通信连接的多个控制器中确定所述源控制器和所述目的控制器。
在一种可选的实现方式中,所述从所述源控制器对应的多个组态中确定所述待迁移组态,包括:
根据组态运行时长,从所述源控制器对应的多个组态中确定所述待迁移组态。
在一种可选的实现方式中,若所述待迁移组态为多个,所述将所述待迁移数据同步至所述目的控制器,包括:
依次将每个待迁移组态对应的待迁移数据同步至所述目的控制器。
在一种可选的实现方式中,所述确定所述目标数据与所述待迁移数据相同,包括:
基于所述目标数据和循环冗余算法,获得第一校验码;
基于所述待迁移数据和所述循环冗余算法,获得第二校验码;
若所述第一校验码和所述第二校验码相同,则确定所述目标数据与所述待迁移数据相同。
本申请第二方面提供了一种组态迁移装置,包括:
控制器确定模块,用于从通信连接的多个控制器中确定源控制器和目的控制器;所述源控制器是待迁移组态迁移前所在的控制器;所述目的控制器是接收所述待迁移组态的控制器;
迁移对象确定模块,用于从所述源控制器对应的多个组态中确定所述待迁移组态和待迁移数据;所述待迁移数据是所述待迁移组态对应的数据;
组态迁移模块,用于若确定所述源控制器和所述目的控制器均允许进行组态迁移,则将所述待迁移组态下载到所述目的控制器作为目标组态;
数据同步模块,用于若确定所述目的控制器已经为所述目标组态分配存储空间,则将所述待迁移数据同步至所述目的控制器作为目标数据;
组态切换模块,用于若确定所述待迁移数据的数据同步时长小于或等于预设的数据同步时长,且确定所述目标数据与所述待迁移数据相同,则运行所述目标组态,并将所述待迁移组态和所述待迁移数据从所述源控制器中删除。
在一种可选的实现方式中,组态迁移装置还包括:
第一状态确定模块,用于若所述目的控制器未能为所述目标组态分配存储空间,则确定组态迁移失败;
第二状态确定模块,用于若所述待迁移数据的数据同步时长大于所述预设的数据同步时长,或所述目标数据与所述待迁移数据有差异,则确定数据同步失败。
本申请第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。
本申请第四方面提供了一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面所述方法的步骤。
相较于现有技术,本申请具有以下有益效果:
本申请公开了一种组态迁移方法,该方法包括:从通信连接的多个控制器中确定源控制器和目的控制器;从源控制器对应的多个组态中确定待迁移组态和待迁移数据;若确定源控制器和目的控制器均允许进行组态迁移,则将待迁移组态下载到目的控制器作为目标组态;若确定目的控制器已经为目标组态分配存储空间,则将待迁移数据同步至目的控制器作为目标数据;若确定待迁移数据的数据同步时长小于或等于预设的数据同步时长,且确定目标数据与待迁移数据相同,则运行目标组态,并将待迁移组态和待迁移数据从源控制器中删除。
这样,采用本申请中的方法可以将待迁移组态和待迁移数据从源控制器中删除,使得待迁移组态可以在目的控制器中运行,进而降低源控制器的负载负荷,实现源控制器和目的控制器间的负载均衡,可以解决由于同一控制器下组态规模过大、该控制器负载负荷过高而导致的组态控制软件工作性能较差的问题,提高组态控制软件的运行效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种组态迁移方法的流程图;
图2为本申请实施例提供的一种组态迁移时控制器状态的示意图;
图3为本申请实施例提供的一种组态迁移过程多方交互的示意图;
图4为本申请实施例提供的一种组态迁移装置的结构示意图。
具体实施方式
在大型DCS系统(Distributed Control System,分布式控制系统)项目中,常常出现由于同一控制器下组态规模过大、该控制器负载负荷过高,导致组态控制软件工作性能较差的问题。如何实现控制器的负载均衡,保证组态控制软件能高效地工作,成为工业控制领域亟待解决的技术问题。
本申请公开了一种组态迁移方法,该方法包括:从通信连接的多个控制器中确定源控制器和目的控制器;从源控制器对应的多个组态中确定待迁移组态和待迁移数据;若确定源控制器和目的控制器均允许进行组态迁移,则将待迁移组态下载到目的控制器作为目标组态;若确定目的控制器已经为目标组态分配存储空间,则将待迁移数据同步至目的控制器作为目标数据;若确定待迁移数据的数据同步时长小于或等于预设的数据同步时长,且确定目标数据与待迁移数据相同,则运行目标组态,并将待迁移组态和待迁移数据从源控制器中删除。
这样,采用本申请中的方法可以将待迁移组态和待迁移数据从源控制器中删除,使得待迁移组态可以在目的控制器中运行,进而降低源控制器的负载负荷,实现源控制器和目的控制器间的负载均衡,可以解决由于同一控制器下组态规模过大、该控制器负载负荷过高而导致的组态控制软件工作性能较差的问题,提高组态控制软件的运行效率。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
组态迁移是指将控制应用从当前已经分配的控制器迁移到另一个控制器的过程。组态迁移中的控制应用包括待迁移组态和该待迁移组态运行过程中积累的数据,即该待迁移组态对应的数据。
本申请中的组态迁移方案基于组态控制软件实现。组态控制软件是工业控制系统中广泛使用的软件。组态控制软件中可以设置多个控制器集群。每个控制器集群可以视为一个完整的虚拟化控制器实体,一个控制器集群相当于传统DCS中的一个控制站的主控制器。
每个控制器集群下可以设置多个控制器节点。同一控制器集群下的控制器节点通信连接,不同控制器集群下的控制器节点没有通信相连。
每个控制器节点可以配置多个逻辑控制程序,即可以配置多个组态。组态控制软件通过通信协议与控制器硬件相连,在组态控制软件中对控制器节点的操作可以同步映射到对应的控制器硬件中。
具体而言,如果组态控制软件中有控制器集群A,控制器集群A下配置有控制器节点A1和控制器节点A2。控制器节点A1下配置有组态1、组态2和组态3,如果将组态1迁移到控制器节点A2中,则与控制器节点A1对应的控制器硬件亦将对应的组态1迁移到控制器节点A2对应的控制器硬件中。
需要说明的是,本申请中的组态迁移方法仅支持同一控制器集群内不同控制器间的组态迁移,不支持跨控制器集群的组态迁移。同时,本申请中的组态迁移方法一个控制集群内一次只允许执行一对控制器间的组态迁移。
图1为本申请实施例提供的一种组态迁移方法的流程图。结合图1所示,该方法包括:
步骤101,从通信连接的多个控制器中确定源控制器和目的控制器。
从前文可知,本申请中的组态迁移方法仅支持同一控制器集群内不同控制器间的组态迁移,而同一控制器集群下的控制器通信连接,不同控制器集群下的控制器没有通信相连。所以,需要从通信相连的多个控制器中确定源控制器和目的控制器,即从同一控制集群包括的多个控制器中确定源控制器和目的控制器。
本申请中的源控制器是待迁移组态迁移前所在的控制器,目的控制器是接收待迁移组态的控制器。具体而言,如果待迁移组态为组态Q,则组态Q在迁移前所在的控制器W1是源控制器,组态Q迁移后所在的控制器W2为目的控制器;且控制器W1和控制器W2在同一个控制集群中。
在一种可选的实现方式中,所述从通信连接的多个控制器中确定源控制器和目的控制器,包括:根据控制器的负载量,从通信连接的多个控制器中确定源控制器和目的控制器。
例如,可以获取通信连接的多个控制器中每个控制器的负载量;将负载量最大的控制器作为源控制器,将负载量最小的控制器作为目的控制器。
例如,还可以在获取通信连接的多个控制器中每个控制器的负载量后,再获取预设的负载阈值1和预设的负载阈值2,其中负载阈值1大于负载阈值2;将多个控制器中负载量大于负载阈值1的控制器挑选出来,作为第一类控制器;并将多个控制器中负载量小于负载阈值2的控制器挑选出来,作为第二类控制器;从第一类控制器中随机挑选一个控制器作为源控制器,从第二类控制器中随机挑选一个控制器作为目的控制器。
需要说明的是,本申请只是示例性的给出根据控制器的负载量,从通信连接的多个控制器中确定源控制器和目的控制器的可能实现方式,本申请中并不限定其它的从同一控制器集群中确定源控制器和目的控制器的可能实现方式。
需要说明的是,本申请中只限定源控制器和目的控制器需要通信相连,并没有限定源控制器和目的控制器是否为支持同一个硬件架构平台的控制器。只要源控制器和目的控制器通信相连,无论是支持同一个硬件架构平台的控制器,还是支持不同硬件架构平台的控制器,均可以实现本申请中的组态迁移。
步骤102,从所述源控制器对应的多个组态中确定待迁移组态和待迁移数据。
从前文可知,一个源控制对应有多个组态,需要从源控制器对应的多个组态中筛选出待迁移组态,并确定待迁移组态对应的待迁移数据。
在一种可选的实现方式中,从所述源控制器对应的多个组态中确定待迁移组态,包括:根据组态运行时长,从所述源控制器对应的多个组态中确定所述待迁移组态。
例如,可以获取源控制器下对应的多个组态的运行时间数据,选择运行时间最长的组态作为待迁移组态。
例如,获取源控制器中对应的各组态的运行时间数据后,再获取预设的运行时长阈值;将运行时长大于预设的运行时长阈值的组态挑选出来,作为第一类组态;随机地从第一类组态中挑选一个组态作为待迁移组态。
需要说明的是,本申请只是示例性的给出根据组态运行时长,从多个组态中确定待迁移组态的可能实现方式,本申请中并不限定基于组态运行时间,从多个组态中确定待迁移组态的其它的可能实现方式。
在确定待迁移对象后,将该待迁移对象在运行过程中积累的数据作为待迁移数据。
步骤103,若确定所述源控制器和所述目的控制器均允许进行组态迁移,则将所述待迁移组态下载到所述目的控制器作为目标组态。
在确定源控制器、目的控制器和待迁移组态后,需要确定源控制器和目的控制器是否均允许进行组态迁移。具体地,可以通过组态控制软件查看源控制器和目的控制器是否均显示处于正常工作状态,如果二者均显示处于正常工作状态,则可以进行组态迁移;若二者中至少有一个控制器处于其它工作状态,则不进行组态迁移。其中,其它工作状态包括故障状态和正处于迁移状态;其中正处于迁移状态包括组态下载状态、组态更新状态、数据同步状态、数据校验状态和迁移失败状态。
如果确定源控制器和目的控制器均允许进行组态迁移,则源控制器进入组态迁移状态,目的控制器进入组态下载状态。
需要说明的是,源控制器进入组态迁移状态,目的控制器进入组态下载状态后,组态控制软件可以锁定源控制器和目的控制器,禁止在组态迁移过程中其他工程师对源控制器和目的控制器进行额外操作。
为方便理解,本申请中将下载到目的控制器中的待迁移组态称为目标组态。当确定目标组态下载完成后,目的控制器进入到组态更新状态。
步骤104,若确定所述目的控制器已经为所述目标组态分配存储空间,则将所述待迁移数据同步至所述目的控制器作为目标数据。
在确定源控制器和目的控制器均允许进行组态迁移后,还要验证目的控制器中剩余的组态存储空间是否满足待迁移组态的存储要求,即判断目的控制器能否为待迁移组态分配足够的存储空间。
在目标组态下载完成,即目的控制器进入到组态更新状态后,若确定目的控制器已经为目标组态分配存储空间,即确定组态更新成功后,则源控制器向目的控制器发送待迁移数据同步请求,将源控制器上的待迁移数据同步至目标组态。
在目标组态下载完成,即目的控制器进入到组态更新状态后,若确定目的控制器无法为目标组态分配存储空间,则将上述信息反馈给组态控制软件,组态控制软件显示迁移失败。
在一种可选的实现方式中,若所述待迁移组态为多个,所述将所述待迁移数据同步至所述目标组态,包括:依次将每个待迁移组态对应的待迁移数据同步至目的控制器。
具体地,源控制器在接收到待迁移数据同步命令后,向目的控制器发起数据同步请求;源控制器根据待迁移组态信息表指示的待迁移组态信息,先暂停需要数据同步的待迁移对象,然后将该待迁移组态对应的待迁移数据同步至目的控制器;等当前的待迁移数据同步完成后,再同步下一个待迁移组态对应的待迁移数据,直至完成全部的数据同步工作。
具体地,如果待迁移组态信息表中显示有三个待迁移组态,分别是组态A、组态B和组态C。源控制器先暂停运行组态A,然后将组态A对应的数据同步到目的控制器;在组态A对应的数据完成数据同步后,源控制器暂停运行组态B,将组态B对应的数据同步到目的控制器;在组态B对应的数据完成数据同步后,源控制器暂停运行组态C,将组态C对应的数据同步至目的控制器;至此完成全部待迁移数据的同步工作。
步骤105,若确定所述待迁移数据的数据同步时长小于或等于预设的数据同步时长,且确定所述目标数据与所述待迁移数据相同,则运行所述目标组态,并将所述待迁移组态和所述待迁移数据从所述源控制器中删除。
在完成数据同步后,进入数据校验状态,即判断待迁移数据的数据同步时长是否小于或等于预设的数据同步时长,且判断目标数据和待迁移数据是否相同。如果确定待迁移数据的数据同步时长小于或等于预设的数据同步时长,且确定目标数据和待迁移数据相同,则认为数据同步成功,运行目的控制器中的目标组态,并将待迁移组态和待迁移数据从源控制器中删除。
如果待迁移数据的数据同步时长大于预设的数据同步时长,或目标数据与待迁移数据有差异,则确定数据同步失败。例如,预设的数据同步时长为10分钟,将前述实施例中提到的组态A、组态B和组态C各自对应的数据同步到目的控制器中的数据同步时长为12分钟,则认为数据同步失败,组态控制软件显示数据同步失败或迁移失败。
在一种可选的实现方式中,所述确定所述目标数据与所述待迁移数据相同,包括:
基于循环冗余算法和目标数据,获取第一校验码;基于循环冗余算法和待迁移数据,获取第二校验码;如果第一校验码和第二校验码相同,则确定待迁移数据和目标数据相同,确定目标数据同步成功。需要说明的是,由于循环冗余算法是较为成熟的算法,本申请中不对此算法进行详细说明。
在确定目标数据和待迁移数据相同后,源控制器可以向目的控制器发送启用目标组态的命令;目的控制器接收到启用组态命令后,运行目标组态。同时,删除源控制器中的待迁移组态和对应的待迁移数据。
综上所述,本申请公开了一种组态迁移方法,该方法包括:从通信连接的多个控制器中确定源控制器和目的控制器;从源控制器对应的多个组态中确定待迁移组态和待迁移数据;若确定源控制器和目的控制器均允许进行组态迁移,则将待迁移组态下载到目的控制器作为目标组态;若确定目的控制器已经为目标组态分配存储空间,则将待迁移数据同步至目的控制器;若确定待迁移数据的数据同步时长小于或等于预设的数据同步时长,且确定目标数据与待迁移数据相同,则运行目标组态,并将待迁移组态和待迁移数据从源控制器中删除。
这样,采用本申请中的方法可以将待迁移组态和待迁移数据从源控制器中删除,使得待迁移组态可以在目的控制器中运行,进而降低源控制器的负载负荷,实现源控制器和目的控制器间的负载均衡,可以解决由于同一控制器下组态规模过大、该控制器负载负荷过高而导致的组态控制软件工作性能较差的问题,提高组态控制软件的运行效率。
在一种可选的实现方式中,在目的控制器中运行目标组态后,组态控制软件可以向源控制器和目的控制器发送退出迁移状态的命令,源控制器和目的控制器退出迁移状态,组态控制软件解除对源控制器和目的控制器的锁定,源控制器和目的控制器进入正常工作状态。
图2为本申请实施例提供的一种组态迁移时控制器状态的示意图。组态迁移涉及源控制器和目的控制器。图2中给出了组态迁移过程中,源控制器和目的控制器的状态示意图。
结合图2所示,确定可以进行组态迁移时,源控制器和目的控制器是正常状态,在迁移过程中源控制器和目的控制器可以经历的状态包括:组态下载状态、组态更新状态、数据同步状态、数据校验状态和迁移失败状态。本申请步骤101到步骤104中详细介绍了组态下载状态、组态更新状态、数据同步状态、数据校验状态和迁移失败状态的具体情况和判定条件,关于相关内容的介绍可参考本申请前述实施例中对应部分的介绍,此处不再赘述。
由于本申请中的组态迁移方法是基于组态控制软件完成的,所以,本申请还给出了以组态控制软件为核心的组态迁移过程的多方交互示意图。图3为本申请实施例提供的一种组态迁移过程多方交互的示意图。图3中显示了组态控制软件的软件界面、源控制器和目的控制器在组态迁移过程中各自的工作流程。
组态控制软件可以获取控制集群内不同控制器的组态信息和运行信息,并在软件界面上展示。例如,软件界面上可以展示源控制器、目的控制器中已经下载的组态,包括组态名称、组态运行时长;软件界面上还可以展示源控制器的型号、运行状态,以及目的控制器的型号和运行状态。
用户可以基于自身需求从同一个控制集群包括的多个控制器中自由地选择源控制器、目的控制器以及源控制器下的待迁移组态,也可以按照本申请前述实施例中步骤101和步骤102中的方法选择源控制器、目的控制器和待迁移组态。在确定源控制器、目的控制器和待迁移组态后,用户可以在软件界面上点击“执行迁移操作”按键,组态控制软件将向源控制器和目的控制器下发进入迁移准备的命令。
当源控制器和目的控制器接收到进入迁移准备命令后,源控制器和目的控制器进入“迁移准备”。检查源控制器和目的控制器的运行状态是否正常,如果二者均处于正常工作状态,则确定源控制器和目的控制器均允许进入组态迁移。此时软件界面上显示“下载待迁移组态”,组态控制软件向源控制器发送“标注待迁移组态”的命令,源控制器接收到“标注待迁移组态”的命令后,对待迁移组态进行标识,并将已经为待迁移组态进行标识的信息反馈到组态控制软件;组态控制软件向目的控制器发送“接收待迁移组态”的命令,目的控制器接收到“接收待迁移组态”的命令后,按照步骤103中的描述,下载待迁移组态,并为待迁移组态分配存储空间,并将是否成功为待迁移组态分配存储空间的信息反馈到组态控制软件。
组态控制软件在确定目的控制器已经为待迁移组态(即目标组态)分配存储空间后,软件界面显示“待迁移数据同步”。组态控制软件向源控制器发送“数据同步请求”命令,源控制器接收到“数据同步请求”命令后,向目的控制器发起数据同步请求,目的控制器响应源控制器的数据同步请求,并根据步骤104中的内容,执行“数据同步”操作,此时软件界面显示“查询并更新”。
在软件界面显示“查询并更新”时,源控制器会暂停正在运行的一个待迁移组态,并生成该待迁移组态的同步数据,如果此过程出现故障,则源控制器停止暂停操作,恢复待迁移组态运行;如果此过程正常,则向目的控制器中发送同步数据(即发送待迁移数据),目的控制器接收同步数据(即接收待迁移数据),并将已经接收到同步数据的信息反馈到源控制器,循环往复,直至完成所有的待迁移组态的数据同步操作。此过程的详细内容参见步骤104,此处不再赘述。
当执行所有待迁移组态的数据同步工作后,采用步骤105中的方法,确定待迁移数据的数据同步时长是否小于或等于预设的数据同步时长,以及确定目标数据和待迁移数据是否相同,若确定待迁移数据的数据同步时长小于或等于预设的数据同步时长,且确定目标数据与待迁移数据相同,则可以向目的控制器发送“启用迁移组态”的命令;待源控制器接收到目的控制器已经正常启动迁移组态的反馈后,源控制器进入“准备切换”工作状态,删除自身存储的待迁移组态和待迁移数据,并将相关状态信息反馈到组态控制软件。需要说明的是,在软件界面显示“查询并更新”时,用户可以根据需求随时查询源控制和目的控制器的工作进度。
当组态控制软件接收到源控制器反馈的已经删除待迁移组态和待迁移数据的信息后,软件界面显示“退出迁移状态”;此时,源控制器和目的控制器均退出迁移状态。
在进行组态迁移的过程中,组态控制软件如果获取到“源控制器和目的控制器中至少有一个控制器不允许进行组态迁移”或“若目的控制器未能为目标组态分配存储空间”或“待迁移数据的数据同步时长大于预设的数据同步时长”或“目标数据与待迁移数据不完全相同”等信息,则组态控制软件的软件界面显示“迁移失败”。
基于前述实施例提供的组态迁移方法,本申请中还提供了一种组态迁移装置。图4为本申请实施例提供的一种组态迁移装置的结构示意图。结合图4所示,组态迁移装置400包括:
控制器确定模块401,用于从通信连接的多个控制器中确定源控制器和目的控制器;所述源控制器是待迁移组态迁移前所在的控制器;所述目的控制器是接收所述待迁移组态的控制器;
迁移对象确定模块402,用于从所述源控制器对应的多个组态中确定所述待迁移组态和待迁移数据;所述待迁移数据是所述待迁移组态对应的数据;
组态迁移模块403,用于若确定所述源控制器和所述目的控制器均允许进行组态迁移,则将所述待迁移组态下载到所述目的控制器作为目标组态;
数据同步模块404,用于若确定所述目的控制器已经为所述目标组态分配存储空间,则将所述待迁移数据同步至所述目的控制器作为目标数据;
组态切换模块405,用于若确定所述待迁移数据的数据同步时长小于或等于预设的数据同步时长,且确定所述目标数据与所述待迁移数据相同,则运行所述目标组态,并将所述待迁移组态和所述待迁移数据从所述源控制器中删除。
在一种可选的实现方式中,组态迁移装置400还包括:
第一状态确定模块,用于若所述目的控制器未能为所述目标组态分配存储空间,则确定组态迁移失败;
第二状态确定模块,用于若所述待迁移数据的数据同步时长大于所述预设的数据同步时长,或所述目标数据与所述待迁移数据有差异,则确定数据同步失败。
在一种可选的实现方式中,控制器确定模块401包括:
负载量确定单元,用于根据控制器的负载量,从所述通信连接的多个控制器中确定所述源控制器和所述目的控制器。
在一种可选的实现方式中,迁移对象确定模块402包括:
待迁移组态确定单元,用于根据组态运行时长,从所述源控制器对应的多个组态中确定所述待迁移组态。
在一种可选的实现方式中,数据同步模块404包括:
数据同步单元,用于依次将每个待迁移组态对应的待迁移数据同步至所述目的控制器。
在一种可选的实现方式中,组态切换模块405包括:
第一校验码获取单元,用于基于所述目标数据和循环冗余算法,获得第一校验码;
第二校验码获取单元,用于基于所述待迁移数据和所述循环冗余算法,获得第二校验码;
结果获取单元,用于若所述第一校验码和所述第二校验码相同,则确定所述目标数据与所述待迁移数据相同。
基于前述实施例提供的组态迁移方法和装置,相应地,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文提及的组态迁移方法中的部分或全部步骤。
基于前述实施例提供的组态迁移方法和装置,本申请还提供了一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现前述实施例提供的组态迁移方法中的部分或全部步骤。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种组态迁移方法,其特征在于,所述方法包括:
从通信连接的多个控制器中确定源控制器和目的控制器;所述源控制器是待迁移组态迁移前所在的控制器;所述目的控制器是接收所述待迁移组态的控制器;
从所述源控制器对应的多个组态中确定所述待迁移组态和待迁移数据;所述待迁移数据是所述待迁移组态对应的数据;
若确定所述源控制器和所述目的控制器均允许进行组态迁移,则将所述待迁移组态下载到所述目的控制器作为目标组态;
若确定所述目的控制器已经为所述目标组态分配存储空间,则将所述待迁移数据同步至所述目的控制器作为目标数据;
若确定所述待迁移数据的数据同步时长小于或等于预设的数据同步时长,且确定所述目标数据与所述待迁移数据相同,则运行所述目标组态,并将所述待迁移组态和所述待迁移数据从所述源控制器中删除。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目的控制器未能为所述目标组态分配存储空间,则确定组态迁移失败;
若所述待迁移数据的数据同步时长大于所述预设的数据同步时长,或所述目标数据与所述待迁移数据有差异,则确定数据同步失败。
3.根据权利要求1所述的方法,其特征在于,所述从通信连接的多个控制器中确定源控制器和目的控制器,包括:
根据控制器的负载量,从所述通信连接的多个控制器中确定所述源控制器和所述目的控制器。
4.根据权利要求1所述的方法,其特征在于,所述从所述源控制器对应的多个组态中确定所述待迁移组态,包括:
根据组态运行时长,从所述源控制器对应的多个组态中确定所述待迁移组态。
5.根据权利要求1所述的方法,其特征在于,若所述待迁移组态为多个,所述将所述待迁移数据同步至所述目的控制器,包括:
依次将每个待迁移组态对应的待迁移数据同步至所述目的控制器。
6.根据权利要求1所述的方法,其特征在于,所述确定所述目标数据与所述待迁移数据相同,包括:
基于所述目标数据和循环冗余算法,获得第一校验码;
基于所述待迁移数据和所述循环冗余算法,获得第二校验码;
若所述第一校验码和所述第二校验码相同,则确定所述目标数据与所述待迁移数据相同。
7.一种组态迁移装置,其特征在于,所述装置包括:
控制器确定模块,用于从通信连接的多个控制器中确定源控制器和目的控制器;所述源控制器是待迁移组态迁移前所在的控制器;所述目的控制器是接收所述待迁移组态的控制器;
迁移对象确定模块,用于从所述源控制器对应的多个组态中确定所述待迁移组态和待迁移数据;所述待迁移数据是所述待迁移组态对应的数据;
组态迁移模块,用于若确定所述源控制器和所述目的控制器均允许进行组态迁移,则将所述待迁移组态下载到所述目的控制器作为目标组态;
数据同步模块,用于若确定所述目的控制器已经为所述目标组态分配存储空间,则将所述待迁移数据同步至所述目的控制器作为目标数据;
组态切换模块,用于若确定所述待迁移数据的数据同步时长小于或等于预设的数据同步时长,且确定所述目标数据与所述待迁移数据相同,则运行所述目标组态,并将所述待迁移组态和所述待迁移数据从所述源控制器中删除。
8.根据权利要求7所述的装置,其特征在于,还包括:
第一状态确定模块,用于若所述目的控制器未能为所述目标组态分配存储空间,则确定组态迁移失败;
第二状态确定模块,用于若所述待迁移数据的数据同步时长大于所述预设的数据同步时长,或所述目标数据与所述待迁移数据有差异,则确定数据同步失败。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311636527.9A CN117349025B (zh) | 2023-12-01 | 2023-12-01 | 一种组态迁移方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311636527.9A CN117349025B (zh) | 2023-12-01 | 2023-12-01 | 一种组态迁移方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117349025A CN117349025A (zh) | 2024-01-05 |
CN117349025B true CN117349025B (zh) | 2024-02-02 |
Family
ID=89366946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311636527.9A Active CN117349025B (zh) | 2023-12-01 | 2023-12-01 | 一种组态迁移方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117349025B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813760A (zh) * | 2020-05-29 | 2020-10-23 | 阿里巴巴集团控股有限公司 | 数据迁移方法以及装置 |
CN112783449A (zh) * | 2021-01-25 | 2021-05-11 | 中国工商银行股份有限公司 | 数据迁移方法及装置 |
CN113641499A (zh) * | 2021-08-16 | 2021-11-12 | 北京交通大学 | 一种分布式控制器集群负载均衡系统 |
CN114281467A (zh) * | 2020-09-28 | 2022-04-05 | 中科寒武纪科技股份有限公司 | 实现热迁移的系统方法、装置和存储介质 |
WO2023010948A1 (zh) * | 2021-08-02 | 2023-02-09 | 中兴通讯股份有限公司 | 云桌面数据的迁移方法、业务节点、管理节点、服务器、电子设备和计算机可读存储介质 |
CN116701356A (zh) * | 2023-06-14 | 2023-09-05 | 招商银行股份有限公司 | 数据迁移方法、装置、终端设备及存储介质 |
-
2023
- 2023-12-01 CN CN202311636527.9A patent/CN117349025B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813760A (zh) * | 2020-05-29 | 2020-10-23 | 阿里巴巴集团控股有限公司 | 数据迁移方法以及装置 |
CN114281467A (zh) * | 2020-09-28 | 2022-04-05 | 中科寒武纪科技股份有限公司 | 实现热迁移的系统方法、装置和存储介质 |
CN112783449A (zh) * | 2021-01-25 | 2021-05-11 | 中国工商银行股份有限公司 | 数据迁移方法及装置 |
WO2023010948A1 (zh) * | 2021-08-02 | 2023-02-09 | 中兴通讯股份有限公司 | 云桌面数据的迁移方法、业务节点、管理节点、服务器、电子设备和计算机可读存储介质 |
CN113641499A (zh) * | 2021-08-16 | 2021-11-12 | 北京交通大学 | 一种分布式控制器集群负载均衡系统 |
CN116701356A (zh) * | 2023-06-14 | 2023-09-05 | 招商银行股份有限公司 | 数据迁移方法、装置、终端设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
A Distributed Decision Mechanism for Controller Load Balancing Based on Switch Migration in SDN;Hu, Tao.et;《CHINA COMMUNICATIONS 》;全文 * |
基于SDN的控制器迁移负载均衡算法研究;李娜;雷鸣;闫克丁;徐沈博;;国外电子测量技术(09);全文 * |
基于管控一体化的数据采集与数据迁移技术的研究与实现;李虹;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117349025A (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
CN108664496B (zh) | 数据迁移方法及装置 | |
US10606637B2 (en) | Time correction method, apparatus, and system | |
US10999139B2 (en) | Online upgrade method, apparatus, and system | |
KR101073171B1 (ko) | 패일러 로드 밸런서의 제로 싱글 포인트의 장치 및 방법들 | |
CN107741852B (zh) | 一种基于集群软件的服务部署方法 | |
CN105354108A (zh) | 一种数据备份方法及节点 | |
EP2866143A1 (en) | Graceful shutdown method and system for virtual system | |
CN109547524B (zh) | 基于物联网的用户行为存储方法、装置、设备及存储介质 | |
CN105635216A (zh) | 分布式应用的升级方法、设备和分布式系统 | |
CN103077034B (zh) | 混合虚拟化平台java应用迁移方法与系统 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN111090519B (zh) | 任务执行方法、装置、存储介质及电子设备 | |
CN107168774B (zh) | 一种基于本地存储的虚拟机迁移方法及系统 | |
CN104572179A (zh) | 一种基础设施即服务软件升级方法和装置 | |
CN117349025B (zh) | 一种组态迁移方法、装置、电子设备和存储介质 | |
CN112261125B (zh) | 集中单元的云化部署方法、装置及系统 | |
CN111984287A (zh) | 设备升级方法及系统 | |
CN106301877A (zh) | 一种虚拟网元的升级方法和装置 | |
CN112751693A (zh) | 分布式存储系统的数据处理方法、装置及电子设备 | |
CN116346834A (zh) | 一种会话同步方法、装置、计算设备及计算机存储介质 | |
JP2017194729A (ja) | 計算機システムおよびシステム状態再現方法 | |
CN116193481A (zh) | 一种5g核心网处理方法、装置、设备及介质 | |
CN113297263A (zh) | 数据处理方法、装置、系统、电子设备及存储介质 | |
CN111142805A (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 |