[发明专利]一种文件的散列值的计算方法及装置有效

专利信息
申请号: 201410652575.1 申请日: 2014-11-17
公开(公告)号: CN104394205A 公开(公告)日: 2015-03-04
发明(设计)人: 周星 申请(专利权)人: 广联达软件股份有限公司
主分类号: H04L29/08 分类号: H04L29/08
代理公司: 北京柏杉松知识产权代理事务所(普通合伙) 11413 代理人: 马敬;项京
地址: 100193 北京市海淀*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 文件 散列值 计算方法 装置
【说明书】:

技术领域

发明涉及云存储系统,特别涉及一种文件的散列值的计算方法及装置。

背景技术

系统开发者在设计云存储系统时,服务器会对用户上传的文件进行散列计算。其中,计算散列值主要在于两个目的:其一,对比服务器所计算出的散列值和文件上传终端所上报的散列值,以确认文件在上传过程中的正确性,其二,在实际存储文件时,对比已经存在的散列值,达到去重的目的。

其中,对于云存储系统的文件上传功能,开发者通常将程序设计为边上传文件,边计算所上传过来的部分文件数据的散列值,这样在文件上传完毕后,便能够立即拿到散列值。实际应用中,通常采用将散列值计算方法封装到java的java.security.MessageDigest类中,然后调用该java.security.MessageDigest类的方式来实时计算上传文件的散列值。

但是,现有文件上传过程中,经常会遇到如下问题:由于终端的网络不稳定,导致文件上传中断(即出现文件断点),相应的,服务器在检测到文件上传中断时会丢弃已经计算出的已上传的部分文件的散列值,并在该文件续传时,从头计算该文件的散列值,这无疑导致计算重复,浪费大量的计算资源。

发明内容

基于上述问题,本发明实施例公开了一种文件的散列值的计算方法及装置,以避免文件上传过程中文件的散列值的重复计算,从而避免计算资源的浪费。技术方案如下:

第一方面,本发明实施例提供了一种文件的散列值的计算方法,应用于云存储系统的服务器,所述方法包括:

在基于java.security.MessageDigest类计算当前上传文件的散列值的过程中,检测是否出现文件上传断点;

当检测到文件上传断点时,提取java.security.MessageDigest类的对象中的各个关键字段的当前的字段值;其中,所述关键字段为计算当前上传文件的散列值所需要的字段;

按照预设编码方式,对所述各个关键字段的字段值进行编码处理,并将各个编码结果拼接成目标字符串;

保存所述目标字符串;

当检测到当前上传文件发生续传时,获取所述目标字符串,并将所述目标字符串还原为各个关键字段的字段值;

将所还原的各个关键字段值恢复到java.security.MessageDigest类的对象中,以继续计算当前上传文件的散列值。

可选的,所述各个关键字段包括:缓冲区、中间状态、偏移量和中间散列值。

可选的,所述按照预设编码方式,对所述各个关键字段的字段值进行编码处理,并将各个编码结果拼接成目标字符串,包括:

按照ASCII编码方式,对所述各个关键字段的字段值进行编码处理,并将各个编码结果拼接成目标字符串。

可选的,通过java反射技术,提取java.security.MessageDigest类的对象中的各个关键字段的当前的字段值;

相应的,通过java反射技术,将所还原的各个关键字段值恢复到java.security.MessageDigest类的对象中。

第二方面,本发明实施例提供了一种文件的散列值的计算装置,应用于云存储系统的服务器,所述装置包括:

断点检测模块,用于在基于java.security.MessageDigest类计算当前上传文件的散列值的过程中,检测是否出现文件上传断点;

字段值提取模块,用于当检测到文件上传断点时,提取java.security.MessageDigest类的对象中的各个关键字段的当前的字段值;其中,所述关键字段为计算当前上传文件的散列值所需要的字段;

字段值处理模块,用于按照预设编码方式,对所述各个关键字段的字段值进行编码处理,并将各个编码结果拼接成目标字符串;

保存模块,用于保存所述目标字符串;

字段值还原模块,用于当检测到当前上传文件发生续传时,获取所述目标字符串,并将所述目标字符串还原为各个关键字段的字段值;

计算恢复模块,用于将所还原的各个关键字段值恢复到java.security.MessageDigest类的对象中,以继续计算当前上传文件的散列值。

可选的,所述各个关键字段包括:缓冲区、中间状态、偏移量和中间散列值。

可选的,所述字段值处理模块,包括:

按照ASCII编码方式,对所述各个关键字段的字段值进行编码处理,并将各个编码结果拼接成目标字符串。

可选的,所述字段值提取模块,具体用于:

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广联达软件股份有限公司,未经广联达软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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