CN113037648B - 数据传输方法及装置 - Google Patents
数据传输方法及装置 Download PDFInfo
- Publication number
- CN113037648B CN113037648B CN202110260911.8A CN202110260911A CN113037648B CN 113037648 B CN113037648 B CN 113037648B CN 202110260911 A CN202110260911 A CN 202110260911A CN 113037648 B CN113037648 B CN 113037648B
- Authority
- CN
- China
- Prior art keywords
- action
- evaluation
- initial state
- state
- determining
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 133
- 230000005540 biological transmission Effects 0.000 title claims abstract description 100
- 230000009471 action Effects 0.000 claims abstract description 335
- 238000011156 evaluation Methods 0.000 claims abstract description 237
- 238000012549 training Methods 0.000 claims abstract description 108
- 238000012545 processing Methods 0.000 claims abstract description 55
- 238000005265 energy consumption Methods 0.000 claims description 21
- 238000012790 confirmation Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 72
- 230000004044 response Effects 0.000 abstract description 6
- 230000008447 perception Effects 0.000 abstract description 5
- 238000013461 design Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 20
- 239000003795 chemical substances by application Substances 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 15
- 230000002787 reinforcement Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- BULVZWIRKLYCBC-UHFFFAOYSA-N phorate Chemical compound CCOP(=S)(OCC)SCSCC BULVZWIRKLYCBC-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Security & Cryptography (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种数据传输方法及装置,该方法包括:获取至少一个训练样本。根据至少一个训练样本,进行离线学习处理,得到评估参数,评估参数用于指示在各个状态下执行各个动作的评估值。根据评估参数进行在线学习处理,对评估参数进行更新。根据更新后的评估参数,确定目标动作,目标动作用于指示采用目标路径传输目标数据。其中,根据数据传输调度中所产生的样本数据进行离线学习处理,得到评估参数。在数据传输过程中对数据传输调度数据进行在线学习处理,得到更新后的评估参数,实现了对动态网络的及时响应与感知,从而对实时数据调度过程进行控制,以确定最优的数据传输调度动作。
Description
技术领域
本申请实施例涉及通信技术,尤其涉及一种数据传输方法及装置。
背景技术
作为传输控制协议(Transmission Control Protocol,TCP)的扩展,多路径传输协议标准(Multipath TCP,MPTCP)是一种面向连接、可靠有序的传输协议。MPTCP数据调度主要完成将从应用层接收到的数据进行分组,然后将分组后得到对应的数据包分发到不同子流进行传输等工作。
为适应高度动态变化的异构网络环境以实现数据包准确高效的传输,选择合适的MPTCP数据调度方法将发挥至关重要的作用。目前,在有关多路径数据调度方法的现有技术中,前向预测调度方法通过设计预测模型,对待发送的数据包在每条子流的传输到达时间进行估算,然后再选择合适的子流传输数据。
然而,前向预测调度方法主要在发送方设计调度算法,仅对发送方可获得的网络参数进行了考虑,因此现有技术的实现方案无法保证数据传输的效果。
发明内容
本申请实施例提供一种数据传输方法及装置,以提升数据传输效果。
第一方面,本申请实施例提供一种数据传输方法,包括:
获取至少一个训练样本;
根据所述至少一个训练样本,进行离线学习处理,得到评估参数,所述评估参数用于指示在各个状态下执行各个动作的评估值;
根据所述评估参数进行在线学习处理,对所述评估参数进行更新;
根据所述更新后的评估参数,确定目标动作,所述目标动作用于指示采用目标路径传输目标数据。
在一种可能的设计中,各所述训练样本中至少包括如下数据:当前时刻的初始状态、所述初始状态对应的动作、所述动作对应的奖励值、所述动作对应的下一状态;
其中,所述初始状态包括当前时刻各个路径的往返时延以及拥塞程度,所述动作包括采用第一路径传输数据,所述下一状态包括执行所述动作后各个路径的往返时延以及拥塞程度;
其中,所述奖励值和所述第一路径的吞吐量成正比,以及和所述第一路径的丢包率成反比,以及和所述第一路径的能耗成反比。
在一种可能的设计中,所述获取至少一个训练样本,包括:
确定当前时刻的初始状态,并根据所述初始状态确定各个路径的往返时延;
将往返时延最小的路径确定为所述第一路径,根据所述第一路径传输数据,得到所述初始状态对应的动作;
根据所述第一路径的吞吐量、所述第一路径的丢包率、所述第一路径的能耗,确定所述动作对应的奖励值;
根据接收到的确认字符,获取执行所述动作后各个路径的往返时延以及拥塞程度,得到所述动作对应的下一状态;
根据所述当前时刻的初始状态、所述初始状态对应的动作、所述动作对应的奖励值、所述动作对应的下一状态,得到训练样本;
将所述动作对应的下一状态作为当前时刻的初始状态,重复执行上述得到训练样本的操作,直至得到预设数量的训练样本。
在一种可能的设计中,所述根据所述至少一个训练样本,进行离线学习处理,得到评估参数,包括:
根据各所述训练样本中的初始状态进行聚类处理,得到M个聚类中心,所述M为大于或等于1的整数;
根据所述M个聚类中心,确定评估表格,所述评估表格用于指示所述评估参数;
其中,所述评估表格为M行N列的表格,所述评估表格的M行分别对应所述M个聚类中心,所述评估表格的N列分别对应N个动作,所述评估表格中的M×N个元素分别用于指示在各个聚类中心对应的状态下执行各个动作的评估值,所述N为大于等于1的整数。
在一种可能的设计中,所述根据所述M个聚类中心,确定评估表格,包括:
构建初始表格,将所述初始表格中的各个元素初始化为0;
针对各所述训练样本,分别确定所述训练样本中的初始状态和各所述聚类中心的欧式距离,以及分别确定所述训练样本中的下一状态和各所述聚类中心的欧式距离;
在所述初始表格中确定所述初始状态对应的欧式距离最小的聚类中心对应的第i行,以及在所述初始表格中确定所述下一状态对应的欧式距离最小的聚类中心对应的第j行,其中,所述i为大于或等于1的整数,所述j为大于或等于1的整数;
将所述第i行中所述往返时延最小的动作对应的评估值设置为1,以及,将所述第j行中所述往返时延最小的动作对应的评估值设置为1;
根据所述训练样本中的奖励值、所述下一状态对应第j行中的最大评估值以及所述第i行中所述初始状态对应的动作的评估值,更新所述第i行中所述初始状态对应的动作的评估值,得到所述评估表格。
在一种可能的设计中,所述根据所述评估参数进行在线学习处理,对所述评估参数进行更新,包括:
确定上一时刻的初始状态、上一时刻的初始状态对应的动作、上一时刻的动作对应的奖励值、上一时刻的动作对应的下一状态,其中,上一时刻的动作对应的下一状态为当前时刻的初始状态;
在所述评估表格中确定所述上一时刻的初始状态对应的欧式距离最小的聚类中心对应的第z行,以及,在所述评估表格中确定所述上一时刻的下一状态对应的欧式距离最小的聚类中心对应的第w行,其中,所述z为大于或等于1的整数,所述w为大于或等于1的整数;
根据所述上一时刻的动作对应的奖励值、所述上一时刻的下一状态对应第w行中的最大评估值以及所述第z行中所述上一时刻的初始状态对应的动作的评估值,更新所述第z行中所述上一时刻的初始状态对应的动作的评估值。
在一种可能的设计中,所述根据所述更新后的评估参数,确定目标动作,包括:
根据当前时刻的初始状态,在所述更新后的评估表格中确定所述当前时刻的初始状态对应的欧式距离最小的聚类中心对应的第x行,其中,所述x为大于或等于1的整数;
根据第一概率,将在所述第x行中随机选择的动作确定为所述目标动作;或者,
根据第二概率,将所述第x行中评估值最大的动作确定为所述目标动作。
第二方面,本申请实施例提供一种数据传输装置,包括:
获取模块,用于获取至少一个训练样本;
第一学习模块,用于根据所述至少一个训练样本,进行离线学习处理,得到评估参数,所述评估参数用于指示在各个状态下执行各个动作的评估值;
第二学习模块,用于根据所述评估参数进行在线学习处理,对所述评估参数进行更新;
确定模块,用于根据所述更新后的评估参数,确定目标动作,所述目标动作用于指示采用目标路径传输目标数据。
在一种可能的设计中,各所述训练样本中至少包括如下数据:当前时刻的初始状态、所述初始状态对应的动作、所述动作对应的奖励值、所述动作对应的下一状态;
其中,所述初始状态包括当前时刻各个路径的往返时延以及拥塞程度,所述动作包括采用第一路径传输数据,所述下一状态包括执行所述动作后各个路径的往返时延以及拥塞程度;
其中,所述奖励值和所述第一路径的吞吐量成正比,以及和所述第一路径的丢包率成反比,以及和所述第一路径的能耗成反比。
在一种可能的设计中,所述获取模块具体用于:
确定当前时刻的初始状态,并根据所述初始状态确定各个路径的往返时延;
将往返时延最小的路径确定为所述第一路径,根据所述第一路径传输数据,得到所述初始状态对应的动作;
根据所述第一路径的吞吐量、所述第一路径的丢包率、所述第一路径的能耗,确定所述动作对应的奖励值;
根据接收到的确认字符,获取执行所述动作后各个路径的往返时延以及拥塞程度,得到所述动作对应的下一状态;
根据所述当前时刻的初始状态、所述初始状态对应的动作、所述动作对应的奖励值、所述动作对应的下一状态,得到训练样本;
将所述动作对应的下一状态作为当前时刻的初始状态,重复执行上述得到训练样本的操作,直至得到预设数量的训练样本。
在一种可能的设计中,所述第一学习模块具体用于:
根据各所述训练样本中的初始状态进行聚类处理,得到M个聚类中心,所述M为大于或等于1的整数;
根据所述M个聚类中心,确定评估表格,所述评估表格用于指示所述评估参数;
其中,所述评估表格为M行N列的表格,所述评估表格的M行分别对应所述M个聚类中心,所述评估表格的N列分别对应N个动作,所述评估表格中的M×N个元素分别用于指示在各个聚类中心对应的状态下执行各个动作的评估值,所述N为大于等于1的整数。
在一种可能的设计中,所述第一学习模块具体用于:
构建初始表格,将所述初始表格中的各个元素初始化为0;
针对各所述训练样本,分别确定所述训练样本中的初始状态和各所述聚类中心的欧式距离,以及分别确定所述训练样本中的下一状态和各所述聚类中心的欧式距离;
在所述初始表格中确定所述初始状态对应的欧式距离最小的聚类中心对应的第i行,以及在所述初始表格中确定所述下一状态对应的欧式距离最小的聚类中心对应的第j行,其中,所述i为大于或等于1的整数,所述j为大于或等于1的整数;
将所述第i行中所述往返时延最小的动作对应的评估值设置为1,以及,将所述第j行中所述往返时延最小的动作对应的评估值设置为1;
根据所述训练样本中的奖励值、所述下一状态对应第j行中的最大评估值以及所述第i行中所述初始状态对应的动作的评估值,更新所述第i行中所述初始状态对应的动作的评估值,得到所述评估表格。
在一种可能的设计中,所述第二学习模块具体用于:
确定上一时刻的初始状态、上一时刻的初始状态对应的动作、上一时刻的动作对应的奖励值、上一时刻的动作对应的下一状态,其中,上一时刻的动作对应的下一状态为当前时刻的初始状态;
在所述评估表格中确定所述上一时刻的初始状态对应的欧式距离最小的聚类中心对应的第z行,以及,在所述评估表格中确定所述上一时刻的下一状态对应的欧式距离最小的聚类中心对应的第w行,其中,所述z为大于或等于1的整数,所述w为大于或等于1的整数;
根据所述上一时刻的动作对应的奖励值、所述上一时刻的下一状态对应第w行中的最大评估值以及所述第z行中所述上一时刻的初始状态对应的动作的评估值,更新所述第z行中所述上一时刻的初始状态对应的动作的评估值。
在一种可能的设计中,所述确定模块具体用于:
根据当前时刻的初始状态,在所述更新后的评估表格中确定所述当前时刻的初始状态对应的欧式距离最小的聚类中心对应的第x行,其中,所述x为大于或等于1的整数;
根据第一概率,将在所述第x行中随机选择的动作确定为所述目标动作;或者,
根据第二概率,将所述第x行中评估值最大的动作确定为所述目标动作。
第三方面,本申请实施例提供一种数据传输设备,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
本申请实施例提供一种数据传输方法及装置,该方法包括:获取至少一个训练样本。根据至少一个训练样本,进行离线学习处理,得到评估参数,评估参数用于指示在各个状态下执行各个动作的评估值。根据评估参数进行在线学习处理,对评估参数进行更新。根据更新后的评估参数,确定目标动作,目标动作用于指示采用目标路径传输目标数据。其中,根据数据传输调度中所产生的样本数据进行离线学习处理,得到评估参数。在数据传输过程中对数据传输调度数据进行在线学习处理,得到更新后的评估参数,实现了对动态网络的及时响应与感知,从而对实时数据调度过程进行控制,以确定最优的数据传输调度动作。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的强化学习算法的基本模型的示意图;
图2为本申请实施例提供的Q学习中Q表的示意图;
图3为本申请实施例提供的数据传输方法的流程图一;
图4为本申请实施例提供的数据传输方法的流程图二;
图5为本申请实施例提供的初始化Q表的示意图;
图6为本申请实施例提供的离线学习处理中Q表更新过程的示意图一;
图7为本申请实施例提供的离线学习处理中Q表更新过程的示意图二;
图8为本申请实施例提供的在线学习处理中Q表更新过程的示意图一;
图9为本申请实施例提供的在线学习处理中Q表更新过程的示意图二;
图10为本申请实施例提供的数据传输方法的示意图;
图11为本申请实施例提供的数据传输装置的结构示意图;
图12为本申请实施例提供的数据传输设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,所使用的术语“第一”、“第二”仅用于区分各实施例,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个、三个等,除非另有明确具体的限定。
为了便于理解本申请的技术方案,首先结合图1、图2对本申请所涉及的相关概念进行介绍,图1为本申请实施例提供的强化学习算法的基本模型的示意图,图2为本申请实施例提供的Q学习中Q表的示意图:
强化学习,又称增强学习,是机器学习的范式和方法论之一。如图1所示,强化学习由智能体和环境组成,在环境的状态下,智能体采取动作,进而得到奖励,然后进入下一状态。强化学习用于描述和解决智能体在与环境的交互过程中通过学习策略以达到回报最大化或者实现特定目标的问题。不同于监督学习和非监督学习,强化学习不要求预先给定任何数据,而是通过接收环境对动作的奖励获得学习信息并更新模型参数。强化学习是一种在线学习技术,将学习看作是一个“试探-评价”的过程。
为进一步介绍强化学习的特性,接下来先介绍下行为策略和目标策略。其中,行为策略是用来使智能体与环境进行互动,从而产生数据的策略,目标策略是在行为策略产生的数据中不断学习、优化,即学习训练完毕后拿去应用的策略。为了解决强化学习中如何平衡利用已有的数据和学习去探索未知情况的问题,因此强化学习通过利用行为策略来保持探索性,提供多样化的数据,而不断来优化目标策略。
基于目标策略与行为策略的异同,可以将强化学习分类为:在线学习(On-Policy)及离线学习(Off-Policy)。其中,学习中的目标策略和行为策略是同一个策略,即直接对样本数据进行学习来优化其策略,但在这样的学习策略下学习结果容易达到局部最优。离线学习中的目标策略和行为策略是不同的策略,这样可以在保持探索的同时,更能达到全局最优值。
Q学习(Q-Learning)是一种有代表性的无模型的强化学习方法,具备智能体利用已完成的动作序列,从该动作序列中选择最优动作的学习能力。Q表(Q-Table)是Q学习方法的核心,在Q表中一般情况下行表示状态,列表示动作。Q表中的值用于衡量某状态下采取的动作的优劣。
如图2所示,在Q表中行表示状态s,列表示动作a。其中,Q表中有M个状态,N个动作。其中,状态分别为:s1、s2、…、sM,动作分别为a1、a2、…、aN。Q值用于衡量某一状态下采取某一动作的优劣。例如,Q表中的值Q(s1,a1)表示当状态为s1时采取动作a1后,所获得的值,这个值用于指示在s1状态下采取动作a1的优劣。同理,Q(s1,a2)表示当状态为s1时采取动作a2后,所获得的值,这个值用于指示在s1状态下采取动作a2的优劣。因此,若Q(s1,a2)>Q(s1,a1),那么表明当状态为s1时,执行动作a2所获得的收益要高于执行动作a1所获得的收益。
同时,在整个Q学习过程中,不断迭代更新Q表。其中,根据预先设定的学习率、奖励等参数对Q表中的Q值进行更新。同时,迭代更新的每一步都会有一个奖励,根据奖励的累计值大小判断相关动作的选择是否正确。需要强调说明的一点是,关于Q学习中每一状态下选择动作的选择要遵循贪婪策略,即(ε-贪婪,ε∈[0,1])。其中,贪婪策略是指在选择动作时,总是选择能够获得最大奖励所对应的动作。例如,当ε=1时,智能体会选择能够获得最大奖励所对应的动作。例如,当ε=0.6时,智能体以0.6的概率选择能够获得最大奖励所对应的动作,以0.4的概率随机选择一动作。
对于Q表中Q值Q(s,a)进行更新的具体实现方式可以参照公式一:
Q(s,a)=Q(s,a)+α[r+γmaxa'Q(s',a')-Q(s,a)] 公式一
其中,s用于指示当前时刻的状态,a用于指示当前状态所采取的动作,s'用于指示下一个状态,a'用于指示下一个状态所采取的动作,α∈[0,1]为学习率,γ∈[0,1]为折扣系数,Q(s,a)为在状态s下采取动作a的Q值,Q(s',a')为在状态s'下采取动作a'的Q值,maxa'Q(s',a')用于指示当在状态为s'时,执行所有动作所能获得最大的Q值。
在介绍了Q学习以及Q表之后,下面对本申请所涉及的背景技术进行进一步的详细介绍:
传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。旨在适应支持多网络应用的分层协议层次结构,TCP为连接到不同但互联的计算机通信网络的主计算机中的成对进程提供可靠的通信服务。在网络通讯协议即传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP)中,如果接收方成功接收到传输数据,会回复一个确认字符。其中,确认字符(Acknowledge character,ACK)用于指示在数据通信中接收方发给发送方的一种传输类控制字符,表示发送方发来的数据已被接收方成功接收且未发现错误,并已做好接收下一份传输数据的准备。
作为TCP的扩展,多路径传输协议标准(Multipath TCP,MPTCP)由互联网工程任务组IETF制定,它是一种面向连接、可靠有序的传输协议,其目的是允许TCP连接使用多个数据传输路径来最大化信道资源使用。MPTCP的传输层由两层构成,分别为MPTCP连接层和TCP子流层。其中,MPTCP子流在TCP子流层呈现TCP流的特点,可视作为单路径TCP流,用于数据分组传输。MPTCP连接层负责与应用层的交互和实现多条TCP子流的管理。MPTCP数据调度主要完成将从应用层接收到的数据进行分组,然后分发到不同子流进行传输等工作。由于异构网络往往高度动态变化,例如网络参数中往返时延、带宽等会随时间发生较大变化,将现有的MPTCP数据调度方法应于复杂的异构网络环境中,会因子流件性能差异较大而导致出现数据乱序现象频发的问题。
为适应高度动态变化的异构网络环境以实现数据包准确高效的传输,因此选择合适的MPTCP数据调度方法将发挥至关重要的作用。目前,在有关多路径数据调度方法的现有技术中,前向预测调度方法通过设计预测模型,对待发送的数据包在每条子流的传输到达时间进行估算,然后再选择合适的子流传输数据。
然而,前向预测调度方法主要在发送方设计调度算法,仅对发送方可获得的网络参数进行了考虑。因此,存在反馈准确性和及时性等方面的问题。
基于上述存在的问题,本申请提出了如下的技术构思:采用Q学习方法实现智能多路传输调度,在每次数据调度执行后及时对网络环境进行观测,将吞吐量的变化情况、丢包是否发生及其他网络参数综合考虑,通过学习奖赏值反馈实现对动态网络变化的及时响应与感知,进而实施更为适用于当前网络环境的调度策略。同时,通过在学习奖赏值的计算中结合丢包率等子流传输性能参数考虑,通过智能学习更准确地实现子流传输性能的实时评估,并以此为基础实现子流调度策略的适时调整,可有效减少数据包乱序等现象的发生。
基于上述介绍的技术构思,下面结合图3和具体的实施例对本申请所提供的数据传输方法进行详细介绍,值得说明的是,本申请各实施例的执行主体为处理器和微处理器等具有数据处理功能的设备,本实施例对此执行主体的具体实现不做限定,只要其可以进行数据处理即可,图3为本申请实施例提供的数据传输方法的流程图一。
如图3所示,该方法包括:
S301、获取至少一个训练样本。
在本实施例中,训练样本为在数据传输调度过程中获取到的样本。
在一种可能的实现方式中,在数据传输调度过程中训练样本的参数至少可以包括当前状态、在当前状态下所采取的动作、采取动作后获得的奖励以及下一状态。
在本实施例中,只是对训练样本中包括参数的具体设置进行示例性介绍,并不是对训练样本中包括参数的具体设置做以限制,对训练样本中包括参数的具体设置可以根据实际需求进行选择。
在数据传输调度过程中,获取至少一个训练样本。其中,该训练样本后续用于训练数据传输调度控制模型,并在后续数据传输调度的过程会不断生成训练样本。
在一种可能的实现方式中,数据传输调度过程可以通过强化学习中的Q学习中来进行建模,即数据传输调度模型为Q学习模型。
在本实施例中,只是对数据传输调度建模的具体实现方式进行示例性的介绍,并不是对数据传输调度建模的具体实现方式做以限制,对数据传输调度建模的具体实现方式可以根据实际需求进行选择。
S302、根据至少一个训练样本,进行离线学习处理,得到评估参数,评估参数用于指示在各个状态下执行各个动作的评估值。
在本实施例中,离线学习处理用于指示根据上述介绍的至少一个训练数据,对数据传输调度控制模型进行初步训练。离线学习处理后可以得到评估参数。其中,评估参数用于指示在各个状态下执行各个动作的评估值。
在一种可能的实现方式中,评估参数可以通过Q学习中的Q表来进行表示,即Q表中的Q值可以用于指示在各个状态下执行各个动作的评估值。
在本实施例中,只是对评估参数的具体实现方式进行示例性的介绍,并不是对评估参数的具体实现方式做以限制,对评估参数的具体实现方式可以根据实际需求进行选择。
S303、根据评估参数进行在线学习处理,对评估参数进行更新。
基于上述步骤S302离线学习处理完成后得的评估参数,接下来,通过在线学习处理对评估参数进行更新。
在本实施例中,在线学习处理用于指示在数据实时传输调度过程,根据实时的调度动作以及所产生的调度结果,对数据传输调度控制模型中的评估参数进行更新,可以理解的是,在线学习处理在离线学习处理得到的评估参数的基础上,对评估参数进行更新,之后可以有效提升评估参数的准确性。
S304、根据更新后的评估参数,确定目标动作,目标动作用于指示采用目标路径传输目标数据。
基于上述步骤S302、S303完成离线学习处理及在线学习处理后,得到更新后的评估参数。根据更新后评估参数,来确定目标动作。其中,该目标动作用于指示采用目标路径传输目标数据。
优选的,在在线学习处理中在决定要执行的动作时,采用两种策略结合进行动作选择。其中,策略一为选择具有最大评估参数对应的动作进行执行,策略二为随机选取动作执行,即在可选的动作集合中随机选择一个动作进行执行。两种策略分别以概率ε和1-ε进行动作选择。例如ε=0.1,即以10%的概率实施随机动作选取策略,90%的概率实施选择具有最大评估参数对应的动作选取策略。
在一种可能的实现方式中,在在线学习处理中在决定要执行的动作时,直接选择具有最大评估参数对应的动作。
在另一种可能的实现方式中,在在线学习处理中在决定要执行的动作时,在可选的动作集合中随机选择一个动作进行执行。
在本实施例中,只是确定目标动作的具体实现方式进行示例性的介绍,并不是对确定目标动作的具体实现方式做以限制,对确定目标动作的具体实现方式可以根据实际需求进行选择。
本申请实施例提供的数据传输方法,该方法包括:获取至少一个训练样本。根据所述至少一个训练样本,进行离线学习处理,得到评估参数,所述评估参数用于指示在各个状态下执行各个动作的评估值。根据所述评估参数进行在线学习处理,对所述评估参数进行更新。根据所述更新后的评估参数,确定目标动作,所述目标动作用于指示采用目标路径传输目标数据。其中,根据数据传输调度中所产生的样本数据进行离线学习处理,得到评估参数。在数据传输过程中对数据传输调度数据进行在线学习处理,得到更新后的评估参数,实现了对动态网络的及时响应与感知,从而对实时数据调度过程进行控制,以确定最优的数据传输调度动作。
在上述实施例的基础上,下面结合一个具体的实施例对本申请提供的数据传输方法进行进一步的介绍,结合图4至图9进行介绍,图4为本申请实施例提供的数据传输方法的流程图二,图5为本申请实施例提供的初始化Q表的示意图,图6为本申请实施例提供的离线学习处理中Q表更新过程的示意图一,图7为本申请实施例提供的离线学习处理中Q表更新过程的示意图二,图8为本申请实施例提供的在线学习处理中Q表更新过程的示意图一,图9为本申请实施例提供的在线学习处理中Q表更新过程的示意图二。
如图4所示,该方法包括:
S401、确定当前时刻的初始状态,并根据初始状态确定各个路径的往返时延。
在本实施例中,路径用于指示数据传输的子流。当前时刻的初始状态用于指示当前时刻的系统状态。
在一种可能的实现方式中,初始状态包括当前时刻各个路径的往返时延以及拥塞程度。例如,当多路数据传输中子流数量为m时,调度时刻为t时的状态为st=(RTTt,CLt)。
其中,RTTt=(RTTt1,RTTt2,...,RTTtm)表示调度时刻为t时所有子流对应的往返时延(Round-Trip Time,RTT),RTTti为调度时刻为t时第i条子流对应的往返时延,(1≤i≤m),其具体的数值可以通过直接测量获取。
其中,CLt=(CLt1,CLt2,...,CLtm)表示调度时刻为t时所有子流对应的拥塞程度(Congestion Level,CL)。CLti为调度时刻为t时第i条子流对应的拥塞程度值,1≤i≤m,该数值可以通过计算得到,例如可以参照公式二。
在实际实现的过程中,上述公式二的恒等变形、或者添加相关系数等,同样可以得到本实施例中拥塞程度,本实施例中对得到拥塞程度的具体实现方式不做特别限制,只要拥塞程度是根据子流已使用接收方缓存的大小和接收方最大缓存的大小得到的即可。
在本实施例中,只是对当前时刻的初始状态的具体设置进行示例性的介绍,并不是对当前时刻的初始状态的具体设置做以限制,对当前时刻的初始状态的具体设置可以根据实际需求进行选择及设置。
基于上述公式二得到当前时刻t的初始状态st=(RTTt,CLt)后,根据当前时刻t的初始状态st,在系统中直接测量从而确定在各个路径下的往返时延。
S402、将往返时延最小的路径确定为第一路径,根据第一路径传输数据,得到初始状态对应的动作。
基于上述步骤S401确定了各个路径的往返时延后,接下来根据各个路径的往返时延,确定在初始状态时要采取的动作。
在一种可能的实现方式中,动作包括用于数据传输所采用第一路径。例如,当多路数据传输中子流数量为m时动作a例如可以设置为:a=(fid,size)。
其中,fid为所选择的子流的编号,其中fid∈[1,m],以及size为该子流所传输的数据包数量的变化量,其中,size∈A,集合A用于指示所传输数据包数量变化量的集合,且记集合A中数据包数量变化量的类别数量为sn。例如,若A为{-2,-1,0,1,2},则sn=5。如集合A所示,数据包数量变化量例如可以为正值、负值及零值。其中,负值用于指示在该动作所对应的子流上传输的数据包的数量比该子流原来所传输的数据包的数量少,正值用于指示在该动作所对应的子流上传输的数据包的数量比该子流原来所传输的数据包的数量多。零值用于指示在该动作所对应的子流上传输的数据包的数量和该子流原来所传输的数据包的数量一样,未发生变化。例如,-2用于指示该动作所对应的子流上传输的数据包的数量比该子流原来所传输的数据包的数量少2个。1用于指示在该动作所对应的子流上传输的数据包的数量比该子流原来所传输的数据包的数量多1个。0用于指示在该动作所对应的子流上传输的数据包的数量与该子流原来所传输的数据包的数量一样。
在本实施例中,只是对动作的具体设置进行示例性的介绍,并不是对动作的具体设置做以限制,对动作的具体设置可以根据实际需求进行设置。
在一种可能的实现方式中,根据各个路径的往返时延,将往返时延最小的路径确定为第一路径,根据第一路径传输数据,得到当前时刻t的初始状态st时采取的动作at。
S403、根据第一路径的吞吐量、第一路径的丢包率、第一路径的能耗,确定动作对应的奖励值。
基于上述步骤确定初始状态对应的动作,执行该动作后,接下来确定执行该动作后智能体获得到的奖励值。
在一种可能的实现方式中,为实现减少丢包、优化数据调度,提升传输效率的目标,根据第一路径的吞吐量、第一路径的丢包率、第一路径的能耗,来确定动作对应的奖励值。具体的,奖励值和第一路径的吞吐量成正比,以及和第一路径的丢包率成反比,以及和第一路径的能耗成反比。其中,奖励值r的具体计算可以参照公式三。
r=β1×throughput-β2×packetloss-β3×energy 公式三
其中,throughput为吞吐量,指在网络中单位时间内成功地传送数据的数量。packetloss为数据传输过程中的丢包率。丢包率的计算公式,例如可以参照公式四:
packetloss=1/packetnum 公式四
其中,packetnum为两次丢包发生时间间隔内正常传输的数据包数量。
energy为执行动作后的总能耗,总能耗的计算公式例如可以参照公式五:
其中,P用于表示子流的集合,ηp,p∈P为子流p的码率,码率是指单位时间内传输比特的数量。δp为子流p传输数据时的能量消耗,ρp为子流p进行数据传输的时间间隔,ζp为子流p的尾能。具体的,尾能用于指示数据传输完成后,传输端口并非立即转入休眠状态,而是为便于快速响应后续数据请求继续维持高能耗状态一段时间所发生的能耗。
其中,β1用于指示在计算奖励值r时吞吐量所占得权重大小,β2用于指示在计算奖励值r时丢包率所占得权重大小,β3用于指示在计算奖励值r时能耗所占得权重大小。
在本实施例中,只是对奖励值的具体计算进行示例性的介绍,并不是对奖励值的具体计算做以限制,对动作的具体计算可以根据实际需求进行设置。同时,在实际实现的过程中,上述公式三的恒等变形、或者添加相关系数等,同样可以得到本实施例中奖励值,本实施例中对得到奖励值的具体实现方式不做特别限制,只要奖励值是根据吞吐量、丢包率以及能耗,得到的即可。
S404、根据接收到的确认字符,获取执行动作后各个路径的往返时延以及拥塞程度,得到动作对应的下一状态。
在一种可能的实现方式中,训练样本的参数可以至少包括当前状态s、当前状态所采取的动作a、采取动作a后获得的奖励r以及下一状态s',即记为(s,a,r,s')。下一状态s'为在当前状态s时执行动作a后接收到下一次ACK时观测到的状态。其中,下一状态包括执行动作后各个路径的往返时延以及拥塞程度。
基于以上步骤在执行完动作且收到确认字符后,接下来对状态进行更新。
在一种可能的实现方式中,获取执行动作后各个子流对应的往返时延以及根据公式二得到各个子流对应的拥塞程度,即得到动作对应的下一状态。
S405、根据当前时刻的初始状态、初始状态对应的动作、动作对应的奖励值、动作对应的下一状态,得到训练样本。
S406、将动作对应的下一状态作为当前时刻的初始状态,重复执行上述得到训练样本的操作,直至得到预设数量的训练样本。
接下来,对S405及S406放在一起进行说明介绍。
基于以上步骤,得到当前时刻的初始状态、初始状态对应的动作、动作对应的奖励值、动作对应的下一状态,即得到新的训练样本。
可以理解的是,在得到t时刻对应的下一状态s'之后,可以将t时刻对应的下一状态s'作为t+1时刻的当前状态s,重复执行上述步骤S401至S405,得到t+1时刻的当前状态s对应的动作、奖励值以及s'。
因此,重复执行上述步骤S401至S406从而得到多个训练样本。
在一种可能的实现方式中,可以在执行数据调度的过程中,将每个时刻对应的当前状态s,当前状态所采取的动作a,采取动作a后获得的奖励r以及下一状态s'作为一个样本信息,记为(s,a,r,s')放入回放缓冲区中,其中,回放缓冲区为用于存放需要保存一段时间的资料及数据的区域或容器,以便后续应用于离线学习处理中,对数据传输调度控制模型进行训练。
在一种可能的实现方式中,在离线学习处理的过程中包括三个阶段,分别为:1)样本收集阶段;2)基于状态进行聚类;3)对回放缓冲区中的所有训练样本进行训练。
接下来,对离线学习处理过程中这3个阶段进行详细的介绍:
首先在离线学习处理过程中的样本收集阶段,首先基于最小RTT调度原则,比较各条子流的RTT,选择具有最小RTT的子流进行数据调度。经过多次最小RTT调度,离线学习处理中的智能体将获得第一数量个包含当前状态s,当前状态所采取的动作a,采取动作a后获得的奖励r以及下一状态s'的样本,依次以(s,a,r,s')的形式存储在回放缓冲区中。
获得足够数量的样本后,由于避免Q学习过程中的状态数量过多,从而造成的维度灾难,因此接下来对回放缓冲区中的所有样本形成的状态集进行聚类,聚类成M个类别,获得M个聚类中心。同时,此M个聚类中心组成聚类中心集合CC,该集合CC中的M个聚类中心对应Q表中的M行。
基于以上两步骤的处理,接下来对回放缓冲区中的所有训练样本进行训练,以实现对Q表中Q值的赋值与更新,其中各Q值为在各状态下执行各个动作的评估值。
在一种可能的实现方式中,离线学习处理过程中的智能体从回放缓冲区中进行随机取样,每次从回放缓冲区中随机抽取第二数量个训练样本,同时取样后将被抽取到的样本从回放缓冲区中删除掉。对每个样本进行如下的训练:首先根据已有的聚类中心,计算出该训练样本中的当前状态s和下一状态s'与聚类中心集合CC中的欧式距离,并对分别距离当前状态s和下一状态s'最近的聚类中心在Q表中所对应的行中Q值进行更新。
重复对回放缓冲区中的训练样本进行随机抽样并依次对抽取到的训练样本进行以上的训练过程,直至回放缓冲区中的所有训练样本被抽取,离线学习处理过程结束并得到评估参数。其中,评估参数用于指示在各个状态下执行各个动作的评估值,评估参数例如可以为离线学习处理后所得到Q表中的Q值。
对回放缓冲区中的所有训练样本进行训练,以实现对Q表中Q值的赋值与更新,其中各Q值为在各状态下执行各个动作的评估值。
S407、根据各训练样本中的初始状态进行聚类处理,得到M个聚类中心,M为大于或等于1的整数。
在本实施例中,首先确定聚类中心数量为M个,再选择一批候选的聚类中心,形成候选的聚类中心集合C。需要强调说明的一点是,候选聚类中心的选择遵循的原则为:距离当前已有的候选聚类中心越远的点被选择为下一个候选聚类中心的概率会更高。
在一种可能的实现方式中,确定候选聚类中心集合的具体步骤例如可以如下:1、根据样本集合A,确定当前状态集合S。即将样本集合A中所有样本的当前状态s放在一个集合中,形成新的集合---状态集合S。2、从状态集合S中随机抽取一个状态s0,放入候选聚类中心集合C中。3、为状态集合S中的其余状态s计算各自被选作候选聚类中心的概率,概率的具体计算例如可以参考公式六。
其中,l用于指示采样因子,可使聚类过程较快收敛的经验值,例如l=2M。d(s,cmin)用于表示状态s=(τ1,...,τ2m)与距其最近的聚类中心cmin=(cmin1,cmin2,...,cmin2m)之间的欧式距离,其中,τ1=RTT1,...,τm=RTTm,τm+1=CL1,...,τ2m=CLm。d(s,cmin)的具体计算方式可以参考公式七。
重复执行步骤2和3达到第一重复次数,每次迭代选取l个候选聚类中心,并放入候选聚类中心集合C中,最终形成候选聚类中心集合C,例如候选中心集合C中的状态个数为cn。
候选聚类中心集合C确定后,接下来确定最终的聚类中心集合CC。
在一种可能的实现方式中,确定最终的聚类中心集合CC的具体步骤例如可以如下:1、为候选聚类中心集合C中的每个候选聚类中心赋一个权重值wi(1≤i≤cn),其中wi为距离候选聚类中心集合C中的第i个候选聚类中心最近的状态的个数占状态集合S的比重,形成权重值集合W={w1,w2,..,wcn}。2、从候选聚类中心集合C中随机选取一个状态放入最终的聚类中心集合CC中。3、计算该状态被选作为下一个聚类中心的概率,以此概率完成下一个聚类中心的选择,概率的计算方法可以参照公式九:
ps’=current/sum 公式九
其中,current=d2(s,cmin)用于表示状态s距离其最近候选积累中心距离的平方,sum=∑(s∈S,1≤i≤cn)wi×d2(s,cmin)用于表示带权重的每个状态到最近聚类中心距离的平方和。
4、对每一个状态s,产生一个0到1之间的随机数。若该随机数小于ps’,则将该状态选作新的聚类中心,放入最终的聚类中心集合CC中。重复以上步骤2、3,直至选出M个聚类中心,从而确定了最终的聚类中心集合CC。
5、比较状态集合S中非聚类中心集合CC的各个状态与聚类中心集合CC各个聚类中心的距离,将各状态归属于距离其最近的聚类中心对应的簇。其中,以聚类中心集合CC中的各个聚类中心为中心,形成状态簇。状态集合S中的非聚类中心的状态作为以上各个状态簇的簇成员。其中,一个非聚类中心的状态仅归属于一个状态簇,一个状态簇可以包含多个非聚类中心的状态。
在本实施例中,只是对实现候选聚类中心集合、最终的聚类中心集合以及形成最后多个的状态簇的具体实现方式进行示例性的介绍,并不是对候选聚类中心集合、最终的聚类中心集合以及形成最后多个的状态簇的具体实现方式做以限制,对候选聚类中心集合、最终的聚类中心集合以及形成最后多个的状态簇的具体实现方式可以根据实际需求进行选择。
S408、构建初始表格,将初始表格中的各个元素初始化为0。
在本实施例中,初始表格用于指示Q学习中的Q表。Q表中的各个行表示聚类中心集合CC中的各个聚类中心,Q表中的各个列表示各个动作。如图5所示,在初始表格构建完成后,将初始表格中的各个Q值初始化为0。
S409、针对各训练样本,分别确定训练样本中的初始状态和各聚类中心的欧式距离,以及分别确定训练样本中的下一状态和各聚类中心的欧式距离。
在本实施例中,针对各个训练样本依次进行以下处理:首先计算训练样本中的初始状态和各个聚类中心的欧式距离,并计算训练样本中的下一状态和各个聚类中心的欧式距离。其中,下一状态为训练样本(s,a,r,s')中的下一状态s'。
S410、在初始表格中确定初始状态对应的欧式距离最小的聚类中心对应的第i行,以及在初始表格中确定下一状态对应的欧式距离最小的聚类中心对应的第j行,其中,i为大于或等于1的整数,j为大于或等于1的整数。
基于上述步骤S409计算出各个训练样本中初始状态、下一状态分别到各个聚类中心的欧式距离后,接下来在初始表格中为每个训练样本中的初始状态确定与之对应的欧式距离最小的聚类中心对应的第i行,以及为每个训练样本中的下一状态确定与之对应的欧式距离最小的聚类中心对应的第j行。其中,i为大于或等于1的整数,j为大于或等于1的整数。
S411、将第i行中往返时延最小的动作对应的评估值设置为1,以及,将第j行中往返时延最小的动作对应的评估值设置为1。
在本实施例中,评估表格用于指示评估参数,评估表格为M行N列的表格,评估表格的M行分别对应M个聚类中心,评估表格的N列分别对应N个动作,评估表格中的M×N个元素分别用于指示在各个聚类中心对应的状态下执行各个动作的评估值。
在一种可能的实现方式中,对评估表格中的评估值进行初次赋值,将评估表格中第i行中往返时延最小的动作对应的评估值设置为1,以及,将第j行中往返时延最小的动作对应的评估值设置为1。对应于Q学习中的Q值,将Q表中第i行中往返时延最小的动作对应的Q值设置为1,以及,将第j行中往返时延最小的动作对应的Q值设置为1。
接下来,以一个具体的例子对上述内容进行进一步的介绍。若在初始表格中确定初始状态对应的欧式距离最小的聚类中心对应的第2行,且在第5行中往返时延最小值对应的是动作a5。如图6所示,那么将Q表中的Q值Q(s2,a5)设置为1。可以理解的是,若在初始表格中确定下一状态对应的欧式距离最小的聚类中心对应的第7行,且在第7行中往返时延最小值对应的是动作a2,那么将Q表中Q值Q(s7,a2)设置为1。
S412、根据训练样本中的奖励值、下一状态对应第j行中的最大评估值以及第i行中初始状态对应的动作的评估值,更新第i行中初始状态对应的动作的评估值,得到评估表格。
根据公式三,确定训练样本中的奖励值。根据训练样本中的奖励值、下一状态对应第j行中的最大评估值以及第i行中初始状态对应的动作的评估值,更新第i行中初始状态对应的动作的评估值,得到评估表格。
在一种可能的实现方式中,更新评估值的计算方法例如可以参考公式一得到,当学习率α=1,折扣率γ=1时,则得到公式十:
Q(s,a)=Q(s,a)+[r+maxa'Q(s',a')-Q(s,a)] 公式十
对于Q表中初始状态对应的Q值的更新,均可以根据公式十来进行计算得到。
接下来,紧接着步骤S411中的例子对Q值的更新进行进一步的介绍。若在初始状态s2时采取动作a5所获得到的奖励值r=5,且通过查看图6中初始状态s2时采取动作a5得到的Q值为Q(s2,a5)=1,且maxa'Q(s7,a')=Q(s7,a2)=1。将奖励值r、Q(s2,a5)及maxa'Q(s7,a')带入公式十中,即可得到更新后的Q值Q(s2,a5)=1+[5+1-1]=6。更新后的Q表,如图7所示。
在本实施例中,只是对Q表中Q值的更新的具体实现方式进行示例性的介绍,并不是对Q表中Q值的更新的具体实现方式做以限制,对Q表中Q值的更新的具体实现方式以及学习率、折扣率的设定都可以根据实际需求进行设置。
通过以上步骤S401-S412实现一个训练样本的更新,重复以上步骤S401-S412为所有训练样本进行更新后,得到更新后的评估表格,即完成离线学习处理。
S413、确定上一时刻的初始状态、上一时刻的初始状态对应的动作、上一时刻的动作对应的奖励值、上一时刻的动作对应的下一状态,其中,上一时刻的动作对应的下一状态为当前时刻的初始状态。
基于上述步骤完成了离线学习处理过程,接下来进行在线学习处理。
在本实施例中,基于当前时刻,确定上一时刻的初始状态、上一时刻的初始状态对应的动作、上一时刻的动作对应的奖励值、上一时刻的动作对应的下一状态。其中,上一时刻的动作对应的下一状态为当前时刻的初始状态。
在一种可能的实现方式中,在线学习处理的过程中包括三个阶段,分别为:1)Q表更新、样本存储;2)动作选择决策;3)新状态、动作和奖励等信息的暂存及新样本的生成。
接下来,对在线学习处理过程中这3个阶段进行详细的介绍:
首先在在线学习处理过程中的Q表更新、样本存储阶段。若当前时刻为t,则上一调度时刻为t-1。在线学习处理的目的是完成对上一调度时刻t-1对应的上一状态st-1、执行的动作at-1对应的Q值的更新。当在线学习处理的过程中,将获取当前时刻的状态st,即t-1时刻对应的下一状态s't-1。将(st-1,at-1,rt-1,s't-1)作为样本放入回放缓冲区,以便为后续的离线学习处理提供新样本进行训练。
基于在线学习处理过程中的Q表更新,样本存储阶段,接下来做动作选择决策,为当前状态st选取所要执行的动作at。在在线学习处理中智能体在决定要执行的动作时,通常采用两种策略进行决策,策略一为选择Q表中具有最大Q值的最优动作执行,策略二为随机选取动作执行。两种策略分别以概率ε和1-ε进行动作选择。例如ε=0.1,即以10%的概率实施随机动作选取策略,90%的概率实施具有最大Q值的最优动作选取策略。
基于上述动作选择策略完成动作at选择后,计算智能体执行该动作所获得的奖励rt,同时将st,at,rt进行暂存,待s't(即st+1)获得后,形成新样本(st,at,rt,s't)将新样本放入回放缓冲区。当含有第三数量个新样本产生时,再次进行对回放缓冲区中的新样本进行离线学习处理。
S414、在评估表格中确定上一时刻的初始状态对应的欧式距离最小的聚类中心对应的第z行,以及,在评估表格中确定上一时刻的下一状态对应的欧式距离最小的聚类中心对应的第w行,其中,z为大于或等于1的整数,w为大于或等于1的整数。
在本实施例中,通过计算评估表格中上一时刻的初始状态与聚类中心集合CC中各聚类中心的欧氏距离,并根据该距离确定该初始状态距离最近的聚类中心对应的第z行,以及,在评估表格中确定上一时刻的下一状态对应的聚类中心对应的第w行,其中z为大于或等于1的整数,w为大于或等于1的整数。
S415、根据上一时刻的动作对应的奖励值、上一时刻的下一状态对应第w行中的最大评估值以及第z行中上一时刻的初始状态对应的动作的评估值,更新第z行中上一时刻的初始状态对应的动作的评估值。
在本实施例中,根据训练样本,得到上一时刻的动作对应的奖励值,通过查看评估表格获得上一时刻的下一状态对应第w行中的最大评估值,以及第z行中上一时刻的初始状态对应的动作的评估值。
在一种可能的实现方式中,根据上一时刻的动作对应的奖励值、上一时刻的下一状态对应第w行中的最大评估值以及第z行中上一时刻的初始状态对应的动作的评估值,更新第z行中上一时刻的初始状态对应的动作的评估值,通过公式十计算得到更新后的评估,即实现了对上一时刻的评估值的更新。对应于Q学习中的Q表,即通过公式十计算得到更新后的Q值,即实现了对上一时刻的Q值的更新。
通过对回放缓冲区中的所有训练样本进行了离线学习处理后,得到更新后的Q表,假设更新后得到的Q表为图8中的Q表。接下来,在图8中Q表的基础上对在线学习处理中的Q值更新进行进一步的介绍。
如图8所示,若当前上一时刻的状态s2对应的第2行中动作a1对应的Q值Q(s2,a1)=6且奖励值r=7,上一时刻的下一状态对应的第8行中的最大评估值Q(s8,a2)=12,则maxa'Q(s8,a')=Q(s8,a2)=12。将奖励值r、Q(s2,a1)及maxa'Q(s8,a')带入公式十中,即可得到更新后的Q值Q(s2,a1)=6+[7+12-6]=19。更新后的Q表,如图9所示。
S416、根据当前时刻的初始状态,在更新后的评估表格中确定当前时刻的初始状态对应的欧式距离最小的聚类中心对应的第x行,其中,x为大于或等于1的整数。
S417、根据第一概率,将在第x行中随机选择的动作确定为目标动作。或者,根据第二概率,将第x行中评估值最大的动作确定为目标动作。
接下来,对步骤S416及S417放在一起进行介绍。
在本实施例中,根据当前时刻的初始状态,计算该当前时刻的初始状态亚与聚类中心集合CC中各聚类中心的欧式距离。根据计算出的欧式距离,确定当前时刻的初始状态对应的欧式距离最小的聚类中心对应的第x行。其中,x为大于或等于1的整数。
在确定当前时刻的初始状态归属于第x行后,接下来做动作选择决策。即为当前状态st选取所要执行的动作at。
在一种可能的实现方式中,在线学习处理中智能体在决定要执行的动作时,选择Q表中具有最大Q值的最优动作执行。
在一种可能的实现方式中,在线学习处理中智能体在决定要执行的动作时,采用随机选取动作执行。
优选的,在线学习处理中智能体在决定要执行的动作时,采用两种策略进行决策。策略一是随机选取动作执行,策略二是选择Q表中具有最大Q值的最优动作执行。两种策略分别以第一概率和第二概率进行动作选择。可以理解的是,根据第一概率,将在第x行中随机选择的动作确定为目标动作。或者,根据第二概率,将第x行中评估值最大的动作确定为目标动作。若两种策略分别以概率ε和1-ε进行动作选择。当ε=0.1,即以10%的概率实施随机动作选取策略,90%的概率实施具有最大Q值的最优动作选取策略。
基于上述动作选择策略完成动作at选择后,计算智能体执行该动作所获得的奖励rt,同时将st,at,rt进行暂存,待s't(即st+1)获得后,形成新样本(st,at,rt,s't)将新样本放入回放缓冲区。当含有第三数量个新样本产生时,再次进行对回放缓冲区中的新样本进行离线学习处理,即重新从步骤401开始又一轮的执行,从而对Q表进行不断训练。
本申请实施例提供的数据传输方法,通过Q学习和聚类优化方法是实现智能多路传输调度,将子流的往返时延和拥塞程度作为状态参数,将确定所选子流及使用该子流传输的数据包数量的变化量作为调度动作,将吞吐量、丢包率及能耗作为奖励值计算参数来构建面向多路传输调度的Q学习模型。其中,在每次数据调度执行后及时对网络环境进行观测。同时,考虑了吞吐量、丢包率及能耗参数的奖励值能够实现对动态网络变化的及时响应与感知,从而解决了多路传输调度问题中调度方法对于不同网络环境的动态适应问题,有效缓解了MPTCP传输过程中数据包乱序问题。另外,根据状态对训练样本进行聚类,即将相似的状态聚为一类,在每个状态类中存在一个能够代表该类的聚类中心,在针对任一个状态进行Q值更新时,找到该状态所在状态类的聚类中心,只需对该聚类中心进行Q值更新,而无需把每个状态作为Q学习中的一种状态,这能够有效减少Q表规模,避免在Q学习的过程中出现维度灾难,提高Q学习的学习效率。
下面结合图10对本申请提供的数据传输方法进行系统的详细介绍,图10为本申请实施例提供的数据传输方法的示意图。在整个数据传输过程中,可以基于Q学习实现智能多路传输调度。
在Q学习模型中,如图10所示,例如可以首先进行参数设置。在一种可能的实现方式中,参数设置中可以设置如下中的至少一种:状态参数、动作参数、奖励值、学习目标、网络环境等的设置,以及还可以进行Q表清零初始化。其中,状态参数的设置中考虑了每条子流的往返时延及拥塞程度。动作参数的设置中考虑了所选择子流的编号及使用该子流传输的数据包数量的变化量。为了达到减少丢包、优化数据调度的学习目标,在奖励值的计算中考虑了吞吐量、丢包率及能耗等参数。网络环境中包括但不限于网络参数、网络设备、子流状态等。在Q学习的开始,会对Q表进行清零初始化操作,将Q表中的所有Q值设置为0。
其中,状态参数、动作参数、奖励值的实现方式与上述介绍的类似,此处不再赘述。
如图10所示,在参数设置完成后,可以由收集器进行样本收集,并将收集的样本放入回放缓冲区中,其中收集器得到的样本例如可以为上述实施例介绍的至少一个训练样本。
其中,在确定训练样本中的动作数据时,例如可以基于最小往返时延调度原则,比较各条子流的往返时延,选择具有最小往返时延的子流实施调度。经过多次最小往返时延调度,可以得到多个包含状态s,动作a,奖励值r和下一状态s'的训练样本,依次以(s,a,r,s')的形式存储在回放缓冲区中。回放缓冲区中的所有训练样本将全部用于后续训练。
在离线学习处理的过程中,根据当前的训练样本对Q学习中的Q表进行更新。首先,通过聚类算法对由回放缓冲区中的所有样本形成状态集进行聚类,得到由多个聚类中心组成的聚类中心集合。
其中,该集合中的多个聚类中心对应Q表中的多行。在进行离线学习处理时,每次从回放缓冲区中进行随机取样,并将该部分被取到的样本从回放缓冲区中删除,并根据每一个样本进行Q值更新,更新的具体实现方式可以参照上述实施例介绍的离线学习处理的实现,此处不再赘述。
之后,根据回放缓冲区中所有样本完成Q表更新后,结束离线学习处理并开启在线学习处理过程。
参见图10,在在线学习处理过程中,主要包括以下三个阶段:1、Q表更新、样本存储;2、动作选择决策;3、新状态、动作、奖励等信息的暂存及新样本的生成等工作。
其中Q表的更新就是上述实施例介绍的在线学习阶段的Q表的更新,动作选择决策就是上述实施例中介绍的以一定的概率根据Q表选择动作,或者随机选择动作,新样本的生成就是说根据当前的状态数据以及当前的动作数据,确定新的样本,并将生成的新样本放入回放缓冲区中。若有一定数量的样本产生时,启动离线学习处理。更为具体的实现方式可以参照上述实施例的介绍,此处不再赘述。
不断重复以上过程,能够使得数据传输调度能够适应高度动态变化的异构网络环境,进而实施更为适应当前网络环境的数据调度策略,同时减少了数据传输过程中的数据包乱序现象。
图11为本申请实施例提供的数据传输装置的结构示意图。如图11所示,该装置110包括:获取模块1101、第一学习模块1102、第二学习模块1103以及确定模块1104。
获取模块1101,用于获取至少一个训练样本;
第一学习模块1102,用于根据所述至少一个训练样本,进行离线学习处理,得到评估参数,所述评估参数用于指示在各个状态下执行各个动作的评估值;
第二学习模块1103,用于根据所述评估参数进行在线学习处理,对所述评估参数进行更新;
确定模块1104,用于根据所述更新后的评估参数,确定目标动作,所述目标动作用于指示采用目标路径传输目标数据。
在一种可能的设计中,各所述训练样本中至少包括如下数据:当前时刻的初始状态、所述初始状态对应的动作、所述动作对应的奖励值、所述动作对应的下一状态;
其中,所述初始状态包括当前时刻各个路径的往返时延以及拥塞程度,所述动作包括采用第一路径传输数据,所述下一状态包括执行所述动作后各个路径的往返时延以及拥塞程度;
其中,所述奖励值和所述第一路径的吞吐量成正比,以及和所述第一路径的丢包率成反比,以及和所述第一路径的能耗成反比。
在一种可能的设计中,所述获取模块1101具体用于:
确定当前时刻的初始状态,并根据所述初始状态确定各个路径的往返时延;
将往返时延最小的路径确定为所述第一路径,根据所述第一路径传输数据,得到所述初始状态对应的动作;
根据所述第一路径的吞吐量、所述第一路径的丢包率、所述第一路径的能耗,确定所述动作对应的奖励值;
根据接收到的确认字符,获取执行所述动作后各个路径的往返时延以及拥塞程度,得到所述动作对应的下一状态;
根据所述当前时刻的初始状态、所述初始状态对应的动作、所述动作对应的奖励值、所述动作对应的下一状态,得到训练样本;
将所述动作对应的下一状态作为当前时刻的初始状态,重复执行上述得到训练样本的操作,直至得到预设数量的训练样本。
在一种可能的设计中,所述第一学习模块1102具体用于:
根据各所述训练样本中的初始状态进行聚类处理,得到M个聚类中心,所述M为大于或等于1的整数;
根据所述M个聚类中心,确定评估表格,所述评估表格用于指示所述评估参数;
其中,所述评估表格为M行N列的表格,所述评估表格的M行分别对应所述M个聚类中心,所述评估表格的N列分别对应N个动作,所述评估表格中的M×N个元素分别用于指示在各个聚类中心对应的状态下执行各个动作的评估值,所述N为大于等于1的整数。
在一种可能的设计中,所述第一学习模块1102具体用于:
构建初始表格,将所述初始表格中的各个元素初始化为0;
针对各所述训练样本,分别确定所述训练样本中的初始状态和各所述聚类中心的欧式距离,以及分别确定所述训练样本中的下一状态和各所述聚类中心的欧式距离;
在所述初始表格中确定所述初始状态对应的欧式距离最小的聚类中心对应的第i行,以及在所述初始表格中确定所述下一状态对应的欧式距离最小的聚类中心对应的第j行,其中,所述i为大于或等于1的整数,所述j为大于或等于1的整数;
将所述第i行中所述往返时延最小的动作对应的评估值设置为1,以及,将所述第j行中所述往返时延最小的动作对应的评估值设置为1;
根据所述训练样本中的奖励值、所述下一状态对应第j行中的最大评估值以及所述第i行中所述初始状态对应的动作的评估值,更新所述第i行中所述初始状态对应的动作的评估值,得到所述评估表格。
在一种可能的设计中,所述第二学习模块1103具体用于:
确定上一时刻的初始状态、上一时刻的初始状态对应的动作、上一时刻的动作对应的奖励值、上一时刻的动作对应的下一状态,其中,上一时刻的动作对应的下一状态为当前时刻的初始状态;
在所述评估表格中确定所述上一时刻的初始状态对应的欧式距离最小的聚类中心对应的第z行,以及,在所述评估表格中确定所述上一时刻的下一状态对应的欧式距离最小的聚类中心对应的第w行,其中,所述z为大于或等于1的整数,所述w为大于或等于1的整数;
根据所述上一时刻的动作对应的奖励值、所述上一时刻的下一状态对应第w行中的最大评估值以及所述第z行中所述上一时刻的初始状态对应的动作的评估值,更新所述第z行中所述上一时刻的初始状态对应的动作的评估值。
在一种可能的设计中,所述确定模块1104具体用于:
根据当前时刻的初始状态,在所述更新后的评估表格中确定所述当前时刻的初始状态对应的欧式距离最小的聚类中心对应的第x行,其中,所述x为大于或等于1的整数;
根据第一概率,将在所述第x行中随机选择的动作确定为所述目标动作;或者,
根据第二概率,将所述第x行中评估值最大的动作确定为所述目标动作。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图12为本申请实施例提供的数据传输设备的硬件结构示意图,如图12所示,本实施例的数据传输设备120包括:处理器1201以及存储器1202;其中
存储器1202,用于存储计算机执行指令;
处理器1201,用于执行存储器存储的计算机执行指令,以实现上述实施例中数据传输方法所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器1202既可以是独立的,也可以跟处理器1201集成在一起。
当存储器1202独立设置时,该数据传输设备还包括总线1203,用于连接所述存储器1202和处理器1201。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上数据传输设备所执行的数据传输方法。
本申请实施例还提供一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (8)
1.一种数据传输方法,其特征在于,包括:
获取至少一个训练样本;
根据所述至少一个训练样本,进行离线学习处理,得到评估参数,所述评估参数用于指示在各个状态下执行各个动作的评估值;
根据所述评估参数进行在线学习处理,对所述评估参数进行更新;
根据所述更新后的评估参数,确定目标动作,所述目标动作用于指示采用目标路径传输目标数据;
所述根据所述至少一个训练样本,进行离线学习处理,得到评估参数,包括:
根据各所述训练样本中的初始状态进行聚类处理,得到M个聚类中心,所述M为大于或等于1的整数;
根据所述M个聚类中心,确定评估表格,所述评估表格用于指示所述评估参数;
其中,所述评估表格为M行N列的表格,所述评估表格的M行分别对应所述M个聚类中心,所述评估表格的N列分别对应N个动作,所述评估表格中的M×N个元素分别用于指示在各个聚类中心对应的状态下执行各个动作的评估值,所述N为大于等于1的整数;
所述根据所述评估参数进行在线学习处理,对所述评估参数进行更新,包括:
确定上一时刻的初始状态、上一时刻的初始状态对应的动作、上一时刻的动作对应的奖励值、上一时刻的动作对应的下一状态,其中,上一时刻的动作对应的下一状态为当前时刻的初始状态;
在所述评估表格中确定所述上一时刻的初始状态对应的欧式距离最小的聚类中心对应的第z行,以及,在所述评估表格中确定所述上一时刻的下一状态对应的欧式距离最小的聚类中心对应的第w行,其中,所述z为大于或等于1的整数,所述w为大于或等于1的整数;
根据所述上一时刻的动作对应的奖励值、所述上一时刻的下一状态对应第w行中的最大评估值以及所述第z行中所述上一时刻的初始状态对应的动作的评估值,更新所述第z行中所述上一时刻的初始状态对应的动作的评估值。
2.根据权利要求1所述的方法,其特征在于,各所述训练样本中至少包括如下数据:当前时刻的初始状态、所述初始状态对应的动作、所述动作对应的奖励值、所述动作对应的下一状态;
其中,所述初始状态包括当前时刻各个路径的往返时延以及拥塞程度,所述动作包括采用第一路径传输数据,所述下一状态包括执行所述动作后各个路径的往返时延以及拥塞程度;
其中,所述奖励值和所述第一路径的吞吐量成正比,以及和所述第一路径的丢包率成反比,以及和所述第一路径的能耗成反比。
3.根据权利要求2所述的方法,其特征在于,所述获取至少一个训练样本,包括:
确定当前时刻的初始状态,并根据所述初始状态确定各个路径的往返时延;
将往返时延最小的路径确定为所述第一路径,根据所述第一路径传输数据,得到所述初始状态对应的动作;
根据所述第一路径的吞吐量、所述第一路径的丢包率、所述第一路径的能耗,确定所述动作对应的奖励值;
根据接收到的确认字符,获取执行所述动作后各个路径的往返时延以及拥塞程度,得到所述动作对应的下一状态;
根据所述当前时刻的初始状态、所述初始状态对应的动作、所述动作对应的奖励值、所述动作对应的下一状态,得到训练样本;
将所述动作对应的下一状态作为当前时刻的初始状态,重复执行上述得到训练样本的操作,直至得到预设数量的训练样本。
4.根据权利要求1所述的方法,其特征在于,所述根据所述M个聚类中心,确定评估表格,包括:
构建初始表格,将所述初始表格中的各个元素初始化为0;
针对各所述训练样本,分别确定所述训练样本中的初始状态和各所述聚类中心的欧式距离,以及分别确定所述训练样本中的下一状态和各所述聚类中心的欧式距离;
在所述初始表格中确定所述初始状态对应的欧式距离最小的聚类中心对应的第i行,以及在所述初始表格中确定所述下一状态对应的欧式距离最小的聚类中心对应的第j行,其中,所述i为大于或等于1的整数,所述j为大于或等于1的整数;
将所述第i行中往返时延最小的动作对应的评估值设置为1,以及,将所述第j行中往返时延最小的动作对应的评估值设置为1;
根据所述训练样本中的奖励值、所述下一状态对应第j行中的最大评估值以及所述第i行中所述初始状态对应的动作的评估值,更新所述第i行中所述初始状态对应的动作的评估值,得到所述评估表格。
5.根据权利要求1所述的方法,其特征在于,所述根据所述更新后的评估参数,确定目标动作,包括:
根据当前时刻的初始状态,在所述更新后的评估表格中确定所述当前时刻的初始状态对应的欧式距离最小的聚类中心对应的第x行,其中,所述x为大于或等于1的整数;
根据第一概率,将在所述第x行中随机选择的动作确定为所述目标动作;或者,
根据第二概率,将所述第x行中评估值最大的动作确定为所述目标动作。
6.一种数据传输装置,其特征在于,包括:
获取模块,用于获取至少一个训练样本;
第一学习模块,用于根据所述至少一个训练样本,进行离线学习处理,得到评估参数,所述评估参数用于指示在各个状态下执行各个动作的评估值;
第二学习模块,用于根据所述评估参数进行在线学习处理,对所述评估参数进行更新;
确定模块,用于根据所述更新后的评估参数,确定目标动作,所述目标动作用于指示采用目标路径传输目标数据;
第一学习模块,具体用于:
根据各所述训练样本中的初始状态进行聚类处理,得到M个聚类中心,所述M为大于或等于1的整数;
根据所述M个聚类中心,确定评估表格,所述评估表格用于指示所述评估参数;
其中,所述评估表格为M行N列的表格,所述评估表格的M行分别对应所述M个聚类中心,所述评估表格的N列分别对应N个动作,所述评估表格中的M×N个元素分别用于指示在各个聚类中心对应的状态下执行各个动作的评估值,所述N为大于等于1的整数;
第二学习模块,具体用于:
确定上一时刻的初始状态、上一时刻的初始状态对应的动作、上一时刻的动作对应的奖励值、上一时刻的动作对应的下一状态,其中,上一时刻的动作对应的下一状态为当前时刻的初始状态;
在所述评估表格中确定所述上一时刻的初始状态对应的欧式距离最小的聚类中心对应的第z行,以及,在所述评估表格中确定所述上一时刻的下一状态对应的欧式距离最小的聚类中心对应的第w行,其中,所述z为大于或等于1的整数,所述w为大于或等于1的整数;
根据所述上一时刻的动作对应的奖励值、所述上一时刻的下一状态对应第w行中的最大评估值以及所述第z行中所述上一时刻的初始状态对应的动作的评估值,更新所述第z行中所述上一时刻的初始状态对应的动作的评估值。
7.一种数据传输设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1至5中任一所述的方法。
8.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110260911.8A CN113037648B (zh) | 2021-03-10 | 2021-03-10 | 数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110260911.8A CN113037648B (zh) | 2021-03-10 | 2021-03-10 | 数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113037648A CN113037648A (zh) | 2021-06-25 |
CN113037648B true CN113037648B (zh) | 2022-07-12 |
Family
ID=76469128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110260911.8A Active CN113037648B (zh) | 2021-03-10 | 2021-03-10 | 数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113037648B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556780B (zh) * | 2021-07-28 | 2023-07-25 | 新华三技术有限公司 | 一种拥塞控制方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915466A (zh) * | 2016-04-15 | 2016-08-31 | 北京邮电大学 | 一种mptcp路径选择的方法及装置 |
CN111401458A (zh) * | 2020-03-23 | 2020-07-10 | 清华大学 | 一种基于深度强化学习的多模型目标状态预测方法及系统 |
CN111896006A (zh) * | 2020-08-11 | 2020-11-06 | 燕山大学 | 一种基于强化学习和启发式搜索的路径规划方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10762424B2 (en) * | 2017-09-11 | 2020-09-01 | Sas Institute Inc. | Methods and systems for reinforcement learning |
KR102559552B1 (ko) * | 2018-12-17 | 2023-07-26 | 한국전자통신연구원 | 다매체 다중경로 네트워크의 최적 경로 선택 시스템 및 그 방법 |
CN111901642B (zh) * | 2020-07-31 | 2022-09-30 | 成都云格致力科技有限公司 | 基于强化学习的实时视频码率自适应调控方法与系统 |
-
2021
- 2021-03-10 CN CN202110260911.8A patent/CN113037648B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915466A (zh) * | 2016-04-15 | 2016-08-31 | 北京邮电大学 | 一种mptcp路径选择的方法及装置 |
CN111401458A (zh) * | 2020-03-23 | 2020-07-10 | 清华大学 | 一种基于深度强化学习的多模型目标状态预测方法及系统 |
CN111896006A (zh) * | 2020-08-11 | 2020-11-06 | 燕山大学 | 一种基于强化学习和启发式搜索的路径规划方法及系统 |
Non-Patent Citations (1)
Title |
---|
一种基于SDN和MPTCP的多径并行传输技术;卢选民等;《计算机应用研究》;20171115(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113037648A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112882815B (zh) | 基于深度强化学习的多用户边缘计算优化调度方法 | |
CA2408833A1 (en) | Method and system for market based resource allocation | |
CN114866489B (zh) | 拥塞控制方法和装置及拥塞控制模型的训练方法和装置 | |
CN114330863A (zh) | 时间序列预测处理方法、装置、存储介质及电子装置 | |
CN112631717A (zh) | 基于异步强化学习的网络服务功能链动态部署系统及方法 | |
CN106453608B (zh) | 一种基于云端的移动应用的后台请求自适应调度算法 | |
CN116339932A (zh) | 资源调度方法、装置和服务器 | |
CN114500561B (zh) | 电力物联网网络资源分配决策方法、系统、设备及介质 | |
CN109377218A (zh) | 一种遏制虚假感知攻击的方法、服务器及移动终端 | |
CN113037648B (zh) | 数据传输方法及装置 | |
CN110162692A (zh) | 用户标签确定方法、装置、计算机设备和存储介质 | |
CN114490057A (zh) | 一种基于深度强化学习的mec已卸载任务资源分配方法 | |
CN111813858A (zh) | 基于计算节点自组织分组的分布式神经网络混合同步训练方法 | |
CN113342474A (zh) | 客户流量的预测、模型训练的方法、设备及存储介质 | |
JP2024129162A (ja) | 計算装置、裁定取引システム、計算システム、計算方法、プログラムおよび回路情報 | |
CN116595364A (zh) | 流量预测模型的训练方法、流量预测方法和装置 | |
CN109039797B (zh) | 基于强化学习的大流检测方法 | |
Fan et al. | DRL-D: Revenue-aware online service function chain deployment via deep reinforcement learning | |
CN110233763B (zh) | 一种基于时序差分学习的虚拟网络嵌入算法 | |
CN114168328A (zh) | 一种基于联邦学习的移动边缘节点计算任务调度方法及其系统 | |
Yao et al. | A SMDP-based forwarding scheme in named data networking | |
CN110933728A (zh) | 虚拟化无线传感网络的映射方法、装置、存储介质 | |
CN114745389B (zh) | 移动边缘计算系统的计算卸载方法 | |
US12019712B2 (en) | Enhanced reinforcement learning algorithms using future state prediction scaled reward values | |
CN112948114B (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 |