一种连接的超时时间设置方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机网络技术领域,具体涉及一种连接的超时时间设置方法及装置。
【背景技术】
[0002]三层网络设备通常基于IP五元组进行连接建立,其中IP五元组相同的报文被认为是同一条流,网络设备对每条流的第一个报文进行业务处理之后进行转发,同时会建立一个对应的连接表,此表在下一相同流的报文进入网络设备时,判断能够匹配的表则直接进行业务处理并转发,此过程大大加速了报文处理速度。
[0003]通常网络设备在建立连接后,会在连接上设置一个定时器,通过该定时器设定了预设的超时时间,而当经过了该预设的超时时间后,对该连接进行检查,若长时间没有报文经过此连接,则将该连接删除。该连接删除的方式占用了两种资源:一是定时器资源,二是在连接被删除的瞬间,该连接所在的数据库是不允许被读写访问的,这是数据库的互斥性导致的,避免数据异常。然而,当网络的连接非常大时,网络设备上会出现大量的连接,此时网络设备需要对大量的连接进行删除,那么上述两种操作会影响网络设备的转发报文的速度,从而影响了该网络设备的整体数据有效转发性能。
[0004]现有解决连接删除效率问题的方法主要有:一是通过升级网络设备性能和带宽来提高连接删除效率;二是用户在网络设备空闲时手动删除连接。然而第一种方法大大增加了设备使用成本,第二种方法增加了人力成本和操作的复杂度。
【发明内容】
[0005]针对现有技术中网络设备高峰期频繁删除连接对转发报文速度的影响、为提高连接删除效率而对人力、设备成本造成浪费的缺陷,本发明提供了一种连接的超时时间设置方法及装置。
[0006]第一方面,本发明提供了一种连接的超时时间设置方法,该方法包括:
[0007]当网络设备建立新连接时,获取该网络设备在当前时间点完成建立的连接数量;
[0008]将所述当前时间点完成建立的连接数量与预设阈值进行比较;
[0009]若所述连接数量大于预设阈值,则对预设的超时时间进行延长,并将延长后的超时时间作为该连接的超时时间。
[0010]优选地,所述若所述连接数量大于预设阈值,则对预设的超时时间进行延长,并将延长后的超时时间作为该连接的超时时间,包括:
[0011]若所述连接数量大于N倍的预设阈值且小于等于N+1倍的预设阈值,则将该连接的超时时间设置为预设的超时时间与N倍的删除连接所需时间之和;
[0012]其中,所述N为大于等于I的整数。
[0013]优选地,所述预设阈值w根据公式一获得:
[0014]w = m/ (t*q) 公式一
[0015]其中,m为该网络设备可支持的最大连接数,t为每条连接预设的超时时间,q为删除连接所需时间。
[0016]优选地,当网络设备建立新连接时,获取该网络设备在当前时间点完成建立的连接数量之后,该方法还包括:
[0017]将所述当前时间点保存为该连接的建立时间点。
[0018]优选地,所述方法还包括:
[0019]当该网络设备CPU空闲时,检测所述网络设备中已延长超时时间的连接;
[0020]获得当前时间点与所述已延长超时时间的连接的建立时间点之差,并将该差与所述预设的超时时间进行比较;
[0021]若该差大于所述预设的超时时间,则删除所述连接。
[0022]第二方面,本发明提供了一种连接的超时时间设置装置,该装置包括:
[0023]获取单元,用于当网络设备建立新连接时,获取该网络设备在当前时间点完成建立的连接数量;
[0024]比较单元,用于将所述当前时间点完成建立的连接数量与预设阈值进行比较;
[0025]超时时间设置单元,用于当所述连接数量大于预设阈值时,对预设的超时时间进行延长,并将延长后的超时时间作为该连接的超时时间。
[0026]优选地,所述超时时间设置单元,用于:
[0027]若所述连接数量大于N倍的预设阈值且小于等于N+1倍的预设阈值,则将该连接的超时时间设置为预设的超时时间与N倍的删除连接所需时间之和;
[0028]其中,所述N为大于等于I的整数。
[0029]优选地,该装置还包括预设阈值设置单元,用于:
[0030]所述预设阈值w根据公式一获得:
[0031]w = m/(t*q) 公式一
[0032]其中,m为该网络设备可支持的最大连接数,t为每条连接预设的超时时间,q为删除连接所需时间。
[0033]优选地,该装置还包括保存单元,用于:
[0034]当获取单元获取该网络设备在当前时间点完成建立的连接数量之后,将所述当前时间点保存为该连接的建立时间点。
[0035]优选地,该装置还包括空闲删除单元,用于:
[0036]当该网络设备CPU空闲时,检测所述网络设备中已延长超时时间的连接;
[0037]获得当前时间点与所述已延长超时时间的连接的建立时间点之差,并将该差与所述预设的超时时间进行比较;
[0038]若该差大于所述预设的超时时间,则删除所述连接。
[0039]由上述技术方案可知,本发明提供一种连接的超时时间设置方法及装置,在网络设备建立新连接时,通过对设备中当前时间点完成建立的连接数量进行统计,根据该连接数量确定是否对预设的超时时间进行延长,有效地避免了高峰期连接频繁删除的问题,提高了数据转发的效率,提升了网络设备的利用率。
【附图说明】
[0040]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
[0041]图1是本发明一实施例提供的一种连接的超时时间设置方法的流程示意图;
[0042]图2是本发明另一实施例提供的一种连接的超时时间设置装置的结构示意图。
【具体实施方式】
[0043]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044]图1示出了为本发明一实施例提供的一种连接的超时时间设置方法的流程示意图,如图1所示,该方法包括如下步骤:
[0045]S1:当网络设备建立新连接时,获取该网络设备在当前时间点完成建立的连接数量。
[0046]其中,网络设备通常基于IP五元组进行连接建立,IP五元组相同的报文被认为是同一条流,则IP五元组相同的报文经过同一连接。本步骤中,当建立新连接时,获取设备在当前时间点完成建立的连接数量,如获取设备在6点完成建立的连接数量。
[0047]S2:将所述当前时间点完成建立的连接数量与预设阈值进行比较。
[0048]其中,预设阈值可根据网络设备的实际容量进行设置。
[0049]优选地,预设阈值w可根据式⑴获得:
[0050]w = m/ (t*q)(I)
[0051]其中,m为该网络设备可支持的最大连接数,t为每条连接预设的超时时间,q为删除连接所需时间。
[0052]举例来说,一个网络设备可支持的最大连接数m为100万条,每条连接预设的超时时间t为30*60秒,而删除连接所需时间q为ls,且在极端情况下,假设这100万条的连接在同一时间且在Is内下线。则此时可根据式(I)计算得到W,并将w作为预设阈值。
[0053]S3:若所述连接数量大于预设阈值,则对预设的超时时间进行延长,并将延长后的超时时间作为该连接的超时时间。
[0054]举例来说,预设的超时时间为30*60秒。则建立每个新连接时,将当前时间点完成建立的连接数量与预设阈值比较,若该连接数量大于预设阈值,则对预设的超时时间进行延长。
[0055]需要说明的是,若所述连接数量小于等于预设阈值,则直接将预设的超时时间作为该新连接的超时时间即可。
[0056]进一步地,经过了上述该连接的超时时间后,对该连接进行检查,若预设时间段内没有报文经过该连接,则删除该连接。
[0057]由此可见,本实施例提供的一种连接的超时时间设置方法,能够有效地避免了高峰期连接频繁删除的问题,提高了数据转发的效率,提升了网络设备的利用率。
[0058]本实施例中,步骤S3具体包括:
[0059]若当前时间点完成建立的连接数量大于N倍的预设阈值且小于等于N+1倍的预设阈值,则将该连接的超时时间设置为预设的超时时间与N倍的删除连接所需时间之和;
[0060]其中,所述N为大于等于I的整数。
[0061]举例来说,若预设阈值为500条,预设的超时时间为30*60s,删除连接所需时间为Is。则若当前时间点完成建立的连接数量大于500条而小于等于1000条,则该连接的超时时间设置为(30*60+1) s ;而当前时间点完成建立的连接数量大于1000条而小于等于1500条,则该连接的超时时间设置为(30*60+1*2) S,如此依次类推。则依据连接建立的时间,延时30分钟时最多对前500条连接进行删除,延时30分钟Is时对第500条至1000条连接进行删除,延时30分钟2s时对第1000条至第1500条连接