一种数据库版本更新兼容匹配方法组成比例

技术编号:37669540 阅读:11 留言:0更新日期:2023-05-26 04:30
本发明专利技术属于数据库技术领域,本发明专利技术提供一种数据库版本更新兼容匹配方法,通过各个升级服务器接收数据库更新请求,验证数据库版本号后各个升级服务器进行升级数据库,依次计算各个升级服务器的测试线程延长时刻;当有升级服务器的测试脚本的所有线程执行结束时间超过该升级服务器的测试线程延长时刻时,标记对应的升级服务器的数据库不兼容。能够精准的获得数据库测试脚本的测试效果最佳、引起数据库的操作响应时间递增的稳定的时间,使得测试线程延长时刻定位的测试线程生命周期结束的预期时间更加稳定和准确,从而判断数据库是否兼容,能够提高测试线程延长时刻计算的速度,系统资源的占用率低。统资源的占用率低。统资源的占用率低。

【技术实现步骤摘要】
一种数据库版本更新兼容匹配方法


[0001]本专利技术属于数据库
,具体涉及一种数据库版本更新兼容匹配方法。

技术介绍

[0002]目前,由于在数据库升级后,如果数据库版本和本机中的部分应用程序或服务无法兼容,从而使得部分应用程序或服务可能无法正常运行,因为新版本数据库与旧版本应用程序或服务之间的接口、数据结构或语法等方面发生了变化。并在数据库升级过程中,在数据备份、恢复、迁移等环节中可能存在数据丢失、损坏或不一致的情况,导致应用程序或服务无法访问或操作部分数据,从而影响数据完整性和数据库的性能,兼容性低的数据库会导致线程处于长时间的阻塞状态甚至线程死锁带来的响应时间增加或者超时。
[0003]为了保证数据库版本升级过程中的数据安全性和程序兼容性,现有的技术例如公开号为CN111736865A的专利技术专利申请,通过扫描预设目标配置文件,生成数据库升级脚本、数据库关键业务测试脚本和回滚脚本;运行数据库升级脚本升级目标数据库,执行数据库关键业务测试脚本,对目标数据库的关键业务进行测试:若测试成功,则目标数据库升级成功,本次升级结束;若测试失败,则输出对应的测试报告并执行所述回滚脚本对目标数据库进行恢复,尽管能够通过业务测试脚本和回滚脚本对数据库进行操作,但是如果升级失败无法回滚或者兼容性低,数据库升级太过于依赖相关脚本,并且无法识别新版本是否和原版本的数据库是否兼容。

技术实现思路

[0004]本专利技术的目的在于提出一种数据库版本更新兼容匹配方法,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
[0005]为了实现上述目的,根据本专利技术的一方面,提供一种数据库版本更新兼容匹配方法,所述方法包括以下步骤:S100,由多个数据库服务器相互连接成为待升级网络,以其中任意一台数据库服务器标记为备份服务器,其他服务器标记为升级服务器;S200,各个升级服务器接收数据库更新请求,所述数据库更新请求包括更新后的数据库的版本号;S300,记各个升级服务器接收到的数据库更新请求中的数据库的版本号为待升级版本号;记升级服务器中现有数据库的版本号为现有版本号;以低于升级版本号的各个现有版本号对应的升级服务器为更新服务器,各个更新服务器备份数据库镜像到备份服务器中;S400,各个升级服务器进行升级数据库;S500,升级数据库完成后,各个升级服务器执行测试脚本对各个升级服务器的数据库进行测试,依次计算各个升级服务器的测试线程延长时刻;S600,当有升级服务器的测试脚本的所有线程执行结束时间超过该升级服务器的
测试线程延长时刻时,标记对应的升级服务器的数据库不兼容,并且从备份服务器中将对应的数据库镜像还原到的对应不兼容的升级服务器。
[0006]进一步地,在S100中,升级网络还包括:Web服务器、安装有数据库管理系统DBMS的服务器、安装有后台管理系统的应用程序服务器。
[0007]其中,所述应用程序服务器是联系Web服务器与DBMS的中间件,用于在web服务器和后台的应用程序或数据库之间的事务处理和数据访问。
[0008]其中,测试脚本包括多个对数据库的增加表指令、删除表指令、修改表指令、查询表指令中任意一种或多种的指令组合构成的脚本。
[0009]其中,各个升级服务器执行测试脚本对各个升级服务器的数据库进行测试时,测试脚本中的每个对数据库的指令操作的指令流形成一个线程。
[0010]优选地,每个线程的运行时长不高于线程池参数所预设的非核心线程闲置超时时长。
[0011]进一步地,在S400中,各个升级服务器进行升级数据库的方法为:获取数据库的升级安装包;获取数据库所在升级服务器的环境变量配置信息;根据获得的环境变量配置信息获取数据库的安装目录的路径信息;根据安装目录的路径信息找到安装目录;删除升级服务器中的数据库的安装目录;获取升级安装包的配置文件;配置文件包括参数文件、监听文件、数据文件和数据库授权文件;将获得的配置文件拷贝到安装目录所在的路径下;根据所述路径下的配置文件和所述目录生成升级后的数据库;其中,所述配置文件和所述目录中包含有所述升级后的数据库所有需要的文件,当获得了所述配置文件和所述目录,并运行所述目录中的可执行文件生成所述升级后的数据库。
[0012]优选地,所述数据库为Mysql数据库、oracle11g数据库、SQLServer数据库中任意一种。
[0013]进一步地,在S500中,计算各个升级服务器的测试线程延长时刻的方法为:依次计算各个升级服务器执行测试脚本对数据库进行测试的稳态时间时段,具体为:获取依次获取各个升级服务器执行测试脚本时各个线程的指令流的执行时间,按照先后顺序将各个执行时间依次排列成序列记为ThSeq;依次由ThSeq中相邻的元素两两之间的大于0的差值构成的序列作为线程时变序列TGapSeq;(序列TGapSeq中每个差值的变化表示了测试脚本对数据库进行测试中延迟的变化,在新版本数据库与旧版本应用程序或服务之间的接口、数据结构或语法等方面发生了变化后,序列TGapSeq中的差值在发生变化导致的存在数据丢失、损坏或不一致的情况的不兼容位置导致线程对数据库进行操作时产生的较大延时(线程处于长时间的阻塞状态甚至线程死锁带来的响应时间增加或者超时),这些不兼容位置在线程访问时产生的执行时间差值变化趋势会远大于兼容的位置);记TGapSeq(h)为序列TGapSeq中的第h个元素,其中,h为TGapSeq中元素的序号;在h的取值范围内搜索序列TGapSeq,当第一次搜索到TGapSeq(h)>TGapSeq(h+1)
且TGapSeq(h)>TGapSeq(h

1)时,记此时的序号h为极大值序号Maxh;在h的取值范围内搜索序列TGapSeq,当第一次搜索到TGapSeq(h)<TGapSeq(h+1)且TGapSeq(h)<TGapSeq(h

1)时,记此时的序号h为极小值序号Minh;(极大值序号Maxh是TGapSeq中差值首次递增的衰减时间,极小值序号Maxh是TGapSeq中差值首次衰减的拐点时间,这两个时间之间的时间段,即稳态时间时段能够表示出测试脚本对数据库进行测试中线程时间的最稳定时段,用以在后续的测试线程延长时刻的计算中以准确的估计出这个时刻的大致时间);以差值TGapSeq(Maxh)在序列ThSeq中对应的2个执行时间中最晚结束时间为TimA;以差值TGapSeq(Minh)在序列ThSeq中对应的2个执行时间中最晚结束时间为TimB;取TimA到TimB之间的时间段为稳态时间时段steadT;计算升级服务器的测试线程延长时刻为:以TimA和TimB中最晚的时间为TS;取TS+steadT为测试线程延长时刻。
[0014]由于稳态时间时段是升级服务器的数据库测试脚本的所有线程的生命周期中运行最稳定的时段,根据稳态时间时段计算得到的测试线程延长时刻则能够准确的提供一个升级服务器的中测试线程生命周期结束的预期时间,能够精准的获得数据库测试脚本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库版本更新兼容匹配方法,其特征在于,所述方法包括以下步骤:S100,由多个数据库服务器相互连接成为待升级网络,以其中任意一台数据库服务器标记为备份服务器,其他服务器标记为升级服务器;S200,各个升级服务器接收数据库更新请求,所述数据库更新请求包括更新后的数据库的版本号;S300,记各个升级服务器接收到的数据库更新请求中的数据库的版本号为待升级版本号;记升级服务器中现有数据库的版本号为现有版本号;以低于升级版本号的各个现有版本号对应的升级服务器为更新服务器,各个更新服务器备份数据库镜像到备份服务器中;S400,各个升级服务器进行升级数据库;S500,升级数据库完成后,各个升级服务器执行测试脚本对各个升级服务器的数据库进行测试,依次计算各个升级服务器的测试线程延长时刻;S600,当有升级服务器的测试脚本的所有线程执行结束时间超过该升级服务器的测试线程延长时刻时,标记对应的升级服务器的数据库不兼容,并且从备份服务器中将对应的数据库镜像还原到的对应不兼容的升级服务器。2.根据权利要求1所述的一种数据库版本更新兼容匹配方法,其特征在于,在S400中,升级服务器进行升级数据库的方法为:获取数据库的升级安装包;获取数据库所在升级服务器的环境变量配置信息;根据获得的环境变量配置信息获取数据库的安装目录的路径信息;根据安装目录的路径信息找到安装目录;删除升级服务器中的数据库的安装目录;获取升级安装包的配置文件;配置文件包括参数文件、监听文件、数据文件和数据库授权文件;将获得的配置文件拷贝到安装目录所在的路径下;根据所述路径下的配置文件和所述目录生成升级后的数据库;其中,所述配置文件和所述目录中包含有所述升级后的数据库所有需要的文件,当获得了所述配置文件和所述目录,并运行所述目录中的可执行文件生成所述升级后的数据库。3.根据权利要求2所述的一种数据库版本更新兼容匹配方法,其特征在于,所述数据库为Mysql数据库、oracle11g数据库、SQLServer数据库中任意一种。4.根据权利要求1所述的一种数据库版本更新兼容匹配方法,其特征在于,在S500中,计算各个升级服务器的测试线程延长时刻的方法为:依次计算各个升级服务器执行测试脚本对数据库进行测试的稳态时间时段,具体为:获取依次获取各个升级服务器执行测试脚本时各个线程的指令流的执行时间,按照先后顺序将各个执行时间依次排列成序列记为ThSeq;依次由ThSeq中相邻的元素两两之间的大于0的差值构成的序列作为线程时变序列TGapSeq;记TGapSeq(h)为序列TGapSeq中的第h个元素,其中,h为TGapSe...

【专利技术属性】
技术研发人员:叶名震王益斌
申请(专利权)人:湖南中青能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1