System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于通信,具体涉及一种报文数据发送方法、装置、数据交换设备及存储介质。
技术介绍
1、ieee802.1qbv引入定义了一种时间感知整形器(time aware shaper,tas),支持ieee802.1qbv协议的数据交换设备可以按照配置好的门控列表来打开/关闭数据交换设备的出口队列,从而为周期型的重要数据提供低延迟保障,其可以由cpu通过交换芯片dma发送网络数据。
2、cpu通过交换芯片dma发送网络数据时,可通过软件控制cpu向dma环形缓冲区(dmaring buffer)写入数据的速率,由智能网卡芯片将数据搬移到芯片内存以后,通过硬件控制报文从网口发送出去的速率。然而,采用这种发送方式,不能精确的控制报文发送时间,无法满足在时间敏感网络和时间触发以太网中的应用。
3、因此,如何提供一种有效的方案以精确控制报文发送时间,已成为现有技术中一亟待解决的难题。
技术实现思路
1、本专利技术的目的是提供一种报文数据发送方法、装置、数据交换设备及存储介质,用以解决现有技术中存在的上述问题。
2、为了实现上述目的,本专利技术采用以下技术方案:
3、第一方面,本专利技术提供了一种报文数据发送方法,应用于数据交换设备,包括:
4、读取各dma环形缓冲区中所记录的待发送报文数据的描述符;
5、将所有描述符所对应的待发送报文数据保存至多个队列寄存器;
6、如果多个队列寄存器中的所有待发送报文数据
7、基于上述公开的内容,本专利技术通过读取各dma环形缓冲区中所记录的待发送报文数据的描述符;将所有描述符所对应的待发送报文数据保存至多个队列寄存器;如果多个队列寄存器中的所有待发送报文数据中存在所对应描述符中包括发送时间戳,且发送时间戳所对应的时间不早于芯片时钟当前所记录时间的至少一个目标报文数据,则发送所述至少一个目标报文数据中所对应时间戳最早的一个目标报文数据。如此,在发送报文数据时,可根据报文数据所对应描述符中记录发送时间戳进行发送,从而能够精确控制报文发送时间,满足在时间敏感网络和时间触发以太网中的应用。
8、在一个可能的设计中,所述方法还包括:
9、如果多个队列寄存器中的所有待发送报文数据中不存在所对应描述符中包括发送时间戳,且发送时间戳所对应时间不早于芯片内存当前所记录时间的目标报文数据,则通过出口调度方法对所述队列寄存器中所对应描述符不包括发送时间戳的待发送报文数据进行发送。
10、在一个可能的设计中,在读取各dma环形缓冲区中所记录的待发送报文数据的描述符之后,所述方法还包括:
11、将各描述符所对应的待发送报文数据通过dma写入芯片内存中。
12、在一个可能的设计中,在读取各dma环形缓冲区中所记录的待发送报文数据的描述符之前,所述方法还包括:
13、将cpu与芯片进行时钟同步。
14、在一个可能的设计中,所述读取各dma环形缓冲区中所记录的待发送报文数据的描述符,包括:
15、通过dma引擎读取各dma环形缓冲区中所记录的待发送报文数据的描述符。
16、在一个可能的设计中,所述方法还包括:
17、判断队列寄存器中的队列是否满足流量整形的发送条件;
18、所述如果队列寄存器中的所有待发送报文数据中存在所对应描述符中包括发送时间戳,且发送时间戳所对应的时间不早于芯片内存当前所记录时间的目标报文数据,则发送所述目标报文数据,包括:
19、如果队列寄存器中的队列满足流量整形的发送条件、队列寄存器中的所有待发送报文数据中存在所对应描述符中包括发送时间戳,且发送时间戳所对应的时间不早于芯片内存当前所记录时间的目标报文数据,则发送所述目标报文数据。
20、在一个可能的设计中,在读取各dma环形缓冲区中所记录的待发送报文数据的描述符之前,所述方法还包括:
21、通过cpu将待发送报文数据存储至dma环形缓冲区所对应的内存地址中。
22、第二方面,本专利技术提供了一种报文数据发送装置,应用于数据交换设备,包括:
23、读取单元,用于读取各dma环形缓冲区中所记录的待发送报文数据的描述符;
24、保存单元,用于将所有描述符所对应的待发送报文数据保存至多个队列寄存器;
25、发送单元,用于如果多个队列寄存器中的所有待发送报文数据中存在所对应描述符中包括发送时间戳,且发送时间戳所对应的时间不早于芯片时钟当前所记录时间的至少一个目标报文数据,则发送所述至少一个目标报文数据中所对应时间戳最早的一个目标报文数据。
26、第三方面,本专利技术提供了一种数据交换设备,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如上述第一方面或第一方面任一可能设计所述的报文数据发送方法。
27、第四方面,本专利技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行第一方面或第一方面任一可能设计所述的报文数据发送方法。
28、第五方面,本专利技术提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面任一可能设计所述的报文数据发送方法。
29、有益效果:
30、本专利技术提供的报文数据发送方法、装置、数据交换设备及存储介质,通过读取各dma环形缓冲区中所记录的待发送报文数据的描述符;将所有描述符所对应的待发送报文数据保存至多个队列寄存器;如果多个队列寄存器中的所有待发送报文数据中存在所对应描述符中包括发送时间戳,且发送时间戳所对应的时间不早于芯片时钟当前所记录时间的至少一个目标报文数据,则发送所述至少一个目标报文数据中所对应时间戳最早的一个目标报文数据。如此,在发送报文数据时,可根据报文数据所对应描述符中记录发送时间戳进行发送,从而能够精确控制报文发送时间,满足在时间敏感网络和时间触发以太网中的应用,便于实际应用和推广。
本文档来自技高网...【技术保护点】
1.一种报文数据发送方法,应用于数据交换设备,其特征在于,包括:
2.根据权利要求1所述的报文数据发送方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的报文数据发送方法,其特征在于,在读取各DMA环形缓冲区中所记录的待发送报文数据的描述符之后,所述方法还包括:
4.根据权利要求1所述的报文数据发送方法,其特征在于,在读取各DMA环形缓冲区中所记录的待发送报文数据的描述符之前,所述方法还包括:
5.根据权利要求1所述的报文数据发送方法,其特征在于,所述读取各DMA环形缓冲区中所记录的待发送报文数据的描述符,包括:
6.根据权利要求1所述的报文数据发送方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的报文数据发送方法,其特征在于,在读取各DMA环形缓冲区中所记录的待发送报文数据的描述符之前,所述方法还包括:
8.一种报文数据发送装置,应用于数据交换设备,其特征在于,包括:
9.一种数据交换设备,其特征在于,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如权利要求1~7任意一项所述的报文数据发送方法。
...【技术特征摘要】
1.一种报文数据发送方法,应用于数据交换设备,其特征在于,包括:
2.根据权利要求1所述的报文数据发送方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的报文数据发送方法,其特征在于,在读取各dma环形缓冲区中所记录的待发送报文数据的描述符之后,所述方法还包括:
4.根据权利要求1所述的报文数据发送方法,其特征在于,在读取各dma环形缓冲区中所记录的待发送报文数据的描述符之前,所述方法还包括:
5.根据权利要求1所述的报文数据发送方法,其特征在于,所述读取各dma环形缓冲区中所记录的待发送报文数据的描述符,包括:
6.根据权利要求1所述的报文数据发送方法,其特征在于,所述...
【专利技术属性】
技术研发人员:鲁庆男,王义东,陆良宇,
申请(专利权)人:昆高新芯微电子江苏有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。