发明名称 一种多线程分片的云上传下载方法及系统
摘要 一种权限可控的多线程分片上传、下载、自动容错的方法及系统,该方法可以使本地文件上传时切分为多个分片,结合md5算法,多线程上传,云端并行合并,大大提高了文件上传的效率。当文件下载时,结合权限控制,将签名的权限令牌信息携带到下载请求头中,云端根据信息动态匹配,并提供多个线路下载,有利于在云盘场景中提高文件下载的效率。另外自动容错机制,使得客户端和云端都能够及时实现故障转移和任务的重新分配,为上传、下载质量提供了保障。
申请公布号 CN102710630B 申请公布日期 2016.03.16
申请号 CN201210168555.8 申请日期 2012.05.29
申请人 新华网股份有限公司 发明人 綦玉冰
分类号 H04L29/06(2006.01)I;H04L29/08(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 北京集佳知识产权代理有限公司 11227 代理人 王学强
主权项 一种权限可控的云上传下载方法,其特征在于,应用于包括客户端、应用服务器和云端的系统中,所述应用服务器包括应用服务器群,所述云端包括存储集群;所述权限可控的云上传下载方法包括:在所述客户端上传数据时:所述客户端访问所述应用服务器发出请求;所述应用服务器响应所述请求,并分别建立通道;所述客户端选择本地文件,并计算所述本地文件的md5值;所述客户端携带所述本地文件的信息以及所述md5值向所述云端发出第一次请求;所述云端接收到所述第一次请求,根据所述本地文件的信息以及所述md5值进行验证;当所述md5值存在时,瞬间秒传,并返回提示信息给所述客户端;当所述md5值不存在时,所述云端返回信息以等待客户端再次发起请求;客户端文件进入队列排队,并计算其优先级和断点信息,存在断点的时候,载入断点数据,等待上传;当排队文件获取到上传指令时,所述客户端根据所述本地文件的信息发起m*n个线程,并携带所述客户端生成的token,向所述云端发起第二次请求;所述云端再次接收到所述客户端发送的第二次请求,以请求上传分片,所述云端建立数据通道;所述客户端接收到数据通道信息后,准备m个文件,并分别计算每个文件的分片,并再次携带新计算的token,向所述云端发起第三次请求;所述云端接收所述第三次请求,所述客户端准备的m个文件开始分片高速上传;所述云端开始多通道并行方式接收分片数据,并将接收到的分片数据临时存入分布式数据库,通过reduce任务将每个文件的n个分片进行数据并行合并;当所述每个文件的n个分片进行数据并行合并后,通过云存储客户端调用所述存储集群,将文件存储到所述云端,以实现客户端文件数据的上传;在所述客户端下载数据时:所述客户端向所述云端发起下载请求,其中所述客户端根据下载客户端的不同,向所述云端请求文件;所述云端验证所述客户端的权限,并在验证通过后生成加密token,建立通道准备传输;所述客户端接收到通道信息后,将下载信息排入队列,并进行优先级的判定;如果得到下载指令,则处理断点情况;当判定为断点下载时,计算断点的位置,并根据断点的位置信息准备m*n个线程;当所述客户端获取到执行指令时,发起带有加密token的m*n个线程请求文件至所述云端;所述云端依据所述客户端发送的请求文件建立多个通道,任务调度器对m个文件的n个分片开始处理;根据请求文件所处的服务器进行协议适配,云存储客户端建立连接,经过权限认证后,去相应的云存储服务器请求具体的文件,云存储客户端获取到文件后,将携带有加密token的分片发送至所述客户端;所述客户端接收所述携带有加密token的分片,将所述分片迭代合并处理;所述客户端合并完成后,将携带有加密token的文件的md5值进行完整性验证,当所述文件完整性验证通过后,完成下载。
地址 100162 北京市大兴国家新媒体产业基地星光影视园10号
您可能感兴趣的专利