CN109408211A - 一种多目标优化的对等网络流媒体系统数据调度算法 - Google Patents
一种多目标优化的对等网络流媒体系统数据调度算法 Download PDFInfo
- Publication number
- CN109408211A CN109408211A CN201811137665.1A CN201811137665A CN109408211A CN 109408211 A CN109408211 A CN 109408211A CN 201811137665 A CN201811137665 A CN 201811137665A CN 109408211 A CN109408211 A CN 109408211A
- Authority
- CN
- China
- Prior art keywords
- particle
- video
- node
- video clip
- optimization
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种多目标优化的对等网络流媒体系统数据调度算法,该算法包括:一个多目标优化数学模型和多目标粒子群数据调度算法两部分;首先,本发明构造一个包括优化视频播放质量和网络吞吐量两个优化目标的数学模型;然后,根据该多目标优化数学模型的优化目标,设计一个多目标粒子群数据调度算法,确定接收节点滑动窗口内每个视频片段应选择的最佳发送节点,据此完成流媒体播放系统中的数据调度。通过本发明,能同时有效地提高对等网络流媒体播放系统中的视频播放质量和网络吞吐量,并且更好地实现了发送节点的负载均衡。
Description
技术领域
本发明涉及计算机网络、对等网络技术、流媒体技术领域,具体是一种多目标优化的对等网络流媒体系统数据调度算法。
背景技术
随着宽带网络的发展和普及,用户通过互联网观看视频的需求日益增长。互联网视频主要采用流媒体技术进行传输,在将流媒体视频由服务器传输到广大客户端时,早期的流媒体播放系统陆续采用了客户端/服务器(C/S,Client/Server) 模式、内容分发网络(CDN,Content Delivery Network)模式。由于用户规模的剧增,C/S模式或CDN模式存在服务器性能的瓶颈,无法满足扩展性的要求。而对等网络(Peer-to-Peer,简称P2P)技术能免费利用每个节点提供的资源,可扩展系统的资源提升系统的服务能力。因此,基于对等网络技术的流媒体播放系统获得了广泛部署和应用。基于对等网络技术的流媒体播放系统,包含两个核心模块:一个是覆盖网构造,建立节点之间的传输路径;一个是数据调度,决定视频数据在哪些节点之间传输。本发明主要针对基于对等网络技术的流媒体播放系统的数据调度模块。
在P2P流媒体播放系统中,每个节点所需的视频片段来自于邻居节点或服务器。当一个节点的邻居节点无相应视频片段时,才会向服务器请求。这样就节省了服务器带宽,利用了每个节点的资源。目前,一些数据调度算法以最大化网络吞吐量为目标进行构建,以最大化利用节点的资源,降低服务器带宽开销。在最大化网络吞吐量时,视频片段的稀有性是重要影响因素。还有一些数据调度算法以最大化视频播放质量为目标,视频片段的紧急性和视频片段质量属性是重要考虑因素。
然而,最大化网络吞吐量与最大化视频播放质量往往会产生冲突。如果一个视频片段是稀有的,那么该视频片段对网络吞吐量影响较高,需要优先传输。但是,该视频片段有可能紧急性较低,或者其对播放质量的影响较低,无需优先传输。这就产生了冲突。因此,最大化网络吞吐量并不一定能保证最大化视频播放质量,反之亦然。于是,在数据调度过程中,仅仅追求单一优化目标(最大化网络吞吐量或最大化视频播放质量),并不能带来最佳性能。而同时追求最大化网络吞吐量与最大化视频播放质量,才能带来最佳性能。为此,需要设计一种多目标优化算法解决同时优化两个目标的问题。
发明内容
本发明的目的在于克服现有技术的不足,而提供一种多目标优化的对等网络流媒体系统数据调度算法,该算法可以解决数据调度过程中同时优化视频播放质量和网络吞吐量的问题,以提高系统服务质量并且降低服务器带宽开销。
实现本发明目的的技术方案是:
一种多目标优化的对等网络流媒体系统数据调度算法,包括一个多目标优化数学模型和一个多目标粒子群数据调度算法;首先,根据优化视频播放质量和网络吞吐量这两个优化目标,构造一个多目标优化数学模型;然后,根据该多目标优化数学模型的优化目标,设计一个多目标粒子群数据调度算法;最后,利用多目标优化粒子群算法求解该数学模型的最佳解,即确定接收节点滑动窗口内每个视频片段应选择的发送节点,据此完成流媒体播放系统中的数据调度。
所述的多目标优化数学模型,由优化视频播放质量的目标函数、优化网络吞吐量的目标函数和流媒体数据调度问题中需考虑的约束条件综合构成;
所述的多目标粒子群数据调度算法,是一种在离散空间中搜索的多目标粒子群优化算法,该算法将接收节点滑动窗口内每个视频片段的邻居节点编码为粒子的决策向量,并以多目标优化数学模型的优化目标为目标进行寻优,最后从得出的帕累托解集中选择一个偏向于播放质量的解,来指示接收节点滑动窗口内每个视频片段应选择的最佳发送节点,据此完成流媒体播放系统中的数据调度;
所述的接收节点,是指向邻居节点发送所需视频片段的请求,并且最终接收所需视频片段的节点,所述的发送节点,是指一个接收节点的邻居节点中拥有该接收节点所请求的视频片段,并最终向该接收节点发送请求片段的节点。
所述的优化视频播放质量的目标函数,同时考虑视频片段的紧急性和视频质量两个属性,并且由于一个节点的邻居节点缓存视频片段的数量及内容不同的情况下,紧急性和视频质量对视频播放质量的影响是不同的,因此建立各属性加权系数不同的权重函数,最终构成最大化视频播放质量的目标函数;最大化的视频播放质量的目标函数表达式为:
公式(1)中,wj表示视频片段j的权重函数,xi,j表示发送节点i发送视频片段j,Q表示节点i和其邻居节点构成的节点集合,S表示滑动窗口中所缺失视频片段的集合;
所述的紧急性,用来表示一个视频片段的当前播放时间与播放截止时间相比的紧急程度,计算方式为:
公式(2)中,δ表示滑动窗口的大小,即每个发送周期接收节点请求长度为δ秒的缺失视频片段;j为视频片段的编号;dj为一个滑动窗口内视频片段j 的播放截止时间;tplayback表示当前播放时间;dj计算公式为:
公式(3)中,vf是视频流的帧速率;每个视频片段包含NGOP个视频帧;
所述的视频质量,视频片段的视频质量属性基于PSNR值衡量视频片段的图片质量,其定义为一个视频片段的所有视频帧的峰值信噪比(PSNR)的平均值。每个视频片段都是由特定数目的视频帧组成,不同的视频帧具有的PSNR值不同, PSNR值较高的片段能给用户带来更好的观看体验,片段j的视频质量的计算公式为:
公式(4)中,PSNRj表示视频片段j的峰值信噪比,PSNRmin表示滑动窗口中所有视频片段的峰值信噪比的最小值,PSNRmax表示滑动窗口中所有视频片段的峰值信噪比的最大值;
所述的视频片段,是指在对等网络流媒体播放系统的数据调度中,用于传输的单元,在数据调度中,流媒体视频数据是分割为视频片段进行传输的,并且视频数据被分割的片段越小,其在传输时越灵活,用于传输的视频片段的大小一般为1KB,因此本发明所述的视频片段大小也为1KB。
所述的权重函数,是根据视频片段在一个节点的邻居节点缓存视频片段的数量及内容不同的情况下,紧急性和视频质量对播放质量影响程度的不同,为各属性设置不同的加权系数构成的,视频片段j的权重函数表达式为:
公式(5)中,rq和re分别表示视频片段的视频质量和紧急性的加权系数,且 rq+re=1;
所述的视频片段的视频质量和紧急性的加权系数,根据拥有当前请求视频片段的邻居节点的数目不同,权重函数的加权系数会发生变化,对应的表达公式也不相同;若没有邻居节点拥有该片段j,则加权系数rq和re均为0,相应的权重函数为:wj=0;若拥有该片段j的邻居节点数大于0,则加权系数rq和re分别为0.3和0.7,相应的权重函数为:
所述的优化网络吞吐量的目标函数,用于表示最大化网络吞吐量,其表达式为:
上述公式(6)其中Ui表示发送节点i的上行带宽利用率;
所述的上行带宽利用率,是指已使用的上行带宽占总上行带宽的比例,不同的数据调度对每个发送节点上行带宽利用率的影响是不同的,发送节点上行带宽利用率越高,那么网络吞吐量也就越高,上行带宽利用率的表达式为:
上述公式(7)中,bi表示发送节点的上行带宽;τ表示发送周期;Squeuei为发送节点传输队列中待发送片段的长度;Sj为视频片段j的长度,则优化网络吞吐量的目标函数也可表示为:Maximize:
所述的流媒体数据调度问题中需考虑的约束条件,包括:
约束条件1:保证发送每个片段的节点不超过1个;
约束条件2:确保每个发送节点在每个发送周期内不过载;
约束条件3:限定每个发送节点只能发送自己拥有的片段;
约束条件4:用来限定该数据调度问题的解是离散的。
所述的多目标粒子群数据调度算法,包括如下步骤:
1)计算拥有视频片段j的邻居节点数neighbor_countj,并为每个视频片段初始化拥有该片段的邻居节点集合neighborj,即将拥有该片段的邻居节点加入到集合neighborj中;
2)初始化粒子群,包括初始化每个粒子particlek的速度为0(velocityj=0)、位置locationj的范围为0到neighbor_countj之间的任意值 (0<locationj<neighbor_countj)、局部最优位置Pbestk为当前选择粒子的位置 (Pbestk=particlek),并根据拥有各个视频片段的邻居节点数,为相应维度的位置向量设定边界范围为0<locationj<neighbor_countj,确保粒子在有效的搜索空间中飞行寻优;
3)将非支配粒子复制到帕累托档案中,并且初始化迭代次数titeration=0;
4)粒子群进行飞行寻优,每个粒子飞行时随机选择帕累托档案中一个粒子的位置作为全局最优位置来指导粒子速度更新,粒子每一次飞行后进行适应值评价,并更新自己的局部最优位置;
5)将粒子群中的非支配粒子复制到帕累托档案中,然后移除档案中被支配的粒子;
6)计算帕累托档案中每个粒子的拥挤距离dcrowd,并降序排列,若帕累托档案中粒子的数量超过了帕累托档案的容量,则按拥挤距离从小到大移除末端超出容量的粒子;
7)如果迭代次数未达到设置的最大迭代次数,则重复步骤4)至步骤6);
8)计算帕累托档案中每个粒子对应的播放质量,即每个粒子的待发送视频片段j的权重值wj;
9)从帕累托档案中选择权重值wj最大的粒子作为最佳粒子,并且以该最佳粒子的位置向量作为多目标优化数学模型的最佳解。即确定接收节点滑动窗口内的视频片段应选择的最佳发送节点,据此完成流媒体播放系统中的数据调度。
步骤2)中,所述的飞行寻优,是指粒子飞行并寻找多目标优化问题最优解的过程,在粒子群算法中每个粒子代表寻优问题的解,为了寻找最优解,粒子在每一次飞行时都会进行速度更新和位置更新,在粒子群算法中,第i个粒子的位置表示为Xi=(x1,x2,x3...,xN),速度表示为Vi=(v1,v2,v3...,vN)。其中,N表示该粒子搜索空间的维度;
所述的速度更新,在粒子群算法中,速度更新是指粒子的速度会根据局部最优位置和全局最优位置实时更新,速度更新公式为:
vi+1=w×vi+c1×rand1×(pbesti-xi)+c2×rand2×(gbesti-xi) (8)
公式(8)中,w为惯性权重,用于避免粒子的飞行陷入局部最优;rand1和 rand2是0到1之间的随机数;pbesti是一个粒子飞行历史上的最优位置;gbesti是粒子群在整个飞行过程中的最优位置,也分别被称为局部最优位置和全局最优位置;c1和c2分别为控制速度公式向着局部最优和全局最优飞行的学习因子;
所述的位置更新,在粒子群算法中,位置更新是指粒子的位置会根据粒子的速度实时更新,根据粒子的速度更新公式得出其位置更新公式为xi+1=xi+vi,为了将原粒子群优化算法中的解空间由连续解空间转换为离散解空间,进一步将位置更新公式向下取整为:
步骤2)中,所述的适应值,包括两个fitness1和fitness2;fitness1表示优化视频播放质量的目标函数的适应值;适应值fitness1初始值为0,即fitness1=0;当满足传输时间约束和上行带宽约束这两个约束条件时,该适应值fitness1就会更新为当前适应值加上该视频片段权重值之后的值,即fitness1=fitness1+wj; fitness2表示优化网络吞吐量的目标函数的适应值,等于各个发送节点的总上行带宽利用率,即fitness2=Ui。
所述的传输时间约束,是保证发送节点在接收节点的播放截止时间之前,把视频片段发送到接收节点,即传输时间ttransmit不大于播放截止时间dj(ttransmit≤dj);
所述的上行带宽约束,是确保每个发送节点不承担超过它发送能力的发送任务,即保证发送节点不过载,邻居节点i滑动窗口的传输队列中待发送片段的总大小Squeuei,不大于邻居节点i的上行带宽bi与其发送周期τ的乘积(Squeuei≤bi*τ);
所述的传输时间ttransmit,传输时间为发送节点i将待发送片段j传输到接收节点所需要的时间,定义为发送节点i传输队列中待发送片段的总长度Squeuei与待发送片段j的长度Sj之和比上发送节点i的上行带宽bi,计算公式为:
步骤3)中,所述的非支配粒子,为多目标优化算法中的非支配解,亦称帕累托解,这些非支配解较其他解而言拥有最少的目标冲突,可提供给接收节点最佳的选择发送节点的空间,非支配解的集合称为帕累托前端,所有坐落在前端中的解不受前端之外的其他解所支配;
所述的帕累托档案,用来存储非支配粒子,当算法运行时,帕累托档案持续不断地接收越来越多的粒子,档案中帕累托前端上分布密集的粒子具有较低的多样性。为了保持其多样性以及维持档案大小,需要对档案进行定期维护,清理档案中的冗余粒子。因此,档案中粒子数目超过档案的大小时,按照拥挤距离从小到大依次移除密集部分粒子,从而使得帕累托前端分布均匀。
步骤6)中,所述的拥挤距离,是帕累托前端上,一个粒子与其前后相邻的两个粒子的欧式距离之和,同时,定义位于帕累托前端两端的粒子之间的拥挤距离值为无穷大,拥挤距离dcrowd的计算方法为:
6-1)将帕累托档案中的粒子分别按适应值fitness1和适应值fitness2的值降序排列;
6-2)定义位于帕累托前端中首尾两端的粒子的拥挤距离值dcrowd为无穷大;
6-3)分别计算帕累托档案中的粒子与相邻前一个粒子的欧式距离distance1和其与相邻后一个粒子的欧式距离distance2;
6-4)拥挤距离dcrowd=distance1+distance2。
步骤9)中,所述的最佳粒子,为了达到较好的提升网络吞吐量同时提高播放质量的优化目标,最佳粒子是从帕累托前端中偏向于播放质量的粒子中选择,首先计算帕累托前端中粒子的播放质量,即每个粒子的待发送视频片段j的权重值wj,然后从帕累托前端中选择播放质量最高的粒子作为最佳粒子,该最佳粒子即为视频片段j要选择的最佳发送节点。
本发明提供的一种多目标优化的对等网络流媒体系统数据调度算法,通过上述技术方案,能有效的提高P2P流媒体播放系统中的视频播放质量和网络吞吐量。
附图说明
图1为本发明的多目标优化数学模型计算流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步阐述,但不是对本发明的限定。
实施例:
一种多目标优化的对等网络流媒体系统数据调度算法,包括一个多目标优化数学模型和一个多目标粒子群数据调度算法;首先,根据优化视频播放质量和网络吞吐量这两个优化目标,构造一个多目标优化数学模型;然后,根据该多目标优化数学模型的优化目标,设计一个多目标粒子群数据调度算法;最后,利用多目标优化粒子群算法求解该数学模型的最佳解,即确定接收节点滑动窗口内每个视频片段应选择的发送节点,据此完成流媒体播放系统中的数据调度。
如图1所示,所述的多目标优化数学模型,由优化视频播放质量的目标函数、优化网络吞吐量的目标函数和流媒体数据调度问题中需考虑的约束条件综合构成;
所述的多目标粒子群数据调度算法,是一种在离散空间中搜索的多目标粒子群优化算法,该算法将接收节点滑动窗口内每个视频片段的邻居节点编码为粒子的决策向量,并以多目标优化数学模型的优化目标为目标进行寻优,最后从得出的帕累托解集中选择一个偏向于播放质量的解,来指示接收节点滑动窗口内每个视频片段应选择的最佳发送节点,据此完成流媒体播放系统中的数据调度;
所述的接收节点,是指向邻居节点发送所需视频片段的请求,并且最终接收所需视频片段的节点,所述的发送节点,是指一个接收节点的邻居节点中拥有该接收节点所请求的视频片段,并最终向该接收节点发送请求片段的节点。
所述的优化视频播放质量的目标函数,同时考虑视频片段的紧急性和视频质量两个属性,并且由于一个节点的邻居节点缓存视频片段的数量及内容不同的情况下,紧急性和视频质量对视频播放质量的影响是不同的,因此建立各属性加权系数不同的权重函数,最终构成最大化视频播放质量的目标函数;最大化的视频播放质量的目标函数表达式为:
公式(1)中,wj表示视频片段j的权重函数,xi,j表示发送节点i发送视频片段j,Q表示节点i和其邻居节点构成的节点集合,S表示滑动窗口中所缺失视频片段的集合;
所述的紧急性,用来表示一个视频片段的当前播放时间与播放截止时间相比的紧急程度,计算方式为:
公式(2)中,δ表示滑动窗口的大小,即每个发送周期接收节点请求长度为δ秒的缺失视频片段;j为视频片段的编号;dj为一个滑动窗口内视频片段j 的播放截止时间;tplayback表示当前播放时间;dj计算公式为:
公式(3)中,vf是视频流的帧速率;每个视频片段包含NGOP个视频帧;
所述的视频质量,视频片段的视频质量属性基于PSNR值衡量视频片段的图片质量,其定义为一个视频片段的所有视频帧的峰值信噪比(PSNR)的平均值。每个视频片段都是由特定数目的视频帧组成,不同的视频帧具有的PSNR值不同, PSNR值较高的片段能给用户带来更好的观看体验,片段j的视频质量的计算公式为:
公式(4)中,PSNRj表示视频片段j的峰值信噪比,PSNRmin表示滑动窗口中所有视频片段的峰值信噪比的最小值,PSNRmax表示滑动窗口中所有视频片段的峰值信噪比的最大值;
所述的视频片段,是指在对等网络流媒体播放系统的数据调度中,用于传输的单元,在数据调度中,流媒体视频数据是分割为视频片段进行传输的,并且视频数据被分割的片段越小,其在传输时越灵活,用于传输的视频片段的大小一般为1KB,因此实施例所述的视频片段大小也为1KB。
所述的权重函数,是根据视频片段在一个节点的邻居节点缓存视频片段的数量及内容不同的情况下,紧急性和视频质量对播放质量影响程度的不同,为各属性设置不同的加权系数构成的,视频片段j的权重函数表达式为:
公式(5)中,rq和re分别表示视频片段的视频质量和紧急性的加权系数,且 rq+re=1;
所述的视频片段的视频质量和紧急性的加权系数,根据拥有当前请求视频片段的邻居节点的数目不同,权重函数的加权系数会发生变化,对应的表达公式也不相同;若没有邻居节点拥有该片段j,则加权系数rq和re均为0,相应的权重函数为:wj=0;若拥有该片段j的邻居节点数大于0,则加权系数rq和re分别为0.3和0.7,相应的权重函数为:
所述的优化网络吞吐量的目标函数,用于表示最大化网络吞吐量,其表达式为:
公式(6)其中Ui表示发送节点i的上行带宽利用率;
所述的上行带宽利用率,是指已使用的上行带宽占总上行带宽的比例,不同的数据调度对每个发送节点上行带宽利用率的影响是不同的,发送节点上行带宽利用率越高,那么网络吞吐量也就越高,上行带宽利用率的表达式为:
公式(7)中,bi表示发送节点的上行带宽;τ表示发送周期;Squeuei为发送节点传输队列中待发送片段的长度;Sj为视频片段j的长度,则优化网络吞吐量的目标函数也可表示为:Maximize:
所述的流媒体数据调度问题中需考虑的约束条件,包括:
约束条件1:保证发送每个片段的节点不超过1个;
约束条件2:确保每个发送节点在每个发送周期内不过载;
约束条件3:限定每个发送节点只能发送自己拥有的片段;
约束条件4:用来限定该数据调度问题的解是离散的。
所述的多目标粒子群数据调度算法,如表1所示,包括如下步骤:
1)计算拥有视频片段j的邻居节点数neighbor_countj,并为每个视频片段初始化拥有该片段的邻居节点集合neighborj,即将拥有该片段的邻居节点加入到集合neighborj中;
2)初始化粒子群,包括初始化每个粒子particlek的速度为0(velocityj=0)、位置locationj的范围为0到neighbor_countj之间的任意值 (0<locationj<neighbor_countj)、局部最优位置Pbestk为当前选择粒子的位置 (Pbestk=particlek),并根据拥有各个视频片段的邻居节点数,为相应维度的位置向量设定边界范围为0<locationj<neighbor_countj,确保粒子在有效的搜索空间中飞行寻优;
3)将非支配粒子复制到帕累托档案中,并且初始化迭代次数titeration=0;
4)粒子群进行飞行寻优,每个粒子飞行时随机选择帕累托档案中一个粒子的位置作为全局最优位置来指导粒子速度更新,粒子每一次飞行后进行适应值评价,并更新自己的局部最优位置;
5)将粒子群中的非支配粒子复制到帕累托档案中,然后移除档案中被支配的粒子;
6)计算帕累托档案中每个粒子的拥挤距离dcrowd,并降序排列,若帕累托档案中粒子的数量超过了帕累托档案的容量,则按拥挤距离从小到大移除末端超出容量的粒子;
7)如果迭代次数未达到设置的最大迭代次数,则重复步骤4)至步骤6);
8)计算帕累托档案中每个粒子对应的播放质量,即每个粒子的待发送视频片段j的权重值wj;
9)从帕累托档案中选择权重值wj最大的粒子作为最佳粒子,并且以该最佳粒子的位置向量作为多目标优化数学模型的最佳解。即确定接收节点滑动窗口内的视频片段应选择的最佳发送节点,据此完成流媒体播放系统中的数据调度。
步骤2)中,所述的飞行寻优,是指粒子飞行并寻找多目标优化问题最优解的过程,在粒子群算法中每个粒子代表寻优问题的解,为了寻找最优解,粒子在每一次飞行时都会进行速度更新和位置更新,在粒子群算法中,第i个粒子的位置表示为Xi=(x1,x2,x3...,xN),速度表示为Vi=(v1,v2,v3...,vN)。其中,N表示该粒子搜索空间的维度;
所述的速度更新,在粒子群算法中,速度更新是指粒子的速度会根据局部最优位置和全局最优位置实时更新,速度更新公式为:
vi+1=w×vi+c1×rand1×(pbesti-xi)+c2×rand2×(gbesti-xi) (8)
公式(8)中,w为惯性权重,用于避免粒子的飞行陷入局部最优;rand1和 rand2是0到1之间的随机数;pbesti是一个粒子飞行历史上的最优位置;gbesti是粒子群在整个飞行过程中的最优位置,也分别被称为局部最优位置和全局最优位置;c1和c2分别为控制速度公式向着局部最优和全局最优飞行的学习因子;
所述的位置更新,在粒子群算法中,位置更新是指粒子的位置会根据粒子的速度实时更新,根据粒子的速度更新公式得出其位置更新公式为xi+1=xi+vi,为了将原粒子群优化算法中的解空间由连续解空间转换为离散解空间,进一步将位置更新公式向下取整为:
步骤2)中,如表2所示,所述的适应值,包括两个fitness1和fitness2;fitness1表示优化视频播放质量的目标函数的适应值;适应值fitness1初始值为0,即 fitness1=0;当满足传输时间约束和上行带宽约束这两个约束条件时,该适应值 fitness1就会更新为当前适应值加上该视频片段权重值之后的值,即 fitness1=fitness1+wj;fitness2表示优化网络吞吐量的目标函数的适应值,等于各个发送节点的总上行带宽利用率,即fitness2=Ui。
所述的传输时间约束,是保证发送节点在接收节点的播放截止时间之前,把视频片段发送到接收节点,即传输时间ttransmit不大于播放截止时间dj(ttransmit≤dj);
所述的上行带宽约束,是确保每个发送节点不承担超过它发送能力的发送任务,即保证发送节点不过载,邻居节点i滑动窗口的传输队列中待发送片段的总大小Squeuei,不大于邻居节点i的上行带宽bi与其发送周期τ的乘积(Squeuei≤bi*τ);
所述的传输时间ttransmit,传输时间为发送节点i将待发送片段j传输到接收节点所需要的时间,定义为发送节点i传输队列中待发送片段的总长度Squeuei与待发送片段j的长度Sj之和比上发送节点i的上行带宽bi,计算公式为:
步骤3)中,所述的非支配粒子,为多目标优化算法中的非支配解,亦称帕累托解,这些非支配解较其他解而言拥有最少的目标冲突,可提供给接收节点最佳的选择发送节点的空间,非支配解的集合称为帕累托前端,所有坐落在前端中的解不受前端之外的其他解所支配;
所述的帕累托档案,用来存储非支配粒子,当算法运行时,帕累托档案持续不断地接收越来越多的粒子,档案中帕累托前端上分布密集的粒子具有较低的多样性。为了保持其多样性以及维持档案大小,需要对档案进行定期维护,清理档案中的冗余粒子。因此,档案中粒子数目超过档案的大小时,按照拥挤距离从小到大依次移除密集部分粒子,从而使得帕累托前端分布均匀。
步骤6)中,如表3所示,所述的拥挤距离,是帕累托前端上,一个粒子与其前后相邻的两个粒子的欧式距离之和,同时,定义位于帕累托前端两端的粒子之间的拥挤距离值为无穷大,拥挤距离dcrowd的计算方法为:
6-1)将帕累托档案中的粒子分别按适应值fitness1和适应值fitness2的值降序排列;
6-2)定义位于帕累托前端中首尾两端的粒子的拥挤距离值dcrowd为无穷大;
6-3)分别计算帕累托档案中的粒子与相邻前一个粒子的欧式距离distance1和其与相邻后一个粒子的欧式距离distance2;
6-4)拥挤距离dcrowd=distance1+distance2。
步骤9)中,所述的最佳粒子,为了达到较好的提升网络吞吐量同时提高播放质量的优化目标,最佳粒子是从帕累托前端中偏向于播放质量的粒子中选择,首先计算帕累托前端中粒子的播放质量,即每个粒子的待发送视频片段j的权重值wj,然后从帕累托前端中选择播放质量最高的粒子作为最佳粒子,该最佳粒子即为视频片段j要选择的最佳发送节点。
表1多目标优化粒子群数据调度算法伪代码表
表2适应值评价和约束条件处理伪代码表
表3拥挤距离计算算法伪代码表
Claims (10)
1.一种多目标优化的对等网络流媒体系统数据调度算法,其特征在于,包括一个多目标优化数学模型和一个多目标粒子群数据调度算法;首先,根据优化视频播放质量和网络吞吐量这两个优化目标,构造一个多目标优化数学模型;然后,根据该多目标优化数学模型的优化目标,设计一个多目标粒子群数据调度算法;最后,利用多目标优化粒子群算法求解该数学模型的最佳解,即确定接收节点滑动窗口内每个视频片段应选择的发送节点,据此完成流媒体播放系统中的数据调度。
2.根据权利要求1所述的一种多目标优化的对等网络流媒体系统数据调度算法,其特征在于,所述的多目标优化数学模型,由优化视频播放质量的目标函数、优化网络吞吐量的目标函数和流媒体数据调度问题中需考虑的约束条件综合构成;
所述的多目标粒子群数据调度算法,是一种在离散空间中搜索的多目标粒子群优化算法,该算法将接收节点滑动窗口内每个视频片段的邻居节点编码为粒子的决策向量,并以多目标优化数学模型的优化目标为目标进行寻优,最后从得出的帕累托解集中选择一个偏向于播放质量的解,来指示接收节点滑动窗口内每个视频片段应选择的最佳发送节点,据此完成流媒体播放系统中的数据调度;
所述的接收节点,是指向邻居节点发送所需视频片段的请求,并且最终接收所需视频片段的节点,所述的发送节点,是指一个接收节点的邻居节点中拥有该接收节点所请求的视频片段,并最终向该接收节点发送请求片段的节点。
3.根据权利要求2所述的一种多目标优化的对等网络流媒体系统数据调度算法,其特征在于,所述的优化视频播放质量的目标函数,同时考虑视频片段的紧急性和视频质量两个属性,并且由于一个节点的邻居节点缓存视频片段的数量及内容不同的情况下,紧急性和视频质量对视频播放质量的影响是不同的,因此建立各属性加权系数不同的权重函数,最终构成最大化视频播放质量的目标函数;最大化的视频播放质量的目标函数表达式为:
公式(1)中,wj表示视频片段j的权重函数,xi,j表示发送节点i发送视频片段j,Q表示节点i和其邻居节点构成的节点集合,S表示滑动窗口中所缺失视频片段的集合;
所述的紧急性,用来表示一个视频片段的当前播放时间与播放截止时间相比的紧急程度,计算方式为:
公式(2)中,δ表示滑动窗口的大小,即每个发送周期接收节点请求长度为δ秒的缺失视频片段;j为视频片段的编号;dj为一个滑动窗口内视频片段j的播放截止时间;tplayback表示当前播放时间;dj计算公式为:
公式(3)中,vf是视频流的帧速率;每个视频片段包含NGOP个视频帧;
所述的视频质量,视频片段的视频质量属性基于PSNR值衡量视频片段的图片质量,其定义为一个视频片段的所有视频帧的峰值信噪比(PSNR)的平均值。每个视频片段都是由特定数目的视频帧组成,不同的视频帧具有的PSNR值不同,PSNR值较高的片段能给用户带来更好的观看体验,片段j的视频质量的计算公式为:
公式(4)中,PSNRj表示视频片段j的峰值信噪比,PSNRmin表示滑动窗口中所有视频片段的峰值信噪比的最小值,PSNRmax表示滑动窗口中所有视频片段的峰值信噪比的最大值;
所述的视频片段,是指在对等网络流媒体播放系统的数据调度中,用于传输的单元;
所述的权重函数,是根据视频片段在一个节点的邻居节点缓存视频片段的数量及内容不同的情况下,紧急性和视频质量对播放质量影响程度的不同,为各属性设置不同的加权系数构成的,视频片段j的权重函数表达式为:
公式(5)中,rq和re分别表示视频片段的视频质量和紧急性的加权系数,且rq+re=1;
所述的视频片段的视频质量和紧急性的加权系数,根据拥有当前请求视频片段的邻居节点的数目不同,权重函数的加权系数会发生变化,对应的表达公式也不相同;若没有邻居节点拥有该片段j,则加权系数rq和re均为0,相应的权重函数为:wj=0;若拥有该片段j的邻居节点数大于0,则加权系数rq和re分别为0.3和0.7,相应的权重函数为:
4.根据权利要求2所述的一种多目标优化的对等网络流媒体系统数据调度算法,其特征在于,所述的优化网络吞吐量的目标函数,用于表示最大化网络吞吐量,其表达式为:
公式(6)其中Ui表示发送节点i的上行带宽利用率;
所述的上行带宽利用率,是指已使用的上行带宽占总上行带宽的比例,上行带宽利用率的表达式为:
公式(7)中,bi表示发送节点的上行带宽;τ表示发送周期;Squeuei为发送节点传输队列中待发送片段的长度;Sj为视频片段j的长度,则优化网络吞吐量的目标函数也可表示为:Maximize:
5.根据权利要求2所述的一种多目标优化的对等网络流媒体系统数据调度算法,其特征在于,所述的流媒体数据调度问题中需考虑的约束条件,包括:
约束条件1:保证发送每个片段的节点不超过1个;
约束条件2:确保每个发送节点在每个发送周期内不过载;
约束条件3:限定每个发送节点只能发送自己拥有的片段;
约束条件4:用来限定该数据调度问题的解是离散的。
6.根据权利要求1所述的一种多目标优化的对等网络流媒体系统数据调度算法,其特征在于,所述的多目标粒子群数据调度算法,包括如下步骤:
1)计算拥有视频片段j的邻居节点数neighbor_countj,并为每个视频片段初始化拥有该片段的邻居节点集合neighborj,即将拥有该片段的邻居节点加入到集合neighborj中;
2)初始化粒子群,包括初始化每个粒子particlek的速度为0(velocityj=0)、位置locationj的范围为0到neighbor_countj之间的任意值(0<locationj<neighbor_countj)、局部最优位置Pbestk为当前选择粒子的位置(Pbestk=particlek),并根据拥有各个视频片段的邻居节点数,为相应维度的位置向量设定边界范围为0<locationj<neighbor_countj,确保粒子在有效的搜索空间中飞行寻优;
3)将非支配粒子复制到帕累托档案中,并且初始化迭代次数titeration=0;
4)粒子群进行飞行寻优,每个粒子飞行时随机选择帕累托档案中一个粒子的位置作为全局最优位置来指导粒子速度更新,粒子每一次飞行后进行适应值评价,并更新自己的局部最优位置;
5)将粒子群中的非支配粒子复制到帕累托档案中,然后移除档案中被支配的粒子;
6)计算帕累托档案中每个粒子的拥挤距离dcrowd,并降序排列,若帕累托档案中粒子的数量超过了帕累托档案的容量,则按拥挤距离从小到大移除末端超出容量的粒子;
7)如果迭代次数未达到设置的最大迭代次数,则重复步骤4)至步骤6);
8)计算帕累托档案中每个粒子对应的播放质量,即每个粒子的待发送视频片段j的权重值wj;
9)从帕累托档案中选择权重值wj最大的粒子作为最佳粒子,并且以该最佳粒子的位置向量作为多目标优化数学模型的最佳解。即确定接收节点滑动窗口内的视频片段应选择的最佳发送节点,据此完成流媒体播放系统中的数据调度。
7.根据权利要求6所述的一种多目标优化的对等网络流媒体系统数据调度算法,其特征在于,步骤2)中,所述的飞行寻优,是指粒子飞行并寻找多目标优化问题最优解的过程,在粒子群算法中每个粒子代表寻优问题的解,为了寻找最优解,粒子在每一次飞行时都会进行速度更新和位置更新,在粒子群算法中,第i个粒子的位置表示为Xi=(x1,x2,x3...,xN),速度表示为Vi=(v1,v2,v3...,vN)。其中,N表示该粒子搜索空间的维度;
所述的速度更新,在粒子群算法中,速度更新是指粒子的速度会根据局部最优位置和全局最优位置实时更新,速度更新公式为:
vi+1=w×vi+c1×rand1×(pbesti-xi)+c2×rand2×(gbesti-xi) (8)
公式(8)中,w为惯性权重,用于避免粒子的飞行陷入局部最优;rand1和rand2是0到1之间的随机数;pbesti是一个粒子飞行历史上的最优位置;gbesti是粒子群在整个飞行过程中的最优位置,也分别被称为局部最优位置和全局最优位置;c1和c2分别为控制速度公式向着局部最优和全局最优飞行的学习因子;
所述的位置更新,在粒子群算法中,位置更新是指粒子的位置会根据粒子的速度实时更新,根据粒子的速度更新公式得出其位置更新公式为xi+1=xi+vi,为了将原粒子群优化算法中的解空间由连续解空间转换为离散解空间,进一步将位置更新公式向下取整为:
步骤2)中,所述的适应值,包括两个fitness1和fitness2;fitness1表示优化视频播放质量的目标函数的适应值;适应值fitness1初始值为0,即fitness1=0;当满足传输时间约束和上行带宽约束这两个约束条件时,该适应值fitness1就会更新为当前适应值加上该视频片段权重值之后的值,即fitness1=fitness1+wj;fitness2表示优化网络吞吐量的目标函数的适应值,等于各个发送节点的总上行带宽利用率,即fitness2=Ui。
所述的传输时间约束,是保证发送节点在接收节点的播放截止时间之前,把视频片段发送到接收节点,即传输时间ttransmit不大于播放截止时间dj(ttransmit≤dj);
所述的上行带宽约束,是确保每个发送节点不承担超过它发送能力的发送任务,即保证发送节点不过载,邻居节点i滑动窗口的传输队列中待发送片段的总大小Squeuei,不大于邻居节点i的上行带宽bi与其发送周期τ的乘积(Squeuei≤bi*τ);
所述的传输时间ttransmit,传输时间为发送节点i将待发送片段j传输到接收节点所需要的时间,定义为发送节点i传输队列中待发送片段的总长度Squeuei与待发送片段j的长度Sj之和比上发送节点i的上行带宽bi,计算公式为:
8.根据权利要求6所述的一种多目标优化的对等网络流媒体系统数据调度算法,其特征在于,步骤3)中,所述的非支配粒子,为多目标优化算法中的非支配解;
所述的帕累托档案,用来存储非支配粒子,当算法运行时,帕累托档案持续不断地接收越来越多的粒子,档案中帕累托前端上分布密集的粒子具有较低的多样性。
9.根据权利要求6所述的一种多目标优化的对等网络流媒体系统数据调度算法,其特征在于,步骤6)中,所述的拥挤距离,是帕累托前端上,一个粒子与其前后相邻的两个粒子的欧式距离之和,同时,定义位于帕累托前端两端的粒子之间的拥挤距离值为无穷大,拥挤距离dcrowd的计算方法为:
6-1)将帕累托档案中的粒子分别按适应值fitness1和适应值fitness2的值降序排列;
6-2)定义位于帕累托前端中首尾两端的粒子的拥挤距离值dcrowd为无穷大;
6-3)分别计算帕累托档案中的粒子与相邻前一个粒子的欧式距离distance1和其与相邻后一个粒子的欧式距离distance2;
6-4)拥挤距离dcrowd=distance1+distance2。
10.根据权利要求6所述的一种多目标优化的对等网络流媒体系统数据调度算法,其特征在于,步骤9)中,所述的最佳粒子,为了达到较好的提升网络吞吐量同时提高播放质量的优化目标,最佳粒子是从帕累托前端中偏向于播放质量的粒子中选择,首先计算帕累托前端中粒子的播放质量,即每个粒子的待发送视频片段j的权重值wj,然后从帕累托前端中选择播放质量最高的粒子作为最佳粒子,该最佳粒子即为视频片段j要选择的最佳发送节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811137665.1A CN109408211A (zh) | 2018-09-28 | 2018-09-28 | 一种多目标优化的对等网络流媒体系统数据调度算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811137665.1A CN109408211A (zh) | 2018-09-28 | 2018-09-28 | 一种多目标优化的对等网络流媒体系统数据调度算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109408211A true CN109408211A (zh) | 2019-03-01 |
Family
ID=65465511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811137665.1A Pending CN109408211A (zh) | 2018-09-28 | 2018-09-28 | 一种多目标优化的对等网络流媒体系统数据调度算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408211A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109982389A (zh) * | 2019-03-05 | 2019-07-05 | 电子科技大学 | 一种基于多目标多臂赌博机在线学习的无线缓存方法 |
CN111695043A (zh) * | 2020-06-16 | 2020-09-22 | 桂林电子科技大学 | 一种基于地理区域的社交网络阻塞影响最大化方法 |
CN111901425A (zh) * | 2020-07-28 | 2020-11-06 | 平安科技(深圳)有限公司 | 基于Pareto算法的CDN调度方法、装置、计算机设备及存储介质 |
CN112787948A (zh) * | 2020-12-30 | 2021-05-11 | 上海微盟企业发展有限公司 | 一种流量负载均衡方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296152A (zh) * | 2008-06-26 | 2008-10-29 | 腾讯科技(深圳)有限公司 | 对等连接网络的数据调度方法和系统 |
CN101641685A (zh) * | 2007-03-23 | 2010-02-03 | 索尼株式会社 | 对等文件传送模型和客户端-服务器文件传送模型 |
CN102026276A (zh) * | 2010-12-21 | 2011-04-20 | 江苏省邮电规划设计院有限责任公司 | 一种保障移动对等网络流媒体业务体验质量的方法 |
US8832290B2 (en) * | 2007-02-23 | 2014-09-09 | Microsoft Corporation | Smart pre-fetching for peer assisted on-demand media |
CN104581424A (zh) * | 2013-10-25 | 2015-04-29 | 华为技术有限公司 | 一种流媒体传输方法、相关设备和系统 |
-
2018
- 2018-09-28 CN CN201811137665.1A patent/CN109408211A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8832290B2 (en) * | 2007-02-23 | 2014-09-09 | Microsoft Corporation | Smart pre-fetching for peer assisted on-demand media |
CN101641685A (zh) * | 2007-03-23 | 2010-02-03 | 索尼株式会社 | 对等文件传送模型和客户端-服务器文件传送模型 |
CN101296152A (zh) * | 2008-06-26 | 2008-10-29 | 腾讯科技(深圳)有限公司 | 对等连接网络的数据调度方法和系统 |
CN102026276A (zh) * | 2010-12-21 | 2011-04-20 | 江苏省邮电规划设计院有限责任公司 | 一种保障移动对等网络流媒体业务体验质量的方法 |
CN104581424A (zh) * | 2013-10-25 | 2015-04-29 | 华为技术有限公司 | 一种流媒体传输方法、相关设备和系统 |
Non-Patent Citations (1)
Title |
---|
PINGSHAN LIU: "A Multi-objective Particle Swarm Optimization Data Scheduling Algorithm for Peer-to-Peer Video Streaming", 《2017 13TH INTERNATIONAL CONFERENCE ON NATURAL COMPUTATION, FUZZY SYSTEMS AND KNOWLEDGE DISCOVERY (ICNC-FSKD 2017)》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109982389A (zh) * | 2019-03-05 | 2019-07-05 | 电子科技大学 | 一种基于多目标多臂赌博机在线学习的无线缓存方法 |
CN111695043A (zh) * | 2020-06-16 | 2020-09-22 | 桂林电子科技大学 | 一种基于地理区域的社交网络阻塞影响最大化方法 |
CN111901425A (zh) * | 2020-07-28 | 2020-11-06 | 平安科技(深圳)有限公司 | 基于Pareto算法的CDN调度方法、装置、计算机设备及存储介质 |
CN112787948A (zh) * | 2020-12-30 | 2021-05-11 | 上海微盟企业发展有限公司 | 一种流量负载均衡方法及相关装置 |
CN112787948B (zh) * | 2020-12-30 | 2023-07-18 | 上海微盟企业发展有限公司 | 一种流量负载均衡方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408211A (zh) | 一种多目标优化的对等网络流媒体系统数据调度算法 | |
Luo et al. | Adaptive video streaming with edge caching and video transcoding over software-defined mobile networks: A deep reinforcement learning approach | |
Xiao et al. | A transcoding-enabled 360 VR video caching and delivery framework for edge-enhanced next-generation wireless networks | |
Zhong et al. | Deep multi-agent reinforcement learning based cooperative edge caching in wireless networks | |
CN109587519B (zh) | 基于q学习的异构网络多径视频传输控制系统及方法 | |
CN112954385B (zh) | 一种基于控制论和数据驱动的自适应分流决策方法 | |
CN108848395B (zh) | 基于果蝇优化算法的边缘协作缓存布置方法 | |
CN101501682B (zh) | 多方合作对等视频成流 | |
CN104967866B (zh) | 一种动态自适应的p2p直播流媒体子流调度方法 | |
CN106385641B (zh) | 一种基于sdn的直播视频流媒体分发方法 | |
US20230121384A1 (en) | Method And System For Distributing And Storing Content Using Local Clouds And Network Clouds | |
Zhong et al. | A Q-learning driven energy-aware multipath transmission solution for 5G media services | |
Pasandi et al. | LATTE: online MU-MIMO grouping for video streaming over commodity wifi | |
CN103338387B (zh) | 云计算下能量消耗和视频质量联合优化的数据包调度方法 | |
CN116319559A (zh) | 一种多路径跨域架构的动态流量调度系统 | |
Wang et al. | Adaptive video streaming in multi-tier computing networks: Joint edge transcoding and client enhancement | |
Huang et al. | Qoe-oriented resource allocation for 360-degree video transmission over heterogeneous networks | |
Dai et al. | Joint optimization for quality selection and resource allocation of live video streaming in internet of vehicles | |
Tan et al. | DACOD360: Deadline-Aware Content Delivery for 360-Degree Video Streaming Over MEC Networks | |
Bradai et al. | Efficient content delivery scheme for layered video streaming in large-scale networks | |
Dubin et al. | A fair server adaptation algorithm for HTTP adaptive streaming using video complexity | |
Cheng et al. | Dynamic task offloading and service caching based on game theory in vehicular edge computing networks | |
Chen et al. | Learning scheduling bursty requests in Mobile Edge Computing using DeepLoad | |
Sun et al. | Learning-based content caching in collaborative edge networks | |
CN109450815B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190301 |
|
RJ01 | Rejection of invention patent application after publication |