CN102279888B - 一种任务调度方法和系统 - Google Patents
一种任务调度方法和系统 Download PDFInfo
- Publication number
- CN102279888B CN102279888B CN201110243973.4A CN201110243973A CN102279888B CN 102279888 B CN102279888 B CN 102279888B CN 201110243973 A CN201110243973 A CN 201110243973A CN 102279888 B CN102279888 B CN 102279888B
- Authority
- CN
- China
- Prior art keywords
- task node
- task
- node
- current
- scheduling
- Prior art date
Links
- 238000000034 methods Methods 0.000 claims description 40
- 238000004140 cleaning Methods 0.000 claims description 27
- 239000000284 extracts Substances 0.000 claims description 22
- 230000000875 corresponding Effects 0.000 claims description 20
- 238000000605 extraction Methods 0.000 claims description 9
- 238000004321 preservation Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 4
- 238000010586 diagrams Methods 0.000 description 6
- 239000000203 mixtures Substances 0.000 description 2
- 238000006243 chemical reactions Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reactions Methods 0.000 description 1
- 230000001960 triggered Effects 0.000 description 1
Abstract
本发明公开了一种任务调度方法和系统。所述方法包括:在关系数据库中对各任务节点执行所需资源信息和各任务节点间的依赖关系分别进行配置;读取所述配置并将各任务节点初始化为网状关系结构;根据所述网状关系结构进行任务调度。本发明的技术方案,能剥离任务的具体实现和任务之间的依赖关系,使得系统实现更加灵活,能够根据具体业务的不同快速做出反应,进一步提高效率。
Description
一种任务调度方法和系统
技术领域
[0001] 本发明涉及数据业务处理技术领域,特别是涉及一种任务调度方法和系统。
背景技术
[0002] 数据分析的基础是要建立符合数据仓库模型的数据,这个过程由几部分组成:1)用户从数据源抽取出所需的数据;2)清洗掉不合法的数据;3)转换成符合预先定义好的数据仓库模型的数据;4)将符合数据仓库模型的数据装载到数据仓库中。即该过程包括:抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)这四个大部分。这个过程就是ETL (Extract-Transform-Load),是构建数据仓库的重要步骤。
[0003] ETL在实际中每个部分又由各个小步骤组成,每个步骤之间是有先后依赖关系的。例如:抽取C这个步骤是必须等待抽取A和抽取B这两个步骤都完成后才能进行。有时需要按照业务要做相应的改变:抽取A,B, C这三个步骤的具体实现不变,但是他们的先后依赖关系变化成了,抽取C必须等待抽取B完成,抽取B必须等待抽取A完成。也就是说每个步骤的具体实现不变,而步骤与步骤之间的先后依赖关系是要改变。
[0004] 现有的ETL任务调度系统中,由于每个步骤的具体实现和各个步骤之间的先后依赖关系掺杂在一起,很难针对业务需求的变更而做出快速的改变。
发明内容
[0005] 本发明提供了一种任务调度方法,该方法能够剥离任务的具体实现和任务之间的依赖关系。
[0006] 本发明还提供了一种任务调度系统,该系统能够剥离任务的具体实现和任务之间的依赖关系。
[0007] 为达到上述目的,本发明的技术方案是这样实现的:
[0008] 本发明公开了一种任务调度方法,该方法包括:
[0009] 在关系数据库中对各任务节点执行所需资源信息和各任务节点间的依赖关系分别进行配置;
[0010] 读取所述配置并将各任务节点初始化为网状关系结构;
[0011] 根据所述网状关系结构进行任务调度。
[0012] 本发明还公开了一种任务调度系统,该系统包括:
[0013] 配置模块,用于在数据库模块中的关系数据库中对各任务节点执行所需资源信息和各任务节点间的依赖关系分别进行配置;
[0014] 数据库模块,用于保存关系数据库;
[0015] 初始化模块,用于读取所述数据库模块中的关系数据库中的配置并将各任务节点初始化为网状关系结构保存到内存模块中;
[0016]内存模块,用于保存初始化模块生成的任务节点的网状关系结构;
[0017] 调度模块,用于根据内存模块中的所述网状关系结构进行任务调度。[0018] 由上述可见,本发明中,在关系数据库中对各任务节点执行所需资源信息和各任务节点间的依赖关系分别进行配置;读取所述配置并将各任务节点初始化为网状关系结构;根据所述网状关系结构进行任务调度的术方案,能剥离任务的具体实现和任务之间的依赖关系,使得系统实现更加灵活,能够根据具体业务的不同快速做出反应,进一步提高效率。
附图说明
[0019] 图1是本发明实施例中的一种任务调度方法的流程图;
[0020] 图2是本发明实施例中的一个网状关系结构图;
[0021 ] 图3是本发明实施例中的任务调度的流程图;
[0022] 图4是本发明实施例中的ETL业务调度的配置过程示意图;
[0023] 图5是本发明实施例中的一种任务调度系统的组成结构示意图。
具体实施方式
[0024] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0025] 图1是本发明实施例中的一种任务调度方法的流程图。如图1所示,该方法包括:
[0026] 101,在关系数据库中对各任务节点执行所需资源信息和各任务节点间的依赖关系分别进行配置。
[0027] 102,读取所述配置并将各任务节点初始化为网状关系结构。
[0028] 本步骤中,在内存中生成任务节点的网状关系结构,具体来说读取各任务节点间的依赖关系配置,生成任务节点的网状关系将结构,读取各任务节点执行所需的配置信息,在网状关系结构中的每个任务节点中保存该任务节点执行所需的资源信息;其中,在该网状关系结构中一个任务节点对应一个任务,各任务节点之间的网状关系表示各任务节点之间的依赖关系,在每个任务节点中保存有该任务节点的执行所需的资源信息。
[0029] 步骤101和102是任务调度系统的初始化过程。
[0030] 103,根据所述网状关系结构进行任务调度。
[0031 ] 从内存中的网状关系结构中的每个起始任务节点开始,根据各任务节点之间的依赖关系以及各任务节点中所保存的资源信息进行任务调度;其中,起始任务节点是没有被其它任务节点依赖的节点。
[0032] 本步骤103是任务调度系统的具体任务调度过程。
[0033] 图1所示的技术方案,由于预先在关系数据库中可以根据具体任务调度的具体情况对各任务节点执行所需资源信息和各任务节点间的依赖关系分别进行配置,且在实际进行任务调度时读取上述配置并将各任务节点初始化为网状关系结构,进而可以直接根据该网状关系结构进行任务调度,即本实施例能够剥离任务的具体实现和任务之间的依赖关系,使得系统实现更加灵活,能够根据具体业务的不同快速做出反应,进一步提高效率。
[0034] 图1所示方法中,所述硬盘上的关系数据库包括第一列表和第二列表,其中,第一列表中保存各任务节点之间的依赖关系;第二列表中保存各任务节点执行所需的资源信息。所述在关系数据库中对各任务节点执行所需资源信息和各任务节点间的依赖关系分别进行配置包括:在所述第一列表中配置各任务节点及其之间的依赖关系,其中包括至少一个起始任务节点和至少一个结束任务节点;在所述第二列表中配置各任务节点对应的执行所需资源息。
[0035] 从所述第一列表中读取各任务节点之间的依赖关系至内存中,以及从所述第二列表中读取各任务节点执行所需的资源信息至内存中。具体来说:读取第二列表中的各任务节点执行所需的资源信息,以及读取第一列表中的各任务节点之间的依赖关系;根据所读取的各任务节点执行所需的资源信息,在内存中构建各个任务节点,以及根据所读取的各任务节点之间的依赖关系,建立内存中的各任务节点之间的关系,形成任务节点的网状关系结构。
[0036] 第一列表和第二列表可以分别由两个表实现,也可以在一个表中实现。在第一列表中配置的初始节点可以有一个或多个,即可以实现一个或多个起始节点,同样,在第一列表中配置的结束节点也可以有一个或多个,即可以实现一个或多个结束节点;另外,还可以通过配置实现多层依赖关系。
[0037] 在本发明的一个实施例中的第一列表和第二列表分别如表1和表2所不,
[0038]
[0041]表2
[0042] 表1所表示的任务节点之间的依赖关系依次为:E1依赖E3,El依赖E4,E2依赖E4,E3不依赖任何节点,E4不依赖任何节点。
[0043] 表2表示的是:任务节点El执行所需的资源为Resourcel, E2执行所需的资源为Resource2, E3执行所需的资源为Resource3, E3执行所需的资源为Resource4。
[0044] 表I和表2保存在硬盘中。
[0045] 根据表I和表2生成的并保存到内存中的任务节点的网状关系结构如图2所示。图2是本发明实施例中的一个网状关系结构图。参见图2:首先从硬盘读取表2和表I中的信息,根据表2生成El、E2、E3、E4这四个任务节点,且每个任务节点中保存对应的资源信息,然后,根据表I中的依赖关系画出各节点之间的表示依赖关系的箭头。
[0046] 从图2可以直观地看出,El任务节点的执行必须依赖E3和E4任务节点的执行完毕,E2任务节点的执行必须依赖E4任务节点的执行完毕。每个任务节点的执行都需要相应的资源信息,这个资源信息保存在的网状关系结构中的每个任务节点上,例如,El中包含此任务节点执行所需的资源信息Resourcel。
[0047] 可见,在初始化过程中,将硬盘中的关系型数据转化为了内存中的网状关系结构。
[0048] 至此,已经详细说明了任务节点执行所需资源信息的配置和任务节点之间依赖关系的配置,以及从硬盘存储将这些配置读取到内存的初始化过程,为系统的流程调用做好准备工作。下面将详细说明任务节点的调度流程。
[0049] 图3是本发明实施例中的任务调度的流程图。如图3所示,包括:
[0050] 301,启动当前任务节点:若当前是流程的开始,则所述当前任务节点是起始任务节点,若当前不是流程的开始,则所述当前任务节点是当前到达的任务节点;其中,起始任务节点是没有被其它任务节点依赖的节点;执行步骤302。
[0051] 例如在,在图2所示的网状关系结构中,El,E2都是没有被依赖的起始任务节点,那么从El和E2开始启动,并且El和E2是并行启动的。
[0052] 302,判断当前任务节点是否依赖其它的任务节点,是则将当前任务节点转为等待状态,到达被依赖的任务节点,执行步骤301,否则执行步骤303。处于等待状态的任务节点被重新触发后执行303所述的流程。
[0053] 例如,El是依赖其它任务节点的,El依赖E3和E4,因此流程接下来到达E3和E4,同时El进入等待状态。对E3个E4执行步骤301所示的启动过程,由于E3和E4没有依赖的任务节点,因此对于E3和E4执行步骤303。
[0054] 303,根据当前任务节点中保存的资源信息,执行当前任务节点对应的任务;执行步骤304。
[0055] 例如,执行E3和E4的具体实现任务。
[0056] 304,判断当前任务节点对应的任务执行完毕,是则执行步骤305,否则执行继续执行步骤303。
[0057] 例如,E3和E4的具体实现执行完毕。
[0058] 305,判断当前任务节点是否被其它的任务节点依赖,是则执行步骤306,否则结束流程。
[0059] 例如,E3和E4被El依赖,因此对El执行306所述的步骤。
[0060] 306,触发处于等待状态的依赖于所述当前任务节点的任务节点,将该触发的任务节点作为当前节点,执行步骤303。
[0061] 例如,本步骤跟中,处于等待状态的El被重新触发,对El执行303〜305所示的过程,即执行El的具体实现,执行完毕后判断El没有被其它任务节点依赖,El这个分支结束。同时启动的E2分支的执行过程也遵循上述流程,这里不在赘述。
[0062] 可见,进一步的,本发明实施例中在关系数据库中配置的任务节点及初始化生成的网状关系结构中,包括至少一个起始任务节点和至少一个结束任务节点,即能应用于多个起始节点和多个结束节点的任务调度过程,更加适合ETL任务调度系统的运行。
[0063] 至此已说明了任务节点的调度流程。下面说明在ETL业务场景下本发明中的任务调度方法,执行过程。
[0064] 图4是本发明实施例中的ETL业务调度的配置过程示意图。在ETL场景下,各任务节点包括:抽取任务节点、清洗任务节点、转换任务节点和装载任务节点;其中:
[0065] 装载任务节点为依赖于其它装载任务节点或转换任务节点,且没有被其它任务节点依赖的起始任务节点;或者,装载任务节点为依赖于其它装载任务节点,且被其它装载任务节点依赖的节点;或者,装载任务节点为依赖于转换任务节点,且被其它装载任务节点依赖的节点;
[0066] 转换任务节点为依赖于清洗任务节点,且被装载任务节点依赖的节点;或者,转换任务节点为依赖于清洗任务节点,且被其它转换任务节点依赖的节点;或者,转换任务节点为依赖于其它转换任务节点,且被其它转换任务节点依赖的节点;或者,转换任务节点为依赖于其它转换任务节点,且被装载任务节点依赖的节点;
[0067] 清洗任务节点为依赖于抽取任务节点,且被转换任务节点依赖的节点;或者,清洗任务节点为依赖于抽取任务节点,且被其它清洗任务节点依赖的节点;或者,清洗任务节点为依赖于其它清洗任务节点,且被其它清洗任务节点依赖的节点;或者,清洗任务节点为依赖于其它清洗任务节点,且被转换任务节点依赖的节点;
[0068] 抽取任务节点为被其它抽取任务节点或清洗任务节点依赖,且没有依赖其它任务节点的结束任务节点;或者,抽取任务节点为依赖于其它抽取任务节点,且被其它抽取任务节点依赖的节点;或者,抽取任务节点为依赖于其它抽取任务节点,且被其它清洗任务节点依赖的节点。
[0069] 用户可以按照自己的需要定义ETL业务的配置,具体可如下:
[0070] I)过程组成:ETL的过程由四个阶段部分组成:抽取(Extract),清洗(Clean),转换(Transform),装载(Load),如图4中左侧的4个阶段所示。
[0071] 2)数据流向:原始数据经过ETL过程变成符合数据仓库模型的数据并存储到数据仓库中,如图4中上面的原始数据和下面符合数据仓库模型的数据。
[0072] 3)节点配置:ETL每个阶段的节点个数以及节点之间的关系可按照用户需要任意定制。如图4中:抽取阶段有El,E2, E3, E4, E5这5个抽取节点,清洗阶段有Cl, C2, C3, C4, C5这5个清洗节点,转换阶段有T1,T2,T3,T4,Τ5,Τ6,Τ7这7个转换节点,装载阶段有LI, L2, L3这3个装载节点。其中转换阶段按照用户需求可设置为:Τ7依赖Τ5和Τ6,Τ5和Τ6依赖Τ4。每个任务节点执行所需资源信息保存在该任务节点中。
[0073] 4)流程配置:抽取阶段没有依赖别的节点。清洗阶段Cl依赖El,C2依赖Ε2,C3依赖Ε2和Ε3,C4依赖Ε4,C5依赖Ε5。清洗阶段Tl依赖Cl和C2,Τ2依赖C3,Τ3依赖C3和C4,Τ4依赖C4和C5,Τ7依赖Τ5和Τ6,Τ5和Τ6依赖Τ4。装载阶段LI依赖Tl,L2依赖T1、T2、T3,L3 依赖 Τ7。
[0074] 根据图3所示的流程对图4所示的ETL业务进行调度时,由于有三个起始任务节点L1,L2和L3,因此启动三个分支,每个分支都执行图3所示的调度流程。这里不在赘述。
[0075] 图5是本发明实施例中的一种任务调度系统的组成结构示意图。如图5所示,该系统包括:配置模块500、初始化模块501、内存模块502、数据库模块503和调度模块504,其中:
[0076] 配置模块500,用于在数据库模块503中的关系数据库中对各任务节点执行所需资源信息和各任务节点间的依赖关系分别进行配置;
[0077] 数据库模块503,用于保存关系数据库;
[0078] 初始化模块501,用于读取所述数据库模块中的关系数据库中的配置并将各任务节点初始化为网状关系结构保存到内存模块中502 ;
[0079]内存模块502,用于保存初始化模块生成的任务节点的网状关系结构;
[0080] 调度模块504,用于根据内存模块502中的所述网状关系结构进行任务调度。
[0081] 在图5所示的任务调度系统中,初始化模块501,具体用于读取各任务节点间的依赖关系配置,生成任务节点的网状关系将结构,读取各任务节点执行所需的配置信息,在网状关系结构中的每个任务节点中保存该任务节点执行所需的资源信息。所述网状关系结构包括至少一个起始任务节点和至少一个结束任务节点,其中,所述起始任务节点是没有被其它任务节点依赖的节点。
[0082] 在图5所示的任务调度系统中,所述数据库模块503中的关系数据库包括第一列表和第二列表,其中,第一列表中保存各任务节点之间的依赖关系;第二列表中保存各任务节点执行所需的资源信息;
[0083] 所述配置模块500,用于在所述第一列表中配置各任务节点及其之间的依赖关系,其中包括至少一个起始任务节点和至少一个结束任务节点;用于在所述第二列表中配置各任务节点对应的执行所需资源信息;
[0084] 所述初始化模块501,用于读取第二列表中的各任务节点执行所需的资源信息,以及读取第一列表中的各任务节点之间的依赖关系,根据所读取的各任务节点执行所需的资源信息,在内存模块中构建各个任务节点,以及根据所读取的各任务节点之间的依赖关系,建立内存模块中的各任务节点之间的依赖关系,形成任务节点的网状关系结构。
[0085] 在图5所示的任务调度系统中,所述调度模块504通过执行以下步骤进行任务调度:
[0086] A、启动当前任务节点:若当前是流程的开始,所述当前任务节点是起始任务节点,若当前不是流程的开始,所述当前任务节点是当前到达的任务节点;其中,起始任务节点是没有被其它任务节点依赖的节点;
[0087] B、判断当前任务节点是否依赖其它的任务节点,是则将当前任务节点转为等待状态,到达被依赖的任务节点,执行步骤A,否则执行步骤C ;
[0088] C、根据当前任务节点中保存的资源信息,执行当前任务节点对应的任务,判断当前任务节点对应的任务是否执行完毕,是则执行步骤D,否则继续执行C ;
[0089] D、判断当前任务节点是否被其它的任务节点依赖,是则执行步骤E,否则结束流程;
[0090] E、触发处于等待状态的依赖于所述当前任务节点的任务节点,将该触发的任务节点作为当前任务节点,执行步骤C。[0091] 因此,在本发明的一个实施例中,所述调度模块504包括:
[0092] 任务调度子模块A:配置为启动当前任务节点,若当前是流程的开始,所述当前任务节点是起始任务节点,若当前不是流程的开始,所述当前任务节点是当前到达的任务节
占.[0093] 任务调度子模块B:配置为判断当前任务节点是否依赖其它的任务节点,是则将当前任务节点转为等待状态,到达被依赖的任务节点,调用任务调度子模块A,否则调用任务调度子模块C ;
[0094] 任务调度子模块C:配置为根据当前任务节点中保存的资源信息,执行当前任务节点对应的任务,判断当前任务节点对应的任务是否执行完毕,是则调用任务调度子模块D,否则继续执行当前任务结点对应的任务;
[0095] 任务调度子模块D:配置为判断当前任务节点是否被其它的任务节点依赖,是则调用任务调度子模块E,否则结束流程;
[0096] 任务调度子模块E:配置为触发处于等待状态的依赖于所述当前任务节点的任务节点,将该触发的任务节点作为当前任务节点,调用任务调度子模块C。
[0097] 需要说明的是,本系统实施例中的各功能模块或各功能单元可以参见上述图1所示方法实施例中各步骤工作原理和处理过程的相关描述,此处不再赘述。
[0098] 综上所述,本发明实施例中,在关系数据库中对各任务节点执行所需资源信息和各任务节点间的依赖关系分别进行配置;读取所述配置并将各任务节点初始化为网状关系结构;根据所述网状关系结构进行任务调度的术方案,能剥离任务的具体实现和任务之间的依赖关系,因此能剥离任务的具体实现和任务之间的依赖关系使得系统实现更加灵活,能够根据具体业务的不同快速做出反应,进一步提高效率。
[0099] 进一步的,本发明实施例中在关系数据库中配置的任务节点及初始化生成的网状关系结构中,包括至少一个起始任务节点和至少一个结束任务节点,即能应用于多个起始节点和多个结束节点的任务调度过程,更加适合ETL任务调度系统的运行。
[0100] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (7)
1.一种任务调度方法,其特征在于,该方法包括: 初始化过程:在关系数据库中对各任务节点执行所需资源信息和各任务节点间的依赖关系分别进行配置;读取所述配置并在内存中将各任务节点初始化为网状关系结构; 任务调度过程:根据所述网状关系结构进行任务调度; 其中,所述读取所述配置并在内存中将各任务节点初始化为网状关系结构包括: 读取各任务节点间的依赖关系配置,在内存中生成任务节点的网状关系结构,读取各任务节点执行所需的配置信息,在内存中的网状关系结构中的每个任务节点中保存该任务节点执行所需的资源信息; 所述网状关系结构包括至少一个起始任务节点和至少一个结束任务节点,其中,所述起始任务节点是没有被其它任务节点依赖的节点; 所述根据所述网状关系结构进行任务调度包括: A、启动当前任务节点:若当前是流程的开始,所述当前任务节点是起始任务节点,若当前不是流程的开始,所述当前任务节点是当前到达的任务节点;其中,起始任务节点是没有被其它任务节点依赖的节点; B、判断当前任务节点是否依赖其它的任务节点,是则将当前任务节点转为等待状态,到达被依赖的任务节点,执行步骤A,否则执行步骤C ; C、根据当前任务节点中保存的资源信息,执行当前任务节点对应的任务,判断当前任务节点对应的任务是否执行完毕,是则执行步骤D,否则继续执行C ; D、判断当前任务节点是否被其它的任务节点依赖,是则执行步骤E,否则结束流程; E、触发处于等待状态的依赖于所述当前任务节点的任务节点,将该触发的任务节点作为当前任务节点,执行步骤C。
2.根据权利要求1所述的方法,其特征在于,所述关系数据库包括第一列表和第二列表,其中,第一列表中保存各任务节点之间的依赖关系;第二列表中保存各任务节点执行所需的资源息。
3.根据权利要求2所述的方法,其特征在于,所述在关系数据库中对各任务节点执行所需资源信息和各任务节点间的依赖关系分别进行配置包括: 在所述第一列表中配置各任务节点及其之间的依赖关系,其中包括至少一个起始任务节点和至少一个结束任务节点;在所述第二列表中配置各任务节点对应的执行所需资源信息。
4.根据权利要求2所述的方法,其特征在于,所述读取各任务节点间的依赖关系配置包括: 从所述第一列表中读取各任务节点之间的依赖关系至内存中; 所述读取各任务节点执行所需的配置信息包括: 从所述第二列表中读取各任务节点执行所需的资源信息至内存中。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述各任务节点包括:抽取任务节点、清洗任务节点、转换任务节点和装载任务节点;其中: 装载任务节点为依赖于其它装载任务节点或转换任务节点,且没有被其它任务节点依赖的起始任务节点;或者,装载任务节点为依赖于其它装载任务节点,且被其它装载任务节点依赖的节点;或者,装载任务节点为依赖于转换任务节点,且被其它装载任务节点依赖的节点; 转换任务节点为依赖于清洗任务节点,且被装载任务节点依赖的节点;或者,转换任务节点为依赖于清洗任务节点,且被其它转换任务节点依赖的节点;或者,转换任务节点为依赖于其它转换任务节点,且被其它转换任务节点依赖的节点;或者,转换任务节点为依赖于其它转换任务节点,且被装载任务节点依赖的节点; 清洗任务节点为依赖于抽取任务节点,且被转换任务节点依赖的节点;或者,清洗任务节点为依赖于抽取任务节点,且被其它清洗任务节点依赖的节点;或者,清洗任务节点为依赖于其它清洗任务节点,且被其它清洗任务节点依赖的节点;或者,清洗任务节点为依赖于其它清洗任务节点,且被转换任务节点依赖的节点; 抽取任务节点为被其它抽取任务节点或清洗任务节点依赖,且没有依赖其它任务节点的结束任务节点;或者,抽取任务节点为依赖于其它抽取任务节点,且被其它抽取任务节点依赖的节点;或者,抽取任务节点为依赖于其它抽取任务节点,且被其它清洗任务节点依赖的节点。
6.一种任务 调度系统,其特征在于,该系统包括: 配置模块,用于在数据库模块中的关系数据库中对各任务节点执行所需资源信息和各任务节点间的依赖关系分别进行配置; 数据库模块,用于保存关系数据库; 初始化模块,用于读取所述数据库模块中的关系数据库中的配置并将各任务节点初始化为网状关系结构保存到内存模块中; 内存模块,用于保存初始化模块生成的任务节点的网状关系结构; 调度模块,用于根据内存模块中的所述网状关系结构进行任务调度; 其中, 所述初始化模块,具体用于读取各任务节点间的依赖关系配置,在内存模块中生成任务节点的网状关系将结构,读取各任务节点执行所需的配置信息,在内存模块中的网状关系结构中的每个任务节点中保存该任务节点执行所需的资源信息; 所述网状关系结构包括至少一个起始任务节点和至少一个结束任务节点,其中,所述起始任务节点是没有被其它任务节点依赖的节点; 所述调度模块包括: 任务调度子模块A:配置为启动当前任务节点,若当前是流程的开始,所述当前任务节点是起始任务节点,若当前不是流程的开始,所述当前任务节点是当前到达的任务节点; 任务调度子模块B:配置为判断当前任务节点是否依赖其它的任务节点,是则将当前任务节点转为等待状态,到达被依赖的任务节点,调用任务调度子模块A,否则调用任务调度子模块C ; 任务调度子模块C:配置为根据当前任务节点中保存的资源信息,执行当前任务节点对应的任务,判断当前任务节点对应的任务是否执行完毕,是则调用任务调度子模块D,否则继续执行当前任务结点对应的任务; 任务调度子模块D:配置为判断当前任务节点是否被其它的任务节点依赖,是则调用任务调度子模块E,否则结束流程; 任务调度子模块E:配置为触发处于等待状态的依赖于所述当前任务节点的任务节点,将该触发的任务节点作为当前任务节点,调用任务调度子模块C。
7.根据权利要求6所述的系统,其特征在于, 所述数据库模块中的关系数据库包括第一列表和第二列表,其中,第一列表中保存各任务节点之间的依赖关系;第二列表中保存各任务节点执行所需的资源信息; 所述配置模块,用于在所述第一列表中配置各任务节点及其之间的依赖关系,其中包括至少一个起始任务节点和至少一个结束任务节点;在所述第二列表中配置各任务节点对应的执行所需资源信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110243973.4A CN102279888B (zh) | 2011-08-24 | 2011-08-24 | 一种任务调度方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110243973.4A CN102279888B (zh) | 2011-08-24 | 2011-08-24 | 一种任务调度方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102279888A CN102279888A (zh) | 2011-12-14 |
CN102279888B true CN102279888B (zh) | 2014-04-30 |
Family
ID=45105330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110243973.4A CN102279888B (zh) | 2011-08-24 | 2011-08-24 | 一种任务调度方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102279888B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188306B (zh) * | 2011-12-30 | 2016-04-27 | 中国移动通信集团公司 | 分布式预处理方法和系统 |
CN103530740B (zh) * | 2013-10-25 | 2019-01-01 | 金蝶软件(中国)有限公司 | 一种对任务流程进行节点控制的方法及装置 |
CN103559583A (zh) * | 2013-11-08 | 2014-02-05 | 金蝶软件(中国)有限公司 | Erp系统中组织变更的方法及装置 |
CN104572257A (zh) * | 2014-07-30 | 2015-04-29 | 南京坦道信息科技有限公司 | 一种基于有限状态自动机的高并发多种类作业的统一协调调度算法 |
CN104536811B (zh) * | 2014-12-26 | 2018-10-16 | 广州华多网络科技有限公司 | 基于hive任务的任务调度方法及装置 |
CN105808619B (zh) | 2014-12-31 | 2019-08-06 | 华为技术有限公司 | 基于影响分析的任务重做的方法、影响分析计算装置及一键重置装置 |
CN105824809B (zh) * | 2015-01-04 | 2019-05-28 | 中国移动通信集团河北有限公司 | 一种etl调度的实现方法及装置 |
CN105045832B (zh) * | 2015-06-30 | 2018-08-07 | 北京奇艺世纪科技有限公司 | 一种数据采集方法及装置 |
CN105321045A (zh) * | 2015-11-04 | 2016-02-10 | 北京知聚科技有限公司 | 业务流程的形式化模型构建方法与系统 |
CN106168910B (zh) * | 2015-11-16 | 2019-11-08 | 华扬联众数字技术股份有限公司 | 程序调度和执行的方法、系统以及调度器和执行器 |
CN106933857B (zh) * | 2015-12-30 | 2020-12-29 | 创新先进技术有限公司 | 一种数据仓库中任务的调度方法、装置 |
CN107239468B (zh) * | 2016-03-29 | 2020-11-10 | 创新先进技术有限公司 | 任务节点管理方法及装置 |
CN105912588A (zh) * | 2016-03-31 | 2016-08-31 | 中国农业银行股份有限公司 | 一种基于内存计算的大数据可视化处理方法及系统 |
CN106293920A (zh) * | 2016-08-15 | 2017-01-04 | 北京票之家科技有限公司 | 任务调度方法及装置 |
CN106648859A (zh) * | 2016-12-01 | 2017-05-10 | 北京奇虎科技有限公司 | 一种任务调度方法和装置 |
CN110134499A (zh) * | 2019-03-29 | 2019-08-16 | 新智云数据服务有限公司 | 任务调度方法、任务调度系统、存储介质和计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897025A (zh) * | 2006-04-27 | 2007-01-17 | 南京联创科技股份有限公司 | 海量数据处理中多线程工作包并行的etl技术 |
CN101216782A (zh) * | 2007-12-29 | 2008-07-09 | 中国建设银行股份有限公司 | 一种金融数据实现etl加工的方法和系统 |
CN101477543A (zh) * | 2008-01-03 | 2009-07-08 | 埃森哲环球服务有限公司 | 用于自动化etl应用的系统和方法 |
CN101567013A (zh) * | 2009-06-02 | 2009-10-28 | 阿里巴巴集团控股有限公司 | 一种etl调度的实现方法及装置 |
-
2011
- 2011-08-24 CN CN201110243973.4A patent/CN102279888B/zh active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897025A (zh) * | 2006-04-27 | 2007-01-17 | 南京联创科技股份有限公司 | 海量数据处理中多线程工作包并行的etl技术 |
CN101216782A (zh) * | 2007-12-29 | 2008-07-09 | 中国建设银行股份有限公司 | 一种金融数据实现etl加工的方法和系统 |
CN101477543A (zh) * | 2008-01-03 | 2009-07-08 | 埃森哲环球服务有限公司 | 用于自动化etl应用的系统和方法 |
CN101567013A (zh) * | 2009-06-02 | 2009-10-28 | 阿里巴巴集团控股有限公司 | 一种etl调度的实现方法及装置 |
Non-Patent Citations (2)
Title |
---|
一种金融系统专用ETL工具的研究与实现;屈志毅等;《计算机工程》;20081020;第34卷(第20期);80-81、85 * |
屈志毅等.一种金融系统专用ETL工具的研究与实现.《计算机工程》.2008,第34卷(第20期), |
Also Published As
Publication number | Publication date |
---|---|
CN102279888A (zh) | 2011-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Casado et al. | Emerging trends and technologies in big data processing | |
Tsitsiklis et al. | On the power of (even a little) resource pooling | |
US8533728B2 (en) | Resource tracking method and apparatus | |
CN102831120B (zh) | 一种数据处理方法及系统 | |
CN101388844B (zh) | 一种数据流程的处理方法和系统 | |
CN100517236C (zh) | 智能卡嵌入式操作系统及其控制方法 | |
US9536014B1 (en) | Parallel processing of data | |
CN102541640B (zh) | 一种集群gpu资源调度系统和方法 | |
CN102214139B (zh) | 一种面向分布式系统的自动化测试的执行控制与调度方法 | |
CN103106249B (zh) | 一种基于Cassandra的数据并行处理系统 | |
CN102236581B (zh) | 用于数据中心的映射化简方法和系统 | |
CN103812949B (zh) | 一种面向实时云平台的任务调度与资源分配方法及系统 | |
KR20150042873A (ko) | 결함 내성 배치 처리 | |
US9361343B2 (en) | Method for parallel mining of temporal relations in large event file | |
CN104636204B (zh) | 一种任务调度方法与装置 | |
CN105760221B (zh) | 分布式计算框架的任务调派系统 | |
CN101944114B (zh) | 内存数据库和物理数据库间的数据同步方法 | |
CN105610972B (zh) | 集群式的任务调派系统 | |
TWI476608B (zh) | A distributed computing data merging method, system and device thereof | |
JP2012507074A (ja) | 分散ストレージシステムにおける定数ベースのトランザクショナルに一貫性のあるメンバシップ管理 | |
WO2012144647A1 (ja) | 仮想マシン管理装置、仮想マシン管理方法、及び、プログラム | |
CN104391989A (zh) | 一种分布式etl一体机系统 | |
CN105608223B (zh) | 针对kafka的Hbase数据库的入库方法和系统 | |
CN101772760B (zh) | 计算机执行方法以及计算机执行装置 | |
CN101650646B (zh) | 一种共享数据一致性的实现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C06 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
GR01 | Patent grant | ||
C14 | Grant of patent or utility model | ||
CP02 | Change in the address of a patent holder |
Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building A block 5 layer Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |