[发明专利]RAC多节点数据库查询方法、装置及系统有效
申请号: | 202010385499.8 | 申请日: | 2020-05-09 |
公开(公告)号: | CN111581234B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | 周师专;孙中军;周宝琛 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455;G06F16/27 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 谷敬丽;王天尧 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | rac 节点 数据库 查询 方法 装置 系统 | ||
1.一种RAC多节点数据库查询方法,其特征在于,包括:
接收客户发送的业务操作请求;
对所述业务操作请求进行分析,确定所述业务操作请求是否涉及数据库操作,若是,则从所述业务操作请求中提取Dao方法名和SQL语句;
根据所述Dao方法名从Redis缓存数据库中查询是否存在Dao方法的数据库连接信息,若是存在Dao方法的数据库连接信息,则根据所述Dao方法的数据库连接信息连接数据库,当连接成功时,执行SQL语句,从数据库中获取相应的数据并返回;
若是不存在Dao方法的数据库连接信息,则对所述SQL语句进行解析,获得目标数据表名,根据目标数据表名从Redis缓存数据库的数据表名和数据库RAC节点的映射关系中查询是否存在目标数据表名和数据库RAC节点的映射关系,若是存在目标数据表名和数据库RAC节点的映射关系,根据Redis缓存数据库的数据库RAC节点和数据库连接池的映射关系获取数据库连接信息,根据所述数据库连接信息连接数据库,当连接成功时,执行SQL语句,从数据库中获取相应的数据并返回;
若是不存在目标数据表名和数据库RAC节点的映射关系,则随机获取连接池,获得数据库连接信息,根据所述数据库连接信息连接数据库,当连接成功时,执行SQL语句,从数据库中获取相应的数据并返回。
2.如权利要求1所述的RAC多节点数据库查询方法,其特征在于,还包括:
根据业务操作配置多个连接池,多个连接池分别对应数据库的多个RAC节点,每个连接池中存储有数据库的连接信息。
3.如权利要求1所述的RAC多节点数据库查询方法,其特征在于,所述Redis缓存数据库中数据表名和数据库RAC节点的映射关系、数据库RAC节点和数据库连接池的映射关系以HashKey的格式存储。
4.如权利要求1所述的RAC多节点数据库查询方法,其特征在于,还包括:
在从数据库中获取相应的数据并返回后,在Redis缓存数据库中缓存相应的数据库连接信息。
5.如权利要求4所述的RAC多节点数据库查询方法,其特征在于,还包括:
设置Redis缓存数据库中缓存的相应的数据库连接信息的缓存时间。
6.如权利要求1所述的RAC多节点数据库查询方法,其特征在于,还包括:
若连接数据库失败,则选择其他数据库RAC节点进行连接,并基于选择连接后的数据库RAC节点,更新Redis缓存数据库中的数据表名和数据库RAC节点的映射关系。
7.一种RAC多节点数据库查询装置,其特征在于,包括:
请求接收模块,用于接收客户发送的业务操作请求,对所述业务操作请求进行分析,确定所述业务操作请求是否涉及数据库操作,若是,则从所述业务操作请求中提取Dao方法名和SQL语句;
缓存数据管理模块,用于根据所述Dao方法名从Redis缓存数据库中查询是否存在Dao方法的数据库连接信息;
连接池管理模块,用于若是存在Dao方法的数据库连接信息,则根据所述Dao方法的数据库连接信息连接数据库,当连接成功时,执行SQL语句,从数据库中获取相应的数据并返回;
SQL解析模块,用于若是不存在Dao方法的数据库连接信息,则对所述SQL语句进行解析,获得目标数据表名;
缓存数据管理模块还用于:根据目标数据表名从Redis缓存数据库的数据表名和数据库RAC节点的映射关系中查询是否存在目标数据表名和数据库RAC节点的映射关系,若是存在目标数据表名和数据库RAC节点的映射关系,根据Redis缓存数据库的数据库RAC节点和数据库连接池的映射关系获取数据库连接信息;
连接池管理模块还用于:根据所述数据库连接信息连接数据库,当连接成功时,执行SQL语句,从数据库中获取相应的数据并返回;若是不存在目标数据表名和数据库RAC节点的映射关系,则随机获取连接池,获得数据库连接信息,根据所述数据库连接信息连接数据库,当连接成功时,执行SQL语句,从数据库中获取相应的数据并返回。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010385499.8/1.html,转载请声明来源钻瓜专利网。