一种文件差量的传输方法以及装置制造方法及图纸

技术编号:13229970 阅读:41 留言:0更新日期:2016-05-13 12:26
本发明专利技术公开了一种文件差量的传输方法以及装置,涉及通信领域,用以解决客户端对于每部分差量数据均需要向服务器发送一次上传请求的技术问题。该方法包括:客户端确定第二文件中,该第二文件相比第一文件的N份差量数据以及L个匹配块;将所述N份差量数据合并为M个差量块;M是小于N的正整数;将所述M个差量块以及所述L个匹配块的属性信息发送至所述服务器;其中,所述L个匹配块的属性信息被用于将所述M个差量块以及所述第一文件中与每个所述匹配块相一致的数据块,合并为所述第二文件。本发明专利技术实施例用于差量数据传输。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种文件差量的传输方法以及装置
技术介绍
随着云存储服务的普及,越来越多的人选择将个人的文件上传到网盘中进行备份,人们对文件上传速度的要求也越来越高,于是发展出了利用文件特征码,实现“忽略式”上传的技术。在有限的网络带宽条件下,“忽略式”上传技术提升了文件上传效率。具体地,“忽略式”上传技术是指,客户端在确定待上传的文件A后,计算该文件A的特征码,并将该特征码发送至服务器。其中,该特征码可以是信息-摘要算法第五版(英文全称:Message-Digest Algorithm 5,简称MD5),也可以是安全哈希算法第一版(英文全称:Secure Hash Algorithm,简称:SHAl)。这样,若该服务器上存在与文件A具有相同特征码的文件B,则该服务器可以直接向该客户端返回上传成功消息,不需要客户端再上传文件A;若该服务器上不存在与该文件A具有相同特征码的文件,但存在与该文件A具有相同文件名的文件C,在此情况下,该客户端还可以通过Rsync算法计算出该文件A相比该文件C的差量数据,并将该差量数据发送至该服务器,由该服务器利用该文件C与该差量数据相结合,在该服务器上生成与该文件A相一致的文件,从而无需客户端将整个文件A上传至服务器。并且,现有技术中,为了便于服务器能够正确合并文件C与差量数据,客户端是按照差量数据以及匹配数据在文件A中的顺序,依次发送差量数据和匹配数据的标识至服务器,该服务器按照接收顺序,合并该差量数据以及文件C中对应该匹配数据标识的数据。也就是说,客户端在上传差量数据时,对于每部分差量数据均需要向服务器发送一次上传请求,上传过程复杂,在文件A与文件C之间的差量数据较多,且分散在文件A的多个不同位置时,客户端的多次上传会增加客户端以及服务器的负载。
技术实现思路
本专利技术的目的是提供一种文件差量的传输方法以及装置,用于解决现有技术中,客户端对于每部分差量数据均需要向服务器发送一次上传请求的技术问题。上述目的将通过独立权利要求中的特征来达成。进一步的实现方式在从属权利要求、说明书和附图中体现。第一方面,提供一种文件差量的传输方法,服务器保存第一文件,所述方法用于将第二文件保存到所述服务器,所述方法包括:客户端确定所述第二文件中,所述第二文件相比所述第一文件的N份差量数据以及L个匹配块;所述第一文件中存在与每个所述匹配块相一致的数据块,所述第二文件由所述N份差量数据以及所述L个匹配块组成;N和L均是大于O的正整数;将所述N份差量数据合并为M个差量块;M是小于N的正整数;将所述M个差量块以及所述L个匹配块的属性信息发送至所述服务器;其中,所述L个匹配块的属性信息被用于将所述M个差量块以及所述第一文件中与每个所述匹配块相一致的数据块,合并为所述第二文件。也就是说,客户端在上传差量数据时,并非对分布在不同位置的每一份差量数据均向服务器请求一次上传,而是先将差量数据合并为数据量更大的差量块,并以差量块为最小单位进行上传,减少了客户端向服务器发送请求的数量,进而减轻了服务器的负载。在结合第一方面的第一种可能的实现方式中,所述L个匹配块的属性信息包括所述第一文件中与每个所述匹配块相一致的数据块的标识,以及每个所述匹配块在所述第二文件中的偏移量;其中,所述数据块的标识被用于确定所述第一文件中与所述L个匹配块相一致的L个数据块,所述偏移量是每个所述匹配块在所述第二文件中的起始地址与所述第二文件的首地址之间的差值,所述L个匹配块的偏移量被用于将所述M个差量块与所述L个数据块合并为所述第二文件。也就是说,为了确保服务器在接收到差量块后,能够将差量块与第一文件中的数据块正确合并为第二文件,需要该匹配块的属性信息能够正确表明匹配块与差量数据之间的位置,上述方案提供了一种优选的实现方式,即匹配块的属性信息包括第一文件中与该匹配块相一致的数据块的标识以及该匹配块在第二文件中的偏移量。结合第一方面,或者第一方面的第二种可能的实现方式,所述客户端确定所述第二文件中,所述第二文件相比所述第一文件的N份差量数据以及L个匹配块包括:接收服务器发送的所述第一文件的文件分块信息;根据所述文件分块信息通过Rsync算法确定所述第二文件中,与所述第一文件中的数据块相一致的所述匹配块。其中,所述文件分块信息包括第一文件中的数据块的标识,所述客户端确定出所述第二文件中,与所述第一文件中的数据块相一致的匹配块后,可以记录与所述匹配块相一致的数据块的标识,这样,所述服务器在接收到与所述匹配块相一致的数据块的标识后,即可在所述第一文件中确定出与所述匹配块相一致的数据块。第二方面,提供一种文件差量传输的方法,服务器保存第一文件,所述方法用于将第二文件保存到所述服务器,包括:服务器接收客户端发送的M个差量块以及L个匹配块的属性信息;所述M个差量块是所述第二文件相比所述第一文件的N份差量数据合并而成的;所述第一文件中存在与每个所述匹配块相一致的数据块;所述第二文件由所述N份差量数据以及所述L个匹配块组成;N和L均是大于O的正整数,M是小于N的正整数;根据所述L个匹配块的属性信息将所述M个差量块以及所述第一文件中与每个所述匹配块相一致的数据块,合并为所述第二文件。上述方案中,服务器接收客户端以差量块为最小单位上传的差量数据,相比现有技术中,服务器要接收客户端针对N份差量数据发送的N次上传请求,上述方案减少了服务器处理上传请求的数目,进而减轻了服务器的负载。在结合第二方面的第一种可能的实现方式中,所述L个匹配块的属性信息包括所述第一文件中与每个所述匹配块相一致的数据块的标识,以及每个所述匹配块在所述第二文件中的偏移量;所述偏移量是所述匹配块在所述第二文件中的起始地址与所述第二文件的首地址之间的差值;所述根据所述L个匹配块的属性信息将所述M个差量块以及所述第一文件中与每个所述匹配块相一致的所述数据块,合并为所述第二文件,包括:根据所述数据块的标识确定所述第一文件中与所述L个匹配块相一致的L个数据块;根据所述L个匹配块的偏移量将所述M个差量块以及所述L个数据块合并为所述第二文件。第三方面,提供一种客户端,服务器保存第一文件,所述客户端用于将第二文件保存到所述服务器,所述客户端包括:确定单元,用于确定所述第二文件中,所述第二文件相比第一文件的N份差量数据以及L个匹配块;所述第一文件中存在与每个所述匹配块相一致的数据块,所述第二文件由所述N份差量数据以及所述L个匹配块组成;N和L均是大于O的正整数;合并单元,用于将所述N份差量数据合并为M个差量块;M是小于N的正整数;发送单元,用于将所述M个差量块以及所述L个匹配块的属性信息发送至所述服务器;其中,所述L个匹配块的属性信息被用于将所述M个差量块以及所述第一文件中与每个所述匹配块相一致的所述数据块,合并为所述第二文件。结合第二方面,在第二方面的第一种可能的实现方式中,所述L个匹配块的属性信息包括所述第一文件中与每个所述匹配块相一致的数据块的标识,以及每个所述匹配块在所述第二文件中的偏移量;其中,所述数据块的标识被用于确定所述第一文件中与所述L个匹配块相一致的L个数据块,所述偏移量是每个所述匹配块在所述第二文件中的起始地址与所述第二文件的首地址之间的差值,所述L个匹配本文档来自技高网
...

【技术保护点】
一种文件差量的传输方法,其特征在于,服务器保存第一文件,所述方法用于将第二文件保存到所述服务器,包括:客户端确定所述第二文件中,所述第二文件相比所述第一文件的N份差量数据以及L个匹配块;所述第一文件中存在与每个所述匹配块相一致的数据块,所述第二文件由所述N份差量数据以及所述L个匹配块组成;N和L均是大于0的正整数;将所述N份差量数据合并为M个差量块;M是小于N的正整数;将所述M个差量块以及所述L个匹配块的属性信息发送至所述服务器;其中,所述L个匹配块的属性信息被用于将所述M个差量块以及所述第一文件中与每个所述匹配块相一致的数据块,合并为所述第二文件。

【技术特征摘要】

【专利技术属性】
技术研发人员:祝彪
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1