法律状态公告日
法律状态信息
法律状态
2015-07-08
授权
授权
2013-03-13
实质审查的生效 IPC(主分类):H04L12/865 申请日:20110727
实质审查的生效
2013-01-30
公开
公开
技术领域
本发明涉及计算机网络技术领域,更具体地,本发明涉及一种自适应的P2P流 媒体数据片选择方法及节点。
背景技术
近年来,随着宽带通信和多媒体技术的迅猛发展,在线直播,视频点播,文件 下载等各种互联网应用也应运而生,对传统的客户端/服务器(C/S)模式的服务系统提 出了新的挑战,随着用户规模的增大,传统的客户端/服务器(C/S)模式的服务系统需 要消耗更多的软硬件资源,已经不能满足大规模用户的需求,因此基于P2P的服务 系统迅速发展并逐渐成为相对成熟的应用。
从功能上看,P2P系统一般主要有2类逻辑层构成:1)覆盖网层(Overlay Layer), 该层主要是描述P2P服务系统中节点之间如何组织,为进一步选择合作节点和数据 交互打下基础;2)数据调度层(Data Schedule Layer),该层主要负责合作节点之间 如何进行数据调度,满足节点正常服务需求的同时最大化节点服务能力,从而提高 系统整体性能。
目前,大多数传统的P2P流媒体系统在调度中选取数据片时,仅考虑自身状态 或者邻居节点在节点请求时的状态,未考虑节点请求数据时邻居节点的状态变化, 这使得节点的数据请求并不能达到预期的效果;节点的数据请求未考虑节点获取数 据的能力,这使得节点将过多的请求用于满足自身播放的需要,不利于整体播放质 量的提高;请求数据时未考虑节点自身的上行带宽,节点上行带宽越高,则节点为 其它节点提供数据的能力越强,拥有其他节点所缺少的数据越有利于提高节点上行 带宽的利用。
发明内容
本发明的目的在于,为克服现有技术的P2P流媒体系统中的合作节点在调度中 选取数据片时,各个请求节点仅考虑自身状态或者其邻居节点在节点请求时的状态 等缺陷,导致的节点的数据请求不能达到预期的效果且不利于整体播放质量的提高 等问题,从而提供一种自适应的P2P流媒体数据片选择方法及节点。
为实现上述目的本发明提供一种自适应的P2P流媒体数据片选择方法,该方法 基于P2P网络中的合作节点,所述合作节点中拥有本节点当前调度周期需要请求的 数据片,所述方法包含:
步骤1,第一节点依据其运行的状态信息计算该节点缓冲区存放的待请求的各数 据片优先级的步骤;
步骤2,依据各数据片优先级的比例关系得到待请求的各数据片在第一节点缓冲 区中的总优先级排序的步骤;
步骤3,第一节点在当前调度周期中依据总优先级排序选出前若干连续的待请求 的数据片进行数据片请求,并向合作节点或媒体提供服务器请求所选出的数据片的 步骤;
其中,所述状态信息包含待请求的数据片在第一节点及所有第二节点中的位置, 第一节点上轮调度中获取该数据片的能力和第一节点的总上行带宽;所述第一节点 为下轮调度周期发出流媒体数据片请求的节点,所述第二节点为第一节点的合作节 点。
上述技术方案中,所述步骤1进一步包含如下步骤:计算顺序调度优先级的步 骤;计算稀有调度优先级的步骤;基于稀有调度最小优先级间隔计算随机调度优先 级的步骤。
可选的,所述顺序调度优先级采用如下计算公式:
Ps(i)=(1-DiM/DRM)*FI
其中,Ps(i)为数据片i的顺序调度优先级;DiM为第一节点待请求的数据片i在 播放之前能被请求的次数;DRM为第一节点待请求的数据片在被播放之请求次数的 最大值;FI为依据第一节点的数据接收能力所计算得到的请求因子;
所述第一节点为发出流媒体数据块请求的节点,第二节点为第一节点的邻居节 点。。
可选的,所述稀有调度优先级采用下式计算:
其中,PR(i)为数据片稀有优先的优先级;PRS(i)为依据第二节点向第一节点请 求数据片的概率计算得到的数据片的优先级;Um为第一节点的上行带宽;UP为第 一节点播放流媒体数据的码率;
所述第一节点为发出流媒体数据块请求的节点,第二节点为第一节点的邻居节 点。
可选的,所述随机调度优先级的计算公式为:
PRM(i)=P1(i)*Rand(0,1)
其中,PRM(i)为随机调度计算的数据片的优先级;P1(i)为第一节点请求数据片 的概率;Rand(0,1)为区间[0,1]上的随机数。
可选的,所述总优先级采用第一节点和所有第二节点的缓冲区重合度计算第一节 点各种优先级之间的比例关系,总优先级计算公式如下:
其中,DBC为第一节点与所有第二节点缓冲区重合度;PS(i)为计算得到的数据 片i的顺序调度优先级;PT(i)为数据片i为第二节点服务的优先级;
所述PT(i)计算公式如下:
PT(i)=PR(i)+PRM(i)
其中,PT(i)为第一节点为第二节点提供媒体数据片服务的价值;PR(i)为数据 片i的稀有优先优先级;PRM(i)为数据片i随机调度的优先级。
基于上述方法本发明还提供一种自适应的P2P流媒体数据片选择节点,该节点为 P2P网络中的合作节点,所述合作节点存储在当前调度中待请求的数据块,其特征在 于,所述节点包含:
用于依据其运行的状态信息计算该节点缓冲区存放的待请求的各数据片优先级 的模块;和
用于依据各数据片优先级的比例关系得到待请求的各数据片在第一节点缓冲区 中的总优先级排序的模块;
其中,所述状态信息包含待请求的数据片在第一节点及所有第二节点中的位置, 第一节点上轮调度中获取该数据片的能力和第一节点的总上行带宽;所述第一节点 为当前调度周期发出流媒体数据片请求的节点,所述第二节点为第一节点的合作节 点。
其中,所述用于估算节点待请求的各数据片价值的模块进一步包含:计算顺序 调度优先级的模块;计算稀有调度优先级的模块;基于稀有调度最小优先级间隔计 算随机调度优先级的模块。
可选的,所述计算顺序调度优先级的模块采用下式计算调度优先级:
Ps(i)=(1-DiM/DRM)*FI;
其中,Ps(i)为数据片i的顺序调度优先级;DiM为第一节点待请求的数据片i在 播放之前能被请求的次数;DRM为第一节点待请求的数据片在被播放之请求次数的 最大值;FI为依据第一节点的数据接收能力所计算得到的请求因子;
所述第一节点为发出流媒体数据块请求的节点,第二节点为第一节点的邻居节 点。
可选的,所述稀有调度优先级采用下式计算:
其中,PR(i)为数据片稀有优先的优先级;PRS(i)为依据第二节点向第一节点请 求数据片的概率计算得到的数据片的优先级;Um为第一节点的上行带宽;UP为第 一节点播放流媒体数据的码率;
所述第一节点为发出流媒体数据块请求的节点,第二节点为第一节点的邻居节 点。
可选的,所述随机调度优先级采用计算公式如下:
PRM(i)=P1(i)*Rand(0,1)
其中,PRM(i)为随机调度计算的数据片的优先级;P1(i)为第一节点请求数据片 的概率;Rand(0,1)为区间[0,1]上的随机数。
本发明的优点在于,本发明着重于描述如何利用节点的状态信息及邻居节点的 缓冲区信息来估计节点数据片对于节点的自身播放和为其它节点服务的优先级,也 即通过修正的顺序调度,稀有优先和随机调度的算法来计算各数据片的优先级,并 通过请求窗口相对于节点缓冲区的位置计算数据片的各种优先级的比例关系,以使 得节点能够在每轮数据请求中请求总优先级最大的数据片,从而使得节点数据请求 能够在保证播放质量的情况下,提高节点上行带宽利用率,降低服务器的压力。
附图说明
图1为本发明的节点生成数据片总优先级流程图;
图2是本发明实施例的实际场景示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的描述。
根据图1所示的流程图,实现步骤如下,以下所述节点即为第一节点,其邻居 节点为第二节点:
步骤1,节点在进行数据调度计算数据片i的价值时,首先获取数据片在本节点 及邻居节点中的位置,节点上轮调度中获取数据片的能力以及节点的总上行带宽。
步骤2,利用数据片在节点缓冲区中的位置和节点获取数据的能力计算数据片顺 序调度优先级。
步骤3,利用数据片在邻居节点请求窗口中的位置计算邻居节点请求此数据片的 概率,并利用邻居节点尚未拥有数据片的概率计算邻居节点向本节点请求数据片的 概率,并结合本节点的总上行带宽,计算节点获取数据的概率,以得到数据片稀有 优先调度的优先级。
步骤4,在具有相同被请求概率的数据片的概率上添加一个不影响原有概率间关 系的随机概率,以降低节点与邻居节点请求相同数据片的概率,此随机概率即为数 据片随机调度的优先级。
步骤5,利用节点与邻居节点的缓冲区的重合度计算节点各种优先级之间的比例 关系
步骤6,对请求窗口中所有数据片按照优先级进行排序,选取指定数量的数据片 进行请求。
其中,步骤2的调度优先级采用修正的顺序调度算法。
(1)修正的顺序调度算法
节点在采用顺序调度请求数据片时,应该保证节点按照播放顺序获取数据片, 但由于调度周期的存在,同一调度周期内的数据片具有相同的顺序调度优先级。 同样的,由于调度周期的存在,使得部分数据片无法在播放之前从邻居节点请求到, 因此,认为这些数据片具有最低的优先级。节点在计算顺序调度优先级时还应该考 虑节点获取数据的能力,获取数据的能力越弱,则相应的数据片的顺序调度优先级 越高。因此定义数据片优先级时,在i≤2RP时,定义PS(i)=0,其中i为数据片距 离播放点的距离,其中RP为节点单轮播放过程中的播放的数据量;而在i>2RP时, 定义缓冲区中最远端的数据片距离播放点的距离为当前 数据片i距离播放点的距离其中i为数据片距离播放点的 位置;定义节点从邻居节点获取数据的能力为其中QCi为 上轮调度中节点从邻居节点i获取的数据量,QS为节点从服务器请求的数据片的数 量,并定义AOD对于顺序调度的影响因子为FI=f(AOD);并使得 (N-1)/N<FI<N/(N-1);因此定义此时数据片的数据调度优先级 Ps(i)=(1-DiM/DRM)*FI;
步骤3采用的稀有优先级采用修正的稀有优先级调度算法。
(2)修正的稀有优先调度算法
在稀有优先策略中节点优先请求邻居节点最缺少的数据,然而由于时延的存在, 使得节点从知道邻居节点不存在相应的数据片从而请求数据片到至少需要3个周期, 而邻居节点从本节点请求到数据片至少需要4个周期;因此考虑到数据片在节点请 求的过程中邻居节点请求到数据片的状况,定义邻居节点已经拥有过相应数据片以 及对邻居节点来讲,i<4·RP的数据片为邻居节点已经拥有的数据片,同样的,在 本节点中i<4·RP时,定义PR(i)=0;定义数据片被邻居节点请求的概率为 NA为节点收到数据请求时,邻居节点请求窗口中尚未请求到的数据片的 数量,并定义节点能够请求数据通知邻居节点请求的概率为P(i)=1-(1-P1(i))j, 其中j为数据片出现在节点请求窗口中的次数,因此,修正后的稀有优先调度优先 级为其中PK为第k个尚未拥有数据片的节点能够在本节点通知其拥 有数据片以后再请求数据片的概率,NNH为尚未拥有i数据片的节点数量。考虑到 被节点拥有越少的数据片被请求的概率越高,因此在节点的上行带宽低的时候邻居 节点的数据请求会出现丢包,从而延迟了数据片在节点中的分发,因此将节点的上 行带宽作为稀有优先数据片优先级的参考因素,得到数据片的稀有优先优先级为 其中Um为本节点的上行带宽,UP为节点播放的数据量所对应 的上行带宽。
步骤4的随机调度优先级采用修正的随机调度算法。
(3)修正的随机调度算法
随机调度的目的是为避免有大量的数据片拥有相同的优先级,使得节点与邻居 节点请求相同的数据片,从而使得节点与邻居节点间无法合作而引入的,并且这种 修正针对稀有优先优先级,因此定义随机调度数据片的优先级 PRM(i)=P1(i)*Rand(0,1),这样使得随机调度并不改变稀有优先调度原有的顺序 关系,只使得节点在计算数据片拥有相同的优先级时,将请求顺序打乱,因此定义 为其它邻居节点提供数据的优先级为PT=PR+PRM,并将其归一化。
步骤5所述的总优先级采用总优先级算法。
(4)数据片总优先级的计算
在计算数据片的总优先级时,考虑节点与邻居节点的缓冲区重合度。定义PNBRi并不是节点收到的邻居节点的请求窗口的起始位置,而是经过修正的节点的当前请 求窗口的起始位置,Pm为同本节点当前缓冲区的位置,定义本节点与邻居节点的重合 距离为当Pm>PNBRi时,OD=RT+PNBRi-Pm;当Pm≤PNBRi时, OD=RT+Pm-PNBRi,其中RT为节点请求窗口的长度。节点缓冲区重合度为
实施例
下面通过一个实例来说明本发明提供的方法的具体应用场景:在本场景中包含 一个请求节点P和N个邻居节点,如图2所示。
假设此时一个节点P已经找到可以合作的邻居节点,并希望从邻居节点和服务 器下载数据,以满足自身的播放需要,并为邻居节点提供服务,下面描述P节点如 何确定向邻居节点的请求哪些数据片的步骤:
(1)、用户节点P在数据调度前获取节点上轮调度的信息,并获取邻居节点N1、 N2和N3的缓冲区映像。
(2)、依据修正的顺序调度算法节点P计算请求窗口中每一个缺少数据片的顺 序调度优先级。
(3)、依据修正的稀有优先调度算法节点P计算请求窗口中每一个缺少的数据 片的稀有优先优先级。
(4)、依据修正的随机调度算法节点P计算请求窗口中每一个缺少的数据片随 机调度的优先级。
(5)、依据数据片总优先级的计算节点P计算请求窗口中每一个缺少的数据片 的总优先级。
(6)、对节点P缓冲区存放的所有待请求的数据片按照计算得到的总优先级进 行排序,选取位于总优先级排序靠前的连续若干块需要的指定数量的数据片向邻居 节点Ni或服务器S进行数据块请求。
其中,节点P如何确定向邻居节点Ni(i=1、2或3)或服务器S进行数据块请 求的策略属于现有技术,因此不再赘述。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管 参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明 的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均 应涵盖在本发明的权利要求范围当中。
机译: P2P流媒体数据分发的方法,系统和代理节点
机译: P2P流媒体数据分发的方法,系统和代理节点
机译: P2P流媒体数据分发的方法,系统和代理节点