[发明专利]数据库中间件及其实现客户端与服务器连接的方法有效
申请号: | 202011537589.0 | 申请日: | 2020-12-23 |
公开(公告)号: | CN112612834B | 公开(公告)日: | 2022-08-02 |
发明(设计)人: | 周健身;苗健;卢健;张鲁敏;李鹏 | 申请(专利权)人: | 瀚高基础软件股份有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F9/50 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 罗丹 |
地址: | 250101 山东省济南市高新*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 中间件 及其 实现 客户端 服务器 连接 方法 | ||
本发明公开了一种数据库中间件及其实现客户端与服务器连接的方法。数据库中间件实现客户端与服务器连接的方法,包括:创建最小空闲服务子进程数的服务子进程;服务子进程接收客户端的连接请求,并根据连接请求将客户端连接至服务器;当空闲的服务子进程的个数小于最小空闲服务子进程数时,再次创建最小空闲子进程数的服务子进程,直至达到最大服务子进程数限制;当空闲的服务子进程的个数大于最大空闲服务子进程数时,回收部分空闲的服务子进程。采用本发明,可以动态的创建维护连接服务子进程,既能在开始时减少计算机资源的浪费,又能在客户端连接数增多时,增加服务子进程的数量,为更多的客户端服务,从而可以提高整个数据库服务系统的性能。
技术领域
本发明涉及数据库中间件领域,尤其涉及一种数据库中间件及其实现客户端与服务器连接的方法。
背景技术
数据库中间件位于数据库服务器和数据库客户端的中间位置。客户端直接将sql语句发往中间件由中间件去操作底层的数据库并将结果返回。中间件一般提供有集群管理、连接池、sql语句路由等功能。
中间件的连接池具有保存到后端数据库连接的特性;对于大量客户端频繁的连接,断开的操作,连接池能够减少数据库服务器的连接建立次数,能够提高数据库服务器的效率。因此连接池是中间件中一个重要的功能点。对于连接池的设计,postgresql社区中的pgpool中间件实现了连接池的功能。Pgpool启动时,创建固定数目(例如32个)连接服务子进程等待客户端的连接,在每个子进程中维护有各自的连接池。但是pgpool实现的连接池有如下的缺点:
1、中间件启动后,开启的服务子进程数固定不变。启动时,开启数量较大的连接服务子进程会造成计算机资源的浪费,降低了中间件的性能。开启数量较小的连接服务子进程会引起客户端的并发连接数减少。
2、每个子进程对连接池的信息分别进行保存,导致连接池内的连接复用性不强。只有在连接的子进程客户端断开连接后,下次再由该子进程接收相同参数的连接才可复用,连接能够被复用的概率低。
3、复用率低同时增加了中间件连接到数据库服务器的连接数量,加大的数据库服务器的连接负载。
4、只支持会话级的连接,当会话空闲时会导致连接浪费,降低服务器的性能。
发明内容
本发明实施例提供一种数据库中间件及其实现客户端与服务器连接的方法,用以解决现有技术中数据库中间件工作效率低的问题。
根据本发明实施例的数据库中间件实现客户端与服务器连接的方法,包括:
创建最小空闲服务子进程数的服务子进程;
所述服务子进程接收客户端的连接请求,并根据所述连接请求将所述客户端连接至服务器;
当空闲的服务子进程的个数小于所述最小空闲服务子进程数时,再次创建所述最小空闲子进程数的服务子进程,直至达到最大服务子进程数限制;
当空闲的服务子进程的个数大于最大空闲服务子进程数时,回收部分空闲的服务子进程。
根据本发明的一些实施例,所述方法还包括:
初始化一个所有进程共享的全局连接池,所述全局连接池包括多个连接槽位,每个所述连接槽位用于存储一条客户端与服务器之间的连接信息,所述连接信息包括客户端的用户名、服务器的数据库名、访问时间、连接标识信息。
根据本发明的一些实施例,所述根据所述连接请求将所述客户端连接至服务器,包括:
基于所述连接请求,在所述全局连接池中查找是否有可复用的连接,若有,则复用该连接,否则,创建连接,并将连接信息保存至所述全局连接池。
根据本发明的一些实施例,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于瀚高基础软件股份有限公司,未经瀚高基础软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011537589.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种拆卸式腔镜吻合器
- 下一篇:一种新型阻火栅缠绕机