一种基于请求转发的p2p流媒体播放方法及系统的制作方法

文档序号:7987575阅读:233来源:国知局
一种基于请求转发的p2p流媒体播放方法及系统的制作方法
【专利摘要】本发明涉及一种基于请求转发的P2P流媒体播放方法及系统,所述方法包含:P2P网络中的数据请求节点向数据提供节点请求数据,当数据提供节点判断得知由于上行带宽不足不能发送数据请求节点所请求的全部数据片时,进入下一步骤;数据提供节点将启动请求转发策略为数据请求节点提供所需的流媒体数据;其中,所述请求转发策略为:在单一频道内使用,具体由与数据提供节点位于单一频道内的拥有足够上行带宽的节点向数据请求节点提供数据;或当数据提供节点处于冷播频道中时,该请求转发策略还能够在频道间使用,由某个热播频道中的节点向数据请求节点提供数据。本发明提供的节点能够更快的获取数据,有效提高节点的上行带宽利用率,并提高系统的鲁棒性。
【专利说明】一种基于请求转发的P2P流媒体播放方法及系统
【技术领域】
[0001]本发明涉及计算机网络【技术领域】,更具体地,本发明涉及一种基于请求转发的P2P流媒体播放方法及系统。
【背景技术】
[0002]近年来,随着宽带通信和多媒体技术的迅猛发展,在线直播,视频点播,文件下载等各种互联网应用也应运而生,对传统的客户端/服务器(C/S)模式的服务系统提出了新的挑战,随着用户规模的增大,传统的客户端/服务器(C/S)模式的服务系统需要消耗更多的软硬件资源,已经不能满足大规模用户的需求,因此基于P2P的服务系统迅速发展并逐渐成为相对成熟的应用。
[0003]P2P流媒体系统的拓扑分为树状结构和网状结构两种。树状结构又分为单树和多树结构。在单树结构中,节点从单一的父节点获取码流,并向子节点推送整个码流,这使得节点上行带宽资源的大量浪费。多树结构解决了单树结构中的资源利用率的问题,它将整个码流分割成多个子流,每个节点只负责其中的一个或者多个子流。多树结构中,节点的上行带宽得到了有效的利用。然而在多树系统中,节点的动态性会严重影响了系统的性能。网状结构有效的解决了多树系统节点动态性的问题。在网状结构中,节点不再主动推送数据,而是根据自身的需要主动获取数据。推拉结合算法既保证了节点能够迅速的获取数据,也保证了系统有较强的抗扰动性。
[0004]但现有的流媒体系统中,节点的频道间切换与频道间的负载不均等动态性行为使得系统中的资源得不到有效的利用,降低了系统的可扩展性。当节点切换到其它频道后,节点切换频道前请求到的数据既不能用来播放,也不能为其它节点服务,而跳转后则需要较长的时间来选取邻居节点,并获取数据为邻居节点服务,在此过程中节点的资源无论是带宽还是数据都会被浪费。在热播频道中,由于系统中的资源较多,对节点扰动的容错率较高,节点的资源会被浪费,而冷播系统中的节点却不能提供足够的资源为邻居节点服务,当出现扰动时,系统的鲁棒性较差,严重影响着系统的性能。

【发明内容】

[0005]本发明的目的在于,为克服现有技术的P2P流媒体系统在存在扰动时节点资源得不到有效利用以及频道间负载不均的问题,从服务调度的角度,提供一种基于请求转发的P2P流媒体播放方法及系统。
[0006]为实现上述目的,本发明提供了一种基于请求转发的P2P流媒体播放方法,所述方法包含:
[0007]步骤101)P2P网络中的数据请求节点向数据提供节点请求数据,当数据提供节点判断得知由于上行带宽不足不能发送数据请求节点所请求的全部数据片时,进入下一步骤;
[0008]步骤102)数据提供节点将启动请求转发策略,由请求转发策略选中的节点为数据请求节点提供所需的流媒体数据;
[0009]其中,所述请求转发策略为:
[0010]在单一频道内使用,具体由与数据提供节点位于同一频道内的拥有足够剩余上行带宽的节点向数据请求节点发送数据;或
[0011]当数据提供节点处于冷播频道中时,该请求转发策略还能够在频道间使用,由某个热播频道中的节点向数据请求节点提供数据;
[0012]所述数据请求节点为数据提供节点的邻居节点,并向数据提供节点请求数据。
[0013]上述步骤101)具体为:
[0014]数据提供节点判断自身上行带宽是否能够满足数据请求节点的全部数据请求,当数据提供节点能够为每一个数据请求节点的数据请求发送数据时,由其直接向各个数据请求节点提供流媒体数据;当判断得知数据提供节点由于上行带宽不足不能发送数据请求节点所请求的全部数据片时,数据提供节点将启动请求转发策略为数据请求节点提供所需的流媒体数据。
[0015]上述请求转发策略在单一频道内使用时,进一步包含如下步骤:
[0016]步骤102-1)数据提供节点的所有邻居节点估算并汇报自身剩余上行带宽信息;
[0017]步骤102-2)数据提供节点检测到不能为数据请求节点的每个数据请求提供数据时,选取适当节点作为请求转发节点;
[0018]步骤102-3)数据提供节点在适当时机向请求转发节点转发适当数据片的数据请求,并发送处理数据请求所需的数据和其它信息;
[0019]步骤102-4)请求转发节点收到消息后,向需要数据的节点发送相应数据;
[0020]其中,所述请求转发节点应有足够的上行带宽为其它节点提供数据,具体包含以下三类节点:
[0021]I)向数据提供节点请求了要转发数据片的数据提供节点的邻居节点;
[0022]2)数据提供节点的拥有要转发数据片的邻居节点;
[0023]3)数据请求节点切换到其它频道,且缓存中拥有此数据片的邻居节点;
[0024]上述请求转发策略在频道间使用时,进一步包含如下步骤:
[0025]步骤201)热播频道中有充足剩余上行带宽的节点向服务器汇报剩余上行带宽信息;
[0026]步骤202)当冷播频道中的数据提供节点需要热播频道中的节点转发数据时,节点向服务器请求转发数据所需的节点;
[0027]步骤203)服务器收到消息后,选取适当节点发送给数据提供节点作为请求转发节
占.[0028]步骤203)数据提供节点收到消息后,将转发消息及相应的数据发送给请求转发节
占.[0029]步骤204)请求转发节点收到数据与消息后,将数据发送给数据请求节点;
[0030]其中,所述服务器选取的适当节点为热播频道中向服务器汇报剩余带宽信息的节点。
[0031]请求转发策略中转发数据片和转发时机的选择进一步包含如下步骤:
[0032]步骤201)将整个转发周期依据节点剩余能力切分成转发时隙;[0033]步骤202)在每一个转发时隙内,数据提供节点计算请求转发节点转发每一数据请求所产生的效用;
[0034]步骤203)依据转发的总效用最大,计算每个邻居节点适宜转发的数据片,并确定转发数据片的时间;
[0035]其中,所述转发周期为数据提供节点两次收到剩余上行带宽信息之间的时间。
[0036]基于上述方法本发明还提供了一种基于请求转发的P2P流媒体播放系统中的节点,所述节点包含:
[0037]第一估算模块,用于估算数据提供节点的自身剩余上行带宽;
[0038]统计模块,用于统计数据请求节点的每个数据请求所需的带宽信息;
[0039]判断决策模块,用于依据第一估算模块和统计模块的结果判断P2P网络中的数据提供节点的上行带宽是否能够用于向数据请求节点发送所请求的全部数据片,当上行带宽不足时及时启动请求转发子系统为数据请求节点发送数据;
[0040]请求转发模块,用于选择由与数据提供节点位于单一频道内的拥有足够上行带宽的节点向数据请求节点提供数据;或选择由与数据提供节点处于不同频道的某个热播频道中的节点向数据请求节点提供数据。
[0041]周期性启动判断决策模块。
[0042]上述请求转发模块进一步包含:
[0043]请求转发节点选取子模块,用于当数据提供节点检测到不能为数据请求节点的每个数据请求提供数据时自行从邻居节点中选取或向服务器请求适当节点作为请求转发节
占.[0044]转发子模块,用于数据提供节点在适当时机向请求转发节点转发适当数据片的数据请求,并发送处理数据请求所需的数据和其它信息;
[0045]数据发送子模块,用于请求转发节点转发模块发送的消息后,向需要数据的节点发送相应数据;
[0046]其中,所述请求转发节点应有足够的上行带宽为其它节点提供数据,具体包含以下四类节点:
[0047]I)向数据提供节点请求了要转发数据片的数据提供节点的邻居节点;
[0048]2)数据提供节点的拥有要转发数据片的邻居节点;
[0049]3)数据请求节点切换到其它频道,且缓存中拥有此数据片的邻居节点;
[0050]4)热播频道中的节点。
[0051]上述服务器节点的请求转发模块进一步包含:
[0052]接收储存热播频道中节点消息的模块,用于储存热播频道中节点的剩余上行带宽消息;
[0053]选取热播频道中节点模块,服务器依据一定的规则,选取热播频道中的汇报数据信息的节点,向数据提供节点发送。
[0054]上述请求转发模块还包含用于确定请求转发策略中转发数据片和转发时机的子模块,该子模块进一步包含:
[0055]切分单元,用于将整个转发周期依据节点剩余能力切分成转发时隙;
[0056]效用计算单元,用于在每一个转发时隙内,数据提供节点计算请求转发节点转发每一数据请求所产生的效用;
[0057]决策单元,用于依据转发的总效用最大,计算每个邻居节点适宜转发的数据片,并确定转发数据片的时间;
[0058]其中,所述转发周期为数据提供节点两次收到剩余上行带宽信息之间的时间。
[0059]与现有技术相比本发明的优点在于,针对存在扰动的P2P流媒体系统中用户节点带宽不能有效利用的问题,本发明提出一种基于请求转发的P2P流媒体系统。用户节点当检测到其不能为每个数据请求节点的数据请求提供数据时,将数据请求转发给请求转发节点;此请求转发节点收到数据请求后,向数据请求节点发送相应的数据。数据请求节点利用其它节点的剩余资源加速数据分发,这使得系统中的节点能够更快的获取数据,从而有效的提高了节点的上行带宽利用率,提高了节点的播放质量,降低启动时延,并提高系统的鲁棒性。
【专利附图】

【附图说明】
[0060]图1本发明的请求转发流程示意图;
[0061]图2本发明的请求转发节点和转发时机的选择流程图。
【具体实施方式】
[0062]下面结合附图对本发明的内容作进一步详细描述。
[0063]本发明所述的服务调度,为数据提供节点收到邻居节点的数据请求后,向数据请求节点分发数据的过程。所述数据提供节点,数据请求节点皆为P2P节点。当P2P节点向邻居节点请求数据时,其为数据发送节点;当节点向邻居节点发送数据时,其为数据提供节点;数据提供服务器也为数据提供节点。
[0064]为实现上述目的,本发明提供一种基于请求转发的P2P流媒体系统,包含:P2P节点和流媒体提供服务器,其特征在于,所述系统中的数据提供节点上行带宽不足,不能发送数据请求节点所请求的全部数据片时,数据提供节点启动请求转发策略来为数据请求节点提供数据。
[0065]上述技术方案中,所述请求转发策略进一步包含以下步骤:P2P节点依据上轮服务调度中收到的数据请求的数量估算下轮调度中可能的剩余上行带宽,并将其与缓冲区影像或数据请求包一同发送给邻居节点。频道切换节点,将其拥有的数据信息及上行带宽信息发送给频道切换前所在频道内的邻居节点。当节点处于热播频道并拥有大量可用上行带宽时,向服务器发送剩余带宽信息。节点依据邻居节点及跳转节点剩余上行带宽将转发周期切分成转发时隙,服务器依据注册节点的剩余上行带宽,将注册节点的转发周期切分成转发时隙;
[0066]数据提供节点在收到邻居节点的剩余上行带宽与数据请求后,计算在每个转发时隙内需转发数据片的数量,依据贪心算法选取恰当时机向请求转发节点转发数据请求,并发送转发数据节点处理请求所需的信息;当冷播频道中的节点利用热播频道中的资源时,冷播频道中的节点向服务器发送消息获取请求转发节点,服务器节点收到消息后向数据提供节点发送请求转发节点。数据提供节点收到消息后,向请求转发节点发送转发必需的信息。请求转发节点在收到数据请求以及其它信息后,向数据请求节点发送相应的数据。[0067]所述频道切换节点为从本频道切换到其他频道的节点;所述转发周期为节点两次收到剩余上行带宽信息之间的时间。
[0068]所述请求转发策略的请求转发节点必须存在足够的上行带宽能够为其它节点提供服务。主要由以下四类节点组成:
[0069]I)向数据提供节点请求了要转发的数据片的数据提供节点的邻居节点。当利用此类节点请求转发时,转发的消息包括请求数据节点列表以及发送数据的时限。消息与数据可以同时发送。
[0070]2)数据提供节点的拥有要转发数据片的邻居节点。当利用此类节点请求转发时,转发的消息仅包括请求数据的节点列表、需要转发的数据片序号及转发的时限。消息需单独发送。
[0071]3)数据提供节点跳转到其它频道的拥有要转发数据片邻居节点。当需要此类节点发送数据时,发送的消息仅包括请求数据的节点列表、需要转发的数据片序号及转发的时限。消息也需单独发送。
[0072]4)热播频道中的节点。当需要此类节点发送数据时,发送的消息包括请求数据的节点列表,需要转发的数据片以及转发的时限。
[0073]所述请求转发策略中请求转发节点和转发时机的选择进一步包含以下步骤:在每一个转发时隙内,节点计算由邻居节点或跳转节点转发数据片所产生的收益与代价,其收益为转发数据片的收益与转发成功概率的乘积,而代价则为转发数据所产生的带宽损耗。而效用为收益与代价之差。依据转发的总效用最大,计算每个邻居节点应转发的数据片,并在此基础上,确定转发数据片的时间。
[0074]本发明提供一种基于请求转发的P2P流媒体系统,本系统的主要特征是所述系统中的数据提供节点上行带宽不足,不能发送数据请求节点所请求的全部数据片时,数据提供节点启动请求转发策略来为数据请求节点提供数据。所述策略主要包含以下步骤:节点依据上轮服务调度中收到的数据请求的数量计算下轮调度中可能的剩余上行带宽,并将其与缓冲区映像或数据请求一并发送给邻居节点。频道切换节点将其拥有的数据信息及上行带宽信息发送给频道切换前所在频道内的邻居节点。当节点处于热播频道并拥有大量额外上行带宽时,向服务器发送其剩余带宽信息。数据提供节点依据邻居节点以及频道切换节点的剩余上行带宽将转发周期切分成转发时隙。服务器依据注册节点的剩余能力,将注册节点的转发周期切分成转发时隙。
[0075]数据提供节点在收到邻居节点的剩余上行带宽信息以及数据请求后,计算在每个转发时隙内计算所需转发数据片的数量;数据提供节点依据贪心算法选取恰当时机向请求转发节点转发数据请求,并发送请求转发节点处理请求所需的数据与信息。请求转发节点在收到转发的数据请求后,向数据请求节点发送相应的数据。
[0076]请求转发共有四种方式:(I)当请求转发节点与数据提供节点的其它邻居节点共同请求了数据片时,数据请求节点向请求转发节点发送数据片的同时,将请求节点列表及发送时限发送给请求转发节点,请求转发节点收到数据与转发消息后,将数据发送给数据请求节点列表中的节点。(2)当请求转发节点已经拥有了需要转发的数据片时,数据提供节点将需转发的数据片序号、请求节点列表及转发时限发送给请求转发节点;请求转发节点收到转发消息后,将数据发送给请求节点列表中的节点。(3)当频道切换节点拥有需要转发的数据片时,数据提供节点将需转发的数据片序号、请求节点列表以及转发时限发送给跳转节点;频道切换节点收到消息后,将数据发送给请求节点列表中的节点。(4)当节点处于冷播频道中时,节点向服务器发送消息,获取热播频道中的节点来转发数据;冷播频道中的节点收到服务器发送的请求转发节点后,向此请求转发节点发送相应的数据片,请求节点列表以及发送时限;请求转发节点收到消息后,向相应的数据请求节点发送数据。
[0077]所述请求转发策略中的请求转发节点和转发时机的选择进一步包含以下步骤:在每一个转发时隙内,节点计算在此时隙内由邻居节点转发数据请求所产生的收益与代价。收益为转发数据片的收益与转发成功概率的乘积。代价则为转发数据所产生的带宽损耗。而效用为收益与代价之差。在计算完效用后,将每个节点的转发数据片的效用按照从大到小排序。依据转发的总效用最大的原则,根据稳定婚姻匹配问题的Gale-Shapley算法,计算每个邻居节点适宜转发的数据片,并在此基础上,确定转发数据片的时间,以使得转发的效用最大化。
[0078]可选的,判断节点是否需要转发数据片包含以下步骤:节点首先判断自身上行带宽是否能够满足邻居节点的全部数据请求。当节点能够为每一个邻居节点的数据请求发送数据时,则不通过邻居节点或频道切换节点转发数据;当节点上行带宽不能满足邻居节点的全部数据请求时,当邻居节点或频道切换节点存在剩余上行带宽时,将其作为请求转发节点,并利用其剩余上行带宽转发数据。当采用邻居节点或者频道切换节点进行数据转发时,节点只需通过邻居节点发送过来的剩余上行带宽判断邻居节点是否有能力发送数据;当冷播频道内的节点通过热播频道节点转发数据时,则由服务器判断是否能够提供冷播频道内节点转发数据。
[0079]实施例
[0080]在P2P流媒体系统中,用户节点加入系统后,获取一定数量的其它用户节点,并与它们建立连接,交换数据,这些节点称为此用户节点的邻居节点。当用户节点从其他节点获取数据时,用户节点称为数据请求节点;当用户节点向其他节点发送数据时,用户节点称为数据提供节点。当数据提供节点监测到其上行带宽不能满足邻居节点的每一个数据请求时,从邻居节点或频道切换节点中选取节点作为请求转发节点。节点将数据请求发送给请求转发节点,请求转发节点代替数据提供节点发送数据。
[0081]请求转发流程示意图如图1所示。当Cn与Cd2节点向数据提供节点S请求了相同的数据片时,若Cn有剩余的带宽可以用于转发数据,S将数据片以及Q32请求了数据的消息发送给Cn,如图中消息1-1所示。Cn收到消息后,将数据片转发给Cd2,如图中消息1-2所示。若Cm节点已经拥有Cn节点向数据提供节点S所请求的数据片,3将(;请求数据片的消息发送给CM,包括请求的数据片序号,发送时限等,如图中消息2-1所示。Cm节点收到消息后,将数据片发送给CN,如图中消息2-2所示。Ctj为从频道A切换到频道B中的节点,其在频道A中时为节点S的邻居节点。Ctj拥有Cdi节点向S请求的数据。S向Ctj节点发送Cd2请求数据片的消息,消息内容还包括请求数据片的序号以及发送时限,如图中消息3-1所示。节点CO收到消息后,向Cd2发送数据,如图中消息3-2所示。P0为热播频道B中的节点,当期发现其有较多的剩余能力时,向服务器注册拥有的剩余能力,如图中消息4-1所示。当冷播频道中的数据提供节点S需要转发数据时,其向服务器请求有剩余能力的节点辅助,如图中消息4-2所示。服务器收到消息后,向数据提供节点S发送可转发数据的节点匕,如图中消息4-3所示。节点S向匕发送要转发的数据,以及请求数据的节点CD1、CD2,以及发送时限,如图中消息4-4所示。匕收到消息后向Cd1、Cd2发送数据,如图中消息4-5所示。
[0082]转发节点计算流程图如图2所示。节点首先判断其上行带宽是否能够满足邻居节点的每一个数据请求。当其上行带宽能够为邻居节点的每一个上行带宽提供数据时,则不通过邻居节点转发数据;当节点上行带宽不能为邻居节点的每一个数据请求提供数据时,在邻居节点或跳转节点存在可用上行带宽的情况下将邻居节点或跳转节点作为转发数据节点,并利用转发数据节点进行发送数据。当采用邻居节点或者请求转发节点进行数据转发时,节点只需通过邻居节点和频道切换节点发送过来的剩余上行带宽判断其是否有能力发送数据。当没有适当邻居节点或频道切换节点可用于转发数据且节点处于冷播频道中时,节点通过热播频道中的节点转发数据。在计算请求转发节点与转发时机时,数据提供节点首先依据邻居节点以及频道切换节点的剩余上行带宽将转发周期切分成转发时隙。服务器依据注册节点的剩余能力,将注册节点的转发周期切分成转发时隙。在每一个转发时隙内,节点计算由某一邻居节点在此时隙内转发数据片所产生的收益与代价。收益为转发数据片的收益与转发成功概率的乘积。代价则为转发数据所产生的带宽损耗。而效用为收益与代价之差。在计算完效用后,将每个节点的转发数据片的效用按照从大到小排序。依据转发的总效用最大的原则,根据稳定婚姻匹配问题的Gale-Shapley算法,计算每个邻居节点适宜转发的数据片,并以此为基础,确定转发数据片的时机。若不能找到适当的请求转发节点,冷播频道中的节点可采用热播频道中的节点转发,热播频道中的节点则不再转发。冷播频道内的节点通过热播频道节点转发数据时,首先向服务器发送消息请求请求转发节点。由服务器判断是否有热播频道中的节点能够转发数据,并选择适当节点作为数据请求节点发送给数据提供节点。数据提供节点在计算出的时机向请求转发节点请求转发。请求转发节点在收到数据请求以及其它信息后,向数据请求节点发送相应的数据。所述请求转发节点,为系统中P2P节点,它为系统中的其他节点提供上行带宽资源,以帮助其完成数据分发,增加节点获取数据的概率。
[0083]总之,本发明提供的一种基于请求转发的P2P流媒体系统,包含:P2P节点和流媒体提供服务器。P2P节点在向邻居节点发送数据时,为数据提供节点;在向邻居节点请求数据时,为数据请求节点。数据请求节点向数据提供节点请求数据。当数据提供节点上行带宽不足,不能发送数据请求节点所请求的全部数据片时,数据提供节点启动请求转发策略来为数据请求节点提供数据。请求转发策略既可在单一频道内使用,降低节点的启动时延;也可在频道间使用,提高冷播频道的性能
[0084]需要说明的是,以上介绍的本发明的实施方案而并非限制。本领域的技术人员应当理解,任何对本发明技术方案的修改或者等同替代都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围内。
【权利要求】
1.一种基于请求转发的P2P流媒体播放方法,所述方法包含: 步骤101)P2P网络中的数据请求节点向数据提供节点请求数据,当数据提供节点判断得知由于上行带宽不足不能发送数据请求节点所请求的全部数据片时,进入下一步骤;步骤102)数据提供节点将启动请求转发策略,该请求转发策略选择新节点为数据请求节点提供所需的流媒体数据; 其中,所述请求转发策略包含: 在单一频道内使用,具体为数据提供节点选择与其位于同一频道内的拥有足够剩余上行带宽的节点向数据请求节点发送数据;或 当数据提供节点处于冷播频道中时,该请求转发策略还能够在频道间使用,具体由某个热播频道中的节点向数据请求节点提供数据; 所述数据请求节点为数据提供节点的邻居节点,并向数据提供节点请求数据。
2.根据权利要求1所述的基于请求转发的P2P流媒体播放方法,其特征在于,所述步骤101)具体为: 数据提供节点判断自身上行带宽是否能够发送数据请求节点所请求的全部数据片,当数据提供节点能够为每一个数据请求节点的数据请求发送数据时,由其直接向各个数据请求节点提供流媒体数据;当数据提供节点判断得知由于上行带宽不足不能发送数据请求节点所请求的全部数据片时,数据提供节点将启动请求转发策略为数据请求节点提供所需的流媒体数据。
3.根据权利要求1所述的基于请求转发的P2P流媒体播放方法,其特征在于,所述请求转发策略在单一频 道内使用时,进一步包含如下步骤: 步骤102-1)数据提供节点的所有邻居节点估算并汇报自身剩余上行带宽信息; 步骤102-2)数据提供节点检测到不能为数据请求节点的每个数据请求提供数据时,选取适当节点作为请求转发节点; 步骤102-3)数据提供节点在适当时机向请求转发节点转发适当数据片的数据请求,并发送处理数据请求所需的数据和其它信息; 步骤102-4)请求转发节点收到消息后,向需要数据的节点发送相应数据; 其中,所述请求转发节点应有足够的上行带宽为其它节点提供数据,具体包含以下三类节点: O向数据提供节点请求了要转发数据片的数据提供节点的邻居节点; 2)数据提供节点拥有的要转发数据片的邻居节点; 3)数据请求节点切换到其它频道,且缓存中拥有此数据片的邻居节点。
4.根据权利要求1所述的基于请求转发的P2P流媒体播放方法,其特征在于,所述请求转发策略在频道间使用时,进一步包含如下步骤: 步骤201)热播频道中有充足剩余上行带宽的节点向服务器汇报剩余上行带宽信息;步骤202)当冷播频道中的数据提供节点需要热播频道中的节点转发数据请求时,冷播频道中的数据提供节点向服务器请求转发数据所需的节点; 步骤203)服务器收到消息后,选取适当节点发送给数据提供节点作为请求转发节点; 步骤203)数据提供节点收到消息后,将转发消息及相应的数据发送给请求转发节点; 步骤204)请求转发节点收到数据与消息后,将数据发送给数据请求节点;其中,所述服务器选取的适当节点为热播频道中向服务器汇报剩余带宽信息的节点。
5.根据权利要求3或4所述的基于请求转发的P2P流媒体播放方法,其特征在于,请求转发策略中转发数据片的量和转发时机的选择进一步包含如下步骤: 步骤201)将整个转发周期依据节点剩余能力切分成转发时隙; 步骤202)在每一个转发时隙内,数据提供节点计算请求转发节点转发每一数据请求所产生的效用; 步骤203)依据转发的总效用最大,计算每个邻居节点适宜转发的数据片,并确定转发数据片的时间; 其中,所述转发周期为数据提供节点两次收到剩余上行带宽信息之间的时间。
6.一种基于请求转发的P2P流媒体播放系统,所述系统中的节点包含: 第一估算模块,用于估算数据提供节点的自身剩余上行带宽; 统计模块,用于统计数据请求节点的每个数据请求所需的带宽信息; 判断决策模块,用于依据第一估算模块和统计模块的结果判断P2P网络中的数据提供节点的上行带宽是否能够用于向数据请求节点发送所请求的全部数据片,当上行带宽不足时及时启动请求转发子系统为数据请求节点发送数据; 请求转发模块,用于选择由与数据提供节点位于同一频道内的拥有足够上行带宽的节点向数据请求节点提供数据;或选择由与数据提供节点处于不同频道的某个热播频道中的节点向数据请求节点提供数据。
7.根据权利要求6`所述的基于请求转发的P2P流媒体播放系统中的节点,其特征在于,周期性启动判断决策模块。
8.根据权利要求6所述的基于请求转发的P2P流媒体播放系统中的节点,其特征在于,所述请求转发模块进一步包含: 请求转发节点选取子模块,用于当数据提供节点检测到不能为数据请求节点的每个数据请求提供数据时自行从邻居节点中选取或向服务器请求适当节点作为请求转发节点; 转发子模块,用于数据提供节点在适当时机向请求转发节点转发适当数据片的数据请求,并发送处理数据请求所需的数据和其它信息; 数据发送子模块,用于请求转发节点转发模块发送的消息后,向需要数据的节点发送相应数据; 其中,所述请求转发节点应有足够的上行带宽为其它节点提供数据,具体包含以下四类节点: O向数据提供节点请求了要转发数据片的数据提供节点的邻居节点; 2)数据提供节点的拥有要转发数据片的邻居节点; 3)数据请求节点切换到其它频道,且缓存中拥有此数据片的邻居节点; 4)热播频道中的节点。
9.根据权利要求8所述的基于请求转发的P2P流媒体播放节点,其特征在于,所述服务器节点的请求转发模块进一步包含: 接收储存热播频道中节点消息的模块,用于储存热播频道中节点的剩余上行带宽消息; 选取热播频道中节点模块,服务器依据一定的规则,选取热播频道中的汇报数据信息的节点,向数据提供节点发送。
10.根据权利要求8所述的基于请求转发的P2P流媒体播放节点,其特征在于,所述请求转发模块还包含用于确定请求转发策略中转发数据片和转发时机的子模块,该子模块进一步包含: 切分单元,用于将整个转发周期依据节点剩余能力切分成转发时隙; 效用计算单元,用于在每一个转发时隙内,数据提供节点计算请求转发节点转发每一数据请求所产生的效用; 决策单元,用于依据转发的总效用最大,计算每个请求转发节点适宜转发的数据片,并确定转发数据片的时间; 其中,所述转发周期为数据提供节`点两次收到剩余上行带宽信息之间的时间。
【文档编号】H04N21/24GK103873947SQ201210553088
【公开日】2014年6月18日 申请日期:2012年12月18日 优先权日:2012年12月18日
【发明者】尤佳莉, 李晓林, 王劲林, 郑鹏飞, 宋军, 吕阳, 薛娇 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1