[发明专利]一种P2P下载文件完整性校验方法有效

专利信息
申请号: 200910091937.3 申请日: 2009-09-01
公开(公告)号: CN101651709A 公开(公告)日: 2010-02-17
发明(设计)人: 王劲林;贺鹏程;邓浩江;孙鹏 申请(专利权)人: 中国科学院声学研究所
主分类号: H04L29/08 分类号: H04L29/08;H04L29/06;G06F11/00
代理公司: 北京法思腾知识产权代理有限公司 代理人: 杨小蓉
地址: 100190北京市海淀区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 p2p 下载 文件 完整性 校验 方法
【说明书】:

技术领域

发明涉及网络通信P2P数据分发领域,特别涉及一种P2P下载文件完整性校 验方法。

背景技术

P2P下载是目前互联网文件下载的主要方式,不同于传统的C/S模式,P2P下载 的数据来自多个不同的节点,而且没有办法确保所有的节点都可信,因此必须对下 载的文件进行完整性校验。目前主流的P2P下载协议,如eMule和BitTorrent,大多 通过将一个文件分成不同的文件块,每下载完成一个完整的文件块后,对其采用MD4 或者SHA1哈希算法进行完整性校验,以便于快速定位出现错误的文件块,从而保 证整个文件的完整性。

对于特定平台,TCP异步接收缓冲区的大小和哈希计算的能力通常是固定的。 同时,对于大文件的下载,为了减少传输原始文件块哈希值带来的通信开销,文件 块也不可能过小。例如:eMule的文件块大小固定为9.28MB;BitTorrent的文件块大 小根据文件大小确定,一个4GB的大文件,其文件块大小通常为2MB或者4MB。 特别的,对于嵌入式平台上的P2P下载,由于其计算能力低下,如果要使哈希计算 的时间足够短,必须使文件块的大小足够小,如16KB,直接减小文件块大小显然不 是可行办法。因此,理论上,现有的文件完整性校验带来的时间延迟主要由两部分 构成:

1)哈希计算时间。由于MD4和SHA1这类哈希算法的时间复杂度通常为O(n), 其中n是文件块字节数,文件块越大,时间开销越大。例如,100Mbps的网络上传 输4MB的数据块,理论最短传输时间大约是320毫秒;一台主频为2.4GHz的普通 计算机计算一个大小为4M的文件的SHA1哈希值,其总时间开销大约是75毫秒; 而在一台主频为200MHz的嵌入式设备上,时间开销则达到700毫秒。

2)传输时间开销。文件完整性校验大多是分块校验,在每一个分块校验过程中, 应用程序将会暂停接收数据,如果暂停时间过长,可能使发送节点将接收节点从发 送服务队列中移除甚至断开与节点的传输连接。最终使得节点必须再等待一段时间 才能够获取发送节点的服务。因此,这部分的时间开销如果过大,将进一步降低文 件传输的性能。

另外,也可以采用开启额外线程来进行哈希计算,使得哈希计算与数据接收并 行进行。但是,一方面开启新线程来进行文件完整性校验会增加系统软件的复杂度; 另一方面由于P2P下载过程中,节点需要同时从多个伙伴节点下载数据,将导致开 启过多线程,反而可能会增加系统开销,降低效率。一些文献结合其提出的校验框 架和协议,提出了基于块的概率校验算法,其思想是选择性的对部分文件块进行校 验以减少整个文件完整性校验过程中的计算开销,但并不能完全避免漏检,因此, 并不适合于可靠性要求很高的文件下载。

发明内容

本发明的目的是,针对现有的文件完整性校验方法的不足,提出一种P2P下载 文件完整性校验方法,在P2P下载过程中,利用TCP异步接收缓冲区隐藏P2P下载 过程中的文件完整性校验延迟,提高P2P下载的效率,特别是提高哈希计算能力低 下的嵌入式P2P下载的效率。本发明可以应用于BitTorrent协议以及其它类似的P2P 下载协议。

由于TCP基于滑动窗口的流量控值机制,运行于操作系统内核的TCP协议栈, 对于每一个TCP连接通常都有一个TCP异步接收缓冲区;所谓的TCP异步接收缓 冲区是指,当上层应用在处理其它事务而没有从TCP协议栈读取网络数据时,TCP 协议栈依然保持正常的数据接收,并将数据缓存在操作系统内核的一块内存区。TCP 异步接收缓冲区的大小取决于具体的协议栈实现,通常为65535字节左右。因此, 如果应用程序暂停接收数据的时间足够短,使得这段时间内TCP异步接收缓冲区没 有填满,那么底层的数据接收实际是不受影响的。换句话说,如果每一次哈希计算 的时间足够短或者TCP异步接收缓冲区足够大,前面提到的文件完整性校验延迟是 可以完全隐藏的。

为了实现上述目的,本发明提供一种P2P下载文件完整性校验方法,该方法根 据下载客户端的特征参数将文件块分为子数据块,当接收到一个子数据块时,利用 哈希算法,计算该子块的哈希摘要,并更新文件块的哈希向量;当下载并计算完最 后一个子块的哈希值时,随即生成文件块的哈希值,在下载过程中对文件完整性校 验延迟进行隐藏;

所述的P2P下载文件完整性校验方法包括以下步骤:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910091937.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top