CN113672307A - 数据处理方法、电子设备和计算机可读存储介质 - Google Patents
数据处理方法、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113672307A CN113672307A CN202110763923.2A CN202110763923A CN113672307A CN 113672307 A CN113672307 A CN 113672307A CN 202110763923 A CN202110763923 A CN 202110763923A CN 113672307 A CN113672307 A CN 113672307A
- Authority
- CN
- China
- Prior art keywords
- subtask
- list
- file
- subtasks
- files
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 26
- 230000002085 persistent effect Effects 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000012216 screening Methods 0.000 claims abstract description 10
- 238000012986 modification Methods 0.000 claims description 34
- 230000004048 modification Effects 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/4493—Object persistence
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、电子设备和计算机可读存储介质,该方法包括:响应于从数据源获得第一文件列表,获取当前的总任务列表和子任务列表;判断子任务列表中是否包括未完成的子任务;若包括,则基于总任务列表中的子任务信息,筛选出第一文件列表中待生成子任务的第二文件列表;否则,将第一文件列表作为第二文件列表;生成第二文件列表对应的子任务,将子任务持久化到子任务列表中,将子任务对应的子任务信息持久化到总任务列表中;基于子任务列表执行子任务,响应于任一子任务执行完毕,将执行完毕的子任务从子任务列表中删除。通过上述方式,本申请能够支持文件进行多次传输,并保持文件传输的连续性。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据处理方法、电子设备和计算机可读存储介质。
背景技术
随着信息时代的来临,对于文件数据的处理也提出了更高的要求,将文件从数据源经过抽取、转换、加载至目的端的流程成为了新的研究方向。
现有的数据处理工具通常只能支持文件的全量采集,不能支持文件进行增量采集,也就是说不能支持文件进行多次采集,并且在文件采集的过程因突发原因中断时,无法恢复之前的进度,进而导致文件采集无法连续。有鉴于此,如何支持文件进行多次传输,并保持文件传输的连续性成为亟待解决的问题。
发明内容
本申请主要解决的技术问题是提供一种数据处理方法、电子设备和计算机可读存储介质,能够支持文件进行多次传输,并保持文件传输的连续性。
为解决上述技术问题,本申请第一方面提供一种数据处理方法,该方法包括:响应于从数据源获得第一文件列表,获取当前的总任务列表和子任务列表;判断所述子任务列表中是否包括未完成的子任务;若包括,则基于所述总任务列表中的子任务信息,筛选出所述第一文件列表中待生成子任务的第二文件列表;否则,将所述第一文件列表作为所述第二文件列表;生成所述第二文件列表对应的所述子任务,将所述子任务持久化到所述子任务列表中,将所述子任务对应的所述子任务信息持久化到所述总任务列表中;基于所述子任务列表执行所述子任务,响应于任一所述子任务执行完毕,将执行完毕的所述子任务从所述子任务列表中删除。
为解决上述技术问题,本申请第二方面提供一种电子设备,该电子设备包括:相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行上述第一方面所述的方法。
为解决上述技术问题,本申请第三方面提供一种计算机可读存储介质,其上存储有程序数据,所述程序数据被处理器执行时实现上述第一方面所述的方法。
本申请的有益效果是:本申请在获取到第一文件列表后,获取当前的总任务列表和子任务列表,其中,子任务列表中包括持久化的子任务,总任务列表中包括持久化的子任务信息,当子任务列表中包括未完成的子任务时,则利用总任务列表中的子任务信息在第一文件列表中筛选出待生成子任务的第二文件列表,以使任务的进度能够基于总任务列表和子任务列表进行恢复,保持文件传输的连续性,当子任务列表中不包括未完成的子任务时,则将第一文件列表作为第二文件列表,生成第二文件列表对应的子任务,进而更新子任务列表和总任务列表,当任一子任务执行完毕,将执行完毕的子任务从子任务列表中删除。故此,整个流程可以支持文件进行文件的增量采集,以使文件进行多次传输,并且在传输过程中断后恢复原先的进度,保持文件传输的连续性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请数据处理方法一实施方式的流程示意图;
图2是本申请数据处理方法另一实施方式的流程示意图;
图3是本申请数据处理方法一实施方式的拓扑示意图;
图4是本申请电子设备一实施方式的结构示意图;
图5是本申请计算机可读存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请数据处理方法一实施方式的流程示意图,该方法包括:
S101:响应于从数据源获得第一文件列表,获取当前的总任务列表和子任务列表。
具体地,当从数据源获取到文件后,按照预设方式生成第一文件列表,获取当前的总任务列表和子任务列表。其中,子任务列表中包括持久化的子任务,总任务列表中包括持久化的子任务信息。
在一应用方式中,响应于从数据源获得多个文件,将多个文件按照文件的修改时间由前到后的顺序进行排列,以获得第一文件列表,获取当前的总任务列表和子任务列表,其中,子任务列表中包括子任务对应的文件存储的文件路径,总任务列表中包括子任务信息,其中,子任务信息包括已经生成的子任务对应的修改时间。
在另一应用方式中,响应于从数据源获得多个文件,将多个文件按照文件的文件名称由前到后的顺序进行排列,以获得第一文件列表,其中,文件名称按照文件名称的字符对应的ASCII码优先级进行排序,获取当前的总任务列表和子任务列表,其中,子任务列表中包括子任务对应的文件存储的文件路径,总任务列表中包括子任务信息,其中,子任务信息包括已经生成的子任务对应的文件名称和文件路径。
S102:判断子任务列表中是否包括未完成的子任务。
具体地,请结合后续步骤,当子任务生成后即持久化到子任务列表中,当子任务执行完毕,则将子任务从子任务列表中删除,进而,当原先的任务进程被打断时,子任务列表中仍记录有未完成的子任务,上述未完成表示仍未被处理单元完整执行,因此,未被完整执行的未完成的子任务会保存在子任务列表中。
进一步地,若之前存在任务进程被打断的情况,则在子任务列表中包括未完成的子任务,进而进入步骤S103,若所有的子任务已经执行完毕,则在子任务列表中不包括未完成的子任务,进入步骤S104。
S103:基于总任务列表中的子任务信息,筛选出第一文件列表中待生成子任务的第二文件列表。
具体地,当子任务列表中包括未完成的子任务时,则根据总任务列表中的子任务信息,在第一文件列表中筛选出还未生成子任务的文件,组成第二文件列表,通过对第一文件列表的筛选,以避免对已经生成子任务的文件重复操作,导致文件传输和数据处理出现混乱。
在一应用方式中,当子任务列表中包括未完成的子任务,且总任务列表中记录有已经生成子任务的修改时间,基于总任务列表中的最后生成的子任务对应的第一修改时间,将第一文件列表中修改时间早于第一修改时间的文件剔除,进而获得还未生成子任务的文件,组成第二文件列表。
在另一应用方式中,子任务列表中包括未完成的子任务,且总任务列表中记录有已经生成子任务的文件名称和文件路径,基于总任务列表中的已经生成子任务的文件名称和文件路径,将第一文件列表中已经生成子任务的文件剔除,进而获得还未生成子任务的文件,组成第二文件列表。
S104:将第一文件列表作为第二文件列表。
具体地,当子任务列表中不包括未完成的子任务时,则说明之前的任务均已执行完毕,进而无需对第一文件列表进行筛选,将第一文件列表直接作为第二文件列表。
S105:生成第二文件列表对应的子任务,将子任务持久化到子任务列表中,将子任务对应的子任务信息持久化到总任务列表中。
具体地,基于第二文件列表生成对应的子任务,其中,子任务的数量可以是一个或者多个,当子任务生成后则将子任务持久化到子任务列表中,当任一子任务持久化到子任务列表,则将该子任务对应的子任务信息持久化到总任务列表中。
其中,持久化表示将数据在持久状态和瞬时状态间转换的机制,也就是说,瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存),进而即使原先的任务进度被打断,子任务也能够存储在子任务列表中,总任务列表中保存有子任务信息。
在一应用方式中,基于第二文件列表生成对应的多个子任务,将多个子任务持久化到子任务列表中,当子任务持久化到子任务列表后,将子任务中最后一行指令对应的文件的修改时间和文件名称,作为子任务信息持久化到总任务列表中。
S106:基于子任务列表执行子任务,响应于任一子任务执行完毕,将执行完毕的子任务从子任务列表中删除。
具体地,按照子任务列表中的顺序依次执行子任务列表中的子任务,或者,从子任务列表中提取多个子任务以并行的方式执行,当任一子任务执行完毕,将已经执行完毕的子任务从子任务列表中删除。
在一应用方式中,预先设置有多个用于执行子任务的执行模块,在获取到子任务列表后,按照执行模块的数量在子任务列表中选择对应数量的子任务以并行的方式执行,当任一子任务执行完毕,则将已经执行完毕的子任务从子任务列表中删除,进而从子任务列表中选择其他子任务继续由执行模块执行对应的子任务。
上述方案,在获取到第一文件列表后,获取当前的总任务列表和子任务列表,其中,子任务列表中包括持久化的子任务,总任务列表中包括持久化的子任务信息,当子任务列表中包括未完成的子任务时,则利用总任务列表中的子任务信息在第一文件列表中筛选出待生成子任务的第二文件列表,以使任务的进度能够基于总任务列表和子任务列表进行恢复,保持文件传输的连续性,当子任务列表中不包括未完成的子任务时,则将第一文件列表作为第二文件列表,生成第二文件列表对应的子任务,进而更新子任务列表和总任务列表,当任一子任务执行完毕,将执行完毕的子任务从子任务列表中删除。故此,整个流程可以支持文件进行文件的增量采集,以使文件进行多次传输,并且在传输过程中断后恢复原先的进度,保持文件传输的连续性。
请参阅图2,图2是本申请数据处理方法另一实施方式的流程示意图,该方法包括:
S201:响应于从数据源获得第一文件列表,获取当前的总任务列表和子任务列表。
具体地,请参阅图3,图3是本申请数据处理方法一实施方式的拓扑示意图,其中,数据源可以是FTP、HDFS和NFS中的一种或几种,总任务列表为Jobs表,子任务列表为Tasks表。NFS(Network File System)即网络文件系统是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源,FTP(File Transfer Protocol)是在互联网上提供文件存储和访问服务的服务器,它们依照FTP协议提供服务,HDFS(HadoopDistributed File System)作为Google File System(GFS)的实现,是Hadoop项目的核心子项目。
进一步地,文件列表获取模块从数据源获得文件后将文件排列以获得第一文件列表,并获取当前最新的总任务列表和子任务列表。
在一应用方式中,从数据源获得第一文件列表的步骤,包括:从数据源获得多个文件,将文件按照修改时间和文件名称进行排序,以获得第一文件列表。
具体地,从上述数据源中获取到多个文件,扫描监视目录,基于监视目录中文件的修改时间和文件名称,按照修改时间由前到后的顺序对文件进行排序,对于同一修改时间的文件按照文件名称的大小进行排序,从而将文件进行排序后获得第一文件列表,对第一文件列表中的文件进行统一排序后,以便于后续对第一文件列表中的文件进行筛选,降低对文件进行处理时对同一文件进行重复操作的概率。
S202:判断子任务列表中是否包括未完成的子任务。
具体地,当子任务列表中还包括子任务时,则进入步骤S203,若子任务列表中不包括子任务时,则进入步骤S204。
S203:提取总任务列表中最后添加的子任务对应的第一子任务信息,将第一文件列表中第一子任务信息之前的文件剔除,以获得第二文件列表。
具体地,文件过滤模块可用于提取总任务列表中最后添加的子任务对应的子任务信息,并将其作为第一子任务信息,对第一文件列表进行筛选,从而将第一文件列表中第一子任务信息之前的文件剔除,进而排除已经生成子任务的文件,以获得未生成子任务的文件组成的第二文件列表。
进一步地,基于总任务列表中所保存的最后添加的子任务所对应的第一子任务信息,将第一文件列表中的文件分为已生成和未生成子任务的文件,以使在发生系统崩溃、任务暂停等突发状况后再次需要执行任务之前恢复任务进度,保障数据的完整性的同时避免对文件进行重复操作,提高数据处理的效率。
在一应用方式中,子任务信息包括修改时间和文件名称,提取总任务列表中最后添加的子任务对应的第一子任务信息,将第一文件列表中第一子任务信息之前的文件剔除,以获得第二文件列表的步骤,包括:提取总任务列表中最后添加的子任务对应的第一子任务信息,其中,第一子任务信息包括第一修改时间和第一文件名称;将第一文件列表中修改时间早于第一修改时间,以及修改时间等于第一修改时间且文件名称排序小于第一文件名称的文件剔除,以获得第二文件列表。
具体地,在子任务列表中添加新生成的子任务后,总任务列表中更新最新添加的子任务对应的子任务信息,当需要对第一文件列表进行筛选时,则首先从总任务列表中获取最后添加的子任务对应的第一任务信息,该第一子任务信息包括第一修改时间和第一文件名称,以第一修改时间作为时间分界线,将时序上早于第一修改时间的文件剔除,当修改时间与第一修改时间相同时,则将修改时间等于第一修改时间且文件名称排序小于第一文件名称的文件剔除,以实现第一文件列表中已经生成子任务的文件的精准滤除,从而获得未生成子任务的第二文件列表。
S204:将第一文件列表作为第二文件列表。
具体地,当子任务列表中不包括未完成的子任务时,将第一文件列表直接作为第二文件列表以赋能后续步骤。
S205:生成第二文件列表对应的子任务,将子任务持久化到子任务列表中,将子任务对应的子任务信息持久化到总任务列表中。
具体地,基于第二文件列表中文件的次序生成第二文件列表对应的多个子任务。其中,第二文件列表中的文件在筛选阶段已完成排序,根据第二文件列表中文件的次序生成第二文件列表对应的多个子任务,以使第二文件列表对应的文件能被多个子任务分解后执行,提高执行效率。
进一步地,将多个子任务依次持久化到子任务列表中;响应于子任务列表中每添加一个子任务,将新添加的子任务对应的子任务信息持久化到总任务列表中。
在一应用方式中,请参阅如下所示的表1和表2,当子任务生成后则将子任务持久化至子任务列表中,子任务列表包括子任务的ID,其中,子任务的ID基于总任务列表中总任务ID生成,子任务列表中还记录有子任务对应的指令的上下文信息(context),以及当前任务执行的行数。当子任务列表中添加一个新的子任务时,则总任务列表中将新加入的子任务中的第一行指令对应的文件名称和修改时间添加至总任务列表中的进程(progress)中。
进一步地,当子任务生成后则持久化到子任务列表中,子任务列表中还存储有子任务对应的文件存储的文件路径,当子任务生成并持久化到子任务列表中,只要子任务还没有被删除,则根据文件名称和文件路径即可查找到对应的文件进行子任务对应的操作。总任务列表中不断更新最后添加的子任务对应的第一文件名称和第一修改时间,以便在任务中断后,能够根据存储的第一文件名称和第一修改时间对新获取的第一文件列表进行筛选和过滤,以保障任务的延续性,并且支持对文件进行增量采集。
表1:总任务列表
表2:子任务列表
S206:读取子任务对应的文件,解析文件以获得文件对应的数据。
具体地,请结合参阅图3,文件读取和解析模块根据子任务列表中的顺序读取子任务对应的文件,从子任务对应的文件中提取所需的数据。其中,多个子任务可以并行执行,从而提高子任务执行的效率。
S207:将数据经过处理后传输至对应的目的端,并向进度保存器反馈子任务的进度。
具体地,请结合参阅图3,目的端包括数据库、消息系统和数据仓库中的至少一种,将数据推送给数据生产者或者进行流式处理进而将处理后的数据推送至目的端、并将该子任务的进度推送给进度保存器,其中,子任务的进度包括子任务中已完成传输的文件所对应的文件名称,以及子任务对应的指令的读取行数。其中,通过进度保存器将进度反馈独立出来,以减少进度反馈的资源消耗提高处理效率。
在一应用方式中,进度保存器设置有预设的进度反馈周期,数据经过流式处理或经过数据生成者之后被推送至目的端,每间隔进度反馈周期后,向进度保存器反馈子任务最近已经传输完成的文件名称和子任务已经读取的行数,从而降低因进度反馈造成的资源消耗。
需要说明的是,读取子任务对应的文件的步骤,包括:获取子任务对应的进度,判断子任务对应的指令的读取行数是否为0;若是,则基于子任务列表中的上下文信息,执行读取行数之后指令,以读取对应的文件;否则,依次执行子任务对应的指令,以读取对应的文件。
具体地,请再次结合参阅表2,当开始基于子任务列表执行子任务时,获取子任务对应的进度,当子任务对应的进度中已经执行的指令对应的读取行数不为0,则结合子任务列表中的上下文信息(context)以及读取行数,从读取行数之后对应的指令开始执行子任务,当子任务对应的进度中已经执行的指令对应的读取行数为0,则从子任务的第一行指令开始执行。故此,通过对子任务进度的判断,在执行子任务时避免对已经执行过的指令重复执行,提高任务执行的合理性。
S208:响应于任一子任务执行完毕,将执行完毕的子任务从子任务列表中删除。
具体地,响应于任一子任务中文件读取完毕,或任一子任务中的文件被删除,将子任务对应的任务完成符反馈至进度保存器。其中,当子任务执行完毕或子任务对应的文件被人为删除时,将子任务对应的任务完成符反馈至进度保存器,进而通过进度保存器反馈任务完成的信息。
进一步地,响应于获得进度保存器上传的任务完成符后,将任务完成符对应的任务的进度持久化到数据库中,将任务完成符所对应的子任务从子任务列表中删除。
在一应用方式中,进度保存器为内存中的部分存储空间,用于接收子任务的进度,并在获取到任务完成符后反馈子任务已执行完毕的状态,将任务完成符所对应的任务的进度存储至外部存储器构成的数据库中,以使存储介质掉电后仍能保存已完成的子任务的进度,进而在获取到任务完成符后将任务完成符所对应的子任务从子任务列表中删除,从而保持子任务列表中仅包括未完成的子任务,以使任务中断后能够根据子任务列表来判断是否包括未完成的任务。
在本实施例中,无论是对文件增量采集还是全量采集,均可通过本实施例的流程实现,在任务执行时通过进度保存器反馈子任务执行的进度,并在子任务执行完毕后将已完成的子任务从子任务列表中删除,进而可通过子任务列表判断是否有未完成的任务,同时通过总任务列表中的子任务信息对获取到的第一文件列表进行筛选,从而只将还未生成子任务的第二文件列表生成对应的子任务,并更新子任务列表和总任务列表,以使任务能够持续且完整地执行。
请参阅图4,图4是本申请电子设备一实施方式的结构示意图,该电子设备40包括相互耦接的存储器401和处理器402,其中,存储器401存储有程序数据(图未示),处理器402调用程序数据以实现上述任一实施例中的数据处理方法,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
请参阅图5,图5是本申请计算机可读存储介质一实施方式的结构示意图,该计算机可读存储介质50存储有程序数据500,该程序数据500被处理器执行时实现上述任一实施例中的数据处理方法,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
需要说明的是,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
响应于从数据源获得第一文件列表,获取当前的总任务列表和子任务列表;
判断所述子任务列表中是否包括未完成的子任务;
若包括,则基于所述总任务列表中的子任务信息,筛选出所述第一文件列表中待生成子任务的第二文件列表;
否则,将所述第一文件列表作为所述第二文件列表;
生成所述第二文件列表对应的所述子任务,将所述子任务持久化到所述子任务列表中,将所述子任务对应的所述子任务信息持久化到所述总任务列表中;
基于所述子任务列表执行所述子任务,响应于任一所述子任务执行完毕,将执行完毕的所述子任务从所述子任务列表中删除。
2.根据权利要求1所述的数据处理方法,其特征在于,所述生成所述第二文件列表对应的所述子任务,将所述子任务持久化到所述子任务列表中,将所述子任务对应的所述子任务信息持久化到所述总任务列表中的步骤,包括:
基于所述第二文件列表中文件的次序生成所述第二文件列表对应的多个所述子任务;
将多个所述子任务依次持久化到所述子任务列表中;
响应于所述子任务列表中每添加一个所述子任务,将新添加的所述子任务对应的子任务信息持久化到所述总任务列表中。
3.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述总任务列表中的子任务信息,筛选出所述第一文件列表中待生成子任务的第二文件列表的步骤,包括:
提取所述总任务列表中最后添加的所述子任务对应的第一子任务信息,将所述第一文件列表中所述第一子任务信息之前的文件剔除,以获得所述第二文件列表。
4.根据权利要求3所述的数据处理方法,其特征在于,所述从数据源获得第一文件列表的步骤,包括:
从所述数据源获得多个文件,将所述文件按照修改时间和文件名称进行排序,以获得所述第一文件列表。
5.根据权利要求4所述的数据处理方法,其特征在于,
所述子任务信息包括所述修改时间和所述文件名称;
所述提取所述总任务列表中最后添加的所述子任务对应的第一子任务信息,将所述第一文件列表中所述第一子任务信息之前的文件剔除,以获得所述第二文件列表的步骤,包括:
提取所述总任务列表中最后添加的所述子任务对应的第一子任务信息,其中,所述第一子任务信息包括第一修改时间和第一文件名称;
将所述第一文件列表中修改时间早于所述第一修改时间,以及修改时间等于所述第一修改时间且文件名称排序小于所述第一文件名称的文件剔除,以获得所述第二文件列表。
6.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述子任务列表执行所述子任务的步骤,包括:
读取所述子任务对应的文件,解析所述文件以获得所述文件对应的数据;
将所述数据经过处理后传输至对应的目的端,并向进度保存器反馈所述子任务的进度;
其中,所述子任务的进度包括所述子任务对应的指令的读取行数。
7.根据权利要求6所述的数据处理方法,其特征在于,所述读取所述子任务对应的文件的步骤,包括:
获取所述子任务对应的进度,判断所述子任务对应的指令的所述读取行数是否为0;
若是,则基于所述子任务列表中的上下文信息,执行所述读取行数之后指令,以读取对应的文件;
否则,依次执行所述子任务对应的指令,以读取对应的文件。
8.根据权利要求6所述的数据处理方法,其特征在于,
所述响应于任一所述子任务执行完毕,将执行完毕的所述子任务从所述子任务列表中删除的步骤之前,包括:
响应于任一所述子任务中文件读取完毕,或任一所述子任务中的文件被删除,将所述子任务对应的任务完成符反馈至所述进度保存器;
所述响应于任一所述子任务执行完毕,将执行完毕的所述子任务从所述子任务列表中删除的步骤,包括:
响应于获得所述进度保存器上传的所述任务完成符后,将所述任务完成符对应的所述任务的进度持久化到数据库中;
将所述任务完成符所对应的所述子任务从所述子任务列表中删除。
9.一种电子设备,其特征在于,包括:相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行如权利要求1-8中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有程序数据,其特征在于,所述程序数据被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110763923.2A CN113672307A (zh) | 2021-07-06 | 2021-07-06 | 数据处理方法、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110763923.2A CN113672307A (zh) | 2021-07-06 | 2021-07-06 | 数据处理方法、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113672307A true CN113672307A (zh) | 2021-11-19 |
Family
ID=78538638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110763923.2A Pending CN113672307A (zh) | 2021-07-06 | 2021-07-06 | 数据处理方法、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672307A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382880A (zh) * | 2023-06-07 | 2023-07-04 | 成都登临科技有限公司 | 任务执行方法、装置、处理器、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105208135A (zh) * | 2015-10-26 | 2015-12-30 | 天津书生云科技有限公司 | 一种文件传输方法和设备 |
CN107689976A (zh) * | 2016-08-05 | 2018-02-13 | 北京金山云网络技术有限公司 | 一种文件传输方法及装置 |
CN109298941A (zh) * | 2018-09-28 | 2019-02-01 | 阿里巴巴集团控股有限公司 | 一种文件生成方法和装置 |
WO2020029388A1 (zh) * | 2018-08-07 | 2020-02-13 | 平安科技(深圳)有限公司 | 文件传输方法、系统、计算机设备和存储介质 |
CN112667586A (zh) * | 2021-01-26 | 2021-04-16 | 浪潮通用软件有限公司 | 一种基于流处理的数据同步的方法、系统、设备及介质 |
-
2021
- 2021-07-06 CN CN202110763923.2A patent/CN113672307A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105208135A (zh) * | 2015-10-26 | 2015-12-30 | 天津书生云科技有限公司 | 一种文件传输方法和设备 |
CN107689976A (zh) * | 2016-08-05 | 2018-02-13 | 北京金山云网络技术有限公司 | 一种文件传输方法及装置 |
WO2020029388A1 (zh) * | 2018-08-07 | 2020-02-13 | 平安科技(深圳)有限公司 | 文件传输方法、系统、计算机设备和存储介质 |
CN109298941A (zh) * | 2018-09-28 | 2019-02-01 | 阿里巴巴集团控股有限公司 | 一种文件生成方法和装置 |
CN112667586A (zh) * | 2021-01-26 | 2021-04-16 | 浪潮通用软件有限公司 | 一种基于流处理的数据同步的方法、系统、设备及介质 |
Non-Patent Citations (3)
Title |
---|
YONGHUA HUO ETC.: "SFS: A massive small file processing middleware in Hadoop", 2016 18TH ASIA-PACIFIC NETWORK OPERATIONS AND MANAGEMENT SYMPOSIUM (APNOMS), 10 November 2016 (2016-11-10) * |
姚进峰: "iOS系统数据持久化综述", 电脑编程技巧与维护, 18 February 2021 (2021-02-18) * |
生拥宏;刘川意;鞠大鹏;汪东升;: "差量存储的集中式文件级连续数据保护方法", 计算机科学与探索, no. 04, 15 July 2009 (2009-07-15) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382880A (zh) * | 2023-06-07 | 2023-07-04 | 成都登临科技有限公司 | 任务执行方法、装置、处理器、电子设备及存储介质 |
CN116382880B (zh) * | 2023-06-07 | 2023-08-11 | 成都登临科技有限公司 | 任务执行方法、装置、处理器、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739894B (zh) | 补充元数据描述的方法、装置、设备及存储介质 | |
CN110362544B (zh) | 日志处理系统、日志处理方法、终端及存储介质 | |
CN108984652B (zh) | 一种可配置数据清洗系统和方法 | |
CN112434061B (zh) | 支持循环依赖的任务调度方法和系统 | |
CN110716739B (zh) | 一种代码变更信息统计方法、系统和可读存储介质 | |
JP5531583B2 (ja) | ログ出力装置、ログ出力方法、ログ出力用プログラム | |
CN112711520A (zh) | 异常日志信息的处理方法、装置、设备及存储介质 | |
CN112685370B (zh) | 一种日志采集方法、装置、设备和介质 | |
CN111124839A (zh) | 分布式日志数据监控方法及装置 | |
CN112965939A (zh) | 一种文件合并方法、装置和设备 | |
CN113672307A (zh) | 数据处理方法、电子设备和计算机可读存储介质 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN109542917B (zh) | 数据读取方法及计算机可读介质 | |
CN108959657B (zh) | 一种数据变更处理方法及装置 | |
JP2006302135A (ja) | アプリケーション資産分析プログラム、アプリケーション資産分析方法およびアプリケーション資産分析装置 | |
CN113778947A (zh) | 一种kafka流处理平台的数据导入方法、装置及设备 | |
JP2020052451A (ja) | 計算機システム及び業務フローのパターン生成方法 | |
CN112433757A (zh) | 一种确定接口调用关系的方法和装置 | |
CN111723063A (zh) | 一种离线日志数据处理的方法和装置 | |
CN111061719B (zh) | 数据收集方法、装置、设备和存储介质 | |
CN116303427A (zh) | 数据处理方法及装置、电子设备和存储介质 | |
CN116010345A (zh) | 一种实现流批一体数据湖的表服务方案的方法、装置及设备 | |
CN111966533B (zh) | 电子文件管理方法、装置、计算机设备和存储介质 | |
CN113704203A (zh) | 一种日志文件的处理方法及装置 | |
EP1933235A2 (en) | Grid modeling tool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |