【技术实现步骤摘要】
数据库升级方法及装置
[0001]本专利技术实施例涉及数据库数据处理
,尤其涉及一种数据库升级方法及装置。
技术介绍
[0002]随着互联网和微服务技术的发展,分布式数据库、缓存、消息队列等业务中间件的应用已逐渐成为常态,随之而来的则是服务部署难度的提升和服务升级流程的繁琐,而当微服务系统需要以产品的形式部署到客户侧时,其服务部署与维护上所面临的障碍尤甚。
[0003]现有的解决方案主要将目光聚焦于数据库这一维度,根据其具体实现方案又大致分为两种:一种是通过服务自身对其运行过程中依赖的数据库信息进行细粒度检查和确认,并在适当情况下主动执行数据库的初始化和升级动作,从而保证数据库信息的时效性与完整性;另一种是在服务自身或采用附加服务的方法,于服务启动期间集中执行初始化动作,包括对数据库的状态自检、新增配置脚本的增量执行等。前者的优点在于,服务对数据库的使用实现了“按需调整、自动创建”的目的,在应用上基本无需在部署或升级服务时单独处现数据库方面的问题;但其不足之处也很明显:其数据库定义是分散的,藕合在具体的业务之中,难以形成一个宏观而集中的数据库描述视图,在业务需求较为简单时能够为数据库管理提供方便,而一旦业务复杂度上升,其管理难度会骤增。后者通过聚合数据定义文件来为管理维护提供便利:由于数据定义等描述文件是集中管理的,技术人员可以依据服务配置、版本间的差异来自动化执行增量操作,在服务变动时也能快速了解其宏观视图。
[0004]例如专利申请号CN201911034730.2提出的升级方案,将数据库升 ...
【技术保护点】
【技术特征摘要】
1.一种数据库升级方法,其特征在于,包括:获取微服务注册时携带的元信息,并依据该元信息获得该微服务对应的数据库目标版本;获取预设的数据库当前版本;根据所述数据库当前版本是否为数据库原始版本,以及数据库当前版本与数据库目标版本的关系获得从数据库当前版本升级至数据库目标版本的升级路径;所述原始版本为距离数据库当前版本和数据库目标版本最近的公共历史版本。2.根据权利要求1所述的方法,其特征在于,根据所述数据库当前版本与数据库目标版本的关系获得从数据库当前版本升级至数据库目标版本的升级路径,包括:若该数据库当前版本为数据库原始版本,则根据所述数据库目标版本获得从数据库原始版本升级至数据库目标版本的升级路径;若该数据库当前版本不为数据库原始版本,则获取数据库原始版本至数据库当前版本的第一路径和数据库原始版本至数据库目标版本的第二路径,并对所述第一路径和第二路径进行对照,依据对照结果确定从数据库当前版本升级至数据库目标版本的升级路径。3.根据权利要求3所述的方法,其特征在于,根据所述数据库目标版本获得从数据库原始版本升级至数据库目标版本的升级路径,包括:获取从数据库原始版本X0.Y0至数据库目标版本XC.YD的所有路径,所述路径包括以数据库原始版本X0.Y0为起点,数据库目标版本XC.YD为终点,所经历的所有版本的有序集合,其中每一个版本都为前一个版本的相邻升级版本;在所获取的所有路径中选择最短路径作为升级路径;其中,所述数据库的版本包括X0.Y0
……
XC.YD
……
XM.YN,M>C>0,N>D>0;X0
……
XC
……
XM分别表示数据库在第一层级进行升级的版本,Y0
……
YD
……
YN分别表示数据库在各自对应的第一层级的生命周期中进行升级的衍生版本;所述相邻升级版本包括在第一层级进行升级的版本和在第一层级的生命周期中进行衍生升级的版本。4.根据权利要求3所述的方法,其特征在于,对所述第一路径和第二路径进行对照,依据对照结果确定从数据库当前版本升级至数据库目标版本的升级路径,包括:获取第一路径中涉及的第一元变更集合;获取第二路径中涉及的第二元变更集合;若所述第一元变更集合与所述第二元变更集合中存在互斥的元变更,则对所述第一路径中涉及互斥的元变更的版本进行回撤操作,并获得从回撤后的版本升级至数据库目标版本的升级路径;若所述第一元变更集合与所述第二元变更集合中不存在互斥的元变更,则根据所述数据库目标版本获得从数据库当前版本升级至数据库目标版本的升级路径;其中,元变更表示数据库升级时对数据库中表单进行的单步操作,回撤操作表示从当前版本退回至前一相邻版本。5.根据权利要求4所述的方法,其特征在于,对所述第一路径和第二路径进行对照,依据对照结果确定从数据库当前版本升级至数据库目标版本的升级路径,还包括:若所述第一元变更集合与所述第二元变更集合中存在互斥的元变更,采用处理函数对
第一路径进行处理。6.根据权利要求3
‑
5任意一项所述的...
【专利技术属性】
技术研发人员:王瑾琨,姚纪卫,张东升,
申请(专利权)人:安芯网盾北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。