一种基于切片上传的文件合并方法及系统技术方案

技术编号:39438604 阅读:14 留言:0更新日期:2023-11-19 16:21
本发明专利技术公开了一种基于切片上传的文件合并方法及系统,所述方法包括:客户端对待上传的第一文件进行加密,获得所述第一文件对应的加密值,并对所述第一文件进行文件切片,获得切片后的若干个第二文件块,并将所述第二文件块发送到服务端,所述服务端接收所述若干个第二文件块,计算所述若干个第二文件块的文件位置,并通过预设的文件偏移量及文件内容构建若干个异步合并文件块任务,再通过预设的线程池并发执行所述若干个异步合并文件块任务获得合并后的文件,再对所述合并后的文件进行文件校验,提高文件上传的效率及准确率。提高文件上传的效率及准确率。提高文件上传的效率及准确率。

【技术实现步骤摘要】
一种基于切片上传的文件合并方法及系统


[0001]本专利技术涉及数据传输
,尤其涉及一种基于切片上传的文件合并方法及系统。

技术介绍

[0002]在高精地图领域中,一份点云数据可高达GB甚至是TB级别,使用C/S架构,从客户端到服务端传输过程,传统的上传文件方式可能遇到如文件上传超时、文件大小超限、上传耗时久、失败从头重传等问题,同时使用传统的表单提交文件或是HTML5都是将文件“整块”提交,服务端获取文件再进行转移和重命名。针对一个http请求,中断请求造成了服务端无法实时保存文件的已上传部分。在http协议下,无法保持浏览器与服务端的长连接,不能以文件流的形式来提交。
[0003]在这种背景下,产生了以切片上传外加秒传方案解决上述问题。即客户端将一个大文件分割成n份小文件,发送n次请求完成一个大文件的上传,待上传完成后,后台只需要将相同文件的切片还原成一个文件,但是上述还原切片方法带来切片是否来自于同一个文件、多个切片如何还原成一个文件、确保所有切片已上传、多台服务端服务器存其中m份切片如何合并等问题,并且,在传统文件读写环节,都以文件追加形式进行合并文件,导致合并时间过长。

技术实现思路

[0004]本专利技术公开了一种基于切片上传的文件合并方法及系统,提高文件切片上传后的文件合并的效率及准确度。
[0005]为了实现上述目的,第一方面,本专利技术公开了一种基于切片上传的文件合并方法,包括:
[0006]客户端利用预设的加密算法对待上传的第一文件进行加密,获得所述第一文件对应的加密值,并对所述第一文件进行文件切片,获得若干个第一文件块并生成所述若干个第一文件块中每一个第一文件块的文件信息;
[0007]所述客户端将所述若干个第一文件块中的每一个第一文件块与对应的文件信息进行组装,获得若干个第二文件块,并将所述若干个第二文件块依次发送到服务端。
[0008]本专利技术公开的一种基于切片上传的文件合并方法,在客户端中对待上传的文件进行加密,获得完整文件对应的加密值,以使后续在所述服务端在合并接收的来自所述客户端发送的文件块时,对合并后的文件进行加密校验以使保证所述文件上传正确,提高文件上传的精准度,接着所述客户端对所述待上传文件进行文件切片,获得若干个切片后的子文件,将切片后的子文件分别上传到预设的服务端中,以使利用每个字文件上传的时间短的特性解决现有技术中文件上传超时或文件过大的技术问题,提高文件上传的效率。
[0009]作为优选例子,在所述客户端利用预设的加密算法对待上传的第一文件进行加密,获得所述第一文件对应的加密值,并对所述第一文件进行文件切片,获得若干个第一文
件块并生成所述若干个第一文件块中每一个第一文件块的文件信息,包括:
[0010]所述客户端利用预设的MD5算法对所述第一文件进行MD5加密计算,获得所述第一文件对应的md5值;
[0011]所述客户端对所述第一文件进行切片,获得若干个第一文件块并生成所述若干个第一文件块中每一个第一文件块对应的文件信息;所述文件信息包括文件属性及文件内容;所述文件属性包括文件块编号,总文件块个数,第一文件的文件名称及第一文件对应的md5值;所述文件内容为第一文件块对应的切片文件内容。
[0012]本专利技术为了保证文件上传后校验的准确度,利用MD5算法具有不可逆的特点对所述第一文件的完整文件进行MD5值计算,以使当上传后的所有文件块合并后获得的MD5值与所述第一文件的MD5值相同,才保证所述第一文件上传成功,提高文件上传的安全,接着利用对所述文件块进行上传,提高文件上传的效率。
[0013]第二方面,本专利技术提供了一种基于切片上传的文件合并方法,包括:
[0014]服务端持续接收客户端发送的每一个第二文件块,并根据所述第二文件块中的文件属性对所述第二文件块进行命名,生成所述第二文件块对应的文件名,并根据所述文件名构建所述第二文件块的文件内容的索引值,并将所述第二文件块的文件内容保存至预设的文件服务器;
[0015]所述服务端获取所述客户端发送的若干个第二文件块的块数,并根据所述块数判断是否合并所述若干个第二文件块;
[0016]若合并所述若干个第二文件块,所述服务端根据所述索引值,通过预设的文件偏移量循环计算所述若干个第二文件块中每一个第二文件块的文件位置,并从所述文件服务器获取对应的文件内容将其切写入所述文件位置,以使构建每一个第二文件块对应的异步文件块合并任务,进而获得所述若干个第二文件块对应的若干个异步文件块合并任务;
[0017]所述服务端利用预设的线程池管理线程并发执行所述若干个异步文件合并任务,获得对应的第二文件,并对所述第二文件进行加密校验,并发送所述第二文件的校验结果到客户端。
[0018]本专利技术公开了一种基于切片上传的文件合并方法,包括服务端接收客户端持续发送的第二文件块,并根据每一个第二文件块中的文件属性对所述第二文件块重新命名,并将每一个文件块的文件内容保存到预设的缓存服务器中,以使解决现有技术中因传输中断导致内容无法保存进而需要重新传输的技术问题,提高文件上传效率,接着服务器记录接收的来自客户端发送的第二文件块的数量,以使根据所述数量判断是否接收完所述第二文件块的总块数,依次判断是否可以合并所述第二文件块,当所述服务端判定可以合并所述文件块时,则利用预设的文件偏移量循环计算每一个第二文件块的文件位置,并从预设的缓存服务器中获得每一个第二文件块对应的文件内容将其写入到所述文件位置中,以使构建所述若干个第二文件块中每一个第二文件块对应的异步文件合并任务,在对每一个文件块构建对应的异步文件合并任务后,所述服务端利用预设的线程池管理线程并发执行所述若干个异步文件合并任务,以使所述每一个文件块同时进行文件写入,最终根据所述文件位置及文件内容输出一个完整的合并后的第二文件,利用所述多线程及所述文件偏移量实现了多个文件块的文件内容的同时写入,提高文件合并的效率,接着所述服务端还对所述合成的第二文件进行加密检测,保证了文件上传后的校验,提高了文件上传的安全性。
[0019]作为优选例子,在所述服务端持续接收客户端发送的每一个第二文件块,并根据所述第二文件块中的文件属性对所述第二文件块进行命名,生成所述第二文件块对应的文件名,并根据所述文件名构建所述第二文件块的文件内容的索引值,并将所述第二文件块的文件内容保存至预设的缓存服务器,包括:
[0020]所述服务端获取每一个第二文件块的文件属性,并根据所述文件属性中的文件块编号及第一文件的文件名称对所述第二文件块进行重新命名,生成每一个第二文件块分别对应的文件名,并将每一个第二文件块的文件属性保存至预设的缓存服务器;
[0021]所述服务端将每一个第二文件块的文件名作为索引值、文件内容作为索引数据,并将每一个第二文件块的文件内容保存至预设的文件服务器。
[0022]本专利技术中所述服务端在接收到客户端发送的每一个第二文件块时,首先根据第二文件块的文件属性对所述第二文件块进行重命名,以使根据所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于切片上传的文件合并方法,其特征在于,包括:客户端利用预设的加密算法对待上传的第一文件进行加密,获得所述第一文件对应的加密值,并对所述第一文件进行文件切片,获得若干个第一文件块并生成所述若干个第一文件块中每一个第一文件块的文件信息;所述客户端将所述若干个第一文件块中的每一个第一文件块与对应的文件信息进行组装,获得若干个第二文件块,并将所述若干个第二文件块依次发送到服务端。2.如权利要求1所述的一种基于切片上传的文件合并方法,其特征在于,所述客户端利用预设的加密算法对待上传的第一文件进行加密,获得所述第一文件对应的加密值,并对所述第一文件进行文件切片,获得若干个第一文件块并生成所述若干个第一文件块中每一个第一文件块的文件信息,包括:所述客户端利用预设的MD5算法对所述第一文件进行MD5加密计算,获得所述第一文件对应的md5值;所述客户端对所述第一文件进行切片,获得若干个第一文件块并生成所述若干个第一文件块中每一个第一文件块对应的文件信息;所述文件信息包括文件属性及文件内容;所述文件属性包括文件块编号,总文件块个数,第一文件的文件名称及第一文件对应的md5值;所述文件内容为第一文件块对应的切片文件内容。3.一种基于切片上传的文件合并方法,其特征在于,包括:服务端持续接收客户端发送的每一个第二文件块,并根据所述第二文件块中的文件属性对所述第二文件块进行命名,生成所述第二文件块对应的文件名,并根据所述文件名构建所述第二文件块的文件内容的索引值,并将所述第二文件块的文件内容保存至预设的文件服务器;所述服务端获取所述客户端发送的若干个第二文件块的块数,并根据所述块数判断是否合并所述若干个第二文件块;若合并所述若干个第二文件块,所述服务端根据所述索引值,通过预设的文件偏移量循环计算所述若干个第二文件块中每一个第二文件块的文件位置,并从所述文件服务器获取对应的文件内容将其切写入所述文件位置,以使构建每一个第二文件块对应的异步文件块合并任务,进而获得所述若干个第二文件块对应的若干个异步文件块合并任务;所述服务端利用预设的线程池管理线程并发执行所述若干个异步文件合并任务,获得对应的第二文件,并对所述第二文件进行加密校验,并发送所述第二文件的校验结果到客户端。4.如权利要求3所述的一种基于切片上传的文件合并方法,其特征在于,所述服务端持续接收客户端发送的每一个第二文件块,并根据所述第二文件块中的文件属性对所述第二文件块进行命名,生成所述第二文件块对应的文件名,并根据所述文件名构建所述第二文件块的文件内容的索引值,并将所述第二文件块的文件内容保存至预设的文件服务器,包括:所述服务端获取每一个第二文件块的文件属性,并根据所述文件属性中的文件块编号及第一文件的文件名称对所述第二文件块进行重新命名,生成每一个第二文件块分别对应的文件名,并将每一个第二文件块的文件属性保存至预设的缓存服务器;所述服务端将每一个第二文件块的文件名作为索引值、文件内容作为索引数据,并将
每一个第二文件块的文件内容保存至预设的文件服务器。5.如权利要求3所述的一种基于切片上传的文件合并方法,其特征在于,所述服务端获取所述客户端发送的若干个第二文件块的块数,并根据所述块数判断是否合并所述若干个第二文件块,包括:所述服务端获取当前已接收的所述客户端发送的若干个第二文件块的块数,并根据所述第二文件块的文件属性获得总文件块数;所述服务端将所述若干个第二文件块的块数与所述总文件块数进行比较,判断所述第二文件块的块数是否与所述总文件块数相同;若相同,则所述服务端判定合并所述若干个第二文件块;若不相同,则所述服务端判定不合并所述若干个第二文件块。6.如权利要求3所述的一种基于切片上传的文件合并方法,其特征在于,所述服务端根据所述索引值,通过预设的文件偏移量循环计算所述若干个第二文件块中每一个第二文件块的文件位置,并从...

【专利技术属性】
技术研发人员:钟柱明沈世华
申请(专利权)人:国汽大有时空科技安庆有限公司
类型:发明
国别省市:

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

1