检测发送异常的方法、装置、通信设备及可读存储介质制造方法及图纸

技术编号:20246276 阅读:30 留言:0更新日期:2019-01-30 00:33
本发明专利技术提供了一种检测发送异常的方法、装置、通信设备及可读存储介质,该方法在转发当前待转发报文前,先判断缓存当前待转发报文的缓冲区的状态标记是否为第一状态值;在为所述第一状态值时,再判断第一标识字段与第二标识字段是否一致,其中,第一标识字段表征使用缓冲区的转发核,第二标识字段表征转发当前待转发报文的转发核;在一致时,说明本次发送流程正常,转发当前待转发报文并将状态标记设置为第二状态值;在不一致时,确定当前待转发报文已被发送过且本次发送流程异常。通过该方法可解决现有技术在使用缓冲区的状态标记来判断当前待转发报文是否是被重复时,无法在缓冲区被重新缓存新的转发报文后进行准确判断的问题。

【技术实现步骤摘要】
检测发送异常的方法、装置、通信设备及可读存储介质
本专利技术涉及数据转发领域,具体而言,涉及一种检测发送异常的方法、装置、通信设备及可读存储介质。
技术介绍
路由器作为通信网络中必需的通信设备,其数据收发的性能和准确性直接决定了所在网络的数据通信的可靠性,对网络中所承载的业务的正常运行起到了支撑和限制的作用。路由器使用缓冲区(Buffer)来装载需要收发的报文,因此Buffer的正常使用对于路由器设备的稳定、可靠运行具有至关重要的作用。然而,在路由器实际工作中,转发路径的选择受制于多种因素,在异常情况下会出现一个报文被多次发送的情况,即Buffer被多次释放。然而,现有的检测机制不仅无法检测出真实的问题所在,反而会收集到错误的异常信息来误导问题的解决方向。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种检测发送异常的方法、装置、通信设备及可读存储介质,以解决上述问题。第一方面,本专利技术实施例提供了一种检测发送异常的方法,所述方法包括:在转发当前待转发报文前,判断缓存所述当前待转发报文的缓冲区的状态标记是否为第一状态值;在所述状态标记为所述第一状态值时,判断第一标识字段与第二标识字段是否一致,其中,所述第一标识字段用于表征使用所述缓冲区的转发核,所述第二标识字段用于表征转发所述当前待转发报文的转发核;在所述第一标识字段与所述第二标识字段一致时,转发所述当前待转发报文,并将所述状态标记设置为第二状态值;在所述第一标识字段与所述第二标识字段不一致时,确定所述当前待转发报文已被发送过且本次发送流程异常。第二方面,本专利技术实施例提供了一种板卡检测发送异常的装置,第一判断模块,用于在转发当前待转发报文前,检测缓存所述当前待转发报文的缓冲区的状态标记是否为第一状态值;第二判断模块,用于在所述第一判断模块的判断结果为是时,判断第一标识字段与第二标识字段是否一致,其中,所述第一标识字段用于表征使用所述缓冲区的转发核,所述第二标识字段用于表征转发所述当前待转发报文的转发核;判断执行模块,用于在所述第二判断模块的判断结果为是时,转发所述当前待转发报文,并将所述状态标记设置为第二状态值;还用于在所述第二判断模块的判断结果为否时,确定所述当前待转发报文已被发送过且本次发送流程异常。第三方面,本专利技术实施例提供了一种通信设备,所述通信设备包括存储器以及包括多个转发核的处理器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述通信设备执行第一方面任一实施方式所述的检测发送异常的方法。第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行第一方面任一实施方式所述的检测发送异常的方法。与现有技术相比,本专利技术各实施例提出的检测发送异常的方法、装置、通信设备及可读存储介质在转发当前待转发报文前,先判断缓存所述当前待转发报文的缓冲区的状态标记是否为第一状态值;在状态标记为所述第一状态值时,再判断第一标识字段与第二标识字段是否一致,其中,所述第一标识字段用于表征使用所述缓冲区的转发核,所述第二标识字段用于表征转发所述当前待转发报文的转发核;在所述第一标识字段与所述第二标识字段一致时,说明本次发送流程正常,转发所述当前待转发报文,并将所述状态标记设置为第二状态值;在所述第一标识字段与所述第二标识字段不一致时,确定所述当前待转发报文已被发送过且本次发送流程异常。通过该方法可以解决现有技术中使用缓冲区的状态标记来判断当前待转发的报文是否是被重复时,无法在缓冲区被重新缓存新的转发报文后进行准确判断的问题。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术实施例提供的一种通信设备的结构示意图;图2为本专利技术第一实施例提供的一种检测发送异常的方法的流程图之一;图3为本专利技术第一实施例提供的一种检测发送异常的方法的流程图之二;图4为本专利技术第二实施例提供的一种检测发送异常的装置的结构框图。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。首先,对本专利技术所涉及到的术语进行简要介绍:Buffer:缓冲区,本专利技术实施例中指储存数据报文的内存空间。freeFlag:Buffer的状态标记。为了解决上述问题,本专利技术实施例提供一种检测发送异常的方法、装置,该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本专利技术实施例进行详细介绍。首先,参照图1来描述用于实现本专利技术实施例的检测发送异常的方法、装置的通信设备100。在图1中,通信设备100可以包括相互连接的处理器110以及存储器120。其中,所述处理器110包括多个转发核。处理器110以及存储器120可以通过总线系统和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的通信设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述通信设备100也可以具有其他组件和结构。其中,处理器110中的转发核主要负责接收报文并将报文进行转发。各转发核之间并行工作,互不干扰。每个转发核串行工作,即一个转发核只有在当前已接收报文全部转发完成之后,才会接收新的报文进行处理。Buffer作为报文的承载体,可以缓存不同的报文类型,被不同的转发核接收并转发。存储器120用于存储计算机程序,处理器110中的转发核可以执行存储器120中存储的计算机程序。当然,在通信设备100在系统初始化阶段,处理器110可以预先创建一个用于缓存报文的Buffer池。在通信设备100的端口接收到报文后,针对每个报文,处理器110都会在Buffer池中申请一个Buffer来缓存该报文,同时,处理器110还会在内存中申请预设大小(例如1KB)的内存来保存该报文的转发信息。其中,Buffer在缓存该报文时,保存有该报文所包括的报文数据以及报文描述符。请参照图2,图2是本专利技术第一实施例提供的一种检测发送异常的方法的流程图。下面将对图2所示的流程进行详细阐述,所述方法包括:步骤S110:在转发当前待转发报文前,判断缓存所述当前待转发报文的缓冲区的状态标记是否为第一状态值。其中,当Buffer的freeFlag为第一状态值时,表征该Buffer目前处于使用状态。因此,判断缓存当前待转发报文的Buffer的freeFlag是否为第一状态值,即判断与当前待转发报文对应的Buffer是否处于使用状态。本文档来自技高网...

【技术保护点】
1.一种检测发送异常的方法,其特征在于,所述方法包括:在转发当前待转发报文前,判断缓存所述当前待转发报文的缓冲区的状态标记是否为第一状态值;在所述状态标记为所述第一状态值时,判断第一标识字段与第二标识字段是否一致,其中,所述第一标识字段用于表征使用所述缓冲区的转发核,所述第二标识字段用于表征转发所述当前待转发报文的转发核;在所述第一标识字段与所述第二标识字段一致时,转发所述当前待转发报文,并将所述状态标记设置为第二状态值;在所述第一标识字段与所述第二标识字段不一致时,确定所述当前待转发报文已被发送过且本次发送流程异常。

【技术特征摘要】
1.一种检测发送异常的方法,其特征在于,所述方法包括:在转发当前待转发报文前,判断缓存所述当前待转发报文的缓冲区的状态标记是否为第一状态值;在所述状态标记为所述第一状态值时,判断第一标识字段与第二标识字段是否一致,其中,所述第一标识字段用于表征使用所述缓冲区的转发核,所述第二标识字段用于表征转发所述当前待转发报文的转发核;在所述第一标识字段与所述第二标识字段一致时,转发所述当前待转发报文,并将所述状态标记设置为第二状态值;在所述第一标识字段与所述第二标识字段不一致时,确定所述当前待转发报文已被发送过且本次发送流程异常。2.根据权利要求1所述的方法,其特征在于,在判断缓存所述当前待转发报文的缓冲区的状态标记是否为第一状态值之后,在判断第一标识字段与第二标识字段是否一致之前,所述方法还包括:在所述状态标记不为所述第一状态值时,确定所述当前待转发报文已被发送过且本次发送流程异常。3.根据权利要求1或2所述的方法,其特征在于,在判断缓存所述当前待转发报文的缓冲区的状态标记是否为第一状态值之前,所述方法还包括:在接收到所述当前待转发报文时,将转发所述当前待转发报文的转发核的标识字段分别保存在缓存所述当前待转发报文的缓冲区内以及存储所述当前待转发报文的转发信息的内存内,与所述缓冲区对应的标识字段为第一标识字段,与存储所述转发信息的内存对应的标识字段为第二标识字段;将所述缓冲区的状态标记设置为所述第一状态值。4.根据权利要求1或2所述的方法,其特征在于,在将转发所述当前待转发报文的转发核的标识字段保存在缓存所述报文的缓冲区内之前,所述方法还包括:从预先创建的缓冲区池中申请一个缓冲区,并申请一个预设大小的内存;在接收到所述当前待转发报文时,将所述当前待转发报文所包括的报文数据以及报文描述符保存在所述缓冲区内,将所述报文的转发信息保存在所述内存内。5.一种检测发送异常的装置,其特征在于,所述装置包括:第一判断模块,用于在转发当前待转发报文前,检测缓存所述当前待转发报文...

【专利技术属性】
技术研发人员:孙琳洋
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:四川,51

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

1