一种触发数据帧产生的装置和方法转让专利

申请号 : CN201310533471.4

文献号 : CN103560975B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨彦波王婷婷王爱国

申请人 : 烽火通信科技股份有限公司

摘要 :

一种触发数据帧产生的装置,涉及以数据帧或数据包为单位的通信网络,包括发送控制模块,以及与其分别连接的扫描定时模块、随机数产生模块和数据流ID缓存FIFO;扫描定时模块用于产生多种周期的扫描触发信号输入发送控制模块;发送控制模块产生数据流ID信号;随机数产生模块根据发送控制模块的扫描信号产生随机数,并输入到发送控制模块;数据流ID缓存FIFO连接发帧装置,用于将发送控制模块输出的数据流ID缓存并发送,去触发发帧装置;发送控制模块包括发帧控制数据库,其包含若干个条目,每个条目包含每条发送的数据流对应的控制信息。本发明可以同时支持多种发帧周期的多条数据流,资源的消耗较小,并且方便的添加随机延时。

权利要求 :

1.一种触发数据帧产生的装置,其特征在于:包括发送控制模块,以及与其分别连接的扫描定时模块、随机数产生模块和数据流ID缓存FIFO;所述扫描定时模块用于产生多种周期的扫描触发信号输入发送控制模块;发送控制模块产生数据流ID信号;所述发送控制模块还包括扫描控制模块,用于根据输入的扫描触发信号对发帧控制数据库进行扫描并将扫描时产生扫描信号输出到随机数产生模块;所述发送控制模块还包括扫描判断模块,用于对扫描到的条目进行判断和处理,处理后得到的数据流ID输出到数据流ID缓存FIFO中;所述随机数产生模块根据发送控制模块的扫描信号产生随机数,并输入到发送控制模块;所述数据流ID缓存FIFO连接发帧装置,用于将所述发送控制模块输出的数据流ID缓存并发送,去触发发帧装置;所述发送控制模块包括发帧控制数据库,其包含若干个条目,每个条目包含每条发送的数据流对应的控制信息。

2.如权利要求1所述的触发数据帧产生的装置,其特征在于:所述扫描控制模块同时触发多个独立的扫描过程,各扫描过程根据单个扫描触发信号或一组扫描触发信号触发,扫描控制模块设置各扫描过程的起点和终点,设置各扫描过程进行同步扫描或异步扫描,扫描控制模块在对发帧控制数据库进行扫描时产生扫描信号,并将每个扫描过程的扫描信号输出到随机数产生模块。

3.如权利要求1所述的触发数据帧产生的装置,其特征在于:所述控制信息包括数据流ID、扫描过程、固定扫描次数、随机扫描控制、随机数范围、固定扫描计数和随机扫描计数。

4.一种基于权利要求1所述装置的触发数据帧产生的方法,其特征在于,包括:初始化进行设置的步骤、对数据库进行扫描的步骤、扫描判断的步骤、以及数据流ID缓存过程;初始化进行设置,将需要发帧的数据流ID的控制信息存入发帧控制数据库;对数据库进行扫描,判断扫描触发信号是否有效,若有效,对发帧控制数据库启动扫描过程;扫描判断,若扫描过程、固定扫描计数均与预设置的一样,进一步判断是否随机扫描;数据流ID缓存,将发送控制模块输出的数据流ID按照先进先出方式进行缓存,触发发帧装置。

5.如权利要求4所述的触发数据帧产生的方法,其特征在于:所述初始化进行设置的步骤为:S101.根据随机延时需要的精度配置需要的扫描过程;根据随机延时的范围设置随机扫描控制;根据扫描过程选择和数据流发送固定延时共同设置固定扫描次数;固定扫描计数和随机扫描计数设置为0;

S102.将发送周期短的数据流对应的条目放在发帧控制数据库靠前的位置;

S103.设置各扫描过程的扫描起点和终点,设置对应的扫描触发信号,若设置扫描触发信号的周期不满足要求,修改扫描触发信号。

6.如权利要求4所述的触发数据帧产生的方法,其特征在于:所述对数据库进行扫描的步骤为:S201.判断扫描触发信号是否有效,扫描定时模块根据配置的周期产生扫描触发信号,当定时值等于配置周期时,扫描触发信号有效,否则无效;如果是扫描到终点后重新触发,只在扫描起点判断扫描信号是否有效,若有效,触发相应扫描过程;如果是根据扫描定时信号即刻触发,则只要对应的扫描触发信号有效,就从扫描起点重新扫描;

S202.对发帧控制数据库启动一次扫描过程,从扫描起点到扫描终点,或者扫描到触发信号再次有效时。

7.如权利要求6所述的触发数据帧产生的方法,其特征在于:若所述扫描过程的扫描设置完全相同,根据配置进行同步扫描或异步扫描,同步扫描时各扫描过程在同一时刻判断扫描触发信号是否有效,在同一时刻对同一条目进行扫描判断;异步扫描时,各扫描过程相互独立,互不影响。

8.如权利要求4所述的触发数据帧产生的方法,其特征在于:所述每个条目的扫描判断的步骤为:S301.判断扫描过程和预先设置的扫描过程选择是否一致,若是,进入S302;若否,结束;

S302.判断固定扫描计数是否等于固定扫描次数,若是,进入S304;若否,进入S303;

S303.固定扫描计数加1,结束;

S304.设定固定扫描计数为0;

S305.判断是否需要随机扫描,若是,进入S307;若否,进入S306;

S306.将数据流ID输出到数据流ID缓存FIFO,并设置固定扫描计数为0,结束;

S307.判断固定扫描计数是否等于0,若是,进入S309;若否,进入S308;

S308.设定随机扫描计数为扫描过程对应的随机数,设置到随机扫描计数中,结束;

S309.判断随机扫描计数是否等于1,若是,进入S311;若否,进入S310;

S310.随机扫描计数减1,结束;

S311.将数据流ID输出到数据流ID缓存FIFO,并设置随机扫描计数为0,结束。

说明书 :

一种触发数据帧产生的装置和方法

技术领域

[0001] 本发明涉及以数据帧或数据包为单位的通信网络,具体来讲是一种触发数据帧产生的装置和方法。

背景技术

[0002] 在以数据帧或数据包为单位的通信网络中(包括IP通信网、以太网等)常常需要定时发送一些帧,来完成某些特定功能。这些帧包括各种心跳帧、以太网OAM(操作、管理、维护)帧、MPLS TP(多协议标签交换传送网方面)的OAM帧、各种类型的BFD(双向检测机制)帧等。这些帧的发送周期不尽相同;例如:以太网OAM帧和MPLS TP的OAM帧定义了7种周期,从32
3.3毫秒到10分钟;BFD功能中定义的发帧周期更宽泛,以微秒为单位,可以从1微秒到2 微秒(约67分钟),且为了避免不同系统间发帧的同步,需要基于每个帧有随机延时。
[0003] 在目前的通信网中,通信设备大多需同时支持以太网OAM、MPLS TP OAM、BFD功能,且需同时支持多条数据流,每条数据流可能需要支持不同的发帧周期,并且BFD数据帧还要支持随机延时。因此如何触发产生这些数据帧就变的很关键。
[0004] 现有机制中大多采用逐条触发数据流的方式,或按照周期分组触发的方式。
[0005] 采用逐条触发方式是针对每条数据流设定发帧周期,每条数据流按照各自设定的周期请求发送数据流。因为每条数据流的发送周期不同,所以不可避免的存在多个数据流同时请求发帧的情况。出现多条数据流同时请求的情况时,需要对这些发帧请求进行排队处理。当数据流的规模变大时,资源的消耗会很大。
[0006] 按周期分组触发的机制,是将相同发帧周期的数据流分成一个组,对这同一组内的数据流,按照一个周期触发数据流。这种方式适用于发送周期比较少的情况,且这种方式添加随机延时比较困难,添加随机延时还后,需要重新请求触发数据流。

发明内容

[0007] 针对现有技术中存在的缺陷,本发明的目的在于提供一种触发数据帧产生的装置和方法,可以同时支持多种发帧周期的多条数据流,资源的消耗较小,并且方便的添加随机延时,添加完随机延时后,通过FIFO(First Input First Output,先入先出队列)将触发发帧信息缓存并触发发帧即可。
[0008] 为达到以上目的,本发明提供一种触发数据帧产生的装置,包括发送控制模块,以及与其分别连接的扫描定时模块、随机数产生模块和数据流ID缓存FIFO;所述扫描定时模块用于产生多种周期的扫描触发信号输入发送控制模块;发送控制模块产生数据流ID信号;所述随机数产生模块根据发送控制模块的扫描信号产生随机数,并输入到发送控制模块;所述数据流ID缓存FIFO连接发帧装置,用于将所述发送控制模块输出的数据流ID缓存并发送,去触发发帧装置;所述发送控制模块包括发帧控制数据库,其包含若干个条目,每个条目包含每条发送的数据流对应的控制信息。
[0009] 在上述技术方案的基础上,所述发送控制模块还包括扫描控制模块,用于根据输入的扫描触发信号对发帧控制数据库进行扫描。
[0010] 在上述技术方案的基础上,所述扫描控制模块同时触发多个独立的扫描过程,各扫描过程根据单个扫描触发信号或一组扫描触发信号触发,扫描控制模块设置各扫描过程的起点和终点,设置各扫描过程进行同步扫描或异步扫描,扫描控制模块在对发帧控制数据库进行扫描时产生扫描信号,并将每个扫描过程的扫描信号输出到随机数产生模块。
[0011] 在上述技术方案的基础上,所述发送控制模块还包括扫描判断模块,用于对扫描到的条目进行判断和处理,处理后得到的数据流ID输出到数据流ID缓存FIFO中。
[0012] 在上述技术方案的基础上,所述控制信息包括数据流ID、扫描过程、固定扫描次数、随机扫描控制、随机数范围、固定扫描计数和随机扫描计数。
[0013] 本发明还提供一种触发数据帧产生的方法,包括:初始化进行设置的步骤、对数据库进行扫描的步骤、扫描判断的步骤、以及数据流ID缓存过程;初始化进行设置,将需要发帧的数据流ID的控制信息存入发帧控制数据库;对数据库进行扫描,判断扫描触发信号是否有效,若有效,对发帧控制数据库启动扫描过程;扫描判断,若扫描过程、固定扫描计数均与预设置的一样,进一步判断是否随机扫描;数据流ID缓存,将发送控制模块输出的数据流ID按照先进先出方式进行缓存,触发发帧装置。
[0014] 在上述技术方案的基础上,所述初始化进行设置的步骤为:S101.根据随机延时需要的精度配置需要的扫描过程;根据随机延时的范围设置随机扫描控制;根据扫描过程选择和数据流发送固定延时共同设置固定扫描次数;固定扫描计数和随机扫描计数设置为0;S102.将发送周期短的数据流对应的条目放在发帧控制数据库靠前的位置;S103.设置各扫描过程的扫描起点和终点,设置对应的扫描触发信号,若设置扫描触发信号的周期不满足要求,修改扫描触发信号。
[0015] 在上述技术方案的基础上,所述对数据库进行扫描的步骤为:S201.判断扫描触发信号是否有效,扫描定时模块根据配置的周期产生扫描触发信号,当定时值等于配置周期时,扫描触发信号有效,否则无效;如果是扫描到终点后重新触发,只在扫描起点判断扫描信号是否有效,若有效,触发相应扫描过程;如果是根据扫描定时信号即刻触发,则只要对应的扫描触发信号有效,就从扫描起点重新扫描;S202.对发帧控制数据库启动一次扫描过程,从扫描起点到扫描终点,或者扫描到触发信号再次有效时。
[0016] 在上述技术方案的基础上,若所述扫描过程的扫描设置完全相同,根据配置进行同步扫描或异步扫描,同步扫描时各扫描过程在同一时刻判断扫描触发信号是否有效,在同一时刻对同一条目进行扫描判断;异步扫描时,各扫描过程相互独立,互不影响。
[0017] 在上述技术方案的基础上,所述每个条目的扫描判断的步骤为:S301.判断扫描过程和预先设置的扫描过程选择是否一致,若是,进入S302;若否,结束;S302.判断固定扫描计数是否等于固定扫描次数,若是,进入S304;若否,进入S303;S303.固定扫描计数加1,结束;S304.设定固定扫描计数为0;S305.判断是否需要随机扫描,若是,进入S307;若否,进入S306;S306.将数据流ID输出到数据流ID缓存FIFO,并设置固定扫描计数为0,结束。S307.判断固定扫描计数是否等于0,若是,进入S309;若否,进入S308;S308.设定随机扫描计数为扫描过程对应的随机数,设置到随机扫描计数中,结束;S309.判断随机扫描计数是否等于1,若是,进入S311;若否,进入S310;S310.随机扫描计数减1,结束;S311.将数据流ID输出到数据流ID缓存FIFO,并设置随机扫描计数为0,结束。
[0018] 本发明的有益效果在于:
[0019] 本技术方案采用了多个扫描过程,这些扫描过程可独立启动,每个扫描过程可对应独立的扫描周期,在扫描时每个扫描过程逐条扫描多个发帧数据库条目,这样可以同时支持多种发帧周期的多条数据流。
[0020] 在每个发帧数据库条目中有添加随机延时的控制,可以控制添加或不添加随机延时;添加随机延时,根据随机扫描控制信息进行随机扫描过程;当每个条目对应的所有扫描结束后通过FIFO将触发发帧信息缓存并触发发帧。

附图说明

[0021] 图1为本发明触发数据帧产生的装置示意图;
[0022] 图2为本发明的数据流发送控制数据库的表项结构图;
[0023] 图3为扫描判断的流程图;
[0024] 图4为本发明实施例的扫描过程示意图。
[0025] 附图标记:
[0026] 扫描定时模块1;发送控制模块2,扫描控制模块21、发帧控制数据库22、扫描判断模块23;随机数产生模块3;数据流ID缓存FIFO4。

具体实施方式

[0027] 以下结合附图及实施例对本发明作进一步详细说明。
[0028] 如图1所示,本发明触发数据帧产生的装置包括发送控制模块2,以及与发送控制模块2分别连接的扫描定时模块1、随机数产生模块3和数据流ID缓存FIFO4。所述扫描定时模块1可产生多种周期的扫描触发信号(扫描触发信号1…扫描触发信号n),输入给数据流的发送控制模块2,这些扫描触发信号的周期可根据配置得到,扫描触发信号是脉冲信号。
[0029] 发送控制模块2是整个装置的核心,它控制产生数据流发送数据流ID,发送控制模块2包含扫描控制模块21、发帧控制数据库22和扫描判断模块23。扫描控制模块21根据输入的扫描触发信号,对发帧控制数据库22进行扫描。扫描控制模块21可以同时触发多个独立的扫描过程,各扫描过程可根据单个扫描触发信号触发,也可以根据一组扫描触发信号触发;可以设置各扫描过程的起点和终点,设置各扫描过程是扫描到终点后重新触发,还是根据扫描触发信号即刻触发。设置完全相同的扫描过程,可根据配置进行同步扫描或异步扫描;设置不完全相同的扫描过程,可以进行异步扫描。扫描控制模块在对发帧控制数据库22进行扫描时产生扫描信号,将每个扫描过程的扫描信号输出到随机数产生模块3。
[0030] 如图2所示,发帧控制数据库22中包含若干个条目(条目1,条目2…条目n),每个条目包含每条发送流对应的控制信息。所述控制信号即条目结构,包括:
[0031] 数据流ID:发帧数据流标识。
[0032] 扫描过程选择:表示哪个扫描过程对此条目起作用,只有起作用的扫描过程才进行判断。
[0033] 固定扫描次数:表示对条目进行多少次扫描后进行随机扫描(随机扫描是用于添加随机延时的)。
[0034] 随机扫描控制:表示是否进行随机扫描。
[0035] 随机数范围:表示随机扫描时如何选取随机数。
[0036] 固定扫描计数:表示已经进行了多少次固定扫描。
[0037] 随机扫描计数:表示还需要进行多少次扫描才能触发发帧。
[0038] 扫描判断模块23是对扫描到的条目进行判断和处理。包括执行扫描周期判断,执行固定扫描,当达到固定延时的扫描次数后,根据扫描过程选择随机数,进行随机扫描,达到随机延时的扫描次数后,将数据流ID输出到数据流ID缓存FIFO4中。
[0039] 随机数产生模块3根据扫描信号产生随机数。根据每个扫描信号产生对应的随机数,产生的随机数值大于或等于“随机扫描控制”中的设置,产生的随机数输入到发送控制模块2。数据流ID缓存FIFO4将发送控制模块2输出的数据流ID缓存,然后去触发发帧装置。
[0040] 本发明触发数据帧产生的方法,包括初始化进行设置的步骤、对数据库进行扫描的步骤、扫描判断的步骤、以及数据流ID缓存过程;初始化进行设置,将需要发帧的数据流ID的控制信息存入发帧控制数据库;对数据库进行扫描,判断扫描触发信号是否有效,若有效,对发帧控制数据库启动扫描过程;扫描判断,若扫描过程、固定扫描计数均与预设置的一样,进一步判断是否随机扫描;数据流ID缓存,将发送控制模块输出的数据流ID按照先进先出方式进行缓存,触发发帧装置。
[0041] 所述初始化进行设置的步骤为:
[0042] S101.将需要发帧的数据流ID存入发帧控制数据库22。扫描控制模块21根据随机延时需要的精度设置“扫描过程”,根据随机延时的范围设置“随机扫描控制”;根据“扫描过程选择”和数据流发送固定延时共同设置“固定扫描次数”;“固定扫描计数”和“随机扫描计数”设置为0。
[0043] S102.将发送周期短的数据流对应的条目放在发帧控制数据库22靠前的位置;用来保证这些数据流控制信息肯定能扫描到。
[0044] S103.扫描控制模块21设置各扫描过程的扫描起点和终点;设置是扫描到终点后重新触发,还是根据扫描定时信号即刻触发。设置对应的扫描触发信号,如果设置的扫描触发信号的周期不符合期望的,也就是设置扫描触发信号的周期不满足要求,例如某扫描过程需5毫秒触发一次,而设置的扫描触发信号是每10毫秒触发一次,则修改扫描定时模块1的定时器,产生需要的扫描触发信号。
[0045] 所述对数据库进行扫描的步骤为:
[0046] S201.首先判断扫描触发信号是否有效,扫描定时模块根据配置的周期产生扫描触发信号,当定时值等于配置周期时,扫描触发信号有效,否则无效。如果是扫描到终点后重新触发,则只在扫描起点判断扫描信号是否有效,在其它点不进行判断;若有效,触发相应扫描过程。如果是根据扫描定时信号即刻触发,则只要对应的扫描触发信号有效,就从扫描起点重新扫描。
[0047] S202.触发相应的扫描过程后,对发帧控制数据库启动一次扫描过程,从扫描起点到扫描终点,或者扫描到触发信号再次有效时。对于扫描设置完全相同的“扫描过程”,可根据配置进行同步扫描或异步扫描,同步扫描时各过程在同一时刻判断扫描触发信号是否有效,在同一时刻对同一条目进行扫描判断;异步扫描时,各扫描过程相互独立,互不影响。
[0048] 扫描判断的步骤针对每个条目均进行扫描判断,如图3所示,每个条目的扫描判断的步骤为:
[0049] S301.判断扫描过程和预先设置的扫描过程选择是否一致,若是,进入S302;若否,结束;
[0050] S302.判断固定扫描计数是否等于固定扫描次数,若是,进入S304;若否,进入S303;
[0051] S303.固定扫描计数加1,结束;
[0052] S304.设定固定扫描计数为0;
[0053] S305.判断是否需要随机扫描,若是,进入S307;若否,进入S306;
[0054] S306.将数据流ID输出到数据流ID缓存FIFO,并设置固定扫描计数为0,结束。
[0055] S307.判断固定扫描计数是否等于0,若是,进入S309;若否,进入S308;
[0056] S308.设定随机扫描计数为扫描过程对应的随机数,设置到随机扫描计数中,结束;
[0057] S309.判断随机扫描计数是否等于1,若是,进入S311;若否,进入S310;
[0058] S310.随机扫描计数减1,结束;
[0059] S311.将数据流ID输出到数据流ID缓存FIFO,并设置随机扫描计数为0,结束。
[0060] 所述数据流ID缓存过程,是将发送控制模块2输出的数据流ID按照先进先出方式进行缓存,并输出去触发发帧。
[0061] 如图4所示,通过一个具体实施例来详细说明本发明。
[0062] S1.设置扫描定时模块按照1微秒、10微秒、100微秒、1毫秒、10毫秒、1秒为周期,产生扫描触发信号1-6。设定扫描过程1的扫描起点为1,终点为5,即时触发。
[0063] S2.设置5条数据流按照1微秒为周期发帧,且不带随机延时,数据流ID分别为1-5。将这5条数据流设置在条目1-5中,设置“扫描过程选择”为1,“固定扫描次数”为‘1’,不进行随机扫描,其它都为0。
[0064] S3.设置10条数据流按照10微秒为周期发帧,且不带随机延时,数据流ID分别为6-15。将这5条数据流设置在条目6-15中,设置“扫描过程选择”为2,“固定扫描次数”为‘1’,不进行随机扫描,其它都为0。
[0065] S4.设置50条数据流按照100微秒为周期发帧,带随机延时,数据流ID分别为16-65。将这些数据流设置在条目16-65中,设置“扫描过程选择”为1,“固定扫描次数”为‘75’,进行随机扫描,随机数选择范围为25,其它都为0。随机数选择采用随机数除以25,然后取余数。
[0066] S5.设置100条数据流按照1秒为周期发帧,带随机延时,数据流ID分别为66-165。将这些数据流设置在条目66-165中,设置“扫描过程选择”为5,“固定扫描次数”为‘75’,进行随机扫描,随机数选择范围为15,其它都为0。随机数选择采用随机数除以15,然后取余数。
[0067] S6.设置扫描过程1根据1微秒触发信号触发,起点为1,终点为65,即时触发。
[0068] S7.设置扫描过程2根据10微秒触发信号触发,起点为1,终点为15,一次扫描完后重新触发。
[0069] S8.设置扫描过程5根据10毫秒触发信号触发,起点为16,终点为300,即时触发。
[0070] 本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。