一种数据变更方法、装置、设备及存储介质与流程

文档序号:35284080发布日期:2023-09-01 04:40阅读:41来源:国知局
一种数据变更方法、装置、设备及存储介质与流程

本发明涉及数据库,特别涉及一种数据变更方法、装置、设备及存储介质。


背景技术:

1、随着时代的变化,从信息化到互联网化时代,互联网技术与业务结合,激发商业模式的不断创新,衍生出各种技术交付实践方法(敏捷、精益、devops)来快速响应业务,提升业务交付效率,其中devops(development和operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(qa)部门之间的沟通、协作与整合,更注重dev和ops的融合,高度自动化的能力,使得构建、测试、发布软件能够更加地快捷、频繁和可靠。数据变更管理主要是指应用程序升级和回滚过程中的数据库结构和数据的变更。

2、在业务交付流程中,开发人员为了实现需求会产出数据变更脚本,在应用升级的时候,由专业dba人员(数据库管理员,database administrator,简称dba)在各个环境通过数据库终端软件连接数据库,手工去执行脚本完成数据库结构和数据的变更,最终完成应用的升级。现有技术会存在dba需要通过数据库终端软件连接多个环境的数据库中间件服务器,然后多次手工执行数据变更脚本到各个环境中。这种人为操作容易出现遗漏或重复执行的情况,会导致环境之间数据不一致。

3、由此可见,如何避免手动执行脚本完成数据变更,以及如何提高环境数据的一致性是本领域要解决的问题。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种数据变更方法、装置、设备及存储介质,能够避免数据库管理员手动执行脚本完成数据变更的过程,可以利用预设流水线触发相关数据变更操作,提高了脚本执行效率。其具体方案如下:

2、第一方面,本技术提供了一种数据变更方法,其特征在于,包括:

3、确定当前应用运行环境,并基于预先创建的应用运行环境与流水线之间的第一映射关系确定与所述当前应用运行环境对应的目标流水线;

4、基于预先创建的流水线与脚本组之间的第二映射关系从预设脚本存储服务器中查找与所述目标流水线对应的目标脚本组;

5、通过预设分发器将所述目标脚本组中的各脚本文件分发至预先创建的若干脚本执行机,并通过所述脚本执行机将接收到的所述脚本文件加载至相应的内存空间中,以便与所述脚本执行机对应的数据库服务器执行所述内存空间中的所述脚本文件,以完成相应数据库中的数据变更操作。

6、可选的,所述确定当前应用运行环境之前,还包括:

7、根据若干预设应用运行环境创建相应的若干流水线,并建立所述若干预设应用运行环境与所述若干流水线之间的映射关系,以得到所述第一映射关系;

8、根据所述若干预设应用运行环境生成相应的若干脚本组,并基于所述第一映射关系建立所述若干流水线与所述若干脚本组之间的映射关系,以得到所述第二映射关系。

9、可选的,所述根据所述若干预设应用运行环境生成相应的若干脚本组,包括:

10、基于所述若干预设应用运行环境生成若干脚本文件;

11、按照所述预设应用运行环境的类别对所述脚本文件进行分类得到若干所述脚本组,以将所述脚本组上传至所述预设脚本存储服务器。

12、可选的,所述基于预先创建的流水线与脚本组之间的第二映射关系从预设脚本存储服务器中查找与所述目标流水线对应的目标脚本组,包括:

13、基于预先创建的流水线与脚本组之间的第二映射关系确定所述目标脚本组的id信息;

14、基于所述目标脚本组的id信息查找所述目标脚本组在所述预设脚本存储服务器中对应的主键id;

15、利用所述主键id从所述预设脚本存储服务器中查找所述目标脚本组。

16、可选的,所述通过所述脚本执行机将接收到的所述脚本文件加载至相应的内存空间中,以便与所述脚本执行机对应的数据库服务器执行所述内存空间中的所述脚本文件,以完成相应数据库中的数据变更操作,包括:

17、确定与所述脚本文件对应的目标数据库;

18、通过所述脚本执行机将接收到的所述脚本文件加载至与所述目标数据库对应的所述内存空间中,以便与所述脚本执行机对应的所述数据库服务器执行所述内存空间中的所述脚本文件,以完成所述目标数据库中的数据变更操作。

19、可选的,与所述脚本执行机对应的数据库服务器执行所述内存空间中的所述脚本文件之后,还包括:

20、将已成功执行的所述脚本文件记录至预设已执行脚本记录表中。

21、可选的,与所述脚本执行机对应的数据库服务器执行所述内存空间中的所述脚本文件之后,还包括:

22、基于所述预设已执行脚本记录表中的记录信息确定所述目标脚本组中的所有脚本文件是否均已成功执行;

23、若否,则将所述目标脚本组中的与所述记录信息对应的已执行脚本文件剔除,得到当前待执行脚本文件;

24、通过所述预设分发器将所述当前待执行脚本文件分发至相应的若干所述脚本执行机,以触发针对所述当前待执行脚本文件的执行操作。

25、第二方面,本技术提供了一种数据变更装置,包括:

26、流水线确定模块,用于确定当前应用运行环境,并基于预先创建的应用运行环境与流水线之间的第一映射关系确定与所述当前应用运行环境对应的目标流水线;

27、脚本组查找模块,用于基于预先创建的流水线与脚本组之间的第二映射关系从预设脚本存储服务器中查找与所述目标流水线对应的目标脚本组;

28、脚本执行模块,用于通过预设分发器将所述目标脚本组中的各脚本文件分发至预先创建的若干脚本执行机,并通过所述脚本执行机将接收到的所述脚本文件加载至相应的内存空间中,以便与所述脚本执行机对应的数据库服务器执行所述内存空间中的所述脚本文件,以完成相应数据库中的数据变更操作。

29、第三方面,本技术提供了一种电子设备,包括:

30、存储器,用于保存计算机程序;

31、处理器,用于执行所述计算机程序以实现如上述的数据变更方法。

32、第四方面,本技术提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现如上述的数据变更方法。

33、由此可见,本技术可以确定当前应用运行环境,并基于预先创建的应用运行环境与流水线之间的第一映射关系确定与所述当前应用运行环境对应的目标流水线;然后基于预先创建的流水线与脚本组之间的第二映射关系从预设脚本存储服务器中查找与所述目标流水线对应的目标脚本组;再通过预设分发器将所述目标脚本组中的各脚本文件分发至预先创建的若干脚本执行机,并通过所述脚本执行机将接收到的所述脚本文件加载至相应的内存空间中,以便与所述脚本执行机对应的数据库服务器执行所述内存空间中的所述脚本文件,以完成相应数据库中的数据变更操作。这样一来,本技术可以预先创建流水线,以及相应的脚本文件,然后根据当前应用运行环境触发相应的流水线,以利用相应脚本文件实现目标数据库中的数据变更操作;这样可以避免由数据库管理人员手动执行脚本完成数据变更的过程,避免了人为操作容易出现遗漏或重复执行的情况,提高了数据变更操作的实现效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1