本公开涉及通信,具体涉及一种数据流调度方法、装置、网络设备和存储介质。
背景技术:
1、硬件加速作为一种关键的网络性能优化技术,核心在于利用专用硬件模块快速处理网络地址转换(network address translation,nat)。硬件加速技术旨在提高数据包转发速度,从而显著提升网速并极大降低中央处理器(central processing unit,cpu)的占用率,进而提升网络性能。
2、然而,硬件加速技术的性能受限于加速模块中设定的加速表项大小。当连接的数据流数量超过加速表项的最大值时,超出的部分则无法通过硬件加速进行处理,而不得不回到基于cpu的软件处理模式,使得数据传输的速度降低,不仅会导致较高的网络延迟,还会造成网络性能的降低。
技术实现思路
1、本申请实施例提供一种数据流调度方法、装置、电子设备和存储介质。
2、一方面,本申请实施例提供一种数据流调度方法,所述方法应用于网络设备,所述网络设备配置有硬件加速模块,所述硬件加速模块用于维护加速队列。所述方法包括:
3、监测加速队列的实时占用率,并定时获取所述加速队列在历史周期的占用增长率;
4、当根据所述实时占用率和占用增长率确定满足动态调整条件时,对所述加速队列的当前加速阈值进行调整,得到更新加速阈值;
5、根据所述当前加速阈值和更新加速阈值,对连接所述硬件加速模块的数据流进行调度;所述更新加速阈值用于在下一次调度时作为所述加速队列的新的当前加速阈值。
6、另一方面,本申请实施例提供一种数据流调度装置,所述装置包括:
7、第一获取模块,用于监测加速队列的实时占用率,并定时获取所述加速队列在历史周期的占用增长率;
8、第一调整模块,用于当根据所述实时占用率和占用增长率确定满足动态调整条件时,对所述加速队列的当前加速阈值进行调整,得到更新加速阈值;
9、第一调度模块,用于根据所述当前加速阈值和更新加速阈值,对连接所述硬件加速模块的数据流进行调度;所述更新加速阈值用于在下一次调度时作为所述加速队列的新的当前加速阈值。
10、另一方面,本申请实施例还提供一种数据流调度方法,所述方法应用于网络设备,所述网络设备配置有硬件加速模块和连接追踪模块,所述硬件加速模块用于维护加速队列,所述连接追踪模块用于提供连接追踪数据,所述方法包括:
11、定时获取连接追踪数据,并从所述硬件加速模块获取所述加速队列的当前加速阈值、实时占用率、以及所述加速队列在历史周期内的占用增长率;
12、当根据所述实时占用率和占用增长率确定满足动态调整条件时,对所述加速队列的当前加速阈值进行调整,得到更新加速阈值;
13、根据所述当前加速阈值和更新加速阈值,对所述连接追踪数据中记录的数据流进行调度;所述更新加速阈值用于在下一次调度时作为所述加速队列的新的当前加速阈值。
14、另一方面,本申请实施例提供一种数据流调度装置,所述装置包括:
15、第二获取模块,用于定时获取连接追踪数据,并从所述硬件加速模块获取所述加速队列的当前加速阈值、实时占用率、以及所述加速队列在历史周期内的占用增长率;
16、第二调整模块,用于当根据所述实时占用率和占用增长率确定满足动态调整条件时,对所述加速队列的当前加速阈值进行调整,得到更新加速阈值;
17、第二调度模块,用于根据所述当前加速阈值和更新加速阈值,对连接追踪数据中记录的数据流进行调度;所述更新加速阈值用于在下一次调度时作为所述加速队列的新的当前加速阈值。
18、另一方面,本申请实施例还提供一种网络设备,包括存储器存储有多条指令;处理器从存储器中加载指令,以执行本申请实施例所提供的任一种数据流调度方法的步骤。
19、另一方面,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请实施例所提供的任一种数据流调度方法的步骤。
20、另一方面,本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,计算机程序或指令被处理器执行时实现本申请实施例所提供的任一种数据流调度方法中的步骤。
21、采用申请实施例的方案,通过监测加速队列的实时占用率,并定时获取加速队列在历史周期内的占用增长率,能够对加速队列的占用情况进行监控,以便于后续据此进行动态调整;当根据实时占用率和占用增长率确定满足动态调整条件时,对加速队列的当前加速阈值进行调整,得到更新加速阈值,进而能够尽可能消除硬件资源限制对硬件加速性能的影响,进而根据当前加速阈值和更新加速阈值,对连接硬件加速模块的数据流进行调度,由此能够对硬件加速场景下的硬件资源进行合理地管理和充分地利用,精准识别并优先为符合条件的数据流进行加速,能够确保在突发、高强度的网络流量冲击环境下依然保持较高的硬件加速性能。
1.一种数据流调度方法,其特征在于,应用于网络设备,所述网络设备配置有硬件加速模块,所述硬件加速模块用于维护加速队列;所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述定时获取所述加速队列在历史周期的占用增长率,包括:
3.如权利要求2所述的方法,其特征在于,当根据所述实时占用率和占用增长率确定满足动态调整条件时,所述对所述加速队列的当前加速阈值进行调整,得到更新加速阈值,包括:
4.如权利要求1至3中任一项所述的方法,其特征在于,所述根据所述实时占用率和占用增长率确定满足动态调整条件,包括:
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
6.如权利要求1所述的方法,其特征在于,所述根据所述当前加速阈值和更新加速阈值,对连接所述硬件加速模块的数据流进行调度,包括:
7.如权利要求6所述的方法,其特征在于,所述在所述数据流满足调度条件的情况下,对所述数据流进行调度,包括:
8.一种数据流调度方法,其特征在于,应用于网络设备,所述网络设备配置有硬件加速模块和连接追踪模块,所述硬件加速模块用于维护加速队列,所述连接追踪模块用于提供连接追踪数据;所述方法包括:
9.一种网络设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1~8任一项所述的数据流调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如权利要求1~8任一项所述的数据流调度方法的步骤。
