CN109818856A - 一种多路径数据传输方法及装置 - Google Patents
一种多路径数据传输方法及装置 Download PDFInfo
- Publication number
- CN109818856A CN109818856A CN201910173488.0A CN201910173488A CN109818856A CN 109818856 A CN109818856 A CN 109818856A CN 201910173488 A CN201910173488 A CN 201910173488A CN 109818856 A CN109818856 A CN 109818856A
- Authority
- CN
- China
- Prior art keywords
- value
- path
- mulitpath
- default
- under
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种多路径数据传输方法及装置,其中,所述方法包括:基于所述终端设备选用的当前路径的预设信息,确定所述终端设备的当前状态和所述当前路径对应的奖惩值;基于所述奖惩值对预设DQN神经网络进行更新,所述预设DQN神经网络用于确定所述终端设备的多条路径在不同状态下的价值;基于更新后的所述预设DQN神经网络,分别确定所述多条路径在所述当前状态下的价值;将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径。本申请公开的方法及装置,可以提高带宽利用率,从而提升吞吐量,最终提高数据传输效率。
Description
技术领域
本申请涉及数据并行传输技术领域,尤其涉及一种多路径数据传输方法及装置。
背景技术
随着互联网技术的蓬勃发展,配备有多个网络接口的终端设备越来越多,并且为了增加传输带宽,提升吞吐量,拥有此种终端设备的用户希望能够通过多个网络接口同时接入互联网,实现多路径传输数据的目的。多路径传输控制协议(Multi-pathTransmission Control Protocol,MPTCP)是由互联网工程任务组的Multi-path TCP工作组提出的一种多路径传输协议。
在现行MPTCP中,终端设备采用轮询方式进行多路径数据调度,该方式通过遍历所有路径,依次利用各路径调度数据,当一条路径的可用窗口被利用完时,利用下一路径进行数据调度。
然而,现有的这种轮询方式,由于没有考虑各路径的状态信息,导致路径的带宽利用率较低,最终导致吞吐量的提升不明显,传输效率低下,亟待改进。
发明内容
本申请实施例提供一种多路径数据传输方法及装置,以解决现有的特征图样生成方案易出现用户碰撞的问题。
第一方面,提供了一种多路径数据传输方法,应用于终端设备,所述方法包括:
基于所述终端设备选用的当前路径的预设信息,确定所述终端设备的当前状态和所述当前路径对应的奖惩值;
基于所述奖惩值对预设DQN神经网络进行更新,所述预设DQN神经网络用于确定所述终端设备的多条路径在不同状态下的价值;
基于更新后的所述预设DQN神经网络,分别确定所述多条路径在所述当前状态下的价值;
将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径。
第二方面,提供了一种多路径数据传输装置,应用于终端设备,所述装置包括:
第一确定模块,用于基于所述终端设备选用的当前路径的预设信息,确定所述终端设备的当前状态和所述当前路径对应的奖惩值;
更新模块,用于基于所述奖惩值对预设DQN神经网络进行更新,所述预设DQN神经网络用于确定所述终端设备的多条路径在不同状态下的价值;
第二确定模块,用于基于更新后的所述预设DQN神经网络,分别确定所述多条路径在所述当前状态下的价值;
第三确定模块,用于将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径。
本申请实施例采用的上述至少一个技术方案,由于可以基于所述终端设备选用的当前路径的预设信息,确定所述终端设备的当前状态和所述当前路径对应的奖惩值;基于所述奖惩值对预设DQN神经网络进行更新,所述预设DQN神经网络用于确定所述终端设备的多条路径在不同状态下的价值;基于更新后的所述预设DQN神经网络,分别确定所述多条路径在所述当前状态下的价值;将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径,而不是简单地通过轮询的方式选择下一路径,因此可以提高带宽利用率,从而提升吞吐量,最终提高数据传输效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的多路径数据传输方法的流程示意图之一。
图2为本申请实施例提供的多路径数据传输方法的流程示意图之二。
图3为本申请实施例提供的多路径数据传输方法的流程示意图之三。
图4为本申请实施例提供的多路径数据传输装置的流结构意图之一。
图5为本申请实施例提供的多路径数据传输装置的结构示意图之二。
图6为本申请实施例提供的多路径数据传输装置的结构示意图之三。
图7为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提高带宽利用率,以提升吞吐量和数据传输效率,本申请实施例提供了一种多路径数据传输方法和装置,下面分别进行说明。
需要说明的是,实施本申请实施例提供的一种多路径数据传输方法及装置的执行主体,可以应用于终端设备。
还需要说明的是本申请实施例提供的多路径数据传输方案是基于强化学习的多路径数据传输方案,具体是基于以Deep-Q-Network(DQN)神经网络为基础的强化学习的多路径数据传输方案。更为具体的,基于从环境中获取的反馈进行一段时间的学习,对终端设备的多条路径在不同状态下的价值(如Q值)作出判断,然后在某一状态下,将多条路径中价值满足一定条件的路径确定为用于数据传输的路径。
强化学习,是指智能体可以感知环境(environment)的状态和反馈的奖惩值(reward),并基于感知到的状态和奖惩值进行学习和决策的过程。也就是说,智能体具备学习和决策的双重功能。具体而言,智能体的决策功能,是指智能体可以根据策略(policy)和外界环境的状态(state)做出不同的动作(action);而智能体的学习功能,是指智能体可以感知外界环境的状态和反馈的奖惩值,并基于感知到的状态和奖惩值对策略进行学习改进。其中,环境是指智能体外部的部分或所有事物,并受智能体做出的动作的影响会改变其状态,同时会给智能体反馈相应的奖惩值。
强化学习一般包括状态(用s表示)、动作(用a表示)、策略(π(a|s))、和奖惩值(用r表示)等要素。其中,状态s是对环境的描述,动作a是对智能体行为的描述,策略π(a|s)用于智能体根据环境状态s决定下一步的动作a。强化学习体现的是智能体与环境不断交互的过程,状态、动作和奖惩值这三要素是强化学习的关键。
在本说明书提供的技术方案中,可以将多路径数据传输方法和装置的执行主体看作是强化学习中的智能体;可以将下文中述及的发送窗口的大小看作是强化学习中的状态,且不同状态对应的发送窗口的大小可以不同;可以将目标DQN神经网络看作是强化学习中的策略;可以将多路径数据传输方法和装置确定用于传输数据的路径的行为看作是强化学习中的动作。
在上述内容的基础上,下面通过图1、图2和图3中的一个或多个,对本申请实施例提供的一种多路径数据传输方法进行说明。
如图1所示,本申请实施例提供的一种多路径数据传输方法,可以应用于终端设备,该方法可以包括如下步骤:
步骤101、基于所述终端设备选用的当前路径的预设信息,确定所述终端设备的当前状态和所述当前路径对应的奖惩值。
其中,预设信息可以是数据接收端(如网络设备)返回的ACK信息。当前路径的预设信息可以是终端设备利用当前路径的发送窗口发送数据以后,数据接收端给终端设备返回的ACK信息。
ACK信息中通常包含用于确定数据发送是否成功的相关信息,在一个例子中,如果所述ACK信息包含通过所述当前路径传输数据成功的信息,表明当前路径的路径状态良好,可以根据ACK信息确定奖惩值为正,例如,确定所述奖惩值为1,也即基于环境的反馈确定出的是奖励。在另一个例子中,如果所述ACK信包含通过所述当前路径传输数据失败的信息,表明利用当前路径发送的数据没有成功到达数据接收端,可以根据ACK信息确定奖惩值为负,例如,确定所述奖惩值为-1,也即基于环境的反馈确定出的是惩罚。可选地,在除ACK信息包含通过所述当前路径传输数据成功的信息外的其他情况下,也可以根据ACK信息确定奖惩值为负,例如,在路径因为发送窗口不够而不能发送数据的情况下,确定所述奖惩值为-1。
ACK信息中通常还包括发送窗口的大小信息,并且,在本申请实施例中,终端设备的状态指的是发送窗口的大小,因此,在步骤101中可以根据ACK信息来确定当前状态。
可选地,在一个例子中,终端设备的当前路径可以为该终端设备选用的首条路径,且如果终端设备的当前路径为该终端设备选用的首条用于数据传输的路径,则如图2所示,在步骤101之前,本申请实施例提供的一种多路径数据传输方法,还可以包括:步骤105和步骤106中的至少一个。
步骤105、对所述预设DQN神经网络和所述多条路径的价值进行初始化。
也即在强化学习的开始对预设DQN神经网络和终端设备的多条路径的价值进行初始化。
作为一个例子,终端设备的多条路径可以包括WIFI、5G、长期演进(Long TermEvolution,LTE)、3G和蓝牙中的至少两条路径。
对预设DQN神经网络的初始化包括对预设DQN神经网络的各层参数的初始化,以及对预设DQN神经网络的值函数的参数的设定(如设定预设DQN神经网络的值函数中的学习率α和奖惩值的折扣因子γ,例如具体可以将α和γ均设定为0.9)。
对终端设备的多条路径的价值的初始化可以包括,将所述多条路径在不同状态下的价值设为零,其中,一条路径在某一状态下的价值可以是强化学习中的Q值。
步骤106、随机从所述多条路径中选择一条路径作为所述当前路径。
由于在强化学习的初始化阶段,所述多条路径的价值可能均为零,此时无法依据多条路径的价值选择首条用于数据传输的路径,因此,终端设备可以从所述多条路径中任意选择(如随机选择)一条路径作为首条用于数据传输的路径。
可选地,在另一个例子中,在强化学习的训练阶段,所述多条路径的价值可能不为零,因此,终端设备的当前路径可以为该终端设备基于下述步骤104确定出的下一路径,可以理解,在步骤104之后,步骤104确定的下一路径成为新的当前路径,在本申请实施例中,可以不断循环执行步骤101至步骤104,直到预设DQN神经网络收敛。
步骤102、基于所述奖惩值对预设DQN神经网络进行更新,所述预设DQN神经网络用于确定所述终端设备的多条路径在不同状态下的价值。
预设DQN神经网络通常包括两个神经网络,它们分别是行为网络(BehaviorNetwork)和目标网络(Target Network),其中,行为网络用于确定所述多条路径在不同状态下的估计价值,目标网络用于确定所述多条路径在不同状态下的现实价值。在此基础上,步骤102可以包括:
子步骤1、基于所述奖惩值和所述目标网络,确定所述当前路径在所述当前状态下的现实价值。
子步骤2、基于所述行为网络,确定所述当前路径在所述当前状态下的估计价值。
子步骤3、基于所述当前路径在所述当前状态下的现实价值和估计价值之间的误差,更新所述行为网络并累计更新所述行为网络的次数。
子步骤4、响应于所述次数满足预设条件,更新所述目标网络并将所述次数清零。
在上述子步骤中,现实价值可以是Q现实值,估计价值可以是Q估计值。且子步骤3和子步骤4旨在说明,可以在终端设备每计算一次奖惩值之后,对行为网络更新一次,同时对更新行为网络的次数进行累计,当累计更新行为网络的次数满足预设条件(如达到设定的次数,例如300次)之后,利用行为网络的参数更新目标网络的参数并将累计的更新行为网络的次数清零,行为网络和目标网络是两个结构相同的神经网络。
下面结合预设DQN神经网络的值函数,对更新预设DQN神经网络的过程进行说明。预设DQN神经网络的值函数可以表示为:
NewQ(s,a)=Q(s,a)+α[R(s,a)+γmax(Q(s',a')-Q(s,a)]
其中,s代表终端设备的当前状态,a代表终端设备选择选用的当前路径,R(s,a)代表奖惩值,γ代表奖惩值的折扣因子,s'代表终端设备可能的下一状态,a'代表终端设备的下一路径,Q(s',a')代表下一路径在下一状态下的Q估计值,Q(s,a)代表当前路径在当前状态下的Q估计值,R(s,a)+γmax(Q(s',a')代表当前路径在当前状态下的Q现实值,且R(s,a)+γmax(Q(s',a')可以由上述目标网络计算得到,Q(s,a)可以由上述行为网络计算得到。
在上述公式中,R(s,a)+γmax(Q(s',a')-Q(s,a)代表当前路径在所述当前状态下的现实价值和估计价值之间的误差,因此可基于R(s,a)+γmax(Q(s',a')-Q(s,a)对所述预设DQN神经网络进行更新。
可以理解,在对行为网络更新一次之后,在对目标网络更新一次之前,当前路径在当前状态下的Q现实值是通过更新前的目标网络计算得到的。
步骤103、基于更新后的所述预设DQN神经网络,分别确定所述多条路径在所述当前状态下的价值。
具体的,可以基于更新后的所述行为网络、所述目标网络和预设值函数,分别确定所述多条路径在所述当前状态下的价值。
其中,预设值函数可以为上文中述及的如下函数:
NewQ(s,a)=Q(s,a)+α[R(s,a)+γmax(Q(s',a')-Q(s,a)]
在该值函数中,R(s,a)+γmax(Q(s',a')可以由上述目标网络计算得到,Q(s,a)可以由上述行为网络计算得到,且在对行为网络更新一次之后,在对目标网络更新一次之前,当前路径在当前状态下的Q现实值是通过更新前的目标网络计算得到的。
可选地,在步骤103的基础上,本申请实施例提供的多路径数据传输方法,还可以包括:保存所述奖惩值、所述当前状态下所述多条路径的价值,以待下一次更新所述预设DQN神经网络时使用。
步骤104、将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径。
具体的,可以将所述多条路径中在所述当前状态下的价值最大的路径,确定为用于数据传输的下一路径。此外,如果所述多条路径中在所述当前状态下的价值最大的路径包括多个,则所述下一路径是所述多个中的任意一个。
本申请实施例提供的一种多路径数据传输方法,由于可以在考虑终端设备的多条路径的预设信息的基础上,不断地通过强化学习对多条路径在不同状态下的价值做出判断,然后在某一状态下,将多条路径中价值满足一定条件的路径确定为用于数据传输的路径,而路径的价值的高低代表了路径的信道质量(如带宽和时延)的好坏,因此,可以在每一次选择数据发送路径时,优先选择带宽大、时延小的路径作为发送数据的下一路径,从而可以提升带宽利用率,最终提升吞吐量和数据传输效率。
可选地,如图3所示,在另一实施例中,本申请实施例提供的多路径数据传输方法,在步骤104之后,还可以包括:
步骤107、利用所述下一路径传输数据。
可以理解,由于下一路径是终端设备从所述多条路径中选择出的价值满足一定条件的路径,因此,利用该路径传输数据时,可以提升带宽利用率,最终提升吞吐量和数据传输效率。
在本说明书的另一实施例中,如果将完成目标网络的一次更新看作是一次强化训练的话,则需要多次的强化训练,才能得到收敛的预设DQN神经网络,也即得到收敛的行为网络和目标网络,其中,预设DQN神经网络收敛的条件是任意路径在任意状态下的现实价值和估计价值之间的误差趋于零。例如,在网络仿真模拟器3(Network Simulation 3,NS3)环境下,一条带宽为500kb的路径需要大约40次的强化训练,才能达到收敛。
在此基础上,可选地,如图3所示,本申请实施例提供的多路径数据传输方法,可以包括:
步骤108、判断更新后的所述预设DQN神经网络是否收敛,如果否,返回执行步骤101,否则执行步骤109。
步骤109、结束强化训练。也即结束对预设DQN神经网络的更新。
可选地,在步骤109的基础上,本申请实施例提供的多路径数据传输方法,还可以包括:基于收敛的预设DQN神经网络,分别确定终端设备的多条路径的价值,并将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径。
可以理解,当预设DQN神经网络收敛后,结束强化训练,直接基于训练好的轻量化的预设DQN神经网络确定多条路径在不同状态下的价值,并基于确定出的价值选择用于数据传输的下一路径,可以提高路径选择效率,从而提升数据传输效率。
相应于上述方法实施例,本申请实施例还提供了一种多路径数据传输装置,下面进行说明。
如图4所示,本申请实施例提供了一种多路径数据传输装置400,可以应用于终端设备,该装置400可以包括:第一确定模块401、更新模块402、第二确定模块403和第三确定模块404。
第一确定模块401,用于基于所述终端设备选用的当前路径的预设信息,确定所述终端设备的当前状态和所述当前路径对应的奖惩值。
其中,预设信息可以是数据接收端(如网络设备)返回的ACK信息。当前路径的预设信息可以是终端设备利用当前路径的发送窗口发送数据以后,数据接收端给终端设备返回的ACK信息。
ACK信息中通常包含用于确定数据发送是否成功的相关信息,在一个例子中,如果所述ACK信息包含通过所述当前路径传输数据成功的信息,表明当前路径的路径状态良好,可以根据ACK信息确定奖惩值为正。在另一个例子中,如果所述ACK信包含通过所述当前路径传输数据失败的信息,表明利用当前路径发送的数据没有成功到达数据接收端,可以根据ACK信息确定奖惩值为负。可选地,在除ACK信息包含通过所述当前路径传输数据成功的信息外的其他情况下,也可以根据ACK信息确定奖惩值为负,例如,在路径因为发送窗口不够而不能发送数据的情况下,确定所述奖惩值为负。
可选地,在一个例子中,终端设备的当前路径可以为该终端设备选用的首条路径,且如果终端设备的当前路径为该终端设备选用的首条用于数据传输的路径,则如图5所示,本申请实施例提供的一种多路径数据传输装置400,还可以包括:初始化模块405和选择模块406中的至少一个。
初始化模块405,用于在基于所述终端设备选用的当前路径的预设信息,确定所述终端设备的当前状态和所述当前路径对应的奖惩值之前,对所述预设DQN神经网络和所述多条路径的价值进行初始化。
也即在强化学习的开始对预设DQN神经网络和终端设备的多条路径的价值进行初始化。
对预设DQN神经网络的初始化包括对预设DQN神经网络的各层参数的初始化,以及对预设DQN神经网络的值函数的参数的设定。
对终端设备的多条路径的价值的初始化可以包括,将所述多条路径在不同状态下的价值设为零,其中,一条路径在某一状态下的价值可以是强化学习中的Q值。
选择模块406,用于随机从所述多条路径中选择一条路径作为所述当前路径。
由于在强化学习的初始化阶段,所述多条路径的价值可能均为零,此时无法依据多条路径的价值选择首条用于数据传输的路径,因此,终端设备可以从所述多条路径中任意选择(如随机选择)一条路径作为首条用于数据传输的路径。
可选地,在另一个例子中,在强化学习的训练阶段,所述多条路径的价值可能不为零,因此,终端设备的当前路径可以为该终端设备基于下述第三确定模块404确定出的路径。
更新模块402,用于基于所述奖惩值对预设DQN神经网络进行更新,所述预设DQN神经网络用于确定所述终端设备的多条路径在不同状态下的价值。
预设DQN神经网络通常包括两个神经网络,它们分别是行为网络(BehaviorNetwork)和目标网络(Target Network),其中,行为网络用于确定所述多条路径在不同状态下的估计价值,目标网络用于确定所述多条路径在不同状态下的现实价值。在此基础上,更新模块402可用于:
基于所述奖惩值和所述目标网络,确定所述当前路径在所述当前状态下的现实价值;
基于所述行为网络,确定所述当前路径在所述当前状态下的估计价值;
基于所述当前路径在所述当前状态下的现实价值和估计价值之间的误差,更新所述行为网络并累计更新所述行为网络的次数;
响应于所述次数满足预设条件,更新所述目标网络并将所述次数清零。
第二确定模块403,用于基于更新后的所述预设DQN神经网络,分别确定所述多条路径在所述当前状态下的价值。
具体的,可以基于更新后的所述行为网络、所述目标网络和预设值函数,分别确定所述多条路径在所述当前状态下的价值。
其中,预设值函数可以为上文中述及的如下函数:
NewQ(s,a)=Q(s,a)+α[R(s,a)+γmax(Q(s',a')-Q(s,a)]
在该值函数中,R(s,a)+γmax(Q(s',a')可以由上述目标网络计算得到,Q(s,a)可以由上述行为网络计算得到,且在对行为网络更新一次之后,在对目标网络更新一次之前,当前路径在当前状态下的Q现实值是通过更新前的目标网络计算得到的。
第三确定模块404,用于将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径。
具体的,可以将所述多条路径中在所述当前状态下的价值最大的路径,确定为用于数据传输的下一路径。此外,如果所述多条路径中在所述当前状态下的价值最大的路径包括多个,则所述下一路径是所述多个中的任意一个。
本申请实施例提供的一种多路径数据传输装置400,由于可以在考虑终端设备的多条路径的预设信息的基础上,不断地通过强化学习对多条路径在不同状态下的价值做出判断,然后在某一状态下,将多条路径中价值满足一定条件的路径确定为用于数据传输的路径,而路径的价值的高低代表了路径的信道质量(如带宽和时延)的好坏,因此,可以在每一次选择数据发送路径时,优先选择带宽大、时延小的路径作为发送数据的下一路径,从而可以提升带宽利用率,最终提升吞吐量和数据传输效率。
可选地,如图6所示,在另一实施例中,本申请实施例提供的多路径数据传输装置400,还可以包括:
数据传输模块407,用于利用所述下一路径传输数据。
可以理解,由于下一路径是终端设备从所述多条路径中选择出的价值满足一定条件的路径,因此,利用该路径传输数据时,可以提升带宽利用率,最终提升吞吐量和数据传输效率。
可选地,如图6所示,在另一实施例中,本申请实施例提供的多路径数据传输装置400,还可以包括:
判断模块408,用于判断更新后的所述预设DQN神经网络是否收敛,如果否,触发第一确定模块401,否则触发结束训练模块409。
其中,预设DQN神经网络收敛的条件是任意路径在任意状态下的现实价值和估计价值之间的误差趋于零。
结束训练模块409,用于结束强化训练。也即结束对预设DQN神经网络的更新。
可选地,在装置400包括结束训练模块409的基础上,本申请实施例提供的装置400,还可以包括:第四确定模块。
第四确定模块,用于基于收敛的预设DQN神经网络,分别确定终端设备的多条路径的价值,并将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径。
可以理解,当预设DQN神经网络收敛后,结束强化训练,直接基于训练好的轻量化的预设DQN神经网络确定多条路径在不同状态下的价值,并基于确定出的价值选择用于数据传输的下一路径,可以提高路径选择效率,从而提升数据传输效率。
以上是本申请实施例提供的一种多路径数据传输装置400的说明,由于装置400可以用于实现图1、图2和图3所述的方法,因此本说明书对装置400的描述较为简略,详细内容请参见上文对图1、图2和图3所述的方法的描述。
图7示出了是本申请实施例提供的一种电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成多路径数据传输装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
基于所述终端设备选用的当前路径的预设信息,确定所述终端设备的当前状态和所述当前路径对应的奖惩值;
基于所述奖惩值对预设DQN神经网络进行更新,所述预设DQN神经网络用于确定所述终端设备的多条路径在不同状态下的价值;
基于更新后的所述预设DQN神经网络,分别确定所述多条路径在所述当前状态下的价值;
将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径。
上述如本申请图7所示实施例揭示的多路径数据传输装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图5所示实施例中多路径数据传输装置执行的方法,并具体用于执行:
基于所述终端设备选用的当前路径的预设信息,确定所述终端设备的当前状态和所述当前路径对应的奖惩值;
基于所述奖惩值对预设DQN神经网络进行更新,所述预设DQN神经网络用于确定所述终端设备的多条路径在不同状态下的价值;
基于更新后的所述预设DQN神经网络,分别确定所述多条路径在所述当前状态下的价值;
将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是,本申请中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种多路径数据传输方法,其特征在于,应用于终端设备,所述方法包括:
基于所述终端设备选用的当前路径的预设信息,确定所述终端设备的当前状态和所述当前路径对应的奖惩值;
基于所述奖惩值对预设DQN神经网络进行更新,所述预设DQN神经网络用于确定所述终端设备的多条路径在不同状态下的价值;
基于更新后的所述预设DQN神经网络,分别确定所述多条路径在所述当前状态下的价值;
将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径。
2.根据权利要求1所述的方法,其特征在于,
所述预设DQN神经网络包括行为网络和目标网络,所述行为网络用于确定所述多条路径在不同状态下的估计价值,所述目标网络用于确定所述多条路径在不同状态下的现实价值;
其中,所述基于所述奖惩值对预设DQN神经网络进行更新,包括:
基于所述奖惩值和所述目标网络,确定所述当前路径在所述当前状态下的现实价值;
基于所述行为网络,确定所述当前路径在所述当前状态下的估计价值;
基于所述当前路径在所述当前状态下的现实价值和估计价值之间的误差,更新所述行为网络并累计更新所述行为网络的次数;
响应于所述次数满足预设条件,更新所述目标网络并将所述次数清零。
3.根据权利要求2所述的方法,其特征在于,所述基于更新后的所述预设DQN神经网络,分别确定所述多条路径在所述当前状态下的价值,包括:
基于更新后的所述行为网络、所述目标网络和预设值函数,分别确定所述多条路径在所述当前状态下的价值。
4.根据权利要求1所述的方法,其特征在于,所述将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径,包括:
将所述多条路径中在所述当前状态下的价值最大的路径,确定为用于数据传输的下一路径。
5.根据权利要求4所述的方法,其特征在于,
如果所述多条路径中在所述当前状态下的价值最大的路径包括多个,则所述下一路径是所述多个中的任意一个。
6.根据权利要求1所述的方法,其特征在于,如果所述当前路径为所述终端设备选用的首条用于数据传输的路径,则在所述基于所述终端设备选用的当前路径的预设信息,确定所述终端设备的当前状态和所述当前路径对应的奖惩值之前,所述方法还包括:
对所述预设DQN神经网络和所述多条路径的价值进行初始化;和/或,
随机从所述多条路径中选择一条路径作为所述当前路径。
7.根据权利要求1-6任一项所述的方法,其特征在于,
所述终端设备的状态为发送窗口的大小,不同状态对应的发送窗口的大小不同。
8.根据权利要求1-6任一项所述的方法,其特征在于,
所述预设信息为ACK信息,且如果所述ACK信息包含通过所述当前路径传输数据成功的信息,则所述奖惩值为正;如果所述ACK信包含通过所述当前路径传输数据失败的信息,则所述奖惩值为负。
9.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
利用所述下一路径传输数据。
10.一种多路径数据传输装置,其特征在于,应用于终端设备,所述装置包括:
第一确定模块,用于基于所述终端设备选用的当前路径的预设信息,确定所述终端设备的当前状态和所述当前路径对应的奖惩值;
更新模块,用于基于所述奖惩值对预设DQN神经网络进行更新,所述预设DQN神经网络用于确定所述终端设备的多条路径在不同状态下的价值;
第二确定模块,用于基于更新后的所述预设DQN神经网络,分别确定所述多条路径在所述当前状态下的价值;
第三确定模块,用于将所述多条路径中在所述当前状态下的价值满足预设条件的路径,确定为用于数据传输的下一路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910173488.0A CN109818856B (zh) | 2019-03-07 | 2019-03-07 | 一种多路径数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910173488.0A CN109818856B (zh) | 2019-03-07 | 2019-03-07 | 一种多路径数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109818856A true CN109818856A (zh) | 2019-05-28 |
CN109818856B CN109818856B (zh) | 2021-07-13 |
Family
ID=66608468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910173488.0A Active CN109818856B (zh) | 2019-03-07 | 2019-03-07 | 一种多路径数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109818856B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278149A (zh) * | 2019-06-20 | 2019-09-24 | 南京大学 | 基于深度强化学习的多路径传输控制协议数据包调度方法 |
CN113572797A (zh) * | 2020-04-29 | 2021-10-29 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、系统及电子设备 |
CN113572797B (zh) * | 2020-04-29 | 2024-05-31 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、系统及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108075975A (zh) * | 2017-12-28 | 2018-05-25 | 吉林大学 | 一种物联网环境中的路由传输路径的确定方法及确定系统 |
US20180260498A1 (en) * | 2017-03-09 | 2018-09-13 | Alphaics Corporation | SYSTEM AND METHOD FOR DESIGNING SYSTEM ON CHIP (SoC) CIRCUITS USING SINGLE INSTRUCTION MULTIPLE AGENT (SIMA) INSTRUCTIONS |
CN108809443A (zh) * | 2018-05-24 | 2018-11-13 | 华中科技大学 | 一种基于多智能体强化学习的水下光通信网络路由方法 |
CN109059931A (zh) * | 2018-09-05 | 2018-12-21 | 北京航空航天大学 | 一种基于多智能体强化学习的路径规划方法 |
US20190332922A1 (en) * | 2017-02-24 | 2019-10-31 | Google Llc | Training policy neural networks using path consistency learning |
-
2019
- 2019-03-07 CN CN201910173488.0A patent/CN109818856B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190332922A1 (en) * | 2017-02-24 | 2019-10-31 | Google Llc | Training policy neural networks using path consistency learning |
US20180260498A1 (en) * | 2017-03-09 | 2018-09-13 | Alphaics Corporation | SYSTEM AND METHOD FOR DESIGNING SYSTEM ON CHIP (SoC) CIRCUITS USING SINGLE INSTRUCTION MULTIPLE AGENT (SIMA) INSTRUCTIONS |
CN108075975A (zh) * | 2017-12-28 | 2018-05-25 | 吉林大学 | 一种物联网环境中的路由传输路径的确定方法及确定系统 |
CN108809443A (zh) * | 2018-05-24 | 2018-11-13 | 华中科技大学 | 一种基于多智能体强化学习的水下光通信网络路由方法 |
CN109059931A (zh) * | 2018-09-05 | 2018-12-21 | 北京航空航天大学 | 一种基于多智能体强化学习的路径规划方法 |
Non-Patent Citations (2)
Title |
---|
MOHAMMAD JAVAD SHAMANI 等: "MPTCP energy enhancement paradox:A Q-learning approach", 《2017 27TH INTERNATIONAL TELECOMMUNICATION NETWORKS AND APPLICATIONS CONFERENCE (ITNAC)》 * |
乔阳 等: "一种基于多Agent强化学习的无线传感器网络多路径路由协议", 《合肥工业大学学报(自然科学科)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278149A (zh) * | 2019-06-20 | 2019-09-24 | 南京大学 | 基于深度强化学习的多路径传输控制协议数据包调度方法 |
CN113572797A (zh) * | 2020-04-29 | 2021-10-29 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、系统及电子设备 |
CN113572797B (zh) * | 2020-04-29 | 2024-05-31 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、系统及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109818856B (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107515795A (zh) | 基于队列的多任务并行数据处理方法、装置、介质和设备 | |
JP2021113050A (ja) | クルーズコントロール方法、装置、デバイス、車両、媒体、及びプログラム | |
US20210150417A1 (en) | Weakly supervised reinforcement learning | |
KR102389104B1 (ko) | Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법 | |
CN106851779A (zh) | 一种识别接入点和热点的方法及移动终端 | |
CN108665321A (zh) | 高粘性用户流失预测方法、装置及计算机可读存储介质 | |
CN112784989A (zh) | 推理系统、推理方法、电子设备及计算机存储介质 | |
CN106506595A (zh) | 基于点对点的物联网智能社区设备的升级方法 | |
CN113966596A (zh) | 用于数据流量路由的方法和设备 | |
CN105681578A (zh) | 一种移动终端远程控制方法以及装置 | |
CN109818856A (zh) | 一种多路径数据传输方法及装置 | |
CN103561477A (zh) | 一种竞争窗口值的更新方法和接入点 | |
CN113869377A (zh) | 训练方法、装置及电子设备 | |
CN111046156A (zh) | 奖励数据的确定方法、装置和服务器 | |
WO2021027960A1 (zh) | 任务分配方法、电子设备及计算机可读存储介质 | |
EP3266152A1 (en) | Method, apparatus and system of charging for a data flow in sdn network | |
CN115712486A (zh) | 虚拟机的热迁移控制方法和装置、介质和计算机设备 | |
CN114528893A (zh) | 机器学习模型训练方法、电子设备及存储介质 | |
TW202219750A (zh) | 機器學習模型訓練方法、電子設備、控制器及存儲介質 | |
CN115079680A (zh) | 一种车控状态处理方法、装置、存储介质及电子设备 | |
CN104035881A (zh) | 一种车辆参数修改方法及车辆控制器 | |
CN110941404B (zh) | 激光打印机的共享打印方法及系统 | |
US20220019871A1 (en) | Method for Adapting a Software Application Executed in a Gateway | |
CN112882955A (zh) | 一种测试案例推荐方法、装置和电子设备 | |
CN110297650A (zh) | 一种应用程序升级的方法、装置、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |