一种数据库连接池的管理方法、装置及系统制造方法及图纸

技术编号:16456072 阅读:20 留言:0更新日期:2017-10-25 20:36
本发明专利技术提供一种数据库连接池的管理方法、装置及系统,该方法包括:接收应用程序组件发送的申请数据库连接池的请求;判断共享数据库连接池组件中是否保存应用程序组件访问数据库的信息对应的数据库连接池;如果是,将应用程序组件访问数据库的信息对应的数据库连接池分配给应用程序组件;如果否,根据应用程序组件访问数据库的信息,在共享数据库连接池组件中建立应用程序组件访问数据库的信息对应的数据库连接池,并将建立的应用程序组件访问数据库的信息对应的数据库连接池分配给应用程序组件。本发明专利技术提高了访问数据库的速度以及应用程序与数据库之间连接的响应速度。

Method, device and system for managing database connection pool

The management method, the present invention provides a database connection pool device and system, the method comprises: receiving application components sent in the application of database connection pool request; determine the database connection sharing pool components in whether to save the application component to access the database information of the database connection pool; if it is, the corresponding application component access the information in the database of the database connection pool allocated to application components; if not, according to the application component to access the database in information sharing database connection application component to access the database information corresponding to pool components in the database connection pool, the corresponding application component to access the database and the establishment of the information database connection pool is allocated to application components. The invention improves the speed of accessing the database and the response speed of the connection between the application and the database.

【技术实现步骤摘要】
一种数据库连接池的管理方法、装置及系统
本专利技术涉及数据库应用
,尤其涉及一种数据库连接池的管理方法、装置及系统。
技术介绍
数据库连接池用于分配、管理和释放数据库连接,释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的连接遗漏,这项技术能明显提高对数据库操作的性能。一般地,在数据库连接池中初始化多个数据库连接,以等待应用程序调用。一个应用程序每次从数据库连接池中调取一个数据库连接,此时被调取的数据库连接不可被其它应用程序调取,应用程序使用完了其调取的数据库连接后,将该数据库连接归还数据库连接池。当数据库连接池内的数据库连接全部被调取时,数据库连接池创建新的数据库连接,直到创建的数据库连接个数达到允许的最大数据库连接个数。目前,常采用数据库连接池共享的方式为应用程序提供数据库连接,如图1所示,为现有多个应用程序共享一个数据库连接池的示意图,此时数据库连接池称为共享数据库连接池,共享数据库连接池安装在一个JVM(java虚拟机),每个应用程序分别安装在不同的JVM,各个应用程序与共享数据库连接池分别安装在不同的JVM中,此时,任一应用程序调取共享数据库连接池中的数据库连接时,需要通过特定的协议和接口,与共享数据库连接池通信。但是,应用程序通过协议或者接口的方式来与共享数据库连接池建立连接,从而达到访问数据库的目的,这势必会影响应用程序与数据库之间连接的响应速度。
技术实现思路
本专利技术提供一种数据库连接池的管理方法、装置及系统,用以解决现有技术中的应用程序通过协议或者接口的方式来与共享数据库连接池建立连接,而带来的影响应用程序与数据库之间连接的响应速度的问题。一种数据库连接池的管理方法,包括:接收应用程序组件发送的从共享数据库连接池组件中申请数据库连接池的请求,所述申请数据库连接池的请求中携带所述应用程序组件访问数据库的信息,所述应用程序组件以及所述共享数据库连接池组件分别以开放服务网关发起者OSGI组件的形式预先部署在同一OSGI框架中;判断所述共享数据库连接池组件中是否保存所述应用程序组件访问数据库的信息对应的数据库连接池;如果是,将所述应用程序组件访问数据库的信息对应的数据库连接池分配给所述应用程序组件;如果否,根据所述应用程序组件访问数据库的信息,在所述共享数据库连接池组件中建立所述应用程序组件访问数据库的信息对应的数据库连接池,并将建立的所述应用程序组件访问数据库的信息对应的数据库连接池分配给所述应用程序组件。所述方法中,根据所述应用程序组件访问数据库的信息,在所述共享数据库连接池组件中建立所述应用程序组件访问数据库的信息对应的数据库连接池,具体包括:将所述应用程序组件访问数据库的信息注册到所述共享数据库连接池组件的注册表中,得到所述应用程序组件访问数据库的信息对应的数据库连接池;并将得到的所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数,与所述应用程序组件访问数据库的信息,对应存储到所述共享数据库连接池组件的注册表中,所述数据库连接池的引用次数是指该数据库连接池在被应用程序组件申请后被分配给应用程序组件的次数。本专利技术实施例,通过在注册表中注册访问数据库的信息实现建立数据库连接池,并可以实时记录该数据库连接池被分配给应用程序组件的次数,从而便于维护共享数据库连接池组件中的数据库连接池。所述方法中,所述申请数据库连接池的请求中还携带所述应用程序组件的标识,则,确定将所述应用程序组件访问数据库的信息对应的数据库连接池分配给所述应用程序组件后,该方法进一步包括:将所述应用程序组件的标识与所述应用程序组件访问数据库的信息,对应存储到所述共享数据库连接池组件的连接记录表中。本专利技术实施例将应用程序组件的标识与访问数据库的信息对应存储到连接记录表,能够为共享数据库连接池组件的维护提供前提。所述方法,进一步包括:确定将建立的所述应用程序组件访问数据库的信息对应的数据库连接池分配给所述应用程序组件之后,将所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数加1,所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数的初始值为0。本专利技术实施例,数据库连接池每被分配一次,该数据库连接池的引用次数就加一。所述方法,还包括:监听到所述应用程序组件释放所述应用程序组件访问数据库的信息对应的数据库连接池的消息时,将所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数减1;判断所述注册表中所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数是否为0;如果是,删除所述连接记录表中对应存储的所述应用程序组件的标识以及所述应用程序组件访问数据库的信息,并删除所述注册表中对应存储的所述应用程序组件访问数据库的信息以及所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数;如果否,删除所述连接记录表中,对应存储的所述应用程序组件的标识与所述应用程序组件访问数据库的信息。本专利技术实施例,既能够节省共享数据库连接池组件的资源,还能够达到实时更新注册表和连接记录表的目的,从而实现对共享数据库连接池组件的维护。所述方法中,所述释放所述应用程序组件访问数据库的信息对应的数据库连接池的消息中携带所述应用程序组件的标识,则将所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数减1,具体包括:根据所述应用程序组件的标识,从所述连接记录表中查询所述应用程序组件的标识对应的访问数据库的信息;根据查询到的访问数据库的信息,从所述注册表中查询该访问数据库的信息对应的引用次数,并将查询到的引用次数减1。本专利技术实施例,通过释放数据库连接池消息中的应用程序组件标识、连接记录表以及注册表,实现了对数据库连接池组件中的数据库连接池的更新。所述方法中,判断所述共享数据库连接池组件中是否保存所述应用程序组件访问数据库的信息对应的数据库连接池,具体包括:查询所述共享数据库连接池组件的注册表或者连接记录表中是否保存有所述应用程序组件访问数据库的信息;如果是,确定所述共享数据库连接池组件中保存所述应用程序组件访问数据库的信息对应的数据库连接池;如果否,确定所述共享数据库连接池组件中未保存所述应用程序组件访问数据库的信息对应的数据库连接池。本专利技术实施例可通过判断注册表或者连接记录表中是否保存应用程序组件访问数据库的信息,确定共享数据库连接池组件中是否保存应用程序组件访问数据库的信息对应的数据库连接池。本专利技术还提供一种数据库连接池的管理装置,包括:接收单元,用于接收应用程序组件发送的从共享数据库连接池组件中申请数据库连接池的请求,所述申请数据库连接池的请求中携带所述应用程序组件访问数据库的信息,所述应用程序组件以及所述共享数据库连接池组件分别以开放服务网关发起者OSGI组件的形式预先部署在同一OSGI框架中;判断单元,用于判断所述共享数据库连接池组件中是否保存所述应用程序组件访问数据库的信息对应的数据库连接池;分配单元,用于在所述判断单元判断是的情况下,将所述应用程序组件访问数据库的信息对应的数据库连接池分配给所述应用程序组件;建立单元,用于在所述判断单元判断否的情况下,根据所述应用程序组件访问数据库的信息,在所述共享数据库连接池组件中建立所述应用程序组件访问数据库的信息对应的数据库连接池,本文档来自技高网...
一种数据库连接池的管理方法、装置及系统

【技术保护点】
一种数据库连接池的管理方法,其特征在于,包括:接收应用程序组件发送的从共享数据库连接池组件中申请数据库连接池的请求,所述申请数据库连接池的请求中携带所述应用程序组件访问数据库的信息,所述应用程序组件以及所述共享数据库连接池组件分别以开放服务网关发起者OSGI组件的形式预先部署在同一OSGI框架中;判断所述共享数据库连接池组件中是否保存所述应用程序组件访问数据库的信息对应的数据库连接池;如果是,将所述应用程序组件访问数据库的信息对应的数据库连接池分配给所述应用程序组件;如果否,根据所述应用程序组件访问数据库的信息,在所述共享数据库连接池组件中建立所述应用程序组件访问数据库的信息对应的数据库连接池,并将建立的所述应用程序组件访问数据库的信息对应的数据库连接池分配给所述应用程序组件。

【技术特征摘要】
1.一种数据库连接池的管理方法,其特征在于,包括:接收应用程序组件发送的从共享数据库连接池组件中申请数据库连接池的请求,所述申请数据库连接池的请求中携带所述应用程序组件访问数据库的信息,所述应用程序组件以及所述共享数据库连接池组件分别以开放服务网关发起者OSGI组件的形式预先部署在同一OSGI框架中;判断所述共享数据库连接池组件中是否保存所述应用程序组件访问数据库的信息对应的数据库连接池;如果是,将所述应用程序组件访问数据库的信息对应的数据库连接池分配给所述应用程序组件;如果否,根据所述应用程序组件访问数据库的信息,在所述共享数据库连接池组件中建立所述应用程序组件访问数据库的信息对应的数据库连接池,并将建立的所述应用程序组件访问数据库的信息对应的数据库连接池分配给所述应用程序组件。2.如权利要求1所述的方法,其特征在于,根据所述应用程序组件访问数据库的信息,在所述共享数据库连接池组件中建立所述应用程序组件访问数据库的信息对应的数据库连接池,具体包括:将所述应用程序组件访问数据库的信息注册到所述共享数据库连接池组件的注册表中,得到所述应用程序组件访问数据库的信息对应的数据库连接池;并将得到的所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数,与所述应用程序组件访问数据库的信息,对应存储到所述共享数据库连接池组件的注册表中,所述数据库连接池的引用次数是指该数据库连接池在被应用程序组件申请后被分配给应用程序组件的次数。3.如权利要求2所述的方法,其特征在于,所述申请数据库连接池的请求中还携带所述应用程序组件的标识,则,确定将所述应用程序组件访问数据库的信息对应的数据库连接池分配给所述应用程序组件后,该方法进一步包括:将所述应用程序组件的标识与所述应用程序组件访问数据库的信息,对应存储到所述共享数据库连接池组件的连接记录表中。4.如权利要求3所述的方法,其特征在于,进一步包括:确定将建立的所述应用程序组件访问数据库的信息对应的数据库连接池分配给所述应用程序组件之后,将所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数加1,所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数的初始值为0;监听到所述应用程序组件释放所述应用程序组件访问数据库的信息对应的数据库连接池的消息时,将所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数减1;判断所述注册表中所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数是否为0;如果是,删除所述连接记录表中对应存储的所述应用程序组件的标识以及所述应用程序组件访问数据库的信息,并删除所述注册表中对应存储的所述应用程序组件访问数据库的信息以及所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数;如果否,删除所述连接记录表中,对应存储的所述应用程序组件的标识与所述应用程序组件访问数据库的信息。5.如权利要求4所述的方法,其特征在于,所述释放所述应用程序组件访问数据库的信息对应的数据库连接池的消息中携带所述应用程序组件的标识,则将所述应用程序组件访问数据库的信息对应的数据库连接池的引用次数减1,具体包括:根据所述应用程序组件的标识,从所述连接记录表中查询所述应用程序组件的标识对应的访问数据库的信息;根据查询到的访问数据库的信息,从所述注册表中查询该访问数据库的信息对应的引用次数,并将查询到的引用次数减1。6.如权利要求3所述的方法,其特征在于,判断所述共享数据库连接池组件中是否保存所述应用程序组件访问数据库的信息对应的数据库连接池,具体包括:查询所述共享数据库连接池组件的注册表或者连接记录表中是否保存有所述应用程序组件访问数据库的信息;如果是,确定所述共享数据库连接池组件中保存所述应用程序组件访问数据库的信息对应的数据库连接池;如果否,确定所述共享数据库连接池组件中未保存所述应用程序组件访问数据库的信息对应的数据库连接池。7.一种数据库连接池的管理装置,其特征在于,包括:接收单元,用于接收应用程序组件发送的从共享数据库连接池组件中申请数据库连接池的请求,所述申请数据库连接池的请求中携带所述应用程序组件访问数据库的信息,所述应用程序组件以及所述共享数据库连接池组件分别以开放服务网关发起者OSGI组件的形式预先部署在同一OSGI框架中;判断单元,用于判断所述共享数据库连接池组件中是否保存所述应用程序组件访问数据库的信息对应的数据库连接池;分配单元,用于在所述判...

【专利技术属性】
技术研发人员:张彦忠蒋雨含蒋剑锋
申请(专利权)人:北京优朋普乐科技有限公司
类型:发明
国别省市:北京,11

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

1