协议表项定时器的管理方法及装置制造方法及图纸

技术编号:13710817 阅读:92 留言:0更新日期:2016-09-16 12:50
本申请提供一种协议表项定时器的管理方法及装置,该方法包括:确定表项定时器链表的轮询定时器是否超时;如果轮询定时器超时,则确定表项定时器链表的链表头节点所记录的表项定时器是否超时;如果链表头节点所记录的表项定时器超时,则将链表头节点从表项定时器链表中删除;确定表项定时器链表中是否还存在节点;如果表项定时器链表中还存在节点,则重置表项定时器链表的轮询定时器的超时时间。本申请通过对表项定时器进行分类存储,并为每类定时器设置一个轮询定时器,可实现每次只检测表项定时器链表的链表头节点所记录的表项定时器是否超时,由此大大缩短了管理表项定时器的耗时,提高了表项定时器的老化时间的准确性。

【技术实现步骤摘要】

本申请涉及网络通信
,尤其涉及一种协议表项定时器的管理方法及装置
技术介绍
定时器是网络协议正常运行的基本要素之一,主要用于各种定时任务。网络协议在系统上所使用的定时器,定时精度要求不高,但数量要求比较大,因此一般通过软件模拟的方法来满足网络协议中的定时需要。目前,很多网络协议维护的表项数量均在105量级以上,如地址解析协议,(Address Resolution Protocol,ARP)、组播协议等,而有些协议的表项数量甚至达到了107量级,如开放式最短路径优先(Open Shortest Path First,OSPF)等单播路由协议。为了实现每个表项的老化删除,网络设备可为每一个表项维护至少一个表项定时器。现有技术中,可将表项定时器存储到一个无序链表中,通过启动一个检测定时器对无序链表中的所有表项定时器进行周期性检测来确定表项定时器是否超时。但是现有技术中当表项定时器数量较大的情况下,检测无序链表中表项定时器是否超时所耗费的时间很长,导致表项定时器的老化时间不准确,而且还增加了网络设备管理表项定时器的性能损耗。
技术实现思路
本申请提供协议表项定时器的管理方法及装置,以解决现有协议表项定时器的管理方法在表项定时器数量较大的情况下,检测无序链表中表项定时
器是否超时所耗费的时间很长,导致表项定时器的老化时间不准确,而且还增加了网络设备管理表项定时器的性能损耗的问题。第一方面,提供一种协议表项定时器的管理方法,应用于网络设备中,包括:确定表项定时器链表的轮询定时器是否超时,其中,所述表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间;如果表项定时器链表的轮询定时器超时,则确定所述表项定时器链表的链表头节点所记录的表项定时器是否超时;如果所述链表头节点所记录的表项定时器超时,则将所述链表头节点从所述表项定时器链表中删除;确定所述表项定时器链表中是否还存在节点;如果所述表项定时器链表中还存在节点,则重置所述表项定时器链表的轮询定时器的超时时间。第二方面,提供一种协议表项定时器的管理装置,应用于网络设备上,所述装置包括:轮询模块,用于确定表项定时器链表的轮询定时器是否超时,其中,所述表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间;第一超时确定模块,用于如果所述轮询模块确定所述表项定时器链表的轮询定时器超时,则确定所述表项定时器链表的链表头节点所记录的表项定时器是否超时;第一删除模块,用于如果所述第一超时确定模块确定所述链表头节点所记录的表项定时器超时,则将所述链表头节点从所述表项定时器链表中删除;链表节点确定模块,用于确定在所述第一删除模块将所述链表头节点从所述表项定时器链表中删除之后,所述表项定时器链表中是否还存在节点;重置模块,用于如果所述链表节点确定模块确定所述表项定时器链表中还存在节点,则重置所述表项定时器链表的轮询定时器的超时时间。本申请的网络设备通过将同一预设类型的表项定时器存储在一个有序的表项定时器链表中,并且为每个表项定时器链表设置一个轮询定时器,当轮询定时器超时时,确定表项定时器链表的链表头节点记录的表项定时器是否超时,如果超时则继续确定链表头节点之后的节点是否超时,如果超时则进行超时处理,如果不超时,则不再遍历并确定表项定时器链表的其他节点所记录的表项定时器是否超时。由于表项定时器的类型数量比较少,例如为20-30种,因此对应的表项定时器链表的数量是比较少的,检测表项定时器链表的链表头节点所记录的表项定时器是否超时所耗费的时间非常短,提高了表项定时器的老化时间的准确性,并且有效减小了网络设备管理表项定时器的性能损耗。附图说明图1A是本申请一种实施例中协议表项定时器的管理方法流程图;图1B是本申请一种实施例中表项定时器存储结构示意图;图2是本申请一种实施例中添加表项定时器的方法流程图;图3是本申请一种实施例中删除表项定时器的方法流程图;图4是本申请一种实施例中协议表项定时器的管理装置的所在硬件设备的硬件示意图;图5是本申请一种实施例中协议表项定时器的管理装置示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制
本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请文件中,每个表项定时器的超时时间为:表项定时器设置的老化时间+添加表项定时器时的系统时间,例如表项定时器的老化时间为30s,添加表项定时器的系统时间为14点25分21秒,则表项定时器的超时时间为14点25分51秒。每个表项定时器的老化时间由协议类型、事件类型确定。参见图1A,是本申请一种实施例中协议表项定时器的管理方法流程图,参见图1B,是本申请一种实施例中表项定时器存储结构示意图;该方法应用于网络设备,例如交换机设备上,如图1A所示,协议表项定时器的管理方法包括以下步骤:步骤101,确定表项定时器链表的轮询定时器是否超时,如果轮询定时器超时,则执行步骤102。在一实施例中,表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间。在一实施例中,可以为每个表项定时器链表配置一个轮询定时器,每个表项定时器的轮询定时器的老化时间可以相同也可以不相同。参见图1B,网络设备可以根据协议类型、事件类型为同一个表项设置不同类型的定时器,例如,在设备A与设备B之间建立会话A后,设备A中可以建立一个针对会话A的表项1,表项1可以有两个定时器,定时器A用
于控制设备A向设备B发送心跳消息的事件,以使得路由设备B能够知悉设备A仍然运行正常,定时器A的老化时间可以设置为30s,定时器B用于控制设备A在多久没有向设备B发送心跳消息的情况下设备B将断开与设备A的连接的事件,定时器B的老化时间可以设置为90s;定时器A和定时器B的老化时间不同,表示定时器类型不同,可分别添加至不同的表项定时器链表110、111、……11N中。而类型链表120中的每个节点存储的是每个表项定时器链表中各个表项定时器对应的老化时间以及表项定时器链表中表项定时器的个数,可通过类型链表确定当前是否存在老化时间为M的表项定时器链表,并且还可以确定表项定时器链表中表项定时器的数目。步骤102,确定表项定时器链表的链表头节点所记录的表项定时器是否超时本文档来自技高网
...

【技术保护点】
一种协议表项定时器的管理方法,应用于网络设备上,其特征在于,所述方法包括:确定表项定时器链表的轮询定时器是否超时,其中,所述表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间;如果表项定时器链表的轮询定时器超时,则确定所述表项定时器链表的链表头节点所记录的表项定时器是否超时;如果所述链表头节点所记录的表项定时器超时,则将所述链表头节点从所述表项定时器链表中删除;确定所述表项定时器链表中是否还存在节点;如果所述表项定时器链表中还存在节点,则重置所述表项定时器链表的轮询定时器的超时时间。

【技术特征摘要】
1.一种协议表项定时器的管理方法,应用于网络设备上,其特征在于,所述方法包括:确定表项定时器链表的轮询定时器是否超时,其中,所述表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间;如果表项定时器链表的轮询定时器超时,则确定所述表项定时器链表的链表头节点所记录的表项定时器是否超时;如果所述链表头节点所记录的表项定时器超时,则将所述链表头节点从所述表项定时器链表中删除;确定所述表项定时器链表中是否还存在节点;如果所述表项定时器链表中还存在节点,则重置所述表项定时器链表的轮询定时器的超时时间。2.根据权利要求1所述的方法,其特征在于,所述重置所述表项定时器链表的轮询定时器的超时时间,包括:根据所述表项定时器链表的新的链表头节点所记录的表项定时器的超时时间,重置所述表项定时器链表的轮询定时器的超时时间。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在需要添加表项定时器时,确定所述表项定时器的定时器类型;确定类型链表中是否存在所述定时器类型对应的节点,其中,所述类型链表为有序链表;如果所述类型链表中存在所述定时器类型对应的节点,则将所述表项定时器添加至所述定时器类型对应的表项定时器链表的链表尾部。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:如果所述类型链表中不存在所述定时器类型对应的节点,则在所述类型链表中的目标位置插入所述定时器类型对应的节点;建立所述定时器类型对应的表项定时器链表;将所述表项定时器添加至所述定时器类型对应的表项定时器链表的链表尾部;启动所述表项定时器链表的轮询定时器。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:如果所述表项定时器链表中不存在节点,则删除所述表项定时器链表;删除所述类型链表中所述表项定时器链表对应的节点。6.根据权利要求1所述的方法,其特征在于,所述将所述链表头节点从所述表项定时器链表中删除之后,还包括:逐一确定所述链表头节点之后的节点所记录的表项定时器是否超时;如果所述链表头节点之后的节点所记录的表项定时器超时,则将所述节点从所述表项定时器链表中删除;如果所述链表头节点之后的节点所记录的表项定时器不超时,则执行所述确定所述表项定时器链表中是否存在节点的步骤。7.一种协议表项定时器的管理装置,应用于网络设备上,其特征在于,所述装置包括:轮询模块,用于确定表项定时器链表的轮询定时器是否超时,其中,所述表项定时器链表的各个节点用于记录预设类型的表项定时器及表项定时器的老化时间;第一超时确定模块,用于如果所述轮询模块确定所述表项定时器链表的轮询定时器超时,...

【专利技术属性】
技术研发人员:朱静峰刘晓贺
申请(专利权)人:杭州迪普科技有限公司
类型:发明
国别省市:浙江;33

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

1