[发明专利]一种BitTorrent和eMule下载文件的关联方法有效
申请号: | 201310232849.7 | 申请日: | 2013-06-13 |
公开(公告)号: | CN103269382A | 公开(公告)日: | 2013-08-28 |
发明(设计)人: | 冯凯;程学旗;田红志;王元卓;刘备;陈雷;刘悦 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 bittorrent emule 下载 文件 关联 方法 | ||
技术领域
本发明涉及P2P网络技术领域,具体地说,本发明涉及一种BitTorrent和eMule下载文件的关联方法。
背景技术
目前P2P网络的应用发展非常迅猛,由于每个客户都可以共享自己的文件资源,使得在P2P网络中发布文件的成本降低,大大方便了人们共享和获取资源。
BitTorrent(即BT)和eMule是目前P2P网络的两个主要代表,它们传播的资源数量数以亿计,其中很多资源同时在BT和eMule网络中传播。然而,由于BT和eMule网络的协议不同,导致BT空间和eMule空间各自独立,用户在下载资源时往往只能选择其中一个空间进行下载。另一方面,对于一些冷门资源,单一P2P空间(例如BT空间)内的活跃共享客户端相对较少,导致下载速度极慢,有时候还会在下载了一部分后就陷入长时间停滞的状态。此时,即便发现另一P2P空间(例如eMule空间)内也有所需的资源,也无法直接利用eMule空间内的资源接续下载,只能放弃在原P2P空间(例如BT空间)已经下载的部分,重新在另一P2P空间(例如eMule空间)下载,这样就导致了下载资源的浪费。
因此,当前迫切需要一种能够有效利用BitTorrent和eMule两个P2P空间的资源来加快下载速度和避免资源浪费的解决方案。
发明内容
本发明的目的是提供一种能够有效利用BitTorrent和eMule两个P2P空间的资源来加快下载速度和避免资源浪费的解决方案。
为了实现上述目的,本发明提出了一种BitTorrent和eMule下载文件的关联方法,包括下列步骤:
1)建立eMule信息数据库,eMule信息数据库记录的信息包括已采集的ED2K链接、该ED2K链接所对应资源文件的数据大小和不同尺寸起始文件分片的SHA1值序列,所述不同尺寸起始文件分片的尺寸为2nKB,n的取值为从4到13的整数;
2)对于当前的eMule网络中的ED2K链接,根据该ED2K链接所对应文件的文件大小和起始分片的SHA1哈希值在BitTorrent信息数据库中进行查找,当文件大小和起始分片的SHA1哈希值均命中BitTorrent信息数据库中的某一目标种子文件时,将该目标种子文件与当前的ED2K链接相互关联。
其中,所述步骤1)包括下列子步骤:
11)通过ED2K链接在eMule网络中下载文件时,解析出资源文件大小将其存入eMule信息数据库,并与当前的ED2K链接建立关联;
12)对当前的ED2K链接,下载自资源文件起始位置起9.28MB大小的文件内容,计算不同尺寸起始文件分片的SHA1值序列,将所述SHA1值序列存入eMule信息数据库,并与当前的ED2K链接建立关联,所述不同尺寸起始文件分片的尺寸为2nKB,n的取值为从4到13的整数。
其中,所述步骤11)之前还包括步骤:
10)根据文件类型判断是否需要进行关联,判断为是时,执行步骤11),否则,结束对当前ED2K链接的关联处理。
其中,所述步骤11)还包括:将需要建立关联的文件的文件名写入eMule信息数据库,并与当前的ED2K链接建立关联。
其中,所述步骤2)包括下列子步骤:
21)使用当前的ED2K链接的ED2K哈希在BitTorrent信息数据库中进行查找,判断是否有BitTorrent种子文件所含的ED2K哈希与之相等,判断为是,则将将该含有相等ED2K哈希的种子文件作为目标文件,执行步骤23),判断为否则执行步骤22);
22)根据资源文件的文件大小和各个尺寸的起始分片的SHA1哈希值在BitTorrent信息数据库中进行查找,判断其中是否存在文件大小相同并且尺寸相同的起始分片的SHA1哈希值也相等的文件,如果存在,将该文件大小相同并且尺寸相同的起始分片的SHA1哈希值也相等的文件作为目标文件,继续执行步骤23);
23)在数据库中建立当前ED2K链接和目标文件所对应的BitTorrent种子文件的关联关系。
其中,所述步骤23)还包括:通过关联关系判断之前在BitTorrent网络中是否下载过当前ED2K链接所对应的资源文件,如果是,则停止当前的ED2K链接的下载;如果否,则利用BitTorrent和eMule两种协议分别请求资源文件不同的文件分片。
为了实现上述目的,本发明还提出另一种BitTorrent和eMule下载文件的关联方法,包括下列步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310232849.7/2.html,转载请声明来源钻瓜专利网。