CN110290180A - 分布式任务调度方法、装置、计算机设备和存储介质 - Google Patents
分布式任务调度方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110290180A CN110290180A CN201910469193.8A CN201910469193A CN110290180A CN 110290180 A CN110290180 A CN 110290180A CN 201910469193 A CN201910469193 A CN 201910469193A CN 110290180 A CN110290180 A CN 110290180A
- Authority
- CN
- China
- Prior art keywords
- server
- task
- client
- cluster
- scheduling
- 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 72
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 230000002860 competitive effect Effects 0.000 claims abstract description 17
- 238000012544 monitoring process Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 29
- 230000009471 action Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种分布式任务调度方法、装置和存储介质,在需要执行目标任务时,在服务器集群中选择一个目标服务器,由目标服务器调度执行目标任务的客户端,服务器集群中除目标服务器之外的其他服务器监听目标服务器的任务调度结果,在调度失败的情况下,其他服务器根据预设的竞争策略竞争目标任务,重新调度执行该任务的客户端。本申请能在调度失败的情况下重新进行调度,从而可以提高任务执行的可靠性。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种分布式任务调度方法、***、计算机设备、装置和存储介质。
背景技术
分布式任务调度***部署有协调程序,该协调程序包括一个简单的原语集,分布式任务调度***可以基于该协调程序实现同步服务、配置维护和命名服务等,分布式任务调度***的核心是原子广播,该机制保证了各个分布式调度任务***中各个服务集群之间的同步,分布式任务调度***可以通过恢复模式和广播模式来实现同步过程。当服务启动或者在领导者崩溃后,服分布式任务调度***就进入恢复模式,当领导者被选举出来,且大多数服务者完成了和领导者的状态同步以后,结束恢复模式。状态同步保证了领导者和服务者具有相同的***状态。在分布式任务调度***中,为了实现任务的自动触发,在定时时间到来时自动执行预设的任务,由于各种原因执行任务的过程中可能会发生失败,如何提高执行任务的可靠性是目前研究的热点。
发明内容
为解决上述的技术问题,本申请提供一种分布式任务调度方法、相关装置和存储介质,实现执行任务的高可靠性。
第一方面,本申请提供了一种分布式任务调度方法,包括:
控制节点检测到满足任务的触发条件时,根据预设的调度策略在服务器集群中选择目标服务器,目标服务器用于在客户端集群中选择多个客户端执行所述目标任务;指示所述服务器集群中除所述目标服务器之外的其他服务器监听所述目标服务器的任务调度结果。
在一种可能的设计中,所述控制节点指示所述服务器集群中除所述目标服务器之外的其他服务器监听所述目标服务器的任务调度结果,包括:
所述控制节点接收来自第一服务器集合中各个服务器的监听注册请求;其中,所述第一服务器集合为所述服务器集群中除所述目标服务器之外的其他服务器;
所述控制节点响应所述监听注册请求,向所述第一服务器集合中各个服务器发送监听成功响应;其中,所述监听成功响应表示允许监听所述目标服务器的任务调度结果。
在一种可能的设计中,还包括:
在所述目标服务器的任务调度结果为调度失败的情况下,所述控制节点接收来自所述第一服务器集合中各个服务器节点发送的任务竞争请求;
所述控制节点根据预设的竞争策略从所述第一服务器集合中选择一个服务器;
所述控制节点向所述第一服务器集合中各个服务器发送携带所述选择的服务器的标识的调度竞争响应。
在一种可能的设计中,还包括:
在所述目标服务器的任务调度结果为调度成功的情况下,所述控制节点指示所述第一服务器集合中的各个服务器停止监听所述目标服务器的任务调度结果。
第二方面,本申请提供了一种分布式任务调度方法,包括:
在满足任务的触发条件时,服务器根据控制节点的调度指示消息在客户端集群中选择多个客户端执行任务;
在调度所述多个客户端成功的情况下,所述服务器根据预设的执行策略指示所述多个客户端执行所述目标任务;
所述服务器接收来自所述多个客户端的任务执行结果。
在一种可能的设计中,所述根据预设的执行策略指示所述多个客户端执行所述目标任务,包括:
所述服务器获取所述多个客户端各自对应的负荷信息;
根据所述多个客户端的负荷信息确定各个客户端的子任务;
以及指示所述多个客户端执行各自分配的子任务。
在一种可能的设计中,还包括:
在所述目标任务执行结果为失败的情况下,将所述目标任务放入失败任务队列中,以便服务器集群中其他服务器从所述失败任务队列中取出所述目标任务进行重试。
在一种可能的设计中,还包括:
在所述目标任务执行的过程中发生中断的情况下,获取所述目标任务的断点信息;
所述服务器将所述断点信息发送给所述客户端集合中的其他客户端进行重试。
第三方面,本申请提供了一种应用测试***,包括:控制节点、服务器集群和客户端集群;
本申请又一方面提供了一种装置,可以实现上述第一方面或第二方面的分布式任务调度方法。例如所述装置可以是芯片(如基带芯片,或通信芯片等)或者服务器。可以通过软件、硬件、或者通过硬件执行相应的软件实现上述方法。
在一种可能的实现方式中,所述装置的结构中包括处理器、存储器;所述处理器被配置为支持所述装置执行上述应用测试方法中相应的功能。存储器用于与处理器耦合,其保存所述装置必要的程序(指令)和/或数据。可选的,所述装置还可以包括通信接口用于支持所述装置与其他网元之间的通信。
在另一种可能的实现方式中,所述装置可以包括执行上述方法中相应动作的单元模块。
在又一种可能的实现方式中,包括处理器和收发装置,所述处理器与所述收发装置耦合,所述处理器用于执行计算机程序或指令,以控制所述收发装置进行信息的接收和发送;当所述处理器执行所述计算机程序或指令时,所述处理器还用于实现上述方法。其中,所述收发装置可以为收发器、收发电路或输入输出接口。当所述装置为芯片时,所述收发装置为收发电路或输入输出接口。
当所述装置为芯片时,发送单元可以是输出单元,比如输出电路或者通信接口;接收单元可以是输入单元,比如输入电路或者通信接口。当所述装置为网络设备时,发送单元可以是发射器或发射机;接收单元可以是接收器或接收机。
本申请又一方面提供了一种装置,该装置包括:存储器和处理器;其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行各方面所述的方法。
本申请的又一方面提了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
根据以上的实施例,在需要执行目标任务时,在服务器集群中选择一个目标服务器,由目标服务器调度执行目标任务的客户端,服务器集群中除目标服务器之外的其他服务器监听目标服务器的任务调度结果,在调度失败的情况下,竞争目标任务,重新调度执行该任务的客户端,本申请能在调度失败的情况下重新进行调度,能提高任务执行的可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有的分布式任务调度***的网络结构图;
图2是本申请实施例提供的一种分布式任务调度方法的流程示意图;
图3是本申请实施例提供的分布式任务调度方法的另一流程示意图;
图4是本申请实施例提供的分布式任务调度方法另一流程示意图;
图5是本申请实施例提供的分布式任务调度方法的另一流程示意图;
图6是本申请实施例提供的分布式任务调度方法的交互示意图;
图7是本申请实施例提供的一种装置的结构示意图;
图8是本申请实施例提供的一种装置的另一结构示意图;
图9是本申请实施例提供的一种装置的另一结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
参见图1,为现有技术提供的一种分布式任务调度***的网络架构图,在该分布式任务调度***包括控制节点10、数据库11、服务器集群12和客户端集群13,服务器集群12包括多个服务器,多个服务器呈分布式部署,例如:服务器集群12包括服务器120、服务器121和服务器122;客户端集群13多个客户端,例如:客户端集群13包括客户端130、客户端131和客户端132。服务器集群12和客户端集群13之间具有相互通信的通信接口。应理解,图1中分布式任务调度***中的各个设备的连接方式和数量仅为举例说明,并非对本申请的限制。
其中,控制节点10主要用于控制服务器集群12,例如:对服务器集群12进行负载均衡,监控服务器集群12中各个服务器的运行状态,控制节点10可以zookeeper集群。数据库11主要存储分布式任务调度***在运行过程中的各种类型的数据,在一个或多个实施例中,数据库11是Mysql。
服务器集群12用于在客户端集群13中调度执行任务的客户端,服务器调度的策略可以是哈希策略、按CPU使用率进行调度或按内存使用率进行调度,服务器集群12中的服务器可以由springboot框架内嵌的tomcat容器实现,并提供客户端SDK(SoftwareDevelopment Kit,软件开发工具包)给业务方。客户端集群13中被调度的客户端根据执行策略去执行任务,执行策略可是是指定在某个客户端上执行或所有客户端上都执行任务或各个客户端执行一部分任务。
本申请中的服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,该服务器可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
其中,本申请中的客户端包括但不限于:个人电脑、平板电脑、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personal digital assistant,PDA)、5G网络或未来演进网络中的终端设备等。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
参见图2,图2是本申请实施例提供的分布式任务调度方法的流程示意图,在本申请实施例中,所述方法包括:
S201、检测到满足目标任务的触发条件时,控制节点在服务器集群中选择目标服务器。
在一个实施例中,任务表示分布式任务调度***待执行的任务,例如:任务包括磁盘整理、内存清理、报告生成、结果汇总等,执行任务的过程可能调度多个客户端协作来执行该任务。触发条件表示触发执行任务的条件,其中触发条件可以根据实际需求进行设定,触发条件可以是时间条件、业务类型条件或操作类型条件等,例如:在指定时间到来时触发任务;或在执行指定的业务类型时触发任务;在检测到指定的操作类型是触发任务等。
在一个实施例中,服务器集群包括多个服务器,服务器集群中的服务器起到调度的作用,用于调度多个客户端来使用预设的执行策略来执行任务。多个服务器可以是多个物理的服务器,多个物理的服务器在硬件上是独立的;或多个服务器也是在多个虚拟的服务器,多个虚拟的服务器部署在相同的硬件资源池中,虚拟的服务器的部署方式包括但不限于:VMware、Virtual Box和Virtual PC。
在一个实施例中,控制节点可以根据预设规则从服务器集群中选择目标服务器,预设以是基于哈希算法、CPU使用率、内存使用率中的一种或多种来选择目标服务器。例如:服务器集群中包括n个服务器,n个服务器从0~n-1开始编号,n为大于等于2的整数,控制节点生成一个随机数,将随机数与n求模后得到余数,余数的取值范围为0~n-1,将余数作为编号在服务器集群中选择对应的目标服务器。目标服务器用于在客户端集群中选择多个客户端执行任务,服务器集群和客户端集群之间可以通过通信协议进行通信,例如:gRPC协议,gRPC是一个高性能、通用的开源远程服务器调用(Remote Procedure Call,RPC)框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于协议缓冲(Protocol Buffers,PB)序列化协议开发,且支持众多开发语言。
S202、控制节点指示服务器集群中除目标服务器之外的其他服务器监听目标服务器的任务调度结果。
其中,任务调度结果包括调度失败和调度成功。调度成功表示目标服务器成功从客户端集群中调度出指定数量的客户端。客户端集群中的客户端可能存在负荷过大或发生故障等情况,这样客户端无法执行任务;或客户端集群中可用的客户端的数量小于目标服务器需要调度的客户端的数量,目标服务器无法成功调度所需数量的客户端,即目标服务器的任务调度结果为调度失败;又例如:服务器上的调度请求数量太多,无法在规定的时间内响应当前的调度;服务器在。控制节点在服务器集群中选择出目标服务器之后,还指示目标服务器中除目标服务器之外的其他服务器监听目标服务器的任务调度结果。例如:控制节点为zookeeper集群,服务器集群中除目标服务器之外的其他服务器在zookeeper集群上注册监听,以便监听目标服务器的任务调度结果。
实施本申请实施例,在需要执行目标任务时,在服务器集群中选择一个目标服务器,由目标服务器调度执行目标任务的客户端,服务器集群中除目标服务器之外的其他服务器监听目标服务器的任务调度结果,在调度失败的情况下,竞争目标任务,重新调度执行该任务的客户端,本申请能在调度失败的情况下重新进行调度,能提高任务执行的可靠性。
参见图3,为本申请实施例提供的一种分布式任务调度方法的另一流程示意图,在本申请实施例中,所述方法包括:
S301、在目标任务的定时时间到来时,控制节点在服务器集群中选择目标服务器。
其中,控制节点预存储或预配置有定时时间,控制节点监测到定时时间到来时,获取定时时间关联的任务,控制节点预先配置有服务器集群,服务器集群中包括多个服务器,服务器集群中的各个服务器用于调度执行任务的客户端。
在一个实施例中,控制节点在服务器集群中选择目标服务器的方法包括:
控制节点监测服务器集群中各个服务器在预设时长内的CPU使用率,将CPU使用率最小的服务器作为目标服务器,预设时长可以根据实际需求而定,本申请不作限制。例如:预设时长以定时时间为起始时间的预设长度的时间区间,或预设时长为以定时时间为结束时间的预设长度的时间区间。
在一个实施例中,控制节点在服务器集群中选择目标服务器的方法包括:
控制节点监测服务器集群中各个服务器在预设时长内的内存使用率,将内存使用率最小的服务器作为目标服务器,预设时长可以根据实际需求而定,本申请不作限制。例如:预设时长以定时时间为起始时间的预设长度的时间区间,或预设时长为以定时时间为结束时间的预设长度的时间区间。
在一个实施例中,控制节点在服务器集群中选择目标服务器的方法包括:
服务器集群中包含n个服务器,n个服务器从0~n-1开始编号,n为大于1的整数,控制节点根据预设的随机数算法生成一个随机数,然后将生成的随机数和服务器集群中的服务器数量n求模,得到一个余数,该余数作为目标服务器的编号。
例如:服务器集群中包含4个服务器,4个服务器的编号分别为:0、1、2、3,控制节点根据预设的随机数算法生成一个随机数101,将随机数101和4求模得到余数为1,那么控制节点将服务器1作为目标服务器。
其中,目标服务器根据预设的调度策略从客户端集群中调度多个客户端,在调度成功的情况下,在多个客户端上执行任务。
S302、控制节点接收来自第一服务器集合中各个服务器的监听注册请求。
其中,第一服务器集合为服务器集群中除S302中选择的目标服务器之外的其他服务器。监听注册请求用于请求监听目标服务器调度执行任务的客户端的任务调度结果,控制节点在选择出目标服务器之后,控制节点向服务器集群广播携带服务器标识的消息,携带的服务器标识为目标服务器的标识,服务器接收到该消息中解析其中携带的服务器标识,如果携带的服务器标识和自身的服务器标识相同的话,得知该服务器为目标服务器;如果不相同的话得知,服务器不为目标服务器。未被选中的服务器随机向控制节点发送注册监听请求。
例如:服务器集群包含:服务器0、服务器1、服务器2和服务器3,控制节点在S302中选择服务器1作为目标服务器,那么服务器集群中除服务器1之外的服务器组成第一服务器集合,第一服务器集合包含:服务器0、服务器2和服务器3。控制节点向服务器集群中各个服务器广播携带服务器1的标识的消息,服务器0接收到该消息解析消息中携带的服务器1的标识和服务器0的标识不相同,确定服务器0没有被选中;服务器1接收到该消息,解析消息中携带的服务器1的标识和服务器1的标识相同,确定服务器0被选中;服务器2接收该消息,解析发现消息中携带的服务器标识和服务器2的标识不同,确定服务器2未被选中;服务器3接收该消息,解析该消息发现消息中携带的服务器标识和服务器3的标识不同,确定服务器3未被选中。然后,未被选中的服务器0、服务器2和服务器4向控制节点发送监听注册请求,监听注册请求用于请求监听服务器,监听注册请求中携带服务器标识。
S303、控制节点响应监听注册请求,向第一服务器集合中的各个服务器发送监听成功响应。
其中,控制节点接收来自第一服务器集合中各个服务器发送的监听注册请求,控制节点根据预先的权限控制策略判断是否允许服务器执行监听过程,预设的权限控制策略可以根据实际需求来定,例如:控制节点预存储或预配置有权限控制列表,权限控制列表中包含允许进行监听的服务器的标识。本申请中,控制节点允许第一服务器集合中的各个服务器监听目标服务器的任务调度结果,控制节点向第一服务器集合中的各个服务器发送监听成功响应,监听成功响应表示允许监听目标服务器的任务调度结果。
在一个实施例中,如果控制节点不允许某个服务器执行监听过程,控制节点向该服务器发送监听失败响应,监听失败响应表示不允许监听目标服务器的任务调度结果。
S304、获取目标服务器的任务调度结果。
其中,目标服务器在为目标任务调度多个客户端之后,控制节点和向第一服务器集合中的各个服务器发送任务调度结果;或者目标服务器在为目标任务调度多个客户端之后,向控制节点发送目标任务的任务调度结果,然后控制节点向第一服务器集合中的各个服务器发送目标任务的任务调度结果。
其中,任务调度结果包括调度成功或调度失败,调度成功表示目标服务器成功调度所需的多个客户端,调度失败表示目标服务器未成功调度到所需的多个客户端。
S305、接收第一服务器集合中各个服务器发送的任务竞争请求。
具体的,任务竞争请求表示用于竞争目标任务,竞争到目标任务的服务器会调度多个客户端执行该目标任务。第一服务器集合中各个服务器使用竞争的方式获取目标任务。
S306、根据预设的竞争策略从第一服务器集合中选择一个临时服务器。
在一个实施例中,各个服务器发送的任务竞争请求中携带时间戳,控制节点接收到各个服务器发送的携带时间戳的任务竞争请求之后,基于时间戳将最早发送的任务竞争请求,将发送该任务竞争请求的服务器作为临时服务器。时间戳可以是服务器发送任务竞争请求的时间。
在一个实施例中,各个服务器发送的任务竞争请求中携带优先级,控制节点接收到各个服务器发送的携带优先级的任务竞争请求之后,确定优先级最高的任务竞争请求,将发送该任务竞争请求的服务器作为临时服务器。优先级可以预先配置的,也可以是根据服务器的负荷信息生成的,负荷信息表示的负荷越轻其优先级越高,负荷信息表示的负荷信息越高其优先级越低。
在一个实施例中,控制节点接收来自第一服务器集合中各个服务器发送的任务竞争请求之后,随机从第一服务器集合中选择一个服务器作为临时服务器。
S307、向第一服务器集合中各个服务器发送任务竞争响应。
其中,任务竞争响应中携带竞争到目标任务的服务器的标识,例如:在S306中服务器2竞争到目标任务,任务竞争响应中携带服务器2的标识。
S307、指示临时服务器调度多个客户端。
其中,控制节点指示临时服务器在客户端集群中调度多个客户端。临时服务器的任务调度结果为成功,控制节点指示第一服务器集合中出临时服务器的其他服务器停止监听,如果临时服务器的任务调度结果为失败,控制节点再次执行根据S306~S307的过程选择一个临时服务器,直到任务调度结果为成功。
S309、指示第一服务器集群中的各个服务器停止监听目标服务器的任务调度结果。
其中,在目标服务器成功在客户端集群中调度多个客户端的情况下,目标服务器会将任务调度结果发送给控制节点,控制节点接收该任务调度结果确定调度成功或调度失败,在调度成功的情况下,控制节点指示第一服务器集群中的各个服务器停止监听目标服务器的任务调度结果。
实施本申请实施例,在需要执行目标任务时,在服务器集群中选择一个目标服务器,由目标服务器调度执行目标任务的客户端,服务器集群中除目标服务器之外的其他服务器监听目标服务器的任务调度结果,在调度失败的情况下,竞争目标任务,重新调度执行该任务的客户端,本申请能在调度失败的情况下重新进行调度,能提高任务执行的可靠性。
参见图4,为本申请实施例提的一种分布式任务调度方法的另一流程示意图,在本申请实施例中,所述方法包括:
S401、服务器接收调度指示消息,基于调度指示消息根据预设的调度策略在客户端集群中调度多个客户端。
其中,调度指示消息用于指示服务器为目标任务调度多个客户端,然后在调度的多个客户端上执行目标任务。调度指示消息可以携带目标任务的标识和服务器的标识,服务器接收到调度指示消息后解析调度指示消息中携带的目标任务的标识和服务器的标识。客户端集群为执行目标任务的节点,客户端集群中包括多个客户端,多个客户端以分布式的方式进行部署,客户端可以是物理机,也可以是虚拟机,本申请不作限制。服务器预存储或预配置有调度策略,调度策略表示在客户端集群中调度多个客户端的规则,调度策略可以是基于哈希算法、CPU使用率、内存使用率或其他策略,本申请不作限制。
S402、在任务调度结果为调度成功的情况下,服务器根据预设的执行策略指示多个客户端执行目标任务。
其中,任务调度结果包括调度成功和调度失败两种,调度成功表示服务器在客户端集群中成功调度到所需的多个客户端;调度失败表示服务器未在客户端集群中调度到所需的多个客户端。调度失败的原因可以是客户端发生故障,或者客户端上的性能波动较大,无法准确的检测客户端上的负荷信息等原因。服务器预存储或预配置有执行策略,执行策略表示调度的多个客户端执行目标任务的规则,执行策略可是将目标任务平均分解为多个子任务,将多个子任务分配给多个客户端;执行策略也可以是将多个客户端分为主用客户端和备用客户端,同时在占用客户端和备用客户端上执行目标任务。执行策略可以根据实际需求来定,本申请不作限制。
S403、服务器接收来自多个客户端的任务执行结果。
具体的,任务执行结果包括执行成功和执行失败两种情况,执行成功表示调度的多个客户端成功执行目标任务;还行失败表示调度的多个客户端未成功执行目标任务。
在一个实施例中,客户端将目标任务加载到本地内存中,启动gPRC服务与服务器进行通信,初始化执行任务的线程池,注册JVM钩子用于程序退出时关闭gPRC服务,销毁线程池,回调客户端的任务执行结果给服务器。
在本申请实施例中,服务器基于调度指示消息在客户端集群中调度多个客户端,在调度成功的情况下指示多个客户端执行目标任务,获取多个客户端的任务执行结果,实现在多个客户端上执行目标任务,减轻了客户端执行任务的负载,提高了任务执行的效率。
参见图5,为本申请实施例提供的一种分布式任务调度方法的另一流程示意图,在本申请实施例中,所述方法包括:
S501、初始化流程。
其中,服务器在启动时将该服务器的IP地址到控制节点,并注册控制节点监听服务器和控制节点之间的连接情况,断开连接时移除服务器的IP地址,重连接时重新注册IP地址到控制节点。服务器向控制节点注册任务的监听,触发任务的监听会广播到服务器集群中所有的服务器。
S502、服务器接收来自控制节点的调度指示消息。
其中,服务器为服务器集群中的一个服务器,调度指示消息用于指示服务器在客户端集群中选择多个客户端执行目标任务,调度指示消息中携带需要调度的服务器的标识。
S503、服务器根据预设的调度策略在客户端集群中调度多个客户端。
其中,服务器中预存储或预配置有调度策略,调度策略表示从客户端集群中选择客户端的规则。
在一个实施例中,服务器在客户端集群中选择多个客户端的方法包括:
服务器根据哈希算法计算服务器
在一个实施例中,服务器在客户端集群中调度多个客户端的方法包括:
服务器需要从客户端集群中调度出n个客户端的情况下,n为大于2的整数,服务器根据预设各个客户端的内存使用率,将各个客户端的内存使用率进行升序排列,将内存使用率排在前n个客户端作为调度的客户端。
在一个实施例中,服务器在客户端集群中调度多个客户端的方法包括:
服务器需要从客户端集群中调度出n个客户端的情况下,服务器根据获取n个客户端的CPU使用率,根据CPU使用率的大小进行升序排列,将CPU使用率排在前n个客户端作为调度的客户端。
在一个实施例中,服务器在客户端集群中调度多个客户端的方法包括:
服务器需要从客户端集群中n个客户端的情况下,服务器监测m个客户端
S504、任务调度结果是否为调度成功。
其中,任务调度结果包括调度成功或调度失败,调度成功表示服务器成功从客户端集群中调度所需的客户端;调度失败表示服务器未从客户端集群中调度所需的客户端。目标服务器将任务调度结果发送给控制节点,或将任务调度结果发送给第一服务器集合中的各个服务器。
S505、服务器监测多个客户端各自对应的负荷信息。
其中,负荷信息表示客户端的负荷状态,负荷信息可以用CPU使用率、内存使用率和线程数中的一种或多种来表示。
S506、服务器根据多个客户端的负荷信息分配各个客户端的子任务。
其中,将目标任务分为分解为多个子任务,然后根据多个客户端的负荷信息的大小,负荷重的客户端分配的子任务的数量少,负荷轻的客户端分配的子任务多。
在一个实施例中,服务器可以根据各个客户端的负荷信息的比例,然后将比例值取导数,根据取倒数后的比例值将目标任务分解的多个子任务分配给各个客户端,多个客户端同时执行目标任务,提高执行任务的可靠性。
例如:目标任务分解为50个子任务,服务器监测到服务器130、客户端131和客户端132的CPU使用率分别为:10%、15%、25%,客户端130、客户端131和客户端132的CPU使用率的比值为:2:3:5,将上述的比例值取倒数为:1/2:1/3:1/5,根据取倒数后的比例值将50个子任务分配给客户端130、客户端131和客户端132,分配的子任务的数量为整数,分配给3个客户端的子任务的总数量等于50。
在一个实施例中,服务器成功调度处多个客户端的情况下,可以在多个客户端上并行的执行目标任务,多个客户端互为备份,提高任务执行的可靠性。
S507、服务器指示多个客户端执行各自分配的子任务。
S508、获取目标任务的任务执行结果。
其中,客户端初始化线程池,将子任务放入线程池,开始执行子任务,在子任务执行结束后,利用注册的JVM钩子关闭gPRC服务,销毁线程池,将子任务的任务执行结果回调给服务器。任务执行结果包括执行失败和执行成功,执行失败的原因可能是服务器集群和客户端集群之间的通信接口故障,或客户端发生故障或执行目标任务的时间超时。如果目标任务分解为多个子任务分配给多个客户端执行的情况下,多个子任务全部执行成功的情况下,目标任务才为执行成功。
S509、在目标任务执行失败的情况下,将目标任务放入到失败任务列表中。
其中,在目标任务实现失败的情况向,将目标任务放入失败任务列表,后续其他服务器根据失败任务列表中任务的优先级,重新调度客户端执行该目标任务。
S510、在目标任务执行发生中断的情况下,将目标任务的断点信息发送给其他服务器。
其中,断点信息包括目标任务的标识、进度信息、执行目标任务产生的数据,将断点信息发送给服务器集群中的其他服务器,以便其他服务器根据断点信息继续执行该目标任务。
实施本申请实施例,服务器基于调度指示消息在客户端集群中调度多个客户端,在调度成功的情况下指示多个客户端执行目标任务,获取多个客户端的任务执行结果,在目标任务执行失败的情况下,将目标任务转移到服务器集群中的其他服务器上进行执行,提高目标任务执行的可靠性。。
下面就几个具体的实施例对本申请的分布式任务调度方法的过程进行详细说明。
参见图1所示的分布式任务调度***,控制节点10在服务器集群12中选择的目标服务器为服务器120,服务器120调度执行目标任务的客户端,服务器120的任务调度结果为失败,然后服务器集群12中的服务器121竞争到目标任务,服务器121调度执行目标任务的客户端,服务器121的任务调度结果为成功,然后服务器121在调度的多个客户端上执行目标任务,接收任务执行结果。
基于图1的网络架构图,参见图6为本申请实施例提供的一种分布式任务调度方法的交互示意图,在本申请实施例中,所述方法包括:
S601、控制节点10检测到满足目标任务的触发条件。
其中,触发条件表示触发执行目标任务的条件,包括时间条件、业务类型条件和操作条件中的一种或多种。
S602、在服务器集群中选择目标服务器。
其中,根据预设的规则选择目标服务器,预设的规则根据实际需求来定。
S603、控制节点10向服务器120发送调度指示消息,服务器120接收来自控制节点10的调度指示消息。
其中,调度指示消息中携带选择的目标服务器的标识。
S604、控制节点10向服务器121发送调度指示消息,服务器121接收来自控制节点的调度指示消息。
S605、控制节点10向服务器122发送调度指示消息,服务器122接收来自控制节点10的调度指示消息。
S606、服务器120在客户端集群中调度客户端。
其中,服务器120根据预设的调度策略在客户端集群中调度客户端,具体策略可参照图3和图4的描述。
S607、服务器121向控制节点10发送监听注册请求,控制节点10接收来自服务器121的监听注册请求。
其中,监听注册请求用于监听目标服务器的任务调度结果。
S608、服务器122向控制节点10发送监听注册请求,控制节点10接收来自服务器122的监听注册请求。
S609、控制节点10向服务器121发送监听成功响应,服务器121接收来自控制节点10的监听成功响应。
S610、控制节点10向服务器122发送监听成功响应,服务器122接收来自控制节点10的监听成功响应。
S611、服务器120向控制节点10发送任务调度结果,控制节点10接收来自服务器120的任务调度结果。
S612、服务器120向服务器121发送任务调度结果,服务器121接收来自服务器120的任务调度结果。
S613、服务器120向服务器122发送任务调度结果,服务器122接收来自服务器120的任务调度结果。
S614、服务器121向控制节点10发送任务竞争请求,控制节点10接收来自服务器121发送的任务竞争请求。
S615、服务器122向控制节点10发送任务竞争请求,控制节点10接收来自服务器122的任务竞争请求。
S616、控制节点10向服务器121发送任务竞争响应,服务器121接收来自控制节点10的任务竞争响应。
其中,任务竞争响应中携带成功竞争到目标任务的服务器的标识,即服务器121的标识。
S617、控制节点10向服务器122发送任务竞争响应,服务器122接收来自控制节点10的任务竞争响应。
S618、服务器121在客户端集群中成功调度客户端。
S619、根据执行策略执行目标任务。
S620、客户端向服务器121发送任务执行结果,服务器121接收来自客户端的任务执行结果。
在需要执行目标任务时,在服务器集群中选择一个目标服务器,由目标服务器调度执行目标任务的客户端,服务器集群中除目标服务器之外的其他服务器监听目标服务器的任务调度结果,在调度失败的情况下,竞争目标任务,重新调度执行该任务的客户端,本申请能在调度失败的情况下重新进行调度,能提高任务执行的可靠性。
上述图2至图6详细阐述了分布式任务调度方法。相应的本申请实施例的一种装置的结构示意图。
请参见图7,图7是本申请实施例提供的一种装置7的结构示意图,该装置7可以包括选择单元701和指示单元702。
选择单元701,用于在满足目标任务的触发条件时,在服务器集群中选择目标服务器;其中,所述目标服务器用于在客户端集群中调度多个客户端执行所述目标任务;
指示单元702,用于指示所述服务器集群中除所述目标服务器之外的其他服务器监听所述目标服务器的任务调度结果;其中,所述其他服务器在监听到所述任务调度结果为调度失败的情况下,根据预设的竞争策略竞争所述目标任务。
在一个实施例中,指示单元701指示所述服务器集群中除所述目标服务器之外的其他服务器监听所述目标服务器的任务调度结果,包括:
接收来自第一服务器集合中各个服务器的监听注册请求;其中,所述第一服务器集合为所述服务器集群中除所述目标服务器之外的其他服务器;
响应所述监听注册请求,向所述第一服务器集合中各个服务器发送监听成功响应;其中,所述监听成功响应表示允许监听所述目标服务器的任务调度结果。
在一个实施例中,装置7还包括:
竞争单元,用于在目标服务器调度客户端失败的情况下,接收来自所述除多个服务器之外的其他服务器发送的任务竞争请求;
根据预设的竞争策略选择一个作为临时服务器;
向其他服务器发送任务竞争响应;其中,所述任务竞争响应携带所述临时服务器的标识;
指示所述临时服务器调度执行该任务的多个客户端。
在一个实施例中,指示单元701,还用于在所述多个服务器成功调度客户端的情况下,指示所述第一服务器集群中的各个服务器停止监听所述目标任务的任务调度结果。
在一个实施例中,所述预设的竞争策略包括:
基于服务器发起的任务竞争请求的时间戳,将最早发送任务竞争请求的服务作为竞争到所述目标任务的服务器;或
基于服务器发送的任务竞争请求的优先级,将优先级最高的任务精确请求的服务竞争到所述目标任务的服务器。
本申请实施例和图2和图3的方法实施例基于同一构思,其带来的技术效果也相同,具体过程可参照图2和图3的方法实施例的描述,此处不再赘述。
装置7可以是控制节点,所述装置7也可以为实现相关功能的现场可编程门阵列(field-programmable gate array,FPGA),专用集成芯片,***芯片(system on chip,SoC),中央处理器(central processorunit,CPU),网络处理器(network processor,NP),数字信号处理电路,微控制器(micro controllerunit,MCU),还可以采用可编程控制器(programmable logic device,PLD)或其他集成芯片。
请参见图8,图8是本申请实施例提供的一种装置8的结构示意图,该装置8可以包括调度单元801、指示单元802和接收单元803。
调度单元801,用于接收调度指示消息,基于所述调度指示消息根据预设的调度策略在客户端集群中调度多个客户端;其中,所述调度指示消息携带目标任务的标识和装置8的标识;
指示单元802,用于在任务调度结果为调度成功的情况下,根据预设的执行策略指示所述多个客户端执行所述目标任务;
接收单元803,用于接收来自所述多个客户端的任务执行结果。
在一个实施例中,指示单元802用于根据预设的执行策略指示所述多个客户端执行所述目标任务,包括:
将所述目标任务分解为多个子任务;
获取所述多个客户端的负荷信息;
根据所述多个客户端的负荷信息将所述多个子任务分配给所述多个客户端;其中,分配给负荷重的客户端的子任务数量大于负荷轻的客户端的子任务数量;
指示所述多个客户端执行分配的子任务。
在一个实施例中,所述调度单元801基于所述调度指示消息根据预设的调度策略在客户端集群中调度多个客户端,包括:
根据CPU使用率和内存使用率中的一种或多种从客户端集群中调度多个客户端。
在一个实施例中,装置8还包括:
获取单元,若所述目标任务在执行过程中发生中断,所述服务器获取所述目标任务的断点信息;
发送单元,用于将断点信息发送给所述服务器集群中的各个服务器。
本申请实施例和图4和图5的方法实施例基于同一构思,其带来的技术效果也相同,具体过程可参照图4和图5的方法实施例的描述,此处不再赘述。
装置8可以是客户端,所述装置8也可以为实现相关功能的现场可编程门阵列(field-programmable gate array,FPGA),专用集成芯片,***芯片(system on chip,SoC),中央处理器(central processorunit,CPU),网络处理器(network processor,NP),数字信号处理电路,微控制器(micro controllerunit,MCU),还可以采用可编程控制器(programmable logic device,PLD)或其他集成芯片。
图9为本申请实施例提供的一种装置结构示意图,以下简称装置9,装置9可以集成于前述的控制节点或客户端,如图9所示,该装置包括:存储器902、处理器901、输入装置903、输出装置904和通信接口。
存储器902可以是独立的物理单元,与处理器901、输入装置903和输出装置904可以通过总线连接。存储器902、处理器901、收发器903也可以集成在一起,通过硬件实现等。
存储器902用于存储实现以上方法实施例,或者装置实施例各个模块的程序,处理器901调用该程序,执行以上方法实施例的操作。
输入装置902包括但不限于键盘、鼠标、触摸面板、摄像头和麦克风;输出装置包括但限于显示屏。
通信接口用于收发各种类型的消息,通信接口包括但不限于无线接口或有线接口。
可选地,当上述实施例的分布式任务调度方法中的部分或全部通过软件实现时,装置也可以只包括处理器。用于存储程序的存储器位于装置之外,处理器通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。
处理器可以是中央处理器(central processing unit,CPU),网络处理器(networkprocessor,NP)或者CPU和NP的组合。
处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器可以包括易失性存储器(volatile memory),例如存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flashmemory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。
本申请实施例还提供了一种计算机存储介质,存储有计算机程序,该计算机程序用于执行上述实施例提供的分布式任务调度方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的分布式任务调度方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (13)
1.一种分布式任务调度方法,其特征在于,包括:
在满足目标任务的触发条件时,控制节点在服务器集群中选择目标服务器;其中,所述目标服务器用于在客户端集群中调度用于执行所述目标任务的多个客户端;
所述控制节点指示所述服务器集群中除所述目标服务器之外的其他服务器监听所述目标服务器的任务调度结果;其中,所述其他服务器在监听到所述任务调度结果为调度失败的情况下,根据预设的竞争策略竞争所述目标任务。
2.根据权利要求1所述的方法,所述控制节点指示所述服务器集群中除所述目标服务器之外的其他服务器监听所述目标服务器的任务调度结果,包括:
所述控制节点接收来自所述服务器集群中除所述目标服务器之外的其他服务器中各个服务器的监听注册请求;
所述控制节点响应所述监听注册请求,向所述其他服务器中各个服务器发送监听成功响应;其中,所述监听成功响应表示允许监听所述目标服务器的任务调度结果。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
在所述目标服务器的任务调度结果为失败时,接收来自除所述目标服务器之外的其他服务器发送的任务竞争请求;
根据预设的竞争策略在所述其他服务器中选择一个临时服务器;
向所述其他服务器发送任务竞争响应;其中,所述任务竞争响应携带所述临时服务器的标识;
指示所述临时服务器调度执行所述目标任务的多个客户端。
4.根据权利要求1或2所述的方法,其特征在于,还包括:
在所述任务调度结果为成功时,所述服务器指示所述第一服务器集群中的各个服务器停止监听所述目标服务器的任务调度结果。
5.根据权利要求4所述的方法,其特征在于,所述预设的竞争策略包括:
基于服务器发起的任务竞争请求的时间戳,将最早发送任务竞争请求的服务作为竞争到所述目标任务的服务器;或
基于服务器发送的任务竞争请求的优先级,将优先级最高的任务精确请求的服务竞争到所述目标任务的服务器。
6.一种分布式任务调度方法,其特征在于,包括:
服务器接收调度指示消息,基于所述调度指示消息根据预设的调度策略在客户端集群中调度多个客户端;其中,所述调度指示消息携带目标任务的标识和所述服务器的标识;
在任务调度结果为调度成功的情况下,所述服务器根据预设的执行策略指示所述多个客户端执行所述目标任务;
所述服务器接收来自所述多个客户端的任务执行结果。
7.根据权利要求6所述的方法,其特征在于,所述服务器根据预设的执行策略指示所述多个客户端执行所述目标任务,包括:
将所述目标任务分解为多个子任务;
获取所述多个客户端的负荷信息;
根据所述多个客户端的负荷信息将所述多个子任务分配给所述多个客户端;其中,分配给负荷重的客户端的子任务数量大于负荷轻的客户端的子任务数量;
指示所述多个客户端执行分配的子任务。
8.根据权利要求6或7所述的方法,其特征在于,所述基于所述调度指示消息根据预设的调度策略在客户端集群中调度多个客户端,包括:
根据CPU使用率和内存使用率中的一种或多种从客户端集群中调度多个客户端。
9.根据权利要求8所述的方法,其特征在于,还包括:
若所述目标任务在执行过程中发生中断,所述服务器获取所述目标任务的断点信息;
服务器将断点信息发送给所述服务器集群中的各个服务器。
10.一种分布式任务调度装置,包括:
选择单元,用于在满足目标任务的触发条件时,在服务器集群中选择目标服务器;其中,所述目标服务器用于在客户端集群中调度用于执行所述目标任务的多个客户端;
指示单元,用于指示所述服务器集群中除所述目标服务器之外的其他服务器监听所述目标服务器的任务调度结果;其中,所述其他服务器在监听到所述任务调度结果为调度失败的情况下,根据预设的竞争策略竞争所述目标任务。
11.一种分布式任务调度装置,包括:
调度单元,用于接收调度指示消息,基于所述调度指示消息根据预设的调度策略在客户端集群中调度多个客户端;其中,所述调度指示消息携带目标任务的标识和所述服务器的标识;
指示单元,用于在任务调度结果为调度成功的情况下,所述服务器根据预设的执行策略指示所述多个客户端执行所述目标任务;
接收单元,用于接收来自所述多个客户端的任务执行结果。
12.一种计算机设备,其特征在于,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于调用所述程序指令,执行如权利要求1-9任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910469193.8A CN110290180B (zh) | 2019-05-31 | 2019-05-31 | 分布式任务调度方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910469193.8A CN110290180B (zh) | 2019-05-31 | 2019-05-31 | 分布式任务调度方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110290180A true CN110290180A (zh) | 2019-09-27 |
CN110290180B CN110290180B (zh) | 2022-03-29 |
Family
ID=68003038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910469193.8A Expired - Fee Related CN110290180B (zh) | 2019-05-31 | 2019-05-31 | 分布式任务调度方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110290180B (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737534A (zh) * | 2019-10-29 | 2020-01-31 | 京东数字科技控股有限公司 | 任务的处理方法、装置和服务器 |
CN110888730A (zh) * | 2019-12-06 | 2020-03-17 | 深圳前海环融联易信息科技服务有限公司 | 分布式任务调度方法、装置、计算机设备及存储介质 |
CN111078379A (zh) * | 2019-12-06 | 2020-04-28 | 中至数据集团股份有限公司 | 任务调度方法、***、移动终端及存储介质 |
CN111159612A (zh) * | 2019-12-27 | 2020-05-15 | 广州华多网络科技有限公司 | 倒计时方法、***、装置、计算机设备和存储介质 |
CN111198546A (zh) * | 2020-01-02 | 2020-05-26 | 北京众信易保科技有限公司 | 一种数据采集控制的方法及*** |
CN111277665A (zh) * | 2020-02-14 | 2020-06-12 | 平行云科技(北京)有限公司 | 基于干扰性度量的3d应用调度方法、装置、终端和存储介质 |
CN111338775A (zh) * | 2020-02-21 | 2020-06-26 | 南京领行科技股份有限公司 | 一种执行定时任务的方法及设备 |
CN111352699A (zh) * | 2020-02-28 | 2020-06-30 | 联想(北京)有限公司 | 一种容器调度方法、调度器及计算节点 |
CN111479117A (zh) * | 2020-04-03 | 2020-07-31 | 湖南快乐阳光互动娱乐传媒有限公司 | 直播信源输出方法及装置 |
CN111611066A (zh) * | 2020-06-30 | 2020-09-01 | 平安银行股份有限公司 | 任务执行方法、任务执行服务器和存储介质 |
CN111651316A (zh) * | 2020-04-17 | 2020-09-11 | 浙江时空道宇科技有限公司 | 一种资源监控方法、***、电子设备及存储介质 |
CN111930706A (zh) * | 2020-07-08 | 2020-11-13 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于远程调用的分布式网络文件存储***和方法 |
CN112084011A (zh) * | 2020-09-25 | 2020-12-15 | 中国建设银行股份有限公司 | 变更任务的处理方法及相关装置 |
CN112612769A (zh) * | 2020-12-16 | 2021-04-06 | 深圳前海微众银行股份有限公司 | 文件处理方法、装置及存储介质 |
CN112925618A (zh) * | 2021-02-22 | 2021-06-08 | 北京达佳互联信息技术有限公司 | 一种分布式任务的处理方法和装置 |
CN113762857A (zh) * | 2020-11-24 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种库存扣减方法、装置、设备及存储介质 |
CN113760485A (zh) * | 2020-07-16 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 定时任务的调度方法、装置、设备及存储介质 |
CN113806055A (zh) * | 2021-09-30 | 2021-12-17 | 深圳海智创科技有限公司 | 一种轻量级任务调度方法、***、装置及存储介质 |
CN114827157A (zh) * | 2022-04-12 | 2022-07-29 | 北京云思智学科技有限公司 | 集群任务处理方法、装置、***、电子设备及可读介质 |
CN115576700A (zh) * | 2022-12-07 | 2023-01-06 | 北京志翔科技股份有限公司 | 分布式任务执行方法、服务节点及服务器 |
CN116405509A (zh) * | 2023-06-09 | 2023-07-07 | 深圳前海环融联易信息科技服务有限公司 | 分布式监听方法及其计算机设备、存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100100905A1 (en) * | 1998-08-21 | 2010-04-22 | Sequeira William J | System and method for a master scheduler |
US20140026144A1 (en) * | 2012-07-23 | 2014-01-23 | Brandon John Pack | Systems And Methods For Load Balancing Of Time-Based Tasks In A Distributed Computing System |
CN103973725A (zh) * | 2013-01-28 | 2014-08-06 | 阿里巴巴集团控股有限公司 | 一种分布式协同方法和协同器 |
CN104317658A (zh) * | 2014-10-17 | 2015-01-28 | 华中科技大学 | 一种基于MapReduce的负载自适应任务调度方法 |
CN104536809A (zh) * | 2014-11-26 | 2015-04-22 | 上海瀚之友信息技术服务有限公司 | 一种基于客户端、服务器***的分布式定时任务调度*** |
CN105373429A (zh) * | 2014-08-20 | 2016-03-02 | 腾讯科技(深圳)有限公司 | 任务调度方法、装置及*** |
CN107341051A (zh) * | 2016-05-03 | 2017-11-10 | 北京京东尚科信息技术有限公司 | 集群任务协调方法、***和装置 |
CN107360208A (zh) * | 2017-05-27 | 2017-11-17 | 武汉斗鱼网络科技有限公司 | 推进任务状态的方法、***、存储介质及服务集群 |
US20170337138A1 (en) * | 2016-05-18 | 2017-11-23 | International Business Machines Corporation | Dynamic cache management for in-memory data analytic platforms |
CN108243222A (zh) * | 2016-12-26 | 2018-07-03 | 航天信息股份有限公司 | 服务器网络架构方法及装置 |
CN108304255A (zh) * | 2017-12-29 | 2018-07-20 | 北京城市网邻信息技术有限公司 | 分布式任务调度方法及装置、电子设备及可读存储介质 |
CN109766189A (zh) * | 2019-01-15 | 2019-05-17 | 北京地平线机器人技术研发有限公司 | 集群调度方法和装置 |
-
2019
- 2019-05-31 CN CN201910469193.8A patent/CN110290180B/zh not_active Expired - Fee Related
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100100905A1 (en) * | 1998-08-21 | 2010-04-22 | Sequeira William J | System and method for a master scheduler |
US20140026144A1 (en) * | 2012-07-23 | 2014-01-23 | Brandon John Pack | Systems And Methods For Load Balancing Of Time-Based Tasks In A Distributed Computing System |
CN103973725A (zh) * | 2013-01-28 | 2014-08-06 | 阿里巴巴集团控股有限公司 | 一种分布式协同方法和协同器 |
CN105373429A (zh) * | 2014-08-20 | 2016-03-02 | 腾讯科技(深圳)有限公司 | 任务调度方法、装置及*** |
CN104317658A (zh) * | 2014-10-17 | 2015-01-28 | 华中科技大学 | 一种基于MapReduce的负载自适应任务调度方法 |
CN104536809A (zh) * | 2014-11-26 | 2015-04-22 | 上海瀚之友信息技术服务有限公司 | 一种基于客户端、服务器***的分布式定时任务调度*** |
CN107341051A (zh) * | 2016-05-03 | 2017-11-10 | 北京京东尚科信息技术有限公司 | 集群任务协调方法、***和装置 |
US20170337138A1 (en) * | 2016-05-18 | 2017-11-23 | International Business Machines Corporation | Dynamic cache management for in-memory data analytic platforms |
CN108243222A (zh) * | 2016-12-26 | 2018-07-03 | 航天信息股份有限公司 | 服务器网络架构方法及装置 |
CN107360208A (zh) * | 2017-05-27 | 2017-11-17 | 武汉斗鱼网络科技有限公司 | 推进任务状态的方法、***、存储介质及服务集群 |
CN108304255A (zh) * | 2017-12-29 | 2018-07-20 | 北京城市网邻信息技术有限公司 | 分布式任务调度方法及装置、电子设备及可读存储介质 |
CN109766189A (zh) * | 2019-01-15 | 2019-05-17 | 北京地平线机器人技术研发有限公司 | 集群调度方法和装置 |
Non-Patent Citations (3)
Title |
---|
D.C. SCHMIDT: "Developing next-generation distributed applications with QoS enabled DPE middleware", 《IEEE》 * |
张宁: "面向互联网信息探测的任务管理平台的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
杜军: "基于Kubernetes的云端资源调度器改进", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737534A (zh) * | 2019-10-29 | 2020-01-31 | 京东数字科技控股有限公司 | 任务的处理方法、装置和服务器 |
CN110737534B (zh) * | 2019-10-29 | 2021-05-25 | 京东数字科技控股有限公司 | 任务的处理方法、装置和服务器 |
CN110888730A (zh) * | 2019-12-06 | 2020-03-17 | 深圳前海环融联易信息科技服务有限公司 | 分布式任务调度方法、装置、计算机设备及存储介质 |
CN111078379A (zh) * | 2019-12-06 | 2020-04-28 | 中至数据集团股份有限公司 | 任务调度方法、***、移动终端及存储介质 |
CN111078379B (zh) * | 2019-12-06 | 2024-01-09 | 中至数据集团股份有限公司 | 任务调度方法、***、移动终端及存储介质 |
CN111159612A (zh) * | 2019-12-27 | 2020-05-15 | 广州华多网络科技有限公司 | 倒计时方法、***、装置、计算机设备和存储介质 |
CN111159612B (zh) * | 2019-12-27 | 2024-04-19 | 广州华多网络科技有限公司 | 倒计时方法、***、装置、计算机设备和存储介质 |
CN111198546B (zh) * | 2020-01-02 | 2021-04-06 | 北京众信易保科技有限公司 | 一种数据采集控制的方法及*** |
CN111198546A (zh) * | 2020-01-02 | 2020-05-26 | 北京众信易保科技有限公司 | 一种数据采集控制的方法及*** |
CN111277665B (zh) * | 2020-02-14 | 2022-04-08 | 平行云科技(北京)有限公司 | 基于干扰性度量的3d应用调度方法、装置、终端和存储介质 |
CN111277665A (zh) * | 2020-02-14 | 2020-06-12 | 平行云科技(北京)有限公司 | 基于干扰性度量的3d应用调度方法、装置、终端和存储介质 |
CN111338775A (zh) * | 2020-02-21 | 2020-06-26 | 南京领行科技股份有限公司 | 一种执行定时任务的方法及设备 |
CN111338775B (zh) * | 2020-02-21 | 2022-06-07 | 南京领行科技股份有限公司 | 一种执行定时任务的方法及设备 |
CN111352699A (zh) * | 2020-02-28 | 2020-06-30 | 联想(北京)有限公司 | 一种容器调度方法、调度器及计算节点 |
CN111479117B (zh) * | 2020-04-03 | 2022-01-28 | 湖南快乐阳光互动娱乐传媒有限公司 | 直播信源输出方法及装置 |
CN111479117A (zh) * | 2020-04-03 | 2020-07-31 | 湖南快乐阳光互动娱乐传媒有限公司 | 直播信源输出方法及装置 |
CN111651316A (zh) * | 2020-04-17 | 2020-09-11 | 浙江时空道宇科技有限公司 | 一种资源监控方法、***、电子设备及存储介质 |
CN111651316B (zh) * | 2020-04-17 | 2022-05-10 | 浙江时空道宇科技有限公司 | 一种资源监控方法、***、电子设备及存储介质 |
CN111611066A (zh) * | 2020-06-30 | 2020-09-01 | 平安银行股份有限公司 | 任务执行方法、任务执行服务器和存储介质 |
CN111930706A (zh) * | 2020-07-08 | 2020-11-13 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于远程调用的分布式网络文件存储***和方法 |
CN111930706B (zh) * | 2020-07-08 | 2024-04-09 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于远程调用的分布式网络文件存储***和方法 |
CN113760485A (zh) * | 2020-07-16 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 定时任务的调度方法、装置、设备及存储介质 |
CN112084011A (zh) * | 2020-09-25 | 2020-12-15 | 中国建设银行股份有限公司 | 变更任务的处理方法及相关装置 |
CN113762857A (zh) * | 2020-11-24 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种库存扣减方法、装置、设备及存储介质 |
CN112612769A (zh) * | 2020-12-16 | 2021-04-06 | 深圳前海微众银行股份有限公司 | 文件处理方法、装置及存储介质 |
CN112925618A (zh) * | 2021-02-22 | 2021-06-08 | 北京达佳互联信息技术有限公司 | 一种分布式任务的处理方法和装置 |
CN113806055A (zh) * | 2021-09-30 | 2021-12-17 | 深圳海智创科技有限公司 | 一种轻量级任务调度方法、***、装置及存储介质 |
CN114827157A (zh) * | 2022-04-12 | 2022-07-29 | 北京云思智学科技有限公司 | 集群任务处理方法、装置、***、电子设备及可读介质 |
CN115576700A (zh) * | 2022-12-07 | 2023-01-06 | 北京志翔科技股份有限公司 | 分布式任务执行方法、服务节点及服务器 |
CN116405509B (zh) * | 2023-06-09 | 2023-09-01 | 深圳前海环融联易信息科技服务有限公司 | 分布式监听方法及其计算机设备、存储介质 |
CN116405509A (zh) * | 2023-06-09 | 2023-07-07 | 深圳前海环融联易信息科技服务有限公司 | 分布式监听方法及其计算机设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110290180B (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110290180A (zh) | 分布式任务调度方法、装置、计算机设备和存储介质 | |
EP3669494B1 (en) | Dynamic allocation of edge computing resources in edge computing centers | |
EP3637733B1 (en) | Load balancing engine, client, distributed computing system, and load balancing method | |
WO2016145919A1 (zh) | 一种视频分析任务的调度方法及*** | |
US9357005B2 (en) | Method and system for synchronized distributed display over multiple client devices | |
US20200104165A1 (en) | Systems and methods for scheduling tasks | |
EP4234060A1 (en) | Service processing method and apparatus, and storage medium | |
CN110944219B (zh) | 资源分配方法、装置、服务器及存储介质 | |
CN100471194C (zh) | 根据服务质量支持服务的网络装置、网络***及其方法 | |
CN108668139B (zh) | 直播互动***、方法及装置 | |
US20050256985A1 (en) | Sending progress information of other users for transmitted shared content | |
CN106331739A (zh) | 直播方法、设备、服务器、***以及直播状态监控方法 | |
CN112333249B (zh) | 一种业务服务***及方法 | |
CN110287022A (zh) | 一种调度节点选择方法、装置、存储介质及服务器 | |
CN108243222A (zh) | 服务器网络架构方法及装置 | |
CN109710416A (zh) | 资源调度方法及装置 | |
CN110677464A (zh) | 边缘节点设备、内容分发***、方法、计算机设备及介质 | |
CN110996114B (zh) | 一种直播调度方法、装置、电子设备和存储介质 | |
CN107294911A (zh) | 一种数据包监听方法及装置、远程过程调用***、设备 | |
US20170034341A1 (en) | Monitoring apparatus to monitor communication among terminal devices inside group, and storage medium | |
CN110533358A (zh) | 运输任务分配方法、装置及电子设备 | |
CN108667873B (zh) | 一种分流方法、分流装置、电子设备和可读存储介质 | |
JP2010183355A (ja) | データ収集システム,及び伝送制御装置 | |
CN106561053A (zh) | 在网络化***内请求和接收媒体流 | |
CN110247808B (zh) | 信息发送方法、装置、设备及可读存储介质 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220329 |
|
CF01 | Termination of patent right due to non-payment of annual fee |