确定数据转发路径的方法、电子设备以及存储介质与流程

文档序号:21719570发布日期:2020-08-05 01:08阅读:159来源:国知局
确定数据转发路径的方法、电子设备以及存储介质与流程

本发明实施例涉及通信技术领域,特别涉及一种确定数据转发路径的方法、电子设备以及存储介质。



背景技术:

目前,软件定义网络(softwaredefinednetwork,sdn)中的服务质量(qualityofservice,qos)保障方案通过将交换机所统计的流量信息上交至控制器,由控制器对原始数据进行处理、分析,根据计算所得的实时全局拓扑与流量分布信息,通过下发特定流表项对具有qos需求的数据流量进行资源预留、优先级提升以及重定向等操作。

然而,发明人发现:一方面,现有的sdn网络中将绝大部分的计算集中在控制器上进行,当数据流量出现爆发时,较高的计算负担会导致控制器的性能下降,处理速度变慢,进而影响qos;另一方面,现有的sdn网络通过实时检测数据流量分布信息,并在检测到网络拥塞并进行qos保障方案,该方案相对于已经发生的流量爆发具有一定的滞后性,当检测到网络拥塞时,qos已经受到影响。综上,现有的sdn网络的服务质量保障方案无法在流量爆发时保障服务质量,sdn的可靠性低。



技术实现要素:

本发明实施方式的目的在于提供一种确定数据转发路径的方法、电子设备以及存储介质,优化sdn网络的服务质量保障方案,使得sdn网络的可靠性提升。

为解决上述技术问题,本发明的实施方式提供了一种确定数据转发路径的方法,应用于软件定义网络中的交换机,包括:获取历史时期的数据流量;根据所述历史时期的数据流量预测预设时间段的数据流量;将所述预设时间段的数据流量的预测值发送至控制器,以供所述控制器确定数据转发路径。

本发明的实施方式还提供了一种确定数据转发路径的方法,应用于软件定义网络中的控制器,包括:接收交换机发送的预设时间段的数据流量的预测值;根据所述预设时间段的数据流量的预测值确定数据转发路径。

本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述确定数据转发路径的方法。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述确定数据转发路径的方法。

本发明实施方式相对于现有技术而言,软件定义网络中的交换机获取历史时期的数据流量,根据历史时期的数据流量预测预设时间段的数据流量,将预设时间段的数据流量的预测值发送至控制器,以供控制器确定数据转发路径。通过交换机进行数据流量预测,并将预测值发送至控制器,一方面,由于有关流量预测的计算由交换机完成,控制器的计算负担小,能够避免流量爆发时控制器由于计算量过大而性能下降,处理速度变慢;另一方面,sdn网络可以根据流量预测值提前确定并更新数据转发路径,保证流量爆发时sdn网络的服务质量不会受到影响,从而提升了sdn网络的可靠性。

另外,所述获取历史时期的数据流量,包括:获取历史时期的第一周期的数据流量和第二周期的数据流量,所述第二周期位于所述第二周期之后;所述根据所述历史时期的数据流量预测预设时间段的数据流量,包括:根据所述第一周期和所述第二周期的数据流量预测预设时间段的数据流量。通过获取并根据历史时期的两个连续周期的数据流量预测预设时间段的流量,如此设置,交换机可以在进行周期性数据更新时,利用上一周期和当前周期的数据流量进行预测,不需要设置额外的用于存储历史时期的数据流量的内存空间,并且数据的采集难度低。

另外,所述获取历史时期的第一周期的数据流量和第二周期的数据流量,包括:在流表中获取预先记录的第一周期的数据流量;统计第二周期的数据流量,并根据所述第二周期的数据流量更新所述流表。

另外,所述根据所述第一周期和所述第二周期的数据流量预测预设时间段的数据流量,包括:用所述第二周期的数据流量减去所述第一周期的数据流量,得到第二周期的数据流量增量;对所述第二周期的数据流量和所述第二周期的数据流量增量进行求和,得到预设时间段的数据流量的预测值。通过加减计算得到预设时间段的数据流量预测值,在保证预测值能够正确反映流量变化趋势的情况下,进行预测的计算复杂度低、计算速度快,对交换机造成的计算负担较小。

另外,所述将所述预设时间段的数据流量的预测值发送至控制器之后,还包括:接收所述控制器发送的反馈信息;根据所述反馈信息更新数据转发路径。通过在控制器根据该预测值确定数据转发路径后,交换机接收控制器的反馈信息并及时更新数据转发路径,从而使得在流量爆发时更新后的转发路径能够保障服务质量。

另外,所述根据所述预设时间段的数据流量的预测值确定数据转发路径,包括:判断所述预测值是否超过预设阈值,如果是,则重新确定数据转发路径;如果否,则保持当前数据转发路径。

另外,所述重新确定数据转发路径之后,还包括:基于所述预设时间段的数据流量的预测值生成反馈信息;将所述反馈信息发送至所述交换机,所述反馈信息包括重新确定的数据转发路径。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。

图1是根据现有技术中正常情况下sdn网络的数据转发路径示意图;

图2是根据现有技术中网络拥塞情况下sdn网络的数据转发路径示意图;

图3是根据本发明第一实施方式的确定数据转发路径的方法的流程示意图;

图4是根据本发明第二实施方式的确定数据转发路径的方法的流程示意图;

图5是根据本发明第二实施方式的原始的openflow流表结构的示意图;

图6是根据本发明第二实施方式的改进的openflow流表结构的示意图;

图7是根据本发明第三实施方式的确定数据转发路径的方法的流程示意图;

图8是根据本发明第三实施方式的处理时延与接收数据量的关系图;

图9是根据本发明第四实施方式的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本方案所针对的是在sdn网络中可能由于网络拥塞(即数据流量爆发)引起服务质量下降的问题。图1和图2分别为现有技术中,正常情况的sdn网络的数据转发路径与网络拥塞情况下执行保障带宽与时延方案后的sdn网络的数据转发路径。

如图1所示,正常情况下,用户1发送信息(要求高带宽)至交换机s1,经由交换机s2转发至与用户3匹配的交换机s5,再由s5发送至用户3;用户2发送信息(要求低时延)至交换机s1,经由交换机s2转发至与用户4匹配的交换机s5,再由s5发送至用户4。在上述数据转发过程中,由于数据流量较少,仅通过交换机s2足以满足带宽与时延的qos要求。

如图2所示,发生网络拥塞的情况下,在高带宽要求的数据流量增加而导致qos无法得到保障时,控制器通过向交换机s1下发流表将流量定向至s3与s4从而保障带宽与时延。

然而,现有技术中sdn网络检测到网络拥塞状况并启动数据流量重定向时,sdn网络中已经发生网络堵塞,qos已经受到影响;并且,当控制器管理的交换机数量较多且流表的规模较大时,控制器在进行数据流量的重定向时需要进行大量取值操作与计算操作,计算负担较大,会导致控制器的性能下降,处理速度降低。

针对上述问题,本发明的第一实施方式涉及一种数据转发路径的方法,应用于软件定义网络中的交换机,包括:获取历史时期的数据流量;根据历史时期的数据流量预测预设时间段的数据流量;将预设时间段的数据流量的预测值发送至控制器,以供控制器确定数据转发路径。本实施方式能够优化sdn网络的服务质量保障方案,使得sdn网络的可靠性提升。

下面对本实施方式的确定数据转发路径的方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。

本实施方式中的确定数据转发路径的方法如图3所示,包括:

步骤101:获取历史时期的数据流量。

具体地说,交换机在已经记录或者存储的数据流量信息中,采集预设的历史时期的数据流量。

步骤102:根据所述历史时期的数据流量预测预设时间段的数据流量。

具体地说,交换机根据上一步骤获取到的历史时期的数据流量,预测预设时间段的数据流量。在本步骤中,交换机可以基于预设的数学模型或者算法,预测预设时间段的数据流量。

步骤103:将所述预设时间段的数据流量的预测值发送至控制器,以供所述控制器确定数据转发路径。

具体地说,交换机将预测得到的预设时间段的数据流量预测值发送至控制器,以供控制器决策数据转发路径。值得一提的是,交换机可以基于当前与控制器的交互协议,对协议报文进行改进,在协议报文中加入数据流量预测值。举例来说,比如交换机与控制器使用openflow作为接口协议,当交换机需要发送数据流量预测值时,可以在基于openflow协议的packet_in消息中携带该数据流量预测值,并将packet_in消息发送至控制器。

此外,在本步骤之后,交换机还可以执行以下步骤:接收所述控制器发送的反馈信息;根据所述反馈信息更新数据转发路径。当控制器根据数据流量预测值确定新的数据转发路径并下发反馈信息至交换机时,交换机接收该反馈信息并根据该反馈信息更新数据转发路径。

与现有技术相比,本发明实施方式,软件定义网络中的交换机获取历史时期的数据流量,根据历史时期的数据流量预测预设时间段的数据流量,将预设时间段的数据流量的预测值发送至控制器,以供控制器确定数据转发路径。通过交换机进行数据流量预测,并将预测值发送至控制器,一方面,由于有关流量预测的计算由交换机完成,控制器的计算负担小,能够避免流量爆发时控制器由于计算量过大而性能下降,处理速度变慢;另一方面,sdn网络可以根据流量预测值提前确定并更新数据转发路径,保证流量爆发时sdn网络的服务质量不会受到影响,从而提升了sdn网络的可靠性。

本发明的第二实施方式涉及一种确定数据转发路径的方法。第二实施方式与第一实施方式大致相同,不同之处在于,本实施方式中获取历史时期的数据流量这一步骤具体为:获取历史时期的第一周期的数据流量和第二周期的数据流量,第二周期位于第二周期之后;根据历史时期的数据流量预测预设时间段的数据流量这一步骤具体为:根据第一周期和第二周期的数据流量预测预设时间段的数据流量。

本实施方式中的确定数据转发路径的方法如图4所示,具体包括:

步骤201:获取历史时期的第一周期的数据流量和第二周期的数据流量,所述第二周期位于所述第二周期之后。

具体的说,交换机在已经记录或者存储的数据流量信息中,获取两个连续周期的历史时期的数据流量。其中,每个周期的数据流量可以是每个周期内交换机接收到的数据包数和字节数中的至少一者。

进一步说,获取历史时期的第一周期的数据流量和第二周期的数据流量具体为:在流表中获取预先记录的第一周期的数据流量;统计第二周期的数据流量,并根据所述第二周期的数据流量更新所述流表。

例如,以使用openflow协议的交换机为例,图5为现有技术中openflow协议所定义的流表结构的主要部分,其中统计域中包含数据流从创建至今所含的数据包数、字节数,通过以上数值可计算出前一周期(第一周期)和本周期(第二周期)所接收的数据包数、字节数。

步骤202:根据所述第一周期和所述第二周期的数据流量预测预设时间段的数据流量。

具体的说,用所述第二周期的数据流量减去所述第一周期的数据流量,得到第二周期的数据流量增量;对所述第二周期的数据流量和所述第二周期的数据流量增量进行求和,得到预设时间段的数据流量的预测值。

进一步说,对于数据包数的预测计算过程包括以下步骤:

步骤(1):根据本周期(第二周期)内交换机接收的数据包数packetcount与前一周期(第一周期)内交换机接收的数据包数packetcountold计算得到数据包数增量packetcountdelta:

packetcountdelta=packetcount-packetcountold

步骤(2):根据本周期交换机接收数据包数packetcount与数据包增量packetcountdelta计算得到下一周期预测接收的数据包数packetcountpredictio:

packetcountprediction=packetcount+packetcountdelta

由于上述预测过程只需要通过加减计算得到预设时间段的数据流量预测值(字节数的预测过程与数据包数类似),在保证预测值能够正确反映流量变化趋势的情况下,进行预测的计算复杂度低、计算速度快,对交换机造成的计算负担较小。

值得一提的是,在本实施方式中,如图6所示,可以在openflow协议所规定的标准流表结构中加入本周期数据包数,本周期字节数,本周期数据包增量,本周期字节数增量等字段,分别表示本周期内该数据流所包含的数据包数、字节数,本周期相比前一周期该数据流所包含数据包增量、字节数增量。这样一来,交换机在更新流表统计信息时对数据流量的接收量、增量、预测值同步更新,无需额外存储空间,减少了额外的存储开销。

步骤203:将所述预设时间段的数据流量的预测值发送至控制器,以供所述控制器确定数据转发路径。

步骤203与第一实施方式中步骤103大致相同,为避免重复,此处不再赘述。

与第一实施方式相比,本发明实施方式中,通过获取并根据历史时期的两个连续周期的数据流量预测预设时间段的流量,如此设置,交换机可以在进行周期性数据更新时,利用上一周期和当前周期的数据流量进行预测,不需要设置额外的用于存储历史时期的数据流量的内存空间,并且数据的采集难度低。

本发明的第三实施方式涉及一种确定数据转发路径的方法,应用于软件定义网络中的控制器,包括:接收交换机发送的预设时间段的数据流量的预测值;根据预设时间段的数据流量的预测值确定数据转发路径。

本实施方式中的确定数据转发路径的方法如图7所示,具体包括:

步骤301:接收交换机发送的预设时间段的数据流量的预测值。

具体地说,所述根据所述预设时间段的数据流量的预测值确定数据转发路径,包括:判断所述预测值是否超过预设阈值,如果是,则重新确定数据转发路径;如果否,则保持当前数据转发路径。

进一步说,对于时延敏感型的流量所需的qos保障,预设阈值可以通过以下步骤获取:

步骤(1):根据实验得到控制器所接收数据包数量与处理数据包所需时延的关系图,如图8所示。

步骤(2):选取时延增长方式即将变化为指数增长的节点作为阈值。由于交换机在处理数据包时呈现出先线性增长(资源充足)再指数增长(资源瓶颈)的趋势。因此,选取时延增长方式即将变化为指数增长的节点可提前避免时延的爆发式增长,例如图8中的节点2000pkts/sec。

步骤302:根据所述预设时间段的数据流量的预测值确定数据转发路径。

具体地说,对于接收数据包过多的交换机,移除时延敏感的数据流量并重新确定数据转发路径,因为数据包数量过多将导致交换机拆装包头的时间增加进而导致时延增加;对于接收字节数过多的交换机,移除带宽敏感的数据流量并重新确定数据转发路径,因为字节数过多将导致交换机进行转发时占用大量带宽。

需要说明的是,在需要重新确定数据转发路径时,控制器基于所述预设时间段的数据流量的预测值生成反馈信息;将所述反馈信息发送至所述交换机,所述反馈信息包括重新确定的数据转发路径,以供交换机根据该反馈信息更新数据转发路径。

与现有技术相比,本发明实施方式,软件定义网络中的控制器接收交换机发送的预设时间段的数据流量的预测值,并根据预设时间段的数据流量的预测值确定数据转发路径。通过交换机进行数据流量预测,并将预测值发送至控制器,一方面,由于有关流量预测的计算由交换机完成,控制器的计算负担小,能够避免流量爆发时控制器由于计算量过大而性能下降,处理速度变慢;另一方面,sdn网络可以根据流量预测值提前确定并更新数据转发路径,保证流量爆发时sdn网络的服务质量不会受到影响,从而提升了sdn网络的可靠性。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第四实施方式涉及一种电子设备,如图9所示,包括至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行上述的任一方法实施例中的确定数据转发路径的方法。

其中,存储器402和处理器401采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器401和存储器402的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器401处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器401。

处理器401负责管理总线和通常的处理,还可以提供各种功能,包括定时、外围接口、电压调节、电源管理以及其他控制功能。而存储器402可以被用于存储处理器401在执行操作时所使用的数据。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例中的确定数据转发路径的方法。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

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