向云存储服务器离线上传的方法、系统与装置制造方法

文档序号:7987189研发日期:2012年阅读:543来源:国知局
技术简介:
本专利针对云存储中文件传输效率低、完整性校验不足的问题,提出基于客户端-离线上传单元-云服务器协同的解决方案。通过分块传输、MD5/SHA校验确保数据完整性,支持并行上传与进度查询,有效提升传输效率并避免重复上传。
关键词:云存储,文件传输,完整性校验
向云存储服务器离线上传的方法、系统与装置制造方法
【专利摘要】本发明公开了一种向云存储服务器离线上传的方法、系统与装置。该方法包括:客户端计算待上传的文件的校验值,向云存储服务器发送包含文件校验值的文件分块信息表,客户端响应于接收到云存储服务器返回的上传指令,向离线上传单元上传文件以及文件分块信息表;由离线上传单元向云存储服务器发送文件;云存储服务器计算所接收的文件的校验值,比较计算获得的校验值与文件分块信息表中包含的校验值是否相同,响应于计算获得的校验值与文件分块信息表中包含的校验值相同,云存储服务器存储文件。本发明提供的技术方案,提供了针对云存储的离线文件传输机制,使得用户无需长时间保持在线状态,提升了用户使用云储存的用户体验。
【专利说明】向云存储服务器离线上传的方法、系统与装置
【技术领域】
[0001]本发明涉及网络通信领域,特别涉及一种向云存储服务器离线上传的方法、系统
与装置。
【背景技术】
[0002]随着云计算(Cloud Computing)技术的发展,在云计算的概念上又延伸和发展出来云存储的概念。云存储是通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中需要配置大量的存储设备,云计算系统转变成为云存储系统,云存储可以看作以数据存储和管理为核心的云计算系统。
[0003]从云存储的概念及目前应用来看,其目的是向用户提供一种透明的网络存储服务。用户只要连接进互联网,即可享受网络存储服务,如同访问本地存储的数据,随时随地管理其在云端所存储的数据。
[0004]然而,在现有技术的云存储中,用户只能通过个人电脑(PC)或者专业客户端等用户终端向云存储服务器在线上传存储内容,实现云同步,需要用户终端一直保持在线状态才能实现这种内容的上传。举例来说,目前国内用户接入互联网的技术主要为ADSL (Asymmetric Digital Subscriber Line,非对称数字用户环路)技术,其上传带宽普遍在512Kb/S以下。以上传一个IGB大小的文件为例,理论上传需要时间为(1GBX1024X1024X8)/512=16384S,大约需要4.5个小时。由此可见,上传过程不仅耗时,而且需要用户长时间保持在线状态,不仅用户体验降低,同时还消耗资源。例如,用户PC机的能耗一般在200w-300w之间,而上传一个IGB的文件大概耗电0.9-1.35KWH。

【发明内容】

[0005]根据本发明实施例的一个方面,所要解决的一个技术问题是:提供一种向云存储服务器离线上传的方法、系统与装置,以实现在用户终端离线状态下,向云存储服务器上传数据。
[0006]本发明实施例提供的一种向云存储服务器离线上传的方法,所述方法包括:
[0007]客户端计算待上传的文件的校验值,向云存储服务器发送文件分块信息表,所述文件分块信息表中包含所述文件的校验值;
[0008]所述客户端响应于接收到所述云存储服务器返回的上传指令,向离线上传单元上传所述文件以及所述文件分块信息表;
[0009]所述离线上传单元向所述云存储服务器发送所述文件;
[0010]所述云存储服务器计算所接收的文件的校验值,比较计算获得的校验值与所述文件分块信息表中包含的校验值是否相同;
[0011]响应于计算获得的校验值与所述文件分块信息表中包含的校验值相同,所述云存储服务器存储所述文件。
[0012]优选地,所述方法还包括:
[0013]响应于识别出所述文件的大小满足预定的文件拆分阈值,所述客户端按照预设的文件拆分规则,计算将待上传的文件拆分为多个文件分块后的每一个文件分块的校验值,所述文件分块信息表中包含所述每一个文件分块的校验值以及所述文件拆分规则;
[0014]所述离线上传单元向所述云存储服务器发送所述文件,具体包括:
[0015]所述离线上传单元按照所述文件分块信息表中包含的所述文件拆分规则,将所述文件拆分为多个文件分块,向所述云存储服务器发送所述多个文件分块;
[0016]所述云存储服务器计算所接收的文件的校验值,比较计算获得的校验值与所述文件分块信息表中包含的校验值是否相同,具体包括:
[0017]所述云存储服务器计算所接收的所述多个文件分块的每一个文件分块的校验值,比较计算获得的文件分块的校验值与所述文件分块信息表中包含的所述文件分块对应的校验值是否相同;
[0018]所述响应于计算获得的校验值与所述文件分块信息表中包含的校验值相同,所述云存储服务器存储所述文件,具体包括:
[0019]响应于计算获得的文件分块的校验值与所述文件分块信息表中包含的所述文件分块对应的校验值相同,所述云存储服务器存储所述文件分块。
[0020]优选地,在向云存储服务器发送文件分块信息表之前,所述方法还包括:
[0021]所述客户端计算所述文件的校验值,所述文件分块信息表中还包含所述文件的校验值;
[0022]所述云存储服务器根据所述文件分块信息表中包含的文件拆分规则,识别是否已存储拆分后的每一个文件分块;
[0023]响应于已存储拆分后的每一个文件分块,所述云存储服务器合并所述每一个文件分块形成完整文件,计算所述完整文件的校验值;
[0024]响应于所述完整文件的校验值与所述文件分块信息表中包含的所述文件的校验值相同,所述云存储服务器存储所述完整文件。
[0025]优选地,所述方法还包括:
[0026]响应于计算获得的文件分块的校验值与所述文件分块信息表中包含的所述文件分块对应的校验值相同,所述云存储服务器向所述离线上传单元发送针对所述文件分块的上传成功消息;
[0027]所述离线上传单元响应于接收到上传成功消息,删除所述上传成功消息对应的文件分块。
[0028]优选地,所述离线上传单元开始执行所述向所述云存储服务器发送所述多个文件分块的操作后,所述方法还包括:
[0029]响应于接收到所述客户端发送的并行上传指令,所述离线上传单元识别尚未向所述云储存服务器发送的文件分块;
[0030]所述离线上传单元与所述客户端进行尚未上传的文件分块的上传任务分配协商;
[0031]根据协商的结果,所述离线上传单元与所述客户端分别向所述云储存服务器发送所分配的尚未上传的文件分块。
[0032]优选地,所述云存储服务器接收所述文件分块信息表后,所述方法还包括:
[0033]所述云存储服务器根据所述文件的校验值,检索所述云存储服务器是否已存储有所述文件;
[0034]响应于检索到已存储有所述文件,所述云存储服务器向所述客户端返回上传成功消息;
[0035]所述客户端响应于接收到所述上传成功消息,结束离线上传流程。
[0036]优选地,所述方法还包括:
[0037]所述客户端向所述云存储服务器发送查询上传进度消息;
[0038]所述云存储服务器向所述客户端返回已存储的文件信息。
[0039]优选地,所述客户端与所述离线上传单元位于同一局域网中,所述方法还包括:
[0040]所述客户端向所述离线上传单元发送查询上传进度消息;
[0041]所述离线上传单元向所述客户端返回已上发送至所述云储存服务器的文件信息。
[0042]优选地,所述校验值具体通过消息摘要算法第五版MD5、消息摘要算法第五版SHA、消息认证码算法MAC算法中的任意一种算法计算获得。
[0043]本发明实施例提供的一种向云存储服务器离线上传的系统,所述系统包括:
[0044]客户端,用于计算待上传的文件的校验值,向云存储服务器发送文件分块信息表,所述文件分块信息表中包含所述文件的校验值;响应于接收到所述云存储服务器返回的上传指令,向离线上传单元上传所述文件以及所述文件分块信息表;
[0045]离线上传单元,用于接收客户端上传的文件,向所述云存储服务器发送所述文件;
[0046]云存储服务器,用于计算从所述离线上传单元接收的文件的校验值,比较计算获得的校验值与所述文件分块信息表中包含的校验值是否相同;响应于计算获得的校验值与所述文件分块信息表中包含的校验值相同,存储所述文件。
[0047]优选地,所述客户端,还用于响应于识别出所述文件的大小满足预定的文件拆分阈值,所述客户端按照预设的文件拆分规则,计算将待上传的文件拆分为多个文件分块后的每一个文件分块的校验值,所述文件分块信息表中包含所述每一个文件分块的校验值以及所述文件拆分规则;
[0048]所述离线上传单元,还用于按照所述文件分块信息表中包含的所述文件拆分规贝U,将所述文件拆分为多个文件分块,向所述云存储服务器发送所述多个文件分块;
[0049]所述云存储服务器,具体用于计算所接收的所述多个文件分块的每一个文件分块的校验值,比较计算获得的文件分块的校验值与所述文件分块信息表中包含的所述文件分块对应的校验值是否相同;响应于计算获得的文件分块的校验值与所述文件分块信息表中包含的所述文件分块对应的校验值相同,存储所述文件分块。
[0050]优选地,所述客户端,还用于在向云存储服务器发送文件分块信息表之前,计算所述文件的校验值,所述文件分块信息表中还包含所述文件的校验值;
[0051]所述云存储服务器,还用于根据所述文件分块信息表中包含的文件拆分规则,识别是否已存储拆分后的每一个文件分块;响应于已存储拆分后的每一个文件分块,合并所述每一个文件分块形成完整文件,计算所述完整文件的校验值;响应于所述完整文件的校验值与所述文件分块信息表中包含的所述文件的校验值相同,存储所述完整文件。
[0052]优选地,所述云存储服务器,还用于计算获得的文件分块的校验值,响应于计算所获得的校验值与所述文件分块信息表中包含的所述文件分块对应的校验值相同,向所述离线上传单元发送针对所述文件分块的上传成功消息;
[0053]所述离线上传单元,还用于响应于接收到上传成功消息,删除所述上传成功消息对应的文件分块。
[0054]优选地,所述客户端,还用于在所述离线上传单元开始执行所述向所述云存储服务器发送所述多个文件分块的操作后,向所述离线上传单元发送并行上传指令;与所述离线上传单元进行尚未上传的文件分块的上传任务分配协商;根据协商的结果,向所述云储存服务器发送所分配的尚未上传的文件分块;
[0055]所述离线上传单元,还用于响应于接收到所述客户端发送的并行上传指令,识别尚未向所述云储存服务器发送的文件分块;与所述客户端进行尚未上传的文件分块的上传任务分配协商;根据协商的结果,向所述云储存服务器发送所分配的尚未上传的文件分块。
[0056]优选地,所述云存储服务器,还用于在接收所述文件分块信息表后,根据所述文件的校验值,检索所述云存储服务器是否已存储有所述文件;响应于检索到已存储有所述文件,向所述客户端返回上传成功消息;
[0057]所述客户端,还用于响应于接收到所述上传成功消息,结束离线上传流程。
[0058]优选地,所述客户端,还用于向所述云存储服务器发送查询上传进度消息;
[0059]所述云存储服务器,还用于向所述客户端返回已存储的文件信息。
[0060]优选地,所述客户端与所述离线上传单元位于同一局域网中;所述客户端,还用于向所述离线上传单元发送查询上传进度消息;
[0061]所述离线上传单元,还用于向所述客户端返回已上发送至所述云储存服务器的文件信息。
[0062]优选地,所述校验值具体通过MD5、SHA, MAC算法中的任意一种算法计算获得。
[0063]本发明实施例提供的一种的离线上传装置,所述离线上传装置包括:
[0064]第一通信单元,用于接收客户端上传的文件以及文件分块信息表,所述文件包括为拆分后的多个文件分块,所述文件分块信息表中包含所述多个文件分块的每一个文件分块的校验值以及所述文件拆分规则;
[0065]文件拆分单元,用于按照所述文件分块信息表中包含的所述文件拆分规则,将所述文件拆分为多个文件分块;
[0066]第二通信单元,用于向云存储服务器发送所述多个文件分块。
[0067]优选地,所述离线上传装置还包括:
[0068]协商单元,用于响应于接收到所述客户端发送的并行上传指令,识别尚未向所述云储存服务器发送的文件分块;与所述客户端进行尚未上传的文件分块的上传任务分配协商;
[0069]所述第二通信单元,还用于根据协商的结果,向所述云储存服务器发送所分配的尚未上传的文件分块。
[0070]基于本发明上述实施例提供的向云存储服务器离线上传的方法、系统与装置,客户端计算待上传的文件的校验值,向云存储服务器发送包含文件校验值的文件分块信息表,客户端响应于接收到云存储服务器返回的上传指令,向离线上传单元上传文件以及文件分块信息表。之后,客户端可以离线,由离线上传单元向云存储服务器发送文件。云存储服务器计算所接收的文件的校验值,比较计算获得的校验值与文件分块信息表中包含的校验值是否相同,响应于计算获得的校验值与文件分块信息表中包含的校验值相同,云存储服务器存储文件。从而提供针对云存储的离线文件传输机制,使得用户无需长时间保持在线状态,提升了用户使用云储存的用户体验,在离线上传单元可以针对多用户集中地进行文件上传,节省了用户端的资源消耗。
[0071]通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
【专利附图】

【附图说明】
[0072]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0073]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0074]构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
[0075]参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
[0076]图1示出本发明所提供的向云存储服务器离线上传的方法一种实施例的流程示意图;
[0077]图2示出本发明所提供的向云存储服务器离线上传的方法另一种实施例的流程示意图;
[0078]图3示出本发明所提供的向云存储服务器离线上传的方法又一种实施例的流程示意图;
[0079]图4示出本发明所提供的向云存储服务器离线上传的方法再一种实施例的流程示意图;
[0080]图5示出本发明所提供的向云存储服务器离线上传的系统一种施例的结构示意图;
[0081]图6示出本发明所提供的离线上传装置一种施例的结构示意图;
[0082]图7示出本发明所提供的离线上传装置另一种施例的结构示意图。
【具体实施方式】
[0083]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置不限制本发明的范围。[0084]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0085]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
[0086]在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0087]参见图1所示,图1示出本发明所提供的向云存储服务器离线上传的方法一种实施例的流程示意图。该实施例提供的方法包括:
[0088]101,客户端计算待上传的文件的校验值,向云存储服务器发送文件分块信息表,文件分块信息表中包含文件的校验值;
[0089]102,客户端响应于接收到云存储服务器返回的上传指令,向离线上传单元上传文件以及文件分块信息表;
[0090]103,离线上传单元向云存储服务器发送文件;
[0091]104,云存储服务器计算所接收的文件的校验值,比较计算获得的校验值与文件分块信息表中包含的校验值是否相同;
[0092]105,响应于计算获得的校验值与文件分块信息表中包含的校验值相同,云存储服务器存储文件。
[0093]基于上述实施例提供的向云存储服务器离线上传的方法,客户端计算待上传的文件的校验值,向云存储服务器发送包含文件校验值的文件分块信息表,客户端响应于接收到云存储服务器返回的上传指令,向离线上传单元上传文件以及文件分块信息表,由离线上传单元缓存待上传的文件。
[0094]执行102的操作后,客户端可以离线,由离线上传单元向云存储服务器发送文件。云存储服务器计算所接收的文件的校验值,比较计算获得的校验值与文件分块信息表中包含的校验值是否相同,响应于计算获得的校验值与文件分块信息表中包含的校验值相同,云存储服务器存储文件。由此,使得用户无需长时间保持在线状态,由离线上传单元在用户离线状态下文件上传。
[0095]另外,在执行101操作之后,还可以由通过客户端登录到离线上传单元,将客户端用户预先在云存储服务器进行注册的注册信息,例如,用户名信息与密码信息,上传给客户端通过局域网登录到。在执行103离线上传单元向云存储服务器发送文件的操作之前,由离线上传单元使用客户端用户的注册信息访问云存储服务器。客户端也可以直接访问与其处在同一局域网内的离线上传单元,或者凭注册信息访问云存储服务器。由此,提供使用云存储服务器的安全性。
[0096]参见图2所示,图2示出本发明所提供的向云存储服务器离线上传的方法另一种实施例的流程示意图。根据本发明方法实施例另一个具体示例包括如下所介绍的操作。
[0097]200,响应于识别出文件的大小满足预定的文件拆分阈值,客户端按照预设的文件拆分规则,计算将待上传的文件拆分为多个文件分块后的每一个文件分块的校验值。
[0098]201,客户端向云存储服务器发送文件分块信息表,文件分块信息表中包含文件的校验值文件,以及每一个文件分块的校验值以及文件拆分规则。[0099]例如,根据文件的大小,文件拆分阈值未512KB,当文件大于该文件拆分阈值时,客户端按照预设的文件拆分规则。
[0100]计算文件拆分后的每一个文件分块的校验值,可以用于该校验值在204的操作中,云存储服务器对接收到的文件分块进行完整性校验,从而保证文件传送的正确性。
[0101]202,客户端响应于接收到云存储服务器返回的上传指令,向离线上传单元上传文件以及文件分块信息表。
[0102]203,离线上传单元按照文件分块信息表中包含的文件拆分规则,将文件拆分为多个文件分块,向云存储服务器发送多个文件分块。例如,文件拆分规则可以包括文件拆分成多少块,文件分块的块头与块尾标记。
[0103]204,云存储服务器计算所接收的多个文件分块的每一个文件分块的校验值,比较计算获得的文件分块的校验值与文件分块信息表中包含的文件分块对应的校验值是否相同。
[0104]205,响应于计算获得的文件分块的校验值与文件分块信息表中包含的文件分块对应的校验值相同,云存储服务器存储文件分块。
[0105]基于上述实施例提供的向云存储服务器离线上传方法,离线上传单元将文件进行拆分后上传更小单位的文件分块,云存储服务器单独计算每个文件分块的校验值进行校验,提高了文件传输的正确性和安全性。
[0106]参见图3所示,图3示出本发明所提供的向云存储服务器离线上传的方法又一种实施例的流程示意图。与图2实施例相比,根据图3实施例提供的方法在向云存储服务器发送文件分块信息表之前,该方法还包括:
[0107]客户端在发送文件分块信息表之前,还计算文件的校验值。在上述201的操作中,文件分块信息表中还包含文件的校验值;
[0108]301,云存储服务器根据文件分块信息表中包含的文件拆分规则,识别是否已存储拆分后的每一个文件分块;
[0109]302,响应于已存储拆分后的每一个文件分块,云存储服务器合并每一个文件分块形成完整文件,计算完整文件的校验值;
[0110]303,响应于完整文件的校验值与文件分块信息表中包含的文件的校验值相同,云存储服务器存储完整文件。
[0111]基于上述实施例提供的向云存储服务器离线上传的方法,文件分块信息表中还包含完整文件的校验值,从而使得云存储服务器在合并文件分块形成完整文件后,利用该校验值校验合并后的文件,保证所存储的整个文件的完整性。
[0112]继续参见图3所示,根据本发明方法实施例一个具体示例,该方法还包括:
[0113]响应于计算获得的文件分块的校验值与文件分块信息表中包含的文件分块对应的校验值相同,云存储服务器向离线上传单元发送针对文件分块的上传成功消息;离线上传单元响应于接收到上传成功消息,删除上传成功消息对应的文件分块。图3中,仅示出文件分块I为示例,云存储服务器与离线上传单元处理其它的文件分块相类似。
[0114]基于上述实施例提供的向云存储服务器离线上传的方法,离线上传单元中缓存了大量的文件,可以需要内置闪存提供大容量的内存或其他存储资源,增加系统的成本。因此,对于上传完毕的文件分块,在云存储服务器校验完毕后,离线上传单元接收到上传成功消息,删除上传成功消息对应的文件分块,以达到存储资源的最大化使用
[0115]另外,也可以为离线上传单元提供外部存储,离线上传单元具有外部扩展接口,支持外部大容量存储,用于扩展存储空间。例如USB、SD、SATA等接口,用于支持移动存储设备。
[0116]参见图4所示,图4示出本发明所提供的云存储服务器的离线上传的方法再一种实施例的流程示意图。在离线上传单元开始执行向云存储服务器发送多个文件分块的操作后,该方法还包括:
[0117]401,响应于接收到客户端发送的并行上传指令,离线上传单元识别尚未向云储存服务器发送的文件分块;
[0118]402,离线上传单元与客户端进行尚未上传的文件分块的上传任务分配协商;[0119]403,根据协商的结果,离线上传单元与客户端分别向云储存服务器发送所分配的尚未上传的文件分块。如图4中所示,示例性地,离线上传单元上传文件分块m,客户端上传文件分块η。
[0120]基于上述实施例提供的向云存储服务器离线上传的方法,可以提供客户端并行上传模式。例如。当用户本地终端登录到另外一个网络,启动客户端,连接至云存储服务器,启动并行上传模式。云存储服务器与客户端以及离线上传单元进行协商,将剩下的文件块上传任务分配给两方承担,可以按照文件块的奇偶编号分配,也可以随机分配。从而,使得用户客户端和离线上传单元并行上传文件分块,提高了上传速度。
[0121]根据本发明方法实施例一个具体示例,云存储服务器接收文件分块信息表后,该方法还包括:云存储服务器根据文件的校验值,检索云存储服务器是否已存储有文件;响应于检索到已存储有文件,云存储服务器向客户端返回上传成功消息;客户端响应于接收到上传成功消息,结束离线上传流程。
[0122]基于上述实施例提供的向云存储服务器离线上传的方法,可以视为云端同步模式。当云存储服务器可以通过文件的校验值,用于云储存服务器判断其是否有相同文件存在,当检索到已存储有文件,则不再进行上传,从而节约用户及网络的资源。
[0123]以上传IOGB大小的文件,上行带宽为512Kb/S为例,在云存储服务器已存储该文件的情况下,下表中示出前述上传方式的用时比较:
[0124]
【权利要求】
1.一种向云存储服务器离线上传的方法,其特征在于,所述方法包括:客户端计算待上传的文件的校验值,向云存储服务器发送文件分块信息表,所述文件分块信息表中包含所述文件的校验值;所述客户端响应于接收到所述云存储服务器返回的上传指令,向离线上传单元上传所述文件以及所述文件分块信息表;所述离线上传单元向所述云存储服务器发送所述文件;所述云存储服务器计算所接收的文件的校验值,比较计算获得的校验值与所述文件分块信息表中包含的校验值是否相同;响应于计算获得的校验值与所述文件分块信息表中包含的校验值相同,所述云存储服务器存储所述文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于识别出所述文件的大小满足预定的文件拆分阈值,所述客户端按照预设的文件拆分规则,计算将待上传的文件拆分为多个文件分块后的每一个文件分块的校验值,所述文件分块信息表中包含所述每一个文件分块的校验值以及所述文件拆分规则;所述离线上传单元向所述云存储服务器发送所述文件,具体包括:所述离线上传单元按照所述文件分块信息表中包含的所述文件拆分规则,将所述文件拆分为多个文件分块,向所述云存储服务器发送所述多个文件分块;所述云存储服务器计算所接收的文件的校验值,比较计算获得的校验值与所述文件分块信息表中包含的校验值是否相同,具体包括:所述云存储服务器计算所接收的`所述多个文件分块的每一个文件分块的校验值,比较计算获得的文件分块的校验值与所述文件分块信息表中包含的所述文件分块对应的校验值是否相同;所述响应于计算获得的校验值与所述文件分块信息表中包含的校验值相同,所述云存储服务器存储所述文件,具体包括:响应于计算获得的文件分块的校验值与所述文件分块信息表中包含的所述文件分块对应的校验值相同,所述云存储服务器存储所述文件分块。
3.根据权利要求2所述的方法,其特征在于,在向云存储服务器发送文件分块信息表之前,所述方法还包括:所述客户端计算所述文件的校验值,所述文件分块信息表中还包含所述文件的校验值;所述云存储服务器根据所述文件分块信息表中包含的文件拆分规则,识别是否已存储拆分后的每一个文件分块;响应于已存储拆分后的每一个文件分块,所述云存储服务器合并所述每一个文件分块形成完整文件,计算所述完整文件的校验值;响应于所述完整文件的校验值与所述文件分块信息表中包含的所述文件的校验值相同,所述云存储服务器存储所述完整文件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:响应于计算获得的文件分块的校验值与所述文件分块信息表中包含的所述文件分块对应的校验值相同,所述云存储服务器向所述离线上传单元发送针对所述文件分块的上传成功消息;所述离线上传单元响应于接收到上传成功消息,删除所述上传成功消息对应的文件分块。
5.根据权利要求4所述的方法,其特征在于,所述离线上传单元开始执行所述向所述云存储服务器发送所述多个文件分块的操作后,所述方法还包括:响应于接收到所述客户端发送的并行上传指令,所述离线上传单元识别尚未向所述云储存服务器发送的文件分块;所述离线上传单元与所述客户端进行尚未上传的文件分块的上传任务分配协商;根据协商的结果,所述离线上传单元与所述客户端分别向所述云储存服务器发送所分配的尚未上传的文件分块。
6.根据权利要求5所述的方法,其特征在于,所述云存储服务器接收所述文件分块信息表后,所述方法还包括:所述云存储服务器根据所述文件的校验值,检索所述云存储服务器是否已存储有所述文件;响应于检索到已存储有所述文件,所述云存储服务器向所述客户端返回上传成功消息;所述客户端响应于接收到所述上传成功消息,结束离线上传流程。
7.根据权利要求6所`述的方法,其特征在于,所述方法还包括:所述客户端向所述云存储服务器发送查询上传进度消息;所述云存储服务器向所述客户端返回已存储的文件信息。
8.根据权利要求7所述的方法,其特征在于,所述客户端与所述离线上传单元位于同一局域网中,所述方法还包括:所述客户端向所述离线上传单元发送查询上传进度消息;所述离线上传单元向所述客户端返回已上发送至所述云储存服务器的文件信息。
9.根据权利要求1至8任意一项所述的方法,其特征在于,所述校验值具体通过消息摘要算法第五版MD5、消息摘要算法第五版SHA、消息认证码算法MAC算法中的任意一种算法计算获得。
10.一种向云存储服务器离线上传的系统,其特征在于,所述系统包括:客户端,用于计算待上传的文件的校验值,向云存储服务器发送文件分块信息表,所述文件分块信息表中包含所述文件的校验值;响应于接收到所述云存储服务器返回的上传指令,向离线上传单元上传所述文件以及所述文件分块信息表;离线上传单元,用于接收客户端上传的文件,向所述云存储服务器发送所述文件;云存储服务器,用于计算从所述离线上传单元接收的文件的校验值,比较计算获得的校验值与所述文件分块信息表中包含的校验值是否相同;响应于计算获得的校验值与所述文件分块信息表中包含的校验值相同,存储所述文件。
11.根据权利要求12所述的系统,其特征在于,所述客户端,还用于响应于识别出所述文件的大小满足预定的文件拆分阈值,所述客户端按照预设的文件拆分规则,计算将待上传的文件拆分为多个文件分块后的每一个文件分块的校验值,所述文件分块信息表中包含所述每一个文件分块的校验值以及所述文件拆分规则;所述离线上传单元,还用于按照所述文件分块信息表中包含的所述文件拆分规则,将所述文件拆分为多个文件分块,向所述云存储服务器发送所述多个文件分块;所述云存储服务器,具体用于计算所接收的所述多个文件分块的每一个文件分块的校验值,比较计算获得的文件分块的校验值与所述文件分块信息表中包含的所述文件分块对应的校验值是否相同;响应于计算获得的文件分块的校验值与所述文件分块信息表中包含的所述文件分块对应的校验值相同,存储所述文件分块。
12.根据权利要求11所述的系统,其特征在于,所述客户端,还用于在向云存储服务器发送文件分块信息表之前,计算所述文件的校验值,所述文件分块信息表中还包含所述文件的校验值;所述云存储服务器,还用于根据所述文件分块信息表中包含的文件拆分规则,识别是否已存储拆分后的每一个文件分块;响应于已存储拆分后的每一个文件分块,合并所述每一个文件分块形成完整文件,计算所述完整文件的校验值;响应于所述完整文件的校验值与所述文件分块信息表中包含的所述文件的校验值相同,存储所述完整文件。
13.根据权利要求12所述的系统,其特征在于,所述云存储服务器,还用于计算获得的文件分块的校验值,响应于计算所获得的校验值与所述文件分块信息表中包含的所述文件分块对应的校验值相同,向所述离线上传单元发送针对所述文件分块的上传成功消息;所述离线上传单元,还用于响应于接收到上传成功消息,删除所述上传成功消息对应的文件分块。
14.根据权利要求13所述的系统,其特征在于,所述客户端,还用于在所述离线上传单元开始执行所述向所述云存储服务器发送所述多个文件分块的操作后,向所述离线上传单元发送并行上传指令;与所述离线上传单元进行尚未上传的文件分块的上传任务分配协商;根据协商的结果,向所述云储存服务器发送所分配的尚未上传的文件分块;所述离线上传单元,还用于响应于接收到所述客户端发送的并行上传指令,识别尚未向所述云储存服务器发送的文件分块;与所述客户端进行尚未上传的文件分块的上传任务分配协商;根据协商的结果,向所述云储存服务器发送所分配的尚未上传的文件分块。
15.根据权利要求14所述的系统,其特征在于,所述云存储服务器,还用于在接收所述文件分块信息表后,根据所述文件的校验值,检索所述云存储服务器是否已存储有所述文件;响应于检索到已存储有所述文件,向所述客户端返回上传成功消息;所述客户端,还用于响应于接收到所述上传成功消息,结束离线上传流程。
16.根据权利要求15所述的系统,其特征在于,所述客户端,还用于向所述云存储服务器发送查询上传进度消息;所述云存储服务器,还用于向所述客户端返回已存储的文件信息。
17.根据权利要求16所述的系统,其特征在于,所述客户端与所述离线上传单元位于同一局域网中;所述客户端,还用于向所述离线上传单元发送查询上传进度消息;所述离线上传单元,还用于向所述客户端返回已上发送至所述云储存服务器的文件信肩、O
18.根据权利要求10至17任意一项所述的系统,其特征在于,所述校验值具体通过MD5、SHA, MAC算法中的任意一种算法计算获得。
19.一种离线上传装置,其特征在于,所述离线上传装置包括:第一通信单元,用于接收客户端上传的文件以及文件分块信息表,所述文件包括为拆分后的多个文件分块,所述文件分块信息表中包含所述多个文件分块的每一个文件分块的校验值以及所述文件拆分规则;文件拆分单元,用于按照所述文件分块信息表中包含的所述文件拆分规则,将所述文件拆分为多个文件分块;第二通信单元,用于向云存储服务器发送所述多个文件分块。
20.根据权利要求19所述的离线上传装置,其特征在于,所述离线上传装置还包括:协商单元,用于响应于接收到所述客户端发送的并行上传指令,识别尚未向所述云储存服务器发送的文件分块;与所述客户端进行尚未上传的文件分块的上传任务分配协商;所述第二通信单元,还用于根据协商的结果,向所述云储存服务器发送所分配的尚未上传的文件分块。`
【文档编号】H04L29/08GK103873505SQ201210534064
【公开日】2014年6月18日 申请日期:2012年12月12日 优先权日:2012年12月12日
【发明者】高小兵 申请人:中国电信股份有限公司
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!