CN106484725A - 一种数据处理方法、装置和系统 - Google Patents

一种数据处理方法、装置和系统 Download PDF

Info

Publication number
CN106484725A
CN106484725A CN201510547952.XA CN201510547952A CN106484725A CN 106484725 A CN106484725 A CN 106484725A CN 201510547952 A CN201510547952 A CN 201510547952A CN 106484725 A CN106484725 A CN 106484725A
Authority
CN
China
Prior art keywords
node
obstruction
transmission path
data source
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.)
Granted
Application number
CN201510547952.XA
Other languages
English (en)
Other versions
CN106484725B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510547952.XA priority Critical patent/CN106484725B/zh
Priority to PCT/CN2016/087314 priority patent/WO2017036242A1/zh
Publication of CN106484725A publication Critical patent/CN106484725A/zh
Application granted granted Critical
Publication of CN106484725B publication Critical patent/CN106484725B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据处理方法、装置和系统,以避免基于ETL技术对大数据进行分析处理时出现依赖死锁问题,而导致的对磁盘或内存的IO读写操作过于频繁的问题,该方法为:在ETL系统包括的所有节点中,确定符合条件的节点;针对确定出的每个符合所述条件的节点,在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点;和/或将该节点接收的非阻塞数据源存储到该节点本地。因此,采用本发明的方法能够以较低的性能损失来解决基于ETL技术对数据分析处理出现的依赖死锁状态,从而可以避免对磁盘或内存的IO读写操作过于频繁,造成大数据分析性能大幅降低的问题。

Description

一种数据处理方法、装置和系统
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、装置和系统。
背景技术
数据的抽取-转换-加载(Extract-Transform-load,ETL)是用来实现将待分析的数据从源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程。ETL较常用在数据仓库,作为构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
基于ETL技术的系统包括用于对数据抽取、用于对数据转换和用于对数据加载的三种类型节点,各个节点用于完成不同的功能,各个节点之间通过连线来连接,连线代表具体的数据流向,不同功能的节点是用于完成相应功能的逻辑节点,通常对应一段软件程序。
针对各个节点,按照数据输入方式可以分为单输入节点和多输入节点,单输入节点指的是输入的数据源仅有一个,多输入节点指的是输入的数据源存在多个。
针对各个节点,按照处理数据的方式可以分为阻塞节点和非阻塞节点,阻塞节点指的是需要将输入的数据全部驻留到内存,并对驻留到内存的数据进行计算,待所有数据计算完成后才能将计算完成的所有数据继续流向下一个节点;非阻塞节点指的是不需要将输入的数据驻留到内存,可以接收到一条输入数据及时计算一条,并将计算处理后的一条数据直接流向下一个节点。
由此可知,对于单输入节点来说,由于输入的数据源仅有一个,因此单输入节点针对输入的数据源进行数据处理的方式也仅有一种,即将输入的数据源的数据驻留到内存或不驻留到内存;而对于多输入节点来说,输入的数据源存在多个,这多个数据源可以从同一个节点输出,该同一个节点称之为同源节点,由于多输入节点存在多个输入的数据源,对有些数据源上的数据需要驻留到内存后,才能计将计算完成的所有数据继续流向下一个节点,这种数据源称之为阻塞数据源,而有些数据源上的数据不需要驻留到内存,接收到直接计算后继续流向下一个节点,这种数据源称之为非阻塞数据源。这样就会使得多输入节点在既接收到阻塞数据源又接收到非阻塞数据源时,可能会出现处理阻塞数据源和非阻塞数据源时对该多输入节点对应的同源节点输出的数据源出现资源竞争现象。
现有技术中,在基于ETL系统进行大数据分析时,如果出现故障告警,则查看后台记录的处理日志,若确定处理日志中记录的故障原因只为处理超时这一种原因时,则可以确定数据处理出现依赖死锁状态。
目前,针对数据处理出现依赖死锁的问题,现有技术中通常在ETL系统中,将所有单输入节点中的非阻塞节点更改为阻塞节点,将所有多输入节点中的非阻塞数据源更改为阻塞数据源,这样势必会存在大量节点都需要将接收到的数据存储到本地,势必会大量增加对磁盘或内存的IO读写操作,从而导致大数据分析性能大幅降低。
发明内容
本发明实施例提供一种数据处理方法、装置和系统,以避免基于ETL技术对大数据进行分析处理时出现依赖死锁问题,而导致的对磁盘或内存的IO读写操作过于频繁,造成大数据分析性能大幅降低的问题。
本发明实施例提供的具体技术方案如下:
第一方面,本发明实施例提供一种数据处理方法,包括:
在ETL系统包括的所有节点中,确定符合下述条件的节点:
所述节点为多输入节点、且所述多输入节点接收的多个数据源包括阻塞数据源和非阻塞数据源;
所述多输入节点接收的多个数据源是从同一个同源节点输出的;
所述多输入节点接收的非阻塞数据源所经过的传输路径上存在的所有单输入节点均为非阻塞节点,所述传输路径为所述同源节点至所述多输入节点之间的传输路径;
针对确定出的每个符合所述条件的节点,执行:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点;和/或
将该节点接收的非阻塞数据源存储到该节点本地。
结合第一方面,在第一方面的第一种可能的实现方式中,在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点,选择部分非阻塞节点,包括:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,任意选择一个非阻塞节点。
结合第一方面,在第一方面的第二种可能的实现方式中,在ETL系统包括的所有节点中,确定符合下述条件的节点之前,还包括:
确定所述ETL系统对数据进行分析处理出现故障告警。
第二方面,本发明实施例提供一种数据处理装置,包括:
确定模块,用于在ETL系统包括的所有节点中,确定符合下述条件的节点:
所述节点为多输入节点、且所述多输入节点接收的多个数据源包括阻塞数据源和非阻塞数据源;
所述多输入节点接收的多个数据源是从同一个同源节点输出的;
所述多输入节点接收的非阻塞数据源所经过的传输路径上存在的所有单输入节点均为非阻塞节点,所述传输路径为所述同源节点至所述多输入节点之间的传输路径;
处理模块,用于针对确定出的每个符合所述条件的节点,执行:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点;和/或
将该节点接收的非阻塞数据源存储到该节点本地。
结合第二方面,在第二方面的第一种可能的实现方式中,所述处理模块在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点时,具体用于:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,任意选择一个非阻塞节点。
结合第二方面,在第二方面的第二种可能的实现方式中,所述确定模块还用于:
在ETL系统包括的所有节点中,确定符合所述条件的节点之前,确定所述ETL系统对数据进行分析处理出现故障告警或未出现故障告警。
第三方面,本发明实施例提供一种数据处理系统,包括:
ETL系统,所述系统包括多个节点;
数据处理装置,用于在所述ETL系统包括的所有节点中,确定符合下述条件的节点:所述节点为多输入节点、且所述多输入节点接收的多个数据源包括阻塞数据源和非阻塞数据源;所述多输入节点接收的多个数据源是从同一个同源节点输出的;所述多输入节点接收的非阻塞数据源所经过的传输路径上存在的所有单输入节点均为非阻塞节点,所述传输路径为所述同源节点至所述多输入节点之间的传输路径;以及
针对确定出的每个符合所述条件的节点,执行:在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点;和/或将该节点接收的非阻塞数据源存储到该节点本地。
结合第三方面,在第三方面的第一种可能的实现方式中,所述数据处理装置在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点时,具体用于:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,任意选择一个非阻塞节点。
结合第三方面,在第三方面的第二种可能的实现方式中,所述数据处理装置还用于:
在ETL系统包括的所有节点中,确定符合所述条件的节点之前,确定所述ETL系统对数据进行分析处理出现故障告警或未出现故障告警。
本发明有益效果如下:
本发明实施例中,提出一种数据处理方案,具体通过在ETL系统包括的所有节点中,确定符合下述条件的节点:所述节点为多输入节点、且所述多输入节点接收的多个数据源包括阻塞数据源和非阻塞数据源;所述多输入节点接收的多个数据源是从同一个同源节点输出的;所述多输入节点接收的非阻塞数据源所经过的传输路径上存在的所有单输入节点均为非阻塞节点,所述传输路径为所述同源节点至所述多输入节点之间的传输路径;针对确定出的每个符合所述条件的节点,在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点;和/或将该节点接收的非阻塞数据源存储到该节点本地。因此,本发明实施例若在基于ETL系统进行大数据分析出现故障告警之前实施,则可以提前找出符合这样条件的节点,根据符合这样条件的节点提前对ETL系统中的相关节点进行设置,可以避免基于ETL系统对数据分析处理出现的依赖死锁状态;本发明实施例若在基于ETL系统进行大数据分析出现故障告警之后实施,则也可以快速找出符合这样条件的节点,根据符合这样条件的节点及时对ETL系统中的相关节点进行设置,以解决基于ETL系统对数据分析处理出现的依赖死锁状态。从而可以避免现有技术中基于ETL技术对大数据进行分析处理时出现依赖死锁问题后,需要将ETL系统中的所有非阻塞节点接收的数据均储存在本地,而使得磁盘或内存的IO读写操作过于频繁,造成大数据分析性能大幅降低的问题。
附图说明
图1为本发明实施例中数据处理方法流程示意图;
图2为本发明实施例中ETL系统中的节点连接示例图;
图3本发明实施例中数据处理装置结构示意图;
图4本发明实施例中数据处理设备结构示意图;
图5本发明实施例中数据处理系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据处理方法和装置,用以避免现有技术中基于ETL技术对大数据进行分析处理时出现依赖死锁问题,而导致的对磁盘或内存的IO读写操作过于频繁,造成大数据分析性能大幅降低的问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
在ETL系统中,多输入节点对接收到的多个数据源进行数据处理时由于资源竞争可能会导致ETL系统对数据处理出现依赖死锁问题,现有技术中针对ETL系统出现的依赖死锁问题,由于不能准确确定出在ETL系统中出现依赖死锁问题的多输入节点有哪些,而是简单的查看后台处理日志来确定故障类型,如果确定的故障类型是依赖死锁问题,则在对ETL系统进行数据处理出现的依赖死锁状态进行解锁时,笼统的将ETL系统中所有单输入节点中的非阻塞节点更改为阻塞节点,并将所有多输入节点中的非阻塞数据源更改为阻塞数据源,这样势必会存在大量节点都需要将接收到的数据存储到本地,势必会大量增加对磁盘或内存的IO读写操作,而本发明实施例中提供的数据处理方法和装置不仅能准确确定出现依赖死锁问题的节点所在,更重要的是,针对ETL系统数据处理出现的依赖死锁状态进行解锁时,可以基于确定出的节点以较小的性能损失来解决依赖死锁问题。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图1所示,本发明实施例提供一种数据处理方法,具体流程如下:
步骤100:在ETL系统包括的所有节点中,确定符合下述条件的节点:
所述节点为多输入节点、且所述多输入节点接收的多个数据源包括阻塞数据源和非阻塞数据源;
所述多输入节点接收的多个数据源是从同一个同源节点输出的;
所述多输入节点接收的非阻塞数据源所经过的传输路径上存在的所有单输入节点均为非阻塞节点,所述传输路径为所述同源节点至所述多输入节点之间的传输路径。
其中,步骤100可以在所述ETL系统对数据进行分析处理出现故障告警之前执行,也可以在所述ETL系统对数据进行分析处理出现故障告警之后执行,当然本发明实施例优选在出现故障告警之后执行步骤100。
具体的,在确定一ETL系统对数据处理是否会出现依赖死锁问题时,需要确定该ETL系统中是否存在符合上述条件的节点,若存在符合上述条件的节点,则确定该ETL系统对数据处理时会出现依赖死锁问题;若不存在符合上述条件的节点,则确定该ETL系统对数据处理时不会出现依赖死锁问题,较佳的,在确定该ETL系统中是否存在符合上述条件的节点时,可以采用下述实施方式。
由于ETL系统中的各节点间通过连线代表具体的数据流向,因此,可以将ETL系统中各节点之间传输的数据称为ETL数据流。由于ETL系统中每个节点都是将输入的数据进行处理后流向下一个节点,而流向下一节点的数据不会再流回处理过该数据的节点,因此ETL数据流可以抽象为一个无回路有向(Directed Acyclic Graph,DAG)图。
以图2的一个ETL系统形成的DAG图为例,在确定该ETL系统中是否存在符合上述条件的节点时,具体执行下述操作:
首先,从H001节点(文本抽取节点)开始对该DAG图进行广度优先遍历,对该DAG图中依次加入的每个节点,分别执行:
判断该加入的节点是否为多输入节点,即H001节点加入时,如果确定该H001节点不是多输入节点,则继续遍历该DAG图,接着H002节点加入,若确定该H002节点依然不是多输入节点时,则继续遍历该DAG图,接着H003节点加入,确定该H003节点依然不是多输入节点时,继续遍历该DAG图,接着H004节点加入,确定该H004节点还不是多输入节点时,继续遍历该DAG图,接着H005节点加入,这里以确定出该H005节点是多输入节点为例进行说明。
再次,从该H005节点反向递归,确认图2中是否存在H005节点对应的同源节点,从图2中可以看出,H005节点的多个输入数据源可以从同一个H001节点输出,因此H001节点即为H005节点的同源节点。
进一步的,H005节点存在两个输入数据源,其中一个数据源是经历H001节点、H002节点和H004节点流向H005节点的数据源,另一个数据源是经历H001节点和H003节点流向H005节点的数据源。接下来确定两个数据源中是否既包括阻塞数据源又包括非阻塞数据源,具体实现方式可以为:
由于H005节点是连接节点,由于连接节点功能限制,要求连接节点的主数据源为非阻塞数据源,从数据源为阻塞数据源,其中,节点的主数据源和从数据源是根据实际应用场景来预先具体配置的。图2中,H005节点的主数据源为H004节点输出的数据,H005节点的从数据源为H003节点输出的数据,因此受限于H005节点的功能限制,要求因此H004节点与H005节点之间的传输路径上传输的必须是非阻塞数据源;要求H003节点与H005节点之间的传输路径上传输的必须是阻塞数据源。
接下来,确定H005节点接收到的非阻塞数据源从同源节点H001流经H005节点所经过的传输路径上包括H002节点和H004节点,进一步判断H002节点和H004节点是否均为非阻塞节点,通过查询节点的类型则可以确定节点具体为阻塞节点还是非阻塞节点,由于H002节点为过滤节点、H004节点为路由节点,这两种类型的节点都为非阻塞节点,则最终确定H005节点接收到的非阻塞数据源从同源节点H001节点到达H005节点所经过的传输路径上包括的H002节点和H004节点都为非阻塞节点。
综上可以确定H005节点为符合条件的节点,即H005节点的存在可能或已经导致ETL系统处理数据出现依赖死锁状态。
继续遍历该DAG图,依次类推,确定H006节点、H007节点、H008节点和H009节点都不符合上述条件。
步骤101:针对确定出的每个符合上述条件的节点,执行:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点;和/或
将该节点接收的非阻塞数据源存储到该节点本地。
具体的,在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点,选择部分非阻塞节点时,较佳的选择方式为:在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,任意选择一个非阻塞节点,这样能够更加降低磁盘或内存的IO读写操作次数,提升大数据分析性能。
例如,针对上述图2中的例子,基于确定的符合上述条件的节点,即针对H005节点执行下述方式的任意一种方式,都能避免该ETL系统出现的依赖死锁状态,或者对该ETL系统已经出现的依赖死锁状态进行解锁,这里以对H005节点进行操作为例:
第一种方式为,在节点H005接收的非阻塞数据源所经过的传输路径上(即H001-H002-H004-H005的路径上)存在的所有非阻塞节点中,任意选择一个非阻塞节点,可以选择H002节点也可以选择H004节点,将选择的非阻塞节点更改为阻塞节点,例如,这里选择的非阻塞节点为H002节点,即将H002节点接收的数据源存储到H002节点本地,再对本地存储的数据进行计算后流向H005节点,或者将H002节点接收的数据源计算后存储到H002节点本地,再将本地存储的数据流向H005节点。
第二种方式为,将H005节点接收的非阻塞数据源存储到节点H005本地,即将H004与H005之间传输的数据存储到节点H005本地。
上述第一种方式和第二种方式可以组合使用,也可以择一使用。
本发明实施例提供一种数据处理方法,具体通过在ETL系统包括的所有节点中,找出符合相应条件的节点(即ETL系统对大数据分析处理时容易出现依赖死锁状态的节点);针对确定出的每个符合所述条件的节点,在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点,和/或将该节点接收的非阻塞数据源存储到该节点本地。本发明实施例可以在基于ETL系统进行大数据分析出现故障告警之前实施,也可以在出现故障告警之后实施。若在出现故障告警之前实施,则可以提前找出符合这样条件的节点,根据符合这样条件的节点提前对ETL系统中的相关节点进行设置,以提前避免基于ETL系统对数据分析处理出现的依赖死锁状态;若在出现故障告警之后实施,则也可以快速找出符合这样条件的节点,根据符合这样条件的节点及时对ETL系统中的相关节点进行设置,以解决基于ETL系统对数据分析处理出现的依赖死锁状态,避免了现有技术中基于ETL技术对大数据进行分析处理时出现依赖死锁问题后,需要将ETL系统中的所有非阻塞节点接收的数据均储存在本地,而使得磁盘或内存的IO读写操作过于频繁,造成大数据分析性能降低的问题。
参阅图3所示,图3为本发明实施例中数据处理装置结构示意图,本发明实施例提供的数据处理装置300,包括:
确定模块301:用于在ETL系统包括的所有节点中,确定符合下述条件的节点:
所述节点为多输入节点、且所述多输入节点接收的多个数据源包括阻塞数据源和非阻塞数据源;
所述多输入节点接收的多个数据源是从同一个同源节点输出的;
所述多输入节点接收的非阻塞数据源所经过的传输路径上存在的所有单输入节点均为非阻塞节点,所述传输路径为所述同源节点至所述多输入节点之间的传输路径;
处理模块302:用于针对确定出的每个符合所述条件的节点,执行:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点;和/或
将该节点接收的非阻塞数据源存储到该节点本地。
可选的,所述处理模块302在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点时,具体用于:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,任意选择一个非阻塞节点。
可选的,所述确定模块301还用于:
在ETL系统包括的所有节点中,确定符合所述条件的节点之前,确定所述ETL系统对数据进行分析处理出现故障告警或未出现故障告警。
需要说明的是,本发明实施例中对各个模块的划分是示意性的,仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种数据处理设备,如图4所示,图4为本发明实施例中数据处理设备的结构示意图,该设备包括处理器401和存储器402。其中,处理器401和存储器402相连接。本发明实施例中不限定上述部件之间的具体连接介质。本发明实施例选择在图4中处理器401和存储器402之间通过总线403连接,总线在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例中存储器402,用于存储处理器401执行的程序代码,存储器402可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器402也可以是非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)、或者存储器402是能够用于携带或存储具有指令或数据结构形式的期望程序代码并能够由计算机存取的任何其他存储器,但不限于此。此外,存储器402还可以是上述任意存储器的组合。
本发明实施例中,处理器401,用于通过总线调用存储器402中存储的程序代码,并通过执行调用的程序代码执行:
在ETL系统包括的所有节点中,确定符合下述条件的节点:所述节点为多输入节点、且所述多输入节点接收的多个数据源包括阻塞数据源和非阻塞数据源;所述多输入节点接收的多个数据源是从同一个同源节点输出的;所述多输入节点接收的非阻塞数据源所经过的传输路径上存在的所有单输入节点均为非阻塞节点,所述传输路径为所述同源节点至所述多输入节点之间的传输路径;并针对确定出的每个符合所述条件的节点,在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点;和/或,将该节点接收的非阻塞数据源存储到该节点本地。
本发明实施例中的处理器401,可以是一个中央处理单元(英文:centralprocessing unit,简称CPU)。
本发明实施例还提供了一种数据处理系统,如图5所示,图5为本发明实施例中数据处理系统的结构示意图,该系统包括ETL系统501和数据处理装置502。其中,ETL系统501和数据处理装置502相连接。本发明实施例中不限定上述部件之间的具体连接介质,其中:
所述ETL系统501包括多个节点;
所述数据处理装置502,用于在所述ETL系统501包括的所有节点中,确定符合下述条件的节点:所述节点为多输入节点、且所述多输入节点接收的多个数据源包括阻塞数据源和非阻塞数据源;所述多输入节点接收的多个数据源是从同一个同源节点输出的;所述多输入节点接收的非阻塞数据源所经过的传输路径上存在的所有单输入节点均为非阻塞节点,所述传输路径为所述同源节点至所述多输入节点之间的传输路径;以及
针对确定出的每个符合所述条件的节点,执行:在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点;和/或将该节点接收的非阻塞数据源存储到该节点本地。
可选的,所述数据处理装置502在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点时,具体用于:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,任意选择一个非阻塞节点。
可选的,所述数据处理装置502还用于:
在ETL系统包括的所有节点中,确定符合所述条件的节点之前,确定所述ETL系统对数据进行分析处理出现故障告警或未出现故障告警。
综上所述,本发明实施例中提供的数据处理方案若在基于ETL系统进行大数据分析出现故障告警之前实施,则可以提前找出符合这样条件的节点,根据符合这样条件的节点提前对ETL系统中的相关节点进行设置,可以避免基于ETL系统对数据分析处理出现的依赖死锁状态;本发明实施例若在基于ETL系统进行大数据分析出现故障告警之后实施,则也可以快速找出符合这样条件的节点,根据符合这样条件的节点及时对ETL系统中的相关节点进行设置,以解决基于ETL系统对数据分析处理出现的依赖死锁状态。从而可以避免现有技术中基于ETL技术对大数据进行分析处理时出现依赖死锁问题后,需要将ETL系统中的所有非阻塞节点接收的数据均储存在本地,而使得磁盘或内存的IO读写操作过于频繁,造成大数据分析性能大幅降低的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
在抽取-转换-加载ETL系统包括的所有节点中,确定符合下述条件的节点:
所述节点为多输入节点、且所述多输入节点接收的多个数据源包括阻塞数据源和非阻塞数据源;
所述多输入节点接收的多个数据源是从同一个同源节点输出的;
所述多输入节点接收的非阻塞数据源所经过的传输路径上存在的所有单输入节点均为非阻塞节点,所述传输路径为所述同源节点至所述多输入节点之间的传输路径;
针对确定出的每个符合所述条件的节点,执行:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点;和/或
将该节点接收的非阻塞数据源存储到该节点本地。
2.如权利要求1所述的方法,其特征在于,在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点,选择部分非阻塞节点,包括:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,任意选择一个非阻塞节点。
3.如权利要求1所述的方法,其特征在于,在ETL系统包括的所有节点中,确定符合下述条件的节点之前,还包括:
确定所述ETL系统对数据进行分析处理出现故障告警。
4.如权利要求1所述的方法,其特征在于,在ETL系统包括的所有节点中,确定符合下述条件的节点之前,还包括:
确定所述ETL系统对数据进行分析处理未出现故障告警。
5.一种数据处理装置,其特征在于,包括:
确定模块,用于在抽取-转换-加载ETL系统包括的所有节点中,确定符合下述条件的节点:
所述节点为多输入节点、且所述多输入节点接收的多个数据源包括阻塞数据源和非阻塞数据源;
所述多输入节点接收的多个数据源是从同一个同源节点输出的;
所述多输入节点接收的非阻塞数据源所经过的传输路径上存在的所有单输入节点均为非阻塞节点,所述传输路径为所述同源节点至所述多输入节点之间的传输路径;
处理模块,用于针对确定模块确定出的每个符合所述条件的节点,执行:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点;和/或
将该节点接收的非阻塞数据源存储到该节点本地。
6.如权利要求5所述的装置,其特征在于,所述处理模块在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点时,具体用于:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,任意选择一个非阻塞节点。
7.如权利要求5所述的装置,其特征在于,所述确定模块还用于:
在ETL系统包括的所有节点中,确定符合所述条件的节点之前,确定所述ETL系统对数据进行分析处理出现故障告警或未出现故障告警。
8.一种数据处理系统,其特征在于,包括:
抽取-转换-加载ETL系统,所述系统包括多个节点;
数据处理装置,用于在所述ETL系统包括的所有节点中,确定符合下述条件的节点:所述节点为多输入节点、且所述多输入节点接收的多个数据源包括阻塞数据源和非阻塞数据源;所述多输入节点接收的多个数据源是从同一个同源节点输出的;所述多输入节点接收的非阻塞数据源所经过的传输路径上存在的所有单输入节点均为非阻塞节点,所述传输路径为所述同源节点至所述多输入节点之间的传输路径;以及
针对确定出的每个符合所述条件的节点,执行:在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点,将选择的非阻塞节点更改为阻塞节点;和/或将该节点接收的非阻塞数据源存储到该节点本地。
9.如权利要求8所述的系统,其特征在于,所述数据处理装置在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,选择部分非阻塞节点时,具体用于:
在该节点接收的非阻塞数据源所经过的传输路径上存在的所有非阻塞节点中,任意选择一个非阻塞节点。
10.如权利要求8所述的系统,其特征在于,所述数据处理装置还用于:
在ETL系统包括的所有节点中,确定符合所述条件的节点之前,确定所述ETL系统对数据进行分析处理出现故障告警或未出现故障告警。
CN201510547952.XA 2015-08-31 2015-08-31 一种数据处理方法、装置和系统 Active CN106484725B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510547952.XA CN106484725B (zh) 2015-08-31 2015-08-31 一种数据处理方法、装置和系统
PCT/CN2016/087314 WO2017036242A1 (zh) 2015-08-31 2016-06-27 一种数据处理方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510547952.XA CN106484725B (zh) 2015-08-31 2015-08-31 一种数据处理方法、装置和系统

Publications (2)

Publication Number Publication Date
CN106484725A true CN106484725A (zh) 2017-03-08
CN106484725B CN106484725B (zh) 2019-08-20

Family

ID=58186595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510547952.XA Active CN106484725B (zh) 2015-08-31 2015-08-31 一种数据处理方法、装置和系统

Country Status (2)

Country Link
CN (1) CN106484725B (zh)
WO (1) WO2017036242A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385137B (zh) * 2021-12-29 2022-11-08 武汉达梦数据库股份有限公司 一种Flink框架运行ETL的流程方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004214865A (ja) * 2002-12-27 2004-07-29 Ntt Docomo Inc モビリティ制御ノード、無線リソース制御方法、通信システム及び無線リソース制御プログラム
CN102946441A (zh) * 2012-12-06 2013-02-27 重庆邮电大学 一种基于增强型团队协作的p2p文件共享系统高效下载方法
WO2013036453A1 (en) * 2011-09-08 2013-03-14 Interdigital Patent Holdings, Inc. Methods, system and apparatus for packet routing using a hop-by-hop protocol in multi-homed environments
CN103729331A (zh) * 2013-11-26 2014-04-16 西安电子科技大学 片上网络通信死锁避免方法、路由器及通信网络
CN104239141A (zh) * 2014-09-05 2014-12-24 北京邮电大学 数据中心中基于工作流关键路径的任务优化调度方法
CN104317970A (zh) * 2014-11-19 2015-01-28 亚信科技(南京)有限公司 一种基于数据加工中心的数据流式处理方法
CN104346367A (zh) * 2013-07-30 2015-02-11 华为技术有限公司 一种数据集成的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102103560A (zh) * 2009-12-16 2011-06-22 中兴通讯股份有限公司 用于系统总线的防死锁方法及装置
US9116968B2 (en) * 2011-06-30 2015-08-25 Bmc Software, Inc. Methods and apparatus related to graph transformation and synchronization
CN102439571B (zh) * 2011-10-27 2013-08-28 华为技术有限公司 一种防止节点控制器死锁的方法及装置
CN103944964A (zh) * 2014-03-27 2014-07-23 上海云数信息科技有限公司 一种分布式系统及根据该系统进行逐步扩容的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004214865A (ja) * 2002-12-27 2004-07-29 Ntt Docomo Inc モビリティ制御ノード、無線リソース制御方法、通信システム及び無線リソース制御プログラム
WO2013036453A1 (en) * 2011-09-08 2013-03-14 Interdigital Patent Holdings, Inc. Methods, system and apparatus for packet routing using a hop-by-hop protocol in multi-homed environments
CN102946441A (zh) * 2012-12-06 2013-02-27 重庆邮电大学 一种基于增强型团队协作的p2p文件共享系统高效下载方法
CN104346367A (zh) * 2013-07-30 2015-02-11 华为技术有限公司 一种数据集成的方法和装置
CN103729331A (zh) * 2013-11-26 2014-04-16 西安电子科技大学 片上网络通信死锁避免方法、路由器及通信网络
CN104239141A (zh) * 2014-09-05 2014-12-24 北京邮电大学 数据中心中基于工作流关键路径的任务优化调度方法
CN104317970A (zh) * 2014-11-19 2015-01-28 亚信科技(南京)有限公司 一种基于数据加工中心的数据流式处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李颖 等: "基于电信数据仓库系统的ETL研究与设计", 《计算机应用与软件》 *

Also Published As

Publication number Publication date
CN106484725B (zh) 2019-08-20
WO2017036242A1 (zh) 2017-03-09

Similar Documents

Publication Publication Date Title
CN104750620B (zh) 一种内存迁移方法及装置
CN105577719B (zh) 一种数据压缩方法和装置
KR102061466B1 (ko) 메모리 관리를 위한 보존 가비지 콜렉팅 및 정수 태깅 기법
CN110704438B (zh) 一种区块链中布隆过滤器的生成方法及装置
CN106528065B (zh) 一种线程获取方法及设备
CN107229414A (zh) 存储空间回收方法及装置
CN110908837B (zh) 应用程序异常处理方法、装置、电子设备及存储介质
CN106293541A (zh) 一种存储系统的日志管理方法和系统
CN106934027A (zh) 分布式爬虫实现方法及系统
TWI727639B (zh) 一種區塊鏈交易追溯的方法及裝置
CN109033365B (zh) 一种数据处理方法及相关设备
CN110659905A (zh) 交易验证方法、装置、终端设备以及存储介质
CN111161071A (zh) 基于区块链的数据处理方法、装置、设备和存储介质
CN111488987A (zh) 一种深度学习大模型训练的方法、系统、设备及介质
CN106411638A (zh) 一种云监控系统中监控数据的处理方法及系统
CN104866297B (zh) 一种优化核函数的方法和装置
CN113419672A (zh) 一种存储容量管理方法、系统及存储介质
CN106484725A (zh) 一种数据处理方法、装置和系统
CN107562703A (zh) 字典树重构方法及系统
CN106610899B (zh) 一种测试用例生成方法及装置
CN103927345B (zh) 一种jsp标签嵌套的方法及装置
CN106484879A (zh) 一种基于MapReduce的Map端数据的聚合方法
CN106557430A (zh) 一种缓存数据刷盘方法及装置
CN111062804A (zh) 担保圈识别方法及装置
CN109062702A (zh) 一种计算资源分配方法、相关装置及可读存储介质

Legal Events

Date Code Title Description
C06 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