CN115964357A - 测试环境迁移方法、设备、存储介质及程序产品 - Google Patents
测试环境迁移方法、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN115964357A CN115964357A CN202211447484.5A CN202211447484A CN115964357A CN 115964357 A CN115964357 A CN 115964357A CN 202211447484 A CN202211447484 A CN 202211447484A CN 115964357 A CN115964357 A CN 115964357A
- Authority
- CN
- China
- Prior art keywords
- database
- migration
- application program
- character string
- migrated
- 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
- 230000005012 migration Effects 0.000 title claims abstract description 173
- 238000013508 migration Methods 0.000 title claims abstract description 165
- 238000012360 testing method Methods 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000004048 modification Effects 0.000 claims description 19
- 238000012986 modification Methods 0.000 claims description 19
- 238000005192 partition Methods 0.000 claims description 19
- 238000011084 recovery Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种测试环境迁移方法、设备、存储介质及程序产品,该方法包括将待迁移测试环境中的数据库进行迁移,获得迁移后的数据库,将所述待迁移测试环境中的应用程序进行迁移,获得迁移后的应用程序,针对所述迁移后的应用程序中的每个应用程序,基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,并基于地址对应关系,对所述待修改应用配置进行修改,获得新的配置数据,实现待迁移测试环境的迁移,所述地址对应关系包括数据库迁移前后的地址对应关系,以及应用程序迁移前后的地址对应关系。本申请实施例可以提高测试环境的迁移效率和准确率。
Description
技术领域
本申请实施例涉及软件测试技术领域,尤其涉及一种测试环境迁移方法、设备、存储介质及程序产品。
背景技术
应用系统测试环境用于对应用系统进行测试,在遇到设备替换时,需要将测试环境从原设备迁移到新设备。
相关技术中,通常以人工的方式在新设备上重新搭建应用系统。
然而,实现本申请过程中,发明人发现现有技术中至少存在如下问题:大型公司的应用系统测试环境,通常涉及多个应用系统,应用系统数量大,耦合性高,依赖的基础组件多,工作量庞大,耗时长,易出错,效率差。
发明内容
本申请实施例提供一种测试环境迁移方法、设备、存储介质及程序产品,以提高测试环境的迁移效率以及准确率。
第一方面,本申请实施例提供一种测试环境迁移方法,包括:
将待迁移测试环境中的数据库进行迁移,获得迁移后的数据库;
将所述待迁移测试环境中的应用程序进行迁移,获得迁移后的应用程序;
针对所述迁移后的应用程序中的每个应用程序,基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,并基于地址对应关系,对所述待修改应用配置进行修改,获得新的配置数据,实现待迁移测试环境的迁移;所述地址对应关系包括数据库迁移前后的地址对应关系,以及应用程序迁移前后的地址对应关系。
在一种可能的设计中,所述将待迁移测试环境中的数据库进行迁移,获得迁移后的数据库,包括:
获取待迁移测试环境中的数据库的源端地址、目的端地址和数据库实例名;
根据数据库实例名,将所述数据库实例名对应的数据库从对应的源端地址迁移至目的端地址,获得迁移后的数据库。
在一种可能的设计中,所述将所述数据库实例名对应的数据库从对应的源端地址迁移至目的端地址,获得迁移后的数据库,包括:
确定所述数据库实例名对应的数据库所属的数据库类型;
根据第一对应关系,确定所述数据库类型对应的备份恢复执行命令;所述第一对应关系包括至少一个数据库实例名与至少一个备份恢复执行命令之间的对应关系;
根据所述备份恢复执行命令,对所述源端地址下的数据库进行备份,获得数据库备份数据,并将所述数据库备份数据在所述目的端地址下进行恢复,获得迁移后的数据库。
在一种可能的设计中,所述将所述待迁移测试环境中的应用程序进行迁移,获得迁移后的应用程序,包括:
获取待迁移测试环境中的应用程序的迁移目的端的虚拟机类型;
根据第二对应关系,确定所述虚拟机类型对应的虚拟化执行命令;所述第二对应关系包括至少一个虚拟机类型与至少一个虚拟化执行命令之间的对应关系;
根据所述虚拟化执行命令,将所述应用程序迁移至目的端的虚拟机,获得迁移后的应用程序。
在一种可能的设计中,所述基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,包括:
根据第三对应关系,确定所述应用程序对应的配置规则;所述第三对应关系包括至少一个应用程序与至少一个配置规则之间的对应关系;所述配置规则包括应用配置的起始字符串和结束字符串;
根据所述应用程序对应的起始字符串和结束字符串,从所述应用程序的配置数据中提取具备所述起始字符串和所述结束字符串的待修改应用配置。
在一种可能的设计中,所述根据所述应用程序对应的起始字符串和结束字符串,从所述应用程序的配置数据中提取具备所述起始字符串和所述结束字符串的待修改应用配置,包括:
针对配置数据中的每个分区,
若所述分区内包括所述起始字符串且标志位为第一数值,则将所述标志位更改为第二数值,并将所述起始字符串之后的字符串加入第一存储空间;
若所述分区内不存在所述起始字符串和所述结束字符串,且标志位为第二数值,则将所述分区内的字符串加入所述第一存储空间;
若所述分区内包括所述结束字符串且标志位为第二数值,则将所述结束字符串之前的字符串加入所述第一存储空间,并将所述第一存储空间内的字符串加入第二存储空间。
在一种可能的设计中,所述根据所述应用程序对应的起始字符串和结束字符串,从所述应用程序的配置数据中提取具备所述起始字符串和所述结束字符串的待修改应用配置,还包括:
若所述分区内包括所述起始字符串且标志位为第二数值,则将所述起始字符串之前的字符串加入所述第一存储空间,并将所述第一存储空间内的字符串加入所述第二存储空间,将所述第一存储空间清空,并将所述起始字符串之后的字符串加入所述第一存储空间。
第二方面,本申请实施例提供一种测试环境迁移设备,包括:
迁移模块,用于将待迁移测试环境中的数据库进行迁移,获得迁移后的数据库;
迁移模块,还用于将所述待迁移测试环境中的应用程序进行迁移,获得迁移后的应用程序;
修改模块,用于针对所述迁移后的应用程序中的每个应用程序,基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,并基于地址对应关系,对所述待修改应用配置进行修改,获得新的配置数据,实现待迁移测试环境的迁移;所述地址对应关系包括数据库迁移前后的地址对应关系,以及应用程序迁移前后的地址对应关系。
第三方面,本申请实施例提供一种测试环境迁移设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的方法。
本实施例提供的测试环境迁移方法、设备、存储介质及程序产品,该方法包括将待迁移测试环境中的数据库进行迁移,获得迁移后的数据库,将所述待迁移测试环境中的应用程序进行迁移,获得迁移后的应用程序,针对所述迁移后的应用程序中的每个应用程序,基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,并基于地址对应关系,对所述待修改应用配置进行修改,获得新的配置数据,实现待迁移测试环境的迁移,所述地址对应关系包括数据库迁移前后的地址对应关系,以及应用程序迁移前后的地址对应关系。本实施例的方法通过将迁移工作进行细化,分成数据库迁移、应用程序迁移和配置修改三个部分,并且通过基于配置规则从配置数据中自动提取应用配置进行自动修改,能够实现迁移自动化,减少工作量和耗时,大大提高迁移效率和准确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的一种测试环境迁移方法的应用场景示意图一;
图1b为本申请实施例提供的一种测试环境迁移方法的应用场景示意图二;
图2为本申请实施例提供的测试环境迁移方法的流程示意图;
图3为本申请实施例提供的测试环境迁移系统的系统架构图;
图4为本申请实施例提供的测试环境迁移设备的结构示意图;
图5为本申请实施例提供的测试环境迁移设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
大型公司的应用系统测试环境,通常涉及多个应用系统,以保险公司为例,应用系统测试环境可以涉及车险承保,非车承保,车险理赔,非车理赔,财务类系统等多个应用系统,甚至整套测试环境关联上百个应用系统。在遇到设备替换时,需要将测试环境从原设备迁移到新设备。
相关技术中,通常以人工的方式在新设备上重新搭建应用系统,具体涉及应用系统的数据库的重新创建,应用系统依赖的基础组件的重新部署,应用系统的数据库和应用程序配置文件根据新的环境进行重新的调整,重新部署应用包。然而,应用系统数量大,耦合性高,依赖的基础组件多,工作量庞大,耗时长,易出错,效率差。
为解决上述技术问题,本申请发明人研究发现可以将整套应用系统测试环境的迁移工作进行细化,并基于应用程序的配置规则,将应用程序的配置数据中符合该配置规则的应用配置提取出来,再统一进行自动修改,实现了迁移的自动化,减小了工作量,减少了耗时,提高了迁移效率,具体的,结合大型公司应用系统自身特点(融合性架构,单机应用系统和分布式应用系统并存等),对应用系统本身进行分解,拆分为数据库主机,应用系统程序运行主机,基础组件架构主机和相应的应用系统配置等,进而可以基于应用主机虚拟化技术,数据库实例级别迁移和自动化脚本包括shell和python脚本开发,并对各阶段进行有序地编排(例如可以将数据库主机和应用系统程序运行主机的迁移同步进行),从而实现大型公司中应用系统测试环境自动化快速迁移的方案。基于此,本申请实施例提供一种测试环境迁移方法。
图1a为本申请实施例提供的一种测试环境迁移方法的应用场景示意图一,如图1a所示,执行端与迁移源端和迁移目的端通信连接。迁移源端包括待迁移测试环境(包括数据库和应用程序等),执行端用于将待迁移测试环境迁移至迁移目的端。执行端可以包括多个迁移主机,迁移主机的数量可以根据实际需要进行设置,本实施例对此不做限定,迁移主机可以为终端设备或服务器。
在具体实现过程中,执行端控制将待迁移测试环境中的数据库从迁移源端迁移至迁移目的端,获得迁移后的数据库;将所述待迁移测试环境中的应用程序从迁移源端迁移至迁移目的端,获得迁移后的应用程序;针对所述迁移后的应用程序中的每个应用程序,基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,并基于地址对应关系,对所述待修改应用配置进行修改,获得新的配置数据,实现待迁移测试环境的迁移;所述地址对应关系包括数据库迁移前后的地址对应关系,以及应用程序迁移前后的地址对应关系。其中,数据库迁移和应用程序迁移可以并行进行。本申请实施例提供的测试环境迁移方法,通过将迁移工作进行细化,分成数据库迁移、应用程序迁移和配置修改三个部分,并且通过基于配置规则从配置数据中自动提取应用配置进行自动修改,能够实现迁移自动化,减少工作量和耗时,大大提高迁移效率和准确率。
示例性的,以保险应用系统为例。如图1b所示,迁移源资源池内包括多个数据库,例如车险承保数据库、新收付费数据库、车险理赔数据库等。相应的,应用程序主机包括车险承保应用程序对应的主机、新收付费应用程序对应的主机、车险理赔应用程序对应的主机等,配置主机包括车险承保应用程序对应的redis主机、新收付费应用程序对应的redis主机、车险理赔应用程序对应的redis主机等。在具体实现过程中,可以将迁移工作划分为数据库迁移,应用虚拟机迁移,应用配置的修改。迁移主机可以将迁移源资源池中的各数据库至迁移目的资源池,获得迁移后的数据库;将迁移源资源池中的各应用程序至迁移目的资源池,获得迁移后的应用程序;针对所述迁移后的应用程序中的每个应用程序,基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,并基于地址对应关系,对所述待修改应用配置进行修改,获得新的配置数据,实现待迁移测试环境的迁移;所述地址对应关系包括数据库迁移前后的地址对应关系,以及应用程序迁移前后的地址对应关系。其中,数据库迁移和应用程序迁移可以并行进行。
需要说明的是,图1所示的场景示意图仅仅是一个示例,本申请实施例描述的测试环境迁移方法以及场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的测试环境迁移方法的流程示意图。如图2所示,该方法包括:
201、将待迁移测试环境中的数据库进行迁移,获得迁移后的数据库。
本实施例的执行主体可以是终端设备或服务器,例如可以是图1a所示的执行端103,以及图1b所示的迁移主机。
具体的,应用系统测试环境是由很多个应用系统组成,比如保险公司有承保类系统(车险承保系统,非车承保系统)、公共类系统(用户系统,数据字典系统)、理赔类系统(车险理赔系统,非车理赔系统)、财务类系统系统(新收付费系统)等,每个应用系统大致分为数据库主机,程序运行主机和基础组件例主机,如redis缓存主机,首先可以根据保险应用系统测试环境的特点(融合性架构,单机应用系统和分布式应用系统并存等),将迁移工作进行分层细化,示例性的可以分解为三部分的内容:数据库迁移、应用程序迁移和配置的修改。
针对数据库迁移:考虑到测试环境中涉及的所有应用系统可以复用同一套数据库,同类应用的数据库可以集中部署在同一个数据库实例上,例如,承保类的系统都部署在同一个数据库实例上,因此可以采用实例级别的迁移,相对于相关技术中采取按数据库来导入导出的方式,本实施例的方式,能够使得迁移的对象数量就大大减少,实现批量的将一个数据库实例上所有应用系统的数据库从源端迁移到目的端。
在一些实施例中,所述将待迁移测试环境中的数据库进行迁移,获得迁移后的数据库,可以包括:获取待迁移测试环境中的数据库的源端地址、目的端地址和数据库实例名;根据数据库实例名,将所述数据库实例名对应的数据库从对应的源端地址迁移至目的端地址,获得迁移后的数据库。
在一些实施例中,所述将所述数据库实例名对应的数据库从对应的源端地址迁移至目的端地址,获得迁移后的数据库,可以包括:确定所述数据库实例名对应的数据库所属的数据库类型;根据第一对应关系,确定所述数据库类型对应的备份恢复执行命令;所述第一对应关系包括至少一个数据库实例名与至少一个备份恢复执行命令之间的对应关系;根据所述备份恢复执行命令,对所述源端地址下的数据库进行备份,获得数据库备份数据,并将所述数据库备份数据在所述目的端地址下进行恢复,获得迁移后的数据库。
具体的,图3为本申请实施例提供的测试环境迁移系统的系统架构图。如图3所示,该系统包括数据库迁移模块301、应用程序及基础组件迁移模块302以及配置适配模块303。
通过数据库迁移模块301将整套测试环境的应用系统的数据库实例从源端迁移到目的端,迁移执行之前可以预先在迁移目的端准备一台与源端操作系统,数据库配置一样的数据库主机。
具体的,数据库迁移模块301包括迁移源和目的数据库代理模块、数据库备份和恢复数据字典模块,以及数据库迁移调度执行模块。其中,迁移源和目的数据库代理模块用于自动识别数据库类型,示例性的,可以根据操作系统环境变量和应用包名称进行识别,在识别获得数据库类型后,可以根据预先确定的对应关系(不同数据库类型与不同备份恢复命令之间的对应关系),选择与该数据库类型对应的数据库备份和恢复命令(例如,informix数据库可以采用ontape命令),并将该命令部署在迁移源和目的数据库主机上。
数据库备份和恢复数据字典模块用于维护不同数据库类型与不同备份和恢复命令之间的对应关系,以便数据库迁移模块301进行检索查询。
数据库迁移调度执行模块用于维护数据库的源端IP和目的端IP之间的对应关系的数据字典,以便以数据库的源端IP为循环步长,遍历各数据库,并发调度数据库代理模块执行源端的数据库备份,并在目的端通过执行与数据库类型对应的备份命令,对备份进行恢复操作。
202、将所述待迁移测试环境中的应用程序进行迁移,获得迁移后的应用程序。
具体的,针对测试环境中所有应用系统应用系统程序(应用程序)运行主机的迁移,可以利用虚拟化的技术,从虚拟机层面对所有的应用主机的应用系统程序进行迁移,示例性的,可以在应用系统程序的迁移目的端,分配与迁移源端同等规格的虚拟机,进而使用快照技术将迁移源端的操作系统,应用系统依赖的基础组件以及应用系统应用包本身均迁移至迁移目的端。
在一些实施例中,所述将所述待迁移测试环境中的应用程序进行迁移,获得迁移后的应用程序,可以包括:获取待迁移测试环境中的应用程序的迁移目的端的虚拟机类型;根据第二对应关系,确定所述虚拟机类型对应的虚拟化执行命令;所述第二对应关系包括至少一个虚拟机类型与至少一个虚拟化执行命令之间的对应关系;根据所述虚拟化执行命令,将所述应用程序迁移至目的端的虚拟机,获得迁移后的应用程序。
示例性的,如图3所示,应用程序及基础组件迁移模块302用于将整套测试环境中的应用系统程序运行主机和基础组件主机上的应用系统程序包,依赖的基础软件和操作系统整体从源端迁移到目的端。应用程序及基础组件迁移模块302包括应用主机源和目的数据字典模块、虚拟化管理模块,以及应用系统主机迁移调度执行模块。
其中,应用主机源和目的数据字典模块用于维护应用程序的源端IP、目的端IP、虚拟化软件的类型,三者之间的对应关系A;虚拟化管理模块用于维护各虚拟化软件管理主机的IP、虚拟化软件的类型、对应的快照生成和恢复的命令,三者之间的对应关系B。
应用系统主机迁移调度执行模块用于基于应用主机源和目的数据字典模块和虚拟化管理模块分别维护的对应关系(对应关系A和对应关系B),实现应用系统程序运行主机快照的生成和恢复,具体的,可以以虚拟化软件的类型为循环步长,再以应用主机的IP为循环步长,并行启动线程去执行各应用系统主机的应用系统程序的迁移,例如,可以基于对应关系A和对应关系B,确定对应的快照生成和恢复命令,并远程调用虚拟化管理软件的命令行接口来执行快照的生成,待快照生成后,再进行快照地恢复。
203、针对所述迁移后的应用程序中的每个应用程序,基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,并基于地址对应关系,对所述待修改应用配置进行修改,获得新的配置数据,实现待迁移测试环境的迁移;所述地址对应关系包括数据库迁移前后的地址对应关系,以及应用程序迁移前后的地址对应关系。
具体的,应用系统迁移后的适配,主要涉及数据库和应用配置的修改,比如数据源,基础组件和周边依赖系统地址的修改,可以通过开发自动化迁移程序(例如可以采用shell和/或python),对整个迁移过程进行有序地编排,部署在如图1b所示的多台迁移主机上(迁移主机的数量可以根据实际需要来确定,本实施例对此不做限定),跨主机调用实现整套应用系统测试环境的迁移工作。从而能够将相关技术中最依赖手工,也最繁琐和容易出错的配置修改的工作的难度降低,且大大提高了迁移效率。
在一些实施例中,所述基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,可以包括:根据第三对应关系,确定所述应用程序对应的配置规则;所述第三对应关系包括至少一个应用程序与至少一个配置规则之间的对应关系;所述配置规则包括应用配置的起始字符串和结束字符串;根据所述应用程序对应的起始字符串和结束字符串,从所述应用程序的配置数据中提取具备所述起始字符串和所述结束字符串的待修改应用配置。
在一些实施例中,所述根据所述应用程序对应的起始字符串和结束字符串,从所述应用程序的配置数据中提取具备所述起始字符串和所述结束字符串的待修改应用配置,可以包括:针对配置数据中的每个分区,若所述分区内包括所述起始字符串且标志位为第一数值,则将所述标志位更改为第二数值,并将所述起始字符串之后的字符串加入第一存储空间;若所述分区内不存在所述起始字符串和所述结束字符串,且标志位为第二数值,则将所述分区内的字符串加入所述第一存储空间;若所述分区内包括所述结束字符串且标志位为第二数值,则将所述结束字符串之前的字符串加入所述第一存储空间,并将所述第一存储空间内的字符串加入第二存储空间。可选地,还可以包括:若所述分区内包括所述起始字符串且标志位为第二数值,则将所述起始字符串之前的字符串加入所述第一存储空间,并将所述第一存储空间内的字符串加入所述第二存储空间,将所述第一存储空间清空,并将所述起始字符串之后的字符串加入所述第一存储空间。
具体的,如图3所示,配置适配模块303用于将迁移后的应用系统程序根据新的测试环境进行适配,以确保应用系统能正常地启动和使用。配置适配模块303预设应用配置配置规则模块,分析应用配置模块和执行应用配置模块。
其中,预设应用配置配置规则模块,用于维护不同应用架构与不同配置规则之间的对应关系,以便根据不同应用系统程序所属的应用架构检索查询到对应的配置规则。基于查询到的配置规则可以对单个系统对于周边系统调用的配置进行修改。示例性的,对于应用架构Weblogic_jdbc、Spring_boot_jdbc、Tomcat_jdbc均可对应关联文件名file_name、起始字符串jdbc_conn_match_start以及结束字符串jdbc_conn_match_end,应用架构system可对应关联文件名file_name、起始字符串system_config_match_start以及结束字符串system_config_match_end。
分析应用配置模块用于对迁移后的应用系统程序的应用包进行遍历,将符合配置规则(例如与上述对应关系中的文件名、起始字符串和结束字符串相匹配)的数据库配置提取出来,另外,为了提高准确性,可以将提取的配置整理成执行清单,并将该执行清单存储进数据库,以便通过web页面进行展示,以使迁移实施人员还可以通过web页面进行配置项地修改和确认,这样整个配置过程做到可追溯,进一步保证执行清单的准确性,从而提高配置修改的准确性。
配置适配模块303用于将应用系统程序的应用配置文件C中需要修改的配置提取出来,根据新的迁移环境进行修改,生成执行清单,用于后续的修改执行。本实施过程可以使用第一存储空间(例如临时文本T)记录所提取的待修改应用配置,最终结果输出至第二存储空间(例如输出文件C_after)。具体实施方式可如下:
首先,每个应用系统程序可能对应多个配置文件,以配置文件为循环步长,单次循环中对当前的配置文件进行单次遍历,由于单次遍历具有无法回溯性,因此可以使用标志位FLAG来记录对于应用配置的当前处理状态(例如,当FALG为1时,表示一条应用配置地开始;当FLAG为0时,表示已完成当前应用配置的读取)。
其次,可以从预设应用配置配置规则模块维护的对应关系中去欸的那个当前应用系统程序的配置规则,即确定起始字符串、结束字符串。进而可以基于此完成配置文件的提取工作。
再次,具体过程中,可以先将标志位FLAG初始值设置为0,开始对档期那的配置文件的遍历,依次从C中读取预设分区(例如一行)文本R进行分析,处理情况可以分为以下四种情况:
第一种情况中,R中含有配置规则中起始字符串,并且FLAG为0,此时表示一条新的应用配置的开始,将FLAG置为1,将起始字符串之后的字符加入临时文件T(每开始一个新的应用配置的记录时,可以先进行清空),并继续读取下一行。
第二种情况种,R中含有配置规则中起始字符串,并且FLAG为1,可以认为当前应用配置已结束,使用粘贴复制操作对临时文本T做单行处理后写入输出文件C_after中,清空T,继续读取下一行。由于此行文本不仅为当前应用配置语句的结束标示,且同时为下一应用配置语句的开始标示,因此这里不将FLAG置为0。需要说明的是,此种情况下,也即连续出现两个起始字符串的情况,考虑到可能是误识别,也可以舍弃前一起始字符串对应的记录内容,本实施例对此不做限定,可以根据实际需要进行设置。
第三种情况中,R中含有配置规则结束字符串,并且FLAG为1,此时为应用配置结束标示的另一种情况,同样使用复制粘贴paste方法对临时文本T做单行处理后写入输出文件C_after中,清空T,继续读取下一行,并将FLAG置为0。
第四种情况中,除以上情况之外的语句,且当FLAG为1时,表示当前文本正处于一条应用配置之中,输出当前文本到T。
最后,当按行遍历完成后,即可得到应用配置的结果集C_after,且C_after中的每一条应用配置皆以单行表示。
执行应用配置模块用于以迁移目的端应用主机IP为循环步长,根据应用配置执行清单,将原有的应用配置内容适配为新环境的配置。
本实施例提供的测试环境迁移方法,通过将迁移工作进行细化,分成数据库迁移、应用程序迁移和配置修改三个部分,并且通过基于配置规则从配置数据中自动提取应用配置进行自动修改,能够实现迁移自动化,减少工作量和耗时,大大提高迁移效率和准确率。
图4为本申请实施例提供的测试环境迁移设备的结构示意图。如图4所示,该测试环境迁移设备40包括:迁移模块401和修改模块402。
迁移模块401,用于将待迁移测试环境中的数据库进行迁移,获得迁移后的数据库;
迁移模块401,还用于将所述待迁移测试环境中的应用程序进行迁移,获得迁移后的应用程序;
修改模块402,用于针对所述迁移后的应用程序中的每个应用程序,基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,并基于地址对应关系,对所述待修改应用配置进行修改,获得新的配置数据,实现待迁移测试环境的迁移;所述地址对应关系包括数据库迁移前后的地址对应关系,以及应用程序迁移前后的地址对应关系。
本申请实施例提供的测试环境迁移设备,通过将迁移工作进行细化,分成数据库迁移、应用程序迁移和配置修改三个部分,并且通过基于配置规则从配置数据中自动提取应用配置进行自动修改,能够实现迁移自动化,减少工作量和耗时,大大提高迁移效率和准确率。
本申请实施例提供的测试环境迁移设备,可用于执行上述的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图5为本申请实施例提供的测试环境迁移设备的硬件结构示意图,该设备可以是终端设备或服务器。例如计算机,消息收发设备,平板设备,医疗设备等。
装置50可以包括以下一个或多个组件:处理组件501,存储器502,电源组件503,多媒体组件504,音频组件505,输入/输出(I/O)接口506,传感器组件507,以及通信组件508。
处理组件501通常控制装置50的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件501可以包括一个或多个处理器509来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件501可以包括一个或多个模块,便于处理组件501和其他组件之间的交互。例如,处理组件501可以包括多媒体模块,以方便多媒体组件504和处理组件501之间的交互。
存储器502被配置为存储各种类型的数据以支持在装置50的操作。这些数据的示例包括用于在装置50上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件503为装置50的各种组件提供电力。电源组件503可以包括电源管理系统,一个或多个电源,及其他与为装置50生成、管理和分配电力相关联的组件。
多媒体组件504包括在所述装置50和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件504包括一个前置摄像头和/或后置摄像头。当装置50处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件505被配置为输出和/或输入音频信号。例如,音频组件505包括一个麦克风(MIC),当装置50处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或经由通信组件508发送。在一些实施例中,音频组件505还包括一个扬声器,用于输出音频信号。
I/O接口506为处理组件501和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件507包括一个或多个传感器,用于为装置50提供各个方面的状态评估。例如,传感器组件507可以检测到装置50的打开/关闭状态,组件的相对定位,例如所述组件为装置50的显示器和小键盘,传感器组件507还可以检测装置50或装置50一个组件的位置改变,用户与装置50接触的存在或不存在,装置50方位或加速/减速和装置50的温度变化。传感器组件507可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件507还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件507还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件508被配置为便于装置50和其他设备之间有线或无线方式的通信。装置50可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件508经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件508还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置50可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器502,上述指令可由装置50的处理器509执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上测试环境迁移设备执行的测试环境迁移方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (11)
1.一种测试环境迁移方法,其特征在于,包括:
将待迁移测试环境中的数据库进行迁移,获得迁移后的数据库;
将所述待迁移测试环境中的应用程序进行迁移,获得迁移后的应用程序;
针对所述迁移后的应用程序中的每个应用程序,基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,并基于地址对应关系,对所述待修改应用配置进行修改,获得新的配置数据,实现待迁移测试环境的迁移;所述地址对应关系包括数据库迁移前后的地址对应关系,以及应用程序迁移前后的地址对应关系。
2.根据权利要求1所述的方法,其特征在于,所述将待迁移测试环境中的数据库进行迁移,获得迁移后的数据库,包括:
获取待迁移测试环境中的数据库的源端地址、目的端地址和数据库实例名;
根据数据库实例名,将所述数据库实例名对应的数据库从对应的源端地址迁移至目的端地址,获得迁移后的数据库。
3.根据权利要求2所述的方法,其特征在于,所述将所述数据库实例名对应的数据库从对应的源端地址迁移至目的端地址,获得迁移后的数据库,包括:
确定所述数据库实例名对应的数据库所属的数据库类型;
根据第一对应关系,确定所述数据库类型对应的备份恢复执行命令;所述第一对应关系包括至少一个数据库实例名与至少一个备份恢复执行命令之间的对应关系;
根据所述备份恢复执行命令,对所述源端地址下的数据库进行备份,获得数据库备份数据,并将所述数据库备份数据在所述目的端地址下进行恢复,获得迁移后的数据库。
4.根据权利要求1所述的方法,其特征在于,所述将所述待迁移测试环境中的应用程序进行迁移,获得迁移后的应用程序,包括:
获取待迁移测试环境中的应用程序的迁移目的端的虚拟机类型;
根据第二对应关系,确定所述虚拟机类型对应的虚拟化执行命令;所述第二对应关系包括至少一个虚拟机类型与至少一个虚拟化执行命令之间的对应关系;
根据所述虚拟化执行命令,将所述应用程序迁移至目的端的虚拟机,获得迁移后的应用程序。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,包括:
根据第三对应关系,确定所述应用程序对应的配置规则;所述第三对应关系包括至少一个应用程序与至少一个配置规则之间的对应关系;所述配置规则包括应用配置的起始字符串和结束字符串;
根据所述应用程序对应的起始字符串和结束字符串,从所述应用程序的配置数据中提取具备所述起始字符串和所述结束字符串的待修改应用配置。
6.根据权利要求5所述的方法,其特征在于,所述根据所述应用程序对应的起始字符串和结束字符串,从所述应用程序的配置数据中提取具备所述起始字符串和所述结束字符串的待修改应用配置,包括:
针对配置数据中的每个分区,
若所述分区内包括所述起始字符串且标志位为第一数值,则将所述标志位更改为第二数值,并将所述起始字符串之后的字符串加入第一存储空间;
若所述分区内不存在所述起始字符串和所述结束字符串,且标志位为第二数值,则将所述分区内的字符串加入所述第一存储空间;
若所述分区内包括所述结束字符串且标志位为第二数值,则将所述结束字符串之前的字符串加入所述第一存储空间,并将所述第一存储空间内的字符串加入第二存储空间。
7.根据权利要求6所述的方法,其特征在于,所述根据所述应用程序对应的起始字符串和结束字符串,从所述应用程序的配置数据中提取具备所述起始字符串和所述结束字符串的待修改应用配置,还包括:
若所述分区内包括所述起始字符串且标志位为第二数值,则将所述起始字符串之前的字符串加入所述第一存储空间,并将所述第一存储空间内的字符串加入所述第二存储空间,将所述第一存储空间清空,并将所述起始字符串之后的字符串加入所述第一存储空间。
8.一种测试环境迁移设备,其特征在于,包括:
迁移模块,用于将待迁移测试环境中的数据库进行迁移,获得迁移后的数据库;
迁移模块,还用于将所述待迁移测试环境中的应用程序进行迁移,获得迁移后的应用程序;
修改模块,用于针对所述迁移后的应用程序中的每个应用程序,基于所述应用程序对应的配置规则,从所述应用程序的配置数据中提取待修改应用配置,并基于地址对应关系,对所述待修改应用配置进行修改,获得新的配置数据,实现待迁移测试环境的迁移;所述地址对应关系包括数据库迁移前后的地址对应关系,以及应用程序迁移前后的地址对应关系。
9.一种测试环境迁移设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至7任一项所述的测试环境迁移方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至7任一项所述的测试环境迁移方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的测试环境迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211447484.5A CN115964357A (zh) | 2022-11-18 | 2022-11-18 | 测试环境迁移方法、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211447484.5A CN115964357A (zh) | 2022-11-18 | 2022-11-18 | 测试环境迁移方法、设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115964357A true CN115964357A (zh) | 2023-04-14 |
Family
ID=87358725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211447484.5A Pending CN115964357A (zh) | 2022-11-18 | 2022-11-18 | 测试环境迁移方法、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115964357A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101218565A (zh) * | 2005-07-06 | 2008-07-09 | 瑞士银行股份有限公司 | 用于将主机环境迁移至新系统平台的技术 |
WO2018201461A1 (zh) * | 2017-05-05 | 2018-11-08 | 华为技术有限公司 | 虚拟机迁移的方法、装置和虚拟化系统 |
CN109408115A (zh) * | 2018-09-12 | 2019-03-01 | 上海数耕智能科技有限公司 | 一种基于容器环境中迁移对象的方法及计算系统 |
CN110134489A (zh) * | 2018-02-08 | 2019-08-16 | 中兴通讯股份有限公司 | 应用迁移方法及装置、系统、存储介质、应用上云工具 |
CN113986871A (zh) * | 2021-09-15 | 2022-01-28 | 新华三大数据技术有限公司 | 一种数据迁移方法、装置、服务器及可读存储介质 |
-
2022
- 2022-11-18 CN CN202211447484.5A patent/CN115964357A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101218565A (zh) * | 2005-07-06 | 2008-07-09 | 瑞士银行股份有限公司 | 用于将主机环境迁移至新系统平台的技术 |
WO2018201461A1 (zh) * | 2017-05-05 | 2018-11-08 | 华为技术有限公司 | 虚拟机迁移的方法、装置和虚拟化系统 |
CN110134489A (zh) * | 2018-02-08 | 2019-08-16 | 中兴通讯股份有限公司 | 应用迁移方法及装置、系统、存储介质、应用上云工具 |
CN109408115A (zh) * | 2018-09-12 | 2019-03-01 | 上海数耕智能科技有限公司 | 一种基于容器环境中迁移对象的方法及计算系统 |
CN113986871A (zh) * | 2021-09-15 | 2022-01-28 | 新华三大数据技术有限公司 | 一种数据迁移方法、装置、服务器及可读存储介质 |
Non-Patent Citations (3)
Title |
---|
WEEMERS, JARNO J. M ET AL: "Development of a Benzimidazole-Derived Bidentate P, N-Ligand for Enantioselective Iridium-Catalyzed Hydrogenations", EUROPEAN JOURNAL OF ORGANIC CHEMISTRY, 18 June 2014 (2014-06-18), pages 350 - 362 * |
杨柳;卓必强;汪杨海;胡婷;: "基于云计算环境的业务系统迁移研究与实践", 信息系统工程, no. 04, 20 April 2017 (2017-04-20), pages 27 - 30 * |
王朋等: "基于云计算的异构平台虚拟机动态迁移策略研究", 江西科学, vol. 31, no. 02, 15 April 2013 (2013-04-15), pages 238 - 242 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11188560B2 (en) | Synchronizing object in local object storage node | |
CN109634587B (zh) | 一种生成入库脚本以及数据入库的方法和设备 | |
US20160364301A1 (en) | Backup service with managed file transformation | |
CN114925084B (zh) | 分布式事务处理方法、系统、设备及可读存储介质 | |
CN110096302A (zh) | 软件数据储存、升级方法、装置、设备和存储介质 | |
CN110781658B (zh) | 简历解析方法、装置、电子设备和存储介质 | |
CN112615758B (zh) | 一种应用识别方法、装置、设备及存储介质 | |
WO2023040143A1 (zh) | 云服务的资源编排方法、装置、设备及存储介质 | |
CN107391539B (zh) | 事务处理方法、服务器和存储介质 | |
CN110716804A (zh) | 无用资源的自动删除方法、装置、存储介质及电子设备 | |
US9703848B2 (en) | Caching linked queries for optimized compliance management | |
CN118120212A (zh) | 一种文件去重方法、装置和设备 | |
CN110874216A (zh) | 一种完备代码生成方法、装置、设备和存储介质 | |
EP4220406B1 (en) | Action undo service based on cloud platform | |
US20230385164A1 (en) | Systems and Methods for Disaster Recovery for Edge Devices | |
CN110597765A (zh) | 一种大零售呼叫中心异构数据源数据处理方法及装置 | |
CN115964357A (zh) | 测试环境迁移方法、设备、存储介质及程序产品 | |
CN116048609A (zh) | 配置文件更新方法、装置、计算机设备和存储介质 | |
US8615744B2 (en) | Methods and system for managing assets in programming code translation | |
CN112307723B (zh) | 生成代码文档的方法、装置和电子设备 | |
CN110085237B (zh) | 交互过程的恢复方法、装置及设备 | |
CN114968960A (zh) | 日志处理方法、装置、计算机设备及存储介质 | |
CN113722228A (zh) | 软件系统测试方法及装置 | |
CN111638903B (zh) | 不同软件版本的差异信息生成方法及装置 | |
CN116778975B (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 |