[发明专利]一种文件解析方法、装置、设备及存储介质在审
申请号: | 202211530792.4 | 申请日: | 2022-12-01 |
公开(公告)号: | CN115904662A | 公开(公告)日: | 2023-04-04 |
发明(设计)人: | 刘慧君;朱鹏飞 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 何方 |
地址: | 310000 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 解析 方法 装置 设备 存储 介质 | ||
本申请公开了一种文件解析方法、装置、设备及存储介质,涉及计算机技术领域,包括:接收文件解析请求,并基于所述文件解析请求生成目标文件解析任务;将所述目标文件解析任务发送至任务队列,并根据预设任务调度算法从所述任务队列中获取当前文件解析任务;通过预设解析方式执行所述当前文件解析任务,以得到对应的目标对象。本申请通过将目标文件解析任务发送至任务队列,根据不同的需求选择不同的任务调度算法,从而根据当前的需求决定任务处理的优先级,并且根据预设解析方式执行所述当前文件解析任务,以选择解析速度快的解析方式进行解析,得到目标对象,通过使用满足当前需求的任务调度算法降低了任务堵塞的可能性,并提升了文件解析速度。
技术领域
本发明涉及计算机技术领域,特别涉及一种文件解析方法、装置、设备及存储介质。
背景技术
在工作中经常会存在需要将人工整理的数据或者从某个系统导出的数据导入到另一个系统中的问题,因为excel的格式对于数据的展示非常友好,目前最直接的方式也是最常见的方式就是通过excel进行导入导出。对于excel小文件的导入一般直接使用apachepoi进行导入即可,但是大文件就会出现很多问题,例如:内存溢出的问题。apache poi读取整个文件转为HSSFWorkbook或XSSFWorkbook。大文件在这一步就会产生内存溢出的问题;解析速度过慢、连接超时的问题。一个excel的解析是会循环解析文件的每一行,数据量大解析花费的时间就会多,客户端一直等待服务端返回解析结果,就会造成连接超时的问题。
目前针对excel大文件的解析的技术,例如excel-streaming-reader获取提供的InputStream并将其输出到文件系统,流通过一个可配置大小的缓冲区进行安全管道传输,以防止大量内存使用。创建文件后,它将从文件系统流入内存。而通过方式输出流的原因与ZIP文件的工作方式有关,由于XLSX文件格式基本上是一个ZIP文件,所以如果不读取整个InputStream,就不可能找到所有条目,这是一个POI无法解决的问题,因为它需要一个完整的ZIP条目列表。从POI中的InputStream读取的默认实现是将整个流直接读取到内存中,excel-streaming-reader通过将流读取到临时文件中来工作,并且将删除临时文件作为自动关闭操作的一部分。这种方法虽然解决了内存溢出的文件,即不需要将整个文件流读入内存,而只需要读入临时文件的内容,因此不会有内存溢出的问题。但是只是excel解决过程中的一个问题,解析的速度并不会有提升,甚至会更慢,客户端仍然面临着解析速度过慢、连接超时的问题。
发明内容
有鉴于此,本发明的目的在于提供一种文件解析方法、装置、设备和存储介质,能够降低任务堵塞的可能性,并提升文件解析速度。其具体方案如下:
第一方面,本申请公开了一种文件解析方法,包括:
接收文件解析请求,并基于所述文件解析请求生成目标文件解析任务;
将所述目标文件解析任务发送至任务队列,并根据预设任务调度算法从所述任务队列中获取当前文件解析任务;
通过预设解析方式执行所述当前文件解析任务,以得到对应的目标对象。
可选的,所述接收文件解析请求之后,还包括:
基于所述文件解析请求获取对应的目标文件,并利用预设验证器验证所述目标文件的格式;
若所述目标文件的格式通过验证,则将所述目标文件上传至文件服务器,并基于所述目标文件确定对应的目标转换对象。
可选的,所述基于所述文件解析请求生成目标文件解析任务,包括:
基于所述目标文件以及所述目标转换对象生成对应的目标文件解析任务。
可选的,所述通过预设解析方式执行所述当前文件解析任务,以得到对应的目标对象,包括:
判断所述目标文件的大小是否大于预设阈值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211530792.4/2.html,转载请声明来源钻瓜专利网。