CN107453937A - 网络连接池的管理方法及设备 - Google Patents
网络连接池的管理方法及设备 Download PDFInfo
- Publication number
- CN107453937A CN107453937A CN201610383251.1A CN201610383251A CN107453937A CN 107453937 A CN107453937 A CN 107453937A CN 201610383251 A CN201610383251 A CN 201610383251A CN 107453937 A CN107453937 A CN 107453937A
- Authority
- CN
- China
- Prior art keywords
- network connection
- network
- objective
- pond
- event
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络连接池的管理方法及设备。所述网络连接池管理方法包括:响应于网络连接检查请求,从网络连接池中获取待检查的目标网络连接;基于存在控制数据的传输来确定目标网络连接是失效的,其中,控制数据是通过网络连接的传输层所传输的用于控制所述目标网络连接状态的数据。根据本发明,提升了检查网络连接有效的正确率。
Description
技术领域
本发明涉及网络通信技术领域,更具体地,涉及一种网络连接池的管理方法、设备及可编程设备。
背景技术
时下互联网已经成为人们生活、工作中不可或缺的一部分。在大多互联网的应用中,用户访问网络时,大多由该应用的客户端向服务器发起网络连接请求,建立与服务器之间的网络连接,然后利用该网络连接向服务器发送网络访问请求,在服务器处理网络访问请求后,将结果返回客户端。因此,每个网络访问请求的处理,大多需要基于一个网络连接来处理。而每次处理网络访问请求时,客户端需要与服务器的建立网络连接,会带来时间消耗,造成用户访问网络的等待时间较长,用户体验不佳。为了缩短用户访问网络的等待时间,使用户有较好的网络访问体验,网络连接池就应运而生。在网络连接池中包含一定数量的网络连接,这些网络连接必须保证有效的,即未被用于处理网络访问请求的空闲的网络连接。这可以使得在处理网络访问请求时,无需再实时创建网络连接,而是从网络连接池中,选择可用的网络连接用于处理网络访问请求。缩短客户端需要与服务器的建立网络连接的时间。也缩短用户访问网络的等待时间。带来较好的用户体验。
而现有网络连接池的管理机制中,为确保提供的网络连接是有效的,存在检查网络连接是否有效的机制,具体如图1所示,包括以下步骤:
步骤S1,获取某个网络连接的输入流,用于读取该网络连接中接收到的数据;
步骤S2,读取该网络连接的输入流的接收数据;
步骤S3,根据读取接收数据的结果判断该网络连接是否有效:若读取出现异常或者读取到任何接收数据,则认为该网络连接有效,反之,读取正常且读取不到任何数据,则认为网络连接有效。
在某些具体应用场景中,为了保证处理网络访问请求的稳健可靠,通常会在处理网络连接请求前,基于上述检查网络连接是否有效的机制,检查网络连接是否实时有效。当需要对大量网络连接进行检测是否有效时,就存在大量频繁读取网络连接的输入流的接收数据的情况,导致触发网络连接检测的互联网应用处理能力不足而崩溃。而且,基于上述检测网络连接是否有效的机制,读取网络连接的输入流的接收数据可能会出现阻塞现象,需要较长的时间读取结果,相应会导致处理网络访问请求的过程耗时太长。
此外,网络连接的传输模型多属于OSI模型(即开放式通信系统互联参考模型,Open Systems Interconnection Reference Model,是国际标准化组织ISO提出的一个试图使各种计算机在世界范围内互连为网络的标准框架)。该OSI模型中包括七个协议层,应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。对于符合OSI模型的网络连接,服务器可以通过传输层发送控制数据,控制网络连接的关闭(关闭网络连接的原因可能有多种,如网络负载太重、网络不稳定等)。被关闭的网络连接随即失效不再可用。但是,上述的检查网络连接是否有效的机制,是通过网络连接的输入流的接收数据(应用层的数据)的读取结果来判断的。而当服务器端通过传输层发送控制数据对网络连接进行关闭时,网络连接的应用层是不存在数据传输的,那么网络连接的输入流的接收数据的读取结果是读不到任何数据,这就导致根据现有的检查网络连接是否有效的机制,会判断该网络连接有效,得到错误的检查结果。使得在处理网络访问请求时,会使用失效的网络连接,在处理失败后重新建立网络连接处理网络连接请求。过程中耗费大量的处理时间。使得用户访问网络的等待时间过长,影响用户体验。
因此,发明人认为,有必要针对上述现有技术中存在的问题进行改进。
发明内容
本发明的一个目的是提供一种用于管理网络连接池的新技术方案。
根据本发明的第一方面,提供了一种网络连接池的管理方法,所述方法实施于包含多个网络连接的网络连接池,包括:
响应于网络连接检查请求,从网络连接池中获取待检查的目标网络连接;
基于存在控制数据的传输来确定所述目标网络连接是失效的,其中,所述控制数据是通过网络连接的传输层所传输的用于控制所述目标网络连接状态的数据。
在一个实施例中,所述基于存在控制数据的传输来确定所述目标网络连接是失效的步骤,包括:
根据所述目标网络连接的属性信息,生成待监听的目标网络连接事件,所述目标网络连接事件的事件元素包含所述网络连接的属性信息以及所述网络连接事件内容,所述目标网络连接事件内容为已读取所述控制数据;
基于监听到已发生所述目标网络连接事件来确定所述目标网络连接是失效的。
进一步可选地,所述网络连接的属性信息为网络连接的套接字的文件描述符。
在一个例子中,所述方法还包括,根据预置的周期,产生所述网络连接检查请求。
在另一个例子中,所述方法还包括,响应于网络访问请求,产生所述网络连接检查请求。
在再一个例子中,所述方法还包括,若所述目标网络连接失效,重新建立所述目标网络连接。
根据本发明的第二方面,提供一种网络访问方法,包括:
响应于网络访问请求,从通过本发明的第一方面提供的任意一项所述网络连接池的管理方法实施管理的网络连接池中获取可用于处理所述网络访问请求的有效的网络连接;
使用所述网络连接处理所述网络访问请求。
根据本发明的第三方面,提供一种网络连接池的管理设备,所述设备用于管理包含多个网络连接的网络连接池,包括:
目标网络连接获取单元,用于响应于网络连接检查请求,从网络连接池中获取待检查的目标网络连接;
目标网络连接检查单元,用于基于存在控制数据的传输来确定所述目标网络连接是失效的,其中,所述控制数据是通过网络连接的传输层所传输的用于控制所述目标网络连接状态的数据。
在一个例子中,所述的管理设备的所述目标网络连接检查单元,包括:
用于根据所述目标网络连接的属性信息,生成待监听的目标网络连接事件的装置,所述目标网络连接事件的事件元素包含所述网络连接的属性信息以及所述网络连接事件内容,所述目标网络连接事件内容为已读取所述控制数据;
用于基于监听到已发生所述目标网络连接事件来确定所述目标网络连接是失效的装置。
进一步可选地,所述网络连接的属性信息为网络连接的套接字的文件描述符。
在一个例子中,所述的管理设备,还包括:
用于根据预置的周期产生所述网络连接检查请求的装置。
在另一个例子中,所述的管理设备,还包括:
用于响应于网络访问请求产生所述网络连接检查请求的装置。
在在一个例子中,所述的管理设备,还包括:
用于若所述目标网络连接失效重新建立所述目标网络连接的装置。
根据本发明的第四方面,还提供一种网络访问设备,包括:
根据本发明第三方面提供的任意一项所述的网络连接池的管理设备,用于管理网络连接池;
用于响应于网络访问请求从所述网络连接池中获取可用于处理所述网络访问请求的有效的网络连接的装置;以及
用于使用所述网络连接处理所述网络请求的装置。
根据本发明的第五方面,还提供一种可编程设备,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行本发明的第一方面提供的任意一项网络管理池的管理方法。
根据本发明的第六方面,还提供一种可编程设备,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行本发明的第二方面提供的任意一项网络访问方法。
本发明的发明人发现,在现有技术中,尚未提出一种网络连接池的管理方法,可以在网络连接被关闭失效时,避免将失效的网络连接错误确定为有效的网络连接。因此,本发明所要实现的技术任务或者所要解决的技术问题是本领域技术人员从未想到的或者没有预期到的,故本发明是一种新的技术方案。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1示出了现有技术中检测网络连接是否有效的方法的流程图。
图2是显示可用于实现本发明的实施例的计算系统的硬件配置的例子的框图。
图3示出了本发明的实施例中网络连接池的管理方法的流程图。
图4示出了本发明的实施例中网络连接池的管理方法的一个流程图。
图5示出了本发明的实施例中网络连接池的管理设备的示意性框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
图2是示出可以实现本发明的实施例的计算机系统1000的硬件配置的框图。
如图2所示,计算机系统1000包括计算机1110。计算机1110包括经由系统总线1121连接的处理单元1120、系统存储器1130、固定非易失性存储器接口1140、移动非易失性存储器接口1150、用户输入接口1160、网络接口1170、视频接口1190和输出外围接口1195。
系统存储器1130包括ROM(只读存储器)和RAM(随机存取存储器)。BIOS(基本输入输出系统)驻留在ROM内。操作系统、应用程序、其它程序模块和某些程序数据驻留在RAM内。
诸如硬盘的固定非易失性存储器连接到固定非易失性存储器接口1140。固定非易失性存储器例如可以存储操作系统、应用程序、其它程序模块和某些程序数据。
诸如软盘驱动器和CD-ROM驱动器的移动非易失性存储器连接到移动非易失性存储器接口1150。例如,软盘可以被插入到软盘驱动器中,以及CD(光盘)可以被插入到CD-ROM驱动器内。
诸如鼠标和键盘的输入设备被连接到用户输入接口1160。
计算机1110可以通过网络接口1170连接到远程计算机1180。例如,网络接口1170可以通过局域网连接到远程计算机。或者,网络接口1170可以连接到调制解调器(调制器-解调器),以及调制解调器经由广域网连接到远程计算机1180。
远程计算机1180可以包括诸如硬盘的存储器,其可以存储远程应用程序。
视频接口1190连接到监视器。
输出外围接口1195连接到打印机和扬声器。
图2所示的计算机系统仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。
<实施例>
本发明实施例的总体构思,是提出一种新的网络连接池的管理方法,通过一种新的检查网络连接是否有效的机制,降低将失效的网络连接检测为有效的错误率(特别是,避免在服务器关闭网络连接时,将失效的网络连接误检为有效)。提高网络连接池中网络连接的有效率。对应地,有效降低使用失效连接导致网络访问时间过长的概率。提升用户体验。
本实施例提供一种网络连接池的管理方法,如图3所示,所述方法实施于包含多个网络连接的网络连接池,包括以下步骤:
步骤S3100,响应于网络连接检查请求,从网络连接池中获取待检查的目标网络连接。
所述网络连接检查请求中,包含用于指示待检查的目标网络连接的信息。该指示信息,可以是唯一标识目标网络连接的标识信息,例如索引号、名称、缩写等。也可以是唯一标识该目标网络连接的网络属性,例如该网络连接的目标域名、目标端口号以及通过解析后得到的目标域名的IP地址的组合。所述指示信息,只要是可以区分网络连接池中其他非目标网络连接以指示待检查的目标网络连接,使得可以对应从网络连接池获取对应的目标网络连接,均可应用于本实施例。此外,所示指示信息,可以仅指示一个待检查的目标网络连接。也可以指示多个待检查的目标网络连接。对应地,响应于网络连接检查请求,从网络连接池中获取的,可以是一个待检查的目标网络连接,也可以是多个待检查的目标网络连接。
在大多数的应用场景中,在网络访问请求到达时,从网络连接池中选取可用于处理网络访问请求的网络连接时,要先检查该可用于处理网络访问请求的网络连接是否还有效,以确保是使用有效可用的网络连接处理网络访问请求,避免使用失效网络连接带来的访问网络的等待时间过长。因此,在一个例子中,响应于网络访问请求,产生所述网络连接检查请求。所述网络连接检查请求中,指示待检查的目标网络连接为可用于处理所述网络访问请求的网络连接。
在某些应用场景下,某些互联网应用中,网络访问请求的数量较多,发生较频繁,服务器端与客户端存在频繁的数据交互。可以在网络连接池中维持一定数量的可用于处理这些网络访问请求的空闲的网络连接,以备用。这种场景下,对这些备用的网络连接的实时有效就存在较高的要求。可以通过周期检查这些网络连接是否有效,发现失效的网络连接及时重建,来提高这些网络连接的实时有效性。因此,在一个例子中,根据预置的周期,产生所述网络连接检查请求。
这个例子中,预置的周期,可以根据工程实现经验值选取或者根据应用场景的需求配置。例如,根据工程实现经验值,设置周期为4秒。每4秒产生一次网络检查请求。又例如,在某些应用场景下,对访问网络的等待时间有严格的限制,并且实施本实施例提供的方法的设备性能不受限制,可以将预置的周期设置至几十或几百毫秒级,进一步提高网络连接池中维持的网络连接的实时有效性。此外,在这个例子中,在预置的周期足够短,可以使得网络连接池的网络连接实时有效率满足要求的情况下,每次在实际的网络访问请求到达时,可以直接从网络连接池中选取对应的网络连接处理网络访问请求,而无需在处理前再检查网络连接是否有效,进一步缩短访问网络的等待时间。以及,在这个例子中,根据预置的周期产生的网络连接检查请求中,可以指示检查网络连接池中的全部网络连接。也可以根据应用场景指示仅检查网络连接池中的某些网络连接,提高检查效率。例如,仅检查某些重要或常用的网络连接。
在步骤S3100之后,进入步骤S3200,基于存在控制数据的传输来确定所述目标网络连接是失效的,其中,所述控制数据是通过网络连接的传输层所传输的用于控制所述目标网络连接状态的数据。
在本实施例中,所述目标网络连接符合OSI模型(即开放式通信系统互联参考模型,Open Systems Interconnection Reference Model,是国际标准化组织ISO提出的一个试图使各种计算机在世界范围内互连为网络的标准框架)。该OSI模型中包括七个协议层,应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。对于符合OSI模型的网络连接,服务器可以通过传输层发送控制数据,控制网络连接的关闭(关闭网络连接的原因可能有多种,如网络负载太重、网络不稳定等)。因此,在网络连接被关闭时,在网络连接中存在控制数据的传输,该控制数据是通过网络连接的传输层传输用于控制所述目标网络连接状态的数据(例如,重置连接的控制帧数据),对应地,目标网络连接失效。反之,目标网络连接有效。通过网络连接中是否存在控制数据传输来确定网络连接是否有效,可以避免在网络连接被关闭失效后因为读取不到应用层数据而误认为该网络连接有效的情况,提高检查网络连接是否有效的正确率。
在一个例子中,步骤S3200可以根据图4所示的方法实施,具体包括以下步骤:
步骤S4100,根据所述目标网络连接的属性信息,生成待监听的目标网络连接事件,所述目标网络连接事件的事件元素包含所述网络连接的属性信息以及所述网络连接事件内容,所述目标网络连接事件内容为已读取所述控制数据。
本实施例中,获取所述目标网络连接后,可以相应地获取目标连接的属性信息。所述属性信息,是用于描述目标网络连接以区分于其他网络连接的信息。生成的待检查的目标网络事件的事件元素中,网络连接的属性信息可以标识该目标网络连接,即描述目标网络事件的对象,则结合目标网络事件内容,所述待检查的目标网络事件具体为:该所述目标网络连接中已读取所述控制数据。
本实施例中,目标网络连接的属性信息,可以是该目标连接的目标域名的IP地址、端口等。在一个例子中,所述网络连接的属性信息为网络连接的套接字的文件描述符。套接字,通常又称Socket,可以用于描述网络通信中的IP地址和端口(可以是IP地址和端口的组合),是网络通信中一个网络连接的一端的句柄,是端点的抽象表示,还可以包括网络连接所使用的通信协议信息。而套接字的文件描述符,与套接字对应,可用于指定套接字对应的文件进行读写。因此,目标网络连接的套接字的文件描述符,可以作为属性信息用于描述目标网络连接以区分其他网络连接。
对于目标网络连接生成目标检查事件后,在步骤S4100之后,进入步骤S4200,基于监听到已发生所述目标网络连接事件来确定所述目标网络连接是失效的。
基于步骤S4100,所述待监听的目标网络连接事件具体为:该所述目标网络连接中已读取所述控制数据。若监听到目标网络连接事件已发生,则意味着目标网络连接中的传输层中存在所述控制数据的传输,也就意味着,目标网络连接在被关闭而失效。反之,目标网络连接有效。
在一个更具体的例子中,本实施例提供的网络连接池的管理方法通过Linux操作系统的设备实施,可以通过下述步骤实施如图4所示的方法:
根据目标网络连接的套接字的文件描述符生成待监听的目标网络连接事件,其中,每个待检查的事件元素包含文件描述符和需要注册该套接字发生的事件,具体注册的事件为“POLLRDNORM”(即为“正常读”),此外,若存在多个待检查的目标网络连接,则分别根据每个目标网络连接的套接字的文件描述符生成待监听的目标网络连接事件后,得到目标网络连接事件组;
调用Linux操作系统的应用程序接口中的poll函数,把目标网络连接事件或目标网络连接事件组加入监听队列进行监听,并设置poll函数的超时时间这一参数取值为0(即调用poll函数监听检查到此时为止,立刻返回是否有已经注册的事件发生),根据poll函数返回的结果包含所注册的事件,判断网络连接失效,反之,网络连接有效。
通过上述多个例子中的检查网络连接是否有效的实施方法,在确定目标网络连接是否有效后,根据目标网络连接的状态,可以进行相应的处理。
目标网络连接若有效,可以根据触发检查目标网络连接检查的原因(即生成网络连接检查请求的原因)进行处理,例如,根据预置的周期产生所述网络连接检查请求,则该目标网络连接继续维持。又例如,响应于网络访问请求,产生所述网络连接检查请求,则后续通过该有效的目标网络连接处理网络访问请求。
目标网络连接若无效,在一个例子中,可以重新建立所述目标网络连接。在这个例子中,若根据预置的周期产生所述网络连接检查请求,在目标网络连接无效后重新建立所述目标网络连接,可以在网络连接池中及时补充重要或常用的网络连接(如某些互联网应用中,用于处理频繁出现的网络访问请求的网络连接)。而若响应于网络访问请求,产生所述网络连接检查请求,在目标网络连接无效后重新建立所述目标网络连接,才能通过有效的网络连接处理网络访问请求。
但在某些应用场景下,网络连接池中的可维持的网络连接数目有限,则在根据预置的周期产生所述网络连接检查请求,在检查目标网络连接无效,判断该目标网络连接不属于重要或者常用的网络连接,可以将该目标网络连接删除,不再在网络连接池中维持。
本实施例中还提供一种网络连接池的管理设备5000,如图5所示,包括目标网络连接获取单元5100、目标网络连接检查单元5200,用于实施本实施例中提供的任意一项网络连接池的管理方法,在此不再赘述。
一种网络连接池的管理设备5000,包括:
目标网络连接获取单元5100,用于响应于网络连接检查请求,从网络连接池中获取待检查的目标网络连接;
目标网络连接检查单元5200,
用于基于存在控制数据的传输来确定所述目标网络连接是失效的,其中,所述控制数据是通过网络连接的传输层所传输的用于控制所述目标网络连接状态的数据。
在一个例子中,所述目标网络连接检查单元5200,包括:
用于根据所述目标网络连接的属性信息,生成待监听的目标网络连接事件的装置,所述目标网络连接事件的事件元素包含所述网络连接的属性信息以及所述网络连接事件内容,所述目标网络连接事件内容为已读取所述控制数据;
用于基于监听到已发生所述目标网络连接事件来确定所述目标网络连接是失效的装置。
在一个例子中,所述网络连接池的管理设备5000,还包括:
用于根据预置的周期产生所述网络连接检查请求的装置。
又一个例子中,所述网络连接池的管理设备5000,还包括:
用于响应于网络访问请求产生所述网络连接检查请求的装置。
再一个例子中,所述网络连接池的管理设备5000,还包括:
用于若所述目标网络连接失效重新建立所述目标网络连接的装置。
在本发明中,并不限制所述网络连接池的管理设备5000的具体实现方式。所述网络连接池的管理设备5000可以以独立于互联网应用的客户端以及服务器之外的设备形式实现,也可以在互联网应用的客户端或服务器的内部实现全部功能,也可以以分离实施的方式,在客户端内部以及服务器内部分别实现部分功能。在此不一一列举。只要是可以实现本发明的实施例中提供网络连接池的管理设备5000的功能的实现形式,均在本发明实施例的披露范围。
在本实施例中,还提供一种可编程设备,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行本实施例中提供的任意一项网络连接池的管理方法。
在本实施例中,还提供一种网络访问方法,包括:
响应于网络访问请求,从通过本实施例中提供的任意一项网络连接池的管理方法实施管理的网络连接池中获取可用于处理所述网络访问请求的有效的网络连接;
使用所述网络连接处理所述网络访问请求。
通过本实施例中提供的任意一项网络连接池的管理方法,可以避免在检查中错将被服务器关闭而失效的网络连接认为有效,提升了检查网络连接有效的正确率。相应地,通过该方法管理的网络连接池中的网络连接实时有效率也得到提升。从中选取的网络连接处理网络访问请求,能降低发现网络连接失效后需要重建网络连接的概率,有效缩短访问网络的等待时间。
在本实施例中,还提供一种网络访问设备,用于实施本实施例中提供的网络访问方法,在此不再赘述,所述网络访问设备包括:
本实施例中提供的任意一项网络连接池的管理设备,用于管理网络连接池;
用于响应于网络访问请求从所述网络连接池中获取可用于处理所述网络访问请求的有效的网络连接的装置;以及
用于使用所述网络连接处理所述网络请求的装置。
在本实施例中,还提供一种可编程设备,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行本实施例中提供的网络访问方法。
<例子>
在本例子中,网络访问请求具体为访问一个网页。通常处理一个网页访问请求的过程包括:解析访问网页的域名、创建访问网页所需的网络连接、通过网络连接向对网页地址发送网页数据请求、接收返回的网页数据。而网页数据中主要的数据为网页的主文档,通常在处理网页访问请求的过程中,先通过网络连接向网页服务器申请加载网页的主文档。因而,在衡量访问网页的性能时,主文档的网络连接命中率(从网络连接池中获取用于处理加载网页的主文档的有效网络连接的概率)是一个重要的衡量指标。同时,主文档资源联网首次成功率(通过网络连接池中获取的网络连接成功接收请求的主文档资源的首次成功率)也是一个重要的衡量指标。
在本例中,根据两种访问网页的方法,在相同的网络环境中分别发起10000次网页访问,测试获取访问过程中两种方法的主文档的网络连接命中率以及主文档资源联网首次成功率:
方法一是通过从现有技术中如图1所示的方法管理的网络连接池中选取可用的且检查有效的网络连接处理网页访问,在10000网页访问中,主文档的网络连接命中率约为65%,主文档资源联网首次成功率为92%。
方法二是从通过本实施例提供的网络连接池的管理方法实施管理的网络连接池中选取可用的且检查有效的网络连接处理网页访问,在10000网页访问中,主文档的网络连接命中率约为98.6%,主文档资源联网首次成功率为99.3%。
通过本例子的测试结果,本实施提供的网络连接池的管理方法实施管理的网络连接池,提供的网络连接的实时有效性更高。相应地,在访问网页时,主文档的网络连接命中率以及主文档资源联网首次成功率更高。与现有技术相比,具有显著的进步。
以上已经结合附图、例子描述了本发明的实施例,根据本实施例,已经完整地提供了一种网络连接池的管理方法,可以通过检测网络连接中存在通过传输层传输的控制网络连接状态的控制数据,确定网络连接已失效,避免在检查中错将被服务器关闭而失效的网络连接认为有效,提升了检查网络连接有效的正确率。提高网络连接池中网络连接的实时有效性。使得通过网络连接处理网络访问请求时获取有效网络连接的概率增大。缩短网络访问的时间,提升用户体验。
本领域技术人员应当明白,可以通过各种方式来实现网络连接池的管理设备和网络访问设备。例如,可以通过指令配置处理器来实现网络连接池的管理设备和网络访问设备。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现网络连接池的管理设备和网络访问设备。例如,可以将网络连接池的管理设备和网络访问设备固化到专用器件(例如ASIC)中。可以将网络连接池的管理设备和网络访问设备分成相互独立的单元,或者可以将它们合并在一起实现。网络连接池的管理设备和网络访问设备可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由硬件来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。因此,对于电子信息技术领域的普通技术人员来说,更为直接和清楚地描述一个技术方案的方式是描述该方案中的各个操作。在知道所要执行的操作的情况下,本领域技术人员可以基于对所述非技术性因素的考虑直接设计出期望的产品。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (10)
1.一种网络连接池的管理方法,其特征在于,所述方法实施于包含多个网络连接的网络连接池,包括以下步骤:
响应于网络连接检查请求,从网络连接池中获取待检查的目标网络连接;
基于存在控制数据的传输来确定所述目标网络连接是失效的,其中,所述控制数据是通过网络连接的传输层所传输的用于控制所述目标网络连接状态的数据。
2.根据权利要求1所述的方法,其特征在于,所述基于存在控制数据的传输来确定所述目标网络连接是失效的步骤,包括:
根据所述目标网络连接的属性信息,生成待监听的目标网络连接事件,所述目标网络连接事件的事件元素包含所述网络连接的属性信息以及所述网络连接事件内容,所述目标网络连接事件内容为已读取所述控制数据;
基于监听到已发生所述目标网络连接事件来确定所述目标网络连接是失效的。
3.根据权利要求2所述的方法,其特征在于,所述网络连接的属性信息为网络连接的套接字的文件描述符。
4.一种网络访问方法,其特征在于,包括:
响应于网络访问请求,从通过权利要求1-6任意一项所述方法实施管理的网络连接池中获取可用于处理所述网络访问请求的有效的网络连接;
使用所述网络连接处理所述网络访问请求。
5.一种网络连接池的管理设备,其特征在于,所述设备用于管理包含多个网络连接的网络连接池,包括:
目标网络连接获取单元,用于响应于网络连接检查请求,从网络连接池中获取待检查的目标网络连接;
目标网络连接检查单元,用于基于存在控制数据的传输来确定所述目标网络连接是失效的,其中,所述控制数据是通过网络连接的传输层所传输的用于控制所述目标网络连接状态的数据。
6.根据权利要求5所述的管理设备,其特征在于,所述目标网络连接检查单元,包括:
用于根据所述目标网络连接的属性信息,生成待监听的目标网络连接事件的装置,所述目标网络连接事件的事件元素包含所述网络连接的属性信息以及所述网络连接事件内容,所述目标网络连接事件内容为已读取所述控制数据;
用于基于监听到已发生所述目标网络连接事件来确定所述目标网络连接是失效的装置。
7.根据权利要求6所述的管理设备,其特征在于,所述网络连接的属性信息为网络连接的套接字的文件描述符。
8.一种网络访问设备,其特征在于,包括:
如权利要求5-7任意一项所述的网络连接池的管理设备,用于管理网络连接池;
用于响应于网络访问请求从所述网络连接池中获取可用于处理所述网络访问请求的有效的网络连接的装置;以及
用于使用所述网络连接处理所述网络请求的装置。
9.一种可编程设备,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据权利要求1-3任意一项所述的方法。
10.一种可编程设备,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据权利要求4所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610383251.1A CN107453937B (zh) | 2016-06-01 | 2016-06-01 | 网络连接池的管理方法、网络访问方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610383251.1A CN107453937B (zh) | 2016-06-01 | 2016-06-01 | 网络连接池的管理方法、网络访问方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107453937A true CN107453937A (zh) | 2017-12-08 |
CN107453937B CN107453937B (zh) | 2021-01-26 |
Family
ID=60485474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610383251.1A Active CN107453937B (zh) | 2016-06-01 | 2016-06-01 | 网络连接池的管理方法、网络访问方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107453937B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109819031A (zh) * | 2019-01-24 | 2019-05-28 | 广州虎牙信息科技有限公司 | 一种连接方法、装置、设备和存储介质 |
CN111694628A (zh) * | 2020-05-28 | 2020-09-22 | 平安普惠企业管理有限公司 | 基于应用程序的线程的页面展示方法及相关设备 |
CN115396313A (zh) * | 2022-08-22 | 2022-11-25 | 度小满科技(北京)有限公司 | 通信方法、装置、存储介质及电子装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101095109A (zh) * | 2004-12-31 | 2007-12-26 | Bea系统公司 | 多池管理器 |
US20100036951A1 (en) * | 2006-08-21 | 2010-02-11 | Sandeep Kamath | Systems and methods for dynamic decentralized load balancing across multiple sites |
CN103067293A (zh) * | 2012-12-31 | 2013-04-24 | 北京京东世纪贸易有限公司 | 负载均衡设备的连接管理和复用的方法和系统 |
CN103441999A (zh) * | 2013-08-21 | 2013-12-11 | 好耶网络科技(上海)有限公司 | 一种套接字连接池控制方法 |
-
2016
- 2016-06-01 CN CN201610383251.1A patent/CN107453937B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101095109A (zh) * | 2004-12-31 | 2007-12-26 | Bea系统公司 | 多池管理器 |
US20100036951A1 (en) * | 2006-08-21 | 2010-02-11 | Sandeep Kamath | Systems and methods for dynamic decentralized load balancing across multiple sites |
CN103067293A (zh) * | 2012-12-31 | 2013-04-24 | 北京京东世纪贸易有限公司 | 负载均衡设备的连接管理和复用的方法和系统 |
CN103441999A (zh) * | 2013-08-21 | 2013-12-11 | 好耶网络科技(上海)有限公司 | 一种套接字连接池控制方法 |
Non-Patent Citations (1)
Title |
---|
马海燕等: "基于JDBC数据库连接池的自适应管理策略研究", 《计算机应用研究》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109819031A (zh) * | 2019-01-24 | 2019-05-28 | 广州虎牙信息科技有限公司 | 一种连接方法、装置、设备和存储介质 |
CN111694628A (zh) * | 2020-05-28 | 2020-09-22 | 平安普惠企业管理有限公司 | 基于应用程序的线程的页面展示方法及相关设备 |
CN111694628B (zh) * | 2020-05-28 | 2024-02-09 | 匠为文化科技集团有限公司 | 基于应用程序的线程的页面展示方法及相关设备 |
CN115396313A (zh) * | 2022-08-22 | 2022-11-25 | 度小满科技(北京)有限公司 | 通信方法、装置、存储介质及电子装置 |
CN115396313B (zh) * | 2022-08-22 | 2024-07-09 | 度小满科技(北京)有限公司 | 通信方法、装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107453937B (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110289983B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
CN107526645A (zh) | 一种通信优化方法及系统 | |
US9948524B2 (en) | Network element diagnostic evaluation | |
US10678670B2 (en) | Evaluating fairness in devices under test | |
CN107453937A (zh) | 网络连接池的管理方法及设备 | |
CN108769179A (zh) | 一种服务健康状态评估方法及装置 | |
CN108255620A (zh) | 一种业务逻辑处理方法、装置、业务服务器及系统 | |
CN110213092A (zh) | 混合云的资源访问方法、平台管理设备、存储介质及装置 | |
CN107566480B (zh) | 移动终端应用的用户活动信息采集方法及装置、存储介质 | |
CN108733545B (zh) | 一种压力测试方法及装置 | |
CN109656791B (zh) | 一种基于Jmeter的gRPC性能测试方法及装置 | |
TWI447574B (zh) | 記錄崩潰與預防崩潰的方法、電腦可讀媒體、資訊設備、與系統 | |
WO2021253239A1 (zh) | 云服务系统的资源配置确定方法及装置 | |
WO2020000727A1 (zh) | 服务器、业务数据校验的方法及存储介质 | |
CN104281587B (zh) | 一种建立连接的方法及装置 | |
US20100030599A1 (en) | Method and apparatus for integrating health care payers and provider systems with health care transaction systems using a single hipaa edi response generation component | |
CN113779021B (zh) | 数据处理方法、装置、计算机系统及可读存储介质 | |
CN103714040A (zh) | 使用性能度量动态和选择性地管理集成点的方法和装置 | |
US20210311814A1 (en) | Pattern recognition for proactive treatment of non-contiguous growing defects | |
CN113852610A (zh) | 报文处理方法、装置、计算机设备和存储介质 | |
TW201732692A (zh) | 檢查分布式業務處理完整度的方法及裝置 | |
CN114650319A (zh) | 一种资源迁移的方法、装置、服务器及存储介质 | |
CN104318475B (zh) | 一种获取模拟回执的方法和装置 | |
WO2023226601A1 (zh) | 一种异构加速资源异常处理方法、装置、存储介质及电子装置 | |
CN107220092A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200527 Address after: 310051 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping B radio square 14 storey tower Applicant before: GUANGZHOU UCWEB COMPUTER TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |