一种基于反馈控制的p2p流媒体数据请求方法及系统的制作方法
【专利摘要】本发明涉及一种基于反馈控制的P2P流媒体数据请求方法及系统,包含:P2P节点和流媒体提供服务器。所述的反馈控制策略,为利用节点数据调度与服务调度过程中产生的信息,如邻居节点的缓冲区映像,节点接收到的数据请求,节点接收到的数据量等信息指导节点下一轮的数据请求,并由统计到的信息控制覆盖网更换邻居节点的过程。所述反馈控制策略包含以下过程,节点计算数据片优先级的过程,节点分配数据请求过程;节点采集反馈信息的过程以及节点向覆盖网层反馈的过程。反馈控制策略可以有效的解决动态性对系统的影响,提高系统的鲁棒性,进而提供系统整体性能。
【专利说明】一种基于反馈控制的P2P流媒体数据请求方法及系统
【技术领域】
[0001]本发明涉及计算机网络【技术领域】,更具体地,本发明涉及一种基于反馈控制的P2P流媒体数据请求方法及系统。
【背景技术】
[0002]近年来,随着宽带通信和多媒体技术的迅猛发展,在线直播,视频点播,文件下载等各种互联网应用也应运而生,对传统的客户端/服务器(C/S)模式的服务系统提出了新的挑战,随着用户规模的增大,传统的客户端/服务器(C/S)模式的服务系统需要消耗更多的软硬件资源,已经不能满足大规模用户的需求,因此基于P2P的服务系统迅速发展并逐渐成为相对成熟的应用。
[0003]P2P流媒体系统的拓扑分为树状结构和网状结构两种。树状结构又分为单树和多树结构。在单树结构中,节点从单一的父节点获取码流,并向子节点推送整个码流,这使得节点上行带宽资源的大量浪费。多树结构解决了单树结构中的资源利用率的问题,它将整个码流分割成多个子流,每个节点只负责其中的一个或者多个子流。多树结构中,节点的上行带宽得到了有效的利用。然而在多树系统中,节点的动态性会严重影响了系统的性能。网状结构有效的解决了多树系统节点动态性的问题。在网状结构中,节点不再主动推送数据,而是根据自身的需要主动获取数据。推拉结合算法既保证了节点能够迅速的获取数据,也保证了系统有较强的抗扰动性。
[0004]但现有的流媒体系统中,动态性依然影响着系统的性能,使得系统中的资源得不到有效的利用。节点的退出以及频道间的跳转,使得节点请求到的部分数据既不能用来播放,也不能为其它节点服务,成为邻居节点上行带宽资源的无效利用。而新加入的节点则需要较长的时间来选取邻居节点,并获取数据为邻居节点服务,在此过程中节点的带宽资源被浪费。而这些动态性问题,不仅影响了系统中节点的播放连续度,更严重影响了系统的鲁棒性及扩展性性能。
【发明内容】
[0005]本发明的目的在于,为克服现有技术P2P系统在动态环境下节点资源有效利用效率低的问题,提供一种基于反馈控制的P2P流媒体数据请求方法及系统。
[0006]为实现上述目的,本发明提供了一种基于反馈控制的P2P流媒体数据请求方法,所述方法包含:
[0007]步骤101)依据反馈信息生成本轮中第一节点缺失的所有数据片的优先级;
[0008]步骤102)第一节点依据生成的优先级向其邻居节点请求数据片;
[0009]其中,所述反馈信息依据如下方法获得:
[0010]第一节点定期与邻居节点交互剩余上行带宽以及缓冲区映像;当第一节点收到上一轮邻居节点发送的数据后,计算邻居节点提供数据的能力函数;当第一节点收到上一轮邻居节点的数据请求后,计算本节点的上行带宽利用率;所述的能力函数为:第一节点对邻居节点请求数据片的量与请求成功概率之间的关系。
[0011]上述步骤101)进一步包含:
[0012]步骤101-1)将第一节点缓冲区缺失数据划分为从最新数据片组,分发数据片组以及播放数据片组,并依次降低的优先级,所述的最新数据片组,分发数据片组以及播放数据片组均包含若干的数据片;
[0013]且最新数据片组为第一节点接收到缓冲区映像中的最新收到的若干数据片,播放数据片组为第一节点即将播放的若干数据片,分发数据片为第一节点请求用于向邻居节点分发的若干数据片;
[0014]步骤101-2)进一步对最新数据片组包含的数据片进行优先级排序,对分发数据片组中包含的数据片进行优先级排序,并对播放数据片组中包含的数据片进行优先级排序;
[0015]当第一节点数据请求时,首先依据最新数据片组、分发数据片组和播放数据片组的次序依次请求数据,并且当请求最新数据片组时还要依据步骤102)中对最新数据片组包含的数据片的优先级逐一进行请求、对分发数据片组和播放数据片组的请求也要依据两个组中数据片的优先级进行数据请求。
[0016]上述步骤102 )进一步包含:
[0017](I)第一节点依据其上行带宽利用率以及上行带宽,决定本节点的最新数据片的请求量,并依据各邻居节点提供数据的能力以及邻居节点拥有的数据片,将数据请求分发给邻居节点;
[0018](2)第一节点依据本节点的上行带宽利用率计算本节点本轮调度中应请求的分发数据量,并依据分发数据片的优先级,各邻居节点提供数据的能力以及邻居节点拥有的数据片,将数据请求分发给邻居节点;
[0019](3)第一节点依据各邻居节点提供数据的能力以及邻居节点拥有的数据片,将播放数据请求分发给邻居节点;
[0020](4)若第一节点的邻居节点尚有剩余能力,则依据各邻居节点提供数据的能力以及邻居节点拥有的数据片以及分发数据片的优先级,并修改请求的分发数据片的优先级,使其优先级低于播放数据片的优先级,将分发数据请求分发给邻居节点;当对邻居节点的请求不足以满足第一节点需要时,向邻居节点发送强制数据请求,以抢占邻居节点资源以满足第一节点的播放需要。
[0021]上述方法步骤101)之前还包含:
[0022]步骤100)采用反馈信息优化调整第一节点的邻居节点的步骤。
[0023]上述步骤100)进一步包含:
[0024]步骤100-1)当第一节点发现其邻居节点提供数据的总能力不能满足本节点的需要时,向覆盖网层发送消息更新邻居节点;
[0025]步骤100-2)当第一节点上行带宽利用率过高且应当交换邻居节点时,节点与某一邻居节点交换邻居节点。
[0026]上述步骤100-2)进一步包含:
[0027]首先,第一节点监测自身上行带宽与上行带宽利用率,当节点上行带宽较低,且连续多轮调度中,其上行带宽利用率极高时,判定该第一节点处于关键路径上;
[0028]然后,位于关键路径上的第一节点依据以下步骤完成与邻居节点交换邻居节点的步骤:
[0029](I)节点选择一个获取数据晚于本节点的节点,且上行带宽充足的节点进行交换;
(2)节点向其发送请求交换消息;(3)邻居节点应答同意消息;(4)节点选择自己的一个邻居节点与此邻居节点的一个邻居节点交换。
[0030]基于上述方法,本发明提供了一种基于反馈控制的P2P流媒体系统,所述系统中的节点包含:
[0031]反馈信息提取模块,用于定期与邻居节点交互剩余上行带宽以及缓冲区映像;当节点收到邻居节点发送的数据后,计算邻居节点提供数据的能力函数;当节点收到邻居节点的数据请求后,计算本节点的上行带宽利用率;
[0032]优先级划分模块,用于依据反馈信息提取模块提取的反馈信息分别调整节点上所有最新数据片,所有分发数据片以及所有播放数据片的优先级;
[0033]数据请求模块,用于依据优先级划分模块得到的优先级请求节点所需的数据;
[0034]上述节点还包含:
[0035]交换邻居节点模块,用于当节点上行带宽较低,且连续多轮调度中,其上行带宽利用率极高时,驱动该节点与它的邻居节点交换邻居节点;
[0036]更新邻居节点模块,用于当节点不能请求到其所需要的最小期望数据时,驱动该节点更换邻居节点。
[0037]上述反馈信息提取模块进一步包含:
[0038]上行带宽提取子模块,用于节点定期与邻居节点交互剩余上行带宽以及缓冲区映像;
[0039]邻居节点能力提取子模块,用于当节点收到邻居节点发送的数据后,计算其邻居节点提供数据的能力函数;
[0040]上行带宽利用率提取子模块,用于当节点收到邻居节点的数据请求后,计算本节点的上行带宽利用率;
[0041]其中,所述的能力函数为第一节点对邻居节点请求数据片的量与请求成功概率之间的关系。
[0042]上述优先级划分模块进一步包含:
[0043]数据片类型划分子模块,用于将第一节点缓冲区中缺失的数据片分为最新数据片,分发数据片以及播放数据片,并计算本节点缓冲区中数据片的优先级,其中最新数据片为第一节点接收到缓冲区映像中的最新收到的数据片,播放数据片为第一节点即将播放的数据片,分发数据片为第一节点向邻居节点分发的数据片;
[0044]第一处理子模块,用于依据节点的上行带宽计算本节点的最新数据片的优先级,在计算过程中,使得数据片的优先级与第一节点的上行带宽成正比;
[0045]第二处理子模块,用于计算分发数据片的优先级,其中分发数据片的优先级以缺少数据片的节点数为基本参数,并利用第一节点的上行带宽与上行带宽利用率修正基本参数,使得分发数据片的优先级与第一节点上行带宽成正比,与上行带宽利用率成反比;
[0046]第三处理子模块,用于将第一节点所有的播放数据片赋予相同的优先级。
[0047]本发明所述的反馈控制策略,在生成下一轮对邻居节点与服务器的数据请求以及向覆盖网层提供反馈的过程中,利用节点数据调度与服务调度过程中产生的信息与节点的状态信息作为控制信息,如节点的上行带宽,节点的上行带宽利用率,邻居节点的缓冲区映像,邻居节点向本节点提供的数据量,邻居节点的剩余上行带宽等。
[0048]本发明的优点在于,针对动态性的P2P流媒体系统中用户节点带宽不能有效利用的问题,本发明提出一种基于反馈控制的P2P流媒体系统。P2P节点依据邻居节点提供的信息以及本节点的信息来计算数据请求分配过程。反馈控制策略可以依据本节点与邻居节点的当前状态向邻居节点请求数据,使得数据请求有更强的针对性,进而提高了数据请求的有效性,也使得节点的资源能够有效利用。这种反馈控制的方法有效的解决动态性对系统的影响,提高系统的鲁棒性,进而提供系统整体性能。
【专利附图】
【附图说明】
[0049]图1本发明的反馈控制系统模型示意图;
[0050]图2本发明的数据片优先级计算框图;
[0051]图3本发明的生成对邻居节点数据请求的框图;
[0052]图4本发明的数据调度反馈信息检测过程框图;
[0053]图5本发明的对覆盖网反馈及邻居节点交换过程框图;
【具体实施方式】
[0054]下面结合附图对本发明的内容作进一步详细描述。
[0055]本发明提供一种基于反馈控制的P2P流媒体系统,包含:P2P节点和流媒体提供服务器,其特征在于,所述系统中的节点利用反馈控制的方法生成对邻居节点的数据请求并更新优化邻居节点。
[0056]上述技术方案中,所述反馈控制策略进一步包含以下过程:节点生成对邻居节点数据请求的过程;节点采集反馈信息的过程以及节点向覆盖网层反馈的过程。
[0057]所述节点生成对邻居节点数据请求的过程,其进一步包括以下步骤:节点首先计算待请求数据片的优先级。节点依据本节点以及邻居节点的缓冲区映像将数据片分为最新数据片,分发数据片以及播放数据片,并计算本节点缓冲区中数据片的优先级,其中最新数据片为节点接收到缓冲区映像中的最新知道的数据片,播放数据片为本节点即将播放的数据片,分发数据片为向邻居节点分发的数据片。节点在计算数据片优先级时,综合考虑拥有本数据片的邻居节点的数量,本节点的上行带宽,以及本节点的上行带宽利用率因素。节点首先依据本节点的上行带宽计算本节点的最新数据片的优先级,在计算过程中,使得数据片的优先级与节点的上行带宽成正比。节点然后计算分发数据片的优先级,节点分发数据片的优先级以缺少数据片的节点数为基本参数,利用节点的上行带宽与上行带宽利用率修正参数,并使得优先级与节点上行带宽成正比,与上行带宽利用率成反比。由于所有播放数据片对于节点等价,因此给所有的播放数据片赋予相同的优先级。
[0058]其次节点依据数据片的优先级生成对邻居节点的数据请求。其主要包含以下步骤:(1)节点依据上行带宽利用率以及本节点的上行带宽,决定本节点的最新请求的请求量,并依据各邻居节点提供数据的能力以及邻居节点拥有的数据片,将数据请求分发给邻居节点;(2)节点依据本节点的上行带宽利用率计算本节点本轮调度中应请求的分发数据量,并依据分发数据片的优先级,各邻居节点提供数据的能力以及邻居节点拥有的数据片,将数据请求分发给邻居节点;(3)节点依据各邻居节点提供数据的能力以及邻居节点拥有的数据片,将播放数据请求分发给邻居节点;(4)若邻居节点尚有剩余能力,则依据各邻居节点提供数据的能力以及邻居节点拥有的数据片以及分发数据片的优先级,将播放数据请求分发给邻居节点;当对邻居节点的请求不足以满足本节点需要时,向邻居节点发送强制数据请求,以抢占邻居节点资源以满足本节点的播放需要。
[0059]所述节点采集反馈信息的过程,其进一步包含以下过程:节点定期与邻居节点交互剩余上行带宽以及缓冲区映像;当节点收到邻居节点发送的数据后,计算邻居节点提供数据的能力函数;当节点收到
[0060]邻居节点的数据请求后,计算本节点的上行带宽利用率。
[0061]所述节点向覆盖网层反馈过程,其进一步包含以下步骤:当节点发现邻居节点提供数据的总能力不能满足本节点的需要时,向覆盖网层发送消息更新邻居节点;当节点上行带宽利用率过高且应当交换邻居节点时,节点与某一邻居节点交换邻居节点。
[0062]本发明提供一种基于反馈控制的P2P流媒体系统实现方法,该方法用于节点在向邻居节点请求数据时,由节点的状态信息与邻居节点的反馈信息共同决定请求的数据片及请求量,并依据反馈信息更新邻居节点,所述方法包含以下三个过程:生成对邻居节点数据请求的过程,采集反馈信息的过程以及向覆盖网层反馈的过程。系统示意图如图1所示。覆盖网层以gossip方法选取邻居节点。数据调度层依据覆盖网层选取的邻居节点进行数据调度。数据调度周期性的生成对邻居节点的数据请求,其包括生成数据片优先级以及向邻居节点分配数据请求两个步骤。在邻居节点收到本节点的数据请求后,向本节点发送相应的数据。反馈信息检测器则检测邻居节点向本节点提供的信息,并将其反馈给选取邻居节点的过程与数据调度过程。在此反馈控制过程中,以邻居节点向本节点分发数据的过程为被控对象,控制器则为覆盖网层选取邻居节点的过程以及数据调度层生成数据请求的过程。
[0063]所述生成对邻居节点数据请求的过程中,其计算数据片优先级的步骤如图2所示。为提高数据分发效率,在计算节点的上行带宽优先级时,除已有的节点的缓冲区映像g及邻居节点的缓冲区映像瓦信息外,引入节点的上行带宽%,以及上行带宽利用率tUD作为驱动参数,其中?,rUD为系统输出对数据片优先级生成的反馈。在计算数据片优先级的过程中,节点遍历当前缓冲区€,得到当前应请求数据片的列表G,并依据uD,rUD以及瓦;首先计算节点请求最新数据片的优先级K ,然后计算分发数据片的优先级E,最后计算播放数据片的优先级]ζ。数据片优先级的计算使得节点优先请求邻居节点缺少的数据片从而更好的能够为其他节点服务;由于加入了节点上行带宽参数,使得上行带宽高的节点有更大的概率获取数据;同时,利用节点的上行带宽利用率校正数据片的优先级,使得上行带宽利用率低的节点能够优先的获取数据。另外,考虑到动态环境与静态环境的不同,模型中对即将播放的数据片赋予了较高的优先级,以保证节点能够以较高的概率获取当前正在播放的数据片,提高播放连续度。
[0064]所述生成对邻居节点数据请求的过程中,其数据请求分配过程如图3所示。为保证系统的数据分发效率与节点的播放连续度,将节点的数据请求的过程分为四步:(1)请求最新知道的数据,(2)为加速数据分发请求数据,(3)为保证节点播放连续度请求数据,
(4)利用邻居节点剩余能力请求数据。节点首先分发对最新知道数据的请求。由于对最新数据赋予了较高的优先级,因此节点有较大的概率获取到最新的数据。为加速数据分发,节点获取到最新数据的量都应与节点上行带宽UD,上行带宽利用率1^,以及上轮数据调度的总量Aa相关。对最新数据片的分发分两步完成,首先计算本轮请求最新数据总量;其后节点依据P:瓦,73决定数据片请求的方式。此后,节点向邻居节点请求分发数据片,其中数据请求与数据分发的过程类似,只是请求量有节点的上行带宽利用率确定;此后,节点向邻居节点请求播放数据片,播放数据片全部请求;最后,节点依据邻居节点对邻居节点的请求是否以满足本节点的需求,来决定是否向邻居节点追加数据请求。当邻居节点提供数据能力不足时,节点抢占其它节点的资源,抢占的量则通过本节点的上行带宽利用率与本节点的数据接收量确定。然后,节点依据邻居节点剩余能力分发数据,直到无数据片可请求或者邻居节点没有能力分发数据。
[0065]所述的数据调度反馈信息检测过程如图4所示。节点从邻居节点接收到的数据用于填充本节点缓冲区,缓冲区即可更新本节点拥有的数据的信息。本节点的缓冲区映像发送到邻居节点,成为邻居节点请求数据的信息中的F邻居节点依据此信息向本节点请求数据瓦:,进而产生了本节点的上行带宽利用率rm。本节点的上行带宽利用率是可测量的,并且其对数据请求过程的反馈存在较大的时延。邻居节点对本节点的直接反馈是邻居节点向本节点提供数据的能力。函数Kb)用于生成邻居节点为本节点提供数据的能力函数,它是以节点从邻居节点接收到的数据量瓦,邻居节点的剩余能力厂力输入,以邻居节点请求数据成功概率函数7?力输出的算子。
[0066]所述对覆盖网反馈及邻居节点交换过程如图5所示。节点监测自身上行带宽与上行带宽利用率,以确定节点是否位于关键路径上。当节点上行带宽较低,且连续多轮调度中,其上行带宽利用率极高时,认为节点处于关键路径上。当节点位于关键路径上,其可与邻居节点交换邻居节点以提高数据分发的效率。交换邻居节点的策略为:(I)节点选择一个获取数据晚于本节点的节点,且上行带宽充足的节点进行交换;(2)节点向其发送请求交换消息;(3)邻居节点应答同意消息;(4)节点选择自己的一个邻居节点与此邻居节点的一个邻居节点交换。而当节点不能请求到所需要的最小期望数据时,节点需要更换邻居节点。当节点决定更换邻居节点后,生成更换邻居节点消息,并向覆盖网层发送。覆盖网层收到反馈信息后,采用gossip的方式更新邻居节点,进而得到新的邻居节点列表U人而使得节点能够更新缓冲区映像以及邻居节点能力。
[0067]实施例
[0068]节点在向邻居节点请求数据时,由本节点的信息与邻居节点的反馈信息共同决定请求的数据片及请求量。反馈控制方法包含以下三个过程:生成对邻居节点数据请求的过程;采集反馈信息的过程以及向覆盖网层反馈的过程。反馈控制策略可以有效的解决网络扰动对系统的影响,提高系统的鲁棒性,进而提供系统整体性能。
[0069]所述生成对邻居节点数据请求的过程中,其计算数据片优先级的过程如图2所示。为提高数据分发效率,在计算节点的上行带宽优先级时,除已有的节点的缓冲区映像厂及邻居节点的缓冲区映像疋信息外,引入节点的上行带宽uD,以及上行带宽利用率rUD作为驱动参数,其中f,rUD为系统输出对数据片优先级生成的反馈。在计算数据片优先级的过程中,节点遍历当前缓冲区映像,得到当前可请求数据片的列表1fw,并依据uD, rm以及5Λ,构建节点请求最新数据的优先级I,然后计算分发数据的优先级^,最后计算播放数据片的优先级Prp。方法如下:Prn(j) = h (j) - δ +R/uD*rand (), prd (j) = h (j) +R/uD* n (rUD) *rand (),Prp(J) = C。其中h(j)为邻居节点中拥有数据片j的邻居节点的数量;δ为常数因子,用以表示最新数据片,一般的,取S = 2 ; n (rro) = 1.5-l/(l+rUD),其将rUD映射到[0.5,1.5)的区间上,以对数据片的优先级微调;rand()为区间[O,1]上的随机数函数。
[0070]所述生成对邻居节点数据请求的过程中,其数据请求分配模型图如图3所示。节点的数据请求的过程分为四步:(1)请求最新数据片,(2)请求分发数据片,(3)请求播放数据片,(4)利用邻居节点剩余能力分发数据片。首先生成对最新数据的请求,用函数
【权利要求】
1.一种基于反馈控制的P2P流媒体数据请求方法,所述方法包含: 步骤101)依据反馈信息生成本轮中第一节点缺失的所有数据片的优先级; 步骤102)第一节点依据生成的优先级向其邻居节点请求数据片; 其中,所述反馈信息依据如下方法获得: 第一节点定期与邻居节点交互剩余上行带宽以及缓冲区映像;当第一节点收到上一轮邻居节点发送的数据后,计算邻居节点提供数据的能力函数;当第一节点收到上一轮邻居节点的数据请求后,计算本节点的上行带宽利用率;所述的能力函数为:第一节点对邻居节点请求数据片的量与请求成功概率之间的关系。
2.根据权利要求1所述的基于反馈控制的P2P流媒体数据请求方法,其特征在于,所述步骤101)进一步包含: 步骤101-1)将第一节点缓冲区缺失数据划分为最新数据片组,分发数据片组以及播放数据片组,并依次降低的优先级,所述的最新数据片组,分发数据片组以及播放数据片组均包含若干的数据片; 且最新数据片组为第一节点接收到缓冲区映像中的最新收到的若干数据片,播放数据片组为第一节点即将播放的若干数据片,分发数据片组为第一节点请求用于向邻居节点分发的若干数据片; 步骤101-2)进一步对最新数据片组包含的数据片进行优先级排序,对分发数据片组中包含的数据片进行优先级排序,并对播放数据片组中包含的数据片进行优先级排序; 当第一节点数据请求时,首先依据最新数据片组、分发数据片组和播放数据片组的次序依次请求数据,并且当请求 最新数据片组时还要依据步骤102)中对最新数据片组包含的数据片的优先级逐一进行请求、对分发数据片组和播放数据片组的请求也要依据两个组中数据片的优先级进行数据请求。
3.根据权利要求2所述的基于反馈控制的P2P流媒体数据请求方法,其特征在于,所述步骤102)进一步包含: (1)第一节点依据其上行带宽利用率以及上行带宽,决定本节点的最新数据片的请求量,并依据各邻居节点提供数据的能力以及邻居节点拥有的数据片,将数据请求分发给邻居节点; (2)第一节点依据本节点的上行带宽利用率计算本节点本轮调度中应请求的分发数据量,并依据分发数据片的优先级,各邻居节点提供数据的能力以及邻居节点拥有的数据片,将数据请求分发给邻居节点; (3)第一节点依据各邻居节点提供数据的能力以及邻居节点拥有的数据片,将播放数据请求分发给邻居节点; (4)若第一节点的邻居节点尚有剩余能力,则依据各邻居节点提供数据的能力以及邻居节点拥有的数据片以及分发数据片的优先级,并修改请求的分发数据片的优先级,使其优先级低于播放数据片的优先级,将分发数据请求分发给邻居节点;当对邻居节点的请求不足以满足第一节点需要时,向邻居节点发送强制数据请求,以抢占邻居节点资源来满足第一节点的播放需要。
4.根据权利要求1所述的基于反馈控制的P2P流媒体数据请求方法,其特征在于,所述方法步骤101)之前还包含:步骤100)采用反馈信息优化调整第一节点的邻居节点的步骤。
5.根据权利要求3所述的基于反馈控制的P2P流媒体数据请求方法,其特征在于,所述步骤100)进一步包含: 步骤100-1)当第一节点发现其邻居节点提供数据的总能力不能满足本节点的需要时,向覆盖网层发送消息更新邻居节点; 步骤100-2)当第一节点上行带宽利用率过高且应当交换邻居节点时,节点与某一邻居节点交换邻居节点。
6.根据权利要求5所述的基于反馈控制的P2P流媒体数据请求方法,其特征在于,所述步骤100-2)进一步包含: 首先,第一节点监测自身上行带宽与上行带宽利用率,当节点上行带宽较低,且连续多轮调度中,其上行带宽利用率极高时,判定该第一节点处于关键路径上; 然后,位于关键路径上的第一节点依据以下步骤完成与邻居节点交换邻居节点的步骤: (I)节点选择一个获取数据晚于本节点的节点,且上行带宽充足的节点进行交换;(2)节点向其发送请求交换消息;⑶邻居节点应答同意消息;⑷节点选择自己的一个邻居节点与此邻居节点的一个邻居节点交换。
7.一种基于反馈控制的P2P流媒体系统,所述系统中的节点包含: 反馈信息提 取模块,用于定期与邻居节点交互剩余上行带宽以及缓冲区映像;当节点收到邻居节点发送的数据后,计算邻居节点提供数据的能力函数;当节点收到邻居节点的数据请求后,计算本节点的上行带宽利用率; 优先级划分模块,用于依据反馈信息提取模块提取的反馈信息分别调整节点上所有最新数据片,所有分发数据片以及所有播放数据片的优先级; 数据请求模块,用于依据优先级划分模块得到的优先级请求节点所需的数据。
8.根据权利要求7所述的基于反馈控制的P2P流媒体节点,其特征在于,所述节点还包含: 交换邻居节点模块,用于当节点上行带宽较低,且连续多轮调度中,其上行带宽利用率极高时,驱动该节点与它的邻居节点交换邻居节点; 更新邻居节点模块,用于当节点不能请求到其所需要的最小期望数据时,驱动该节点更换邻居节点。
9.根据权利要求6所述的基于反馈控制的P2P流媒体节点,其特征在于,所述反馈信息提取1?块进一步包含: 上行带宽提取子模块,用于节点定期与邻居节点交互剩余上行带宽以及缓冲区映像;邻居节点能力提取子模块,用于当节点收到邻居节点发送的数据后,计算其邻居节点提供数据的能力函数; 上行带宽利用率提取子模块,用于当节点收到邻居节点的数据请求后,计算本节点的上行带宽利用率; 其中,所述的能力函数为第一节点对邻居节点请求数据片的量与请求成功概率之间的关系。
10.根据权利要求6所述的基于反馈控制的P2P流媒体节点,其特征在于,所述优先级划分模块进一步包含: 数据片类型划分子模块,用于将第一节点缓冲区中缺失的数据片分为最新数据片,分发数据片以及播放数据片,并计算本节点缓冲区中数据片的优先级,其中最新数据片为第一节点接收到缓冲区映像中的最新收到的数据片,播放数据片为第一节点即将播放的数据片,分发数据片为第一节点向邻居节点分发的数据片; 第一处理子模块,用于依据节点的上行带宽计算本节点的最新数据片的优先级,在计算过程中,使得数据片的优先级与第一节点的上行带宽成正比; 第二处理子模块,用于计算分发数据片的优先级,其中分发数据片的优先级以缺少数据片的节点数为基本参数,并利用第一节点的上行带宽与上行带宽利用率修正基本参数,使得分发数据片的优先级与第一节点上行带宽成正比,与上行带宽利用率成反比; 第三处理子模块,用于将`第一节点所有的播放数据片赋予相同的优先级。
【文档编号】H04L29/08GK103873385SQ201210553039
【公开日】2014年6月18日 申请日期:2012年12月18日 优先权日:2012年12月18日
【发明者】尤佳莉, 李晓林, 王劲林, 郑鹏飞, 宋军, 吕阳, 薛娇 申请人:中国科学院声学研究所