一种基于标签的数据库读写分离控制方法、装置及存储介质制造方法及图纸

技术编号:37996705 阅读:32 留言:0更新日期:2023-06-30 10:10
本发明专利技术提出了一种基于标签的数据库读写分离控制方法、装置及存储介质,该方法包括:将透传数据添加在RPC的参数中,所述透传数据包含RPC调用的多个函数访问的多个数据库标签,根据所述多个数据库标签定义数据库访问切面,其中每个数据库标签对应一个数据库访问切面;在所述RPC调用堆栈的线程本地变量中保存数据库调用栈,所述数据库调用栈用于保存所述多个数据库标签;基于RPC调用的函数确定需要访问的数据库标签,从所述调用栈中加载对应的数据库标签,基于所述数据库标签获取数据库访问切面的访问链接,将所述访问链接发送至所述RPC的调用的函数;所述RPC的调用的函数基于所述访问链接访问对应的数据库。提高了数据库访问的灵活性。的灵活性。的灵活性。

【技术实现步骤摘要】
一种基于标签的数据库读写分离控制方法、装置及存储介质


[0001]本专利技术涉及数据库访问控制
,具体涉及一种基于标签的数据库读写分离控制方法、装置及存储介质。

技术介绍

[0002]数据库读写分离是指在一些产品线业务逻辑复杂的系统中,针对系统业务数据的访问,各个业务线不同的接口、微服务和网关,对于数据库访问的需求并不一致。有些强一致性的业务,需要访问核心数据主库;而有些非强一致性的业务数据,需要访问到数据库的备份从库,以减轻主数据库的压力。
[0003]目前市面上一般都是基于中间件的方式进行主从数据库的读写分离。通过业务代码直接访问中间件,根据中间件的配置自动决定需要访问的是数据库主库还是从库。其存在如下的缺陷:
[0004]1、无法针对特定的业务,特定的方法调用进行读写分离控制;
[0005]2、无法对基于微服务的整条调用链路,进行更细粒度的读写分离控制;
[0006]3、研发人员无法在代码中更快速、更方便、更灵活地指定需要访问的数据库。
[0007]总之,市面上现有的数据库读写分离中间件虽然都本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于标签的数据库读写分离控制方法,其特征在于,该方法包括:透传步骤,将透传数据添加在RPC的参数中,所述透传数据包含RPC调用的多个函数访问的多个数据库标签,根据所述多个数据库标签定义数据库访问切面,其中每个数据库标签对应一个数据库访问切面;设置步骤,在所述RPC调用堆栈的线程本地变量中保存数据库调用栈,所述数据库调用栈用于保存所述多个数据库标签;AOP切面获取步骤,基于RPC调用的函数确定需要访问的数据库标签,从所述调用栈中加载对应的数据库标签,基于所述数据库标签获取数据库访问切面的访问链接,将所述访问链接发送至所述RPC的调用的函数;访问步骤,所述RPC的调用的函数基于所述访问链接访问对应的数据库。2.根据权利要求1所述的方法,其特征在于,所述多个数据库标签至少包括只读、主数据库和从数据库。3.根据权利要求2所述的方法,其特征在于,所述基于RPC调用的函数确定需要访问的数据库标签的操作包括:获取RPC调用的函数,对所述函数的代码进行解析获得解析代码,判断所述解析代码中是否存在控制数据库访问的访问标识,如果是,则将所述代码中存在的访问标识与所述调用栈中保存的所述多个数据库标签进行匹配,如果匹配成功,则将匹配成功的数据库标签作为需要访问的数据库标签。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:清理步骤,在所述RPC的调用的函数访问对应的数据库完成后,在内存中清理所述数据库的访问链接的数据。5.根据权利要求4所述的方法,其特征在于,在清理所述访问链接的数据时,判断所述RPC的调用的函数后续是否访问所述数据库访问切面,如果是,则保留所述访问链接的数据,否则删除所述访问链接的数据。...

【专利技术属性】
技术研发人员:高能力郑保顺梅国赠许友正伍晓军胡豪杰苏晓奇
申请(专利权)人:智业互联厦门健康科技有限公司
类型:发明
国别省市:

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

1