CN114020508A - 一种数据处理方法、装置、电子设备及存储介质 - Google Patents

一种数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114020508A
CN114020508A CN202111273881.0A CN202111273881A CN114020508A CN 114020508 A CN114020508 A CN 114020508A CN 202111273881 A CN202111273881 A CN 202111273881A CN 114020508 A CN114020508 A CN 114020508A
Authority
CN
China
Prior art keywords
task
task instance
instance
instances
data
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
Application number
CN202111273881.0A
Other languages
English (en)
Inventor
钱佳
张蕤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202111273881.0A priority Critical patent/CN114020508A/zh
Publication of CN114020508A publication Critical patent/CN114020508A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开关于一种数据处理方法、装置、电子设备及存储介质,涉及计算机技术领域。该方法包括:获取补数事件的恢复信息;获取至少两个任务实例的数据信息;根据该至少两个任务实例之间的依赖关系和该至少两个任务实例的数据信息,从该至少两个任务实例中确定至少一个问题任务实例;对该至少一个问题任务实例执行数据生成操作。本公开中,电子设备可以仅对某一任务实例的部分下游任务实例(即问题任务实例),具体为受问题数据影响的任务实例执行数据生成操作,能够减少资源浪费,提升数据处理的效率。

Description

一种数据处理方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
目前,当某一任务实例生成的数据出现质量问题时,补数装置可以对该任务实例的全部下游任务实例执行阻断操作;并且当该生成的数据恢复正常时,可以对该全部下游任务实例执行恢复操作。
但是,上述生成的数据可能只会影响到该全部下游任务实例中的部分下游任务实例。如此,上述对全部下游任务实例执行阻断操作或恢复操作的方法,可能会消耗大量资源,造成资源浪费。
发明内容
本公开提供一种数据处理方法、装置、电子设备及存储介质,解决了补数装置对某一任务实例的全部下游任务实例执行阻断操作或恢复操作时,消耗大量资源,造成资源浪费的技术问题。
本公开实施例的技术方案如下:
根据本公开实施例的第一方面,提供一种数据处理方法。该方法可以包括:获取补数事件的恢复信息,该恢复信息包括至少两个任务实例的标识以及该至少两个任务实例之间的依赖关系;获取该至少两个任务实例的数据信息,其中,一个任务实例的数据信息包括该任务实例的输入信息和该任务实例的输出信息;根据该至少两个任务实例之间的依赖关系和该至少两个任务实例的数据信息,从该至少两个任务实例中确定至少一个问题任务实例,该问题任务实例用于表征生成的数据存在质量问题的任务实例,该至少一个问题任务实例的数量小于该至少两个任务实例的数量;对该至少一个问题任务实例执行数据生成操作。
可选地,上述获取该至少两个任务实例的数据信息具体包括:获取该至少两个任务实例各自对应的任务详情,其中,一个任务实例对应的任务详情包括该任务实例对应的查询语句;对该至少两个任务实例各自对应的查询语句进行哈希处理,得到该至少两个任务实例各自对应的哈希值;在已存储的目标对应关系中存在第一哈希值的情况下,从该目标对应关系表中获取第一任务实例的数据信息,该目标对应关系中包括多个任务实例的数据信息以及该多个任务实例各自对应的哈希值,该第一哈希值为该第一任务实例对应的哈希值,该第一任务实例为该至少两个任务实例中的一个。
可选地,上述数据处理方法还包括:在该目标对应关系中不存在该第一哈希值的情况下,解析该第一任务实例对应的查询语句,以得到该第一任务实例的数据信息;将该第一哈希值和该第一任务实例的数据信息添加至该目标对应关系中。
可选地,一个任务实例的输入信息中包括输入字段,该任务实例的输出信息中包括输出字段,上述根据该至少两个任务实例之间的依赖关系和该至少两个任务实例的数据信息,从该至少两个任务实例中确定至少一个问题任务实例具体包括:当当前任务实例为问题任务实例时,确定该当前任务实例的直接下游任务实例对应的输入字段中,是否存在该当前任务实例对应的输出字段,该当前任务实例为该至少两个任务实例中的一个,该直接下游任务实例为与该当前任务实例存在依赖关系的下游任务实例;当该直接下游任务实例对应的输入字段中存在该当前任务实例对应的输出字段时,确定该直接下游任务实例为问题任务实例。
可选地,上述数据处理方法还包括:当该直接下游任务实例对应的输入字段中不存在该前任务实例对应的输出字段时,确定对该直接下游任务实例执行剪枝操作。
可选地,上述数据处理方法还包括:将该至少一个问题任务实例中每一个问题任务实例的标识和该每一个问题任务实例对应的输出字段添加至目标队列,该目标队列用于表征该每一个问题任务实例的确定顺序。
可选地,上述数据处理方法还包括:基于该恢复信息,生成该补数事件对应的有向无环图,该有向无环图中包括任务实例节点和边,该任务实例节点用于表征任务实例,该边用于连接具有依赖关系的任务实例节点;对目标任务实例节点执行剪枝操作,得到目标有向无环图,该目标任务实例节点为至少两个任务实例节点中除至少一个问题任务实例节点以外的任务实例节点,该至少两个任务实例节点为该有向无环图中包括的任务实例节点,该至少一个问题任务实例节点为该至少一个问题任务实例表征的任务实例节点;上述对该至少一个问题任务实例执行数据生成操作具体包括:对该目标有向无环图中包括的每一个任务实例节点执行数据生成操作,该每一个任务实例节点为该至少一个问题任务实例中每一个问题任务实例表征的任务实例节点。
根据本公开实施例的第二方面,提供一种数据处理装置。该装置可以包括:获取模块、确定模块以及处理模块;该获取模块,被配置为获取补数事件的恢复信息,该恢复信息包括至少两个任务实例的标识以及该至少两个任务实例之间的依赖关系;该获取模块,还被配置为获取该至少两个任务实例的数据信息,其中,一个任务实例的数据信息包括该任务实例的输入信息和该任务实例的输出信息;该确定模块,被配置为根据该至少两个任务实例之间的依赖关系和该至少两个任务实例的数据信息,从该至少两个任务实例中确定至少一个问题任务实例,该问题任务实例用于表征生成的数据存在质量问题的任务实例,该至少一个问题任务实例的数量小于该至少两个任务实例的数量;该处理模块,被配置为对该至少一个问题任务实例执行数据生成操作。
可选地,该获取模块,具体被配置为获取该至少两个任务实例各自对应的任务详情,其中,一个任务实例对应的任务详情包括该任务实例对应的查询语句;该处理模块,还被配置为对该至少两个任务实例各自对应的查询语句进行哈希处理,得到该至少两个任务实例各自对应的哈希值;该获取模块,具体还被配置为在已存储的目标对应关系中存在第一哈希值的情况下,从该目标对应关系表中获取第一任务实例的数据信息,该目标对应关系中包括多个任务实例的数据信息以及该多个任务实例各自对应的哈希值,该第一哈希值为该第一任务实例对应的哈希值,该第一任务实例为该至少两个任务实例中的一个。
可选地,该处理模块,还被配置为在该目标对应关系中不存在该第一哈希值的情况下,解析该第一任务实例对应的查询语句,以得到该第一任务实例的数据信息;该处理模块,还被配置为将该第一哈希值和该第一任务实例的数据信息添加至该目标对应关系中。
可选地,一个任务实例的输入信息中包括输入字段,该任务实例的输出信息中包括输出字段。该确定模块,具体被配置为当当前任务实例为问题任务实例时,确定该当前任务实例的直接下游任务实例对应的输入字段中,是否存在该当前任务实例对应的输出字段,该当前任务实例为该至少两个任务实例中的一个,该直接下游任务实例为与该当前任务实例存在依赖关系的下游任务实例;该确定模块,具体还被配置为当该直接下游任务实例对应的输入字段中存在该当前任务实例对应的输出字段时,确定该直接下游任务实例为问题任务实例。
可选地,该确定模块,还被配置为当该直接下游任务实例对应的输入字段中不存在该前任务实例对应的输出字段时,确定对该直接下游任务实例执行剪枝操作。
可选地,该处理模块,还被配置为将该至少一个问题任务实例中每一个问题任务实例的标识和该每一个问题任务实例对应的输出字段添加至目标队列,该目标队列用于表征该每一个问题任务实例的确定顺序。
可选地,该处理模块,还被配置为基于该恢复信息,生成该补数事件对应的有向无环图,该有向无环图中包括任务实例节点和边,该任务实例节点用于表征任务实例,该边用于连接具有依赖关系的任务实例节点;该处理模块,还被配置为对目标任务实例节点执行剪枝操作,得到目标有向无环图,该目标任务实例节点为至少两个任务实例节点中除至少一个问题任务实例节点以外的任务实例节点,该至少两个任务实例节点为该有向无环图中包括的任务实例节点,该至少一个问题任务实例节点为该至少一个问题任务实例表征的任务实例节点;该处理模块,具体被配置为对该目标有向无环图中包括的每一个任务实例节点执行数据生成操作,该每一个任务实例节点为该至少一个问题任务实例中每一个问题任务实例表征的任务实例节点。
根据本公开实施例的第三方面,提供一种电子设备,可以包括:处理器和被配置为存储处理器可执行指令的存储器;其中,处理器被配置为执行所述指令,以实现上述第一方面中任一种可选地数据处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当该计算机可读存储介质中的指令由电子设备执行时,使得该电子设备能够执行上述第一方面中任一种可选地数据处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行如第一方面中任一种可选地数据处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
基于上述任一方面,本公开中,电子设备可以获取补数事件的恢复信息以及至少两个任务实例的数据信息;由于该恢复信息包括至少两个任务实例之间的依赖关系,电子设备可以基于该依赖关系确定该至少两个任务实例中每一个任务实例的全部下游任务实例;又由于一个任务实例的数据信息包括该任务实例的输入信息和该任务实例的输出信息,电子设备可以基于该每一个任务实例的输入信息和输出信息确定该每一个任务实例与该全部下游任务实例是否存在数据依赖关系;如此,电子设备可以根据该每一个任务实例的全部下游任务实例,以及该每一个任务实例与该全部下游任务实例是否存在数据依赖关系,从该至少两个任务实例中确定至少一个问题任务实例,并且对该至少一个问题任务实例执行数据生成操作,以使得该至少一个问题任务实例生成数据。本公开实施例中,电子设备可以仅对某一任务实例的部分下游任务实例(即问题任务实例),具体为受问题数据影响的任务实例执行数据生成操作,能够减少资源浪费,提升数据处理的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1示出了本公开实施例提供的一种数据处理方法的流程示意图;
图2示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图3示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图4示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图5示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图6示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图7示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图8示出了本公开实施例提供的一种执行剪枝操作的示意图;
图9示出了本公开实施例提供的一种数据处理装置的结构示意图;
图10示出了本公开实施例提供的又一种数据处理装置的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。
如背景技术中所描述,由于补数装置会对某一任务实例的全部下游任务实例执行阻断操作或恢复操作,如此会消耗大量资源,造成资源浪费。基于此,本公开实施例提供一种数据处理方法,电子设备可以仅对某一任务实例的部分下游任务实例(即问题任务实例),具体为受问题数据影响的任务实例执行数据生成操作,能够减少资源浪费,提升数据处理的效率。
本公开实施例提供的数据处理方法、装置、电子设备及存储介质,应用于生成数据(或数据恢复)的场景中。当电子设备获取到补数事件的恢复信息时,可以依据本公开实施例提供的方法,从至少两个任务实例中确定至少一个问题任务实例,并且对该至少一个问题任务实例执行数据生成操作。
以下结合附图对本公开实施例提供的数据处理方法进行示例性说明:
可以理解的是,执行本公开实施例提供的数据处理方法的电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digitalassistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等可以安装并使用内容社区应用的设备,本公开对电子设备的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
如图1所示,本公开实施例提供的数据处理方法可以包括S101-S104。
S101、电子设备获取补数事件的恢复信息。
其中,该恢复信息包括至少两个任务实例的标识以及该至少两个任务实例之间的依赖关系。
应理解,该至少两个任务实例为该补数事件对应的任务实例。该补数事件可以应用于生成历史数据(或历史数据的恢复)的场景中。具体的,执行该恢复事件,以对该至少两个任务实例执行数据生成操作,即该至少两个任务实例中全部的任务实例可以生成数据。
本公开实施例中,一个任务实例生成历史数据的场景可以分为以下几种情况:
在一种情况下,当前任务实例可能是当前年份(例如2021年)生成的任务实例,基于该任务实例可以生成当前年份的数据。但是,电子设备可能需要获取到历史年份(例如2019年)生成的数据。如此,电子设备需要创建并触发一个补数事件,该补数事件对应的任务实例可以对应该历史年份生成的任务实例,进而电子设备基于该历史年份生成的任务实例得到该历史年份生成的数据,即生成历史数据。
在一种情况下,历史年份原本已经生成相关数据,但在后续的数据处理过程中,该相关数据可能已经被删除。如此,电子设备可以基于一个补数事件,对该补数事件对应的任务实例进行处理(或操作),以生成该相关数据,即生成历史数据。
在另一种情况下,电子设备可以确定当前任务实例生成的数据出现质量问题(以下简称问题数据),但是该任务实例不是生成问题数据的源头任务实例。如此,电子设备可以创建补数事件,以基于该补数事件对应的任务实例,生成历史数据,即可以追溯到生成问题数据的源头任务实例。
可以理解的是,任务与任务实例之间的关系类似于程序与进程之间的关系,对于一个任务而言,每一次执行该任务都会生成一个任务实例;不同的任务实例会产生不同的数据分区,该数据分区可以理解为存储该任务实例生成(或操作后得到)的数据的分区。
本公开实施例中,上述至少两个任务实例之间的依赖关系用于表征该至少两个任务实例之间的上下游关系。例如,假设该至少两个任务实例中包括第一任务实例和第二任务实例,若该第一任务实例与该第二任务实例之间存在依赖关系,则说明该第一任务实例为该第二任务实例的下游任务实例,或者该第一任务实例为该第二任务实例的上游任务实例。
需要说明的是,上述补数事件对应的任务实例(即上述至少两个任务实例)可以理解为补数实例。即如果执行该补数事件,则会补充该补数事件对应的任务实例(即补数实例),并且执行该补数事件对应的任务实例,具体为使该补数事件对应的任务实例生成数据,即补充该补数事件对应的任务实例的数据。
可选地,一个任务实例的表示可以为该任务实例的主键(key),该主键可以是该任务实例对应的任务的名称以及该任务实例对应的生成时间的组合。
S102、电子设备获取至少两个任务实例的数据信息。
其中,一个任务实例的数据信息包括该任务实例的输入信息和该任务实例的输出信息。
应理解,一个任务实例的输入信息即为该任务实例的输入数据,该任务实例的输出信息即为该任务实例的输出数据,电子设备对该任务实例执行数据生成操作,以使得该任务实例可以基于该输入数据得到该输出数据。
在本公开实施例的一种实现方式中,一个任务实例的数据信息可以为该任务实例的数据表,该数据表中可以包括该任务实例的输入表和该任务实例的输出表。
S103、电子设备根据至少两个任务实例之间的依赖关系和至少两个任务实例的数据信息,从至少两个任务实例中确定至少一个问题任务实例。
其中,该问题任务实例用于表征生成的数据存在质量问题的任务实例,该至少一个问题任务实例的数量小于该至少两个任务实例的数量。
可以理解的是,该生成的数据存在质量问题的任务实例(即问题任务实例),为输出数据存在质量问题的任务实例。
应理解,电子设备可以基于该至少两个任务实例之间的依赖关系,确定该至少两个任务实例中每一个任务实例的全部下游任务实例。但是,该每一个任务实例的全部下游任务实例不一定与该每一个任务实例存在数据依赖关系。具体的,该全部下游任务实例不一定使用到了该每一个任务实例生成的数据,即该全部下游任务实例各自的输入数据不一定与该每一个任务实例的输出数据存在关联。
当某一个下游任务实例的输入数据与该每一个任务实例的输出数据存在关联,并且该每一个任务实例为问题任务实例时,电子设备可以确定该下游任务实例为问题任务实例;否则,即当该每一个任务实例为问题任务实例,并且该下游任务实例的输入数据与该每一个任务实例的输出数据不存在关联时,电子设备确定该下游任务实例不是问题任务实例。如此,电子设备可以基于该每一个任务实例的数据信息,具体为该每一个任务实例的输入数据和输出数据,确定该至少两个任务实例中存在质量问题的问题任务实例。
S104、电子设备对至少一个问题任务实例执行数据生成操作。
应理解,电子设备对该至少一个问题任务实例执行数据生成操作,即为指示该至少一个问题任务实例中的每一个问题任务实例生成数据。
可以理解的是,电子设备指示一个问题任务实例生成数据的情况可以包括以下两种:
在一种情况下,该问题任务实例之前未生成任何数据,电子设备指示该问题任务实例生成数据,即为指示该问题任务实例初次生成数据。
在另一种情况下,该问题任务实例之前已经生成数据(但该数据可能已经被删除),电子设备指示该问题任务实例生成数据,即为指示该问题任务实例重新生成数据,也可以理解为指示该问题任务实例进行重跑恢复。
可选地,电子设备还可以对该至少一个问题任务实例执行数据阻断操作,即阻断该至少一个问题任务实例中的每一个问题任务实例暂停生成数据。
上述实施例提供的技术方案至少能够带来以下有益效果:由S101-S104可知,电子设备可以获取补数事件的恢复信息以及至少两个任务实例的数据信息;由于该恢复信息包括至少两个任务实例之间的依赖关系,电子设备可以基于该依赖关系确定该至少两个任务实例中每一个任务实例的全部下游任务实例;又由于一个任务实例的数据信息包括该任务实例的输入信息和该任务实例的输出信息,电子设备可以基于该每一个任务实例的输入信息和输出信息确定该每一个任务实例与该全部下游任务实例是否存在数据依赖关系;如此,电子设备可以根据该每一个任务实例的全部下游任务实例,以及该每一个任务实例与该全部下游任务实例是否存在数据依赖关系,从该至少两个任务实例中确定至少一个问题任务实例,并且对该至少一个问题任务实例执行数据生成操作,以使得该至少一个问题任务实例生成数据。本公开实施例中,电子设备可以仅对某一任务实例的部分下游任务实例(即问题任务实例),具体为受问题数据影响的任务实例执行数据生成操作,能够减少资源浪费,提升数据处理的效率。
结合图1,如图2所示,在本公开实施例的一种实现方式中,上述获取至少两个任务实例的数据信息,具体可以包括S1021-S1023。
S1021、电子设备获取至少两个任务实例各自对应的任务详情。
其中,一个任务实例对应的任务详情包括该任务实例对应的查询语句。
应理解,一个任务实例对应的任务详情为该任务实例对应的任务的任务详情,该任务实例对应的查询语句即为该任务对应的查询语句。
可选地,一个任务实例对应的任务详情还包括该任务实例对应的任务的标识,电子设备可以周期性地获取该至少两个任务实例各自对应的任务详情。
在本公开实施例的一种实现方式中,电子设备可以创建多个线程,然后基于该多个线程分发处理该至少两个任务实例,即基于该多个线程分别获取该至少两个任务实例各自对应的任务详情。具体的,可以将该至少两个任务实例平均分配给该多个线程,进而可以基于该多个线程分别获取该至少两个任务实例中每一个任务实例对应的任务详情。
本公开实施例中的查询语句可以为结构化查询语言(structured querylanguage,SQL)语句。即一个任务实例对应的查询语句可以为该任务实例对应的执行sql语句。
S1022、电子设备对至少两个任务实例各自对应的查询语句进行哈希处理,得到至少两个任务实例各自对应的哈希值。
应理解,一个任务实例对应的哈希值为该任务实例对应的查询语句的哈希值。
可以理解的是,一个任务实例对应的查询语句可能比较长,所占的存储较大。对该查询语句进行哈希处理得到该任务实例对应的哈希值,能够缩短其所占存储,例如可以缩短到32字节。如此相较于查询语句而言,哈希值的查询和存储会更加方便快捷。
可选地,一个任务实例对应的哈希值可以为该任务实例对应的MD5值。
S1023、在已存储的目标对应关系中存在第一哈希值的情况下,电子设备从目标对应关系表中获取第一任务实例的数据信息。
其中,该目标对应关系中包括多个任务实例的数据信息以及该多个任务实例各自对应的哈希值,该第一哈希值为该第一任务实例对应的哈希值,该第一任务实例为上述至少两个任务实例中的一个。
应理解,电子设备可以获取该多个任务实例各自的数据信息,并且结合该多个任务实例各自对应的哈希值生成该目标对应关系,进而将该目标对应关系存储在缓存和/或数据库中。该目标对应关系可以表征该多个任务实例中每一个任务实例的数据信息与该每一个任务实例对应的哈希值之间的对应关系。
当该目标对应关系中包括某一任务实例对应的哈希值时,说明该电子设备已经解析过该任务实例对应的查询语句,电子设备可以基于该任务实例对应的哈希值,从该目标对应关系中确定该任务实例的数据信息。
可选地,该目标对应关系可以以键值对(Key-Value)的形式存储在缓存和/或数据库中。具体的,一个键值对中的Key为一个任务实例对应的查询语句,该键值对中的Value为该任务实例的数据信息。
示例性的,以下表1为本公开实施例提供的目标对应关系的一种示例。具体的,该目标对应关系中包括4个任务实例(包括任务实例1、任务实例2、任务实例3以及任务实例4)各自对应的数据信息,以及该4个任务实例各自对应的哈希值。
表1
任务实例对应的数据信息 任务实例对应的哈希值
数据信息1 哈希值1
数据信息2 哈希值2
数据信息3 哈希值3
数据信息4 哈希值4
假设上述第一哈希值为哈希值3,则电子设备确定第一任务实例的数据信息为数据信息3,并且可以从该目标对应关系中获取该数据信息3。
上述实施例提供的技术方案至少能够带来以下有益效果:由S1021-S1023可知,电子设备可以获取至少两个任务实例各自对应的任务详情,然后对该任务详情中包括的任务实例对应的查询语句进行哈希处理,得到该至少两个任务实例各自对应的哈希值;在已存储的目标对应关系中存在该至少两个任务实例中某一任务实例对应的哈希值的情况下,电子设备可以基于该任务实例对应的哈希值直接从已存储的该目标对应关系中获取该任务实例的数据信息,无需解析该任务实例对应的查询语句,能够提升数据信息的获取效率,进而提升问题任务实例的确定效率。
结合图2,如图3所示,本公开实施例提供的数据处理方法还包括S105-S106。
S105、在目标对应关系表中不存在第一哈希值的情况下,电子设备解析第一任务实例对应的查询语句,以得到第一任务实例的数据信息。
应理解,当该目标对应关系表中不存在该第一哈希值时,说明该电子设备未解析过该第一任务实例对应的查询语句,如此电子设备可以解析该第一任务实例对应的查询语句,以得到该第一任务实例的数据信息。
可选地,当该第一任务实例对应的查询语句为该第一任务实例对应的执行sql语句时,电子设备可以采用抽象树语法(abstract syntax code,AST)解析该执行sql语句,以得到该执行sql语句依赖的输入信息和输出信息,即得到该执行sql语句对应的数据信息。
S106、电子设备将第一哈希值和第一任务实例的数据信息添加至目标对应关系中。
可以理解的是,电子设备将该第一哈希值和该第一任务实例的数据信息添加至该目标对应关系中,也可以理解为将该第一哈希值与该第一任务实例的数据信息之间的对应关系(即第一哈希值对应的键值对)添加至该目标对应关系中,以使得当该电子设备下一次获取该第一任务实例的数据信息时,可以直接从该目标对应关系中获取。
上述实施例提供的技术方案至少能够带来以下有益效果:由S105-S106可知,在目标对应关系中不存在至少两个任务实例中某一个任务实例对应的哈希值(例如第一哈希值)的情况下,电子设备可以解析该任务实例(即第一任务实例)对应的查询语句,以得到该第一任务实例的数据信息,能够准确、有效地得到该至少两个任务实例中每一个任务实例的数据信息。然后,电子设备可以将该第一哈希值和该第一任务实例的数据信息添加至该目标对应关系中,以使得电子设备下一次获取该第一任务实例的数据信息时,可以直接从该目标对应关系中获取,能够提升数据信息的获取效率。
结合图1,如图4所示,在本公开实施例的一种实现方式中,一个任务实例的输入信息中包括输入字段,该任务实例的输出信息中包括输出字段,上述根据至少两个任务实例之间的依赖关系和至少两个任务实例的数据信息,从至少两个任务实例中确定至少一个问题任务实例,具体可以包括S1031-S1032。
S1031、当当前任务实例为问题任务实例时,电子设备确定当前任务实例的直接下游任务实例对应的输入字段中,是否存在当前任务实例对应的输出字段。
其中,该当前任务实例为该至少两个任务实例中的一个,该直接下游任务实例为与该当前任务实例存在依赖关系的下游任务实例。
应理解,该当前任务实例可以为该至少两个任务实例中的根节点,即最上游任务实例;该当前任务实例也可以为该至少两个任务实例中的非根节点。
结合上述实施例的描述,应理解,当一个任务实例生成的数据存在质量问题时,可以将该任务实例确定为问题任务实例。具体的,当该当前任务实例对应的数据分区为空分区时,电子设备可以确定该当前任务实例为问题任务实例。在一种实现方式中,该电子设备还可以对该当前任务实例生成的数据进行加工,当加工后的数据出现波动异常时,也可以确定该当前任务实例为问题任务实例。
本公开实施例中,一个字段(包括输入字段和输出字段)可以为某一数据信息(即输入信息或输出信息,例如输入表和输出表)中包括的某一列(或该列的名称),用于表征一类的数据,例如姓名、性别或者年龄等。
需要说明的是,本公开实施例中一个数据信息中包括的字段的数量可以为一个,也可以为多个,本公开实施例不对数据信息中包括的字段的数量作具体限定。
应理解,该直接下游任务实例对应的输入字段为该直接下游任务实例的输入信息中包括的字段,用于表征该直接下游任务实例的输入数据;该当前任务实例对应的输出字段为该当前任务实例的输出信息中包括的字段,用于表征该当前任务实例的输出数据。
在一种情况下,当该直接下游任务实例对应的输入字段中存在该当前任务实例对应的输出字段时,说明该直接下游任务实例的输入数据中至少存在该当前任务实例的输出数据中的部分数据;又因为该当前任务实例为问题任务实例,即该当前任务实例生成的数据(即输出数据)存在质量问题。如此,电子设备可以确定该直接下游任务实例的输入数据存在质量问题,当该直接下游任务实例的输入数据存在质量问题时,说明该直接下游任务实例的输出数据也存在质量问题,即电子设备确定该直接下游任务实例为问题任务实例。
在另一种情况下,当该直接下游任务实例对应的输入字段中不存在该当前任务实例对应的输出字段时,说明该直接下游任务实例的输入数据中不存在该当前任务实例的输出数据。电子设备可以确定该直接下游任务实例的输入数据不存在质量问题,进而确定该直接下游任务实例的输出数据不存在质量问题,即电子设备确定该直接下游任务实例不是问题任务实例。
S1032、当直接下游任务实例对应的输入字段中存在当前任务实例对应的输出字段时,电子设备确定直接下游任务实例为问题任务实例。
在本公开实施例的一种实现方式中,电子设备可以获取第一字段集合和第二字段集合,该第一字段集合中包括该当前任务实例对应的每一个输出字段,该第二字段集合中包括该直接下游任务实例对应的每一个输入字段。然后,当该第一字段集合和该第二字段集合之间存在交集的时,电子设备可以确定该直接下游任务实例为问题任务实例。
上述实施例提供的技术方案至少能够带来以下有益效果:由S1031-S1032可知,当当前任务实例为问题任务实例时,说明该当前任务实例生成的数据(即输出数据)存在质量问题,电子设备可以确定该当前任务实例的直接下游任务实例对应的输入字段中,是否存在该当前任务实例对应的输出字段。当该直接下游任务实例对应的输入字段中存在该当前任务实例对应的输出字段时,说明该直接下游任务实例的输入数据中至少存在该当前任务实例的输出数据中的部分数据,该电子设备可以确定该直接下游任务实例的输入数据存在质量问题,进而说明该直接下游任务实例的输出数据也存在质量问题,即电子设备确定该直接下游任务实例为问题任务实例。能够合理、准确地确定出每一个问题任务实例,提升了问题任务实例的确定效率。
结合图4,如图5所示,本公开实施例提供的数据处理方法还包括:S107。
S107、当直接下游任务实例对应的输入字段中不存在当前任务实例对应的输出字段时,电子设备确定对直接下游任务实例执行剪枝操作。
结合上述实施例的描述,应理解,当该直接下游任务实例对应的输入字段中不存在该当前任务实例对应的输出字段时,说明该直接下游任务实例的输出数据不存在质量问题,即确定该直接下游任务实例不是问题任务实例。如此,电子设备可以确定对该直接下游任务实例执行剪枝操作。
在公开实施例的一种实现方式中,上述对直接下游任务实例执行剪枝操作可以理解为删除该直接下游任务实例。
在本公开实施例的另一种实现方式中,对该直接下游任务实例执行剪枝操作,也可以理解为在上述补数事件的恢复信息中删除该直接下游任务实例的标识,以及该直接下游任务实例与该当前任务实例之间的依赖关系,以得到一个新的目标补数事件的目标恢复信息,该目标补数事件对应的任务实例中不存在该直接下游任务实例,该目标恢复信息中不存在该直接下游任务实例的标识。电子设备可以执行该目标补数事件,以完成类似于上述S104中的过程。
在一种可选的实现方式中,上述直接下游任务实例的上游可能存在其他任务实例,此时电子设备可以确定该其他任务实例中是否存在问题任务实例,进而确定该直接下游任务实例是否为问题任务实例。具体的,本公开提供的数据处理方法还包括步骤A-步骤B。
步骤A、当直接下游任务实例对应的输入字段中不存在当前任务实例对应的输出字段时,电子设备确定直接下游任务实例的直接上游任务实例中是否存在其他问题任务实例。
其中,该直接上游任务实例为与该直接下游任务实例存在依赖关系的上游任务实例,该其他问题任务实例为上述至少一个问题任务实例中除该当前任务实例以外的任务实例。
步骤B、当直接下游任务实例的直接上游任务实例中不存在其他问题任务实例时,电子确定当前下游任务实例不是问题任务实例。
上述实施例提供的技术方案至少能够带来以下有益效果:由S107可知,当直接下游任务实例对应的输入字段中不存在当前任务实例对应的输出字段时,说明该直接下游任务实例的输入数据中不存在该当前任务实例的输出数据,电子设备确定该直接下游任务实例的输出数据不存在质量问题,即确定该直接下游任务实例不是问题任务实例;然后该电子设备确定对该直接下游任务实例执行剪枝操作,以使得至少两个任务实例中只剩下至少一个问题任务实例。能够合理、准确地确定出每一个问题任务实例,提升了剪枝的准确性。又由于被剪枝的任务实例无需执行数据生成操作,因而本公开提供的方案还可以减少资源浪费。
结合图1,如图6所示,本公开实施例提供的数据处理方法还可以包括S108。
S108、电子设备将至少一个问题任务实例中每一个问题任务实例的标识和每一个任务实例对应的输出字段添加至目标队列。
其中,该目标队列用于表征该每一个问题任务实例的确定顺序。
应理解,在电子设备确定某一个任务实例(例如当前任务实例)为问题任务实例的情况下,该电子设备可以将该当前任务实例的标识和该当前任务实例对应的输出字段添加至目标队列,以使得该电子设备可以从该目标队列中获取该当前任务实例的标识和该当前任务实例对应的输出字段,并且结合上述直接下游任务实例对应的输入字段,确定该直接下游任务实例是否为问题任务实例。进一步地,在该电子设备确定该直接下游任务实例为问题任务实例的情况下,该电子设备可以将该直接下游任务实例的标识和该直接下游任务实例对应的输出字段添加至该目标队列中,以使得电子设备能够确定该直接下游任务实例的下游任务实例中是否存在问题任务实例。
在本公开实施例的一种实现方式中,电子设备可以基于广度遍历算法从上述至少两个任务实例中确定问题任务实例。具体的,当电子设备确定当前任务实例为问题任务实例时,可以确定该直接上游任务实例是否为问题任务实例,然后再确定与该直接上游任务实例处于同一层级的任务实例是否为问题任务实例。当该处于同一层级的任务实例确定完成之后,再确定下一层(即与该直接下游任务实例存在依赖关系的下游任务实例所处的层级)的任务实例中是否存在问题任务实例。
上述实施例提供的技术方案至少能够带来以下有益效果:由S108可知,电子设备可以将至少一个问题任务实例中每一个问题任务实例的标识和该每一个问题任务实例对应的输出字段添加至目标队列,以使得电子设备可以按照预设顺序确定上述至少两个任务实例中除该每一个问题任务实例以外的任务实例是否为问题任务实例。能够按照一定的顺序确定问题任务实例,提升问题任务实例的确定效率。
结合图1,如图7所示,本公开实施例提供的数据处理方法还包括S109-S110。
S109、电子设备基于补数事件的恢复信息,生成补数事件对应的有向无环图。
其中,该有向无环图中包括任务实例节点和边,该任务实例节点用于表征任务实例,该边用于连接具有依赖关系的任务实例节点。
结合上述实施例的描述,应理解,上述两个任务实例之间的依赖关系用于表征该两个任务实例之间的上下游关系。例如,假设该有向无环图中包括第一任务实例节点和第二任务实例节点。当该第一任务实例节点(该第一任务实例节点为某一条边的终点,或该条边上箭头方向的终点)依赖于该第二任务实例节点(该第二任务实例节点为该条边的起点,或该条边上箭头方向的起点)时,说明该第一任务实例节点为该第二任务实例节点的(直接)下游任务实例节点。
S110、电子设备对目标任务实例节点执行剪枝操作,得到目标有向无环图。
其中,该目标任务实例节点为至少两个任务实例节点中除至少一个问题任务实例节点以外的任务实例节点,该至少两个任务实例节点为上述补数事件对应的有向无环图中包括的任务实例节点,该至少一个问题任务实例节点为上述至少一个问题任务实例表征的任务实例节点。
应理解,该目标有向无环图中包括该至少一个问题任务实例节点中每一个问题任务实例节点,以及该每一个问题任务实例节点与其他问题任务实例节点之间的边,该其他问题任务实例节点为该至少一个问题任务实例节点中除该每一个问题任务实例节点以外的任务实例节点。
可以理解的是,电子设备对目标任务实例节点执行剪枝操作,即为在上述补数事件对应的有向无环图中删除该目标任务实例节点以及该目标任务实例节点对应的边(该边可以理解为与该目标任务实例节点存在依赖关系任务实例节点,与该目标任务实例节点之间的边),以得到包括的任务实例节点的数量更少,以及包括的边的数量更少的目标有向无环图,进而电子设备仅需要对该目标有向无环图中包括的任务实例节点执行数据生成操作。
示例性的,图8为本公开实施例中电子设备对补数事件对应的有向无环图(即有向无环图101)中包括的目标任务实例节点执行剪枝操作,得到目标有向无环图(有向无环图102)的一种示例。具体的,图8中由一个字母表征的节点表示一个任务实例节点,例如字母A表征的节点表示任务实例节点A。
如图8所示,对于有向无环图101,该有向无环图101中包括8个任务实例节点以及7条边。具体的,该8个任务实例节点包括任务实例节点A、任务实例节点B、任务实例节点C、任务实例节点D、任务实例节点E、任务实例节点F、任务实例节点G以及任务实例节点H;该7条边分别用于连接任务实例节点A与任务实例节点B、任务实例节点B与任务实例节点D、任务实例节点B与任务实例节点E、任务实例节点C与任务实例节点E、任务实例节点C与任务实例节点F、任务实例节点C与任务实例节点G以及任务实例节点F与任务实例节点H。
继续如图8所示,由于电子设备确定任务实例节点A、任务实例节点B、任务实例节点D、任务实例节点E以及任务实例节点G为目标任务实例节点,即任务实例节点C、任务实例节点F以及任务实例节点H为问题任务实例节点(即问题任务实例表征的任务实例节点),则电子设备对该5个目标任务实例节点执行剪枝操作(具体为删除该5个目标任务实例节点以及对应的5条边),得到有向无环图102,该有向无环图102中包括的3个任务实例节点均为问题任务实例节点。
继续如图7所示,上述对至少一个问题任务实例执行数据生成操作,具体包括S1041。
S1041、电子设备对目标有向无环图中包括的每一个任务实例节点执行数据生成操作。
其中,该每一个任务实例节点为上述至少一个问题任务实例中每一个问题任务实例表征的任务实例节点。
结合上述实施例的描述,应理解,电子设备对该目标有向无环图中包括的每一个任务实例节点执行数据生成操作,以指示该每一个任务实例节点生成数据。
上述实施例提供的技术方案至少能够带来以下有益效果:由S109-S110,S1041可知,电子设备可以基于补数事件的恢复信息,生成补数事件对应的有向无环图;并且对该有向无环图中包括的目标任务实例节点执行剪枝操作,以得到包括的任务实例节点更少的、包括的边更少的目标有向无环图。由于该目标有向无环图中包括至少一个问题任务实例中每一个问题任务实例表征的任务实例节点,如此,电子设备可以对该目标有向无环图中包括的每一个问题任务实例节点执行数据生成操作,以使得该每一个问题任务实例节点生成数据。能够避免多余的、或不存在质量问题的任务实例节点(即目标任务实例节点)生成数据,减少资源浪费,提高资源利用率。
可以理解的,在实际实施时,本公开实施例所述的电子设备可以包含有用于实现前述对应数据处理方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
基于这样的理解,本公开实施例还对应提供一种数据处理装置,图9示出了本公开实施例提供的数据处理装置的结构示意图。如图9所示,该数据处理装置20可以包括:获取模块201、确定模块202以及处理模块203。
获取模块201,被配置为获取补数事件的恢复信息,该恢复信息包括至少两个任务实例的标识以及该至少两个任务实例之间的依赖关系。
获取模块201,还被配置为获取该至少两个任务实例的数据信息,其中,一个任务实例的数据信息包括该任务实例的输入信息和该任务实例的输出信息。
确定模块202,被配置为根据该至少两个任务实例之间的依赖关系和该至少两个任务实例的数据信息,从该至少两个任务实例中确定至少一个问题任务实例,该问题任务实例用于表征生成的数据存在质量问题的任务实例,该至少一个问题任务实例的数量小于该至少两个任务实例的数量。
处理模块203,被配置为对该至少一个问题任务实例执行数据生成操作。
可选地,该获取模块201,具体被配置为获取该至少两个任务实例各自对应的任务详情,其中,一个任务实例对应的任务详情包括该任务实例对应的查询语句。
处理模块203,还被配置为对该至少两个任务实例各自对应的查询语句进行哈希处理,得到该至少两个任务实例各自对应的哈希值。
获取模块201,具体还被配置为在已存储的目标对应关系中存在第一哈希值的情况下,从该目标对应关系表中获取第一任务实例的数据信息,该目标对应关系中包括多个任务实例的数据信息以及该多个任务实例各自对应的哈希值,该第一哈希值为该第一任务实例对应的哈希值,该第一任务实例为该至少两个任务实例中的一个。
可选地,处理模块203,还被配置为在该目标对应关系中不存在该第一哈希值的情况下,解析该第一任务实例对应的查询语句,以得到该第一任务实例的数据信息。
处理模块203,还被配置为将该第一哈希值和该第一任务实例的数据信息添加至该目标对应关系中。
可选地,一个任务实例的输入信息中包括输入字段,该任务实例的输出信息中包括输出字段。
确定模块202,具体被配置为当当前任务实例为问题任务实例时,确定该当前任务实例的直接下游任务实例对应的输入字段中,是否存在该当前任务实例对应的输出字段,该当前任务实例为该至少两个任务实例中的一个,该直接下游任务实例为与该当前任务实例存在依赖关系的下游任务实例。
确定模块202,具体还被配置为当该直接下游任务实例对应的输入字段中存在该当前任务实例对应的输出字段时,确定该直接下游任务实例为问题任务实例。
可选地,确定模块202,还被配置为当该直接下游任务实例对应的输入字段中不存在该前任务实例对应的输出字段时,确定对该直接下游任务实例执行剪枝操作。
可选地,处理模块203,还被配置为将该至少一个问题任务实例中每一个问题任务实例的标识和该每一个问题任务实例对应的输出字段添加至目标队列,该目标队列用于表征该每一个问题任务实例的确定顺序。
可选地,处理模块202,还被配置为基于该恢复信息,生成该补数事件对应的有向无环图,该有向无环图中包括任务实例节点和边,该任务实例节点用于表征任务实例,该边用于连接具有依赖关系的任务实例节点。
处理模块202,还被配置为对目标任务实例节点执行剪枝操作,得到目标有向无环图,该目标任务实例节点为至少两个任务实例节点中除至少一个问题任务实例节点以外的任务实例节点,该至少两个任务实例节点为该有向无环图中包括的任务实例节点,该至少一个问题任务实例节点为该至少一个问题任务实例表征的任务实例节点。
处理模块202,具体被配置为对该目标有向无环图中包括的每一个任务实例节点执行数据生成操作,该每一个任务实例节点为该至少一个问题任务实例中每一个问题任务实例表征的任务实例节点。
如上所述,本公开实施例可以根据上述方法示例对数据处理装置进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
关于上述实施例中的数据处理装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
图10是本公开提供的另一种数据处理装置的结构示意图。如图10,该数据处理装置30可以包括至少一个处理器301以及用于存储处理器可执行指令的存储器303。其中,处理器301被配置为执行存储器303中的指令,以实现上述实施例中的数据处理方法。
另外,数据处理装置30还可以包括通信总线302以及至少一个通信接口304。
处理器301可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本公开方案程序执行的集成电路。
通信总线302可包括一通路,在上述组件之间传送信息。
通信接口304,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
其中,存储器303用于存储执行本公开方案的指令,并由处理器301来控制执行。处理器301用于执行存储器303中存储的指令,从而实现本公开方法中的功能。
在具体实现中,作为一种实施例,处理器301可以包括一个或多个CPU,例如图10中的CPU0和CPU1。
在具体实现中,作为一种实施例,数据处理装置30可以包括多个处理器,例如图10中的处理器301和处理器307。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,数据处理装置30还可以包括输出设备305和输入设备306。输出设备305和处理器301通信,可以以多种方式来显示信息。例如,输出设备305可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备306和处理器301通信,可以以多种方式接受用户的输入。例如,输入设备306可以是鼠标、键盘、触摸屏设备或传感设备等。
本领域技术人员可以理解,图10中示出的结构并不构成对数据处理装置30的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
另外,本公开还提供一种计算机可读存储介质,包括指令,当指令由处理器执行时,使得处理器执行如上述实施例所提供的数据处理方法。
另外,本公开还提供一种计算机程序产品,包括指令,当指令由处理器执行时,使得处理器执行如上述实施例所提供的数据处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
获取补数事件的恢复信息,所述恢复信息包括至少两个任务实例的标识以及所述至少两个任务实例之间的依赖关系;
获取所述至少两个任务实例的数据信息,其中,一个任务实例的数据信息包括所述任务实例的输入信息和所述任务实例的输出信息;
根据所述至少两个任务实例之间的依赖关系和所述至少两个任务实例的数据信息,从所述至少两个任务实例中确定至少一个问题任务实例,所述问题任务实例用于表征生成的数据存在质量问题的任务实例,所述至少一个问题任务实例的数量小于所述至少两个任务实例的数量;
对所述至少一个问题任务实例执行数据生成操作。
2.根据权利要求1所述的数据处理方法,其特征在于,所述获取所述至少两个任务实例的数据信息,包括:
获取所述至少两个任务实例各自对应的任务详情,其中,一个任务实例对应的任务详情包括所述任务实例对应的查询语句;
对所述至少两个任务实例各自对应的查询语句进行哈希处理,得到所述至少两个任务实例各自对应的哈希值;
在已存储的目标对应关系中存在第一哈希值的情况下,从所述目标对应关系表中获取第一任务实例的数据信息,所述目标对应关系中包括多个任务实例的数据信息以及所述多个任务实例各自对应的哈希值,所述第一哈希值为所述第一任务实例对应的哈希值,所述第一任务实例为所述至少两个任务实例中的一个。
3.根据权利要求2所述的数据处理方法,其特征在于,所述方法还包括:
在所述目标对应关系中不存在所述第一哈希值的情况下,解析所述第一任务实例对应的查询语句,以得到所述第一任务实例的数据信息;
将所述第一哈希值和所述第一任务实例的数据信息添加至所述目标对应关系中。
4.根据权利要求1所述的数据处理方法,其特征在于,一个任务实例的输入信息中包括输入字段,所述任务实例的输出信息中包括输出字段,所述根据所述至少两个任务实例之间的依赖关系和所述至少两个任务实例的数据信息,从所述至少两个任务实例中确定至少一个问题任务实例,包括:
当当前任务实例为问题任务实例时,确定所述当前任务实例的直接下游任务实例对应的输入字段中,是否存在所述当前任务实例对应的输出字段,所述当前任务实例为所述至少两个任务实例中的一个,所述直接下游任务实例为与所述当前任务实例存在依赖关系的下游任务实例;
当所述直接下游任务实例对应的输入字段中存在所述当前任务实例对应的输出字段时,确定所述直接下游任务实例为问题任务实例。
5.根据权利要求4所述的数据处理方法,其特征在于,所述方法还包括:
当所述直接下游任务实例对应的输入字段中不存在所述前任务实例对应的输出字段时,确定对所述直接下游任务实例执行剪枝操作。
6.根据权利要求4所述的数据处理方法,其特征在于,所述方法还包括:
将所述至少一个问题任务实例中每一个问题任务实例的标识和所述每一个问题任务实例对应的输出字段添加至目标队列,所述目标队列用于表征所述每一个问题任务实例的确定顺序。
7.一种数据处理装置,其特征在于,包括:获取模块、确定模块以及处理模块;
所述获取模块,被配置为获取补数事件的恢复信息,所述恢复信息包括至少两个任务实例的标识以及所述至少两个任务实例之间的依赖关系;
所述获取模块,还被配置为获取所述至少两个任务实例的数据信息,其中,一个任务实例的数据信息包括所述任务实例的输入信息和所述任务实例的输出信息;
所述确定模块,被配置为根据所述至少两个任务实例之间的依赖关系和所述至少两个任务实例的数据信息,从所述至少两个任务实例中确定至少一个问题任务实例,所述问题任务实例用于表征生成的数据存在质量问题的任务实例,所述至少一个问题任务实例的数量小于所述至少两个任务实例的数量;
所述处理模块,被配置为对所述至少一个问题任务实例执行数据生成操作。
8.一种电子设备,其特征在于,所述电子设备包括:
处理器;
被配置为存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-6中任一项所述的数据处理方法。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由电子设备执行时,使得所述电子设备能够执行如权利要求1-6中任一项所述的数据处理方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-6中任一项所述的数据处理方法。
CN202111273881.0A 2021-10-29 2021-10-29 一种数据处理方法、装置、电子设备及存储介质 Pending CN114020508A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111273881.0A CN114020508A (zh) 2021-10-29 2021-10-29 一种数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111273881.0A CN114020508A (zh) 2021-10-29 2021-10-29 一种数据处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114020508A true CN114020508A (zh) 2022-02-08

Family

ID=80059079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111273881.0A Pending CN114020508A (zh) 2021-10-29 2021-10-29 一种数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114020508A (zh)

Similar Documents

Publication Publication Date Title
US10534773B2 (en) Intelligent query parameterization of database workloads
US11163731B1 (en) Autobuild log anomaly detection methods and systems
US9576037B2 (en) Self-analyzing data processing job to determine data quality issues
US8719271B2 (en) Accelerating data profiling process
CN110795455A (zh) 依赖关系解析方法、电子装置、计算机设备及可读存储介质
US20150052530A1 (en) Task-based modeling for parallel data integration
US20200371902A1 (en) Systems and methods for software regression detection
CN114691658A (zh) 一种数据回溯方法、装置、电子设备及存储介质
CN112000350A (zh) 一种动态规则更新方法、装置及存储介质
CN115392799A (zh) 归因分析方法、装置、计算机设备及存储介质
US11132363B2 (en) Distributed computing framework and distributed computing method
US20220244990A1 (en) Method for performing modification task, electronic device and readable storage medium
CN109947736B (zh) 实时计算的方法和***
CN106843822B (zh) 一种执行代码生成方法及设备
CN113378007B (zh) 数据回溯方法及装置、计算机可读存储介质、电子设备
US20140372488A1 (en) Generating database processes from process models
CN111767126A (zh) 分布式批量处理的***和方法
CN114020506A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN114020508A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN112130849B (zh) 代码自动生成方法及装置
US8869122B2 (en) Extensible executable modeling
Nooraei Abadeh et al. DiffPageRank: an efficient differential PageRank approach in MapReduce
CN114327673A (zh) 一种任务启动方法、装置、电子设备及存储介质
CN113568930A (zh) 一种分布式内存数据查询优化的方法和设备
CN113986596A (zh) 一种数据处理方法、装置、电子设备及存储介质

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