发明名称 一种P2P下载文件完整性校验方法
摘要 本发明涉及一种P2P下载文件完整性校验方法,该方法根据下载客户端的特征参数将文件块分为子数据块,当接收到一个子数据块时,利用哈希算法,计算该子块的哈希摘要,并更新文件块的哈希向量;当下载并计算完最后一个子块的哈希值时,随即生成文件块的哈希值,在下载过程中对文件完整性校验的延迟进行隐藏;本发明充分利用了TCP异步接收缓冲区,使得P2P下载过程中的校验的延迟可以被完全隐藏,有效提高了P2P下载的效率,特别是嵌入式平台的上的P2P下载的效率。而且本发明不依赖于具体的校验框架或者协议,特别是本方法的核心思想,可以直接应用到现有的P2P下载协议中,如eMule协议和BitTorrent协议,具有较强的实用性。
申请公布号 CN101651709B 申请公布日期 2012.09.05
申请号 CN200910091937.3 申请日期 2009.09.01
申请人 中国科学院声学研究所 发明人 王劲林;贺鹏程;邓浩江;孙鹏
分类号 H04L29/08(2006.01)I;H04L29/06(2006.01)I;G06F11/00(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 北京法思腾知识产权代理有限公司 11318 代理人 杨小蓉
主权项 一种P2P下载文件完整性校验方法,该方法根据下载客户端的特征参数将文件块分为子数据块,当接收到一个子数据块时,利用哈希算法,计算该子块的哈希摘要,并更新文件块的哈希向量;当下载并计算完最后一个子块的哈希值时,随即生成文件块的哈希值,在下载过程中对文件完整性校验延迟进行隐藏;所述的P2P下载文件完整性校验方法包括以下步骤:(1)下载节点从种子文件服务器下载种子文件;下载过程中进行文件完整性校验的过程包括:从节点请求下载指定文件块数据,以所确定的子数据块的大小为单位,从节点顺序接收数据;(2)下载节点根据平台哈希计算能力、下载带宽和TCP异步接收缓冲区大小,计算能够隐藏哈希计算延迟的最大子数据块长度lmax,并根据计算所得的最大子数据块大小将文件分为多个子数据块;(3)下载节点通过种子文件里的中央索引服务器地址,登录中央索引服务器,请求拥有下载文件数据的节点列表;(4)下载节点从中央索引服务器返回的节点列表中选择伙伴节点,并同时向多个所选择的伙伴节点分别请求下载不同的文件块;(5)下载节点将文件块分为k个子数据块;(6)下载节点从伙伴节点接收数据,并在接收过程中几乎同步完成文件块哈希值的计算;(7)用计算出的文件块的哈希值与种子文件中,该文件块的原始哈希值进行比较,如果一致,则表明该文件块是没有篡改过的合法数据,将其存入文件中,否则,丢弃该文件块,并向其它节点请求下载该文件块;(8)重复步骤(4)到(7)直到整个文件下载完成。
地址 100190 北京市海淀区北四环西路21号中国科学院声学研究所