一种数据库灰度发布的方法及电子设备与流程

文档序号:34138952发布日期:2023-05-12 20:31阅读:199来源:国知局
一种数据库灰度发布的方法及电子设备与流程

本发明涉及数据库领域,尤其涉及一种数据库灰度发布的方法及电子设备。


背景技术:

1、目前,随着互联网技术的发展,涌现了各种类型的采购系统,这样的采购系统基本上每周都会有不同的需求上线,这些需求大部分都会涉及到数据表结构变更,比如增加非空字段、删除字段、字段类型修改、数据清洗、数据迁移等操作。

2、对于采购系统的数据库更新,如果在线上直接执行相关的变更语句,则会直接影响到用户的操作和体验,那么,如何能够在不影响用户的操作和体验的前提下完成这些操作是本发明需要解决的技术问题。

3、针对上述提出的技术问题,本发明提供一种数据库灰度发布的方法。


技术实现思路

1、有鉴于此,本发明实施例提供一种数据库灰度发布方法及电子设备,能够解决在线上更新数据库的过程中相关数据的清洗、迁移等导致的影响用户操作和体验,以及其他相关的数据查询报错的技术问题,并实现线上更新数据库时对用户无感知,以及准确完成数据库更新的技术效果。

2、第一方面,本发明实施例提供一种数据库灰度发布方法,包括:

3、灰度发布平台维护灰度发布策略,并基于所述灰度发布策略和原始表创建与所述原始表相对应的影子表,其中,所述灰度发布平台存储所述原始表与所述影子表之间的映射关系表;

4、灰度服务单元从所述灰度发布平台获取所述灰度发布策略和所述映射关系表,并且,基于所述灰度发布策略确定数据转换逻辑;

5、在启动灰度服务时,将所述数据转换逻辑注册到数据读取适配器;

6、所述数据读取适配器基于所述数据转换逻辑发起适配服务,以便获取所述原始表中的相关数据,并将所述原始表中的相关数据发送至所述灰度服务单元;

7、所述灰度服务单元接收所述原始表中的相关数据,并且,基于所述数据转换逻辑对所述原始表中的相关数据进行数据清洗,将通过数据清洗后的所述原始表中的相关数据更新至所述影子表;

8、在所述灰度服务期间,通过拦截器替换所有基于所述原始表的访问,其中,所述访问包括sql访问。

9、根据本发明实施例的一种具体实现方式,所述数据读取适配器基于所述数据转换逻辑发起所述适配服务,以便获取所述原始表中的相关数据,包括:

10、在监控到所述灰度服务启动完成之后,基于所述数据转换逻辑,实时发起适配服务,以便获取所述原始表中的全量数据和增量数据。

11、根据本发明实施例的一种具体实现方式,所述将所述原始表中的相关数据发送至灰度服务单元,包括:

12、所述数据读取适配器通过所述适配服务获取所述原始表中的相关数据之后,解析所述原始表中的相关数据,并基于应用关系表将解析后的相关数据发送至所述灰度服务单元;

13、其中,所述应用关系表表示所述数据转换逻辑与应用的对应关系。

14、根据本发明实施例的一种具体实现方式,所述数据读取适配器包括canaladapter。

15、根据本发明实施例的一种具体实现方式,所述数据清洗包括以下至少一项:

16、数据的增加;

17、数据的删除;

18、数据的修改。

19、根据本发明实施例的一种具体实现方式,当所述灰度发布平台监控到所述原始表与所述影子表的同步位点之差小于测试阈值时,切换测试流量进入所述灰度服务,以开启测试流程。

20、根据本发明实施例的一种具体实现方式,在完成所述测试流程之后,所述灰度发布平台继续监控所述原始表与所述影子表的同步位点之差,当所述同步位点之差小于发布阈值时,切换全部流量进入所述灰度服务,并且,关闭发布服务。

21、第二方面,本发明实施例提供一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现前述任一实现方式所述的方法。

22、第三方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明任一实施方式所述的方法。

23、本发明实施例提供的一种数据库灰度发布的方法及电子设备,基于构建的影子表与原始表之间的对应关系,并结合基于灰度发布策略确定数据转换逻辑,通过数据读取适配器的辅助来实现数据库的线上更新,能够解决现有技术中在线上更新数据库的过程中相关数据的清洗、迁移等导致的影响用户操作和体验,以及其他相关的数据查询报错的技术问题,并实现线上更新数据库时对用户无感知,以及准确完成数据库更新的技术效果。



技术特征:

1.一种数据库灰度发布的方法,其特征在于,所述方法包括:

2.如权利要求1所述的数据库灰度发布的方法,其特征在于,所述数据读取适配器基于所述数据转换逻辑发起适配服务,以便获取所述原始表中的相关数据,包括:

3.如权利要求1所述的数据库灰度发布的方法,其特征在于,所述将所述原始表中的相关数据发送至灰度服务单元,包括:

4.如权利要求1-3中任一项所述的数据库灰度发布的方法,其特征在于,所述数据读取适配器包括canal adapter。

5.如权利要求1-3中任一项所述的数据库灰度发布的方法,其特征在于,所述数据清洗包括以下至少一项:

6.如权利要求1所述的数据库灰度发布的方法,其特征在于,当所述灰度发布平台监控到所述原始表与所述影子表的同步位点之差小于测试阈值时,切换测试流量进入所述灰度服务,以开启测试流程。

7.如权利要求6所述的数据库灰度发布的方法,其特征在于,在完成所述测试流程之后,所述灰度发布平台继续监控所述原始表与所述影子表的同步位点之差,当所述同步位点之差小于发布阈值时,切换全部流量进入所述灰度服务,并且,关闭发布服务。

8.一种电子设备,其特征在于,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述权利要求1至7任一项所述的方法。


技术总结
本发明的实施例公开一种数据库灰度发布的方法及电子设备,包括:灰度发布平台创建与所述原始表相对应的影子表,并存储所述原始表与所述影子表之间的映射关系表;灰度服务单元从所述灰度发布平台获取所述灰度发布策略和所述映射关系表;在启动灰度服务时,将所述数据转换逻辑注册到数据读取适配器;并将所述原始表中的相关数据发送至所述灰度服务单元;所述灰度服务单元基于所述数据转换逻辑对所述原始表中的相关数据进行数据清洗,将通过数据清洗后的所述原始表中的相关数据更新至所述影子表;在所述灰度服务期间,通过拦截器替换所有基于所述原始表的访问。本发明能实现线上更新数据库时对用户无感知且准确完成数据库更新的技术效果。

技术研发人员:石玉军
受保护的技术使用者:北京商越网络科技有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1