一种基于分块及元信息的断点续传的方法_3

文档序号:9306809阅读:来源:国知局
05 :客户端按数据块编号的由小到大顺序逐块读取对应数据块元信息。
[0063] 步骤406 :用输入的下载起始位按数据块编号的由小到大顺序逐块减去数据块元 信息中所记录的数据块大小。
[0064] 步骤407 :判断差值小于或等于0 ;若未达到则继续步骤406,若差值小于0,则下 载的起始位置为最后一个数据块的差值加最后减去的数据块元信息中所记录的数据块大 小的字节位;若差值等于〇,则下载的起始位置为最后减去的数据块元信息中所记录的数 据块编号的下一个数据块的起始字节位。
[0065] 算法说明为:
[0066]
[0067] 步骤408 :客户端从服务器端的下载起始位置开始逐块下载数据到输出流。
[0068] 步骤409 :判断是否下载到指定的下载结束位,若未下载到指定的下载结束位中 断就下载了,输出流中记录下载结束位作为下一次下载的下载起始位,若已下载完成,即完 成断点下载。
[0069] 以上所述仅为本发明专利的一种实施例而已,并不用以限制本发明专利,凡在本 发明专利的精神和原则之内所做的任何修改、等同替换和改进等,均以包含在本发明专利 的保护范围之内。
【主权项】
1. 一种基于分块及元信息的断点续传的方法,其特征在于,包括数据存储方法、断点上 传方法和断点下载方法; 数据存储方法,一个数据保存在存储服务器时,能够有多个版本数据,但其中只能有一 个完备版本数据一一即数据完整的数据,各个版本数据拆分为多个数据块,具体数据分块 方法为: 步骤一、按照指定数据块大小,将一个数据拆分为多个数据块,除最后一个数据块外, 其余数据块按顺序编号、数据块大小为指定数据块大小,最后一个数据块大小为实际数据 块大小; 步骤二、为各个数据块生成对应的数据块元信息,元信息包含数据块添加时间、数据块 编号、数据块大小、数字签名、KEY (-个字符串,含数据ID、版本号、数据完备标识符)以及 数据块的其他标识参数(如文件类型、图片大小等); 断点上传方法,包括以下步骤: 步骤一、用户调用客户端的上传接口,输入上传参数:输入流、数据ID、版本号、数字签 名; 步骤二、客户端向服务器端发起读此ID的此版本号数据的最后一个数据块元信息的 请求; 步骤三、服务器端接收到客户端的请求后,取此ID的此版本号数据的最后一个数据块 元信息;如不存在即表示是一次新上传任务,则返回新上传消息给客户端;如存在最后一 个数据块元信息即表示是一次续传任务,则读取元信息中KEY的数据完备标识符;如为完 备状态即表示数据已上传完整,则返回已完成上传消息到客户端;如KEY中数据完备标识 符为不完备状态即表示数据未上传完整,再检验此元信息中所记录的数字签名和输入的数 字签名是否一致,如不一致,则返回错误消息到客户端,如一致,则返回此ID的此版本号数 据的最后一个数据块元信息到客户端; 步骤四、客户端得到服务器端返回的消息,如为新上传消息,则从第一个数据块开始按 指定数据块大小逐块上传数据;如为已完成上传消息,则提示用户"已完成上传"并结束此 上传进程;如为错误消息,则提示用户"数字签名不一致"并结束此上传进程;如此ID的此 版本号数据的最后一个数据块元信息不完备状态,则从最后一个数据块编号的下一个数据 块开始按指定数据块大小逐块上传数据,服务器端接收完一个数据块后,为数据块生成对 应的数据块元信息,元信息中KEY的数据完备标识符为不完备状态,再接收下一个数据块; 若用户还未上传到最后一个数据块上传就中断了,则再重新调用上传接口进行下一次上 传,进入步骤一,若用户上传到最后一个数据块,进入步骤五; 步骤五、客户端标记最后一个数据块为结束块,并上传结束块; 步骤六、服务器端接收完结束块后,为结束块生成数据块元信息,元信息中KEY的数据 完备标识符为完备状态,删除在此版本号添加时间之前的所有数据(包括不完备版本数据 和完备版本数据),保证只有一个完备版本数据,即完成断点上传; 断点下载方法,具体包括以下步骤: 步骤一、用户调用客户端的下载接口,在客户端输入下载参数:输出流、数据ID、完备 数据版本号、下载起始位、下载结束位; 步骤二、客户端向服务端发起读此数据ID的此版本号数据的各个数据块元信息的请 求; 步骤三、服务器端接收到客户端的请求后,读取此ID的此版本号数据的各个数据块元 信息,如不存在,则返回错误消息给客户端,如存在则返回给客户端; 步骤四、客户端得到服务器端返回的消息,如为错误消息,则提示用户"数据不存在", 结束下载进程;如为此ID的此版本号数据的各个数据块元信息,则计算下载的起始位置, 具体为 步骤1、客户端按数据块编号的由小到大顺序逐块读取对应数据块元信息; 步骤2、用输入的下载起始位按数据块编号的由小到大顺序逐块减去数据块元信息中 所记录的数据块编号的大小,直至差值小于或等于O ; 若差值小于〇,则下载的起始位置为最后一个数据块编号得到的差值加最后减去的数 据块元信息中所记录的数据块编号大小的字节位; 若差值等于〇,则下载的起始位置为最后减去的数据块元信息中所记录的数据块编号 的下一个数据块的起始字节位; 步骤五、客户端从服务器端的下载起始位置开始逐块下载数据到输出流,直到指定的 下载结束位即最后一个数据块为止,即完成断点下载,若未下载到指定的下载结束位则中 断下载了,输出流中记录下载结束位作为下一次下载的下载起始位。2. 根据权利要求1所述的断点上传方法,其特征在于断点上传方法步骤三中,服务器 端读取出用户输入的数据ID和版本号数据的最后一个数据块元信息,读取元信息中KEY的 数据完备标志符,则可判断数据是否上传完整。3. 根据权利要求1所述的断点上传方法,其特征在于断点上传载方法步骤三中,当数 据未上传完整时,检验用户输入的数据ID和版本号数据的最后一个数据块元信息中所记 录的数字签名和输入的数字签名是否一致,则可判断用户需要继续上传的数据是否和服务 器中已上传的数据匹配。4. 根据权利要求1所述的断点上传方法,其特征在于断点上传方法步骤六中,客户 端上传完成后,服务器端为结束块生成数据块元信息,元信息中KEY的数据完备标识符为 完备状态,删除在此版本号添加时间之前的所有数据(包括不完备版本数据和完备版本数 据),既保证存储数据的完整性,又保证存储数据的实时更新性。5. 根据权利要求1所述的断点下载方法,其特征在于断点下载方法步骤一中用户可按 当前的具体情况(如网络状态)自定义下载起始位与下载结束位之间的区间值,即需要下载 的数据大小,此数据大小无需与一个数据块大小一致。
【专利摘要】一种基于分块及元信息的断点续传的方法,包括数据存储方法、断点上传方法和断点下载方法;数据存储方法,数据保存在存储服务器时,有多个版本数据,但其中只能有一个完备版本数据,各个版本数据拆分为多个数据块:按照指定数据块大小,将一个数据拆分为多个数据块,最后一个数据块大小为实际数据块大小;为各个数据块生成对应的数据块元信息,元信息包含数据块添加时间、数据块编号、数据块大小、数字签名、KEY;断点上传方法:用户调用客户端的上传接口,输入上传参数;2)客户端向服务器端发起读此ID的此版本号数据的最后一个数据块元信息的请求;3)服务器端接收到客户端的请求后,取此ID的此版本号数据的最后一个数据块元信息。
【IPC分类】H04L29/08
【公开号】CN105025106
【申请号】CN201510449797
【发明人】梁峰, 许诺
【申请人】焦点科技股份有限公司
【公开日】2015年11月4日
【申请日】2015年7月28日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1