一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文件处理方法、计算机装置及可读存储介质与流程

2021-12-07 22:01:00 来源:中国专利 TAG:


1.本发明涉及一种计算机技术领域,尤其涉及一种文件处理方法、计算机装置及可读存储介质。


背景技术:

2.通常,在对各类文件如大数据的etl(extract-transform-load))文件进行处理的过程中,往往会发生错误或无法处理的情况。以往在对文件恢复处理过程中,都是事后根据log日志记录分析是哪些文件已处理完或处理失败并重新处理的。这种事后根据日志记录查找发生问题的文件,过程太过繁琐,耗费时间与人力。


技术实现要素:

3.鉴于以上内容,有必要提供一种文件处理方法、计算机装置及可读存储介质,根据文件的处理结果区分文件放置位置,方便后期对问题文件的查找与处理。
4.所述文件处理方法包括:预先建立一个第一暂存文件夹、第二暂存文件夹,以及多个目标文件夹,其中,所述第一暂存文件夹用于存放待处理的文件;所述第二暂存文件夹用于存放正在处理的文件;所述多个目标文件夹用于分别存放对应不同处理结果的文件;
5.实时监控所述第一暂存文件夹是否有存储新文件,并于监控到所述第一暂存文件夹存储了新文件时,利用预设的消息系统发布关于该新文件的消息;
6.根据关于所述新文件的消息将所述新文件从所述第一暂存文件夹移动到所述第二暂存文件夹;及
7.按照预设的处理方式处理所述新文件,基于对所述新文件的处理结果将所述新文件从所述第二暂存文件夹移动到与所述新文件的处理结果所对应的所述目标文件夹中。
8.优选地,所述按照预设的处理方式处理所述新文件,基于对所述新文件的处理结果将所述新文件从所述第二暂存文件夹移动到与所述新文件的处理结果所对应的所述目标文件夹中包括:
9.判断所述新文件的文件格式是否为可处理的文件格式;
10.当所述新文件的文件格式不是可处理的文件格式时,将所述新文件从所述第二暂存文件夹移动到所述多个目标文件夹中的第一目标文件夹;
11.当所述新文件的文件格式是可处理的文件格式,且按照所述预设的处理方式成功处理完所述新文件时,将所述新文件从所述第二暂存文件夹移动到所述多个目标文件夹中的第二目标文件夹;及
12.当所述新文件的文件格式是可处理的文件格式,且按照所述预设的处理方式对该新文件处理失败时,将所述新文件从所述第二暂存文件夹移动到所述多个目标文件夹中的第三目标文件夹。
13.优选地,该方法还包括:
14.于将所述新文件从所述第二暂存文件夹移动到了所述多个目标文件夹中的任意
一个目标文件夹时,向所述预设的消息系统发送一个关于所述新文件的完成处理通知。
15.优选地,该方法还包括:
16.所述预设的消息系统接收到关于所述新文件的完成处理通知时,从该预设的消息系统的消息队列中将关于所述新文件的消息删除。
17.优选地,所述预设的消息系统为kafka分布式消息发布和订阅系统。
18.优选地,所述关于所述新文件的消息包括所述新文件在所述第一暂存文件夹的位置、所述新文件的文件名。
19.优选地,该方法还包括:
20.当按照所述预设的处理方式在处理所述新文件时发生所述新文件被关闭需重新开启所述新文件的情况时:从所述预设的消息系统获取关于该新文件的消息,根据关于该新文件的消息所包括的该新文件在所述第一暂存文件夹的位置,从所述第一暂存文件夹获取所述新文件;并当没有从所述第一暂存文件夹获取到所述新文件时,从所述第二暂存文件夹获取所述新文件。
21.优选地,该方法还包括:
22.当从所述第二暂存文件夹中也没有获取到所述新文件时,确定已处理完所述新文件;及
23.当确定已处理完所述新文件时,向所述预设的消息系统发送关于所述新文件的所述完成处理通知。
24.所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现所述文件处理方法。
25.所述计算机装置包括存储器和至少一个处理器,所述存储器中存储有多个模块,所述多个模块被所述至少一个处理器执行时实现所述文件处理方法。
26.相较于现有技术,所述文件处理方法、计算机装置及可读存储介质,根据文件的处理结果区分文件放置位置,方便后期对问题文件的查找与处理。
附图说明
27.图1是本发明较佳实施例的计算机装置的架构图。
28.图2是本发明较佳实施例的文件处理系统的功能模块图。
29.图3是本发明较佳实施例的文件处理方法的流程图。
30.处理后的示意图。
31.主要元件符号说明
32.计算机装置3处理器32存储器31文件处理系统30预设模块301监控模块302执行模块303
33.如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
34.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
35.在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
37.参阅图1所示,为本发明较佳实施例提供的计算机装置的架构图。
38.本实施例中,所述计算机装置3包括互相之间电气连接的存储器31、至少一个处理器32、至少一条通信总线33。
39.本领域技术人员应该了解,图1示出的计算机装置3的结构并不构成本发明实施例的限定,所述计算机装置3还可以包括比图1更多或更少的其他硬件或者软件,或者不同的部件布置。
40.需要说明的是,所述计算机装置3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
41.在一些实施例中,所述存储器31可以用于存储计算机程序的程序代码和各种数据。例如,所述存储器31可以用于存储安装在所述计算机装置3中的文件处理系统30,并在计算机装置3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31可以是包括只读存储器(read-only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、一次可编程只读存储器(one-time programmable read-only memory,otprom)、电子擦除式可复写只读存储器(electrically-erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者任何其他能够用于携带或存储数据的非易失性的计算机可读的存储介质。
42.在一些实施例中,所述至少一个处理器32可以由集成电路组成。例如,可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述计算机装置3的控制核心(control unit),利用各种接口和线路连接整个计算机装置3的各个部件,通过执行存储在所述存储器31内的程序或者模块或者指令,以及调用存储在所述存储器31内的数据,以执行计算机装置3的各种功能和处理数据,例如,对文件进行处理的功能(具体细节参后面对图3的介绍)。
43.在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31与所述至少一个处理器32以及其他元件之间的连接通信。
44.在本实施例中,文件处理系统30可以包括一个或多个模块,所述一个或多个模块
存储在所述存储器31中,并由至少一个或多个处理器(本实施例为处理器32)执行,以实现对文件进行处理的功能(具体细节参后面对图3的介绍)。
45.在本实施例中,参阅图2所示,所述文件处理系统30根据其所执行的功能,可以被划分为多个功能模块。所述多个功能模块包括预设模块301、监控模块302,和执行模块303。本发明所称的模块是指一种能够被至少一个处理器(例如处理器32)所执行并且能够完成固定功能的一系列计算机可读的指令段,其存储在存储器(例如计算机装置3的存储器31)中。在本实施例中,关于各模块的功能将在后续结合图3详述。
46.本实施例中,以软件功能模块的形式实现的集成的单元,可以存储在一个非易失性可读取存储介质中。上述软件功能模块包括一个或多个计算机可读指令,所述计算机装置3或处理器(processor)通过执行所述一个或多个计算机可读指令实现本发明各个实施例的方法的部分,例如图3所示的对文件进行处理的方法。
47.在进一步的实施例中,结合图2,所述至少一个处理器32可执行所述计算机装置3的操作装置以及安装的各类应用程序(如所述的文件处理系统30)、程序代码等。
48.所述存储器31中存储有计算机程序的程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图3中所述文件处理系统30的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到对文件进行处理的目的(详见下文中对图3的描述)。
49.在本发明的一个实施例中,所述存储器31存储一个或多个计算机可读指令,所述一个或多个计算机可读指令被所述至少一个处理器32所执行以实现对文件进行处理的目的。具体地,所述至少一个处理器32对上述计算机可读指令的具体实现方法详见下文中对图3的描述。
50.图3是本发明较佳实施例提供的文件处理方法的流程图。
51.在本实施例中,所述文件处理方法可以应用于一个或多个计算机装置3中,对于需要进行文件处理的一个或多个计算机装置3,可以直接在该一个或多个计算机装置3上集成本发明的方法所提供的用于文件处理的功能,或者以软件开发工具包(software development kit,sdk)的形式运行在所述一个或多个计算机装置3上。
52.如图3所示,所述文件处理方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
53.步骤s1、预设模块301预先建立一个第一暂存文件夹、第二暂存文件夹,以及多个目标文件夹,其中,所述第一暂存文件夹用于存放待处理的文件;所述第二暂存文件夹用于存放正在处理的文件;所述多个目标文件夹用于分别存放对应不同处理结果的文件。
54.本实施例中,所述多个目标文件夹包括第一目标文件夹、第二目标文件夹、第三目标文件夹。
55.所述第一目标文件夹用于存放文件格式为不支持的格式的文件,也即是用于存放无法打开的文件。
56.所述第二目标文件夹用于存放成功处理的文件例如按照预设的处理方式处理完成的文件。
57.所述第三目标文件夹用于存放处理失败的文件例如处理过程中发生错误的文件。
58.步骤s2、监控模块302实时监控所述第一暂存文件夹是否有存储新文件,并于监控
到所述第一暂存文件夹存储了新文件时,利用预设的消息系统发布关于该新文件的消息。
59.本实施例中,所述新文件可以定义为新存入到所述第一暂存文件夹的文件。
60.具体地,所述监控模块302可以通过监控文件名、文件类型文件的修改日期、及/或文件大小等参数来识别所述第一暂存文件夹中是否存储了新的文件。
61.在一个实施例中,所述预设的消息系统为kafka分布式消息发布和订阅系统。
62.在一个实施例中,所述关于所述新文件的消息包括所述新文件在所述第一暂存文件夹的位置、所述新文件的文件名等。
63.具体地,所述监控模块302控制所述预设的消息系统将关于所述新文件的消息加入到所述预设的消息系统的消息队列中。
64.步骤s3、执行模块303接收关于所述新文件的消息,根据关于所述新文件的消息将所述新文件从所述第一暂存文件夹移动到所述第二暂存文件夹。
65.具体地,所述执行模块303根据关于所述新文件的消息所包括的所述新文件在所述第一暂存文件夹中的位置将所述新文件从所述第一暂存文件夹移动到所述第二暂存文件夹。
66.需要说明的是,本实施例中上下文所述的“移动”是指位置的改变。如将所述新文件从所述第一暂存文件夹移动到所述第二暂存文件夹,即指所述新文件的位置从所述第一暂存文件夹变为了所述第二暂存文件夹。
67.步骤s4、执行模块303按照预设的处理方式处理所述新文件,并基于所述新文件的处理结果将所述新文件从所述第二暂存文件夹移动到与所述新文件的处理结果所对应的所述目标文件夹中。
68.在一个实施例中,所述预设的处理方式包括,但不限于,复制所述新文件中的数据、从所述新文件中删除重复数据等。
69.在一个实施例中,所述按照预设的处理方式处理所述新文件,基于所述新文件的处理结果将所述新文件从所述第二暂存文件夹移动到与所述新文件的处理结果所对应的所述目标文件夹中包括(a1)-(a4):
70.(a1)判断所述新文件的文件格式是否为可处理/可支持的文件格式。
71.本实施例中,判断所述新文件的文件格式是否为可处理/可支持的文件格式也即是判断所述新文件是否能够被所述执行模块303所打开。
72.具体地,所述执行模块303可通过判断所述新文件的文件格式是否是预设的格式(如.doc格式,.xls格式,tif格式)中一种;若所述新文件的文件格式是所述预设的格式中的一种,所述执行模块303则确定所述新文件的文件格式为可处理/可支持的文件格式;若所述新文件的文件格式不是所述预设的格式中的任意一种,所述执行模块303则确定所述新文件的文件格式不是可处理/可支持的文件格式。
73.(a2)当所述新文件的文件格式不是可处理/可支持的文件格式时,将所述新文件从所述第二暂存文件夹移动到所述多个目标文件夹中的第一目标文件夹。即所述第一目标文件夹可以用于存储文件格式不是可处理/可支持的文件,换句话来讲,所述第一目标文件夹所对应的存储结果为“文件格式不是可处理/可支持的文件。
74.(a3)当所述新文件的文件格式是可处理的文件格式,且按照所述预设的处理方式成功处理完所述新文件时(例如成功从所述新文件复制到所需数据时),将所述新文件从所
述第二暂存文件夹移动到所述多个目标文件夹中的所述第二目标文件夹。
75.(a4)当所述新文件的文件格式是可处理的文件格式,且按照所述预设的处理方式对该新文件处理失败时(例如处理过程中发生错误且无法成功处理时),将所述新文件从所述第二暂存文件夹移动到所述多个目标文件夹中的所述第三目标文件夹。
76.需要说明的是,本实施例中,当将所述新文件从所述第二暂存文件夹移动到了所述多个目标文件夹中的任意一个目标文件夹时,则所述第二暂存文件中不再存储有所述新文件。
77.在一个实施例中,所述执行模块303于将所述新文件从所述第二暂存文件夹移动到了所述多个目标文件夹中的任意一个目标文件夹后,所述执行模块303还向所述预设的消息系统发送一个关于所述新文件的完成处理通知,以通知所述预设的消息系统已处理完所述新文件。
78.在一个实施例中,所述预设的消息系统接收到关于所述新文件的完成处理通知时,从该预设的消息系统的消息队列中将关于所述新文件的消息删除。
79.在一个实施例中,当所述执行模块303按照所述预设的处理方式在处理所述新文件时发生所述新文件被关闭需重新开启所述新文件的情况时:所述执行模块303从所述预设的消息系统重新获取关于该新文件的消息,并根据关于该新文件的消息所包括的该新文件在所述第一暂存文件夹的位置,从所述第一暂存文件夹获取所述新文件;当所述执行模块303没有从所述第一暂存文件夹获取到所述新文件时,所述执行模块303从所述第二暂存文件夹获取所述新文件。
80.在一个实施例中,当所述执行模块303从所述第二暂存文件夹中也没有获取到所述新文件时,所述执行模块303确定已处理完所述新文件。当确定已处理完所述新文件时,所述执行模块303向所述预设的消息系统发送关于所述新文件的所述完成处理通知。由此所述预设的消息系统接收到关于所述新文件的完成处理通知时,从该预设的消息系统的消息队列中将关于所述新文件的消息删除。
81.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
82.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
83.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
84.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此
外,显然“包括”一词不排除其他单元或,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
85.最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献