CN112689008A - 网络连接池管理方法、装置、设备和存储介质 - Google Patents
网络连接池管理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112689008A CN112689008A CN202011542369.7A CN202011542369A CN112689008A CN 112689008 A CN112689008 A CN 112689008A CN 202011542369 A CN202011542369 A CN 202011542369A CN 112689008 A CN112689008 A CN 112689008A
- Authority
- CN
- China
- Prior art keywords
- connection
- idle
- connections
- list
- pool management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 13
- 230000000977 initiatory effect Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种网络连接池管理方法、装置、设备和存储介质,该方法包括:根据调用信息建立设定个数的第一空闲连接;创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中;当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中;对所述空闲连接列表中的空闲连接数量进行统计,所述空闲连接数量包括所述第一空闲连接数量和所述第二空闲连接数量之和,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并添加至所述空闲连接列表中。本方案避免频繁建立连接,缩短了用户网络访问耗时。
Description
技术领域
本申请实施例涉及计算机领域,尤其涉及一种网络连接池管理方法、装置、设备和存储介质。
背景技术
移动互联网已经成为人们生活、工作中不可或缺的一部分。在绝大多数的应用场景中,都需要通过网络从服务器获取数据,能否快速获取网络数据,是一项非常重要的用户体验指标。而每次处理网络访问请求时,客户端需要与服务器的建立网络连接(甚至需要更耗时的加密操作),造成用户访问网络的等待时间较长。
现有技术中,通过设置网络连接池的方式以减少连接创建时间,通过连接池储空闲的连接。当访问网络时,优先从连接池获取可用的空闲连接,从而缩短客户端需要与服务器的建立网络连接的时间;如果连接池中没有空闲连接则建立新的连接。使用完成后,将空闲连接重新放入连接池已便其他业务使用。但是其存在如下问题:由于连接是根据IP聚类的,因此导致连接复用率较低,同时其不支持预连接。
发明内容
本发明实施例提供了一种网络连接池管理方法、装置、设备和存储介质,避免频繁建立连接,缩短了用户网络访问耗时。
第一方面,本发明实施例提供了一种网络连接池管理方法,该方法包括:
根据调用信息建立设定个数的第一空闲连接,所述设定个数记录在所述调用信息中;
创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中;
当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中;
对所述空闲连接列表中的空闲连接数量进行统计,所述空闲连接数量包括所述第一空闲连接数量和所述第二空闲连接数量之和,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并添加至所述空闲连接列表中。
第二方面,本发明实施例还提供了一种网络连接池管理装置,该装置包括:
预连接创建模块,用于根据调用信息建立设定个数的第一空闲连接,所述设定个数记录在所述调用信息中;
连接池管理模块,用于创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中;
连接添加模块,用于当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中;
连接数量控制模块,用于对所述空闲连接列表中的空闲连接数量进行统计,所述空闲连接数量包括所述第一空闲连接数量和所述第二空闲连接数量之和,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并通过所述连接添加模块添加至所述空闲连接列表中。
第三方面,本发明实施例还提供了一种网络连接池管理设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所述的网络连接池管理方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例所述的网络连接池管理方法。
本发明实施例中,根据调用信息建立设定个数的第一空闲连接,创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中,当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中,对所述空闲连接列表中的空闲连接数量进行统计,所述空闲连接数量包括所述第一空闲连接数量和所述第二空闲连接数量之和,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并添加至所述空闲连接列表中。本方案避免频繁建立连接,缩短了用户网络访问耗时。
附图说明
图1为本发明实施例提供的一种网络连接池管理方法的流程图;
图1a为连接状态切换条件示意图;
图2为本发明实施例提供的另一种网络连接池管理方法的流程图;
图3为本发明实施例提供的另一种网络连接池管理方法的流程图;
图3a为本发明实施例提供的一种连接分配的示意图;
图4为本发明实施例提供的另一种网络连接池管理方法的流程图;
图4a为本发明实施例提供的另一种连接分配的示意图;
图4b为本发明实施例提供的一种用户和连接池交互的示意图;
图5为本发明实施例提供的一种网络连接池管理装置的结构框图;
图6为本发明实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
图1为本发明实施例提供的一种网络连接池管理方法的流程图,本实施例可适用于客户端建立和服务器的网络连接进行数据获取的流程,该方法可以由计算设备如客户端计算设备来执行,具体包括如下步骤:
步骤S101、根据调用信息建立设定个数的第一空闲连接,所述设定个数记录在所述调用信息中。
在一个实施例中,进行空闲连接的预建立,以供任务调用。示例性的,通过调用信息建立设定个数的第一空闲连接,该设定个数可以由用户在调用信息中进行设定。
其中,连接是指网络连接,即网络在应用级的互连。具体为一对同构或异构的端***,通过由多个网络或中间***所提供的接续通路来进行连接,目的是实现***之间的端到端的通信。因此,网络连接是对连接于不同网络的各种***之间的互连,主要强调协议的接续能力,以便完成端到端***间的数据传递。
在一个实施例中,通过创建的Connection类描述连接,通过创建的ConnectionPool类进行空闲连接的存储和管理。用户通过ConnectionPool进行Connection的获取。ConnectionPool类中包含的功能函数示例性的如下:
list<Connection>idelConnections;//空闲连接列表
config();//支持配置的连接个数,超时时间,心跳间隔等,用户可根据实际情况进行配置调用
Connection getConnection();//获取连接
putConnection(Connection connection);//归还空闲连接
preConnection();//预连接创建
sendHeartbeatRegularly();//定时对空闲连接发送心跳数据
clearInvalidAndTimeoutConnectionRegularly();//定时清理无效和超时连接
supplementConnectionAuto();//自动补充连接
在一个实施例中,Connection类中包含的功能函数和字段示例性的如下:
int fd;//标识符
State state;//连接状态
intreferenceCnt;//引用计算,支持多个任务使用同一个连接
...
connect();
disconnect();
sendData();
recvDataCallback();
针对Connection类中,标识符可以是网络套接字描述符;连接状态包括未连接、连接中、已连接等,其中已连接指传输层协议握手已经完成,为用户可以直接用Connection传输数据的状态,连接状态变迁图如图1a所示,图1a为连接状态切换条件示意图,如图所示,步骤11:发起连接;步骤12:传输层协议握手已经完成,应用层加密完成;步骤13:连接断开;步骤14:数据收发。
示例性的,该调用信息通过ConnectionPool类的配置函数(config)接口和预连接创建(preConnection)接口获取。由此预先进行空闲连接的建立,该设定个数示例性的可以是10、20等。
步骤S102、创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中。
示例性的,连接池通过创建的一个空闲连接列表(idelConnections)对空闲连接进行管理,其中可通过Connection getConnection()接口进行连接的获取以进行空闲连接的分配,通过putConnection(Connection connection)接口以归还空闲连接,连接池将归还的空闲连接再次添加至空闲连接列表中。
在一个实施例中,预先进行空闲连接的创建,如创建多个第一空闲连接,将其添加至空闲连接列表,以用于后续分配至发起连接请求的任务。
步骤S103、当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中。
其中,该第二空闲连接可以是任务完成数据传输后归还的连接,即将释放归还的空闲连接重新添加至空闲连接列表中,以用于进行分配。
步骤S104、对所述空闲连接列表中的空闲连接数量进行统计,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并添加至所述空闲连接列表中。
在一个实施例中,对空闲连接列表中的空闲连接的数量进行统计,该空闲连接数量包括预创建的第一空闲连接和释放归还的第二空闲连接。当检测到空闲连接数量小于预设数量时,创建空闲连接并添加至所述空闲连接列表中。示例性的,该预设数量可以是15。如检测到当前空闲连接数量为10,其小于预设数量15则创建5个空闲连接添加至空闲连接列表中。
可选的,可以是以预设检测周期对空闲连接列表中的空闲连接数量进行统计,该预设检测周期可以是30秒或60秒。
可选的,可以是在分配空闲连接给对应的请求任务时,对空闲连接列表中的空闲连接数量进行统计,当确定给出其小于预设数量时,进行空闲连接的创建补充。
在一个实施例中,还包括了对该预设数量进行适应性调整的步骤。具体的,可以是获取当前的网络数据通信负载量,当通信负载量升高时,相应的调高该预设数量的值,相应的,当通信负载量降低时,降低该预设数量的值。在另一个实施例中,还可以是根据每天的不同时段,设置不同的预设数量。示例性的,如下表所示:
时段 | 0点-6点 | 6点-10点 | 10点-18点 | 18点-0点 |
预设数量值 | 12 | 15 | 18 | 25 |
由上述方案可知,根据调用信息建立设定个数的第一空闲连接,创建空闲连接列表,将第一空闲连接添加至空闲连接列表中,由此避免了***启动后第一次网络访问超时的问题。同时,本方案中对空闲连接列表中的空闲连接数量进行统计,当检测到空闲连接数量小于预设数量时,创建空闲连接并添加至空闲连接列表中,对可用连接数量进行补充,保证了网络访问速度。
图2为本发明实施例提供的另一种网络连接池管理方法的流程图,给出了一种支持连接复用的连接池控制的流程图。如图2所示,技术方案具体如下:
步骤S201、根据调用信息建立设定个数的第一空闲连接,所述设定个数记录在所述调用信息中。
步骤S202、创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中。
步骤S203、当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中。
步骤S204、对所述空闲连接列表中的空闲连接数量进行统计,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并添加至所述空闲连接列表中
步骤S205、当检测到连接调用请求时,查询所述空闲连接列表,为所述连接调用请求分配相应的空闲连接。
步骤S206、确定发起连接调用请求的任务是否支持多路复用。
在一个实施例中,本方案支持连接的多路复用。具体的,确定发起连接调用请求的任务是否支持多路复用,针对每个任务(task)对其进行是否支持多路复用的标记,示例性的,可以是在任务创建时,对任务进行标记以标明其是否支持多路复用。其中,多路复用指同一条连接同时传输多个文件。
步骤S207、根据所述任务是否支持多路复用的结果,对所述分配的空闲连接进行标记,以用于多路复用。
在一个实施例中,在为任务分配空闲连接时,如果该任务支持多路复用,则相应的对分配的空闲连接进行标记。如标记为支持多路复用,当后续支持多路复用的任务请求连接时,相应的可为其分配该连接。
可选的,针对发起连接请求的支持多路复用的任务,优先为其分配当前标记为支持多路复用的连接。进一步的,当同时存在多个支持多路复用的连接时,获取其中每个连接中的任务数量,依据任务数量的多少进行排序,将该任务分配值任务数量最少的支持多路复用的连接。进一步的,当检测到当前所有支持多路复用的连接中的任务大于预设任务量时,则选择分配空闲连接用于该任务的数据传输,其中该预设任务数量示例性的可以是5。
由上述方案可知,确定发起连接调用请求的任务是否支持多路复用,根据任务是否支持多路复用的结果,对所述分配的空闲连接进行标记,以用于多路复用,以实现多路复用,通过实验证明,对于文件比较小(300K以下),并发量大的场景,如主界面的图片刷新,使用多路复用比http传输图片(多条连接同时传输)平均快10~15ms。
图3为本发明实施例提供的另一种网络连接池管理方法的流程图,给出一种具体的进行复用标记的方法。如图3所示,技术方案具体如下:
步骤S301、根据调用信息建立设定个数的第一空闲连接,所述设定个数记录在所述调用信息中。
步骤S302、创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中。
步骤S303、当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中。
步骤S304、对所述空闲连接列表中的空闲连接数量进行统计,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并添加至所述空闲连接列表中
步骤S305、当检测到连接调用请求时,查询所述空闲连接列表,为所述连接调用请求分配相应的空闲连接。
步骤S306、判断发起连接调用请求的任务是否支持多路复用,如果是,则执行步骤S307,否则执行步骤S308。
步骤S307、对分配的所述空闲连接添加复用标记。
步骤S308、对分配的所述空闲连接添加不支持复用标记。
在一个实施例中,如图3a所示,图3a为本发明实施例提供的一种连接分配的示意图。其中,连接1标记为可复用状态,task1、task2和task3为均支持多路复用的任务,可同时通过连接1进行数据传输。连接2和连接3标记为不支持复用,相应的分配给不支持多路复用的任务task4和task5,其仅用于task4和task5的数据传输。
在一个实施例中,当由于***或通信链路问题造成阻塞时,对待分配的任务进行统计,示例性的,待分配的任务可通过队列形式进行缓存,将缓存队列中支持多路复用的任务优先分配一空闲连接,相应的该空闲连接标记为支持多路复用,通过该连接进行多个支持多路复用任务的数据传输。
由上述方案可知,判断发起连接调用请求的任务是否支持多路复用,如果是,对分配的所述空闲连接添加复用标记,否则,对分配的空闲连接添加不支持复用标记,以此实现了连接的多路复用,显著减少了创建连接的数量,同时保证了任务网络访问的实时性。
图4为本发明实施例提供的另一种网络连接池管理方法的流程图,给出了一种对支持复用的任务进行连接分配的方法。如图4所示,技术方案具体如下:
步骤S401、根据调用信息建立设定个数的第一空闲连接,所述设定个数记录在所述调用信息中。
步骤S402、创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中。
步骤S403、当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中。
步骤S404、对所述空闲连接列表中的空闲连接数量进行统计,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并添加至所述空闲连接列表中
步骤S405、当检测到连接调用请求时,查询所述空闲连接列表,为所述连接调用请求分配相应的空闲连接。
步骤S406、判断发起连接调用请求的任务是否支持多路复用,如果是,则执行步骤S407,否则执行步骤S408。
步骤S407、对分配的所述空闲连接添加复用标记。
步骤S408、对分配的所述空闲连接添加不支持复用标记。
步骤S409、当检测到新的支持多路复用的任务发起连接调用请求时,为其分配添加有复用标记的连接。
步骤S410、当标记有复用标记的连接空闲时,对所述复用标记进行删除。
如图4a所示,图4a为本发明实施例提供的另一种连接分配的示意图,当连接1中的任务传输结束,则相应的去除其添加的支持复用标记,转化为空闲连接。
在另一个实施例中,在创建空闲连接添加至空闲连接列表中时,为每个添加的空闲连接设置一标志位,标志位取值默认为0。当将其分配至可多路复用的任务时,将该标志位值修改为1。当该连接再次空闲添加至空闲连接列表中时,将该标志位置0。
在上述技术方案基础上,在创建空闲连接列表之后,还包括:对所述空闲列表中记录的每个空闲连接,周期性的向服务器发送心跳包。其中,心跳包指在客户端和服务器间定时通知对方自己状态的自己定义的命令字,按照一定的时间间隔发送,由此保证空闲列表中空闲连接的有效性,以在分配给对应任务时,保证任务的网络访问的及时性。
在上述技术方案基础上,在创建空闲连接列表之后,还包括:确定所述空闲列表中的无效和超时的空闲连接,进行清除。由此以保证空闲连接的有效性。
图4b为本发明实施例提供的一种用户和连接池交互的示意图。如图4b所示,步骤21、用户通过调用config和preconnect接口,提前建立指定个数的空闲连接;步骤22、ConnectionPool通过建立的空闲连接列表(idelConnections)管理空闲连接,用户通过get接口获取连接,ConnectionPool进行空闲连接的分配,如果没有分配到空闲连接,则创建新的连接以进行分配;步骤23、用户通过put接口归还空闲连接,ConnectionPool将该连接放入空闲连接列表中;步骤24、当连接数不够时,自动补充相应数量的连接;步骤25、通过定时器技术,对每个空闲连接定时向服务器发送心跳包;步骤26、定时清理无效和超时连接,以保证不会出现假连接。
图5为本发明实施例提供的一种网络连接池管理装置的结构框图,该装置用于执行上述实施例提供的网络连接池管理方法,具备执行方法相应的功能模块和有益效果。如图5所示,该装置具体包括:预连接创建模块101、连接池管理模块102、连接添加模块103和连接数量控制模块104,其中,
预连接创建模块101,用于根据调用信息建立设定个数的第一空闲连接,所述设定个数记录在所述调用信息中;
连接池管理模块102,用于创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中;
连接添加模块103,用于当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中;
连接数量控制模块104,用于对所述空闲连接列表中的空闲连接数量进行统计,所述空闲连接数量包括所述第一空闲连接数量和所述第二空闲连接数量之和,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并通过所述连接添加模块添加至所述空闲连接列表中。
由上述方案可知,根据调用信息建立设定个数的第一空闲连接;创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中;当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中;对所述空闲连接列表中的空闲连接数量进行统计,所述空闲连接数量包括所述第一空闲连接数量和所述第二空闲连接数量之和,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并添加至所述空闲连接列表中。本方案避免频繁建立连接,缩短了用户网络访问耗时。
在一个可能的实施例中,所述连接池管理模块102还用于:
在创建空闲连接列表之后,当检测到连接调用请求时,查询所述空闲连接列表,为所述连接调用请求分配相应的空闲连接;
确定发起连接调用请求的任务是否支持多路复用;
根据所述任务是否支持多路复用的结果,对所述分配的空闲连接进行标记,以用于多路复用。
在一个可能的实施例中,所述连接池管理模块102具体用于:
如果所述发起连接调用请求的任务支持多路复用,则对分配的所述空闲连接添加复用标记。
在一个可能的实施例中,所述连接池管理模块102具体用于:
当检测到新的支持多路复用的任务发起连接调用请求时,为其分配添加有复用标记的连接。
在一个可能的实施例中,所述连接池管理模块102具体用于:
当标记有复用标记的连接空闲时,对所述复用标记进行删除。
在一个可能的实施例中,所述连接池管理模块102还用于:
在创建空闲连接列表之后,对所述空闲列表中记录的每个空闲连接,周期性的向服务器发送心跳包。
在一个可能的实施例中,所述连接池管理模块102还用于:在创建空闲连接列表之后,确定所述空闲列表中的无效和超时的空闲连接,进行清除。
在一个可能的实施例中,所述连接池管理模块102具体用于:
创建连接池类,所述连接池类包括配置函数接口和预连接创建接口;
通过所述配置函数接口和所述预连接创建接口获取调用信息,根据所述调用信息建立设定个数的第一空闲连接。
在一个可能的实施例中,所述连接池类还包括获取连接接口,所述连接池管理模块102具体用于:
通过所述获取连接接口为所述连接调用请求分配相应的空闲连接。
图6为本发明实施例提供的一种网络连接池管理设备的结构示意图,如图6所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器201的数量可以是一个或多个,图6中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203和输出装置204可以通过总线或其他方式连接,图6中以通过总线连接为例。存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的网络连接池管理方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的网络连接池管理方法。输入装置203可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种网络连接池管理方法,该方法包括:
根据调用信息建立设定个数的第一空闲连接,所述设定个数记录在所述调用信息中;
创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中;
当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中;
对所述空闲连接列表中的空闲连接数量进行统计,所述空闲连接数量包括所述第一空闲连接数量和所述第二空闲连接数量之和,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并添加至所述空闲连接列表中。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明实施例可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务,或者网络设备等)执行本发明实施例各个实施例所述的方法。
值得注意的是,上述网络连接池管理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。
Claims (12)
1.网络连接池管理方法,其特征在于,包括:
根据调用信息建立设定个数的第一空闲连接,所述设定个数记录在所述调用信息中;
创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中;
当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中;
对所述空闲连接列表中的空闲连接数量进行统计,所述空闲连接数量包括所述第一空闲连接数量和所述第二空闲连接数量之和,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并添加至所述空闲连接列表中。
2.根据权利要求1所述的网络连接池管理方法,其特征在于,在创建空闲连接列表之后,还包括:
当检测到连接调用请求时,查询所述空闲连接列表,为所述连接调用请求分配相应的空闲连接;
确定发起连接调用请求的任务是否支持多路复用;
根据所述任务是否支持多路复用的结果,对所述分配的空闲连接进行标记,以用于多路复用。
3.根据权利要求2所述的网络连接池管理方法,其特征在于,所述根据所述任务是否支持多路复用的结果,对所述分配的空闲连接进行标记,以用于多路复用,包括:
如果所述发起连接调用请求的任务支持多路复用,则对分配的所述空闲连接添加复用标记。
4.根据权利要求3所述的网络连接池管理方法,其特征在于,当检测到新的支持多路复用的任务发起连接调用请求时,为其分配添加有复用标记的连接。
5.根据权利要求4所述的网络连接池管理方法,其特征在于,当标记有复用标记的连接空闲时,对所述复用标记进行删除。
6.根据权利要求1所述的网络连接池管理方法,其特征在于,在创建空闲连接列表之后,还包括:
对所述空闲列表中记录的每个空闲连接,周期性的向服务器发送心跳包。
7.根据权利要求1所述的网络连接池管理方法,其特征在于,在创建空闲连接列表之后,还包括:
确定所述空闲列表中的无效和超时的空闲连接,进行清除。
8.根据权利要求1-7中任一项所述的网络连接池管理方法,其特征在于,所述根据调用信息建立设定个数的第一空闲连接,包括:
创建连接池类,所述连接池类包括配置函数接口和预连接创建接口;
通过所述配置函数接口和所述预连接创建接口获取调用信息,根据所述调用信息建立设定个数的第一空闲连接。
9.根据权利要求2所述的网络连接池管理方法,其特征在于,所述连接池类还包括获取连接接口,相应的,所述为所述连接调用请求分配相应的空闲连接,包括:
通过所述获取连接接口为所述连接调用请求分配相应的空闲连接。
10.网络连接池管理装置,其特征在于,包括:
预连接创建模块,用于根据调用信息建立设定个数的第一空闲连接,所述设定个数记录在所述调用信息中;
连接池管理模块,用于创建空闲连接列表,将所述第一空闲连接添加至所述空闲连接列表中;
连接添加模块,用于当接收到释放的第二空闲连接时,将所述第二空闲连接添加至所述空闲连接列表中;
连接数量控制模块,用于对所述空闲连接列表中的空闲连接数量进行统计,所述空闲连接数量包括所述第一空闲连接数量和所述第二空闲连接数量之和,当检测到所述空闲连接数量小于预设数量时,创建空闲连接并通过所述连接添加模块添加至所述空闲连接列表中。
11.一种网络连接池管理设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一项所述的网络连接池管理方法。
12.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-9中任一项所述的网络连接池管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011542369.7A CN112689008A (zh) | 2020-12-23 | 2020-12-23 | 网络连接池管理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011542369.7A CN112689008A (zh) | 2020-12-23 | 2020-12-23 | 网络连接池管理方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112689008A true CN112689008A (zh) | 2021-04-20 |
Family
ID=75451330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011542369.7A Pending CN112689008A (zh) | 2020-12-23 | 2020-12-23 | 网络连接池管理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112689008A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396486A (zh) * | 2022-08-30 | 2022-11-25 | 重庆蚂蚁消费金融有限公司 | 连接池处理方法、装置、存储介质及设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447993A (zh) * | 2008-12-23 | 2009-06-03 | 深圳市金蝶中间件有限公司 | 查找连接池中未释放的连接的方法和装置 |
US20100262650A1 (en) * | 2008-10-08 | 2010-10-14 | Abhishek Chauhan | Systems and methods for connection management for asynchronous messaging over http |
CN102346767A (zh) * | 2011-09-19 | 2012-02-08 | 北京金和软件股份有限公司 | 一种基于双连接池的数据库连接方法 |
US20150134839A1 (en) * | 2005-11-29 | 2015-05-14 | Ebay Inc. | Method and system for reducing connections to a database |
US9083760B1 (en) * | 2010-08-09 | 2015-07-14 | F5 Networks, Inc. | Dynamic cloning and reservation of detached idle connections |
CN104809247A (zh) * | 2015-05-18 | 2015-07-29 | 北京京东尚科信息技术有限公司 | 数据库连接的分配和回收方法 |
CN105471869A (zh) * | 2015-11-23 | 2016-04-06 | 珠海全志科技股份有限公司 | 一种互联网电视内容请求的连接复用方法及*** |
CN106775822A (zh) * | 2016-11-22 | 2017-05-31 | 国云科技股份有限公司 | 一种OpenOffice连接池的实现方法 |
CN108475215A (zh) * | 2016-08-03 | 2018-08-31 | 甲骨文国际公司 | 用于在多租户数据库环境中提供租户的动态重新定位的***和方法 |
-
2020
- 2020-12-23 CN CN202011542369.7A patent/CN112689008A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150134839A1 (en) * | 2005-11-29 | 2015-05-14 | Ebay Inc. | Method and system for reducing connections to a database |
US20100262650A1 (en) * | 2008-10-08 | 2010-10-14 | Abhishek Chauhan | Systems and methods for connection management for asynchronous messaging over http |
CN101447993A (zh) * | 2008-12-23 | 2009-06-03 | 深圳市金蝶中间件有限公司 | 查找连接池中未释放的连接的方法和装置 |
US9083760B1 (en) * | 2010-08-09 | 2015-07-14 | F5 Networks, Inc. | Dynamic cloning and reservation of detached idle connections |
CN102346767A (zh) * | 2011-09-19 | 2012-02-08 | 北京金和软件股份有限公司 | 一种基于双连接池的数据库连接方法 |
CN104809247A (zh) * | 2015-05-18 | 2015-07-29 | 北京京东尚科信息技术有限公司 | 数据库连接的分配和回收方法 |
CN105471869A (zh) * | 2015-11-23 | 2016-04-06 | 珠海全志科技股份有限公司 | 一种互联网电视内容请求的连接复用方法及*** |
CN108475215A (zh) * | 2016-08-03 | 2018-08-31 | 甲骨文国际公司 | 用于在多租户数据库环境中提供租户的动态重新定位的***和方法 |
CN106775822A (zh) * | 2016-11-22 | 2017-05-31 | 国云科技股份有限公司 | 一种OpenOffice连接池的实现方法 |
Non-Patent Citations (2)
Title |
---|
FEI LIU 等: "A Method of Design and Optimization of Database Connection Pool", 《2012 4TH INTERNATIONAL CONFERENCE ON INTELLIGENT HUMAN-MACHINE SYSTEMS AND CYBERNETICS》, 20 September 2012 (2012-09-20) * |
刘翠霞: "Java数据库连接池的原理与应用", 《无线互联科技》, 20 April 2020 (2020-04-20) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396486A (zh) * | 2022-08-30 | 2022-11-25 | 重庆蚂蚁消费金融有限公司 | 连接池处理方法、装置、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965461A (zh) | 服务治理方法、装置及dubbo服务*** | |
CN109766172B (zh) | 一种异步任务调度方法以及装置 | |
CN113259415B (zh) | 一种网络报文处理方法、装置及网络服务器 | |
CN114364031B (zh) | 服务提供方法、装置及存储介质 | |
CN104348928B (zh) | 一种分配地址资源的方法、管理设备、请求设备及*** | |
TWI640214B (zh) | 一種網路接入方法、相關設備和系統 | |
CN109819023B (zh) | 分布式事务处理方法及相关产品 | |
WO2016095524A1 (zh) | 资源分配方法及装置 | |
CN112202918A (zh) | 长连接通信的负载调度方法、装置、设备及存储介质 | |
CN105721552A (zh) | 一种基于dns实现动态负载均衡的方法及dns*** | |
CN108563508B (zh) | Yarn资源分配方法及装置 | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN115237589A (zh) | 一种基于sr-iov的虚拟化方法、装置和设备 | |
CN109002364A (zh) | 进程间通信的优化方法、电子装置以及可读存储介质 | |
CN112689008A (zh) | 网络连接池管理方法、装置、设备和存储介质 | |
CN112822299B (zh) | 基于rdma的数据传输方法、装置及电子设备 | |
CN109413117B (zh) | 分布式数据计算方法、装置、服务器及计算机存储介质 | |
WO2015067051A1 (zh) | 测试代理方法及其装置 | |
CN111274022B (zh) | 服务器资源分配方法和*** | |
CN103259817B (zh) | 资源释放方法及装置 | |
CN107404504B (zh) | 通信方法、装置及*** | |
CN112491066B (zh) | 负载均衡方法、装置、***、目标负载均衡设备及介质 | |
CN114615272A (zh) | 媒体数据转发服务器调度方法和*** | |
CN113687962A (zh) | 一种请求处理方法、装置、设备及存储介质 | |
CN108092790B (zh) | 一种管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |