CN117032791A - 主机应用版本维护方法、装置、计算机设备和存储介质 - Google Patents
主机应用版本维护方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117032791A CN117032791A CN202311153124.9A CN202311153124A CN117032791A CN 117032791 A CN117032791 A CN 117032791A CN 202311153124 A CN202311153124 A CN 202311153124A CN 117032791 A CN117032791 A CN 117032791A
- Authority
- CN
- China
- Prior art keywords
- data
- original
- mirror image
- original system
- application version
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012423 maintenance Methods 0.000 claims abstract description 73
- 230000008859 change Effects 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 42
- 238000013508 migration Methods 0.000 claims description 14
- 230000005012 migration Effects 0.000 claims description 14
- 230000010076 replication Effects 0.000 abstract description 37
- 238000012545 processing Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 14
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000011084 recovery Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000009849 deactivation Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种主机应用版本维护方法、装置、计算机设备和存储介质。所述方法包括:在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统;在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载;获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新;在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。通过提供一种基于数据复制的镜像系统,在常态下维持数据一致性部署,在变更期间提供临时业务服务,在变更后完成数据同步,减小应用版本变更期间对业务的影响,采用本方法能够提高业务处理效率。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种主机应用版本维护方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
企业业务主要运行在大型主机上,其中业务功能的优化通过主机应用版本进行维护。应用版本维护期间可能会涉及程序源码的变化或数据库表结构的变化,程序源码变化主要是指访问数据表的SQL语句变化,数据表结构变化主要是指字段的增加、删除、属性调整等。传统做法是在业务停用的情况下,完成数据库表结构的变更或程序编译生效。对于数据库表结构变化,如新增或删除字段,需要先将原数据库表中数据进行备份,然后删除、重建数据库表,再将备份的数据移行到新数据库表中。对于变更的程序,需要根据源码内容重新全量编译生成可执行程序,然后覆盖更新当前系统的程序内容。应用版本维护中涉及的数据库表变更或程序更新可能只涉及整体系统的一个子集,但是由于业务层面上很难进行范围控制,为了避免业务对应用版本变更的影响,传统方式是全部停用业务功能,变更耗时较长,且变更期间业务全局不可用,严重影响业务连续性水平。
目标的主机应用版本维护方式严重影响业务连续性,影响业务的处理效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高业务处理效率的主机应用版本维护方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种主机应用版本维护方法,包括:
在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统;
在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载;
获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新;
在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。
在其中一个实施例中,在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统之前,还包括:
搭建与目标主机的原系统相应的镜像系统;
在原系统和镜像系统的数据库之间配置数据复制组件;数据复制组件用于根据原系统对镜像系统进行数据更新,以使得镜像系统与原系统之间的数据一致;
启动数据复制组件;
相应的,在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统之后,还包括:
获取原系统中各负载的运行状态;
在原系统没有负载运行的情况下,停止数据复制组件。
在其中一个实施例中,在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统之后,还包括:
获取原系统的应用版本维护信息;
根据应用版本维护信息,对镜像系统进行数据更新,以使得镜像系统与应用版本维护后的原系统之间的数据一致;
启动数据复制组件。
在其中一个实施例中,获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新,包括:
在镜像系统中,确定与原系统的原数据表对应的镜像数据表;
获取原数据表与镜像数据表之间的表结构差异类型;
采用与表结构差异类型相匹配的数据更新策略,对原系统中的原数据表进行数据更新。
在其中一个实施例中,采用与表结构差异类型相匹配的数据更新策略,对原系统中的原数据表进行数据更新,包括:
在表结构差异类型为表结构无差异的情况下,根据原数据表,获取数据表复制清单;
根据镜像系统的数据库日志,获取更新日志;
根据更新日志和数据表复制清单,对原系统中的原数据表进行数据更新。
在其中一个实施例中,采用与表结构差异类型相匹配的数据更新策略,对原系统中的原数据表进行数据更新,还包括:
在表结构差异类型为表结构有差异的情况下,根据原数据表,获取结构变更清单;
对镜像系统的历史数据进行备份,得到备份数据;
根据备份数据和移行工具,对原系统中的原数据表进行数据更新。
第二方面,本申请还提供了一种主机应用版本维护装置,包括:
切换模块,用于在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统;
停止模块,用于在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载;
更新模块,用于获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新;
回切模块,用于在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统;
在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载;
获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新;
在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统;
在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载;
获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新;
在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统;
在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载;
获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新;
在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。
上述主机应用版本维护方法、装置、计算机设备、存储介质和计算机程序产品,在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统;在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载;获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新;在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。通过提供一种基于数据复制的镜像系统,在常态下维持数据一致性部署,在变更期间提供临时业务服务,在变更后完成数据同步,减小应用版本变更期间对业务的影响,能够提高业务处理效率。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中主机应用版本维护方法的应用环境图;
图2为一个实施例中主机应用版本维护方法的流程示意图;
图3为一个实施例中主机应用版本维护步骤的流程示意图;
图4为一个实施例中主机应用版本维护装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的主机应用版本维护方法,可以应用于计算机设备中,可以理解的是,在如图1所示的应用环境中,计算机设备具体可以是终端102或服务器104。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图2所示,提供了一种主机应用版本维护方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤202至步骤208。其中:
步骤202,在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统。
其中,应用版本维护又可以称为应用版本变更,是指业务功能变化或优化时,对应用版本进行的更新,其中可能涉及程序源码的变化或者数据库表结构的变化。当程序源码发生变化或数据库表结构发生变化时,程序源码可能受此影响,需要重新编译生效。
可选地,应用版本变更前将业务负载从原系统切换至镜像系统,在原系统变更导致业务停用期间,由镜像系统继续对外提供业务功能。
步骤204,在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载。
可选地,原系统进行应用版本维护时,根据应用版本内容,完成应用版本变更,可能涉及数据库表结构变化,如增加、删除表字段或者调整表字段的属性等,或者涉及程序源码的变化,如访问数据库的SQL语句变化。在业务停用情况下,首先通过SQL语句实现相应功能的表结构变更,如删除、重建。然后查询变更的程序清单,在表结构变更后同步编译相关程序,重新生效程序内容。其中,业务访问数据库的SQL集合,主要涉及表名、字段名、索引等信息,通过应用版本进行源码维护,程序编译后可被调用。
原系统完成应用版本维护后,为了原系统继续接管业务负载,先停止镜像系统的负载,使镜像系统不再有数据更新。
步骤206,获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新。
可选地,应用版本变更后,镜像系统和原系统的数据不一致,同时表结构也可能存在差异。采用两种不同的数据回补方式分别对表结构无变化的数据表和表结构有变化的数据表进行数据回补,将镜像系统更新的数据同步至原系统。
步骤208,在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。
可选地,原系统与镜像系统数据一致后,将业务负载从镜像系统回切至原系统,即完成应用版本变更后的业务接管。
上述主机应用版本维护方法中,在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统;在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载;获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新;在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。通过提供一种基于数据复制的镜像系统,在常态下维持数据一致性部署,在变更期间提供临时业务服务,在变更后完成数据同步,减小应用版本变更期间对业务的影响,能够提高业务处理效率。
在一个实施例中,在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统之前,还包括:搭建与目标主机的原系统相应的镜像系统;在原系统和镜像系统的数据库之间配置数据复制组件;数据复制组件用于根据原系统对镜像系统进行数据更新,以使得镜像系统与原系统之间的数据一致;启动数据复制组件。
相应的,在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统之后,还包括:获取原系统中各负载的运行状态;在原系统没有负载运行的情况下,停止数据复制组件。
可选地,在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统之前,预先参照原系统搭建一套镜像系统,其中包括操作系统、中间件、数据库等系统环境,并且同步部署相同的应用版本。应用版本变更窗口一般避开业务高峰期窗口,变更期间业务并发度相对较低,因此,可以按照原系统的50%容量给镜像系统部署计算、存储资源,搭建原系统的精简镜像系统。在原系统和镜像系统的数据库之间配置数据复制组件,实现原系统到目标系统的业务数据实时同步。由于目标系统是原系统的镜像配置,数据库的表清单和表结构完全一致,因此,可以利用基于数据库日志的数据复制组件,将原系统的更新日志转换为SQL指令,在镜像系统重做指令实现数据库更新的同步。
相应的,在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统之后,由于在原系统变更导致业务停用期间,由镜像系统继续对外提供业务功能,原系统已无负载更新,此时原系统到镜像系统的数据复制可以停止。
本实施例中,利用镜像系统临时提供业务功能,减小应用版本变更期间的业务影响,同时利用数据复制组件实现镜像系统的应用版本快速同步,减少应用版本变更步骤。
在一个实施例中,在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统之后,还包括:获取原系统的应用版本维护信息;根据应用版本维护信息,对镜像系统进行数据更新,以使得镜像系统与应用版本维护后的原系统之间的数据一致;启动数据复制组件。
可选地,原系统业务接管后,镜像系统的应用版本还处于旧版本。由于数据库表和程序信息都存储在磁盘上,通过磁盘同步复制技术将原系统的应用版本信息同步至镜像系统,实现镜像系统的应用版本的快速部署。同时,为了后续应用版本变更时镜像系统环境的循环使用,再次部署原系统到镜像系统的数据复制组件,实现原系统到镜像系统的数据同步。
本实施例中,在原系统完成应用版本维护并重新接管业务后,再次利用数据复制组件实现镜像系统的应用版本快速同步,减少应用版本变更步骤。
在一个实施例中,获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新,包括:在镜像系统中,确定与原系统的原数据表对应的镜像数据表;获取原数据表与镜像数据表之间的表结构差异类型。在表结构差异类型为表结构无差异的情况下,根据原数据表,获取数据表复制清单;根据镜像系统的数据库日志,获取更新日志;根据更新日志和数据表复制清单,对原系统中的原数据表进行数据更新。在表结构差异类型为表结构有差异的情况下,根据原数据表,获取结构变更清单;对镜像系统的历史数据进行备份,得到备份数据;根据备份数据和移行工具,对原系统中的原数据表进行数据更新。
可选地,应用版本变更后,镜像系统和原系统的数据不一致,同时表结构也可能存在差异。通过数据回补,将镜像系统更新的数据同步至原系统,基于表结构是否发生变化,可以分别以下两种数据更新策略:
针对表结构无变化的数据表:对于镜像系统和原系统表结构一致的数据表,可以复用数据复制组件,部署数据复制组件,配置数据表复制清单,基于镜像系统的数据库日志,提取更新日志,转换为SQL指令,在原系统进行重做操作,实现镜像系统到原系统的数据同步复制。
针对表结构有变化的数据表:对于原系统进行表结构变更的清单,变更后镜像系统与原系统的表结构不一致,无法复用基于日志SQL指令的复制方式。此时采用数据备份+数据恢复的数据移行功能,即根据变更表清单,在镜像系统导出历史数据进行备份,将备份数据同步至原系统,采用移行工具对表数据进行恢复,例如对于新增字段,数据恢复时自动补全默认值;对于删除字段,数据恢复是自动丢弃原值;对于字段属性发生变化的字段,数据恢复时自动进行格式转换。对于每张数据表都按照数据备份、数据恢复的移行流程,对于不同张数据表,可以并发执行相应流程,减少整体耗时。
本实施例中,基于表结构是否发生变化,采用不同的数据更新策略对原系统进行数据回补,利用数据回补将镜像系统更新数据同步至原系统,确保业务数据一致性。
在一个实施例中,一种主机应用版本维护方法,包括:
搭建与目标主机的原系统相应的镜像系统;在原系统和镜像系统的数据库之间配置数据复制组件;数据复制组件用于根据原系统对镜像系统进行数据更新,以使得镜像系统与原系统之间的数据一致;启动数据复制组件。
在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统。
获取原系统中各负载的运行状态;在原系统没有负载运行的情况下,停止数据复制组件。
在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载。
在镜像系统中,确定与原系统的原数据表对应的镜像数据表;获取原数据表与镜像数据表之间的表结构差异类型。
在表结构差异类型为表结构无差异的情况下,根据原数据表,获取数据表复制清单;根据镜像系统的数据库日志,获取更新日志;根据更新日志和数据表复制清单,对原系统中的原数据表进行数据更新。
在表结构差异类型为表结构有差异的情况下,根据原数据表,获取结构变更清单;对镜像系统的历史数据进行备份,得到备份数据;根据备份数据和移行工具,对原系统中的原数据表进行数据更新。
在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。
获取原系统的应用版本维护信息;根据应用版本维护信息,对镜像系统进行数据更新,以使得镜像系统与应用版本维护后的原系统之间的数据一致;启动数据复制组件。
在一个示例性的实施例中,如图3所示,一种主机应用版本维护方法,包括:
步骤301,搭建镜像系统:参照原系统搭建一套镜像系统,其中包括操作系统、中间件、数据库等系统环境,并且同步部署相同的应用版本。应用版本变更窗口一般避开业务高峰期窗口,变更期间业务并发度相对较低,因此,可以按照原系统的50%容量给镜像系统部署计算、存储资源,搭建原系统的精简镜像系统。
步骤302,数据复制:在原系统和镜像系统的数据库之间配置数据复制组件,实现原系统到目标系统的业务数据实时同步。由于目标系统是原系统的镜像配置,数据库的表清单和表结构完全一致,因此,可以利用基于数据库日志的数据复制组件,将原系统的更新日志转换为SQL指令,在镜像系统重做指令实现数据库更新的同步。
步骤303,负载切换:应用版本变更前将业务负载从原系统切换至镜像系统,在原系统变更导致业务停用期间,由镜像系统继续对外提供业务功能。由于原系统已无负载更新,此时原系统到镜像系统的数据复制可以停止。
步骤304,应用版本变更:根据应用版本内容,完成应用版本变更,可能涉及数据库表结构变化,如增加、删除表字段或者调整表字段的属性等,或者涉及程序源码的变化,如访问数据库的SQL语句变化。在业务停用情况下,首先通过SQL语句实现相应功能的表结构变更,如删除、重建。然后查询变更的程序清单,在表结构变更后同步编译相关程序,重新生效程序内容。
步骤305,负载停止:步骤304应用版本变更期间,镜像系统一直对外提供业务功能,且有数据更新。由于应用版本变更期间,原系统数据库停止服务,因此没有负载更新和数据复制更新,镜像系统和原系统数据不一致。为了原系统继续接管业务负载,先停止镜像系统的负载,使镜像系统不再有数据更新。
步骤306,数据回补:步骤304应用版本变更后,镜像系统和原系统的数据不一致,同时表结构也存在差异。本步骤通过数据回补,将镜像系统更新的数据同步至原系统。
表结构无变化的数据表:对于镜像系统和原系统表结构一致的数据表,可以复用步骤302的数据复制功能,部署数据复制组件,配置数据表复制清单,基于镜像系统的数据库日志,提取更新日志,转换为SQL指令,在原系统进行重做操作,实现镜像系统到原系统的数据同步复制。
表结构有变化的数据表:对于原系统进行表结构变更的清单,变更后镜像系统与原系统的表结构不一致,无法复用步骤302的基于日志SQL指令的复制方式。此时采用数据备份+数据恢复的数据移行功能,即根据变更表清单,在镜像系统导出历史数据进行备份,将备份数据同步至原系统,采用移行工具对表数据进行恢复,例如对于新增字段,数据恢复时自动补全默认值;对于删除字段,数据恢复是自动丢弃原值;对于字段属性发生变化的字段,数据恢复时自动进行格式转换。对于每张数据表都按照数据备份、数据恢复的移行流程,对于不同张数据表,可以并发执行相应流程,减少整体耗时。
步骤307,负载回切:原系统与镜像系统数据一致后,将业务负载从镜像系统回切至原系统,即完成应用版本变更后的业务接管。
步骤308,应用版本同步:原系统业务接管后,镜像系统的应用版本还处于旧版本。由于数据库表和程序信息都存储在磁盘上,通过磁盘同步复制技术将原系统的应用版本信息同步至镜像系统,实现镜像系统的应用版本的快速部署。同时,为了后续应用版本变更时镜像系统环境的循环使用,参照步骤302再次部署原系统到镜像系统的数据复制组件,实现原系统到镜像系统的数据同步。循环步骤301-308即可实现下一次应用版本变更。
本实施例中,利用镜像系统临时提供业务功能,减小应用版本变更期间的业务影响,利用数据回补将镜像系统更新数据同步至原系统,确保业务数据一致性,利用磁盘同步技术实现镜像系统的应用版本快速同步,减少应用版本变更步骤。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的主机应用版本维护方法的主机应用版本维护装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个主机应用版本维护装置实施例中的具体限定可以参见上文中对于主机应用版本维护方法的限定,在此不再赘述。
在一个示例性的实施例中,如图4所示,提供了一种主机应用版本维护装置400,包括:切换模块401、停止模块402、更新模块403和回切模块404,其中:
切换模块401,用于在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统。
停止模块402,用于在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载。
更新模块403,用于获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新。
回切模块404,用于在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。
在一个实施例中,切换模块401还用于搭建与目标主机的原系统相应的镜像系统;在原系统和镜像系统的数据库之间配置数据复制组件;数据复制组件用于根据原系统对镜像系统进行数据更新,以使得镜像系统与原系统之间的数据一致;启动数据复制组件。
在一个实施例中,切换模块401还用于获取原系统中各负载的运行状态;在原系统没有负载运行的情况下,停止数据复制组件。
在一个实施例中,回切模块404还用于获取原系统的应用版本维护信息;根据应用版本维护信息,对镜像系统进行数据更新,以使得镜像系统与应用版本维护后的原系统之间的数据一致;启动数据复制组件。
在一个实施例中,更新模块403还用于在镜像系统中,确定与原系统的原数据表对应的镜像数据表;获取原数据表与镜像数据表之间的表结构差异类型;采用与表结构差异类型相匹配的数据更新策略,对原系统中的原数据表进行数据更新。
在一个实施例中,更新模块403还用于在表结构差异类型为表结构无差异的情况下,根据原数据表,获取数据表复制清单;根据镜像系统的数据库日志,获取更新日志;根据更新日志和数据表复制清单,对原系统中的原数据表进行数据更新。
在一个实施例中,更新模块403还用于在表结构差异类型为表结构有差异的情况下,根据原数据表,获取结构变更清单;对镜像系统的历史数据进行备份,得到备份数据;根据备份数据和移行工具,对原系统中的原数据表进行数据更新。
上述主机应用版本维护装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储应用版本数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种主机应用版本维护方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统;在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载;获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新;在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:搭建与目标主机的原系统相应的镜像系统;在原系统和镜像系统的数据库之间配置数据复制组件;数据复制组件用于根据原系统对镜像系统进行数据更新,以使得镜像系统与原系统之间的数据一致;启动数据复制组件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取原系统中各负载的运行状态;在原系统没有负载运行的情况下,停止数据复制组件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取原系统的应用版本维护信息;根据应用版本维护信息,对镜像系统进行数据更新,以使得镜像系统与应用版本维护后的原系统之间的数据一致;启动数据复制组件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在镜像系统中,确定与原系统的原数据表对应的镜像数据表;获取原数据表与镜像数据表之间的表结构差异类型;采用与表结构差异类型相匹配的数据更新策略,对原系统中的原数据表进行数据更新。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在表结构差异类型为表结构无差异的情况下,根据原数据表,获取数据表复制清单;根据镜像系统的数据库日志,获取更新日志;根据更新日志和数据表复制清单,对原系统中的原数据表进行数据更新。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在表结构差异类型为表结构有差异的情况下,根据原数据表,获取结构变更清单;对镜像系统的历史数据进行备份,得到备份数据;根据备份数据和移行工具,对原系统中的原数据表进行数据更新。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统;在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载;获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新;在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:搭建与目标主机的原系统相应的镜像系统;在原系统和镜像系统的数据库之间配置数据复制组件;数据复制组件用于根据原系统对镜像系统进行数据更新,以使得镜像系统与原系统之间的数据一致;启动数据复制组件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取原系统中各负载的运行状态;在原系统没有负载运行的情况下,停止数据复制组件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取原系统的应用版本维护信息;根据应用版本维护信息,对镜像系统进行数据更新,以使得镜像系统与应用版本维护后的原系统之间的数据一致;启动数据复制组件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在镜像系统中,确定与原系统的原数据表对应的镜像数据表;获取原数据表与镜像数据表之间的表结构差异类型;采用与表结构差异类型相匹配的数据更新策略,对原系统中的原数据表进行数据更新。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在表结构差异类型为表结构无差异的情况下,根据原数据表,获取数据表复制清单;根据镜像系统的数据库日志,获取更新日志;根据更新日志和数据表复制清单,对原系统中的原数据表进行数据更新。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在表结构差异类型为表结构有差异的情况下,根据原数据表,获取结构变更清单;对镜像系统的历史数据进行备份,得到备份数据;根据备份数据和移行工具,对原系统中的原数据表进行数据更新。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:在目标主机的原系统开始应用版本维护的情况下,将原系统的业务负载切换至相应的镜像系统;在原系统完成应用版本维护的情况下,停止镜像系统中的业务负载;获取镜像系统与原系统之间的数据差异,根据数据差异对原系统进行数据更新;在原系统与镜像系统之间的数据一致的情况下,将镜像系统的业务负载切换至原系统。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:搭建与目标主机的原系统相应的镜像系统;在原系统和镜像系统的数据库之间配置数据复制组件;数据复制组件用于根据原系统对镜像系统进行数据更新,以使得镜像系统与原系统之间的数据一致;启动数据复制组件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取原系统中各负载的运行状态;在原系统没有负载运行的情况下,停止数据复制组件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取原系统的应用版本维护信息;根据应用版本维护信息,对镜像系统进行数据更新,以使得镜像系统与应用版本维护后的原系统之间的数据一致;启动数据复制组件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在镜像系统中,确定与原系统的原数据表对应的镜像数据表;获取原数据表与镜像数据表之间的表结构差异类型;采用与表结构差异类型相匹配的数据更新策略,对原系统中的原数据表进行数据更新。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在表结构差异类型为表结构无差异的情况下,根据原数据表,获取数据表复制清单;根据镜像系统的数据库日志,获取更新日志;根据更新日志和数据表复制清单,对原系统中的原数据表进行数据更新。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在表结构差异类型为表结构有差异的情况下,根据原数据表,获取结构变更清单;对镜像系统的历史数据进行备份,得到备份数据;根据备份数据和移行工具,对原系统中的原数据表进行数据更新。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种主机应用版本维护方法,其特征在于,所述方法包括:
在目标主机的原系统开始应用版本维护的情况下,将所述原系统的业务负载切换至相应的镜像系统;
在所述原系统完成应用版本维护的情况下,停止所述镜像系统中的业务负载;
获取所述镜像系统与所述原系统之间的数据差异,根据所述数据差异对所述原系统进行数据更新;
在所述原系统与所述镜像系统之间的数据一致的情况下,将所述镜像系统的业务负载切换至所述原系统。
2.根据权利要求1所述的方法,其特征在于,所述在目标主机的原系统开始应用版本维护的情况下,将所述原系统的业务负载切换至相应的镜像系统之前,还包括:
搭建与目标主机的原系统相应的镜像系统;
在所述原系统和所述镜像系统的数据库之间配置数据复制组件;所述数据复制组件用于根据所述原系统对所述镜像系统进行数据更新,以使得所述镜像系统与所述原系统之间的数据一致;
启动所述数据复制组件;
相应的,所述在目标主机的原系统开始应用版本维护的情况下,将所述原系统的业务负载切换至相应的镜像系统之后,还包括:
获取所述原系统中各负载的运行状态;
在所述原系统没有负载运行的情况下,停止所述数据复制组件。
3.根据权利要求2所述的方法,其特征在于,所述在所述原系统与所述镜像系统之间的数据一致的情况下,将所述镜像系统的业务负载切换至所述原系统之后,还包括:
获取所述原系统的应用版本维护信息;
根据所述应用版本维护信息,对所述镜像系统进行数据更新,以使得所述镜像系统与所述应用版本维护后的原系统之间的数据一致;
启动所述数据复制组件。
4.根据权利要求1所述的方法,其特征在于,所述获取所述镜像系统与所述原系统之间的数据差异,根据所述数据差异对所述原系统进行数据更新,包括:
在所述镜像系统中,确定与所述原系统的原数据表对应的镜像数据表;
获取所述原数据表与所述镜像数据表之间的表结构差异类型;
采用与所述表结构差异类型相匹配的数据更新策略,对所述原系统中的所述原数据表进行数据更新。
5.根据权利要求4所述的方法,其特征在于,所述采用与所述表结构差异类型相匹配的数据更新策略,对所述原系统中的所述原数据表进行数据更新,包括:
在所述表结构差异类型为表结构无差异的情况下,根据所述原数据表,获取数据表复制清单;
根据所述镜像系统的数据库日志,获取更新日志;
根据所述更新日志和所述数据表复制清单,对所述原系统中的所述原数据表进行数据更新。
6.根据权利要求4所述的方法,其特征在于,所述采用与所述表结构差异类型相匹配的数据更新策略,对所述原系统中的所述原数据表进行数据更新,还包括:
在所述表结构差异类型为表结构有差异的情况下,根据所述原数据表,获取结构变更清单;
对所述镜像系统的历史数据进行备份,得到备份数据;
根据所述备份数据和移行工具,对所述原系统中的所述原数据表进行数据更新。
7.一种主机应用版本维护装置,其特征在于,所述装置包括:
切换模块,用于在目标主机的原系统开始应用版本维护的情况下,将所述原系统的业务负载切换至相应的镜像系统;
停止模块,用于在所述原系统完成应用版本维护的情况下,停止所述镜像系统中的业务负载;
更新模块,用于获取所述镜像系统与所述原系统之间的数据差异,根据所述数据差异对所述原系统进行数据更新;
回切模块,用于在所述原系统与所述镜像系统之间的数据一致的情况下,将所述镜像系统的业务负载切换至所述原系统。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311153124.9A CN117032791A (zh) | 2023-09-07 | 2023-09-07 | 主机应用版本维护方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311153124.9A CN117032791A (zh) | 2023-09-07 | 2023-09-07 | 主机应用版本维护方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117032791A true CN117032791A (zh) | 2023-11-10 |
Family
ID=88628336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311153124.9A Pending CN117032791A (zh) | 2023-09-07 | 2023-09-07 | 主机应用版本维护方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117032791A (zh) |
-
2023
- 2023-09-07 CN CN202311153124.9A patent/CN117032791A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107003890B (zh) | 高效地提供虚拟机参考点 | |
CN107111533B (zh) | 虚拟机集群备份 | |
US8127174B1 (en) | Method and apparatus for performing transparent in-memory checkpointing | |
CN108416040B (zh) | 一种数据库修复方法、装置、终端设备及存储介质 | |
JP4638905B2 (ja) | データベースのデータ復旧システムおよびその方法 | |
US9275060B1 (en) | Method and system for using high availability attributes to define data protection plans | |
WO2016180160A1 (zh) | 数据快照的恢复方法和装置 | |
US20170132071A1 (en) | Crash recovery using non-volatile memory | |
CN107526626A (zh) | 一种基于CRIU的Docker容器热迁移方法及系统 | |
US7620668B2 (en) | Authoritative and non-authoritative restore | |
CN111078667B (zh) | 一种数据迁移的方法以及相关装置 | |
US9946724B1 (en) | Scalable post-process deduplication | |
US20150186411A1 (en) | Enhancing Reliability of a Storage System by Strategic Replica Placement and Migration | |
CN108614876B (zh) | 一种基于Redis数据库的系统和数据处理方法 | |
US11704335B2 (en) | Data synchronization in a data analysis system | |
CN105955843A (zh) | 一种用于数据库恢复的方法与设备 | |
CN116680256B (zh) | 数据库节点升级方法、装置和计算机设备 | |
CN114610532A (zh) | 数据库处理方法以及装置 | |
US20210141602A1 (en) | Merging multiple sorted lists in a distributed computing system | |
JPWO2022098450A5 (zh) | ||
US20130166508A1 (en) | Multiphase Approach To Data Availability | |
CN117032791A (zh) | 主机应用版本维护方法、装置、计算机设备和存储介质 | |
US11550665B2 (en) | Techniques for preserving clone relationships between files | |
CN115658391A (zh) | 基于QianBase MPP数据库的WAL机制的备份恢复方法 | |
US7831782B1 (en) | Roll-back log to provide data consistency |
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 |