一种获取队列长度的方法、设备及计算机可读存储介质技术

技术编号:21166910 阅读:28 留言:0更新日期:2019-05-22 09:37
本发明专利技术实施例公开了一种获取队列长度的方法,该方法包括:获取第一预设时间段内OpenFlow交换机端口队列的入队数据增量和出队数据增量;其中,所述第一预设时间段是指当前时刻与前一时刻之间的时间长度;利用所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量和出队数据增量以及第二预设时间段内所述OpenFlow交换机端口队列的队列长度,计算所述OpenFlow交换机端口队列的实时队列长度;其中,所述第二预设时间段为所述第一预设时间段的前一时间段。该方法能够获取更加准确的实时队列长度,从而提高带宽资源的利用率和网络服务质量。同时,本发明专利技术实施例还公开了一种获取队列长度的设备和计算机可读存储介质。

A Method, Equipment and Computer Readable Storage Medium for Obtaining Queue Length

The embodiment of the present invention discloses a method for obtaining queue length, which includes: acquiring the increment of incoming and outgoing data of the OpenFlow switch port queue in the first preset time period; in which the first preset time period refers to the time length between the current time and the previous time; and utilizing the port queue of the OpenFlow switch in the first preset time period; The real-time queue length of the OpenFlow switch port queue is calculated by the increment of incoming and outgoing data and the queue length of the OpenFlow switch port queue in the second preset period, where the second preset period is the preceding period of the first preset period. This method can obtain more accurate real-time queue length, thus improving the utilization of bandwidth resources and network quality of service. At the same time, the embodiment of the present invention also discloses a device for acquiring queue length and a computer readable storage medium.

【技术实现步骤摘要】
一种获取队列长度的方法、设备及计算机可读存储介质
本专利技术涉及通信
,尤其涉及一种获取队列长度的方法、设备及计算机可读存储介质。
技术介绍
在软件定义网络(SDN,SoftwareDefinedNetwork)中,OpenFlow交换机的端口支持添加优先队列,如图1所示,通常情况下,每个OpenFlow交换机端口的队列数为3,各队列允许分配不同的带宽,所有队列带宽总和不超过端口总带宽,队列带宽的大小将直接决定了该队列转发数据的能力。从图1中可以看出,在数据层面,每当有新数据包到达交换机时,交换机将数据包头部的目的地址与流表(类似传统网络设备中的路由表)中的流表项匹配域进行逐个匹配,一旦匹配成功,数据包将按照流表项指定的动作集进行直接输出(output)、入队(set_queue)、洪范(flood)、丢弃(drop)等操作。如果是入队操作,则数据包头中包含优先级信息,不同优先级的数据包进入不同带宽的队列,从而保证高优先级的数据包在网络拥塞时依然享有较大带宽,保持较低的转发时延。基于此,为了提供更好的服务质量,充分利用端口带宽资源,OpenFlow交换机端口上各个队列的带宽分配策略显得尤为重要。我们知道,带宽分配策略的基础是队列当前的排队时延,而队列当前的排队时延是根据如下公式(1)得到的,即队列当前的排队时延t等于队列当前的平均队列长度AvgQ1和当前队列带宽bw1的比值;t=AvgQ1/bw1(1)其中,队列当前的平均队列长度AvgQ1计算公式如下式(2)所示:AvgQ1=(1-wq)*AvgQ0+wq*qLen1(2)式中,AvgQ0为队列前一时刻的平均队列长度,qLen1为队列当前的队列长度(即实时队列长度),wq为权值,用于衡量实时队列长度qLen1对队列当前的平均队列长度AvgQ1的影响程度,其大小根据实际网络状况和系统特性而定。从上式(2)中可以看出,求取队列当前的平均队列长度的基础是队列当前的队列长度,也就是实时队列长度qLen1。然而,OpenFlow协议并没有提供直接获取实时队列长度的接口方法,实时队列长度是通过间接计算得到的,在现有的实时队列长度计算方法中,实时队列长度qLen1是根据如下公式(3)得到的,即实时队列长度qLen1等于截止某一时刻进入队列的累计字节数in_Byte1(即入队累计字节数)减去同一时刻出队列的累计字节数out_Byte1(即出队累计字节数)。qLen1=in_Byte1-out_Byte1(3)由上式(3)可知,现有的实时队列长度计算方法,其要求入队累计数据量和出队累计数据量必须是同步获取的,即必须在同一时刻获取入队累计数据量和出队累计数据量。但是,在实际应用中,是无法保证获取的出入队数据是同一时刻的,如图2所示,在一次查询中,包括队列的入队累计数据量和出队累计数据量的查询,从图中所示的时间线来看,查询入队累计数据量和出队累计数据量的时间难免会有一定的时间差,导致查询的入队累计数据量比实际的入队累计数据量大,或者,查询的出队累计数据量比实际的出队累计数据量小,进而使得实际获取的实时队列长度qLen1具有一定误差。另外,在队列出现拥塞时会有部分数据包丢失,而此时在计算实时队列长度时,由于上式(3)中的in_Byte1和out_Byte1是截止到某一时刻的累计值,因此丢失部分也会被计算在进出队列的差值中;并且,随着时间的累积丢包数是累加的,如此将会导致获取的实时队列长度的误差越来越大。由以上三个公式可知,如果实时队列长度qLen1获取不准确将直接导致OpenFlow交换机端口队列当前的排队时延计算失误,在此基础上将无法有效地利用带宽分配策略分配带宽资源,从而导致带宽资源利用率严重下降,影响网络服务质量。
技术实现思路
为解决上述技术问题,本专利技术实施例期望提供一种获取队列长度的方法、设备及计算机可读存储介质,旨在能够获取更加准确的实时队列长度,从而提高带宽资源的利用率和网络服务质量。本专利技术的技术方案是这样实现的:第一方面,本专利技术实施例提供了一种获取队列长度的方法,该方法包括:获取第一预设时间段内OpenFlow交换机端口队列的入队数据增量和出队数据增量;其中,所述第一预设时间段是指当前时刻与前一时刻之间的时间长度;利用所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量和出队数据增量以及第二预设时间段内所述OpenFlow交换机端口队列的队列长度,计算所述OpenFlow交换机端口队列的实时队列长度;其中,所述第二预设时间段为所述第一预设时间段的前一时间段。在上述方案中,所述获取第一预设时间段内OpenFlow交换机端口队列的入队数据增量和出队数据增量,具体包括:获取当前时刻和前一时刻所述OpenFlow交换机端口队列的入队累计数据量和出队累计数据量;根据所述当前时刻和前一时刻获取的所述OpenFlow交换机端口队列的入队累计数据量和出队累计数据量,分别计算所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量和出队数据增量。在上述方案中,所述根据所述当前时刻和前一时刻获取的所述OpenFlow交换机端口队列的入队累计数据量和出队累计数据量,分别计算所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量和出队数据增量,具体包括:将所述当前时刻获取的所述OpenFlow交换机端口队列的入队累计数据量减去所述前一时刻获取的所述OpenFlow交换机端口队列的入队累计数据量后所得的数值作为所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量;以及,将所述当前时刻获取的所述OpenFlow交换机端口队列的出队累计数据量减去所述前一时刻获取的所述OpenFlow交换机端口队列的出队累计数据量后所得的数值作为所述第一预设时间段内所述OpenFlow交换机端口队列的出队数据增量。在上述方案中,所述利用所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量和出队数据增量以及第二预设时间段内所述OpenFlow交换机端口队列的队列长度,计算所述OpenFlow交换机端口队列的实时队列长度,具体包括:将所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量和出队数据增量以及第二预设时间段内所述OpenFlow交换机端口队列的队列长度代入如下公式(4)计算得到所述OpenFlow交换机端口队列的实时队列长度在上述方案中,所述方法还包括:将所述第二预设时间段所计算的所述OpenFlow交换机端口队列的平均队列长度和所述OpenFlow交换机端口队列的实时队列长度代入如下公式(5)计算得到所述OpenFlow交换机端口队列当前的平均队列长度式中,wq为权值,取值范围为(0,1);获取所述OpenFlow交换机端口队列的当前队列带宽;将所述OpenFlow交换机端口队列当前的平均队列长度和所述OpenFlow交换机端口队列的当前队列带宽代入如下公式(6)计算得到所述OpenFlow交换机端口队列的当前排队时延t:根据所述OpenFlow交换机端口队列的当前排队时延为所述OpenFlow交换机端口队列重新分配带宽。第二方面,本专利技术实施例提供了一种获取队列长度的装置,所述装置包括:数据增量获本文档来自技高网
...

【技术保护点】
1.一种获取队列长度的方法,其特征在于,所述方法包括:获取第一预设时间段内OpenFlow交换机端口队列的入队数据增量和出队数据增量;其中,所述第一预设时间段是指当前时刻与前一时刻之间的时间长度;利用所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量和出队数据增量以及第二预设时间段内所述OpenFlow交换机端口队列的队列长度,计算所述OpenFlow交换机端口队列的实时队列长度;其中,所述第二预设时间段为所述第一预设时间段的前一时间段。

【技术特征摘要】
1.一种获取队列长度的方法,其特征在于,所述方法包括:获取第一预设时间段内OpenFlow交换机端口队列的入队数据增量和出队数据增量;其中,所述第一预设时间段是指当前时刻与前一时刻之间的时间长度;利用所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量和出队数据增量以及第二预设时间段内所述OpenFlow交换机端口队列的队列长度,计算所述OpenFlow交换机端口队列的实时队列长度;其中,所述第二预设时间段为所述第一预设时间段的前一时间段。2.根据权利要求1所述的方法,其特征在于,所述获取第一预设时间段内OpenFlow交换机端口队列的入队数据增量和出队数据增量,具体包括:获取当前时刻和前一时刻所述OpenFlow交换机端口队列的入队累计数据量和出队累计数据量;根据所述当前时刻和前一时刻获取的所述OpenFlow交换机端口队列的入队累计数据量和出队累计数据量,分别计算所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量和出队数据增量。3.根据权利要求2所述的方法,其特征在于,所述根据所述当前时刻和前一时刻获取的所述OpenFlow交换机端口队列的入队累计数据量和出队累计数据量,分别计算所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量和出队数据增量,具体包括:将所述当前时刻获取的所述OpenFlow交换机端口队列的入队累计数据量减去所述前一时刻获取的所述OpenFlow交换机端口队列的入队累计数据量后所得的数值作为所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量;以及,将所述当前时刻获取的所述OpenFlow交换机端口队列的出队累计数据量减去所述前一时刻获取的所述OpenFlow交换机端口队列的出队累计数据量后所得的数值作为所述第一预设时间段内所述OpenFlow交换机端口队列的出队数据增量。4.根据权利要求1所述的方法,其特征在于,所述利用所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量和出队数据增量以及第二预设时间段内所述OpenFlow交换机端口队列的队列长度,计算所述OpenFlow交换机端口队列的实时队列长度,具体包括:将所述第一预设时间段内所述OpenFlow交换机端口队列的入队数据增量和出队数据增量以及第二预设时间段内所述OpenFlow交换机端口队列的队列长度代入如下公式(1)计算得到所述OpenFlow交换机端口队列的实时队列长度5.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述第二预设时间段所计算的所述OpenFlow交换机端口队列的平均队列长度和所述OpenFlow交换机端口队列的实时队列长度代入如下公式(2)计算得到所述OpenFlow交换机端口队列当前的平均队列长度式中,wq为权值,取值范围为(0,1);获取所述OpenFlow交换机端口队列的当前队列带宽;将所述OpenFlow交换机端口队列当前的平均队列长度和所述OpenFlow交换机端口队列的当前队列带宽代入如下公式(3)计算得到所述OpenFlow交换机端口队列的当前排队时延t:根据所述OpenFlow交换机端口队列的当前排队时延为所述OpenFlow交换机端口队列重新分配带宽。6.一种获取队列长度的装置,其特征在于,所述装置包括:数据增量获取模块和实时队列长度计算模块;其中,所述数据增量获取模块,配置为获取第一预设时间段内OpenFlo...

【专利技术属性】
技术研发人员:魏冰李小文孔令军韩波杨帅
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1