一种文件处理方法
文献发布时间:2023-06-19 10:05:17
技术领域
本发明涉及计算机技术领域,具体涉及一种文件处理方法。
背景技术
目前银行的核心系统,比如交易系统,大部分采用实时处理的方式,例如:代发工资、批量开户等场景,执行过程包括文件解析及业务处理,对于这种实时处理存在以下不足:
其一,文件实时处理,响应给柜面人员处理时间较长,柜面需要等待较长时间,影响效率;其二,对于大文件的实时处理,处理时间随着文件大小会成倍的增加;其三,实时处理文件会占用现有系统的资源,影响其他的业务的正常使用。
综上所述,在硬件资源已经使用到极致的今天,现有的执行过程已经无法满足日益增长的业务需求,最终会成为占用系统资源的瓶颈,因此如何提高文件处理的效率且不占用现有的资源,是目前急需解决的问题。
发明内容
为解决现有技术的不足,本发明实施例提供了一种文件处理方法,该方法包括以下步骤:
S1接收客户端发送的文件处理请求并根据所述文件处理请求,获取对应的文件;
S2根据文件模板,将所述文件解析成对应的文件数据;
S3将所述文件数据写入数据库中并基于设定的分段规则,将所述文件数据分割成多个小块数据;
S4从所述多个小块数据选取一块数据进行数据处理;
S5重复步骤S4,直至所述多个小块数据处理完毕。
优选地,所述方法还包括:
根据所述文件数据的处理进度,实时更新所述文件的状态。
优选地,在步骤S5之后,所述方法还包括:
生成所述文件的处理结果文件以及处理明细文件。
本发明实施例提供的文件处理方法,具有以下有益效果:
(1)将数据先入库后再处理,能够大幅提高文件数据解析的成功率;
(2)通过将大块的数据分成若干小块数据,每次读取一小段的数据提供业务处理,避免大量的数据被加载至系统内存中,造成系统资源的占用,通过小段的方式处理,能合理地根据系统自身处理能力分配资源,解决了文件处理时间、效率、资源占用等问题,有利于提高银行系统的执行效率。
具体实施方式
以下结合具体实施例对本发明作具体的介绍。
本发明提供的实施例提供的文件处理方法包括以下步骤:
S101,接收客户端发送的文件处理请求并根据文件处理请求,获取对应的文件。
S102,根据文件模板,将文件解析成对应的文件数据,以将以文件持久化的数据解析成程序所能直接处理的数据。
S103,将文件数据写入数据库中并基于设定的分段规则,将该文件数据分割成多个小块数据。
作为本发明一个具体的实施例,处理大小为100万的数据,根据数据的主关键字进行分段(比如数据表示),每段数据的大小为10000,那么就将100W的数据分为一百段,每段数据大小为1万,各段起始为:1-10000、10001-20000、20001-30000…。
S104,从多个小块数据选取一块数据进行数据处理。
S105重复步骤S104,直至多个小块数据处理完毕。
可选地,该方法还包括:
根据文件数据的处理进度,实时更新文件的状态。
作为一个具体的实施例,客户端发来处理文件的请求,会在数据库中登记一条处理当前文件的记录,状态为待处理;异步处理文件开始时,修改状态为处理中,等待异步处理完成后更新状态为终态。主这样做的目的是为了防止并发重复执行该文件及追踪整个文件处理的周期。
可选地,在步骤S105之后,该方法还包括:
生成文件的处理结果文件以及处理明细文件。
本发明实施例提供的文件处理方法,通过接收客户端发送的文件处理请求并根据文件处理请求,获取对应的文件,根据文件模板,将文件解析成对应的文件数据,以将以文件持久化的数据解析成程序所能直接处理的数据,将文件数据写入数据库中并基于设定的分段规则,将该文件数据分割成多个小块数据,从多个小块数据选取一块数据进行数据处理,直至多个小块数据处理完毕,提高了文件数据解析的成功率及效率且不占用现有的资源,提高了银行系统的执行效率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
- 文件处理设备、文件处理方法、文件处理方法程序、包含该文件处理方法程序的记录媒体、成像设备、和包含记录文件的记录媒体
- 一种小文件存储文件系统以及小文件处理方法