The invention discloses a method and device for avoiding repeated download. The method includes: downloading the preset part of the file to be downloaded; hashing the preset part of the data to obtain the first hash value; comparing the first hash value with the hash value in the database, where there are multiple hash values and files corresponding to the hash value in the database; and when there are files in the database, the hash value is compared with the hash value in the database. When the first hash value is the same as the second hash value, the file corresponding to the second hash value is obtained as the download result; when the database does not have the same hash value as the first hash value, the remaining data of the file to be downloaded is continued. Through the above methods, the problem that can not effectively avoid repeated downloads in related technologies is solved, and the effect of effectively avoiding repeated downloads is achieved.
【技术实现步骤摘要】
一种避免重复下载的方法和装置
本申请涉及互联网领域,具体而言,涉及一种避免重复下载的方法和装置。
技术介绍
当前,从网络上下载文件所用的文件下载协议主要包括HTTP、FTP、BT和ED2k等,上述文件下载协议中,除了单文件的BT和ED2k在下载前可以有一个与文件惟一对应的哈希值外,HTTP,FTP,多文件BT都没有形成一个标准,让客户端在下载时并得到文件的惟一哈希值。在离线下载应用中,为了节约资源,离线服务器会在下载之前,通常通过将待下载文件的哈希值与数据库中预存的哈希值比较来判断待下载的文件是否是已下载过的文件,若是则直接从数据库中调取该文件,进而节约下载资源。然而,由于下载之前,待下载文件本身没有与其对应的哈希值,且文件被不同形式分发时,如文件对应不同的下载链接或被打包进不同的BT种子中,则离线服务器很容易对该文件进行重复下载。针对相关技术中无法有效避免重复下载的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请提供了一种避免重复下载的方法和装置,以解决相关技术中无法有效避免重复下载的问题。根据本申请的一个方面,提供了一种避免重复下载的方法。该方法包括:下载待下载文件中的预设部分数据;对预设部分数据进行哈希计算获得第一哈希值;将第一哈希值与数据库中的哈希值进行比较,其中,数据库中预存有多个哈希值以及与多个哈希值对应的文件;当数据库中存在与第一哈希值相同的第二哈希值时,获取第二哈希值对应的文件作为下载结果;当数据库中不存在与第一哈希值相同的哈希值时,继续下载待下载文件的剩余部分数据。进一步地,预设部分数据为待下载文件中的多个预设位置中的预设大小的数据, ...
【技术保护点】
1.一种避免重复下载的方法,其特征在于,所述方法包括:下载待下载文件中的预设部分数据;对所述预设部分数据进行哈希计算获得第一哈希值;将所述第一哈希值与数据库中的哈希值进行比较,其中,所述数据库中预存有多个哈希值以及与所述多个哈希值对应的文件;当所述数据库中存在与所述第一哈希值相同的第二哈希值时,获取所述第二哈希值对应的文件作为下载结果;当所述数据库中不存在与所述第一哈希值相同的哈希值时,继续下载所述待下载文件的剩余部分数据。
【技术特征摘要】
1.一种避免重复下载的方法,其特征在于,所述方法包括:下载待下载文件中的预设部分数据;对所述预设部分数据进行哈希计算获得第一哈希值;将所述第一哈希值与数据库中的哈希值进行比较,其中,所述数据库中预存有多个哈希值以及与所述多个哈希值对应的文件;当所述数据库中存在与所述第一哈希值相同的第二哈希值时,获取所述第二哈希值对应的文件作为下载结果;当所述数据库中不存在与所述第一哈希值相同的哈希值时,继续下载所述待下载文件的剩余部分数据。2.根据权利要求1所述的方法,其特征在于,所述预设部分数据为所述待下载文件中的多个预设位置中的预设大小的数据,对所述预设部分数据进行哈希计算获得第一哈希值包括:将所述待下载文件中的多个预设位置中的预设大小的数据以及所述待下载文件的大小数值进行拼接得到拼接数据;对所述拼接数据进行哈希计算获得所述第一哈希值。3.根据权利要求1所述的方法,其特征在于,当所述数据库中不存在与所述第一哈希值相同的哈希值时,继续下载所述待下载文件的剩余部分数据之后,所述方法还包括:将所述第一哈希值和所述待下载文件存入所述数据库中。4.根据权利要求1所述的方法,其特征在于,在下载待下载文件中的预设部分数据之前,所述方法还包括:当所述待下载文件的大小小于预设值时,直接下载整个所述待下载文件并结束下载。5.一种避免重复下载的装置,其特征在于,所述装置包括:第一下载单元,用于下载待下载文件中的预设部分数据;计算单元,用于对所述预设部分数据进行哈希计算获得第一哈希值;比较...
【专利技术属性】
技术研发人员:莫广,
申请(专利权)人:广东一一五科技股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。