本发明涉及互联网技术领域,特别涉及一种P2P文件自定义下载方法及系统。
背景技术:
随着互联网的发展,越来越多的数据累计起来。对于一个运营中的用户平台,会出现海量的数据需要处理和分析。这就需要数据的下载、同步等工作。通常的文件同步是在数据库层面进行的。
对等计算(Peer to Peer,简称p2p)可以简单的定义成通过直接交换来共享计算机资源和服务,而对等计算模型应用层形成的网络通常称为对等网络。在P2P网络环境中,成千上万台彼此连接的计算机都处于对等的地位,整个网络一般来说不依赖专用的集中服务器。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求作出响应,提供资源和服务。通常这些资源和服务包括:信息的共享和交换、计算资源(如CPU的共享)、存储共享(如缓存和磁盘空间的使用)等。
对等网络软件主要有以下类型:
1、即时通信软件,如ICQ、Anychat等。2个或多个用户可以通过文字、语音或文件进行交流,甚至还可以与手机通信。
对等网络
2、实现共享文件资源的软件,如Napster和Gnutella等。用户可以直接从任意一台安装同类软件的PC上下载或上载文件,并检索、复制共享的文件。
3、游戏软件,当前的许多网络游戏都是通过对等网络方式实现的。
4、存储软件,如Farsite,用于在网络上将存储对象分散存储。
5、数据搜索及查询软件,如Infrasearch、Pointera,用来在对等网络中完成信息检索。
6、协同计算软件,如Netbatch,可连接几千或上万台PC,利用其空闲时间进行协同计算。
7、协同处理软件,如Groove,可用于企业管理。
8、P2P分布式计算。
9、比特币、莱特币等虚拟化数字货币都是建立在P2P网络上的。
广义上说,凡是在屏幕上看到的不属于本地计算机上的内容,皆是通过“下载”得来。狭义上人们只认为那些自定义了下载文件的本地磁盘存储位置的操作才是“下载”。“下载”的简称是DL,反义词是“上传”。
WEB下载方式分为HTTP与FTP两种类型,它们分别是Hyper Text Transportation Protocol(超文本传输协议)与File Transportation Protocol(文件传输协议)的缩写,它们是计算机之间交换数据的方式,也是两种最经典的下载方式,该下载方式原理非常简单,就是用户两种规则(协议)和提供文件的服务器取得联系并将文件搬到自己的计算机中来,从而实现下载的功能。
BT下载实际上就是P2P下载,该种下载方式与WEB方式正好相反,该种模式不需要服务器,而是在用户机与用户机之间进行传播,也可以说每台用户机都是服务器,讲究"人人平等"的下载模式,每台用户机在自己下载其它用户机上文件的同时,还提供被其它用户机下载的作用,所以使用该种下载方式的用户越多,其下载速度就会越快。其工作原理图如图2所示。
P2SP下载方式实际上是对P2P技术的进一步延伸,它不但支持P2P技术,同时还通过多媒体检索数据库这个桥梁把原本孤立的服务器资源和P2P资源整合到了一起,这样下载速度更快,同时下载资源更丰富,下载稳定性更强。
现有技术中,存在大量的P2P下载软件,这些下载软件均可以提供P2P方式的文件下载。但是,用户只能简单的根据网站提供的下载内容进行单一的下载,不能按照用户需要进行文件的组合。因而,亟需要一种提高文件下载效 率的方案,使得用户可以根据自身需要自定义所需要下载的文件。
技术实现要素:
本发明提供一种P2P文件自定义下载方法及系统,用以解决现有技术中P2P下载无法用户自定义的问题。
本发明提供一种P2P文件自定义下载方法,包括:
用户登录资源服务器,选择所需的资源,组合成为资源文件,并发送业务服务器;
业务服务器根据所述资源文件生成种子文件,并发送到种子服务器;
种子服务器保存所述种子文件,并向用户返回种子文件;
用户通过P2P下载工具,加载所述种子文件,以P2P的方式下载所述资源文件。
所述方法还包括:
所述种子文件至少包括:种子服务器地址以及资源文件的大小、名称、地址。
所述方法还包括:
用户在所述资源服务器上根据自身需要,任意选择至少一个资源,组合成为资源文件。
所述方法还包括:
种子服务器保存种子文件,并将种子文件以链接或者直接发送的方式返回给用户;
用户通过点击所述链接进行下载或者直接接收的方式获取所述种子文件。
所述方法还包括:
用户获取所述种子文件后,利用自身设置的P2P下载工具加载所述种子文件;
P2P下载工具解析所述种子文件,获取所需内容,进行P2P下载。
所述方法还包括:
所述种子文件通过种子服务器发送业务服务器,由所述业务服务器发送所述用户。
一种P2P文件自定义下载系统,包括:
用户客户端,用于用户登录资源服务器,选择所需的资源,组合成为资源文件;通过P2P下载工具,加载所述种子文件,以P2P的方式下载所述资源文件;
资源服务器,用于接收用户的登录,接收用户自定义选择所需资源,组合成为资源文件,并发送业务服务器;
业务服务器,用于根据所述资源文件生成种子文件,并发送到种子服务器;
种子服务器,用于保存所述种子文件,并向用户客户端返回种子文件。
所述资源服务器还用于用户根据自身需要,任意选择至少一个资源,组合成为资源文件。
所述种子服务器还用于保存种子文件,并将种子文件以链接或者直接发送的方式返回给用户客户端;
所述用户客户端通过点击所述链接进行下载或者直接接收的方式获取所述种子文件。
所述用户客户端还用于获取所述种子文件后,利用自身设置的P2P下载工具加载所述种子文件;
P2P下载工具解析所述种子文件,获取所需内容,进行P2P下载。
本发明实施例通过用户登录资源服务器,选择所需的资源,组合成为资源文件,并发送业务服务器;业务服务器根据所述资源文件生成种子文件,并发送到种子服务器;种子服务器保存所述种子文件,并向用户返回种子文件;用户通过P2P下载工具,加载所述种子文件,以P2P的方式下载所述资源文件。本发明实施例的方案,能够提供用户自定义的资源文件P2P下载,使得用户可 以根据需要自行定义任意数量和形式的资源文件,并在需要时候进行下载,极大的提高了用户体验度。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例1提供的一种P2P文件自定义下载方法原理流程图;
图2为本发明实施例2提供的一种P2P文件自定义下载系统结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,为本发明实施例1提供的一种P2P文件自定义下载方法原理流程图,其中,
步骤11,用户登录资源服务器,选择所需的资源,组合成为资源文件,并发送业务服务器。
资源服务器,是自定义的资源存储的服务器,用户所需的资源均存储在资源服务器上。用户通过资源服务器浏览所有的资源,并选择和确认自己所需的资源。
通常用户需要登录资源服务器,根据资源服务器提供的权限进行自愿选择。具体的用户权限控制,现有技术存在很多种解决方案,本实施例不做限定。
用户登录资源服务器后,浏览资源内容,根据自身所需选择资源。通常资源服务器会提供友好的用户界面,方便用户选择。
选择完成的资源,用户选择确认后,由资源服务器进行打包,组合成为资源文件,设定资源文件名称和具体内容列表,打包成为完整的资源文件,然后发送业务服务器。
资源文件是一个完整的文件,其中包括用户选择的所有资源以及获取资源的地址和方式等。根据资源文件就可以完整的获取用户所需的各种资源。
步骤12,业务服务器根据资源文件生成种子文件,并发送到种子服务器。
业务服务器是一个业务生成和管理的服务器,接收到资源文件后,根据其中的内容,生成P2P下载所需的种子文件,并发送到种子服务器存储。
这里的种子文件,是根据通用的P2P下载所需的种子文件格式设定的,可以被现有技术中常用的P2P下载工具加载和使用。种子文件其中至少包括种子服务器地址以及资源文件的大小、名称、地址等内容,以及其它的必要内容。
以常用的BT下载方式为例。BT是一种互联网上新兴的的P2P传输协议,在则独立发展成一个有广大开发者群体的开放式传输协议。使用BT软件通过相应的BT种子下载你想要的资源。BT软件之间的数传输是双向的(你下载数据的同时数据也上传出去给别人),BT已经被很多个人和企业用来在互联网上发布各种资源,其好处是不需要资源发布者拥有高性能服务器就能迅速有效地把发布的资源传向其他的BT客户软件使用者,而且大多数的BT软件都是免费的。只要有该资源的BT种子,就可以使用BT下载软件进行下载。即使完成了下载,也请你尽可能不要立即关闭BT软件或者让BT软件停止上传,您的上传是对整个BT网络的重要贡献,BT网络持一定的上传者人数以使BT健康运行,你的BT能高速下载也依赖别人的上传。
就使用上来说,BT的使用可以说极为简单,甚至比PUB下载还要简单的多。BT的使用没那么多技巧,你只要安装好客户端,下载好种子就能马上开始下载了。就单一文件下载速度而言,BT也具有很大的优势,如果下载的人 够多,能轻轻松松的到达50K以上甚至100k,200K或者更高。和PUB比起来最本质的就是BT是下载的人越多越快(这是所有P2P软件的本质),PUB是下载的人越多越慢,设想一部非常经典的大片同时在BT和PUB上上演,同时有很多人下载,结果如何不言而喻了。BT是一个文件分发协议,它通过URL识别内容并且和网络无缝结合。它对比HTTP/FTP协议,MMS/RTSP流媒体协议等下载方式的优势在于,一个文件的下载者们下载的同时也在不断互相上传数据,使文件源(可以是服务器源也可以是个人源,一般特指第一个做种者或种子的第一发布者)可以在增加很有限的负载之情况下支持大量下载者同时下载,所以BT等P2P传输方式也有“下载的人越多,下载的速度越快”这种说法。
BT种子是一种电脑“.torrent”文件。装有BT(BitTorrent)下载必须的文件信息,作用相当于HTTP下载里的URL链接。
一个用户要利用BitTorrent协议下载文件之前,先要从某个网站下载一个包含该文件相关信息的“.torrent”文件。
该种子文件包含一个称为“追踪器(tracker)”的服务器结点(因特网上有很多追踪器)的地址,该追踪器负责维护参与一个特定文件分发的所有对等方的信息。
种子是一个形象的比喻。BT下载的原理从某种意义上说就像春天种下一粒种子,到了秋天就会收获万粒稻菽一样的滚雪球般的越来越大。于是人们就把发出的下载文件叫做种子。而种子文件就是记载下载文件的存放位置、大小、下载服务器的地址、发布者的地址等数据的一个索引文件。这个种子文件并不是你最终要下载的东西(如电影,软件等等),但是有了种子文件,你就能高速下载到你需要的文件。种子文件的扩展名是:*.torrent。
BT种子可称为变态种子,主要是因为很多下载软件解析种子后下载速度很快。
BT首先在上传者端把一个文件分成了Z个部分,甲在服务器随机下载了第N个部分,乙在服务器随机下载了第M个部分,这样甲的BT就会根据情 况到乙的电脑上去拿乙已经下载好的M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的N部分,这样就不但减轻了服务器端的负荷,也加快了用户方(甲乙)的下载速度,效率也提高了,更同样减少了地域之间的限制。比如说丙要连到服务器去下载的话可能才几K,但是要是到甲和乙的电脑上去拿就快得多了。所以说用的人越多,下载的人越多,大家也就越快,BT的优越性就在这里。而且,在你下载的同时,你也在上传(别人从你的电脑上拿那个文件的某个部分),所以说在享受别人提供的下载的同时,你也在贡献。
BT把提供完整文件的档案称为种子(SEED),正在下载的人称为客户(Client),某一个文件有多少种子多少客户是可以看到的,只要有一个种子,就可以放心地下载,一定能抓完。当然,种子越多、客户越多的文件抓起来的速度会越快,下载以后的种子可能会因目标文件不存在而失效。
使用种子首先要有BT软件,然后就可以下载了!BT是一种类似于电驴的P2P共享软件,全名叫“BitTorrent”,中文全称:“比特流”,“BT”下载器是它的名字和下载率高的缘故,因此常人给它的一个化名。它是一种新的类似于P2P共享软件,因为每个下载的人同时又可以上传,下载的人越多,文件越大,速度就越快,而且只要普通的电脑接上网络就可以安装BT服务器。
通过BT下载工具,可以加载种子文件,然后根据其中的内容,启动对资源文件的P2P下载。
步骤13,种子服务器保存所述种子文件,并向用户返回种子文件。
种子文件是保存在种子服务器的,种子服务器不仅要保存种子文件,还需要发布种子文件。发布的方式可以是直接发送给用户,也可以提供链接,由用户点击下载种子文件。
上面讲过,同一个资源,下载的人越多,下载的速度也就越快。经常用BT下载的电脑,一般都默认共享了不止一个资源,因此想办法让拥有你想要的资源的那些电脑连入网络,就是很有必要的。具体办法就是发布一个大家也都需要的资源,这也充分体现了BT下载模式最重要的精神——分享。
要想发布一个资源,要经过2个步骤:制作种子文件、传播种子文件。当然还要把该种子文件对应的资源所在电脑开机连入网络一段时间,具体时间不定,主要看该种子下载的情况,最好至少要保证有一部分人下载成功。
支持BT下载的软件一般都提供制作种子并发送的功能,一般是“新建种子”、“选择资源”、“确认种子文件名”这样几个步骤。
当然,种子服务器也可以将种子文件发送给业务服务器,由业务服务器发送给用户进行发布。
步骤14,用户通过P2P下载工具,加载所述种子文件,以P2P的方式下载所述资源文件。
种子文件生成和发布后,实际上,就是用户通过自身的P2P下载工具加载这个种子文件进行下载了。下载的过程与现有常用的P2P下载方式相同。实际上,本发明实施例就是利用现有的常用P2P下载工具进行下载的,而不需要再进行下载工具的制作和生成。例如,选择常用的迅雷软件或者BitComet软件。BitComet是基于BitTorrent协议的p2p免费软件;高效的网络内核,多任务同时下载依然保持很少的CPU内存占用;支持对一个Torrent中的文件有选择的下载;磁盘缓存技术,有效减小高速随机读写对硬盘的损伤;只需一个监听端口即可满足所有下载需要;自动保存下载状态,续传无需再次扫描文件,作种子也无需扫描文件;支持多Tracker协议;对内网用户同样适用;绿色软件,不需安装,仅运行时关联.torrent文件;多语言界面。
本发明实施例通过用户登录资源服务器,选择所需的资源,组合成为资源文件,并发送业务服务器;业务服务器根据所述资源文件生成种子文件,并发送到种子服务器;种子服务器保存所述种子文件,并向用户返回种子文件;用户通过P2P下载工具,加载所述种子文件,以P2P的方式下载所述资源文件。本发明实施例的方案,能够提供用户自定义的资源文件P2P下载,使得用户可以根据需要自行定义任意数量和形式的资源文件,并在需要时候进行下载,极大的提高了用户体验度。
如图2所示,为本发明实施例2提供的一种P2P文件自定义下载系统结构示意图,其中,
用户客户端21,用于用户登录资源服务器22,选择所需的资源,组合成为资源文件;通过P2P下载工具,加载所述种子文件,以P2P的方式下载所述资源文件;
资源服务器22,用于接收用户的登录,接收用户自定义选择所需资源,组合成为资源文件,并发送业务服务器23;
业务服务器23,用于根据所述资源文件生成种子文件,并发送到种子服务器24;
种子服务器24,用于保存所述种子文件,并向用户客户端21返回种子文件。
进一步的,上述资源服务器22还用于用户根据自身需要,任意选择至少一个资源,组合成为资源文件。
进一步的,上述种子服务器24还用于保存种子文件,并将种子文件以链接或者直接发送的方式返回给用户客户端21;
所述用户客户端21通过点击所述链接进行下载或者直接接收的方式获取所述种子文件。
进一步的,上述用户客户端21还用于获取所述种子文件后,利用自身设置的P2P下载工具加载所述种子文件;
P2P下载工具解析所述种子文件,获取所需内容,进行P2P下载。
综上所述,本发明实施例通过用户登录资源服务器,选择所需的资源,组合成为资源文件,并发送业务服务器;业务服务器根据所述资源文件生成种子文件,并发送到种子服务器;种子服务器保存所述种子文件,并向用户返回种子文件;用户通过P2P下载工具,加载所述种子文件,以P2P的方式下载所述 资源文件。本发明实施例的方案,能够提供用户自定义的资源文件P2P下载,使得用户可以根据需要自行定义任意数量和形式的资源文件,并在需要时候进行下载,极大的提高了用户体验度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。