APP下载

电力行业国产数据库适配测试方法和技术研究

2023-03-23张海全金贝贝陈春桦李赫然李浩

电器工业 2023年1期
关键词:功能测试应用程序对象

张海全 金贝贝 陈春桦 李赫然 李浩

(国电南瑞科技股份有限公司)

0 引言

自中美贸易争端以来,美国多次对中国企业进行制裁,对中国科技企业进行打压、封锁,以其科技霸权来遏制中国的发展。电力行业是能源领域的支柱行业,更是国家未来能源战略的重中之重。因此在XC产业中,电力信息系统的XC改造更应该首当其冲地跟进产业浪潮发展,积极改造创新,完成国家战略部署。电力信息系统间集成关系复杂,开发语言多样、严重依赖国外数据库产品,如Oracle、SQLserver、DB2等。数据库作为底层数据存储与管理的系统,是电力信息系统的核心,在电力信息系统的XC改造工作中,进行国产数据库的适配测试与迁移具有重要意义。

1 数据库的国产替代

数据库作为信息化的基础,是企业IT系统必不可少的核心技术,通过对数据的管理赋能上层应用。在XC实践中,重点是在保障客户关键数据资产的安全性的前提下,帮助用户从原有的数据库系统切换到国产数据库系统,达到业务应用和数据顺利地迁移,数据库适配迁移及稳定性保障异常复杂与重要。

2 数据库XC迁移适配

数据库适配迁移就是从一个数据库到另一个数据库之间的数据移动,两端的数据库可能是PostgreSql、mysql、oracle、Sql Server、国产数据库等。迁移过程是一个具有挑战性的复杂过程,需要对数据库的原理以及各自的特性了如指掌。

2.1 适配迁移方案

根据实际的适配迁移流程,可以分为前期评估,数据迁移,应用迁移,项目测试4个阶段,具体如下:

(1)前期评估

根据应用程序功能模块、数据库中对象及类型对工作量进行评估,并设计数据迁移方案同时做相应的迁移准备工作。设计数据迁移方案主要包括以下几个方面工作:研究与数据迁移相关的资料,评估和选择数据迁移的软硬件平台、选择数据迁移方法、选择数据备份和恢复策略、设计数据迁移和测试方案等。迁移准备工作主要包括数据库的检查与准备工作,硬件环境的检查与准备工作,相关人员的准备等。

(2)数据迁移

迁移数据库对象包括应用系统所使用的数据库基本对象和高级对象的迁移。基本对象包括数据库、用户/模式、表、约束、索引、视图和数据等;高级对象包括序列、同义词、数据库链接、触发器、函数、存储过程和包等。

(3)应用迁移

在正式实施迁移后,开始进行应用的迁移,包括数据库的连接,数据库连接驱动的调整、外链接的调整、SQL语句的调整等。

(4)功能测试

调整完成后,测试应用连接目标国产数据库是否还存在问题,如果没有问题发生,表示应用迁移完成,如果还存在问题,及时调整数据库中的一些设置等。

2.2 适配迁移过程

2.2.1 确定迁移对象,组建迁移团队

应用系统的数据库迁移,首先需要确定迁移对象。开始迁移前,首先根据实际需要和应用系统大小制定迁移目标,确定迁移对象。根据需要迁移的应用系统或功能模块,确定要迁移的具体数据库对象。组建一个健全、良好的应用系统迁移团队是非常有必要的。有一个健全、良好的迁移团队互相配合、支持,可以规避很多迁移风险。迁移团队必须有对要迁移的应用系统架构和应用功能实现了解非常清楚的开发和测试人员,即必须有该应用系统的开发人员、测试人员参与。其次迁移的工作最好由开发人员去完成,这样效率和准确性都会有所保证。

2.2.2 迁移评估

实施阶段一般包括表结构迁移、数据的迁移、视图的迁移、存储过程和函数的迁移、应用程序的迁移等。根据适配迁移过程,项目不同,所用时间弹性较大的步骤在于实施阶段中对存储过程、函数、应用程序等的迁移。借助适配迁移工具实施迁移,可实现迁移周期最短化。

2.2.3 准备迁移环境

首先需要准备软硬件环境。如果要迁移的源数据库数据量较大,如大于10GB,那么建议源数据库和目标国产数据库分别部署在不同的物理机器上,并考虑源和目的服务器的硬件配置,CPU、内存、网络环境尽量配置得好一些,以保证迁移速度。如果数据量较大,建议先对目标国产数据库进行基本的优化,如增大共享内存分配、添加较大的日志文件,预先申请足够的表空间数据库文件等。

2.2.4 迁移基本对象和数据

首先迁移基本对象和数据,然后进行高级对象的迁移。做好准备工作,即可使用适配迁移工具迁移基本对象和数据,主要包括表、数据、约束(外键、缺省、检查约束、唯一性约束)、索引、视图和序列等。

2.2.5 迁移应用程序

迁移应用程序,主要是接口API和应用中涉及的数据库交互SQL的迁移,目前国产数据库在接口、SQL方面的标准兼容性做得比较好,所以,应用程序的迁移,一般也较容易完成。应用的迁移往往和应用系统功能测试同时进行,在功能测试的过程中,发现问题,及时修改。对于使用JDBC标准连接协议的应用程序,只需要替换为目标国产数据库的jdbc接口驱动,在应用程序中修改数据库连接字符串即可,根据JDK的版本选择合适的驱动。

2.2.6 应用系统功能测试和排错

任何一个成熟的应用系统有关键代码的变动后,都应该进行全面细致的测试,更换后台数据库系统更需对迁移后的应用系统进行全面的功能测试和性能测试。功能测试即对该应用系统的每一个大小模块、功能进行全面的系统回归测试,以确保新的应用系统的各个功能都可以正常使用,且能保证数据的正确性。因此完成数据库和应用程序迁移后,必须对应用系统进行全面的功能测试,对测试出来的问题,及时分析、排查和修改。对那些很难定位的问题,建议由测试、开发人员等一起共同追踪、诊断解决。

2.3 迁移应急预案

针对适配迁移过程中可能出现的各种问题,制定相应的应急预案:

1)数据迁移测试中或正式迁移如果对业务系统性能产生影响,应该立即停止迁移操作,待数据库压力空闲时再进行。②如果在部署数据库迁移过程中出现硬件故障或者操作失误可以使用备份进行恢复。③如果在切换过程中发生数据异常,可以在不影响业务数据的情况下,对数据库进行恢复。④如果切换完成之后发现数据异常,应立即停止应用对目标国产数据库的连接,这时,如果应用系统需要处于运行状态,可以把应用连接指向原来的数据库。问题解决后,再把应用连接指向目标国产数据库。⑤应用回退,如果应用系统已经从源数据库切换到目标国产数据库,并且目标国产数据库相关的应用服务已经产生了部分的增量数据,这时出现了异常和故障,必须开始执行应用系统回退。这时由于源数据库的系统环境仍然被保留,仍只需要将客户端重新指向源数据库就可以完成回退。目标国产数据库由于接管业务所产生的增量数据,要根据应用的具体情况来进行考虑,用手工方式将数据最大程度地完整保留并导入到源数据库中。

3 结束语

在国家XC产业的推进进程中,数据库作为三大核心基础软件之一,也是国产替代的核心部分,虽然迁移适配过程困难且复杂,且在迁移适配工作中,有时还需要应用开发商的配合进行架构的优化、兼容性的支持和性能的提升等,必要时需要进行程序的调整及优化,但是通过专业的技术团队加上专业的迁移工具,再经过专业的测试流程,在电力行业中是可以实现国产化替代的,后续希望多开展国产化替代项目,丰富电力行业数据库迁移适配经验的同时也加速国家XC产业在电力行业的推进工作。通过上述研究与实践能够帮助电力信息系统进行XC改造。

猜你喜欢

功能测试应用程序对象
某内花键等速传动轴八功能测试夹具设计
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
攻略对象的心思好难猜
基于熵的快速扫描法的FNEA初始对象的生成方法
区间对象族的可镇定性分析
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序