一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于QUIC的数据传输控制方法、系统和设备

2022-07-10 03:12:12 来源:中国专利 TAG:

一种基于quic的数据传输控制方法、系统和设备
技术领域
1.本发明属于通信技术领域,更具体地,涉及一种基于quic的数据传输控制方法、系统和设备。


背景技术:

2.google在用户数据报协议(user datagram protocol,udp)基础上,提出了快速udp互联网连接(quick udp internet connection,quic)技术。其关键在于“快速”,与当前追求高速率的无线通信网络相适应。quic为提供可靠传输流,也引入了tcp的确认应答机制。由于quic传输底层封装为udp数据包格式并且发送、接收和处理udp数据可能是cpu密集型的,当quic连接中ack发送频率过高时,使得cpu开销过高,降低了能量受限终端设备的使用时长。另外,对于严重不对称的链路或上下行存在争用的无线链路场景,如长期演进技术(long term evolution,lte)、卫星链路和wi-fi等,当反向带宽由ack填充时,数据方向上的连接吞吐量受到限制。当遍历这些链接时,降低ack的发送频率可以使连接吞吐量进一步扩展。针对ack发送频率的优化,存在如下挑战:(1)接收方需要对收到的数据包发送ack,但可以延迟发送这些确认。确认延迟会影响数据发送方的连接吞吐量、丢失检测和拥塞控制器性能,以及数据发送方和数据接收方的cpu利用率。(2)发送方向接收方发送ack_frequency帧存在固有的权衡。
3.现有技术中,通用的quic连接中采用默认1:2的固定ack发送频率,即接收端接收2个ack诱发包,发送1个ack。在具有严重不对称的链路中,也有研究者将ack发送频率设置为1:10,以提高链路利用率,降低传输成本。但固定的较低的ack发送频率无法适应quic拥塞控制的慢启动过程。于是研究者提出了分阶段设置ack发送频率的策略,在数据传输的前100个数据包设置ack发送频率为1:2,以保证拥塞控制的慢启动阶段正常运行,在慢启动之后设置ack比率为1:10。但1:10的ack发送频率并不能适用于所有网络,因此仍需要进一步设计新的数据传输控制方式,根据无线链路状态信息自适应地选择ack发送频率,降低通信开销,提高quic连接的性能。


技术实现要素:

4.针对现有技术的以上缺陷或改进需求,本发明提供一种基于quic的数据传输控制方法、系统和设备,其目的在于解决quic连接可靠数据传输中确认帧ack发送频率过高而导致的通信开销过高的问题。
5.为实现上述目的,第一方面,本发明提供了一种基于quic的数据传输控制方法,包括以下步骤:
6.s1、当终端设备与内容服务器建立quic连接传输业务数据时,quic代理服务器根据无线接入点反馈的无线链路状态信息,采用预构建好的最佳ack发送频率获取模型,得到无线接入点反馈的无线链路状态信息所对应的最佳ack发送频率;上述ack发送频率为终端设备连续发送两个ack的间隔中累计接收的ack诱发包的数量的倒数;
7.s2、quic代理服务器将最佳ack发送频率的倒数写入quic的ack_frequency帧的对应字节位后,将ack_frequency帧发送至终端设备;
8.s3、终端设备接收到ack_frequency帧后,按照ack_frequency帧指定的规则将ack帧发送给内容服务器;
9.s4、内容服务器接收到ack帧后,启用quic连接中的pacing功能发送业务数据给终端设备;
10.其中,最佳ack发送频率获取模型为强化学习模型,用于学习无线链路状态信息与最佳ack发送频率之间的隐含关系。
11.进一步优选地,无线链路状态信息包括:带宽、时延、丢包率、在途字节数、拥塞窗口大小、重传数据包数量和抖动中的一个或多个。
12.进一步优选地,最佳ack发送频率获取模型的构建方法,包括:
13.s01、获取t个连续时刻的无线链路状态信息所构成的状态集合s及其对应的动作集合a和奖励集合r;其中,s={s0,s1,...,s
t
,...,s
t-1
},a={a0,a1,...,a
t
,...,a
t-1
},r={r0,r1,...,r
t
,...,r
t-1
};0≤t≤t-1;s
t
为第t个时刻的无线链路状态信息;第t个时刻的动作元素a
t
为第t个时刻所作出的ack发送频率的选择动作;第t个时刻的奖励r
t
为第t个时刻所作出动作a
t
后所获得的奖励;构建t-1个四元组{s
t
,a
t
,r
t
,s
t 1
},0≤t≤t-2,并存放在经验池e中,设置经验池的容量为m且t-2<m;
14.s02、初始化q网络的参数ω;初始化动作空间a;初始化目标q网络的参数为ω;其中,目标q网络的结构与q网络的结构完全相同;
15.s03、初始化起始的无线链路状态信息s,初始化动作步数n=0;
16.s04、在无线链路状态信息s下选择动作a并执行,观测无线链路状态,得到奖励r和新的无线链路状态信息s


17.s05、判断经验池e已存入的四元组个数是否小于m,若是,则直接转至s07;否则,删除经验池e中离当前时刻最远的g个四元组后,转至步骤s07;其中,g为g个时刻的无线链路状态信息s的方差;
18.s07、将四元组{s,a,r,s

}按时间顺序存入经验池e;
19.s08、从经验池e中随机选取任一四元组以为时间差分误差来训练q网络,采用公式对q网络参数ω进行更新;其中,λ为输入折扣率;α为学习率;
20.s09、令s=s

,n=n 1;
21.s010、判断n是否大于或等于参数更新的间隔d,若是,则转至s011;否则,重复步骤s04-s09进行训练;
22.s011、利用q网络的参数ω对目标q网络的参数进行更新,即
23.s012、任取无线链路状态信息s以及对应的动作a,判断q(s,a;ω)是否收敛,若是,则操作结束,所得的q网络即为上述最佳ack发送频率获取模型;否则,重复步骤s03-s011进行迭代。
24.进一步优选地,基于迭代完成后的q网络,选择使得无线接入点反馈的无线链路状
态信息所对应的q值最大的动作下的ack发送频率,作为无线接入点反馈的无线链路状态信息所对应的最佳ack发送频率。
25.进一步优选地,上述奖励值r基于quic传输的有效吞吐量、qoe或qos确定;
26.当奖励值r基于quic传输的有效吞吐量确定时,上述奖励值r为:
[0027][0028]
其中,goodputc为当前时刻quic传输的有效吞吐量,goodput
l
为上一时刻quic传输的有效吞吐量;
[0029]
当奖励值r基于quic传输的qoe确定时,上述奖励值r为:
[0030][0031]
其中,lc为当前时刻的失真率;buc为当前时刻的缓冲时延;mc为当前时刻的卡顿次数;gc为当前时刻的码率波动次数;hc为当前时刻的码率;w1,w2,w3,w4和w5分别为失真率、缓冲时延、卡顿次数、码率波动次数和码率的权重,且w1 w2 w3 w4 w5=1;
[0032]
当奖励值r基于quic传输的qos确定时,上述奖励值r为:
[0033][0034]
其中,bwc为当前时刻的链路带宽;dc为当前时刻的时延;drc为当前时刻的丢包率;jc为当前时刻的抖动;w1,w2,w3和w4分别为链路带宽、时延、丢包率和抖动的权重,且w1 w2 w3 w4=1。
[0035]
进一步优选地,s
t
={bw
t
,d
t
,dr
t
,j
t
};其中,bw
t
为第t个时刻的链路带宽;d
t
为第t个时刻的时延;dr
t
为第t个时刻的丢包率;j
t
为第t个时刻的抖动。
[0036]
进一步优选地,上述ack_frequency帧包括4个控制位,分别是ack诱发包阈值、最大ack延迟、忽略拥塞信号布尔值和忽略顺序布尔值;ack诱发包阈值设置为最佳ack发送频率的倒数。
[0037]
进一步优选地,步骤s3包括:
[0038]
s31、当忽略拥塞信号布尔值为假、且忽略顺序布尔值为真时,判断接收到的数据包的类型是否为带拥塞信号的数据包,若是,则立即发送ack,否则转至s32;
[0039]
当忽略顺序布尔值为假、且忽略拥塞信号布尔值为真时,判断接收到的数据包的类型是否为乱序的数据包,若是,则立即发送ack,否则,转至s32;
[0040]
当忽略拥塞信号布尔值为假、且忽略顺序布尔值为假时,判断接收到的数据包的类型是否为乱序的数据包或带拥塞信号的数据包,若是,则立即发送ack,否则转至s32;
[0041]
当忽略拥塞信号布尔值为真、且忽略顺序布尔值为真时,则直接转至s32;
[0042]
s32、若ack延迟在最大ack延迟之内,则终端设备按照ack诱发包阈值指定的ack发送频率发送ack;否则,终端设备立即发送ack。
[0043]
第二方面,本发明提供了一种基于quic的数据传输控制系统,包括:无线接入模块、终端设备、quic代理服务器和内容服务器;
[0044]
无线接入模块用于将终端设备接入有线网络,并为quic代理服务器提供无线链路
状态信息;
[0045]
quic代理服务器用于根据无线接入点反馈的无线链路状态信息,采用预构建好的最佳ack发送频率获取模型,得到无线接入点反馈的无线链路状态信息所对应的最佳ack发送频率;并将最佳ack发送频率的倒数写入quic的ack_frequency帧的对应字节位后,将ack_frequency帧发送至终端设备;上述ack发送频率为终端设备连续发送两个ack的间隔中累计接收的ack诱发包的数量的倒数;
[0046]
终端设备用于接收ack_frequency帧,并按照ack_frequency帧指定的规则将ack帧发送给内容服务器;
[0047]
内容服务器用于接收ack帧,并启用quic连接中的pacing功能发送业务数据给终端设备;
[0048]
其中,最佳ack发送频率获取模型为强化学习模型,用于学习无线链路状态信息与最佳ack发送频率之间的隐含关系。
[0049]
第三方面,本发明提供了一种quic代理服务器,包括ai计算模块和quic连接代理模块;
[0050]
ai计算模块用于构建最佳ack发送频率获取模型;最佳ack发送频率获取模型为强化学习模型,用于学习无线链路状态信息与最佳ack发送频率之间的隐含关系;
[0051]
quic连接代理模块用于将无线接入点反馈的无线链路状态信息传递给ai计算模块,从ai计算模块获取最佳ack发送频率,并将最佳ack发送频率的倒数写入quic的ack_frequency帧的对应字节位后,将ack_frequency帧发送至终端设备;
[0052]
其中,上述ack发送频率为终端设备连续发送两个ack的间隔中累计接收的ack诱发包的数量的倒数。
[0053]
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
[0054]
1、本发明提供了一种基于quic的数据传输控制方法,在终端设备与内容服务器之间引入quic代理服务器,quic代理服务器基于强化学习算法预先学习无线链路状态信息与最佳ack发送频率之间的隐含关系,得到最佳ack发送频率获取模型;并采用最佳ack发送频率获取模型,获取当前无线链路状态信息所对应的最佳ack发送频率;相比于quic传输中默认固定ack频率的处理方式,可以根据无线链路状态信息自适应地选择最优的ack发送频率,在保证吞吐量的前提下,大大降低了通信开销。
[0055]
2、本发明所提供的基于quic的数据传输控制方法,ack的发送与端到端通信可靠性密切相关,再结合无线链路信道变化快的特性,需要考虑经验池的有效性,于是在模型训练中加入了对模型训练的经验池动态维护的模块,增强模型训练的自适应性,进而获得无线链路状态与最佳ack发送频率之间更加准确的隐含关系。
[0056]
3、本发明所提供的基于quic的数据传输控制方法中,最佳ack发送频率获取模型能够自适应感知链路状态,调整ack发送频率。在链路状态良好时,降低ack的发送频率,从而减少了无线链路资源的占用,节省的无线链路资源用于发送业务数据,进一步提升吞吐量。同时,更少的ack发送,也降低了终端设备处理ack帧的计算开销。在链路状态较差时,合理控制ack的发送频率,控制业务数据的发送速率,减少链路拥塞,保证了弱网环境下的通信性能。
[0057]
4、本发明所提供的基于quic的数据传输控制方法,在内容服务器接收到ack帧后,
启用了quic连接中的pacing功能,可使服务器端发送数据时主动增加业务数据发送的时间间隔,防止因业务数据流量的突发而导致链路拥塞。
[0058]
5、本发明所提供的基于quic的数据传输控制方法,在终端设备中按ack_frequency帧指定的规则发送ack帧,不仅考虑最优的ack帧发送频率,还考虑了最大ack延迟、忽略拥塞信号布尔值以及忽略顺序布尔值等其它控制位。使得ack帧的发送符合现有quic传输控制协议标准,具有更好的互操作性。
附图说明
[0059]
图1为本发明实施例1提供的基于quic的数据传输控制方法流程图;
[0060]
图2为本发明实施例1提供的基于quic的数据传输控制方法的应用场景示意图;
[0061]
图3为本发明实施例1提供的ai辅助的quic传输控制方法处理过程示意图;
[0062]
图4为本发明实施例1提供的最佳ack发送频率获取模型的学习训练流程图;
[0063]
图5为本发明实施例1提供的ack_frequency帧的结构图;
[0064]
图6为本发明实施例1提供的quic传输中ack频率调整前后对比示意图;
[0065]
图7为本发明实施例2提供的ai计算模块的结构示意图;
[0066]
图8为本发明实施例2提供的quic连接代理模块的结构示意图;
[0067]
图9为本发明实施例3提供的基于quic的数据传输控制系统的结构示意图;
[0068]
图10为本发明实施例3提供的quic协议实体运行模块的结构示意图。
具体实施方式
[0069]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0070]
实施例1、
[0071]
一种基于quic的数据传输控制方法,如图1所示,包括以下步骤:
[0072]
s1、当终端设备与内容服务器建立quic连接传输业务数据时,quic代理服务器根据无线接入点反馈的无线链路状态信息,采用预构建好的最佳ack发送频率获取模型,得到无线接入点反馈的无线链路状态信息所对应的最佳ack发送频率;上述ack发送频率为终端设备连续发送两个ack的间隔中累计接收的ack诱发包的数量的倒数;最佳ack发送频率包括使终端设备获得最大有效吞吐量或使得其它指标(如qoe或qos等)最优的ack发送频率。
[0073]
具体地,最佳ack发送频率获取模型为强化学习模型,用于学习无线链路状态信息与最佳ack发送频率之间的隐含关系。
[0074]
如图2所示为本实施例的应用场景,终端设备从无线接入点接入网络,经过quic代理服务器,与内容服务器建立quic连接并从服务器中获取业务数据。其中,quic代理服务器包括ai计算模块和quic连接代理模块,quic连接代理模块为ai计算模块转发无线接入点提供的无线链路状态信息,包括但不限于链路带宽、时延、丢包率、在途字节数、拥塞窗口大小、重传数据包数量、抖动等一个或多个反应链路通信状态的信息。ai计算模块根据无线链路状态信息,利用ai算法学习训练无线链路状态信息与最佳ack发送频率之间的隐含关系,
得到最佳ack发送频率获取模型;并将最佳ack发送频率获取模型下发给quic连接代理模块。其中,ai算法包括强化学习、深度强化学习以及其它强化学习变体,可感知无线链路状态信息变化,根据有效吞吐量或其它优化目标(如qoe或qos等)作为奖励值,做出ack发送频率选择的动作。
[0075]
如图3所示为ai辅助的quic传输控制方法处理过程。首先最佳ack发送频率获取模型获取无线链路状态信息,本实施例中的无线链路状态信息包括链路带宽bw、时延d、丢包率dr和抖动j,记t时刻的无线链路状态信息s
t
={bw
t
,d
t
,dr
t
,j
t
},选取t(本实施例中t取值为50)个连续时刻的无线链路状态信息构成状态集合s={s0,s1,...,s
t
,...,s
t-1
},0≤t≤t-1;另外,记t时刻的ack发送频率作为动作元素a
t
以及t时刻获得的奖励元素r
t
,其中与状态集合s对应时刻的动作元素构成动作集合a={a0,a1,...,a
t
,...,a
t-1
},与状态集合s对应时刻的奖励元素构成奖励集合r={r0,r1,...,r
t
,...,r
t-1
};利用以上信息构建t-1个四元组{s
t
,a
t
,r
t
,s
t 1
},0≤t≤t-2,并存放在经验池e中,设置其容量为m且t-2<m(本实施例中m取值为3000)。
[0076]
如表1所示为本实施例中深度强化学习中的q网络输出计算结果表;
[0077]
表1
[0078] a0(ack1:2)a1(ack1:3)a2(ack1:4)a3(ack1:5)s02341s13458s22734s33125
[0079]
如表1所示,在不同的无线链路状态s下,q网络输出了选取不同的ack发送频率动作a,对应的不同的q值。再下一时刻选取动作时,需要将所处的无线链路状态s作为q网络的输入,计算出与无线链路状态s对应的不同ack发送频率动作a的q值,选择q值最高的ack发送频率作为动作。
[0080]
进一步地,奖励值r基于quic传输的有效吞吐量、qoe或qos确定;当以最大化有效吞吐量作为奖励值时,由此建立奖励值函数如下:
[0081][0082]
其中,goodputc为当前时刻quic传输的有效吞吐量,goodput
l
为上一时刻quic传输的有效吞吐量。所述奖励值函数在有效吞吐量增加时奖励为正值,在有效吞吐量降低时奖励为负值,即为惩罚。
[0083]
当以最大化体验质量qoe作为奖励值时,由此建立奖励值函数如下:
[0084][0085]
其中,lc为当前时刻的失真率;buc为当前时刻的缓冲时延;mc为当前时刻的卡顿次数;gc为当前时刻的码率波动次数;hc为当前时刻的码率;w1,w2,w3,w4和w5分别为失真率、缓冲时延、卡顿次数、码率波动次数和码率的权重且w1 w2 w3 w4 w5=1,此处,分别取0.2,0.2,0.3,0.2,0.1。
[0086]
当以最大化服务质量qos作为奖励值时,由此建立奖励值函数如下:
[0087][0088]
其中,bwc为当前时刻的链路带宽;dc为当前时刻的时延;drc为当前时刻的丢包率;jc为当前时刻的抖动;w1,w2,w3和w4分别为链路带宽、时延、丢包率和抖动的权重且w1 w2 w3 w4=1,此处,分别取0.2,0.2,0.4,0.2。
[0089]
如图4所示为本实施例中最佳ack发送频率获取模型的学习训练流程图。具体包括如下步骤:
[0090]
a01、初始化折扣率λ=0.9,贪心策略概率ε=0.1,学习率α=0.001,累计状态时刻数g=300和参数更新的间隔d=3000;
[0091]
a02、获取t个连续时刻的无线链路状态信息所构成的状态集合s及其对应的动作集合a和奖励集合r;其中,s={s0,s1,...,s
t
,...,s
t-1
},a={a0,a1,...,a
t
,...,a
t-1
},r={r0,r1,...,r
t
,...,r
t-1
};0≤t≤t-1;s
t
为第t个时刻的无线链路状态信息;第t个时刻的动作元素a
t
为第t个时刻所作出的ack发送频率的选择动作;第t个时刻的奖励r
t
为第t个时刻所作出动作a
t
后所获得的奖励;利用以上信息构建t-1个四元组{s
t
,a
t
,r
t
,s
t 1
},0≤t≤t-2,并存放在经验池e中,设置其容量为m且t-2<m;
[0092]
a03、随机初始化q网络的参数ω;初始化动作空间a;随机初始化目标q网络的参数其中,目标q网络的结构与q网络的结构完全相同;
[0093]
a04、初始化起始的无线链路状态信息s和动作步数n=0;
[0094]
a05、在状态s,选择动作a;本实施例基于ε-greedy策略选择动作a;
[0095]
a06、执行动作a,观测无线链路环境状态,获得奖励r和新的状态s


[0096]
a07、判断经验池e已存入四元组个数是否小于m,若是,则直接执行a08;若否,则删除经验池e中离当前时刻最远的g个四元组,其中,g为g个时刻状态s的方差;本发明基于状态空间s方差大小,对经验池中的数据进行调整,当方差较大时,丢弃更多以前的数据,使模型能够学习到更接近当前时刻的动作特性。
[0097]
a08、将四元组{s,a,r,s

}按时间顺序存入经验池e;
[0098]
a09、随机从经验池e中选取以为时间差分误差来训练q网络,按照下式对q网络参数ω进行更新:
[0099][0100]
a10、令s=s

,n=n 1;
[0101]
a11、判断n≥d,若否,则重复步骤a05-a10进行训练;若是,则执行s12;
[0102]
a12、利用q网络的参数ω;对目标q网络的参数进行更新,即
[0103]
a13、任取状态s以及对应的动作a,利用q网络计算,判断q(s,a;ω)是否收敛,若否,则重复步骤a04-a12进行迭代;若是,则输出q(s,a;ω),该q网络即为上述最佳ack发送频率获取模型。
[0104]
quic代理服务器根据当前无线链路状态信息即所处的无线链路状态s,利用所得最佳ack发送频率获取模型(即迭代完成后的q网络),将所处的无线链路状态s作为q网络的输入,计算出与无线链路状态s对应的不同ack发送频率动作a的q值,选择q值最高的ack发送频率作为最优的ack发送频率。
[0105]
s2、quic代理服务器将最佳ack发送频率的倒数写入quic的ack_frequency帧的对应字节位后,将ack_frequency帧发送至终端设备;
[0106]
在获得最佳ack发送频率的同时获取quic数据包并解析,进而将最佳ack发送频率的倒数写入quic的ack_frequency帧的对应字节位中。如图5所示为本实施例中ack_frequency帧的结构图;具体地,上述ack_frequency帧包括4个控制位,分别是ack诱发包阈值、最大ack延迟、忽略拥塞信号布尔值和忽略顺序布尔值;上述ack_frequency帧的对应字节位为ack诱发包阈值,即将ack诱发包阈值设置为最佳ack发送频率的倒数。
[0107]
s3、终端设备接收到ack_frequency帧后,按照ack_frequency帧指定的规则将ack帧发送给内容服务器;
[0108]
具体地,按照ack_frequency帧指定的规则将ack帧发送给内容服务器的方法包括:
[0109]
s31、当忽略拥塞信号布尔值为假、且忽略顺序布尔值为真时,判断接收到的数据包的类型是否为带拥塞信号的数据包,若是,则立即发送ack,否则转至s32;
[0110]
当忽略顺序布尔值为假、且忽略拥塞信号布尔值为真时,判断接收到的数据包的类型是否为乱序的数据包,若是,则立即发送ack,否则,转至s32;
[0111]
当忽略拥塞信号布尔值为假、且忽略顺序布尔值为假时,判断接收到的数据包的类型是否为乱序的数据包或带拥塞信号的数据包,若是,则立即发送ack,否则转至s32;
[0112]
当忽略拥塞信号布尔值为真、且忽略顺序布尔值为真时,则直接转至s32;
[0113]
s32、若ack延迟在最大ack延迟之内,则终端设备按照ack诱发包阈值指定的ack发送频率发送ack;否则,终端设备立即发送ack。
[0114]
如图6所示为本实施例quic传输中ack频率调整前后对比示意图,当ack频率由1:2降低为1:10时,ack发送数量减少到了原来的1/5,可有效减少无线链路资源的占用同时减少cpu的处理开销。
[0115]
s4、内容服务器接收到ack帧后,启用quic连接中的pacing功能发送业务数据给终端设备。
[0116]
具体地,内容服务器接收到ack帧后,为避免ack所引发的数据量突发,启用quic连接中的pacing功能。启动pacing功能后可使内容服务器发送数据时主动增加业务数据发送的时间间隔,防止因业务数据流量的突发而导致链路拥塞。
[0117]
实施例2、
[0118]
一种quic代理服务器,包括ai计算模块和quic连接代理模块;
[0119]
ai计算模块用于构建最佳ack发送频率获取模型;最佳ack发送频率获取模型为强化学习模型,用于学习无线链路状态信息与最佳ack发送频率之间的隐含关系;
[0120]
quic连接代理模块用于将无线接入点反馈的无线链路状态信息传递给ai计算模块,从ai计算模块获取最佳ack发送频率,并将最佳ack发送频率的倒数写入quic的ack_frequency帧的对应字节位后,将ack_frequency帧发送至终端设备;其中,上述ack发送频
率为终端设备连续发送两个ack的间隔中累计接收的ack诱发包的数量的倒数。
[0121]
在一种可选实施方式下,如图7所示,上述ai计算模块包括第一处理器模块、第一处存储器模块和第一通信模块。
[0122]
具体地,第一处理器模块例如可以包括至强可扩展处理器(cpu)、图形处理器(gpu)以及张量处理单元(tpu)等等。第一处理器模块用于学习无线链路状态信息与最佳ack发送频率之间的隐含关系,可以是用于执行参考图3和图4描述的方法流程的不同操作的单个或多个处理程序;
[0123]
第一存储模块,例如可以是能够存储并可读写的任意介质。第一存储模块的具体示例包括但不限于机械硬盘、固态硬盘等具有存储功能的设备模块。第一存储模块可以包括计算机程序和数据/模型。其中,计算机程序可以包括可执行的ai算法代码,所述计算机程序在第一处理器模块执行时,可实现实施例1所描述的方法流程中的部分单元或全部单元以及其任何变体。所述计算机程序的ai算法代码可提供一种或多种选择,例如可以包括强化学习算法代码、深度强化学习算法代码、
……
。应当注意,ai算法的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的ai算法以及其组合。数据/模型中用于存储无线链路状态信息以及训练完成的ai模型,用于提供给quic连接代理模块。
[0124]
第一通信模块,例如可以是能够完成双向数据传输的任意电子模块。例如可以包括有线通信模块,如网络适配器;无线通信模块,如蜂窝和wi-fi模块等。用于与quic连接代理模块传输数据。
[0125]
在一种可选实施方式下,如图8所示,quic连接代理模块包括第二通信模块、第二处理器模块和第二处存储器模块。
[0126]
具体地,第二通信模块,例如可以是能够完成双向数据传输的任意电子模块。例如可以包括有线通信模块,如网络适配器;无线通信模块,如蜂窝和wi-fi模块等。用于与ai计算模块、无线接入模块以及内容服务器传输数据。
[0127]
第二处理器模块,例如可以包括通用处理器、指令集处理器等等。第二处理器模块可执行实施例1中描述的与quic连接代理相关的执行操作,此处不再赘述。
[0128]
第二存储模块,例如可以是能够存储并可读写的任意介质。第二存储模块的具体示例包括但不限于机械硬盘、固态硬盘等具有存储功能的设备模块。第二存储模块用于存储实施例1中所述最佳ack发送频率获取模型以及处理ack_frequency帧的计算程序。
[0129]
实施例3、
[0130]
一种基于quic的数据传输控制系统,如图9所示,包括:无线接入模块、终端设备、quic代理服务器和内容服务器;
[0131]
无线接入模块用于将终端设备接入有线网络,并为quic代理服务器提供无线链路状态信息;
[0132]
quic代理服务器用于根据无线接入点反馈的无线链路状态信息,采用预构建好的最佳ack发送频率获取模型,得到无线接入点反馈的无线链路状态信息所对应的最佳ack发送频率;并将最佳ack发送频率的倒数写入quic的ack_frequency帧的对应字节位后,将ack_frequency帧发送至终端设备;上述ack发送频率为终端设备连续发送两个ack的间隔中累计接收的ack诱发包的数量的倒数;quic代理服务器可以为实施例2所提供的quic代理服务器;
[0133]
终端设备用于接收ack_frequency帧,并按照ack_frequency帧指定的规则将ack帧发送给内容服务器;
[0134]
内容服务器用于接收ack帧,并启用quic连接中的pacing功能发送业务数据给终端设备;
[0135]
其中,最佳ack发送频率获取模型为强化学习模型,用于学习无线链路状态信息与最佳ack发送频率之间的隐含关系。
[0136]
相关技术方案同实施例1和实施例2,这里不做赘述。
[0137]
需要说明的是,在一种可选实施方式下,终端设备和内容服务器中均包含quic协议实体运行模块;具体地,如图10所示,quic协议实体运行模块包括中央处理器、主存储器、辅助存储器以及输入输出模块。quic协议实体运行设备执行实施例1中描述的与终端设备和内容服务器相关的执行操作,此处不再赘述。
[0138]
具体地,中央处理器,例如可以包括通用处理器、指令集处理器等等。中央处理器可执行实施例1中描述的与终端设备和内容服务器相关的执行操作,如quic数据包的解析与封包,ack帧以及ack_frequency帧的接收处理与发送等;主存储器用于存储系统程序,包括quic协议实体;辅助存储器用于存储应用程序与业务数据;输入输出模块,例如可以包括用于与无线接入点通信的天线模块或与有线设备通信的网络适配器模块等,能够完成两个设备之间的双向数据传输。
[0139]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献