协议表项定时器的管理方法及装置的制造方法
【专利摘要】本申请提供一种协议表项定时器的管理方法及装置,该方法包括:确定表项定时器链表的轮询定时器是否超时;如果轮询定时器超时,则确定表项定时器链表的链表头节点所记录的表项定时器是否超时;如果链表头节点所记录的表项定时器超时,则将链表头节点从表项定时器链表中删除;确定表项定时器链表中是否还存在节点;如果表项定时器链表中还存在节点,则重置表项定时器链表的轮询定时器的超时时间。本申请通过对表项定时器进行分类存储,并为每类定时器设置一个轮询定时器,可实现每次只检测表项定时器链表的链表头节点所记录的表项定时器是否超时,由此大大缩短了管理表项定时器的耗时,提高了表项定时器的老化时间的准确性。
【专利说明】
协议表项定时器的管理方法及装置
技术领域
[0001]本申请涉及网络通信技术领域,尤其涉及一种协议表项定时器的管理方法及装置。
【背景技术】
[0002]定时器是网络协议正常运行的基本要素之一,主要用于各种定时任务。网络协议在系统上所使用的定时器,定时精度要求不高,但数量要求比较大,因此一般通过软件模拟的方法来满足网络协议中的定时需要。
[0003]目前,很多网络协议维护的表项数量均在15量级以上,如地址解析协议,(Address Resolut1n Protocol,ARP)、组播协议等,而有些协议的表项数量甚至达到了17量级,如开放式最短路径优先(Open Shortest Path First,0SPF)等单播路由协议。为了实现每个表项的老化删除,网络设备可为每一个表项维护至少一个表项定时器。
[0004]现有技术中,可将表项定时器存储到一个无序链表中,通过启动一个检测定时器对无序链表中的所有表项定时器进行周期性检测来确定表项定时器是否超时。但是现有技术中当表项定时器数量较大的情况下,检测无序链表中表项定时器是否超时所耗费的时间很长,导致表项定时器的老化时间不准确,而且还增加了网络设备管理表项定时器的性能损耗。
【发明内容】
[0005]本申请提供协议表项定时器的管理方法及装置,以解决现有协议表项定时器的管理方法在表项定时器数量较大的情况下,检测无序链表中表项定时器是否超时所耗费的时间很长,导致表项定时器的老化时间不准确,而且还增加了网络设备管理表项定时器的性能损耗的问题。
[0006]第一方面,提供一种协议表项定时器的管理方法,应用于网络设备中,包括:
[0007]确定表项定时器链表的轮询定时器是否超时,其中,所述表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间;
[0008]如果表项定时器链表的轮询定时器超时,则确定所述表项定时器链表的链表头节点所记录的表项定时器是否超时;
[0009]如果所述链表头节点所记录的表项定时器超时,则将所述链表头节点从所述表项定时器链表中删除;
[0010]确定所述表项定时器链表中是否还存在节点;
[0011]如果所述表项定时器链表中还存在节点,则重置所述表项定时器链表的轮询定时器的超时时间。
[0012]第二方面,提供一种协议表项定时器的管理装置,应用于网络设备上,所述装置包括:
[0013]轮询模块,用于确定表项定时器链表的轮询定时器是否超时,其中,所述表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间;
[0014]第一超时确定模块,用于如果所述轮询模块确定所述表项定时器链表的轮询定时器超时,则确定所述表项定时器链表的链表头节点所记录的表项定时器是否超时;
[0015]第一删除模块,用于如果所述第一超时确定模块确定所述链表头节点所记录的表项定时器超时,则将所述链表头节点从所述表项定时器链表中删除;
[0016]链表节点确定模块,用于确定在所述第一删除模块将所述链表头节点从所述表项定时器链表中删除之后,所述表项定时器链表中是否还存在节点;
[0017]重置模块,用于如果所述链表节点确定模块确定所述表项定时器链表中还存在节点,则重置所述表项定时器链表的轮询定时器的超时时间。
[0018]本申请的网络设备通过将同一预设类型的表项定时器存储在一个有序的表项定时器链表中,并且为每个表项定时器链表设置一个轮询定时器,当轮询定时器超时时,确定表项定时器链表的链表头节点记录的表项定时器是否超时,如果超时则继续确定链表头节点之后的节点是否超时,如果超时则进行超时处理,如果不超时,则不再遍历并确定表项定时器链表的其他节点所记录的表项定时器是否超时。由于表项定时器的类型数量比较少,例如为20-30种,因此对应的表项定时器链表的数量是比较少的,检测表项定时器链表的链表头节点所记录的表项定时器是否超时所耗费的时间非常短,提高了表项定时器的老化时间的准确性,并且有效减小了网络设备管理表项定时器的性能损耗。
【附图说明】
[0019]图1A是本申请一种实施例中协议表项定时器的管理方法流程图;
[0020]图1B是本申请一种实施例中表项定时器存储结构示意图;
[0021]图2是本申请一种实施例中添加表项定时器的方法流程图;
[0022]图3是本申请一种实施例中删除表项定时器的方法流程图;
[0023]图4是本申请一种实施例中协议表项定时器的管理装置的所在硬件设备的硬件示意图;
[0024]图5是本申请一种实施例中协议表项定时器的管理装置示意图。
【具体实施方式】
[0025]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0026]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0027]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0028]本申请文件中,每个表项定时器的超时时间为:表项定时器设置的老化时间+添加表项定时器时的系统时间,例如表项定时器的老化时间为30s,添加表项定时器的系统时间为14点25分21秒,则表项定时器的超时时间为14点25分51秒。每个表项定时器的老化时间由协议类型、事件类型确定。
[0029]参见图1A,是本申请一种实施例中协议表项定时器的管理方法流程图,参见图1B,是本申请一种实施例中表项定时器存储结构示意图;该方法应用于网络设备,例如交换机设备上,如图1A所示,协议表项定时器的管理方法包括以下步骤:
[0030]步骤101,确定表项定时器链表的轮询定时器是否超时,如果轮询定时器超时,则执行步骤102。
[0031]在一实施例中,表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间。
[0032]在一实施例中,可以为每个表项定时器链表配置一个轮询定时器,每个表项定时器的轮询定时器的老化时间可以相同也可以不相同。
[0033]参见图1B,网络设备可以根据协议类型、事件类型为同一个表项设置不同类型的定时器,例如,在设备A与设备B之间建立会话A后,设备A中可以建立一个针对会话A的表项I,表项I可以有两个定时器,定时器A用于控制设备A向设备B发送心跳消息的事件,以使得路由设备B能够知悉设备A仍然运行正常,定时器A的老化时间可以设置为30s,定时器B用于控制设备A在多久没有向设备B发送心跳消息的情况下设备B将断开与设备A的连接的事件,定时器B的老化时间可以设置为90s;定时器A和定时器B的老化时间不同,表示定时器类型不同,可分别添加至不同的表项定时器链表110、111、……IlN中。而类型链表120中的每个节点存储的是每个表项定时器链表中各个表项定时器对应的老化时间以及表项定时器链表中表项定时器的个数,可通过类型链表确定当前是否存在老化时间为M的表项定时器链表,并且还可以确定表项定时器链表中表项定时器的数目。
[0034]步骤102,确定表项定时器链表的链表头节点所记录的表项定时器是否超时,如果表项定时器超时,则执行步骤103。
[0035]在一实施例中,表项定时器链表是有序链表,每次添加表项定时器都是添加至链表尾部,同一个表项定时器链表中每个表项定时器的老化时间是相同的,但是由于添加表项定时器的系统时间不同,因此每个表项定时器的超时时间不同,链表头节点所记录的表项定时器最先添加,因此链表头节点所记录的表项定时器最先老化,因此在轮询定时器超时时,可先确定表项定时器链表的链表头节点所记录的表项定时器是否超时。
[0036]在一实施例中,可通过比较表项定时器的超时时间与当前系统时间来确定表项定时器当前是否超时。例如,表项定时器的超时时间为14点25分51秒,而当前系统时间为14点25分41秒,则表项定时器没有超时,如果当前系统时间为14点25分51秒,则表项定时器超时。
[0037]步骤103,将链表头节点从表项定时器链表中删除。
[0038]在一实施例中,将链表头节点从表项定时器链表中删除之后,将类型链表中该定时器类型的定时器计数减I。
[0039]步骤104,确定表项定时器链表中是否还存在节点,如果还有节点,则执行步骤105。在一实施例中,可根据类型链表中该定时器类型的定时器计数确定表项定时器链表中是否还存在节点,如果定时器计数变为O,则表示表项定时器链表中不存在节点,如果定时器计数不为O,则表示表项定时器链表中还存在节点。
[0040]步骤105,重置表项定时器链表的轮询定时器的超时时间。
[0041]在一实施例中,可根据表项定时器链表的新的链表头节点所记录的表项定时器的超时时间,重置表项定时器链表的轮询定时器的超时时间。例如,如果新的链表头节点所记录的表项定时器的超时时间为14点26分01秒,则可设置轮询定时器的超时时间为14点26分01秒。
[0042]在一实施例中,在启动轮询定时器之后,还可设置轮询定时器每隔固定时间超时一次,例如,设置轮询定时器每隔1s超时一次,如果轮询定时器此次是14点26分01超时,则在14点26分11秒再次超时。
[0043]结合图1A的实施例可知,本申请的网络设备通过将同一预设类型的表项定时器存储在一个有序的表项定时器链表中,并且为每个表项定时器链表设置一个轮询定时器,当轮询定时器超时时,确定表项定时器链表的链表头节点记录的表项定时器是否超时,如果超时则继续确定链表头节点之后的节点是否超时,如果超时则进行超时处理,如果不超时,则不再遍历并确定表项定时器链表的其他节点所记录的表项定时器是否超时。由于表项定时器的类型数量比较少,例如为20-30种,因此对应的表项定时器链表的数量是比较少的,检测表项定时器链表的链表头节点所记录的表项定时器是否超时所耗费的时间非常短,提高了表项定时器的老化时间的准确性,并且有效减小了网络设备管理表项定时器的性能损耗。
[0044]参见图2,是本申请一种实施例中添加表项定时器的方法流程图,如图2所示,添加表项定时器的方法包括以下步骤:
[0045]步骤201,在需要添加表项定时器时,确定表项定时器的定时器类型。
[0046]在一实施例中,网络设备可根据预先设置确定表项定时器的定时器类型。
[0047]例如,参见图1B,在设备A与设备B之间建立会话A后,设备A中可以建立一个针对会话A的表项I,表项I可以有两个定时器,定时器A用于控制设备A向设备B发送心跳消息的事件,以使得路由设备B能够知悉设备A仍然运行正常,定时器A的老化时间可以设置为30s,定时器B用于控制设备A在多久没有向设备B发送心跳消息的情况下设备B将断开与设备A的连接的事件,定时器B的老化时间可以设置为90s。由此可以确定表项定时器A的类型为30秒的定时器类型,表项定时器B的类型为90秒的定时器类型。
[0048]步骤202,确定类型链表中是否存在定时器类型对应的节点,如果有定时器类型对应的节点,则执行步骤203,否则执行步骤204。
[0049]在一实施例中,类型链表为有序链表,网络设备可按照定时器的老化时间的大小存储类型链表中的各个节点。
[0050]步骤203,将表项定时器添加至定时器类型对应的表项定时器链表的链表尾部。
[0051]步骤204,在类型链表中的目标位置插入定时器类型对应的节点。
[0052]在一实施例中,类型链表为有序链表,网络设备可按照定时器类型确定其在类型链表中的目标位置。例如,如果新添加的定时器类型为老化时间50s的定时器,而类型链表中存储有老化时间为30s和70s的定时器类型,而且30s和70s的定时器类型之间没有其他节点,则可确定新添加的定时器类型的目标位置为30s和70s的定时器类型之间。
[0053]步骤205,建立定时器类型对应的表项定时器链表。
[0054]步骤206,将表项定时器添加至定时器类型对应的表项定时器链表的链表尾部。
[0055]在一实施例中,将表项定时器添加至表项定时器链表中之后,可将类型链表中该定时器类型的定时器计数修改为I,后续每次往表项定时器链表中添加表项定时器或者删除表项定时器链表中的表项定时器时修改类型链表中该定时器类型的定时器计数。
[0056]步骤207,启动表项定时器链表的轮询定时器。
[0057]结合图2的实施例,本申请的网络设备可将同一预设类型的表项定时器存储在一个有序的表项定时器链表中,并且在没有对应的表项定时器链表时可自动建立一个表项定时器链表,通过对表项定时器进行分类存储,并为每类定时器设置一个轮询定时器,可实现每次只检测表项定时器链表的链表头节点所记录的表项定时器是否超时,由此大大缩短了管理表项定时器的耗时,提高了表项定时器的老化时间的准确性,并且有效减小了网络设备管理表项定时器的性能损耗。
[0058]参见图3,是本申请一种实施例中删除表项定时器的方法流程图,如图3所示,删除表项定时器的方法包括以下步骤:
[0059]步骤301,确定表项定时器链表的轮询定时器是否超时,如果轮询定时器超时,则执行步骤302。
[0060]在一实施例中,表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间。
[0061]步骤302,确定表项定时器链表的链表头节点所记录的表项定时器是否超时,如果表项定时器超时,则执行步骤303。
[0062]步骤303,如果链表头节点所记录的表项定时器超时,则将链表头节点从表项定时器链表中删除。
[0063]步骤301值步骤303的详细描述可参见图1A实施例中步骤101至步骤103的详细描述,这里不再赘述。
[0064]步骤304,逐一确定链表头节点之后的节点所记录的表项定时器是否超时,如果链表头节点之后的节点所记录的表项定时器超时,则执行步骤305。
[0065]在步骤303确定链表头节点所记录的表项定时器超时并删除链表头节点超时后,可进一步确定链表头节点之后的节点是否超时。例如,如果链表头节点所记录的表项定时器的超时时间为14点26分OI,第二个节点所记录的表项定时器的超时时间为14点26分11,第三个节点所记录的表项定时器的超时时间为14点26分15,而当前系统时间为14点26分12秒,则可确定该表项定时器链表中前两个节点都已超时。
[0066]步骤305,将节点从表项定时器链表中删除。
[0067]在一实施例中,将节点从表项定时器链表中删除之后,网络设备还需要对应更改类型链表中该定时器类型的定时器计数。
[0068]步骤306,确定表项定时器链表中是否还存在节点,如果存在节点,则执行步骤307,否则执行步骤308。
[0069]在一实施例中,可根据类型链表中该定时器类型的定时器计数确定表项定时器链表中是否还存在节点,如果定时器计数变为O,则表示表项定时器链表中不存在节点,如果定时器计数不为O,则表示表项定时器链表中还存在节点。
[0070]步骤307,重置表项定时器链表的轮询定时器的超时时间。
[0071]在一实施例中,步骤307的详细描述可参见图1A实施例中步骤105的详细描述,这里不再详述。
[0072]步骤308,删除表项定时器链表。
[0073]在一实施例中,删除表项定时器链表之后,还需要关闭该表项定时器链表对应的轮询定时器。
[0074]步骤309,删除类型链表中表项定时器链表对应的节点。
[0075]结合图3的实施例可知,本申请通过对表项定时器进行分类存储,并为每类定时器设置一个轮询定时器,可实现每次只检测表项定时器链表的链表头节点所记录的表项定时器是否超时,由此大大缩短了管理表项定时器的耗时,提高了表项定时器的老化时间的准确性,并且有效减小了网络设备管理表项定时器的性能损耗。
[0076]参见图4,是本申请一种实施例中协议表项定时器的管理装置的所在硬件设备的硬件示意图。
[0077]本申请协议表项定时器的管理装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请协议表项定时器的管理装置所在设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该装置的实际功能,还可以包括其他硬件,对此不再赘述。
[0078]参见图5,是本申请一种实施例中协议表项定时器的管理装置示意图,该装置可以应用于网络设备,该装置用于实现图1A、图2和图3所示实施例的方法,该装置可以包括:轮询模块510、第一超时确定模块520、第一删除模块530、链表节点确定模块540、重置模块550。其中:
[0079]轮询模块510,用于确定表项定时器链表的轮询定时器是否超时,其中,表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间;
[0080]第一超时确定模块520,用于如果轮询模块510确定表项定时器链表的轮询定时器超时,则确定表项定时器链表的链表头节点所记录的表项定时器是否超时;
[0081 ]第一删除模块530,用于如果第一超时确定模块520确定链表头节点所记录的表项定时器超时,则将链表头节点从表项定时器链表中删除;
[0082]链表节点确定模块540,用于确定在第一删除模块530将链表头节点从表项定时器链表中删除之后,表项定时器链表中是否还存在节点;
[0083]重置模块550,用于如果链表节点确定模块540确定表项定时器链表中还存在节点,则重置表项定时器链表的轮询定时器的超时时间。
[0084]在一实施例中,重置模块550可包括:
[0085]重置单元551(图5中未示出),用于根据表项定时器链表的新的链表头节点所记录的表项定时器的超时时间,重置表项定时器链表的轮询定时器的超时时间。
[0086]在一实施例中,装置还可包括:
[0087]类型确定模块560(图5中未示出),用于在需要添加表项定时器时,确定表项定时器的定时器类型;
[0088]链表遍历模块570(图5中未示出),用于确定类型链表中是否存在类型确定模块560确定的定时器类型对应的节点,其中,类型链表为有序链表;
[0089]定时器添加模块580(图5中未示出),用于如果链表遍历模块570确定类型链表中存在定时器类型对应的节点,则将表项定时器添加至定时器类型对应的表项定时器链表的链表尾部。
[0090]在一实施例中,装置还可包括:
[0091]类型添加模块590(图5中未示出),用于如果链表遍历模块570确定类型链表中不存在定时器类型对应的节点,则在类型链表中的目标位置插入定时器类型对应的节点;
[0092]链表建立模块600(图5中未示出),用于建立定时器类型对应的表项定时器链表;
[0093]定时器添加模块580执行将表项定时器添加至定时器类型对应的表项定时器链表的链表尾部的步骤;
[0094]启动模块610(图5中未示出),用于启动链接建立模块600建立的表项定时器链表的轮询定时器。
[0095]在一实施例中,装置还可包括:
[0096]第二删除模块620(图5中未示出),用于如果链表节点确定模块确定表项定时器链表中不存在节点,则删除表项定时器链表;
[0097]第三删除模块630(图5中未示出),用于删除类型链表中第二删除模块620删除的表项定时器链表对应的节点。
[0098]在一实施例中,装置还可包括:
[0099]第二超时确定模块640(图5中未示出),用于逐一确定链表头节点之后的节点所记录的表项定时器是否超时;
[0100]第四删除模块650(图5中未示出),用于如果第二超时确定模块确定链表头节点之后的节点所记录的表项定时器超时,则将节点从表项定时器链表中删除;
[0101]链表节点确定模块540,还用于如果第二超时确定模块640确定链表头节点之后的节点所记录的表项定时器不超时,则执行确定表项定时器链表中是否存在节点的步骤。
[0102]上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0103]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0104]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1.一种协议表项定时器的管理方法,应用于网络设备上,其特征在于,所述方法包括: 确定表项定时器链表的轮询定时器是否超时,其中,所述表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间; 如果表项定时器链表的轮询定时器超时,则确定所述表项定时器链表的链表头节点所记录的表项定时器是否超时; 如果所述链表头节点所记录的表项定时器超时,则将所述链表头节点从所述表项定时器链表中删除; 确定所述表项定时器链表中是否还存在节点; 如果所述表项定时器链表中还存在节点,则重置所述表项定时器链表的轮询定时器的超时时间。2.根据权利要求1所述的方法,其特征在于,所述重置所述表项定时器链表的轮询定时器的超时时间,包括: 根据所述表项定时器链表的新的链表头节点所记录的表项定时器的超时时间,重置所述表项定时器链表的轮询定时器的超时时间。3.根据权利要求1所述的方法,其特征在于,所述方法还包括: 在需要添加表项定时器时,确定所述表项定时器的定时器类型;确定类型链表中是否存在所述定时器类型对应的节点,其中,所述类型链表为有序链表; 如果所述类型链表中存在所述定时器类型对应的节点,则将所述表项定时器添加至所述定时器类型对应的表项定时器链表的链表尾部。4.根据权利要求3所述的方法,其特征在于,所述方法还包括: 如果所述类型链表中不存在所述定时器类型对应的节点,则在所述类型链表中的目标位置插入所述定时器类型对应的节点; 建立所述定时器类型对应的表项定时器链表; 将所述表项定时器添加至所述定时器类型对应的表项定时器链表的链表尾部; 启动所述表项定时器链表的轮询定时器。5.根据权利要求4所述的方法,其特征在于,所述方法还包括: 如果所述表项定时器链表中不存在节点,则删除所述表项定时器链表; 删除所述类型链表中所述表项定时器链表对应的节点。6.根据权利要求1所述的方法,其特征在于,所述将所述链表头节点从所述表项定时器链表中删除之后,还包括: 逐一确定所述链表头节点之后的节点所记录的表项定时器是否超时; 如果所述链表头节点之后的节点所记录的表项定时器超时,则将所述节点从所述表项定时器链表中删除; 如果所述链表头节点之后的节点所记录的表项定时器不超时,则执行所述确定所述表项定时器链表中是否存在节点的步骤。7.—种协议表项定时器的管理装置,应用于网络设备上,其特征在于,所述装置包括: 轮询模块,用于确定表项定时器链表的轮询定时器是否超时,其中,所述表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间; 第一超时确定模块,用于如果所述轮询模块确定所述表项定时器链表的轮询定时器超时,则确定所述表项定时器链表的链表头节点所记录的表项定时器是否超时; 第一删除模块,用于如果所述第一超时确定模块确定所述链表头节点所记录的表项定时器超时,则将所述链表头节点从所述表项定时器链表中删除; 链表节点确定模块,用于确定在所述第一删除模块将所述链表头节点从所述表项定时器链表中删除之后,所述表项定时器链表中是否还存在节点; 重置模块,用于如果所述链表节点确定模块确定所述表项定时器链表中还存在节点,则重置所述表项定时器链表的轮询定时器的超时时间。8.根据权利要求7所述的装置,其特征在于,所述重置模块包括: 重置单元,用于根据所述表项定时器链表的新的链表头节点所记录的表项定时器的超时时间,重置所述表项定时器链表的轮询定时器的超时时间。9.根据权利要求7所述的装置,其特征在于,所述装置还包括: 类型确定模块,用于在需要添加表项定时器时,确定所述表项定时器的定时器类型;链表遍历模块,用于确定类型链表中是否存在所述类型确定模块确定的所述定时器类型对应的节点,其中,所述类型链表为有序链表; 定时器添加模块,用于如果所述链表遍历模块确定所述类型链表中存在所述定时器类型对应的节点,则将所述表项定时器添加至所述定时器类型对应的表项定时器链表的链表尾部。10.根据权利要求9所述的装置,其特征在于,所述装置还包括: 类型添加模块,用于如果所述链表遍历模块确定所述类型链表中不存在所述定时器类型对应的节点,则在所述类型链表中的目标位置插入所述定时器类型对应的节点; 链表建立模块,用于建立所述定时器类型对应的表项定时器链表; 所述定时器添加模块执行所述将所述表项定时器添加至所述定时器类型对应的表项定时器链表的链表尾部的步骤; 启动模块,用于启动所述链接建立模块建立的所述表项定时器链表的轮询定时器。11.根据权利要求10所述的装置,其特征在于,所述装置还包括: 第二删除模块,用于如果所述链表节点确定模块确定所述表项定时器链表中不存在节点,则删除所述表项定时器链表; 第三删除模块,用于删除所述类型链表中所述第二删除模块删除的所述表项定时器链表对应的节点。12.根据权利要求7所述的装置,其特征在于,所述装置还包括: 第二超时确定模块,用于逐一确定所述链表头节点之后的节点所记录的表项定时器是否超时; 第四删除模块,用于如果所述第二超时确定模块确定所述链表头节点之后的节点所记录的表项定时器超时,则将所述节点从所述表项定时器链表中删除; 所述链表节点确定模块,用于如果所述第二超时确定模块确定所述链表头节点之后的节点所记录的表项定时器不超时,则执行所述确定所述表项定时器链表中是否存在节点的步骤。
【文档编号】H04L29/06GK105939345SQ201610265373
【公开日】2016年9月14日
【申请日】2016年4月25日
【发明人】朱静峰, 刘晓贺
【申请人】杭州迪普科技有限公司