[发明专利]一种建立连接的方法及装置有效
申请号: | 201310277055.2 | 申请日: | 2013-07-03 |
公开(公告)号: | CN104281587B | 公开(公告)日: | 2018-05-11 |
发明(设计)人: | 楼方鑫 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 建立 连接 方法 装置 | ||
本申请公开了一种建立连接的方法及装置,用以解决现有技术中APP在访问热点数据时可能会占用数据库连接池中的所有连接,浪费数据库连接池的资源的问题。该方法预先将APP的数据库连接池中的连接划分为至少两个队列,每个队列中包含至少一个连接,在访问目标数据时,APP根据目标数据的标识信息以及预设的标识信息与各队列的对应关系,确定该目标数据的标识信息对应的队列,并通过确定的队列中空闲的连接访问数据库中的该目标数据。通过上述方法,即使APP同时占用多个连接访问热点数据,APP最多也只能占用该热点数据的标识信息对应的队列中的所有连接,而不会占用数据库连接池中的所有连接,因此可有效节省数据库连接池中的资源。
技术领域
本申请涉及通信技术领域,尤其涉及一种建立连接的方法及装置。
背景技术
目前,应用(Application,APP)与数据库之间的信息交互已经普遍存在于各种应用场景中。
当APP与数据库进行信息交互时,APP首先要与数据库建立连接,再基于建立的连接与数据库进行信息交互。但是,由于数据库与APP建立连接的过程比较繁琐,建立连接所需的时间较长,而且也需要耗费数据库较多的资源,因此,在现有技术中,通常在APP中预设数据库连接池,APP可通过该数据库连接池与数据库建立连接。
具体的,在现有技术中,对于一个APP来说,可预先建立该APP与数据库的一定数量(如10个)的连接,并将已经建立的这一定数量的连接保存在数据库连接池中,当APP与数据库连接时,则可直接采用数据库连接池中空闲的连接与数据库进行信息交互。
但是,当数据库中的某个数据是访问量较高的热点数据时,APP很可能会用掉数据库连接池中的所有连接用以访问数据库中的该热点数据,导致APP要访问其他非热点数据时,数据库连接池中没有空闲的连接可用。而且,为了保证数据库中的数据的准确性,当APP通过多个连接对数据库中的同一个数据进行多次更新操作时,数据库对于这多个更新操作是串行执行的,因此,即使APP同时占用了数据库连接池中的所有连接对数据库中的同一个热点数据进行更新,数据库对着多个更新操作也是串行执行的,这显然浪费了数据库连接池中的资源。
发明内容
本申请实施例提供一种建立连接的方法及装置,用以解决现有技术中APP在访问热点数据时可能会占用数据库连接池中的所有连接,浪费数据库连接池的资源的问题。
本申请实施例提供的一种建立连接的方法,包括:
根据目标数据的标识信息,以及预设的标识信息与数据库连接池中各队列的对应关系,确定所述数据库连接池中与所述目标数据的标识信息对应的队列,其中,预先将所述数据库连接池中的连接划分为至少两个队列,每个队列中包含至少一个连接;
通过确定的队列中空闲的连接访问数据库中的所述目标数据。
本申请实施例提供的一种建立连接的方法,包括:
根据目标数据的标识信息,以及预设的标识信息与各虚拟资源组的对应关系,确定所述目标数据的标识信息对应的虚拟资源组;
判断确定的虚拟资源组中的连接的数量是否小于针对所述确定的虚拟资源组预设的最大连接数;
若是,则将所述数据库连接池中空闲的连接划分到所述确定的虚拟资源组中,通过所述确定的虚拟资源组中空闲的连接访问数据库中的所述目标数据,并在访问所述目标数据后将占用的连接释放到所述数据库连接池中;
否则,等待至所述确定的虚拟资源组中的连接的数量小于所述最大连接数时,将所述数据库连接池中空闲的连接划分到所述确定的虚拟资源组中,通过所述确定的虚拟资源组中空闲的连接访问数据库中的所述目标数据,并在访问所述目标数据后将占用的连接释放到所述数据库连接池中。
本申请实施例提供的一种建立连接的装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310277055.2/2.html,转载请声明来源钻瓜专利网。