[发明专利]用于多实例数据库负载的数据库连接池平衡方法及系统有效
申请号: | 202010401591.9 | 申请日: | 2020-05-13 |
公开(公告)号: | CN111562987B | 公开(公告)日: | 2023-03-21 |
发明(设计)人: | 官元峰 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F16/27 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 李昆蔚 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 实例 数据库 负载 数据库连接 平衡 方法 系统 | ||
1.一种用于多实例数据库负载的数据库连接池平衡方法,其特征在于,包括:
在配置bean初始化的过程中读取连接池的配置文件,所述配置文件中包含连接池的配置属性和配置值;
将所述配置属性中jdbc.urlVars配置项的配置值以预设排列方法拆分成字符串组;
使用所述配置属性中jdbc.urlTemplate配置项的内容作为模板,把所述模板中的var变量替换成所述字符串组;
根据与数据库连接的连接池数量,从所述模板的字符串组中按照预设读取规则读取元素,根据所述元素为每个连接池分配数据库实例地址,与对应的数据库建立连接。
2.根据权利要求1所述的用于多实例数据库负载的数据库连接池平衡方法,其特征在于,将所述配置属性中jdbc.urlVars配置项的配置值以预设排列方法拆分成字符串组,具体包括:
读取所述配置属性中jdbc.urlVars配置项的每个数据库实例地址,按照全排列的方式将每个数据库实例地址进行排列,得到字符串组。
3.根据权利要求1所述的用于多实例数据库负载的数据库连接池平衡方法,其特征在于,从所述模板的字符串组中按照预设读取规则读取元素,具体包括:
从所述模板的字符串组中按照随机或轮询的读取规则读取元素。
4.根据权利要求1所述的用于多实例数据库负载的数据库连接池平衡方法,其特征在于,所述元素为以预设符号分隔的多个数据库实例地址。
5.根据权利要求1至4中任一项所述的用于多实例数据库负载的数据库连接池平衡方法,其特征在于,还包括:
在连接池运行过程中,接收新加入的连接池的连接请求;
从所述模板的字符串组中按照预设读取规则读取元素,根据所述元素为所述新加入的连接池分配数据库实例地址,与对应的数据库建立连接。
6.一种用于多实例数据库负载的数据库连接池平衡系统,其特征在于,包括:
读取单元,用于在配置bean初始化的过程中读取连接池的配置文件,所述配置文件中包含连接池的配置属性和配置值;
排列单元,用于将所述配置属性中jdbc.urlVars配置项的配置值以预设排列方法拆分成字符串组;
替换单元,用于使用所述配置属性中jdbc.urlTemplate配置项的内容作为模板,把所述模板中的var变量替换成所述字符串组;
平衡单元,用于根据与数据库连接的连接池数量,从所述模板的字符串组中按照预设读取规则读取元素,根据所述元素为每个连接池分配数据库实例地址,与对应的数据库建立连接。
7.根据权利要求6所述的用于多实例数据库负载的数据库连接池平衡系统,其特征在于,所述排列单元具体用于读取所述配置属性中jdbc.urlVars配置项的每个数据库实例地址,按照全排列的方式将每个数据库实例地址进行排列,得到字符串组。
8.根据权利要求6所述的用于多实例数据库负载的数据库连接池平衡系统,其特征在于,所述平衡单元具体用于从所述模板的字符串组中按照随机或轮询的读取规则读取元素。
9.根据权利要求6所述的用于多实例数据库负载的数据库连接池平衡系统,其特征在于,所述元素为以预设符号分隔的多个数据库实例地址。
10.根据权利要求6至9中任一项所述的用于多实例数据库负载的数据库连接池平衡系统,其特征在于,还包括:接收单元,用于在连接池运行过程中,接收新加入的连接池的连接请求;
所述平衡单元还用于从所述模板的字符串组中按照预设读取规则读取元素,根据所述元素为所述新加入的连接池分配数据库实例地址,与对应的数据库建立连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010401591.9/1.html,转载请声明来源钻瓜专利网。