CN111147184A - 支持多业务抢占续传的以太网发送、接收设备及传输装置 - Google Patents
支持多业务抢占续传的以太网发送、接收设备及传输装置 Download PDFInfo
- Publication number
- CN111147184A CN111147184A CN201911336485.0A CN201911336485A CN111147184A CN 111147184 A CN111147184 A CN 111147184A CN 201911336485 A CN201911336485 A CN 201911336485A CN 111147184 A CN111147184 A CN 111147184A
- Authority
- CN
- China
- Prior art keywords
- data frame
- sent
- current
- frame
- executing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种支持多业务抢占续传的以太网发送、接收设备及装置,首先更改了ET数据帧的格式,从而使得ET数据帧能够进行拆分多次发送;其次提供了优先级抢占调度器对ET数据帧以及TT数据帧进行调度,使得TT数据帧能够抢占ET数据帧的物理链路,最后提供了ET数据帧的重组方法,使得接收设备能够接收到完整的ET数据帧,本发明提供的以太网发送、接收设备及装置,多业务(TT和ET)混合传输的前提下,保证了TT数据帧实时传输,被抢占的ET数据帧从抢占处续传和重组,不浪费传输带宽。
Description
技术领域
本发明涉及以太网数据传输装置,具体涉及一种支持多业务抢占续传的以太网发送、接收设备及装置。
背景技术
以太网拥有通信速率高、成本低、实现简单等优点,有着广泛的商业支持,在科研、医疗、金融、工业等方面都有着广泛的应用。随着科学技术的发展,航空、航天和工业自动化等领域对通信网络的实时性要求越来越高。
传统以太网只支持数据帧非实时传输,在时间触发数据帧(Time Triggered,TT)和事件触发数据帧(Event Triggered,ET)混合传输时,实时数据帧(时间触发数据帧)和非实时数据帧(事件触发数据帧)在同一链路传输时,可能会出现非实时数据帧先占用了传输链路,导致实时数据帧需要等待非实时数据帧传输完成后再利用传输链路进行数据传输,因此实时数据帧的传输往往因非实时数据帧的传输占用传输链路而失去了实时性。
发明内容
本发明的目的在于提供一种支持多业务抢占续传的以太网数据发送、接收设备及系统,用以解决现有技术中以太网数据传输存在的实时数据帧无法实时传输的问题。
为了实现上述任务,本发明采用以下技术方案:
一种支持多业务抢占续传的以太网发送设备,用于将待发送数据帧发送给以太网接收设备,所述的以太网发送设备中存储有第一程序,所述的第一程序被处理器执行时实现以下步骤:
步骤1、获得当前待发送的数据帧,所述的数据帧为TT数据帧或ET数据帧;
若当前待发送的数据帧为TT数据帧时,在所述的当前待发送数据帧前端依次加入前导码字段以及第一定界符字段后,在当前待发送数据帧尾端加入FCS字段,获得当前待发送的TT数据帧;
若当前待发送的数据帧为ET数据帧时,在所述的当前待发送数据帧前端依次加入前导码字段以及第二定界符字段后,在所述的当前待发送数据帧尾端加入FCS字段,获得当前待发送的ET数据帧;
步骤2、判断当前是否存在待发送的TT数据帧,若存在则执行步骤2.1发送所述的待发送的TT数据帧;否则执行步骤2.2发送所述的待发送的ET数据帧或待发送中断ET帧;
步骤2.1、判断当前是否有数据帧正在发送:
若当前没有数据帧正在发送,则直接开始发送所述的待发送的TT数据帧后,执行步骤3;
若当前有TT数据帧正在发送,则等待当前的TT数据帧发送完成后,开始发送所述的待发送的TT数据帧后,执行步骤3;
若当前有ET数据帧正在发送,所述的当前ET数据帧包括已发送字节以及未发送字节,所述的未发送字节为当前ET数据帧中除已发送字节以外的所有字节;
判断当前正在发送的ET数据帧中已发送的字节数量以及未发送的字节数量是否大于等于字节阈值:
若已发送的字节数量大于等于字节阈值且未发送的字节数量大于等于字节阈值,则立即暂停发送当前ET数据帧后开始发送所述的待发送的TT帧,同时在未发送字节前依次加入前导码字段以及第三定界符字段,获得待发送中断ET帧后执行步骤3;
否则返回步骤2.1;
步骤2.2、判断当前是否有数据帧正在发送:
若当前没有数据帧正在发送,则直接开始发送所述的待发送的ET数据帧后,执行步骤3;
若当前有ET数据帧正在发送,则等待当前ET数据帧发送完成后再开始发送所述的待发送的ET数据帧后,执行步骤3;
若当前有TT数据帧正在发送,则等待当前所有TT数据帧发送完成后再开始发送所述的待发送的ET数据帧后,执行步骤3;
步骤3、判断是否所有的待发送数据帧均已发送,若是,则结束;否则判断当前是否有待发送中断ET帧,若有,则将所述的待发送中断ET帧输入至步骤2后,返回步骤1仅获得当前待发送的TT数据帧,若返回步骤1时无法获得当前待发送的TT数据帧则直接执行步骤2;否则直接返回步骤1。
进一步地,所述的字节阈值为64。
一种支持多业务抢占续传的以太网数据接收设备,用于接收以太网发送设备发来的数据帧,所述的以太网数据接收设备中存储有第二计算机程序,所述的第二计算机程序被处理器执行时实现以下步骤:
步骤A、获得当前数据帧,根据所述的当前数据帧中定界符位置的字段将判断当前数据帧为TT数据帧或ET数据帧;
若当前数据帧为TT数据帧,则执行步骤B,若当前数据帧为ET数据帧,则执行步骤C;
步骤B、对当前数据帧进行FCS校验,若校验通过,则接收当前数据帧;否则丢弃当前数据帧;
步骤C、判断当前数据帧中定位符位置的字段:
若为第二定界符字段,则将当前数据帧作为ET首帧存入重组空间后执行步骤D,所述的重组空间用于将依次存入其中的数据帧进行尾首拼接获得新的数据帧,其中首次执行步骤C时所述的重组空间为空;
若为第三定界符字段,则将当前数据帧的前导码字段以及第三定界符字段删除后作为ET子帧存入重组空间后,执行步骤E;
步骤D、判断当前重组空间中是否存在两个ET首帧,若存在则将第二个ET首帧之前的所有数据帧从当前重组空间删除后执行步骤E;否则直接执行步骤E;
步骤E、对所述的重组空间中新的数据帧计算FCS值,获得计算FCS值;
判断所述的计算FCS值与本次执行步骤C存入所述重组空间中的ET子帧末尾多个字节的值是否相同,若相同,则将所述的重组空间中的新的数据帧作为ET数据帧接收后,清空所述的重组空间,执行步骤F;否则直接执行步骤F;
步骤F、判断当前数据帧是否为接收的最后一帧数据帧,若是,则结束,否则返回步骤A。
一种支持多业务抢占续传的以太网传输装置,包括以太网发送设备以及以太网接收设备,所述的以太网发送设备中存储有第一程序,所述的第一程序被处理器执行时实现以下步骤:
步骤1、获得当前待发送的数据帧,所述的数据帧为TT数据帧或ET数据帧;
若当前待发送的数据帧为TT数据帧时,在所述的当前待发送数据帧前端依次加入前导码字段以及第一定界符字段后,在当前待发送数据帧尾端加入FCS字段,获得当前待发送的TT数据帧;
若当前待发送的数据帧为ET数据帧时,在所述的当前待发送数据帧前端依次加入前导码字段以及第二定界符字段后,在所述的当前待发送数据帧尾端加入FCS字段,获得当前待发送的ET数据帧;
步骤2、判断当前是否存在待发送的TT数据帧,若存在则执行步骤2.1发送所述的待发送的TT数据帧;否则执行步骤2.2发送所述的待发送的ET数据帧或待发送中断ET帧;
步骤2.1、判断当前是否有数据帧正在发送:
若当前没有数据帧正在发送,则直接开始发送所述的待发送的TT数据帧后,执行步骤3;
若当前有TT数据帧正在发送,则等待当前的TT数据帧发送完成后,开始发送所述的待发送的TT数据帧后,执行步骤3;
若当前有ET数据帧正在发送,所述的当前ET数据帧包括已发送字节以及未发送字节,所述的未发送字节为当前ET数据帧中除已发送字节以外的所有字节;
判断当前正在发送的ET数据帧中已发送的字节数量以及未发送的字节数量是否大于等于字节阈值:
若已发送的字节数量大于等于字节阈值且未发送的字节数量大于等于字节阈值,则立即暂停发送当前ET数据帧后开始发送所述的待发送的TT帧,同时在未发送字节前依次加入前导码字段以及第三定界符字段,获得待发送中断ET帧后执行步骤3;
否则返回步骤2.1;
步骤2.2、判断当前是否有数据帧正在发送:
若当前没有数据帧正在发送,则直接开始发送所述的待发送的ET数据帧后,执行步骤3;
若当前有ET数据帧正在发送,则等待当前ET数据帧发送完成后再开始发送所述的待发送的ET数据帧后,执行步骤3;
若当前有TT数据帧正在发送,则等待当前所有TT数据帧发送完成后再开始发送所述的待发送的ET数据帧后,执行步骤3;
步骤3、判断是否所有的待发送数据帧均已发送,若是,则结束;否则判断当前是否有待发送中断ET帧,若有,则将所述的待发送中断ET帧输入至步骤2后,返回步骤1仅获得当前待发送的TT数据帧,若返回步骤1时无法获得当前待发送的TT数据帧则直接执行步骤2;否则直接返回步骤1;
所述的以太网数据接收设备中存储有第二计算机程序,所述的第二计算机程序被处理器执行时实现以下步骤:
步骤A、获得当前数据帧,根据所述的当前数据帧中定界符位置的字段将判断当前数据帧为TT数据帧或ET数据帧;
若当前数据帧为TT数据帧,则执行步骤B,若当前数据帧为ET数据帧,则执行步骤C;
步骤B、对当前数据帧进行FCS校验,若校验通过,则接收当前数据帧;否则丢弃当前数据帧;
步骤C、判断当前数据帧中定位符位置的字段:
若为第二定界符字段,则将当前数据帧作为ET首帧存入重组空间后执行步骤D,所述的重组空间用于将依次存入其中的数据帧进行尾首拼接获得新的数据帧,其中首次执行步骤C时所述的重组空间为空;
若为第三定界符字段,则将当前数据帧的前导码字段以及第三定界符字段删除后作为ET子帧存入重组空间后,执行步骤E;
步骤D、判断当前重组空间中是否存在两个ET首帧,若存在则将第二个ET首帧之前的所有数据帧从当前重组空间删除后执行步骤E;否则直接执行步骤E;
步骤E、对所述的重组空间中新的数据帧计算FCS值,获得计算FCS值;
判断所述的计算FCS值与本次执行步骤C存入所述重组空间中的ET子帧末尾多个字节的值是否相同,若相同,则将所述的重组空间中的新的数据帧作为ET数据帧接收后,清空所述的重组空间,执行步骤F;否则直接执行步骤F;
步骤F、判断当前数据帧是否为接收的最后一帧数据帧,若是,则结束,否则返回步骤A。
进一步地,所述的字节阈值为64。
本发明与现有技术相比具有以下技术效果:
1、本发明提供的支持多业务抢占续传的以太网发送设备通过修改了现有的以太网调度流程,使得TT数据帧可以在ET数据帧正在发送的情况下抢占物理链路,并且设计了新的ET数据帧格式,将ET数据帧进行拆分后,根据TT数据帧达到时间分次发送,TT数据帧无需等待ET数据帧发送完成后再进行发送,从而使得TT数据帧能够尽快的占用物理链路进行发送,这种抢占续传的方法保证了TT数据帧发送的实时性,并且不浪费传输带宽;
2、本发明提供的支持多业务抢占续传的以太网接收设备利用定界符判断TT数据帧以及ET数据帧,并利用定界符判断ET数据帧的首帧以及非首帧,在重组空间中对ET首帧以及ET子帧进行拼接,通过FCS校验判别ET子帧是ET中间帧还是ET尾帧,并且增加了判断重组空间中是否存在两个ET首帧的条件以及FCS校验,保证能够接收到完整的数据帧,提高了数据帧接收的可靠性;
3、本发明提供的支持多业务抢占续传的以太网传输装置结合了以上发送设备以及接收设备的优点,并且采用全双工模式,能够同时收发数据,进一步地提高了数据发送的实时性。
附图说明
图1为本发明提供的支持多业务抢占续传的以太网数据传输流程示意图;
图2为本发明的一个实施例中提供的TT数据帧格式示意图;
图3为本发明的一个实施例中提供的完整的ET数据帧格式示意图;
图4为本发明的一个实施例中提供的TT数据帧抢占物理链路示意图;
图5为本发明的一个实施例中提供的ET首帧格式示意图;
图6为本发明的一个实施例中提供的ET中间帧格式示意图;
图7为本发明的一个实施例中提供的ET尾帧格式示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细说明。以便本领域的技术人员更好的理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
在本发明中出现的处理器包括但不限于MCU、FPGA、DSP等各种微处理器,也可以是计算机处理器等。
以下对本发明涉及的定义或概念内涵做以说明:
TT数据帧:(Time Triggered,TT)时间触发数据帧;
ET数据帧:(Event Triggered,ET)事件触发数据帧;
FCS:帧校验序列码FCS(Frame Check Sequences),为提高通信的可靠性设置的,在本发明的实施例中FCS为4个字节。
在本发明中提供了一种新的以太网数据传输流程,如图1所示,数据发送端首先将TT数据帧和ET数据帧经过预处理。然后抢占调度器根据调度规则,对两种数据帧进行调度发送到物理链路上。数据接收端首先将接收到的TT数据帧和ET数据帧进行分流,TT数据帧进行TT数据帧接收处理,ET帧通过ET数据帧重组控制器进行数据重组。
实施例一
在本实施例中公开了一种支持多业务抢占续传的以太网发送设备,用于将待发送数据帧发送给以太网接收设备。
以太网发送设备中存储有第一程序,第一程序被处理器执行时实现以下步骤:步骤1、获得当前待发送的数据帧,数据帧为TT数据帧或ET数据帧;
若当前待发送的数据帧为TT数据帧时,在当前待发送数据帧前端依次加入前导码字段以及第一定界符字段后,在当前待发送数据帧尾端加入FCS字段,获得当前待发送的TT数据帧;
若当前待发送的数据帧为ET数据帧时,在当前待发送数据帧前端依次加入前导码字段以及第二定界符字段后,在当前待发送数据帧尾端加入FCS字段,获得当前待发送的ET数据帧;
在本步骤中,将用户的数据帧分为TT数据帧和ET数据帧两类,根据数据帧的类型对数据帧进行预处理,预处理是在以太网标准帧格式的基础上进行修改。具体地,如图2所示,TT数据帧采用IEEE 802.3标准中定义的标准帧格式,其中前导码为7个字节,第一定界符为1个字节,目的地址以及原地址均为6个字节,帧类型/长度为2个字节,payload(用户真实待传数据)为46-1500个字节,FCS为4个字节。
如图3所示,ET数据帧采用采用第二定界符替换IEEE 802.3标准中定义的第一定界符(0xD5),其他字段和IEEE 802.3标准中定义的标准帧格式相同。
步骤2、判断当前是否存在待发送的TT数据帧,若存在则执行步骤2.1发送所述的待发送的TT数据帧;否则执行步骤2.2发送待发送的ET数据帧或待发送中断ET帧;
步骤2.1、判断当前是否有数据帧正在发送:
若当前没有数据帧正在发送,则直接开始发送所述的待发送的TT数据帧后,执行步骤3;
若当前有TT数据帧正在发送,则等待当前的TT数据帧发送完成后,开始发送所述的待发送的TT数据帧后,执行步骤3;
若当前有ET数据帧正在发送,所述的当前ET数据帧包括已发送字节以及未发送字节,所述的未发送字节为当前ET数据帧中除已发送字节以外的所有字节;判断当前正在发送的ET数据帧中已发送的字节数量以及未发送的字节数量是否大于等于字节阈值:
若已发送的字节数量大于等于字节阈值且未发送的字节数量大于等于字节阈值,则立即暂停发送当前ET数据帧后开始发送所述的待发送的TT帧,同时在未发送字节前依次加入前导码字段以及第三定界符字段,获得待发送中断ET帧后执行步骤3;
否则返回步骤2.1;
步骤2.2、判断当前是否有数据帧正在发送:
若当前没有数据帧正在发送,则直接开始发送所述的待发送的ET数据帧后,执行步骤3;
若当前有ET数据帧正在发送,则等待当前ET数据帧发送完成后再开始发送所述的待发送的ET数据帧后,执行步骤3;
若当前有TT数据帧正在发送,则等待当前所有TT数据帧发送完成后再开始发送所述的待发送的ET数据帧后,执行步骤3;
步骤3、判断是否所有的待发送数据帧均已发送,若是,则结束;否则判断当前是否有待发送中断ET帧,若有,则将所述的待发送中断ET帧输入至步骤2后,返回步骤1仅获得当前待发送的TT数据帧,若返回步骤1时无法获得当前待发送的TT数据帧则直接执行步骤2;否则直接返回步骤1。
在本实施例中,步骤2实际上是由图1中的抢占调度器进行调度实现数据的发送,其中TT数据帧的优先级高于ET数据帧的优先级,也就是说,按照TT数据帧抢占ET数据帧的策略进行调度,其规则如下:
若当前仅有ET数据帧发送,则发送ET数据帧;
若当前仅有TT数据帧发送,则发送TT数据帧;
若当前TT数据帧正在发送,ET数据帧等待无TT数据帧发送时进行发送;
若当前ET数据帧正在发送,且TT数据帧待发送,如图3所示。则在满足当前已发送ET数据帧长度大于等于字节阈值且待发送的ET数据帧剩余长度大于等于字节阈值的条件下进行抢占,发送TT数据帧;待TT数据帧发送完成后,恢复ET数据帧的发送。
可选地,字节阈值为64。
在本实施例中,64字节的设定是为了满足以太网最小帧长度64的要求。
本实施例中提供的数据发送流程具体可以解释为:
如果当前待发送的数据帧为ET数据帧:
那么这个待发送的数据帧的优先级是低于TT数据帧的,因此当图1中的物理链路上没有任何数据帧正在发送时,ET数据帧可以直接占用该物理链路进行发送;当图1中的物理链路上有ET数据帧正在发送的时候,当前待发送的数据帧需要排队等待,等待正在发送的ET数据帧发送完成后,再开始发送;
若当前有TT数据帧正在发送,则等待当前所有TT数据帧发送完成后再开始发送待发送的ET数据帧,具体是指,当图1中的物理链路上有TT数据帧正在发送的时候,当前待发送的数据帧需要排队等待,等待正在发送的TT数据帧以及排队等待的TT数据帧均发送完成后,再开始发送,也就是说,所有TT数据帧包括了正在发送的TT数据帧以及等待发送的TT数据帧。
如果当前待发送的数据帧为TT数据帧:
那么这个待发送的数据帧的优先级是高于ET数据帧的,因此当图1中的物理链路上没有任何数据帧正在发送时,当前待发送的数据帧(TT数据帧)可以直接占用该物理链路进行发送;
当图1中的物理链路上有TT数据帧正在发送时,当前待发送的数据帧也是TT数据帧,因此根据先到先发的原则,等待占用了物理链路的TT数据帧发送完成后,再接着发送当前待发送的数据帧(TT数据帧)。
当图1中的物理链路上有ET数据帧正在发送时,当前待发送的数据帧是TT数据帧,其优先级高于正在发送的ET数据帧,如图4所示,因此当前需要抢占物理链路,抢占情况分为以下两种:
①、正在占用物理链路发送的ET数据帧已发送出去的字节数量小于64字节,也就是说当前已发送的ET数据帧长度不够,没法传输,因此需要等待正在发送的数据帧发送到64字节时,才能将ET数据帧从中间断开,否则会造成数据帧的丢失。
在这种情况下,还需要判断正在发送的ET数据帧除去64字节后,剩下的字节数量还够不够作为一个数据帧进行发送,那么对应有两种情况:
a、如果剩下的字节数量不够作为一个数据帧进行发送,那么当前待发送的数据帧(TT数据帧)需要等待正在发送的ET数据帧全部发送完成后,再进行发送;
b、如果剩下的字节数量足够作为一个数据帧进行发送,那么当前待发送的数据帧(TT数据帧)需要等待正在发送的ET数据帧发送够一个数据帧长度(64字节)时,此时立刻暂停ET数据帧的发送,使待发送的数据帧(TT数据帧)抢占图1中的物理链路进行发送;此时还需将正在发送的ET数据帧剩余的字节进行重新封装成一个数据帧,具体封装方式为在未发送字节前依次加入前导码字段以及第三定界符字段,获得待发送中断ET帧,这个待发送中断ET帧需要等待当前待发送的数据帧(TT数据帧)发送完成且当前没有TT数据帧等待发送,再继续恢复占用物理链路发送,如果当前还有TT数据帧等待发送,那么待发送的中断ET帧需要返回步骤2重新判断当前有没有待发送的TT数据帧,等到没有待发送的TT数据帧时进行发送,也就是说一个ET数据帧可以被多个TT数据帧从同一个断点处抢占物理链路,一个ET数据帧也可以被多个TT数据帧从不同个断点处抢占物理链路。
②、正在占用物理链路发送的ET数据帧已发送出去的字节数量大于64字节,也就是说正在发送的ET数据帧的长度已经足够作为一个数据帧进行发送了,那么此时还是需要判断正在发送的ET数据帧除去64字节后,剩下的字节数量还够不够作为一个数据帧进行发送,那么对应有两种情况,这两种情况和①中的两种情况a和b类似,只是在当前情况下判断的是当前除去已发送的字节数量后(情况①中为除去64字节),只有当剩下的字节数量足够作为一个数据帧进行发送,此时立刻暂停ET数据帧的发送,使待发送的数据帧(TT数据帧)抢占图1中的物理链路进行发送;此时将已发送的字节作为ET首帧,如图5所示,还需将正在发送的ET数据帧剩余的字节进行重新封装成一个数据帧,如图6、7所示,具体封装方式为在未发送字节前依次加入前导码字段以及第三定界符字段,获得待发送中断ET帧,这个待发送中断ET帧需要等待当前待发送的数据帧(TT数据帧)发送完成且没有其他的TT数据帧等待发送时,再继续恢复占用物理链路发送,也就是说一个ET数据帧可以被多个TT数据帧从同一个断点处抢占物理链路,一个ET数据帧也可以被多个TT数据帧从不同个断点处抢占物理链路。
其中图5-7中下标数字表示每一字段对应的字节数量。
因此,在步骤2.1中,判断当前正在发送的ET数据帧中已发送的字节数量以及未发送的字节数量是否大于等于字节阈值:
当已发送的字节数量大于等于字节阈值且未发送的字节数量大于等于字节阈值时,立即暂停发送当前ET数据帧后开始发送待发送的TT帧,同时在未发送字节前依次加入前导码字段以及第三定界符字段,获得待发送中断ET帧;否则返回步骤2.1;
以上的步骤具体是指只有当已发送的字节数量大于等于字节阈值且未发送的字节数量大于等于字节阈值时,TT数据帧才抢占线路,在这种情况以外的所有情况,TT数据帧需要重新判断当前正在发送的ET数据帧的已发送的字节数量和未发送的字节数量与字节阈值的大小关系,因此需要重新返回步骤2.1判断当前能不能够抢占物理链路。
在本实施例中提供了以下几种情况对物理链路的抢占过程进行进一步地说明:㈠、物理链路上有80字节的ET数据帧正在发送,其中已发送的字节数量为65,未发送的字节数量为15,此时待发送的数据帧为TT数据帧,在步骤2.1中判断当前正在发送的ET数据帧已发送的字节数量大于64,但是未发送的字节数量小于64,也就是说不符合抢占条件,那么需要返回步骤2.1进行再次判断,再返回又再次判断的过程中,此时物理链路上的ET数据帧已经发送完成了,此时满足了步骤2.1中当前没有数据帧正在发送的条件,因此待发送的数据帧(TT数据帧)可以直接发送。
㈡、物理链路上有150字节的ET数据帧正在发送,其中已发送的字节数量为30,未发送的字节数量为120,此时待发送的数据帧为TT数据帧,在步骤2.1中判断当前正在发送的ET数据帧已发送的字节数量小于64但是当前ET数据帧的总字节数减去64后还有86个字节,满足分帧的条件,但是在当前时刻不满足抢占条件,那么需要返回步骤2.1进行再次判断,再返回又再次判断的过程中,当前正在发送的ET数据帧已发送的字节数量达到了64个字节时,此时已发送的字节数量大于等于64且未发送的字节数量大于等于64时,立即暂停ET数据帧的发送,此时待发送的数据帧(TT数据帧)抢占物理链路开始发送,同时对ET数据帧进行分帧处理,将未发送的86个字节重新封装,在这86个字节前依次加入前导码字段以及第三定界符字段,获得待发送中断ET帧;
此时待发送的中断ET帧需要返回步骤2,同时步骤1执行获取新的待发送的数据帧时,不能再获取ET数据帧,只能获取TT数据帧,因此在返回步骤2进行判断时,当判断没有待发送的TT数据帧时,再开始发送待发送中断ET帧;若判断有待发送的TT数据帧时,此时待发送的中断ET帧等待,重复返回步骤2,直至判断没有待发送的TT数据帧时,再开始发送待发送中断ET帧。
在开始发送待发送中断ET帧之后,此时还可能会有待发送的数据帧再准备发送,此时若是ET数据帧则需要等待待发送中断ET帧发送完成之后再接着进行发送,但是此时若是TT数据帧,情况与㈡中的类似,由于待发送中断ET帧一共只有86个字节,因此没法进行分帧,所以待发送的数据帧(TT数据帧)等待待发送中断ET帧发送完成后再占用物理链路进行发送。
㈢、物理链路上有300字节的ET数据帧正在发送,其中已发送的字节数量为80,未发送的字节数量为220,此时待发送的数据帧为TT数据帧,此时在步骤2.1中判断已发送的字节数量大于等于64且未发送的字节数量大于等于64时,立即暂停ET数据帧的发送,此时待发送的数据帧(TT数据帧)抢占物理链路开始发送,同时对ET数据帧进行分帧处理,将未发送的220个字节重新封装,在这220个字节前依次加入前导码字段以及第三定界符字段,获得待发送中断ET帧;那么ET数据帧中已发送出去的80个字节作为ET首帧,如图5所示;
此时待发送的中断ET帧需要等待待发送的数据帧(TT数据帧)发送完成后,此时物理链路上没有数据帧发送,再开始发送待发送中断ET帧;
在开始发送待发送中断ET帧之后,此时还可能会有待发送的数据帧再准备发送,此时若是ET数据帧则需要等待待发送中断ET帧发送完成之后再接着进行发送,但是此时若是TT数据帧,再一次的执行步骤2.1判断当前待发送中断ET帧已发送的字节数量以及未发送的字节数量是否大于等于64,假设当前待发送中断ET帧已发送的字节数量为60,未发送的字节数量为160,此时需要等待当前待发送中断ET帧已发送的字节数量达到64时,立即暂停ET数据帧的发送,此时待发送的数据帧(TT数据帧)抢占物理链路开始发送,同时对待发送中断ET数据帧进行分帧处理,将剩余的156个字节进行封装,又一次获得新的待发送中断ET帧,将本次已发送出去的64个字节作为ET中间帧,如图6所示;
此时新的待发送中断ET帧接着等待待发送的数据帧(TT数据帧)发送完成后,此时物理链路上没有数据帧发送,再开始发送新的待发送中断ET帧;
此时在发送新的待发送中断ET帧过程中,还会有新的数据帧等待发送,如果是ET数据帧那么等待,如果是TT数据帧,则需要进行再一次的分帧操作,如果当前新的待发送中断ET帧中已发送的字符数量为80,未发送的字节数量为76,均大于64,此时立即暂停ET数据帧的发送,此时待发送的数据帧(TT数据帧)抢占物理链路开始发送,同时对待发送中断ET数据帧进行分帧处理,将剩余的76个字节进行封装,又一次获得新的待发送中断ET帧,将本次已发送出去的80个字节作为ET中间帧,如图6所示;
此时新的待发送中断ET帧接着等待待发送的数据帧(TT数据帧)发送完成后,此时物理链路上没有数据帧发送,再开始发送新的待发送中断ET帧;
此时在发送新的待发送中断ET帧过程中,还会有新的数据帧等待发送,如果是ET数据帧那么等待,如果是TT数据帧,当前新的待发送中断ET帧一共76个字节,不够进行再一次的分帧操作了,此时待发送的TT数据帧需要等待但等待新的待发送中断ET帧全部发送完毕后,再进行发送。
此时,76个字节的新的待发送中断ET帧一次性发送完成,将本次全部发送完成的76个字节作为ET尾帧,如图7所示。
综上在情况㈢下,将一个300字节的ET数据帧拆分为一个80字节的ET首帧、64字节的ET中间帧、80字节的ET中间帧以及76字节的ET尾帧,通过四次发送全部发送完成。
在本实施例中将一个完整的ET数据帧拆分为ET首帧、ET中间帧以及ET尾帧分次发送,如图5-7所示,其中ET中间帧可以是0个、1个或多个。
在本实施例中提供的以太网发送设备,通过修改了现有的以太网调度流程,使得TT数据帧可以在ET数据帧正在发送的情况下抢占物理链路,并且设计了新的ET数据帧格式,将ET数据帧进行拆分后,根据TT数据帧达到时间分次发送,TT数据帧无需等待ET数据帧发送完成后再进行发送,从而使得TT数据帧能够尽快的占用物理链路进行发送,这种抢占续传的方法保证了TT数据帧发送的实时性,并且不浪费传输带宽。
实施例二
在本实施例中提供了一种支持多业务抢占续传的以太网接收设备,用于接收以太网发送设备发来的数据帧。
以太网数据接收设备中存储有第二程序,所述的第二程序被处理器执行时实现以下步骤:
步骤A、获得当前数据帧,根据所述的当前数据帧中定界符位置的字段判断当前数据帧为TT数据帧或ET数据帧;
若当前数据帧为TT数据帧,则执行步骤B,若当前数据帧为ET数据帧,则执行步骤C;
在本实施例中,由于在实施例一中定义的TT数据帧与ET数据帧的帧格式中的定界符不同,其中TT数据帧的定界符为第一定界符,可以是现有的IEEE 802.3标准中定义的标准帧格式自带的定界符(0xD5);而ET数据帧中的定界符为第二定界符与第三定界符,因此可以通过定界符位置的字段对数据类型进行判断。
步骤B、对当前数据帧进行FCS校验,若校验通过,则接收当前数据帧;否则丢弃当前数据帧;
由于TT数据帧不存在被抢占,不需要重组,因此对接收到的TT数据帧进行FCS校验。FCS校验通过的TT数据帧发送给用户接收端,FCS校验未通过的TT数据帧丢弃,同时报告FCS错误。
步骤C、判断当前数据帧中定位符位置的字段:
若为第二定界符字段,则将当前数据帧作为ET首帧存入重组空间后执行步骤D,所述的重组空间用于将依次存入其中的数据帧进行尾首拼接获得新的数据帧,其中首次执行步骤C时所述的重组空间为空;
若为第三定界符字段,则将当前数据帧的前导码字段以及第三定界符字段删除后作为ET子帧存入重组空间后,执行步骤E;
在本实施例中,通过定界符将ET首帧与ET中间帧以及ET尾帧进行了区分,但是ET中间帧与ET尾帧无法直接进行判断,需要进行FCS校验后,才能判断,因此将非ET首帧的其他ET数据帧作为ET子帧存入重组空间中进行进一步地判断。
在本实施例中,重组空间获得新的数据帧时,可以是通过尾首拼接获得,当重组空间中仅有一个ET首帧时,该ET首帧也可以作为一个新的数据帧。
步骤D、判断当前重组空间中是否存在两个ET首帧,若存在则将第二个ET首帧之前的所有数据帧从当前重组空间删除后执行步骤E;否则直接执行步骤E;步骤E、对所述的重组空间中新的数据帧计算FCS值,获得计算FCS值;
判断所述的计算FCS值与本次执行步骤C存入所述重组空间中的ET子帧末尾多个字节的值是否相同,若相同,则将所述的重组空间中的新的数据帧作为ET数据帧接收后,清空所述的重组空间,执行步骤F;否则直接执行步骤F;
在本实施例中,接收到的ET数据帧可能在实施例一中没有被拆分开,也可能会被分开,因此接收到ET首帧后且当前重组空间中只有一个ET首帧时,进入步骤E判断,如果ET首帧计算FCS和ET首帧末尾多个字节的值一致,那么ET首帧就是完整的ET数据帧,接收完整的ET数据帧即可。
在本实施例中,由于ET尾帧携带有多个字节的FCS校验值,多个字节可以是4个、8个等,在本实施例中为4个,而ET中间帧不携带,但是从数据上来看是没法判断区分ET尾帧与ET中间帧的,因此在本步骤中获得本次执行步骤C存入重组空间中的ET子帧(非ET首帧)的末尾4个字节的值,将这个值假设为携带FCS值,另外将本次执行步骤C之后重组空间中新的数据帧的FCS值,判断这个计算得到的FCS值与携带的FCS值是否相同,如果相同的话,则说明本次执行步骤C时存入的ET子帧是ET尾帧,那么就可以获得一个完整的ET数据帧了;如果不是则说明本次执行步骤C时存入重组空间的ET子帧是ET中间帧,那么就执行步骤F,继续获取下一个数据帧,重复执行直到存入的ET子帧为ET尾帧,获得一个完整的ET数据帧,或者存入了一个新的ET首帧,则将新的ET首帧之前的所有ET首帧以及ET子帧删除。
综上所述,采用步骤C至步骤E实现ET数据帧的重组,在实施例一中将一个完整的ET数据帧拆分为ET首帧、ET中间帧以及ET尾帧,其中ET中间帧可以是0个、1个或多个,其中ET首帧携带的定界符为第二定界符,ET中间帧和ET尾帧携带的定界符为第三定界符,因此可以通过定界符将ET首帧与ET中间帧和ET尾帧进行区分。
在本实施例中,在重组空间中进行ET数据帧的拼接,例如在本实施例中接收到的数据帧分别为F1、F2以及F3,其中F1经过判断为ET首帧,F2经过判断为ET子帧(但不知道是ET中间帧还是ET尾帧),此时先将数据帧F2中的前导码和定位符删除掉,获得ET子帧F2’;将ET子帧F2’存入重组空间后,ET子帧F2’的第一个字节接到ET首帧F1的最后一个字节的后面,获得了新的数据帧,此时进行FCS校验,即计算新的数据帧的FCS数值与ET子帧F2’末尾4个字节的数值是否相等,结果是不相等,因此ET子帧F2’为ET中间帧,因此执行步骤F,由步骤F返回步骤A接收到了数据帧F3;
数据帧F3前面在实施例一进行分帧操作的时候加入了前导码和定界符,因此在将数据帧F3输入至重组空间前,先将前导码和定位符删除掉,则获得ET子帧F3’,将ET子帧F3’存入重组空间中,将ET子帧F3’的第一个字节接到ET子帧F2的最后一个字节的后面,获得新的数据帧,此时进行FCS校验,即计算新的数据帧的FCS数值与ET子帧F3’末尾4个字节的数值是否相等,结果是相等,因此ET子帧F2’为ET尾帧,因此认为新的数据帧即为完整的ET数据帧,从重组空间中将完整的ET数据帧进行接收,然后清空ET数据帧等待下次接收。在本实施例中,为了防止数据在接收的时候出现错误,在步骤D中判断重组空间中是不是同时存在两个ET首帧,如果同时出现了两个ET首帧,则说明传输过程中出现了数据丢失或错误的情况,那么将第二个ET首帧之前的所有数据帧从当前重组空间删除后再进行继续接收。
步骤F、判断当前数据帧是否为接收的最后一帧数据帧,若是,则结束,否则返回步骤A。
在本实施例中提供的以太网接收设备利用定界符判断TT数据帧以及ET数据帧,并利用定界符判断ET数据帧的首帧以及非首帧,在重组空间中对ET首帧以及ET子帧进行拼接,通过FCS校验判别ET子帧是ET中间帧还是ET尾帧,并且增加了判断重组空间中是否存在两个ET首帧的条件以及FCS校验,保证能够接收到完整的数据帧,提高了数据帧接收的可靠性。
实施例三
一种支持多业务抢占续传的以太网传输装置,包括以太网发送设备以及以太网接收设备,以太网发送设备中存储有第一程序,第一程序被处理器执行时实现以下步骤:
步骤1、获得当前待发送的数据帧,所述的数据帧为TT数据帧或ET数据帧;若当前待发送的数据帧为TT数据帧时,在所述的当前待发送数据帧前端依次加入前导码字段以及第一定界符字段后,在当前待发送数据帧尾端加入FCS字段,获得当前待发送的TT数据帧;
若当前待发送的数据帧为ET数据帧时,在所述的当前待发送数据帧前端依次加入前导码字段以及第二定界符字段后,在所述的当前待发送数据帧尾端加入FCS字段,获得当前待发送的ET数据帧;
步骤2、判断当前是否存在待发送的TT数据帧,若存在则执行步骤2.1发送所述的待发送的TT数据帧;否则执行步骤2.2发送待发送的ET数据帧或待发送中断ET帧;
步骤2.1、判断当前是否有数据帧正在发送:
若当前没有数据帧正在发送,则直接开始发送所述的待发送的TT数据帧后,执行步骤3;
若当前有TT数据帧正在发送,则等待当前的TT数据帧发送完成后,开始发送所述的待发送的TT数据帧后,执行步骤3;
若当前有ET数据帧正在发送,所述的当前ET数据帧包括已发送字节以及未发送字节,所述的未发送字节为当前ET数据帧中除已发送字节以外的所有字节;判断当前正在发送的ET数据帧中已发送的字节数量以及未发送的字节数量是否大于等于字节阈值:
若已发送的字节数量大于等于字节阈值且未发送的字节数量大于等于字节阈值,则立即暂停发送当前ET数据帧后开始发送所述的待发送的TT帧,同时在未发送字节前依次加入前导码字段以及第三定界符字段,获得待发送中断ET帧后执行步骤3;
否则返回步骤2.1;
步骤2.2、判断当前是否有数据帧正在发送:
若当前没有数据帧正在发送,则直接开始发送所述的待发送的ET数据帧后,执行步骤3;
若当前有ET数据帧正在发送,则等待当前ET数据帧发送完成后再开始发送所述的待发送的ET数据帧后,执行步骤3;
若当前有TT数据帧正在发送,则等待当前所有TT数据帧发送完成后再开始发送所述的待发送的ET数据帧后,执行步骤3;
步骤3、判断是否所有的待发送数据帧均已发送,若是,则结束;否则判断当前是否有待发送中断ET帧,若有,则将所述的待发送中断ET帧输入至步骤2后,返回步骤1仅获得当前待发送的TT数据帧,若返回步骤1时无法获得当前待发送的TT数据帧则直接执行步骤2;否则直接返回步骤1;
以太网数据接收设备中存储有第二计算机程序,第二计算机程序被处理器执行时实现以下步骤:
步骤A、获得当前数据帧,根据当前数据帧中定界符位置的字段将判断当前数据帧为TT数据帧或ET数据帧;
若当前数据帧为TT数据帧,则执行步骤B,若当前数据帧为ET数据帧,则执行步骤C;
步骤B、对当前数据帧进行FCS校验,若校验通过,则接收当前数据帧;否则丢弃当前数据帧;
步骤C、判断当前数据帧中定位符位置的字段:
若为第二定界符字段,则将当前数据帧作为ET首帧存入重组空间后执行步骤D,所述的重组空间用于将依次存入其中的数据帧进行尾首拼接获得新的数据帧,其中首次执行步骤C时所述的重组空间为空;
若为第三定界符字段,则将当前数据帧的前导码字段以及第三定界符字段删除后作为ET子帧存入重组空间后,执行步骤E;
步骤D、判断当前重组空间中是否存在两个ET首帧,若存在则将第二个ET首帧之前的所有数据帧从当前重组空间删除后执行步骤E;否则直接执行步骤E;步骤E、对所述的重组空间中新的数据帧计算FCS值,获得计算FCS值;
判断所述的计算FCS值与本次执行步骤C存入所述重组空间中的ET子帧末尾4个字节的值是否相同,若相同,则将所述的重组空间中的新的数据帧作为ET数据帧接收后,清空所述的重组空间,执行步骤F;否则直接执行步骤F;
步骤F、判断当前数据帧是否为接收的最后一帧数据帧,若是,则结束,否则返回步骤A。
可选地,字节阈值为64。
在本实施例中,传输装置收发一体,采用全双工模式,能够同时收发数据,进一步地提高了数据发送的实时性。
在本实施例中,对本发明提供的数据传输装置的实时性发送的验证如下:
ET数据帧总长度为L,当前已经发送长度为X,链路速率为V,最小帧间隔为20字节数据发送时延,TT数据帧发送延时为t。TT数据帧未发生抢占时,TT数据帧发送延时为0;TT数据帧发生抢占时,TT数据帧发送延时满足以下关系:
若不采用本发明描述的抢占调度发送的方法,则TT数据帧发送延时为:
两者相比,采用本发明提供的抢占调度发送的方法及装置,极大减少了TT数据帧的发送延时,保证了TT数据帧的实时性。
因此本发明提供的多业务(TT帧和ET帧)混合传输的前提下,保证TT数据帧实时传输;TT数据帧的传输延迟范围为:在100M速率下传输延迟范围为0~11680ns,在1G速率下传输延迟范围为0~1168ns。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
Claims (5)
1.一种支持多业务抢占续传的以太网发送设备,用于将待发送数据帧发送给以太网接收设备,其特征在于,所述的以太网发送设备中存储有第一程序,所述的第一程序被处理器执行时实现以下步骤:
步骤1、获得当前待发送的数据帧,所述的数据帧为TT数据帧或ET数据帧;
若当前待发送的数据帧为TT数据帧时,在所述的当前待发送数据帧前端依次加入前导码字段以及第一定界符字段后,在当前待发送数据帧尾端加入FCS字段,获得当前待发送的TT数据帧;
若当前待发送的数据帧为ET数据帧时,在所述的当前待发送数据帧前端依次加入前导码字段以及第二定界符字段后,在所述的当前待发送数据帧尾端加入FCS字段,获得当前待发送的ET数据帧;
步骤2、判断当前是否存在待发送的TT数据帧,若存在则执行步骤2.1发送所述的待发送的TT数据帧;否则执行步骤2.2发送所述的待发送的ET数据帧或待发送中断ET帧;
步骤2.1、判断当前是否有数据帧正在发送:
若当前没有数据帧正在发送,则直接开始发送所述的待发送的TT数据帧后,执行步骤3;
若当前有TT数据帧正在发送,则等待当前的TT数据帧发送完成后,开始发送所述的待发送的TT数据帧后,执行步骤3;
若当前有ET数据帧正在发送,所述的当前ET数据帧包括已发送字节以及未发送字节,所述的未发送字节为当前ET数据帧中除已发送字节以外的所有字节;
判断当前正在发送的ET数据帧中已发送的字节数量以及未发送的字节数量是否大于等于字节阈值:
若已发送的字节数量大于等于字节阈值且未发送的字节数量大于等于字节阈值,则立即暂停发送当前ET数据帧后开始发送所述的待发送的TT帧,同时在未发送字节前依次加入前导码字段以及第三定界符字段,获得待发送中断ET帧后执行步骤3;
否则返回步骤2.1;
步骤2.2、判断当前是否有数据帧正在发送:
若当前没有数据帧正在发送,则直接开始发送所述的待发送的ET数据帧后,执行步骤3;
若当前有ET数据帧正在发送,则等待当前ET数据帧发送完成后再开始发送所述的待发送的ET数据帧后,执行步骤3;
若当前有TT数据帧正在发送,则等待当前所有TT数据帧发送完成后再开始发送所述的待发送的ET数据帧后,执行步骤3;
步骤3、判断是否所有的待发送数据帧均已发送,若是,则结束;否则判断当前是否有待发送中断ET帧,若有,则将所述的待发送中断ET帧输入至步骤2后,返回步骤1仅获得当前待发送的TT数据帧,若返回步骤1时无法获得当前待发送的TT数据帧则直接执行步骤2;否则直接返回步骤1。
2.如权利要求1所述的支持多业务抢占续传的以太网数据发送设备,其特征在于,所述的字节阈值为64。
3.一种支持多业务抢占续传的以太网数据接收设备,用于接收以太网发送设备发来的数据帧,其特征在于,所述的以太网数据接收设备中存储有第二计算机程序,所述的第二计算机程序被处理器执行时实现以下步骤:
步骤A、获得当前数据帧,根据所述的当前数据帧中定界符位置的字段将判断当前数据帧为TT数据帧或ET数据帧;
若当前数据帧为TT数据帧,则执行步骤B,若当前数据帧为ET数据帧,则执行步骤C;
步骤B、对当前数据帧进行FCS校验,若校验通过,则接收当前数据帧;否则丢弃当前数据帧;
步骤C、判断当前数据帧中定位符位置的字段:
若为第二定界符字段,则将当前数据帧作为ET首帧存入重组空间后执行步骤D,所述的重组空间用于将依次存入其中的数据帧进行尾首拼接获得新的数据帧,其中首次执行步骤C时所述的重组空间为空;
若为第三定界符字段,则将当前数据帧的前导码字段以及第三定界符字段删除后作为ET子帧存入重组空间后,执行步骤E;
步骤D、判断当前重组空间中是否存在两个ET首帧,若存在则将第二个ET首帧之前的所有数据帧从当前重组空间删除后执行步骤E;否则直接执行步骤E;
步骤E、对所述的重组空间中新的数据帧计算FCS值,获得计算FCS值;
判断所述的计算FCS值与本次执行步骤C存入所述重组空间中的ET子帧末尾多个字节的值是否相同,若相同,则将所述的重组空间中的新的数据帧作为ET数据帧接收后,清空所述的重组空间,执行步骤F;否则直接执行步骤F;
步骤F、判断当前数据帧是否为接收的最后一帧数据帧,若是,则结束,否则返回步骤A。
4.一种支持多业务抢占续传的以太网传输装置,包括以太网发送设备以及以太网接收设备,其特征在于,所述的以太网发送设备中存储有第一程序,所述的第一程序被处理器执行时实现以下步骤:
步骤1、获得当前待发送的数据帧,所述的数据帧为TT数据帧或ET数据帧;
若当前待发送的数据帧为TT数据帧时,在所述的当前待发送数据帧前端依次加入前导码字段以及第一定界符字段后,在当前待发送数据帧尾端加入FCS字段,获得当前待发送的TT数据帧;
若当前待发送的数据帧为ET数据帧时,在所述的当前待发送数据帧前端依次加入前导码字段以及第二定界符字段后,在所述的当前待发送数据帧尾端加入FCS字段,获得当前待发送的ET数据帧;
步骤2、判断当前是否存在待发送的TT数据帧,若存在则执行步骤2.1发送所述的待发送的TT数据帧;否则执行步骤2.2发送所述的待发送的ET数据帧或待发送中断ET帧;
步骤2.1、判断当前是否有数据帧正在发送:
若当前没有数据帧正在发送,则直接开始发送所述的待发送的TT数据帧后,执行步骤3;
若当前有TT数据帧正在发送,则等待当前的TT数据帧发送完成后,开始发送所述的待发送的TT数据帧后,执行步骤3;
若当前有ET数据帧正在发送,所述的当前ET数据帧包括已发送字节以及未发送字节,所述的未发送字节为当前ET数据帧中除已发送字节以外的所有字节;
判断当前正在发送的ET数据帧中已发送的字节数量以及未发送的字节数量是否大于等于字节阈值:
若已发送的字节数量大于等于字节阈值且未发送的字节数量大于等于字节阈值,则立即暂停发送当前ET数据帧后开始发送所述的待发送的TT帧,同时在未发送字节前依次加入前导码字段以及第三定界符字段,获得待发送中断ET帧后执行步骤3;
否则返回步骤2.1;
步骤2.2、判断当前是否有数据帧正在发送:
若当前没有数据帧正在发送,则直接开始发送所述的待发送的ET数据帧后,执行步骤3;
若当前有ET数据帧正在发送,则等待当前ET数据帧发送完成后再开始发送所述的待发送的ET数据帧后,执行步骤3;
若当前有TT数据帧正在发送,则等待当前所有TT数据帧发送完成后再开始发送所述的待发送的ET数据帧后,执行步骤3;
步骤3、判断是否所有的待发送数据帧均已发送,若是,则结束;否则判断当前是否有待发送中断ET帧,若有,则将所述的待发送中断ET帧输入至步骤2后,返回步骤1仅获得当前待发送的TT数据帧,若返回步骤1时无法获得当前待发送的TT数据帧则直接执行步骤2;否则直接返回步骤1;
所述的以太网数据接收设备中存储有第二计算机程序,所述的第二计算机程序被处理器执行时实现以下步骤:
步骤A、获得当前数据帧,根据所述的当前数据帧中定界符位置的字段将判断当前数据帧为TT数据帧或ET数据帧;
若当前数据帧为TT数据帧,则执行步骤B,若当前数据帧为ET数据帧,则执行步骤C;
步骤B、对当前数据帧进行FCS校验,若校验通过,则接收当前数据帧;否则丢弃当前数据帧;
步骤C、判断当前数据帧中定位符位置的字段:
若为第二定界符字段,则将当前数据帧作为ET首帧存入重组空间后执行步骤D,所述的重组空间用于将依次存入其中的数据帧进行尾首拼接获得新的数据帧,其中首次执行步骤C时所述的重组空间为空;
若为第三定界符字段,则将当前数据帧的前导码字段以及第三定界符字段删除后作为ET子帧存入重组空间后,执行步骤E;
步骤D、判断当前重组空间中是否存在两个ET首帧,若存在则将第二个ET首帧之前的所有数据帧从当前重组空间删除后执行步骤E;否则直接执行步骤E;
步骤E、对所述的重组空间中新的数据帧计算FCS值,获得计算FCS值;
判断所述的计算FCS值与本次执行步骤C存入所述重组空间中的ET子帧末尾多个字节的值是否相同,若相同,则将所述的重组空间中的新的数据帧作为ET数据帧接收后,清空所述的重组空间,执行步骤F;否则直接执行步骤F;
步骤F、判断当前数据帧是否为接收的最后一帧数据帧,若是,则结束,否则返回步骤A。
5.如权利要求4所述的支持多业务抢占续传的以太网数据发送设备,其特征在于,所述的字节阈值为64。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911336485.0A CN111147184B (zh) | 2019-12-23 | 2019-12-23 | 支持多业务抢占续传的以太网发送、接收设备及传输装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911336485.0A CN111147184B (zh) | 2019-12-23 | 2019-12-23 | 支持多业务抢占续传的以太网发送、接收设备及传输装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111147184A true CN111147184A (zh) | 2020-05-12 |
CN111147184B CN111147184B (zh) | 2022-06-10 |
Family
ID=70519406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911336485.0A Active CN111147184B (zh) | 2019-12-23 | 2019-12-23 | 支持多业务抢占续传的以太网发送、接收设备及传输装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111147184B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112332951A (zh) * | 2020-11-20 | 2021-02-05 | 昆高新芯微电子(江苏)有限公司 | 一种以太网帧抢占方法、装置、设备及存储介质 |
CN112565105A (zh) * | 2020-12-08 | 2021-03-26 | 昆高新芯微电子(江苏)有限公司 | 一种降低时间敏感帧转发时延的方法、装置及设备 |
CN113067799A (zh) * | 2021-02-25 | 2021-07-02 | 北京航空航天大学 | 一种兼容以太网通信的ttp/c通信节点实现方法 |
CN115314157A (zh) * | 2022-07-19 | 2022-11-08 | 烽火通信科技股份有限公司 | 一种以太网成帧方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1663201A (zh) * | 2002-06-13 | 2005-08-31 | Fts电脑技术有限公司 | 用以传输时间驱动和事件驱动的以太网信息的通信方法和系统 |
CN108306835A (zh) * | 2018-01-23 | 2018-07-20 | 中国航空工业集团公司洛阳电光设备研究所 | 一种以太网交换机的输入缓存结构及数据转发方法 |
CN108712351A (zh) * | 2018-05-24 | 2018-10-26 | 西安电子科技大学 | 基于双平面的时间触发以太网交换机及分组交换方法 |
-
2019
- 2019-12-23 CN CN201911336485.0A patent/CN111147184B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1663201A (zh) * | 2002-06-13 | 2005-08-31 | Fts电脑技术有限公司 | 用以传输时间驱动和事件驱动的以太网信息的通信方法和系统 |
CN108306835A (zh) * | 2018-01-23 | 2018-07-20 | 中国航空工业集团公司洛阳电光设备研究所 | 一种以太网交换机的输入缓存结构及数据转发方法 |
CN108712351A (zh) * | 2018-05-24 | 2018-10-26 | 西安电子科技大学 | 基于双平面的时间触发以太网交换机及分组交换方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112332951A (zh) * | 2020-11-20 | 2021-02-05 | 昆高新芯微电子(江苏)有限公司 | 一种以太网帧抢占方法、装置、设备及存储介质 |
CN112565105A (zh) * | 2020-12-08 | 2021-03-26 | 昆高新芯微电子(江苏)有限公司 | 一种降低时间敏感帧转发时延的方法、装置及设备 |
CN113067799A (zh) * | 2021-02-25 | 2021-07-02 | 北京航空航天大学 | 一种兼容以太网通信的ttp/c通信节点实现方法 |
CN113067799B (zh) * | 2021-02-25 | 2022-01-11 | 北京航空航天大学 | 一种兼容以太网通信的ttp/c通信节点实现方法 |
CN115314157A (zh) * | 2022-07-19 | 2022-11-08 | 烽火通信科技股份有限公司 | 一种以太网成帧方法及装置 |
CN115314157B (zh) * | 2022-07-19 | 2023-10-24 | 烽火通信科技股份有限公司 | 一种以太网成帧方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111147184B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111147184B (zh) | 支持多业务抢占续传的以太网发送、接收设备及传输装置 | |
US7519076B2 (en) | Method and node for using a communication network in parallel for real-time applications and non-real-time applications | |
JP2526013B2 (ja) | パケット切替式通信方法 | |
EP0166734B1 (en) | Adaptive preferential flow control for packet switching system | |
US6205150B1 (en) | Method of scheduling higher and lower priority data packets | |
EP0472486A2 (en) | System and method for controlling data transmission | |
EP3082304A1 (en) | Service routing method, device and system | |
JP2002016637A (ja) | パケットスケジューリング装置 | |
JP7329627B2 (ja) | パケット処理方法及び関連装置 | |
CN115051938B (zh) | Opc ua-tsn传输时延测试系统及方法 | |
CN112000605B (zh) | 一种传输指令和数据的方法及装置 | |
CN112929455B (zh) | 基于udp的数据传输方法、装置、设备和可读存储介质 | |
KR100992257B1 (ko) | 완료 프로세싱 방법 및 시스템과 컴퓨터 판독 가능한 기록매체 | |
CN114726676A (zh) | 一种can总线双通路备份中冗余消息处理方法 | |
CN112261142A (zh) | 一种rdma网络的数据重传方法、装置及fpga | |
CN112565105A (zh) | 一种降低时间敏感帧转发时延的方法、装置及设备 | |
CN115396532A (zh) | 基于以太网udp协议的低成本航空用以太网实施方法及系统 | |
CN112399470B (zh) | LoRa通信方法、LoRa网关、LoRa系统、计算机可读存储介质 | |
CN103795507B (zh) | Epon系统的指令超时重传方法及指令超时重传系统 | |
CN113782028A (zh) | 语音流数据的处理方法、装置及系统 | |
CN113452680B (zh) | 数据包转流数据的方法、系统、设备和存储介质 | |
CN111245744A (zh) | 一种报文传输控制方法及装置 | |
WO2024120344A1 (zh) | 一种有线串行总线数据传输方法、系统及相关装置 | |
CN111092712B (zh) | 一种时间触发以太网抢占式调度方法 | |
CN113518082B (zh) | 一种消息处理方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |