System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种解决国土空间规划成果大文件交互性能提升问题的实现方法技术_技高网

一种解决国土空间规划成果大文件交互性能提升问题的实现方法技术

技术编号:40170553 阅读:10 留言:0更新日期:2024-01-26 23:40
本发明专利技术涉及文件处理的技术领域,特别是涉及一种解决大文件交互性能提升问题的实现方法,包括以下步骤:S1、文件信息摘要加密:在文件上传前采用MD5生成文件信息摘要;S2、分片上传:前端计算文件大小,并与设置的分片大小比较,计算出分片数量,异步调用文件上传接口实现上传;S3、文件秒传:后台做MD5比对,存在已上传文件或分片,信息返回给前端,直接操作秒传文件;S4、处理与存储:后台支持单个文件上传也支持文件分片上传;S5、文件下载:根据前端传过来的参数,调用工厂方法,使用对应的存储服务器的下载方法下载文件到指定缓存目录;S6、断点续传:网络中断情况下,前端只需从中断处唤起请求,即可实现断点续传。

【技术实现步骤摘要】

本专利技术涉及文件处理的,特别是涉及一种解决国土空间规划成果大文件交互性能提升问题的实现方法


技术介绍

1、国土空间规划成果文件多样,常见的包括txt、excel、word、pdf、mdb、gdb等,按照数据类型可分为空间矢量数据、文本数据等。由于国土空间规划业务要求,对于规划成果数据的安全性及文件存储的性能均提出来较高的要求。综合分析国土空间规划的需求,我们得出了以下待解决的问题:

2、1、需要支持多种格式文件的在线上传和秒传;

3、2、需要一套高效的国土空间规划成果大文件上传方法;

4、3、需要支持不同类型的存储服务器;

5、4、需要解决国土空间规划成果大文件的下载速度;

6、为解决上述问题,亟需一种解决国土空间规划成果大文件交互性能提升问题的实现方法。


技术实现思路

1、为解决上述技术问题,本专利技术提供一种支持多种格式文件的在线上传和秒传、方便对国土空间规划成果大文件进行上传和下载,并且适合不同类型的存储服务器的一种解决国土空间规划成果大文件交互性能提升问题的实现方法。

2、本专利技术的一种解决国土空间规划成果大文件交互性能提升问题的实现方法,包括以下步骤:

3、s1、文件信息摘要加密:

4、为保证上传文件完整性,在文件上传前采用md5生成文件信息摘要;

5、s2、分片上传:

6、前端计算文件大小,并与设置的分片大小比较,计算出分片数量,使用filereader组件对文件分片,异步调用文件上传接口实现上传,每个分片的上传后,后台更新redis缓存分片段信息;

7、s3、文件秒传:

8、获取文件信息摘要后,后台做md5比对,存在已上传文件或分片,信息返回给前端,直接操作秒传文件;

9、s4、处理与存储:

10、后台支持单个文件上传也支持文件分片上传,单个文件上传,指定分片数量为1,国土空间规划成果大文件的分片上传,涉及分片的异步处理、创建临时存储库、分片合并和调用底层工厂方法执行上传;

11、s5、文件下载:

12、根据前端传过来的参数,调用工厂方法,从中获取当前应用连接的存储服务器方法,使用对应的存储服务器的下载方法下载文件到指定缓存目录,其中:

13、单个文件的下载:根据前端传过来的参数,调用工厂方法,从中获取当前应用连接的存储服务器方法,使用对应的存储服务器的下载方法下载文件到指定缓存目录;

14、分片下载:调用接口时,在requesthead中设置ranges参数,指定下载的分片,后台收到请求后,执行下载;

15、文件合并:前端下载完成后,浏览器调用自身内核方法合并整个文件;

16、s6、断点续传:

17、网络中断情况下,利用缓存中存储的分片信息,可以获取当前下载的分片起止点,前端只需从中断处唤起请求,即可实现断点续传。

18、优选的,如s1所述文件信息摘要加密操作步骤:前端调用后台接口,传入文件的元数据信息,后台对这些数据进行加密生成密文串并返回给前端。

19、优选的,如s4中所述异步处理:通过threadpoolexecutor缓存线程池对象,executorservice调用execute执行线程,实现异步上传。

20、优选的,如s4所述创建临时存储库:底层基于spring-boot-starter-data-mongodb和minio、fastdfs封装一套针对文件的操作方法,包括存储类型、桶是否存在,上传文件/流,文件下载、文件删除。

21、优选的,如s4所述分片合并:根据缓存目录获取所有的分片,遍历这些分片,使用filechannel提供的open和transferto进行文件合并,并将合并后的文件通过底层封装的工厂方法,实现对mongodb、minio、fastdfs等文件服务器的支持。

22、优选的,如s4所述调用底层工厂方法执行上传:合并后的文件调用底层文件上传方法执行上传,并更新业务数据库记录本次上传。

23、优选的,如s5中分片下载的执行下载步骤包括:

24、步骤一:解析ranges,获取分片的起止点;

25、步骤二:从文件存储服务器下载文件;

26、步骤三:解析属性信息;

27、步骤四:执行分片响应,附带文件属性信息,并更新缓存信息;

28、如nginx默认为1g,浏览器请求超过1g的文件时,会出现刷新下载的问题,为了解决这个问题,采取分片下载是一个很好的实现方式,此方法要求前端发起请求时设置请求文件的长度,后台校验文件实际大小是否超过这个长度,超过采用分片下载,未超出这个长度则完整下载。

29、与现有技术相比本专利技术的有益效果为:对文件信息进行md5运算,返回前端加密串,前端根据业务需要配置分片大小,文件被切分成多个分片,携带md5信息调用后台接口异步上传每个分片,后台结合redis和服务器缓存机制,储存本地请求相关的数据,遇到网络故障请求断开时,保存当前快照信息,待网络恢复后继续前个阶段的上传;所有的分片上传完成后台进行文件分片合并,程序调用合并服务,合并所有上传的分片,然后逐个将合并后的文件上传至存储服务器,完成文件上传,下载过程中,下载单个文件或者文件批量下载,前端传过来操作节点id,后端根据id获取材料或材料树,进行压缩下载,根据获取文件的大小,响应指定大小的文件流,并在响应头中返回当前文件分片信息及整个文件的大小,前端根据文件的大小决定是否继续执行分片请求,直到整个文件下载完毕。

本文档来自技高网...

【技术保护点】

1.一种解决国土空间规划成果大文件交互性能提升问题的实现方法,其特征在于,包括以下步骤:

2.如权利要求1所述的一种解决国土空间规划成果大文件交互性能提升问题的实现方法,其特征在于,如S1所述文件信息摘要加密操作步骤:前端调用后台接口,传入文件的元数据信息,后台对这些数据进行加密生成密文串并返回给前端。

3.如权利要求1所述的一种解决国土空间规划成果大文件交互性能提升问题的实现方法,其特征在于,如S4中所述异步处理:通过ThreadPoolExecutor缓存线程池对象,ExecutorService调用execute执行线程,实现异步上传。

4.如权利要求1所述的一种解决国土空间规划成果大文件交互性能提升问题的实现方法,其特征在于,如S4所述创建临时存储库:底层基于spring-boot-starter-data-mongodb和minio、Fastdfs封装一套针对文件的操作方法,包括存储类型、桶是否存在,上传文件/流,文件下载、文件删除。

5.如权利要求1所述的一种解决国土空间规划成果大文件交互性能提升问题的实现方法,其特征在于,如S4所述分片合并:根据缓存目录获取所有的分片,遍历这些分片,使用FileChannel提供的open和transferTo进行文件合并,并将合并后的文件通过底层封装的工厂方法,实现对Mongodb、Minio、Fastdfs等文件服务器的支持。

6.如权利要求1所述的一种解决国土空间规划成果大文件交互性能提升问题的实现方法,其特征在于,如S4所述调用底层工厂方法执行上传:合并后的文件调用底层文件上传方法执行上传,并更新业务数据库记录本次上传。

7.如权利要求1所述的一种解决国土空间规划成果大文件交互性能提升问题的实现方法,其特征在于,如S5中分片下载的执行下载步骤包括:

...

【技术特征摘要】

1.一种解决国土空间规划成果大文件交互性能提升问题的实现方法,其特征在于,包括以下步骤:

2.如权利要求1所述的一种解决国土空间规划成果大文件交互性能提升问题的实现方法,其特征在于,如s1所述文件信息摘要加密操作步骤:前端调用后台接口,传入文件的元数据信息,后台对这些数据进行加密生成密文串并返回给前端。

3.如权利要求1所述的一种解决国土空间规划成果大文件交互性能提升问题的实现方法,其特征在于,如s4中所述异步处理:通过threadpoolexecutor缓存线程池对象,executorservice调用execute执行线程,实现异步上传。

4.如权利要求1所述的一种解决国土空间规划成果大文件交互性能提升问题的实现方法,其特征在于,如s4所述创建临时存储库:底层基于spring-boot-starter-data-mongodb和minio、fastd...

【专利技术属性】
技术研发人员:吴建廷王蒙王军赵怡康王启迪殷国栋张海洋侯晓颖杨威王国玺
申请(专利权)人:山东省国土空间数据和遥感技术研究院山东省海域动态监视监测中心
类型:发明
国别省市:

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

1