连接池中的连接管理方法及装置制造方法及图纸

技术编号:19068029 阅读:23 留言:0更新日期:2018-09-29 14:56
本公开是关于连接池中的连接管理方法及装置。该方法包括:接收用户请求,执行确定可用连接的步骤;其中,确定可用连接的步骤包括:检测连接池对中的连接数量为固定值的第一连接池中是否有可用的第一连接;当检测到第一连接池中包括可用的第一连接时,使用可用的第一连接作为可用连接;可用的第一连接为第一连接池中空闲的连接;当检测到第一连接池中不包括可用的第一连接时,从连接池对中的连接数量为可变更值的第二连接池中获取可用的第二连接,使用第二连接作为可用连接;当从第二连接池中获取可用的第二连接失败时,将下一个连接池对作为新的连接池对,返回执行确定可用连接的步骤。在获取到可用连接时,使用可用连接响应用户请求。

【技术实现步骤摘要】
连接池中的连接管理方法及装置
本公开涉及通信
,尤其涉及连接池中的连接管理方法及装置。
技术介绍
数据库中的连接是一种关键的且有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。当并发用户较大时,许多相同的连接将反复地被打开和关闭,浪费了数据库大量的系统资源,降低了访问效率。在传统的连接模式中,客户端程序在启动时打开连接,在退出程序时关闭连接。这样,在整个程序运行中,每个客户端始终占用一个连接,即使在大量没有操作的空闲时间,如用户输入数据时,从而造成连接的使用效率低下。连接池管理的模式可以有效的解决连接使用效率低的问题,在连接池管理模式中,当用户真正需要进行操作时,才从连接池申请一个连接,用户操作完毕,连接立即释放到连接池中,以供其他用户使用。这样,不仅大大提高了连接的使用效率,使得大量用户可以共享较少的连接,而且省去了建立连接的时间。
技术实现思路
为克服相关技术中存在的问题,本公开实施例提供连接池中的连接管理方法及装置。所述技术方案如下:根据本公开实施例的第一方面,提供一种连接池中的连接管理方法,包括:接收用户请求;执行确定可用连接的步骤;其中,所述确定可用连接的步骤包括:检测连接池对中的第一连接池中是否有可用的第一连接;所述连接池对中包括第一连接池和第二连接池;所述第一连接池中的连接数量为固定值;所述第二连接池中的连接数量为可变更值;当检测到所述第一连接池中包括可用的第一连接时,使用所述可用的第一连接作为所述可用连接;所述可用的第一连接为所述第一连接池中空闲的连接;当检测到所述第一连接池中不包括可用的第一连接时,从所述第二连接池中获取可用的第二连接,使用所述第二连接作为所述可用连接;当从所述第二连接池中获取可用的第二连接失败时,将下一个连接池对作为新的连接池对,返回执行所述确定可用连接的步骤;在获取到所述可用连接时,使用所述可用连接响应所述用户请求。本公开的实施例提供的技术方案可以包括以下有益效果:接收用户请求,执行确定可用连接的步骤;其中,确定可用连接的步骤包括:检测连接池对中的第一连接池中是否有可用的第一连接;连接池对中包括第一连接池和第二连接池;第一连接池中的连接数量为固定值;第二连接池中的连接数量为可变更值;当检测到第一连接池中包括可用的第一连接时,使用可用的第一连接作为可用连接;可用的第一连接为第一连接池中空闲的连接;当检测到第一连接池中不包括可用的第一连接时,从第二连接池中获取可用的第二连接,使用第二连接作为可用连接;当从第二连接池中获取可用的第二连接失败时,将下一个连接池对作为新的连接池对,返回执行确定可用连接的步骤。在获取到可用连接时,使用可用连接响应用户请求。在流量增加时,会出现第一连接池中没有可用的第一连接来响应用户请求的情况,在此时,可以通过第二连接池获取可以响应用户请求的可用连接,以达到尽快响应每个用户请求的需求,从而使得系统能有效适应流量波动的同时还提升了用户体验。在一个实施例中,所述从所述第二连接池中获取可用的第二连接,包括:当所述第二连接池中包括空闲的第二连接时,确定所述空闲的第二连接为所述可用的第二连接;当所述第二连接池中不包括空闲的第二连接时,在所述第二连接池中新建第二连接作为所述可用的第二连接。在一个实施例中,所述方法还包括:监测所述第二连接池中的第二连接处于空闲状态的时间值;当所述时间值大于预设时间阈值时,释放所述第二连接所占用的资源,并删除所述第二连接。在一个实施例中,所述方法还包括:当检测到所有所述连接池对中均不包括可用的连接时,输出提示消息;所述提示消息提示获取用于响应所述用户请求的连接失败。在一个实施例中,所述执行确定可用连接的步骤之前,所述方法还包括:获取当前用于选择连接池对的选择策略;当所述选择策略为第一预设策略时,从所有所述连接池对中随机选择一个可用的连接池对用于执行上述确定可用的连接的步骤;当所述选择策略为第二预设策略时,从所有所述连接池对中选择第一个可用的连接池对首次执行上述确定可用的连接的步骤。在一个实施例中,所述使用所述可用连接响应所述用户请求之后,所述方法还包括:当所述用户请求响应完成后,检测所述可用连接是否有效;当检测到所述可用连接有效时,将所述可用连接放入对应的连接池中;当检测到所述可用连接无效时,删除所述可用连接。根据本公开实施例的第二方面,提供一种连接池中的连接管理装置,包括:接收模块,用于接收用户请求;执行模块,用于执行确定可用连接的步骤;其中,所述确定可用连接的步骤包括:检测连接池对中的第一连接池中是否有可用的第一连接;所述连接池对中包括第一连接池和第二连接池;所述第一连接池中的连接数量为固定值;所述第二连接池中的连接数量为可变更值;当检测到所述第一连接池中包括可用的第一连接时,使用所述可用的第一连接作为所述可用连接;所述可用的第一连接为所述第一连接池中空闲的连接;当检测到所述第一连接池中不包括可用的第一连接时,从所述第二连接池中获取可用的第二连接,使用所述第二连接作为所述可用连接;当从所述第二连接池中获取可用的第二连接失败时,将下一个连接池对作为新的连接池对,返回执行所述确定可用连接的步骤;响应模块,用于在所述执行模块获取到所述可用连接时,使用所述可用连接响应所述接收模块接收到的所述用户请求。在一个实施例中,所述执行模块包括:确定子模块和新建子模块;所述确定子模块,用于当所述第二连接池中包括空闲的第二连接时,确定所述空闲的第二连接为所述可用的第二连接;所述新建子模块,用于当所述第二连接池中不包括空闲的第二连接时,在所述第二连接池中新建第二连接作为所述可用的第二连接。在一个实施例中,所述装置还包括:监测模块和释放模块;所述监测模块,用于监测所述第二连接池中的第二连接处于空闲状态的时间值;所述释放模块,用于当所述监测模块监测到所述时间值大于预设时间阈值时,释放所述第二连接所占用的资源,并删除所述第二连接。在一个实施例中,所述装置还包括:输出模块;所述输出模块,用于当检测到所有所述连接池对中均不包括可用的连接时,输出提示消息;所述提示消息提示获取用于响应所述用户请求的连接失败。在一个实施例中,所述装置还包括:获取模块、第一选择模块和第二选择模块;所述获取模块,用于获取当前用于选择连接池对的选择策略;所述第一选择模块,用于当所述获取模块获取的所述选择策略为第一预设策略时,从所有所述连接池对中随机选择一个连接池对用于执行上述确定可用的连接的步骤;所述第二选择模块,用于当所述获取模块获取的所述选择策略为第二预设策略时,从所有所述连接池对中选择第一个可用的连接池对首次执行上述确定可用的连接的步骤。在一个实施例中,所述装置还包括:检测模块、放入模块和删除模块;所述检测模块,用于当所述响应模块对所述用户请求响应完成后,检测所述可用连接是否有效;所述放入模块,用于当所述检测模块检测到所述可用连接有效时,将所述可用连接放入对应的连接池中;所述删除模块,用于当所述检测模块检测到所述可用连接无效时,删除所述可用连接。根据本公开实施例的第三方面,提供一种连接池中的连接管理装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置本文档来自技高网...

【技术保护点】
1.一种连接池中的连接管理方法,其特征在于,包括:接收用户请求;执行确定可用连接的步骤;其中,所述确定可用连接的步骤包括:检测连接池对中的第一连接池中是否有可用的第一连接;所述连接池对中包括第一连接池和第二连接池;所述第一连接池中的连接数量为固定值;所述第二连接池中的连接数量为可变更值;当检测到所述第一连接池中包括可用的第一连接时,使用所述可用的第一连接作为所述可用连接;所述可用的第一连接为所述第一连接池中空闲的连接;当检测到所述第一连接池中不包括可用的第一连接时,从所述第二连接池中获取可用的第二连接,使用所述第二连接作为所述可用连接;当从所述第二连接池中获取可用的第二连接失败时,将下一个连接池对作为新的连接池对,返回执行所述确定可用连接的步骤;在获取到所述可用连接时,使用所述可用连接响应所述用户请求。

【技术特征摘要】
1.一种连接池中的连接管理方法,其特征在于,包括:接收用户请求;执行确定可用连接的步骤;其中,所述确定可用连接的步骤包括:检测连接池对中的第一连接池中是否有可用的第一连接;所述连接池对中包括第一连接池和第二连接池;所述第一连接池中的连接数量为固定值;所述第二连接池中的连接数量为可变更值;当检测到所述第一连接池中包括可用的第一连接时,使用所述可用的第一连接作为所述可用连接;所述可用的第一连接为所述第一连接池中空闲的连接;当检测到所述第一连接池中不包括可用的第一连接时,从所述第二连接池中获取可用的第二连接,使用所述第二连接作为所述可用连接;当从所述第二连接池中获取可用的第二连接失败时,将下一个连接池对作为新的连接池对,返回执行所述确定可用连接的步骤;在获取到所述可用连接时,使用所述可用连接响应所述用户请求。2.根据权利要求1所述的方法,其特征在于,所述从所述第二连接池中获取可用的第二连接,包括:当所述第二连接池中包括空闲的第二连接时,确定所述空闲的第二连接为所述可用的第二连接;当所述第二连接池中不包括空闲的第二连接时,在所述第二连接池中新建第二连接作为所述可用的第二连接。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:监测所述第二连接池中的第二连接处于空闲状态的时间值;当所述时间值大于预设时间阈值时,释放所述第二连接所占用的资源,并删除所述第二连接。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当检测到所有所述连接池对中均不包括可用的连接时,输出提示消息;所述提示消息提示获取用于响应所述用户请求的连接失败。5.根据权利要求1所述的方法,其特征在于,所述执行确定可用连接的步骤之前,所述方法还包括:获取当前用于选择连接池对的选择策略;当所述选择策略为第一预设策略时,从所有所述连接池对中随机选择一个可用的连接池对用于执行上述确定可用的连接的步骤;当所述选择策略为第二预设策略时,从所有所述连接池对中选择第一个可用的连接池对首次执行上述确定可用的连接的步骤。6.根据权利要求1所述的方法,其特征在于,所述使用所述可用连接响应所述用户请求之后,所述方法还包括:当所述用户请求响应完成后,检测所述可用连接是否有效;当检测到所述可用连接有效时,将所述可用连接放入对应的连接池中;当检测到所述可用连接无效时,删除所述可用连接。7.一种连接池中的连接管理装置,其特征在于,包括:接收模块,用于接收用户请求;执行模块,用于执行确定可用连接的步骤;其中,所述确定可用连接的步骤包括:检测连接池对中的第一连接池中是否有可用的第一连接;所述连接池对中包括第一连接池和第二连接池;所述第一连接池中的连接数量为固定值;所述第二连接池中的连接数量为可变更值;当检测到所述第一连接池中包括可用的第一连接时,使用所述可用的第一连接作为所述可用连接;所述可用的第一连接为所述第一连接池中空闲的连接;当检测到所述第一连接池中不包括可用的第一连接时,从所述第二连接池中获取可用的第二连接,使用所述第二连接作为所述可用连接;当从所述第二连接池中获取可用的第二连接失败时,将下一个连接池对作为新的连接池对,返回...

【专利技术属性】
技术研发人员:孙立晟
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京,11

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

1