一种数据库访问的控制方法、装置及电子设备制造方法及图纸

技术编号:20448676 阅读:12 留言:0更新日期:2019-02-27 02:51
本申请公开了一种数据库访问的控制方法、装置及电子设备。所述方法包括:获得第一数据库中用户标识对应的第m1个子数据库,及用户访问迁移后用户标识对应的第二数据库的第m2个子数据库;获得第二数据库包含的子数据库的数量k2;根据k2获得用户访问迁移过程中的灰度值;根据m1、m2及所述灰度值,将所述用户标识对应的用户访问请求从第一数据库逐步移到第二数据库的指定子数据库。在上述技术方案中,基于用户标识对应的第一数据库和第二数据库的子数据库及灰度值,将用户访问请求迁移到指定子数据库,从而解决了现有技术中用户访问迁移过程的正确性难以验证的技术问题,提高了用户访问迁移过程的可控性。

A Control Method, Device and Electronic Equipment for Database Access

This application discloses a control method, device and electronic device for database access. The method includes: obtaining the M1 sub-database corresponding to the user identification in the first database and the M2 sub-database corresponding to the second database corresponding to the user identification after the user accesses the migration; obtaining the number K2 of the sub-database contained in the second database; obtaining the gray value in the process of user accessing the migration according to k2; and corresponding the user identification according to the m1, m2 and the gray value. User access requests are gradually moved from the first database to the designated sub-database of the second database. In the above technical scheme, based on the sub-databases and gray values of the first database and the second database corresponding to the user identification, user access requests are migrated to the designated sub-database, which solves the technical problem that the correctness of user access migration process is difficult to verify in the existing technology, and improves the controllability of user access migration process.

【技术实现步骤摘要】
一种数据库访问的控制方法、装置及电子设备
本申请涉及数据库领域,特别涉及一种数据库访问的控制方法、装置及电子设备。
技术介绍
随着互联网技术的不断发展,信息量呈爆炸式增长,一段时间之后数据库需要进行扩容或者数据迁移,相应的用户访问请求也随着迁移,以更好的满足需求。为了在非停机状态下进行平稳、安全、可控的用户访问迁移,通常通过灰度的方式逐步完成迁移,如图1所示:在灰度内的用户迁移到新的数据库,该用户的用户访问请求迁移到新的数据库进行访问;在灰度外的用户的用户访问请求依然访问旧的数据库。现有技术中,用户访问迁移过程中的灰度方案通常是依据用户ID来实现。用户ID按灰度值取模,取模结果小于灰度值的用户进入灰度内,对应的用户访问请求迁移至新的数据库,访问新的数据库;取模结果大于等于灰度值的用户ID排除在灰度外,对应的用户访问请求继续访问旧库。这种用户ID按灰度值取模的方案,用户和用户访问请求离散分布在各个数据库中,灰度值逐渐增大的过程中,数据库的用户读写流量变化无法确定,难以验证迁移过程的正确性。
技术实现思路
本申请实施例提供一种数据库访问的控制方法、装置及电子设备,用于解决现有技术中难以验证数据迁移过程的正确性的技术问题。第一方面,本申请实施例提供一种数据库访问的控制方法,所述方法包括:获得第一数据库中用户标识对应的第m1个子数据库,及用户访问迁移后所述用户标识对应的第二数据库的第m2个子数据库;获得所述第二数据库包含的子数据库的数量k2;根据k2获得用户访问迁移过程中的灰度值;根据m1、m2及所述灰度值,将所述用户标识对应的用户访问请求从所述第一数据库逐步移到所述第二数据库的指定子数据库。可选的,所述根据m1、m2及所述灰度值,将所述用户表示对应的用户访问请求所访问的的数据库从所述第一数据库逐步迁移到所述第二数据库的指定子数据库,包括:步骤1:根据m1、m2及所述灰度值,将所述第一数据库的第1个子数据库中的所述用户标识对应的用户访问请求分n3次迁移至所述指定子数据库,1<n3≤k2;步骤2:根据m1、m2及所述灰度值,将所述第一数据库的第j个子数据库中的所有所述用户标识对应的用户访问请求一次迁移至所述指定子数据库,1<j≤k1,k1为所述第一数据库包含的子数据库的数量。可选的,所述方法还包括:在执行步骤1的过程中,获得每次用户访问请求迁移后,所述第一数据库的用户读写流量的减少量和所述第二数据库的用户读写流量的增加量;判断所述减少量与所述增加量是否相等;若所述减少量与所述增加量相等,确认当前的所述灰度值正确;若所述减少量与所述增加量不相等,确认当前的所述灰度值不正确,终止数据迁移,将已迁移的所述用户标识对应的用户访问请求回迁至所述第一数据库的第1个子数据库。可选的,所述方法还包括:在执行步骤2的过程中,在每次用户访问请求迁移后,获得所述第j个子数据库是否存在用户读写流量;若所述第j个子数据库不存在用户读写流量,确定当前的所述灰度值对应的数据迁移是彻底的。可选的,根据k2获得用户访问迁移过程中的灰度值,包括:获得n1×k2+n2作为所述灰度值,n1、n2为自然数、初始值为1,所述灰度值在迁移过程中逐步增大;所述根据m1、m2及所述灰度值,将所述用户标识对应的用户访问请求从所述第一数据库分批迁移到所述第二数据库的指定子数据库,包括:若m1×k2+m2<n1×k2+n2,将所述用户标识对应的用户访问请求从所述第一数据库的第m1个子数据库迁移至所述第二数据库的第m2个子数据库。可选的,所述获得n1×k2+n2作为所述灰度值,包括:在用户访问迁移过程的步骤1中,n1=1,n2从所述初始值逐次增加,直到n2=k2+1;在用户访问迁移过程的步骤2中,n2=k2+1,n1从所述初始值逐次增加,直到n1=k1,k1为所述第一数据库包含的子数据库的数量。第二方面、本说明书实施例提供一种数据库访问的控制装置,所述装置包括:第一获取单元,用于获得第一数据库中用户标识对应的第m1个子数据库,及用户访问迁移后所述用户标识对应的第二数据库的第m2个子数据库;第二获取单元,用于获得所述第二数据库包含的子数据库的数量k2;第三获取单元,用于根据k2获得用户访问迁移过程中的灰度值;迁移单元,用于根据m1、m2及所述灰度值,将所述用户标识对应的用户访问请求从所述第一数据库逐步移到所述第二数据库的指定子数据库。可选的,所述迁移单元,用于:步骤1:根据m1、m2及所述灰度值,将所述第一数据库的第1个子数据库中的所述用户标识对应的用户访问请求分n3次迁移至所述指定子数据库,1<n3≤k2;步骤2:根据m1、m2及所述灰度值,将所述第一数据库的第j个子数据库中的所有所述用户标识对应的用户访问请求一次迁移至所述指定子数据库,1<j≤k1,k1为所述第一数据库包含的子数据库的数量。可选的,所述装置还包括:第一监控单元,用于在执行步骤1的过程中,获得每次用户访问请求迁移后,所述第一数据库的用户读写流量的减少量和所述第二数据库的用户读写流量的增加量;判断所述减少量与所述增加量是否相等;若所述减少量与所述增加量相等,确认当前的所述灰度值正确;若所述减少量与所述增加量不相等,确认当前的所述灰度值不正确,终止数据迁移,将已迁移的所述用户标识对应的用户访问请求回迁至所述第一数据库的第1个子数据库。可选的,所述装置还包括:第二监控单元,用于在执行步骤2的过程中,在每次用户访问请求迁移后,获得所述第j个子数据库是否存在用户读写流量;若所述第j个子数据库不存在用户读写流量,确定当前的所述灰度值对应的数据迁移是彻底的。可选的,所述第三获取单元用于:获得n1×k2+n2作为所述灰度值,n1、n2为自然数、初始值为1,所述灰度值在迁移过程中逐步增大;所述迁移单元用于:若m1×k2+m2<n1×k2+n2,将所述用户标识对应的用户访问请求从所述第一数据库的第m1个子数据库迁移至所述第二数据库的第m2个子数据库。可选的,所述迁移单元还用于:在用户访问迁移过程的步骤1中,n1=1,n2从所述初始值逐次增加,直到n2=k2+1;在用户访问迁移过程的步骤2中,n2=k2+1,n1从所述初始值逐次增加,直到n1=k1,k1为所述第一数据库包含的子数据库的数量。第三方面、本说明书实施提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获得第一数据库中用户标识对应的第m1个子数据库,及用户访问迁移后所述用户标识对应的第二数据库的第m2个子数据库;获得所述第二数据库包含的子数据库的数量k2;根据k2获得用户访问迁移过程中的灰度值;根据m1、m2及所述灰度值,将所述用户标识对应的用户访问请求从所述第一数据库逐步移到所述第二数据库的指定子数据库。第四方面,本说明书实施例提供一种电子设备,包括:存储器以及一个或者一个以上的程序,其中,一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:获得第一数据库中用户标识对应的第m1个子数据库,及用户访问迁移后所述用户标识对应的第二数据库的第m2个子数据库;获得所述第二数据库包含的子数据库的数量k2;根据k2获得用户访问迁移过程中的灰度值;根据m1、m本文档来自技高网...

【技术保护点】
1.一种数据库访问的控制方法,其特征在于,所述方法包括:获得第一数据库中用户标识对应的第m1个子数据库,及用户访问迁移后所述用户标识对应的第二数据库的第m2个子数据库;获得所述第二数据库包含的子数据库的数量k2;根据k2获得用户访问迁移过程中的灰度值;根据m1、m2及所述灰度值,将所述用户标识对应的用户访问请求从所述第一数据库逐步移到所述第二数据库的指定子数据库。

【技术特征摘要】
1.一种数据库访问的控制方法,其特征在于,所述方法包括:获得第一数据库中用户标识对应的第m1个子数据库,及用户访问迁移后所述用户标识对应的第二数据库的第m2个子数据库;获得所述第二数据库包含的子数据库的数量k2;根据k2获得用户访问迁移过程中的灰度值;根据m1、m2及所述灰度值,将所述用户标识对应的用户访问请求从所述第一数据库逐步移到所述第二数据库的指定子数据库。2.如权利要求1所述的方法,其特征在于,所述根据m1、m2及所述灰度值,将所述用户标识对应的用户访问请求从所述第一数据库逐步迁移到所述第二数据库的指定子数据库,包括:步骤1:根据m1、m2及所述灰度值,将所述第一数据库的第1个子数据库中的所述用户标识对应的用户访问请求分n3次迁移至所述指定子数据库,其中,1<n3≤k2;步骤2:根据m1、m2及所述灰度值,将所述第一数据库的第j个子数据库中的所有所述用户标识对应的用户访问请求一次迁移至所述指定子数据库,其中,1<j≤k1,k1为所述第一数据库包含的子数据库的数量。3.如权利要求2所述的方法,其特征在于,所述方法还包括:在执行步骤1的过程中,获得每次用户标识对应的用户访问请求迁移后,所述第一数据库的用户读写流量的减少量和所述第二数据库的用户读写流量的增加量;判断所述减少量与所述增加量是否相等;若所述减少量与所述增加量相等,确认当前的所述灰度值正确;若所述减少量与所述增加量不相等,确认当前的所述灰度值不正确,终止数据迁移,将已迁移的所述用户标识对应的用户访问请求回迁至所述第一数据库的第1个子数据库。4.如权利要求2所述的方法,其特征在于,所述方法还包括:在执行步骤2的过程中,在每次用户标识对应的访问请求迁移后,获得所述第j个子数据库是否存在用户读写流量;若所述第j个子数据库不存在用户读写流量,确定当前的所述灰度值对应的数据迁移是彻底的。5.如权利要求1~4任一所述的方法,其特征在于,根据k2获得用户访问迁移过程中的灰度值,包括:获得n1×k2+n2作为所述灰度值,n1、n2为自然数、初始值为1,所述灰度值在迁移过程中逐步增大;所述根据m1、m2及所述灰度值,将所述用户标识对应的用户访问请求从所述第一数据库分批迁移到所述第二数据库的指定子数据库,包括:若m1×k2+m2<n1×k2+n2,将所述用户标识对应的用户访问请求从所述第一数据库的第m1个子数据库迁移至所述第二数据库的第m2个子数据库。6.如权利要求5所述的方法,其特征在于,所述获得n1×k2+n2作为所述灰度值,包括:在用户访问迁移过程的步骤1中,n1=1,n2从所述初始值逐次增加,直到n2=k2+1;在用户访问迁移过程的步骤2中,n2=k2+1,n1从所述初始值逐次增加,直到n1=k1,k1为所述第一数据库包含的子数据库的数量。7.一种数据库访问的控制装置,其特征在于,所述装置包括:第一获取单元,用于获得第一数据库中用户标识对应的第m1个子数据库,及用户访问迁移后所述用户标识对应的第二数据库的第m2个子数据库;第二获取单元,用于获得所述第二数据库包含的子数据库的数量k2;第三获取单元,用于根据k2获得用户访问迁移过程中的灰度值;迁移单元,用于根据m1、m2及所述灰度值,将所述用户标识对应的用户访问请...

【专利技术属性】
技术研发人员:马亚洲段新法陈希
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1