CN102096857B - 一种数据处理过程的协同方法和装置 - Google Patents
一种数据处理过程的协同方法和装置 Download PDFInfo
- Publication number
- CN102096857B CN102096857B CN2010106070974A CN201010607097A CN102096857B CN 102096857 B CN102096857 B CN 102096857B CN 2010106070974 A CN2010106070974 A CN 2010106070974A CN 201010607097 A CN201010607097 A CN 201010607097A CN 102096857 B CN102096857 B CN 102096857B
- Authority
- CN
- China
- Prior art keywords
- data
- data processing
- handling procedure
- processing procedure
- procedure
- 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
Links
Images
Abstract
本发明提供了一种数据处理过程的协同方法和装置,所述方法包括:建立数据处理过程与元数据的输入输出关系的配置信息;所述元数据包括:数据源和数据处理结果;配置各个数据处理过程的调度计划信息;依据所述配置信息和调度计划信息执行相应的数据处理过程,实现各个数据处理过程间的协同处理。通过本发明减少了冗余的等待执行时间,提高了ODS系统的数据处理效率,并且简化了数据处理过程的配置。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据处理过程的协同方法和装置。
背景技术
ODS系统是一个跨系统运营数据的共享平台,承接操作环境和分析环境。ODS对应用系统产生的数据进行清洗、过滤和整合,同时为各个应用系统提供近实时的运营报表等跨系统共享数据服务。
ODS系统的数据架构如图1所示,其数据处理过程包括:从其它业务系统抽取业务数据到接口层;在接口层将数据进行清洗、转换并加载到整合层;以整合层的数据进行跨系统数据的应用、分析,形成汇总层的数据,并将汇总层的数据共享给相应的业务系统。因此,数据处理过程是ODS系统的基本也是重要功能。由于ODS系统整合的数据源众多、提供的跨系统应用和分析数据众多,因此ODS系统中的众多数据处理过程之间的协同处理就显得极其重要。
现有技术中的一种数据处理过程的协同方法,其通过预估每个数据处理过程的执行耗时,并制定每个数据处理过程的先后执行时间,来控制数据处理过程的先后执行顺序。另一种数据处理过程的协同方法,是通过设定数据处理过程之间的执行依赖,来确定每个数据处理过程的执行时机。
上述方法中,由于数据处理过程的执行耗时是不固定的,前后执行的数据处理过程之间的定时时差不好预估,一般情况下都是将此时间差加大,增加等待的执行时间。例如,ODS系统一般以天为单位从CRM系统中获取客户订单数据,然后根据客户订单数据再处理其他核心层的数据,假设CRM订单数据处理过程为3小时,因此,将CRM订单数据的处理过程定时在凌晨0:30分启动执行,预计在3:30分钟执行完毕,客户资料宽表处理程序一般定时在4:00开始执行。因此造成了执行总时长过长,浪费了数据处理时间。
此外,不管是采用时间制定还是数据处理过程依赖的方式,在实际使用中都很繁琐。由于ODS系统中接口众多、数据处理过程数量级很大,配置执行依赖、先后执行顺序的过程相当复杂,对操作人员的业务要求相当高,一般只有资深的维护人员才能了解大部分的数据处理过程,而要求其将不同的数据处理过程的依赖关系建立正确,将是一件非常复杂的工作,配置过程存在疏漏的可能性相当大。。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够提供一种数据处理过程的协同方法,减少冗余的等待执行时间,提高ODS系统的数据处理效率,以及简化数据处理过程的配置。
发明内容
本发明所要解决的技术问题是提供一种数据处理过程的协同方法和装置,减少冗余的等待执行时间,提高ODS系统的数据处理效率,并简化数据处理过程的配置。
为了解决上述问题,本发明公开了一种数据处理过程的协同方法,包括:
建立数据处理过程与元数据的输入输出关系的配置信息;所述元数据包括:数据源和数据处理结果;
配置各个数据处理过程的调度计划信息;
依据所述配置信息和调度计划信息执行相应的数据处理过程,实现各个数据处理过程间的协同处理;
其中,所述依据所述配置信息和调度计划信息执行相应的数据处理过程,包括:
依据调度计划信息驱动数据处理过程准备开始执行;
依据配置信息进行驱动检查,判断当前数据处理过程是否存在数据依赖;
若否,则直接执行当前数据处理过程;
若是,则依据调度计划信息判断当前数据处理过程是否存在周期依赖;若是,则暂停执行当前数据处理过程,直到被依赖的数据处理过程正确执行完毕,执行当前数据处理过程;若否,则执行当前数据处理过程。
优选的,所述建立数据处理过程与元数据的输入输出关系的配置信息,包括:
抽取数据处理过程的流程配置节点,并获得类型为“数据抽取”和“数据加载”的流程配置节点;
将从“数据抽取”类型的流程配置节点中分析出的源数据定义为数据源,并建立所述数据源与数据处理过程的输入关系;
将从“数据加载”类型的流程配置节点中分析出的目标数据定义为数据处理结果,并建立所述数据处理结果与数据处理过程的输出关系。
优选的,所述配置各个数据处理过程的调度计划信息具体为:配置所述数据处理过程的执行周期和/或推荐执行时间。
优选的,所述依据调度计划信息驱动数据处理过程准备开始执行,具体为:依据执行周期和推荐执行时间生成调度时间,在所述调度时间到达时驱动数据处理过程准备开始执行;或者,依据执行周期在预置时间点到达时驱动数据处理过程准备开始执行。
优选的,所述依据配置信息判断当前数据处理过程是否存在数据依赖,包括:
获取当前数据处理过程的输入关系的数据源;
判断所述输入关系的数据源是否为其它数据处理过程的输出关系的数据处理结果;
如果是,则当前数据处理过程依赖于其它数据处理过程,判断当前数据处理过程存在数据依赖;如果否,则当前数据处理过程不依赖于其它数据处理过程,判断当前数据处理过程不存在数据依赖。
优选的,所述依据调度计划信息判断当前数据处理过程是否存在周期依赖,具体为:判断当前数据处理过程的执行周期是否大于等于被依赖的数据处理过程的执行周期;如果是,则判断当前数据处理过程存在周期依赖;如果否,则判断当前数据处理过程不存在周期依赖。
优选的,所述依据所述配置信息和调度计划信息执行相应的数据处理过程,还包括:依据预置间隔时间的探测机制,对被依赖的数据处理过程的执 行结果进行查询,获知被依赖的数据处理过程是否正确执行完毕。
相应的,本发明还提供了一种数据处理过程的协同装置,包括:
配置信息建立模块,用于建立数据处理过程与元数据的输入输出关系的配置信息;所述元数据包括:数据源和数据处理结果;
调度计划配置模块,用于配置各个数据处理过程的调度计划信息;
数据处理执行模块,用于依据所述配置信息和调度计划信息执行相应的数据处理过程,实现各个数据处理过程间的协同处理;
其中,所述数据处理执行模块包括:
驱动准备开始子模块,用于依据调度计划信息驱动数据处理过程准备开始执行;
数据依赖判断子模块,用于依据配置信息判断当前数据处理过程是否存在数据依赖;若否,直接触发数据处理执行子模块,若是,则触发周期依赖判断子模块;
数据处理执行子模块,用于执行当前数据处理过程;
周期依赖判断子模块,用于依据配置信息判断当前数据处理过程是否存在数据依赖;若否,暂停执行当前数据处理过程,直到被依赖的数据处理过程正确执行完毕,触发数据处理执行子模块,若是,则直接触发数据处理执行子模块。
优选的,所述配置信息建立模块包括:
节点获取子模块,用于抽取数据处理过程的流程配置节点,并获得类型为“数据抽取”和“数据加载”的流程配置节点;
输入关系建立子模块,用于将从“数据抽取”类型的流程配置节点中分析出的源数据定义为数据源,并建立所述数据源与数据处理过程的输入关系;
输出关系建立子模块,用于将从“数据加载”类型的流程配置节点中分析出的目标数据定义为数据处理结果,并建立所述数据处理结果与数据处理过程的输出关系。
优选的,所述调度计划配置模块配置各个数据处理过程的调度计划信息具体为:配置所述数据处理过程的执行周期和/或推荐执行时间。
优选的,所述驱动准备子模块依据调度计划信息驱动数据处理过程准备开始执行,具体为:依据执行周期和推荐执行时间生成调度时间,在所述调度时间到达时驱动数据处理过程准备开始执行;或者,依据执行周期在预置时间点到达时驱动数据处理过程准备开始执行。
优选的,所述数据依赖判断子模块包括:
数据源获取单元,用于获取当前数据处理过程的输入关系的数据源;
依赖关系判断单元,用于判断所述输入关系的数据源是否为其它数据处理过程的输出关系的数据处理结果;如果是,则当前数据处理过程依赖于其它数据处理过程,判断当前数据处理过程存在数据依赖;如果否,则当前数据处理过程不依赖于其它数据处理过程,判断当前数据处理过程不存在数据依赖。
优选的,所述依赖判断子模块依据调度计划信息判断当前数据处理过程是否存在周期依赖,具体为:判断当前数据处理过程的执行周期是否大于等于被依赖的数据处理过程的执行周期;如果是,则判断当前数据处理过程存在周期依赖;如果否,则判断当前数据处理过程不存在周期依赖。
优选的,所述数据处理执行模块还包括:执行结果查询子模块,用于依据预置间隔时间的探测机制,对被依赖的数据处理过程的执行结果进行查询,获知被依赖的数据处理过程是否正确执行完毕。
与现有技术相比,本发明具有以下优点:
本发明提出的一种数据处理过程的协同方法,通过建立数据处理过程与元数据的输入输出关系的配置信息,以及配置各个数据处理过程的调度计划信息,能够依据所述配置信息和调度计划信息自动执行相应的数据处理过程,实现各个数据处理过程间的协同处理。由于无需对每个数据处理过程设定执行时间,减少了冗余的等待执行时间,提高ODS系统的数据处理效率。
进一步,本发明注重对数据处理周期的配置,推荐执行时间则作为辅助执行条件,以实现不同数据处理过程先后执行顺序。相比于现有技术的通过预估每个数据处理过程的执行耗时,制定每个数据处理过程的先后执行时间的方法,利用本发明的方法,配置人员无需关心具体数据处理过程的执行时间长度,而重点关注数据处理过程的执行周期,简化了数据处理过程的配置。
此外,相比于现有技术中,通过设定数据处理过程之间的执行依赖,实现数据处理过程的先后执行顺序的方法,本发明无需对执行依赖进行配置,而是根据数据驱动,自动判定数据处理过程间的依赖关系,同样的,简化了数据处理过程的配置,降低了对操作人员的业务要求。
附图说明
图1是ODS系统的数据架构示意图;
图2是本发明一种数据处理过程的协同方法实施例的流程图;
图3是本发明方法实施例的步骤201的子步骤的流程图;
图4是本发明方法实施例的步骤203的子步骤的流程图;
图5是具有依赖关系的两个数据处理过程的执行过程示意图;
图6是本发明一种数据处理过程的协同装置实施例的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图2,示出了本发明一种数据处理过程的协同方法实施例的流程图,包括:
步骤201,建立数据处理过程与元数据的输入输出关系的配置信息;所述元数据包括:数据源和数据处理结果;
ODS系统中的数据处理过程一般包括数据抽取、数据清洗、数据转换和数据加载四个流程环节。在本发明的技术方案中,将对数据处理过程的“数据抽取”和“数据加载”环节进行扩展,即:通过对数据整合过程中的“数据抽取”和“数据加载”环节的分析,获得数据处理过程涉及到的数据源(包 括数据库表数据源、文件数据源)和数据处理结果(一般是数据库表,也有数据文件),并采用元数据的方式把数据源、数据处理结果管理起来,并建立数据处理过程与这些元数据(数据源、数据处理结果)的输入输出关系的配置信息。
具体的,如图3所示,为步骤201的子步骤的流程图,包括:
子步骤2011,抽取数据处理过程的流程配置节点,并获得类型为“数据抽取”和“数据加载”的流程配置节点;
一般的,从ETL(Extraction-Transformation-Loading,数据抽取-转换-加载)模块中提取数据处理过程信息,每一条数据处理过程信息代表了一个数据处理过程,通过对数据处理过程信息的逐条分析获得流程配置节点。
子步骤2012,将从“数据抽取”类型的流程配置节点中分析出的源数据定义为数据源,并建立所述数据源与数据处理过程的输入关系;
子步骤2013,将从“数据加载”类型的流程配置节点中分析出的目标数据定义为数据处理结果,并建立所述数据处理结果与数据处理过程的输出关系。
其中,从流程配置节点中分析出的源数据或目标数据具体为:从所获得的流程配置节点提取数据处理的规则信息,通过数据处理规则信息及其相关的数据映射单元信息,分析出数据处理规则处理的数据。需要说明的是,ETL模块的实现是依赖于统一的规则模型,配置数据处理过程时,需要配置具体的执行规则,执行规则实现具体的数据处理操作。执行规则包括了规则的基本信息、规则的算法信息(FTP处理算法、SQLLoader处理算法、表复制处理算法、纵横表互转处理算法等)。数据映射单元与执行规则在配置上是相互独立的,但通过数据处理单元建立了两者的关系。例如一个表复制的规则,通过提取数据处理单元中配置的数据映射单元信息,实现将数据映射单元中配置好映射关系的两个(或者多个)实体间的数据进行转换。数据映射单元实现了由一张(或者多张)源表到一张目标表的字段映射关系。通过数据处理规则信息及其相关的数据映射单元信息,即可分析出数据处理规则处理的数据,即获得与流程配置节点相对应的源数据或目标数据。
步骤202,配置各个数据处理过程的调度计划信息;
其中,所述配置各个数据处理过程的调度计划信息具体为:配置所述数据处理过程的执行周期和/或推荐执行时间。
在本发明的数据处理过程中,需要配置每个数据处理过程的调度计划信息。重点是配置数据处理过程的执行周期(例如月、周、日等),执行周期定义了一个数据处理过程是按月执行还是按周或日执行,即以执行周期为时间间隔触发;其中,当配置按月执行时,会精确到具体每个月的哪一天;当配置按周执行时,会精确到具体每周的哪一天。此外,还可以给定数据处理过程的推荐执行时间,推荐执行时间是具体的时间点。本发明注重对数据处理周期的配置,每一个数据处理过程均配置执行周期;推荐执行时间则作为辅助执行条件,可以配置该信息,也可以不配置该信息。
步骤203,依据所述配置信息和调度计划信息执行相应的数据处理过程,实现各个数据处理过程间的协同处理。
具体的,如图4所示,为步骤203的子步骤的流程图,包括:
子步骤2031,依据调度计划信息驱动数据处理过程准备开始执行;
其中,具备推荐执行时间的,依据执行周期和推荐执行时间生成调度时间,在所述调度时间到达时驱动数据处理过程准备开始执行。调度时间是具体的时间点,是调度周期与推荐执行时间匹配后的结果,包含年月日时分秒。例如,某一数据处理过程的执行周期为:按周执行、每周周三;推荐执行时间为06:00:00,则在每周周三依据具体的调度时间,如2010年12月15日06:00:00驱动该数据处理过程准备开始执行。
不具备推荐执行时间的,依据执行周期在预置时间点到达时驱动数据处理过程开始执行。例如,预置时间点为00:00:00,执行周期为按天执行,则在每一天的00:00:00准备开始执行调度;又如,预置时间点为12:00:00,执行周期为按周执行、每周周一,则每一周第一天的12:00:00时准备开始执行调度。
子步骤2032,依据配置信息进行驱动检查,判断当前数据处理过程是否存在数据依赖;若是,则执行2033;若否,则执行2035;
数据驱动是本方案驱动数据处理过程执行的一个重要原则。一个数据处理过程在配置的调度时间启动时,需要进行数据驱动的判断,也即,依据配置信息判断当前数据处理过程是否存在数据依赖,具体包括:获取当前数据处理过程的输入关系的数据源;判断所述输入关系的数据源是否为其它数据处理过程的输出关系的数据处理结果;如果是,则当前数据处理过程依赖于其它数据处理过程,判断当前数据处理过程存在数据依赖;如果否,则当前数据处理过程不依赖于其它数据处理过程,判断当前数据处理过程不存在数据依赖。其中,所谓当前数据处理过程依赖于其它数据处理过程,也就是指当前数据处理过程的执行需要在其它数据处理过程结束处理后才能开始,即当前数据处理过程的开始执行依赖于其它数据处理过程的执行结果。
也就是说,通过将需要执行的数据处理过程的输入元数据到其它数据处理过程的输出元数据中进行核对,当核对结果中匹配到了其它的数据处理过程的输出元数据时,则认为出现了数据依赖。
子步骤2033,依据调度计划信息判断当前数据处理过程是否存在周期依赖;若是,则执行2034;若否,则执行2035;
周期依赖是本方案驱动数据处理过程执行的另一个重要原则。ODS系统中的众多数据处理过程的执行周期要求是不同的,在数据驱动的基础上,还需要增加周期的依赖,即,当两个不同执行周期的数据处理过程存在数据依赖的情况下,需要根据周期的情况来进行两个数据处理过程间是否存在周期依赖。其主要是实现原则为长周期的数据处理过程依赖于短周期的数据处理过程。所述依据调度计划信息判断当前数据处理过程是否存在周期依赖,具体为:判断当前数据处理过程的执行周期是否大于等于被依赖的数据处理过程的执行周期;如果是,则判断当前数据处理过程存在周期依赖;如果否,则判断当前数据处理过程不存在周期依赖。
以“用户话单数据处理过程”与“零次户统计报表数据处理过程”为例,进行说明。其中,“用户话单数据处理过程”的执行周期为“按日执行”,而“零次户统计报表数据处理过程”的执行周期为“按月执行、每月第一天”,且其处理的数据依赖于“用户话单数据处理过程”。因此,当每月1日准备 开始执行“零次户统计报表数据处理过程”时,调度计划在判定“零次户统计报表数据处理过程”存在数据依赖后,需要进一步判定二者的执行周期。基于本例,“零次户统计报表数据处理过程”的执行周期大于“用户话单数据处理过程”的执行周期。因此,“零次户统计报表数据处理过程”的执行必须依赖于上月最后一天的“用户话单数据处理过程”的成功执行才可以进行。
子步骤2034,暂停执行当前数据处理过程,直到被依赖的数据处理过程正确执行完毕,执行步骤2035;
如果当前数据处理过程满足数据依赖和周期依赖,即当前数据处理过程依赖于其它数据处理过程,且当前数据处理过程的周期大于等于被依赖的数据处理过程,则调度程序将控制这两个数据依赖的数据处理过程的先后执行顺序,暂停执行当前数据处理过程。被依赖的数据处理过程在没有正确执行完毕时,当前数据处理过程被挂起,直到其依赖的数据处理过程正确执行成功后才可激活,触发当前数据处理过程的暂停状态,进而恢复继续执行。其中,当前数据处理过程被挂起的过程中,依据预置间隔时间的探测机制,对被依赖的数据处理过程的执行结果进行查询,获知被依赖的数据处理过程是否正确执行完毕。
子步骤2035,执行当前数据处理过程。
如果当前数据处理过程不依赖于其它数据处理过程;或者当前数据处理过程依赖于其它数据处理过程,但当前数据处理过程的周期小于被依赖的数据处理过程,则其执行过程不受其它数据处理过程的影响,直接执行当前数据处理过程即可。
本发明提出的一种数据处理过程的协同方法,具备不同执行周期的数据处理过程间的协同能力,依据所述配置信息和调度计划信息自动执行相应的数据处理过程,实现各个数据处理过程间的协同处理,无需对每个数据处理过程设定执行时间,减少了冗余的等待执行时间,提高ODS系统的数据处理效率。
进一步,本发明注重对数据处理周期的配置,推荐执行时间则作为辅助 执行条件,以实现不同数据处理过程先后执行顺序。相比于现有技术中,通过预估每个数据处理过程的执行耗时,制定每个数据处理过程的先后执行时间,利用本发明的方法,配置人员无需关心具体数据处理过程的执行时间长度,而重点关注数据处理过程的周期配置,简化了数据处理过程的配置。
此外,相比于现有技术中,通过设定数据处理过程之间的执行依赖,实现数据处理过程的先后执行,本发明无需进行此种关系的配置,而是根据数据驱动,自动判定数据处理过程间的依赖关系,同样简化了数据处理过程的配置,降低了对操作人员的业务要求。
需要说明的是,在实际应用过程中,本发明一般不提供数据处理过程的执行周期的配置界面,数据处理过程的配置界面都是在原ETL工具中进行配置,以及进行周期、执行时间的配置。本方案采用增强模块的形式依附于原ETL工具,对其配置的数据处理过程中关心的信息进行抽取。
下面举一个具体的例子进行详细说明。参照图5,为具有依赖关系的两个数据处理过程的执行过程示意图。本实施例以“CRM订单数据处理过程”和“客户资料宽表处理过程”进行举例说明。其中,数据处理过程A为“CRM订单数据处理过程”,数据处理过程B为“客户资料宽表处理过程”,具体的处理过程如下:
S1,分别建立“CRM订单数据处理过程”与元数据的输入输出关系的配置信息,以及“客户资料宽表处理过程”与元数据的输入输出关系的配置信息;
抽取“CRM订单数据处理过程”和“客户资料宽表处理过程”的流程配置节点,并获得类型为“数据抽取”和“数据加载”的流程配置节点。
进一步,对于“CRM订单数据处理过程”,将从“数据抽取”类型的流程配置节点中分析出的元数据A定义为“CRM订单数据处理过程”的数据源,并建立元数据A与“CRM订单数据处理过程”的输入关系;将从“数据加载”类型的流程配置节点中分析出的元数据B定义为“CRM订单数据处理过程”的数据处理结果,并建立元数据B与“CRM订单数据处理过程” 的输出关系。
对于“客户资料宽表处理过程”,将从“数据抽取”类型的流程配置节点中分析出的元数据B定义为“客户资料宽表处理过程”的数据源,并建立元数据B与“CRM订单数据处理过程”的输入关系;将从“数据加载”类型的流程配置节点中分析出的元数据C定义为“客户资料宽表处理过程”的数据处理结果,并建立元数据C与“客户资料宽表处理过程”的输出关系。
S2,配置“CRM订单数据处理过程”和“客户资料宽表处理过程”的调度计划信息;
其中,针对“CRM订单数据处理过程”,配置其执行周期为“按天执行”,推荐执行时间为“0:30:00”;针对“客户资料宽表处理过程”,配置其执行周期为“按天执行”。
S3,分别依据调度计划信息驱动“CRM订单数据处理过程”和“客户资料宽表处理过程”准备开始执行;
针对“CRM订单数据处理过程”,按照执行周期“天”,推荐执行时间“00:30:00”,在每天的“00:30:00”驱动该数据处理过程准备开始执行。由于“客户资料宽表处理过程”不具备推荐执行时间,则依据执行周期在预置时间点,如每天的“00:00:00”驱动该数据处理过程准备开始执行.
S4,依据配置信息进行驱动检查,判断“客户资料宽表处理过程”依赖于“CRM订单数据处理过程”;
客户资料宽表处理过程”的输入关系的数据源为元数据B,“CRM订单数据处理过程”的输出关系的数据处理结果也为元数据B,则判断“客户资料宽表处理过程”依赖于“CRM订单数据处理过程”。
S5,依据调度计划信息判断“客户资料宽表处理过程”的执行周期等于“CRM订单数据处理过程”的执行周期,则暂停执行“客户资料宽表处理过程”;
S6,依据配置信息进行驱动检查,判断“CRM订单数据处理过程”不依赖于其它数据处理过程,在“03:30:00”直接驱动“CRM订单数据处理过程”开始执行;
S7,对“CRM订单数据处理过程”进行数据抽取、数据清洗、数据转换和数据加载这四个流程配置节点;
其中,通过预置间隔时间的探测机制,即每隔一段时间对“CRM订单数据处理过程”的执行结果进行查询,获知“CRM订单数据处理过程”是否正确执行完毕。
S8,“CRM订单数据处理过程”正确执行完毕,“客户资料宽表处理过程”结束暂停,开始执行;
S9,“客户资料宽表处理过程”进行数据抽取、数据清洗、数据转换和数据加载这四个流程配置节点,并正确执行完毕。
通过上述方法,实现了“CRM订单数据处理过程”,和“客户资料宽表处理过程”的协同处理。配置人员无需关心具体数据处理过程的执行时间长度,而重点关注数据处理过程的周期配置。例如,对于“客户数据宽表数据处理过程”,无需了解“CRM订单数据处理过程”的执行时间长度及执行开始时间,仅需要将调度计划的周期配置为“按日执行”即可,无需精确到“4:00分”。减少了具有依赖关系的数据处理过程的等待执行时间,提高ODS系统的数据处理效率。
可以理解的是,在ODS系统中存在大量的数据处理过程,包括同时进行的和具有执行先后顺序的多个数据处理过程。为方便说明,本发明实施例仅以上述两个数据处理过程为例进行介绍,其他的数据处理过程可相互参见。
参照图6,示出了本发明一种数据处理过程的协同装置实施例的结构图,包括:
配置信息建立模块601,用于建立数据处理过程与元数据的输入输出关系的配置信息;所述元数据包括:数据源和数据处理结果;
调度计划配置模块602,用于配置各个数据处理过程的调度计划信息;
数据处理执行模块603,用于依据所述配置信息和调度计划信息执行相应的数据处理过程,实现各个数据处理过程间的协同处理。
进一步,参照图6,所述配置信息建立模块601包括:
节点获取子模块6011,用于抽取数据处理过程的流程配置节点,并获得类型为“数据抽取”和“数据加载”的流程配置节点;
输入关系建立子模块6012,用于将从“数据抽取”类型的流程配置节点中分析出的源数据定义为数据源,并建立所述数据源与数据处理过程的输入关系;
输出关系建立子模块6013,用于将从“数据加载”类型的流程配置节点中分析出的目标数据定义为数据处理结果,并建立所述数据处理结果与数据处理过程的输出关系。
进一步,所述调度计划配置模块配置各个数据处理过程的调度计划信息具体为:配置所述数据处理过程的执行周期和/或推荐执行时间。
优选的,所述数据处理执行模块603包括:
驱动准备开始子模块6031,用于依据调度计划信息驱动数据处理过程准备开始执行;
数据依赖判断子模块6032,用于依据配置信息判断当前数据处理过程是否存在数据依赖;若否,直接触发数据处理执行子模块6033,若是,则触发周期依赖判断子模块6034;
数据处理执行子模块6033,用于执行当前数据处理过程;
周期依赖判断子模块6034,用于依据配置信息判断当前数据处理过程是否存在数据依赖;若否,暂停执行当前数据处理过程,直到被依赖的数据处理过程正确执行完毕,触发数据处理执行子模块6033,若是,则直接触发数据处理执行子模块6033。
在本发明的一个优选实施例中,所述驱动准备子模块依据调度计划信息驱动数据处理过程准备开始执行,具体为:
依据执行周期和推荐执行时间生成调度时间,在所述调度时间到达时驱动数据处理过程准备开始执行;或者,依据执行周期在预置时间点到达时驱动数据处理过程准备开始执行。
在本发明的一个优选实施例中,所述数据依赖判断子模块包括:
数据源获取单元,用于获取当前数据处理过程的输入关系的数据源;
依赖关系判断单元,用于判断所述输入关系的数据源是否为其它数据处理过程的输出关系的数据处理结果;如果是,则当前数据处理过程依赖于其它数据处理过程,判断当前数据处理过程存在数据依赖;如果否,则当前数据处理过程不依赖于其它数据处理过程,判断当前数据处理过程不存在数据依赖。
进一步,所述依赖判断子模块依据调度计划信息判断当前数据处理过程是否存在周期依赖,具体为:
判断当前数据处理过程的执行周期是否大于等于被依赖的数据处理过程的执行周期;如果是,则判断当前数据处理过程存在周期依赖;如果否,则判断当前数据处理过程不存在周期依赖。
在本发明的另一个优选实施例中,所述数据处理执行模块还包括:
执行结果查询子模块,用于依据预置间隔时间的探测机制,对被依赖的数据处理过程的执行结果进行查询,获知被依赖的数据处理过程是否正确执行完毕。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种数据处理过程的协同方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种数据处理过程的协同方法,其特征在于,包括:
建立数据处理过程与元数据的输入输出关系的配置信息;所述元数据包括:数据源和数据处理结果;
配置各个数据处理过程的调度计划信息;
依据所述配置信息和调度计划信息执行相应的数据处理过程,实现各个数据处理过程间的协同处理;
其中,所述依据所述配置信息和调度计划信息执行相应的数据处理过程,包括:
依据调度计划信息驱动数据处理过程准备开始执行;
依据配置信息进行驱动检查,判断当前数据处理过程是否存在数据依赖;
若否,则直接执行当前数据处理过程;
若是,则依据调度计划信息判断当前数据处理过程是否存在周期依赖;若是,则暂停执行当前数据处理过程,直到被依赖的数据处理过程正确执行完毕,执行当前数据处理过程;若否,则执行当前数据处理过程。
2.如权利要求1所述的方法,其特征在于,所述建立数据处理过程与元数据的输入输出关系的配置信息,包括:
抽取数据处理过程的流程配置节点,并获得类型为“数据抽取”和“数据加载”的流程配置节点;
将从“数据抽取”类型的流程配置节点中分析出的源数据定义为数据源,并建立所述数据源与数据处理过程的输入关系;
将从“数据加载”类型的流程配置节点中分析出的目标数据定义为数据处理结果,并建立所述数据处理结果与数据处理过程的输出关系。
3.如权利要求1所述的方法,其特征在于,所述配置各个数据处理过程的调度计划信息具体为:
配置所述数据处理过程的执行周期和/或推荐执行时间。
4.如权利要求1所述的方法,其特征在于,所述依据调度计划信息驱动数据处理过程准备开始执行,具体为:
依据执行周期和推荐执行时间生成调度时间,在所述调度时间到达时驱动数据处理过程准备开始执行;
或者,依据执行周期在预置时间点到达时驱动数据处理过程准备开始执行。
5.如权利要求1所述的方法,其特征在于,所述依据配置信息判断当前数据处理过程是否存在数据依赖,包括:
获取当前数据处理过程的输入关系的数据源;
判断所述输入关系的数据源是否为其它数据处理过程的输出关系的数据处理结果;
如果是,则当前数据处理过程依赖于其它数据处理过程,判断当前数据处理过程存在数据依赖;如果否,则当前数据处理过程不依赖于其它数据处理过程,判断当前数据处理过程不存在数据依赖。
6.如权利要求5所述的方法,其特征在于,所述依据调度计划信息判断当前数据处理过程是否存在周期依赖,具体为:
判断当前数据处理过程的执行周期是否大于等于被依赖的数据处理过程的执行周期;如果是,则判断当前数据处理过程存在周期依赖;如果否,则判断当前数据处理过程不存在周期依赖。
7.如权利要求1所述的方法,其特征在于,所述依据所述配置信息和调度计划信息执行相应的数据处理过程,还包括:
依据预置间隔时间的探测机制,对被依赖的数据处理过程的执行结果进行查询,获知被依赖的数据处理过程是否正确执行完毕。
8.一种数据处理过程的协同装置,其特征在于,包括:
配置信息建立模块,用于建立数据处理过程与元数据的输入输出关系的配置信息;所述元数据包括:数据源和数据处理结果;
调度计划配置模块,用于配置各个数据处理过程的调度计划信息;
数据处理执行模块,用于依据所述配置信息和调度计划信息执行相应的数据处理过程,实现各个数据处理过程间的协同处理;
其中,所述数据处理执行模块包括:
驱动准备开始子模块,用于依据调度计划信息驱动数据处理过程准备开始执行;
数据依赖判断子模块,用于依据配置信息判断当前数据处理过程是否存在数据依赖;若否,直接触发数据处理执行子模块,若是,则触发周期依赖判断子模块;
数据处理执行子模块,用于执行当前数据处理过程;
周期依赖判断子模块,用于依据配置信息判断当前数据处理过程是否存在数据依赖;若否,暂停执行当前数据处理过程,直到被依赖的数据处理过程正确执行完毕,触发数据处理执行子模块,若是,则直接触发数据处理执行子模块。
9.如权利要求8所述的装置,其特征在于,所述配置信息建立模块包括:
节点获取子模块,用于抽取数据处理过程的流程配置节点,并获得类型为“数据抽取”和“数据加载”的流程配置节点;
输入关系建立子模块,用于将从“数据抽取”类型的流程配置节点中分析出的源数据定义为数据源,并建立所述数据源与数据处理过程的输入关系;
输出关系建立子模块,用于将从“数据加载”类型的流程配置节点中分析出的目标数据定义为数据处理结果,并建立所述数据处理结果与数据处理过程的输出关系。
10.如权利要求8所述的装置,其特征在于,所述调度计划配置模块配置各个数据处理过程的调度计划信息具体为:
配置所述数据处理过程的执行周期和/或推荐执行时间。
11.如权利要求8所述的装置,其特征在于,所述驱动准备子模块依据调度计划信息驱动数据处理过程准备开始执行,具体为:
依据执行周期和推荐执行时间生成调度时间,在所述调度时间到达时驱动数据处理过程准备开始执行;
或者,依据执行周期在预置时间点到达时驱动数据处理过程准备开始执行。
12.如权利要求8所述的装置,其特征在于,所述数据依赖判断子模块包括:
数据源获取单元,用于获取当前数据处理过程的输入关系的数据源;
依赖关系判断单元,用于判断所述输入关系的数据源是否为其它数据处理过程的输出关系的数据处理结果;如果是,则当前数据处理过程依赖于其它数据处理过程,判断当前数据处理过程存在数据依赖;如果否,则当前数据处理过程不依赖于其它数据处理过程,判断当前数据处理过程不存在数据依赖。
13.如权利要求12所述的装置,其特征在于,所述依赖判断子模块依据调度计划信息判断当前数据处理过程是否存在周期依赖,具体为:
判断当前数据处理过程的执行周期是否大于等于被依赖的数据处理过程的执行周期;如果是,则判断当前数据处理过程存在周期依赖;如果否,则判断当前数据处理过程不存在周期依赖。
14.如权利要求8所述的装置,其特征在于,所述数据处理执行模块还包括:
执行结果查询子模块,用于依据预置间隔时间的探测机制,对被依赖的数据处理过程的执行结果进行查询,获知被依赖的数据处理过程是否正确执行完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106070974A CN102096857B (zh) | 2010-12-27 | 2010-12-27 | 一种数据处理过程的协同方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106070974A CN102096857B (zh) | 2010-12-27 | 2010-12-27 | 一种数据处理过程的协同方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102096857A CN102096857A (zh) | 2011-06-15 |
CN102096857B true CN102096857B (zh) | 2013-05-29 |
Family
ID=44129942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106070974A Active CN102096857B (zh) | 2010-12-27 | 2010-12-27 | 一种数据处理过程的协同方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102096857B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017070900A1 (zh) * | 2015-10-29 | 2017-05-04 | 华为技术有限公司 | 多核数字信号处理系统中处理任务的方法和装置 |
US10409786B2 (en) | 2016-09-19 | 2019-09-10 | Microsoft Technology Licensing, Llc | Deployment of applications confirming to application data sharing and decision service platform schema |
US9778964B1 (en) * | 2016-09-19 | 2017-10-03 | Microsoft Technology Licensing, Llc | Application data sharing and decision service platform |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093483A (zh) * | 2006-06-22 | 2007-12-26 | 上海全成通信技术有限公司 | 一种知识库数据采集刷新的方法 |
CN101105793A (zh) * | 2006-07-11 | 2008-01-16 | 阿里巴巴公司 | 数据仓库中的数据处理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588388B (zh) * | 2009-05-26 | 2011-12-21 | 中国科学院软件研究所 | 一种基于分布式适配的服务协作方法及其系统 |
-
2010
- 2010-12-27 CN CN2010106070974A patent/CN102096857B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093483A (zh) * | 2006-06-22 | 2007-12-26 | 上海全成通信技术有限公司 | 一种知识库数据采集刷新的方法 |
CN101105793A (zh) * | 2006-07-11 | 2008-01-16 | 阿里巴巴公司 | 数据仓库中的数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102096857A (zh) | 2011-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104536811B (zh) | 基于hive任务的任务调度方法及装置 | |
Seeanner et al. | Combining the principles of variable neighborhood decomposition search and the fix&optimize heuristic to solve multi-level lot-sizing and scheduling problems | |
CN1862575B (zh) | 计划调度定时任务的方法 | |
CN105630588A (zh) | 一种分布式作业调度方法和系统 | |
US20080244594A1 (en) | Visual scripting of web services for task automation | |
US20150127403A1 (en) | Calendar management system | |
CN103744730B (zh) | 一种任务调度方法和装置 | |
CN103593232B (zh) | 一种数据仓库的任务调度方法及装置 | |
WO2005101187A2 (en) | Grouping and displaying multiple tasks within an event object of an electronic calendar | |
WO2019142225A1 (ja) | 表示制御装置、プログラム及び表示制御方法 | |
CN107015849A (zh) | 定时任务的提醒方法及装置 | |
CN102096857B (zh) | 一种数据处理过程的协同方法和装置 | |
CN102930397B (zh) | 离散型企业智能作业控制方法 | |
CN110110306A (zh) | 数据展示方法、装置、终端及计算机可读存储介质 | |
CN109901818A (zh) | 用于软件架构设计的系统和方法 | |
JPWO2008117419A1 (ja) | 作業指示システム,作業指示方法,作業指示プログラムおよび作業指示装置 | |
Wang | An unreliable Geo/G/1 queue with startup and closedown times under randomized finite vacations | |
CN102982405B (zh) | 自动寻找具有从属关系产品的部件装配最佳路径的方法 | |
CN109634714A (zh) | 一种智能调度的方法及装置 | |
CN108509515A (zh) | 一种监控数据库批处理的方法和系统 | |
US20090327020A1 (en) | Intelligent task Deactivation In Project Scheduling Application | |
Schunselaar et al. | Petra: A tool for analysing a process family | |
CN116089040A (zh) | 业务流程的调度方法及其装置、电子设备及存储介质 | |
CN107562529A (zh) | 一种业务系统中定时任务的实现方法及装置 | |
US20070094186A1 (en) | Modular SQL rule-based management of job process flow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |