控制平面时间同步队列的服务速率控制方法和装置与流程

文档序号:12068019阅读:283来源:国知局
控制平面时间同步队列的服务速率控制方法和装置与流程

本发明涉及通信技术领域,具体涉及一种控制平面时间同步队列的服务速率控制方法和装置。



背景技术:

SDN(Software Defined Network,软件定义网络),是Emulex网络一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。

网络时间同步协议都存在同步报文往返测距延时不对称问题,具体表现在:①同步报文在网络中交换节点时延的不确定性。同步报文在经过传输介质、中继器、交换机和路由器等网络交换设备产生了往返路径时延,在网络负载发生变化时,同步测距报文需要与其他类型的报文在网络交换设备缓存中一起排队,造成节点时延不稳定,甚至会发生冲突、丢包,这些都会影响假设前提的成立。②同步报文受在网络中往返传播路径的不确定性。同步报文经过网络交换节点时,自由选择路由使得同步测距报文往返路径不一致,也会使得测距同步不准确。

目前IEEE1588协议能提供最高的时间同步精度,而未来智能电网遵循的61850规约中对于时间同步问题,已经给出了使用IEEE1588解决方案,并将其引入电力行业形成了IEEE61588协议。

IEEE1588协议中针对延时不对称提出的改进措施,采用硬件支持方案,IEEE1588协议中引入边界时钟和透明时钟机制来减少经过复杂网络而引起时延抖动,都需要专门的硬件支持。IEEE1588协议提出之初,主要应用与本地网络的测控系统的时钟同步。IEEE1588v引入边界时钟与同步终端节点之间实现逐级同步,减少了同步报文穿越造成的延时抖动,边界时钟还用于划分同步子域和连接底层通信技术不同的域,但这样容易产生时间误差的累计。它的第二个版本IEEE1588v2在v1版本基础上额外引入透明时钟则是通过测量同步报文的驻留时间(同步报文穿过透明时钟所需的时间)以及两个透明时钟间对应端口之间的传输时延,写入Follow_Up相应字段传递给从时钟完成修正。目前基于IEEE1588协议软件算法改进研究主要是将非对称链路时延认为是一种干扰噪声,设计相应的滤波算法;而采用固定时延思想的文章也都是在有硬件TC设备支持下才能实现。

如何克服同步报文往返测距延时不对称而出现延时抖动的现象,成为一个亟待解决的技术问题。



技术实现要素:

因此,本发明要解决的技术问题在于现有技术中因同步报文往返测距延时不对称而出现延时抖动的现象。从而提供一种控制平面时间同步队列的服务速率控制方法和装置。

有鉴于此,本发明实施例的第一方面提供了一种控制平面时间同步队列的服务速率控制方法,包括:根据预设标识建立时间同步队列;获取所述时间同步队列当前的第一预约服务速率和第一实际服务速率;判断所述第一实际服务速率是否大于所述第一预约服务速率;若所述第一实际服务速率大于所述第一预约服务速率,减小所述第一预约服务速率。

优选地,还包括:若所述第一实际服务速率小于所述第一预约服务速率,增大所述第一预约服务速率。

优选地,所述减小所述第一预约服务速率包括:获取所述时间同步队列的头部同步报文的预设固定延时;根据所述预设固定延时计算得到预约服务速率调整量;按照所述预约服务速率调整量减小所述第一预约服务速率。

优选地,所述增大所述第一预约服务速率包括:获取所述时间同步队列的头部同步报文的预设固定延时;根据所述预设固定延时计算得到预约服务速率调整量;按照所述预约服务速率调整量增大所述第一预约服务速率。

优选地,所述根据所述预设固定延时计算得到预约服务速率调整量包括:获取所述队列调度器的最大服务速率、剩余服务速率、所述预设固定延时、所述头部同步报文之前的每个同步报文的第一长度、所述头部同步报文之前的每个同步报文前插入的伪报文的第二长度、优先级高于所述时间同步队列的第一业务队列包含的每个业务报文的第三长度、所述第一业务队列的第二实际服务速率、优先级低于所述时间同步队列的第二业务队列包含的每个业务报文的第四长度以及所述第二业务队列的第三实际服务速率;根据所述预设固定延时、所述第一长度、所述第二长度、所述第三长度、所述第四长度、所述第二实际服务速率以及所述第三实际服务速率计算得到所述时间同步队列的目标实际服务速率;根据所述第一预约服务速率、所述最大服务速率、所述剩余服务速率和所述目标实际服务速率计算得到所述预约服务速率调整量。

优选地,采用如下公式计算得到所述目标实际服务速率:

其中,ri-real′是时间同步队列i的所述目标实际服务速率,是所述时间同步队列i的头部同步报文k的所述预设固定延时,是所述时间同步队列i的第k′个同步报文的所述第一长度,是所述第k′个同步报文前插入的伪报文的所述第二长度,是所述第一业务队列j包含的第k个业务报文的所述第三长度,是所述第二业务队列h包含的第k个业务报文的所述第四长度,rj-real是所述第一业务队列j的所述第二实际服务速率,rh-real是所述第二业务队列h的所述第三实际服务速率,k是大于1的正整数,k′是大于0且小于k的正整数,i是大于0的正整数,j是大于0且小于M的正整数,h是大于0且小于S的正整数。

优选地,采用如下公式计算得到所述预约服务速率调整量:

其中,Δri是时间同步队列i的所述预约服务速率调整量,ri是所述时间同步队列i的所述第一预约服务速率,rmax是所述最大服务速率,rremain是所述剩余速率,ri-real′是所述时间同步队列i的所述目标实际服务速率,i是大于0的正整数。

本发明实施例的第二方面提供了一种控制平面时间同步队列的服务速率控制装置,包括:建立模块,用于根据预设标识建立时间同步队列;获取模块,用于获取所述时间同步队列当前的第一预约服务速率和第一实际服务速率;判断模块,用于判断所述第一实际服务速率是否大于所述第一预约服务速率;减小模块,用于若所述第一实际服务速率大于所述第一预约服务速率,减小所述第一预约服务速率。

优选地,还包括:增大模块,用于若所述第一实际服务速率小于所述第一预约服务速率,增大所述第一预约服务速率。

优选地,所述减小模块包括:第一获取单元,用于获取所述时间同步队列的头部同步报文的预设固定延时;第一计算单元,用于根据所述预设固定延时计算得到预约服务速率调整量;减小单元,用于按照所述预约服务速率调整量减小所述第一预约服务速率。

优选地,所述增大模块包括:第二获取单元,用于获取所述时间同步队列的头部同步报文的预设固定延时;第二计算单元,用于根据所述预设固定延时计算得到预约服务速率调整量;增大单元,用于按照所述预约服务速率调整量增大所述第一预约服务速率。

优选地,所述根据所述预设固定延时计算得到预约服务速率调整量包括:获取所述队列调度器的最大服务速率、剩余服务速率、所述预设固定延时、所述头部同步报文之前的每个同步报文的第一长度、所述头部同步报文之前的每个同步报文前插入的伪报文的第二长度、优先级高于所述时间同步队列的第一业务队列包含的每个业务报文的第三长度、所述第一业务队列的第二实际服务速率、优先级低于所述时间同步队列的第二业务队列包含的每个业务报文的第四长度以及所述第二业务队列的第三实际服务速率;根据所述预设固定延时、所述第一长度、所述第二长度、所述第三长度、所述第四长度、所述第二实际服务速率以及所述第三实际服务速率计算得到所述时间同步队列的目标实际服务速率;根据所述第一预约服务速率、所述最大服务速率、所述剩余服务速率和所述目标实际服务速率计算得到所述预约服务速率调整量。

优选地,采用如下公式计算得到所述目标实际服务速率:

其中,ri-real′是时间同步队列i的所述目标实际服务速率,是所述时间同步队列i的头部同步报文k的所述预设固定延时,是所述时间同步队列i的第k′个同步报文的所述第一长度,是所述第k′个同步报文前插入的伪报文的所述第二长度,是所述第一业务队列j包含的第k个业务报文的所述第三长度,是所述第二业务队列h包含的第k个业务报文的所述第四长度,rj-real是所述第一业务队列j的所述第二实际服务速率,rh-real是所述第二业务队列h的所述第三实际服务速率,k是大于1的正整数,k′是大于0且小于k的正整数,i是大于0的正整数,j是大于0且小于M的正整数,h是大于0且小于S的正整数。

优选地,采用如下公式计算得到所述预约服务速率调整量:

其中,Δri是时间同步队列i的所述预约服务速率调整量,ri是所述时间同步队列i的所述第一预约服务速率,rmax是所述最大服务速率,rremain是所述剩余速率,ri-real′是所述时间同步队列i的所述目标实际服务速率,i是大于0的正整数。

本发明的技术方案具有以下优点:

本发明实施例提供的控制平面时间同步队列的服务速率控制方法和装置,通过构建一种独立的时间同步队列,并实时将获取到的该时间同步队列的第一实际服务速率与其第一预约服务速率进行比较,在第一实际服务速率与第一预约服务速率不相等时,根据需要实时调整第一预约服务速率的大小,使第一实际服务速率趋近于第一预约服务速率,从而控制该时间同步队列的头部同步报文进入交换节点的时间,以使同步报文在交换机中有确定的预设固定延时,进而实现防止延时抖动的效果,在不占用交换机的有效带宽条件下,不仅达到了消耗同步报文的等待“时间”的目的,而且减少了队列尾部丢弃同步包的可能性。

附图说明

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

图1为本发明实施例1的控制平面时间同步队列的服务速率控制方法的一个流程图;

图2为本发明实施例1的时间同步队列获得实际服务速率的示意图;

图3为本发明实施例1的减少同步报文尾部丢弃的过程示意图;

图4为本发明实施例1的控制平面时间同步队列的服务速率控制方法的另一个流程图;

图5为本发明实施例2的控制平面时间同步队列的服务速率控制装置的一个框图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

实施例1

本实施例提供一种电网可靠性分析方法,适用于对电网系统可靠性进行分析,如图1所示,该方法包括如下步骤:

S11:根据预设标识建立时间同步队列;具体地,在交换机输入端口构建以“目的地为区分(即预设标识)”的独立的虚拟时间同步队列(即时间同步队列),以区分与交换机其它类型的业务队列,目的地区分防止了在同一交换机中的不同同步报文流之间的阻塞。

S12:获取时间同步队列当前的第一预约服务速率和第一实际服务速率;具体地,如图2所示,当同步报文进入同步队列时则构成虚拟时间同步队列i∈[1,N](即时间同步队列),该时间同步队列工作方法是:(a)进入虚拟同步队列的同步报文使该时间同步队列进入Backlog状态(这里具体是指该时间同步队列的头部同步报文处于等待发送状态,即时间同步队列已获得调度服务资源并且头部同步报文存在需要被调度转发的报文),队列控制器向队列调度器发送处于backlog状态的VTQ预约速率ri(具体指时间同步队列i的第一预约服务速率),该第一预约服务速率等于该当前头部同步报文长度除以该同步报文的等待时间;队列调度器根据公平算法原则计算VTSQ实际速率ri-real(具体指时间同步队列i当前的第一实际服务速率),具体地,可以采用如下公式计算ri-real

其中,rremain是队列调度器的剩余服务速率,rmax是队列调度器的最大服务速率,然后队列调度器向队列控制器返回VTSQ实际速率。

S13:判断第一实际服务速率是否大于第一预约服务速率,具体地,队列控制器将步骤S12中队列调度器返回的第一实际服务速率与第一预约服务速率进行大小比较,如果前者大于后者,则进入步骤S14,否则进入步骤S15。

S14:若第一实际服务速率大于第一预约服务速率,减小第一预约服务速率。如果第一实际服务速率大于第一预约服务速率,说明第一实际服务速率过大,比如第一预约服务速率为2M,而第一实际服务速率是3M,这种情况会造成调度资源的浪费,通过减小第一预约服务速率不仅可以使第一实际服务速率趋近于第一预约服务速率,进而使同步报文在交换机中有确定的预设固定延时以实现防止延时抖动的效果,而且可以合理利用调度资源,提高队列调度效率。

作为一种优选方案,步骤S14可以具体包括:获取时间同步队列的头部同步报文的预设固定延时;根据预设固定延时计算得到预约服务速率调整量;按照预约服务速率调整量减小第一预约服务速率。即根据头部同步报文的预设固定延时来确定预约服务速率调整量,具体地,获取队列调度器的最大服务速率、剩余服务速率、预设固定延时、头部同步报文之前的每个同步报文的第一长度、头部同步报文之前的每个同步报文前插入的伪报文的第二长度、优先级高于时间同步队列的第一业务队列包含的每个业务报文的第三长度、第一业务队列的第二实际服务速率、优先级低于时间同步队列的第二业务队列包含的每个业务报文的第四长度以及第二业务队列的第三实际服务速率;首先,根据预设固定延时、第一长度、第二长度、第三长度、第四长度、第二实际服务速率以及第三实际服务速率计算得到时间同步队列的目标实际服务速率,由于上述各个量之间存在如下关系:

因此可以采用如下公式计算目标实际服务速率:

其中,ri-real′是时间同步队列i的目标实际服务速率,是时间同步队列i的头部同步报文k的预设固定延时,是时间同步队列i的第k′个同步报文的第一长度,是第k′个同步报文前插入的伪报文的第二长度,是第一业务队列j包含的第k个业务报文的第三长度,是第二业务队列h包含的第k个业务报文的第四长度,rj-real是第一业务队列j的第二实际服务速率,rh-real是第二业务队列h的第三实际服务速率,k是大于1的正整数,k′是大于0且小于k的正整数,i是大于0的正整数,j是大于0且小于M的正整数,h是大于0且小于S的正整数。然后,根据第一预约服务速率、最大服务速率、剩余服务速率和目标实际服务速率计算得到预约服务速率调整量,由于上述各个量之间存在如下关系:

因此,可以采用如下公式计算预约服务速率调整量:

其中,Δri是时间同步队列i的预约服务速率调整量,ri是时间同步队列i的第一预约服务速率,rmax是最大服务速率,rremain是剩余速率,ri-real′是时间同步队列i的目标实际服务速率,i是大于0的正整数,设ri′是调整后的预约服务速率,可知ri′=ri+Δri

S15:还包括:若第一实际服务速率小于第一预约服务速率,增大第一预约服务速率。如果第一实际服务速率小于第一预约服务速率,说明第一实际服务速率不够用,则通过增大第一预约服务速率可以使第一实际服务速率趋近于第一预约服务速率,在保证同步报文在交换机中有确定的预设固定延时以实现防止延时抖动的同时,避免了出现数据传输错误,保证队列调动工作正常进行。

作为一种优选方案,步骤S15可以包括:获取时间同步队列的头部同步报文的预设固定延时;根据预设固定延时计算得到预约服务速率调整量;按照预约服务速率调整量增大第一预约服务速率。即根据头部同步报文的预设固定延时来确定预约服务速率调整量,具体地,可以采用与本实施例中步骤S14的优选方案同样地方式计算该预约服务速率调整量,具体参见本实施例中对步骤S14的优选方案的相关详细描述。

作为一种优选方案,本实施例中建立的时间同步队列的工作原则是:以虚拟时间同步队列i∈[1,N]为基准,将优先级高于它的高优先级队列用队列j∈[1,M]表示,优先级低于它的低优先级队列用队列h∈[1,S]表示,根据优先级进入队列调度器,当交换机有同步报文和其它业务报文发送时,公平调度算法根据各个报文的虚拟时标值VC的大小确定发送先后次序,以报文发送完毕为公平原则;当交换机中仅有同步报文,则可以在该时间同步队列中插入内容为空的伪报文,该伪报文的长度等于交换机带宽乘以该伪报文的等待时间,还可以采用如下公式对该伪报文的长度进行修正,以更加准确地控制同步报文在时间同步队列中的等待时间:

其中,是在时间同步队列i的头部同步报文k前插入的伪报文的长度,由于本方案调整的是预约服务速率,因此,能减少可能出现的尾部丢弃同步包问题,如图3所示,case1中表示不调整预约服务速率时,在同步包(即时间同步队列i的第k个同步报文)前插入PSP包(即伪报文)的情况,会存在同步包(即时间同步队列i的第k′个同步报文,其预设固定延时为)被丢弃的情况,而如case2所示,为调整预约服务速率时的情况,使得本应被丢弃的同步包由于预约服务速率发生变化而满足其预设固定延时的要求而不被丢弃,如图4所示,具体实施流程如下:

S401:数据包到达,即数据包(报文)到达队列控制器;

S402:获取头部信息进行分类,此对于同步报文的处头部信息即为预设标识“目的地为区分”。

S403:更新虚拟时间标签,即根据数据包的具体信息更新对应的时标。

S404:判断是否为同步报文,即根据头部信息对数据包中的报文进行判断,如果是进入步骤S405,否则结束。

S405:如果是同步报文,则控制该同步报文进入虚拟时间同步队列。

S406:计算预约服务速率调整量。

S407:判断此时剩余服务速率rremain是否等于0,如果是,进入步骤S411,否则,进入步骤S408。

S408:判断时间同步队列i的头部同步报文k前插入的伪报文的长度是否大于或等于0,若是则进入步骤S409,否则进入步骤S412。

S409:在该同步报文前插入PSP包。

S410:PSP包离开。

S411:该同步报文离开。

S412:丢该弃同步报文。

本实施例提供的控制平面时间同步队列的服务速率控制方法,通过构建一种独立的时间同步队列,并实时将获取到的该时间同步队列的第一实际服务速率与其第一预约服务速率进行比较,在第一实际服务速率与第一预约服务速率不相等时,根据需要实时调整第一预约服务速率的大小,使第一实际服务速率趋近于第一预约服务速率,从而控制该时间同步队列的头部同步报文进入交换节点的时间,以使同步报文在交换机中有确定的预设固定延时,进而实现防止延时抖动的效果,在不占用交换机的有效带宽条件下,不仅达到了消耗同步报文的等待“时间”的目的,而且减少了队列尾部丢弃同步包的可能性。

实施例2

本实施例供了一种控制平面时间同步队列的服务速率控制装置,如图5所示,该装置包括:建立模块51、获取模块52、判断模块53、减小模块54和增大模块55,各模块主要功能如下:

建立模块51,用于根据预设标识建立时间同步队列,具体参见实施例1中对步骤S11的详细描述。

获取模块52,用于获取时间同步队列当前的第一预约服务速率和第一实际服务速率,具体参见实施例1中对步骤S12的详细描述。

判断模块53,用于判断第一实际服务速率是否大于第一预约服务速率,具体参见实施例1中对步骤S13的详细描述。

减小模块54,用于若第一实际服务速率大于第一预约服务速率,减小第一预约服务速率,具体参见实施例1中对步骤S14的详细描述。

作为一种优选方案,还包括:增大模块55,用于若第一实际服务速率小于第一预约服务速率,增大第一预约服务速率,具体参见实施例1中对步骤S15的详细描述。

作为一种优选方案,减小模块54包括:第一获取单元541,用于获取时间同步队列的头部同步报文的预设固定延时;第一计算单元542,用于根据预设固定延时计算得到预约服务速率调整量;减小单元543,用于按照预约服务速率调整量减小第一预约服务速率。具体参见实施例1中对步骤S14优选方案的相关详细描述。

作为一种优选方案,增大模块55包括:第二获取单元551,用于获取时间同步队列的头部同步报文的预设固定延时;第二计算单元552,用于根据预设固定延时计算得到预约服务速率调整量;增大单元553,用于按照预约服务速率调整量增大第一预约服务速率。具体参见实施例1中对步骤S15优选方案的相关详细描述。

作为一种优选方案,根据预设固定延时计算得到预约服务速率调整量包括:获取队列调度器的最大服务速率、剩余服务速率、预设固定延时、头部同步报文之前的每个同步报文的第一长度、头部同步报文之前的每个同步报文前插入的伪报文的第二长度、优先级高于时间同步队列的第一业务队列包含的每个业务报文的第三长度、第一业务队列的第二实际服务速率、优先级低于时间同步队列的第二业务队列包含的每个业务报文的第四长度以及第二业务队列的第三实际服务速率;根据预设固定延时、第一长度、第二长度、第三长度、第四长度、第二实际服务速率以及第三实际服务速率计算得到时间同步队列的目标实际服务速率;根据第一预约服务速率、最大服务速率、剩余服务速率和目标实际服务速率计算得到预约服务速率调整量。具体参见实施例1中的相关详细描述。

作为一种优选方案,采用如下公式计算得到目标实际服务速率:

其中,ri-real′是时间同步队列i的目标实际服务速率,是时间同步队列i的头部同步报文k的预设固定延时,是时间同步队列i的第k′个同步报文的第一长度,是第k′个同步报文前插入的伪报文的第二长度,是第一业务队列j包含的第k个业务报文的第三长度,是第二业务队列h包含的第k个业务报文的第四长度,rj-real是第一业务队列j的第二实际服务速率,rh-real是第二业务队列h的第三实际服务速率,k是大于1的正整数,k′是大于0且小于k的正整数,i是大于0的正整数,j是大于0且小于M的正整数,h是大于0且小于S的正整数。具体参见实施例1中的相关详细描述。

作为一种优选方案,采用如下公式计算得到预约服务速率调整量:

其中,Δri是时间同步队列i的预约服务速率调整量,ri是时间同步队列i的第一预约服务速率,rmax是最大服务速率,rremain是剩余速率,ri-real′是时间同步队列i的目标实际服务速率,i是大于0的正整数。具体参见实施例1中的相关详细描述。

本实施例提供的控制平面时间同步队列的服务速率控制装置,通过构建一种独立的时间同步队列,并实时将获取到的该时间同步队列的第一实际服务速率与其第一预约服务速率进行比较,在第一实际服务速率与第一预约服务速率不相等时,根据需要实时调整第一预约服务速率的大小,使第一实际服务速率趋近于第一预约服务速率,从而控制该时间同步队列的头部同步报文进入交换节点的时间,以使同步报文在交换机中有确定的预设固定延时,进而实现防止延时抖动的效果,在不占用交换机的有效带宽条件下,不仅达到了消耗同步报文的等待“时间”的目的,而且减少了队列尾部丢弃同步包的可能性。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1