CN101437051B - 网络资源下载方法 - Google Patents
网络资源下载方法 Download PDFInfo
- Publication number
- CN101437051B CN101437051B CN2008103059707A CN200810305970A CN101437051B CN 101437051 B CN101437051 B CN 101437051B CN 2008103059707 A CN2008103059707 A CN 2008103059707A CN 200810305970 A CN200810305970 A CN 200810305970A CN 101437051 B CN101437051 B CN 101437051B
- Authority
- CN
- China
- Prior art keywords
- resource
- download
- address
- client
- source material
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及点对点下载方法以及分布式方法。本发明提供一种基于点对点下载方式下资源聚积的分布式下载方法。网络资源下载方法,包括步骤:a、客户端获取一个在原始资源下载服务器中的原始资源下载地址,并连接资源聚集服务器;b、资源聚集服务器将客户端请求的下载资源所对应的资源地址池发送至客户端;所述资源地址池为包含有同一网络资源的所有下载地址的集合;c、客户端根据资源地址池中地址数量对下载资源分块,分出的子块数与所述地址数量相同;d、客户端将每个子块连接到资源地址池中的一个下载地址进行下载。本发明聚集了多个下载服务器的资源,进一步提高客户端的下载能力,对单一服务器也起到了负载分流、失效备份的作用。
Description
技术领域
本发明涉及点对点下载方法以及分布式方法。
背景技术
在INTERNET中,存在两种下载服务:一种是类似于BT方式的多用户分布式下载,比如比特彗星、电驴等下载软件;一种是类似HTTP、FTP等方式的点对点下载,比如浏览器直接下载,虽然网际快车、网络蚂蚁等多线程下载软件可以大幅提高下载能力,但是它们仍然是从单一下载服务器上下载,只不过对单一资源进行了多线程分块下载,仍然属于点对点下载。两种下载各有各的好处:分布式下载,不依赖于服务器的网络带宽及负载性能,但却决定于在线用户的多少;点对点式下载资源稳定、长期有效,但是却受影响于服务器的网络带宽及负载性能。
发明内容
本发明所要解决的技术问题是,提供一种基于点对点下载方式下资源聚积的分布式(镜像)下载方法。
本发明为解决上述技术问题所采用的技术方案是,网络资源下载方法,包括以下步骤:
a、客户端获取一个原始资源下载地址,并连接资源聚集服务器;所述资源属性还包含有下载资源的资源文件类型、资源大小、资源内容的前一段字节数据;所述原始资源下载地址是客户端从下载网页上直接获取的;所述下载资源的资源文件类型、资源大小、资源内容的前一段字节数据是由客户端连接到原始资源下载地址对应的原始资源下载服务器获取的;
b、资源聚集服务器根据资源属性计算出资源散列值;如果本机数据库中不存在该散列值对应的表项,则对该资源散列值建立表项和资源地址池,并将客户端数据资源属性中的原始资源下载地址加入资源地址池;如果存在该散列值对应的表项,再判断资源地址池内的下载地址中是否包含原始资源下载地址,如是,将资源地址池发送至客户端;如否,将原始资源下载地址添加至资源地址池,并更新资源地址池,将更新后的资源地址池发送至客户端;所述资源地址池为包含有同一网络资源的所有下载地址的集合;
c、客户端根据资源地址池中地址数量对下载资源分块,分出的子块数与所述地址数量相同;
d、客户端将每个子块连接到资源地址池中的一个下载地址进行下载。
本发明的有益效果是,每一个子块对应多线程下载模式,由于本发明聚集了多个下载服务器的资源,进一步提高客户端的下载能力,对单一服务器也起到了负载分流、失效备份的作用。
具体实施方式
资源聚集服务器是个私有服务器,是用来保存散列值及对应的资源地址池的数据库的服务器;而原始资源下载服务器是原始资源下载地址对应的一个服务器;比如对于一个文件A,在服务器X、Y、Z上都有副本,那么X、Y、Z都可称为一个原始资源下载服务器,而另外一个服务器N,这个服务器N知道对于文件A,有http://X/...、http://Y/...、http://Z/...三个地址都能下载,服务器N就是资源聚集服务器。
本发明涉及客户端、原始资源下载服务器、资源聚集服务器。原始资源下载服务器仅提供客户端所需下载资源的资源属性,在下载过程中应客户端请求将下载资源发送至客户端。客户端与资源聚集服务器的工作流程如下:
1.客户端:
1.1客户端从INTERNET从获取一个原始资源下载地址并连接资源聚集服务器;
1.2客户端将资源属性提交到资源聚集服务器,从资源聚集服务器获资源地址池;如果获取资源地址池失败,就使用原始资源下载地址进行点对点下载,并处理下载结果;如果获取资源地址池成功,进入1.3;
1.3根据资源地址池里的地址数量进行分块,每分块对应资源地址池里的一个资源下载地址;如果资源地址池里某个资源地址失效而导致该分块无法完成下载,那么当其它分块完成后,该分块切换到其它分块对应的资源地址进行下载;直到所有分块都下载完成。
2.资源聚集服务器:
2.1资源聚集服务器监听本机端口,看是否有客户端推送数据过来:如果有,则进入2.2;如果无,继续执行2.1;
2.2分析客户端数据,对资源属性计算出资源散列值;如果本机数据库中不存在该散列值对应的表项,则对该资源散列值建立表项和资源地址池,并将客户端数据资源属性中的原始资源下载地址加入资源地址池;如果存在该散列值对应的表项,再根据客户端数据中的原始资源下载地址是否存在于表项对应的资源地址池里,决定是否将其加入资源地址池;进入2.3;
2.3将执行结果反馈给客户端;继续执行2.1。
实施例
资源属性包括述原始资源下载地址、下载资源的资源文件类型、资源大小、资源内容的前1024个字节数据(即文件的前1024个字节);原始资源下载地址是客户端在下载网页上直接获取的(比如点击网页上的下载按钮),后三个属性(下载资源的资源文件类型、资源大小、资源内容的前1024个字节数据)是需要连接到原始资源下载地址对应的原始资源下载服务器才能获取。这几个属性可以判定一个唯一的下载文件。对于失效的下载地址(即对应了一个无法连接的资源服务器),那么此时资源属性只包含了资源下载地址,其它三个属性都是无效的(无效即为0)。资源地址池为就同样资源内容所对应的一系列资源下载地址的集合。比如对于一个特定的文件,可能在华军、163、长虹等资源服务器上都有,对应的下载地址分别为:http://dl1.newhua.com/files/1.mp3、http://dl1.163newhua.com/women.mp3、http://www.changhong.com/files/liuxing.mp3,那么地址池其实就是这三个地址的集合。资源地址池一共有三个下载地址,那么客户端会将文件分成三等分去分别连接每个服务器下载。如果某个服务器也无法下载,那么该分块切换到可以下载的那个资源下载服务器继续下载。如果三个资源服务器都无法下载,那么下载失败。资源聚积服务器先根据资源属性计算出散列值,通过散列值查找本地表项(各种数据库软件,比如SQL、FOXBASE、ORCALE等等),从而找出该资源属性对应的资源地址池。资源聚积服务器存储的表项中,每个资源散列值就是这个表项的唯一关键字,资源地址池就是这个表项的数据。同样资源内容的资源在不同的原始资源下载服务器上虽命名不同,但是文件类型、文件大小、文件内容的前一段字节这些是相同的。散列值包括主散列值和辅散列值,主散列值由资源文件类型的实际值、资源大小的实际值、资源内容的前1024个字节数据(或取2048个字节、前500个字节,一段字节数取得越多,对查询条件的约束性越强)的实际值以及原始资源下载地址计算得到;主散列值用于客户端连接原始资源下载服务器获取资源属性时,得到的资源属性全部有效的情况;辅散列值由主散列值由资源文件类型为零、资源大小为零、资源内容的前1024个字节数据为零以及原始资源下载地址计算得到;辅助散列值用于客户端连接原始资源下载服务器获取资源属性时,得到的资源属性仅原始资源下载地址有效的情况。
客户端与资源聚集服务器的具体工作流程如下:
客户端:
用户通过浏览网页等方式从INTERNET获取一个原始资源下载地址。然后向该原始资源下载服务器发送下载请求(请求1024个字节的数据)。然后进行下面两种情况的处理(步骤C.1和C.2):
C.1如果原始下载服务器返回了正确数据,则把资源属性(资源文件类型、资源大小、原始资源下载地址、资源内容的前1024个字节数据,即全部属性有效)发送给资源聚集服务器。资源聚集服务器会返回两种结果:C.1.1失败,即资源聚集服务器没有发现该资源的资源地址池,那么客户端继续从该原始资源下载服务器下载数据;C.1.2成功,即服务端发现了该资源的下载地址池,那么客户端根据资源地址池中的地址数量进行分块,分别从每个资源下载地址对应的下载服务器下载数据,其中,这些资源下载地址也有无法下载的,那么将无法下载的分块切换到已成功完成下载分块对应的下载服务器上去。最终完成整个资源的下载。
C.2如果原始资源下载服务器返回了错误(或者下载超时),则也把资源属性(资源文件类型为零、资源大小为零、原始资源下载地址、资源内容的前1024个字节数据全为零,即只有原始资源下载地址属性有效)发送给资源聚集服务器。资源聚集服务器会返回两种结果:C.2.1失败,即资源聚集服务器没有发现该资源的资源地址池,那么客户端对原始资源下载失败;C.2.2成功,即虽然原始资源下载地址失败,但是资源聚集服务器发现了备份资源地址池,那么客户端根据资源地址池中的地址数量进行分块,分别从每个资源下载地址对应的下载服务器分块下载数据,其中,这些资源下载地址也有无法下载的,那么将无法下载的分块切换到已成功完成下载分块对应的下载服务器上去,最终完成整个资源的备份下载。
资源聚集服务器:
监听本机端口,看是否有客户端推送数据过来:如果有,根据用户数据中的资源属性的参数属性,如果资源属性全部属性有效,则计算出主散列值和辅散列值(辅散列值由资源文件类型为零、资源大小为零、原始资源下载地址、资源内容的前1024个字节数据全为零计算出),如果资源属性中只有原始资源下载地址属性有效,则只计算出辅散列值,根据计算出的主散列值或辅散列值,查询本机数据存储,根据结果执行步骤S.1和S.2;如果无,则继续监听。
S.1如果没有查询到,则创建一个新的表项,表项主关键字为资源主散列值(如果当前资源属性参数属性中只有原始资源下载地址属性有效,那么就空缺主散列值,待以后有辅散列值相同的资源属性时,再补充主散列值),表项辅关键字为资源辅散列值,表项数据为资源地址池,并将该资源下载地址加入表项里的资源地址池,将新建表项写回本机数据存储,返回失败给客户端。
S.2如果查询到,又分为以下四种情况:S.2.1将查询到的表项里的资源地址池跟该资源下载地址进行比较,如果相同,不论是通过主散列值还是辅散列值查询到的,都返回失败给客户端;S.2.2如果表项里的资源地址池不包含该资源下载地址,那么将该资源下载地址加入资源下载地址池并将更新的表项写回本机数据存储,将更新后的资源地址池反馈给客户端,并返回成功给客户端;S.2.3如果表项里的资源地址池包含该资源下载地址,将资源地址池反馈给客户端,并返回成功给客户端;S.2.4步骤S.2.3里又有种特殊情况,如果用户数据的资源属性只能计算出辅散列值(资源属性参数属性中只有原始资源下载地址属性有效),说明原始资源下载地址下载失败,而资源聚集服务器返回的资源地址池就可以作为客户端的备份下载地址。
INTERNET应用和业务***发展的今天,同一个资源,在多个门户网站都能下载到,这说明多个下载服务器上都有该资源的拷贝,这正是本发明能有效实施的首要环境;本方法是经实验验证,能够有效地提高客户端的下载能力、有效地对下载服务器负载分流,同时对下载失效能寻求备份下载。
Claims (2)
1.网络资源下载方法,其特征在于,包括以下步骤:
a、客户端获取一个原始资源下载地址,并连接资源聚集服务器;所述原始资源下载地址是客户端从下载网页上直接获取的;
b、资源聚集服务器根据资源属性计算出资源散列值;如果本机数据库中不存在该散列值对应的表项,则对该资源散列值建立表项和资源地址池,并将客户端数据资源属性中的原始资源下载地址加入资源地址池;如果存在该散列值对应的表项,再判断资源地址池内的下载地址中是否包含原始资源下载地址,如是,将资源地址池发送至客户端;如否,将原始资源下载地址添加至资源地址池,并更新资源地址池,将更新后的资源地址池发送至客户端;所述资源地址池为包含有同一网络资源的所有下载地址的集合;所述资源属性包含有原始资源下载地址、下载资源的资源文件类型、资源大小、资源内容的前一段字节数据;所述下载资源的资源文件类型、资源大小、资源内容的前一段字节数据是由客户端连接到原始资源下载地址对应的原始资源下载服务器获取的;
c、客户端根据资源地址池中地址数量对下载资源分块,分出的子块数与所述地址数量相同;
d、客户端将每个子块连接到资源地址池中的一个下载地址进行下载。
2.如权利要求1所述网络资源下载方法,其特征在于,步骤d中,如有子块连接到资源地址池中的一个下载地址时下载失败,客户端则将该子块切换到其它已完成下载的子块所对应的下载地址上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008103059707A CN101437051B (zh) | 2008-12-04 | 2008-12-04 | 网络资源下载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008103059707A CN101437051B (zh) | 2008-12-04 | 2008-12-04 | 网络资源下载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101437051A CN101437051A (zh) | 2009-05-20 |
CN101437051B true CN101437051B (zh) | 2011-09-28 |
Family
ID=40711270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008103059707A Expired - Fee Related CN101437051B (zh) | 2008-12-04 | 2008-12-04 | 网络资源下载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101437051B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025782A (zh) * | 2010-12-08 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 一种点对点通信方法、装置及*** |
CN102333122B (zh) * | 2011-09-28 | 2015-04-15 | 奇智软件(北京)有限公司 | 一种下载资源提供方法、装置及*** |
CN102333127A (zh) * | 2011-10-20 | 2012-01-25 | 中兴通讯股份有限公司 | 资源下载方法、装置及*** |
KR101225405B1 (ko) * | 2012-08-03 | 2013-01-22 | (주)네오위즈게임즈 | 데이터 송수신 네트워크 제어 방법 및 장치 |
CN103856531A (zh) * | 2012-12-05 | 2014-06-11 | 中国科学院深圳先进技术研究院 | 一种基于多协作者的局域网下载装置及方法 |
CN104410716B (zh) * | 2014-12-17 | 2018-02-13 | 百度在线网络技术(北京)有限公司 | 从论坛网页下载附件的方法、设备及*** |
CN105099774B (zh) * | 2015-07-08 | 2018-07-24 | 上海斐讯数据通信技术有限公司 | 一种路由器软件升级方法及*** |
CN105162885B (zh) * | 2015-09-25 | 2019-04-12 | 宇龙计算机通信科技(深圳)有限公司 | 资源下载方法、资源下载***和终端 |
CN106101289A (zh) * | 2016-08-24 | 2016-11-09 | 珠海市魅族科技有限公司 | 一种文件下载方法、终端、服务器及*** |
CN110830535B (zh) * | 2018-08-10 | 2021-03-02 | 网宿科技股份有限公司 | 一种超热文件的处理方法、负载均衡设备及下载服务器 |
CN110781189B (zh) * | 2019-10-25 | 2022-08-26 | 北京达佳互联信息技术有限公司 | 文档平台构建方法、装置、电子设备及存储介质 |
CN114401185A (zh) * | 2021-12-31 | 2022-04-26 | 宝宝巴士股份有限公司 | 一种下载地址自动切换的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710857A (zh) * | 2004-06-18 | 2005-12-21 | 千橡寰宇科技发展(北京)有限公司 | 一种实现文件加速下载的***及方法 |
US20060212542A1 (en) * | 2005-03-15 | 2006-09-21 | 1000 Oaks Hu Lian Technology Development Co., Ltd. | Method and computer-readable medium for file downloading in a peer-to-peer network |
-
2008
- 2008-12-04 CN CN2008103059707A patent/CN101437051B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710857A (zh) * | 2004-06-18 | 2005-12-21 | 千橡寰宇科技发展(北京)有限公司 | 一种实现文件加速下载的***及方法 |
US20060212542A1 (en) * | 2005-03-15 | 2006-09-21 | 1000 Oaks Hu Lian Technology Development Co., Ltd. | Method and computer-readable medium for file downloading in a peer-to-peer network |
Non-Patent Citations (2)
Title |
---|
沈琦.基于Chord的高性能文件存储技术的研究与设计.《中国优秀硕士论文全文数据库信息科技辑》.2007,(第2期), * |
沈琦.基于Chord的高性能文件存储技术的研究与设计.《中国优秀硕士论文全文数据库信息科技辑》.2007,(第2期),21-24. * |
Also Published As
Publication number | Publication date |
---|---|
CN101437051A (zh) | 2009-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101437051B (zh) | 网络资源下载方法 | |
CN110704453B (zh) | 一种数据查询方法、装置、存储介质及电子设备 | |
US7590623B2 (en) | Automated management of software images for efficient resource node building within a grid environment | |
JP4671332B2 (ja) | ユーザ識別情報を変換するファイルサーバ | |
US8620926B2 (en) | Using a hashing mechanism to select data entries in a directory for use with requested operations | |
JP5008748B2 (ja) | 検索方法、統合検索サーバ及びコンピュータプログラム | |
US11907294B2 (en) | Efficient and scalable time-series data storage and retrieval over a network | |
CN101042767A (zh) | web服务数据库群集体系结构及其方法 | |
CN102307210A (zh) | 一种数据下载***及其数据管理和下载方法 | |
CN108989430B (zh) | 负载均衡方法、装置及存储介质 | |
EP2108228A1 (en) | Method, apparatus, and computer program product for data upload in a computing system | |
US20050108242A1 (en) | Fingerprint database maintenance method and system | |
Kaur et al. | Discovery of resources over Cloud using MADM approaches | |
US7613680B2 (en) | Computer system and the computer control method | |
CN108563697A (zh) | 一种数据处理方法、装置和存储介质 | |
JP5352712B2 (ja) | 検索方法、統合検索サーバ及びコンピュータプログラム | |
CN110233904A (zh) | 设备更新方法、装置、***、存储介质以及计算机设备 | |
KR101600717B1 (ko) | P2p 방식의 가상머신 운영체제 이미지 다운로드 방법 및 장치 | |
Baud et al. | Performance analysis of a file catalog for the LHC computing grid | |
CN115563073A (zh) | 分布式元数据的数据处理的方法、装置及电子设备 | |
US11609754B2 (en) | Tool for latency optimized system placement | |
CN106156210A (zh) | 一种确定应用标识匹配列表的方法和装置 | |
US20210042271A1 (en) | Distributed garbage collection for dedupe file system in cloud storage bucket | |
US9727655B2 (en) | Searching system, method and P2P device for P2P device community | |
Brinkmann et al. | Towards archiving-as-a-service: a distributed index for the cost-effective access to replicated multi-version data |
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 | ||
C53 | Correction of patent for invention or patent application | ||
CB03 | Change of inventor or designer information |
Inventor after: Liao Fucheng Inventor before: Jiu Fucheng |
|
COR | Change of bibliographic data |
Free format text: CORRECT: INVENTOR; FROM: MIAO FUCHENG TO: LIAO FUCHENG |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110928 Termination date: 20201204 |
|
CF01 | Termination of patent right due to non-payment of annual fee |