掌桥专利:专业的专利平台
掌桥专利
首页

确定报文发送周期的方法、装置以及系统

文献发布时间:2023-06-19 18:32:25


确定报文发送周期的方法、装置以及系统

技术领域

本申请涉及网络通信领域,并且更具体地,涉及一种确定报文发送周期的方法、装置以及系统。

背景技术

确定性互联网协议(internet protocol,IP)网络是通过显式路径、边缘流量整形、周期映射关系等技术,能够保证网络报文的传输时延上限、时延抖动上限、丢包率上限等的一种IP网络。例如,在数据传输的链路中,上游节点在向下游节点传输数据时,下游节点接收到该数据的时延可以是已知的。

上述网络中的每一个设备可以建立周期映射关系,周期映射关系中下游设备转发报文的周期(也可以称为下游设备的发送周期)是根据该下游设备接收到该报文的时刻确定的。但是,由于各种原因的抖动(例如,上游设备本身存在抖动或由于中间经过的传输设备而产生的抖动等)会导致下游设备接收到报文的时刻发生抖动,从而使得该下游设备在后续学习过程中学习到的发送周期发生变化。学习到的发送周期的不稳定会导致端到端的报文的抖动增大,且传输的报文也可能发生乱序的情况。

发明内容

本申请提供一种确定报文发送周期的方法、装置以及系统,可以避免报文由于抖动产生的乱序问题,保证报文的稳定转发。

第一方面,提供了一种确定报文发送周期的方法,所述方法包括:第一网络设备接收第二网络设备发送的第一报文,所述第一报文包括第一周期标签,所述第一周期标签指示所述第二网络设备发送所述第一报文的周期为第一周期;所述第一网络设备根据接收所述第一报文的时刻确定第一时刻,所述第一时刻用于所述第一网络设备确定所述第一报文的发送周期;所述第一网络设备确定所述第一时刻和第二周期的第一边界时刻之间的偏移量,所述第一边界时刻为所述第二周期的边界时刻中距离所述第一时刻最近的边界时刻,所述第二周期为第三周期的前一个周期,所述第三周期为根据所述第一周期和周期映射关系确定的,所述周期映射关系包括所述第二网络设备向所述第一网络设备发送报文的周期和所述第一网络设备转发所述报文的周期之间的映射关系;如果所述偏移量小于预设阈值,所述第一网络设备确定所述第三周期为所述第一报文的发送周期。

上述技术方案中,可以使得设备间进行周期映射关系学习时,学习的周期映射关系的结果是稳定的。避免了周期映射关系的学习结果发生变化可能导致的报文转发的抖动增大、报文乱序等问题,保证报文的稳定转发。

结合第一方面,在第一方面的一种可能的实现方式中,在所述第一网络设备确定所述第一时刻和第二周期的第一边界时刻时间的偏移量之前,所述方法还包括:所述第一网络设备确定所述第一时刻不在所述第二周期内。

结合第一方面,在第一方面的一种可能的实现方式中,所述方法还包括:所述第一网络设备根据所述第一报文获得第二报文,所述第二报文包括第二周期标签,所述第二周期标签指示所述第一网络设备发送所述第二报文的周期为所述第三周期;所述第一网络设备在所述第三周期向第三网络设备发送所述第二报文。

结合第一方面,在第一方面的一种可能的实现方式中,所述第一网络设备根据接收所述第一报文的时刻、预设处理时长以及报文抖动参数确定所述第一时刻。

结合第一方面,在第一方面的一种可能的实现方式中,所述第二周期的第一边界时刻为所述第二周期的结束时刻,或为所述第二周期的起始时刻。

结合第一方面,在第一方面的一种可能的实现方式中,所述方法还包括:所述第一网络设备获取所述预设阈值以及报文抖动参数。

结合第一方面,在第一方面的一种可能的实现方式中,所述第一网络设备自己确定所述预设阈值以及所述报文抖动参数;或所述第一网络设备根据用户的配置信息获取所述预设阈值以及所述报文抖动参数;或所述第一网络设备根据所述第一报文获取所述预设阈值以及所述报文抖动参数,所述第一报文中包括所述预设阈值以及所述报文抖动参数。

应理解,所述第一网络设备通过上述的任一种或多种方式的组合获取所述预设阈值以及报文抖动参数。

第二方面,提供了一种确定报文发送周期的装置,所述装置设置于第一网络设备中,包括:接收模块,处理模块,其中,接收模块用于接收第二网络设备发送的第一报文,所述第一报文包括第一周期标签,所述第一周期标签指示所述第二网络设备发送所述第一报文的周期为第一周期;处理模块用于根据接收所述第一报文的时刻确定第一时刻,所述第一时刻用于所述第一网络设备确定所述第一报文的发送周期;确定所述第一时刻和第二周期的第一边界时刻之间的偏移量,所述第一边界时刻为所述第二周期的边界时刻中距离所述第一时刻最近的边界时刻,所述第二周期为第三周期的前一个周期,所述第三周期为根据所述第一周期和周期映射关系确定的,所述周期映射关系包括所述第二网络设备向所述第一网络设备发送报文的周期和所述第一网络设备转发所述报文的周期之间的映射关系;如果所述偏移量小于预设阈值,确定所述第三周期为所述第一报文的发送周期。

结合第二方面,在第二方面的一种可能的实现方式中,所述处理模块还用于:确定所述第一时刻不在所述第二周期内。

结合第二方面,在第二方面的一种可能的实现方式中,所述处理模块还用于:根据所述第一报文获得第二报文,所述第二报文包括第二周期标签,所述第二周期标签指示所述第一网络设备发送所述第二报文的周期为所述第三周期;

所述装置还包括:发送模块,用于在所述第三周期向第三网络设备发送所述第二报文。

结合第二方面,在第二方面的一种可能的实现方式中,所述处理模块具体用于:根据接收所述第一报文的时刻、预设处理时长以及报文抖动参数确定所述第一时刻。

结合第二方面,在第二方面的一种可能的实现方式中,所述第二周期的第一边界时刻为所述第二周期的结束时刻,或为所述第二周期的起始时刻。

结合第二方面,在第二方面的一种可能的实现方式中,所述处理模块还用于获取所述预设阈值以及报文抖动参数。

结合第二方面,在第二方面的一种可能的实现方式中,所述处理模块具体用于:自己确定所述预设阈值以及所述报文抖动参数;或根据用户的配置信息获取所述预设阈值以及所述报文抖动参数;或根据所述第一报文获取所述预设阈值以及所述报文抖动参数,所述第一报文中包括所述预设阈值以及所述报文抖动参数。

第二方面和第二方面的任意一个可能的实现方式的有益效果和第一方面以及第一方面的任意一个可能的实现方式的有益效果是对应的,对此,不再赘述。

第三方面,提供了一种第一网络设备,所述第一网络设备具有实现上述确定报文发送周期的装置的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,第一网络设备的结构中包括处理器,所述处理器被配置为支持第一网络设备执行上述方法中相应的功能。

所述第一网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第一网络设备必要的程序指令和数据。

在另一个可能的设计中,所述第一网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第一网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备进入正常运行状态。在第一网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。

第四方面,提供一种第一网络设备,所述第一网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第一网络设备用于执行第一方面或第一方面的任意可能的实现方式中的确定报文发送周期的方法。具体地,所述第一网络设备包括用于执行第二方面或第二方面的任意可能的实现方式中的确定报文发送周期的方法的模块。

需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第一网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第一网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第一网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第一网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。

第五方面,提供一种第一网络设备,所述第一网络设备包括控制模块和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第四方面中的接口板的功能,进一步,还可以执行第四方面中交换网板的功能。所述控制模块中包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制模块时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制模块进入正常运行状态。在控制模块进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第四方面中主控板的功能。

可以理解的是,在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。

第六方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。

第七方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasablePROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。

第八方面,提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第一方面或第一方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(central processing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。

第九方面,提供了一种报文传输的系统,该系统包括上述如第二方面或第二方面任意一种可能的实现方式中的确定报文发送周期的装置。

附图说明

图1是应用于本申请的一种确定性IP网络的组网示意图。

图2是一种确定性IP网络根据周期映射关系发送报文的示意性框图。

图3是本申请实施例提供的一种确定报文发送周期的方法的示意性流程图。

图4是本申请实施例提供的一种确定报文发送周期的示意性框图。

图5是本申请实施例提供的另一种确定报文发送周期的示意性框图。

图6是本申请实施例提供的一种确定报文发送周期的装置600的示意性结构图。

图7是本申请实施例的第一网络设备7000的硬件结构示意图。

图8为本申请实施例的另一种第一网络设备2100的硬件结构示意图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

本申请将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。

另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。

本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。

本申请实施例描述的网络架构以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:包括单独存在A,同时存在A和B,以及单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。

确定性互联网协议(internet protocol,IP)网络是通过显示路径、边缘流量整形、周期映射关系等技术,能够保证网络报文的传输时延上限、时延抖动上限、丢包率上限等的一种IP网络。例如,在数据传输的链路中,上游节点在向下游节点传输数据时,下游节点接收到该数据的时延可以是已知的。

图1是应用于本申请的一种确定性IP网络的组网示意图。如图1所示,该确定性IP网络由入口边缘路由器(provider edge,PE)设备、一个或多个骨干路由器(provider,P)设备以及出口PE设备组成。

应理解,以报文从入口PE设备向P设备、出口PE设备发送为例。入口PE设备相对于P设备而言,可以称为上游设备,P设备相对于入口PE设备而言,可以称为下游设备。同样的,P设备相对于出口PE设备而言,可以称为上游设备,出口PE设备相对于P设备而言,可以称为下游设备。

由上述入口PE设备、一个或多个P设备以及出口PE设备组成的报文转发路径可以理解为显式路径,该显式路径上的各个设备需要将时间划分为等长的周期,并为需要发送的报文安排特定的发送周期,并按照该发送周期对报文进行排队和转发。

作为示例,如图2所示,对于入口PE设备而言,可以为其接收到的报文确定出接口的发送周期(例如,T1周期),并在对应的发送周期(例如,T1周期)对该报文进行发送,该报文中可以携带周期标签,该周期标签用于指示入口PE设备对该报文的发送周期(例如,T1周期)。对于P设备而言,其接收到上述报文后,可以根据该报文携带的周期标签(例如,T1周期)以及其本地维护的周期映射关系(例如,T1周期-->T3周期)确定P设备的出接口的发送周期(例如,T3周期),修改报文中的周期标签为P设备对该报文的发送周期(例如,T3周期),并在对应的发送周期(例如,T3周期)对该报文进行发送。以此类推,对于出口PE设备而言,其接收到上述报文后,可以根据该报文携带的周期标签(例如,T3周期)以及其本地维护的周期映射关系(例如,T3周期-->T5周期)确定出口PE设备的出接口的发送周期(例如,T5周期),修改报文中的周期标签为出口PE设备对该报文的发送周期(例如,T5周期),并在对应的发送周期(例如,T5周期)对该报文进行发送。

应理解,上述网络中的每一个设备可以建立周期映射关系,该周期映射关系包括上游设备发送报文中携带的周期标签与下游设备向下一跳设备转发该报文的周期之间的映射关系。也可以理解为,该周期映射关系表征上游设备发送报文的周期与下游设备转发该报文的周期之间的映射关系。上述各个设备建立的周期映射关系也可以称为上下游周期映射关系或标签映射关系,是需要下游设备提前在本地进行学习的。

相关的技术方案中,周期映射关系中下游设备转发报文的周期(也可以称为下游设备的发送周期)是根据该下游设备接收到该报文的时刻确定的。但是,由于各种原因的抖动(例如,上游设备本身存在抖动或由于中间经过的传输设备而产生的抖动等)会导致下游设备接收到报文的时刻发生抖动,从而使得该下游设备在后续学习过程中学习到的发送周期发生变化。学习到的发送周期的不稳定会导致端到端的报文的抖动增大,且传输的报文也可能发生乱序的情况。

有鉴于此,本申请实施例提供了一种确定报文发送周期的方法,该方法可以使得设备间进行周期映射关系学习时,学习的结果是稳定的,避免了学习结果发生变化可能导致的报文转发的抖动增大、报文乱序等问题,从而保证报文的稳定转发。

图3是本申请实施例提供的一种确定报文发送周期的方法的示意性流程图。如图3所示,该方法可以包括步骤310-340,下面分别对步骤310-340进行详细描述。

步骤310:第一网络设备接收第二网络设备发送的第一报文。

上述第一网络设备也可以称为下游节点,第二网络设备也可以称为上游节点。例如,如图1所示,如果第一网络设备也可以是P设备,第二网络设备为入口PE设备。

第一网络设备接收到第二网络设备发送的第一报文可以是一个学习报文,或者也可以是一个数据报文,本申请实施例对此不做具体限定。该第一报文可以包括第一周期标签,所述第一周期标签指示所述第二网络设备向第一网络设备发送所述第一报文的周期为第一周期。

步骤320:第一网络设备根据接收第一报文的时刻确定第一时刻。

第一网络设备根据接收第一报文的时刻确定第一时刻的具体实现方式有多种,本申请实施例对此不做具体限定。一个示例,第一网络设备可以根据接收第一报文的时刻以及预设处理时长确定第一时刻。另一个示例,第一网络设备还可以根据接收第一报文的时刻、预设处理时长以及报文抖动参数确定所述第一时刻。应理解,预设处理时长可以包括但不限于:第一网络设备上的周期时长、报文从第一网络设备的入接口到出接口的最大转发时延等。

举例说明,如下公式(1)为第一时刻的一种可能的计算方式。

t

其中,t

步骤330:第一网络设备确定第一时刻和第二周期的第一边界时刻之间的偏移量。

其中,所述第二周期的第一边界时刻可以是第二周期的边界时刻中距离所述第一时刻最近的边界时刻。也可以理解为第一网络设备确定第一时刻到第二周期的边界时刻的最小值,并将该最小值确定为所述偏移量。上述第二周期的边界时刻可以是第二周期的起始时刻,或者也可以是第二周期的结束时刻,本申请实施例不做具体限定。下面会结合图4中具体的例子,对第二周期的边界时刻以及偏移量进行举例说明,此处暂不详述。

所述第二周期为第三周期的前一个周期,所述第三周期为第一网络设备根据第一周期和周期映射关系确定的。其中,周期映射关系包括第二网络设备向第一网络设备发送报文的周期和第一网络设备转发所述报文的周期之间的映射关系。

可选地,在一些实施例中,在步骤330之前,第一网络设备还可以确定第一时刻不在所述第二周期内。也就是说,在第一网络设备确定第一时刻不在所述第二周期内的情况下,第一网络设备确定第一时刻和第二周期的第一边界时刻之间的偏移量。

步骤340:如果所述偏移量小于预设阈值,第一网络设备确定所述第三周期为所述第一报文的发送周期。

也可以理解为如果偏移量小于预设阈值,第一网络设备不刷新或不更新上述周期映射关系。该预设阈值可以和上述报文抖动参数相同,或者也可以和上述报文抖动参数不同,本申请不做具体限定。具体的,举例说明,预设阈值可以大于报文抖动参数。

一个示例,上述第一报文为数据报文,第一网络设备还可以在第三周期发送所述第一报文。具体的,第一网络设备根据所述第一报文获得第二报文,并在第三周期向第三网络设备发送第二报文,其中,第二报文包括第二周期标签,第二周期标签指示第一网络设备发送第二报文的周期为所述第三周期。也就是说,第一网络设备将第一报文中的第一周期标签替换为第二周期标签得到第二报文,并在第三周期向第三网络设备发送该第二报文。

另一个示例,上述第一报文为学习报文,第一网络设备可以在根据所述第一报文学习完周期映射关系后,将该第一报文丢弃。

上述技术方案中,可以使得设备间进行周期映射关系学习时,学习的周期映射关系的结果是稳定的。避免了周期映射关系的学习结果发生变化可能导致的报文转发的抖动增大、报文乱序等问题,保证报文的稳定转发。

可选地,在一些实施例中,第一网络设备还可以获取上述预设阈值以及报文抖动参数。具体的实现方式有多种,下面对几种可能的实现方式进行详细描述。

一种可能的实现方式中,第一网络设备自己确定所述预设阈值以及所述报文抖动参数。例如,第一网络设备可以取各种可能情况的最大值作为预设阈值以及所述报文抖动参数。又如,还可以将用户对第一网络设备不同的接口配置的不同的值作为预设阈值以及所述报文抖动参数。

另一种可能的实现方式中,第一网络设备还可以通过第二网络设备发送的第一报文确定所述预设阈值以及所述报文抖动参数,其中,第一报文中包括所述预设阈值以及所述报文抖动参数。例如,第二网络设备可以取各种可能情况的最大值作为预设阈值以及所述报文抖动参数,并将预设阈值以及所述报文抖动参数携带在第一报文中发送给第一网络设备。又如,第二网络设备将用户对第一网络设备不同的接口配置的不同的值作为预设阈值以及所述报文抖动参数,并将预设阈值以及所述报文抖动参数携带在第一报文中发送给第一网络设备。

另一种可能的实现方式中,第一网络设备和第二网络设备各获取参数的部分值。因为报文从上游设备(例如,第二网络设备)发送到下游设备(例如,第一网络设备)的抖动,是由多种因素导致的,如上游设备发送的抖动、传输设备抖动、下游设备获取报文的时间的抖动等。因此,可以由某个设备只提供某些抖动因素导致的抖动参数,比如上游设备只提供发送学习报文的抖动。下游设备在学习时,需要将上游设备提供的参数,和本设备自己获取的参数,结合后进行学习。

下面结合图4,对本申请实施例提供的第一网络设备确定报文发送周期的方法的一种具体实现方式进行详细描述。应理解,图4的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图4的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。

应理解,第一网络设备在学习周期映射关系的首次学习、后续学习过程中,第二网络设备可以在任意周期向第一网络设备发送报文。为了便于描述和对比,图4的均以第二网络设备在T1周期向第一网络设备发送报文为例进行说明。

如图4所示,第一网络设备可以在首次学习的过程中确定周期映射关系。例如,在首次学习的过程中,第二网络设备在T1周期向第一网络设备发送报文,该报文中可以携带周期标签,该周期标签用于指示第二网络设备对该报文的发送周期为T1周期。第一网络设备接收到第二网络设备发送的报文的时刻为t0时刻(位于第二网络设备的T2周期)。第一网络设备可以根据t0时刻以及公式(1)计算得到t1时刻(位于第二网络设备的T4周期),并将T4周期的下一个完整的周期作为第二网络设备对该报文的发送周期,例如,第二网络设备将T5周期作为其对该报文的发送周期。因此,第二网络设备确定周期映射关系为T1周期-->T5周期,并保存该周期映射关系。应理解,该周期映射关系可以是T1周期-->T5周期之间的对应关系,或者也可以是周期差值Delta=4(T5-T1=4)。

一种情况,在后续学习1的过程中,第二网络设备在T1周期向第一网络设备发送报文,第一网络设备接收到第二网络设备发送的该报文的时刻为t

另一种情况,在后续学习2的过程中,第二网络设备在T1周期向第一网络设备发送报文,第一网络设备接收到第二网络设备发送的报文的时刻为t

应理解,第一预设阈值和第二预设阈值可以相同,或者也可以不相同,本申请实施例对此不做具体限定。

下面结合图,对本申请实施例提供的确定报文发送周期的方法的另一种具体实现方式进行详细描述。应理解,图5的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图5的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。

应理解,图5相对比图4而言,区别在于首次学习过程中第二网络设备向第一网络设备发送报文的周期与后续学习中发送报文的周期不同。

如图5所示,第一网络设备可以在首次学习的过程中确定周期映射关系。例如,在首次学习的过程中,第二网络设备在T1周期向第一网络设备发送报文,该报文中可以携带周期标签,该周期标签用于指示第二网络设备对该报文的发送周期为T1周期。第一网络设备接收到第二网络设备发送的报文的时刻为t0时刻(位于第二网络设备的T2周期)。第一网络设备可以根据t0时刻以及公式(1)计算得到t1时刻(位于第二网络设备的T4周期),并将T4周期的下一个完整的周期作为第二网络设备对该报文的发送周期,例如,第二网络设备将T5周期作为其对该报文的发送周期。因此,第二网络设备确定周期映射关系为T1周期-->T5周期,并保存该周期映射关系。应理解,该周期映射关系可以是T1周期-->T5周期之间的对应关系,或者也可以是周期差值Delta=4(T5-T1=4)。

一种情况,在后续学习1的过程中,第二网络设备在T2周期向第一网络设备发送报文,该报文中可以携带周期标签,该周期标签用于指示第二网络设备对该报文的发送周期为T2周期。在该后续学习1的场景中,第一网络设备接收到第二网络设备发送的该报文的时刻为t

另一种情况,在后续学习2的过程中,第二网络设备在T2周期向第一网络设备发送报文,第一网络设备接收到第二网络设备发送的该报文的时刻为t

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

上文结合图1至图5,详细描述了本申请实施例提供的确定报文发送周期的方法,下面将结合图6至图8,详细描述本申请的装置的实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。

图6是本申请实施例提供的一种确定报文发送周期的装置600的示意性结构图。该装置600设置于第一网络设备。图6所示的确定报文发送周期的装置600可以执行上述实施例的确定报文发送周期的方法的相应步骤。如图6所示,所述确定报文发送周期的装置600包括:接收模块610,处理模块620。其中,接收模块610用于接收第二网络设备发送的第一报文,所述第一报文包括第一周期标签,所述第一周期标签指示所述第二网络设备发送所述第一报文的周期为第一周期;处理模块620用于用于根据接收所述第一报文的时刻确定第一时刻,所述第一时刻用于所述第一网络设备确定所述第一报文的发送周期;确定所述第一时刻和第二周期的第一边界时刻之间的偏移量,所述第一边界时刻为所述第二周期的边界时刻中距离所述第一时刻最近的边界时刻,所述第二周期为第三周期的前一个周期,所述第三周期为根据所述第一周期和周期映射关系确定的,所述周期映射关系包括所述第二网络设备向所述第一网络设备发送报文的周期和所述第一网络设备转发所述报文的周期之间的映射关系;如果所述偏移量小于预设阈值,确定所述第三周期为所述第一报文的发送周期。

可选地,所述处理模块620还用于:确定所述第一时刻不在所述第二周期内。

可选地,所述处理模块620还用于:根据所述第一报文获得第二报文,所述第二报文包括第二周期标签,所述第二周期标签指示所述第一网络设备发送所述第二报文的周期为所述第三周期;

所述装置600还包括:发送模块630,用于在所述第三周期向第三网络设备发送所述第二报文。

可选地,所述处理模块620具体用于:根据接收所述第一报文的时刻、预设处理时长以及报文抖动参数确定所述第一时刻。

可选地,所述第二周期的第一边界时刻为所述第二周期的结束时刻,或为所述第二周期的起始时刻。

可选地,所述处理模:620还用于:获取所述预设阈值以及报文抖动参数。

可选地,所述处理模块620具体用于:自己确定所述预设阈值以及所述报文抖动参数;或根据用户的配置信息获取所述预设阈值以及所述报文抖动参数;或根据所述第一报文获取所述预设阈值以及所述报文抖动参数,所述第一报文中包括所述预设阈值以及所述报文抖动参数。

图7是本申请实施例的第一网络设备7000的硬件结构示意图。图7所示的第一网络设备2000可以执行上述实施例的确定报文发送周期的方法。

如图7所示,所述第一网络设备2000包括处理器2001、存储器2002、接口2003和总线2004。其中接口2003可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2001、存储器2002和接口2003通过总线2004连接。

所述接口2003具体可以包括发送器和接收器,用于第一网络设备实现上述收发。

所述处理器2001用于执行上述实施例中由第一网络设备进行的处理。存储器2002包括操作系统20021和应用程序20022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第一网络设备的处理过程。可选的,所述存储器2002可以包括只读存储器(read-only memory,ROM)和随机存取存储器(randomaccess memory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/outputsystem,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行第一网络设备2000时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备2000进入正常运行状态。在第一网络设备2000进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第一网络设备2000的处理过程。

可以理解的是,图7仅仅示出了第一网络设备2000的简化设计。在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。

图8为本申请实施例的另一种第一网络设备2100的硬件结构示意图。图8所示的第一网络设备2100可以执行上述实施例的确定报文发送周期的方法。

如图8所述,第一网络设备2100包括:主控板2110、接口板2130、交换网板2120和接口板2140。主控板2110、接口板2130和2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。其中,主控板2110用于完成系统管理、设备维护、协议处理等功能。交换网板2120用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2130和2140用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。

接口板2130可以包括中央处理器2131、转发表项存储器2134、物理接口卡2133和网络处理器2132。其中,中央处理器2131用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2134用于保存表项,例如,上文中的周期映射关系。物理接口卡2133用于完成流量的接收和发送。

应理解,本申请实施例中接口板2140上的操作与所述接口板2130的操作一致,为了简洁,不再赘述。

应理解,本实施例的第一网络设备2100可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。

此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第一网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第一网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下第一网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第一网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。

本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一网络设备执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-onlymemory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。

本申请实施例还提供了一种芯片,应用于第一网络设备中,该芯片包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中所述第一网络设备的操作。在具体实现过程中,该芯片可以以中央处理器(centralprocessing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(microprocessing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。

本申请实施例还提供了一种计算机程序产品,应用于第一网络设备中,所述计算机程序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述第一网络设备的操作。

本申请实施例还提供了一种确定报文发送周期的系统,包括:上述第一网络设备。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 信息发送装置、信息发送系统、复合机、信息发送方法及信息发送程序
  • 信息发送装置、信息发送系统、复合机、信息发送方法及信息发送程序
  • 一种报文发送方法、装置、网络设备和计算机可读介质
  • 报文发送方法及装置
  • 一种测试汽车控制器局域网络报文发送周期的系统和方法
  • 报文优先级的确定、发送方法及装置、路由系统
技术分类

06120115602762