CN102035866B - 一种p2p下载数据的方法和装置 - Google Patents

一种p2p下载数据的方法和装置 Download PDF

Info

Publication number
CN102035866B
CN102035866B CN200910190264.7A CN200910190264A CN102035866B CN 102035866 B CN102035866 B CN 102035866B CN 200910190264 A CN200910190264 A CN 200910190264A CN 102035866 B CN102035866 B CN 102035866B
Authority
CN
China
Prior art keywords
network node
downloading data
data
download request
downloading
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.)
Active
Application number
CN200910190264.7A
Other languages
English (en)
Other versions
CN102035866A (zh
Inventor
陈良华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN200910190264.7A priority Critical patent/CN102035866B/zh
Publication of CN102035866A publication Critical patent/CN102035866A/zh
Application granted granted Critical
Publication of CN102035866B publication Critical patent/CN102035866B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种P2P下载数据的方法和装置,所述P2P下载数据的方法包括:向未在指定时间内返回下载数据的网络节点发送停止下载请求;若在分段最大生存期内,收到网络节点对所述停止下载请求的应答,则向其他提供下载数据的网络节点发送下载数据请求,直至在指定时间内接收到下载数据。实施本发明实施例,可以有效减少数据的重复下载,节约网络资源,提高下载效率。

Description

一种P2P下载数据的方法和装置
技术领域
本发明涉及电子领域,尤其涉及一种P2P下载数据的方法和装置。
背景技术
点对点(peer-to-peer,P2P)又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。采用P2P下载技术,由单一的从服务器获取资源的模式过渡到多点获取资源的模式,并共享自身已有资源。
现有的P2P下载技术主要运用于大文件共享上面,例如,视频文件,下载请求方可向P2P网络中某个拥有该数据的网络节点发送请求,该网络节点收到请求后发送数据给下载请求方。由于网络节点的加入或者离开P2P网络具有很大的随意性,当下载请求方查询到网络节点A上有该片数据之后,发送下载请求给网络节点A,所述下载请求到达A之前的这段时间,网络节点A很有可能已经离开P2P网络了(关机、关闭P2P软件或断网等原因),因此下载请求方在等待一定的时间后如果还没有收到节点A返回的数据,则会认为网络节点A已经失效。于是,下载请求方向另一网络节点B请求同一片数据,此时,若网络节点A并不是失效,而只是网络延迟造成了响应比较慢,则下载请求方在接下来的时间会收到网络节点A和网络节点B返回的同一片数据,下载请求方只好丢弃其中的一份数据,从而造成了浪费,重复数据量大,下载效率低。
发明内容
本发明实施提供了一种P2P下载数据的方法和装置,可以有效减少数据的重复下载,节约网络资源,提高下载效率。
本发明实施例提供的一种P2P下载数据的方法,包括:
向未在指定时间内返回下载数据的网络节点发送停止下载请求;
若在分段最大生存期内,收到网络节点对所述停止下载请求的应答,则向其他提供下载数据的网络节点发送下载数据请求,直至在指定时间内接收到下载数据。
相应地,本发明实施例提供的一种P2P下载数据的装置,包括:
第一判断模块,用于判断是否在指定时间内收到本P2P下载数据的装置选择的网络节点返回的下载数据;
停止请求发送模块,用于在所述第一判断模块判断为否时,向未在指定时间内返回下载数据的网络节点发送停止下载请求;
所述第一判断模块还用于在所述下载请求发送模块向其他网络节点发送了下载数据请求之后,判断是否在另一个指定时间内收到其他提供下载数据的网络节点返回的下载数据;
数据下载模块,用于在所述第一判断模块判断为是时,接收提供下载数据的网络节点返回的下载数据,完成数据下载。
实施本发明实施例,下载请求方通过发送停止下载请求给在指定时间内无响应的网络节点,告知其不再接收该网络节点的下载数据,而改向其他网络节点下载数据,从而减少数据的重复下载,节约网络资源,提高下载效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种P2P下载数据的方法的第一实施例流程图;
图2是本发明提供的一种P2P下载数据的方法的第二实施例流程图;
图3是本发明提供的一种P2P下载数据的方法的第三实施例,第四实施例和第五实施例的流程图;
图4是本发明提供的一种P2P下载数据的装置的结构示意图;
图5是本发明提供的一种P2P下载的数据的装置的获取列表模块的结构示意图。
具体实施方式
本发明实施例提供了一种P2P下载的方法,可以有效减少数据的重复下载,节约网络资源,提高下载效率。
参见图1,是本发明提供的一种P2P下载的方法的第一实施例流程图;
本实施例提供的方法包括:
步骤101,向未在指定时间内返回下载数据的网络节点发送停止下载请求;
具体的,下载请求方向未在指定时间内返回下载数据的网络节点发送停止下载请求,所述停止下载请求指示所述网络节点不再返回下载数据。所述指定时间为2t,t为所述下载请求的传送到网络节点的超时时间。超时时间是网络节点收到下载请求或网络节点返回下载请求方数据的最长等待时间。
步骤102,若在分段最大生存期内,收到网络节点对所述停止下载请求的应答,则向其他提供下载数据的网络节点发送下载数据请求,直至在指定时间内接收到下载数据。
具体的,在分段最大生存期内,若下载请求方收到网络节点的停止下载请求的应答,则说明该网络节点没有失效,可能只是无服务能力了或者网络延迟比较大,于是放弃从该网络节点下载数据,而发送下载数据请求给其他可以提供下载数据的网络节点,直至在另一个2t时间内能够下载到数据。
所述分段最大生存期2MSL(Maximum Segment Lifetime,分段最大生存期),MSL用于指明报文在因特网上最长生存时间。
实施本发明实施例,下载请求方通过发送停止下载请求给在指定时间内无响应的网络节点,告知其不再接收该网络节点的下载数据,而改向其他网络节点下载数据,从而减少数据的重复下载,节约网络资源,提高下载效率。
参见图2,是本发明提供的一种P2P下载的方法的第二实施例流程图;
本实施例提供的方法包括:
步骤201,获取包括多个提供下载数据的网络节点的网络节点列表;
具体地,下载请求方实时查询能够提供下载数据的网络节点,并获取拥有能够提供下载数据的网络节点,若网络中有服务器,可以直接从服务器查询拥有所需下载数据的网络节点,若在KAD网络(Kademlia,无服务器网络)中,可不通过服务器,而直接搜索各网络节点,获取拥有下载数据的网络节点,下载请求方将所述能够提供下载数据的网络节点形成网络节点列表。由于网络节点加入和离开P2P网络有很大的随意性,因此下载请求方根据实时查询网络节点的变化情况,例如发送一个hello消息给其邻居网络节点,若有邻居网络节点返回对hello消息的响应消息,则表示该网络节点仍然属于P2P网络,从而根据对网络节点的实时查询,实时更新所述网络节点列表。
步骤202,下载请求方在所述网络节点列表中选择一个网络节点,向其发送下载数据请求。
步骤203,下载请求方判断是否在指定时间内收到所述选择的网络节点返回的下载数据。
在指定时间2t内,若下载请求方收到选择的网络节点返回的下载数据,则进入步骤204。在指定时间2t内,若下载请求方没有收到选择的网络节点返回的下载数据,则进入步骤205。
步骤204,继续接收下载数据直至下载完毕,结束下载流程。
步骤205,向未在指定时间内返回下载数据的网络节点发送停止下载请求;
具体的,下载请求方向未在指定时间2t内返回下载数据的网络节点发送停止下载请求,所述停止下载请求可以是双方约定一致的自定义命令字,该自定义命令字指示未在指定时间2t内返回下载数据的网络节点不要返回下载数据
步骤206,下载请求方判断所述网络节点是否返回对所述停止下载请求的应答或返回下载数据或所述网络节点无应答。
在分段最大生存期2MSL内,若下载请求方收到网络节点的停止下载请求的应答,则说明该网络节点没有失效,可能只是无服务能力了或者网络延迟比较大,于是暂时放弃从该网络节点下载数据,进入步骤209。
在所述分段最大生存期2MSL内,若下载请求方收到所述网络节点返回的下载数据,则说明,网络节点在收到下载数据请求后,收到停止下载请求之前,已经向下载请求方发送了所需下载的数据,但是网络迟延比较大,在指定时间2t内没有到达下载请求方,而是在2MSL时间段内,下载数据才返回到下载请求方,则进入步骤207。
在所述分段最大生存期内2MSL内,若下载请求方未收到网络节点对所述停止下载请求的应答,也没有收到网络节点返回的下载数据,说明该网络节点已经失效,无法返回下载数据,则进入步骤208。
步骤207,下载请求方继续接收下载数据,完成数据下载流程。
步骤208,将该网络节点从所述网络节点列表中删除,下载请求方以后不再请求从该网络节点下载数据,然后进入步骤209。
步骤209,下载请求方向其他提供下载数据的网络节点发送下载数据请求,回到步骤203,直至在指定时间2t内接收到下载数据。
可选地,下载请求方还可以对所需下载的数据划分优先级,假设,该P2P网络是视频点播系统,用户在点播视频时,用户作为下载请求方,点播的视频作为所需下载的数据,在视频某播放点(如10分钟的视频,假设当前播放到第3分钟,第3分钟对应的数据为第3.5M,则这里指的播放点为3.5M)后离播放点越近的数据设置为越高的优先级;在播放点后面,离播放点越远的数据设置为越低优先级;播放点前面的数据设置为最低优先级。另外,所述指定时间的长短也可以根据下载数据的优先级进行动态调整,优先级越高的数据,指定时间应该设置越短,以便在网络节点比较繁忙的时候,尽可能快一些选择新的网络节点来下载数据,而优先级略低的数据,指定时间可以设置长一些,以便尽量避免频繁更换网络节点,减少更换网络节点带来的交互开销。这样划分数据的优先级并且根据数据的优先级来设定指定时间的长短可以更加高效的下载所需数据,在视频点播系统中,用户观看的视频会更流畅。
实施本发明实施例,通过发送停止下载请求给在指定时间内无响应的网络节点,将无应答失效的网络节点剔除,从而最快速的选择能够有效提供下载数据的网络节点,高效率地下载数据,减少数据的重复下载,节约网络资源。
参见图3,是本发明提供的一种P2P下载数据的方法的第三实施例流程图;本实施例中,假设下载请求方查询到能够提供下载数据的网络节点为网络节点A和网络节点B。网络节点A可在2MSL内返回停止下载请求的应答,但是无法提供下载数据,网络节点B可在指定时间2t提供下载数据,且网络节点列表在下载过程中没有发生变化,本实施例提供的方法包括:
步骤301,下载请求方获取包括多个提供下载数据的网络节点的网络节点列表,例如,下载请求方查询到网络节点A和网络节点B能够提供下载数据,则将网络节点A和网络节点B形成网络节点列表。
步骤302,下载请求方在所述网络节点列表中选择一个网络节点A,向其发送下载数据请求。
步骤303,下载请求方判断是否在指定时间2t内收到网络节点A返回的下载数据,判断为否,下载请求方在指定时间2t内没有收到选择的网络节点返回的下载数据,则进入步骤305。
步骤305,下载请求方向未在指定时间2t内返回下载数据的网络节点A发送停止下载请求,所述停止下载请求可以是双方约定一致的自定义命令字,该自定义命令字指示未在指定时间2t内返回下载数据的网络节点A不要返回下载数据。
步骤306,下载请求方判断所述网络节点是否返回对所述停止下载请求的应答或返回下载数据或所述网络节点无应答。
具体的,在2MSL内,下载请求方判断收到网络节点A的停止下载请求的应答,则说明该网络节点A没有失效,可能只是无服务能力了或者网络延迟比较大,于是暂时放弃向网络节点A请求下载数据,进入步骤309。
步骤309,下载请求方向网络节点B发送下载数据请求,之后下载请求方与网络节点B的交互过程与之前网络节点A的交互过程类似,进入步骤303。
步骤303,下载请求方判断在指定时间2t内是否收到B返回的下载数据,判断为是,下载请求方在2t时间内收到网络节点B返回的数据,则进入步骤304。
步骤304,下载请求方接收网络节点B提供的下载数据,完成数据下载。
实施本发明实施例,通过发送停止下载请求给在指定时间内无响应的网络节点,将无应答失效的网络节点剔除,从而最快速的选择能够提供下载数据的网络节点,高效率地下载数据,减少数据的重复下载,节约网络资源。
同样参见图3,说明本发明提供的一种P2P下载数据的方法的第四实施例。
本实施例中,假设下载请求方查询到能够提供下载数据的网络节点为网络节点A,网络节点B,网络节点C和网络节点D。网络节点A在2MSL内能够返回停止下载请求的应答,但是暂时无法提供下载数据,网络节点B在2MSL内无应答,网络节点C可以提供下载数据,但是延迟较大(在2t到2MSL时间内返回下载数据,无法再指定时间2t内返回下载数据);网络节点D可在2t内提供下载数据。且假设该网络节点列表在下载过程中没有发生变化,所述方法包括:
步骤301,下载请求方获取包括多个提供下载数据的网络节点的网络节点列表;
具体的,下载请求方实时查询提供下载数据的网络节点,查询到网络节点A,B,C,D能够提供下载数据,则将网络节点A,B,C,D形成网络节点列表。假设该网络节点列表在下载过程中没有发生变化。
步骤302,下载请求方在所述网络节点列表中选择一个网络节点A,向其发送下载数据请求。
步骤303,下载请求方判断是否在指定时间2t内收到网络节点A返回的下载数据。下载请求方判断为否,下载请求方在指定时间2t内没有收到选择的网络节点返回的下载数据,则进入步骤305。
步骤305,下载请求方向未在指定时间2t内返回下载数据的网络节点A发送停止下载请求,所述停止下载请求可以是双方约定一致的自定义命令字,该自定义命令字指示所述未在指定时间2t内返回下载数据的网络节点A不要返回下载数据。
步骤306,下载请求方判断所述网络节点是否返回对所述停止下载请求的应答或返回下载数据或所述网络节点无应答。
在分段最大生存期2MSL内,下载请求方判断为收到网络节点A的停止下载请求的应答,则说明该网络节点A没有失效,可能只是无服务能力或者网络延迟比较大,于是,暂时放弃向该网络节点A请求下载数据,进入步骤309。
步骤309,下载请求方向网络节点B发送下载数据请求。下载请求方与网络节点B的交互过程与之前网络节点A的交互过程类似,进入步骤303。
步骤303,下载请求方在2t时间内没收到网络节点B返回的数据,则进入步骤305。
步骤305,下载请求方向未在指定时间2t内返回下载数据的网络节点B发送停止下载请求,该停止下载请求指示网络节点B不要返回下载数据。
步骤306,下载请求方判断所述网络节点是否返回对所述停止下载请求的应答或返回下载数据或所述网络节点无应答。
具体的,在2MSL内,下载请求方没有收到网络节点B的停止下载请求的应答,则说明该网络节点B已经失效,无法返回下载数据了,于是进入步骤308,
步骤308,下载请求方将网络节点B从网络节点列表中删除,然后,进入步骤309。
步骤309,下载请求方继续向其他提供下载数据的网络节点发送下载数据请求,发送下载数据请求给网络节点C,之后下载请求方与网络节点C的交互过程与之前网络节点A的交互过程类似,进入步骤303。
进入步骤303,下载请求方在2t时间内没收到网络节点C返回的数据,则,进入步骤305。
步骤305,向未在指定时间2t内返回下载数据的网络节点C发送停止下载请求,所述停止下载请求指示未在指定时间2t内返回下载数据的网络节点C不要返回下载数据。
步骤306,下载请求方判断所述网络节点是否返回对所述停止下载请求的应答或返回下载数据或所述网络节点无应答。
具体的,在分段最大生存期2MSL内,下载请求方判断为收到了发自网络节点C的下载数据,则进入步骤307,
步骤307,下载请求方继续接收下载数据,完成下载流程。
实施本发明实施例,通过发送停止下载请求给在指定时间内无响应的网络节点,将无应答失效的网络节点剔除,从而最快速的选择能够有效提供下载数据的网络节点,高效率地下载数据,减少数据的重复下载,节约网络资源。
同样参见图3,说明本发明提供的一种P2P下载数据的方法的第五实施例。
本实施例中,假设下载请求方查询到能够提供下载数据的网络节点为网络节点A,网络节点B,网络节点C和网络节点D。网络节点A无法返回下载数据,但是可在2MSL内返回停止下载请求应答,网络节点B无法返回下载数据且在2MSL内无法返回停止下载请求应答,网络节点C可返回下载数据,但是延迟较大,无法再指定时间2t内返回下载数据(在2t到2MSL内返回下载数据);网络节点D可在2t内返回下载数据。网络节点列表在下载中会发生变化,下载过程中,网络节点C离开了P2P网络,能够提供下载数据的网络节点E进入了P2P网络,假设E可在2t内返回下载数据。本实施例提供的方法包括:
步骤301,获取包括多个提供下载数据的网络节点的网络节点列表;
下载请求方实时查询提供下载数据的网络节点,根据特定算法获取拥有所需要下载数据的网络节点。,查询到网络节点A,B,C,D能够提供下载数据。则将网络节点A,B,C,D形成网络节点列表。
步骤302,下载请求方在所述网络节点列表中选择一个网络节点A,向其发送下载数据请求。
步骤303,下载请求方判断是否在指定时间2t内收到网络节点A返回的下载数据,下载请求方判断为否,在指定时间2t内没有收到选择的网络节点返回的下载数据,进入步骤305。
步骤305,向未在指定时间2t内返回下载数据的网络节点A发送停止下载请求,所述停止下载请求可以是双方约定一致的自定义命令字,该命令字指示未在指定时间2t内返回下载数据的网络节点A不要返回下载数据。
步骤306,下载请求方判断所述网络节点是否返回对所述停止下载请求的应答或返回下载数据或所述网络节点无应答。
具体的,在分段最大生存期2MSL内,下载请求方判断为收到网络节点A的停止下载请求的应答,则说明该网络节点A没有失效,可能是网络延迟比较大,于是,暂时放弃该网络节点A。进入步骤309。
步骤309,则向网络节点B发送下载数据请求。之后下载请求方与网络节点B的交互过程与之前网络节点A的交互过程类似,进入步骤303。
步骤303,判断下载请求方在2t时间内没收到网络节点B返回的数据,若判断为否,进入步骤305。
步骤305,下载请求方向未在指定时间2t内返回下载数据的网络节点B发送停止下载请求,告诉网络节点B不要返回下载数据。
步骤306,下载请求方判断所述网络节点是否返回对所述停止下载请求的应答或返回下载数据或所述网络节点无应答。
具体的,在分段最大生存期2MSL内,下载请求方没有收到网络节点B的停止下载请求的应答,则说明该网络节点B已经失效,可能无服务能力或者离开P2P网络,无法返回下载数据,于是进入步骤308。
步骤308,下载请求方从网络节点列表中删除网络节点B。
步骤309,继续向其他提供下载数据的网络节点发送下载数据请求,假设,此时网络节点列表发生变化,网络节点C离开P2P网络,已经不在网络节点列表中,而能够提供下载数据的网络节点E进入P2P网络,此时,网络节点列表更新为网络节点A,B,D,E,则发送下载数据请求给网络节点D,之后下载请求方与网络节点D的交互过程与之前网络节点A的交互过程类似,也即进入步骤303~304。
步骤303,判断下载请求方在2t时间内收到网络节点D返回的数据,判断为是,则进入步骤304。
步骤304,下载请求方继续接收完毕网络节点D返回的数据,完成数据下载。
实施本发明实施例,通过发送停止下载请求给在指定时间内无响应的网络节点,将无应答失效的网络节点剔除,从而最快速的选择能够有效提供下载数据的网络节点,高效率地下载数据,减少数据的重复下载,节约网络资源。
参见图4,是本发明提供的一种P2P下载数据的装置的结构示意图;
本实施例中提供的P2P下载数据的装置包括:
第一判断模块14,连接于第一判断模块14的停止请求发送模块11,连接于停止请求发送模块11的下载请求发送模块12,连接于下载请求发送模块12以及第一判断模块14的数据下载模块16。
第一判断模块14,用于判断是否在指定时间内收到本P2P下载数据的装置选择的网络节点返回的下载数据;
若第一判断模块14判断网络节点A在2t时间内返回了下载数据,则数据下载模块16接收下载数据,完成下载流程,若第一判断模块14判断网络节点A在2t内没有返回下载数据,则停止请求发送模块11发送停止下载请求给所述网络节点A。
停止请求发送模块11,用于在所述第一判断模块14判断为否时,向未在指定时间内返回下载数据的网络节点发送停止下载请求;
具体地,停止请求发送模块11向未在指定时间2t内返回下载数据的网络节点A发送停止下载请求,所述停止下载请求指示网络节点A不再返回下载数据。
下载请求发送模块12,用于向提供下载数据的网络节点发送下载数据请求。
若停止请求发送模块11发送给网络节点的停止请求没有返回应答,则下载请求发送模块12发送下载请求给其他能够提供下载数据的网络节点。
所述第一判断模块11还用于在所述下载请求发送模块12向其他网络节点发送了下载数据请求之后,第一判断模块14判断是否在另一个指定时间内收到其他提供下载数据的网络节点返回的下载数据;
数据下载模块16,用于在所述第一判断模块14判断为是时,接收所述返回的下载数据,完成数据下载。
可选地,所述装置还包括:
列表获取模块13,用于获取包括多个提供下载数据的网络节点的网络节点列表;
参见图5,是本发明提供的一种P2P下载的数据的装置的获取列表模块的结构示意图,该列表获取模块13,包括:
实时查询单元131,用于实时查询提供下载数据的网络节点;
列表形成单元132,用于将所述网络节点形成网络节点列表。
具体的,列表获取模块13的实时查询单元131直接从服务器查询拥有所需下载数据的网络节点。假设查询到网络节点A,B,C,D能够提供下载数据。则列表形成单元132将网络节点A,B,C,D形成网络节点列表。需要注意的是,由于P2P网络中各网络节点的加入和离开都有很大的随意性,实时更新网络节点列表也处于不断变化中。列表形成单元132根据实时查询单元131实时查询到的网络节点实时更新网络节点列表。
可选地,所述列表获取模块13还包括:
节点删除单元133,用于将未返回停止下载请求的应答的网络节点从网络节点列表中删除。假设网络节点列表中网络节点A失效且无法下载数据了,节点删除单元133将实时查询单元131查询到的能够提供下载数据的网络节点A删除,列表形成单元132也同时更新网络节点列表,将列表中的网络节点A删除。
第二判断模块15,用于在所述下载请求发送模块向未在指定时间内返回下载数据的网络节点发送停止下载请求后的在最大生存期内,判断所述网络节点返回的是对所述停止下载请求的应答或下载数据或网络节点无应答。
停止请求发送模块11发送停止下载请求给网络节点A之后,第二判断模块15在2MSL内进行判断。
第二判断模块15若判断最大生存期内收到网络节点返回了停止下载请求的应答,则下载请求发送模块12发送下载请求给其他能够提供下载数据的网络节点。
第二判断模块15若判断在最大生存期内收到网络节点返回的数据,则数据下载模块16还用于在网络节点返回下载数据时,接收下载数据,完成数据下载。
第二判断模块15若判断最大生存期内没有收到网络节点返回的应答,且也没有收到网络节点返回的数据,则判断网络节点无应答,列表获取模块13的节点删除单元133将未返回停止下载请求的应答的网络节点从网络节点列表中删除,更新网络节点列表后,下载请求发送模块12发送下载请求给网络节点列表中其他能够提供下载数据的网络节点。
下载请求方下载数据时,列表获取模块13获取包括多个提供下载数据的网络节点的网络节点列表,接着,下载请求发送模块12向所述网络节点列表中的一个网络节点发送下载数据请求,然后,第一判断模块在指定时间内判断是否收到该网络节点返回的下载数据,若第一判断模块14判断为是,则数据下载模块16接收下载数据,完成数据下载。若第一判断模块14判断为否,则停止请求发送模块12发送停止下载请求给所述网络节点,在2MSL内,第二判断模块15判断启动,若第二判断模块15判断为收到停止下载请求的应答,则下载请求发送模块12向网络节点列表中的其他网络节点发送下载数据请求;若第二判断模块15判断为网络节点无应答,则列表获取模块13删除该网络节点后,由下载请求发送模块12向网络节点列表中其他网络节点发送数据下载请求;若第二判断模块15判断为收到下载数据,数据下载模块16接收下载数据,完成数据下载。
实施本发明实施例,通过停止请求发送模块发送停止下载请求给在指定时间内无响应的网络节点,从而将无应答失效的网络节点删除,最快速的选择能够有效提供下载数据的网络节点,高效率地下载数据,减少数据的重复下载,节约网络资源。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (12)

1.一种P2P下载数据的方法,其特征在于,包括:
向未在指定时间内返回下载数据的网络节点发送停止下载请求;
若在分段最大生存期内,收到网络节点对所述停止下载请求的应答,则向其他提供下载数据的网络节点发送下载数据请求,直至在指定时间内接收到下载数据。
2.如权利要求1所述的P2P下载数据的方法,其特征在于,所述向未在指定时间内返回下载数据的网络节点发送停止下载请求之前,包括:
获取包括多个提供下载数据的网络节点的网络节点列表;
在所述网络节点列表中选择一个网络节点,向其发送下载数据请求。
3.如权利要求2所述的P2P下载数据的方法,其特征在于,向所述选择的网络节点发送下载数据请求之后包括:
判断是否在指定时间内收到所述选择的网络节点返回的下载数据,若是,则继续接收下载数据,完成数据下载流程;若否,转入向未在指定时间内返回下载数据的网络节点发送停止下载请求的流程。
4.如权利要求2所述的P2P下载数据的方法,其特征在于,所述方法还包括:
若在分段最大生存期内,未收到网络节点对所述停止下载请求的应答,则将该网络节点从所述网络节点列表中删除。
5.如权利要求1所述的P2P下载数据的方法,其特征在于,所述方法还包括:
若在所述分段最大生存期内收到所述网络节点发回的下载数据,则继续接收下载数据,完成数据下载流程。
6.如权利要求2所述的P2P下载数据的方法,其特征在于,所述获取包括多个提供下载数据的网络节点的网络节点列表,包括:
实时查询提供下载数据的网络节点;
将所述网络节点形成网络节点列表。
7.如权利要求1-6中任一项所述的P2P下载数据的方法,其特征在于,所述指定时间的长短根据下载数据的优先级进行动态调整。
8.一种P2P下载数据的装置,其特征在于,所述装置包括:
第一判断模块,用于判断是否在指定时间内收到本P2P下载数据的装置选择的网络节点返回的下载数据;
停止请求发送模块,用于在所述第一判断模块判断为否时,向未在指定时间内返回下载数据的网络节点发送停止下载请求;
下载请求发送模块,用于在分段最大生存期内,收到网络节点对所述停止下载请求的应答时,向除所述未在指定时间内返回下载数据的网络节点以外的其他提供下载数据的网络节点发送下载数据请求;
所述第一判断模块还用于在所述下载请求发送模块向其他网络节点发送了下载数据请求之后,判断是否在另一个指定时间内收到其他提供下载数据的网络节点返回的下载数据;
数据下载模块,用于在所述第一判断模块判断为是时,接收提供下载数据的网络节点返回的下载数据,完成数据下载。
9.如权利要求8所述的P2P下载数据的装置,其特征在于,所述装置还包括:
列表获取模块,用于获取包括多个提供下载数据的网络节点的网络节点列表。
10.如权利要求8所述的P2P下载数据的装置,其特征在于,所述装置还包括:
第二判断模块,用于在所述下载请求发送模块向未在指定时间内返回下载数据的网络节点发送停止下载请求后的最大生存期内,判断所述网络节点是否返回对所述停止下载请求的应答或返回下载数据或所述网络节点无应答。
11.如权利要求10所述的P2P下载数据的装置,其特征在于,所述数据下载模块还用于在第二判断模块判断网络节点返回下载数据时,接收下载数据,完成数据下载。
12.如权利要求11所述的P2P下载数据的装置,其特征在于,所述列表获取模块,包括:
实时查询单元,用于实时查询提供下载数据的网络节点;
列表形成单元,用于将所述网络节点形成网络节点列表;
节点删除单元,用于在所述第二判断模块判断网络节点无应答时,将所述网络节点从网络节点列表中删除。
CN200910190264.7A 2009-09-24 2009-09-24 一种p2p下载数据的方法和装置 Active CN102035866B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910190264.7A CN102035866B (zh) 2009-09-24 2009-09-24 一种p2p下载数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910190264.7A CN102035866B (zh) 2009-09-24 2009-09-24 一种p2p下载数据的方法和装置

Publications (2)

Publication Number Publication Date
CN102035866A CN102035866A (zh) 2011-04-27
CN102035866B true CN102035866B (zh) 2014-06-04

Family

ID=43888187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910190264.7A Active CN102035866B (zh) 2009-09-24 2009-09-24 一种p2p下载数据的方法和装置

Country Status (1)

Country Link
CN (1) CN102035866B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102917028B (zh) * 2012-09-26 2016-02-03 深圳好视网络科技有限公司 网络视频直播的缓存方法及装置
US9967172B2 (en) * 2016-10-11 2018-05-08 Panasonic Avionics Corporation Methods and systems for content loading and offloading to and from a transportation vehicle

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039217A (zh) * 2007-04-12 2007-09-19 杭州华三通信技术有限公司 升级控制方法及控制装置
CN101188569A (zh) * 2006-11-16 2008-05-28 饶大平 在网络上构建数据量子空间的方法及分布式文件存储系统
CN101202979A (zh) * 2006-12-15 2008-06-18 深圳市杰普林数码科技限公司 一种手机间互传文件的方法
CN101262487A (zh) * 2008-04-25 2008-09-10 北京中企开源信息技术有限公司 点对点客户端的数据传输处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188569A (zh) * 2006-11-16 2008-05-28 饶大平 在网络上构建数据量子空间的方法及分布式文件存储系统
CN101202979A (zh) * 2006-12-15 2008-06-18 深圳市杰普林数码科技限公司 一种手机间互传文件的方法
CN101039217A (zh) * 2007-04-12 2007-09-19 杭州华三通信技术有限公司 升级控制方法及控制装置
CN101262487A (zh) * 2008-04-25 2008-09-10 北京中企开源信息技术有限公司 点对点客户端的数据传输处理方法及装置

Also Published As

Publication number Publication date
CN102035866A (zh) 2011-04-27

Similar Documents

Publication Publication Date Title
CN102118376B (zh) 内容分发网络服务器及内容下载方法
CN102523256B (zh) 内容的管理方法的方法、装置和系统
CN101136911B (zh) 一种采用p2p技术下载文件的方法和p2p下载系统
CN108173774B (zh) 一种客户端的升级方法及系统
CN102394880B (zh) 内容分发网络中的跳转响应处理方法和设备
US20020083191A1 (en) Communication distribution controlling method and apparatus
CN102413155B (zh) 数据传输方法及系统
CN101296152B (zh) 对等连接网络的数据调度方法和系统
CN103873597B (zh) 分布式网页下载方法和系统
CN103516744A (zh) 一种数据处理的方法和应用服务器及集群
CN106453460B (zh) 一种文件分发方法、装置和系统
CN102185920A (zh) 基于网络的下载方法和系统、终端
CN101720136A (zh) 客户端邻居节点数目控制方法和装置、缓存系统
CN110392020B (zh) 一种流媒体资源的传输方法及系统
CN108156257A (zh) 一种信息推送方法及装置
CN101741750A (zh) P2p中资源下载方法及其系统
CN101483604A (zh) 资源列表发送方法、装置和系统
CN103312752A (zh) 点对点网络信息分发方法、下载节点、索引服务器及系统
CN112416881A (zh) 基于区块链的智能终端存储共享方法、装置、介质及设备
CN103024085A (zh) 一种处理p2p节点请求的系统及方法
CN102055644A (zh) 分布式目录服务系统中负载管理的方法、装置和系统
CN102891858A (zh) 一种网络数据传输方法、系统及代理服务器
CN110048906B (zh) 一种判断节点传输质量的方法、系统、装置及服务器
CN104158904A (zh) 一种云辅助移动p2p网络协同下载方法
CN102035866B (zh) 一种p2p下载数据的方法和装置

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