CN116149827A - 分布式任务调度系统和分布式任务调度执行系统 - Google Patents
分布式任务调度系统和分布式任务调度执行系统 Download PDFInfo
- Publication number
- CN116149827A CN116149827A CN202310350679.6A CN202310350679A CN116149827A CN 116149827 A CN116149827 A CN 116149827A CN 202310350679 A CN202310350679 A CN 202310350679A CN 116149827 A CN116149827 A CN 116149827A
- Authority
- CN
- China
- Prior art keywords
- task
- scheduling
- node
- server
- evaluation
- 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
- 238000011156 evaluation Methods 0.000 claims abstract description 92
- 238000012544 monitoring process Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000011867 re-evaluation Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing 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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种分布式任务调度系统和分布式任务调度执行系统,属于分布式任务调度技术领域。包括:至少三个服务器节点,各服务器节点用于通过Raft协议进行领导者选举,选出服务器主节点和服务器从节点;服务器主节点用于定时生成调度任务,并将调度任务写入评估队列;服务器从节点用于从评估队列中抓取调度任务,并基于调度任务和各客户端节点的属性信息进行任务评估,将评估成功的评估信息写入任务分配队列;任务分配队列用于客户端节点抓取对应的调度任务;服务器主节点还用于通过Raft协议将全局信息同步至服务器从节点,其中,全局信息包括调度任务、任务分配队列和属性信息。该系统一定程度上解决了单点瓶颈问题。
Description
技术领域
本发明涉及分布式任务调度技术领域,尤其涉及一种分布式任务调度系统和分布式任务调度执行系统。
背景技术
分布式主要是指将任务分布到不同的计算机上,任务执行有上下游,需要协同完成任务的工作方式。调度系统经常以分布式的方式实现,即形成分布式调度系统,主要用于在计算机集群之间执行定时或者被事件触发的任务。
相关技术中,分布式任务调度系统中所有执行节点的资源和用户的任务均由中央服务器统一管理和调度,这使得中央服务器很容易成为单点瓶颈:一方面,中央服务器挂掉或出错,会导致整个任务调度不能执行或出现错误;另一方面,由于中央服务器自身资源的限制,会导致调度规模和任务类型受限。
发明内容
本发明提供一种分布式任务调度系统和分布式任务调度执行系统,用以解决现有技术中由一个中央服务器进行统一管理和调度导致的单点受限的问题。实现一种共享状态的调度系统,多个服务器节点并行的参与调度决策,不存在单点受限的问题。
本发明提供一种分布式任务调度系统,包括:至少三个服务器节点;
各所述服务器节点用于通过Raft协议进行领导者选举,选出服务器主节点和服务器从节点;
所述服务器主节点用于定时生成调度任务,并将所述调度任务写入评估队列;
所述服务器从节点用于从所述评估队列中抓取所述调度任务,并基于所述调度任务和各客户端节点的属性信息进行任务评估,将评估成功的评估信息写入任务分配队列,所述评估信息包括评估成功的调度任务以及对应的客户端节点的标识;所述任务分配队列用于所述客户端节点基于所述客户端节点的标识抓取对应的调度任务;
所述服务器主节点还用于通过所述Raft协议将全局信息同步至所述服务器从节点,其中,所述全局信息包括所述调度任务、所述任务分配队列和所述属性信息。
根据本发明提供的一种分布式任务调度系统,所述服务器从节点具体用于:
根据各所述客户端节点的所述属性信息选择可执行所述调度任务的客户端节点,在确定存在可执行所述调度任务的客户端节点的情况下,确定所述调度任务评估成功,并将评估成功的所述调度任务和对应的所述客户端节点的标识作为所述评估信息写入所述任务分配队列。
根据本发明提供的一种分布式任务调度系统,所述服务器从节点还用于:
在确定不存在可执行所述调度任务的客户端节点的情况下,确定所述调度任务评估失败,并将评估失败的所述调度任务重新放回所述评估队列。
根据本发明提供的一种分布式任务调度系统,所述服务器从节点还用于:
在所述评估信息写入所述任务分配队列失败的情况下,反馈所述评估信息写入失败的信息至所述服务器主节点。
根据本发明提供的一种分布式任务调度系统,所述属性信息包括资源占用信息和任务运行状态;
所述服务器主节点还用于实时获取各所述客户端节点的任务运行状态,定时获取各所述客户端节点的包含所述资源占用信息的心跳包。
根据本发明提供的一种分布式任务调度系统,所述服务器主节点还用于在感知所述客户端节点没有心跳后,触发补偿机制,将所述客户端节点待运行的所述调度任务重新写入所述评估队列。
根据本发明提供的一种分布式任务调度系统,所述服务器从节点还用于在所述服务器主节点挂机后,通过所述Raft协议重新进行选举,从所述服务器从节点中选出新的服务器主节点。
根据本发明提供的一种分布式任务调度系统,还包括显示器,用于展示作业地图,所述作业地图上包括所述调度任务执行状态信息和所述客户端节点上空闲槽位情况。
本发明还提供一种分布式任务调度执行系统,包括多个客户端节点和上述任一种所述分布式任务调度系统;
所述客户端节点用于基于客户端节点的标识从所述任务分配队列中抓取自身对应的所述调度任务,并根据所述调度任务的属性启动执行所述调度任务。
根据本发明提供的一种分布式任务调度执行系统,所述客户端节点还用于在所述调度任务执行失败时反馈所述调度任务执行失败的信息至所述服务器主节点。
本发明提供的分布式任务调度系统和分布式任务调度执行系统,通过共享全局信息的多个服务器节点并行的参与任务的调度决策,且服务器主节点主要用于进行调度任务的生成,因此克服了单点瓶颈的问题。并且,并行的多个服务器节点根据客户端节点的情况按需分配调度任务,在一定程度上避免了客户端节点过量订阅的问题。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的分布式任务调度系统的结构示意图;
图2是本发明提供的评估模块具体工作方法的流程示意图;
图3是本发明提供的显示器展示的作业地图的示意图;
图4是本发明提供的分布式任务调度执行系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图3描述本发明的一种分布式任务调度系统,如图1中所示,该调度系统包括:至少三个服务器节点;各所述服务器节点用于通过Raft协议进行领导者选举,选出服务器主节点和服务器从节点;所述服务器主节点用于定时生成调度任务,并将所述调度任务写入评估队列;所述服务器从节点用于从所述评估队列中抓取所述调度任务,并基于所述调度任务和各客户端节点的属性信息进行任务评估,将评估成功的评估信息写入任务分配队列,所述评估信息包括评估成功的调度任务以及对应的客户端节点的标识;所述任务分配队列用于所述客户端节点基于所述客户端节点的标识抓取对应的调度任务;所述服务器主节点还用于通过所述Raft协议将全局信息同步至所述服务器从节点,其中,所述全局信息包括所述调度任务、所述任务分配队列和所述属性信息。
具体的,Raft是一种实现分布式共识(一致性)的协议:也就是多个节点达成一致的协议。Raft算法想解决的核心问题是分布式共识问题,分布式存储系统的核心问题之一:维护多个副本的数据一致性。Raft将一致性算法分为了几个部分,包括:领导选取(leaderselection)、日志复制(log replication)、安全性(safety),成员变更。
至少三个服务器节点可以在一个服务器上也可以分布在多个服务器上。多个服务器节点通过Raft协议进行领导者选举,从多个服务器节点中选出一个服务器主节点,其余的服务器节点则为服务器从节点。服务器主节点启动定时器完成定时任务的生成,生成调度任务后将调度任务写入评估队列,评估队列可以存储在服务器主节点对应的存储模块如磁盘上。由于定时任务的生成属于轻量级任务,因此服务器主节点上可以承担大量的定时任务的生成而不受性能的限制,在一定程度上克服了性能瓶颈。
各服务器节点上均包括至少一个评估模块,被选举为服务器主节点的服务器节点上的评估模块不运行,被选举为服务器从节点的服务器节点运行各评估模块。当调度任务被写入评估队列后,各服务器从节点上运行的评估模块在评估队列中争抢调度任务,消费调度任务,根据各客户端节点的属性信息对调度任务进行评估,评估成功后将评估信息写入任务分配队列,评估信息即是调度任务的分配结果,包括评估成功的调度任务以及对应的客户端节点的标识,任务分配队列可以存储在服务器主节点对应的存储模块如磁盘上。在进行调度任务评估时,一个调度任务仅能够被一个评估模块抓取一次。如此,任务分配队列中写入的调度任务都匹配有对应的客户端节点来执行,该分配是根据客户端节点的属性信息进行分配的,在一定程度上使得客户端节点不会产生任务过量订阅的问题。
进一步的,各服务器节点除了通过Raft协议来选举服务器主节点外,还通过Raft协议进行全局信息的同步,Raft协议的使用使得该调度系统的分布一致性更好。基于全局信息的同步,各服务器节点可以并发的参与任务的调度决策。全局信息具体包括调度任务、任务分配队列和属性信息。
本发明提供的分布式任务调度系统,通过共享全局信息的多个服务器节点并行的参与任务的调度决策,且服务器主节点主要用于进行调度任务的生成,因此克服了单点瓶颈的问题。并且,一方面,并行的多个服务器节点根据客户端节点的情况按需分配调度任务,在一定程度上避免了客户端节点过量订阅的问题,另一方面,多个客户端节点仅获取分配给自己的任务,无需在队列中进行任务争抢,所以不用对任务进行锁定和解锁操作,降低了任务分配的复杂性,提升了任务的并发量。进一步的,该分布式任务调度系统的服务器节点、服务器节点运行的评估模块均有较高的扩展性,可根据任务调度需求进行扩展。
在一个实施例中,所述服务器从节点具体用于:
根据各所述客户端节点的所述属性信息选择可执行所述调度任务的客户端节点,在确定存在可执行所述调度任务的客户端节点的情况下,确定所述调度任务评估成功,并将评估成功的所述调度任务和对应的所述客户端节点的标识作为所述评估信息写入所述任务分配队列。
具体的,如图2中所示,服务器从节点中的评估模块对调度任务进行评估时,首先从评估队列中抓取一个调度任务,被评估模块抓取的调度任务会从评估队列中消失,以避免其他评估模块重复抓取。由于各服务器节点之间通过Raft协议同步了全局信息,因此每个评估模块都能够获知各个客户端节点的属性信息,属性信息可以体现客户端节点执行调度任务的能力。评估模块根据各客户端节点的属性信息进行评估,选择能够较好执行所述调度任务的客户端节点,选择成功后将调度任务和对应的所述客户端节点的标识作为评估信息写入任务分配队列中。示例性的,例如可以将调度任务和客户端节点的ID组成配对信息写入分配队列中,客户端节点可以通过识别ID信息确定自己要执行的调度任务。
图2中的一致性存储指的是在该调度系统中,各服务器节点存储的全局信息是一致的,评估模块是从对应的服务器节点存储的全局信息中获取客户端节点的属性信息的。
在一个实施例中,所述服务器从节点还用于:
在确定不存在可执行所述调度任务的客户端节点的情况下,确定所述调度任务评估失败,并将评估失败的所述调度任务重新放回所述评估队列。
具体的,服务器从节点的评估模块在对评估队列中抓取的调度任务进行评估时,可能会出现当下所有的客户端节点均无法执行该调度任务的情况,此种情况下则表明评估模块对该调度任务评估失败。调度任务评估失败则无法写入任务分配队列以进行执行,此时,评估模块需要将调度任务重新写入评估队列中以待稍后重新进行评估,直至有满足执行要求的客户端节点。
在一个实施例中,所述服务器从节点还用于:
在所述评估信息写入所述任务分配队列失败的情况下,反馈所述评估信息写入失败的信息至所述服务器主节点。
具体的,该分布式任务调度系统在设置时应当根据客户端节点的个数和任务处理能力预先设定好任务分配队列中可放置评估信息的个数。这是因为,全局信息的同步是有一定延迟的,服务器从节点的评估模块当前用于评估的属性信息并不一定是客户端节点的最新属性信息。此时,当任务分配队列容量过大时,会导致多个任务被分配,但是客户端节点的处理速度和处理能力跟不上,从而会导致多个调度任务处于等待过程,即无法执行也无法重新进行分配。
在预先设定任务分配队列的基础上,当评估模块向任务分配队列写入评估信息但任务分配队列已满时,则评估模块可以及时将评估信息写入失败的信息反馈给服务器主节点,服务器主节点可以根据反馈重新将该调度任务写入评估队列,进一步的,也可以基于该反馈信息提示用户进行客户端节点的扩展和任务分配队列的扩展,以使得调度任务可以快速的被执行。
在一个实施例中,所述属性信息包括资源占用信息和任务运行状态;
所述服务器主节点还用于实时获取各所述客户端节点的任务运行状态,定时获取各所述客户端节点的包含所述资源占用信息的心跳包。
具体的,客户端节点的属性信息可以包括资源占用信息和任务运行状态,其中,资源占用信息能够说明客户端节点有没有执行调度任务的资源,任务运行状态表示客户端节点当前运行中的调度任务的情况,当客户端节点当前运行中的调度任务较多时,其CPU可能会较难支持更多的调度任务的执行。
因此,评估模块进行评估时可以综合考虑客户端节点的资源占用信息和任务运行状态,通过加权的方式评估客户端节点是否能够执行该调度任务,其中,在评估时评估模块应当主要考虑客户端节点的资源占用情况,即资源占用情况的权重较大。
在一个实施例中,所述服务器主节点还用于在感知所述客户端节点没有心跳后,触发补偿机制,将所述客户端节点待运行的所述调度任务重新写入所述评估队列。
具体的,服务器主节点定时会获取各客户端节点的心跳包,当客户端节点挂掉后,服务器主节点会在预设时间后感知到客户端节点没有心跳,此时,为避免分配到客户端节点的未执行的调度任务得不到执行,服务器主节点会触发补偿机制,将分配到该客户端节点且运行状态为待运行的调度任务重新写入评估队列,以供重新进行评估分配。
在一个实施例中,所述服务器从节点还用于在所述服务器主节点挂机后,通过所述Raft协议重新进行选举,从所述服务器从节点中选出新的服务器主节点。
具体的,当选举的服务器主节点挂机后,服务器从节点触发重新选举,通过Raft协议,所有服务器从节点重新进行选举,从所有服务器从节点中选举出一个新的服务器主节点。由于全局信息是共享的,重新被选择的新的服务器主节点可以替代原服务器主节点执行相应的任务,以使得调度系统正常运行。
进一步,由于多个服务器节点是并发的进行调度决策,因此当服务器从节点挂机时,该服务器从节点上的评估模块不可用,但因为评估队列中的调度任务是由评估模块争抢的,所以,挂掉的服务器从节点并不会对该调度系统的任务分配产生影响,调度任务的评估工作会由其他服务器节点自动承担,而当该服务器从节点恢复后,则会继续担任调度任务的评估和分配。
在一个实施例中,还包括显示器,用于展示作业地图,所述作业地图上包括所述调度任务执行状态信息和所述客户端节点上空闲槽位情况。
具体的,该调度系统还包括显示器,如图3所示,显示器能够直观、可视化的向用户展示调度系统的作业地图。作业地图上至少包括调度任务执行状态,如调度任务处于等待资源状态、调度任务运行中等。还可以展示客户节点上空闲槽位信息,空闲槽位指的是所有客户端节点上还能够运行调度任务的个数的总和。
下面对本发明提供的分布式任务调度执行系统进行描述,如图4中所示,下文描述的分布式任务调度执行系统包括多个客户端节点和上述任一种所述分布式任务调度系统;所述客户端节点用于基于客户端节点的标识从所述任务分配队列中抓取自身对应的所述调度任务,并根据所述调度任务的属性启动执行所述调度任务。
具体的,多个客户端节点为该系统中的执行器,调度任务会有各种各样的类别,如进程、定时服务、工作流等,执行器的任务是根据调度任务的不同类型以不同的方式启动任务。
各客户端节点在自己初启动时即会在服务器主节点上进行注册并保持心跳,保持心跳即每个预定时间向服务器主节点发送心跳包,该心跳包中还包括了客户端节点当前的资源占用情况。示例性的,各客户端节点可以和每个服务器节点进行通信连接,各服务器节点之间也可以进行通信连接,例如均可以通过RPC协议进行通信连接。客户端节点可以通过RPC协议将注册信息和心跳包发送至任一服务器节点上,该服务器节点在不是主节点的情况下通过RPC协议将该注册信息和心跳转发至服务器主节点上,以供客户端在服务器主节点上进行注册并和服务器主节点保持心跳。
客户端节点启动后,客户端节点上的运行任务监控模块会持续监控任务分配队列,当任务分配队列中有分配给该客户端节点的调度任务时,运行任务监控模块会感应到,此时,运行任务监控模块会从任务分配队列中抓取调度任务,其中,当任务分配队列中有多个分配给该客户端节点的调度任务时,运行任务监控模块按照调度任务的先后顺序依次进行调度任务的抓取。
运行任务监控模块抓取调度任务后,客户端节点会根据调度任务的特点启动该调度任务,如调用接口、启动进程等。对于已经启动执行的任务,运行任务监控模块还会监控调度任务的运行状态如启动、运行中、运行结束等,并将运行状态同步至服务器主节点。示例性的,各客户端节点的运行任务监控模块同步运行状态时,是通过RPC协议将运行状态发送至任一服务器节点上的,服务器节点在不是主节点的情况下,会将该运行状态转发至服务器主节点上。
在一个实施例中,所述客户端节点还用于在所述调度任务执行失败时反馈所述调度任务执行失败的信息至所述服务器主节点。
具体的,由于评估模块评估时和客户端节点执行调度任务时会有一定的时差,所以评估模块评估时客户端节点的属性信息和客户端节点执行调度任务时的属性信息可能会有一定的差别,因此,可能会出现某个调度任务执行失败的情况,此时,客户端节点需要将调度任务执行失败信息反馈至服务器主节点,以供服务器主节点将该调度任务重新加入评估队列中。示例性的,客户端节点可以通过RPC协议将调度任务执行失败信息发送至任一服务器节点上,该服务器节点在不是主节点的情况下通过RPC协议将该调度任务执行失败信息转发至服务器主节点上。
本发明提供的分布式任务调度执行系统,通过共享状态的多个服务器节点并行的参与调度决策,克服了单点瓶颈问题。并且,一方面,并行的多个评估模块根据客户端节点的情况按需分配调度任务,客户端在一定程度上避免了过量订阅的问题;另一方面,多个客户端节点仅获取分配给自己的任务,无需在队列中进行任务争抢,所以不用对任务进行锁定和解锁操作,降低了任务分配的复杂性,提升了任务的并发量。进一步的,该分布式任务调度系统的服务器节点、评估模块和客户端节点均有较高的扩展性,可根据任务调度需求进行扩展。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种分布式任务调度系统,其特征在于,包括:至少三个服务器节点;
各所述服务器节点用于通过Raft协议进行领导者选举,选出服务器主节点和服务器从节点;
所述服务器主节点用于定时生成调度任务,并将所述调度任务写入评估队列;
所述服务器从节点用于从所述评估队列中抓取所述调度任务,并基于所述调度任务和各客户端节点的属性信息进行任务评估,将评估成功的评估信息写入任务分配队列,所述评估信息包括评估成功的调度任务以及对应的客户端节点的标识;所述任务分配队列用于所述客户端节点基于所述客户端节点的标识抓取对应的调度任务;
所述服务器主节点还用于通过所述Raft协议将全局信息同步至所述服务器从节点,其中,所述全局信息包括所述调度任务、所述任务分配队列和所述属性信息。
2.根据权利要求1所述分布式任务调度系统,其特征在于,所述服务器从节点具体用于:
根据各所述客户端节点的所述属性信息选择可执行所述调度任务的客户端节点,在确定存在可执行所述调度任务的客户端节点的情况下,确定所述调度任务评估成功,并将评估成功的所述调度任务和对应的所述客户端节点的标识作为所述评估信息写入所述任务分配队列。
3.根据权利要求2所述分布式任务调度系统,其特征在于,所述服务器从节点还用于:
在确定不存在可执行所述调度任务的客户端节点的情况下,确定所述调度任务评估失败,并将评估失败的所述调度任务重新放回所述评估队列。
4.根据权利要求2所述分布式任务调度系统,其特征在于,所述服务器从节点还用于:
在所述评估信息写入所述任务分配队列失败的情况下,反馈所述评估信息写入失败的信息至所述服务器主节点。
5.根据权利要求1~4任一项所述分布式任务调度系统,其特征在于,所述属性信息包括资源占用信息和任务运行状态;
所述服务器主节点还用于实时获取各所述客户端节点的任务运行状态,定时获取各所述客户端节点的包含所述资源占用信息的心跳包。
6.根据权利要求2所述分布式任务调度系统,其特征在于,所述服务器主节点还用于在感知所述客户端节点没有心跳后,触发补偿机制,将所述客户端节点待运行的所述调度任务重新写入所述评估队列。
7.根据权利要求5所述分布式任务调度系统,其特征在于,所述服务器从节点还用于在所述服务器主节点挂机后,通过所述Raft协议重新进行选举,从所述服务器从节点中选出新的服务器主节点。
8.根据权利要求1所述分布式任务调度系统,其特征在于,还包括显示器,用于展示作业地图,所述作业地图上包括所述调度任务执行状态信息和所述客户端节点上空闲槽位情况。
9.一种分布式任务调度执行系统,其特征在于,包括多个客户端节点和权利要求1-8任一项所述分布式任务调度系统;
所述客户端节点用于基于客户端节点的标识从所述任务分配队列中抓取自身对应的所述调度任务,并根据所述调度任务的属性启动执行所述调度任务。
10.根据权利要求9所述分布式任务调度执行系统,其特征在于,所述客户端节点还用于在所述调度任务执行失败时反馈所述调度任务执行失败的信息至所述服务器主节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310350679.6A CN116149827A (zh) | 2023-04-04 | 2023-04-04 | 分布式任务调度系统和分布式任务调度执行系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310350679.6A CN116149827A (zh) | 2023-04-04 | 2023-04-04 | 分布式任务调度系统和分布式任务调度执行系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116149827A true CN116149827A (zh) | 2023-05-23 |
Family
ID=86373870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310350679.6A Pending CN116149827A (zh) | 2023-04-04 | 2023-04-04 | 分布式任务调度系统和分布式任务调度执行系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116149827A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909760A (zh) * | 2023-09-13 | 2023-10-20 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置、可读存储介质、电子设备 |
CN117539642A (zh) * | 2024-01-09 | 2024-02-09 | 上海晨钦信息科技服务有限公司 | 一种信用卡分布式调度平台及调度方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190108069A1 (en) * | 2016-09-30 | 2019-04-11 | Tencent Technology (Shenzhen) Company Limited | Distributed resource allocation method, allocation node, and access node |
CN113051063A (zh) * | 2021-06-02 | 2021-06-29 | 北京轻松筹信息技术有限公司 | 分布式任务的任务调度方法、装置及电子设备 |
CN114448995A (zh) * | 2021-12-24 | 2022-05-06 | 苏州纳智天地智能科技有限公司 | 基于raft选主策略的分布式计算方法 |
CN114528104A (zh) * | 2022-02-14 | 2022-05-24 | 维沃移动通信有限公司 | 任务处理方法及装置 |
CN115840631A (zh) * | 2023-01-04 | 2023-03-24 | 中科金瑞(北京)大数据科技有限公司 | 基于raft的高可用分布式任务调度方法和设备 |
-
2023
- 2023-04-04 CN CN202310350679.6A patent/CN116149827A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190108069A1 (en) * | 2016-09-30 | 2019-04-11 | Tencent Technology (Shenzhen) Company Limited | Distributed resource allocation method, allocation node, and access node |
CN113051063A (zh) * | 2021-06-02 | 2021-06-29 | 北京轻松筹信息技术有限公司 | 分布式任务的任务调度方法、装置及电子设备 |
CN114448995A (zh) * | 2021-12-24 | 2022-05-06 | 苏州纳智天地智能科技有限公司 | 基于raft选主策略的分布式计算方法 |
CN114528104A (zh) * | 2022-02-14 | 2022-05-24 | 维沃移动通信有限公司 | 任务处理方法及装置 |
CN115840631A (zh) * | 2023-01-04 | 2023-03-24 | 中科金瑞(北京)大数据科技有限公司 | 基于raft的高可用分布式任务调度方法和设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909760A (zh) * | 2023-09-13 | 2023-10-20 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置、可读存储介质、电子设备 |
CN116909760B (zh) * | 2023-09-13 | 2023-11-28 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置、可读存储介质、电子设备 |
CN117539642A (zh) * | 2024-01-09 | 2024-02-09 | 上海晨钦信息科技服务有限公司 | 一种信用卡分布式调度平台及调度方法 |
CN117539642B (zh) * | 2024-01-09 | 2024-04-02 | 上海晨钦信息科技服务有限公司 | 一种信用卡分布式调度平台及调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116149827A (zh) | 分布式任务调度系统和分布式任务调度执行系统 | |
CN102521044B (zh) | 一种基于消息中间件的分布式任务调度方法及系统 | |
CN109885389B (zh) | 一种基于容器的并行深度学习调度训练方法及系统 | |
Wang et al. | Pigeon: An effective distributed, hierarchical datacenter job scheduler | |
CN108958920A (zh) | 一种分布式任务调度方法及系统 | |
CN112000445A (zh) | 分布式任务调度的方法及系统 | |
US8239707B2 (en) | Replicated state machine | |
CN109766194B (zh) | 基于消息的低耦合计划任务组件的实现方法及其系统 | |
WO2021143590A1 (zh) | 一种分布式容器镜像构建调度系统及方法 | |
CN111580990A (zh) | 一种任务调度方法、调度节点、集中配置服务器及系统 | |
CN102394807A (zh) | 一种分散调度自治的流程引擎负载均衡集群系统及方法 | |
US10168751B2 (en) | Method of executing an application on a distributed computer system, a resource manager and a distributed computer system | |
CN113886029A (zh) | 一种跨地域分布数据中心任务调度方法及系统 | |
CN112162841A (zh) | 面向大数据处理的分布式调度系统、方法及存储介质 | |
CN113434282A (zh) | 流计算任务的发布、输出控制方法及装置 | |
CN109871273A (zh) | 一种自适应任务迁移方法及装置 | |
CN111767145A (zh) | 容器调度系统、方法、装置和设备 | |
Zhang | Scheduling algorithm for real-time applications in grid environment | |
CN113296914A (zh) | 一种基于ZooKeeper的分布式任务调度系统及方法 | |
Xu et al. | Resource optimization for speculative execution in a MapReduce cluster | |
US9792419B2 (en) | Starvationless kernel-aware distributed scheduling of software licenses | |
CN115421898A (zh) | 一种基于quartz框架的大数据任务调度管理系统及方法 | |
Li et al. | Enhancing throughput of partially replicated state machines via multi-partition operation scheduling | |
Ravindran et al. | On distributed real-time scheduling in networked embedded systems in the presence of crash failures | |
Gadre et al. | Investigating MapReduce framework extensions for efficient processing of geographically scattered datasets |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230523 |