CN101588287B - 对等网络数据调度和下载的方法、装置和系统 - Google Patents
对等网络数据调度和下载的方法、装置和系统 Download PDFInfo
- Publication number
- CN101588287B CN101588287B CN2008100673788A CN200810067378A CN101588287B CN 101588287 B CN101588287 B CN 101588287B CN 2008100673788 A CN2008100673788 A CN 2008100673788A CN 200810067378 A CN200810067378 A CN 200810067378A CN 101588287 B CN101588287 B CN 101588287B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- bandwidth
- data fragments
- unit
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 239000012634 fragment Substances 0.000 claims abstract description 332
- 230000004044 response Effects 0.000 claims description 45
- 230000000737 periodic effect Effects 0.000 claims 4
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000002411 adverse Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及对等网络领域,提供了对等网络数据调度下载的方法、装置和系统。本发明实施例通过获取能够提供所需N个数据分片的节点的可用带宽信息;根据一个数据分片的大小和N个数据分片对应的调度步长,由节点的可用带宽信息,确定节点在一个调度步长内能够提供的数据分片的数量,并建立节点与所述N个数据分片中的所述数量个数据分片的对应关系;建立所述N个数据分片与节点的对应关系;其中,所述N个数据分片与节点的对应关系用于,使需要所述N个数据分片的节点从不同节点获取该节点对应的数据分片。能够减少节点间的数据调度次数,并降低时延,从而提高了对等网络的服务质量。
Description
技术领域
本发明涉及P2P(Peer To Peer,对等网络)领域,尤其是对等网络数据调度和下载的方法、装置,以及对等网络系统。
背景技术
近年来,P2P流媒体直播/点播系统的研究成为P2P领域的热点。P2P网络中的节点存在异构性、异步性和动态性。所谓异构性,指节点的硬件配置、软件配置、物理网络连接状况等都不尽相同;异步性,指节点加入和退出对等网络的时机、策略不相同;动态性,指节点能力是动态变化的。由于P2P网络中的节点存在上述特性,而流媒体服务又具有实时性、大规模等特性,因此,如何构建和维护一个高效的、具备良好可扩展性的P2P流媒体分发拓扑,成了决定P2P流媒体直播/点播系统性能优劣的决定性因素之一。
目前流行的P2P流媒体系统从拓扑结构上划分主要有三种:即基于树形结构的(Tree-based)、基于网状结构的(Mesh-based)及基于混合结构的(Hybrid)。其中网状结构由于其能够屏蔽因为网络异构性带来的不利影响等优点受到众多P2P流媒体系统方案设计者和研究者的青睐。而基于网状结构P2P流媒体系统的关键技术之一就是节点间的流媒体数据调度策略。
大多数基于网状结构的系统都基于Gossip协议,例如CoolStreaming系统。Gossip协议采用问询数据调度方式,能够屏蔽因为网络异构性带来的不利影响。但Gossip协议针对每个数据分片都要向周围的各节点查询一次并发送一次下载请求,当节点规模逐步扩大时,这种问询数据调度方式将导致延迟增加,服务质量急剧下降。
发明内容
本发明实施例一方面提供了一种对等网络数据调度的方法和装置,另一方面提供了对等网络数据下载的方法和节点,还提供了一种对等网络系统能够减少节点间的数据调度次数,并降低时延,从而提高了对等网络的服务质量。
本发明实施例提供的一种对等网络数据调度的方法,包括:
获取能够提供所需N个数据分片的节点的可用带宽信息,N为自然数;
根据一个数据分片的大小和N个数据分片对应的调度步长,由节点的可用带宽信息,确定节点在一个调度步长内能够提供的数据分片的数量,并建立节点与所述N个数据分片中的所述数量个数据分片的对应关系;
建立所述N个数据分片与节点的对应关系;其中,所述N个数据分片与节点的对应关系用于,使需要所述N个数据分片的节点从不同节点获取该节点对应的数据分片。
本发明实施例提供的一种对等网络数据调度的装置,包括:
信息获取单元,用于获取能够提供所需N个数据分片的节点的可用带宽信息,N为自然数;
数量确定单元,用于根据一个数据分片的大小和N个数据分片对应的调度步长,由所述信息获取单元获取的一节点的可用带宽信息,确定该节点在一个调度步长内能够提供的数据分片的数量;
对应单元,用于根据所述数量确定单元确定的节点在一个调度步长内能够提供的数据分片的数量,建立该节点与所述N个数据分片中的所述数量个数据分片的对应关系,从而建立全部N个数据分片与节点的对应关系,其中,全部N个数据分片与提供节点的对应关系,用于使需要所述N个数据分片的节点从不同提供节点获取该提供节点对应的数据分片。
本发明实施例提供的一种对等网络数据下载的方法,包括:
根据建立的N个数据分片与节点的对应关系,向建立了对应关系的节点发送数据请求,分别请求各节点对应的数据分片;其中,所述对应关系为,在所述N个数据分片对应的调度步长内,所述建立了对应关系的节点中的每一个分别需提供的数据分片;
接收所述建立了对应关系的节点发送回的数据分片。
本发明实施例提供的一种对等网络的节点,包括:
信息获取单元,用于获取能够提供所需N个数据分片的节点的可用带宽信息,N为自然数;
数量确定单元,用于根据一个数据分片的大小和N个数据分片对应的调度步长,由所述信息获取单元获取的一节点的可用带宽信息,确定该节点在一个调度步长内能够提供的数据分片的数量;
对应单元,用于根据所述数量确定单元确定的节点在一个调度步长内能够提供的数据分片的数量,建立该节点与所述N个数据分片中的所述数量个数据分片的对应关系,从而建立全部N个数据分片与节点的对应关系;
数据获取单元,用于根据所述对应单元建立的所述N个数据分片与节点的对应关系,向建立了对应关系的节点发送数据请求,从不同节点获取该节点对应的数据分片。
本发明实施例提供的另一种对等网络的节点,包括:
接收单元,用于接收请求方根据对应关系发送的数据请求;
对应确定单元,用于根据设定的一个数据分片的大小和N个数据分片对应的调度步长,由所述接收单元接收的数据请求确定节点自身与M个数据分片的对应关系,N、M为自然数,且M小于或等于N;
数据发送单元,根据所述对应确定单元确定的对应关系,向请求方发送所述M个数据分片。
本发明实施例提供的一种对等网络,包括:数据调度装置、第一节点和多个第二节点;
数据调度装置,用于获取能够提供第一节点所需N个数据分片的第二节点的可用带宽信息,N为自然数;根据一个数据分片的大小和N个数据分片对应的调度步长,由获取的一第二节点的可用带宽信息,确定该第二节点在一个调度步长内能够提供的数据分片的数量,建立该第二节点与所述N个数据分片中的所述数量个数据分片的对应关系,从而建立N个数据分片与多个第二节点的对应关系;
第一节点,用于当建立了所述N个数据分片与多个第二节点的对应关系时,根据所述N个数据分片与多个第二节点的对应关系,向建立了对应关系的第二节点发送数据请求,从不同第二节点获取各第二节点对应的数据分片;
第二节点,用于接收第一节点根据对应关系发送的数据请求;根据设定的一个数据分片的大小和N个数据分片对应的调度步长,由所述数据请求确定第二节点自身与M个数据分片的对应关系,N、M为自然数,且M小于或等于N;根据所述对应关系,向第一节点发送所述M个数据分片。
由以上技术方案可知,本发明实施例中,以调度步长为调度单位,每次对多个数据分片进行调度,利用调度产生的多个数据分片与节点的对应关系进行下载,能够减少节点间的数据调度次数,并降低时延,从而提高了对等网络的服务质量。
附图说明
图1a为本发明实施例一的对等网络系统组成图;
图1ba为本发明实施例二的对等网络系统组成图;
图2为本发明对等网络数据调度的方法实施例的流程图;
图3为本发明对等网络带宽预留协商的方法实施例的流程图;
图4为本发明对等网络数据协商调度的方法实施例的系统结构图;
图5为本发明对等网络数据协商调度的方法实施例一种标识示意图;
图6为本发明对等网络数据协商调度的方法实施例另一种标识示意图。
图7为本发明对等网络数据调度的装置实施例的结构图;
图8为本发明对等网络的提供节点实施例的结构图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步地详细说明。
实施例一
如图1a所示,本实施例提供了一种对等网络系统,所述对等网络系统包括:数据调度装置13,和至少三个网络节点,所述至少三个网络节点中至少有两个网络节点保存有N个数据分片中的部分或全部。所述数据分片可以为对流媒体数据按播放时间顺序经过分割和封装的流媒体数据分片。
数据调度装置13,用于接收网络节点发送的调度请求,将所述发送所述调度请求的网络节点称为下载节点14,所述调度请求中携带有所述网络节点需要的N个数据分片的标识;获取能够提供所述N个数据分片的网络节点,可以将所述能够提供所述N个数据分片的网络节点称为提供节点,并获得所述提供节点的可用带宽信息,N为自然数;所述数据调度装置13,根据数据分片的大小,以及提供节点的可用带宽信息,确定所述提供节点分别在单位调度步长内能够提供的数据分片的数量,并根据所述提供节点所对应的数量,确定所述提供节点分别需提供的数据片,可以将所述确定的提供节点分别需提供的数据片的信息称为调度信息。其中,所述提供节点可以是媒体服务器11或提供客户端15。
下载节点14,用于向数据调度装置13发送调度请求,并获得所述数据调度装置13确定的调度信息;根据所述调度信息,从所述提供节点获得对应的数据分片;进一步地,下载节点14可以在获得数据分片后,播放或保存所述数据分片。
上述提供节点,用于根据所述调度信息中的部分或全部向下载节点提供数据片。
所述对等网络系统还进一步包括tracker服务器12,用于保存网络节点的地址信息和可用带宽信息。
上述提供客户端15,还进一步用于向所述tracker服务器12发送带宽更新请求,所述带宽更新请求中包括提供客户端15自身的实际带宽值。所述tracker服务器12,进一步用于接收客户端节点(下载节点14或提供客户端15)发送的带宽更新请求;根据所述接收的带宽更新请求中的节点的实际带宽值更新所述保存的可用带宽信息。
所述媒体服务器21,用于对流媒体数据按播放时间顺序进行分割并封装为数据分片,以及向网络节点中的客户端节点提供数据分片。所述下载节点可以为任意客户端节点;进一步地,所述tracker服务器12和所述媒体服务器11可以是一个物理实体或者不同的物理实体。
本发明实施例中,以调度步长为调度单位,每次对多个数据分片进行调度,利用调度产生的多个数据分片与节点的对应关系进行下载,能够减少节点间的数据调度次数,并降低时延,从而提高了对等网络的服务质量。
实施例二
如图1b所示,本实施例提供了一种对等网络系统,所述对等网络系统包括:媒体服务器21、tracker服务器22,和下载数据分片的客户端节点(简称调度下载节点23)、提供数据分片给调度下载节点23的客户端节点(简称提供客户端24);其中一个调度下载节点23可以同时从多个提供客户端24和/或媒体服务器21上下载数据。所述媒体服务器21和提供客户端24统称为提供节点。
tracker服务器22,用于保存网络中各客户端节点(包括调度下载节点23和提供客户端24)的地址信息和可用带宽信息。媒体服务器21,用于对流媒体数据按播放时间顺序进行分割并封装为数据分片,向客户端节点提供数据分片。所述tracker服务器22和所述媒体服务器21可以是一个物理实体或者不同的物理实体,当两者是不同物理实体是,tracker服务器22可以保存媒体服务器21的地址信息和可用带宽信息。
调度下载节点23,用于获取能够提供调度下载节点23所需N个数据分片的提供节点的可用带宽信息,N为自然数;根据设定的一个数据分片的大小和N个数据分片对应的调度步长,由获取的提供节点的可用带宽信息,确定提供节点在一个调度步长内能够提供的数据分片的数量M,建立多个提供节点与所述N个数据分片的对应关系;当所述N个数据分片都建立了与提供节点的对应关系,则根据所述多个提供节点与N个数据分片的对应关系,向所述多个提供节点发送数据请求,从不同提供节点获取该提供节点对应的数据分片;在接收到提供节点发送的数据分片后,还可以保存或播放这些下载的数据分片。
当网络中包括了上述调度下载节点23,则上述提供节点,用于接收调度下载节点23根据对应关系发送的数据请求;根据设定的一个数据分片的大小和N个数据分片对应的调度步长,由所述数据请求确定提供节点自身与M个数据分片的对应关系,N、M为自然数,且M小于或等于N;根据所述对应关系,向调度下载节点23发送所述M个数据分片。这里,提供节点可以是网络中提供客户端24或媒体服务器21。
上述提供节点,还进一步用于向所述tracker服务器22发送带宽更新请求,所述带宽更新请求中包括提供节点自身的实际带宽值。所述tracker服务器22,用于保存提供节点的地址信息和对应的可用带宽信息;接收所述提供节点发送的带宽更新请求;根据所述接收的带宽更新请求中的节点的实际带宽值更新所述保存的可用带宽信息。
在实施例一和实施例二中,数据分片的大小,可由流媒体文件的具体编码格式及网络环境来定,以使数据分片的大小最适合当前网络环境下传输,即当网络环境比较好的条件下,丢包率较低,每次发送的数据分片大小可以设置得大一些,同时数据分片也可以考虑具体的媒体文件格式。当然,数据分片的大小也可以采用默认的经验值,对不同的媒体数据都分割成相同大小的数据分片。数据分片的大小也可以根据调度步长来确定,所述调度步长以时间为单位,表示的是数据播放的时间单位,可以用T表示,一个调度步长内可以播放1个或多个数据分片。例如,以N个segment的播放时间为一个调度步长,其中N为自然数,而且每个segment可以播放的时间为t秒,那么调度步长可以表示为包含N个segment,包括t*N秒的内容,这样,当媒体数据为平均码率为R的流媒体时,每个segment的平均大小S为S=R*t;或者,将媒体数据分成多个数据块(Data Block),以每个数据块为调度步长,然后进一步对每一个数据块进行分割,分割成数据分片。其中,除最后一个数据块外,其他的数据块可以具有相同的大小,并且采取相同的分割方式,分别将每个数据块分割成N个数据片,这样,当媒体数据为平均码率为R的流媒体时,每个segment的平均大小S为S=(R*T)/N。
媒体服务器将媒体数据进行分割,媒体数据可以是音频数据或者视频数据。媒体服务器将媒体数据分成数据分片或分成数据分片和数据块,所述每个数据块包括N个数据分片,此处取N=10。用不同的标识标定各个数据分片:所有数据分片顺序编号,每个数据分片由编号唯一标识;或,所有数据分片划分为不同的数据块,每N个相邻的数据分片作为一个数据块,所有数据块顺序编号,每个数据块中的N个数据分片顺序编号,不同数据块中的数据分片具有相同的数据分片编号,每个数据分片由数据块编号和数据分片编号唯一标识。具体来说,假如将一个媒体文件分为30个数据分片,可以用编号1至30顺序标识这30个数据分片,每个数据分片由编号1至30中的一个唯一标识,如图5所示;或,进一步将每10个相邻的数据分片作为一个数据块,将30个数据分片分为3个数据块,用编号a、b、c顺序标识这3个数据块,每个数据块包括10个数据分片,分别由编号1至10顺序标识,每个数据分片由数据块编号和数据分片编号一起组成的标识唯一标定,如图6所示。
本发明实施例中,以调度步长为调度单位,每次对多个数据分片进行调度,利用调度产生的多个数据分片与节点的对应关系进行下载,能够减少节点间的数据调度次数,并降低时延,从而提高了对等网络的服务质量。
实施例三
如图2所示,本实施例提供了一种对等网络数据调度的方法,包括以下步骤201至步骤205:
步骤201:获得能够提供所需N个数据分片的至少一个网络节点的地址信息和对应的可用带宽信息,N为自然数,将所述能够提供所需N个数据分片的至少一个网络节点称为提供节点,提供节点可以包括媒体服务器和客户端节点。
本步骤中,下载节点可以通过从tracker服务器请求初始伙伴节点列表(PeerList),获取提供节点的地址信息和对应的可用带宽信息;当其他客户端节点中保存有伙伴节点列表时,下载节点也可以向其他客户端节点请求其他客户端节点的伙伴节点列表。其中伙伴节点列表中,包括伙伴节点的地址信息和其对应的可用带宽信息。当下载节点获取伙伴节点列表后可以根据列表与列表中的各节点建立联系,并将能够建立联系的节点作为下载节点自身的伙伴节点,这些下载节点自身的伙伴节点能够向下载节点提供数据。
步骤202:根据数据分片的大小,以及提供节点的可用带宽信息,确定所述提供节点分别在单位调度步长内能够提供的数据分片的数量,可以将所述提供节点分别在单位调度步长内能够提供的数据分片的数量称为调度数量,并根据所述提供节点所对应的调度数量,确定所述提供节点分别需提供的数据片,可以将所述确定的提供节点分别需提供的数据片的信息称为调度信息。
本步骤中,假设提供节点Pi(Pi∈PeerList)的可用带宽为BWi,每个segment的平均大小为S,则提供节点Pi在调度步长T内,能够提供的数据分片的数量为ni,且其中,数据分片的平均大小S和调度步长T,可以是对等网络中的服务器和客户端节点约定好的固定的值;或者,也可以是服务器根据媒体数据和网络环境重新设定的值,此时客户端可以从媒体服务器下载S和T。
在确定提供节点相应提供的调度数量中具体为哪些数据片时,可以随机分配,也可以按照不同节点调度数量值的大小排序,按从大到小或者从小到大地顺序分配数据片。
进一步地,为了防止提供节点在提供数据时出现故障,无法按时提供,可以将N个数据片进行重复分配,这样,就有多个提供节点提供同一个数据片,一旦其中一个提供节点发生故障,因为还有其他提供节点提供该数据片,从而可以确保该数据片能够按时获得。
所述调度信息可以为提供节点与该提供节点所提供的数据片的对应关系,具体地,可以表示为提供节点标识与至少一个数据片标识地对应关系,或者提供节点地址信息与至少一个数据片标识地对应关系。
步骤203:建立N个数据分片与多个提供节点的对应关系,每个提供节点对应一个调度信息;
其中,当步骤203中建立提供节点与N个数据分片的对应关系过程中,若根据获取的提供节点的可用带宽信息中的全部或部分,已经建立了N个数据分片与提供节点的对应关系,则直接可以进行下一步骤;如果根据获取的提供节点的可用带宽信息,只能建立提供节点与N个数据分片中的部分的对应关系,则返回步骤201,重新获取能够提供所需N个数据分片的提供节点的地址信息及对应的可用带宽信息,然后根据新获取的提供节点信息继续建立剩余数据分片与新获取节点的对应关系,或者删除已建立的对应关系,根据新获得的提供节点信息重新执行步骤202。
其中,当步骤203中建立提供节点与N个数据分片的对应关系过程中,当提供节点中的一部分能够提供的数据分片之和大于N时,如果有更多的提供节点,也不必再计算其他提供节点在一个调度步长T内能够提供的数据分片数量,这样可以减少计算量,提高调度效率;或者,如果有更多的提供节点,可以将计算所有提供节点在一个调度步长T内能够提供的数据分片数量,然后从中选取任意个提供节点,且这任意个提供节点在一个调度步长T内能够提供的数据分片数量之和大于N即可。如果是计算所有提供节点能够提供的数据分片的数量后,按照数量从大到小的顺序选择提供节点来建立与N个数据分片的对应关系,则可以是建立对应关系的节点数量最少,在发送数据请求下载数据分片时,需要发送的数据请求最少,能够减少网络占用,提高调度效率。
步骤204:根据所述调度信息从提供节点获得相应的数据片。
具体地,本步骤中,当步骤203中建立了N个数据分片与一个或多个提供节点的对应关系后,即N个数据分片都有相对应的提供节点了,则根据建立的对应关系,向不同的提供节点发送数据请求,例如,建立了提供节点Pi与ni个数据分片的对应关系,则向提供节点Pi请求该ni个数据分片。当每个数据分片采用唯一的标识标定时,则可以在发送的数据请求中携带数据分片的标识,从而使对应的提供节点知道需要提供哪些数据分片。例如,在向提供节点Pi发送的数据请求中,携带了ni个不同数据分片的标识,提供节点Pi接收到数据请求后,根据数据请求中携带的ni个标识,确定要提供的ni个数据分片,并向请求方(下载节点)发送回这ni个数据分片。
其中,在下载节点发送了数据请求后,接收各个提供节点发送回的数据分片,每个提供节点发送回各自数据请求中请求的数据分片。各个提供节点发送数据分片,可以有不同的方式:提供节点Pi接收数据请求后,根据数据请求中携带的ni个数据分片标识,确定ni个数据分片,发送回所述标识标定的ni个数据分片,然后,数据请求发送方(下载节点)以调度步长为周期发送新的数据请求,携带新的数据分片标识,提供节点Pi根据新的数据请求中的标识,发送回请求的新的数据分片;或者,提供节点Pi接收数据请求后,根据数据请求中携带的ni个数据分片标识,确定ni个数据分片,发送回所述标识标定的ni个数据分片,然后,以调度步长T为周期发送后面对应的ni个数据分片,其中,所述后面对应的ni个数据分片与前面的ni个数据分片的关系为,前面的ni个数据分片中的第1个与后面的ni个数据分片中的第1个之间间隔(N-1)个数据分片,前面的ni个数据分片中的第2个与后面的ni个数据分片中的第2个之间间隔(N-1)个数据分片,依此类推。当节点采用后一种发送方式周期发送新的数据分片,则数据请求发送方,只发送一次数据请求即可,之后接收建立了对应关系的节点以所述调度步长为周期发送的N个新的数据分片。
进一步地,还可以包括步骤205,在接收到的数据片没有包括所述的N个数据片,或者虽然在接收到的数据片包括所述的N个数据片,但是包括的所述N个数据片中部分有故障的情况下,将缺失或故障的数据片重新进行分配,更新提供该缺失或故障的数据片的提供节点,形成新的调度信息,根据新的调度信息从相应的提供节点获得数据片。
本发明实施例中,以调度步长为调度单位,每次对多个数据分片进行调度,利用调度产生的多个数据分片与节点的对应关系进行下载,能够减少节点间的数据调度次数,并降低时延,从而提高了对等网络的服务质量。
实施例四
为了保证节点能够根据数据请求提供相应的数据分片,可以在向节点发送数据请求之前,进行带宽预留协商。如图3所示,本实施例提供了一种对等网络带宽预留协商的方法,包括以下步骤:
步骤301:根据确定的一节点在一个调度步长内能够提供的数据分片的数量,确定该节点提供所述数量数据分片需要预留的带宽值。
本步骤中,根据上一个实施例中步骤202确定的节点Pi在一个调度步长内能够提供的数据分片的数量ni,则节点Pi提供ni个数据分片,每个数据分片的平均大小为S,需要预留的带宽值BWi′=ni*S。
步骤302:向确定了预留带宽值的节点发送带宽预留请求,向一节点发送的带宽预留请求中携带了该节点需要预留的带宽值。
本步骤中,当确定了一个或多个节点在一个调度步长内能够提供的数据分片的数量之和大于N时,向节点Pi发送带宽预留请求,携带需要Pi预留的带宽值BWi′,分别向确定了预留带宽值的节点发送带宽预留请求,与这些节点进行带宽预留协商。
步骤303:接收所述确定了预留带宽值的节点发送的带宽预留应答。
本步骤中,所述确定了预留带宽值的节点接收到带宽预留请求后,比较所述带宽预留请求中携带的需要预留的带宽值与自身实际的带宽值。若节点Pi的实际带宽值BWi″大于或等于BWi′,则节点Pi发送回带宽预留应答,所述带宽预留应答中携带带宽预留成功标识;若节点Pi的实际带宽值小于BWi′,则节点Pi发送回带宽预留应答,所述带宽预留应答中携带带宽预留失败标识或节点Pi的实际带宽值BWi″,或者所述带宽预留应答中携带带宽预留失败标识和节点Pi的实际带宽值BWi″。
步骤304:根据所述带宽预留应答判断带宽预留情况。
本步骤中,根据接收到的所述确定了预留带宽值的节点发送回的带宽预留应答,获取其中的带宽预留成功标识,如果所有带宽预留应答中都携带了带宽预留成功标识,则判断为带宽预留成功;如果有至少一个带宽预留应答中携带了带宽预留失败标识,则判断为相应的节点带宽预留失败。
本步骤中,也可以采用其他的方式判断带宽预留情况,例如,在所有的带宽预留应答中,不设置带宽预留成功标识或带宽预留失败标识,但是携带节点的实际带宽值,在接收到节点Pi的带宽预留应答后,根据携带的实际带宽值BWi″和向节点Pi请求的需要预留的带宽值BWi′进行判断,当实际带宽值BWi″大于等于需要预留的带宽值BWi′时,则判断为节点Pi带宽预留成功,否则判断为节点Pi带宽预留失败。
步骤305:当所述确定了预留带宽值的节点均成功进行带宽预留时,则建立节点与所述N个数据分片的对应关系。
本步骤中,建立节点与所述N个数据分片的对应关系,即是上一实施例中的步骤203。
步骤306:当所述多个节点中有至少一个节点进行带宽预留失败时,从带宽预留失败的节点发送的带宽预留应答中,获取所述带宽预留失败的节点的实际带宽信息。
本步骤中,带宽预留失败的节点发送回的带宽预留应答中携带了该节点的实际带宽信息。
步骤307:重新确定节点在一个调度步长内能够提供的数据分片的数量。
本步骤中,重新确定节点在一个调度步长内能够提供的数据分片的数量可以为:删除已经确定的节点在一个调度步长内能够提供的数据分片的数量,根据带宽预留成功的节点的可用带宽信息和带宽预留失败的节点的实际带宽信息,确定节点在一个调度步长内能够提供的数据分片的数量;或者,保留已经确定的带宽预留成功的节点在一个调度步长内能够提供的数据分片的数量,根据带宽预留失败的节点的实际带宽信息和未确定的节点的可用带宽信息,确定节点在一个调度步长内能够提供的数据分片的数量,其中所述未确定的节点指,在步骤302中当确定了一个或多个节点在一个调度步长内能够提供的数据分片的数量之和大于N时,则不再继续确定伙伴节点列表中剩余的其他节点在一个调度步长内能够提供的数据分片的数量,这些剩余的其他节点即为所述未确定的节点;或者,保留已经确定的带宽预留成功的节点在一个调度步长内能够提供的数据分片的数量,根据未确定的节点的可用带宽信息,确定节点在一个调度步长内能够提供的数据分片的数量。当重新确定的一个或多个节点一个调度步长内能够提供的数据分片的数量之和大于或等于N,或者当已经确定的带宽预留成功的节点在一个调度步长内能够提供的数据分片的数量和新确定的节点一个调度步长内能够提供的数据分片的数量之和大于或等于N时,表示完成了以上所述重新确定节点在一个调度步长内能够提供的数据分片的数量的过程,即当确定了预留带宽值的节点在一个调度步长内能够提供的数据分片的数量大于或等于N时,进行下一步骤。
本步骤中,若通过上述的三种操作,重新确定了节点在一个调度步长内能够提供的数据分片的数量,则返回步骤301重新进行带宽预留协商;若为已经有的所有可以使用的节点确定了在一个调度步长内能够提供的数据分片的数量之后,确定的多个节点在一个调度步长内能够提供的数据分片的数量小于N时,则重新获取能够提供所需N个数据分片的一个以上节点的地址信息及对应的可用带宽信息,即重新执行步骤201从tracker服务器或其他节点请求伙伴节点列表,然后根据新请求的伙伴节点列表继续确定节点在一个调度步长内能够提供的数据分片的数量,或者删除已确定的节点在一个调度步长内能够提供的数据分片的数量,根据新获得的伙伴节点列表重新执行步骤202,然后返回步骤301。
上述两个实施例中,步骤301至步骤307与步骤201与步骤205之间的关系可以是:先执行步骤201至步骤202,然后执行步骤301至步骤307,当最终执行完步骤305即带宽预留协商成功后,执行步骤203至步骤205;或者,先执行步骤201至步骤202,然后执行步骤301至步骤307,在执行步骤301至步骤307的同时执行步骤203,当最终执行完步骤305即带宽预留协商成功后,执行步骤204至步骤205,其中,所述在执行步骤301至步骤307的同时执行步骤203为,当一个节点发送回带宽预留应答(步骤304)且判断该节点带宽预留成功后,为该节点建立与数据分片的对应关系(步骤203),之后当所有的节点带宽预留成功时,也为所有节点建立了与数据分片的对应关系。
本发明实施例中,通过协商,进行带宽预留,保证了下载,更好的分配了网络带宽资源,从而提高了对等网络的服务质量。
实施例五
如图4所示,本实施例提供了一种一种媒体数据流播放方法,包括以下步骤401至步骤404:
步骤401,获取能够提供即将播放的N个数据片的提供节点的可用带宽信息;
其中,下载节点可以首先从tracker服务器或者临近节点下载节点列表,该列表中包括节点的可用带宽,然后根据下载的节点列表与列表中的各节点建立连接,将成功建立连接的节点作为下载节点自身的伙伴节点,然后进一步与各伙伴节点通信,获取各伙伴节点自身能够提供的数据分片情况,确定能够提供即将播放的N个数据片的节点为提供节点。
步骤402,根据可用带宽信息,建立N个数据分片与提供节点的对应关系;
其中,建立的对应关系可以是:N个数据分片由多个节点提供,每个节点提供N个数据分片中的一部分,不同节点提供的数据分片可以相同也可以不同。建立对应关系的方法不限定,可以参考步骤202中的方法。
步骤403,根据建立的对应关系,从分别从提供节点获取该提供节点对应的书记分片;
下载节点利用建立的对应关系,向各个提供节点发送数据请求,数据请求中携带数据分片标识,该数据分片标识用来指明该数据请求请求的数据分片;提供节点根据接收的数据请求中的数据分片标识,返回请求的数据分片给下载节点。
步骤404,播放获取的N个数据分片;
下载节点接收到N个数据分片后,播放这N个数据分片。
其中,在播放过程中,可以开始下次的数据调度,即执行步骤401。
实施例六
如图7所示,本实施例提供了一种对等网络数据调度的装置,包括:信息获取单元71,数量确定单元72,对应单元73;所述信息获取单元71,用于获取能够提供所需N个数据分片的一个以上提供节点的地址信息和对应的可用带宽信息,N为自然数;所述数量确定单元72,用于根据设定的一个数据分片的大小和N个数据分片对应的调度步长,由所述信息获取单元71获取的一提供节点的可用带宽信息,确定该提供节点在一个调度步长内能够提供的数据分片的数量;所述对应单元73,用于根据所述数量确定单元72确定的提供节点在一个调度步长内能够提供的数据分片的数量,建立该提供节点与所述N个数据分片中的所述数量个数据分片的对应关系,直到建立了全部N个数据分片与提供节点的对应关系,其中,全部N个数据分片与提供节点的对应关系用于根据所述全部N个数据分片与提供节点的对应关系,向所述建立了对应关系的提供节点发送数据请求,使需要所述N个数据分片的下载节点从不同提供节点获取该提供节点对应的数据分片。其中,所述设定的一个数据分片的大小和N个数据分片对应的调度步长,可以是由系统默认设定的,或者媒体服务器根据具体情况重新设定的。
所述装置还可以包括:带宽确定单元74,用于根据所述数量确定单元72确定的提供节点在一个调度步长内能够提供的数据分片的数量,确定该提供节点提供所述数量数据分片需要预留的带宽值;带宽预留协商单元75,用于将所述带宽确定单元74确定的一提供节点需要预留的带宽值,携带在要向该提供节点发送的带宽预留请求中,分别向所述确定了预留带宽值的提供节点发送各自的带宽预留请求;接收所述确定了预留带宽值的提供节点发送回的带宽预留应答;判断单元76,用于根据所述带宽预留应答判断带宽预留情况,当所述确定了预留带宽值的提供节点均成功进行带宽预留时,则通知所述对应单元73建立提供节点与所述N个数据分片中的对应关系。
所述装置还可以包括:更新单元77;此时,所述判断单元76,还用于根据所述带宽预留协商单元75接收的带宽预留应答判断带宽预留情况,当所述确定了预留带宽值的提供节点中有至少一个提供节点进行带宽预留失败时,通知所述更新单元77;所述更新单元77,用于从带宽预留失败的提供节点发送的带宽预留应答中,获取所述带宽预留失败的提供节点的实际带宽信息,并用所述实际带宽信息更新所述信息获取单元71获取的可用带宽信息,并通知所述对应单元73根据更新后的带宽信息建立提供节点与数据分片的对应关系。
当所述装置为独立的节点时,所述装置还可以包括:数据获取单元78,用于根据所述对应单元73建立的所述全部N个数据分片与提供节点的对应关系,使下载节点从不同提供节点获取该提供节点对应的数据分片。其中,所述数据获取单元78可以包括:对应关系发送单元,用于将所述对应单元73建立的所述全部N个数据分片与提供节点的对应关系发送给下载节点,所述全部N个数据分片与提供节点的对应关系用于使下载节点根据此全部N个数据分片与提供节点的对应关系,向建立了对应关系的提供节点发送数据请求,从不同节点获取该节点对应的数据分片;或者,数据请求发送单元,用于根据所述全部N个数据分片与提供节点的对应关系,向建立了对应关系的提供节点发送数据请求,使各建立了对应关系的提供节点将各自对应的数据分片发送给下载节点。
当所述装置为下载节点的一个模块时,所述下载节点还可以包括:数据获取单元78,用于根据所述对应单元73建立的所述全部N个数据分片与提供节点的对应关系,向建立了对应关系的提供节点发送数据请求,从不同提供节点获取该提供节点对应的数据分片。其中,所述数据获取单元78可以进一步包括:数据请求单元,用于根据所述对应单元73建立的所述全部N个数据分片与提供节点的对应关系,将一提供节点对应的数据分片的分片标识,携带在要向该提供节点发送的数据请求中,分别向所述多个提供节点发送各自的数据请求;数据接收单元,接收所述建立了对应关系的提供节点发送回的数据分片。
本发明实施例中,以调度步长为调度单位,每次对多个数据分片进行调度,利用调度产生的多个数据分片与节点的对应关系进行下载,能够减少节点间的数据调度次数,并降低时延,从而提高了对等网络的服务质量。
实施例七
如图8所示,本实施例提供了一种对等网络的提供节点,与实施例六中的一种对等网络数据调度的装置相配合,本实施例提供的一种对等网络的提供节点包括:接收单元81,用于接收调度节点(可以是独立的调度装置所在的节点,或者包括调度装置的下载节点)根据对应关系发送的数据请求;对应确定单元82,用于根据设定的一个数据分片的大小和N个数据分片对应的调度步长,由所述接收单元81接收的数据请求确定所述提供节点与M个数据分片的对应关系,N、M为自然数,且M小于或等于N;数据发送单元83,根据所述对应确定单元82确定的对应关系,向下载节点发送所述M个数据分片。
其中,所述对应确定单元82包括:标识获取单元821,用于从携带了M个数据分片的分片标识的所述数据请求中,获取所述数据请求携带的M个数据分片的分片标识;标识对应单元822,用于根据所述标识获取单元821获取的M个分片标识,确定所述提供节点与M个数据分片的对应关系为,所述提供节点与所述M个分片标识标定的数据分片相对应。
所述提供节点还包括:周期触发单元84,用于以所述调度步长为周期,触发所述数据发送单元83向所述下载节点发送所述M个数据分片之后的M个新的数据分片,具体可以参考其他实施例中的相关内容。
所述提供节点还包括:带宽预留接收单元85,用于接收调度节点发送的带宽预留请求,所述带宽预留请求中携带了需要所述节点预留的带宽值;对比单元86,用于比较所述节点的实际带宽与所述带宽预留接收单元85接收的带宽预留请求中携带的预留的带宽值,并输出比较结果;带宽应答发送单元87,用于根据所述对比单元86的比较结果,当所述节点的实际带宽大于所述预留的带宽值时,向所述调度节点发送带宽预留应答,所述带宽预留应答中包括带宽预留成功标识,或,当所述节点的实际带宽小于所述预留的带宽值时,向所述调度节点发送带宽预留应答,所述带宽预留应答中包括带宽预留失败标识和所述节点的实际带宽值。
所述提供节点还包括:更新单元88,用于根据所述对比单元86的比较结果,当所述提供节点的实际带宽小于所述预留的带宽值时,向服务器发送带宽更新请求,所述带宽更新请求中包括所述提供节点的实际带宽值;或,当所述提供节点的实际带宽大于所述预留的带宽值时,从提供节点自身的实际带宽中减去所述预留的带宽值,将结果作为新的实际带宽,向服务器发送带宽更新请求,所述带宽更新请求中包括所述新的实际带宽值。此时,所述服务器包括:信息保存单元,信息接收单元,信息更新单元;所述信息保存单元,用于保存节点的地址信息和对应的可用带宽信息;所述信息接收单元,用于接收所述提供节点发送的带宽更新请求;所述信息更新单元,用于根据所述信息接收单元接收的带宽更新请求中的节点的实际带宽值更新所述信息保存单元保存的可用带宽信息。
本发明实施例中,以调度步长为调度单位,每次对多个数据分片进行调度,利用调度产生的多个数据分片与节点的对应关系进行下载,能够减少节点间的数据调度次数,并降低时延,从而提高了对等网络的服务质量。
在本发明各实施例的技术方案中,以调度步长为调度单位,每次对多个数据分片进行调度,利用调度产生的多个数据分片与节点的对应关系进行下载,能够减少节点间的数据调度次数,并降低时延,从而提高了对等网络的服务质量;而且,在调度之前,进一步通过带宽预留协商机制,保证了数据调度、下载的可靠性;另外,在调度成功后实时更新节点的实际带宽值,保证了数据调度前获取的带宽值是节点的实际带宽值,避免了因为服务器上的节点带宽与节点实际带宽不一致导致的调度失败,有效提高了带宽查询的效率和数据调度、下载的效率;最后,通过灵活的数据分片编号方式和数据分片划分方式,保证了调度、下载的稳定性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种对等网络数据调度的方法,其特征在于,所述方法包括:
获取能够提供所需N个数据分片的节点的可用带宽信息,N为自然数;
根据一个数据分片的大小和N个数据分片对应的调度步长,由节点的可用带宽信息,确定节点在一个调度步长内能够提供的数据分片的数量,并建立节点与所述N个数据分片中的所述数量个数据分片的对应关系;
根据确定的一节点在一个调度步长内能够提供的数据分片的数量,确定该节点提供所述数量数据分片需要预留的带宽值;向所述确定了预留带宽值的节点发送带宽预留请求,向一节点发送的带宽预留请求中携带了该节点需要预留的带宽值;接收所述确定了预留带宽值的节点发送的带宽预留应答,根据所述带宽预留应答判断带宽预留情况,当所述确定了预留带宽值的节点均成功进行带宽预留时,建立所述N个数据分片与节点的对应关系;其中,所述N个数据分片与节点的对应关系用于,使需要所述N个数据分片的节点从不同节点获取该节点对应的数据分片。
2.如权利要求1所述的方法,其特征在于,所述N个数据分片与节点的对应关系为:
每个节点对应一个以上的数据分片,每个数据分片对应一个节点。
3.如权利要求1所述的方法,其特征在于,当所述确定了预留带宽值的节点中有至少一个节点进行带宽预留失败时,所述方法还包括:
从带宽预留失败的节点发送的带宽预留应答中,获取所述带宽预留失败的节点的实际带宽信息;
根据带宽预留成功的节点的可用带宽信息或带宽预留失败的节点的实际带宽信息或两者的组合,重新确定节点在一个调度步长内能够提供的数据分片的数量,并建立节点与所述N个数据分片的对应关系。
4.一种对等网络数据下载的方法,其特征在于,所述方法包括:
根据建立的N个数据分片与节点的对应关系,向所述建立了对应关系的节点发送一次周期数据请求;所述周期数据请求携带了数据分片标识,用于请求所述建立了对应关系的节点以调度步长为周期发送的数据分片;其中,所述对应关系为,在所述N个数据分片对应的调度步长内,所述建立了对应关系的节点中的每一个分别需提供的数据分片;
接收所述建立了对应关系的节点发送回的数据分片。
5.一种对等网络节点,其特征在于,所述节点包括:
信息获取单元,用于获取能够提供所需N个数据分片的节点的可用带宽信息,N为自然数;
数量确定单元,用于根据一个数据分片的大小和N个数据分片对应的调度步长,由所述信息获取单元获取的一节点的可用带宽信息,确定该节点在一个调度步长内能够提供的数据分片的数量;
带宽确定单元,用于根据所述数量确定单元确定的节点在一个调度步长内能够提供的数据分片的数量,确定该节点提供所述数量数据分片需要预留的带宽值;
带宽预留协商单元,用于将所述带宽确定单元确定的一节点需要预留的带宽值,携带在要向该节点发送的带宽预留请求中,分别向所述确定了预留带宽值的节点发送各自的带宽预留请求;接收所述确定了预留带宽值的节点发送回的带宽预留应答;
判断单元,用于根据所述带宽预留应答判断带宽预留情况,当所述确定了预留带宽值的节点均成功进行带宽预留时,则通知对应单元建立节点与所述N个数据分片中的对应关系;
对应单元,用于根据所述数量确定单元确定的节点在一个调度步长内能够提供的数据分片的数量,建立该节点与所述N个数据分片中的所述数量个数据分片的对应关系,从而建立全部N个数据分片与节点的对应关系;
数据获取单元,用于根据所述对应单元建立的所述N个数据分片与节点的对应关系,向建立了对应关系的节点发送数据请求,从不同节点获取该节点对应的数据分片。
6.如权利要求5所述的节点,其特征在于,所述节点还包括:更新单元;
所述判断单元,还用于根据所述带宽预留应答判断带宽预留情况,当所述确定了预留带宽值的节点中有至少一个节点进行带宽预留失败时,通知所述更新单元;
所述更新单元,用于从带宽预留失败的节点发送的带宽预留应答中,获取所述带宽预留失败的节点的实际带宽信息,并用所述实际带宽信息更新所述信息获取单元获取的可用带宽信息,并通知所述对应单元根据更新后的带宽信息建立节点与数据分片的对应关系。
7.一种数据调度装置,其特征在于,所述装置包括:
信息获取单元,用于获取能够提供所需N个数据分片的节点的可用带宽信息,N为自然数;
数量确定单元,用于根据一个数据分片的大小和N个数据分片对应的调度步长,由所述信息获取单元获取的一节点的可用带宽信息,确定该节点在一个调度步长内能够提供的数据分片的数量;
带宽确定单元,用于根据所述数量确定单元确定的节点在一个调度步长内能够提供的数据分片的数量,确定该节点提供所述数量数据分片需要预留的带宽值;
带宽预留协商单元,用于将所述带宽确定单元确定的一节点需要预留的带宽值,携带在要向该节点发送的带宽预留请求中,分别向所述确定了预留带宽值的节点发送各自的带宽预留请求;接收所述确定了预留带宽值的节点发送回的带宽预留应答;
判断单元,用于根据所述带宽预留应答判断带宽预留情况,当所述确定了预留带宽值的节点均成功进行带宽预留时,则通知对应单元建立节点与所述N个数据分片中的对应关系;
对应单元,用于根据所述数量确定单元确定的节点在一个调度步长内能够提供的数据分片的数量,建立该节点与所述N个数据分片中的所述数量个数据分片的对应关系,从而建立全部N个数据分片与节点的对应关系,其中,全部N个数据分片与提供节点的对应关系,用于使需要所述N个数据分片的节点从不同提供节点获取该提供节点对应的数据分片。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
对应关系发送单元,用于将所述对应单元建立的所述全部N个数据分片与节点的对应关系发送给需要所述N个数据分片的节点;所述全部N个数据分片与节点的对应关系,用于使需要所述N个数据分片的节点根据所述全部N个数据分片与节点的对应关系,向建立了对应关系的节点发送数据请求,从不同节点获取该节点对应的数据分片;或者,
数据请求发送单元,用于根据所述全部N个数据分片与节点的对应关系,向建立了对应关系的节点发送数据请求,使各建立了对应关系的节点将各自对应的数据分片发送给需要所述N个数据分片的节点。
9.一种对等网络节点,其特征在于,所述节点包括:
接收单元,用于接收请求方根据对应关系发送的数据请求;
对应确定单元,用于根据设定的一个数据分片的大小和N个数据分片对应的调度步长,由所述接收单元接收的数据请求确定节点自身与M个数据分片的对应关系,N、M为自然数,且M小于或等于N;
带宽预留接收单元,用于接收调度节点发送的带宽预留请求,所述带宽预留请求中携带了需要所述节点预留的带宽值;
对比单元,用于比较节点自身的实际带宽与所述带宽预留接收单元接收的带宽预留请求中携带的预留的带宽值,并输出比较结果;所述请求方发送的带宽预留请求中携带了需要所述节点预留的带宽值;
带宽应答单元,用于根据所述对比单元的比较结果,当节点的实际带宽大于所述预留的带宽值时,向所述请求方发送带宽预留应答,所述带宽预留应答中包括带宽预留成功标识,或,当节点的实际带宽小于所述预留的带宽值时,向所述请求方发送带宽预留应答,所述带宽预留应答中包括带宽预留失败标识和所述节点的实际带宽值;
数据发送单元,根据所述对应确定单元确定的对应关系,向请求方发送所述M个数据分片。
10.如权利要求9所述的节点,其特征在于,所述节点还包括:
分片单元,用于将流媒体文件划分成数据分片,确定N个数据分片对应的调度步长。
11.一种对等网络系统,其特征在于,所述系统包括:数据调度装置、第一节点和多个第二节点;
所述数据调度装置包括有信息获取单元、数量确定单元、带宽确定单元、带宽预留协商单元、判断单元以及对应单元;
所述信息获取单元用于获取能够提供第一节点所需N个数据分片的第二节点的可用带宽信息,N为自然数;
所述数量确定单元用于根据一个数据分片的大小和N个数据分片对应的调度步长,由所述信息获取单元获取的一第二节点的可用带宽信息,确定所述第二节点在一个调度步长内能够提供的数据分片的数量;
所述带宽确定单元用于根据所述数量确定单元确定的所述第二节点在一个调度步长内能够提供的数据分片的数量,确定所述第二节点提供所述数量数据分片需要预留的带宽值;
所述带宽预留协商单元用于将所述带宽确定单元确定的一第二节点需要预留的带宽值,携带在要向所述第二节点发送的带宽预留请求中,分别向所述确定了预留带宽值的第二节点发送各自的带宽预留请求;接收所述确定了预留带宽值的第二节点发送回的带宽预留应答;
所述判断单元用于根据所述带宽预留应答判断带宽预留情况,当所述确定了预留带宽值的第二节点均成功进行带宽预留时,则通知对应单元建立第二节点与所述N个数据分片中的对应关系;
所述对应单元用于根据所述数量确定单元确定的第二节点在一个调度步长内能够提供的数据分片的数量,建立所述第二节点与所述N个数据分片中的所述数量个数据分片的对应关系,从而建立全部N个数据分片与第二节点的对应关系;
所述第一节点,用于当建立了所述N个数据分片与多个第二节点的对应关系时,根据所述N个数据分片与多个第二节点的对应关系,向建立了对应关系的第二节点发送一次周期数据请求,所述周期数据请求携带了数据分片标识,用于请求所述建立了对应关系的节点以所述调度步长为周期发送的数据分片;从不同第二节点获取各第二节点对应的数据分片;
所述第二节点包括有接收单元、对应确定单元、带宽预留接收单元、对比单元、带宽应答单元以及数据发送单元;
所述接收单元用于接收第一节点根据对应关系发送的数据请求;
所述对应确定单元用于根据设定的一个数据分片的大小和N个数据分片对应的调度步长,由所述接收单元接收的数据请求确定第二节点与M个数据分片的对应关系,N、M为自然数,且M小于或等于N;
所述带宽预留接收单元用于接收数据调度装置发送的带宽预留请求;
所述对比单元用于比较第二节点的实际带宽与所述带宽预留接收单元接收的带宽预留请求中携带的预留的带宽值,并输出比较结果;所述第一节点发送的带宽预留请求中携带了需要所述节点预留的带宽值;
所述带宽应答单元用于根据所述对比单元的比较结果,当节点的实际带宽大于所述预留的带宽值时,向所述第一节点发送带宽预留应答,所述带宽预留应答中包括带宽预留成功标识,或,当节点的实际带宽小于所述预留的带宽值时,向所述第一节点发送带宽预留应答,所述带宽预留应答中包括带宽预留失败标识和所述节点的实际带宽值;
所述数据发送单元根据所述对应确定单元确定的对应关系,向第一节点发送所述M个数据分片。
12.如权利要求11所述的系统,其特征在于,所述系统还包括:服务器,用于保存节点的地址信息和对应的可用带宽信息;根据接收的第二节点发送的带宽更新请求中的节点的实际带宽值更新所述保存的可用带宽信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100673788A CN101588287B (zh) | 2008-05-20 | 2008-05-20 | 对等网络数据调度和下载的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100673788A CN101588287B (zh) | 2008-05-20 | 2008-05-20 | 对等网络数据调度和下载的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101588287A CN101588287A (zh) | 2009-11-25 |
CN101588287B true CN101588287B (zh) | 2011-11-16 |
Family
ID=41372360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100673788A Expired - Fee Related CN101588287B (zh) | 2008-05-20 | 2008-05-20 | 对等网络数据调度和下载的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101588287B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102547470A (zh) * | 2010-12-27 | 2012-07-04 | 中国移动通信集团公司 | 分布式流媒体业务的播放方法、系统及服务器 |
CN102833163B (zh) * | 2012-08-23 | 2015-03-04 | 桂林电子科技大学 | 对等网络流媒体点播服务质量保证方法及系统 |
CN106161549B (zh) * | 2015-04-15 | 2020-02-11 | 阿里巴巴集团控股有限公司 | 一种数据传输的方法、系统、控制服务器及客户端 |
CN105897825A (zh) * | 2015-11-20 | 2016-08-24 | 乐视云计算有限公司 | 异步传输文件的方法及系统 |
CN105847370A (zh) * | 2016-03-31 | 2016-08-10 | 乐视控股(北京)有限公司 | 视频文件的调度分发或请求的方法及系统 |
CN109525622B (zh) * | 2017-09-19 | 2021-11-26 | 阿里巴巴集团控股有限公司 | 分片资源id的生成方法、资源分享方法,装置及电子设备 |
CN108462755B (zh) * | 2018-03-28 | 2020-06-05 | 网宿科技股份有限公司 | 一种下载数据资源的方法和系统 |
CN108964845B (zh) * | 2018-07-03 | 2021-04-16 | 网宿科技股份有限公司 | 一种获取bt资源信息的方法和设备 |
CN114760362B (zh) * | 2022-06-13 | 2022-09-02 | 杭州马兰头医学科技有限公司 | 网络接入请求的调度方法、系统、电子装置和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1747448A (zh) * | 2005-10-21 | 2006-03-15 | 清华大学 | 数据驱动覆盖网络中的分段发送调度方法 |
CN1812575A (zh) * | 2006-02-24 | 2006-08-02 | 清华大学 | 流媒体数据的并行传输调度方法 |
-
2008
- 2008-05-20 CN CN2008100673788A patent/CN101588287B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1747448A (zh) * | 2005-10-21 | 2006-03-15 | 清华大学 | 数据驱动覆盖网络中的分段发送调度方法 |
CN1812575A (zh) * | 2006-02-24 | 2006-08-02 | 清华大学 | 流媒体数据的并行传输调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101588287A (zh) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101588287B (zh) | 对等网络数据调度和下载的方法、装置和系统 | |
US9325786B2 (en) | Peer-to-peer interactive media-on-demand | |
CN102355448B (zh) | 云流媒体数据传输方法及系统 | |
US8346843B2 (en) | System and method for scalable data distribution | |
US8392448B2 (en) | Method and apparatus for transmitting packets in the network | |
EP2088731A1 (en) | Network communication data processing method, network communication system and client end | |
US20080089248A1 (en) | Tree-type network system, node device, broadcast system, broadcast method, and the like | |
US9438669B2 (en) | System and method for packetizing data stream in peer-to-peer (P2P) based streaming service | |
KR101009326B1 (ko) | 정보 처리 장치, 정보 처리 방법, 및 기록 매체 | |
EP1473636B1 (en) | Information processing device and method, and computer program | |
US9591069B2 (en) | Peer-to-peer assist for live media streaming | |
KR20110119229A (ko) | 고화질 미디어 방송을 위한 피투피 라이브 스트리밍 시스템 및 방법 | |
CN111200622A (zh) | 一种资源传输方法及装置、存储介质 | |
JP2004199578A (ja) | コンテンツ配信方法及び装置並びにプログラム及び記録媒体 | |
KR101252947B1 (ko) | 비디오 청크 분포에 적응적인 푸쉬-풀 혼성 스트리밍 방법 및 장치 | |
KR20110044273A (ko) | 메시지 라우팅 플랫폼 | |
Goh et al. | A comparative study of tree-based and mesh-based overlay p2p media streaming | |
CN101958934B (zh) | 一种电子节目指南增量内容同步方法、装置及系统 | |
US20120137017A1 (en) | System and method for controlling server usage in peer-to-peer (p2p) based streaming service | |
KR20090030160A (ko) | 유디피 홀펀칭을 이용한 피어 대 피어 데이터 전송을 통해스트리밍 데이터를 분산 전송하는 분산 스트리밍 시스템 및그 방법 | |
Hu et al. | A Data Flow Framework with High Throughput and Low Latency for Permissioned Blockchains | |
Chung et al. | PNECOS: a peer-to-peer network coding streaming system | |
CN101090367A (zh) | 一种对等网络中的数据传输方法及装置 | |
KR20050115498A (ko) | P2p 기반의 비디오 서비스 시스템 및 이를 이용한주문형 비디오 서비스 제공방법 | |
JP5673268B2 (ja) | 通信装置、およびプログラム |
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: 20111116 Termination date: 20190520 |