System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及数据库,具体的涉及灰度切流,更具体地涉及一种数据库切流方法、装置、设备、存储介质和程序产品。
技术介绍
1、在进行数据库迁移时,因为部署架构的调整,新服务要做相应的适配改造。为了在切流前充分验证新服务,相关技术中一般需要新旧服务的调用方进行灰度适配改造,如果为了避免外围应用修改,需要增加一个灰度引流层,由新增的灰度引流层进行引流。这种方式需要调整外围系统,增加系统复杂度。
2、需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
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、根据本公开的实施例,所述灰度白名单包括服务id和用户信息,所述服务重定向子模块包括:匹配单元、路由单元和调用单元。
32、匹配单元,英语根据服务调用请求信息匹配所述灰度白名单;
33、路由单元,用于若确定所述服务调用请求命中所述灰度白名单,则将所述服务调用请求路由至目标数据库集群进行处理;以及
34、调用单元,用于若确定所述服务调用请求未命中所述灰度白名单,则根据所述服务调用请求调用源数据库集群的业务功能。
35、根据本公开的实施例,所述切流模块包括第二确定子模块、第三确定子模块和第四确定子模块。
36、第二确定子模块,用于根据所述交易监控数据确定交易成功率;
37、第三确定子模块,用于若确定所述交易成功率大于第一预设阈值,则按照所述引流规则进行交易爬坡;以及
38、第四确定子模块,用于若确定所述交易成功率小于第二预设阈值,则将流量整体回切至源数据库集群处理。
39、根据本公开的实施例,所述装置还包括:第一数据同步模块。
40、第一数据同步模块,用于开启源数据库到目标数据库的正向同步。
41、根据本公开的实施例,所述装置还包括:第二数据同步模块。
42、第二数据同步模块用于在完成切流后,停止源数据库服务;以及启动目标数据库到源数据库的反向增量同步。
43、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述数据库切流方法。
44、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述数据库切流方法。
45、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据库切流方法。
46、通过本公开的实施例提供的一种数据库切流方法,响应于源数据库的服务调用请求,通过灰度引流构件对所述服务调用请求进行服务重定向,所述灰度引流构件预先配置有引流规则;轮询获取引流后的交易监控数据;以及根据所述交易监控数据和所述引流规则进行切流。相较于相关技术,本公开实施例提供的方法通过灰度引流构件对源数据库的服务调用请求进行拦截引流重定向,并自动监控引流后的交易数据,根据监控交易数据的成功率进行切流,解决了在进行数据库迁移时,降低整体改造风险,降低系统改造复杂度并支持具备系统自动快速回切能力。
本文档来自技高网...【技术保护点】
1.一种数据库切流方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述通过灰度引流构件对所述服务调用请求进行服务重定向包括:
3.根据权利要求2所述的方法,其特征在于,所述灰度白名单包括服务ID和用户信息,所述根据所述灰度白名单对所述服务调用请求进行服务重定向包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述交易监控数据和所述引流规则进行切流包括:
5.根据权利要求1所述的方法,其特征在于,在通过灰度引流构件对所述服务调用请求进行服务重定向之前,还包括:
6.根据权利要求4所述的方法,其特征在于,还包括:
7.一种数据库切流装置,其特征在于,所述装置包括:
8.一种电子设备,包括:
9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~6中任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~6中任一项所述的方法。
【技术特征摘要】
1.一种数据库切流方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述通过灰度引流构件对所述服务调用请求进行服务重定向包括:
3.根据权利要求2所述的方法,其特征在于,所述灰度白名单包括服务id和用户信息,所述根据所述灰度白名单对所述服务调用请求进行服务重定向包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述交易监控数据和所述引流规则进行切流包括:
5.根据权利要求1所述的方法,其特征在于,在通...
【专利技术属性】
技术研发人员:廖宸,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。