CN116841701A - 分布式任务调度方法、调度器、执行器、系统及介质 - Google Patents
分布式任务调度方法、调度器、执行器、系统及介质 Download PDFInfo
- Publication number
- CN116841701A CN116841701A CN202210294406.XA CN202210294406A CN116841701A CN 116841701 A CN116841701 A CN 116841701A CN 202210294406 A CN202210294406 A CN 202210294406A CN 116841701 A CN116841701 A CN 116841701A
- Authority
- CN
- China
- Prior art keywords
- task
- executor
- scheduler
- task scheduling
- actuator
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000012795 verification Methods 0.000 claims description 58
- 238000012544 monitoring process Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供一种分布式任务调度方法、调度器、执行器、系统及介质,以至少解决目前调度器端压力过大,以及网络中断时容易造成调度进程的线程池占满等问题,其中,所述方法包括:接收各个执行器的配置信息;若监听到待执行任务,则基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果;以及,基于所述任务调度结果向相应的执行器发送任务执行指令,以使所述执行器基于所述任务执行指令执行任务。本公开将执行器的配置信息由调度器端配置改为执行器端配置及上报,不仅能够缓解调度器端的压力,且解决了因为网络终端或执行器配置不正确等原因所导致的调度端堵塞现象。
Description
技术领域
本公开涉及任务调度技术领域,尤其涉及一种分布式任务调度方法、一种调度器、一种执行器、一种分布式任务调度系统以及一种计算机可读存储介质。
背景技术
任务调度指以时间触发或者事件触发的方式在计算机上执行相应任务,分布式任务主要是指将任务分布到不同的计算机上,任务执行有上下游,需要协同完成任务的工作方式。任务调度经常以分布式任务的方式实现,主要用于在计算机集群之间执行定时或者被事件触发的任务,进行任务调度的调度系统一般由一个调度器(scheduler,简称s)和多个执行器(executor,简称e)组成,在进行任务调度之前,首先要进行任务的配置。
目前的分布式任务调度方案中,任务的配置信息均集中在调度器上,调度器端压力过大,且一旦存在网络中断,现有的重复建立连接机制容易出现调度进程的线程池占满从而导致调度器失效,最终造成任务调度失败等问题。
发明内容
本公开提供了一种分布式任务调度方法、调度器、执行器、系统及介质,以至少解决目前调度器端压力过大,以及网络中断时容易造成调度进程的线程池占满等问题。
为实现上述目的,本公开提供一种分布式任务调度方法,应用于调度器,包括:
接收各个执行器的配置信息;
若监听到待执行任务,则基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果;以及,
基于所述任务调度结果向相应的执行器发送任务执行指令,以使所述执行器基于所述任务执行指令执行任务。
在一种实施方式中,在接收各个执行器的配置信息之前,还包括:
接收各个执行器的初始化注册信息;
分别验证各个执行器的初始化注册信息是否合法,得到验证结果;以及,
基于所述验证结果对验证为合法的执行器按照其初始化注册信息完成初始化注册。
在一种实施方式中,在接收各个执行器的初始化注册信息之前,还包括:
分别向各个执行器发送第一密钥,以使各个执行器基于所述第一密钥生成初始化注册信息。
在一种实施方式中,在分别验证各个执行器的初始化注册信息是否合法,得到验证结果之后,还包括:
基于第二密钥对将所述验证结果进行加密;
将加密后的验证结果反馈给各个执行器,以使各个执行器基于加密后的验证结果反向验证所述调度器的合法性。
在一种实施方式中,在基于所述任务调度结果向相应的执行器发送任务执行指令之后,还包括:
持续监控所述执行器的任务执行状态;以及,根据所述任务执行状态对所述执行器执行熔断策略。
在一种实施方式中,在基于所述任务调度结果向相应的执行器发送任务执行指令之后,还包括:
持续监测当前线程池是否达到预设阈值,若是,则根据预设规则进行线程回收。
为实现上述目的,本公开实施例还提供另一种分布式任务调度方法,应用于执行器,包括:
将各个执行器的配置信息上传至调度器,以使所述调度器在监听到待执行任务时,基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果,然后基于所述任务调度结果向相应的执行器发送任务执行指令;以及,
基于所述任务执行指令执行任务。
在一种实施方式中,在将各个执行器的配置信息上传至调度器之前,还包括:
向调度器发送初始化注册信息,以使所述调度器在接收到所述执行器及其它执行器的初始化注册信息后,分别验证各个执行器的初始化注册信息是否合法,得到验证结果,然后基于所述验证结果对验证为合法的执行器按照其初始化注册信息完成初始化注册。
在一种实施方式中,在向调度器发送初始化注册信息之前,还包括:
接收所述调度器发送的第一密钥;以及,基于所述第一密钥生成初始化注册信息。
在一种实施方式中,在向调度器发送初始化注册信息之后,以及将各个执行器的配置信息上传至调度器之前,还包括:
接收所述调度器反馈的加密后的验证结果,其中所述加密后的验证结果是所述调度器基于第二密钥对所述验证结果进行加密得到的;以及,
基于加密后的验证结果反向验证所述调度器是否合法,若验证为合法,则执行将各个执行器的配置信息上传至调度器的步骤。
为实现上述目的,本公开相应还提供一种调度器,包括:
第一接收模块,其设置为接收各个执行器的配置信息;
任务调度模块,其设置为在监听到待执行任务时,基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果;以及,
指令发送模块,其设置为基于所述任务调度结果向相应的执行器发送任务执行指令,以使所述执行器基于所述任务执行指令执行任务。
为实现上述目的,本公开相应还提供一种执行器,包括:
上传模块,其设置为将各个执行器的配置信息上传至调度器,以使所述调度器在监听到待执行任务时,基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果,然后基于所述任务调度结果向相应的执行器发送任务执行指令;以及,
任务执行模块,其设置为基于所述任务执行指令执行任务。
为实现上述目的,本公开相应还提供一种分布式任务调度系统,所述系统包括调度器和执行器,其中,
所述调度器用于执行所述的一种分布式任务调度方法;以及,所述执行器用于执行所述的另一种分布式任务调度方法;
为实现上述目的,本公开相应还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行所述的一种分布式任务调度方法,或者所述的另一种分布式任务调度方法。
根据本公开实施例提供的分布式任务调度方法、调度器、执行器、系统及介质,通过接收各个执行器的配置信息;若监听到待执行任务,则基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果;以及,基于所述任务调度结果向相应的执行器发送任务执行指令,以使所述执行器基于所述任务执行指令执行任务。本公开将执行器的配置信息由调度器端配置改为执行器端配置及上报,不仅能够缓解调度器端的压力,且解决了因为网络终端或执行器配置不正确等原因所导致的调度端堵塞现象。
本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1为相关技术中分布式任务调度系统的逻辑架构图;
图2a为相关技术中分布式任务调度系统的技术架构图之一;
图2b为相关技术中分布式任务调度系统的技术架构图之二;
图3为本公开实施例一提供的一种分布式任务调度方法的流程示意图;
图4为本公开实施例一提供的另一种分布式任务调度方法的流程示意图;
图5为本公开实施例一提供的又一种分布式任务调度方法的流程示意图;
图6为本公开实施例二提供的一种分布式任务调度方法的流程示意图;
图7为本公开实施例三提供的一种调度器的结构示意图;
图8为本公开实施例四提供的一种执行器的结构示意图;
图9a为本公开实施例五提供的一种分布式任务调度系统的结构示意图之一;
图9b为本公开实施例五提供的一种分布式任务调度系统的结构示意图之二。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序;并且,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本公开的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
相关技术中,对于分布式任务的调度,一种场景是调度器s需要每隔一段时间(比如1min,10s)等就需要从多个执行器e中选择一个e来执行一个任务(job)简称j,其常见的逻辑架构图如图1所示,技术实现图如图2a和2b所示,从上述技术实现图中可以看出,当前的技术方案存在以下不足:
架构方面:调度器职责划分不清晰、系统扩展性不足,对于任务的配置信息均集中在调度器上。一旦存在网络终端,现有的重复建立连接机制容易出现调度进程的线程池占满从而导致调度器失效。
功能方面:缺乏完整认证鉴权方面的系统设计,安全性无法保障。任务干预、监控告警等系统运维方面能力较弱。
为解决上述问题,本公开实施例提供的分布式任务调度方法主要从架构方面和功能方面两方面入手,从架构方面:对于任务的配置信息由调度器端配置改为由执行器端完成并通过注册机制注册到调度器,有效的分担调度器端的压力;从功能方面:增加认证鉴权模块和监控模块,认证鉴权模块用于初始化时认证执行器和调度器的双向认证,监控模块除对任务状态的监控外,增加对基础资源的监控,如线程池监控、句柄数监控。
下面以具体地实施例对本公开的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
请参照图3,图3为本公开实施例一提供一种分布式任务调度方法的流程示意图,所述方法应用于调度器,包括步骤S301-S303。
在步骤S301中,接收各个执行器的配置信息。
相较于相关技术,本实施例将调度器端对所有执行器进行配置替代为执行器端进行配置并上传,其中,配置信息可以包括执行器列表地址、节点个数、任务模式、任务信息等信息。在一种实施方式中,可以由各个执行器分别进行配置然后由一个执行器进行汇总得到各个执行器的配置信息,也可以由一个执行器对所有执行器进行配置。
可以理解的是,本实施例中的调度器端即调度器,执行器端即为执行器,在一些实施例中,调度器端可以同时管理多个调度器,执行器端可以管理多个执行器,其中,调度器端相当于服务端,执行器端相当于客户端。
在步骤S302中,若监听到待执行任务,则基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果。
具体地,调度器端持续监听待执行任务,在监听到待执行任务时,根据所接收到的执行端的配置信息对待执行任务进行任务调度,具体地,根据配置信息中的执行器列表地址、任务模式及任务信息等将该待执行任务调度至相应的执行器。
在步骤S303中,基于所述任务调度结果向相应的执行器发送任务执行指令,以使所述执行器基于所述任务执行指令执行任务。
调度器端在将任务执行指令发送给执行器后,执行器按照预定业务逻辑进行处理,并将执行结果反馈至调度器。需要说明的是,预定业务逻辑为现有的业务逻辑,本领域技术人员可以结合实际应用为执行器预配置相应的业务逻辑。
与现有技术相比,本实施例将执行器的配置信息由调度器端配置改为执行器端配置及上报,不仅能够缓解调度器端的压力,且解决了因为执行器配置不对导致调度端堵塞的现象,不必担心网络中断时容易造成调度进程的线程池占满等问题。
请参照图4,图4为本公开实施例一提供的另一种分布式任务调度方法的流程示意图,考虑到执行器和调度器之间缺乏有效的鉴权机制,导致安全防护能力不强,本实施例在上述实施例的基础上,执行器和调度器之间首先进行身份鉴权完成初始化注册,再进行任务调度,以提高调度系统的安全防护能力。具体地,本实施例在步骤S301接收各个执行器的配置信息之前,还包括步骤S401-S403。
在步骤S401中,接收各个执行器的初始化注册信息。
具体地,各个执行器首先将各自的初始化注册信息发送给调度器端,调度器端接收到各个执行器的初始化注册信息后进行后续操作。
进一步地,为实现调度器端对执行器端的有效鉴权,本实施例通过调度器在接收初始化注册信息之前向执行器端发送第一密钥,具体地,在步骤S401接收各个执行器的初始化注册信息之前,还包括以下步骤:
分别向各个执行器发送第一密钥,以使各个执行器基于所述第一密钥生成初始化注册信息。
其中,基于第一密钥生成初始化注册信息可以是在初始化注册信息中携带该第一密钥即可,也可以是在初始化注册信息的某个特定字段中添加该第一密钥。
本实施例在执行器服务启动后,注册线程将执行器经调度器的认证鉴权模块分配的密钥加密后的初始化信息(包括注册方式、执行端名字等)发送给调度端的注册服务模块进行注册。
在步骤S402中,分别验证各个执行器的初始化注册信息是否合法,得到验证结果。
在一种实施方式中,通过验证该初始化注册信息中是否携带第一密钥或者所携带密钥是否与第一密钥匹配,若匹配,则将初始化注册信息验证为合法,否则,验证为不合法,说明验证为不合法的执行器鉴权不通过,不具备初始化注册资格。
在步骤S403中,基于所述验证结果对验证为合法的执行器按照其初始化注册信息完成初始化注册。
本实施例中,增加了注册时认证鉴权的能力,既增强了安全防护能力,又避免了在容器化部署的场景下,调度端找不到执行端的现象。
在一种实施方式中,为进一步提高调度系统的安全防护能力,除了调度器对执行器进行安全性验证之外,还增加了执行器的反向验证功能,具体地,在步骤S402或者S403之后,分别验证各个执行器的初始化注册信息是否合法,得到验证结果之后,还包括以下步骤:
基于第二密钥对将所述验证结果进行加密;以及,
将加密后的验证结果反馈给各个执行器,以使各个执行器基于加密后的验证结果反向验证所述调度器的合法性。
具体地,本实施例调度器端确认执行器合法性后注册服务,并将认证结果信息通过密钥加密返还给执行器端,执行器端解密后确认调度器的合法性。可以理解的是,若上述步骤在步骤S403之后,即便执行器已经在该调度器端完成初始注册,一旦反向验证失败,执行器仍然可以不进行后续例如上传配置信息执行任务等操作,有效提高了任务调度系统的安全防护能力。
需要说明的是,本实施例中的第一密钥和第二密钥仅用于区分不同的验证过程的不同密钥,其具体地密钥内容可以是相同的也可以是不同的密钥,本实施例对此并不作限定。
请参照图5,图5为本公开实施例一提供的又一种分布式任务调度方法的流程示意图,在上述实施例的基础上,本实施例增加了监控功能,对调度端的线程池和句柄数等基础资源的监控,从而避免调度端因为基础资源阻塞导致的调度端失效的现象,具体地,在步骤S303基于所述任务调度结果向相应的执行器发送任务执行指令之后,还包括步骤S501-S503。
在步骤S501中,持续监控所述执行器的任务执行状态;
在步骤S502中,根据所述任务执行状态对所述执行器执行熔断策略。
上述步骤S501和步骤S502,执行器开始任务执行时,调度器端根据心跳机制,实时监控执行器状态,分别对相应的执行器执行熔断、正常等策略,例如,执行器执行某个任务出现过多超时、异常等情况,可以采取一定时间内熔断执行器对该任务的执行,熔断期间的请求将不再继续执行该任务,而是直接返回,节约资源,提高任务执行的稳定性,熔断周期结束后如果任务执行情况好转则恢复调用。
在步骤S503中,持续监测当前线程池是否达到预设阈值,若是,则根据预设规则进行线程回收。
具体地,本实施例调度器端对于线程池已达到预设阈值的调度器,记录其状态,按照配置好的策略,将部分线程回收或将当前调度器切换为空闲节点,例如,线程池已满,则执行切换为空闲节点,超过一定值但线程池还未满,则进行部分线程的回收。进一步地,除了对线程池进行监控,同时还可以对句柄数进行监控。
在一些实施例中,可以在调度器启动后,监控模块随之启动并按照已配置好的规则对调度器的线程池以及句柄数进行监控,而不必在执行器进行任务执行后即进行调度器线程池的监控。相较于相关技术,增加了基础监控能力,即对调度端的线程池和句柄数等基础资源的监控,避免了调度端因为基础资源阻塞导致的调度端失效的现象。
基于相同的技术构思,本公开实施例二相应还提供一种分布式任务调度方法,所述方法应用于执行器,如图6所示,所述方法包括步骤S601和步骤S602。
在步骤S601中,将各个执行器的配置信息上传至调度器,以使所述调度器在监听到待执行任务时,基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果,然后基于所述任务调度结果向相应的执行器发送任务执行指令;以及,
在步骤S602中,基于所述任务执行指令执行任务。
在一种实施方式中,在将各个执行器的配置信息上传至调度器之前,还包括:
向调度器发送初始化注册信息,以使所述调度器在接收到所述执行器及其它执行器的初始化注册信息后,分别验证各个执行器的初始化注册信息是否合法,得到验证结果,然后基于所述验证结果对验证为合法的执行器按照其初始化注册信息完成初始化注册。
在一种实施方式中,在向调度器发送初始化注册信息之前,还包括:
接收所述调度器发送的第一密钥;以及,基于所述第一密钥生成初始化注册信息。
在一种实施方式中,在向调度器发送初始化注册信息之后,以及将各个执行器的配置信息上传至调度器之前,还包括:
接收所述调度器反馈的加密后的验证结果,其中所述加密后的验证结果是所述调度器基于第二密钥对所述验证结果进行加密得到的;以及,
基于加密后的验证结果反向验证所述调度器是否合法,若验证为合法,则执行将各个执行器的配置信息上传至调度器的步骤。
需要说明的是,本实施例中执行器端的各个步骤的实现原理课详见实施例一,此处不再赘述。
基于相同的技术构思,本公开实施例三相应还提供一种调度器,如图7所示,所述调度器包括第一接收模块71、任务调度模块72和指令发送模块73,其中,
第一接收模块71,其设置为接收各个执行器的配置信息;
任务调度模块72,其设置为在监听到待执行任务时,基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果;以及,
指令发送模块73,其设置为基于所述任务调度结果向相应的执行器发送任务执行指令,以使所述执行器基于所述任务执行指令执行任务。
在一种实施方式中,所述系统还包括:
第二接收模块,其设置为接收各个执行器的初始化注册信息;
第一验证模块,其设置为分别验证各个执行器的初始化注册信息是否合法,得到验证结果;以及,
注册模块,其设置为基于所述验证结果对验证为合法的执行器按照其初始化注册信息完成初始化注册。
在一种实施方式中,所述系统还包括:
密钥发送模块,其设置为分别向各个执行器发送第一密钥,以使各个执行器基于所述第一密钥生成初始化注册信息。
在一种实施方式中,所述系统还包括:
加密模块,其设置为基于第二密钥对将所述验证结果进行加密;
反馈模块,其设置为将加密后的验证结果反馈给各个执行器,以使各个执行器基于加密后的验证结果反向验证所述调度器的合法性。
在一种实施方式中,所述系统还包括:
监控模块,其设置为持续监控所述执行器的任务执行状态;以及,根据所述任务执行状态对所述执行器执行熔断策略。
在一种实施方式中,所述系统还包括:
检测模块,其设置为持续监测当前线程池是否达到预设阈值,若是,则根据预设规则进行线程回收。
基于相同的技术构思,本公开实施例四相应还提供一种执行器,所述执行器包括上传模块81和任务执行模块82,其中,
上传模块81,其设置为将各个执行器的配置信息上传至调度器,以使所述调度器在监听到待执行任务时,基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果,然后基于所述任务调度结果向相应的执行器发送任务执行指令;以及,
任务执行模块82,其设置为基于所述任务执行指令执行任务。
在一种实施方式中,所述系统还包括:
信息发送模块,其设置为向调度器发送初始化注册信息,以使所述调度器在接收到所述执行器及其它执行器的初始化注册信息后,分别验证各个执行器的初始化注册信息是否合法,得到验证结果,然后基于所述验证结果对验证为合法的执行器按照其初始化注册信息完成初始化注册。
在一种实施方式中,所述系统还包括:
第三接收模块,其设置为接收所述调度器发送的第一密钥;以及,生成模块,其设置为基于所述第一密钥生成初始化注册信息。
在一种实施方式中,所述系统还包括:
第四接收模块,其设置为接收所述调度器反馈的加密后的验证结果,其中所述加密后的验证结果是所述调度器基于第二密钥对所述验证结果进行加密得到的;以及,
第二验证模块,其设置为基于加密后的验证结果反向验证所述调度器是否合法,若验证为合法,则执行将各个执行器的配置信息上传至调度器的步骤。
基于相同的技术构思,本公开实施例五相应还提供一种分布式任务调度系统,如图9a所示,所述系统包括调度器70和执行器80,其中,
所述调度器用于执行所述的一种分布式任务调度方法;以及,所述执行器用于执行所述的另一种分布式任务调度方法;
基于相同的技术构思,本公开实施例相应还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行所述的一种分布式任务调度方法,或者所述的另一种分布式任务调度方法。
为便于理解,请结合图9b所示,其中,执行器(端)80主要由注册线程(即信息发送模块及第二验证模块)、执行器配置模块(即上传模块81)、执行任务模块(即执行模块82)和回调线程等模块组成,调度器(端)70主要由注册服务模块(即第二接收模块及注册模块)、认证鉴权模块(即第一验证模块)、执行器管理模块(即第一接收模块71)、任务管理平台模块和调度器模块(即任务调度模块72)、监控模块(即监控模块和监测模块),其中监控模块包括回调服务和日志管理模块。具体地,包括以下三个过程:
一、初始化注册过程,用于执行器初始化与调度端建立连接过程。
执行器服务启动后,注册线程将执行器经认证鉴权模块分配的密钥加密后的初始化信息(包括注册方式、执行端名字等)发送给调度端的注册服务模块进行注册;
注册服务模块调用认证鉴权模块进行签名验签,确认执行器端来源合法性。
确认合法性后注册服务将认证结果信息通过密钥加密返还给执行器端,执行器端解密后确认服务端合法性。
二、执行器配置信息上传过程
执行器端将执行器的配置信息(包括执行器列表地址、节点个数、任务模式、任务信息等信息)上传至调度端。
调度端保存执行器配置信息,并将执行器信息传递给任务管理模块任务管理模块监听任务并将需执行的任务发送给调度器模块。
调度器模块将任务执行指令发送给执行器,执行器按照预定业务逻辑进行处理。并将执行结果反馈至调度器。
三、监控过程,用于调度器端运行时监控基础资源和执行器状态。、调度器启动后,监控模块随之启动并按照已配置好的规则对调度器的线程池和句柄数进行监控。
根据心跳机制,监控执行器状态,分别执行熔断、正常等策略。
对于线程池已满的调度器,记录其状态,按照配置好的策略,将部分线程回收或将当前调度器切换为空闲节点。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
Claims (14)
1.一种分布式任务调度方法,其特征在于,应用于调度器,包括:
接收各个执行器的配置信息;
若监听到待执行任务,则基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果;以及,
基于所述任务调度结果向相应的执行器发送任务执行指令,以使所述执行器基于所述任务执行指令执行任务。
2.根据权利要求1所述的方法,其特征在于,在接收各个执行器的配置信息之前,还包括:
接收各个执行器的初始化注册信息;
分别验证各个执行器的初始化注册信息是否合法,得到验证结果;以及,
基于所述验证结果对验证为合法的执行器按照其初始化注册信息完成初始化注册。
3.根据权利要求2所述的方法,其特征在于,在接收各个执行器的初始化注册信息之前,还包括:
分别向各个执行器发送第一密钥,以使各个执行器基于所述第一密钥生成初始化注册信息。
4.根据权利要求2所述的方法,其特征在于,在分别验证各个执行器的初始化注册信息是否合法,得到验证结果之后,还包括:
调度器基于第二密钥对所述验证结果进行加密;
将加密后的验证结果反馈给各个执行器,以使各个执行器基于第二密钥对加密后的验证结果反向验证所述调度器的合法性。
5.根据权利要求1所述的方法,其特征在于,在基于所述任务调度结果向相应的执行器发送任务执行指令之后,还包括:
持续监控所述执行器的任务执行状态;以及,根据所述任务执行状态对所述执行器执行熔断策略。
6.根据权利要求1所述的方法,其特征在于,在基于所述任务调度结果向相应的执行器发送任务执行指令之后,还包括:
持续监测当前线程池是否达到预设阈值,若是,则根据预设规则进行线程回收。
7.一种分布式任务调度方法,其特征在于,应用于执行器,包括:
将各个执行器的配置信息上传至调度器,以使所述调度器在监听到待执行任务时,基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果,然后基于所述任务调度结果向相应的执行器发送任务执行指令;以及,
基于所述任务执行指令执行任务。
8.根据权利要求7所述的方法,其特征在于,在将各个执行器的配置信息上传至调度器之前,还包括:
向调度器发送初始化注册信息,以使所述调度器在接收到所述执行器及其它执行器的初始化注册信息后,分别验证各个执行器的初始化注册信息是否合法,得到验证结果,然后基于所述验证结果对验证为合法的执行器按照其初始化注册信息完成初始化注册。
9.根据权利要求8所述的方法,其特征在于,在向调度器发送初始化注册信息之前,还包括:
接收所述调度器发送的第一密钥;以及,基于所述第一密钥生成初始化注册信息。
10.根据权利要求8所述的方法,其特征在于,在向调度器发送初始化注册信息之后,以及将各个执行器的配置信息上传至调度器之前,还包括:
接收所述调度器反馈的加密后的验证结果,其中所述加密后的验证结果是所述调度器基于第二密钥对所述验证结果进行加密得到的;以及,
基于加密后的验证结果反向验证所述调度器是否合法,若验证为合法,则执行将各个执行器的配置信息上传至调度器的步骤。
11.一种调度器,其特征在于,包括:
第一接收模块,其设置为接收各个执行器的配置信息;
任务调度模块,其设置为在监听到待执行任务时,基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果;以及,
指令发送模块,其设置为基于所述任务调度结果向相应的执行器发送任务执行指令,以使所述执行器基于所述任务执行指令执行任务。
12.一种执行器,其特征在于,包括:
上传模块,其设置为将各个执行器的配置信息上传至调度器,以使所述调度器在监听到待执行任务时,基于所述配置信息对所述待执行任务进行任务调度,得到任务调度结果,然后基于所述任务调度结果向相应的执行器发送任务执行指令;以及,
任务执行模块,其设置为基于所述任务执行指令执行任务。
13.一种分布式任务调度系统,其特征在于,包括调度器和执行器,其中,
所述调度器用于执行权利要求1-6中任一项所述的分布式任务调度方法;以及,
所述执行器用于执行权利要求7-10所述的分布式任务调度方法。
14.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行权利要求1至6中任一项所述的分布式任务调度方法,或者权利要求7至10中任一项所述的分布式任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210294406.XA CN116841701A (zh) | 2022-03-23 | 2022-03-23 | 分布式任务调度方法、调度器、执行器、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210294406.XA CN116841701A (zh) | 2022-03-23 | 2022-03-23 | 分布式任务调度方法、调度器、执行器、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116841701A true CN116841701A (zh) | 2023-10-03 |
Family
ID=88165740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210294406.XA Pending CN116841701A (zh) | 2022-03-23 | 2022-03-23 | 分布式任务调度方法、调度器、执行器、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116841701A (zh) |
-
2022
- 2022-03-23 CN CN202210294406.XA patent/CN116841701A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10708116B2 (en) | Parallel distributed network management | |
US11907046B2 (en) | Distributed object identification system and method, and edge computing device | |
US8767964B2 (en) | Secure communications in computer cluster systems | |
CN111478771B (zh) | 微服务间安全访问的方法、微服务系统 | |
CN111510474B (zh) | 基于消息中间件的数据传输方法及相关设备 | |
JP6230322B2 (ja) | 通信装置、鍵共有方法、プログラムおよび通信システム | |
CN110362984B (zh) | 多设备运行业务系统的方法及装置 | |
CN105530266A (zh) | 一种许可证书管理方法、装置及系统 | |
CN111614548A (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
JP2016092716A (ja) | 鍵管理通信装置および鍵配布方法 | |
JP2009212850A (ja) | 暗号通信システム | |
EP4045998A1 (en) | Token-based device access restriction systems | |
US11695751B2 (en) | Peer-to-peer notification system | |
CN111950004A (zh) | 基于联盟链的设备数据获取方法、设备数据系统 | |
JP2021106323A (ja) | 異常検知システム及び異常検知方法 | |
JP4480316B2 (ja) | 分散処理システム | |
CN102333099A (zh) | 一种安全控制方法和设备 | |
CN103024599B (zh) | 机顶盒通信方法、装置和系统 | |
CN116841701A (zh) | 分布式任务调度方法、调度器、执行器、系统及介质 | |
CN111787534A (zh) | 一种数据加解密方法、装置及电子设备 | |
CN115955358A (zh) | 基于点对点通信的数据流传输系统 | |
KR101287669B1 (ko) | 하드웨어 보안 모듈 다중화 장치 및 그 방법 | |
CN102316119A (zh) | 一种安全控制方法和设备 | |
CN113438242B (zh) | 服务鉴权方法、装置与存储介质 | |
US20190356480A1 (en) | Method for managing key in security system of multicast environment |
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 |