防止故障处理延迟的方法和装置与流程

文档序号:14022564阅读:267来源:国知局
防止故障处理延迟的方法和装置与流程
本申请涉及网络通信技术,特别涉及防止故障处理延迟的方法和装置。
背景技术
:双向转发检测(bfd:bidirectionalforwardingdetection)是一个通用的、标准化的、与介质无关和协议无关的快速故障检测机制,用于检测ip网络中链路的连通状况,保证设备之间能够快速检测到通信故障,以便能够及时采取措施,保证业务持续运行。bfd可以为各种上层协议如路由协议、mpls等快速检测两台设备间双向转发链路的故障。bfd能够实现毫秒级故障检测。在实际应用中,同一条公网路径比如公网隧道上承载不同路径(以伪线(pw)为例),而不同路径关联不同bfd会话。bfd会话负责检测其关联的pw是否故障。常见的检测方式为:bfd会话一端周期向对端发送控制报文,当连续发送n个报文均没有收到对端回应,则认为其相关联的pw故障,向bfd驱动上报down事件,bfd驱动根据收到的down事件进行down事件处理。但是,在公网路径的网络信号衰减直至断开的场景(简称公网路径逐步断开场景)中,该公网路径承载的各个bfd会话检测到的结果是不一致的,有的bfd会话检测到其相关联的pw正常,而有的bfd会话检测到其相关联的pw断开(down)。这种不一致中会出现bfd会话检测误判,延迟了down事件上报,最终会导致故障延迟处理。技术实现要素:本申请提供了防止故障处理延迟的方法及装置,以防止公网路径逐步断开场景中down事件上报而导致的故障处理延迟。本申请提供的技术方案包括:一种防止故障处理延迟的方法,该方法包括:接收bfd会话事件,bfd会话事件携带bfd会话标识、事件类型标识;从所述bfd会话标识匹配的基本信息表项中获取等价类集合标识,等价类集合标识为所述bfd会话标识对应的bfd会话所属的等价类集合的标识,其中,同一公网路径承载的bfd会话同属一个等价类集合;当所述事件类型标识为用于表示down事件的标识时,将所述bfd会话标识对应的队列元素添加至所述等价类集合标识对应的等价类时间窗口队列,判断所述等价类时间窗口队列中的队列元素数量是否在设定时间窗口内达到设定阈值,如果是,针对所述等价类集合中每一bfd会话上报down事件。一种防止故障处理延迟的装置,该装置包括:接收单元,用于接收bfd会话事件,bfd会话事件携带bfd会话标识、事件类型标识;获取单元,用于从所述bfd会话标识匹配的基本信息表项中获取等价类集合标识,等价类集合标识为所述bfd会话标识对应的bfd会话所属的等价类集合的标识,其中,同一公网路径承载的bfd会话同属一个等价类集合;控制单元,用于当所述事件类型标识为用于表示down事件的标识时,将所述bfd会话标识对应的队列元素添加至所述等价类集合标识对应的等价类时间窗口队列,判断所述等价类时间窗口队列中的队列元素数量是否在设定时间窗口内达到设定阈值,如果是,针对所述等价类集合中每一bfd会话上报down事件。由以上技术方案可以看出,本发明中,当等价类时间窗口队列中的队列元素数量达到设定阈值(记为n)时,也就意味着同一等价类集合中有n个bfd会话检测到down,智能推断出承载该n个bfd会话的公网路径故障,为便于上层及时处理故障,减少数据流丢失,本申请针对n个bfd会话所属的等价类集合中每一bfd会话上报对应的down事件,避免了公网路径逐步断开场景中down事件延迟上报,进而防止了因为down事件延迟上报而导致的故障处理延迟,增强bfd检测机制适应于公网路径逐步断开场景的性能,有效弥补了信号劣化下bfd机制检测的缺陷。附图说明图1为本申请提供的方法流程图;图2为本申请提供的等价类集合表的结构图;图3为本申请提供的等价类时间窗口队列的结构图;图4为本申请提供的另一等价类时间窗口队列的结构图;图5为本申请提供的bfd内部系统框图;图6为本申请提供的第一实施例流程图;图7为本申请提供的第二实施例流程图;图8为本申请提供的装置结构示意图;图9为本申请提供的图8所示装置的硬件结构示意图。具体实施方式为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。本申请提供的方法能够避免公网路径逐步断开场景中down事件延迟上报,进而防止因为down事件延迟上报而导致的故障处理延迟,增强bfd检测机制适应于公网路径逐步断开场景的性能。下面对本申请提供的方法进行描述:参见图1,图1为本申请提供的方法流程图。如图1所示,该流程可包括以下步骤:步骤101,接收bfd会话事件。作为一个实施例,这里的bfd会话事件举例为因bfd会话对其相关联的路径(比如pw等)的检测结果触发的事件,至少携带bfd会话标识、事件类型标识。事件类型标识具体在下文描述,这里暂不赘述。步骤102,从bfd会话事件携带的bfd会话标识匹配的基本信息表项中获取等价类集合标识,等价类集合标识为bfd会话标识对应的bfd会话所属的等价类集合的标识。在本申请中,每一bfd会话都有一个匹配的基本信息表项。其中,bfd会话匹配的基本信息表项建立在bfd会话创建初期。下文会重点描述基本信息表项,这里暂不赘述。在本申请中,bfd会话所属的等价类集合是根据承载bfd会话的公网路径确定的。优选地,同一公网路径承载的不同bfd会话同属一个等价类集合。下文会描述等价类集合的结构,这里暂不赘述。步骤103,当bfd会话事件携带的事件类型标识为用于表示down事件的标识时,执行步骤104。步骤104,将bfd会话标识对应的队列元素添加至所述等价类集合标识对应的等价类时间窗口队列,判断所述等价类时间窗口队列中的队列元素数量是否在设定时间窗口内达到设定阈值,如果是,针对所述等价类集合中每一bfd会话上报down事件。在本申请中,一个等价类集合对应一个等价类时间窗口队列。等价类时间窗口队列用于记录上报down事件的bfd会话,换言之,等价类时间窗口队列记录的是上报了down事件的bfd会话。至于等价类时间窗口队列的结构,下文会重点描述,这里暂不赘述。作为一个实施例,步骤104中,将bfd会话标识对应的队列元素添加至所述等价类集合标识对应的等价类时间窗口队列包括:判断所述等价类时间窗口队列是否为空,如果是,将所述bfd会话标识对应的队列元素作为所述等价类时间窗口队列的第一个队列元素添加至所述等价类时间窗口队列中,添加的队列元素的时间戳为当前系统时间;如果否,将所述bfd会话标识对应的队列元素添加至所述等价类时间窗口队列中最后一个队列元素的后面,添加的队列元素的时间戳为当前系统时间。在本申请中,等价类时间窗口队列中的第一个队列元素是动态变化的,该动态变化具体为:在将bfd会话标识作为队列元素添加至所述等价类时间窗口队列中最后一个队列元素的后面之前,进一步计算当前系统时间与所述等价类时间窗口队列中第一个队列元素的时间戳之差,在计算结果大于设定时间窗口大小时,删除所述等价类时间窗口队列中第一个队列元素。由于bfd会话在逻辑上是相互独立的,除了公网路径出现问题外,一般不会有同时报down的情况出现,因此通过该步骤,能够保证本申请最终会将在一个设定时间窗口内down的bfd会话上报down事件,即可以保证在足够小的一段时间内,当同一等价类窗口队列中连续有多个bfd会话down时,就探测到公网路径的故障,从而可以尽早上报公网的down事件。若第一个队列元素与当前报down的队列元素的时间间隔很长,即不在同一个时间窗口,则此时将第一个队列元素保留在等价类时间窗口队列中也无法作为准确判断公网路径异常的依据,因此,当计算结果大于设定时间窗口大小时,删除等价类时间窗口队列中第一个队列元素。也就是,被删除的队列元素与等价类时间窗口队列中其他队列元素不在同一个时间窗口,无法实现将在一个设定时间窗口内down的bfd会话上报down事件的目的。可以看出,等价类时间窗口队列中的第一个队列元素随着时间变化会被删除,当等价类时间窗口队列中的第一个队列元素被删除时,原先在被删除的第一个队列元素后面的第二个队列元素就自然成为第一个队列元素了。在获取等价类时间窗口队列中队列元素的数量时,等价类时间窗口队列可以设置相应的计数器,该计数器用于统计在等价类时间窗口队列中队列元素的数量。当接收到的bfd会话down事件,将bfd会话标识添加至等价类时间窗口队列时,可以相应的更新与该等价类时间窗口队列的计数器。举例来说,当添加一个等价类时间窗口队列中的队列元素,则计数器加一。至此,完成图1所示的流程。通过图1所示流程可以看出,当等价类时间窗口队列中的队列元素数量在设定时间窗口内达到设定阈值(记为n)时,也就意味着同一等价类集合中在预设时间内有n个bfd会话检测到pwdown,基于此,可智能地推断出该等价类集合对应的公网路径(实质是等价类集合中各bfd会话承载的同一公网路径)故障。为便于上层及时处理故障,减少数据流丢失,如步骤104的描述,本申请针对等价类集合中每一bfd会话上报对应的down事件。这避免了公网路径逐步断开场景中down事件延迟上报,进而防止了因为down事件延迟上报而导致的故障处理延迟,增强bfd检测机制适应于公网路径逐步断开场景的性能,有效弥补了信号劣化下bfd机制检测的缺陷。下面对本申请涉及的几个表项进行描述:基本信息表:由基本信息表项组成。基本信息表项与bfd会话匹配。bfd会话匹配的基本信息表项主要包含:1)sid:bfd会话标识,每一个bfd会话有唯一的标识;2)valid:表项有效标识,当valid为用于表示有效的有效值比如1时,表示此基本信息表项有效,反之,当valid为用于表示无效的无效值比如0时,表示此基本信息表项无效;3)status:会话状态,其可包含运行(up)、故障(down)、初始化(init)等;4)classid:bfd会话所属等价类集合的标识。等价类集合按照公网路径划分,承载在同一公网路径的所有bfd会话被划分为属于同一等价类集合。表1举例示出了基本信息表。sidvalidstatusclassid01up111notupn21notup1............5091upn5101up15110up-表1基于这里描述的基本信息表项的结构,则上述步骤102中在本地基本信息表中找到与bfd会话事件携带的bfd会话标识匹配的基本信息表项具体为:以bfd会话事件携带的bfd会话标识为关键字,在本地基本信息表中查找sid为该关键字的基本信息表项,将找到的基本信息表项作为与bfd会话事件携带的bfd会话标识匹配的基本信息表项。等价类集合表:由等价类集合组成。初始,等价类集合表中各等价类集合内的等价类集合元素为空。当bfd会话up时,则将该up的bfd会话的标识组织成一个对应的等价类集合元素并加入该bfd会话所属的等价类集合;当bfd会话down时,则以该down的bfd会话的标识为关键字,从该bfd会话所属的等价类集合中删除该关键字对应的等价类集合元素;当删除bfd会话时,则以该被删除的bfd会话的标识为关键字,从该bfd会话所属的等价类集合中删除该关键字对应的等价类集合元素;当删除bfd会话关联的pw时,则将该被删除的pw关联的bfd会话的标识为关键字,从该bfd会话所属的等价类集合中删除该关键字对应的等价类集合元素。作为一个实施例,等价类集合表优选为一个二维链表。在二维链表中,每一二维链表项代表一个等价类集合,每一二维链表项主要由表头和对应的等价类集合元素组成。表头由以下三部分组成:nextclass:指向下一个等价类集合;classid:等价类集合标识;headptr:指向本二维链表项中的第一个等价类集合元素;等价类集合元素由以下三部分组成:sid:bfd会话标识,每一个bfd会话有一个标识,通过这个标识可以找到相应的数据信息;prev:指向前一个等价类集合元素,对于第一个等价类集合元素,prev指向表头;next:指向下一个等价类集合元素,对于最后一个等价类集合元素,next为空。图2举例示出了等价类集合表的结构。如上描述的等价类集合表,则可以看出,等价类集合表存放的是up的bfd会话的标识,当等价类时间窗口队列中的队列元素数量在设定窗口内达到设定阈值时,会针对等价类集合中每一bfd会话上报down事件,这可以得到,等价类集合表中的bfd会话最终会上报down事件的。而如上描述,等价类时间窗口队列记录的bfd会话会上报down事件,基于此,当等价类时间窗口队列中新增加上报了down事件的bfd会话时,如果该增加的bfd会话此时还记录在等价类集合表,则为避免针对同一bfd会话重复上报down事件,需要从等价类集合中删除该bfd会话。基于此,上述步骤104中在等价类时间窗口队列中的队列元素数量在设定时间窗口内达到设定阈值时,还可进一步从等价类集合标识对应的等价类集合中删除bfd会话标识对应的等价类集合元素。相应的,可以为等价类集合设置相应的计数器,该计数器用于统计等价类集合中bfd会话标识的数量。等价类时间窗口队列表:由等价类时间窗口队列组成。等价类时间窗口队列表的结构类似等价类集合的结构。在本申请中,等价类时间窗口队列表优选为一个二维链表。二维链表中,每一二维链表项代表一个等价类时间窗口队列,每一二维链表项主要由表头和队列元素组成。表头由以下三部分组成:nextque:指向下一个等价类时间窗口队列;classid:等价类集合标识;headptr:指向本二维链表项的第一个队列元素;队列元素由以下三部分组成:sid:bfd会话标识;prev:指向前一个队列元素,第一个队列元素时,prev指向表头;next:指向下一个队列元素,最后一个队列元素时,next为空。初始,等价类时间窗口队列表中各等价类时间窗口队列的队列元素为空,具体如图3所示。而当有bfd会话down时,可将该down的bfd会话组织成一个对应的队列元素加入至对应的等价类时间窗口队列中。图4示出了bfd会话down时某时刻的等价类时间窗口队列状态。基于上面描述的各表项,下面通过一个实施例对图1所示流程进行描述:作为一个实施例,在本申请中,为防止因为down事件延迟上报而导致的故障处理延迟,本申请对现有bfd检测结构进行了少许改进:在驱动层和硬件层之间新增加处理模块,该新增加的处理模块连接在驱动层的bfd驱动模块和硬件层的交换芯片(图5以firmware/fpga为例)之间,具体如图5所示。需要说明的是,即使本申请在驱动层新增加处理模块,但本申请并不改变原有处理bfd会话的核心流程,并同时保证不影响各层原有模块的执行。参见图6,图6为本申请提供的第一实施例流程图。该实施例流程是由图5所示的处理模块执行。如图6所示,该流程可包括以下步骤:步骤601,监听firmware事件。图5以bfd的硬件层由交换芯片firmware/fpga实现为例,因此,作为一个实施例,这里以bfd会话事件为firmware事件为例。在本实施例中,该firmware事件可能是因为bfd会话up触发的,也可能是因为bfd会话down触发的,等等,下文会具体描述。在本申请中,firmware事件至少携带了bfd会话标识、事件类型标识。比如,firmware事件是因为bfd会话up触发的,则firmware事件携带的bfd会话标识就为该up的bfd会话的标识,事件类型标识为up事件(event)的标识。为便于描述,在本实施例中将firmware事件携带的bfd会话标识记为bfd会话标识1。步骤602,当监听到firmware事件时,解析firmware事件携带的bfd会话标识1。步骤603,在本地基本信息表中找到bfd会话标识1匹配的基本信息表项(记为基本信息表项1),当匹配出的基本信息表项1中的valid为有效值时,执行步骤604。基于上面描述的基本信息表项的结构,本步骤603中,在本地基本信息表中找到bfd会话标识1匹配的基本信息表项具体为:以bfd会话标识1为关键字在本地基本信息表中找到sid为该关键字的基本信息表项,找到的基本信息表项为bfd会话标识1匹配的基本信息表项。作为一个实施例,当匹配出的基本信息表项1中的valid为无效值时,直接将firmware事件上报给bfd驱动模块,由bfd驱动模块依据firmware事件携带的事件类型标识进行相应的处理,这里不再赘述。步骤604,在本地特征表中找到firmware事件携带的事件类型标识匹配的事件类型,并在基本信息表项1中的会话状态为up时,执行如图7所示的流程,为down时,执行步骤605。虽然如上描述的基本信息表项中的会话状态还包含init等,但在本申请中,仅对会话状态为up、down时进行详细描述,其他情况不作详细描述。在本申请中,特征表,用于存放用户定制信息,包含以下几个特征表项:maxsessions:网络侧边缘设备(pe:provideredge)设备支持的最大会话数,比如支持512个bfd会话。admindownevent:管理(admin)down事件,具有对应的事件类型标识(记为第一标识);当用户主动删除bfd会话时,意味着admindown事件(event);downevent:bfddown事件,具有对应的事件类型标识(记为第二标识);upevent:bfd会话up事件,具有对应的事件类型标识(记为第三标识);设定时间窗口大小:在这个时间窗口内上报down事件的bfd会话,认定为是同时报down事件的;下文会描述到,这里暂不赘述;设定阈值:即上述步骤104中的设定阈值。表2举例示出了特征表。namevalue备注maxsessions512admindownevent0第一标识downevent2第二标识upevent3第三标识设定时间窗口大小设定阈值表2基于上面描述的特征表,则步骤604具体为:假如firmware事件携带的事件类型标识为第一标识比如0,则确定firmware事件携带的事件类型标识匹配的事件类型为admindownevent,假如firmware携带的事件类型标识为第二标识比如2,则确定firmware事件携带的事件类型标识匹配的事件类型为down事件(event),假如firmware携带的事件类型标识为第三标识比如3,则确定firmware事件携带的事件类型标识匹配的事件类型为upevent。步骤605,在步骤604匹配出的事件类型为upevent时,将bfd会话标识1组织成一个对应的等价类集合元素并放入基本信息表项1中的等价类集合标识对应的等价类集合中。基于上面描述的等价类集合的结构,步骤605中将bfd会话标识1组织成一个对应的等价类集合元素并放入基本信息表项1中的等价类集合标识对应的等价类集合中具体为:以基本信息表项1中的等价类集合标识为关键字,在本地二维链表(等价类集合对应的二维链表)中找到表头包含该关键字的二维链表项,向该找到的二维链表项中的等价类集合元素中添加bfd会话标识1对应的等价类集合元素。bfd会话标识1对应的等价类集合元素具体是按照如上描述的等价类集合元素的结构组织成的。如上描述,步骤604匹配出的事件类型还可为downevent、admindownevent,在本步骤605中,当发现步骤604匹配出的事件类型为downevent、或者admindownevent,则按照现有方式直接上报上述的firmware事件给bfd驱动模块,由bfd驱动模块依据firmware事件携带的事件类型标识进行相应的处理,这里不再赘述。至此,完成图6所示的流程。参见图7,图7为本申请提供的第二实施例流程图。如上描述,该流程是在上述步骤604确定出基本信息表项1中的会话状态为up时执行的。如图7所示,该流程可包括:步骤701,判断步骤604匹配出的事件类型为downevent还是为admindownevent,为downevent时,执行步骤702,为admindownevent时,执行步骤710。本步骤701是在基本信息表项1中的会话状态为up时执行的。需要说明的是,在本实施例中,对于上述步骤704匹配出的事件类型为除downevent、admindownevent之外的其他事件类型比如upevent,则直接将上述的firmware事件上报给bfd驱动模块,由bfd驱动模块依据firmware事件携带的事件类型标识进行相应的处理,这里不再赘述。步骤702,更新基本信息表项1中的会话状态为down。之后执行步骤703。步骤703,依据基本信息表项1中的等价类集合标识找到对应的等价时间窗口队列(记为队列1)。基于上面描述的等价类时间窗口队列的结构,则步骤703具体为:以基本信息表项1中的等价类集合标识为关键字在本地二维链表(等价类时间窗口队列表对应的二维链表)中找到表头为该关键字的二维链表项,该找到的二维链表项记为上述的队列1。步骤704,判断队列1是否为空,如果是,执行步骤705,如果否,执行步骤706。这里的判断队列1是否为空实质是:判断队列1中是否不存在队列元素,如果队列1不存在队列元素,则确定队列1为空,否则,确定队列1不为空。步骤705,将bfd会话标识1对应的队列元素作为队列1的第一个队列元素添加至队列1中,添加的队列元素的时间戳为当前系统时间。之后执行步骤709。基于上面描述的等价类时间窗口队列的结构,则步骤705具体为:按照等价类时间窗口队列中队列元素的结构将bfd会话标识1组织成一个对应的队列元素,并添加至队列1中(也即上述步骤703找到的二维链表项中)。此时该添加的队列元素是该队列1中(也即上述步骤703找到的二维链表项中)的第一个队列元素。步骤706,计算当前系统时间与队列1中第一个队列元素的时间戳之差,比较计算结果与本地特征表中设定时间窗口大小,如果前者大于后者,则执行步骤707,如果前者小于或等于后者,则执行步骤708。步骤707,删除队列1中的第一个队列元素,将bfd会话标识1对应的队列元素添加至队列1中最后一个队列元素的后面,添加的队列元素的时间戳为当前系统时间。结束当前流程。在本实施例中,当删除队列1中的第一个队列元素后,队列1中的其他队列元素则依次向被删除的第一个队列元素所在的位置移动,最终,队列1中原有的第二个队列元素作为第一个队列元素,依次类推。步骤708,将bfd会话标识1对应的队列元素添加至队列1中最后一个队列元素的后面,添加的队列元素的时间戳为当前系统时间。之后执行步骤709。步骤709,判断队列1中的队列元素数量是否达到本地特征表中的设定阈值,如果是,针对基本信息表项1中等价类集合标识对应的等价类集合中每一bfd会话上报down事件,并清空队列1中所有队列元素和清空基本信息表项1中等价类集合标识对应的等价类集合中所有等价类集合元素。当针对基本信息表项1中等价类集合标识对应的等价类集合中每一bfd会话上报down事件后,队列1中所有队列元素和基本信息表项1中等价类集合标识对应的等价类集合中所有等价类集合元素就没有意义了,所以为节省存储资源,作为一个优选实施例,本步骤709清空队列1中所有队列元素和清空基本信息表项1中等价类集合标识对应的等价类集合中所有等价类集合元素。作为一个实施例,当步骤709的判断结构为否时,则直接上报上述的firmware事件上报给bfd驱动模块,由bfd驱动模块依据firmware事件携带的事件类型标识进行相应的处理,这里不再赘述。这里的针对等价类集合中每一bfd会话上报down事件,也意味着将等价类集合中每一bfd会话down事件上报给bfd驱动模块,由bfd驱动模块依据down事件进行处理,这里不再赘述。步骤710,更新基本信息表项1中的会话状态为down,并直接将上述监听到的firmware事件上报给bfd驱动模块。结束当前流程。bfd驱动模块接收到firmware事件后,依据firmware事件进行处理,这里不再赘述。至此,完成图7所示的流程。基于上述流程,则应用于以下场景:同一公网路径上承载有64个bfd会话,bfd会话的检测周期为10ms,检测周期内需要发送3次检测报文,则采用现有方案,经验证,down事件上报时延超过128ms,远超过电信要求丢包时延50ms以内,而采用本发明提供的方法后,经验证,down事件上报时延在30ms以内,大大缩短了down事件上报时延。以上对本申请提供的方法进行了描述。下面对本发明提供的装置进行描述:参见图8,图8为本申请提供的装置结构图。如图8所示,该装置包括:接收单元,用于接收bfd会话事件,bfd会话事件携带bfd会话标识、事件类型标识;获取单元,用于从所述bfd会话标识匹配的基本信息表项中获取等价类集合标识,等价类集合标识为所述bfd会话标识对应的bfd会话所属的等价类集合的标识,其中,同一公网路径承载的bfd会话同属一个等价类集合;控制单元,用于当所述事件类型标识为用于表示down事件的标识时,将所述bfd会话标识对应的队列元素添加至所述等价类集合标识对应的等价类时间窗口队列,判断所述等价类时间窗口队列中的队列元素数量是否在设定时间窗口内达到设定阈值,如果是,针对所述等价类集合中每一bfd会话上报down事件。优选地,所述控制单元进一步从所述等价类集合标识对应的等价类集合中删除所述bfd会话标识对应的等价类集合元素。优选地,所述控制单元将bfd会话标识作为队列元素添加至所述等价类集合标识对应的等价类时间窗口队列包括:判断所述等价类时间窗口队列是否为空,如果是,将所述bfd会话标识对应的队列元素作为所述等价类时间窗口队列的第一个队列元素添加至所述等价类时间窗口队列中,添加的队列元素的时间戳为当前系统时间;如果否,将所述bfd会话标识对应的队列元素添加至所述等价类时间窗口队列中最后一个队列元素的后面,添加的队列元素的时间戳为当前系统时间。优选地,所述控制单元将bfd会话标识作为队列元素添加至所述等价类时间窗口队列中最后一个队列元素的后面之前,进一步包括:计算当前系统时间与所述等价类时间窗口队列中第一个队列元素的时间戳之差,在计算结果大于设定时间窗口大小时,删除所述等价类时间窗口队列中第一个队列元素,并返回执行将bfd会话标识作为队列元素添加至所述等价类时间窗口队列中最后一个队列元素的后面的步骤。优选地,所述控制单元针对等价类集合中每一bfd会话上报down事件进一步包括:清空所述等价类集合中的等价类集合元素;清空所述等价类时间窗口队列中的队列元素。优选地,所述控制单元进一步在所述事件类型标识为用于表示启动up事件的标识时,若所述基本信息表项中的会话状态为down,则将所述bfd会话标识对应的等价类集合元素添加至所述等价类集合中;以及,在所述事件类型标识为用于表示管理admindown事件的标识时,若所述基本信息表项中的会话状态为up,则从所述等价类集合标识对应的等价类集合中删除所述bfd会话标识对应的等价类集合元素,并将所述bfd会话事件上报。至此,完成图8所示装置的结构描述。其中,装置中各单元执行过程可以参照方法部分的实施例,在此不再赘述。对应地,本发明还提供了图8所示装置的硬件结构。参见图9,图9为本申请提供的图8所示装置的硬件结构示意图。该装置包含:存储器,用于存放接收单元运行的程序指令、获取单元运行的程序指令、控制单元运行的程序指令;处理器,用于执行接收单元运行的程序指令、用于执行获取单元运行的程序指令、用于执行控制单元运行的程序指令。其中,处理器执行接收单元运行的程序指令所执行的操作如上接收单元执行的操作,处理器执行获取单元运行的程序指令所执行的操作如上获取单元执行的操作,处理器执行控制单元运行的程序指令所执行的操作如上控制单元执行的操作。如图9所示,该硬件结构还可以包括一个电源组件被配置为执行装置的电源管理,一个有线或无线网络接口被配置为将装置连接到网络,和一个输入输出(i/o)接口。至此,完成图9所示的硬件结构描述。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1