一种建立连接的方法及装置制造方法及图纸

技术编号:10914095 阅读:89 留言:0更新日期:2015-01-14 20:12
本申请公开了一种建立连接的方法及装置,用以解决现有技术中APP在访问热点数据时可能会占用数据库连接池中的所有连接,浪费数据库连接池的资源的问题。该方法预先将APP的数据库连接池中的连接划分为至少两个队列,每个队列中包含至少一个连接,在访问目标数据时,APP根据目标数据的标识信息以及预设的标识信息与各队列的对应关系,确定该目标数据的标识信息对应的队列,并通过确定的队列中空闲的连接访问数据库中的该目标数据。通过上述方法,即使APP同时占用多个连接访问热点数据,APP最多也只能占用该热点数据的标识信息对应的队列中的所有连接,而不会占用数据库连接池中的所有连接,因此可有效节省数据库连接池中的资源。

【技术实现步骤摘要】
【专利摘要】本申请公开了一种建立连接的方法及装置,用以解决现有技术中APP在访问热点数据时可能会占用数据库连接池中的所有连接,浪费数据库连接池的资源的问题。该方法预先将APP的数据库连接池中的连接划分为至少两个队列,每个队列中包含至少一个连接,在访问目标数据时,APP根据目标数据的标识信息以及预设的标识信息与各队列的对应关系,确定该目标数据的标识信息对应的队列,并通过确定的队列中空闲的连接访问数据库中的该目标数据。通过上述方法,即使APP同时占用多个连接访问热点数据,APP最多也只能占用该热点数据的标识信息对应的队列中的所有连接,而不会占用数据库连接池中的所有连接,因此可有效节省数据库连接池中的资源。【专利说明】一种建立连接的方法及装置
本申请涉及通信
,尤其涉及一种建立连接的方法及装置。
技术介绍
目前,应用(Applicat1n,APP)与数据库之间的信息交互已经普遍存在于各种应用场景中。 当APP与数据库进行信息交互时,APP首先要与数据库建立连接,再基于建立的连接与数据库进行信息交互。但是,由于数据库与APP建立连接的过程比较繁琐,建立连接所需的时间较长,而且也需要耗费数据库较多的资源,因此,在现有技术中,通常在APP中预设数据库连接池,APP可通过该数据库连接池与数据库建立连接。 具体的,在现有技术中,对于一个APP来说,可预先建立该APP与数据库的一定数量(如10个)的连接,并将已经建立的这一定数量的连接保存在数据库连接池中,当APP与数据库连接时,则可直接采用数据库连接池中空闲的连接与数据库进行信息交互。 但是,当数据库中的某个数据是访问量较高的热点数据时,APP很可能会用掉数据库连接池中的所有连接用以访问数据库中的该热点数据,导致APP要访问其他非热点数据时,数据库连接池中没有空闲的连接可用。而且,为了保证数据库中的数据的准确性,当APP通过多个连接对数据库中的同一个数据进行多次更新操作时,数据库对于这多个更新操作是串行执行的,因此,即使APP同时占用了数据库连接池中的所有连接对数据库中的同一个热点数据进行更新,数据库对着多个更新操作也是串行执行的,这显然浪费了数据库连接池中的资源。
技术实现思路
本申请实施例提供一种建立连接的方法及装置,用以解决现有技术中APP在访问热点数据时可能会占用数据库连接池中的所有连接,浪费数据库连接池的资源的问题。 本申请实施例提供的一种建立连接的方法,包括: 根据目标数据的标识信息,以及预设的标识信息与数据库连接池中各队列的对应关系,确定所述数据库连接池中与所述目标数据的标识信息对应的队列,其中,预先将所述数据库连接池中的连接划分为至少两个队列,每个队列中包含至少一个连接; 通过确定的队列中空闲的连接访问数据库中的所述目标数据。 本申请实施例提供的一种建立连接的方法,包括: 根据目标数据的标识信息,以及预设的标识信息与各虚拟资源组的对应关系,确定所述目标数据的标识信息对应的虚拟资源组; 判断确定的虚拟资源组中的连接的数量是否小于针对所述确定的虚拟资源组预设的最大连接数; 若是,则将所述数据库连接池中空闲的连接划分到所述确定的虚拟资源组中,通过所述确定的虚拟资源组中空闲的连接访问数据库中的所述目标数据,并在访问所述目标数据后将占用的连接释放到所述数据库连接池中; 否则,等待至所述确定的虚拟资源组中的连接的数量小于所述最大连接数时,将所述数据库连接池中空闲的连接划分到所述确定的虚拟资源组中,通过所述确定的虚拟资源组中空闲的连接访问数据库中的所述目标数据,并在访问所述目标数据后将占用的连接释放到所述数据库连接池中。 本申请实施例提供的一种建立连接的装置,包括: 确定模块,用于根据目标数据的标识信息,以及预设的标识信息与数据库连接池中各队列的对应关系,确定所述数据库连接池中与所述目标数据的标识信息对应的队列,其中,预先将所述数据库连接池中的连接划分为至少两个队列,每个队列中包含至少一个连接; 连接模块,用于通过所述确定模块确定的队列中空闲的连接访问数据库中的所述目标数据。 本申请实施例提供的一种建立连接的装置,包括: 确定模块,用于根据目标数据的标识信息,以及预设的标识信息与各虚拟资源组的对应关系,确定所述目标数据的标识信息对应的虚拟资源组; 判断模块,用于判断所述确定模块确定的虚拟资源组中的连接的数量是否小于针对所述确定的虚拟资源组预设的最大连接数; 连接模块,用于当所述判断模块的判断结果为是时,将所述数据库连接池中空闲的连接划分到所述确定的虚拟资源组中,通过所述确定的虚拟资源组中空闲的连接访问数据库中的所述目标数据,并在访问所述目标数据后将占用的连接释放到所述数据库连接池中;当所述判断模块的判断结果为否时,等待至所述确定的虚拟资源组中的连接的数量小于所述最大连接数时,将所述数据库连接池中空闲的连接划分到所述确定的虚拟资源组中,通过所述确定的虚拟资源组中空闲的连接访问数据库中的所述目标数据,并在访问所述目标数据后将占用的连接释放到所述数据库连接池中。 本申请实施例提供一种建立连接的方法及装置,该方法预先将APP的数据库连接池中的连接划分为至少两个队列,每个队列中包含至少一个连接,在访问目标数据时,APP根据目标数据的标识信息以及预设的标识信息与各队列的对应关系,确定该目标数据的标识信息对应的队列,并通过确定的队列中空闲的连接访问数据库中的该目标数据。通过上述方法,即使APP同时占用多个连接访问热点数据,APP最多也只能占用该热点数据的标识信息对应的队列中的所有连接,而不会占用数据库连接池中的所有连接,因此可有效节省数据库连接池中的资源。 【专利附图】【附图说明】 图1为本申请实施例提供的第一种建立连接的过程; 图2为本申请实施例提供的将数据库连接池中的连接划分为多个队列的示意图; 图3为本申请实施例提供的第二种建立连接的过程; 图4为本申请实施例提供的数据库连接池中的各虚拟资源组示意图; 图5为本申请实施例提供的第一种建立连接的装置结构示意图; 图6为本申请实施例提供的第二种建立连接的装置结构示意图。 【具体实施方式】 本申请实施例中预先将APP的数据库连接池中的连接划分为至少两个队列,每个队列中包含至少一个连接,并预设数据库中各数据的标识信息与各队列的对应关系,在APP访问目标数据时,可根据目标数据的标识信息确定对应的队列,并通过确定的队列中空闲的连接访问目标数据。通过上述方法,即使APP同时通过多个连接访问同一个数据,APP也不会将数据库连接池中的所有连接都占用,因此可避免浪费数据库连接池中的资源。 下面结合说明书附图,对本申请实施例进行详细描述。 图1为本申请实施例提供的第一种建立连接的过程,具体包括以下步骤: SlOl:根据目标数据的标识信息,以及预设的标识信息与数据库连接池中各队列的对应关系,确定数据库连接池中与目标数据的标识信息对应的队列。 在本申请实施例中,可针对一个APP,预先将该APP的数据库连接池中的连接划分为至少两个队列,每个队列中包含至少一个连接,并预设数据库中各数据的标识信息与各队列的对应关系,如图2所不。 图2为本文档来自技高网
...
一种建立连接的方法及装置

【技术保护点】
一种建立连接的方法,其特征在于,包括:根据目标数据的标识信息,以及预设的标识信息与数据库连接池中各队列的对应关系,确定所述数据库连接池中与所述目标数据的标识信息对应的队列,其中,预先将所述数据库连接池中的连接划分为至少两个队列,每个队列中包含至少一个连接;通过确定的队列中空闲的连接访问数据库中的所述目标数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:楼方鑫
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1