System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据库管理,尤其是涉及一种数据库版本统一管理方法和系统。
技术介绍
1、数据库版本管理是开发和运维过程中重要的环节,可以规范化数据库变更版本管理,对开发和运维都有深远的影响。
2、在软件开发和运维过程中,数据库版本管理是一项重要的工作,关系到数据库变更管控和审计。而随着微服务的发展,服务越来越多,同时不同服务也可能拥有不同的开发语言和不同的数据库,从而不同的数据库版本包含的脚本也不尽相同,而现有技术在对数据库进行版本管理的过程中无法有效地将脚本执行操作从客户端剥离,导致脚本在某些情况下无法正确执行,增加脚本执行情况的判断难度,从而使得系统性能下降。
3、由此可见,如何对数据库版本进行统一管理,已经成为本领域技术人员所要亟待解决的技术问题。
技术实现思路
1、本专利技术提供一种数据库版本统一管理方法和系统,以解决如何对数据库版本进行统一管理,以满足在微服务环境下,多服务多开发语言多数据源的场景需求。
2、为了解决上述技术问题,本专利技术实施例提供了一种数据库版本统一管理方法,包括:
3、分别获取各个不同版本的数据库对应的数据库脚本,其中,所述数据库脚本由每一所述数据库中的本地微服务资源目录中抽取得到;
4、对各个所述数据库脚本进行自动上传,所述自动上传支持客户端组件集成和非侵入性集成两种模式;
5、在测试环境中,执行上传后的各个所述数据库脚本,并将执行结果进行发布;
6、部署由发布结果生
7、在所述生产环境中,基于预设的微服务编排顺序对各个所述数据库脚本在确认的执行顺序下进行调度,以实现对各个不同版本的数据库的管理。
8、进一步地,所述对各个所述数据库脚本进行自动上传,所述自动上传支持客户端组件集成和非侵入性集成两种模式,包括:
9、将各个所述数据库脚本与对应的本地微服务进行关联,以进行数据库执行脚本和数据库回滚脚本的自动上传;所述自动上传的非侵入性集成模式仅在微服务启动时通过命令动态注入客户端组件以实现所述自动上传。
10、进一步地,所述基于预设的微服务编排顺序对各个所述数据库脚本在确认的执行顺序下进行调度,包括:
11、对所述数据库脚本对应的微服务执行顺序进行编排,并根据编排结果确认第一执行顺序;
12、在所述第一执行顺序下,将所述数据库脚本按照预设的命名规则进行命名,并根据命名后的所述数据库脚本的版本号大小确认第二执行顺序;
13、按照所述第二执行顺序对所述数据库脚本进行执行调度。
14、进一步地,所述对各个所述数据库脚本在确认的执行顺序下进行调度,还包括:
15、对所述数据库脚本通过手工触发或自动触发的方式执行调度。
16、进一步地,还包括:
17、对各个所述数据库脚本进行调度的过程中,通过多维度查询数据库的变更审计日志视图;所述变更审计日志视图中存储有所述数据库脚本的执行情况。
18、本专利技术另一实施例提供了一种数据库版本统一管理系统,包括:
19、数据库脚本获取模块,用于分别获取各个不同版本的数据库对应的数据库脚本,其中,所述数据库脚本由每一所述数据库中的本地微服务资源目录中抽取得到;
20、数据库脚本上传模块,用于对各个所述数据库脚本进行自动上传,所述自动上传支持客户端组件集成和非侵入性集成两种模式;
21、数据库脚本测试模块,用于在测试环境中,执行上传后的各个所述数据库脚本,并将执行结果进行发布;
22、部署启动模块,用于部署由发布结果生成的调度源码,以启动生产环境;
23、数据库脚本调度模块,用于在所述生产环境中,基于预设的微服务编排顺序对各个所述数据库脚本在确认的执行顺序下进行调度,以实现对各个不同版本的数据库的管理。
24、进一步地,所述数据库脚本上传模块,具体用于:
25、将各个所述数据库脚本与对应的本地微服务进行关联,以进行数据库执行脚本和数据库回滚脚本的自动上传;所述自动上传的非侵入性集成模式仅在微服务启动时通过命令动态注入客户端组件以实现所述自动上传。
26、进一步地,所述数据库脚本调度模块,具体用于:
27、对所述数据库脚本对应的微服务执行顺序进行编排,并根据编排结果确认第一执行顺序;
28、在所述第一执行顺序下,将所述数据库脚本按照预设的命名规则进行命名,并根据命名后的所述数据库脚本的版本号大小确认第二执行顺序;
29、按照所述第二执行顺序对所述数据库脚本进行执行调度。
30、进一步地,所述数据库脚本调度模块,还用于:
31、对所述数据库脚本通过手工触发或自动触发的方式执行调度。
32、进一步地,所述系统还包括审计日志视图模块,具体用于:
33、对各个所述数据库脚本进行调度的过程中,通过多维度查询数据库的变更审计日志视图;所述变更审计日志视图中存储有所述数据库脚本的执行情况。
34、相比于现有技术,本专利技术实施例的有益效果在于以下所述中的至少一点:
35、本专利技术实施例构建了一个可以满足微服务环境下,多服务多开发语言多数据源场景需求的数据库版本统一管理,通过利用微服务架构,快速集成到微服务环境中,将脚本执行操作从客户端剥离。支持界面操作和客户端自动上传执行两种方式,可满足不同开发语言的微服务。同时支持从微服务、数据库脚本、开发人员几个维度为数据库版本管理提供完整的审计视图。
本文档来自技高网...【技术保护点】
1.一种数据库版本统一管理方法,其特征在于,包括:
2.如权利要求1所述的数据库版本统一管理方法,其特征在于,所述对各个所述数据库脚本进行自动上传,所述自动上传支持客户端组件集成和非侵入性集成两种模式,包括:
3.如权利要求1所述的数据库版本统一管理方法,其特征在于,所述基于预设的微服务编排顺序对各个所述数据库脚本在确认的执行顺序下进行调度,包括:
4.如权利要求1所述的数据库版本统一管理方法,其特征在于,所述对各个所述数据库脚本在确认的执行顺序下进行调度,还包括:
5.如权利要求1所述的数据库版本统一管理方法,其特征在于,还包括:
6.一种数据库版本统一管理系统,其特征在于,所述系统包括:
7.如权利要求6所述的数据库版本统一管理系统,其特征在于,所述数据库脚本上传模块,具体用于:
8.如权利要求6所述的数据库版本统一管理系统,其特征在于,所述数据库脚本调度模块,具体用于:
9.如权利要求6所述的数据库版本统一管理系统,其特征在于,所述数据库脚本调度模块,还用于:
10.
...【技术特征摘要】
1.一种数据库版本统一管理方法,其特征在于,包括:
2.如权利要求1所述的数据库版本统一管理方法,其特征在于,所述对各个所述数据库脚本进行自动上传,所述自动上传支持客户端组件集成和非侵入性集成两种模式,包括:
3.如权利要求1所述的数据库版本统一管理方法,其特征在于,所述基于预设的微服务编排顺序对各个所述数据库脚本在确认的执行顺序下进行调度,包括:
4.如权利要求1所述的数据库版本统一管理方法,其特征在于,所述对各个所述数据库脚本在确认的执行顺序下进行调度,还包括:
5.如权利要求1所述的数据...
【专利技术属性】
技术研发人员:余德杰,林德雄,高文国,
申请(专利权)人:高新兴科技集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。