本技术涉及计算机,尤其涉及网络通信领域,具体涉及一种数据流方法、装置、设备及介质。
背景技术:
1、随着计算机技术的快速发展,计算机网络通信的流量传输成为影响网络通信质量的重要性能。在计算机网络通信的流量传输性能较好的情况下,能够确保端到端之间流量传输的完整性和快速性。
2、然而,目前计算机网络通信往往存在网络拥塞;例如,在直播业务中处于同一直播房间的多个终端往往需要向直播服务器请求流量,如果请求流量较多,会在直播服务器-终端之间出现网络拥塞,导致网络丢包,降低流量传输性能。因此,如何降低网络丢包,提升流量传输性能成为计算机网络通信领域的研究热点。
技术实现思路
1、本技术实施例提供一种数据传输方法、装置、设备及介质,能够提升网络通信中的流量传输性能。
2、一方面,本技术实施例提供了一种数据传输方法,该方法包括:
3、当传输通道中产生待传输的第一数据流时,获取传输通道的网络状态;传输通道是指从第一数据流的源地址到第一数据流的目的地址之间的数据通路;
4、若网络状态指示传输通道存在网络拥塞,则获取传输通道中已存在的至少一个第二数据流;
5、从至少一个第二数据流中筛选目标数据流;
6、将目标数据流所占用的传输资源共享至第一数据流,并采用被共享的传输资源传输第一数据流。
7、另一方面,本技术实施例提供了一种数据传输装置,该装置包括:
8、获取单元,用于当传输通道中产生待传输的第一数据流时,获取传输通道的网络状态;传输通道是指从第一数据流的源地址到第一数据流的目的地址之间的数据通路;
9、处理单元,用于若网络状态指示传输通道存在网络拥塞,则获取传输通道中已存在的至少一个第二数据流;
10、处理单元,还用于从至少一个第二数据流中筛选目标数据流;
11、处理单元,还用于将目标数据流所占用的传输资源共享至第一数据流,并采用被共享的传输资源传输第一数据流。
12、在一种实现方式中,与传输通道关联的已存在的至少一个第二数据流,包括:
13、传输通道中已存在的数据流;其中,传输通道中已存在的数据流的源地址与第一数据流的源地址相同,且目的地址与第一数据流的目的地址相同;
14、或者,与传输通道存在相同链路的其他传输通道中已存在的数据流;其中,其他传输通道中已存在的数据流的源地址与第一数据流的源地址相同,且目的地址与第一数据流的目的地址属于同一对象群组。
15、在一种实现方式中,一个数据流对应一种业务;处理单元,用于从至少一个第二数据流中筛选目标数据流时,具体用于:
16、按照数据流筛选规则,从与传输通道关联的已存在的至少一个第二数据流中筛选目标数据流;
17、其中,数据流筛选规则包括:将至少一个第二数据流中占用传输资源大于资源阈值的第二数据流作为目标数据流;或者,将至少一个第二数据流中占用传输资源最多的第二数据流作为目标数据流;或者,将至少一个第二数据流中持续时间最长的第二数据流作为目标数据流;或者,将至少一个第二数据流中相应业务的业务等级低于等级阈值的第二数据流作为目标数据流。
18、在一种实现方式中,数据传输方法应用于数据发送端;传输通道中待传输的第一数据流是基于对象终端发送的流量请求报文所生成的;处理单元,用于获取传输通道的网络状态时,具体用于:
19、获取传输通道的网络参数,网络参数是数据发送端按照统计周期进行周期性统计得到的;
20、若网络参数大于等于参数阈值,则确定传输通道的网络状态指示传输通道存在网络拥塞。
21、在一种实现方式中,网络参数至少包含最大可用带宽和在途数据量;最大可用带宽是指第一数据流传输时所需的发送速率,在途数据量是指传输通道中已使用的发送窗口;
22、在网络参数为最大可用带宽时,网络参数大于等于参数阈值是指最大可用带宽大于等于带宽阈值;
23、在网络参数为在途数据量时,网络参数大于等于参数阈值是指在途数据量大于等于数据量阈值。
24、在一种实现方式中,处理单元,用于将目标数据流所占用的传输资源共享至第一数据流时,具体用于:
25、获取目标数据流所占用的传输资源;
26、将目标数据流所占用的传输资源降低目标变化资源量,得到目标数据流所占用的新的传输资源;
27、将目标数据流降低的目标变化资源量,作为第一数据流的传输资源。
28、在一种实现方式中,网络参数为最大可用带宽时,传输资源为发送速率,目标变化资源量为目标变化速率量;网络参数为在途数据量时,传输资源为发送窗口,目标变化资源量为目标变化窗口量;
29、其中,目标变化资源量是基于预设的资源参数比例所确定的。
30、在一种实现方式中,处理单元,用于采用被共享的传输资源传输第一数据流时,具体用于:
31、按照目标数据流共享至第一数据流的传输资源,向对象终端发送第一数据流;
32、处理单元,还用于:按照目标数据流所占用的新的传输资源,向对象终端所属的对象群组发送目标数据流。
33、在一种实现方式中,数据传输方法应用于中间路由节点;第一数据流是由数据发送端转发所得到的;处理单元,用于获取传输通道的网络状态时,具体用于:
34、基于第一数据流的目的地址,确定第一数据流对应的对象群组;对象群组中包含通过传输通道的全部或部分链路传输数据流的一个或多个对象终端,第一数据流的目的地址指向对象群组中的一个对象终端;
35、获取对象群组对应的转发队列,转发队列中按照报文接收顺序,依次存储有对象群组中各对象终端对应的第二数据流的报文;
36、根据各对象终端对应的第二数据流的报文数量,计算转发队列的使用率;
37、若使用率大于或等于使用阈值,则确定传输通道的网络状态指示传输通道存在网络拥塞。
38、在一种实现方式中,目标数据流为占用传输资源大于资源阈值的第二数据流,或者目标数据流为至少一个第二数据流中占用传输资源最多的第二数据流;第二数据流的报文数量越多,第二数据流所占用的传输资源越多;处理单元,用于从至少一个第二数据流中筛选目标数据流时,具体用于:
39、获取转发队列对应的统计列表,统计列表中关联存储有转发队列中各第二数据流的流量标识和报文数量;统计列表是跟随转发队列动态更新的;
40、基于统计列表中记录的各第二数据流的报文数量,筛选出目标数据流。
41、在一种实现方式中,处理单元,用于基于统计列表中记录的各第二数据流的报文数量,筛选出目标数据流时,具体用于:
42、从统计列表中筛选报文数量最多的第二数据流;
43、将被筛选出的第二数据流作为目标数据流。
44、在一种实现方式中,处理单元,用于基于统计列表中记录的各第二数据流的报文数量,筛选出目标数据流时,具体用于:
45、从转发队列中存储的末端报文开始,依次检索各报文对应的第二数据流在统计列表中记录的报文数量,直至检索到目标报文对应的第二数据流在统计列表中记录的报文数量大于或等于数量阈值;
46、将目标报文对应的第二数据流作为目标数据流。
47、在一种实现方式中,传输资源为报文所占用的存储空间;处理单元,用于将目标数据流所占用的传输资源共享至第一数据流时,具体用于:
48、从转发队列中移除目标数据流的k个报文;目标数据流所包含的报文数量大于或等于k,k为正整数;
49、将第一数据流的k个报文添加至转发队列中,得到更新后的转发队列;
50、处理单元,用于采用被共享的传输资源传输第一数据流时,具体用于:
51、按照更新的转发队列,向对象终端发送第一数据流。
52、在一种实现方式中,处理单元,还用于:
53、删除目标数据流中被移除的k个报文,并向数据发送端发送丢包反馈报文,丢包反馈报文用于指示目标数据流中的k个报文被丢失;
54、或者,将目标数据流中被移除的k个报文转发至中间路由节点的上一路由节点;
55、在检测到转发队列的使用率小于使用阈值时,从上一路由节点接收目标数据流中被移除的k个报文,并对目标数据流中被移除的k个报文进行转发。
56、另一方面,本技术实施例提供了一种计算机设备,该设备包括:
57、处理器,用于加载并执行计算机程序;
58、计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时,实现上述数据传输方法。
59、另一方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行上述数据传输方法。
60、另一方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,计算机指令被处理器执行时实现上述的数据传输方法。
61、本技术实施例中,在传输通道中产生新的待传输的第一数据流(即新的流量),且检测到传输通道的网络状态指示该传输通道存在网络拥塞时,可以获取与传输通道关联的已存在的至少一个第二数据流。然后,从该至少一个第二数据流中筛选出目标数据流;如该目标数据流可以是至少一个第二数据流中数据量最多或持续时长最长的第二数据流,或者,是至少一个第二数据流中与目标业务(如第一数据流对应的业务,或者与第一数据流对应的业务相关的业务)之间的相关性较低的第二数据流等;考虑到目标数据流的数量量多或持续时长较长或者与目标业务的相关性较低,那么该目标数据流少量丢包或减缓传输速率时,对该目标数据流对应的业务的影响性较小,因此本技术实施例支持将该目标数据流所占用的传输资源共享一部分至待传输的第一数据流;这样,不仅确保在网络拥塞的情况下第一数据流不被丢包(即仍然能够正常传输),而且对目标数据流的传输性能影响较小,有效缓解网络通信过程中的网络拥塞,提升了整体流量的传输效率。