CN101645932A - 一种p2p流媒体启发式数据调度方法 - Google Patents
一种p2p流媒体启发式数据调度方法 Download PDFInfo
- Publication number
- CN101645932A CN101645932A CN200910146908A CN200910146908A CN101645932A CN 101645932 A CN101645932 A CN 101645932A CN 200910146908 A CN200910146908 A CN 200910146908A CN 200910146908 A CN200910146908 A CN 200910146908A CN 101645932 A CN101645932 A CN 101645932A
- Authority
- CN
- China
- Prior art keywords
- fragment
- priority
- scheduling
- ingress
- data
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种P2P流媒体启发式数据调度方法。其按照预定义优先级的大小将各个待调度片段随机向拥有该片段的服务节点调度,根据优先级和的大小逐步替代现有方案,最终选取优先级和最大的方案作为最终的调度方案。本发明的数据调度方法充分考虑到数据片段的播放时间,离播放点越近的数据片段,其请求优先级要比离播放点较远的优先级更高以及为了避免网络中具有同样稀有度的片段因具有相同的优先级而在调度过程中按照距离播放点的远近过于集中调度到距离播放点较近的片段上,结合播放紧急度、稀有优先以及微量随机抖动作为优先级,并通过最大化优先级和的启发式模拟调度,选取优先级和最大的调度方案确定为最终调度方案,从而进一步提高服务器性能。
Description
技术领域
本发明涉及计算机网络流媒体技术领域,更具体地说,涉及一种P2P流媒体数据传播过程中的数据调度方法。
背景技术
数据调度问题是P2P流媒体领域的一个重要问题,数据调度策略的优劣直接影响了P2P流媒体系统的整体性能。目前P2P流媒体系统中使用的数据请求分配方法按照分配粒度,主要分为两部分:基于数据层的粗粒度分配和基于数据包的细粒度分配。在粗粒度分配方法中,主要是基于多重描述编码的数据分配方法,该方法对每条多重描述编码子流采用独立多播树进行传输,接收方则根据自身带宽情况选择加入到多棵多播树中,从而适应节点的异构性,但是多重描述编码的效率比分层编码的效率低,同时多重描述编码的各个分层之间的解码不存在依赖关系;细粒度分配方法主要有两种,一种采用基于TCP友好(TCP-friendly)带宽测试的数据分配算法,主要应用在不知发送节点的可用带宽的条件下通过确保每个数据包仅由一个发送节点进行发送来传送数据;另一种则采用了被称为纠错编码为基础的数据分配算法,目的是减少数据包在突发丢包网络环境中的丢失概率。
上述目前存在的数据请求分配方式中,一种是以整个数据段为单位向入节点(本地节点向某个或某几个邻居节点请求数据,这些节点称为本地节点的入节点)进行数据请求,另一种是以数据包为单位轮流向入节点进行数据请求。前者在刚开始播放的时候,如果数据段分得比较大,那么入节点在根据数据包的优先级进行响应时,则因为序号较小而具有较高优先级的数据包往往都在同一个数据段中,而这一数据段最终发向一个入节点,而一些优先级较低的数据包则放在另一个数据段中发向另外一个入节点,从而导致了部分优先级高的数据包得不到及时的响应而部分优先级较低的数据包则在另外的入节点得到了优先的响应。对于后者,在数据请求到达入节点中某个或某几个节点的缓冲区末端,即部分入节点可供请求的最新数据数目已经不能达到正常播放码率所要求的数据包的数目时,由于该方式以数据包为单位轮流向入节点进行数据请求,则会造成拥有稀有数据包的入节点也承担共有数据包的请求响应,从而导致拥有稀有数据包的入节点负载过大,变成网络中的瓶颈节点。
发明内容
为解决上述问题,本发明的目的在于提供一种P2P流媒体启发式数据调度方法,是一种基于播放紧急度、本地稀有优先和随机抖动的数据片段优先级最大化的启发式数据调度方法。其有效利用异构网络中的带宽资源,减少源节点的数据流量,增强P2P流媒体网络的鲁棒性。
另外,本发明的P2P流媒体启发式数据调度方法,考虑到数据片段的播放时间,离播放点越近的数据片段,其请求优先级要比离播放点较远的优先级更高。该方法中加入了一个随机的抖动参数,以避免网络中具有同样稀有度的片段因具有相同的优先级而在调度过程中按照距离播放点的远近过于集中调度到距离播放点较近的片段上。节点根据各个数据片段的优先级进行优先级最大化的启发式模拟调度,选取优先级和最大的调度方案确定为最终调度方案,从而进一步提高服务器性能。
由此,为了实现上述目的,本发明的一种P2P流媒体启发式数据调度方法,按照预定义优先级的大小将各个待调度片段随机向拥有该片段的入节点调度,根据优先级和的大小逐步替代现有方案,最终选取优先级和最大的方案作为最终的调度方案,具体包括以下步骤:
1)本地节点首先根据上次向各个入节点调度的数据量以及接收到的数据量更新各个入节点的服务能力;
(这里,入节点是指邻居节点中实际向本地节点提供数据输入的节点。入节点分为两类:普通入节点和服务入节点。普通入节点指的是入节点中的普通用户节点,和服务入节点相对而言。服务入节点指的是入节点中的服务器节点。)
2)本地节点扫描发送队列,将已超时的片段加入到备选调度片段队列中;
3)本地节点根据本地缓冲区的状态统计本次要调度的数据片段,并将这些数据片段加入到备选调度片段队列中;
4)计算备选调度片段队列中的每个片段的优先级,并将这些备选调度片段按照优先级的大小排序,
这里,计算备选调度片段队列中的每个片段的优先级时可根据下述公式(1)进行计算,即数据调度优先级的定义如下:
pi=1/(Ti-Tnow)+β*(1/HoldersNum(Chunki))+γ*Rand(0,1)(1)
其中,pi为片段i的优先级大小,Ti为片段i的预计播放时刻,Tnow为当前播放时刻,HoldersNum(Chunki)表示邻居节点中拥有片段i的节点个数,β为稀有优先级值系数,用来调节稀有优先与片段播放紧急优先级的比例,γ为随机抖动系数,用来调节相同稀有优先度条件下片段优先级的抖动范围;
5)从备选调度片段队列的队首开始,随机选择一个拥有队首片段的入节点进行队首片段的调度,具体包括如下步骤:
51)优先选择拥有队首片段的普通入节点进行队首片段的调度,如果随机选择的某个普通入节点的服务带宽不为零,则向该普通入节点调度队首片段,同时更新该普通入节点的服务带宽,并将队首片段从备选调度片段队列中删除;
52)如果该普通入节点的服务带宽为零,则选择下一个普通入节点继续根据步骤51)进行判断;
53)如果遍历所有的普通入节点都无法进行队首片段的调度,则向服务器节点(服务入节点)调度队首片段,并将队首片段从备选调度片段队列中删除;
6)重复步骤5)多次,并计算每次向普通入节点调度的片段优先级和,选择优先级和最大的方案作为最终的调度方案。
本发明的P2P流媒体启发式数据调度方法的有益效果在于:根据本发明的P2P流媒体启发式数据调度方法,可以在P2P流媒体数据调度中,充分考虑数据片段的播放时间,结合播放紧急度、稀有优先以及微量随机抖动作为优先级,并通过最大化优先级和的启发式模拟调度,选取优先级和最大的调度方案确定为最终调度方案,能够有效利用异构网络中的带宽资源,减少源节点的数据流量,增强P2P流媒体网络的鲁棒性,从而进一步提高服务器性能。
附图说明
图1为本发明的P2P流媒体启发式数据调度方法的流程图。
图2为本发明的P2P流媒体启发式数据调度方法中的进行队首片段调度时的流程图。
图3利用本发明的P2P流媒体启发式数据调度方法进行启发式数据调度的实例图。
具体实施方式
下面结合附图和具体实施例对本发明的P2P流媒体启发式数据调度方法进行详细的说明。
本发明的一种P2P流媒体启发式数据调度方法,是一种基于播放紧急度、本地稀有优先和随机抖动的数据片段优先级最大化的启发式数据调度方法。利用异构网络中的带宽资源,减少源节点的数据流量,增强P2P流媒体网络的鲁棒性。该方法考虑到数据片段的播放时间,离播放点越近的数据片段,其请求优先级要比离播放点较远的优先级更高。该方法中还加入了一个随机的抖动参数,以避免网络中具有同样稀有度的片段因具有相同的优先级而在调度过程中按照距离播放点的远近过于集中调度到距离播放点较近的片段上。节点根据各个数据片段的优先级进行优先级最大化的启发式模拟调度,选取优先级和最大的调度方案确定为最终调度方案,从而进一步提高服务器性能。
图1为本发明的P2P流媒体启发式数据调度方法的流程图。图2为本发明的P2P流媒体启发式数据调度方法中的进行队首片段调度时的流程图。如图1和图2所示,本发明的P2P流媒体启发式数据调度方法,按照预定义优先级的大小将各个待调度片段随机向拥有该片段的入节点调度,根据优先级和的大小逐步替代现有方案,最终选取优先级和最大的方案作为最终的调度方案,包括如下步骤:
1)本地节点首先根据上次向各个入节点调度的数据量以及接收到的数据量更新各个入节点的服务能力;
这里,入节点是指邻居节点中实际向本地节点提供数据输入的节点。入节点分为两类:普通入节点和服务入节点。普通入节点指的是入节点中的普通用户节点,和服务入节点相对而言。服务入节点指的是入节点中的服务器节点。
2)本地节点扫描发送队列,将已超时的片段加入到备选调度片段队列中;
3)本地节点根据本地缓冲区的状态统计本次要调度的数据片段,并将这些数据片段加入到备选调度片段队列中;
4)计算备选调度片段队列中的每个片段的优先级,并将这些备选调度片段按照优先级的大小排序,
这里,计算备选调度片段队列中的每个片段的优先级时可根据下述公式(1)进行计算,即数据调度优先级的定义如下:
pi=1/(Ti-Tnow)+β*(1/HoldersNum(Chunki))+γ*Rand(0,1)(1)
其中,pi为片段i的优先级大小,Ti为片段i的预计播放时刻,Tnow为当前播放时刻,HoldersNum(Chunki)表示邻居节点中拥有片段i的节点个数,β为稀有优先级值系数,用于调节稀有优先与片段播放紧急优先级的比例,γ为随机抖动系数,用于调节相同稀有优先度条件下片段优先级的抖动范围;
5)从备选调度片段队列的队首开始,随机选择一个拥有队首片段的入节点进行队首片段的调度,具体包括如下步骤:
51)优先选择拥有队首片段的普通入节点进行队首片段的调度,如果随机选择的某个普通入节点的不为零,则向该普通入节点调度队首片段,同时更新该普通入节点的服务带宽,并将队首片段从备选调度片段队列中删除;
52)如果该普通入节点的服务带宽为零,则选择下一个普通入节点继续根据步骤51)进行判断;
53)如果遍历所有的普通入节点都无法进行队首片段的调度,则向服务入节点(服务器节点)调度队首片段,并将队首片段从备选调度片段队列中删除;
6)重复步骤5)多次,并计算每次向普通入节点调度的片段优先级和,选择优先级和最大的方案作为最终的调度方案。
实施例
下面,结合具体的实施例对本发明所提出的一种基于播放紧急度、本地稀有优先和随机抖动的数据片段优先级最大化的启发式数据调度方法做进一步详细说明如下:
图3利用本发明的P2P流媒体启发式数据调度方法进行启发式数据调度的实例图。
基于优先级的数据调度的调度策略中,本地用户节点首先根据上述公式(1)计算每个备选片段的优先级大小,并将备选调度片段按优先级从大到小排序,然后按顺序对某一片段从拥有该片段的邻居节点集合φ{providers}中随机选择一个服务节点(入节点)。这种按照优先级排序随机选取节点进行数据调度的调度策略,由于P2P网络的异构性以及数据的分布差异,服务节点(入节点)所拥有的数据片段存在一定差异,并不一定是一个高效的方案,简单举例如图3所示,假设服务节点P1、P2对用户节点(本地节点)C的服务能力均为2,服务节点到片段的连线表示拥有该片段,片段上的数字为片段的优先级大小。假设节点C本次需要分别从P1P2调度两个片段,如果从P1调度优先级值最大的片段a和b,则片段a将不能再从P2调度,故只能从P2调度片段d和e,此时节点C本次调度片段的优先级和为9+8+6+5=28;然而如果从P2调度片段a和d,则片段b和c可从P1调度,此时C调度片段的优先级和为9+6+8+7=30。由此可见,这种随机选择服务节点的方式不能保证每次调度取得最大优先级。
本发明提供一种P2P流媒体启发式数据调度方法,包括如下步骤:
(1)用户节点C根据向P1P2调度的数据量和实际接收到的数据量计算得出P1和P2的服务为2,2;
(2)用户节点C扫描本地播放缓冲区,并找出所缺的数据片段a~e;
(3)用户节点C根据下述(1)式计算各个片段的优先级,并将这些片段排成一个队列Q={a,b,c,d,e};
pi=1/(Ti-Tnow)+β*(1/HoldersNum(Chunki))+γ*Rand(0,1) (1)
其中,pi为片段i的优先级大小,Ti为片段i的预计播放时刻,Tnow为当前播放时刻,HoldersNum(Chunki)表示邻居节点中拥有片段i的节点个数,β为稀有优先级值系数,用于调节稀有优先与片段播放紧急优先级的比例,γ为随机抖动系数,用于调节相同稀有优先度条件下片段优先级的抖动范围。
(4)将Q复制到临时队列Q′并新建一个调度方案Si;
(5)用户节点为Q′队首节点随机选择一个服务节点(P1或者P2)并记入调度方案中,同时删除Q′队首节点;(参见图2)
(6)循环步骤(5)直至队列Q′为空;
(7)计算Si的优先级和,并与最大优先级和方案Smax(这里,算法初始化时,设置Smax=0)比较,如果Si>Smax,则Smax=Si;
(8)重复步骤(4)~步骤(7)若干次后(例如,3次以上),将Smax作为最终的调度方案,并进行数据调度。
最后应说明的是,以上所述启发式数据调度方法在P2P流媒体网络中的应用实施例仅用以说明本发明的技术方案而非对其限制,并且在应用上可以延伸到其他的修改、变化、应用和实施例,同时认为所有这样的修改、变化、应用、实施例都在本发明的精神和范围内。
Claims (2)
1、一种P2P流媒体启发式数据调度方法,其特征在于,按照预定义优先级的大小将各个待调度片段随机向拥有该片段的入节点调度,根据优先级和的大小逐步替代现有方案,最终选取优先级和最大的方案作为最终的调度方案,具体包括如下步骤:
1)本地节点首先根据上次向各个入节点调度的数据量以及接收到的数据量更新各个入节点的服务能力;
2)本地节点扫描发送队列,将已超时的片段加入到备选调度片段队列中;
3)本地节点根据本地缓冲区的状态统计本次要调度的数据片段,并将这些数据片段加入到备选调度片段队列中;
4)计算备选调度片段队列中的每个片段的优先级,并将这些备选调度片段按照优先级的大小排序;
5)从备选调度片段队列的队首开始,随机选择一个拥有队首片段的入节点进行队首片段的调度,具体包括如下步骤:
51)优先选择拥有队首片段的普通入节点进行队首片段的调度,如果随机选择的某个普通入节点的服务带宽不为零,则向该普通入节点调度队首片段,同时更新该普通入节点的服务带宽,并将队首片段从备选调度片段队列中删除;
52)如果该普通入节点的服务带宽为零,则选择下一个普通入节点继续根据步骤51)进行判断;
53)如果遍历所有的普通入节点都无法进行队首片段的调度,则向服务入节点调度队首片段,并将队首片段从备选调度片段队列中删除;
6)重复步骤5)多次,并计算每次向普通入节点调度的片段优先级和,选择优先级和最大的方案作为最终的调度方案。
2、如权利要求1所述的P2P流媒体启发式数据调度方法,其特征在于,所述步骤4)中计算备选调度片段队列中的每个片段的优先级时,其数据调度优先级的定义如下:
pi=1/(Ti-Tnow)+β*(1/HoldersNum(Chunki))+γ*Rand(0,1)
其中,pi为片段i的优先级大小,Ti为片段i的预计播放时刻,Tnow为当前播放时刻,HoldersNum(Chunki)表示邻居节点中拥有片段i的节点个数,β为稀有优先级值系数,用来调节稀有优先与片段播放紧急优先级的比例,γ为随机抖动系数,用来调节相同稀有优先度条件下片段优先级的抖动范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101469082A CN101645932B (zh) | 2009-03-04 | 2009-06-05 | 一种p2p流媒体启发式数据调度方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910078836 | 2009-03-04 | ||
CN200910078836.2 | 2009-03-04 | ||
CN2009101469082A CN101645932B (zh) | 2009-03-04 | 2009-06-05 | 一种p2p流媒体启发式数据调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101645932A true CN101645932A (zh) | 2010-02-10 |
CN101645932B CN101645932B (zh) | 2012-07-25 |
Family
ID=41657652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101469082A Expired - Fee Related CN101645932B (zh) | 2009-03-04 | 2009-06-05 | 一种p2p流媒体启发式数据调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101645932B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075440A (zh) * | 2011-02-23 | 2011-05-25 | 湖南大学 | 一种服务质量敏感的802.11e多媒体数据分组调度方法 |
CN102904833A (zh) * | 2011-07-27 | 2013-01-30 | 中国科学院声学研究所 | 一种自适应的p2p流媒体数据片选择方法及节点 |
CN102957631A (zh) * | 2011-08-19 | 2013-03-06 | 中国科学院声学研究所 | 一种预处理方法及基于该预处理方法的三种设备 |
CN107396207A (zh) * | 2017-07-21 | 2017-11-24 | 南京邮电大学 | 一种基于特征优先级的p2p数据调度方法 |
CN109413758A (zh) * | 2018-10-29 | 2019-03-01 | 扬州笛莎服装科技有限公司 | 基于互联网的门店客户交互系统的无线通信装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296152B (zh) * | 2008-06-26 | 2012-08-29 | 腾讯科技(深圳)有限公司 | 对等连接网络的数据调度方法和系统 |
-
2009
- 2009-06-05 CN CN2009101469082A patent/CN101645932B/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075440A (zh) * | 2011-02-23 | 2011-05-25 | 湖南大学 | 一种服务质量敏感的802.11e多媒体数据分组调度方法 |
CN102904833A (zh) * | 2011-07-27 | 2013-01-30 | 中国科学院声学研究所 | 一种自适应的p2p流媒体数据片选择方法及节点 |
CN102904833B (zh) * | 2011-07-27 | 2015-07-08 | 中国科学院声学研究所 | 一种自适应的p2p流媒体数据片选择方法及节点 |
CN102957631A (zh) * | 2011-08-19 | 2013-03-06 | 中国科学院声学研究所 | 一种预处理方法及基于该预处理方法的三种设备 |
CN102957631B (zh) * | 2011-08-19 | 2015-06-17 | 中国科学院声学研究所 | 一种预处理方法 |
CN107396207A (zh) * | 2017-07-21 | 2017-11-24 | 南京邮电大学 | 一种基于特征优先级的p2p数据调度方法 |
CN107396207B (zh) * | 2017-07-21 | 2019-11-08 | 南京邮电大学 | 一种基于特征优先级的p2p数据调度方法 |
CN109413758A (zh) * | 2018-10-29 | 2019-03-01 | 扬州笛莎服装科技有限公司 | 基于互联网的门店客户交互系统的无线通信装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101645932B (zh) | 2012-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9137278B2 (en) | Managing streaming bandwidth for multiple clients | |
CN105340234B (zh) | 在电缆Wi-Fi网络上用于多屏幕视频应用的自适应资源管理 | |
Srivastava et al. | Energy optimal transmission scheduling in wireless sensor networks | |
US9860028B2 (en) | Systems and methods for hybrid content delivery | |
US20130138828A1 (en) | Managing streaming bandwidth for multiple clients | |
Qu et al. | Cooperative caching for multiple bitrate videos in small cell edges | |
CN101645932B (zh) | 一种p2p流媒体启发式数据调度方法 | |
CN101800731B (zh) | 网络传输管理服务器、网络传输管理方法及网络传输系统 | |
EP1788759A1 (en) | Wireless network device and resource allotting method for the same | |
CN102438181A (zh) | 在iptv系统内调整心跳消息发送时间的方法及系统 | |
CN107396207A (zh) | 一种基于特征优先级的p2p数据调度方法 | |
Li et al. | Lyapunov optimized resource management for multiuser mobile video streaming | |
CN109451517A (zh) | 一种基于移动边缘缓存网络的缓存放置优化方法 | |
CN101207570A (zh) | 数据传输方法、数据发送速率控制方法及基站 | |
CN110049507B (zh) | 无线内容分发网络中基于鞅理论的最优缓冲资源分配方法 | |
CN103124292B (zh) | 一种p2p流媒体系统中的数据调度方法及其装置 | |
Hwang et al. | Optimizing live layered video multicasting over LTE with mobile edge computing | |
Carta et al. | Efficient uplink bandwidth utilization in p2p-tv streaming systems | |
CN101848224B (zh) | 一种对等网络流媒体网络编码方法 | |
CN105282848A (zh) | 一种资源调度方法和装置 | |
CN103987133B (zh) | Lte系统下基于客户端视频播放状态的资源分配方法 | |
CN101958929A (zh) | 一种基于3Tnet的多级代理视频点播系统及方法 | |
TWI376917B (en) | Frame merging apparatus and method thereof | |
CN107277862B (zh) | 一种移动云计算环境下的视频传输调度方法 | |
Dakshayini et al. | Client-to-client streaming scheme for vod applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120725 Termination date: 20180605 |