下载数据的方法、装置和系统及节点的制作方法

文档序号:7710290阅读:120来源:国知局
专利名称:下载数据的方法、装置和系统及节点的制作方法
技术领域
本发明涉及计算机网络通信领域,特别涉及下载数据的方法、装置和系统 及节点。
背景技术
随着计算机网络通信的发展,下载数据的方式在不断地进步,下载数据的
速度越来越快。P2P (Peer to Peer,点对点)下载是目前网上流行的下载方式之 一,P2P下载是通过种子的方式进行下载,具体过程如下当节点请求者(请求 下载数据的节点)需要下载数据时,向服务器查询种子(含有节点请求者需要 下载的数据的节点);月良务器查询到种子,并向节点请求者返回种子消息;节点 请求者接收种子消息,乂人种子中下载数据,并且种子数量越多,下载数据的速 度就会越快。
然而在实现本发明的过程中,发明人发现现有技术至少存在以下问题 当节点请求者获取到的种子数量较少时,节点请求者很难获取较快的下载 速度。

发明内容
为了提高下载数据的速度,本发明实施例提供了一种下载数据的方法、装置 和系统及节点。所述4支术方案如下
一方面,本发明实施例提供了一种下载数据的方法,所述方法包括 从当前种子中下载数据,并判断所述当前种子的总数量是否小于预设的种 子数量阈值;
当判断结果是所述当前种子的总数量小于所述预设的种子数量阈值时,指 示所述当前种子扩展新种子; 获取新种子的信息;
同时从所述新种子和所述当前种子中下载所述数据。进一步地,所述指示所述当前种子扩展新种子之后,还包括 所述当前种子接收扩展新种子的指示;
所述当前种子获取空闲节点,并指示所述空闲节点从所述当前种子中下栽 所述数据,使得所述空闲节点成为新种子。
进一步地,所述当前种子获取空闲节点,具体为 所述当前种子自身查询并得到空闲节点;和/或 所述当前种子通过服务器查询并得到空闲节点。 进一步地,所述获取新种子的信息具体为 从服务器获取新种子的信息; 或从所述当前种子获取新种子的信息; 或/人所述新种子获取新种子的信息。
一方面,本发明实施例提供了一种下载数据的装置,所述装置包括
判断模块,用于从当前种子中下载数据,并判断所述当前种子的总数量是 否小于预设的种子数量阈值;
指示模块,用于当所述判断模块的判断结果是所述当前种子的总数量小于 所述预i殳的种子凄t量阈值时,指示所述当前种子扩展新种子;
第一获取模块,用于在所述指示模块指示所述当前种子扩展新种子后,获 取新种子的信息;
下载才莫块,用于在所述第一获取模块获取新种子的信息后,同时从所述新 种子和所述当前种子中下载所述数据。
进一步地,所述第一获取模块,具体用于在所述指示模块指示所述当前种 子扩展新种子后,从服务器获取新种子的信息;
或所述第一获取模块,具体用于在所述指示模块指示所述当前种子扩展新种 子后,从所述当前种子获取新种子的信息;
或所述第一获取模块,具体用于在所述指示模块指示所述当前种子扩展新种 子后,从所述新种子获取新种子的信息。
一方面,本发明实施例提供了一种下载数据的系统,所述系统包括
节点请求者,用于从当前种子中下载数据,并判断所述当前种子的总数量 是否小于预设的种子数量阈值;当判断结果是所述当前种子的总数量小于所述 预设的种子数量阈值时,指示所述当前种子扩展新种子;获取新种子的信息;同时从所述新种子和所述当前种子中下载所述数据。
进一步地,所述系统还包括
所述当前种子,用于接收扩展新种子的指示;获取空闲节点,并指示所述
空闲节点从所述当前种子中下载所述数据;
所述空闲节点,用于接收从所述当前种子中下载所述数据的指示,从所述
当前种子中下载所述凄t据,成为新种子。
进一步地,所述当前种子,具体用于查询并得到空闲节点;和/或 所述当前种子,具体用于通过月良务器查询并得到空闲节点。 一方面,本发明实施例提供了一种节点,所述节点包括 接收模块,用于接收扩展新种子的指示;
获取模块,用于在所述接收模块接收扩展新种子的指示后,获取空闲节点, 并指示所述空闲节点从所述节点中下载数据,使得所述空闲节点成为新种子。 进一步地,所述获取才莫块,具体用于查询并得到空闲节点;和/或 所述获取漠块,具体用于通过月良务器查询并得到空闲节点。 本发明实施例提供的技术方案的有益效果是
通过种子实时传递下载扩展出新种子,使得种子数量能够实时扩充,可以 快速地提高下载速度,节省了下载时间,极大地提升了用户体验;并且,通过 种子扩展出新种子,增加了种子利用率;另外,种子数量实时扩充,无需服务 器参与,不需要额外增加服务器负担。


图1是本发明实施例1提供的一种下载数据的方法流程图; 图2是本发明实施例2提供的一种系统架构示意图; 图3是本发明实施例2提供的一种下载数据的方法流程图; 图4是本发明实施例3提供的一种下载数据的装置结构示意图; 图5是本发明实施例4提供的一种下载数据的系统结构示意图; 图6是本发明实施例5提供的一种节点的结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。 实施例1
参见图1,本发明实施例提供了一种下载数据的方法,该方法包括 101:从当前种子中下载数据,并判断当前种子的总数量是否小于预设的种 子数量阈值;
102:当判断结果是当前种子的总数量小于预设的种子数量阈值时,指示当 前种子扩展新种子;
103:获取新种子的信息;
104:同时从新种子和当前种子中下载数据。
进一步地,指示当前种子扩展新种子之后,还包括
当前种子接收扩展新种子的指示;
当前种子获取空闲节点,并指示空闲节点从当前种子中下载数据,使得空 闲节点成为新种子。
进一步地,当前种子获取空闲节点,具体为 当前种子自身查询得到空闲节点;和/或 当前种子通过服务器查询得到空闲节点。 进一步地,获取新种子的信息具体为 从服务器获取新种子的信息; 或从当前种子获取新种子的信息; 或从新种子获取新种子的信息。
本发明实施例所述的方法,通过种子实时传递下载扩展出新种子,使得种 子数量能够实时扩充,可以快速地提高下载速度,节省了下载时间,极大地提 升了用户体验;并且,通过种子扩展出新种子,增加了种子利用率;另外,种
子数量实时扩充,无需服务器参与,不需要额外增加服务器负担。 实施例2
参见图2,为本发明实施例提供的一种系统架构示意图,其中种子请求者A、 种子l和网络中的节点(节点1、节点2……节点N)分别与服务器相连,下面 将结合图2详细描述本发明实施例提供的下载数据的方法具体是如何下载数据 的。参见图3,本发明实施例提供了一种下载数据的方法,该方法包括
8201:节点请求者A需要下载数据B,于是向服务器查询种子(即含有数据 B的节点)的信息。
具体地,向服务器查询种子的信息,可以通过向服务器发送查询消息进行 查询,其中查询消息中携带节点请求者需要下载的数据的信息,例如本实施 例中节点请求者A需要下载数据B,则查询消息中携带数据B的信息。另外, 还可以通过现有4支术中的查询方法进行查询。
202:服务器查询到种子的信息,向节点请求者A返回种子的信息。
其中,种子的信息包括种子的标识、种子的网络类型、种子的IP地址等信 息。并且如果步骤201中节点请求者A通过向服务器发送查询消息进行查询, 则该步骤具体可以为服务器接收查询消息,并根据查询消息查询到含有数据B 的节点,然后向节点请求者A返回查询结果消息;其中,查询结果消息中携带 服务器查询到的种子的信息。查询到的种子可能有很多个,也可能只有很少的 几个,本实施例i殳查询到一个种子为种子1,但并不以此为限制。
203:节点请求者接收种子的信息,从种子中下载数据B,并判断种子的总 数量是否小于预设的种子数量阈值,如果小于,则执行204;否则,执行207。
其中,种子的总数量即节点请求者得到的种子的个数的总和;预设的种子 数量阈值可以根据节点请求者的实际情况和经验值进行设置。
需要说明的是,节点请求者接收种子的信息后,可以获取到种子的标识、 种子的网络类型、种子的IP地址等信息,根据这些信息,与种子建立联系,从 而从种子中下载数据B。
204:节点请求者指示种子扩展新种子。
具体地,节点请求者指示种子扩展新种子时,可以通过向种子发送消息、 信号或指令的方式进行。例如可以向种子发送扩展种子数量消息,在扩展种 子数量消息中携带相应的标识符来传达现有的种子数量不足,无法满足节点请 求者下载数据的要求,指示现有的种子进行扩展新种子。例如可以通过在扩 展种子数量消息中携带"1"来表示现有的种子数量不足,指示现有的种子进行 扩展;在扩展种子数量消息中携带"0"来表示现有的种子数量已足,现有的种 子不需要进行扩展。
205:种子接收扩展新种子的指示,扩展新种子。
具体地,种子接收扩展新种子的指示;种子获取空闲节点,并指示空闲节点从该种子中下载数据B;空闲节点接收从该种子中下载数据B的指示,下载 数据B成为新种子。其中,空闲节点是指该节点当前的下载数据和上行数据的 总流量小于预设的流量阔值。获取空闲节点可以是种子自身查询网络中的各个 节点,得到空闲节点;也可以服务器查询网络中的各个节点,得到空闲节点, 种子再从服务器查询得到空闲节点,即种子通过服务器查询得到空闲节点。并 且指示空闲节点从该种子中下载数据B,具体可以通过向空闲节点发送消息、信 号或指令的方式进行。本实施例设节点1和节点2为空闲节点,则节点1和节 点2从种子1中下载数据B,成为新种子。另外空闲节点在从种子中下载数据B 时,可以设置相应的下载策略,如可以随机下载数据B的各个部分,也可以从 数据B的后一部分开始下载等;并且在下载数据B时,不一定要下载完数据B 的整个部分。
206:节点请求者获取新种子的信息,同时从新种子和原来的种子中下载数 据B,并判断原来的种子和新种子的总数量是否小于预设的种子数量阈值,如果 大于等于预设的种子数量阈值,则从新种子和原来的种子中下载数据B,下栽完 数据B后结束。
具体地,节点请求者可以从服务器获取新种子的信息;或可以从原来的种 子获取新种子的信息;或可以从新种子获取新种子的信息。
需要说明的是,各个节点与服务器之间都建立有连接关系,当空闲节点成 为新种子后,服务器会得知该节点的最新情况,从而可以将新种子的信息告知 节点请求者或节点请求者通过向服务器查询得到;由于新种子是原来的种子扩 展得到的,所以可以将新种子的信息告知节点请求者或节点请求者通过向原来 的种子查询得到;或者在扩展新种子时,将节点请求者的信息告知新种子,使 新种子获取到节点请求者的信息后,直接将新种子的信息告知节点请求者,其 中节点请求者的信息包括节点请求者的标识、节点请求者的网络类型、节点请 求者的IP地址等信息。
本实施例中新种子为节点1和节点2,所以从新种子和原来的种子中下载数 据B,即从节点l、节点2和种子1中下载数据B。并且,从步骤205可知,节 点1、节点2在下载数据B时,可能是随机地下载数据B的各个组成部分,也 可能是先从数据B的后一组成部分下载等,这样使得节点1、节点2能很快地为 节点请求者A提供其还没有下载过的数据B的组成部分,加快节点请求者A的下载速度。另外可知,本实施例中原来的种子和新种子的总数量为3。
并且需要说明的是,当该步骤的判断结果是原来的种子和新种子的总数量 小于预设的种子数量阈值时,则节点请求者指示原来的种子和新种子再进一步 地扩展新的种子。其中,扩展新种子的过程与原来的种子扩展新种子的过程类 似,此处不再赘述。即当达不到预设的种子数量阈值时,可以进一步地扩展新 种子直到达到要求。
207:节点请求者从原来的种子中下载数据B,下载完数据B后结束。 本发明实施例所述的方法,通过种子实时传递下载扩展出新种子,使得种 子数量能够实时扩充,可以快速地提高下载速度,节省了下载时间,极大地提 升了用户体验;并且,通过种子扩展出新种子,增加了种子利用率;另外,种
子数量实时扩充,无需服务器参与,不需要额外增加服务器负担。 实施例3
参见图4,本发明实施例提供了一种下载数据的装置,该装置包括 判断模块301,用于从当前种子中下载数据,并判断当前种子的总数量是否
小于预设的种子数量阈值;
指示模块302,用于当判断模块301的判断结果是当前种子的总数量小于预
设的种子数量阈值时,指示当前种子扩展新种子;
第一获取模块303,用于在指示模块302指示当前种子扩展新种子后,获取
新种子的信息;
下载模块304,用于在第一获取模块303获取新种子的信息后,同时从新种 子和当前种子中下载数据。 进一步地,
第一获取模块303,具体用于在指示模块302指示当前种子扩展新种子后, 从服务器获取新种子的信息;
或第一获取模块303,具体用于在指示才莫块302指示当前种子扩展新种子 后,从当前种子获取新种子的信息;
或第 一获取模块303 ,具体用于在指示4莫块302指示当前种子扩展新种子后, 从新种子获取新种子的信息。
本发明实施例所述的装置,通过种子实时传递下载扩展出新种子,使得种子数量能够实时扩充,可以快速地提高下载速度,节省了下载时间,极大地提 升了用户体验;并且,通过种子扩展出新种子,增加了种子利用率;另外,种
子数量实时扩充,无需服务器参与,不需要额外增加服务器负担。
实施例4
参见图5,本发明实施例提供了一种下载数据的系统,该系统包括 节点请求者401,用于从当前种子402中下载数据,并判断当前种子402的 总数量是否小于预设的种子数量阈值;当判断结果是当前种子402的总数量小 于预设的种子数量阈值时,指示当前种子402扩展新种子;获取新种子的信息; 同时从新种子和当前种子402中下载所述数据。 进一步地,该系统还包括
当前种子402,用于接收扩展新种子的指示;获取空闲节点403,并指示空 闲节点403从当前种子402中下载数据;
空闲节点403,用于接收从当前种子402中下载数据的指示,从当前种子 402中下载数据,成为新种子。
进一步地,当前种子402,具体用于查询并得到空闲节点;和/或 当前种子402,具体用于通过服务器查询并得到空闲节点。 本发明实施例所述的系统,通过种子实时传递下载扩展出新种子,使得种 子数量能够实时扩充,可以快速地提高下载速度,节省了下载时间,极大地提 升了用户体验;并且,通过种子扩展出新种子,增加了种子利用率;另外,种 子数量实时扩充,无需服务器参与,不需要额外增加服务器负担。
实施例5
参见图6,本发明实施例提供了一种节点,该节点包括 接收模块501,用于接收扩展新种子的指示;
获取模块502,用于在接收模块501接收扩展新种子的指示后,查询节点周 围的空闲节点,并指示空闲节点从节点中下载数据,使得空闲节点成为新种子 进一步地,获f^莫块502,具体用于查询并得到空闲节点;和/或 获取模块502,具体用于通过服务器查询并得到空闲节点。 本发明实施例所述的节点,通过种子实子数量能够实时扩充,可以快速地提高下载速度,节省了下载时间,极大地提 升了用户体验;并且,通过种子扩展出新种子,增加了种子利用率;另外,种
子数量实时扩充,无需服务器参与,不需要额外增加服务器负担。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,
其软件程序存储在可读取的存储介质中,存储介质例如计算机中的硬盘、光 盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的 精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。
权利要求
1、一种下载数据的方法,其特征在于,所述方法包括从当前种子中下载数据,并判断所述当前种子的总数量是否小于预设的种子数量阈值;当判断结果是所述当前种子的总数量小于所述预设的种子数量阈值时,指示所述当前种子扩展新种子;获取新种子的信息;同时从所述新种子和所述当前种子中下载所述数据。
2、 根据权利要求1所述的下载数据的方法,其特征在于,所述指示所述当 前种子扩展新种子之后,还包括所述当前种子接收扩展新种子的指示;所述当前种子获取空闲节点,并指示所述空闲节点从所述当前种子中下载 所述数据,使得所述空闲节点成为新种子。
3、 根据权利要求2所述的下载数据的方法,其特征在于,所述当前种子获 取空闲节点,具体为所述当前种子自身查询得到空闲节点;和/或 所述当前种子通过服务器查询得到空闲节点。
4、根据权利要求l-3任意一项权利要求所述的下载数据的方法,其特征在 于,所述获取新种子的信息具体为 从月艮务器获取新种子的信息; 或从所述当前种子获取新种子的信息; 或从所述新种子获取新种子的信息。
5、 一种下载数据的装置,其特征在于,所述装置包括 判断模块,用于从当前种子中下载数据,并判断所述当前种子的总数量是 否小于预设的种子数量阈 值;指示模块,用于当所述判断模块的判断结果是所述当前种子的总数量小于所述预设的种子数量阈值时,指示所述当前种子扩展新种子;第一获取模块,用于在所述指示模块指示所述当前种子扩展新种子后,获 取新种子的信息;下载模块,用于在所述第一获取模块获取新种子的信息后,同时从所述新 种子和所述当前种子中下载所述数据。
6、 根据权利要求5所述的下载数据的装置,其特征在于, 所述第一获取模块,具体用于在所述指示模块指示所述当前种子扩展新种子后,从服务器获取新种子的信息;或所述第一获取才莫块,具体用于在所述指示模块指示所述当前种子扩展 新种子后,从所述当前种子获取新种子的信息;或所述第一获取模块,具体用于在所述指示模块指示所述当前种子扩展 新种子后,从所述新种子获取新种子的信息。
7、 一种下载数据的系统,其特征在于,所述系统包括节点请求者,用于从当前种子中下载数据,并判断所述当前种子的总数量 是否小于预设的种子数量阈值;当判断结果是所述当前种子的总数量小于所述 预设的种子数量阈值时,指示所述当前种子扩展新种子;获取新种子的信息; 同时vMv所述新种子和所述当前种子中下载所述数据。
8、 根据权利要求7所述的下载数据的系统,其特征在于,所述系统还包括 所述当前种子,用于接收扩展新种子的指示;获取空闲节点,并指示所述空闲节点从所述当前种子中下载所述数据;所述空闲节点,用于接收从所述当前种子中下载所述数据的指示,从所述 当前种子中下载所述凄t据,成为新种子。
9、 根据权利要求8所述的下载数据的系统,其特征在于, 所述当前种子,具体用于查询并得到空闲节点;和/或-所述当前种子,具体用于通过服务器查询并得到空闲节点。
10、 一种节点,其特征在于,所述节点包括 接收模块,用于接收扩展新种子的指示;获取4莫块,用于在所述接收模块接收扩展新种子的指示后,获取空闲节点, 并指示所述空闲节点从所述节点中下载数据,使得所述空闲节点成为新种子。
11、 根据权利要求IO所述的节点,其特征在于, 所述获取模块,具体用于查询并得到空闲节点;和/或 所述获^^莫块,具体用于通过服务器查询并得到空闲节点。
全文摘要
本发明公开了一种下载数据的方法、装置和系统及节点,属于计算机网络通信领域。所述方法包括从当前种子中下载数据,并判断所述当前种子的总数量是否小于预设的种子数量阈值;当判断结果是所述当前种子的总数量小于所述预设的种子数量阈值时,指示所述当前种子扩展新种子;获取新种子的信息;同时从所述新种子和所述当前种子中下载所述数据。所述装置包括判断模块、指示模块、第一获取模块和下载模块。所述系统包括节点请求者;所述节点包括接收模块和获取模块。本发明通过种子实时传递下载扩展出新种子,使得种子数量能够实时扩充,可以快速地提高下载速度,节省了下载时间,极大地提升了用户体验。
文档编号H04L29/08GK101610289SQ200910157629
公开日2009年12月23日 申请日期2009年7月21日 优先权日2009年7月21日
发明者华有为 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1