资源下载方法及装置与流程

文档序号:11930913阅读:257来源:国知局
资源下载方法及装置与流程

本发明涉及互联网技术领域,具体而言,涉及一种资源下载方法及装置。



背景技术:

目前,对于非热门种子且未通过内容分发网络做种的资源,由于在p2p及dht网络中下载这些资源的节点非常少,在进行资源下载时不能够找到有效的下载节点,进而导致资源下载的速度有限。

因此,如何在资源有限的情况下,找到更多的存在该资源的节点进行下载,提升资源下载的速度,是现有技术中一亟待解决的难题。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种资源下载方法及装置,用于在资源的节点有限的情况下,准确找到有效的可下载节点,显著提升资源的下载速度。

第一方面,本发明实施例提供了一种资源下载方法,应用于tracker服务器,资源下载方法包括:

将做种数量小于预设值的资源加入搜索列表;

通过网络爬虫在dht网络中搜索存在及可能存在所述资源的网络节点;

接收所述网络节点的地址信息,以便根据所述地址信息下载所述资源,所述地址信息包括IP地址和端口地址。

优选地,所述接收所述网络节点的地址信息的步骤包括:

当所述网络节点中存在所述资源时,接收所述网络节点发送的地址信息。

优选地,所述接收所述网络节点的地址信息的步骤包括:

当与所述网络节点连接或曾经连接的其他网络节点存在所述资源时,接收所述网络节点发送的存在及可能存在所述资源的其他网络节点的地址信息。

优选地,在将做种数量小于预设值的资源加入搜索列表的步骤之前,所述方法还包括:

接收用户终端上传的资源下载请求。

优选地,所述将做种数量小于预设值的资源加入搜索列表的步骤包括:

将做种数量小于预设值的资源加入hash搜索列表。

第二方面,本发明实施例提供了一种资源下载装置,应用于tracker服务器,资源下载装置包括:

执行模块,用于将做种数量小于预设值的资源加入搜索列表;

搜索模块,用于通过网络爬虫在dht网络中搜索存在及可能存在所述资源的网络节点;

接收模块,用于接收所述网络节点的地址信息,以便根据所述地址信息下载所述资源,所述地址信息包括IP地址和端口地址。

优选地,所述接收模块用于当所述网络节点中存在所述资源时,接收所述网络节点发送的地址信息。

优选地,所述接收模块用于当与所述网络节点连接或曾经连接的其他网络节点存在所述资源时,接收所述网络节点发送的存在及可能存在所述资源的其他网络节点的地址信息。

优选地,所述接收模块还用于接收用户终端上传的资源下载请求;

所述执行模块用于当所述接收模块接收到所述资源下载请求后,将做种数量小于预设值的资源加入搜索列表。

优选地,所述执行模块用于将做种数量小于预设值的资源加入hash搜索列表。

对于现有技术,本发明提供的资源下载方法及装置具有如下的有益效果:

本发明提供的资源下载方法及装置,通过将做种数量过少的资源加入搜索列表,并通过网络爬虫在dht网络中搜索存在及可能存在该资源的网络节点得到对应的地址信息。如此,可获得更多可用于下载该资源的网络节点,显著提升资源的下载速度,解决了现有技术中在进行资源下载时由于下载资源的节点过少,导致不能够找到有效的节点,资源下载的速度有限的问题。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明较佳实施例提供的服务器与用户终端进行交互的示意图。

图2为本发明较佳实施例提供的服务器的方框示意图。

图3本发明较佳实施例提供的资源下载方法的流程图。

图4本发明较佳实施例提供的资源下载装置的功能模块示意图。

图标:100-服务器;110-资源下载装置;111-接收模块;112-搜寻模块;113-判断模块;114-执行模块;115-搜索模块;120-存储器;130-存储控制器;140-处理器;150-外设接口;160-输入输出单元;200-网络;300-用户终端。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

如图1所示,是本发明较佳实施例提供的服务器100与用户终端300进行交互的示意图。所述服务器100通过网络200与一个或多个用户终端300进行通信连接,进行数据通信或交互,以便用户终端300从服务器100进行资源下载。所述服务器100可以是网络服务器、数据库服务器等。所述用户终端300可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)等。

如图2所示,是所述服务器100的方框示意图。所述服务器100包括资源下载装置110、存储器120、存储控制器130、处理器140、外设接口150及输入输出单元160等。

所述存储器120、存储控制器130、处理器140、外设接口150、输入输出单元160各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述资源下载装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述服务器100终端设备的操作系统(operating system,OS)中的软件功能模块。所述处理器140用于执行存储器120中存储的可执行模块,例如所述资源下载装置110包括的软件功能模块或计算机程序。

其中,存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器120用于存储程序,所述处理器140在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的服务器100所执行的方法可以应用于处理器140中,或者由处理器140实现。

处理器140可能是一种集成电路芯片,具有信号的处理能力。上述的处理器140可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述外设接口150将各种输入/输入装置耦合至处理器140以及存储器120。在一些实施例中,外设接口150,处理器140以及存储控制器130可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

输入输出单元160用于提供给用户输入数据实现用户与所述服务器100的交互。所述输入输出单元160可以是,但不限于,鼠标和键盘等。

请参阅图3,是本发明较佳实施例提供的应用于图2所示的服务器100的资源下载方法的流程图。下面将对图3所示的具体流程进行详细阐述。

步骤S101,将做种数量小于预设值的资源加入搜索列表。

于本发明实施例中,所述服务器100为用于为用户终端300提供资源下载的tracker服务器。当用户需要下载某一资源时,通过用户终端300向tracker服务器上传一资源下载请求,tracker服务器根据资源下载请求搜寻其所包含的对应资源的做种数量。其中,做种是指该资源处于可被下载的状态,资源的做种数量即是指可被下载的资源的数量。

搜寻到该对应资源后,tracker服务器对搜寻到的资源的做种数量进行统计,判断该资源的做种数量是否低于一预先设定的预设值,如果该资源的做种数量低于该预先设定的预设值,则说明可被下载的资源的数量过少或不存在(当该资源的做种数量为零时),在下载资源时,下载速度会很慢或速度为零。此时,tracker服务器将该做种数量小于预设值的资源加入至hash搜索列表。

步骤S102,搜索存在及可能存在资源的网络节点。

将做种数量小于预设值的资源加入至hash搜索列表后,tracker服务器将加入hash搜索列表的资源通过网络爬虫在dht网络中进行搜索,找到存在及可能存在该资源的网络节点。网络节点可以是计算机、工作站、终端设备及网络设备等。

dht网络中对于未失效的网络节点(即网络节点在dht网络的路由表中的连接未断开),可通过网络爬虫根据hash搜索列表中的资源直接找到这些网络节点。同时,该未失效的网络节点和与之连接以及曾经连接的其他网络节点数据同步,并存储与之连接以及曾经连接其他网络节点的地址信息及资源等相关信息等。如此,即可通过网络爬虫找到存在该资源的网络节点和存在该资源且与该网络节点连接的其他网络节点,以及与该网络节点曾经连接时存在该资源的其他网络节点(即曾经与该网络节点连接时存在该资源的其他网络节点当前可能还存在该资源)。

例如,对于资源X,dht网络中未失效的网络节点A具有该资源,已失效的网络节点B曾经与网络节点A连接并具有该资源,那么网络爬虫可根据该资源直接找到网络节点A,并根据网络节点A记录的曾经与之连接的网络节点B的相关信息找到网络节点B。其中,网络节点A即为存在该资源的网络节点,网络节点B即为可能存在该资源的网络节点。

步骤S103,接收网络节点的地址信息。

找到存在及可能存在该资源的网络节点后,存在该资源的网络节点,以及连接或曾经连接有存在该资源的其他网络节点所对应的网络节点会向tracker服务器发送一回应信息,该回应信息包括存在及可能存在该资源的其他网络节点的地址信息,地址信息中包括有对应网络节点的IP地址及端口地址等。tracker服务器接收网络节点发送的地址信息,如此即可根据地址信息中的IP地址及端口地址找到存在及可能存在待下载资源的所有网络节点对该资源进行下载(由于多个网络节点可能具有同一IP地址,因此须通过IP地址以及端口地址一起才能准确找到对应的网络节点)。

例如,网络节点A具有资源X,与网络节点A曾经连接且当前已失效的网络节点B在有效时也具有资源X,那么可通过网络爬虫直接找到存在资源X的网络节点A,并根据网络节点A找到可能存在资源X的网络节点B。此时,由网络节点A将其自身的地址信息以及其记录的网络节点B的地址信息一并发送给tracker服务器。

进一步的,本发明实施例中,tracker服务器根据地址信息中的IP地址及端口地址找到存在及可能存在待下载资源的所有网络节点后,每个网络节点可被tracker服务器设置一有效时间,当超出有效时间且某个网络节点关闭时,tracker服务器将该网络节点的地址信息删除。

例如,网络节点1-3存在有资源X,设置的有效时间为1小时,tracker服务器通过网络爬虫在dht网络中找到存在资源X的网络节点1-3,1小时后tracker服务器会向网络节点1-3发送命令判断这网络些节点是否都有效,如果此时网络节点2关闭了就不会响应tracker服务器,此时tracker服务器就会将网络节点2的地址信息删除。此后用户终端向tracker服务器发送下载请求下载资源X时,tracker服务器就向用户终端返回网络节点1、3这两个节点的地址信息,而不向用户终端返回网络节点2的地址信息。

综上,本发明实施例提供的资源下载方法通过将做种数量过少的资源加入搜索列表,并通过网络爬虫在dht网络中搜索存在及可能存在该资源的网络节点得到对应的地址信息。如此,可获得更多可用于下载该资源的网络节点,显著提升资源的下载速度,解决了现有技术中在进行资源下载时由于下载资源的节点过少,导致不能够找到有效的节点,资源下载的速度有限的问题。

请参阅图4,是本发明较佳实施例提供的图2所示的资源下载装置110的功能模块示意图。所述资源下载装置110包括接收模块111、搜寻模块112、判断模块113、执行模块114以及搜索模块115。

所述接收模块111用于接收用户终端300上传的资源下载请求。

于本发明实施例中,当用户需要下载某一资源时,通过用户终端300向tracker服务器上的资源下载装置110上传一资源下载请求,资源下载装置110通过所述接收模块111接收所述资源下载请求。

所述搜寻模块112用于根据资源下载请求搜寻tracker服务器中所包含的对应资源的做种数量。

当接收模块111接收到用户终端300上传的资源下载请求后,资源下载装置110通过搜寻模块112根据该资源下载请求搜寻tracker服务器中所包含的对应资源的做种数量。

判断模块113用于判断该资源的做种数量是否低于预先设定的预设值。

搜寻到该对应资源后,tracker服务器对搜寻到的资源的做种数量进行统计,资源下载装置110通过判断模块113判断该资源的做种数量是否低于一预先设定的预设值。

执行模块114将做种数量小于预设值的资源加入搜索列表。

当该资源的做种数量低于该预先设定的预设值,则说明该资源的数量过少或不存。在下载资源时,下载速度会很慢或速度为零。此时,资源下载装置110通过执行模块114将该做种数量小于预设值的资源加入至hash搜索列表。

可以理解的,所述执行模块114可以用于执行上述的步骤S101。

搜索模块115用于搜索存在及可能存在资源的网络节点。

将做种数量小于预设值的资源加入至hash搜索列表后,资源下载装置110通过搜索模块115将加入hash搜索列表的资源通过网络爬虫在dht网络中进行搜索,找到存在及可能存在该资源的网络节点。

本发明实施例中,所述搜索模块115与所述搜寻模块112可以为同一模块。

可以理解的,所述搜索模块115可以用于执行上述的步骤S102。

接收模块111还用于接收网络节点的地址信息。

找到存在及可能存在该资源的网络节点后,存在该资源的网络节点,以及连接或曾经连接有存在该资源的其他网络节点所对应的网络节点会向tracker服务器的资源下载装置110发送一回应信息,该回应信息包括存在及可能存在该资源的网络节点的地址信息,地址信息中包括有对应网络节点的IP地址及端口地址等。资源下载装置110通过接收模块111接收网络节点发送的地址信息,如此即可根据地址信息中的IP地址及端口地址找到存在及可能存在待下载资源的所有网络节点对该资源进行下载。

可以理解的,所述接收模块111可以用于执行上述的步骤S103。

综上,本发明实施例提供的资源下载装置110通过将做种数量过少的资源加入搜索列表,并通过网络爬虫在dht网络中搜索存在及可能存在该资源的网络节点得到对应的地址信息。如此,可获得更多可用于下载该资源的网络节点,显著提升资源的下载速度,解决了现有技术中在进行资源下载时由于下载资源的节点过少,导致不能够找到有效的节点,资源下载的速度有限的问题。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1