【技术实现步骤摘要】
基于代理模式的分库分表切换方法、装置及系统
本申请实施例涉及计算机
,尤其涉及一种基于代理模式的分库分表切换方法、装置及系统。
技术介绍
随着时间和业务的发展,数据库中的表会越来越多,表中的数据量也会越来越大。这无疑对数据库造成了相当大的负载,影响系统的稳定性和性能。将原来的单库单表切换成分库分表是解决此类问题最常用有效的方法。现有技术中,每一次需要将单库单表切换成分库分表时,都需要重新编辑两套逻辑代码,其中一套为业务读/写以旧库为主,异步写入新库的逻辑代码。另一套为读/写业务以新库为主,异步写入旧库的逻辑代码。这两套逻辑代码都是定制化的逻辑代码,不能针对不同的业务实现通用,灵活性差。一旦业务代码存在调整,则这两套代码同样需要进行调整,也即是耦合业务代码,增加切换过程中的复杂性,导致需要漫长的切换时间。那么,如何才能实现业务分库分表读/写逻辑代码能够通用、提高灵活性,并且与业务代码解耦,降低切换过程中的复杂性,减少切换时间成为本申请所要解决的技术问题。
技术实现思路
鉴于此,为解决现有技术中的技术问 ...
【技术保护点】
1.一种基于代理模式的分库分表切换方法,其特征在于,所述方法包括:/n加载预配置的数据源配置文件,根据所述数据源配置文件生成链接并存入数据源集合中;/n接收业务逻辑层传递的预配置的数据源标识;/n根据预配置的数据读/写操作指令以及所述数据源标识,从所述数据源集合中获取与所述数据源标识对应的数据源链接,并根据所述数据源链接获取与所述数据源标识对应的数据源中的数据;/n根据所述数据读/写操作指令以及预配置的数据源指示指令,对所述数据源中的数据执行分库分表读/写操作,其中,所述数据源指示指令用于指示执行不同业务数据读/写操作时,读/写与当前所述数据读/写操作指令对应的数据源中的数据。/n
【技术特征摘要】
1.一种基于代理模式的分库分表切换方法,其特征在于,所述方法包括:
加载预配置的数据源配置文件,根据所述数据源配置文件生成链接并存入数据源集合中;
接收业务逻辑层传递的预配置的数据源标识;
根据预配置的数据读/写操作指令以及所述数据源标识,从所述数据源集合中获取与所述数据源标识对应的数据源链接,并根据所述数据源链接获取与所述数据源标识对应的数据源中的数据;
根据所述数据读/写操作指令以及预配置的数据源指示指令,对所述数据源中的数据执行分库分表读/写操作,其中,所述数据源指示指令用于指示执行不同业务数据读/写操作时,读/写与当前所述数据读/写操作指令对应的数据源中的数据。
2.根据权利要求1所述的方法,其特征在于,当根据第一数据源配置文件生成的链接包括多个时,在所述数据源集合中配置第一链接池,用以承载与所述第一数据源配置文件对应的链接,其中,所述第一数据源配置文件为加载预配置的数据源配置文件中的任一个数据源配置文件。
3.根据权利要求1或2所述的方法,其特征在于,所述预配置的数据读/写操作指令包括:读旧数据库逻辑指令、写旧数据库逻辑指令、异步写入新数据库逻辑指令、读新数据库逻辑指令、写新数据库逻辑指令以及异步写入旧数据库逻辑指令。
4.根据权利要求3所述的方法,其特征在于,所述数据源包括新数据库中的数据对应的新数据源,以及旧数据库中的数据对应的旧数据源;所述数据源指示指令包括:新数据源调用指令以及旧数据源调用指令;
所述根据预配置的数据读/写操作指令,以及所述数据源标识,从所述数据源集合中获取与所述数据源标识对应的数据源链接,并根据所述数据源链接获取所述数据源中的数据,具体包括:
在第一阶段,根据所述新数据源调用指令,以及与新数据源对应的数据源标识,从所述数据源集合中获取新数据源链接,并根据所述新数据源链接获取所述新数据源中的数据;
在第二阶段,根据所述旧数据源调用指令,以及与旧数据源对应的数据源标识,从所述数据源集合中获取旧数据源链接,并根据所述旧数据源链接获取所述旧数据源中的数据。
5.根据权利要求4所述的方法,其特征在于,所述根据所述数据读/写操作指令以及预配置的数据源指示指令,对所述数据源中的数据执行分库分表读/写操作,具体包括:
在所述第一阶段,根据所述写旧数据库逻辑指令,将所述新数据源中的数据写入所述旧数据库;以及,根据所述异步写入新数据库逻辑指令,和所述读旧数据库逻辑指令,读取所述旧数据库中的数据后,将所述旧数据库中的数据异步写入所述新数据库;
直至所述旧数据库中的数据与所述新数据库中的数据达到数据一致性时,进入所述第二阶段;
在所述第二阶段,根据所述写新数据库逻辑指令,将所述新数据源中的数据...
【专利技术属性】
技术研发人员:谭造乐,
申请(专利权)人:微民保险代理有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。