[发明专利]用于切换数据库的方法和装置有效
申请号: | 201310529458.1 | 申请日: | 2013-10-31 |
公开(公告)号: | CN104598463B | 公开(公告)日: | 2018-06-15 |
发明(设计)人: | 段新法;欧昀;余俊;胡君园;刘帅 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许志勇 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本申请提供用于切换数据库的方法和装置。该方法包括:将第一数据库中的数据映射到第二数据库中;将针对一应用的服务器划分为第一服务部分和第二服务部分,使得第一服务部分使用第一数据库来针对用户的数据处理请求执行数据处理,并且第二服务部分使用第二数据库来针对用户的数据处理请求执行数据处理;以及在保持将第一数据库的数据实时同步到第二数据库的情况下,将用户的数据处理请求逐渐从第一服务部分切换到第二服务部分,以最终完全由第二服务部分针对用户的数据处理请求执行数据处理。由此可以在不影响用户使用或者用户感知不到的情况下实现快速且平滑地切换数据库。 1 | ||
搜索关键词: | 数据库 数据处理请求 数据处理 服务 方法和装置 实时同步 数据映射 影响用户 用户感知 平滑 服务器 申请 应用 | ||
将第一数据库中的数据映射到第二数据库中;
将针对一应用的服务器划分为第一服务部分和第二服务部分,使得所述第一服务部分使用所述第一数据库来针对用户的数据处理请求执行数据处理,并且所述第二服务部分使用所述第二数据库来针对用户的数据处理请求执行数据处理,所述用户的数据处理请求是所述针对一应用的服务器接收的数据处理请求;以及
在保持将第一数据库的数据实时同步到第二数据库的情况下,将用户的数据处理请求逐渐从第一服务部分切换到第二服务部分,以最终完全由所述第二服务部分针对用户的数据处理请求执行数据处理。
2.根据权利要求1所述的方法,其特征在于,所述将针对一应用的服务器划分为第一服务部分和第二服务部分的步骤进一步包括:根据服务器的版本号来将服务器划分为第一服务部分和第二服务部分。
3.根据权利要求1所述的方法,其特征在于,所述将用户的数据处理请求逐渐从第一服务部分切换到第二服务部分,以最终完全由所述第二服务部分针对用户的数据处理请求执行数据处理的步骤进一步包括:根据用户的标识和数据处理请求的类型,将用户的数据处理请求逐渐从第一服务部分切换到第二服务部分,以最终完全由所述第二服务部分针对用户的数据处理请求执行数据处理。
4.根据权利要求3所述的方法,其特征在于,所述根据用户的标识和数据处理请求的类型,将用户的数据处理请求逐渐从第一服务部分切换到第二服务部分,以最终完全由所述第二服务部分针对用户的数据处理请求执行数据处理的步骤进一步包括:针对每个数据处理请求类型的数据处理请求执行以下操作:
根据用户标识来将同一类型的数据处理请求分成至少一个数据处理请求分组;
在每个数据处理请求分组中,逐个地将数据处理请求从第一服务部分转发给第二服务部分来处理并验证处理的正确性;以及
当验证通过的数据处理请求的数目超过预定阈值时,将所述数据处理请求分组中的所有数据处理请求从第一服务部分切换给第二服务部分来处理。
5.根据权利要求4所述的方法,其特征在于,所述验证处理包括:根据用户的反馈来判断对数据处理请求的处理是否正确。
6.根据权利要求4所述的方法,其特征在于,所述数据处理请求的类型包括:读请求类型和写请求类型。7.根据权利要求6所述的方法,其特征在于,先针对读请求类型的数据处理请求执行上述操作,再针对写请求类型的数据处理请求执行上述操作。8.根据权利要求1‑7中任一项所述的方法,其特征在于,还包括:将第一服务部分和第二服务部分整合在一起,以共同使用第二数据库来针对用户的数据处理请求执行数据处理。
9.根据权利要求8所述的方法,其特征在于,所述将第一服务部分和第二服务部分整合在一起,共同使用第二数据库来针对用户的数据处理请求执行数据处理的步骤进一步包括:将第二服务部分的版本号修改为与第一服务部分的版本号相同,并且将第一服务部分修改为使用第二数据库来针对用户的数据处理请求执行数据处理。
10.一种用于切换数据库的装置,其特征在于,包括:映射模块,用于将第一数据库中的数据映射到第二数据库中;
划分模块,用于将针对一应用的服务器划分为第一服务部分和第二服务部分,使得所述第一服务部分使用所述第一数据库来针对用户的数据处理请求执行数据处理,并且所述第二服务部分使用所述第二数据库来针对用户的数据处理请求执行数据处理,所述用户的数据处理请求是所述针对一应用的服务器接收的数据处理请求;以及
切换模块,用于在保持将第一数据库的数据实时同步到第二数据库的情况下,将用户的数据处理请求逐渐从第一服务部分切换到第二服务部分,以最终完全由所述第二服务部分针对用户的数据处理请求执行数据处理。
11.根据权利要求10所述的装置,其特征在于,所述划分模块进一步包括:版本号划分子模块,用于根据服务器的版本号来将服务器划分为第一服务部分和第二服务部分。
12.根据权利要求10所述的装置,其特征在于,所述切换模块根据用户的标识和数据处理请求的类型,将用户的数据处理请求逐渐从第一服务部分切换到第二服务部分,以最终完全由所述第二服务部分针对用户的数据处理请求执行数据处理。13.根据权利要求12所述的装置,其特征在于,所述切换模块进一步包括:切换子模块,用于针对每个数据处理请求类型的数据处理请求执行以下操作:根据用户标识来将同一类型的数据处理请求分成至少一个数据处理请求分组;
在每个数据处理请求分组中,逐个地将数据处理请求从第一服务部分转发给第二服务部分来处理并验证处理的正确性;以及
当验证通过的数据处理请求的数目超过预定阈值时,将所述数据处理请求分组中的所有数据处理请求从第一服务部分切换给第二服务部分来处理。
14.根据权利要求13所述的装置,其特征在于,所述验证处理包括:根据用户的反馈来判断对数据处理请求的处理是否正确。
15.根据权利要求13所述的装置,其特征在于,所述数据处理请求的类型包括:读请求类型和写请求类型。16.根据权利要求15所述的装置,其特征在于,所述切换子模块先针对读请求类型的数据处理请求执行上述操作,再针对写请求类型的数据处理请求执行上述操作。17.根据权利要求10‑16中任一项所述的装置,其特征在于,还包括:整合模块,用于将第一服务部分和第二服务部分整合在一起,以共同使用第二数据库来针对用户的数据处理请求执行数据处理。
18.根据权利要求17所述的装置,其特征在于,所述整合模块进一步包括:修改子模块,用于将第二服务部分的版本号修改为与第一服务部分的版本号相同,并且将第一服务部分修改为使用第二数据库来针对用户的数据处理请求执行数据处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310529458.1/,转载请声明来源钻瓜专利网。