CN113656157A - 一种分布式任务调度方法、装置、存储介质及电子设备 - Google Patents
一种分布式任务调度方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113656157A CN113656157A CN202110912032.9A CN202110912032A CN113656157A CN 113656157 A CN113656157 A CN 113656157A CN 202110912032 A CN202110912032 A CN 202110912032A CN 113656157 A CN113656157 A CN 113656157A
- Authority
- CN
- China
- Prior art keywords
- task
- scheduling
- type
- component
- executor
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004458 analytical method Methods 0.000 claims abstract description 26
- 238000007726 management method Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 21
- 238000013500 data storage Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 239000002609 medium Substances 0.000 description 13
- 239000000243 solution Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 235000017166 Bambusa arundinacea Nutrition 0.000 description 1
- 235000017491 Bambusa tulda Nutrition 0.000 description 1
- 241001330002 Bambuseae Species 0.000 description 1
- 235000015334 Phyllostachys viridis Nutrition 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 239000011425 bamboo Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000012120 mounting media Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种分布式任务调度方法、装置、存储介质及电子设备。该方法包括:接收第三方应用发送的任务调度请求;其中,所述任务调度请求包括调度策略和任务类型;根据所述任务类型,确定与所述任务类型相对应的预先配置的分布式任务调度组件;其中,所述分布式任务调度组件包括任务管理组件、任务运行组件、任务分析组件以及任务统计组件中的至少一种;基于所述调度策略,利用所述分布式任务调度组件创建目标任务,并对所述目标任务进行调度执行。本技术方案,可以基于预先配置的分布式任务调度组件实现对各个任务调度的执行,工作效率高。且不需要开发多套访问程序,工作量低。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种分布式任务调度方法、装置、存储介质及电子设备。
背景技术
随着Web技术的发展,基于任务调度的Web服务在软件开发行业,得到了广泛的应用,各种任务调度框架如雨后春笋般发展起来。
从事信息化建设时,避免不了和各种任务调度的应用场景打交道。例如定时同步数据、轮询获取某个字段的状态信息、定期清理日志数据或者周期性统计分析等。当面对不同应用场景的调度任务进行操作时,为了实现不同的调度任务及调度需求,每次都需要重构代码才能达到目标。
因此,应用中会产生大量重复性的编码、操作调度任务的代码逻辑繁琐,运行效率低下,不同的任务调度引擎其上层的交互接口及参数结构不尽相同,需要开发多套与之对应的客户端访问程序,代码开发的工作量繁重且无法复用。
发明内容
本申请实施例提供一种分布式任务调度方法、装置、存储介质及电子设备,可以基于预先配置的分布式任务调度组件实现对各个任务调度的执行,工作效率高。且不需要开发多套访问程序,工作量低。
第一方面,本申请实施例提供了一种分布式任务调度方法,该方法包括:
接收第三方应用发送的任务调度请求;其中,所述任务调度请求包括调度策略和任务类型;所述调度策略用于表征任务调度执行的步骤;所述任务类型包括任务管理类型、任务运行类型、任务分析类型以及任务统计类型中的至少一种;
根据所述任务类型,确定与所述任务类型相对应的预先配置的分布式任务调度组件;其中,所述分布式任务调度组件包括任务管理组件、任务运行组件、任务分析组件以及任务统计组件中的至少一种;
基于所述调度策略,利用所述分布式任务调度组件创建目标任务,并对所述目标任务进行调度执行。
第二方面,本申请实施例提供了一种分布式任务调度装置,该装置包括:
任务调度请求接收模块,用于接收第三方应用发送的任务调度请求;其中,所述任务调度请求包括调度策略和任务类型;所述调度策略用于表征任务调度执行的步骤;所述任务类型包括任务管理类型、任务运行类型、任务分析类型以及任务统计类型中的至少一种;
分布式任务调度组件确定模块,用于根据所述任务类型,确定与所述任务类型相对应的预先配置的分布式任务调度组件;其中,所述分布式任务调度组件包括任务管理组件、任务运行组件、任务分析组件以及任务统计组件中的至少一种;
目标任务执行模块,用于基于所述调度策略,利用所述分布式任务调度组件创建目标任务,并对所述目标任务进行调度执行。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的分布式任务调度方法。
第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的分布式任务调度方法。
本申请实施例所提供的技术方案,接收第三方应用发送的任务调度请求;任务调度请求包括调度策略和任务类型;根据任务类型,能够确定与任务类型相对应的预先配置的分布式任务调度组件;并基于调度策略,利用与任务类型相对应的预先配置的分布式任务调度组件创建目标任务,并对目标任务进行调度执行。本技术方案,可以基于预先配置的分布式任务调度组件实现对各个任务调度的执行,工作效率高。且不需要开发多套访问程序,工作量低。
附图说明
图1是本申请实施例一提供的分布式任务调度方法的流程图;
图2是本申请实施例二提供的分布式任务调度过程的示意图;
图3是本申请实施例二提供的分布式任务调度组件的总体架构的示意图;
图4是本申请实施例三提供的分布式任务调度装置的结构示意图;
图5是本申请实施五例提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本申请实施例一提供的分布式任务调度方法的流程图,本实施例可适用于对第三方应用发送的任务调度请求进行处理的情况,该方法可以由本申请实施例所提供的分布式任务调度装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于用于任务调度处理的智能终端等设备中。
如图1所示,所述分布式任务调度方法包括:
S110、接收第三方应用发送的任务调度请求;其中,所述任务调度请求包括调度策略和任务类型;所述调度策略用于表征任务调度执行的步骤;所述任务类型包括任务管理类型、任务运行类型、任务分析类型以及任务统计类型中的至少一种;
在本方案中,提供一种通用的分布式任务调度组件,第三方应用可以通过该组件对外提供的服务接口,实现对任务调度的执行。分布式任务调度组件可以是一种基于RESTFul(Representational State Transfer)接口的,具备DAG(Directed AcyclicGraph)有向无环图特性的分布式任务调度及管理服务。可以封装为一种通用的任务调度服务组件或应用程序,独立部署及运行。第三方应用可以通过该组件对外提供的REST服务接口,使用统一标准、统一形式的任务管理服务、任务运行服务、任务分析服务以及任务统计服务等四大类服务接口,实现对调度任务的动态创建和管理、任务的单步调试和调度运行、任务的执行优先级设置、任务的超时时间控制以及同时可以对任务的执行过程进行人工干预。例如,任务的暂停、恢复和停止等,支持对任务的执行状态进行实时监测。并提供了任务执行耗时评估、任务执行统计信息等一系列的对外服务接口,用于完成任务调度的各种使用场景,以及复杂性的操作及管理控制等需求。
在本实施例中,任务调度请求可以是指对任务调度处理的需求。例如,任务调度请求可以是将a数据库的数据复制到b数据库,也可以是设置任务一小时执行一次。
其中,任务类型可以是指任务所处的业务场景。任务管理类型包括基于标准的调度策略及调度参数,设置调度任务的开始和结束时间;设定调度任务的有效期;使用crontab表达式对调度策略进行设置;手动、定时以及周期性的执行任务;对任务中的各个作业节点根据标准的DAG数据结构,进行自定义的任务编排,完成具有前后置依赖和特定执行逻辑的调度任务,使调度任务在具体的应用场景下,具备前后执行的逻辑关系和业务上的连贯性。任务运行类型包括对任务的执行优先级进行设定,按照设定好的优先级将任务推送到执行队列;在执行队列中对任务的优先级进行变更,使优先级更高的任务优先执行;对任务执行的超时时间进行控制,防止任务在执行过程中出现假死的情况,避免任务假死后占用服务器资源,影响其他任务的正常执行;设置多种类型的作业执行器,可应对不同的调度需求及调度场景;设置数据源的自动注入,可支持大部分常见的关系型数据库。例如,MySQL、Oracle、PostgreSQL、GreenPlum、SqlServer、DB2等,同时也可支持非结构化以及文件类型的数据存储。例如,Hive数据仓库和HDFS分布式文件系统等;对任务进行单步调试,可测试任务在每个作业节点上的执行情况以及健康状态,对任务进行暂停、恢复和停止等操作。任务统计类型包括对任务及作业的执行耗时进行评估和统计,对任务的执行状态进行实时监测,查看任务的执行日志。
在本技术方案中,可选的,接收第三方应用发送的任务调度请求,包括:
若第三方应用发送的任务调度请求满足服务接口条件,则接收第三方应用发送的任务调度请求;其中,所述服务接口条件包括:限流约束条件、安全访问控制条件以及负载均衡条件。
其中,限流约束条件可以是指接收第三方应用发送的任务调度请求的次数。例如,设置限流次数为100次,则只能接收100次第三方应用发送的任务调度请求。
在本实施例中,安全访问控制条件可以是指通过某种途径准许或者限制访问能力,从而控制对第三方应用对接口进行访问,防止非法用户的侵入或者合法用户的不慎操作所造成的破坏。例如,可以通过加密等方式进行安全访问。
其中,负载均衡条件可以是指需要根据接口的负载情况进行访问。
在本方案中,网关层使用SpringBoot集成Nacos和Nginx等组件,提供了接口的限流、路由、安全访问控制以及负载均衡策略等。
通过判断第三方应用发送的任务调度请求是否满足服务接口条件,可以提高接口的可用性和稳定性。
S120、根据所述任务类型,确定与所述任务类型相对应的预先配置的分布式任务调度组件;其中,所述分布式任务调度组件包括任务管理组件、任务运行组件、任务分析组件以及任务统计组件中的至少一种;
在本方案中,分布式任务调度组件用于提供统一的接口接收第三方应用发送的任务调度请求。通过网关路由确定与任务类型相对应的分布式调度组件。可选的,由任务管理组件对任务管理类型的任务进行调度执行;由任务运行组件对任务运行类型的任务进行调度执行;由任务分析组件对任务分析类型的任务进行调度执行;由任务统计组件对任务统计类型的任务进行调度执行;
S130、基于所述调度策略,利用所述分布式任务调度组件创建目标任务,并对所述目标任务进行调度执行。
在本方案中,由分布式任务调度组件中的调度执行层根据调度策略创建目标任务,并对目标任务进行执行。
在本实施例中,分布式任务调度组件对外提供了风格统一、功能齐备的RESTFul接口,提供了一整套用于对任务调度服务进行管理和操作的方法。并且提供了Swagger接口API文档,方便第三方应用查阅接口文档,进行参数的组合与接口的调用。
本申请实施例所提供的技术方案,接收第三方应用发送的任务调度请求;任务调度请求包括调度策略和任务类型;根据任务类型,能够确定与任务类型相对应的预先配置的分布式任务调度组件;并基于调度策略,利用与任务类型相对应的预先配置的分布式任务调度组件创建目标任务,并对目标任务进行调度执行。通过执行本技术方案,可以基于预先配置的分布式任务调度组件实现对各个任务调度的执行,工作效率高。不需要开发多套访问程序,工作量低。且具有服务端可跨平台、可对接多种编程语言的优点。
实施例二
图2是本申请实施例二提供的分布式任务调度过程的示意图,本实施例二在实施例一的基础上进行进一步地优化。具体优化为:所述目标任务进行调度执行,包括:对所述目标任务进行任务调度,得到待处理调度任务;其中,所述任务调度包括任务步骤控制、任务执行优先级控制以及任务超时控制;通过作业执行器对所述待处理调度任务进行处理,得到执行结果,并将所述执行结果进行反馈。其中,未在本实施例中详尽描述的内容详见实施例一。如图2所示,该方法包括以下步骤:
S210、接收第三方应用发送的任务调度请求;其中,所述任务调度请求包括调度策略和任务类型;所述调度策略用于表征任务调度执行的步骤;所述任务类型包括任务管理类型、任务运行类型、任务分析类型以及任务统计类型中的至少一种;
S220、根据所述任务类型,确定与所述任务类型相对应的预先配置的分布式任务调度组件;其中,所述分布式任务调度组件包括任务管理组件、任务运行组件、任务分析组件以及任务统计组件中的至少一种;
S230、基于所述调度策略,利用所述分布式任务调度组件创建目标任务,对所述目标任务进行任务调度,得到待处理调度任务;其中,所述任务调度包括任务步骤控制、任务执行优先级控制以及任务超时控制;
在本实施例中,可以基于调度执行层的任务调度引擎根据调度策略创建目标任务。例如,目标任务可以是将a数据库数据复制到b数据库,则待处理调度任务可以是先从a数据库读取数据,得到目标数据,将目标数据进行传输至b数据库。其中,可以通过读取调度策略中的关键字段,根据关键字段创建目标任务。
S240、通过作业执行器对所述待处理调度任务进行处理,得到执行结果,并将所述执行结果进行反馈。
其中,作业执行器可以是指用于对任务中各个作业进行执行的引擎。
在本实施例中,执行结果可以是指对待处理调度任务进行运行得到的结果。可选的,执行结果可以是执行成功或者执行失败等。并由作业执行器将执行结果反馈给第三方应用。
在本技术方案中,可选的,通过作业执行器对所述待处理调度任务进行处理,包括:
根据任务类型,确定与任务类型相匹配的作业执行器,并通过所述作业执行器对所述待处理调度任务进行处理。
在本实施例中,任务类型与作业执行器之间的匹配关系是预先进行设置的,可以通过读取任务类型中的关键字段,确定与任务类型相匹配的作业执行器。
通过对作业执行器进行确定,可以对多种业务类型的任务调度请求进行处理,提高了工作效率,且能够满足定制化的任务调度需求和业务。
在本技术方案中,可选的,所述作业执行器包括SPARK执行器、SQL执行器和HTTP执行器;
相应的,根据任务类型,确定与任务类型相匹配的作业执行器,包括:
若所述任务类型是任务管理类型,则确定与所述任务类型相匹配的作业执行器是SQL执行器;
若所述任务类型是任务运行类型,则确定与所述任务类型相匹配的作业执行器是HTTP执行器;
若所述任务类型是任务分析类型或任务统计类型,则确定与所述任务类型相匹配的作业执行器是SPARK执行器。
其中,Spark执行器用于负责在Spark作业中运行任务,任务间相互独立。
在本实施例中,SQL执行器是一个静态类,用于执行非查询的SQL语句和查询的SQL语句。
在本方案中,通过预留接口,可以扩展其他任意类型的执行器,满足定制化的任务调度需求和业务。例如,可以扩展Python、Flink或者Shell执行器。
通过对作业执行器进行确定,可以对多种业务类型的任务调度请求进行处理,提高了工作效率,且能够满足定制化的任务调度需求和业务。
在本技术方案中,可选的,通过所述作业执行器对所述待处理调度任务进行处理,包括:
若在对待处理调度任务处理过程中产生数据读取请求,则基于数据访问层对数据存储层中的数据进行读取,得到目标数据,并将目标数据反馈至作业执行器。
在本方案中,数据访问层提供了结构化数据访问服务、非结构化数据访问服务和HDFS文件操作服务。
其中,数据存储层支持结构化数据存储、非结构化数据存储和文件存储。其中,结构化数据存储支持MySQL、Oracle、PostgreSQL、GreenPlum、SqlServer以及DB2等大部分常见的关系型数据库;非结构化存储主要是针对Hive数据仓库;文件存储主要是针对基于HDFS的分布式文件系统。
在本方案中,若第三方应用发送的任务调度请求中包含数据读取请求,则可以直接基于数据访问层调用数据存储层中数据进行任务处理。
通过数据访问层对数据存储层的数据进行访问和操作,可以实现对各个任务的调度执行,提高了工作效率。
在本技术方案中,可选的,若在对待处理调度任务处理过程中产生数据读取请求,则基于数据访问层对数据存储层中的数据进行读取,包括:
基于预先配置的适配器确定所述数据读取请求中的字段信息;
根据所述字段信息,确定与所述字段信息相关联的数据访问层,并基于所述数据访问层对数据存储层中的数据进行读取;其中,所述数据访问层包括结构化数据访问服务、非结构化数据访问服务和HDFS文件操作服务;所述数据存储层包括结构化数据存储、非结构化数据存储和文件存储。
在本方案中,针对每一种业务类型创建一个适配器,基于适配器进行接口切换,确定与数据读取请求中字段信息相关联的数据访问层,并由数据访问层读取数据存储层中的数据。其中,由数据访问层中的结构化数据访问服务访问结构化数据存储;由非结构化数据访问服务访问非结构化数据存储;由HDFS文件操作服务访问文件存储。
通过提供一种基于RESTFul接口的,具备DAG有向无环图特性的分布式任务调度及管理服务,可以实现对各个任务调度的执行,工作效率高。且不需要开发多套访问程序,工作量低。
示例性的,图3是本申请实施例二提供的分布式任务调度组件的总体架构的示意图,如图3所示,分布式任务调度组件包括前置层、网关和后置层。前置层包括任务管理服务、任务运行服务、任务分析服务以及任务统计服务,用于提供统一的接口供第三方应用使用。网关包括认证、路由和限流。其中,路由用于指定前置接口层中的服务于后置业务层模块之间的关联关系。前置接口层接口第三方应用发送的任务调度请求,将任务调度请求发送至后置业务层。由后置业务层将任务调度请求传输至调度执行层或者数据访问层。由调度执行层对任务进行处理。由数据访问层对任务所需的数据进行读取。
本申请实施例所提供的技术方案,接收第三方应用发送的任务调度请求;任务调度请求包括调度策略和任务类型;根据任务类型,能够确定与任务类型相对应的预先配置的分布式任务调度组件;基于调度策略,利用与任务类型相对应的预先配置的分布式任务调度组件创建目标任务,对目标任务进行任务调度,得到待处理调度任务;通过作业执行器对待处理调度任务进行处理,得到执行结果,并将执行结果进行反馈。通过执行本技术方案,可以基于预先配置的分布式任务调度组件实现对各个任务调度的执行,工作效率高。且不需要开发多套访问程序,工作量低。
实施例三
图4是本申请实施例三提供的分布式任务调度装置的结构示意图,如图4所示,分布式任务调度装置包括:
任务调度请求接收模块410,用于接收第三方应用发送的任务调度请求;其中,所述任务调度请求包括调度策略和任务类型;所述调度策略用于表征任务调度执行的步骤;所述任务类型包括任务管理类型、任务运行类型、任务分析类型以及任务统计类型中的至少一种;
分布式任务调度组件确定模块420,用于根据所述任务类型,确定与所述任务类型相对应的预先配置的分布式任务调度组件;其中,所述分布式任务调度组件包括任务管理组件、任务运行组件、任务分析组件以及任务统计组件中的至少一种;
目标任务执行模块430,用于基于所述调度策略,利用所述分布式任务调度组件创建目标任务,并对所述目标任务进行调度执行。
在本技术方案中,可选的,目标任务执行模块430,包括:
待处理调度任务得到子模块,用于对所述目标任务进行任务调度,得到待处理调度任务;其中,所述任务调度包括任务步骤控制、任务执行优先级控制以及任务超时控制;
执行结果得到子模块,用于通过作业执行器对所述待处理调度任务进行处理,得到执行结果,并将所述执行结果进行反馈。
在本技术方案中,可选的,执行结果得到子模块,包括:
作业执行器确定单元,用于根据任务类型,确定与任务类型相匹配的作业执行器,并通过所述作业执行器对所述待处理调度任务进行处理。
在本技术方案中,可选的,所述作业执行器包括SPARK执行器、SQL执行器和HTTP执行器;
相应的,作业执行器确定单元,具体用于:
若所述任务类型是任务管理类型,则确定与所述任务类型相匹配的作业执行器是SQL执行器;
若所述任务类型是任务运行类型,则确定与所述任务类型相匹配的作业执行器是HTTP执行器;
若所述任务类型是任务分析类型或任务统计类型,则确定与所述任务类型相匹配的作业执行器是SPARK执行器。
在本技术方案中,可选的,作业执行器确定单元,包括:
目标数据得到子单元,用于若在对待处理调度任务处理过程中产生数据读取请求,则基于数据访问层对数据存储层中的数据进行读取,得到目标数据,并将目标数据反馈至作业执行器。
在本技术方案中,可选的,目标数据得到子单元,具体用于:
基于预先配置的适配器确定所述数据读取请求中的字段信息;
根据所述字段信息,确定与所述字段信息相关联的数据访问层,并基于所述数据访问层对数据存储层中的数据进行读取;其中,所述数据访问层包括结构化数据访问服务、非结构化数据访问服务和HDFS文件操作服务;所述数据存储层包括结构化数据存储、非结构化数据存储和文件存储。
在本技术方案中,可选的,任务调度请求接收模块410,具体用于:
若第三方应用发送的任务调度请求满足服务接口条件,则接收第三方应用发送的任务调度请求;其中,所述服务接口条件包括:限流约束条件、安全访问控制条件以及负载均衡条件。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例四
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种分布式任务调度方法,该方法包括:
接收第三方应用发送的任务调度请求;其中,所述任务调度请求包括调度策略和任务类型;所述调度策略用于表征任务调度执行的步骤;所述任务类型包括任务管理类型、任务运行类型、任务分析类型以及任务统计类型中的至少一种;
根据所述任务类型,确定与所述任务类型相对应的预先配置的分布式任务调度组件;其中,所述分布式任务调度组件包括任务管理组件、任务运行组件、任务分析组件以及任务统计组件中的至少一种;
基于所述调度策略,利用所述分布式任务调度组件创建目标任务,并对所述目标任务进行调度执行。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的分布式任务调度操作,还可以执行本申请任意实施例所提供的分布式任务调度方法中的相关操作。
实施例五
本申请实施例提供了一种电子设备,该电子设备中可集成本申请实施例提供的分布式任务调度装置。图5是本申请实施例五提供的一种电子设备的结构示意图。如图5所示,本实施例提供了一种电子设备500,其包括:一个或多个处理器520;存储装置510,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器520执行,使得所述一个或多个处理器520实现本申请实施例所提供的分布式任务调度方法,该方法包括:
接收第三方应用发送的任务调度请求;其中,所述任务调度请求包括调度策略和任务类型;所述调度策略用于表征任务调度执行的步骤;所述任务类型包括任务管理类型、任务运行类型、任务分析类型以及任务统计类型中的至少一种;
根据所述任务类型,确定与所述任务类型相对应的预先配置的分布式任务调度组件;其中,所述分布式任务调度组件包括任务管理组件、任务运行组件、任务分析组件以及任务统计组件中的至少一种;
基于所述调度策略,利用所述分布式任务调度组件创建目标任务,并对所述目标任务进行调度执行。
当然,本领域技术人员可以理解,处理器520还实现本申请任意实施例所提供的分布式任务调度方法的技术方案。
图5显示的电子设备500仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,该电子设备500包括处理器520、存储装置510、输入装置530和输出装置540;电子设备中处理器520的数量可以是一个或多个,图5中以一个处理器520为例;电子设备中的处理器520、存储装置510、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线550连接为例。
存储装置510作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块单元,如本申请实施例中的分布式任务调度方法对应的程序指令。
存储装置510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置510可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏、扬声器等电子设备。
本申请实施例提供的电子设备,可以达到提高工作效率以及降低工作量的目的。
上述实施例中提供的分布式任务调度装置、存储介质及电子设备可执行本申请任意实施例所提供的分布式任务调度方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的分布式任务调度方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (10)
1.一种分布式任务调度方法,其特征在于,包括:
接收第三方应用发送的任务调度请求;其中,所述任务调度请求包括调度策略和任务类型;所述调度策略用于表征任务调度执行的步骤;所述任务类型包括任务管理类型、任务运行类型、任务分析类型以及任务统计类型中的至少一种;
根据所述任务类型,确定与所述任务类型相对应的预先配置的分布式任务调度组件;其中,所述分布式任务调度组件包括任务管理组件、任务运行组件、任务分析组件以及任务统计组件中的至少一种;
基于所述调度策略,利用所述分布式任务调度组件创建目标任务,并对所述目标任务进行调度执行。
2.根据权利要求1所述的方法,其特征在于,所述目标任务进行调度执行,包括:
对所述目标任务进行任务调度,得到待处理调度任务;其中,所述任务调度包括任务步骤控制、任务执行优先级控制以及任务超时控制;
通过作业执行器对所述待处理调度任务进行处理,得到执行结果,并将所述执行结果进行反馈。
3.根据权利要求2所述的方法,其特征在于,通过作业执行器对所述待处理调度任务进行处理,包括:
根据任务类型,确定与任务类型相匹配的作业执行器,并通过所述作业执行器对所述待处理调度任务进行处理。
4.根据权利要求3所述的方法,其特征在于,所述作业执行器包括SPARK执行器、SQL执行器和HTTP执行器;
相应的,根据任务类型,确定与任务类型相匹配的作业执行器,包括:
若所述任务类型是任务管理类型,则确定与所述任务类型相匹配的作业执行器是SQL执行器;
若所述任务类型是任务运行类型,则确定与所述任务类型相匹配的作业执行器是HTTP执行器;
若所述任务类型是任务分析类型或任务统计类型,则确定与所述任务类型相匹配的作业执行器是SPARK执行器。
5.根据权利要求3所述的方法,其特征在于,通过所述作业执行器对所述待处理调度任务进行处理,包括:
若在对待处理调度任务处理过程中产生数据读取请求,则基于数据访问层对数据存储层中的数据进行读取,得到目标数据,并将目标数据反馈至作业执行器。
6.根据权利要求5所述的方法,其特征在于,若在对待处理调度任务处理过程中产生数据读取请求,则基于数据访问层对数据存储层中的数据进行读取,包括:
基于预先配置的适配器确定所述数据读取请求中的字段信息;
根据所述字段信息,确定与所述字段信息相关联的数据访问层,并基于所述数据访问层对数据存储层中的数据进行读取;其中,所述数据访问层包括结构化数据访问服务、非结构化数据访问服务和HDFS文件操作服务;所述数据存储层包括结构化数据存储、非结构化数据存储和文件存储。
7.根据权利要求1所述的方法,其特征在于,接收第三方应用发送的任务调度请求,包括:
若第三方应用发送的任务调度请求满足服务接口条件,则接收第三方应用发送的任务调度请求;其中,所述服务接口条件包括:限流约束条件、安全访问控制条件以及负载均衡条件。
8.一种分布式任务调度装置,其特征在于,包括:
任务调度请求接收模块,用于接收第三方应用发送的任务调度请求;其中,所述任务调度请求包括调度策略和任务类型;所述调度策略用于表征任务调度执行的步骤;所述任务类型包括任务管理类型、任务运行类型、任务分析类型以及任务统计类型中的至少一种;
分布式任务调度组件确定模块,用于根据所述任务类型,确定与所述任务类型相对应的预先配置的分布式任务调度组件;其中,所述分布式任务调度组件包括任务管理组件、任务运行组件、任务分析组件以及任务统计组件中的至少一种;
目标任务执行模块,用于基于所述调度策略,利用所述分布式任务调度组件创建目标任务,并对所述目标任务进行调度执行。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的分布式任务调度方法。
10.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的分布式任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110912032.9A CN113656157B (zh) | 2021-08-10 | 2021-08-10 | 一种分布式任务调度方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110912032.9A CN113656157B (zh) | 2021-08-10 | 2021-08-10 | 一种分布式任务调度方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113656157A true CN113656157A (zh) | 2021-11-16 |
CN113656157B CN113656157B (zh) | 2024-04-23 |
Family
ID=78491067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110912032.9A Active CN113656157B (zh) | 2021-08-10 | 2021-08-10 | 一种分布式任务调度方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656157B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780216A (zh) * | 2022-04-18 | 2022-07-22 | 湖南长银五八消费金融股份有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN114816583A (zh) * | 2022-05-31 | 2022-07-29 | 以萨技术股份有限公司 | 基于Flink的数据自动化处理方法、装置和电子设备 |
CN114995905A (zh) * | 2022-05-31 | 2022-09-02 | 济南浪潮数据技术有限公司 | 一种作业调度方法、系统、设备及计算机可读存储介质 |
CN115242808A (zh) * | 2022-07-13 | 2022-10-25 | 山东浪潮超高清智能科技有限公司 | 一种分布式系统限流控制系统和方法 |
CN115665247A (zh) * | 2022-09-21 | 2023-01-31 | 浙江浙大网新软件产业集团有限公司 | 社保系统算力配置方法、系统、电子设备及计算机介质 |
CN115878648A (zh) * | 2023-02-22 | 2023-03-31 | 成都成电医星数字健康软件有限公司 | 数据逻辑时序自动调整方法、装置、电子设备及存储介质 |
CN117041353A (zh) * | 2023-10-08 | 2023-11-10 | 北京小米移动软件有限公司 | 任务处理的方法、装置、电子设备及存储介质 |
CN117472530A (zh) * | 2023-10-25 | 2024-01-30 | 上海宽睿信息科技有限责任公司 | 一种基于集中管理的数据智能调度方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346215A (zh) * | 2013-08-07 | 2015-02-11 | 中兴通讯股份有限公司 | 一种任务调度服务系统及方法 |
CN109582301A (zh) * | 2018-12-03 | 2019-04-05 | 深圳前海微众银行股份有限公司 | 基于任务调度系统的业务处理方法、装置、设备及介质 |
CN110704178A (zh) * | 2019-09-04 | 2020-01-17 | 北京三快在线科技有限公司 | 机器学习模型训练方法、平台、电子设备及可读存储介质 |
CN111290854A (zh) * | 2020-01-20 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 任务管理方法、装置、系统、计算机存储介质及电子设备 |
CN112379995A (zh) * | 2021-01-11 | 2021-02-19 | 北京江融信科技有限公司 | 一种基于dag的单元化分布式调度系统及方法 |
CN112650572A (zh) * | 2020-12-30 | 2021-04-13 | 平安普惠企业管理有限公司 | 一种分布式任务调度方法、装置、计算机设备及存储介质 |
-
2021
- 2021-08-10 CN CN202110912032.9A patent/CN113656157B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346215A (zh) * | 2013-08-07 | 2015-02-11 | 中兴通讯股份有限公司 | 一种任务调度服务系统及方法 |
CN109582301A (zh) * | 2018-12-03 | 2019-04-05 | 深圳前海微众银行股份有限公司 | 基于任务调度系统的业务处理方法、装置、设备及介质 |
CN110704178A (zh) * | 2019-09-04 | 2020-01-17 | 北京三快在线科技有限公司 | 机器学习模型训练方法、平台、电子设备及可读存储介质 |
CN111290854A (zh) * | 2020-01-20 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 任务管理方法、装置、系统、计算机存储介质及电子设备 |
CN112650572A (zh) * | 2020-12-30 | 2021-04-13 | 平安普惠企业管理有限公司 | 一种分布式任务调度方法、装置、计算机设备及存储介质 |
CN112379995A (zh) * | 2021-01-11 | 2021-02-19 | 北京江融信科技有限公司 | 一种基于dag的单元化分布式调度系统及方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780216A (zh) * | 2022-04-18 | 2022-07-22 | 湖南长银五八消费金融股份有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN114780216B (zh) * | 2022-04-18 | 2023-06-16 | 湖南长银五八消费金融股份有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN114816583A (zh) * | 2022-05-31 | 2022-07-29 | 以萨技术股份有限公司 | 基于Flink的数据自动化处理方法、装置和电子设备 |
CN114995905A (zh) * | 2022-05-31 | 2022-09-02 | 济南浪潮数据技术有限公司 | 一种作业调度方法、系统、设备及计算机可读存储介质 |
CN114816583B (zh) * | 2022-05-31 | 2024-03-19 | 以萨技术股份有限公司 | 基于Flink的数据自动化处理方法、装置和电子设备 |
CN115242808B (zh) * | 2022-07-13 | 2024-03-08 | 山东浪潮超高清智能科技有限公司 | 一种分布式系统限流控制系统和方法 |
CN115242808A (zh) * | 2022-07-13 | 2022-10-25 | 山东浪潮超高清智能科技有限公司 | 一种分布式系统限流控制系统和方法 |
CN115665247A (zh) * | 2022-09-21 | 2023-01-31 | 浙江浙大网新软件产业集团有限公司 | 社保系统算力配置方法、系统、电子设备及计算机介质 |
CN115878648B (zh) * | 2023-02-22 | 2023-05-05 | 成都成电医星数字健康软件有限公司 | 数据逻辑时序自动调整方法、装置、电子设备及存储介质 |
CN115878648A (zh) * | 2023-02-22 | 2023-03-31 | 成都成电医星数字健康软件有限公司 | 数据逻辑时序自动调整方法、装置、电子设备及存储介质 |
CN117041353B (zh) * | 2023-10-08 | 2024-01-16 | 北京小米移动软件有限公司 | 任务处理的方法、装置、电子设备及存储介质 |
CN117041353A (zh) * | 2023-10-08 | 2023-11-10 | 北京小米移动软件有限公司 | 任务处理的方法、装置、电子设备及存储介质 |
CN117472530A (zh) * | 2023-10-25 | 2024-01-30 | 上海宽睿信息科技有限责任公司 | 一种基于集中管理的数据智能调度方法及系统 |
CN117472530B (zh) * | 2023-10-25 | 2024-04-05 | 上海宽睿信息科技有限责任公司 | 一种基于集中管理的数据智能调度方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113656157B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113656157B (zh) | 一种分布式任务调度方法、装置、存储介质及电子设备 | |
US11431794B2 (en) | Service deployment method and function management platform under serverless architecture | |
CN109033123B (zh) | 基于大数据的查询方法、装置、计算机设备和存储介质 | |
CN109783229B (zh) | 线程资源分配的方法及装置 | |
CN107729139B (zh) | 一种并发获取资源的方法和装置 | |
US9977727B2 (en) | Methods and systems for internally debugging code in an on-demand service environment | |
EP3357006B1 (en) | Workflow service using state transfer | |
CN111258565B (zh) | 小程序的生成方法、系统、服务器及存储介质 | |
US7853584B2 (en) | Multi-partition query governor in a computer database system | |
WO2017016421A1 (zh) | 一种集群中的任务执行方法及装置 | |
US9836516B2 (en) | Parallel scanners for log based replication | |
CN109697112B (zh) | 分布式集约化一站式作业系统和实现方法 | |
CN112463290A (zh) | 动态调整计算容器的数量的方法、系统、装置和存储介质 | |
US20200310828A1 (en) | Method, function manager and arrangement for handling function calls | |
CN116795647A (zh) | 一种数据库异构资源管理与调度方法、装置、设备及介质 | |
CN111767125B (zh) | 任务执行方法、装置、电子设备、存储介质 | |
US9659041B2 (en) | Model for capturing audit trail data with reduced probability of loss of critical data | |
CN111294377B (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN107818167B (zh) | MySQL分区自动管理方法、系统、设备、存储介质 | |
US20230153317A1 (en) | Method for scheduling offloading snippets based on large amount of dbms task computation | |
CN114070820B (zh) | 一种域名重定向方法、装置、介质及电子设备 | |
CN113485828A (zh) | 基于quartz的分布式任务调度系统及方法 | |
US7320044B1 (en) | System, method, and computer program product for interrupt scheduling in processing communication | |
CN114186116A (zh) | 一种基于分布式的快速数据采集与分发系统及方法 | |
US7793295B2 (en) | Setting bandwidth limiter and adjusting execution cycle of second device using one of the GBL classes selected based on priority of task from first device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |