实现定位播放的对等网络内容传输方法及装置转让专利

申请号 : CN200680047041.X

文献号 : CN101351990B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张永敏

申请人 : 张永敏

摘要 :

一种实现定位播放的对等网络内容传输方法包括:将需传输的内容按时序分成多个区域(101);为请求从同一区域开始传输内容的客户端建立一个或多个群(102);源端将请求传输的内容分成多个块并对每个内容块进行标记(104);确定一个群请求的区域的开始内容块;以该内容块为开始传输内容块,连续地将该内容块及其以后的内容分别传输给该群的部分或全部成员(105),控制从源端接收到内容块的成员将内容块再次传输到其所在群的其它成员(106)。本发明使客户端利用P2P技术实现了多播模式中的定位播放功能。

权利要求 :

1.一种实现定位播放的对等网络内容传输方法,其特征在于包括以下步骤:A1、将需传输的内容按时序分成多个区域;

B1、为请求从同一区域开始传输内容的客户端建立一个或多个群;

C1、源端将请求传输的内容分成多个块并对每个内容块进行标记;

D1、确定一个群请求的区域的开始内容块;

E1、以该内容块为开始传输内容块,连续地将该内容块及其以后的内容分别传输给该群的部分或全部成员,并控制从源端接收到内容块的成员将内容块再次传输到其所在群的其它成员。

2.如权利要求1所述的实现定位播放的对等网络内容传输方法,其特征在于:在步骤B1中通过下面步骤之一来判断客户端所请求开始传输内容的区域:B11、以客户端请求传输的当前时间加时间偏移来判定进入的具体区域;

B12、以内容开始时间加时间偏移来判定进入的具体区域;

B13、以绝对时间来判定进入的具体区域;

B14、以客户端所选定的内容的名称或节目的条目来判定进入的具体区域。

3.如权利要求2所述的实现定位播放的对等网络内容传输方法,其特征在于:所述时间偏移通过客户端的进度条来选择。

4.如权利要求3所述的实现定位播放的对等网络内容传输方法,其特征在于:正常情况下,源端以一个固定的平均速率传输内容到一个群。

5.如权利要求1至4中任一项所述的实现定位播放的对等网络内容传输方法,其特征在于还包括以下步骤:任何一群用户在传输完一个区域的内容块后,如果内容没有传输结束,将进入下一区域的内容块传输。

6.如权利要求5所述的实现定位播放的对等网络内容传输方法,其特征在于:区域的时间间隔t和区域的数量n是一个预先设定值。

7.如权利要求6所述的实现定位播放的对等网络内容传输方法,其特征在于:区域的时间间隔t和区域的数量n其中一个或两个的值,随着内容长度的变化,可以变化,也可以不变。

8.如权利要求5所述的实现定位播放的对等网络内容传输方法,其特征在于包括以下步骤:A2、当一个新用户请求传输从某区域开始的内容时,检测该区域是否存在合适的传输群,如果没有合适的传输群,则执行步骤B2,如果有已存在的合适的传输群,则执行步骤C2;

B2、创建所述区域新的传输群并将新用户加入;

C2、将该新用户加入已存在的该区域传输群。

9.如权利要求5所述的实现定位播放的对等网络内容传输方法,其特征在于包括以下步骤:A2′、在每个区域中设定一界限值;

B2′、当一个新用户请求传输从某区域开始的内容时,检测该区域是否存在合适的传输群,如果没有合适的传输群,则执行步骤E2′,否则检测已经存在的传输群从该区域开始已经传输的进度是否大于界限值,如果大于或等于界限值,则执行步骤D2′,如果小于界限值,则执行步骤C2′;

C2′、将该新用户加入正在传输该区域开始的内容的群;

D2′、将该新用户加入正在传输上一区域开始的内容的群;

E2′、创建所述区域新的传输群并将新用户加入。

10.如权利要求1所述的实现定位播放的对等网络内容传输方法,其特征在于:为每个群建立记录群内各客户端属性的控制数据集,控制数据集包括各客户端相互通信用的必要数据、客户端的传输状态、群属情况和反映控制数据集变化的标记。

11.如权利要求10所述的实现定位播放的对等网络内容传输方法,其特征在于:还包括控制数据集维持步骤:A3、服务器监控参与内容传输的客户端的连接、断开请求和通信状态,变化反映在控制数据集,对变更后的控制数据集进行标记;

B3、通过以下步骤将更新后的控制数据集传输到各客户端:

B31、依赖于已有的控制数据集,服务器将控制数据集的变化部分或控制数据集变形的变化部分分块,将块分别传输给群的部分或全部成员;所述成员将从服务器接收到的块再次传输给群的其它成员。

B32、如果成员没有以往控制数据集时,由服务器传输整体的相关控制数据集或相关控制数据集的变形给该成员。

12.如权利要求1所述的实现定位播放的对等网络内容传输方法,其特征在于:支持P2P定位播放的内容播放服务器,在播放内容时,如果所播放的内容没有副本,则保存所播放的内容。

13.一种实现定位播放的对等网络内容传输装置,其特征在于包括:用户接入模块,用于监控客户端的登录和连接状况;

区域划分模块,用于将需传输的内容按时序分成多个区域;

群生成模块,用于为请求从同一区域开始传输内容的客户端建立一个或多个群;

内容分块模块,用于将传输的内容划分成多个内容块并对每个内容块进行标记;

判断模块,用于确定一个群请求的区域的开始内容块,确定出开始传输内容块;

P2P传输模块,用于从开始传输内容块开始,连续地将该内容块及其以后的内容分别传输给对应群的部分或全部成员,控制群内接收到内容块的成员将该内容块再次传送到其所在群的其它需要该内容块的成员。

14.如权利要求13所述的实现定位播放的对等网络内容传输装置,其特征在于:还包括区域判定模块,所述区域判定模块根据客户端请求传输的当前时间加时间偏移或以内容开始时间加时间偏移或客户端所选定的内容的名称或节目的条目来判定用于请求开始传输的具体区域。

15.如权利要求14所述的实现定位播放的对等网络内容传输装置,其特征在于:所述群生成模块包括建立相关群单元和加入相关群单元,所述建立相关群单元根据区域判定模块的判定结果,在该区域没有传输群时,新建一个传输群并将发出新的请求传输的客户端加入到新建的传输群;所述加入相关群单元根据区域判定模块的判定结果,在该区域有传输群时,将发出新的请求传输的客户端加入到适合的传输群。

16.如权利要求15所述的实现定位播放的对等网络内容传输装置,其特征在于:还包括控制数据集建立及维持模块和控制数据集传输模块,所述控制数据集建立及维持模块为每个群建立记录群内各客户端属性的控制数据集,控制数据集也至少包括各客户端相互通信用的必要数据和反映控制数据集变化的标记;各个控制数据集通过控制数据集传输模块传送到相应的群。

说明书 :

实现定位播放的对等网络内容传输方法及装置

【技术领域】

[0001] 本发明涉及计算机网络,尤其涉及一种在多播方式中实现定位播放的对等网络内容传输方法及装置。【背景技术】
[0002] 在流媒体播放中,经常用到定位播放,即媒体播放器从特定点开始播放项目(例如:播放文件,然后将“定位”滑块移动到想要的文件开始播放点)。
[0003] 在单播中,因为每一个接收者都有一个对应的接受流,所以能很好支持定位播放。然而,在多播中,由于每个接收者的播放点都有可能不一样,实施流媒体定位播放会变得非常困难,所以传统的多播(广播)不支持定位播放,一般只在点播方式实现了定位播放。
[0004] 另一个问题是,回看过往的内容是广泛需要的,例如,人们想看1小时前的新闻,或30分钟前的体育节目。现有的作法是,将直播的内容转化存储为点播内容以供用户使用。这种方法往往在时间上滞后,并且使用烦琐。一种改进的方法是时移电视,即在实时电视播放的同时,对内容进行保存,用户可通过菜单方式对实时电视节目进行点播,或按照需要点播相应的节目。但这种改进并不能应用于多播(广播)的P2P传输环境。【发明内容】
[0005] 本发明的主要目的就是为了解决现有技术的问题,提供一种实现定位播放的对等网络内容传输方法及装置,利用P2P技术在多播(广播)中能支持流媒体定位播放。
[0006] 为实现上述目的,本发明公开了一种实现定位播放的对等网络内容传输方法,所采用的技术方案是:对用户请求的播放点划分多个区域,以区域为单位组成相对独立的P2P组播流。
[0007] 本发明解决其技术问题所采用的步骤如下:
[0008] A1、将需传输的内容按时序分成多个区域;
[0009] B1、为请求从同一区域开始传输内容的客户端建立一个或多个群;
[0010] C1、源端将请求传输的内容分成多个块并对每个内容块进行标记;
[0011] D1、确定一个群请求的区域的开始内容块;
[0012] E1、以该内容块为开始传输内容块,连续地将该内容块及其以后的内容分别传输给该群的部分或全部成员,并控制从源端接收到内容块的成员将内容块再次传输到其所在群的其它成员。
[0013] 在步骤B1中通过下面步骤之一来判断客户端所请求开始传输内容的区域:
[0014] B11、以客户端请求传输的当前时间加时间偏移来判定进入的具体区域;
[0015] B12、以内容开始时间加时间偏移来判定进入的具体区域;
[0016] B13、以绝对时间来判定进入的具体区域;
[0017] B14、以客户端所选定的内容的名称或节目的条目来判定进入的具体区域。
[0018] 所述时间偏移通过客户端用户输入,一个有益的输入选择是,通过进度条来选择。
[0019] 用户登录时带有内容相关位置,相关位置是用户选择的,选择的方式可以是例如以上的多种方式。
[0020] 正常情况下,源端以一个固定的平均速率传输内容到一个群。
[0021] 并且还包括以下步骤:任何一群用户在传输完一个区域的内容块后,如果内容没有传输结束,将进入下一区域的内容块传输。
[0022] 区域的时间间隔t和区域的数量n是一个预先设定值。
[0023] 本发明的进一步改进是:区域的时间间隔t和区域的数量n其中一个或两个的值,随着内容长度的变化,可以变化,也可以不变。
[0024] 本发明的更进一步改进是:当新用户加入时,可以通过以下步骤加入传输群:
[0025] A2、当一个新用户请求传输从某区域开始的内容时,检测该区域是否存在传输群,如果没有传输群,则执行步骤B2,如果有已存在的传输群,则执行步骤C2;
[0026] B2、创建所述区域新的传输群并将新用户加入;
[0027] C2、将该新用户加入已存在的该区域传输群。
[0028] 还可以通过以下步骤加入传输群:
[0029] A2′、在每个区域中设定一界限值;
[0030] B2′、当一个新用户请求传输从某区域开始的内容时,检测该区域是否存在传输群,如果没有传输群,则执行步骤E2′,否则检测已经存在的传输群从该区域开始已经传输的进度是否大于界限值,如果大于或等于界限值,则执行步骤D2′,如果小于界限值,则执行步骤C2′;
[0031] C2′、将该新用户加入正在传输该区域开始的内容的群;
[0032] D2′、将该新用户加入正在传输上一区域开始的内容的群;
[0033] E2′、创建所述区域新的传输群并将新用户加入。
[0034] 用户进入具体区域后,以区域为单元进行P2P的内容传输,一个P2P传输的实例是:将内容分块,然后将内容块分别传送给多位成员,成员将收到的所述内容块再次传送给其他成员。
[0035] 同一个区域的用户分成一个或多个群,在本文里,群是一组成员或节点。在实现上,为了减少对源端网络带宽需求和提高P2P的效率,并不总是将刚进入的用户建立用户群,而是将用户加入到合适的已存在的群,只在没有所述的群才建立。
[0036] 上述区域的群,是会随着时间的变化而进入到下一区域。同理,因为每个区域的时间可以比较短,为了收到本区域完整的内容,用户请求本区域内容时,可以稍微提前而接入到上一区域。
[0037] 为实现上述目的,本发明还公开了一种实现定位播放的对等网络内容传输装置,包括:用户接入模块,用于监控客户端的登录和连接状况;区域划分模块,用于将需传输的内容按时序分成多个区域;群生成模块,用于为请求从同一区域开始传输内容的客户端建立一个或多个群;内容分块模块,用于将传输的内容划分成多个内容块并对每个内容块进行标记;判断模块,用于确定一个群请求的区域的开始内容块,确定出开始传输内容块;P2P传输模块,用于从开始传输内容块开始,连续地将该内容块及其以后的内容分别传输给对应群的部分或全部成员,控制群内接收到内容块的成员将该内容块再次传送到其所在群的其它需要该内容块的成员。
[0038] 还进一步包括区域判定模块,所述区域判定模块根据客户端请求传输的当前时间加时间偏移或以内容开始时间加时间偏移或客户端所选定的内容的名称或节目的条目来判定用于请求开始传输的具体区域。
[0039] 其中,所述群生成模块包括建立相关群单元和加入相关群单元,所述建立相关群单元根据区域判定模块的判定结果,在该区域没有传输群时,新建一个传输群并将发出新的请求传输的客户端加入到新建的传输群;所述加入相关群单元根据区域判定模块的判定结果,在该区域有传输群时,将发出新的请求传输的客户端加入到适合的传输群。
[0040] 为了实现P2P的定位播放,还需要加上一些其他的模块,一起组成了实现定位播放的对等网络内容传输系统,系统包括主要模块有:区域划分模块,用户接入模块,建立或加入区域P2P传输群单元,信息呈现及“位置”选择模块,P2P传输模块,用户登录模块,内容处理模块。系统是在P2P网络上由两台以上的设备组成,所以,所述模块是在一组设备间分布,单个设备可能只执行了一部分。例如,登录服务器由区域划分模块、用户接入模块和建立或加入区域P2P传输群模块组成;内容服务器由P2P传输模块;通常所说的服务器由登录服务器加内容服务器组成;客户端由P2P传输模块,信息呈现及“位置”选择模块,用户登录模块,内容处理模块组成。
[0041] 为实现上述目的,本发明还公开了一种具有计算机可执行程序的计算机可读介质,所述程序通过计算机执行可完成如下功能:
[0042] 将需传输的内容按时序分成多个区域;
[0043] 为请求从同一区域开始传输内容的客户端建立一个或多个群;
[0044] 源端将请求传输的内容分成多个块并对每个内容块进行标记;
[0045] 确定一个群请求的区域的开始内容块;
[0046] 以该内容块为开始传输内容块,连续地将该内容块及其以后的内容分别传输给该群的部分或全部成员,控制从源端接收到内容块的成员将内容块再次传输到其所在群的其它成员。
[0047] 为实现上述目的,本发明还公开了一种用于服务器计算机的可执行程序,所述程序通过计算机执行可完成如下功能:
[0048] 将需传输的内容按时序分成多个区域;
[0049] 为请求从同一区域开始传输内容的客户端建立一个或多个群;
[0050] 源端将请求传输的内容分成多个块并对每个内容块进行标记;
[0051] 确定一个群请求的区域的开始内容块;
[0052] 以该内容块为开始传输内容块,连续地将该内容块及其以后的内容分别传输给该群的部分或全部成员,控制从源端接收到内容块的成员将内容块再次传输到其所在群的其它成员。
[0053] 本发明的有益效果是:本发明通过将需传输内容按时序分成多个(例如Z个)区域,并且将请求从同一区域开始传输内容的客户端分为同请求区域的一个或多个群,将从该区域开始的相同的内容传输给同请求区域的群,群内的成员之间再交换内容块,从而使客户端利用P2P技术实现了多播模式中的点播功能。
[0054] 本发明的特征及优点将通过实施例结合附图进行详细说明。【附图说明】
[0055] 图1是本发明一种实施例的结构方框图;
[0056] 图2是本发明一种实施例的流程图;
[0057] 图3是本发明一种实施例的新用户登录的流程图;
[0058] 图4是本发明另一种实施例中新用户加入群的流程图;
[0059] 图5是本发明客户端显示的进度条;
[0060] 图6是本发明将内容进行备份并传输的示意图。【具体实施方式】
[0061] 具体实施例一、如图1所示为本发明的服务器和客户端传输的结构图,在服务器端,区域划分模块将需要传输的内容按照时序分成多个区域,内容分块模块将需要传输的内容分成多个内容块,客户端通过用户登录模块登录服务器,服务器端的用户接入模块检测客户端的连接状态,例如客户端的登录、断开以及连接质量,当检测到有用户登录时,通过区域判定模块,根据用户接入模块检测到的客户端的状况,判定客户端请求开始传输的具体区域;群生成模块根据区域判定模块的判定结果,将请求从同一区域开始传输内容的客户端建立一个或多个群;每个群中至少包括一个客户端,也就是至少有一个成员或成员节点;群生成模块包括建立相关群单元和加入相关群单元,在该区域没有存在传输群的情况下,建立相关群单元创建一个新的传输群,并将该客户端加入新建的群,如果该区域存在合适的传输群,则通过加入相关群单元将该客户端加入到该区域的适合的传输群,判断模块根据区域判定模块所确定的客户端请求开始传输的区域和该区域对应的内容块,确定出一个群请求的区域的开始内容块,从而确定出开始传输内容块;通过P2P传输模块将所需要传输的内容块传输给客户端,客户端通过其上的P2P传输模块接收内容块,再由内容处理模块对内容进行相应的处理。
[0062] 还可以进一步包括控制数据集建立及维持模块,为每个群建立记录群内各客户端属性的控制数据集,控制数据集至少包括各客户端相互通信用的必要数据,也可以进一步包括客户端的传输状态、群属情况和反映控制数据集变化的标记。控制数据集是指一组客户端相关信息组成的表,包括各客户端有关通讯及状态数据,还可以带有控制策略的数据;控制数据集通过控制数据集传输模块传输给客户端,传输方法可以是通过内容分块模块将控制数据集分成多个块,再通过控制数据集传输模块传送到客户端;每个群内的客户端拥有共同的控制数据集,即该群的控制数据集;根据用户接入模块的检测信息,当群内成员有变化时(即客户端登录或断开)反映到控制数据集,此时控制数据集建立及维持模块实时更新控制数据集,并将更新后的控制数据集传输到客户端。
[0063] 内容分块模块将源端需要传输的内容划分成多个内容块并对每个内容块进行标记;例如为每个块加上块号标记,内容块通过传输模块传输时,加上有关信息打包传输,以使客户端接收到内容块后可根据块号将内容块再组合成原来内容,也可根据块号检测出所缺少的内容块。内容可以为音/视频数据、计算机文件、各种即时消息或网络上的UDP数据包。P2P传输模块将各请求区域的群所请求传输的内容块分别传输给该请求区域的一个或多个群的部分或全部成员并控制群内接收到该内容块的成员根据该群的控制数据集将内容块再次传送到其所在群的其它需要该内容块的成员。
[0064] 可以通过以下方法将需传输的内容按时序分区域:
[0065] 1、当内容已存在,内容的大小一定时,可以设定区域的时间间隔t和区域的数量n为预先设定的值。
[0066] 2、当内容为直播内容时,内容的大小随时间而变,可以设定区域的时间间隔t为固定值,区域的数量n根据内容的大小变化而变化;或设定区域的数量n为固定值,区域的时间间隔t根据内容的大小变化而变化。
[0067] 3、将内容根据片段的名称或节目的条目按照播放时间的先后顺序分区域,区域的时间间隔t和区域的数量n都为变化的值。
[0068] 根据区域的划分方法,可以通过下面步骤之一来判断客户端所请求开始传输内容的区域:
[0069] 1、以客户端请求传输的当前时间加时间偏移来判定进入的具体区域。时间偏移是向前的,即从以前某时间开始播放节目,对于一些直播节目来说,开始时间不是非常确定或者意义不大,更现实的做法是,往前移动多少时间;例如客户端请求传输时的时间是T1,用户想传输从20分钟之前直到结束的内容,则将如果每个区域的时间间隔t为5分钟,在客户端显示的进度条的一格时间为5分钟,则用户需要在进度条上从登录的点选择向前四格。
[0070] 2、以内容开始时间加时间偏移来判定进入的具体区域。这对于固定的节目(如VOD-按需点播)是常用的方法。例如客户端请求传输从内容开始后10分钟直到结束的内容,则将如果每个区域的时间间隔t为5分钟,在客户端显示的进度条的一个格的时间为5分钟,则用户需要选择第三格。
[0071] 3、以绝对时间来判定进入的具体区域;如在8:00时刻,想看某频道7:30开始的节目。
[0072] 4、以客户端所选定的内容的名称或节目的条目来判定进入的具体区域。将内容分成多个区域,有选择地将某些区域开始播放的内容成为节目项,用户根据呈现的节目项来选择便可以进入相应的区域;在客户端显示的进度条的一个格为内容的一个章节或条目,用户根据想传输的章节和条目来选择相应的格。
[0073] 在第四种方式中,可以将每一个节目项安排到一个区域内,这样安排会使得每个区域的时间长度不一样;也可以将每个区域时间长度设定为一相等值,使节目项分配到一个或多个区域里。
[0074] 用户可以通过输入时间偏移来进入的具体区域,更进一步地,是通过进度条来选择时间偏移的。对应于内容的n个区域,进度条分成n格,对于固定的节目,n格都可以点击进入相应的区域。而直播,只能点击已播放过的区域,所以,在某些情况可以理解为,随着内容的增长,区域数n可以增大。
[0075] 进度条同样可以应用于第四种方式,每格对应于一个区域。只有每个区域时间长度设定为一相等值时,进度条才与时间的均速进度相关。
[0076] 通过用户所选择的进度条的格,判断客户端请求开始传输的区域,如果客户端请求开始传输的区域相同,则将这些客户端划分成一个或多个群,这些群属于同请求区域的群,成为该区域的传输群。
[0077] 其流程图如图2所示,包括以下步骤:
[0078] 在步骤101,将需传输的内容按时序分成多个区域,然后执行步骤102;
[0079] 在步骤102,为请求从同一区域开始传输内容的客户端建立一个或多个群,然后执行步骤103;
[0080] 在步骤103,为每个群建立记录群内各客户端属性的控制数据集,控制数据集至少包括各客户端相互通信用的必要数据,也可以进一步包括传输状态、群属情况和反映控制数据集变化的标记,然后执行步骤104;
[0081] 在步骤104,源端将请求传输的内容分成多个块并对每个内容块进行标记,然后执行步骤105;
[0082] 在步骤105,将各请求区域的群所请求传输的内容块分别传输给该请求区域的一个或多个群的部分或全部成员,然后执行步骤106;
[0083] 在步骤106,控制从源端接收到内容块的成员根据控制数据集将内容块再次传输到其所在群的其它成员。
[0084] 上述步骤104,即将内容分块的步骤还可以设计在步骤101、步骤102或步骤103之前,只要在传输之前将内容分块即可。
[0085] 当有新的客户端登录时,服务器执行以下步骤,如图3所示:
[0086] 在步骤201,检测到有新的客户端成功登录,然后执行步骤202;
[0087] 在步骤202,区域判定模块根据客户端用户选择的进度条,判断客户端进入的区域,即客户端请求开始传输的区域,然后执行步骤203;
[0088] 在步骤203,确认该区域是否已存在P2P传输群,如果有则执行步骤204,如果没有则执行步骤205;
[0089] 在步骤204,将新登录的客户端加入到该区域的P2P传输群,然后执行步骤206;
[0090] 在步骤205,建立以该区域传输始端的P2P传输群,并将该客户端加入新建的群,然后执行步骤206;
[0091] 在步骤206,对于P2P传输群的情况下,更新该群的控制数据集,对于新建的P2P传输群,则为其建立控制数据集,然后执行步骤207;
[0092] 在步骤207,确定出从该区域开始直到最后一个区域的区间所对应的内容块,然后执行步骤208;
[0093] 在步骤208,利用P2P传输,将步骤207确定出的内容块基本有序的传输给群内的部分或全部的客户端。正常情况下,源端以一个固定的平均速率传输内容。
[0094] 具体实施例二、在新客户端登录后,该客户端所请求传输的区域的传输群可能已经传输的一段时间的内容,甚至于即将该区域所对应的内容块传输完毕,所以本实施例在实施例一的基础上做出以下改进:
[0095] 不断检测各区域的传输群所传输的状况,当任何一群用户在传输完一个区域的内容块后,如果内容没有传输结束,将进入下一区域的内容块传输。假设第N区域的传输群Q在传输完第N区域所对应的内容块后,如果还需要继续传输,则传输群Q进入第N+1区域,继续传输第N+1区域所对应的内容块。
[0096] 对于新登录客户端所加入的区域做出改进。由于有时该客户端所请求传输的区域的传输群可能已经传输了一部分该区域所对应的内容块,如果将新登录客户端加入该区域的传输群,则新登录客户端得不到该区域开头部分的内容块,造成内容缺少,所以本实施例还设定一界限值,具体包括以下步骤,其流程如图4所示:
[0097] 在步骤301,检测到有新的客户端成功登录,然后执行步骤302;
[0098] 在步骤302,区域判定模块根据客户端用户选择的进度条,判断客户端进入的区域,即客户端请求开始传输的区域,然后执行步骤303;
[0099] 在步骤303,确认该区域是否已存在P2P传输群,如果有则执行步骤306,如果没有则执行步骤304;
[0100] 在步骤304,建立以该区域传输始端的P2P传输群并将该客户端加入新建的群;
[0101] 在步骤305,为每个区域设定一界限值,当有新客户端加入该区域时,执行步骤306;
[0102] 在步骤306,检测该区域已有的P2P传输群所传输的进度,然后执行步骤307;
[0103] 在步骤307,判断该区域已有的P2P传输群所传输的进度是否大于或等于界线值,如果是则执行步骤309,如果小于界线值则执行步骤308;
[0104] 在步骤308,将新登录的客户端加入到该区域已有的P2P传输群;
[0105] 在步骤309,将新登录的客户端加入到上一区域已有的P2P传输群,以使用户可以多接收到一些内容,避免了内容的缺少。
[0106] 图5是进度条的示意图,402是开始端,406是正在播放位置,404是已播放区域,居于开始端和正在播放位置之间,410是结束点,406是未播放区域,居于正在播放位置和结束点之间。对于固定的节目(如VOD-按需点播),任何区域都可以选择,而某些节目(如直播),只能选择已播放区域。
[0107] 支持P2P定位播放的内容播放服务器,在播放内容时,如果所播放的内容没有副本,则保存所播放的内容,以成为内容的备份,供对该时间区域的请求使用。这对一些直播节目非常有用,把已播放的内容备份,则可以对以前的时间区域进行定位播放。在图6里,有一个内容流管理,把已播放的内容备份,形成一些时间区域,则可以对以前的时间区域进行定位播放。例如将内容流通过内容管理模块,存储为内容-1、内容-2…内容-N,区域流是指从某区域开始,内容连续传输到一个或多个群,随着内容的增加,扩展为区域-1、区域-2…区域-N,用户可根据需要从合适的区域接入,请求传输从该区域开始的内容。
[0108] 上述模块或流程可以编制成程序,该程序可被安装在计算机中,包括服务器计算机。
[0109] 上述模块或流程编制成的程序可以被存储在外部可读性存储介质中,这种存储介质可以是软盘、CD-ROM、硬盘、磁带记录介质、工C卡的半导体存储器或其它的光学记录介质(例如DVD或PD)或磁记录介质。提供网络连接的服务器系统也可以被用作记录程序的可读介质。介质还包括电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)。