本发明专利技术公开了一种访问数据库的方法及装置,包括:共享数据库连接池在通过代理连接接收到来自应用系统的数据库操作请求后,通过与所述代理连接绑定的物理数据库连接,向数据库发送所述数据库操作请求;在通过所述物理数据库连接接收到数据库返回的操作结果后,将所述操作结果通过与所述物理数据库连接绑定的所述代理连接,向应用系统发送所述操作结果。本发明专利技术实施例避免了应用系统与数据库直接连接需要频繁建立、关闭的复杂操作,且与传统应用系统所使用的连接池不同,使用共享数据库连接池的方案,可增大共享的连接池最大连接数;进一步地,通过共享数据库连接池获取相应数据库的代理连接,可以满足多数据库数据操作场景的需要。
【技术实现步骤摘要】
本专利技术涉及计算机
,尤其涉及一种访问数据库的方法及装置。
技术介绍
随着互联网业务的发展,交易系统的业务量指数增长。同时,互联网业务经常进行促销活动,会导致某一时间段内交易量激增,出现交易高峰。交易系统目前普遍依赖数据库作为数据持久化的工具,一旦发生交易高峰的情况,数据库操作会成为瓶颈。数据库访问通常为应用系统直接向数据库请求连接,但是由于连接数量的限制,应用系统常需频繁建立、关闭连接,操作十分不便;而传统的数据库连接池资源也只对一个应用系统提供服务,当某个应用系统相对空闲时,数据库连接资源因为是预先分配的,无法被其他应用使用,造成资源的浪费,即交易高峰到来时,成为数据库操作的瓶颈,影响业务的服务受理能力,此外由于传统一个连接池的数据源只能操作一个数据库实例,因此无法满足一个应用系统访问多个数据库的需求。因此,现有技术中在出现交易量激增的情况下,应用系统连接分配不合理易造成连接资源的浪费,且由于传统一个连接池管理的数据源只能操作一个数据库实例,因此无法满足一个应用系统访问多个数据库的需求。
技术实现思路
本专利技术实施例提供一种访问数据库的方法及装置,用以解决现有技术中在出现交易量激增的情况下,应用系统连接分配不合理易造成连接资源的浪费,且由于传统一个连接池管理的数据源只能操作一个数据库实例,因此无法满足一个应用系统访问多个数据库的需求的问题。本专利技术实施例提供的一种访问数据库的方法,包括:共享数据库连接池在通过代理连接接收到来自应用系统的数据库操作请求后,通过与所述代理连接绑定的物理数据库连接,向数据库发送所述数据库操作请求;在通过所述物理数据库连接接收到数据库返回的操作结果后,将所述操作结果通过与所述物理数据库连接绑定的所述代理连接,向应用系统发送所述操作结果。本专利技术实施例应用系统通过代理连接向共享数据库连接池提交数据库操作,共享数据库连接池通过代理连接找到与所述代理连接绑定的物理数据库连接,向数据库发送所述数据库操作请求;避免了应用系统与数据库直接连接频繁建立、关闭的复杂操作,且与传统应用系统所使用的连接池不同,使用共享数据库连接池的方案,可增大共享的连接池最大连接数。可选的,通过代理连接接收到来自应用系统的数据库操作请求之前,还包括:在接收应用系统获取数据库连接的请求后,从共享连接池中取出空闲的物理数据库连接,并实例化一个代理连接,将得到的代理连接与应用系统进行连接;以及将与所述应用系统需要连接的数据库之间的物理数据库连接,与得到的代理连接进行绑定。本专利技术实施例将应用系统和共享数据库连接池间的代理连接与共享数据库连接池和数据库之间的物理数据库连接进行绑定,不仅有利于数据库连接资源的有效使用,而且也提高了数据库操作效率。可选的,在接收应用系统获取数据库连接的请求后,还包括:若当前没有空闲的物理数据库连接资源,且共享连接池与数据库之间的连接数量未达到最大连接数,则创建并初始化新的物理连接,并实例化一个代理连接,将得到的代理连接与应用系统进行连接;以及将与所述应用系统需要连接的数据库之间的物理数据库连接,与得到的代理连接进行绑定。本专利技术实施例中,在当前没有空闲的物理数据库连接资源分配给应用系统的情况下,如果共享数据库连接池与数据库之间的连接数量未达到最大连接数,则创建新的物理数据库连接,可以应对激增的数据库访问请求。可选的,在接收应用系统获取数据库连接的请求后,还包括:若当前没有空闲的物理数据库连接资源,且共享连接池与数据库之间的连接数量达到最大连接数,则等待有空闲的物理数据库连接资源后,从共享连接池中取出所述空闲的物理数据库连接,并实例化一个代理连接,将得到的代理连接与应用系统进行连接;以及将与所述应用系统需要连接的数据库之间的物理数据库连接,与得到的代理连接进行绑定。本专利技术实施例中,在当前没有空闲的物理数据库连接资源分配给应用系统的情况下,如果共享数据库连接池与数据库之间的连接数量达到最大连接数,则需等待空闲的物理数据库连接资源,一般,如果共享数据库连接池在处理完某个应用系统的数据库操作后,会及时将该连接资源回收,供其他应用系统请求使用。可选的,所述共享数据库连接池向应用系统发送所述操作结果之后,还包括:所述共享数据库连接池在所述应用系统释放所述应用系统与所述共享数据库连接池之间的代理连接后,删除所述代理连接与所述物理数据库连接的绑定关系,并回收所述物理数据库连接。本专利技术实施例中共享数据库连接池在处理完某个应用的数据库操作后,会及时将该连接回收,供其他应用请求使用。此时,如果另外一个应用提出数据库操作请求,该系统可以及时分配已归还的连接给新的请求使用。实现了数据库连接为多个应用复用。本专利技术实施例提供了一种访问数据库的装置,包括:连接池管理模块,用于在通过代理连接接收到来自应用系统的数据库操作请求后,通过与所述代理连接绑定的物理数据库连接,向数据库发送所述数据库操作请求;连接池数据返回模块,用于在通过所述物理数据库连接接收到数据库返回的操作结果后,将所述操作结果通过与所述物理数据库连接绑定的所述代理连接,向应用系统发送所述操作结果。可选的,所述连接池管理模块还用于:在接收应用系统获取数据库连接的请求后,从共享连接池中取出空闲的物理数据库连接,并实例化一个代理连接,将得到的代理连接与应用系统进行连接;以及将与所述应用系统需要连接的数据库之间的物理数据库连接,与得到的代理连接进行绑定。可选的,所述连接池管理模块还用于:若当前没有空闲的物理数据库连接资源,且共享连接池与数据库之间的连接数量未达到最大连接数,则创建并初始化新的物理连接,并实例化一个代理连接,将得到的代理连接与应用系统进行连接;以及将与所述应用系统需要连接的数据库之间的物理数据库连接,与得到的代理连接进行绑定。可选的,所述连接池管理模块还用于:若当前没有空闲的物理数据库连接资源,且共享连接池与数据库之间的连接数量达到最大连接数,则等待有空闲的物理数据库连接资源后,从共享连接池中取出所述空闲的物理数据库连接,并实例化一个代理连接,将得到的代理连接与应用系统进行连接;以及将与所述应用系统需要连接的数据库之间的物理数据库连接,与得到的代理连接进行绑定。可选的,所述连接池数据返回模块还用于:在所述应用系统释放所述本文档来自技高网...
【技术保护点】
一种访问数据库的方法,其特征在于,包括:共享数据库连接池在通过代理连接接收到来自应用系统的数据库操作请求后,通过与所述代理连接绑定的物理数据库连接,向数据库发送所述数据库操作请求;在通过所述物理数据库连接接收到数据库返回的操作结果后,将所述操作结果通过与所述物理数据库连接绑定的所述代理连接,向应用系统发送所述操作结果。
【技术特征摘要】
1.一种访问数据库的方法,其特征在于,包括:
共享数据库连接池在通过代理连接接收到来自应用系统的数据库操作请求
后,通过与所述代理连接绑定的物理数据库连接,向数据库发送所述数据库操
作请求;
在通过所述物理数据库连接接收到数据库返回的操作结果后,将所述操作
结果通过与所述物理数据库连接绑定的所述代理连接,向应用系统发送所述操
作结果。
2.根据权利要求1所述的方法,其特征在于,通过代理连接接收到来自应
用系统的数据库操作请求之前,还包括:
在接收应用系统获取数据库连接的请求后,从共享连接池中取出空闲的物
理数据库连接,并实例化一个代理连接,将得到的代理连接与应用系统进行连
接;以及
将与所述应用系统需要连接的数据库之间的物理数据库连接,与得到的代
理连接进行绑定。
3.根据权利要求2所述的方法,其特征在于,在接收应用系统获取数据库
连接的请求后,还包括:
若当前没有空闲的物理数据库连接资源,且共享连接池与数据库之间的连
接数量未达到最大连接数,则创建并初始化新的物理连接,并实例化一个代理
连接,将得到的代理连接与应用系统进行连接;以及
将与所述应用系统需要连接的数据库之间的物理数据库连接,与得到的代
理连接进行绑定。
4.根据权利要求3所述的方法,其特征在于,在接收应用系统获取数据库
连接的请求后,还包括:
若当前没有空闲的物理数据库连接资源,且共享连接池与数据库之间的连
接数量达到最大连接数,则等待有空闲的物理数据库连接资源后,从共享连接
\t池中取出所述空闲的物理数据库连接,并实例化一个代理连接,将得到的代理
连接与应用系统进行连接;以及
将与所述应用系统需要连接的数据库之间的物理数据库连接,与得到的代
理连接进行绑定。
5.根据权利要求1~4任一所述的方法,其特征在于,所述共享连接池向应
用系统发送所述操作结果之后,还包括:
所述共享连接池在所述应用系统释放所述应用系统与所述共享连接池之间
的代理连接后,删除所述代理连接与所述物理数据...
【专利技术属性】
技术研发人员:殷舒,刘胜,余兴华,
申请(专利权)人:联动优势科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。