[发明专利]业务请求处理方法和装置有效
申请号: | 201410854779.3 | 申请日: | 2014-12-31 |
公开(公告)号: | CN104572974B | 公开(公告)日: | 2018-10-12 |
发明(设计)人: | 朱超;陈非;王超 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 兰淑铎 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务请求 空闲连接 连接池 业务请求处理 方法和装置 数据库 应用 业务请求发送 数据库处理 数据库发送 用户接收 重复发送 拦截 终端 发送 保存 失败 网络 保证 | ||
本发明提供了一种业务请求处理方法和装置,其中,所述方法包括:拦截应用向数据库发送的业务请求;判断连接池中是否存在与所述数据库的空闲连接;若不存在,则保存所述业务请求,并按照设定规则持续判断所述连接池中是否存在所述与所述数据库的空闲连接,直至所述连接池中出现所述空闲连接;选择出现的所述空闲连接,并使用选择的所述空闲连接将所述业务请求发送至数据库。通过本发明,应用只需发送一次业务请求,即可保证业务请求被数据库处理,既能够避免用户接收到业务请求失败的消息导致使用体验降低,又能够避免应用重复发送业务请求,因此,既能够降低应用所在终端以及网络的操作负担又能够提升用户的使用体验。
技术领域
本发明涉及数据处理技术领域,特别是涉及一种业务请求处理方法和装置。
背景技术
目前,在关系型数据库系统以及非分布式数据库系统中主要采用应用与数据库直连的架构。这种架构的数据库系统在处理业务请求时,应用直接向数据库发送业务请求,数据库返回相应的响应结果至应用。
采用现有的这种业务请求处理方案,当数据库当前处理的业务请求数量达到数据库可支持的上限(数据库的连接数达到上限),在有新的应用向数据库发送业务请求时,数据库接收到业务请求后由于没有空闲的连接可提供给该应用,因此,会返回业务请求失败的消息至该应用。而该应用在接收到请求失败的消息后,会再次向数据库发送业务请求,而如果数据库仍没有空闲的连接则会再次返回业务请求失败的消息至该应用。该应用以及数据库会重复上述操作,直至数据库中出现空闲的连接提供给该应用进行业务请求处理。
可见,现有的这种业务请求处理方案,当数据库当前处理的业务请求数量达到数据库可支持的上限,在有新的应用向数据库发送业务请求时,一方面,由于数据库直接向该应用返回业务请求失败的消息,因此,会影响用户的使用体验。同时,使用该应用需要重复发送业务请求直至请求成功,在影响用户的使用体验的同时也会增加应用所在终端以及网络的操作负担。另一方面,由于数据库要重复多次判断是否存在空闲连接以及向应用返回业务请求失败的消息,同样也会增加数据库的操作负担。
发明内容
鉴于上述现有的问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的业务请求处理方法和装置。
依据本发明的一个方面,提供了一种业务请求处理方法,包括:拦截应用向数据库发送的业务请求;判断连接池中是否存在与所述数据库的空闲连接;若不存在,则保存所述业务请求,并按照设定规则持续判断所述连接池中是否存在所述与所述数据库的空闲连接,直至所述连接池中出现所述空闲连接;选择出现的所述空闲连接,并使用选择的所述空闲连接将所述业务请求发送至所述数据库。
根据本发明的另一方面,提供了一种业务请求处理装置,所述业务请求处理装置包括:第一拦截模块,用于拦截应用装置向数据库装置发送的业务请求;判断模块,用于判断连接池中是否存在与数据库装置之间的空闲连接;第一执行模块,用于若所述判断模块的判断结果为不存在空闲连接时,则保存所述业务请求,并按照设定规则持续判断所述连接池中是否存在所述与所述数据库装置之间的空闲连接,直至所述连接池中出现所述空闲连接;发送模块,用于选择出现的所述空闲连接,并使用选择的所述空闲连接将所述业务请求发送至所述数据库装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410854779.3/2.html,转载请声明来源钻瓜专利网。