用于管理网络连接的方法、装置、设备和存储介质制造方法及图纸

技术编号:21369620 阅读:18 留言:0更新日期:2019-06-15 11:11
根据本公开的示例实施例,提供了用于管理网络连接的方法、装置、设备和计算机可读存储介质。用于管理网络连接的方法包括确定与目标设备相关联的至少一个网络连接。该方法还包括获取至少一个网络连接的连接状态,连接状态指示至少一个网络连接中的数据传输频率。该方法进一步包括至少部分地基于连接状态,确定针对至少一个网络连接的操作。以此方式,能够根据网络连接的活跃度来动态地选择适合于当前状态的复用方式,并且断开不活跃的空闲连接,从而优化资源的利用。

Methods, devices, devices and storage media for managing network connections

According to an example embodiment of the present disclosure, methods, devices, devices and computer-readable storage media for managing network connections are provided. A method for managing network connections includes determining at least one network connection associated with the target device. The method also includes acquiring the connection state of at least one network connection, which indicates the data transmission frequency in at least one network connection. The method further includes determining an operation for at least one network connection based at least partially on the connection state. In this way, the multiplexing mode suitable for the current state can be dynamically selected according to the activity of the network connection, and the inactive idle connection can be disconnected, so as to optimize the utilization of resources.

【技术实现步骤摘要】
用于管理网络连接的方法、装置、设备和存储介质
本公开的实施例主要涉及计算机领域,并且更具体地,涉及用于管理网络连接的方法、装置、设备和计算机可读存储介质。
技术介绍
诸如服务器之类的设备通常具有与客户端和其他服务器之间的多个网络连接。为了处理这些成百上千甚至更大数目的网络连接而不耗费过多计算资源,已经开发了多种输入/输出(I/O)多路复用方式来以单个线程或少量线程处理多个网络连接。这些网络连接的状态通常是动态变化的。然而,传统上静态地使用单一方式来处理这些并发的网络连接。
技术实现思路
根据本公开的示例实施例,提供了一种用于管理网络连接的方案。在本公开的第一方面中,提供了一种管理网络连接的方法。该方法包括确定与目标设备相关联的至少一个网络连接。该方法还包括获取至少一个网络连接的连接状态,连接状态指示至少一个网络连接中的数据传输频率。该方法进一步包括至少部分地基于连接状态,确定针对至少一个网络连接的操作。在本公开的第二方面中,提供了一种用于管理网络连接的装置。该装置包括连接确定模块,被配置为确定与目标设备相关联的至少一个网络连接。该装置还包括状态获取模块,被配置为获取至少一个网络连接的连接状态,连接状态指示至少一个网络连接中的数据传输频率。该装置进一步包括操作确定模块,被配置为至少部分地基于连接状态,确定针对至少一个网络连接的操作。在本公开的第三方面中,提供了一种设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现根据本公开的第一方面的方法。在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。附图说明结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:图1示出了本公开的多个实施例能够在其中实现的示例环境的示意图;图2示出了根据本公开的一些实施例的管理网络连接的过程的流程图;图3示出了根据本公开的一些实施例的连接状态转变的示意图;图4示出了根据本公开的一些实施例的确定针对网络连接的操作的过程的流程图;图5示出了根据本公开的一些实施例的利用时间轮来断开网络连接的示意图;图6示出了根据本公开的多个实施例的用于管理网络连接的装置的示意性框图;以及图7示出了能够实施本公开的多个实施例的计算设备的框图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。如前文所提及的,已经开发了多种I/O多路复用方式。使用I/O多路复用后,在诸如服务器的计算设备上运行的应用程序只需要开启一个线程便可以在同一时刻监听多个I/O流,而不必再开启多个线程。基于线程复用,提高了资源的利用率。一次完整网络通信的完成通常包括耗时的I/O操作和非常占资源的密集型计算操作。以知识图谱数据库数据的读写请求的I/O操作为例,目前用到的技术还是传统的I/O多路复用技术,包括select方式、poll方式和epoll方式。在select方式中,同时处理的文件描述符数量存在最大值的限制,在轮询地检测I/O操作是否就绪时,需要在内核的缓冲区和用户空间之间复制整个文件描述符集。poll方式针对select做了一些改进,仅需要传递一个文件描述符集的参数,也是采用轮询的方式检测I/O事件是否就绪。epoll方式是对前两种方案的改进,有两种工作模式,即,条件触发(LT)和边缘触发(ET),默认的工作模式为LT。epoll是针对前两种方案的不足而设计的,引入eventpollfs后以共享内存的方式传递参数,在以后的轮询时减少了数据复制的次数。在处理高并发的连接请求时,存在各种各样的情况,并非每个连接都处于活动状态,有的连接与服务器间并没有数据通信。select和poll在这种情况下,对每个连接的套接字进行同样的处理。当处理的连接数很大时,系统的开销将无疑非常大,这严重地影响了服务器的性能。epoll虽然对select和poll进行了改进,但是如果服务器上请求连接中的套接字绝大部分甚至全部都处于活跃的状态,epoll执行的效率就可能比较低。这是由于epoll的缓存区维护了一个红黑树来处理套接字,用于查找的时间复杂度相较select和poll显得没有优势。传统上,对于同一连接池中的网络连接,仅静态地以诸如上述复用方式中的单个方式来处理并发的网络连接,而不根据网络连接的活跃度来选择合适的方式,这造成了服务器资源的浪费。另外,在网络通信过程中,服务器与客户端存在着大量的空闲连接,对服务器资源也造成了浪费。根据本公开的实施例,提出了一种管理网络连接的方案。在该方案中,首先获取网络连接的连接状态,连接状态与网络连接中的数据传输频率或间隔相关;然后基于连接状态来确定针对网络连接的操作,包括确定针对多个网络连接的I/O复用方式和断开空闲连接。以此方式,能够根据网络连接的活跃度来动态地选择适合于当前网络连接状态的复用方式,并且断开不活跃的空闲连接。因此,本公开的方案使得并发的网络连接能够以适合于当前状态的方式被处理,从而优化诸如服务器的计算设备的资源利用。以下将参照附图来具体描述本公开的实施例。图1示出了本公开的实施例能够在其中实现的示例环境100的示意图。在该示例环境100中,计算设备102处建立有来自其他计算设备(未示出)的多个网络连接110-112。该多个网络连接可以是通过任何适当的通信方式建立的。计算设备102可以是服务器,并且与计算设备102建立网络连接110-112的设备可以是客户端或其他服务器。应当理解,图1中示出的网络连接的数目仅仅是示意性的,本公开的实施例可以应用于具有任意数目的网络连接的情况。还应当理解,计算设备102可以是固定式计算设备,也可以是便携式计算设备,诸如移动电话、平板计算机等。为了更清楚地理解本公开的实施例所提供的管理网络连接的方案,将参照图2来进一步描述本公开的实施例。图2示出了根据本公开的实施例的管理网络连接的过程200的流程图。过程200可以由图1的计算设备102来实现。为便于讨论,将结合图1来描述过程200。在框210,计算设备102确定与目标设备相关联的至少一个网络连接。计算设备102可以从用于管理网络连接的连接池中确定其与其他设备之间建立的至少一个网络连接,例如图1中所示的网络连接110-112中的至少一本文档来自技高网
...

【技术保护点】
1.一种管理网络连接的方法,包括:确定与目标设备相关联的至少一个网络连接;获取所述至少一个网络连接的连接状态,所述连接状态指示所述至少一个网络连接中的数据传输频率;以及至少部分地基于所述连接状态,确定针对所述至少一个网络连接的操作。

【技术特征摘要】
1.一种管理网络连接的方法,包括:确定与目标设备相关联的至少一个网络连接;获取所述至少一个网络连接的连接状态,所述连接状态指示所述至少一个网络连接中的数据传输频率;以及至少部分地基于所述连接状态,确定针对所述至少一个网络连接的操作。2.根据权利要求1所述的方法,其中所述至少一个网络连接包括多个网络连接,并且其中确定针对所述至少一个网络连接的操作包括:确定所述多个网络连接中处于第一连接状态的网络连接的第一数目,所述处于第一连接状态的网络连接中的数据传输频率高于第一阈值频率;确定所述多个网络连接中处于第二连接状态的网络连接的第二数目,所述处于第二连接状态的网络连接中的数据传输频率低于第一阈值频率;响应于所述第一数目超过所述第二数目,确定对所述多个网络连接执行轮询操作;以及响应于所述第一数目低于所述第二数目,确定对所述多个网络执行基于数据传输事件触发的查询操作。3.根据权利要求1所述的方法,其中获取所述连接状态包括:确定与所述至少一个网络连接有关的时间间隔,所述时间间隔指示以下至少一项:当前时间与所述至少一个网络连接中的最近一次数据传输之间的间隔,以及所述至少一个网络连接中发生的数据传输在预定时间段内的平均间隔;以及基于所述时间间隔来确定所述至少一个网络连接的连接状态。4.根据权利要求3所述的方法,其中确定所述至少一个网络连接的连接状态包括:响应于确定所述至少一个网络连接处于第一连接状态,确定所述时间间隔是否大于第一阈值间隔;以及响应于所述时间间隔大于所述第一阈值间隔,将所述至少一个网络连接的连接状态更新为第二连接状态,所述第一连接状态指示比所述第二连接状态高的数据传输频率。5.根据权利要求3所述的方法,其中确定所述至少一个网络连接的连接状态包括:响应于确定所述至少一个网络连接处于第二连接状态,确定所述时间间隔是否小于第二阈值间隔;以及响应于所述时间间隔小于所述第二阈值间隔,将所述至少一个网络连接的连接状态更新为第一连接状态,所述第一连接状态指示比所述第二连接状态高的数据传输频率。6.根据权利要求1所述的方法,其中确定针对所述至少一个网络连接的操作包括:响应于确定所述连接状态是空闲状态,断开所述至少一个网络连接,所述空闲状态指示所述至少一个网络连接的数据传输频率小于第二阈值频率。7.根据权利要求6所述的方法,其中断开所述至少一个网络连接包括:基于针对断开所述至少一个网络连接的预定定时,从时间轮的多个时间槽中选择目标时间槽;将用于断开所述至少一个网络连接的调度任务与所述目标时间槽相关联;以及响应于所述时间轮的指针指向所述目标时间槽,执行所述调度任务以断开所述至少一个网络连接。8.一种用于管理网络连接的装置,包括:连接确定模块,被配置为确定与目标设备相关联的至少一个网络连接;状态获取模块,被配置为获取所述至少一个网络连接的连接状态,所述连接状态指示所述至少一个网络连接中的数据传输频率;以及操作确定模块,被配置为至少部分地基于所述连接状态,确定针对所述至少一个网络连接的操作。9.根据权利要求8所...

【专利技术属性】
技术研发人员:王建辉
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1