CN111858065B - 数据处理方法、设备、存储介质及装置 - Google Patents

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

Info

Publication number
CN111858065B
CN111858065B CN202010749456.3A CN202010749456A CN111858065B CN 111858065 B CN111858065 B CN 111858065B CN 202010749456 A CN202010749456 A CN 202010749456A CN 111858065 B CN111858065 B CN 111858065B
Authority
CN
China
Prior art keywords
data
task
data table
abnormal
tasks
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.)
Active
Application number
CN202010749456.3A
Other languages
English (en)
Other versions
CN111858065A (zh
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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN202010749456.3A priority Critical patent/CN111858065B/zh
Publication of CN111858065A publication Critical patent/CN111858065A/zh
Application granted granted Critical
Publication of CN111858065B publication Critical patent/CN111858065B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及大数据技术领域,公开了一种数据处理方法、设备、存储介质及装置,该方法通过获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序,根据所述执行顺序对待处理数据对应的多个任务进行跑批处理,基于数据表血缘关系生成的调度先后依赖关系准确,从而提高任务处理时效;记录各所述任务的运行信息,并根据所述运行信息判断各所述任务是否异常,若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条,根据所述补取链条获取补取数据,并对所述补取数据进行跑批处理,基于补取数据对异常任务重新处理,提高数据处理效率和质量。

Description

数据处理方法、设备、存储介质及装置
技术领域
本发明涉及数据处理的技术领域,尤其涉及一种数据处理方法、设备、存储介质及装置。
背景技术
联机分析处理(Online AnalyticalProcessing,OLAP)进行数据治理,存在的问题包括:1、多用户环境下,有限的资源如何分配和隔离相互影响。既要保障高优先级任务的及时完成的同时,又要避免“饿死”低优先级任务;2、数据库表血缘关系难以准确获取,数据上下游先后处理顺序不当,会带来数据不完整或者不准确的问题;3、出现数据延迟完成或者数据不完整,不准确等异常时,不能及时无遗漏的做好信息发布,准确通知到对应的关联方;4、异常处理过程中,在上游处理完成后,下游应当重运行的任务范围难以准确确认,手工处理效率低;5、OLAP跑批调度中前后依赖关系以及任务互斥等关系复杂,只见树木不见森林,整个调度的完成进度难以掌控。综上,目前OLAP进行数据处理时,数据处理效率低且质量差。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据处理方法、设备、存储介质及装置,旨在解决现有技术中OLAP进行数据处理时效率低且质量差的技术问题。
为实现上述目的,本发明提供一种数据处理方法,所述数据处理方法包括以下步骤:
获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序;
根据所述执行顺序对待处理数据对应的多个任务进行跑批处理;
记录各所述任务的运行信息,并根据所述运行信息判断各所述任务是否异常;
若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条;
根据所述补取链条获取补取数据,并对所述补取数据进行跑批处理。
优选地,所述任务包括关键任务和非关键任务;
所述根据所述执行顺序对待处理数据对应的多个任务进行跑批处理之后,所述数据处理方法还包括:
获取系统的资源使用情况,并获取所述关键任务和所述非关键任务的并发状态;
根据所述资源使用情况判断是否对所述并发状态进行调整。
优选地,所述根据所述运行信息判断各所述任务是否异常,包括:
从所述运行信息中提取各所述任务的当前运行时长;
获取各所述任务的历史运行时长;
根据所述当前运行时长和所述历史运行时长,判断各所述任务是否异常。
优选地,所述获取各所述任务的历史运行时长之后,所述数据处理方法还包括:
从所述运行信息中提取各所述任务的当前处理速度;
获取各所述任务的历史处理速度;
所述根据所述当前运行时长和所述历史运行时长,判断各所述任务是否异常,包括:
根据所述当前运行时长、所述历史运行时长、所述当前处理速度及所述历史处理速度,判断各所述任务是否异常。
优选地,根据所述当前运行时长、所述历史运行时长、所述当前处理速度及所述历史处理速度,判断各所述任务是否异常,包括:
计算所述当前运行时长和所述历史运行时长之间的时间差值;
在所述当前运行时长大于所述历史运行时长,且所述时间差值大于预设时间差阈值时,计算所述当前处理速度和所述历史处理速度之间的速度差值;
在所述当前处理速度小于所述历史处理速度,且所述速度差值大于预设速度差阈值时,将对应的任务认定为异常任务。
优选地,所述若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条之后,所述数据处理方法还包括:
根据所述数据表血缘关系和所述异常任务定位目标业务;
发送告警信息至所述目标业务对应的终端。
优选地,所述获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序,包括:
获取数据库中各数据表对象的关系,根据各数据表对象的关系建立数据表血缘关系;
根据所述数据表血缘关系生成待处理数据对应的多个任务之间的依赖关系;
根据所述依赖关系确定各所述任务的执行顺序。
此外,为实现上述目的,本发明还提出一种数据处理设备,所述数据处理设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序配置为实现如上文所述的数据处理方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上文所述的数据处理方法的步骤。
此外,为实现上述目的,本发明还提出一种数据处理装置,所述数据处理装置包括:
确定模块,用于获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序;
跑批处理模块,用于根据所述执行顺序对待处理数据对应的多个任务进行跑批处理;
判断模块,用于记录各所述任务的运行信息,并根据所述运行信息判断各所述任务是否异常;
生成模块,用于若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条;
所述跑批处理模块,还用于根据所述补取链条获取补取数据,并对所述补取数据进行跑批处理。
本发明中,通过获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序,根据所述执行顺序对待处理数据对应的多个任务进行跑批处理,基于数据表血缘关系生成的调度先后依赖关系准确,从而提高任务处理时效;记录各所述任务的运行信息,并根据所述运行信息判断各所述任务是否异常,若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条,根据所述补取链条获取补取数据,并对所述补取数据进行跑批处理,基于补取数据对异常任务重新处理,提高数据处理效率和质量。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据处理设备的结构示意图;
图2为本发明数据处理方法第一实施例的流程示意图;
图3为本发明数据处理方法第二实施例的流程示意图;
图4为本发明数据处理方法第三实施例的流程示意图;
图5为本发明数据处理装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据处理设备结构示意图。
如图1所示,该数据处理设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的存储器(Non-volatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对数据处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理程序。
在图1所示的数据处理设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述数据处理设备通过处理器1001调用存储器1005中存储的数据处理程序,并执行本发明实施例提供的数据处理方法。
基于上述硬件结构,提出本发明数据处理方法的实施例。
参照图2,图2为本发明数据处理方法第一实施例的流程示意图,提出本发明数据处理方法第一实施例。
在第一实施例中,所述数据处理方法包括以下步骤:
步骤S10:获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序。
应理解的是,本实施例的执行主体是所述数据处理设备,其中,所述数据处理设备可为个人电脑或服务器等电子设备,本实施例对此不加以限制。通过动态获取数据库实际的执行计划每个表对象的关系,建立所述数据表血缘关系。数据表血缘关系线上校验,并根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序,从而提高血缘关系准确度,提高数据处理效率和准确性。
可理解的是,所述待处理数据为批量数据,对所述待处理数据进行跑批处理时,产生对应的多个任务。所述任务包括关键任务和非关键任务,各所述任务的优先级将不一样。如果一个关键任务的前置所有依赖没有被准确识别,出现关键任务依赖非关键任务的低时效任务,导致处理时效过低,严重影响下游数据处理时效。通过所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序,能够避免关键任务依赖非关键任务的低时效任务,从而提高数据处理效率。
步骤S20:根据所述执行顺序对待处理数据对应的多个任务进行跑批处理。
需要说明的是,对所述待处理数据对应的多个任务进行任务标签化,模块化调度,并差异化处理。区分关键模块还是非关键模块,所述关键模块包括至少一个关键任务,所述非关键模块包括至少一个非关键任务,资源调度层面优先保障高时效的关键模块任务。OLAP底层数据来源复杂,有些数据在Oracle数据库,有些在Mysql数据库,有些在Hive数据库,数据抽取、转换、装载的过程(Extract-Transform-Load,ETL)工具有数据集成软件平台(Datastage),水壶(Kettle),数据仓库工具hadoop等工具,不同类型和平台的任务,相互之间先后依赖关系错综复杂。要提高数据处理效率,急需由一个统一的ETL调度平台来实现整个加工调度。获取各个数据库的实时资源情况,并根据处理任务的时效和关键程度,识别关键链条,需要对关键和非关键任务配置差异化处理策略。
步骤S30:记录各所述任务的运行信息,并根据所述运行信息判断各所述任务是否异常。
在具体实现中,优化单个任务的性能基准(Benchmark)规则,准确识别高资源消耗和执行异常的任务。在实际运行任务时,常会出现部分任务数据量突然增加,导致系统资源消耗严重,或者由于结构化查询语言(Structured Query Language,SQL)执行计划发生错误导致的高消耗,这部分任务需要及时识别出来,并做出及时响应处置。
可理解的是,进行跑批处理时,为了提高效率,通常所述非关键模块和所述关键模块均存在多个任务并发处理,多个任务并行处理,涉及大量的运行数据,占据大量的系统资源,运行过程中可能存在某个任务出现运行异常状况,可根据历史运行情况,获取各任务在历史运行过程中的运行时长。考虑数据量线性成倍增长引起的时长变化大,除简单比较运行总时长外,还需要参考历史任务平均行每秒Rows/S。当前每秒的处理速度低于历史平均行每秒的一个比例阈值,且已经运行时长超过一个设置时长阈值,两者均满足才判断为异常,减少误判。
步骤S40:若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条。
应理解的是,根据所述数据表血缘关系生成所述待处理数据对应的多个任务之间的依赖关系,基于所述依赖关系和所述执行顺序,自动生成手工补取链条。涉及历史补取数据,以往均为手工填写,本实施例中接入数据表血缘关系,可根据调度的依赖先后关系,自动生成补取链条,减少人工成本和可能出现的误判。
步骤S50:根据所述补取链条获取补取数据,并对所述补取数据进行跑批处理。
需要说明的是,OLAP跑批,经常会涉及历史数据回算,比如,统计口径变更等情况下,对历史某个时间段的数据重新补取,比如调度异常和需要重跑等情况下,都会涉及补取数据。业务统计口径变更或者任务跑批异常后,数据重新处理,快速识别整个链条,整个链条补取上游任务或者下游任务,以减少人工繁杂填写和检查确认。并根据所述补取数据进行跑批处理,以及时处理异常任务,获得正确的跑批数据。
在本实施例中,通过获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序,根据所述执行顺序对待处理数据对应的多个任务进行跑批处理,基于数据表血缘关系生成的调度先后依赖关系准确,从而提高任务处理时效;记录各所述任务的运行信息,并根据所述运行信息判断各所述任务是否异常,若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条,根据所述补取链条获取补取数据,并对所述补取数据进行跑批处理,基于补取数据对异常任务重新处理,提高数据处理效率和质量。
参照图3,图3为本发明数据处理方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明数据处理方法的第二实施例。
在第二实施例中,所述任务包括关键任务和非关键任务;
在所述步骤S20之后,还包括:
步骤S201:获取系统的资源使用情况,并获取所述关键任务和所述非关键任务的并发状态。
应理解的是,为了提高数据跑批效率,通常将所述关键任务和所述非关键任务进行并发处理,所述并发状态包括:多个所述关键任务并发处理,或多个所述非关键任务并发处理,或多个所述关键任务和非关键任务并发处理。获取各个数据库的实时资源使用情况,并根据所述待处理数据对应的多个所述任务的时效和关键程度,识别关键链条,需要对所述关键任务和所述非关键任务配置差异化处理策略。
步骤S202:根据所述资源使用情况判断是否对所述并发状态进行调整。
需要说明的是,在所述资源使用情况为不饱和时,可增加关键模块的关键任务并发,在增加关键任务并发之后,若资源使用依旧不饱和,还可适量增加非关键模块的非关键任务并发处理;在所述资源使用情况接近饱和时,缩减非关键模块的非关键任务并发处理,从而实现高效资源管控和报表优先保障;而不是根据主观的需要,配置一次很久都没变化。OLAP任务调度平台可根据任务加工依赖关系对各所述任务进行配置及部署管理,以提高跑批处理效率。
进一步地,在本实施例中,所述步骤S40之后,还包括:
根据所述数据表血缘关系和所述异常任务定位目标业务;
发送告警信息至所述目标业务对应的终端。
可理解的是,根据所述Benchmark规则识别异常任务,对所述异常任务进行任务标签化,获得异常任务的优先级和时效;根据任务标签化后的优先级和时效,差异化处置异常。部分任务可以预先配置规则,自动进行停止或重运行,不用传统的频繁手工介入启停任务,提高任务处理效率。部分关键任务,可采用24小时触发电话和邮件报警,非关键模块的非关键任务,可采用邮件等方式发送所述告警信息,即发送告警信息至所述目标业务对应的终端,以使相关技术人员对所述异常任务进行及时处理。
进一步地,在本实施例中,步骤S10,包括:
获取数据库中各数据表对象的关系,根据各数据表对象的关系建立数据表血缘关系;
根据所述数据表血缘关系生成待处理数据对应的多个任务之间的依赖关系;
根据所述依赖关系确定各所述任务的执行顺序。
在具体实现中,所述数据表血缘关系采用线上校验,提高数据完整性和准确性。通过动态获取数据库实际的执行计划每个表对象的关系,建立实施数据表血缘关系,提高血缘关系准确度。基于准确的数据表血缘关系,确定准确的调度上下游依赖关系,提高数据处理效率,完整性和准确性。
应理解的是,各所述任务之间不是独立的,有相互依赖,如果下游任务在需要读取的数据没有完全准备好就开始跑批,将导致数据不完整和不准确。同时,由于模块化调度,差异化处理,任务的优先级将不一样。如果一个高实效关键任务的前置所有依赖因为没有被准确识别,出现关键依赖非关键低时效任务,由于资源策略的问题导致处理时效过低,严重影响下游时效。
需要说明的是,根据所述数据表血缘关系生成的调度先后依赖关系准确,通过拓扑展示,快速得到上下游关系,出现异常的时候,能快速通知下游业务影响。根据上下游关系和运行时间轴,得到关键的跑批链路和模块,生成待处理数据对应的多个任务之间的依赖关系,根据所述依赖关系确定各所述任务的执行顺序,基于准确的所述执行顺序对所述待处理数据的多个所述任务进行跑批处理,提高资源利用率和数据处理效率。
在本实施例中,通过获取系统的资源使用情况,并获取所述关键任务和所述非关键任务的并发状态,根据所述资源使用情况判断是否对所述并发状态进行调整,全面考虑系统资源使用情况,从而提高数据处理效率。
参照图4,图4为本发明数据处理方法第三实施例的流程示意图,基于所述方法第一实施例或第二实施例,提出本发明数据处理方法的第三实施例。本实施例基于所述第一实施例进行说明。
在第三实施例中,所述步骤S30,包括:
步骤S301:记录各所述任务的运行信息,从所述运行信息中提取各所述任务的当前运行时长。
应理解的是,进行跑批处理时,为了提高效率,通常所述非关键模块和所述关键模块均存在多个任务并发处理,为了识别异常任务,可对各所述任务的运行信息进行追踪记录,通常异常任务的运行时长会超过正常运行时长,可从所述运行信息中提取各所述任务的当前运行时长,以根据所述当前运行时长判断各所述任务是否存在异常。
步骤S302:获取各所述任务的历史运行时长。
可理解的是,多个任务并行处理,涉及大量的运行数据,占据大量的系统资源,运行过程中可能存在某个任务出现运行异常状况,可根据历史运行情况,获取各所述任务在历史运行过程中的运行时长。所述历史运行时长通常是指历史正常运行过程中的各任务的消耗时间。
步骤S303:根据所述当前运行时长和所述历史运行时长,判断各所述任务是否异常。
需要说明的是,计算所述当前运行时长和所述历史运行时长之间的时间差值,在所述当前运行时长大于所述历史运行时长,且所述时间差值大于预设时间差阈值时,将对应的任务认定为异常任务。所述预设时间差阈值可根据经验值进行设置,还可基于大数据分析而进行设置。
进一步地,在本实施例中,在所述步骤S302之后,还包括:
从所述运行信息中提取各所述任务的当前处理速度;
获取各所述任务的历史处理速度;
所述步骤S303,包括:
根据所述当前运行时长、所述历史运行时长、所述当前处理速度及所述历史处理速度,判断各所述任务是否异常。
在具体实现中,考虑数据量线性成倍增长引起的时长变化大,除简单比较运行总时长外,还可参考历史任务平均行每秒Rows/S的处理速度。当前每秒的处理速度低于历史平均行每秒的一个比例阈值,且已经运行时长超过一个设置时长阈值,两者均满足才判断为异常,从而减少误判。
进一步地,所述根据所述当前运行时长、所述历史运行时长、所述当前处理速度及所述历史处理速度,判断各所述任务是否异常,包括:
计算所述当前运行时长和所述历史运行时长之间的时间差值;
在所述当前运行时长大于所述历史运行时长,且所述时间差值大于预设时间差阈值时,计算所述当前处理速度和所述历史处理速度之间的速度差值;
在所述当前处理速度小于所述历史处理速度,且所述速度差值大于预设速度差阈值时,将对应的任务认定为异常任务。
可理解的是,将各所述任务正常运行所需的运行时长中最长时间作为所述历史运行时长,若所述当前运行时长超过所述历史运行时长,且所述时间差值大于所述预设时间差阈值,则可认为所述当前任务运行存在异常,将对应的当前任务认定为异常任务。也可同时将历史平均行每秒作为所述历史处理速度,将正常运行时的历史行每秒的最小值作为所述历史处理速度,即将历史处理过程中的最慢处理速度作为所述历史处理速度,也可将历史处理过程中处理速度的平均值作为所述历史处理速度,本实施例对此不加以限制。所述预设时间差阈值和所述预设速度差阈值可根据经验值进行设置,还可基于大数据分析而进行设置。
在本实施例中,通过从所述运行信息中提取各所述任务的当前运行时长,获取各所述任务的历史运行时长,根据所述当前运行时长和所述历史运行时长,判断各所述任务是否异常,识别出异常任务,从而及时处理,提高数据跑批的准确性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上文所述的数据处理方法的步骤。
此外,参照图5,本发明实施例还提出一种数据处理装置,所述数据处理装置包括:
确定模块10,用于获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序。
应理解的是,通过动态获取数据库实际的执行计划每个表对象的关系,建立所述数据表血缘关系。数据表血缘关系线上校验,并根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序,从而提高血缘关系准确度,提高数据处理效率和准确性。
可理解的是,所述待处理数据为批量数据,对所述待处理数据进行跑批处理时,产生对应的多个任务。所述任务包括关键任务和非关键任务,各所述任务的优先级将不一样。如果一个关键任务的前置所有依赖没有被准确识别,出现关键任务依赖非关键任务的低时效任务,导致处理时效过低,严重影响下游数据处理时效。通过所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序,能够避免关键任务依赖非关键任务的低时效任务,从而提高数据处理效率。
跑批处理模块20,用于根据所述执行顺序对待处理数据对应的多个任务进行跑批处理。
需要说明的是,对所述待处理数据对应的多个任务进行任务标签化,模块化调度,并差异化处理。区分关键模块还是非关键模块,所述关键模块包括至少一个关键任务,所述非关键模块包括至少一个非关键任务,资源调度层面优先保障高时效的关键模块任务。OLAP底层数据来源复杂,有些数据在Oracle数据库,有些在Mysql数据库,有些在Hive数据库,数据抽取、转换、装载的过程(Extract-Transform-Load,ETL)工具有数据集成软件平台(Datastage),水壶(Kettle),数据仓库工具hadoop等工具,不同类型和平台的任务,相互之间先后依赖关系错综复杂。要提高数据处理效率,急需由一个统一的ETL调度平台来实现整个加工调度。获取各个数据库的实时资源情况,并根据处理任务的时效和关键程度,识别关键链条,需要对关键和非关键任务配置差异化处理策略。
判断模块30,用于记录各所述任务的运行信息,并根据所述运行信息判断各所述任务是否异常。
在具体实现中,优化单个任务的性能基准(Benchmark)规则,准确识别高资源消耗和执行异常的任务。在实际运行任务时,常会出现部分任务数据量突然增加,导致系统资源消耗严重,或者由于结构化查询语言(Structured Query Language,SQL)执行计划发生错误导致的高消耗,这部分任务需要及时识别出来,并做出及时响应处置。
可理解的是,进行跑批处理时,为了提高效率,通常所述非关键模块和所述关键模块均存在多个任务并发处理,多个任务并行处理,涉及大量的运行数据,占据大量的系统资源,运行过程中可能存在某个任务出现运行异常状况,可根据历史运行情况,获取各任务在历史运行过程中的运行时长。考虑数据量线性成倍增长引起的时长变化大,除简单比较运行总时长外,还需要参考历史任务平均行每秒Rows/S。当前每秒的处理速度低于历史平均行每秒的一个比例阈值,且已经运行时长超过一个设置时长阈值,两者均满足才判断为异常,减少误判。
生成模块40,用于若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条。
应理解的是,根据所述数据表血缘关系生成所述待处理数据对应的多个任务之间的依赖关系,基于所述依赖关系和所述执行顺序,自动生成手工补取链条。涉及历史补取数据,以往均为手工填写,本实施例中接入数据表血缘关系,可根据调度的依赖先后关系,自动生成补取链条,减少人工成本和可能出现的误判。
所述跑批处理模块20,还用于根据所述补取链条获取补取数据,并对所述补取数据进行跑批处理。
需要说明的是,OLAP跑批,经常会涉及历史数据回算,比如,统计口径变更等情况下,对历史某个时间段的数据重新补取,比如调度异常和需要重跑等情况下,都会涉及补取数据。业务统计口径变更或者任务跑批异常后,数据重新处理,快速识别整个链条,整个链条补取上游任务或者下游任务,以减少人工繁杂填写和检查确认。并根据所述补取数据进行跑批处理,以及时处理异常任务,获得正确的跑批数据。
在本实施例中,通过获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序,根据所述执行顺序对待处理数据对应的多个任务进行跑批处理,基于数据表血缘关系生成的调度先后依赖关系准确,从而提高任务处理时效;记录各所述任务的运行信息,并根据所述运行信息判断各所述任务是否异常,若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条,根据所述补取链条获取补取数据,并对所述补取数据进行跑批处理,基于补取数据对异常任务重新处理,提高数据处理效率和质量。
在一实施例中,所述任务包括关键任务和非关键任务;
所述数据处理装置还包括:
获取模块,用于获取系统的资源使用情况,并获取所述关键任务和所述非关键任务的并发状态;
所述判断模块30,还用于根据所述资源使用情况判断是否对所述并发状态进行调整。
在一实施例中,所述判断模块30,还用于从所述运行信息中提取各所述任务的当前运行时长;获取各所述任务的历史运行时长;根据所述当前运行时长和所述历史运行时长,判断各所述任务是否异常。
在一实施例中,所述判断模块30,还用于从所述运行信息中提取各所述任务的当前处理速度;获取各所述任务的历史处理速度;根据所述当前运行时长、所述历史运行时长、所述当前处理速度及所述历史处理速度,判断各所述任务是否异常。
在一实施例中,所述判断模块30,还用于计算所述当前运行时长和所述历史运行时长之间的时间差值;在所述当前运行时长大于所述历史运行时长,且所述时间差值大于预设时间差阈值时,计算所述当前处理速度和所述历史处理速度之间的速度差值;在所述当前处理速度小于所述历史处理速度,且所述速度差值大于预设速度差阈值时,将对应的任务认定为异常任务。
在一实施例中,所述数据处理装置还包括:
定位模块,用于根据所述数据表血缘关系和所述异常任务定位目标业务;
发送模块,用于发送告警信息至所述目标业务对应的终端。
在一实施例中,所述确定模块10,还用于获取数据库中各数据表对象的关系,根据各数据表对象的关系建立数据表血缘关系;根据所述数据表血缘关系生成待处理数据对应的多个任务之间的依赖关系;根据所述依赖关系确定各所述任务的执行顺序。
本发明所述数据处理装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为标识。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种数据处理方法,其特征在于,所述数据处理方法包括以下步骤:
获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序;
根据所述执行顺序对待处理数据对应的多个任务进行跑批处理;
记录各所述任务的运行信息,并根据所述运行信息判断各所述任务是否异常;
若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条;
根据所述补取链条获取补取数据,并对所述补取数据进行跑批处理;
所述获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序,包括:
获取数据库中各数据表对象的关系,根据各数据表对象的关系建立数据表血缘关系;
根据所述数据表血缘关系生成待处理数据对应的多个任务之间的依赖关系;
根据所述依赖关系确定各所述任务的执行顺序;
所述若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条的步骤包括:
若各所述任务中存在异常任务,根据所述数据表血缘关系生成所述待处理数据对应的多个任务之间的依赖关系,基于所述依赖关系和所述执行顺序,自动生成手工补取链条。
2.如权利要求1所述的数据处理方法,其特征在于,所述任务包括关键任务和非关键任务;
所述根据所述执行顺序对待处理数据对应的多个任务进行跑批处理之后,所述数据处理方法还包括:
获取系统的资源使用情况,并获取所述关键任务和所述非关键任务的并发状态;
根据所述资源使用情况判断是否对所述并发状态进行调整。
3.如权利要求1所述的数据处理方法,其特征在于,所述根据所述运行信息判断各所述任务是否异常,包括:
从所述运行信息中提取各所述任务的当前运行时长;
获取各所述任务的历史运行时长;
根据所述当前运行时长和所述历史运行时长,判断各所述任务是否异常。
4.如权利要求3所述的数据处理方法,其特征在于,所述获取各所述任务的历史运行时长之后,所述数据处理方法还包括:
从所述运行信息中提取各所述任务的当前处理速度;
获取各所述任务的历史处理速度;
所述根据所述当前运行时长和所述历史运行时长,判断各所述任务是否异常,包括:
根据所述当前运行时长、所述历史运行时长、所述当前处理速度及所述历史处理速度,判断各所述任务是否异常。
5.如权利要求4所述的数据处理方法,其特征在于,根据所述当前运行时长、所述历史运行时长、所述当前处理速度及所述历史处理速度,判断各所述任务是否异常,包括:
计算所述当前运行时长和所述历史运行时长之间的时间差值;
在所述当前运行时长大于所述历史运行时长,且所述时间差值大于预设时间差阈值时,计算所述当前处理速度和所述历史处理速度之间的速度差值;
在所述当前处理速度小于所述历史处理速度,且所述速度差值大于预设速度差阈值时,将对应的任务认定为异常任务。
6.如权利要求1所述的数据处理方法,其特征在于,所述若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条之后,所述数据处理方法还包括:
根据所述数据表血缘关系和所述异常任务定位目标业务;
发送告警信息至所述目标业务对应的终端。
7.一种数据处理设备,其特征在于,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至6中任一项所述的数据处理方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至6中任一项所述的数据处理方法的步骤。
9.一种数据处理装置,其特征在于,所述数据处理装置包括:
确定模块,用于获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序;
跑批处理模块,用于根据所述执行顺序对待处理数据对应的多个任务进行跑批处理;
判断模块,用于记录各所述任务的运行信息,并根据所述运行信息判断各所述任务是否异常;
生成模块,用于若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条;
所述跑批处理模块,还用于根据所述补取链条获取补取数据,并对所述补取数据进行跑批处理;
所述获取数据表血缘关系,根据所述数据表血缘关系确定待处理数据对应的多个任务的执行顺序,包括:
获取数据库中各数据表对象的关系,根据各数据表对象的关系建立数据表血缘关系;根据所述数据表血缘关系生成待处理数据对应的多个任务之间的依赖关系;根据所述依赖关系确定各所述任务的执行顺序;
所述若各所述任务中存在异常任务,则根据所述数据表血缘关系和所述执行顺序生成补取链条包括:
若各所述任务中存在异常任务,根据所述数据表血缘关系生成所述待处理数据对应的多个任务之间的依赖关系,基于所述依赖关系和所述执行顺序,自动生成手工补取链条。
CN202010749456.3A 2020-07-28 2020-07-28 数据处理方法、设备、存储介质及装置 Active CN111858065B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010749456.3A CN111858065B (zh) 2020-07-28 2020-07-28 数据处理方法、设备、存储介质及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010749456.3A CN111858065B (zh) 2020-07-28 2020-07-28 数据处理方法、设备、存储介质及装置

Publications (2)

Publication Number Publication Date
CN111858065A CN111858065A (zh) 2020-10-30
CN111858065B true CN111858065B (zh) 2023-02-03

Family

ID=72945369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010749456.3A Active CN111858065B (zh) 2020-07-28 2020-07-28 数据处理方法、设备、存储介质及装置

Country Status (1)

Country Link
CN (1) CN111858065B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817847A (zh) * 2021-01-28 2021-05-18 杭州网易再顾科技有限公司 数据处理任务的测试方法、装置、电子设备及存储介质
CN113010550B (zh) * 2021-02-22 2023-05-05 建信金融科技有限责任公司 结构化数据的批处理对象生成、批处理方法和装置
CN113505970A (zh) * 2021-06-07 2021-10-15 广发银行股份有限公司 基于表级血缘关系的数据批次处理方法及系统
CN113535352B (zh) * 2021-06-28 2023-06-06 四川新网银行股份有限公司 一种基于调度配置生成血缘关系实现自动跑批的测试方法
CN113537937A (zh) * 2021-07-16 2021-10-22 重庆富民银行股份有限公司 基于拓扑排序的任务编排方法、装置、设备及存储介质
CN113590386B (zh) * 2021-07-30 2023-03-03 深圳前海微众银行股份有限公司 数据的容灾恢复方法、系统、终端设备及计算机存储介质
CN114168275B (zh) * 2021-10-28 2022-10-18 厦门国际银行股份有限公司 任务调度方法、系统、终端设备及存储介质
CN115858372B (zh) * 2022-12-19 2024-04-26 上海浦东发展银行股份有限公司 基于olap系统的批量数据构造和自动化验证方法及系统
CN116303702B (zh) * 2022-12-27 2024-04-05 易方达基金管理有限公司 一种基于etl的数据并行处理方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107241205A (zh) * 2016-03-28 2017-10-10 阿里巴巴集团控股有限公司 异常监控方法及装置
CN110543356A (zh) * 2019-09-11 2019-12-06 深圳前海微众银行股份有限公司 异常任务检测方法、装置、设备及计算机存储介质
CN110609740A (zh) * 2019-09-19 2019-12-24 深圳前海微众银行股份有限公司 一种确定任务间依赖关系的方法及装置
CN111190892A (zh) * 2020-01-03 2020-05-22 苏州思必驰信息科技有限公司 一种数据回填中处理异常数据的方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170024258A1 (en) * 2015-07-21 2017-01-26 Hartford Fire Insurance Company System for optimizing batch job dependencies
CN107239458B (zh) * 2016-03-28 2021-01-29 阿里巴巴集团控股有限公司 基于大数据推算开发对象关系的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107241205A (zh) * 2016-03-28 2017-10-10 阿里巴巴集团控股有限公司 异常监控方法及装置
CN110543356A (zh) * 2019-09-11 2019-12-06 深圳前海微众银行股份有限公司 异常任务检测方法、装置、设备及计算机存储介质
CN110609740A (zh) * 2019-09-19 2019-12-24 深圳前海微众银行股份有限公司 一种确定任务间依赖关系的方法及装置
CN111190892A (zh) * 2020-01-03 2020-05-22 苏州思必驰信息科技有限公司 一种数据回填中处理异常数据的方法和装置

Also Published As

Publication number Publication date
CN111858065A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111858065B (zh) 数据处理方法、设备、存储介质及装置
CN106802826B (zh) 一种基于线程池的业务处理方法及装置
CN110297711B (zh) 批量数据处理方法、装置、计算机设备及存储介质
WO2021159638A1 (zh) 集群队列资源的调度方法、装置、设备及存储介质
CN109656782A (zh) 可视化调度监控方法、装置及服务器
CN109284895A (zh) 项目任务分配方法、装置、计算机设备及存储介质
CN110928655A (zh) 一种任务处理方法及装置
CN111240812B (zh) 任务执行方法及装置
US9292336B1 (en) Systems and methods providing optimization data
CN111507608B (zh) 工单预警方法、装置和存储介质
CN103593232A (zh) 一种数据仓库的任务调度方法及装置
CN107766160A (zh) 队列消息处理方法及终端设备
WO2019196220A1 (zh) 监控拨打任务的方法、电子装置及计算机可读存储介质
CN113360270A (zh) 一种数据清洗任务处理方法及装置
CN116880986A (zh) 任务调度方法、装置、车载控制器、电子设备和存储介质
CN109684089B (zh) 一种基于预测模型的任务调度方法、系统及电子设备
CN112001116A (zh) 一种云资源容量预测方法及装置
CN111443999A (zh) 数据并行处理方法、执行器、计算机设备和存储介质
US20090168092A1 (en) Job management and scheduling method for network system
CN115509714A (zh) 一种任务处理方法、装置、电子设备及存储介质
CN111258724B (zh) 一种分布式系统的数据处理方法、装置、设备和存储介质
CN111159188B (zh) 基于DataWorks实现准实时大数据量的处理方法
CN110737572B (zh) 大数据平台资源抢占测试方法、系统、终端及存储介质
US20210312365A1 (en) Analysis of resources utilized during execution of a process
CN111611123B (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
GR01 Patent grant
GR01 Patent grant