一种异步慢任务调度方法、装置、设备及介质与流程

    专利2022-07-08  80


    本发明涉及任务调度领域,特别涉及一种异步慢任务调度方法、装置、设备及介质。



    背景技术:

    当前,随着计算机的不断发展,人们对计算机的任务处理能力和资源利用能力提出了更高的要求,如何保证任务处理的效率和稳定性是目前广泛关注的问题。尤其是对于异步慢任务而言,如何在执行异步慢任务时合理充分的利用系统资源,缓解系统上下游处理能力不均的问题,是异步慢任务调度重点关注的问题。通用技术中,通过lts任务调度框架实现异步慢任务的调度,lts任务调度框架任务直接下发,可支持实时任务、定时任务和计划任务的调度,处理异步慢任务的效果并不好。通用技术中,还通过airflow任务调度平台实现任务调度,但airflow任务调度平台侧重于解构任务依赖,支持管理复杂工作流,对异步慢任务的调度缺少支持,降低了异步慢任务调度的能力。



    技术实现要素:

    有鉴于此,本发明的目的在于提供一种异步慢任务调度方法、装置、设备及介质,能够提高对异步慢任务调度的能力,解决系统上下游处理能力不均的问题。其具体方案如下:

    第一方面,本申请公开了一种异步慢任务调度方法,包括:

    接收异步慢任务,通过任务管理平台向所述异步慢任务添加配置参数;

    通过任务队列中间件,接收所述任务管理平台下发的含有所述配置参数的异步慢任务;

    利用任务集群中的任务执行单元,根据所述配置参数从所述任务队列中间件中领取并执行与所述任务集群对应的所述异步慢任务。

    可选的,所述通过任务管理平台向所述异步慢任务添加配置参数之后,还包括:

    监测所述任务管理平台中所述异步慢任务的任务下发状态;

    根据所述任务下发状态,从所述任务管理平台中提取出异常状态的异步慢任务,并将所述异常状态的异步慢任务重新加载到所述任务管理平台。

    可选的,所述配置参数包括任务类型、执行时间、集群类型和任务回调地址。

    可选的,所述利用任务集群中的任务执行单元,根据所述配置参数从所述任务队列中间件中领取并执行与所述任务集群对应的所述异步慢任务,包括:

    当所述任务集群中的任务执行单元处于空闲状态时,去查询所述任务队列中间件中异步慢任务的所述集群类型;

    根据所述集群类型,筛选出与所述任务执行单元所在的任务集群相匹配的异步慢任务,领取并执行所述异步慢任务。

    可选的,所述执行与所述任务集群的任务处理类型对应的所述异步慢任务之后,还包括:

    当所述异步慢任务执行完成后保存所述异步慢任务的执行结果;

    根据所述任务回调地址,将所述执行结果回调至与所述异步慢任务对应的任务调用方。

    可选的,所述执行与所述任务集群对应的所述异步慢任务的过程中,还包括:

    通过消息队列中间件获取所述任务集群上传的任务状态消息;

    通过所述任务管理平台查看所述消息队列中间件,以获取所述异步慢任务的状态信息。

    第二方面,本申请公开了一种异步慢任务调度装置,包括:

    任务管理模块,用于接收异步慢任务,通过任务管理平台向所述异步慢任务添加配置参数;

    中间模块,用于通过任务队列中间件,接收所述任务管理平台下发的含有所述配置参数的异步慢任务;

    任务执行模块,用于利用任务集群中的任务执行单元,根据所述配置参数从所述任务队列中间件中领取并执行与所述任务集群对应的所述异步慢任务。

    可选的,所述异步慢任务调度装置,还包括:

    任务状态获取模块,用于通过消息队列中间件获取所述任务集群上传的任务状态消息;通过所述任务管理平台查看所述消息队列中间件,以获取所述异步慢任务的状态信息。

    第三方面,本申请公开了一种电子设备,包括:

    存储器,用于保存计算机程序;

    处理器,用于执行所述计算机程序,以实现前述的异步慢任务调度方法。

    第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的异步慢任务调度方法。

    本申请中,接收异步慢任务,通过任务管理平台向所述异步慢任务添加配置参数;通过任务队列中间件,接收所述任务管理平台下发的含有所述配置参数的异步慢任务;利用任务集群中的任务执行单元,根据所述配置参数从所述任务队列中间件中领取并执行与所述任务集群对应的所述异步慢任务。可见,通过任务队列中间件接收异步慢任务,并由任务集群中的任务执行单元从任务队列中间件中主动领取对应的异步慢任务,由此,可以充分利用任务执行单元的资源,且保证任务执行单元不会出现堵塞等情况,通过含有中间件的分布式管理系统解决了系统上下游任务处理能力不均匀的问题,且任务管理与任务执行可以独立开发测试,互不影响,实现了核心功能的解耦,提高了异步慢任务调度的能力,提高了任务慢任务调度系统的易扩展性、易伸缩性、高容错性和高可用性。

    附图说明

    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

    图1为本申请提供的一种异步慢任务调度方法流程图;

    图2为本申请提供的一种具体的异步慢任务调度方法流程图;

    图3为本申请提供的一种具体的异步慢任务调度系统结构图;

    图4为本申请提供的一种异步慢任务调度装置结构示意图;

    图5为本申请提供的一种电子设备结构图。

    具体实施方式

    现有技术中,通过lts任务调度框架实现异步慢任务的调度,lts任务调度框架对任务直接下发导致处理异步慢任务的效果并不理想;还通过airflow任务调度平台实现任务调度,但airflow任务调度平台侧重于解构任务依赖,对异步慢任务的调度缺少支持,降低了异步慢任务调度的能力。为克服上述技术问题,本申请公开了一种分布式异步慢任务调度方法,可以提高异步慢任务调度的能力,提高任务慢任务调度系统的易扩展性、易伸缩性、高容错性和高可用性。

    本申请实施例公开了一种异步慢任务调度方法,参见图1所示,该方法可以包括以下步骤:

    步骤s11:接收异步慢任务,通过任务管理平台向所述异步慢任务添加配置参数。

    本实施例中,首先接收任务方下发的异步慢任务,然后通过任务管理平台对所述异步慢任务添加配置参数;上述异步慢任务可以理解为需要较长处理时间的异步任务,具体的,可以将在目标计算速度下,异步任务的处理时间超过目标阈值的任务作为所述异步慢任务;其中,上述配置参数可以包括异步慢任务的通用性参数,例如任务类型和任务执行时间。

    步骤s12:通过任务队列中间件,接收所述任务管理平台下发的含有所述配置参数的异步慢任务。

    本实施例中,在通过任务队列中间件,接收上述任务管理平台下发的含有上述配置参数的异步慢任务;可以理解的是,上述任务管理平台负责向任务队列中间件下发配置好参数的异步慢任务,上述任务管理平台可以通过与用户交互的方式,管理和控制异步慢任务的下发进度。

    步骤s13:利用任务集群中的任务执行单元,根据所述配置参数从所述任务队列中间件中领取并执行与所述任务集群对应的所述异步慢任务。

    本实施例中,利用任务集群中的任务执行单元,根据任务队列中异步慢任务的配置参数,主动领取与任务集群对应的异步慢任务进行处理;可以理解的是,一个异步慢任务调度系统可以包含一个或多个任务集群,每个任务集群可以负责处理一种类型的异步慢任务,由此通过多任务集群可以隔离不同类型的任务,并且每个任务集群中有一个或多个任务执行单元,以便同时执行多个异步慢任务,并避免不同任务间的相互影响,减少开发关注点,可以简化和缩短异步慢任务的开发、测试周期。

    本实施例中,接收异步慢任务,通过任务管理平台向所述异步慢任务添加配置参数;通过任务队列中间件,接收所述任务管理平台下发的含有所述配置参数的异步慢任务;利用任务集群中的任务执行单元,根据所述配置参数从所述任务队列中间件中领取并执行与所述任务集群对应的所述异步慢任务。可见,通过任务队列中间件接收异步慢任务,并由任务集群中的任务执行单元从任务队列中间件中主动领取对应的异步慢任务,由此,可以充分利用任务执行单元的资源,且保证任务执行单元不会出现堵塞等情况,通过含有中间件的分布式管理系统解决了系统上下游任务处理能力不均匀的问题,且任务管理与任务执行可以独立开发测试,互不影响,实现了核心功能的解耦,提高了异步慢任务调度的能力,提高了任务慢任务调度系统的易扩展性、易伸缩性、高容错性和高可用性。

    本申请实施例公开了一种具体的异步慢任务调度方法,参见图2所示,该方法可以包括以下步骤:

    步骤s21:接收异步慢任务,通过任务管理平台向所述异步慢任务添加配置参数。

    本实施例中,上述配置参数可以包括但不限于任务类型、执行时间、集群类型和任务回调地址;上述任务时间可以包括异步慢任务的开始时间和结束时间,由此通过配置的执行时间上述任务管理平台可以根据上述执行时间下发和管理任务;上述执行时间还可以包括超时时间,以便后续任务执行单元根据上述超时时间控制任务的执行时间;上述任务类型和集群类型可以便于任务执行单元领取并执行相应的异步慢任务。具体的,例如图3所示的异步慢任务调度框架,首先通过接收模块接收异步慢任务,上述接收模块还可以用于拦截、记录、限流和流量分析等切面功能,上述拦截功能可以根据实际需求进行调整。并且通过配置管理功能可以根据配置参数筛选出目标任务,并实时控制目标任务的当前进度。

    本实施例中,所述通过任务管理平台向所述异步慢任务添加配置参数之后,还可以包括:监测所述任务管理平台中所述异步慢任务的任务下发状态;根据所述任务下发状态,从所述任务管理平台中提取出异常状态的异步慢任务,并将所述异常状态的异步慢任务重新加载到所述任务管理平台。可以理解的是,在异步慢任务调度系统运行过程中,可能会以为网络等问题,造成任务下发出现问题,由此例如图3所示,可以通过重放服务,监测任务管理平台中异步慢任务的任务下发状态,然后根据任务下发状态,从任务管理平台中确定出异常状态的异步慢任务,并将处于异常状态的异步慢任务重新加载到任务管理平台,以便重新下发执行该异步慢任务。

    步骤s22:通过任务队列中间件,接收所述任务管理平台下发的含有所述配置参数的异步慢任务。

    步骤s23:当所述任务集群中的任务执行单元处于空闲状态时,去查询所述任务队列中间件中异步慢任务的所述集群类型。

    本实施例中,可以理解的是,当每个任务执行单元处理完当前的任务后,会主动去上述任务队列中间件中寻找对应的异步慢任务,由于不同的任务集群处理的任务类型不同,因此可以通过查看异步慢任务的配置参数中的集群类型确定出相应的异步慢任务。

    步骤s24:根据所述集群类型,筛选出与所述任务执行单元所在的任务集群相匹配的异步慢任务,领取并执行所述异步慢任务。

    本实施例中,任务执行单元根据异步慢任务的集群类型筛选出与任务执行单元所在的任务集群相匹配的异步慢任务,领取并执行上述异步慢任务;可以理解的是,例如图3所示,一个异步慢任务调度系统可以包含多个任务集群,每个任务集群可以负责处理一种类型的异步慢任务,并且每个任务集群中通过引擎框架可以分割出多个相互独立的任务执行单元,并由每个任务执行单元领取并执行相应的异步慢任务。

    本实施例中,所述执行与所述任务集群对应的所述异步慢任务的过程中,还可以包括:通过消息队列中间件获取所述任务集群上传的任务状态消息;通过所述任务管理平台查看所述消息队列中间件,以获取所述异步慢任务的状态信息。可以理解的是,例如图3所示,通过消息队列中间件可以获取每个任务集群上传的相应的异步慢任务的任务状态消息,以便任务管理平台可以通过监听上述消息队列中间件及时了解异步慢任务的执行的状态。

    步骤s25:当所述异步慢任务执行完成后保存所述异步慢任务的执行结果。

    本实施例中,例如图3所示,当上述任务执行单元执行完当前的异步慢任务后,可以将该异步慢任务的执行结果存储到任务存储服务器,以便保存每个异步慢任务的执行结果。

    步骤s26:根据所述任务回调地址,将所述执行结果回调至与所述异步慢任务对应的任务调用方。

    本实施例中,例如图3所示,任务执行单元将上述异步慢任务的执行结果存放到上述任务存储服务中后,由回调服务根据执行结果中异步慢任务的回调地址,将上述执行结果发送给相应的任务调度方,由此通过独立的回调服务可以保证异步慢任务执行结果的回调的可达性。

    其中,关于上述步骤s22的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。

    由上可见,本实施例中通过任务队列中间件,接收所述任务管理平台下发的含有所述配置参数的异步慢任务,当所述任务集群中的任务执行单元处于空闲状态时,去查询所述任务队列中间件中异步慢任务的所述集群类型,并根据所述集群类型,筛选出与所述任务执行单元所在的任务集群相匹配的异步慢任务,领取并执行所述异步慢任务。由此针对异步慢任务处理,任务管理的高速处理能力和任务执行引擎的耗时、高负载处理能力不匹配的问题,通过任务中间件和任务执行单元的任务主动领取,能够将任务管理和任务执行的处理能力充分利用起来,通过基础中间件实现削峰填谷的作用。

    相应的,本申请实施例还公开了一种异步慢任务调度装置,参见图4所示,该装置包括:

    任务管理模块11,用于接收异步慢任务,通过任务管理平台向所述异步慢任务添加配置参数;

    中间模块12,用于通过任务队列中间件,接收所述任务管理平台下发的含有所述配置参数的异步慢任务;

    任务执行模块13,用于利用任务集群中的任务执行单元,根据所述配置参数从所述任务队列中间件中领取并执行与所述任务集群对应的所述异步慢任务。

    本实施例中,接收异步慢任务,通过任务管理平台向所述异步慢任务添加配置参数;通过任务队列中间件,接收所述任务管理平台下发的含有所述配置参数的异步慢任务;利用任务集群中的任务执行单元,根据所述配置参数从所述任务队列中间件中领取并执行与所述任务集群对应的所述异步慢任务。可见,通过任务队列中间件接收异步慢任务,并由任务集群中的任务执行单元从任务队列中间件中主动领取对应的异步慢任务,由此,可以充分利用任务执行单元的资源,且保证任务执行单元不会出现堵塞等情况,通过含有中间件的分布式管理系统解决了系统上下游任务处理能力不均匀的问题,且任务管理与任务执行可以独立开发测试,互不影响,实现了核心功能的解耦,提高了异步慢任务调度的能力,提高了任务慢任务调度系统的易扩展性、易伸缩性、高容错性和高可用性。

    在一些具体实施例中,所述中间模块12具体可以包括:

    消息上报单元,用于通过消息队列中间件获取所述任务集群上传的任务状态消息;通过所述任务管理平台查看所述消息队列中间件,以获取所述异步慢任务的状态信息。

    在一些具体实施例中,所述任务执行模块13具体可以包括:

    查询单元,用于当所述任务集群中的任务执行单元处于空闲状态时,去查询所述任务队列中间件中异步慢任务的所述集群类型;

    任务获取单元,用于根据所述集群类型,筛选出与所述任务执行单元所在的任务集群相匹配的异步慢任务,领取并执行所述异步慢任务;其中,所述异步慢任务的配置参数包括任务类型、执行时间、集群类型和任务回调地址。

    在一些具体实施例中,所述异步慢任务调度装置具体还可以包括:

    任务监测单元,用于监测所述任务管理平台中所述异步慢任务的任务下发状态;

    重放单元,用于根据所述任务下发状态,从所述任务管理平台中提取出异常状态的异步慢任务,并将所述异常状态的异步慢任务重新加载到所述任务管理平台;

    结果存储单元,用于当所述异步慢任务执行完成后保存所述异步慢任务的执行结果;

    任务回调单元,用于根据所述任务回调地址,将所述执行结果回调至与所述异步慢任务对应的任务调用方。

    任务状态获取模块,用于通过消息队列中间件获取所述任务集群上传的任务状态消息;通过所述任务管理平台查看所述消息队列中间件,以获取所述异步慢任务的状态信息。

    进一步的,本申请实施例还公开了一种电子设备,参见图5所示,图中的内容不能被认为是对本申请的使用范围的任何限制。

    图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的异步慢任务调度方法中的相关步骤。

    本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。

    另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括异步慢任务在内的数据223等,存储方式可以是短暂存储或者永久存储。

    其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是windowsserver、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的异步慢任务调度方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20获取到的异步慢任务。

    进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的异步慢任务调度方法步骤。

    本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

    结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

    最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

    以上对本发明所提供的一种异步慢任务调度方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。


    技术特征:

    1.一种异步慢任务调度方法,其特征在于,包括:

    接收异步慢任务,通过任务管理平台向所述异步慢任务添加配置参数;

    通过任务队列中间件,接收所述任务管理平台下发的含有所述配置参数的异步慢任务;

    利用任务集群中的任务执行单元,根据所述配置参数从所述任务队列中间件中领取并执行与所述任务集群对应的所述异步慢任务。

    2.根据权利要求1所述的异步慢任务调度方法,其特征在于,所述通过任务管理平台向所述异步慢任务添加配置参数之后,还包括:

    监测所述任务管理平台中所述异步慢任务的任务下发状态;

    根据所述任务下发状态,从所述任务管理平台中提取出异常状态的异步慢任务,并将所述异常状态的异步慢任务重新加载到所述任务管理平台。

    3.根据权利要求1所述的异步慢任务调度方法,其特征在于,所述配置参数包括任务类型、执行时间、集群类型和任务回调地址。

    4.根据权利要求3所述的异步慢任务调度方法,其特征在于,所述利用任务集群中的任务执行单元,根据所述配置参数从所述任务队列中间件中领取并执行与所述任务集群对应的所述异步慢任务,包括:

    当所述任务集群中的任务执行单元处于空闲状态时,去查询所述任务队列中间件中异步慢任务的所述集群类型;

    根据所述集群类型,筛选出与所述任务执行单元所在的任务集群相匹配的异步慢任务,领取并执行所述异步慢任务。

    5.根据权利要求3所述的异步慢任务调度方法,其特征在于,所述执行与所述任务集群的任务处理类型对应的所述异步慢任务之后,还包括:

    当所述异步慢任务执行完成后保存所述异步慢任务的执行结果;

    根据所述任务回调地址,将所述执行结果回调至与所述异步慢任务对应的任务调用方。

    6.根据权利要求1至5任一项所述的异步慢任务调度方法,其特征在于,所述执行与所述任务集群对应的所述异步慢任务的过程中,还包括:

    通过消息队列中间件获取所述任务集群上传的任务状态消息;

    通过所述任务管理平台查看所述消息队列中间件,以获取所述异步慢任务的状态信息。

    7.一种异步慢任务调度装置,其特征在于,包括:

    任务管理模块,用于接收异步慢任务,通过任务管理平台向所述异步慢任务添加配置参数;

    中间模块,用于通过任务队列中间件,接收所述任务管理平台下发的含有所述配置参数的异步慢任务;

    任务执行模块,用于利用任务集群中的任务执行单元,根据所述配置参数从所述任务队列中间件中领取并执行与所述任务集群对应的所述异步慢任务。

    8.根据权利要求7所述的异步慢任务调度装置,其特征在于,还包括:

    任务状态获取模块,用于通过消息队列中间件获取所述任务集群上传的任务状态消息;通过所述任务管理平台查看所述消息队列中间件,以获取所述异步慢任务的状态信息。

    9.一种电子设备,其特征在于,包括:

    存储器,用于保存计算机程序;

    处理器,用于执行所述计算机程序,以实现如权利要求1至6任一项所述的异步慢任务调度方法。

    10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至6任一项所述的异步慢任务调度方法。

    技术总结
    本申请公开了一种异步慢任务调度方法、装置、设备及介质。该方法包括:接收异步慢任务,通过任务管理平台向所述异步慢任务添加配置参数;通过任务队列中间件,接收所述任务管理平台下发的含有所述配置参数的异步慢任务;利用任务集群中的任务执行单元,根据所述配置参数从所述任务队列中间件中领取并执行与所述任务集群对应的所述异步慢任务。可见,通过任务队列中间件接收异步慢任务,并由任务集群中的任务执行单元从任务队列中间件中主动领取对应的异步慢任务,由此,在充分利用任务执行单元资源的同时,通过含有中间件的分布式管理系统解决了系统上下游任务处理能力不均匀的问题,提高了异步慢任务调度的能力。

    技术研发人员:吕金鹏;刘定超;马栋梁;朱建涛;莫平忠;吴世民
    受保护的技术使用者:浙江诺诺网络科技有限公司
    技术研发日:2020.12.08
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-23003.html

    最新回复(0)