CN112860393A - 一种分布式任务调度方法及系统 - Google Patents
一种分布式任务调度方法及系统 Download PDFInfo
- Publication number
- CN112860393A CN112860393A CN202110075059.7A CN202110075059A CN112860393A CN 112860393 A CN112860393 A CN 112860393A CN 202110075059 A CN202110075059 A CN 202110075059A CN 112860393 A CN112860393 A CN 112860393A
- Authority
- CN
- China
- Prior art keywords
- task
- node
- distributed
- slave
- master node
- 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 47
- 238000012544 monitoring process Methods 0.000 claims abstract description 46
- 238000007405 data analysis Methods 0.000 claims abstract description 6
- 230000008569 process Effects 0.000 claims description 22
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000007689 inspection Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 10
- 230000006870 function Effects 0.000 abstract description 7
- 230000007547 defect Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 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
-
- 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
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种分布式任务调度方法及系统,基于Raft协议,将分布式任务调度组件设计为主从结构,依据节点状态的不同将任务节点分为主节点和从节点;其中,主节点负责将服务器监控任务分发到不同的从节点,并通过心跳信号监控从节点的状态;从节点负责执行主节点派发的监控任务,并将执行结果转存到ElasticSearch分布式搜索引擎中,为服务器历史数据分析提供数据支持。本发明弥补了现有LogStash组件的诸多不足,支持高可用的服务器监控数据的收集与处理功能。可保证分布式组件在节点出现故障的情况下正常运行。
Description
技术领域
本发明涉及分布式集群场景下的任务调度技术领域,特别涉及一种分布式任务调度方法及系统。
背景技术
随着信息技术的广泛应用和业务需求的不断增长,越来越多的服务器被用于生产环境中。为保证业务系统的正常运转和服务器的正常运行,服务器监控成为日常运维工作中的主要内容。
分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统,具有内聚性、透明性、可扩展性、高可用性、高性能等特点,适用于大规模的计算机系统。因此,分布式技术越来越受到业界的青睐。
Raft算法是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议,用于保证分布式系统中各节点对某一事件的共识。Raft算法采用领导人选举、日志复制等手段保证分布式系统的数据一致性,支持少于半数节点宕机的故障容错。
ELK组件(Elasticsearch,Logstash and Kibana)是业界常用的一种服务器监控分析平台。ELK组件是Elastic公司开源的一套以ElasticSearch分布式搜索分析引擎为核心的服务器监控组件,广泛应用于服务器实时监控分析领域,支持服务器日志文件、CPU使用率、内存使用率、网络情况等指标的监控与报警。支持实时数据存储、检索和分析。
ELK组件由轻量级数据采集代理组件Beats、数据处理管道组件LogStash、分布式搜索分析引擎ElasticSearch和可视化平台Kibana组成。其中,如图1所示,Beats组件负责从服务器中收集审计数据、指标数据、日志文件、网络数据、可用性监测、事件日志等数据,并将数据转发到ElasticSearch组件或者LogStash组件;LogStash组件负责数据的解析、过滤与转换,将Beats组件收集的数据转换为用户规定的数据格式,并将处理后的数据转存到ElasticSearch组件中;ElasticSearch组件是一个开源检索分析引擎,负责数据的存储、索引与搜索;Kibana组件是一个开源的可视化分析平台,负责将ElasticSearch组件中的数据以图表的形式进行可视化。
在实践的过程中,发现数据处理管道Logstash组件存在以下不足:
1、Logstash通过解释配置文件的方式实现对监控数据的处理,虽然实现了业务逻辑的解耦,但是资源消耗较大,占用大量内存和CPU资源;
2、Logstash的配置文件采用自创的语法格式,需要配合相关资料进行开发,学习成本较高,影响开发效率;
3、Logstash采用Beats配置多个LogStash,并负载均衡到不同LogStash的集群运行方式,不易横向扩展。
发明内容
本发明提供了一种分布式任务调度方法及系统,以解决现有LogStash组件所存在的如上所述的诸多不足的技术问题。
为解决上述技术问题,本发明提供了如下技术方案:
一方面,本发明提供了一种分布式任务调度方法,包括:
依据节点状态的不同,将任务节点分为主节点和从节点;
通过所述主节点定时从预设的任务配置系统中读取需要执行的任务,将读取到的各个任务一一分发到不同的从节点进行执行,并通过心跳信号监控所述从节点的状态;其中,所述任务配置系统用于供管理员配置需要执行的任务;
通过所述从节点执行所述主节点派发的任务,并对任务执行结果进行转存。
进一步地,通过所述主节点将读取到的各个任务一一分发到不同的从节点进行执行,包括:
所述主节点周期性地将各个任务一一分发到不同的从节点,所述从节点在执行所述主节点当前派发的任务后不再执行,等待所述主节点再次分发任务。
进一步地,所述方法还包括:
当所述从节点在一定时间内没有接收到所述主节点的心跳信号时,基于Raft算法,发起新一轮任期的领导人选举,以通过领导人选举机制产生新的主节点。
进一步地,所述主节点的任务列表保存了任务编号、任务请求和时间戳;其中,任务编号用于区分不同的任务,任务请求可提交给从节点执行,时间戳表示任务上次执行时间;
所述主节点的检查线程通过轮询自身的任务列表比对时间戳,检查每个任务是否需要执行,并把需要执行的任务请求放到任务队列中;
所述主节点的发送线程周期性处理所述任务队列中的任务请求,并将多个任务请求合并成一个任务请求发送到所述从节点;
所述从节点接收到任务请求后,将任务请求交给自身的任务执行器,所述任务执行器根据任务请求中的任务编号到任务列表中查找并执行相应任务。
进一步地,所述通过所述从节点执行所述主节点派发的任务,并对任务执行结果进行转存,包括:
通过所述从节点执行所述主节点派发的任务,并将任务执行结果转存到ElasticSearch分布式搜索分析引擎中,为服务器历史数据分析提供数据支持。
另一方面,本发明还提供了一种分布式任务调度系统,包括:
分布式任务调度组件设计模块,用于依据节点状态的不同,将任务节点分为主节点和从节点;
分布式任务调度执行模块,用于通过所述主节点定时从预设的任务配置系统中读取需要执行的任务,将读取到的各个任务一一分发到不同的从节点进行执行,并通过心跳信号监控所述从节点的状态;通过所述从节点执行所述主节点派发的任务,并对任务执行结果进行转存;其中,所述任务配置系统用于供管理员配置需要执行的任务。
进一步地,所述分布式任务调度执行模块具体用于:
通过所述主节点周期性地将各个任务一一分发到不同的从节点,所述从节点在执行主节点当前派发的任务后不再执行,等待所述主节点再次分发任务。
进一步地,所述分布式任务调度执行模块还用于:
当所述从节点在一定时间内没有接收到所述主节点的心跳信号时,基于Raft算法,发起新一轮任期的领导人选举,以通过领导人选举机制产生新的主节点。
进一步地,所述主节点的任务列表保存了任务编号、任务请求和时间戳;其中,任务编号用于区分不同的任务,任务请求可提交给从节点执行,时间戳表示任务上次执行时间;
所述主节点的检查线程通过轮询自身的任务列表比对时间戳,检查每个任务是否需要执行,并把需要执行的任务请求放到任务队列中;
所述主节点的发送线程周期性处理所述任务队列中的任务请求,并将多个任务请求合并成一个任务请求发送到所述从节点;
所述从节点接收到任务请求后,将任务请求交给自身的任务执行器,所述任务执行器根据任务请求中的任务编号到任务列表中查找并执行相应任务。
进一步地,所述分布式任务调度执行模块具体用于:
通过所述从节点执行所述主节点派发的任务,并将任务执行结果转存到ElasticSearch分布式搜索分析引擎中,为服务器历史数据分析提供数据支持。
再一方面,本发明还提供了一种电子设备,其包括处理器和存储器;其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以实现上述方法。
又一方面,本发明还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述方法。
本发明提供的技术方案带来的有益效果至少包括:
本发明提出了一种分布式任务调度方法及系统,借此实现了一种面向服务器监控场景下的基于Raft算法的分布式任务调度组件,用于替代ELK组件中的Beats组件和LogStash组件,以此来弥补现有LogStash组件的诸多不足,而且本发明支持高可用的服务器监控数据的收集与处理功能。采用Raft算法来保护分布式组件的高可用性,可保证分布式组件在节点出现故障的情况下正常运行。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为ELK组件服务器监控流程图;
图2为本发明实施例提供的分布式任务调度组件总体架构图;
图3为本发明实施例提供的分布式任务调度组件任务配置图;
图4为“同一任务被多个节点重复执行”的问题示意图;
图5为本发明实施例提供的任务压缩流程示意图;
图6是本发明实施例提供的分布式任务调度组件的节点状态转换图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
第一实施例
本实施例提供了一种基于Raft算法的分布式任务调度组件,用于替代ELK组件中的Beats组件和LogStash组件,来弥补现有LogStash组件的诸多不足。同时,本实施例着重考虑了分布式任务调度组件的高可用性,以保证分布式任务调度组件在节点故障的情况下能够正常运行。本实施例的方案可以由电子设备实现,该电子设备可以是终端或者服务器。下面,以将本实施例的分布式任务调度组件应用于服务器监控场景下,服务器监控指标的定时获取、处理与转存,从而实现服务器监控数据的收集与处理为例,对本实施例的方案进行说明。
如图2所示,本实施例基于Raft协议,将分布式任务调度组件设计为主从结构,依据节点状态的不同将任务节点分为主节点和从节点;其中,主节点负责将服务器监控任务分发到不同的从节点,并通过心跳信号监控从节点的状态;从节点负责执行主节点派发的监控任务,并将执行结果转存到ElasticSearch分布式搜索引擎中,为服务器历史数据分析提供数据支持。
并且,本实施例采用Raft一致性算法保证分布式任务调度组件的高可用性,并采用“主节点周期性分发任务,从节点一次执行任务”的任务分发模式,并通过“多任务压缩”的方式减少任务分发的网络带宽消耗。具体实现过程如下:
1、任务配置
本实施例为基于Raft算法的分布式任务调度组件开发了相关的任务配置系统,管理员可通过该任务配置系统配置分布式任务调度组件需要执行的任务,如图3所示。在分布式任务调度组件运行的过程中,主节点会定时从任务配置系统中读取需要执行的任务,并将其分发到相关从节点进行执行。此外,由于主节点从任务配置系统中定时读取任务集合,保证了分布式任务调度组件可以在运行的过程中动态加载新增任务。
2、任务分发
面向服务器监控的分布式任务调度具有周期性。因此,该分布式任务分发可以设计为“主节点一次分发,从节点周期性执行”和“主节点周期性分发,从节点一次执行”两种方式。其中,“主节点一次分发,从节点周期性执行”是指主节点将监控任务分发到从节点,从节点周期性执行监控任务,主节点仅在检测到从节点发生故障后,才再次分发监控任务;“主节点周期性分发,从节点一次执行”是指主节点周期性将监控任务分发到从节点,从节点执行完监控任务后不再执行,等待主节点再次分发监控任务。
在实践的过程中,发现“主节点一次分发,从节点周期性执行”的任务分发方式存在“同一任务被多个节点重复执行”的情况,如图4所示。
主节点分别将task1,taks2,task3和task4监控任务派发到节点2,节点3,节点4和节点5四个从节点执行监控任务。每个从节点周期性执行监控任务,并通过响应主节点的心跳的方式,向主节点汇报自身状态。
当节点2与主节点之间的网络通路发生异常,主节点会认为节点2发生宕机,然后将节点2的task1监控任务重新派发到节点3,从而节点3执行task1和task2两个监控任务。
此时,节点2和其所监控的服务器1之间的网络通路没有异常,这就导致服务器1需要分别响应节点2的task1监控任务和节点3的task1监控任务,导致task1监控任务被重复执行。在实际场景中,server1服务器是业务服务器,需要运行业务应用程序,过多的重复性监控任务会影响业务应用程序的响应速度。
因此,本实施例采用“主节点周期性分发,从节点一次执行”的任务执行方式,以避免“同一任务被多个节点重复执行”的情况。
3、任务压缩
考虑到“主节点周期性分发监控任务,从节点根据主节点的指令执行相应监控任务”会消耗更多的网络资源,本实施例采用任务压缩的方式,以节省主节点与从节点之间的通信消耗,如图5所示。
每个节点都会保存有任务列表,通过“传递任务编号”和“将多个任务执行请求合并成一个任务执行请求”减少网络传输,其具体流程如下:
1)主节点的任务列表保存了监控任务的编号、请求和时间戳,其中任务编号用于区分不同的任务,任务请求可提交给从节点的任务执行器执行,时间戳表示任务上次执行时间。主节点的检查线程通过轮询任务列表比对时间戳,检查每个任务是否需要执行,并把需要执行的任务放到任务队列中。此外,本实施例将心跳信号也放入任务列表中。
2)主节点的发送线程会周期性处理任务队列中的请求,并将多个任务请求合并成一个任务请求发送到从节点。
3)从节点接收到任务请求后,会将任务请求交给任务执行器。任务执行器根据任务请求中的任务编号到任务列表中查找并执行具体任务。
4、高可用性的保证
在本实施例提出的基于Raft算法的分布式任务调度组件中,每个节点是相同的,按照其状态可以分为主节点、候选者节点以及从节点。其中,同一时刻同一分布式组件集群中只能有一个主节点,主节点负责将服务器监控任务分发到不同的从节点,并通过心跳信号监控从节点的状态。从节点主要负责执行主节点派发的监控任务。此外,从节点可以在主节点发生故障时,通过领导人选举机制成为新的主节点。而候选者节点处于领导人选举过程的中间状态,当候选者节点得到分布式组件集群中超过半数的选票后,会成为新的主节点。
Raft算法的节点状态转换关系,如图6所示。当分布式组件集群的节点启动后,会进入从节点状态,处于从节点状态的节点一定时间内没有接收到主节点的心跳信号时,会发起新一轮任期的领导人选举。在领导人选举的过程中,从节点首先会为自己投选票,然后进入候选者状态,并向其他节点发送拉票请求。在每一轮选举中,每个节点依据先来先服务原则仅能投一票。当候选者节点接收到过半数的选票之后,会成为新的主节点并负责主节点分发任务和监控从节点的职责。
综上,本实施例提出了一种面向服务器监控场景下的基于Raft算法的分布式任务调度组件,用于替代ELK组件中的Beats组件和LogStash组件,来弥补现有LogStash组件的诸多不足。而且本实施例的基于Raft算法的分布式任务调度组件支持高可用的服务器监控数据的收集与处理功能。采用Raft算法来保护分布式组件的高可用性,可保证分布式组件在节点出现故障的情况下正常运行。
第二实施例
本实施例提供一种电子设备,其包括处理器和存储器;其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行,以实现第一实施例的组件。
该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器CPU和一个或一个以上的存储器,其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行,以实现上述第一实施例的组件。
第三实施例
本实施例提供一种计算机可读存储介质,该存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以实现上述方法。其中,该计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。其内存储的指令可由终端中的处理器加载并执行,以实现上述第一实施例的组件。
此外,需要说明的是,本发明可提供为方法、装置或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
最后需要说明的是,以上所述是本发明优选实施方式,应当指出,尽管已描述了本发明优选实施例,但对于本技术领域的技术人员来说,一旦得知了本发明的基本创造性概念,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
Claims (10)
1.一种分布式任务调度方法,其特征在于,包括:
依据节点状态的不同,将任务节点分为主节点和从节点;
通过所述主节点定时从预设的任务配置系统中读取需要执行的任务,将读取到的各个任务一一分发到不同的从节点进行执行,并通过心跳信号监控所述从节点的状态;其中,所述任务配置系统用于供管理员配置需要执行的任务;
通过所述从节点执行所述主节点派发的任务,并对任务执行结果进行转存。
2.如权利要求1所述的分布式任务调度方法,其特征在于,通过所述主节点将读取到的各个任务一一分发到不同的从节点进行执行,包括:
所述主节点周期性地将各个任务一一分发到不同的从节点,所述从节点在执行所述主节点当前派发的任务后不再执行,等待所述主节点再次分发任务。
3.如权利要求1所述的分布式任务调度方法,其特征在于,所述方法还包括:
当所述从节点在一定时间内没有接收到所述主节点的心跳信号时,基于Raft算法,发起新一轮任期的领导人选举,以通过领导人选举机制产生新的主节点。
4.如权利要求1所述的分布式任务调度方法,其特征在于,所述主节点的任务列表保存了任务编号、任务请求和时间戳;其中,任务编号用于区分不同的任务,任务请求可提交给从节点执行,时间戳表示任务上次执行时间;
所述主节点的检查线程通过轮询自身的任务列表比对时间戳,检查每个任务是否需要执行,并把需要执行的任务请求放到任务队列中;
所述主节点的发送线程周期性处理所述任务队列中的任务请求,并将多个任务请求合并成一个任务请求发送到所述从节点;
所述从节点接收到任务请求后,将任务请求交给自身的任务执行器,所述任务执行器根据任务请求中的任务编号到任务列表中查找并执行相应任务。
5.如权利要求1所述的分布式任务调度方法,其特征在于,所述通过所述从节点执行所述主节点派发的任务,并对任务执行结果进行转存,包括:
通过所述从节点执行所述主节点派发的任务,并将任务执行结果转存到ElasticSearch分布式搜索分析引擎中,为服务器历史数据分析提供数据支持。
6.一种分布式任务调度系统,其特征在于,包括:
分布式任务调度组件设计模块,用于依据节点状态的不同,将任务节点分为主节点和从节点;
分布式任务调度执行模块,用于通过所述主节点定时从预设的任务配置系统中读取需要执行的任务,将读取到的各个任务一一分发到不同的从节点进行执行,并通过心跳信号监控所述从节点的状态;通过所述从节点执行所述主节点派发的任务,并对任务执行结果进行转存;其中,所述任务配置系统用于供管理员配置需要执行的任务。
7.如权利要求6所述的分布式任务调度系统,其特征在于,所述分布式任务调度执行模块具体用于:
通过所述主节点周期性地将各个任务一一分发到不同的从节点,所述从节点在执行主节点当前派发的任务后不再执行,等待所述主节点再次分发任务。
8.如权利要求6所述的分布式任务调度系统,其特征在于,所述分布式任务调度执行模块还用于:
当所述从节点在一定时间内没有接收到所述主节点的心跳信号时,基于Raft算法,发起新一轮任期的领导人选举,以通过领导人选举机制产生新的主节点。
9.如权利要求6所述的分布式任务调度系统,其特征在于,所述主节点的任务列表保存了任务编号、任务请求和时间戳;其中,任务编号用于区分不同的任务,任务请求可提交给从节点执行,时间戳表示任务上次执行时间;
所述主节点的检查线程通过轮询自身的任务列表比对时间戳,检查每个任务是否需要执行,并把需要执行的任务请求放到任务队列中;
所述主节点的发送线程周期性处理所述任务队列中的任务请求,并将多个任务请求合并成一个任务请求发送到所述从节点;
所述从节点接收到任务请求后,将任务请求交给自身的任务执行器,所述任务执行器根据任务请求中的任务编号到任务列表中查找并执行相应任务。
10.如权利要求6所述的分布式任务调度系统,其特征在于,所述分布式任务调度执行模块具体用于:
通过所述从节点执行所述主节点派发的任务,并将任务执行结果转存到ElasticSearch分布式搜索分析引擎中,为服务器历史数据分析提供数据支持。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110075059.7A CN112860393B (zh) | 2021-01-20 | 2021-01-20 | 一种分布式任务调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110075059.7A CN112860393B (zh) | 2021-01-20 | 2021-01-20 | 一种分布式任务调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860393A true CN112860393A (zh) | 2021-05-28 |
CN112860393B CN112860393B (zh) | 2024-03-15 |
Family
ID=76007649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110075059.7A Active CN112860393B (zh) | 2021-01-20 | 2021-01-20 | 一种分布式任务调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860393B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535518A (zh) * | 2021-07-23 | 2021-10-22 | 北京八分量信息科技有限公司 | 一种用户行为的分布式实时动态监控方法及系统 |
CN113806082A (zh) * | 2021-09-05 | 2021-12-17 | 济南浪潮数据技术有限公司 | 一种节点性能数据采集的方法、装置、设备及可读介质 |
CN113836219A (zh) * | 2021-08-10 | 2021-12-24 | 浙江中控技术股份有限公司 | 一种分布式数据结转调度系统及方法 |
CN113918126A (zh) * | 2021-09-14 | 2022-01-11 | 威讯柏睿数据科技(北京)有限公司 | 一种基于图算法的ai建模流程编排方法和系统 |
CN115840631A (zh) * | 2023-01-04 | 2023-03-24 | 中科金瑞(北京)大数据科技有限公司 | 基于raft的高可用分布式任务调度方法和设备 |
WO2024020743A1 (zh) * | 2022-07-25 | 2024-02-01 | 苏州中科天启遥感科技有限公司 | 数据生产的主从集群任务调度方法及应用 |
CN117539642A (zh) * | 2024-01-09 | 2024-02-09 | 上海晨钦信息科技服务有限公司 | 一种信用卡分布式调度平台及调度方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140006534A1 (en) * | 2012-06-27 | 2014-01-02 | Nilesh K. Jain | Method, system, and device for dynamic energy efficient job scheduling in a cloud computing environment |
US20150067028A1 (en) * | 2013-08-30 | 2015-03-05 | Indian Space Research Organisation | Message driven method and system for optimal management of dynamic production workflows in a distributed environment |
CN104657497A (zh) * | 2015-03-09 | 2015-05-27 | 国家电网公司 | 一种基于分布式计算的海量用电信息并行计算系统及方法 |
EP3399426A1 (en) * | 2016-01-30 | 2018-11-07 | Huawei Technologies Co., Ltd. | Method and device for training model in distributed system |
CN109977161A (zh) * | 2019-03-28 | 2019-07-05 | 上海中通吉网络技术有限公司 | presto集群的监控系统 |
CN110661637A (zh) * | 2018-06-30 | 2020-01-07 | 华为技术有限公司 | 分布式系统成员变更方法和分布式系统 |
CN111181765A (zh) * | 2019-12-03 | 2020-05-19 | 中国建设银行股份有限公司 | 一种任务处理方法和装置 |
CN111221632A (zh) * | 2019-10-15 | 2020-06-02 | 中国平安财产保险股份有限公司 | 分布式并行任务调度方法、装置、计算机设备和存储介质 |
CN112114956A (zh) * | 2020-09-29 | 2020-12-22 | 中国银行股份有限公司 | 一种任务调度方法、装置和系统 |
-
2021
- 2021-01-20 CN CN202110075059.7A patent/CN112860393B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140006534A1 (en) * | 2012-06-27 | 2014-01-02 | Nilesh K. Jain | Method, system, and device for dynamic energy efficient job scheduling in a cloud computing environment |
US20150067028A1 (en) * | 2013-08-30 | 2015-03-05 | Indian Space Research Organisation | Message driven method and system for optimal management of dynamic production workflows in a distributed environment |
CN104657497A (zh) * | 2015-03-09 | 2015-05-27 | 国家电网公司 | 一种基于分布式计算的海量用电信息并行计算系统及方法 |
EP3399426A1 (en) * | 2016-01-30 | 2018-11-07 | Huawei Technologies Co., Ltd. | Method and device for training model in distributed system |
CN110661637A (zh) * | 2018-06-30 | 2020-01-07 | 华为技术有限公司 | 分布式系统成员变更方法和分布式系统 |
CN109977161A (zh) * | 2019-03-28 | 2019-07-05 | 上海中通吉网络技术有限公司 | presto集群的监控系统 |
CN111221632A (zh) * | 2019-10-15 | 2020-06-02 | 中国平安财产保险股份有限公司 | 分布式并行任务调度方法、装置、计算机设备和存储介质 |
CN111181765A (zh) * | 2019-12-03 | 2020-05-19 | 中国建设银行股份有限公司 | 一种任务处理方法和装置 |
CN112114956A (zh) * | 2020-09-29 | 2020-12-22 | 中国银行股份有限公司 | 一种任务调度方法、装置和系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535518A (zh) * | 2021-07-23 | 2021-10-22 | 北京八分量信息科技有限公司 | 一种用户行为的分布式实时动态监控方法及系统 |
CN113535518B (zh) * | 2021-07-23 | 2023-12-05 | 北京八分量信息科技有限公司 | 一种用户行为的分布式实时动态监控方法及系统 |
CN113836219A (zh) * | 2021-08-10 | 2021-12-24 | 浙江中控技术股份有限公司 | 一种分布式数据结转调度系统及方法 |
CN113806082A (zh) * | 2021-09-05 | 2021-12-17 | 济南浪潮数据技术有限公司 | 一种节点性能数据采集的方法、装置、设备及可读介质 |
CN113918126A (zh) * | 2021-09-14 | 2022-01-11 | 威讯柏睿数据科技(北京)有限公司 | 一种基于图算法的ai建模流程编排方法和系统 |
CN113918126B (zh) * | 2021-09-14 | 2022-06-10 | 北京柏睿数据技术股份有限公司 | 一种基于图算法的ai建模流程编排方法和系统 |
WO2024020743A1 (zh) * | 2022-07-25 | 2024-02-01 | 苏州中科天启遥感科技有限公司 | 数据生产的主从集群任务调度方法及应用 |
CN115840631A (zh) * | 2023-01-04 | 2023-03-24 | 中科金瑞(北京)大数据科技有限公司 | 基于raft的高可用分布式任务调度方法和设备 |
CN115840631B (zh) * | 2023-01-04 | 2023-05-16 | 中科金瑞(北京)大数据科技有限公司 | 基于raft的高可用分布式任务调度方法和设备 |
CN117539642A (zh) * | 2024-01-09 | 2024-02-09 | 上海晨钦信息科技服务有限公司 | 一种信用卡分布式调度平台及调度方法 |
CN117539642B (zh) * | 2024-01-09 | 2024-04-02 | 上海晨钦信息科技服务有限公司 | 一种信用卡分布式调度平台及调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112860393B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860393B (zh) | 一种分布式任务调度方法及系统 | |
CN107832153B (zh) | 一种Hadoop集群资源自适应分配方法 | |
CN109327351B (zh) | 日志数据的实时采集方法、装置、电子设备及存储介质 | |
CN102402395B (zh) | 基于仲裁磁盘的高可用系统不间断运行方法 | |
CN107016480B (zh) | 任务调度方法、装置及系统 | |
US11140029B1 (en) | Server side filtering in hybrid cloud environments | |
CN109347974B (zh) | 提高在线服务质量和集群资源利用率的混合调度系统 | |
US20160371122A1 (en) | File processing workflow management | |
US20120066372A1 (en) | Selective registration for remote event notifications in processing node clusters | |
CN110895488B (zh) | 任务调度方法及装置 | |
CN110300188B (zh) | 数据传输系统、方法和设备 | |
CN115373835A (zh) | Flink集群的任务资源调整方法、装置及电子设备 | |
CN113282604B (zh) | 基于消息队列实现的高可用时序数据库集群系统 | |
CN111597270A (zh) | 数据同步方法、装置、设备及计算机存储介质 | |
US11748164B2 (en) | FAAS distributed computing method and apparatus | |
CN115858499A (zh) | 一种数据库分区处理方法、装置、计算机设备和存储介质 | |
CN116346823A (zh) | 一种基于消息队列的大数据异构任务调度方法及系统 | |
CN115964151A (zh) | 一种面向大数据处理的流计算任务调度系统及方法 | |
US20070124343A1 (en) | Method or apparatus for processing data in a system management application program | |
CN113110935A (zh) | 分布式批量作业处理系统 | |
CN112131077A (zh) | 故障节点的定位方法和定位装置、以及数据库集群系统 | |
CN115225538B (zh) | 基于自托管集群的监控方法和装置、电子设备及存储介质 | |
CN115269150A (zh) | 用于调度作业的方法 | |
CN117807025A (zh) | 基于文件同步运行数据至时序库的方法、存储介质及设备 | |
CN115269111A (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 |