基于动态配置的文件解析方法及装置制造方法及图纸

技术编号:37969956 阅读:6 留言:0更新日期:2023-06-30 09:45
本申请公开了一种基于动态配置的文件解析方法及装置,涉及计算机技术领域和金融领域。该方法包括:接收业务处理请求,所述业务处理请求包括待解析文件;根据所述待解析文件的文件类型确定对应的文件解析规则;基于所述文件解析规则对所述待解析文件中的业务数据进行校验并重排序输出;若文件校验通过,则将重排序输出的所述业务数据依次插入预设的解析临时表,生成用于实现对应业务功能的业务文件。本申请可以灵活的自定义文件结构,设置对应解析规则和校验规则,从而快速将文件解析到指定的解析临时表中用于后续的数据处理,便于扩展,提高了整个系统的健壮性和处理效率。提高了整个系统的健壮性和处理效率。提高了整个系统的健壮性和处理效率。

【技术实现步骤摘要】
基于动态配置的文件解析方法及装置


[0001]本申请涉及计算机
和金融领域,具体涉及一种基于动态配置的文件解析方法及装置。

技术介绍

[0002]在大多数应用中,文件上传解析模板是一个非常重要的基础架构系统,现有的大部分文件上传工具都是基于POI或者EASY

EXCEL实现,支持CSV,EXCEL,TXT等格式的数据文本解析处理,且针对每种不同格式的文件需要单独开发处理逻辑。
[0003]现有的文件处理方法要求上传文本模板的列数或文本长度是固定单一的,不支持某一种业务类型的文件同时存在多套模板,缺少灵活性和扩展性;此外,在资源管理方面,现有的文件处理方法通常对大数据量的文件处理缺少有效的控制,处理不当往往会造成内存溢出、处理时效长、系统宕机等问题。
[0004]因此,如何实现对具有自定义内容的文本的解析和校验,以及如何实现大数据量文件的有效可控处理是目前需要解决的问题。

技术实现思路

[0005]为了解决现有技术中存在的上述问题的至少之一,本申请实施例提供一种基于动态配置的文件解析方法及装置。
[0006]根据本申请实施例的第一方面,本申请提供一种基于动态配置的文件解析方法,包括:
[0007]接收业务处理请求,所述业务处理请求包括待解析文件;
[0008]根据所述待解析文件的文件类型确定对应的文件解析规则,所述文件解析规则为预先配置的;
[0009]基于所述文件解析规则对所述待解析文件中的业务数据进行校验并重排序输出;
>[0010]若文件校验通过,则将重排序输出的所述业务数据依次插入预设的解析临时表,生成用于实现对应业务功能的业务文件。
[0011]在一实施例中,所述根据所述待解析文件的文件类型确定对应的文件解析规则,包括:
[0012]根据所述文件类型判断数据库中是否存在对应的文件解析规则;
[0013]若是,则判断内存中是否存在所述文件解析规则;
[0014]若内存中存在所述文件解析规则,则获取所述文件解析规则;
[0015]若否,则从数据库中读取所述文件类型对应的文件解析规则,并加载到内存中。
[0016]在一实施例中,所述业务数据包括文件头和文件体,所述文件解析规则包括文件头解析规则和文件体解析规则;
[0017]所述基于所述文件解析规则对所述待解析文件中的业务数据进行校验并重排序输出,包括:
[0018]根据所述文件头解析规则对所述待解析文件的文件头进行校验和重排序;
[0019]根据所述文件头的排序结果以及所述文件体解析规则对所述待解析文件的文件体进行校验,并记录校验结果。
[0020]在一实施例中,所述基于动态配置的文件解析方法还包括:
[0021]获取所述校验结果中校验不通过的记录;
[0022]根据所述校验不通过的记录生成异常处理报表。
[0023]在一实施例中,所述将重排序输出的所述业务数据依次插入预设的解析临时表,生成用于实现对应业务功能的业务文件,包括:
[0024]根据所述业务数据的重排序结果组装动态SQL语句;
[0025]执行所述动态SQL语句,将所述业务数据按照所述重排序结果依次插入所述解析临时表,生成用于实现对应业务功能的业务文件。
[0026]在一实施例中,所述基于动态配置的文件解析方法还包括:
[0027]判断所述待解析文件的大小是否超过预设值;
[0028]若是,则按照预设的拆分规则对所述待解析文件进行拆分,得到多个文件分片;
[0029]分别对各所述文件分片进行解析。
[0030]在一实施例中,所述基于动态配置的文件解析方法还包括:
[0031]将大小超过预设值的待解析文件加入异步队列;
[0032]获取大小超过预设值的所述待解析文件,并对大小超过预设值的所述待解析文件进行拆分。
[0033]根据本申请实施例的第二方面,本申请提供一种基于动态配置的文件解析装置,包括:
[0034]文件接收模块,用于接收业务处理请求,所述业务处理请求包括待解析文件;
[0035]文件解析规则获取模块,用于根据所述待解析文件的文件类型确定对应的文件解析规则,所述文件解析规则为预先配置的;
[0036]文件解析模块,用于基于所述文件解析规则对所述待解析文件中的业务数据进行校验并重排序输出;
[0037]业务文件生成模块,用于当文件校验通过时,将重排序输出的所述业务数据依次插入预设的解析临时表,生成用于实现对应业务功能的业务文件。
[0038]在一实施例中,所述文件解析规则获取模块包括:
[0039]第一判断单元,用于根据所述文件类型判断数据库中是否存在对应的文件解析规则;
[0040]第二判断单元,用于当数据库中存在对应的文件解析规则时,判断内存中是否存在所述文件解析规则;
[0041]文件解析规则获取单元,用于当内存中存在所述文件解析规则时,获取所述文件解析规则;以及当内存中不存在所述文件解析规则时,从数据库中读取所述文件类型对应的文件解析规则,并加载到内存中。
[0042]在一实施例中,所述业务数据包括文件头和文件体,所述文件解析规则包括文件头解析规则和文件体解析规则;
[0043]所述文件解析模块包括:
[0044]文件头解析单元,用于根据所述文件头解析规则对所述待解析文件的文件头进行校验和重排序;
[0045]文件体解析单元,用于根据所述文件头的排序结果以及所述文件体解析规则对所述待解析文件的文件体进行校验,并记录校验结果。
[0046]在一实施例中,所述基于动态配置的文件解析装置还包括异常处理模块,用于:
[0047]获取所述校验结果中校验不通过的记录;
[0048]根据所述校验不通过的记录生成异常处理报表。
[0049]在一实施例中,所述业务文件生成模块包括:
[0050]动态SQL语句组装单元,用于根据所述业务数据的重排序结果组装动态SQL语句;
[0051]业务文件生成单元,用于执行所述动态SQL语句,将所述业务数据按照所述重排序结果依次插入所述解析临时表,生成用于实现对应业务功能的业务文件。
[0052]在一实施例中,所述基于动态配置的文件解析装置还包括:
[0053]第三判断模块,用于判断所述待解析文件的大小是否超过预设值;
[0054]批量文件拆分模块,用于当所述待解析文件的大小超过预设值时,按照预设的拆分规则对所述待解析文件进行拆分,得到多个文件分片;
[0055]所述文件解析模块还用于分别对各所述文件分片进行解析。
[0056]在一实施例中,所述基于动态配置的文件解析装置还包括:
[0057]异步模块,用于将大小超过预设值的待解析文件加入异步队列;
[0058]所述批量文件拆分模块还用于获取大小超过预设值的所述待解析文件,并对大本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于动态配置的文件解析方法,其特征在于,包括:接收业务处理请求,所述业务处理请求包括待解析文件;根据所述待解析文件的文件类型确定对应的文件解析规则,所述文件解析规则为预先配置的;基于所述文件解析规则对所述待解析文件中的业务数据进行校验并重排序输出;若文件校验通过,则将重排序输出的所述业务数据依次插入预设的解析临时表,生成用于实现对应业务功能的业务文件。2.根据权利要求1所述的基于动态配置的文件解析方法,其特征在于,所述根据所述待解析文件的文件类型确定对应的文件解析规则,包括:根据所述文件类型判断数据库中是否存在对应的文件解析规则;若是,则判断内存中是否存在所述文件解析规则;若内存中存在所述文件解析规则,则获取所述文件解析规则;若否,则从数据库中读取所述文件类型对应的文件解析规则,并加载到内存中。3.根据权利要求2所述的基于动态配置的文件解析方法,其特征在于,所述业务数据包括文件头和文件体,所述文件解析规则包括文件头解析规则和文件体解析规则;所述基于所述文件解析规则对所述待解析文件中的业务数据进行校验并重排序输出,包括:根据所述文件头解析规则对所述待解析文件的文件头进行校验和重排序;根据所述文件头的排序结果以及所述文件体解析规则对所述待解析文件的文件体进行校验,并记录校验结果。4.根据权利要求3所述的基于动态配置的文件解析方法,其特征在于,还包括:获取所述校验结果中校验不通过的记录;根据所述校验不通过的记录生成异常处理报表。5.根据权利要求1所述的基于动态配置的文件解析方法,其特征在于,所述将重排序输出的所述业务数据依次插入预设的解析临时表,生成用于实现对应业务功能的业务文件,包括:...

【专利技术属性】
技术研发人员:王轶凡胡曌云陈灿李冬宝
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1