一种文件处理方法及装置制造方法及图纸

技术编号:38596617 阅读:15 留言:0更新日期:2023-08-26 23:32
本申请公开了一种文件处理方法及装置,可应用于分布式领域或金融领域。根据多个待处理文件生成任务列表,任务列表中包括多个待处理文件分别对应的多个待处理任务,在共享内存中,为多个待处理任务生成任务处理队列,创建任务分配进程和多个工作进程,任务处理队列可以被任务分配进程和多个工作线程访问,任务分配进程用于根据任务列表将待处理任务添加到任务处理队列中,多个工作进程中的每个工作进程用于从任务处理队列中获取目标任务,并执行目标任务,从而对目标任务对应的目标文件进行处理,将目标任务移出任务处理队列,多个工作进程并行进行任务执行,能够方便高效的进行文件处理,保证系统高效稳定的服务。保证系统高效稳定的服务。保证系统高效稳定的服务。

【技术实现步骤摘要】
一种文件处理方法及装置


[0001]本申请涉及计算机领域,特别涉及一种文件处理方法及装置。

技术介绍

[0002]当前,全球化进程日益加深,金融机构的业务逐渐遍及海内外,这就要求金融机构的信息化系统要适应公司不断扩大的业务需求,从而导致外围系统日益繁多,系统间批处理文件交互日益频繁,文件种类多、数量大,如果没有高效方便的批量文件处理手段,不仅严重消耗计算资源和内存资源,跑批时间窗口也会增大,导致其他系统批处理无法正常执行。

技术实现思路

[0003]有鉴于此,本申请的目的在于提供一种文件处理方法及装置,能够高效方便的进行批量文件处理。其具体方案如下:
[0004]第一方面,本申请提供了一种文件处理方法,包括:
[0005]根据多个待处理文件分别对应的多个待处理任务,生成包括所述多个待处理任务的任务列表;
[0006]在共享内存中,为所述多个待处理任务生成任务处理队列;
[0007]创建任务分配进程和多个工作进程;所述任务分配进程用于根据所述任务列表将所述待处理任务添加到所述任务处理队列中;所述多个工作进程中的每个工作进程用于从所述任务处理队列中获取目标任务并执行所述目标任务,以对所述目标任务对应的目标文件进行处理,在获取所述目标任务后将所述目标任务移出所述任务处理队列。
[0008]可选的,所述工作进程还用于:
[0009]派生多个子线程;
[0010]在判断所述目标任务对应的目标文件需要多线程处理时,利用所述多个子线程并行执行所述目标任务;r/>[0011]在判断所述目标任务对应的目标文件不需要多线程处理时,利用所述多个子线程中的主线程执行所述目标任务。
[0012]可选的,所述任务列表中具有所述多个待处理任务的任务状态;
[0013]所述任务分配进程具体用于,根据所述任务列表,将任务状态为未执行状态的待处理任务添加到所述任务处理队列中;
[0014]所述工作进程还用于:在对所述目标任务执行完成后,在所述任务列表中将所述目标任务的任务状态更新为已执行状态;
[0015]所述方法还包括:在所述多个待处理任务的任务状态均为已执行状态,则确定所述多个待处理文件处理完成,结束所述分配进程和所述工作进程。
[0016]可选的,所述根据多个待处理文件分别对应的多个待处理任务,生成包括所述多个待处理任务的任务列表,包括:
[0017]根据多个待处理文件生成与所述多个待处理文件分别对应的多个待处理任务;
[0018]根据所述待处理文件的配置文件参数所指示的所述多个待处理文件的处理逻辑,确定所述多个待处理任务的处理顺序;所述处理逻辑包括所述多个待处理文件之间的依赖关系和/或所述多个待处理文件的处理顺序;
[0019]根据所述多个待处理任务的处理顺序,将所述多个待处理任务增加到任务列表中。
[0020]可选的,所述方法还包括:
[0021]根据所述待处理文件的配置文件参数,确定工作进程的预设数量,和任务处理队列的预设容量;
[0022]所述为所述多个待处理任务生成任务处理队列,包括:
[0023]根据所述任务处理队列的预设容量,为所述多个待处理任务生成具有所述预设容量的任务处理队列;
[0024]创建多个工作进程,包括:
[0025]根据所述工作进程的预设数量,创建预设数量个工作进程。
[0026]可选的,所述任务处理队列包括工作队列和空闲队列,所述待处理任务被添加到所述任务处理队列中包括,所述待处理任务被添加到所述空闲队列中的任务包,并将所述任务包移动到所述工作队列;所述将目标任务移出所述任务处理队列包括,将所述工作队列中与所述目标任务对应的任务包清空,并将所述任务包移动到所述空闲队列。
[0027]第二方面,本申请实施例还提供了一种文件处理装置,包括:
[0028]任务列表生成单元,用于根据多个待处理文件分别对应的多个待处理任务,生成包括所述多个待处理任务的任务列表;
[0029]任务队列生成单元,用于在共享内存中,为所述多个待处理任务生成任务处理队列;
[0030]进程创建单元,用于创建任务分配进程和多个工作进程;所述任务分配进程用于根据所述任务列表将所述待处理任务添加到所述任务处理队列中;所述多个工作进程中的每个工作进程用于从所述任务处理队列中获取目标任务并执行所述目标任务,以对所述目标任务对应的目标文件进行处理,在获取所述目标任务后将所述目标任务移出所述任务处理队列。
[0031]可选的,所述工作进程还用于:
[0032]派生多个子线程;
[0033]在判断所述目标任务对应的目标文件需要多线程处理时,利用所述多个子线程并行执行所述目标任务;
[0034]在判断所述目标任务对应的目标文件不需要多线程处理时,利用所述多个子线程中的主线程执行所述目标任务。
[0035]可选的,所述任务列表中具有所述多个待处理任务的任务状态;
[0036]所述任务分配进程具体用于,根据所述任务列表,将任务状态为未执行状态的待处理任务添加到所述任务处理队列中;
[0037]所述工作进程还用于:在对所述目标任务执行完成后,在所述任务列表中将所述目标任务的任务状态更新为已执行状态;
[0038]所述装置还包括:进程结束单元,用于在所述多个待处理任务的任务状态均为已执行状态,则确定所述多个待处理文件处理完成,结束所述分配进程和所述工作进程。
[0039]可选的,所述任务列表生成单元,包括:
[0040]任务生成单元,用于根据多个待处理文件生成与所述多个待处理文件分别对应的多个待处理任务;
[0041]处理顺序确定单元,用于根据所述待处理文件的配置文件参数所指示的所述多个待处理文件的处理逻辑,确定所述多个待处理任务的处理顺序;所述处理逻辑包括所述多个待处理文件之间的依赖关系和/或所述多个待处理文件的处理顺序;
[0042]任务增加单元,用于根据所述多个待处理任务的处理顺序,将所述多个待处理任务增加到任务列表中。
[0043]可选的,所述装置还包括:
[0044]解析单元,用于根据所述待处理文件的配置文件参数,确定工作进程的预设数量,和任务处理队列的预设容量;
[0045]所述任务队列生成单元具体用于:
[0046]在共享内存中,根据所述任务处理队列的预设容量,为所述多个待处理任务生成具有所述预设容量的任务处理队列;
[0047]所述进程创建单元具体用于:
[0048]创建任务分配进程;根据所述工作进程的预设数量,创建预设数量个工作进程。
[0049]可选的,所述任务处理队列包括工作队列和空闲队列,所述待处理任务被添加到所述任务处理队列中包括,所述待处理任务被添加到所述空闲队列中的任务包,并将所述任务包移动到所述工作队列;所述将目标任务移出所述任务处理队列包括,将所述工作队列中与所述目标任务对应的任务包清空,并将所述任本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种文件处理方法,其特征在于,包括:根据多个待处理文件分别对应的多个待处理任务,生成包括所述多个待处理任务的任务列表;在共享内存中,为所述多个待处理任务生成任务处理队列;创建任务分配进程和多个工作进程;所述任务分配进程用于根据所述任务列表将所述待处理任务添加到所述任务处理队列中;所述多个工作进程中的每个工作进程用于从所述任务处理队列中获取目标任务并执行所述目标任务,以对所述目标任务对应的目标文件进行处理,在获取所述目标任务后将所述目标任务移出所述任务处理队列。2.根据权利要求1所述的方法,其特征在于,所述工作进程还用于:派生多个子线程;在判断所述目标任务对应的目标文件需要多线程处理时,利用所述多个子线程并行执行所述目标任务;在判断所述目标任务对应的目标文件不需要多线程处理时,利用所述多个子线程中的主线程执行所述目标任务。3.根据权利要求1所述的方法,其特征在于,所述任务列表中具有所述多个待处理任务的任务状态;所述任务分配进程具体用于,根据所述任务列表,将任务状态为未执行状态的待处理任务添加到所述任务处理队列中;所述工作进程还用于:在对所述目标任务执行完成后,在所述任务列表中将所述目标任务的任务状态更新为已执行状态;所述方法还包括:在所述多个待处理任务的任务状态均为已执行状态,则确定所述多个待处理文件处理完成,结束所述分配进程和所述工作进程。4.根据权利要求1

3任一项所述的方法,其特征在于,所述根据多个待处理文件分别对应的多个待处理任务,生成包括所述多个待处理任务的任务列表,包括:根据多个待处理文件生成与所述多个待处理文件分别对应的多个待处理任务;根据所述待处理文件的配置文件参数所指示的所述多个待处理文件的处理逻辑,确定所述多个待处理任务的处理顺序;所述处理逻辑包括所述多个待处理文件之间的依赖关系和/或所述多个待处理文件的处理顺序;根据所述多个待处理任务的处理顺序,将所述多个待处理任务增加到任务列表中。5.根据权利要求1

3任一项所述的方法,其特征在于,所述方法还包括:根据所述待处理文件的配置文件参数,确定工作进程的预设数量,和任务处理队列的预设容量;所述为所述多个...

【专利技术属性】
技术研发人员:郭锦帅林灿发张琰谢昭杰
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1