本发明涉及虚拟网络数据传输,具体涉及虚拟弹性网络数据传输调度方法、计算机装置及存储介质。
背景技术:
1、低时延、高稳定性的网络传输是虚拟网络游戏发展的关键问题之一,随着接入网络的设备越来越多,不同设备对网络时延的要求越来越复杂,对网络游戏传输稳定性和低时延也有着严格的要求,因此提高网络传输稳定性,降低网络时延成为了当前网络传输方面研究的热点问题。
2、大型服务器集群的标准配置一般是多网卡、多链路,现有的多路径数据协同传输算法,重点在于如何完成数据分配和流量分配,如果数据传输分配不均会造成大量网卡接口的链路资源被限制,会降低链路稳定性。
3、现有的虚拟弹性网络数据传输调度方法存在以下问题:(1)现有数据传输在网络链路中出现超时或这丢包现象时,发送端的发送速率调整幅度过大,增加了网络传输过程中的时延,导致了网络传输速率不稳定,同样也使得传输过程中的阶段性丢包,最终会导致网络链路的平均传输速率太低且网络传输质量差;(2)现有的数据传输调度方法只优先考虑了数据块在链路中的一项关键指标,不能最大化地利用链路带宽,使更多数据块在交付截止时间前完成调度传输。
技术实现思路
1、本发明的目的在于提供虚拟弹性网络数据传输调度方法、计算机装置及存储介质,以解决现有技术中对于传输过程中阶段性丢包,导致网络链路的平均传输速率太低且网络传输质量差,以及不能最大化地利用链路带宽的技术问题。
2、为解决上述技术问题,本发明具体提供下述技术方案:
3、本发明的第一个方面,提供了虚拟弹性网络数据传输调度方法,包括以下步骤:
4、连续获取网络链路中的传输数据流,将所述传输数据流根据数据类型进行分类,通过每段所述传输数据流的发送、接收时间节点计算对应的数据调度紧急程度,根据所述数据调度紧急程度建立基于传输数据流的并发节点集合;
5、将所述并发节点集合内的数据流以数据块为粒度分发到不同链路上,采用网络链路感知模块将当前发送端的网络状态和不同网络链路的网络状态作为特征向量,计算下一时刻网络链路的网络质量,将所述网络质量作为下一时刻网络状态收益值;
6、根据所述下一时刻网络状态收益值对同一链路上的所述数据块进行排序,通过net网络模块计算当前所述数据块的优先级,并将所述下一时刻网络状态收益值和对应的所述数据块优先级存入数组中,采用循环迭代模式建立经验池,通过数据调度模块实时调度数据;
7、采用erdqn拥塞控制算法评估所述网络链路的带宽和往返时延,实时监测所述网络链路的承载能力,根据所述承载能力实时启动所述数据调度模块,按照所述数据块优先级以及所述网络质量逐个执行传输链路分配。
8、作为本发明的一种优选方案,对所述传输数据流采用sae神经网络进行训练,获取不同数据类型的数据流,计算所述数据流在当前时刻需要发送的紧急程度,建立并发节点集合,包括:
9、将所述传输数据流作为基础数据输入sae神经网络中进行训练,在训练过程中建立记忆库,存储当前时刻所述传输数据流发送、接收时间节点、网络状态、动作以及下一时刻状态;
10、对所述传输数据流的当前时刻划分时隙,在每个时隙内设置多个传输节点,采用分段式并发模式通过所述sae神经网络映射关系获取最紧急的传输数据,将所述最紧急的传输数据所在的节点作为最紧急节点;
11、在不同时隙内动态获取所有的所述最紧急节点,根据所述传输数据流的并发数量确定最紧急节点数,构造紧急节点矩阵;
12、比较网络链路中在同一时刻其他数据的紧急程度,若紧急程度最大的数据所在节点在所述紧急节点矩阵中,将相应节点加入并发节点集合中,且在所述紧急节点矩阵中删除该节点;
13、如果紧急度最大的数据所在节点不在所述紧急节点矩阵中,则占时不考虑节点对应的数据。
14、作为本发明的一种优选方案,采用网络链路感知模块感知当前网络状态,获取下一时刻网络状态收益值,包括:
15、根据所述数据流当前时刻在所述并发节点集合内的紧急程度,通过调用run函数获取可用链路的状态信息,包括指定链路的探测周期、链路数量以及链路状态;
16、计算所述数据流在整个网络链路中完成传输的平均时延和平均带宽,定义发送端缓冲区和接收端缓冲区中数据块的状态,通过调用schedule函数定时完成网络链路的网络状态监测;
17、将监测的所述网络状态的参数实时同步生成特征向量,动态适应网络链路变化,采用net网络模块通过所述特征向量计算下一时刻网络状态收益值。
18、作为本发明的一种优选方案,根据所述下一时刻网络状态收益值获取当前所述数据块的优先级,包括:
19、将所述net网络模块分为mainnet网络结构和targetnet网络结构,利用所述mainnet网络结构实时更新所述数据流,根据当前网络状态结合所述sae神经网络的训练数据实时模拟网络状态,并根据不同的网络动作计算收益值;
20、利用所述targetnet网络结构存储不同时刻所述数据流的网络状态,以所述数据流对应链路的探测周期为运行间隔,在一个所述探测周期内更新一次网络状态数据,并计算相对应的网络收益值;
21、计算不同网络结构下网络收益值的误差,根据所述误差确定对应数据的最优网络链路,获取同一时隙内最紧急数据,并将所述最紧急数据作为当前时隙的执行动作;
22、基于所述最紧急数据的执行动作和所述最优网络链路的网络状态确定当前时隙多个可同时执行传输任务的数据,并将数据加入等待队列;
23、根据数据的紧急程度从剩余数据中选取与等待队列中所有数据传输不冲突的数据,重复选取,直到等待队列互不冲突的传输数据量最大为止,将所述等待队列按时间排序获取所述数据块的优先级。
24、作为本发明的一种优选方案,通过所述数据块优先级存储对应网络链路的所述下一时刻网络状态收益值,采用sumtree结构构建经验池,通过循环迭代不断更新网络参数实时调度数据,包括:
25、将所述sae神经网络的训练数据作为sumtree结构的根节点,按所述训练数据的数量均分成多个区间,在每个区间内选取一个样本,在每个样本中加入当前网络状态、传输动作以及下一时刻网络状态;
26、在所述sumtree结构的叶子节点中存储训练数据的优先级和索引,根据所述叶子节点上的序号对应索引在所述数组中查找相关记忆样本;
27、当训练样本的数据达到sumtree结构容量时,从左到右依次替换叶子节点的数据,完成替换后更新父节点的数据,直至更新完所有根节点数据;
28、根据更新后所述节点数据的网络参数,获取所述sumtree结构在每个区间内的训练样本优先级,根据训练样本优先级通过数据调度模块实时调度数据。
29、作为本发明的一种优选方案,所述数据调度模块采用多路径实时调度数据,包括:
30、在当前所述训练数据的优先级的前提下,按照优先级对应的所述数据流的截止时间点为粒度综合更新调度序列,计算当前所有数据流的综合优先级;
31、将所述数据块按所述综合优先级分配相应网络链路,当对应链路上没有可以用的带宽或者拥塞缓存时,切换下一链路继续分配,直到所有待发送的数据块均完成链路分配;
32、在同一链路上根据所述综合优先级对数据块进行排序,相同优先级的数据块按所述紧急程度进行排序发送。
33、作为本发明的一种优选方案,对所述调度数据的链路分配采用erdqn拥塞控制算法评估所述网络链路的带宽和往返时延,实时监测所述网络链路的承载能力,包括:
34、将所述net网络模块获取的当前链路网络状态和网络动作作为特征向量,当所述网络链路感知模块检测到有新数据进入发送端缓冲区或接收端数据缓冲区时,计算并更新当前链路的带宽情况、数据块的剩余数据块大小以及数据块的综合优先级;
35、按照每条链路的当前状态对数据块进行分发,对每条链路的综合优先级做累计,根据数据块在链路上的总优先级占比计算对应虚拟网络链路的带宽和往返时延。
36、作为本发明的一种优选方案,采用所述sae神经网络的q函数计算数据块在链路上的总优先级对应的网络动作q值,根据同一时刻下当前网络状态对应的收益值,将所述收益值在所述q函数下的分布情况作为评估所述网络链路的带宽依据,将所述q函数输出的网络时延作为往返时延。
37、本发明的第二个方面,提供了一种计算机装置,
38、包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
39、其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行。
40、本发明的第三个方面,提供了一种计算机可读存储介质,
41、所述计算机可读存储介质中存储有计算机执行指令,处理器执行所述计算机执行指令。
42、本发明与现有技术相比较具有如下有益效果:
43、本发明采用sae网络神经模型以当前网络链路状态以及可能采取的网络动作作为特征向量,输入到算法中用来预测下一时刻的网络传输状态,通过erdqn拥塞算法对网络链路数据进行多次迭代训练,最终找到适宜当前网络传输的最优参数,解决了传统拥塞控制算法对发送速率调整幅度大的问题,利用当前的网络状态自主调整网络传输参数,提高了网络传输的平均发送速率和稳定性,降低了网络时延中的传输时延。
44、采用多路径数据调度模块有效平衡了数据块优先级和数据块交付截止时间的关系,确保了尽可能多的数据块在交付截止时间之前完成并发传输,充分利用了链路资源,提高了传输可靠性、有效性。