一种基于时延约束的数据发送方法及系统

文档序号:1524038 发布日期:2020-02-11 浏览:9次 >En<

阅读说明:本技术 一种基于时延约束的数据发送方法及系统 (Data sending method and system based on time delay constraint ) 是由 曾颜 赵梓森 于 2019-10-24 设计创作,主要内容包括:本发明提供了一种基于时延约束的数据发送方法及系统,该方法包括以下步骤:将发送队列划分为eMAC和pMAC两个优先级队列,eMAC的优先级高于pMAC的优先级;将多个待发送数据根据优先级存储至对应的优先级队列中,并计算在无干扰状态下发送eMAC中的第一待发数据所需的时间,记作理论时延;当第一待发送数据对应的服务原语的执行参数为保持时,根据预设的预期时延、理论时延以及pMAC中的第二待发数据,计算第一待发数据发送所需等待的抢占时间,根据抢占时间发送第一待发数据。本发明实现在满足高优先级帧的时延约束条件下,尽可能的使低优先级数据拥有更多的传送机会,降低其时延,从而提升系统的整体性能,保证业务流传输的相对公平性。(The invention provides a data sending method and a system based on time delay constraint, wherein the method comprises the following steps: dividing a sending queue into an eMAC (enhanced random access memory) priority queue and a pMAC priority queue, wherein the eMAC priority is higher than the pMAC priority; storing a plurality of data to be sent into corresponding priority queues according to priorities, calculating the time required for sending the first data to be sent in the eMAC in an interference-free state, and recording the time as theoretical time delay; when the execution parameter of the service primitive corresponding to the first data to be sent is kept, calculating the waiting preemption time for sending the first data to be sent according to the preset expected time delay, the theoretical time delay and the second data to be sent in the pMAC, and sending the first data to be sent according to the preemption time. The invention can make the low priority data have more transmission opportunities as far as possible under the condition of satisfying the time delay constraint condition of the high priority frame, and reduce the time delay, thereby improving the overall performance of the system and ensuring the relative fairness of the service flow transmission.)

一种基于时延约束的数据发送方法及系统

技术领域

本发明涉及以太网通信技术领域,尤指一种基于时延约束的数据发送方法及系统。

背景技术

以太网网络环境下,各个接入网络的设备共享传输介质以及基于变长帧的技术特点,会造成传送时延不确定的问题。例如,在语音视频等时延敏感业务与普通数据业务混合传输时,两种业务类型的数据之间会产生竞争。如果普通数据业务获得优先传输,则时延敏感业务需要等到普通数据业务全部发送完成后才能发送。特别的,当普通数据业务为长帧时,时延敏感业务的帧抖动将过大。另一方面,随着5G时代的到来,对于承载接入设备的低时延要求必不可少,5G承载接入设备一般需要支持时间敏感网络,以实现低时延转发。

IEEE(Institute of Electrical and Electronic Engineers,电气和电子工程师协会)802.3br提出了一种在以太网网络中穿插快速帧的方法,是一种帧抢占框架。这种框架允许一个或者多个快速帧在可抢占帧之前发送。802.3br标准将MAC(Media AccessControl,媒体访问控制)层划分为eMAC(Express Media Access Control,快速媒体访问控制)和pMAC(Preemptable Media Access Control,可抢占的媒体访问控制),在MAC层增加了MAC合并子层(MAC Merge Sublayer),支持快速帧和可抢占帧/普通帧。当快速帧出现时,MAC合并子层通过如下的两种方式来支持抢占:(1)MAC合并子层可抢占当前已经在传送的帧,即打断正在传送的帧,中途***快速帧;(2)MAC合并子层能够防止可抢占帧的开始发送,即优先发送快速帧。快速帧对应高优先级的时延敏感业务,可抢占帧对应低优先级的普通数据业务。帧抢占框架的实质是,将可抢占帧分成较小的“区段”,让快速帧拥有更优先处理的顺序。这意味着快速帧不必等待可抢占帧传送完成后才开始,从而确保更快速的传输路径,减小时延敏感业务的抖动。

这种方法能够显著的降低时延敏感业务的时延,但也有其不足之处:首先,当系统中存在较多的快速帧时,快速帧会频繁抢占普通帧,抢占开销对系统性能有一定的影响,甚至导致性能显著降低。其次,当一个较长的普通帧被多个快速帧抢占时,普通帧可能一直得不到服务而出现长时间的等待,无法保证数据传输的相对公平性,甚至系统因普通帧的长时间无法传送而出现异常。再次,即使快速帧存在着更快传输的潜力,一部分应用场景对快速帧的要求并非越快越好,而是能满足一定的约束条件即可。

发明内容

本发明的目的是提供一种基于时延约束的数据发送方法及系统,实现在满足高优先级帧的时延约束条件下,尽可能的使低优先级数据拥有更多的传送机会,降低其时延,从而提升系统的整体性能,保证业务流传输的相对公平性。

本发明提供的技术方案如下:

本发明提供一种基于时延约束的数据发送方法,所述方法包括以下步骤:

将发送队列划分为eMAC和pMAC两个优先级队列,所述eMAC的优先级高于所述pMAC的优先级;

将多个待发送数据根据优先级存储至对应的优先级队列中,并计算在无干扰状态下发送所述eMAC中的第一待发数据所需的时间,记作理论时延;

当所述第一待发送数据对应的服务原语的执行参数为保持时,根据预设的预期时延、所述理论时延以及所述pMAC中的第二待发数据,计算所述第一待发数据发送所需等待的抢占时间,根据所述抢占时间发送所述第一待发数据。

在上述技术方案的基础上,所述方法还包括服务原语执行流程,所述服务原语执行流程包括以下步骤:

接收所述服务原语,识别所述服务原语的执行参数;

若所述服务原语的执行参数是释放,则不发送所述第一待发数据;

若所述服务原语的执行参数是保持,则根据所述预期时延和所述理论时延计算是否进行抢占作业;

当计算结果为不进行抢占时,不发送所述第一待发数据;

当计算结果为进行抢占时,则判断发送所述第一待发数据的时机;

当所述预期时延不大于所述理论时延时,则发送所述第一待发数据;

当所述预期时延大于所述理论时延时,则计算所述第一待发数据发送所需等待的抢占时间,等待所述抢占时间对应的时长后,发送所述第一待发数据。

在上述技术方案的基础上,当所述预期时延大于所述理论时延,则计算所述第一待发数据发送所需等待的抢占时间,等待所述抢占时间对应的时长后,发送所述第一待发数据,具体包括以下步骤:

获取所述第二待发数据的长度,计算所述第二待发数据被抢占前所能发送的长度;

若所述第二待发数据的长度不大于127字节,则所述第二待发数据被抢占前所能发送的最大长度为0,发送所述第一待发数据;

若所述第二待发数据的长度大于127字节,根据所述预期时延和所述理论时延计算所述第二待发数据被抢占前所能发送的理论最大长度,比较所述理论最大长度、所述第二待发数据的长度与127字节之差,取较小值作为所述第二待发数据被抢占前时机所能发送的最大长度,发送所述最大长度数据的时间为所述抢占时间。

在上述技术方案的基础上,所述eMAC和pMAC均位于MAC层,所述方法还包括以下步骤:

在所述MAC层之下建立MAC合并子层,所述MAC合并子层用于对所述第一待发数据以及所述第二待发数据进行发送、接收、校验以及过滤。

在上述技术方案的基础上,所述将多个待发送数据根据优先级存储至对应的优先级队列中,具体包括以下步骤:

获取各所述待发送数据,预设的优先级划分策略将各所述待发送数据分为第一待发送数据以及第二待发送数据,所述第一待发送数据优先级高于所述第二待发送数据;

将所述第一待发送数据存储至eMAC中,将所述第二待发送数据存储至所述pMAC中。

本发明还提供一种基于时延约束的数据发送系统,所述系统包括:

初始化单元,其用于将发送队列划分为eMAC和pMAC两个优先级队列,所述eMAC的优先级高于所述pMAC的优先级;

数据分类单元,其用于将多个待发送数据根据优先级存储至对应的优先级队列中;

时延计算单元,其用于当所述第一待发送数据对应的服务原语的执行参数为保持时,根据预设的预期时延、所述理论时延以及所述pMAC中的第二待发数据,计算所述第一待发数据发送所需等待的抢占时间;

抢占控制单元,其用于根据所述抢占时间,等待所述抢占时间对应的时长后,发送所述第一待发数据。

在上述技术方案的基础上,所述抢占控制单元包括:

识别子单元,其用于接收所述服务原语,识别所述服务原语的执行参数;

发送子单元,其用于当所述服务原语的执行参数是释放时,不发送所述第一待发数据;

分析子单元,其用于当所述服务原语的执行参数是保持时,根据所述预期时延和所述理论时延计算是否进行抢占作业;

所述分析子单元,其还用于当计算结果为不进行抢占时,不发送所述第一待发数据;

所述分析子单元,其还用于当计算结果为进行抢占时,则判断发送所述第一待发数据的时机;

所述发送子单元,其还用于当所述预期时延不大于所述理论时延时,则发送所述第一待发数据;

控制子单元,其用于当所述预期时延大于所述理论时延时,则计算所述第一待发数据发送所需等待的抢占时间;

所述发送子单元,其还用于等待所述抢占时间对应的时长后,发送所述第一待发数据。

在上述技术方案的基础上,所述控制子单元包括:

数据调用模块,获取所述第二待发数据的长度,并调用所述时延计算模块计算所述第二待发数据被抢占前所能发送的长度

时间计算模块,其用于当所述pMAC数据长度小于等于127字节时,则判断所述pMAC数据被抢占前所能发送的最大长度为0,设定所述抢占时间为0;

所述时间计算模块,其还用于当所述第二待发数据的长度大于127字节时,根据所述预期时延和所述理论时延计算所述第二待发数据被抢占前所能发送的理论最大长度,比较所述理论最大长度、所述第二待发数据的长度与127字节之差,取较小值作为所述第二待发数据被抢占前时机所能发送的最大长度,设定发送所述最大长度数据的时间为所述抢占时间。

在上述技术方案的基础上,所述eMAC和pMAC均位于MAC层,所述系统还包括:

MAC合并子层建立单元,其用于在所述MAC层之下建立MAC合并子层,所述MAC合并子层用于对所述第一待发数据以及所述第二待发数据进行发送、接收、校验以及过滤。

在上述技术方案的基础上,所述数据分类单元,其具体用于获取各所述待发送数据,预设的优先级划分策略将各所述待发送数据分为第一待发送数据以及第二待发送数据,所述第一待发送数据优先级高于所述第二待发送数据;

所述数据分类单元,其还具体用于将所述第一待发送数据存储至eMAC中,将所述第二待发送数据存储至所述pMAC中。

通过本发明提供的一种种基于时延约束的数据发送方法及系统,能够带来以下至少一种有益效果:

1、本发明中,抢占控制模块通过预期时延和理论时延计算eMAC数据是否抢占以及抢占pMAC数据的时间,能合理地安排eMAC数据以及pMAC数据的发送。

2、本发明中,抢占控制模块控制发送第一待发送数据至MAC合并子层的时间,保证eMAC数据的时延约束条件下,允许pMAC数据相对公平的发送,避免pMAC数据长时间处于传输等待状态。

3、本发明中,时延约束条件下抢占控制模块控制发送第一待发送数据至MAC合并子层,克服频繁抢占所带来的系统整体性能降低的缺陷。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种基于时延约束的数据发送方法及系统的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明实施例1中的一种基于时延约束的数据发送方法的步骤流程图;

图2是本发明实施例1中的一种基于时延约束的数据发送方法中步骤S3的步骤流程图;

图3是本发明实施例1中的一种基于时延约束的数据发送方法中步骤S304b的步骤流程图;

图4是本发明实施例1中的802.3br标准的系统框图;

图5是本发明实施例1中的一种基于时延约束的数据发送方法中步骤B1~B8的步骤流程图;

图6是本发明实施例2中的一种基于时延约束的数据发送系统的结构框图;

图7是本发明实施例2中的一种基于时延约束的数据发送系统中的抢占控制单元的结构框图;

图8是本发明实施例2中的一种基于时延约束的数据发送系统中的控制子单元的结构框图;

图9是本发明实施例2中的一种基于时延约束的数据发送系统进行工作时的结构示意图。

图中:

1、初始化单元;2、数据分类单元;3、时延计算单元;4、抢占控制单元;40、识别子单元;41、发送子单元;42、分析子单元;43、控制子单元;430、数据调用模块;431、时间计算模块;5、MAC合并子层建立单元。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

本发明实施例提供一种基于时延约束的数据发送方法及系统,实现在满足高优先级帧的时延约束条件下,尽可能的使低优先级数据拥有更多的传送机会,降低其时延,从而提升系统的整体性能,保证业务流传输的相对公平性。

为达到上述技术效果,本申请的总体思路如下:

一种基于时延约束的数据发送方法,该方法包括以下步骤:

S1、将发送队列划分为eMAC和pMAC两个优先级队列,eMAC的优先级高于pMAC的优先级;

S2、将多个待发送数据根据优先级存储至对应的优先级队列中,并计算在无干扰状态下发送eMAC中的第一待发数据所需的时间,记作理论时延;

S3、当第一待发送数据对应的服务原语的执行参数为保持时,根据预设的预期时延、理论时延以及pMAC中的第二待发数据,计算第一待发数据发送所需等待的抢占时间,根据抢占时间发送第一待发数据。

以下结合附图对本发明的实施例作进一步详细说明。

实施例1

参见图1至图5所示,本发明实施例1提供一种基于时延约束的数据发送方法,该方法包括以下步骤:

S1、将发送队列划分为eMAC和pMAC两个优先级队列,eMAC的优先级高于pMAC的优先级;

S2、将多个待发送数据根据优先级存储至对应的优先级队列中,并计算在无干扰状态下发送eMAC中的第一待发数据所需的时间,记作理论时延;

S3、当第一待发送数据对应的服务原语的执行参数为保持时,根据预设的预期时延、理论时延以及pMAC中的第二待发数据,计算第一待发数据发送所需等待的抢占时间,根据抢占时间发送第一待发数据。

本发明实施例中,首先将传统的发送队列,根据需求划分为eMAC和pMAC两个优先级队列,其中,eMAC为高优先级,pMAC为低优先级,eMAC的优先级高于pMAC的优先级,分别用于处理优先级不同的发送任务;

进而,系统会将存储的多个待发送数据根据优先级存储至对应的优先级队列中,并计算在无干扰状态下发送eMAC中的第一待发数据所需的时间,记作理论时延,此时能够得知在当前线路状况下,没有其他因素的干扰时,理想状态下发送eMAC中的第一待发数据所需的时间;

而后,当第一待发送数据对应的服务原语的执行参数为保持时,根据预设的预期时延、理论时延以及pMAC中的第二待发数据,具体是pMAC中的第二待发数据的长度,从而计算决定eMAC中的数据是否进行抢占发送以及当前时刻,eMAC需要等待的时间,

最后根据抢占时间发送第一待发数据。

本发明实施例,实现在满足高优先级帧的时延约束条件下,尽可能的使低优先级数据拥有更多的传送机会,降低其时延,从而提升系统的整体性能,保证业务流传输的相对公平性。

本发明实施例中的另一种实施方式,eMAC和pMAC均位于MAC层,该方法还包括以下步骤:

在MAC层之下建立MAC合并子层,MAC合并子层用于对第一待发数据以及第二待发数据进行发送、接收、校验以及过滤。

具体的,本实施例中,在802.3br的基础上,增加时延估算和抢占控制,图4是802.3br标准的系统框图。802.3br标准将MAC层划分为eMAC和pMAC:eMAC支持快速帧,即高优先级数据,pMAC支持可抢占帧(普通帧),即低优先级数据,MAC层之下为MAC合并子层,MAC合并子层负责快速帧和普通帧的发送、接收、校验以及过滤等。MM_Ctrl.request服务原语定义了从MAC客户(MAC Client)到MAC合并子层保持或者释放流量的请求。服务原语即待发送数据对应的操作指令,由MAC层之上的MAC Client发起,MAC合并子层接收并执行相关操作。服务原语可携带相应的执行参数:当携带保持(Hold)参数时,将允许MAC合并子层进行帧抢占,MAC合并子层判断具体的抢占条件允许时,即可抢占普通帧,并且防止pMAC中新帧的发送直到收到携带释放(Release)参数的请求,当携带释放(Release)参数时,则允许MAC合并子层在eMAC没有快速帧发送时将发送pMAC中的普通帧,MAC合并子层将数据发送至协调子层(RS,Reconciliation Sublayer),再转发至物理层(PHY,Physical)。

本实施例按照预先定义的优先级划分策略对数据进行优先级的划分,预先定义的优先级划分策略存储在系统的外部,可按实际业务的情况预先定义。例如优先级划分策略可以按以太网优先级进行划分,也可以按照业务报文的源IP地址、目的IP地址、源端口号以及目的端口号等进行划分。

802.3b标准中只包括eMAC和pMAC,但是设计人员可以根据需求在eMAC和pMAC中定义多个优先级队列。对预期时延进行初始化,即按照预先定义的时延等级对业务的预期时延进行设定,同一个时延等级的报文存储在同一个队列中,本发明实施例中,设置高优先级和低优先级两个队列分别与eMAC和pMAC对应,也可以根据实际需要扩充不同时延等级的队列数目。并且关联预期时延和对应的优先级队列中的待发数据,使待发数据的发送不产生冲突。

对来自MAC Client的MM_Ctrl.request服务原语抢占请求并非立即实施,而是根据预期时延和理论时延进行计算从而决定是否抢占以及抢占的时间,预期时延是指待发送的数据所在的优先级队列在初始化模块中设定的预期时延,表示时延的要求,理论时延是指待发送的数据按照当前的线路带宽情况,无干扰状态下所计算的发送时延,表示时延的消耗,该抢占时间是指收到待发送数据后,在保证eMAC数据的时延约束条件下,允许pMAC数据继续发送的时间/长度,在计算出抢占时间后,发送来自MAC Client的MM_Ctrl.request的服务原语,而服务原语的参数保持不变。

系统储存有多条待发数据,当获取到一条待发送数据时,根据其中一条待发数据的服务原语以及时延决定发送该待发送数据至MAC合并子层的时间。系统同一时间只获取一条服务原语,因此同一时间只处理一条待发数据,因此所有的待发数据系统逐一进行处理。

本发明以802.3br的帧抢占框架为基础,按照预先定义的优先级划分策略对数据进行优先级的划分,将eMAC和pMAC中队列的优先级进一步进行划分,然后通过对预期时延进行设定,使得待发数据有序地进行发送并且不产生冲突。根据时延约束条件,计算快速帧是否可以抢占普通帧以及具体的抢占时机。在保证快速帧的时延要求下,能够最大限度的减少普通帧被抢占的概率,从而降低系统整体的抢占开销,提高系统的吞吐量。同时,由于增加了普通帧竞争到通信线路使用的概率,使普通帧拥有更多的传送机会,保证不同业务之间的传输相对公平性。

本发明实施例中的另一种实施方式,该方法还包括服务原语执行流程,服务原语执行流程包括以下步骤:

S301、接收服务原语,识别服务原语的执行参数;

S302a、若服务原语的执行参数是释放,则不发送第一待发数据;

S302b、若服务原语的执行参数是保持,则根据预期时延和理论时延计算是否进行抢占作业;

S303a、当计算结果为不进行抢占时,不发送第一待发数据;

S303b、当计算结果为进行抢占时,则判断发送第一待发数据的时机;

S304a、当预期时延不大于理论时延时,则发送第一待发数据;

S304b、当预期时延大于理论时延时,则计算第一待发数据发送所需等待的抢占时间,等待抢占时间对应的时长后,发送第一待发数据。

本发明实施例中的另一种实施方式,当预期时延大于理论时延,则计算第一待发数据发送所需等待的抢占时间,等待抢占时间对应的时长后,发送第一待发数据,即步骤S304b,具体包括以下步骤:

A1、获取第二待发数据的长度,计算第二待发数据被抢占前所能发送的长度;

A2、若第二待发数据的长度不大于127字节,则第二待发数据被抢占前所能发送的最大长度为0,发送第一待发数据;

A3、若第二待发数据的长度大于127字节,根据预期时延和理论时延计算第二待发数据被抢占前所能发送的理论最大长度,比较理论最大长度、第二待发数据的长度与127字节之差,取较小值作为第二待发数据被抢占前时机所能发送的最大长度,发送最大长度数据的时间为抢占时间。

具体的,实际操作时,本实施例中,接收第一待发数据后,识别第一待发数据的对应的服务原语的执行参数,若服务原语的执行参数是释放,则不发送第一待发数据,若服务原语的执行参数是保持,则获取预期时延和理论时延,根据预期时延和理论时延计算是否进行抢占;

当计算结果为不进行抢占时,不发送第一待发数据,当计算结果为进行抢占时,计算发送第一待发数据的时间:当预期时延小于等于理论时延时,则立即发送第一待发数据,而当预期时延大于理论时延时,计算pMAC被抢占前所能发送的最大长度L(eMAC等待时间t),获取pMAC中第二待发数据长度(记为M),依据802.3br允许抢占的条件,若M小于等于127字节,该第二待发数据长度不足最小单位长度一帧,因此pMAC被抢占前所能发送的最大长度为0,立即发送第一待发数据,反之,若pMAC数据长度大于127字节,根据eMAC预期时延和理论时延的差值和线路带宽,计算pMAC被抢占前理论上所能发送的最大长度(记为L0),取(M-127)与L0之间的较小值作为pMAC被抢占前所能发送的最大长度,启动定时器,eMAC等待pMAC发送完长度为L的数据,等待时间为t,定时器到期后,发送第一待发数据至MAC合并子层,进而发送第一待发数据,本发明中时延的计算可以预留一定的裕度,这个裕度除了传输时延外,还可以包括一定的抢占时延等处理开销。

本发明实施例中的另一种实施方式,将多个待发送数据根据优先级存储至对应的优先级队列中,具体包括以下步骤:

获取各待发送数据,预设的优先级划分策略将各待发送数据分为第一待发送数据以及第二待发送数据,第一待发送数据优先级高于第二待发送数据;

将第一待发送数据存储至eMAC中,将第二待发送数据存储至pMAC中。

具体的,本实施例中,按照预设的优先级划分策略对待发送数据进行划分,分别将待发送数据划分至eMAC和pMAC中对应的优先级队列中,设定预期时延,关联预期时延和对应的优先级队列中的待发数据,使待发数据的发送不产生冲突,预期时延是为待发数据设定的时延;

获取预期时延,计算待发数据的理论时延,理论时延是理论上发送待发数据需要的时延;

接收第一待发送数据,根据预期时延和理论时延计算发送第一待发送数据的时间,按照计算时间发送第一待发送数据;

在计算出抢占时间后,就将来自MAC Client的MM_Ctrl.request的服务原语转发至MAC合并子层,MAC合并子层根据服务原语执行对应动作,识别第一待发送数据对应的执行参数,发送第一待发数据。

本发明实施例中的另一种实施方式,本发明一种时延约束的数据发送方法的一个实例,如图5所示,包括以下步骤:

步骤B1,接收MM_Ctrl.request服务原语,MM_Ctrl.request服务原语由MACClient按照802.3br标准所定义,eMAC和pMAC均按标准进行数据的相关处理;

步骤B2,如果MM_Ctrl.request服务原语的参数是保持,转至步骤B3,否则,转至步骤B8;

步骤B3,抢占控制模块调用时延估算模块获取eMAC中待发送数据的预期时延和理论时延;

步骤B4,判断eMAC预期时延和理论时延,如果预期时延小于等于理论时延,则转至步骤B8;

步骤B5,调用时延估算模块计算pMAC被抢占前所能发送的最大长度L(eMAC等待时间t);

步骤B501,获取pMAC待发数据长度(记为M),依据802.3br允许抢占的条件,如果M小于等于127字节,则pMAC被抢占前所能发送的最大长度为0;

步骤B502,根据eMAC预期时延和理论时延的差值和线路带宽,计算pMAC被抢占前理论上所能发送的最大长度(记为L0),取(M-127)与L0之间的较小值作为pMAC被抢占前所能发送的最大长度;

步骤B6,如果pMAC被抢占前所能发送的数据长度(等待时间)为0,则转至步骤B8;

步骤B7,启动定时器,eMAC等待pMAC发送完长度为L的数据,等待时间为t,定时器到期后,转至步骤B8;

步骤B8,抢占控制模块将MM_Ctrl.request服务原语发送至MAC合并子层,进而MAC合并子层响应服务原语内的执行参数。

实施例2

参见图6至图9所示,本发明实施例2提供一种基于时延约束的数据发送系统,该系统包括:

初始化单元1,其用于将发送队列划分为eMAC和pMAC两个优先级队列,eMAC的优先级高于pMAC的优先级;

数据分类单元2,其用于将多个待发送数据根据优先级存储至对应的优先级队列中;

时延计算单元3,其用于当第一待发送数据对应的服务原语的执行参数为保持时,根据预设的预期时延、理论时延以及pMAC中的第二待发数据,计算第一待发数据发送所需等待的抢占时间;

抢占控制单元4,抢占控制单元,其用于根据抢占时间,等待抢占时间对应的时长后,发送第一待发数据。

本发明实施例中,首先将传统的发送队列,根据需求划分为eMAC和pMAC两个优先级队列,其中,eMAC为高优先级,pMAC为低优先级,eMAC的优先级高于pMAC的优先级,分别用于处理优先级不同的发送任务;

进而,系统会将存储的多个待发送数据根据优先级存储至对应的优先级队列中,并计算在无干扰状态下发送eMAC中的第一待发数据所需的时间,记作理论时延,此时能够得知在当前线路状况下,没有其他因素的干扰时,理想状态下发送eMAC中的第一待发数据所需的时间;

而后,当第一待发送数据对应的服务原语的执行参数为保持时,根据预设的预期时延、理论时延以及pMAC中的第二待发数据,具体是pMAC中的第二待发数据的长度,从而计算决定eMAC中的数据是否进行抢占发送以及当前时刻,eMAC需要等待的时间,

最后根据抢占时间发送第一待发数据。

本发明实施例,实现在满足高优先级帧的时延约束条件下,尽可能的使低优先级数据拥有更多的传送机会,降低其时延,从而提升系统的整体性能,保证业务流传输的相对公平性。

本发明实施例中的另一种实施方式,eMAC和pMAC均位于MAC层,系统还包括:

MAC合并子层建立单元5,其用于在MAC层之下建立MAC合并子层,MAC合并子层用于对第一待发数据以及第二待发数据进行发送、接收、校验以及过滤。

具体的,本实施例中,在802.3br的基础上,增加时延估算和抢占控制,图4是802.3br标准的系统框图。802.3br标准将MAC层划分为eMAC和pMAC:eMAC支持快速帧,即高优先级数据,pMAC支持可抢占帧(普通帧),即低优先级数据,MAC层之下为MAC合并子层,MAC合并子层负责快速帧和普通帧的发送、接收、校验以及过滤等。MM_Ctrl.request服务原语定义了从MAC客户(MAC Client)到MAC合并子层保持或者释放流量的请求。服务原语即待发送数据对应的操作指令,由MAC层之上的MAC Client发起,MAC合并子层接收并执行相关操作。服务原语可携带相应的执行参数:当携带保持(Hold)参数时,将允许MAC合并子层进行帧抢占,MAC合并子层判断具体的抢占条件允许时,即可抢占普通帧,并且防止pMAC中新帧的发送直到收到携带释放(Release)参数的请求,当携带释放(Release)参数时,则允许MAC合并子层在eMAC没有快速帧发送时将发送pMAC中的普通帧,MAC合并子层将数据发送至协调子层(RS,Reconciliation Sublayer),再转发至物理层(PHY,

Physical)。

本实施例按照预先定义的优先级划分策略对数据进行优先级的划分,预先定义的优先级划分策略存储在系统的外部,可按实际业务的情况预先定义。例如优先级划分策略可以按以太网优先级进行划分,也可以按照业务报文的源IP地址、目的IP地址、源端口号以及目的端口号等进行划分。

802.3b标准中只包括eMAC和pMAC,但是设计人员可以根据需求在eMAC和pMAC中定义多个优先级队列。对预期时延进行初始化,即按照预先定义的时延等级对业务的预期时延进行设定,同一个时延等级的报文存储在同一个队列中,本发明实施例中,设置高优先级和低优先级两个队列分别与eMAC和pMAC对应,也可以根据实际需要扩充不同时延等级的队列数目。并且关联预期时延和对应的优先级队列中的待发数据,使待发数据的发送不产生冲突。

对来自MAC Client的MM_Ctrl.request服务原语抢占请求并非立即实施,而是根据预期时延和理论时延进行计算从而决定是否抢占以及抢占的时间,预期时延是指待发送的数据所在的优先级队列在初始化模块中设定的预期时延,表示时延的要求,理论时延是指待发送的数据按照当前的线路带宽情况,无干扰状态下所计算的发送时延,表示时延的消耗,该抢占时间是指收到待发送数据后,在保证eMAC数据的时延约束条件下,允许pMAC数据继续发送的时间/长度,在计算出抢占时间后,发送来自MAC Client的MM_Ctrl.request的服务原语,而服务原语的参数保持不变。

系统储存有多条待发数据,当获取到一条待发送数据时,根据其中一条待发数据的服务原语以及时延决定发送该待发送数据至MAC合并子层的时间。系统同一时间只获取一条服务原语,因此同一时间只处理一条待发数据,因此所有的待发数据系统逐一进行处理。

本发明以802.3br的帧抢占框架为基础,按照预先定义的优先级划分策略对数据进行优先级的划分,将eMAC和pMAC中队列的优先级进一步进行划分,然后通过对预期时延进行设定,使得待发数据有序地进行发送并且不产生冲突。根据时延约束条件,计算快速帧是否可以抢占普通帧以及具体的抢占时机。在保证快速帧的时延要求下,能够最大限度的减少普通帧被抢占的概率,从而降低系统整体的抢占开销,提高系统的吞吐量。同时,由于增加了普通帧竞争到通信线路使用的概率,使普通帧拥有更多的传送机会,保证不同业务之间的传输相对公平性。

本发明实施例中的另一种实施方式,抢占控制单元4包括:

识别子单元40,其用于接收服务原语,识别服务原语的执行参数;

发送子单元41,其用于当服务原语的执行参数是释放时,不发送第一待发数据;

分析子单元42,其用于当服务原语的执行参数是保持时,根据预期时延和理论时延计算是否进行抢占作业;

分析子单元42,其还用于当计算结果为不进行抢占时,不发送第一待发数据;

分析子单元42,其还用于当计算结果为进行抢占时,则判断发送第一待发数据的时机;

发送子单元41,其还用于当预期时延不大于理论时延时,则发送第一待发数据;

控制子单元43,其用于当预期时延大于理论时延时,则计算第一待发数据发送所需等待的抢占时间;

发送子单元41,其还用于等待抢占时间对应的时长后,发送第一待发数据。

本发明实施例中的另一种实施方式,控制子单元43包括:

数据调用模块430,获取第二待发数据的长度,并调用时延计算模块计算第二待发数据被抢占前所能发送的长度;

时间计算模块431,其用于当pMAC数据长度小于等于127字节时,则判断pMAC数据被抢占前所能发送的最大长度为0,设定抢占时间为0;

时间计算模块431,其还用于当第二待发数据的长度大于127字节时,根据预期时延和理论时延计算第二待发数据被抢占前所能发送的理论最大长度,比较理论最大长度、第二待发数据的长度与127字节之差,取较小值作为第二待发数据被抢占前时机所能发送的最大长度,设定发送最大长度数据的时间为抢占时间。

具体的,实际操作时,本实施例中,接收第一待发数据后,识别第一待发数据的对应的服务原语的执行参数,若服务原语的执行参数是释放,则不发送第一待发数据,若服务原语的执行参数是保持,则获取预期时延和理论时延,根据预期时延和理论时延计算是否进行抢占;

当计算结果为不进行抢占时,不发送第一待发数据,当计算结果为进行抢占时,计算发送第一待发数据的时间:当预期时延小于等于理论时延时,则立即发送第一待发数据,而当预期时延大于理论时延时,计算pMAC被抢占前所能发送的最大长度L(eMAC等待时间t),获取pMAC中第二待发数据长度(记为M),依据802.3br允许抢占的条件,若M小于等于127字节,该第二待发数据长度不足最小单位长度一帧,因此pMAC被抢占前所能发送的最大长度为0,立即发送第一待发数据,反之,若pMAC数据长度大于127字节,根据eMAC预期时延和理论时延的差值和线路带宽,计算pMAC被抢占前理论上所能发送的最大长度(记为L0),取(M-127)与L0之间的较小值作为pMAC被抢占前所能发送的最大长度,启动定时器,eMAC等待pMAC发送完长度为L的数据,等待时间为t,定时器到期后,发送第一待发数据至MAC合并子层,进而发送第一待发数据,本发明中时延的计算可以预留一定的裕度,这个裕度除了传输时延外,还可以包括一定的抢占时延等处理开销。

本发明实施例中的另一种实施方式,数据分类单元2,其具体用于获取各待发送数据,预设的优先级划分策略将各待发送数据分为第一待发送数据以及第二待发送数据,第一待发送数据优先级高于第二待发送数据;

数据分类单元2,其还具体用于将第一待发送数据存储至eMAC中,将第二待发送数据存储至pMAC中。

具体的,本实施例中,按照预设的优先级划分策略对待发送数据进行划分,分别将待发送数据划分至eMAC和pMAC中对应的优先级队列中,设定预期时延,关联预期时延和对应的优先级队列中的待发数据,使待发数据的发送不产生冲突,预期时延是为待发数据设定的时延;

获取预期时延,计算待发数据的理论时延,理论时延是理论上发送待发数据需要的时延;

接收第一待发送数据,根据预期时延和理论时延计算发送第一待发送数据的时间,按照计算时间发送第一待发送数据;

在计算出抢占时间后,就将来自MAC Client的MM_Ctrl.request的服务原语转发至MAC合并子层,MAC合并子层根据服务原语执行对应动作,识别第一待发送数据对应的执行参数,发送第一待发数据。

应当说明的是,上述实施例均可根据需要自由组合。以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:铁路电务专业数据可视化方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!