The present invention provides a database connection management method, and relates to the technical field of computer data processing. In order to ensure the connection of this application in the proxy server, the proxy server receives the application for judgment for the same result set SQL requests are bound to a connection, which is connected with the distribution connection ID sent to the client proxy server bindings, by connecting the ID to find the corresponding connection to connect to the database for processing; the same transaction SQL requests are bound to a connection, which is connected with the distribution connection ID sent to the client proxy server bindings, by connecting the ID to find the corresponding connection to connect to the database; thereby greatly improving the utilization rate of the database connection, to avoid the database connection occupied to ensure database stability. To improve the response speed of the database, so as to improve the processing efficiency of the server.
【技术实现步骤摘要】
数据库连接管理方法及系统
本申请涉及计算机数据处理
,特别是涉及一种数据库连接管理方法及系统。
技术介绍
软件系统的数据操作通常都是在数据库中,当需要进行数据读写操作时,通过与数据库建立连接的方式来实现。通常情况下,软件系统与数据库都是采用在需要时建立连接,而不需要时关闭连接的方式。在实际应用中,软件系统运行时通常具有高峰期和低谷期,而软件系统使用数据库时通常会配置最大连接数和最小连接数。这个连接数配置通常都是针对高峰时期来设置的,对于低谷期来说,被使用的连接可能会很少,因此,针对高峰期配置的最大连接数和最小连接数会造成较大的资源浪费。特别的,对于某些数据库的连接数是需要购买的时候,此种配置方式无疑会增加使用成本,同时连接数的实际利用率很低。为了提高连接的利用率,通常会建立数据库连接管理系统来对数据库的连接进行管理,一个数据库管理系统对应一个数据库。在管理系统中建立工作线程或者连接池的方式,通过将SQL请求分配到工作线程上执行或者通过连接池进行SQL请求的管理。此种方式在一定程度上提高了连接的利用率,但是,因为每一个数据库是独立的,当有多个软件系统以及多个数据库时,无法实现数据库连接的共享,连接的利用率还是无法得到提高。
技术实现思路
本申请提供一种数据库连接管理方法及系统,能够解决数据库连接利用率低的问题。为了解决上述问题,本申请公开了一种数据库连接管理方法,其特征在于,包括:在代理服务器与应用服务器连接后,代理服务器接收应用服务器转发的客户端信息,代理服务器进入数据库连接管理步骤,所述数据库连接管理步骤包括:接收应用服务器转发的客户端的SQL请求;当 ...
【技术保护点】
一种数据库连接管理方法,其特征在于,包括:在代理服务器与应用服务器连接后,代理服务器接收应用服务器转发的客户端信息,代理服务器进入数据库连接管理步骤,所述数据库连接管理步骤包括:接收应用服务器转发的客户端的SQL请求;当判断所述SQL请求是初次接收的针对结果集的SQL请求时,从未绑定的连接中取出一个连接,通过所述连接从对应数据库获取当前查询段的查询结果;将所述查询结果和所述连接进行绑定,为所述连接分配连接ID,并将所述查询结果和连接ID一起发送给客户端;所述连接ID用于携带在所述客户端再次针对同一结果集发送后续的SQL请求中;当判断所述SQL请求是针对结果集的SQL请求但不是初次接收的SQL请求时,提取对应所述SQL请求的连接ID并根据所述连接ID查找对应的连接,通过所述连接从对应数据库获取当前查询段的查询结果。
【技术特征摘要】
1.一种数据库连接管理方法,其特征在于,包括:在代理服务器与应用服务器连接后,代理服务器接收应用服务器转发的客户端信息,代理服务器进入数据库连接管理步骤,所述数据库连接管理步骤包括:接收应用服务器转发的客户端的SQL请求;当判断所述SQL请求是初次接收的针对结果集的SQL请求时,从未绑定的连接中取出一个连接,通过所述连接从对应数据库获取当前查询段的查询结果;将所述查询结果和所述连接进行绑定,为所述连接分配连接ID,并将所述查询结果和连接ID一起发送给客户端;所述连接ID用于携带在所述客户端再次针对同一结果集发送后续的SQL请求中;当判断所述SQL请求是针对结果集的SQL请求但不是初次接收的SQL请求时,提取对应所述SQL请求的连接ID并根据所述连接ID查找对应的连接,通过所述连接从对应数据库获取当前查询段的查询结果。2.如权利要求1所述的数据库连接管理方法,其特征在于,针对同一结果集,当判断所述结果集的SQL请求不需要继续绑定所述连接后,将所述连接与查询结果解绑。3.如权利要求2所述的数据库连接管理方法,其特征在于,针对同一结果集,当判断所述结果集的SQL请求不需要继续绑定所述连接后,将所述连接与查询结果解绑包括:通过所述连接向数据库请求得到的当前查询段的查询结果后,判断针对所述结果集的所有数据全部取出,则将所述连接与查询结果解绑。4.如权利要求2所述的数据库连接管理方法,其特征在于,针对同一结果集,当判断所述结果集的SQL请求不需要继续绑定所述连接后,将所述连接与查询结果解绑包括:记录所述连接的绑定时间,当所述绑定时间超过阈值时,则将所述连接与查询结果解绑。5.一种数据库连接管理方法,其特征在于,包括:在代理服务器与应用服务器连接后,代理服务器接收应用服务器转发的客户端信息,代理服务器进入数据库连接管理步骤,所述数据库连接管理步骤包括:接收应用服务器转发的客户端的SQL请求;当判断所述SQL请求是初次接收的针对事务的SQL请求时,从未绑定的连接中选择一个连接与对应所述事务SQL请求的事务绑定,并通过所述连接接到对应数据库处理所述SQL请求;为所述连接分配一个连接ID,并将所述连接ID返回给客户端;所述连接ID用于携带在所述客户端再次针对同一事务发送后续的SQL请求中;当判断所述SQL请求是针对事务的SQL请求但不是初次接收的SQL请求...
【专利技术属性】
技术研发人员:董旗宇,朱宏华,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。