用于下载点对点传输数据分片的方法和装置的制作方法

文档序号:7664496阅读:142来源:国知局
专利名称:用于下载点对点传输数据分片的方法和装置的制作方法
技术领域
本发明涉及在通信网络中的终端设备下载数据的方法和装置,尤其 涉及基于点到点协议的终端设备从其对等终端设备处下载数据分片的 方法和装置。
背景技术
流媒体技术是指用户通过网络或者特定数字信道边下载边播放 多媒体数据的工作方式,而传统多媒体技术是客户端从服务器下载 完整的文件后进行播放。流媒体技术采用了流式传输方式,将整个 多媒体文件压缩解析成多个压缩包,向客户端顺序传送,用户可以 一边解压播放前面传送过来的压缩包, 一边下载后续的压缩包,从 而节省了时间。随着计算机技术的发展,流媒体技术越来越广泛地
应用于VoD (Video on demand )视频点播,并达到空前的热度。
随着IPTV的VoD的发展,传统的客户/服务器模式的流媒体系 统暴露出很多问题,其一是实现流媒体系统的带宽和服务器成本昂 贵,其二是能支持同时观看的用户数目有限,例如, 一个通常的带 宽为100M的服务器只能承受300人同时观看300kbps的视频广播, 而且随着用户数的增加会对服务器造成较大的冲击,这容易引起服 务器故障,造成系统瘫痪。通过引入CDN ( Content delivery Network -内容分发网)技术可以緩解上述问题,其核心思想是将内容从中 心推到边缘靠近用户的地方,这样不但有效地提高了用户访问内容 的服务质量,而且还能减轻中心设备和骨干网络的压力。通过CDN 技术,将内容服务从原来的单一 中心服务结构变为分布式服务结构, 用户在点击节目的时候,从靠近用户的边缘服务器上就可以获取所 需要的媒体内容,用户在快进,快退和拖拉等播放操作的时候,还是在同 一个服务器上获取资源。但是CDN技术仍需要投入大量硬件 成本,随着用户数的增加,需要相应投入更多的边缘服务器和带宽, 而且边缘服务其与中心服务器的协调和维护,以及边缘服务器的优 化布点都是比较复杂的课题。
近年来,随着P2P (Peer-to-Peer)技术的迅速发展,P2P在流媒 体方面的应用也越来越多。利用P2P的对等特点,用户节点作为客 户端的同时,也协助服务器来分发流媒体内容,以分担服务器的负 担,同时增加了系统的可扩展性,使媒体数据的分布性增强。换句 话说,用户节点肩负了客户端和服务器的双重使命。
作为P2P技术的一种应用方向,P2P实时流媒体技术实现了用 户在线观看直播,具有非常良好的发展前景。实时流媒体传输处理 的是无限大小的媒体,客户端播放的是临时收到的媒体分块。媒体 分块从媒体源端发出到最后在客户端播放器中播放出来会具有 一定 的延时,这包括媒体源端从获得数据到发送出去的延迟,网络传输 延迟以及客户端从接收数据到在媒体播放器中播放出的延迟。实时 流媒体要求上述延时必须有上限要求,当然越小越好,否则用户会 看到过期的内容。网络上实时流媒体传输通常针对 一 些热点问题, 用户会大规模同时收看相同的内容,实时流媒体分发的目标在于实 现高流畅度,低延迟,此外还需注意的特性是系统的可扩展性,低 控制负荷、高容错性和高网络带宽利用效率。
流媒体数据是以数据分片的方式进行分发的,如何对待下载数 据分片进行调度,也即为各待下载数据分片选择合适的提供者(即 对等节点),以实现在一个高度分散、动态和异构的P2P网络中有 效下载流媒体数据,以使得用户获得最优的流媒体播放是目前P2P 实时流媒体分发面临的主要挑战之一 。
在现有技术中,通常用户节点会按照数据分片的时间先后顺序 进行下载,它会向多个可用的邻居节点同时发出下载某数据分片的 请求,在完成此数据分片的下载后,再进行紧接着的下一数据分片 的下载。现有的为待下载分片分配对等节点的调度方法有轮叫调度
(Round Robin Scheduling)算法就是以轮叫的方式依次将请求调 度不同的对等节点(此时假定本对等节点与其他对等节点的传输的 性能是相同的),即每次调度执行i = (i + 1) mod n,并选出第i 个对等节点以供该分片进行下载。算法的优点是其简洁性,它无需
记录当前所有连接的状态。该方法的缺点是,其一,没有考虑各个 节点之间的异构性,也即本节点与各个不同的对等节点之间的连接 性能的差异性;其二,如由于网络的动荡或者对等节点出现问题, 导致某数据分片的下载具有很大延时甚至未能成功,造成后续数据 分片不能及时下载到,从而导致在用户端播放的不连贯甚至停滞。

发明内容
为了解决现有技术的上述缺点,本发明提出了一种在基于点到点协
多次更新本终端设备与其多个对等终端设备之间的传输性能相关信息; 并在下载各个未下载数据分片时,根据当时的性能相关信息,为各个未 下载数据分片选择当时最优的对等终端设备进行下载。
根据本发明的第 一 个方面,提供了 一种在基于点对点传输协议的 终端设备中用于下载分片的方法,其中,该方法包括以下步骤多 次更新本终端设备与其多个对等终端设备之间的传输性能相关信 息;其中,还包括以下步骤i.从当前多个未下载的分片中选择一 个或多个分片作为一个或多个目标下载分片,根据最近一次更新的 本终端设备与所述多个对等终端设备之间的传输性能相关信息,由 所述多个对等终端设备中为所述一个或多个目标下载分片选择各自 相应的对等终端设备,以确定所述一个或多个目标下载分片的最新 的对等终端选择结果信息;ii.当满足预定条件时,重复步骤i,直至 所有所需的未下载分片下载完毕(也即当前的下载队列暂时为空); 还包括以下步骤基于一个或多个目标下载分片的最新的对等终端 选择结果信息下载所述各个目标下载分片。
8根据本发明的第二个方面,提供了 一种在基于点对点传输协议的
终端设备中用于下载分片的下载装置,其中,包括更新装置,用 于多次更新本终端设备与其多个对等终端设备之间的传输性能相关 信息;还包括确定装置,用于从当前多个未下载的分片中选择一 个或多个分片作为一个或多个目标下载分片,根据最近一次更新的 本终端设备与所述多个对等终端设备之间的传输性能相关信息,按 照预定的下载所要达到的目的,由所述多个对等终端设备中为所述 一个或多个目标下载分片选择各自相应的对等终端设备,以确定所 述一个或多个目标下载分片的最新的对等终端选择结果信息;判断 装置,当满足预定条件时,重复确定装置所执行的操作,直至所有 未下载分片下载完毕;还包括分片下载装置,用于基于一个或多 个目标下载分片的最新的对等终端选择结果信息下载所述各个目标 下载分片。
采用本发明提供的技术方案,能够根据本终端设备与对等终端设 备之间传输性能的动态变化,优选地,按照本终端设备中分片的优 先级,为各个待传输的数据分片择传输当时最合适的对等终端设备 进行下载。本方案实时地考虑各个终端设备之间由于异构性导致的 传输性能差异,和由于网络的动荡或者对等节点出现问题导致的传 输失效或者恢复,尽可能快地完成传输任务。


通过参照附图阅读以下所作的对非限制性实施例的详细描述,本发 明的其它特征、目的和优点将会变得更明显。在附图中,相同和相似 的附图标记代表相同或相似的装置或方法步骤。
图1是根据本发明一个具体实施例,终端设备从其对等终端设备处 下载分片的基于点到点传输的网络逻辑拓朴示意图2是根据本发明一个具体实施例,终端设备多次更新本终端设备 与其多个对等终端设备之间的传输性能相关信息,根据最新的传输性能 相关信息,为所述选定的目标下载分片选择相应的对等终端设备,并按该选择结果下载目标下载分片的系统方法的流程图3为根据本发明的一个具体实施例的,按照初始的默认设置为分 片选择对应的对等终端设备的示意图4为根据本发明的一个具体实施例的,按照检测的下载速率,为 分片选择对应的对等终端设备的示意图5是根据本发明一个具体实施例,为目标传输分片确定能最 早将其传输完成的对等终端设备的算法的一个例子;
图6是根据本发明一个具体实施例,在基于点到点协议的终端设备
中用于下栽点对点传输数据分片的下载装置的结构框图。
具体实施例方式
下面将参照图1至图2,从系统方法的角度对本发明的多个具体实 施例进行详述。
图1是根据本发明一个具体实施例,终端设备从其对等终端设备处 下载分片的网络逻辑拓朴示意图。
图2是根据本发明一个具体实施例,终端设备多次更新本终端设备 与其多个对等终端设备之间的传输性能相关信息,根据最新的传输性能
该选择结果下载目标下载分片的系统方法的流程图。下面将参照附图1 和附图2,对本发明的方法进行详述。 第一实施例
在本实施例中,我们假设终端设备1的所有的对等终端设备2、 3 和4均具有终端设备1所要下载的所有的分片。
情形一所有的分片均具有相同的下载优先级,例如,所述分片可 以是文件的分片。由于文件分片只有在完整地组合成一个整体时才有意 义,缺少任何一个分片都不能使文件正常工作,所以各个分片具有相同 的优先级。因此,在这种情形中,分片下载最优的结果是从各个对等终 端设备文件分别下载的分片尽量早地同时下载完毕。
在本实施例中,终端设备1多次更新本终端设备1与它的对等终端设备2、对等终端设备3、对等终端设备4(为便于说明,我们以本终端 设备有3个对等终端设备为例进行说明,在实际应用中,本终端设备的 对等终端设备的个数不仅限于此)之间的传输性能相关信息,根据最新 的传输性能相关信息,为所述选定的目标下载分片选择相应的对等终端 设备,并按该选择结果下载目标下载分片。具体的流程如图2所示。
首先,在终端设备l与其各个对等终端设备的连接的初始化时,首 先设定终端设备1与其各个对等终端设备2、对等终端设备3、对等终 端设备4之间的传输性能相同。所述传输性能包括终端设备1从其对等 终端设备2、对等终端设备3、对等终端设备4下载数据分片的下载速 率(即单位时间可以下载的分片的个数)或终端设备1从向某一对等终 端设备发起请求到接收到来自该对等终端设备的分片的时间间隔,或者 可以用速率的倒数来描述,即下载每个分片所需要的时间(以下先从传 输性能为下载速度的倒数角度进行相应的描述)。
为了便于说明,我们将各个待下载的分片标记为A、 B、 C、 D、 E、 F、 G、 H、 I、 J,为IO个待下载分片。其中不同的字母并不代表先后次序 或优先级的次序,仅是为了指代方便。在实际系统中,未下载分片的数 量通常是十分巨大的,终端设备一般从大量的未下载分片中每次选取一 定数量的分片作为其目前的目标下载分片,在短时间内对这若干待下载 分片进行下载,并根据这些下载分片的一部分或全部的下载完成情况, 将剩余的未下载分片中部分分片作为目标下载分片并进行逐步下载完 所有分片。
O.l个分片(对应的倒数为每个分片需要10秒),然后按照该速率为调 度池中的分片资源进行调度,以选择所对应的对等终端设备。如图3所
所以终端设备1为每个对等终端设备分配个数相近(或相同个数)的分 片进行下载。也即,分片A、 D、 G、 J分配给对等终端设备2,将B、 E、 H分配给对等终端设备3,将C、 F、 I分配给对等终端设备4。此时,能 够近似地保证终端设备1从对等终端设备2、对等终端设备3、对等终端设备4分别下载的分片同时下载完毕。
而后,在步骤S30中,本终端设备将根据上述各个分片的对等终端 设备的选择,从各个对应的对等终端设备处按照队列的从头到尾的顺序 下载各个目标下载分片。我们认为在同一时间,本终端设备l从一个对 等终端设备处只能下载一个目标下载分片。也即,从对等节点2处下载 分片A,从对等节点3处下载分片B,从对等节点4处下载分片D。
优选的,步骤S30可以细化为步骤S301和步骤S302。即在步骤S301 中,本终端设备l首先为当前需要下载的一个或多个目标下载分片向
为其选择的对等终端设备发送下载请求。
而后在步骤S302中,本终端设备1分别接收来自为所述一个或多
个目标下载分片所选择的对等终端设备的分片。
在下载数据分片的同时,终端设备根据数据分片的下载情况, 更新终端设备与各个对等终端设备的下载速率。
在步骤S101中,终端设备1检测一个或多个目标下载分片的从
为其选择的对等终端设备处下载的下载速度。
然后,在步骤S102中,终端设备1根据步骤S101中检测到一个
或多个目标下载分片的从为其选择的对等终端设备处下载的下载速 度,确定本终端设备与上述一个或多个目标下载分片的为其选择的 终端设备之间的传输性能相关信息。
优选的,步骤S101中,终端设备1可以在每次从其一个对等终 端设备处下载数据分片后,根据该次下载速率更新本终端设备1与 该对等终端设备之间的数据分片下载速率;也可以在满足预定条件 时,才根据当次下载速率更新本终端设备1与该对等终端设备之间 的数据分片下载速率。其中,所述的预定条件包括
a) 上一次数据分片下载速率更新的时间与当前时间的间隔达 到一定阈值。即可以为下载设一个定时器,每次定时器到期都重新 启动下载;
b) 从该对等终端设备下载的数据分片的数量达到一定阈值。 例如,如图4所示,假设每隔10秒,终端设备1均会更新与各
12个对等终端设备之前的下载速度。终端设备1检测到了与对等终端
设备2之间的下载速率为每个分片5秒,即10秒内终端设备1已经 从对等终端设备处下载了分片A和分片D;终端设备l检测到了与 对等终端设备3之间的下载速率为每个分片5秒,即此时终端设备1 已经从对等终端设备3处下载了分片B和分片E;而终端设备1检 测到了与对等终端设备4之间的下载速率仍为每个分片10秒,即此 时终端设备l已经从对等终端设备处下载了分片C。
由于从各个对等终端设备下载数据分片的下载过程是一个多次 发生的过程,则根据上述多次下载过程检测并更新本终端设备1与该 对等终端设备之间的数据分片下载速率也是 一 个多次发生的过程。
在检测并更新本终端设备与各个对等终端设备之间的传输性能
相关信息的同时,在步骤S20中,首先终端设备根据之前的分片下载完成情况,从当前多个未下载分片中选择一个或多个分片作为一
个或多个目标下载分片,然后根据最近检测并更新的本终端设备1 与各个对等终端设备之间的数据分片下载速率,终端设备1按预定
规则i将目标下载分片分配到各个对等终端上,以保证终端设备l从 对等终端设备2、对等终端设备3、对等终端设备4分别下载的目标下 载分片同时下载完毕。其中预定规则i包括
对于所有对等设备和所有目标下载分片,从某个对等终端设备 下载的目标下载分片的数量与本终端设备到该对等终端设备下载的 下载速率成正比(或近似成正比)。此时,为每个对等终端设备分 配与其下载速度近似成正比的个数的分片(也即下载任务),能够 保证(或近似地保证)终端设备1从对等终端设备2、对等终端设备3、 对等终端设备4分别下载的分片同时下载完毕。
也即,因为在当前时刻检测的终端设备1与对等终端设备2、 3的 下载速度均为每个分片5秒,是对等终端设备4的2倍,所以为对等终 端设备2和3均分配相同的分片下载任务,且为对等终端设备4的2倍。 也即,先将定时器到期时的前一次分片选择对等终端设备的结果清空, 然后,重新按照更新的下载性能信息(此处为下载速度)为分片选择对应的对等终端设备进行下载。此时,分片A、 B、 C、 D、 E已下载完毕, 即从调度的队列中移出,从分片F开始进行分配。此时,将分片F、 G、 L、 0分配给对等终端设备2,将分片H、 I、 M、 N分配给对等终端设备3, 将J、 K分配给对等终端设备4进行下载。
上述过程的目的在于以实时变化的本终端设备与各个对等终端 设备之间的传输性能,多次更新未传输的数据分片的对等终端设备 选择结果,使得其中该选择结果对于当时待传输的数据分片在选择 当时是最优的传输方案。上述过程多次重复进行,直至所有未下载 分片下载完毕。其中重复的时间间隔根据预定条件判断,优选的, 预定条件包括
-自 一 个或多个目标下载分片的最新对等终端选择结果信息确 定后,已经经过了预定长度的时间;
-所述一个或多个目标下载分片下载完毕,需要重新选取目标下 载分片并进行下载。
在上述为未传输分片选择最优对等终端设备的同时,本终端设 备在步骤S30中为各个目标下载分片进行下载时,均按照当时最近更新 的该数据分片的对等终端设备选择结果下载。
以上详细说明了所有待传输的分片不分下载优先级的情况,下 面将详细说明待传输分片具有不同的下载优先级的情况。
情形二各个分片均具有不同的下载优先级,例如,所述分片可 以是流媒体中的音视频数据分片,且假设终端设备1的所有的对等终端 设备2、 3和4均具有终端设备1所要下载的所有的分片。流媒体数据 分片的播放时间越接近当前时间的,为了保证播放的连续性,本终端设 备对该分片的需求就越强烈,因此该分片相比播放时间相差较远的分片 就具有更高的下载优先级。因此,在这种情形中,分片下载最优的结果 是当前所有分片中,下载优先级越高的越早下载完毕。在实际系统中, 未下载分片的数量通常是十分巨大的,终端设备一般从大量的未下载分 片中每次选取一定数量的分片作为其目前的目标下载分片,在短时间内对这若干待下载分片进行下载,并根据这些下载分片的完成情况,将剩 余的未下栽分片中部分分片作为目标下载分片并进行逐步下载直至下 载完所有分片。
在这种情况下,本终端设备所进行的操作与上述情形 一有相似之处。
首先,在终端设备1与其各个对等终端设备的连接的初始化时,
首先设定终端设备1与其各个对等终端设备2、对等终端设备3、对等 终端设备4之间的传输性能相同。
为了便于说明,我们将各个待下载的分片标记为1、 2、 3、 4、 5、 6、 7、 8、 9、 10,为IO个待下载分片。注意,其中数字从小到大代表
下载的先后次序或优先级的次序。
因为初始化时默认的各个对等终端设备与本终端设备之间的传输 性能相同,所以终端设备1按照优先级顺序将各个分片分配给不同的对 等终端设备。也即,将分片1分配给对等终端设备2,将分片2分配给 对等终端设备3,将分片3分配给对等终端设备4,该三个分片默认同 时下载完毕。终端设备l又将其后的分片4分配给终端设备2,将分片 5分配给对等终端设备3,将分片6分配给对等终端设备4。依次类推, 直至分配完所有的数据分片到所对应的对等终端设备。此时,能够近似 的保证各个分片按照其不同的优先级顺序依次下载完毕。
而后,本终端设备1将根据上述目标下载分片的对等终端设备的 选择,在步骤S30进行下载。
在下载数据分片的同时,终端设备与上述情形一类似的,多次 在步骤SIOI中,检测下载分片的从为其选择的对等终端设备处下载 的下载速度。而后在步骤S102中,根据下载数据分片速率更新本终 端设备1与该对等终端设备之间的数据分片下载速率。
在检测并更新本终端设备与各个对等终端设备之间的传输性能 相关信息的同时,终端设备多次在步骤S20中,首先根据之前的下 载分片下载完成情况,从当前多个未下载分片中选择一个或多个分 片作为 一 个或多个目标下载分片,然后根据最近检测并更新的本终
15端设备1与各个对等终端设备之间的数据分片下载速率,终端设备1 按预定规则ii将目标下载分片分配到各个对等终端上,以保证终端设 备l中未下载的优先级越高的目标下载分片越早下载完成。
其中,所述预定规则ii包括
按照各个分片预定的下载优先级,依次为各个目标下载分片确 定一个能最早将该分片传输到本终端设备1的对等终端设备,并将 该最早完成该分片传输的对等设备分配给该分片以下载。该分片由 本终端设备1与其到该对等终端设备间建立的连接所传输。
优选的,该确定过程根据当前本终端设备1与其所有对等设备 之间的连4妾的可用时间(available time ),及各条连接的下载速率。 其中,所述连接的可用时间为该连接正在传输的分片的预测完成时 间,若该连接当前没有传输任何分片,则其可用时间为当前时间; 所述下载速率为本终端设备从该连接对应的对等设备下载分片的速 率。以下将描述该确定过程的流程
对当前所有可用连接,计算该分片经各条连接传输到本终端设 备1的耗时;并估算当前各条连接的可用时间。然后,将各条连接 的可用时间与其对应的传输本分片的传输耗时相加,得到该分片经
;成时间最早的所:应的对等设备就是所寻找的;能i早将该分片
传输到本终端设备1的对等终端设备。而后,由于该对等终端设备 及该连接已被分配给该分片,则将该最早预测完成时间作为该连接 的新的可用时间,以便使用同样的方法,为下一个分片寻找最早将 下一个分片传输到本终端设备的对等终端设备,直至为所有的分片 都找到其对应的能将其最早传输完毕的对等终端设备。
图5示例了该算法过程的一个例子,其中当前时间以0ms记。 本终端设备的对等终端设备2、 3和4与本终端设备连接的可用时间 分别为50ms、 40ms和50ms,目标传输分片从该三个对等终端设备 处下载所需的时间分别为60ms、 50ms和50ms,则该目标传输分片 的预测完成时间分别为110ms、 90ms和100ms。其中预测完成时间
16最短的90ms所对应的对等终端设备3被选择为该目标传输分片的下 载源,同时对等终端设备3与本终端设备之间连接的可用时间将更 新为90ms。
上述过程的目的是根据实时变化的本终端设备与各个对等终端 设备之间的传输性能,多次更新未传输的数据分片的对等终端设备 选择结果,使得其中该选择结果对于当时待传输的数据分片在选择 当时是最优的传输方案。上述过程多次重复进行,直至所有未下载 分片下载完毕。
在上述为未传输分片选择最优对等终端设备的同时,本终端设 备在步骤S30中为各个目标下载分片进行下载时,均按照下载当时最近 更新的该数据分片的对等终端设备选择结果下载。
作为上述实施例的变形,在步骤SIO中,终端设备l多次向其各 个对等终端设备发送ping包及接收响应的时间,更新本终端设备与 各个对等终端设备之间的数据分片下载速率。该多次发送ping包及 接收响应之间可以由终端设备1按一定规则进行。所述的一定规则 包括
—周期性地发送ping包及接收响应。 由于终端设备1多次向其各个对等终端设备发送ping包及接收 响应是一个多次发生的过程,则根据上述多次发送ping包及接收响 应的过程更新本终端设备1与各个对等终端设备之间的数据分片下 载速率也是一个多次发生的过程。
以上实施例认为终端设备1的所有的对等终端设备2、 3和4均具 有终端设备1所要下载的所有的分片。
第二实施例
作为上述实施例的变形,终端设备1的对等终端设备2、 3和4并 不都具有终端设备1所要下载的所有的分片,即各个对等终端设备中可 能含有终端设备1所要下载的所有的分片中的一部分。情形三
终端设备1所要下载的目标下载分片均具有相同的下载优先级。 在终端设备l与其各个对等终端设备的连接的初始化时,首先设定终端
设备1与其各个对等终端设备2、对等终端设备3、对等终端设备4之 间的传输性能相同。在为各个下载优先级相同的目标下载分片选择对 等终端设备下载源时,优先对拥有该数据分片的对等终端设备数量最少 的数据分片进行分配,以此决定各个分片分配优先级。而后根据分配 优先级,依次为各个数据分片确定一个能最早将该分片传输到本终 端设备的对等终端设备,并将该最早完成该分片传输的对等设备分 配给该分片以下载。该分片由本终端设备与其到该对等终端设备间 建立的连接所传输。
优选的,该确定过程根据当前本终端设备与其所有对等设备之 间的连接的可用时间。所述连接的可用时间为该连接正在传输的分 片的预测完成时间,若该连接当前没有传输任何分片,则其可用时 间为当前时间。以下将描述该确定过程的流程
对各条可传输该分片的连接(即拥有该分片的各个对等终端设 备与本终端设备之间的连接),计算该分片经各条连接传输到本终
端设备的耗时,由于终端设备l与其各个对等终端设备2、对等终端设 备3、对等终端设备4之间的传输性能相同,则传输所有数据分片的 耗时相同;并估算当前各条连接的可用时间。然后,将各条连接的 可用时间与其对应的传输本分片的传输耗时相加,得到该分片经各
成时间最早的所对应的对等设备就是所寻找的能最早将该分片传输 到本终端设备的对等终端设备。而后,由于该对等终端设备及该连
接已被分配给该分片,则将该最早预测完成时间作为该连接的新的 可用时间,以便使用同样的方法,为下一个分片寻找最早将下一个 分片传输到本终端设备的对等终端设备,直至为所有的分片都找到 其对应的能将其最早传输完毕的对等终端设备。
在为所有目标下载分片确定其对等终端设备后,由于具有不同分配优先级各个分片本身不具有下载优先级,则在若干对应于同一对 等终端设备的数据分片中没有确定的传输的顺序。
在 一 个变化的实施例中,终端设备仍按照将各条连接的可用时 间与其对应的传输本分片的传输耗时相加,得到该分片经各条连接
从各个对等设备下载完成的预测完成时间,其中分片预测完成时间
最早的所对应的对等设备就是所寻找的可能最早将该分片传输到本 终端设备1的对等终端设备。若此时该最优选的对等终端设备不具 备该分片的资源,则按分片预测完成时间从早到晚顺序搜索剩余的 连接,直至找到具备该分片的对等终端设备,将其作为该分片建立 连接的对等终端设备。。
在步骤S30进行下载。
而后终端设备进行的操作与情形一中类似,在步骤S10中检测 数据分片的传输情况并以此更新本终端设备与其各个对等终端设备 之间的传输性能信息。
同时,终端设备在步骤S40中,多次获取所述多个对等终端设 备中每个对等终端设备的分片资源拥有信息,其中,所述多个对等
终端设备中每个对等终端设备的分片资源拥有信息包括该对等终端 设备所拥有的分片资源的情况。该分片资源拥有信息可以由本终端 设备向其各个对等终端设备查询获取,或者由各个终端设备向本终 端设备推送获取,也可以由点对点传输的控制设备从对等终端设备 处查询而后推送给本终端设备。
在检测并更新本终端设备与各个对等终端设备之间的传输性能 相关信息和多次获取所述多个对等终端设备中每个对等终端设备的 分片资源拥有信息的同时,在步骤S20中,终端设备首先根据之前 的分片下载完成情况,从当前多个未下载分片中选择一个或多个分 片作为 一 个或多个目标下载分片,而后根据最近检测并更新的本终 端设备1与各个对等终端设备之间的数据分片下载速率,以及各个 对等终端设备的分片资源拥有信息按预定规则i'将目标下载分片分配到各个对等终端上,以保证终端设备1从对等终端设备2、对等终 端设备3、对等终端设备4分别下载的目标下载分片同时下载完毕。
其中预定规则i'包括优先对拥有该数据分片的对等终端设备数 量最少的数据分片进行分配,以此决定各个目标下载分片的分配优先 级。而后根据分配优先级,依次为各个数据分片确定一个能最早将该 分片传输到本终端设备的对等终端设备,并将该最早完成该分片传 输的对等设备分配给该分片以下载。
上述确定对等终端设备的方法如下对各条可传输该分片的连
接(即拥有该分片的各个对等终端设备与本终端设备之间的连接),
计算该分片经该各条连接传输到本终端设备的耗时;并估算当前各
条连接的可用时间。然后,将各条连接的可用时间与其对应的传输
本分片的传输耗时相加,得到该分片经各条连接从各个对等设备下
载完成的预测完成时间,其中分片预测完成时间最早的所对应的对
等设备就是所寻找的能最早将该分片传输到本终端设备的对等终端
设备。而后,由于该对等终端设备及该连接已一皮分配给该分片,则
将该最早预测完成时间作为该连接的新的可用时间,以使j吏用同样
的方法,为下一个分片寻找最早将下一个分片传输到本终端设备的
对等终端设备,直至为所有的分片都找到其对应的能将其最早传输 完毕的对等终端设备。
在上述为未传输分片选择最优对等终端设备的同时,本终端设 备和情形一类似,在步骤S30中为各个目标下载分片进行下载时,均按 照下载当时最近更新的该数据分片的对等终端设备选择结果下载。
情形四
该情形下终端设备1所要下载的所有的分片均具有不相同的下载 优先级。在终端设备l与其各个对等终端设备的连接的初始化时,首先 设定终端设备1与其各个对等终端设备2、对等终端设备3、对等终端 设备4之间的传输性能相同。在为各个下载优先级不同的数据分片选择 对等终端设备下载源时,优先对下载优先级高的(首要的考虑因素),而拥有该数据分片的对等终端设备数量最少的数据分片进行分配,以此 决定各个分片分配优先级。而后根据分配优先级,依次为各个数据分 片确定一个能最早将该分片传输到本终端设备的对等终端设备,并 将该最早完成该分片传输的对等设备分配给该分片以下载。该分片 由本终端设备与其到该对等终端设备间建立的连接所传输。
骤S30进行下载。
而后,终端设备进行的操作与情形三类似,在步骤S10中,多 次检测并更新本终端设备与各个对等终端设备之间的传输性能相关 信息;在步骤S40中,多次获取所述多个对等终端设备中每个对等 终端设备的分片资源拥有信息。
在检测并更新本终端设备与各个对等终端设备之间的传输性能 相关信息和多次获取所述多个对等终端设备中每个对等终端设备的 分片资源拥有信息的同时,在步骤S20中,终端设备首先根据之前 的分片下载完成情况,从当前多个未下载分片中选择一个或多个分 片作为 一 个或多个目标下载分片,而后根据最近检测并更新的本终 端设备1与各个对等终端设备之间的数据分片下载速率,以及各个 对等终端设备的分片资源拥有信息按预定规则ii'将目标下载分片分 配到各个对等终端上,以保证终端设备1从对等终端设备2、对等终 端设备3、对等终端设备4分别下载的目标下载分片同时下载完毕。
其中,所述预定规则ii'是按照各个分片预定的下载优先级,以 及所述多个对等终端设备中每个对等终端设备的分片资源拥有信 息,依次为目标下载分片确定一个能最早将该分片传输到本终端设 备的对等终端设备,并将该最早完成该分片传输的对等设备分配给 该分片以下载。
优选的,该确定过程根据当前本终端设备与拥有该数据分片的 各个对等设备之间的连接的可用时间,及各条连接的下载速率。其 中,所述连接的可用时间为该连接正在传输的分片的预测完成时间, 若该连接当前没有传输任何分片,则其可用时间为当前时间;所述下载速率为本终端设备从该连接对应的对等设备下载分片的速率。
以下将描述该确定过程的流程
对与该数据分片对应的各条可用连接(即当前本终端设备与拥 有该数据分片的各个对等设备之间的连接),计算该分片经各条连 接传输到本终端设备的耗时;并估算当前各条连接的可用时间。然 后,将各条连接的可用时间与其对应的传输本分片的传输耗时相加, 得到该分片经各条连接从各个对等设备下载完成的预测完成时间, 其中分片预测完成时间最早的所对应的对等设备就是所寻找的能最 早将该分片传输到本终端设备的对等终端设备。而后,由于该对等 终端设备及该连接已被分配给该分片,则将该最早预测完成时间作 为该连接的新的可用时间,以便使用同样的方法,为下一个分片寻 找最早将下一个分片传输到本终端设备的对等终端设备,直至为所 有的分片都找到其对应的能将其最早传输完毕的对等终端设备。
在上述为未传输分片选择最优对等终端设备的同时,本终端设备 和情形一类似,在步骤S30中为各个目标下载分片进行下载时,均按照 下载当时最近更新的该数据分片的对等终端设备选择结果下载。
以上两个实施例及其变化例详细说明了在多种分片传输和分片拥 有情况下,终端设备多次更新本终端设备与其多个对等终端设备之间的 传输性能相关信息,根据最新的传输性能相关信息和分片拥有信息,为 所述选定的目标下载分片选择相应的对等终端设备,并按该选择结果下 载目标下载分片的系统方法。本领域的普通技术人员应能理解,在数据 分片具有相同或不同下载优先级,同时对等节点拥有或不完全拥有本终 端设备所需的全部数据分片的情况下,可用来为各个数据分片选择对等 节点的算法是多种多样的,不受本实施例中所详述的算法例所限。
本领域的普通技术人员应能理解本发明不限于第 一和第二实施例 所基于的图1所示的基于点对点传输的网络逻辑拓朴结构和数据分片 数量,对于其他基于点对点传输的网络逻辑拓朴结构和数据分片的情 况,本发明的方法同样适用。
图6是根据本发明一个具体实施例,在基于点到点协议的终端设备中用于下栽点对点传输数据分片的下载装置io的结构框图。该下载
装置10包括更新装置1000,也包括分片对等终端设备确定装置101 和判断装置102,还包括分片下载装置103。其中,更新装置IOOO 进一步包括下载速度检测装置IOOO和传输性能相关信息确定装置 1001。分片下载装置103进一步包括下载请求发送装置1030和分片 接收装置1031。优选的,下载装置IO还包括分片资源拥有信息获取 装置104 (图中未示出)。
下面将参照附图2与图6,对位于终端设备中的下载装置10用于 从其对等终端设备下载分片的过程进行详细说明。
第三实施例
在本实施例中,我们假设终端设备1的所有的对等终端设备2、 3 和4均具有终端设备1所要下载的所有的分片,同时所有的分片均具有 相同的下载优先级。在这种情形中,分片下载最优的结果是从各个对等 终端设备文件分别下载的分片同时下载完毕。
首先,在终端设备1与其各个对等终端设备的连接的初始化时, 首先设定终端设备1与其各个对等终端设备2、对等终端设备3、对等 终端设备4之间的传输性能相同。
终端设备1将当前所有目标下载分片平均分配给3个对等终端设 备,近似地保证终端设备1从对等终端设备2、对等终端设备3、对等 终端设备4分别下载的目标下载分片同时下载完毕。
而后,分片下载装置103将根据上述各个分片的对等终端设备选 择,从各个对等终端设备处从先到后下载各个数据分片。我们认为在同
一时间,本终端设备从一个对等终端设备处只能下载一个数据分片。 优选的,下载请求发送装置1030将各个数据分片的下载请求发
送给该分片对应的对等终端设备,同时分片接收装置1031从各个对
等终端设备处接收其发送来的对应的数据分片。
在下载数据分片的同时,更新装置100多次更新本终端设备与
其多个对等终端设备之间的传输性能相关信息。
其中,下载速度检测装置IOOO检测一个或多个目标下载分片的从为其选择的对等终端设备处下载的下载速度。
而后,传输性能相关信息确定装置1001,用于根据下载速度检 测装置1000检测出的上述 一 个或多个目标下载分片的从为其选择的
对等终端设备处下载的下载速度,确定本终端设备与上述一个或多 个目标下载分片的为其选择的终端设备之间的传输性能相关信息。
优选的,更新装置ioo可以在每次从其一个对等终端设备处下载 数据分片后,根据该次下载速率更新终端设备1与该对等终端设备
之间的数据分片下载速率;也可以在满足预定条件时,才根据当次 下载速率更新终端设备1与该对等终端设备之间的数据分片下载速 率。其中,所述的预定条件包括
-上一次数据分片下载速率更新的时间与当前时间的间隔达到 一定阈值;
-从该对等终端设备下载的数据分片的数量达到 一 定阈值。 由于从各个对等终端设备下载数据分片的下载过程是一个多次 发生的过程,则根据上述更新装置IOO检测下载过程并更新终端设备 1与该对等终端设备之间的数据分片下载速率也是一个多次发生的 过程。
在更新装置100检测并更新本终端设备与各个对等终端设备之 间的传输性能相关信息的同时,分片对等终端设备确定装置101首 先从未下载的数据分片中选取一个或多个作为目标下载分片,而后 根据最近检测并更新的终端设备1与各个对等终端设备之间的数据 分片下载速率,终端设备1按预定规则i将目标下载分片分配到各个 对等终端上,以保证终端设备1从对等终端设备2、对等终端设备3、 对等终端设备4分别下载的目标下载分片同时下载完毕。其中预定规 则i包括
对于所有对等设备和所有目标下载分片,从某个对等终端设备 下载的目标下载分片的数量与本终端设备到该对等终端设备下载的 下载速率成正比(或近似成正比)。此时,能够保证(或近似地保证) 终端设备1从对等终端设备2、对等终端设备3、对等终端设备4分别
24分片对等终端设备确定装置101用于根据实时变化的本终端设
备与各个对等终端设备之间的传输性能,多次更新目标下载分片的 对等终端设备选择结果,使得该选择结果对于目标下载分片在选择
当时是最优的传输方案。分片对等终端设备确定装置101多次重复
运行,直至所有未下载分片下载完毕。其中重复的时间间隔根据由
判断装置102根据预定条件判断,优选的,预定条件包括
-自 一个或多个目标下载分片的最新对等终端选择结果信息确 定后,已经经过了预定长度的时间;
-所述一个或多个目标下载分片下载完毕,需要重新选取目标下 载分片并进行下载。
在上述分片对等终端设备确定装置101为目标下载分片选择最 优对等终端设备的同时,分片下载装置103为各个目标下载分片进行 下载时,均按照下载当时最近更新的该目标下载分片的对等终端设备 选择结果下载。
作为本实施例的一个变化例,终端设备待下载的各个分片具有不 同的下载优先级。在这种情形中,分片下载最优的结果是从各个对等终 端设备文件分别下载的分片同时下载完毕。
首先,在终端设备1与其各个对等终端设备的连接的初始化时, 首先设定终端设备1与其各个对等终端设备2、对等终端设备3、对等 终端设备4之间的传输性能相同。
为了便于说明,我们将各个待下载的分片标记为1、 2、 3、 4、 5、 6、 7、 8、 9、 10,为IO个待下载分片。注意,其中数字从小到大代表 下载的先后次序或优先级的次序。
因为默认的各个对等终端设备与本终端设备之间的传输性能相 同,所以终端设备1依优先级顺序将各个分片分配给不同的对等终端设 备。也即,将分片1分配给对等终端设备2,将分片2分配给对等终端 设备3,将分片3分配给对等终端设备4,该三个分片默认同时下载完 毕。终端设备l又将其后的分片4分配给终端设备2,将分片5分配给
25对等终端设备3,将分片6分配给对等终端设备4。依次类推,直至分 配完所有的数据分片到所对应的对等终端设备。此时,能够近似的保证 各个分片按照其不同的优先级顺序依次下载完毕。
而后,分片下载装置103将根据上述各个分片的对等终端设备选 择进行下栽。
在下栽数据分片的同时,更新装置100多次更新本终端设备与 其多个对等终端设备之间的传输性能相关信息。
在检测并更新本终端设备与各个对等终端设备之间的传输性能 相关信息的同时,分片对等终端设备确定装置101从未下载的数据 分片中选取一个或多个作为目标下载分片,然后根据最近检测并更 新的终端设备1与各个对等终端设备之间的数据分片下载速率,终 端设备按预定规则ii将目标下载分片分配到各个对等终端上,以保 证终端设备1中目标下载分片的优先级越高的数据分片越早下载完成。 分片对等终端设备确定装置101多次重复运行,直至所有未下载分 片下载完毕。其中重复的时间间隔根据由判断装置102
其中,所述预定规则ii包括
按照各个目标下载分片预定的下载优先级,依次为各个数据分片 确定一个能最早将该分片传输到本终端设备的对等终端设备,并将 该最早完成该分片传输的对等设备分配给该分片以下载。该分片由 本终端设备与其到该对等终端设备间建立的连接所传输。
优选的,该确定过程根据当前本终端设备与其所有对等设备之 间的连接的可用时间,及各条连接的下载速率。其中,所述连接的 可用时间为该连接正在传输的分片的预测完成时间,若该连接当前 没有传输任何分片,则其可用时间为当前时间;所述下载速率为本 终端设备从该连接对应的对等设备下载分片的速率。以下将描述该 确定过程的流程
对当前所有可用连接,计算该分片经各条连接传输到本终端设 备的耗时;并估算当前各条连接的可用时间。然后,将各条连接的 可用时间与其对应的传输本分片的传输耗时相加,得到该分片经各条连接从各个对等设备下载完成的预测完成时间,其中分片预测完 成时间最早的所对应的对等设备就是所寻找的能最早将该分片传输 到本终端设备的对等终端设备。而后,由于该对等终端设备及该连
接已被分配给该分片,则将该最早预测完成时间作为该连接的新的 可用时间,以便使用同样的方法,为下一个分片寻找最早将下一个 分片传输到本终端设备的对等终端设备,直至为所有的分片都找到 其对应的能将其最早传输完毕的对等终端设备。
在上述分片对等终端设备确定装置101为目标下载分片选择最 优对等终端设备的同时,分片下载装置103为各个目标下载分片进行 下载时,均按照下载当时最近更新的该目标下载分片的对等终端设备 选择结果下载。
作为上述实施例的变形,更新装置100多次向其各个对等终端 设备发送ping包及接收响应的时间,更新本终端设备与各个对等终 端设备之间的数据分片下载速率。该多次发送ping包及4妄收响应之 间可以由终端设备1按一定规则进行。所述的一定规则包括 -周期性地发送ping包及接收响应。
由于终端设备l多次向其各个对等终端设备发送ping包及接收 响应是一个多次发生的过程,则根据上述多次发送ping包及接收响 应的过程更新终端设备1与各个对等终端设备之间的数据分片下载 速率也是一个多次发生的过程。
以上实施例认为终端设备1的所有的对等终端设备2、 3和4均具 有终端设备1所要下载的所有的分片。
第四实施例
在本实施例中,我们假设终端设备1的对等终端设备2、 3和4并 不都具有终端设备1所要下载的所有的分片,即各个对等终端设备中可 能含有终端设备l所要下载的所有的分片中的一部分。同时,终端设备 1所要下栽的目标下载分片均具有相同的下载优先级。
在终端设备l与其各个对等终端设备的连接的初始化时,首先设定终端设备1与其各个对等终端设备2、对等终端设备3、对等终端设备4 之间的传输性能相同。在为各个下载优先级相同的目标下载分片选择 对等终端设备下载源时,优先对拥有该数据分片的对等终端设备数量最 少的数据分片进行分配,以此决定各个分片分配优先级。而后根据分 配优先级,依次为各个数据分片确定一个能最早将该分片传输到本终 端设备的对等终端设备,并将该最早完成该分片传输的对等设备分 配给该分片以下载。该分片由本终端设备与其到该对等终端设备间 建立的连接所传输。
优选的,该确定过程根据当前本终端设备与其所有对等设备之 间的连接的可用时间。所述连接的可用时间为该连接正在传输的分 片的预测完成时间,若该连接当前没有传输任何分片,则其可用时 间为当前时间。以下将描述该确定过程的流程
对各条可传输该分片的连接(即拥有该分片的各个对等终端设 备与本终端设备之间的连接),计算该分片经各条连接传输到本终 端设备的耗时,由于终端设备1与其各个对等终端设备2、对等终端设 备3、对等终端设备4之间的传输性能相同,则传输所有数据分片的 耗时相同;并估算当前各条连接的可用时间。然后,将各条连接的 可用时间与其对应的传输本分片的传输耗时相加,得到该分片经各
成时间最早的所对应的对等设备就是所寻找的能最早将该分片传输 到本终端设备的对等终端设备。而后,由于该对等终端设备及该连
接已被分配给该分片,则将该最早预测完成时间作为该连接的新的
可用时间,以便使用同样的方法,为下一个分片寻找最早将下一个
分片传输到本终端设备的对等终端设备,直至为所有的分片都找到
其对应的能将其最早传输完毕的对等终端设备。
在为所有目标下载分片确定其对等终端设备后,由于具有不同
分配优先级各个分片本身不具有下载优先级,则在若干对应于同 一对 等终端设备的数据分片中没有确定的传输的顺序。
而后,分片下载装置103将根据上述各个分片的对等终端设备选择,从各个对等终端设备处从先到后下载各个数据分片。
更新装置100检测数据分片的传输情况并以此更新本终端设备
与其各个对等终端设备之间的传输性能信息。
同时,分片资源拥有信息获取装置104多次获取所述多个对等 终端设备中每个对等终端设备的分片资源拥有信息,其中,所述多 个对等终端设备中每个对等终端设备的分片资源拥有信息包括该对 等终端设备所拥有的分片资源的情况。该分片资源拥有信息可以由 本终端设备向其各个对等终端设备查询获取,或者由各个终端设备 向本终端设备推送获取,也可以由点对点传输的控制设备从对等终 端设备处查询而后推送给本终端设备。
在更新装置100检测并更新本终端设备与各个对等终端设备之 间的传输性能相关信息和分片资源拥有信息获取装置104多次获取 所述多个对等终端设备中每个对等终端设备的分片资源拥有信息的 同时,分片对等终端设备确定装置101首先根据之前的分片下载完 成情况,从当前多个未下载分片中选择一个或多个分片作为一个或 多个目标下载分片,而后根据最近检测并更新的终端设备1与各个 对等终端设备之间的数据分片下载速率,以及各个对等终端设备的 分片资源拥有信息按预定规则i'将目标下载分片分配到各个对等终 端上,以保证终端设备1从对等终端设备2、对等终端设备3、对等终 端设备4分别下载的目标下载分片同时下载完毕。分片对等终端设备 确定装置101多次重复运行,直至所有未下载分片下载完毕。其中 重复的时间间隔根据由判断装置102。
其中预定规则i,包括优先对拥有该数据分片的对等终端设备数 量最少的数据分片进行分配,以此决定各个目标下载分片的分配优先 级。而后根据分配优先级,依次为各个数据分片确定一个能最早将该 分片传输到本终端设备的对等终端设备,并将该最早完成该分片传 输的对等设备分配给该分片以下载。
上述确定对等终端设备的方法如下对各条可传输该分片的连 接(即拥有该分片的各个对等终端设备与本终端设备之间的连接),计算该分片经该各条连接传输到本终端设备的耗时;并估算当前各 条连接的可用时间。然后,将各条连接的可用时间与其对应的传输 本分片的传输耗时相加,得到该分片经各条连接从各个对等设备下 载完成的预测完成时间,其中分片预测完成时间最早的所对应的对 等设备就是所寻找的能最早将该分片传输到本终端设备的对等终端 设备。而后,由于该对等终端设备及该连接已被分配给该分片,则 将该最早预测完成时间作为该连接的新的可用时间,以便使用同样 的方法,为下一个分片寻找最早将下一个分片传输到本终端设备的 对等终端设备,直至为所有的分片都找到其对应的能将其最早传输
完毕的对等终端设备。
在上述分片对等终端设备确定装置101为目标下载分片选择最 优对等终端设备的同时,分片下载装置103为各个目标下载分片进行 下载时,均按照下载当时最近更新的该目标下载分片的对等终端设备 选择结果下载。
作为本实施例的一个变化例,终端设备l所要下载的所有的分片均
具有不相同的下载优先级。
在终端设备l与其各个对等终端设备的连接的初始化时,首先设定
终端设备1与其各个对等终端设备2、对等终端设备3、对等终端设备4 之间的传输性能相同。在为各个下载优先级不同的数据分片选择对等终 端设备下载源时,优先对下载优先级高的,而拥有该数据分片的对等终 端设备数量最少的数据分片进行分配,以此决定各个分片分配优先级。 而后根据分配优先级,依次为各个数据分片确定一个能最早将该分片 传输到本终端设备的对等终端设备,并将该最早完成该分片传输的 对等设备分配给该分片以下载。该分片由本终端设备与其到该对等 终端设备间建立的连接所传输。
而后,分片下载装置103将根据上述各个分片的对等终端设备选 择,从各个对等终端设备处从先到后下载各个数据分片。
更新装置100检测数据分片的传输情况并以此更新本终端设备 与其各个对等终端设备之间的传输性能信息。同时,分片资源拥有信息获取装置104多次获取所述多个对等 终端设备中每个对等终端设备的分片资源拥有信息。
在更新装置100检测并更新本终端设备与各个对等终端设备之 间的传输性能相关信息和分片资源拥有信息获取装置104获取所述 多个对等终端设备中每个对等终端设备的分片资源拥有信息的同 时,分片对等终端设备确定装置101首先根据之前的分片下载完成 情况,从当前多个未下载分片中选择一个或多个分片作为一个或多 个目标下载分片,而后根据最近检测并更新的终端设备1与各个对 等终端设备之间的数据分片下载速率,以及各个对等终端设备的分 片资源拥有信息按预定规则ii'将目标下载分片分配到各个对等终端 上,以保证终端设备1从对等终端设备2、对等终端设备3、对等终端 设备4分别下载的目标下载分片同时下载完毕。分片对等终端设备确 定装置101多次重复运行,直至所有未下载分片下载完毕。其中重 复的时间间隔根据由判断装置102。
其中,所述预定规则ii'是按照各个目标下载分片预定的下载优 先级,以及所述多个对等终端设备中每个对等终端设备的分片资源 拥有信息,依次为目标下载分片确定一个能最早将该分片传输到本 终端设备的对等终端设备,并将该最早完成该分片传输的对等设备 分配给该分片以下载。
优选的,该确定过程根据当前本终端设备与拥有该数据分片的 各个对等设备之间的连接的可用时间,及各条连接的下载速率。其 中,所述连接的可用时间为该连接正在传输的分片的预测完成时间, 若该连接当前没有传输任何分片,则其可用时间为当前时间;所述 下载速率为本终端设备从该连接对应的对等设备下载分片的速率。 以下将描述该确定过程的流程
对与该数据分片对应的各条可用连接(即当前本终端设备与拥 有该数据分片的各个对等设备之间的连接),计算该分片经各条连 接传输到本终端设备的耗时;并估算当前各条连接的可用时间。然 后,将各条连接的可用时间与其对应的传输本分片的传输耗时相加,
31其中分片预测完成时间最早的所对应的对等设备就是所寻找的能最 早将该分片传输到本终端设备的对等终端设备。而后,由于该对等 终端设备及该连接已被分配给该分片,则将该最早预测完成时间作 为该连接的新的可用时间,以便使用同样的方法,为下一个分片寻 找最早将下一个分片传输到本终端设备的对等终端设备,直至为所 有的分片都找到其对应的能将其最早传输完毕的对等终端设备。
在上述分片对等终端设备确定装置101为目标下载分片选择最 优对等终端设备的同时,分片下载装置103为各个目标下载分片进行 下载时,均按照下载当时最近更新的该目标下载分片的对等终端设备 选择结果下载。
以上两个实施例及其变化例详细说明了在多种分片传输和分片拥 有情况下,位于终端设备中的下载装置1多次更新本终端设备与其多个 对等终端设备之间的传输性能相关信息,根据最新的传输性能相关信息
备,并按该选择结果下载目标下载分片的过程。本领域的普通技术人员 应能理解,在数据分片具有相同或不同下载优先级,同时对等节点拥有 或不完全拥有本终端设备所需的全部数据分片的情况下,分片对等终 端设备确定装置101用来为各个数据分片选择对等节点的算法是多种 多样的,不受本实施例中所详述的算法例所限。
本领域的普通技术人员应能理解本发明不限于第一和第二实施例 所基于的图1所示的基于点对点传输的网络逻辑拓朴结构和数据分片 数量,对于其他基于点对点传输的网络逻辑拓朴结构和数据分片的情 况,本发明的方法同样适用。以上对本发明的实施例进行了描述,但 是本发明并不局限于特定的系统、方法和装置,本领域内技术人员 可以在所附权利要求的范围内做出各种变形或修改。
3权利要求
1. 一种在基于点对点传输协议的终端设备中用于下载分片的方法,其中,包括以下步骤A. 多次更新本终端设备与其多个对等终端设备之间的传输性能相关信息;其中,还包括以下步骤i. 从当前多个未下载分片中选择一个或多个分片作为一个或多个目标下载分片,根据最近一次更新的本终端设备与所述多个对等终端设备之间的传输性能相关信息,由所述多个对等终端设备中为所述一个或多个目标下载分片选择各自相应的对等终端设备,以确定所述一个或多个目标下载分片的最新的对等终端选择结果信息;ii. 当满足预定条件时,重复步骤i,直至所有未下载分片下载完毕;其中,还包括以下步骤M. 基于一个或多个目标下载分片的最新对等终端选择结果信息下载所述各个目标下载分片。
2. 根据权利要求1所述的方法,其特征在于,所述步骤ii中的预定条件包括以下各项中的任 一 项-自一个或多个目标下载分片的最新对等终端选择结果信息确定后,已经经过了预定长度的时间;-所述一个或多个目标下载分片下载完毕。
3. 根据权利要求1或2所述的方法,其特征在于,所述步骤i还包括以下步骤i,.根据最近一次更新的本终端设备与所述多个对等终端设备之间的传输性能相关信息以及所述多个下载目标分片的优先级信息,由所述多个对等终端设备中为多个未下载的分片中的一个或多个目标下载分片选择各自相应的对等终端设备,以确定所述一个或多个目标下载分片的最新对等终端选择结果信息。
4. 根据权利要求1至3中任一项所述的方法,其特征在于,还包括以下步骤-多次获取所述多个对等终端设备中每个对等终端设备的分片资源拥有信息,其中,所述多个对等终端设备中每个对等终端设备的分片资源拥有信息包括该对等终端设备所拥有的分片资源的情况;其中,所述步骤i还包括从当前多个未下载分片中选择一个或多个分片作为一个或多个目标下载分片,根据最近一次更新的本终端设备与所述多个对等终端设备之间的传输性能相关信息,以及最近一次获取的所述多个对等终端设备中每个对等终端设备的分片资源拥有信息,由所述多个对等终端设备中为所述一个或多个目标下载分片选择各自相应的对等终端设备,以确定所述一个或多个目标下载分片的最新的对等终端选择结果信息。
5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述步骤M还包括-为一个或多个目标下载分片向为其选择的对等终端设备发送下载请求;-分别接收来自为所述一个或多个目标下载分片所选择的对等终端设备的分片。
6. 根据权利要求5所述的方法,其特征在于,所述步骤A还包括以下步骤-检测所述一个或多个目标下载分片的从为其选择的对等终端设备处下载的下载速度;-根据所述一个或多个目标下载分片的从为其选择的对等终端设备处下载的下载速度,确定本终端设备与所述一个或多个目标下载分片的为其选择的终端设备之间的传输性能相关信息。
7. —种在基于点对点传输协议的终端设备中用于下载分片的下载装置,其中,包括更新装置,用于多次更新本终端设备与其多个对等终端设备之间的传输性能相关信息;还包括确定装置,用于从当前多个未下载分片中选择一个或多个分片作为一个或多个目标下载分片,根据最近一次更新的本终端设备与所述多个对等终端设备之间的传输性能相关信息,由所述多个对等终端设备中为所述一个或多个目标下载分片选择各自相应的对等终端设备,以确定所述一个或多个目标下载分片的最新的对等终端选择结果信息;判断装置,用于当满足预定条件时,重复确定装置所执行的操作,直至所有未下载分片下载完毕;其中,还包括分片下载装置,用于基于一个或多个目标下载分片的最新对等终端选择结果信息下载所述各个目标下栽分片。
8. 根据权利要求7所述的下载装置,其特征在于,所述重复装置中的预定条件包括以下各项中的任 一 项-自 一个或多个目标下载分片的最新的对等终端选择结果信息确定后,已经经过了预定长度的时间;-所述一个或多个目标下载分片下载完毕。
9. 根据权利要求7或8所述的下载装置,其特征在于,所述确定装置还用于根据最近一次更新的本终端设备与所述多个对等终端设备之间的传输性能相关信息以及所述多个下载目标分片的优先级信息,由所述多个对等终端设备中为多个未下载的分片中的一个或多个目标下载分片选择各自相应的对等终端设备,以确定所述一个或多个目标下载分片的最新对等终端选择结果信息。
10. 根据权利要求7至9中任一项所述的下载装置,其特征在于,还包括分片资源拥有信息获取装置,用于多次获取所述多个对等终端设备中每个对等终端设备的分片资源拥有信息,其中,所述多个对等终端设备中每个对等终端设备的分片资源拥有信息包括该对等终端设备所拥有的分片资源的情况;其中,所述确定装置还用于从当前多个未下载分片中选择一 个或多个分片作为一个或多个目标下载分片,根据最近一次更新的 本终端设备与所述多个对等终端设备之间的传输性能相关信息,以 及最近一次获取的所述多个对等终端设备中每个对等终端设备的分 片资源拥有信息,由所述多个对等终端设备中为所述一个或多个目 标下载分片选择各自相应的对等终端设备,以确定所述一个或多个 目标下载分片的最新的对等终端选择结果信息。
11. 根据权利要求7至10中任一项所述的下载装置,其特征在于,所述分片下载装置还包括下载请求发送装置,用于为一个或多个目标下载分片向为其选 择的对等终端设备发送下载请求;分片接收装置,用于分别接收来自为所述一个或多个目标下载 分片所选择的对等终端设备的分片。
12. 根据权利要求11所述的下载装置,其特征在于,所述更新 装置还包括下载速度检测装置,用于检测一个或多个目标下载分片的从为 其选择的对等终端设备处下载的下载速度;传输性能相关信息确定装置,用于根据上述 一 个或多个目标下 载分片的从为其选择的对等终端设备处下载的下载速度,确定本终 端设备与上述一个或多个目标下载分片的为其选择的终端设备之间 的传输性能相关信息。
13. —种终端设备,其特征在于,包括根据权利要求7至12中任 一项所述的在基于点对点传输协议中用于下载分片的下载装置。
全文摘要
本发明提供了用于下载点对点传输数据分片的方法和装置。根据本发明的技术方案,终端设备根据其与对等终端设备之间传输性能的动态变化,优选地,也按照本终端设备中分片的优先级,为各个待传输的数据分片选择传输当时最合适的对等终端设备进行下载。本方案实时地考虑各个终端设备之间由于异构性导致的传输性能差异,和由于网络的动荡导致的传输速率变化变化,尽可能快地完成传输任务。本发明解决了现有技术中,分片传输不能实时考虑传输性能异构性和网络动荡的问题。
文档编号H04L29/08GK101478556SQ20071017389
公开日2009年7月8日 申请日期2007年12月31日 优先权日2007年12月31日
发明者张小兵, 王闻宇, 琰 黄 申请人:突触计算机系统(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1