airflow调度系统作业调度方法及装置制造方法及图纸

技术编号:36580306 阅读:18 留言:0更新日期:2023-02-04 17:39
本发明专利技术提供一种airflow调度系统作业调度方法及装置,该方法包括:若监测到作业停止,则获取每个作业的运行标的时间,并存储至数据库;每隔预设周期从数据库中读取每个作业的运行标的时间;若作业的运行标的时间早于或等于当前时刻,则创建作业的运行实例,否则跳过对应的作业,直至遍历所有存在运行标的时间的作业。该方法通过对作业的停止状态进行监测,可及时发现因资源不足导致停止执行的作业,从而该不受资源阈值的限制。另外,通过周期轮询每个作业的运行标的时间,与当前时刻进行比较,作为作业执行的依据,从而确保作业按预期时间执行,还能够避免非必要的初始化,从而保证作业的准确执行,大大提高了大数据平台的调度效率。率。率。

【技术实现步骤摘要】
airflow调度系统作业调度方法及装置


[0001]本专利技术涉及大数据领域,尤其涉及一种airflow调度系统作业调度方法及装置。

技术介绍

[0002]随着大数据的发展,迫切需要一个调度系统来离线对大数据的数据进行数据分析及数据清洗,airflow应运而生。作为apache开源项目,airflow的使用越来越广泛,越来越多的企业或机构选择airflow作为离线处理的调度系统。然而,由于airflow刚孵化不久,存在一些不足之处。
[0003]假如,一个作业因一些特殊原因,比如由于资源限制,整个调度系统的资源达到阈值,导致该作业暂时无法解析执行。过了该作业应该执行的时间后,该作业才获得资源去执行,此时动态开始时间超过该了该作业实际应该执行的时间,那么该作业不会执行。

技术实现思路

[0004]针对现有技术存在的问题,本专利技术提供一种airflow调度系统作业调度方法及装置。
[0005]本专利技术提供一种airflow调度系统作业调度方法,包括:
[0006]若监测到作业停止,则获取每个作业的运行标的时间,并存储至数据库;每隔预设周期,从数据库中读取每个作业的运行标的时间;若作业的运行标的时间早于或等于当前时刻,则创建对应作业的运行实例,否则跳过对应的作业,直至遍历所有存在运行标的时间的作业。
[0007]根据本专利技术一个实施例的airflow调度系统作业调度方法,所述获取每个作业的运行标的时间,包括:
[0008]根据作业的调度周期和当前时刻,或者待执行时刻和当前时刻,确定作业的运行标的时间。
[0009]根据本专利技术一个实施例的airflow调度系统作业调度方法,所述获取每个作业的运行标的时间,包括:
[0010]为每个作业开启一个file process进程,分别处理每个作业文件,并判断每个作业是否处于停止状态;若作业处于停止状态,则获取作业的运行标的时间。
[0011]根据本专利技术一个实施例的airflow调度系统作业调度方法,所述每隔预设周期,从数据库中读取每个作业的运行标的时间,包括:
[0012]通过scheduler process进程,每隔预设周期从数据库中获取每个作业的运行标的时间。
[0013]根据本专利技术一个实施例的airflow调度系统作业调度方法,根据作业的调度周期和当前时刻,确定作业的运行标的时间,包括:将未来时间离当前时刻最近的待执行时刻作为作业的运行标的时间,其中,每个相邻待执行时刻的间隔为一个调度周期。
[0014]根据本专利技术一个实施例的airflow调度系统作业调度方法,所述创建对应作业的
运行实例之后,还包括:按照作业的调度周期,进行作业运行实例的创建。
[0015]本专利技术还提供一种airflow调度系统作业调度装置,包括:
[0016]标的时间生成模块,用于若监测到作业停止,则获取每个作业的运行标的时间,并存储至数据库;标的时间读取模块,用于每隔预设周期,从数据库中读取每个作业的运行标的时间;作业调度确定模块,用于若作业的运行标的时间早于或等于当前时刻,则创建对应作业的运行实例,否则跳过对应的作业,直至遍历所有存在运行标的时间的作业。
[0017]根据本专利技术一个实施例的airflow调度系统作业调度装置,所述标的时间生成模块,具体用于:
[0018]根据作业的调度周期和当前时刻,或者待执行时刻和当前时刻,确定作业的运行标的时间。
[0019]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述airflow调度系统作业调度方法的步骤。
[0020]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述airflow调度系统作业调度方法的步骤。
[0021]本专利技术提供的airflow调度系统作业调度方法及装置,通过对作业的停止状态进行监测,可及时发现因资源不足导致停止执行的作业,从而不受资源阈值的限制。另外,通过周期轮询每个作业的运行标的时间,与当前时刻进行比较,作为作业执行的依据,从而确保作业按预期时间执行,还能够避免非必要的初始化,从而保证作业的准确执行,大大提高了大数据平台的调度效率。
附图说明
[0022]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是本专利技术提供的airflow调度系统作业调度方法的流程示意图;
[0024]图2是本专利技术提供的airflow调度系统作业调度方法的时序图;
[0025]图3是本专利技术提供的airflow调度系统作业调度装置的结构示意图;
[0026]图4是本专利技术提供的电子设备的结构示意图。
具体实施方式
[0027]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0028]大数据可应用于多个领域,如电商领域、医疗领域、无人驾驶领域和安防领域。相应地,大数据平台的作业,可以是对各类数据进行挖机、清洗和分析等。随着越来越多开发者使用airflow作为调度平台,针对越来越多,越来与复杂的业务场景,airflow缺少一些适
用于部分功能的技术。例如,当长时间停止一个作业后再次启动,airflow会对该作业立刻执行一次距离当前时间最近的运行实例,但这其实并不是所期望的,可能期望当再次启动后,该作业会在今晚或第二天凌晨再去执行。
[0029]下面结合图1

图4描述本专利技术的airflow调度系统作业调度方法及装置。图1是本专利技术提供的airflow调度系统作业调度方法的流程示意图,如图1所示,本专利技术提供airflow调度系统作业调度方法,包括:
[0030]101、若监测到作业停止,则获取每个作业的运行标的时间,并存储至数据库。
[0031]运行标的时间,为作业运行的期望时间,是一个时刻值,根据作业的属性可以确定。例如,某个作业需要每天0点执行,以统计前一天的所有数据。考虑到每个作业直接生成airflow调度系统能够识别的时间不便,可首先根据作业属性,生成易于得出的start_date时间(如时间戳形式的表示向量),再根据start_date时间进行转换,生成便于airflow调度系统识别的运行标的时间,然后存储至数据库中,也可同时将作业运行标的时间和start_date同时保存到数据库dag中。
[0032]图2是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种airflow调度系统作业调度方法,其特征在于,包括:若监测到作业停止,则获取每个作业的运行标的时间,并存储至数据库;每隔预设周期,从数据库中读取每个作业的运行标的时间;若作业的运行标的时间早于或等于当前时刻,则创建对应作业的运行实例,否则跳过对应的作业,直至遍历所有存在运行标的时间的作业。2.根据权利要求1所述的airflow调度系统作业调度方法,其特征在于,所述获取每个作业的运行标的时间,包括:根据作业的调度周期和当前时刻,或者待执行时刻和当前时刻,确定作业的运行标的时间。3.根据权利要求1所述的airflow调度系统作业调度方法,其特征在于,所述获取每个作业的运行标的时间,包括:为每个作业开启一个file process进程,分别处理每个作业文件,并判断每个作业是否处于停止状态;若作业处于停止状态,则获取作业的运行标的时间。4.根据权利要求1

3任一项所述的airflow调度系统作业调度方法,其特征在于,所述每隔预设周期,从数据库中读取每个作业的运行标的时间,包括:通过scheduler process进程,每隔预设周期从数据库中获取每个作业的运行标的时间。5.根据权利要求2所述的airflow调度系统作业调度方法,其特征在于,根据作业的调度周期和当前时刻,确定作业的运行标的时间,包括:将未来时间离当前时刻最近的待执行时...

【专利技术属性】
技术研发人员:张强地
申请(专利权)人:海尔智家股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1