CN112925620A - 分布式的任务调度***和方法 - Google Patents
分布式的任务调度***和方法 Download PDFInfo
- Publication number
- CN112925620A CN112925620A CN202110213254.1A CN202110213254A CN112925620A CN 112925620 A CN112925620 A CN 112925620A CN 202110213254 A CN202110213254 A CN 202110213254A CN 112925620 A CN112925620 A CN 112925620A
- Authority
- CN
- China
- Prior art keywords
- service
- service node
- module
- scheduling
- request information
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了分布式的任务调度***和方法,包括接口服务模块、消息队列、计算集群和核心调度服务模块,计算集群由多个服务节点通过点对点协议构建,每个服务节点之间进行相互通信;接口服务模块接收客户端发送的任务请求信息,通过消息队列发送给核心调度服务模块;核心调度服务模块根据任务请求信息采用调度算法,对计算集群中的服务节点进行调度;计算集群从多个服务节点中选取第一目标服务节点和多个第二目标服务节点,通过第一目标服务节点接收新的服务节点发送的连接请求信息,对连接请求信息中的密钥进行验证,如果通过,则向新的服务节点发送连接成功的响应信息,从而使新的服务节点与第一目标服务节点和多个第二目标服务节点建立连接。
Description
技术领域
本发明涉及领域,尤其是涉及分布式的任务调度***和方法。
背景技术
随者互联网的飞速发展,应用的功能复杂性日渐提高,单独一台服务器的计算能力和存储能力已无法满足需求。因此,通过部署多台服务器组成分布式集群。而任务调度***是分布式集群中不可缺少的一部分,它可以管理分布式集群中所有的服务器,并按照需求将计算或存储任务派发到某台服务器上。
为了实现这些功能,集群中所有的服务器需要通过任务调度***组成一个网络,相互之间可以通信,任务调度***采用http1.1协议或http2.0协议组建网络。当两台服务器进行通信时,至少有一台服务器需要配置固定的公网IP及端口,服务提供者需要向运营商申请固定公网IP或直接购买具有固定公网IP的服务器才能使用http1.1协议或http2.0协议。
随着服务的扩展和升级,分布式集群内的服务器数量会不断增加,所需要的公网IP数量也会随之增长,直接增加了服务提供者的成本。虽然可以通过部署代理网关,让两台都没有固定公网IP的服务器进行通讯,但是当集群内服务器数量不断增加时,单个代理网关承担的压力也会增加,出于稳定性考虑,此时需要增加代理网关的数量,而代理网关必须配置公网IP,从而使成本增加。
发明内容
有鉴于此,本发明的目的在于提供分布式的任务调度***和方法,通过点对点协议构建服务节点,并且当计算集群内服务节点的数量增多时,不需要增加公网IP的数量,大大节约了成本,且能保持网络的稳定性。
第一方面,本发明实施例提供了分布式的任务调度***,所述***包括:接口服务模块、消息队列、计算集群和核心调度服务模块,所述计算集群由多个服务节点通过点对点协议构建,其中,每个所述服务节点之间进行相互通信;
所述接口服务模块、所述消息队列、所述核心调度服务模块和所述计算集群依次连接;
所述接口服务模块,用于接收客户端发送的任务请求信息,并将所述任务请求信息发送给所述消息队列;
所述消息队列,用于将所述任务请求信息发送给所述核心调度服务模块;
所述核心调度服务模块,用于根据所述任务请求信息采用调度算法,对所述计算集群中的所述服务节点进行调度;
所述计算集群,用于从多个所述服务节点中选取第一目标服务节点和多个第二目标服务节点,通过所述第一目标服务节点接收新的服务节点发送的连接请求信息,并对所述连接请求信息中的密钥进行验证,如果验证通过,则向所述新的服务节点发送连接成功的响应信息,从而使所述新的服务节点与所述第一目标服务节点和多个所述第二目标服务节点建立连接;以及根据所述任务请求信息执行相应任务;
其中,多个所述第二目标服务节点的数量至少为三个。
进一步的,所述计算集群,用于使所述新的服务节点与所述第一目标服务节点建立连接,并且通过所述第一目标服务节点接收所述新的服务节点发送的申请建立连接请求信息,使所述新的服务节点与至少三个所述第二目标服务节点建立连接;
以及检测所述第一目标服务节点的连接数量,如果所述连接数量小于或等于预设数量范围的上限,则所述新的服务节点与所述第一目标服务节点保持连接;如果所述连接数量大于所述预设数量范围的上限,则所述新的服务节点与所述第一目标服务节点断开连接,使所述新的服务节点与至少四个所述第二目标服务节点建立连接。
进一步的,所述消息队列,用于检测接收到的所述任务请求信息的数量,如果所述任务请求信息的数量大于预设数量范围的上限,则拒绝接收所述接口服务模块发送的所述任务请求信息。
进一步的,还包括日志收集模块,用于收集每个所述服务节点的日志信息;
其中,所述日志信息包括所述服务节点的启动时间、接收所述任务请求信息的时间、处理过程时间、执行所述任务的时间、发生故障时间、故障类型和故障原因。
进一步的,所述核心调度服务模块包括第一核心调度服务模块和多个第二核心调度服务模块,还包括分布式仲裁模块;
所述分布式仲裁模块,用于根据加入竞选时间的先后顺序确定所述第一核心调度服务模块为主模块,多个所述第二核心调度服务模块为备用模块,在第一预设时间间隔内接收所述主模块发送的续租信息,如果超过第一预设时间没有接收到所述续租信息,则按照先到先得的方式从所述备用模块中选取所述第二核心调度服务模块作为所述主模块。
进一步的,还包括核心运维服务模块;
所述核心运维服务模块,用于在第二预设时间间隔内接收所述服务节点发送的工作状态信息,如果超过所述第二预设时间没有接收到所述工作状态信息,则确定所述服务节点处于非正常状态;并且在浏览器网站上显示多个所述服务节点的名称信息、当前任务数量信息、状态信息、CPU使用情况信息和内存使用情况信息,以及切换所述服务节点的状态;
其中,所述状态信息包括服务状态、运维状态和非正常状态,所述非正常状态包括网络无法接通状态、服务进程崩溃状态、关机状态和断电状态。
进一步的,所述核心运维服务模块,用于将所述服务节点从服务状态切换至运维状态,或者将所述服务节点从所述运维状态切换至所述服务状态。
第二方面,本发明实施例提供了分布式的任务调度方法,包括如上所述的分布式的任务调度***,所述***包括接口服务模块、消息队列、计算集群和核心调度服务模块,所述方法包括:
所述接口服务模块接收客户端发送的任务请求信息,并将所述任务请求信息发送给所述消息队列;
所述消息队列将所述任务请求信息发送给所述核心调度服务模块;
所述核心调度服务模块根据所述任务请求信息采用调度算法,对所述计算集群中的所述服务节点进行调度;
所述计算集群从多个所述服务节点中选取第一目标服务节点和多个第二目标服务节点;
通过所述第一目标服务节点接收新的服务节点发送的连接请求信息,并对所述连接请求信息中的密钥进行验证,如果验证通过,则向所述新的服务节点发送连接成功的响应信息,从而使所述新的服务节点与所述第一目标服务节点和多个所述第二目标服务节点建立连接;
根据所述任务请求信息执行相应任务;
其中,多个所述第二目标服务节点的数量至少为三个。
第三方面,本发明实施例提供了电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。
第四方面,本发明实施例提供了具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行如上所述的方法。
本发明实施例提供了分布式的任务调度***和方法,包括:接口服务模块、消息队列、计算集群和核心调度服务模块,计算集群由多个服务节点通过点对点协议构建,其中,每个服务节点之间进行相互通信;接口服务模块、消息队列、核心调度服务模块和计算集群依次连接;接口服务模块用于接收客户端发送的任务请求信息,并将任务请求信息发送给消息队列;消息队列用于将任务请求信息发送给核心调度服务模块;核心调度服务模块用于根据任务请求信息采用调度算法,对计算集群中的服务节点进行调度;计算集群用于从多个服务节点中选取第一目标服务节点和多个第二目标服务节点,通过第一目标服务节点接收新的服务节点发送的连接请求信息,并对连接请求信息中的密钥进行验证,如果验证通过,则向新的服务节点发送连接成功的响应信息,从而使新的服务节点与第一目标服务节点和多个第二目标服务节点建立连接;以及根据任务请求信息执行相应任务;多个第二目标服务节点的数量至少为三个,通过点对点协议构建服务节点,并且当计算集群内服务节点的数量增多时,不需要增加公网IP的数量,大大节约了成本,且能保持网络的稳定性。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的分布式的任务调度***示意图;
图2为本发明实施例一提供的另一分布式的任务调度***示意图;
图3为本发明实施例二提供的分布式的任务调度方法流程图。
图标:
1-接口服务模块;2-消息队列;3-核心调度服务模块;4-计算集群;5-负载均衡模块;6-日志收集模块;7-回放模块;8-分布式仲裁模块;9-核心运维服务模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本实施例进行理解,下面对本发明实施例进行详细介绍。
实施例一:
图1为本发明实施例一提供的分布式的任务调度***示意图。
参照图1,该***包括:接口服务模块1、消息队列2、计算集群4和核心调度服务模块3,计算集群4由多个服务节点通过点对点协议构建,其中,每个服务节点之间进行相互通信;
这里,本申请中使用P2P(Peer-to-Peer,点对点)协议替换http1.1协议和http2.0协议,解决了因公网IP(Internet Protocol,网际互连协议)导致成本增加的问题。
接口服务模块1、消息队列2、核心调度服务模块3和计算集群4依次连接;
接口服务模块1,用于接收客户端发送的任务请求信息,并将任务请求信息发送给消息队列2;
这里,客户端通过HTTP网络请求的方式向接口服务模块1发送任务请求信息。其中,任务请求信息包括计算内容信息、计算类型信息和浏览器类型信息,以及客户端ID。
消息队列2,用于将任务请求信息发送给核心调度服务模块3;
核心调度服务模块3,用于根据任务请求信息采用调度算法,对计算集群中的服务节点进行调度;
具体地,核心调度服务模块3采用合适的调度算法,对计算集群4中的服务节点进行调度。调度算法包括随机调度算法、基于任务优先级的贪心策略调度算法、存储优先和CPU优先的智能负载均衡调度算法。
随机调度算法是按照概率随机分配给所有的服务节点;
基于任务优先级的贪心策略调度算法是预先计算类型信息,为每一个计算类型设定优先级,在分配任务时,优先分配最高优先级的任务,其次分配低一级优先级的任务,依此类推。在分配服务节点时,每次都将任务分配到目前正在执行计算任务数量最少的服务节点上,尽量最大化的利用每个服务节点的性能;
存储优先和CPU优先的智能负载均衡调度算法是实时统计每一个服务节点当前的CPU使用率,在分配服务节点时,每次都将任务分配到目前CPU使用率最低的服务节点上,最大化的利用每个服务节点的性能。
计算集群4,用于从多个服务节点中选取第一目标服务节点和多个第二目标服务节点,通过第一目标服务节点接收新的服务节点发送的连接请求信息,并对连接请求信息中的密钥进行验证,如果验证通过,则向新的服务节点发送连接成功的响应信息,从而使新的服务节点与第一目标服务节点和多个第二目标服务节点建立连接;以及根据任务请求信息执行相应任务。
具体地,计算集群4内的任意两个服务节点都可以通信,从多个服务节点中选取任意服务节点作为第一目标服务节点,其他的服务节点,无论是否处于同一局域网,都可以和第一目标服务节点建立连接并通信,从而快速加入到计算集群4中。
新的服务节点根据第一目标服务节点的IP向其发送连接请求信息,第一目标服务节点对连接请求信息中的密钥进行验证,如果验证通过,第一目标服务节点向新的服务节点发送连接成功的响应信息,此时,新的服务节点与第一目标服务节点建立连接,并且新的服务节点还会通过第一目标服务节点与计算集群4中的至少三个第二目标服务节点建立连接,以满足连接数量为至少四个的要求,一般连接数量的范围为4-12个。
由上可知,新的服务节点分别与第一目标服务节点和至少三个第二目标服务节点建立了连接,新的服务节点会判断自己是否满足连接数量(4-12个)的要求。此时,检测第一目标服务节点的连接数量,如果连接数量小于或等于预设数量范围的上限,则新的服务节点与第一目标服务节点通信连接;如果连接数量大于预设数量范围的上限,则新的服务节点与第一目标服务节点断开连接,新的服务节点检测到连接数量不满足连接数量的要求,新的服务节点会通过已经与它建立连接的至少三个第二目标服务节点中的一个或多个,与计算集群4中的其他目标服务节点建立连接,直到满足连接数量的要求。
计算集群4具备快速扩展的能力,其中,密钥采用了base58加密技术,破解难度高,可以有效保证应用数据的安全。
另外,计算集群4接收核心调度服务模块3发送的任务请求信息,并根据任务请求信息执行相应任务。计算集群4中的服务节点通过点对点协议相互连通,可以进行并行计算。
进一步的,计算集群4,用于使所述新的服务节点与所述第一目标服务节点建立连接,并且通过所述第一目标服务节点接收所述新的服务节点发送的申请建立连接请求信息,使所述新的服务节点与至少三个所述第二目标服务节点建立连接;
以及检测所述第一目标服务节点的连接数量,如果所述连接数量小于或等于预设数量范围的上限,则所述新的服务节点与所述第一目标服务节点保持连接;如果所述连接数量大于所述预设数量范围的上限,则所述新的服务节点与所述第一目标服务节点断开连接,使所述新的服务节点与至少四个所述第二目标服务节点建立连接。
进一步的,消息队列2,用于检测接收到的任务请求信息的数量,如果任务请求信息的数量大于预设数量范围的上限,则拒绝接收接口服务模块1发送的任务请求信息。
进一步的,参照图2,还包括日志收集模块6,用于收集每个服务节点的日志信息;
其中,所述日志信息包括所述服务节点的启动时间、接收所述任务请求信息的时间、处理过程时间、执行所述任务的时间、发生故障时间、故障类型和故障原因。
还包括负载均衡模块5和回放模块7;
负载均衡模块5用于提供流量分发功能和流量控制功能,保证服务的高可用。
具体地,负载均衡模块5根据用户请求分配给当前处于工作状态的核心调度服务模块。分配方式有随机分配、加权分配和轮流分配,可通过用户设定需要的分配方式。
随机分配为按照概率进行随机分配,例如50%的概率分配给第一核心调度服务模块,50%的概率分配给第二核心调度服务模块;
加权分配为将70%的概率分配给服务器硬件配置较好的第一核心调度服务模块,30%的概率分配给服务器硬件配置较差的第二核心调度服务模块,且分配权重可以通过用户设定;
轮流分配为轮流分配给第一核心调度服务模块和第二核心调度服务模块。
回放模块7用于记录核心调度服务模块3所有的调度决策,并提供回放功能,用于对比不同的调度算法,加快调度算法的迭代***。
进一步的,核心调度服务模块3包括第一核心调度服务模块和多个第二核心调度服务模块,还包括分布式仲裁模块8;
分布式仲裁模块8,用于根据加入竞选时间的先后顺序确定第一核心调度服务模块为主模块,多个第二核心调度服务模块为备用模块,在第一预设时间间隔内接收主模块发送的续租信息,如果超过第一预设时间没有接收到续租信息,则按照先到先得的方式从备用模块中选取第二核心调度服务模块作为主模块。
具体地,核心调度服务模块3的高可用过程具体为:在竞选过程中,将先参加竞选的第一核心调度服务模块作为主模块,将后参加竞选的多个第二核心调度服务模块作为备用模块,分布式仲裁模块在第一预设时间间隔内接收主模块发送的续租信息,一旦主模块出现异常原因(如进程崩溃、网络波动、网络阻塞或宕机等),主模块会停止续租,即不会再发送续租信息,此时,备用模块中的多个第二核心调度服务模块参与竞争,按照先到先得的方式从备用模块中选取第二核心调度服务模块成为主模块。而第一核心调度服务模块会重新启动,再次参与竞选,由于此时第二核心调度服务模块已经成为主模块,故重新启动后的第一核心调度服务模块成为备用模块。
另外,核心调度服务模块3还包括第一核心调度服务模块,即第一核心调度服务模块的数量为1,第二核心调度服务模块的数量为0。
进一步的,还包括核心运维服务模块9;
核心运维服务模块,用于在第二预设时间间隔内接收服务节点发送的工作状态信息,如果超过第二预设时间没有接收到工作状态信息,则确定服务节点处于非正常状态;并且在浏览器网站上显示多个服务节点的名称信息、当前任务数量信息、状态信息、CPU使用情况信息和内存使用情况信息,以及切换服务节点的状态;
其中,状态信息包括服务状态、运维状态和非正常状态,非正常状态包括网络无法接通状态、服务进程崩溃状态、关机状态和断电状态,工作状态信息包括多个服务节点的名称信息、当前任务数量信息、CPU使用情况信息和内存使用情况信息。
这里,核心运维服务模块9的高可用过程与核心调度服务模块3类似,在此不作赘述。其中,浏览器网站可以为运维浏览器网站或运维浏览器终端网站。
进一步的,核心运维服务模块9,用于将服务节点从服务状态切换至运维状态,或者将服务节点从运维状态切换至服务状态。
具体地,核心运维服务模块9将服务节点从服务状态切换至运维状态,是为了远程操作服务节点。另外,核心运维服务模块9还具备性能统计的功能,可以对内存信息、CPU(Central Processing Unit,中央处理器)、当前任务信息和服务节点的ID(Identity,身份标识)进行统计。
本发明实施例提供了分布式的任务调度***,包括:接口服务模块、消息队列、计算集群和核心调度服务模块,计算集群由多个服务节点通过点对点协议构建,其中,每个服务节点之间进行相互通信;接口服务模块、消息队列、核心调度服务模块和计算集群依次连接;接口服务模块用于接收客户端发送的任务请求信息,并将任务请求信息发送给消息队列;消息队列用于将任务请求信息发送给核心调度服务模块;核心调度服务模块用于根据任务请求信息采用调度算法,对计算集群中的服务节点进行调度;计算集群用于从多个服务节点中选取第一目标服务节点和多个第二目标服务节点,通过第一目标服务节点接收新的服务节点发送的连接请求信息,并对连接请求信息中的密钥进行验证,如果验证通过,则向新的服务节点发送连接成功的响应信息,从而使新的服务节点与第一目标服务节点和多个第二目标服务节点建立连接;以及根据任务请求信息执行相应任务;通过点对点协议构建服务节点,并且当计算集群内服务节点的数量增多时,不需要增加公网IP的数量,大大节约了成本,且能保持网络的稳定性。
实施例二:
图3为本发明实施例二提供的分布式的任务调度方法流程图。
参照图3,包括如上所述的分布式的任务调度***,该***包括接口服务模块、消息队列、计算集群和核心调度服务模块,该方法包括以下步骤:
步骤S101,接口服务模块接收客户端发送的任务请求信息,并将任务请求信息发送给消息队列;
步骤S102,消息队列将任务请求信息发送给核心调度服务模块;
步骤S103,核心调度服务模块根据任务请求信息采用调度算法,对计算集群中的服务节点进行调度;
步骤S104,计算集群从多个服务节点中选取第一目标服务节点和多个第二目标服务节点;
步骤S105,通过第一目标服务节点接收新的服务节点发送的连接请求信息,并对连接请求信息中的密钥进行验证,如果验证通过,则向新的服务节点发送连接成功的响应信息,从而使新的服务节点与第一目标服务节点和多个第二目标服务节点建立连接;
步骤S106,根据任务请求信息执行相应任务;
其中,多个第二目标服务节点的数量至少为三个。
本发明实施例提供了分布式的任务调度方法,包括:接口服务模块接收客户端发送的任务请求信息,并将任务请求信息发送给消息队列;消息队列将任务请求信息发送给核心调度服务模块;核心调度服务模块根据任务请求信息采用调度算法,对计算集群中的服务节点进行调度;计算集群从多个服务节点中选取第一目标服务节点和多个第二目标服务节点;通过第一目标服务节点接收新的服务节点发送的连接请求信息,并对连接请求信息中的密钥进行验证,如果验证通过,则向新的服务节点发送连接成功的响应信息,从而使新的服务节点与第一目标服务节点和多个第二目标服务节点建立连接;根据任务请求信息执行相应任务;通过点对点协议构建服务节点,并且当计算集群内服务节点的数量增多时,不需要增加公网IP的数量,大大节约了成本,且能保持网络的稳定性。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的分布式的任务调度方法的步骤。
本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,计算机可读介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的分布式的任务调度方法的步骤。
本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种分布式的任务调度***,其特征在于,所述***包括:接口服务模块、消息队列、计算集群和核心调度服务模块,所述计算集群由多个服务节点通过点对点协议构建,其中,每个所述服务节点之间进行相互通信;
所述接口服务模块、所述消息队列、所述核心调度服务模块和所述计算集群依次连接;
所述接口服务模块,用于接收客户端发送的任务请求信息,并将所述任务请求信息发送给所述消息队列;
所述消息队列,用于将所述任务请求信息发送给所述核心调度服务模块;
所述核心调度服务模块,用于根据所述任务请求信息采用调度算法,对所述计算集群中的所述服务节点进行调度;
所述计算集群,用于从多个所述服务节点中选取第一目标服务节点和多个第二目标服务节点,通过所述第一目标服务节点接收新的服务节点发送的连接请求信息,并对所述连接请求信息中的密钥进行验证,如果验证通过,则向所述新的服务节点发送连接成功的响应信息,从而使所述新的服务节点与所述第一目标服务节点和多个所述第二目标服务节点建立连接;以及根据所述任务请求信息执行相应任务;
其中,多个所述第二目标服务节点的数量至少为三个。
2.根据权利要求1所述的分布式的任务调度***,其特征在于,所述计算集群,用于使所述新的服务节点与所述第一目标服务节点建立连接,并且通过所述第一目标服务节点接收所述新的服务节点发送的申请建立连接请求信息,使所述新的服务节点与至少三个所述第二目标服务节点建立连接;
以及检测所述第一目标服务节点的连接数量,如果所述连接数量小于或等于预设数量范围的上限,则所述新的服务节点与所述第一目标服务节点保持连接;
如果所述连接数量大于所述预设数量范围的上限,则所述新的服务节点与所述第一目标服务节点断开连接,使所述新的服务节点与至少四个所述第二目标服务节点建立连接。
3.根据权利要求1所述的分布式的任务调度***,其特征在于,所述消息队列,用于检测接收到的所述任务请求信息的数量,如果所述任务请求信息的数量大于预设数量范围的上限,则拒绝接收所述接口服务模块发送的所述任务请求信息。
4.根据权利要求1所述的分布式的任务调度***,其特征在于,还包括日志收集模块,用于收集每个所述服务节点的日志信息;
其中,所述日志信息包括所述服务节点的启动时间、接收所述任务请求信息的时间、处理过程时间、执行所述任务的时间、发生故障时间、故障类型和故障原因。
5.根据权利要求1所述的分布式的任务调度***,其特征在于,所述核心调度服务模块包括第一核心调度服务模块和多个第二核心调度服务模块,还包括分布式仲裁模块;
所述分布式仲裁模块,用于根据加入竞选时间的先后顺序确定所述第一核心调度服务模块为主模块,多个所述第二核心调度服务模块为备用模块,在第一预设时间间隔内接收所述主模块发送的续租信息,如果超过第一预设时间没有接收到所述续租信息,则按照先到先得的方式从所述备用模块中选取所述第二核心调度服务模块作为所述主模块。
6.根据权利要求1所述的分布式的任务调度***,其特征在于,还包括核心运维服务模块;
所述核心运维服务模块,用于在第二预设时间间隔内接收所述服务节点发送的工作状态信息,如果超过所述第二预设时间没有接收到所述工作状态信息,则确定所述服务节点处于非正常状态;并且在浏览器网站上显示多个所述服务节点的名称信息、当前任务数量信息、状态信息、CPU使用情况信息和内存使用情况信息,以及切换所述服务节点的状态;
其中,所述状态信息包括服务状态、运维状态和非正常状态,所述非正常状态包括网络无法接通状态、服务进程崩溃状态、关机状态和断电状态。
7.根据权利要求6所述的分布式的任务调度***,其特征在于,所述核心运维服务模块,用于将所述服务节点从服务状态切换至运维状态,或者将所述服务节点从所述运维状态切换至所述服务状态。
8.一种分布式的任务调度方法,其特征在于,包括权利要求1至7任一项所述的分布式的任务调度***,所述***包括接口服务模块、消息队列、计算集群和核心调度服务模块,所述方法包括:
所述接口服务模块接收客户端发送的任务请求信息,并将所述任务请求信息发送给所述消息队列;
所述消息队列将所述任务请求信息发送给所述核心调度服务模块;
所述核心调度服务模块根据所述任务请求信息采用调度算法,对所述计算集群中的所述服务节点进行调度;
所述计算集群从多个所述服务节点中选取第一目标服务节点和多个第二目标服务节点;
通过所述第一目标服务节点接收新的服务节点发送的连接请求信息,并对所述连接请求信息中的密钥进行验证,如果验证通过,则向所述新的服务节点发送连接成功的响应信息,从而使所述新的服务节点与所述第一目标服务节点和多个所述第二目标服务节点建立连接;
根据所述任务请求信息执行相应任务;
其中,多个所述第二目标服务节点的数量至少为三个。
9.一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求8所述的方法。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110213254.1A CN112925620A (zh) | 2021-02-24 | 2021-02-24 | 分布式的任务调度***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110213254.1A CN112925620A (zh) | 2021-02-24 | 2021-02-24 | 分布式的任务调度***和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112925620A true CN112925620A (zh) | 2021-06-08 |
Family
ID=76171972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110213254.1A Pending CN112925620A (zh) | 2021-02-24 | 2021-02-24 | 分布式的任务调度***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112925620A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672348A (zh) * | 2021-08-10 | 2021-11-19 | 支付宝(杭州)信息技术有限公司 | 基于容器集群对联合计算多方进行服务校验的方法及*** |
CN114006904A (zh) * | 2021-10-28 | 2022-02-01 | 济南浪潮数据技术有限公司 | 一种大数据集群管理方法、装置和计算机设备 |
CN114039962A (zh) * | 2021-11-04 | 2022-02-11 | 北京知道创宇信息技术股份有限公司 | 节点选取方法、***、电子设备及存储介质 |
CN114172909A (zh) * | 2021-11-29 | 2022-03-11 | 上海金仕达软件科技有限公司 | 一种智能分布式接入方法及*** |
CN115080215A (zh) * | 2022-08-22 | 2022-09-20 | 中诚华隆计算机技术有限公司 | 由状态监控芯片在计算节点间进行任务调度的方法及*** |
CN115580619A (zh) * | 2022-11-25 | 2023-01-06 | 江苏金恒信息科技股份有限公司 | 数据处理***和数据处理方法 |
CN116340431A (zh) * | 2023-05-24 | 2023-06-27 | 阿里云计算有限公司 | 一种分布式***、数据同步方法、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916209A (zh) * | 2010-08-06 | 2010-12-15 | 华东交通大学 | 一种多核处理器集群任务资源分配方法 |
WO2014160805A1 (en) * | 2013-03-26 | 2014-10-02 | Bandwidthx Inc. | Systems and methods for establishing wireless connections based on access conditions |
CN106559332A (zh) * | 2016-11-03 | 2017-04-05 | Tcl集团股份有限公司 | 一种快速组建全连通服务器集群的方法和*** |
CN109783214A (zh) * | 2018-12-29 | 2019-05-21 | 广州供电局有限公司 | 任务调度控制*** |
CN111258744A (zh) * | 2018-11-30 | 2020-06-09 | 中兴通讯股份有限公司 | 一种基于异构计算的任务处理方法及软硬件框架*** |
CN111813513A (zh) * | 2020-06-24 | 2020-10-23 | 中国平安人寿保险股份有限公司 | 基于分布式的实时任务调度方法、装置、设备及介质 |
-
2021
- 2021-02-24 CN CN202110213254.1A patent/CN112925620A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916209A (zh) * | 2010-08-06 | 2010-12-15 | 华东交通大学 | 一种多核处理器集群任务资源分配方法 |
WO2014160805A1 (en) * | 2013-03-26 | 2014-10-02 | Bandwidthx Inc. | Systems and methods for establishing wireless connections based on access conditions |
CN106559332A (zh) * | 2016-11-03 | 2017-04-05 | Tcl集团股份有限公司 | 一种快速组建全连通服务器集群的方法和*** |
CN111258744A (zh) * | 2018-11-30 | 2020-06-09 | 中兴通讯股份有限公司 | 一种基于异构计算的任务处理方法及软硬件框架*** |
CN109783214A (zh) * | 2018-12-29 | 2019-05-21 | 广州供电局有限公司 | 任务调度控制*** |
CN111813513A (zh) * | 2020-06-24 | 2020-10-23 | 中国平安人寿保险股份有限公司 | 基于分布式的实时任务调度方法、装置、设备及介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672348A (zh) * | 2021-08-10 | 2021-11-19 | 支付宝(杭州)信息技术有限公司 | 基于容器集群对联合计算多方进行服务校验的方法及*** |
CN114006904A (zh) * | 2021-10-28 | 2022-02-01 | 济南浪潮数据技术有限公司 | 一种大数据集群管理方法、装置和计算机设备 |
CN114039962A (zh) * | 2021-11-04 | 2022-02-11 | 北京知道创宇信息技术股份有限公司 | 节点选取方法、***、电子设备及存储介质 |
CN114172909A (zh) * | 2021-11-29 | 2022-03-11 | 上海金仕达软件科技有限公司 | 一种智能分布式接入方法及*** |
CN114172909B (zh) * | 2021-11-29 | 2024-01-30 | 上海金仕达软件科技股份有限公司 | 一种智能分布式接入方法及*** |
CN115080215A (zh) * | 2022-08-22 | 2022-09-20 | 中诚华隆计算机技术有限公司 | 由状态监控芯片在计算节点间进行任务调度的方法及*** |
CN115580619A (zh) * | 2022-11-25 | 2023-01-06 | 江苏金恒信息科技股份有限公司 | 数据处理***和数据处理方法 |
CN116340431A (zh) * | 2023-05-24 | 2023-06-27 | 阿里云计算有限公司 | 一种分布式***、数据同步方法、电子设备及存储介质 |
CN116340431B (zh) * | 2023-05-24 | 2023-09-01 | 阿里云计算有限公司 | 一种分布式***、数据同步方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112925620A (zh) | 分布式的任务调度***和方法 | |
US8977886B2 (en) | Method and apparatus for rapid disaster recovery preparation in a cloud network | |
CN107204901B (zh) | 一种提供、接收状态通知的计算机*** | |
KR100812374B1 (ko) | 클러스터 시스템에서 프로토콜 네트워크 장애 관리 시스템및 방법 | |
CN103685461B (zh) | 一种集群管理装置、管理***以及管理方法 | |
CN108055157B (zh) | 一种服务节点的获取方法及装置 | |
EP1741261A1 (en) | System and method for maximizing connectivity during network failures in a cluster system | |
WO2011020363A1 (zh) | 负载均衡的实现方法和***以及Diameter客户端 | |
JP2004192642A (ja) | 設定変更可能な信頼性の高いメッセージ通信システム | |
CN110554927A (zh) | 基于区块链的微服务调用方法 | |
CN109981405B (zh) | 节点管理方法、装置及计算机可读存储介质 | |
CN107979539B (zh) | 报文处理方法及装置 | |
US10567492B1 (en) | Methods for load balancing in a federated identity environment and devices thereof | |
WO2020119328A1 (zh) | 数据传输方法、装置、设备及存储介质 | |
CN112311896B (zh) | 健康检查方法、装置、设备及计算机可读存储介质 | |
CN112866394A (zh) | 一种负载均衡方法、装置、***、计算机设备和存储介质 | |
CN114157605B (zh) | 一种通讯方法、***、电子设备及计算机可读存储介质 | |
CN105933271B (zh) | 一种基于加密机的数据处理方法及装置 | |
CN110635968A (zh) | 堆叠双活检测通道的监控方法、装置、设备及存储介质 | |
CN101695049A (zh) | 一种监控***中的业务处理方法及装置 | |
CN108400897B (zh) | 网络安全配置方法及装置 | |
CN113824595B (zh) | 链路切换控制方法、装置和网关设备 | |
US10149143B2 (en) | Methods, systems, and computer readable media for realm-based routing of diameter request messages | |
KR20060081862A (ko) | 망 구성 요소에 대해 독립적인 에이전트를 이용한 망 관리방법 및 시스템 | |
CN113190347A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210608 |