基于改进粒子群算法的P2P流媒体数据调度策略
0引言
中国论文
近年来,随着互联技术的发展,对等络(PeertoPeer,P2P)流媒体应用越来越普遍,成为研究的热点。P2P流媒体数据服务,是一项扩展性好,性价比高的流媒体服务。P2P络中每个节点可以向邻居节点请求缺失的数据片,同时也可以充当其他节点的资源提供者,它可以避免传统的C/S模式服务器负载过大、络利用率不高、不能满足流媒体实时性播放等缺点。
P2P流媒体应用大多数据量大,服务时间长,对数据有严格的时序要求。P2P流媒体数据调度研究是使请求服务的节点找到为他提供服务的最佳邻居节点,即从哪个节点调哪个数据片,使得系统服务能力强,启动时延小,吞吐量大,播放质量好。实际上,P2P流媒体数据调度是一个数据片请求任务在多邻居节点的分配问题,是个NP问题[1],一般通过启发式算法找到近优解。如何解决好从哪个节点调度哪片数据能够为P2P流媒体系统提供高质量的服务,保障络中视频资源的完整性,减少用户的平均等待时间等,是P2P流媒体数据调度的研究内容。
1相关工作
P2P流媒体数据调度问题研究,对P2P流媒体发展起着至关重要的作用。目前,很多流媒体系统中都采用随机数据调度算法,很多研究者通过各种方法探求最优P2P流媒体数据调度方式。在文献[2]中,考虑到系统含有某些数据片的节点很少,有可能导致这些数据片不能在播放期限内到达,因而采用调度算法先调度发送节点少的那些数据片。文献[3]描述了一种根据带宽加权的轮询调度算法,而且讨论了对持续性和启动时延的影响。以上算法都是随机调度算法,没有完全考虑到络服务质量和节点的负载平衡,且没有对整个络性能进行评估。
文献[4]中提出基于遗传算法的数据调度算法,首次将生物智能算法引入到数据调度问题中,算法通过仿真验证性能优于随机算法;文献[5]中采用粒子群算法解决数据调度问题,仿真性能优于遗传算法以及爬山法,但算法很容易陷入局部最优。这些算法都是假设资源节点含有媒体所有的数据片,且是顺序选择数据片,没有考虑到资源的时间紧急度和资源稀缺度。
本文借鉴粒子群算法的基本寻优思想,以及数据调度的特点,将解决连续性问题的基本粒子群算法改进为适用于流媒体数据调度离散粒子群算法(Modified Discrete Particle Swarm Optimization Algorithm,MDPSOA)[6-8],并且在选择调度数据片时考虑到数据片的时间紧急度和资源稀缺度。通过改进的离散粒子群算法寻找最优解空间,即确定数据片调度的资源节点集。