CN112433830A - 一种基于ZooKeeper的分布式任务调度方法、***及存储介质 - Google Patents
一种基于ZooKeeper的分布式任务调度方法、***及存储介质 Download PDFInfo
- Publication number
- CN112433830A CN112433830A CN202011225767.6A CN202011225767A CN112433830A CN 112433830 A CN112433830 A CN 112433830A CN 202011225767 A CN202011225767 A CN 202011225767A CN 112433830 A CN112433830 A CN 112433830A
- Authority
- CN
- China
- Prior art keywords
- node
- temporary
- zookeeper
- nodes
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000001960 triggered effect Effects 0.000 claims description 24
- 238000012544 monitoring process Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种基于ZooKeeper的分布式任务调度方法、***及存储介质,该方法包括:利用调度中心服务器向ZooKeeper集群创建临时节点,其中,每个临时节点对应一个节点序号;利用调度中心服务器基于临时节点的节点序号进行选举,以从所有临时节点中选择一个临时节点来触发任务。通过上述方式,本申请能够提高分布式任务调度的高可用性。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种基于ZooKeeper的分布式任务调度方法、***及存储介质。
背景技术
无论是互联网应用还是企业级应用,都充斥着大量的批处理任务,这些任务的运行都具有一定的周期性,常常需要一些任务调度***来解决问题;随着微服务化架构的逐步演进,单体架构逐渐演变为分布式、微服务架构,在此背景下很多原先的任务调度平台已经不能满足业务***的需求,于是出现了一些基于分布式的任务调度框架,比如LTS(LightTask Schedule,轻量级分布式任务调度框架)、XXL-JOB以及Elastic-Job;分布式框架需要保证高可用,在一台调度机器发生故障时,仍然能正常进行任务调度触发。
XXL-JOB通过数据库(DB,Database)锁来实现多调度中心部署时任务触发一次,XXL-JOB将调度中心和执行器分离,调度中心负责调度触发任务,触发的任务会下发到执行器,执行器负责运行任务,执行器支持集群部署。但是目前基于XXL-JOB的方案存在以下问题:在调度中心为集群的情况下,可能会发生任务重复触发的情况,且没有提供调度中心集群部署情况下的负载均衡策略。
发明内容
本申请提供一种基于ZooKeeper的分布式任务调度方法、***及存储介质,能够提高分布式任务调度的高可用性。
为解决上述技术问题,本申请采用的技术方案是:提供一种基于ZooKeeper的分布式任务调度方法,该方法包括:利用调度中心服务器向ZooKeeper集群创建临时节点,其中,每个临时节点对应一个节点序号;利用调度中心服务器基于临时节点的节点序号进行选举,以从所有临时节点中选择一个临时节点来触发任务。
为解决上述技术问题,本申请采用的另一技术方案是:提供一种分布式任务调度***,该分布式任务调度***包括互相连接的存储器和处理器,其中,存储器用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述的基于ZooKeeper的分布式任务调度方法。
为解决上述技术问题,本申请采用的另一技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述的基于ZooKeeper的分布式任务调度方法。
通过上述方案,本申请的有益效果是:调度中心服务器可向ZooKeeper集群发送请求以在该ZooKeeper集群中创建有序临时节点,每个临时节点对应一个节点序号;然后调度中心服务器可利用节点序号从所有临时节点中选择一个临时节点来执行当前需要触发的任务;由于每个临时节点对应的节点序号不同,从所有临时节点中只选取一个临时节点来触发当前需要触发的任务,能够保证一次任务调度只会触发一次执行,不会发生任务重复触发的情况,能够有效地提高分布式任务调度的高可用性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的基于ZooKeeper的分布式任务调度方法一实施例的流程示意图;
图2是图1所示的实施例中ZooKeeper集群与调度中心服务器的连接示意图;
图3是本申请提供的基于ZooKeeper的分布式任务调度方法另一实施例的流程示意图;
图4是图3所示的实施例中步骤32的流程示意图;
图5是图1所示的实施例中ZooKeeper集群与执行器的连接示意图;
图6是本申请提供的分布式任务调度***一实施例的结构示意图;
图7是本申请提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1是本申请提供的基于ZooKeeper的分布式任务调度方法一实施例的流程示意图,该方法包括:
步骤11:利用调度中心服务器向ZooKeeper集群创建临时节点。
ZooKeeper是一个为分布式应用提供一致***的软件,其提供的功能包括:配置维护、域名服务、分布式同步或组服务等;可在所有调度中心服务器的配置文件中增加ZooKeeper集群配置信息,该ZooKeeper集群配置信息包括ZooKeeper集群的地址与ZooKeeper集群的端口,例如,ZooKeeper集群配置信息ZooKeeperAddress=192.168.0.1:2181,192.168.0.2:2888,其中,“192.168.0.1”为ZooKeeper集群的地址,“2181”为与该地址对应的端口,“192.168.0.2”为ZooKeeper集群的地址,“2888”为与该地址对应的端口。
在调度中心服务器正常启动以后,调度中心服务器可向ZooKeeper集群注册服务,具体地,如图2所示,每个调度中心服务器22可在ZooKeeper集群21中的目标目录下创建有序的临时节点,每个临时节点对应一个节点序号,比如:“00000”、“00001”或“00002”等,调度中心服务器22可将自身服务的地址和端口写入到临时节点信息中,即临时节点信息包括临时节点的节点序号、以及由临时节点服务的调度中心服务器的地址与端口。
步骤12:利用调度中心服务器基于临时节点的节点序号进行选举,以从所有临时节点中选择一个临时节点来触发任务。
在每个调度中心服务器成功注册到ZooKeeper集群后,可触发选举操作,即从所有临时节点中选取一个临时节点来执行当前需要触发的任务;由于每个临时节点对应的节点序号不同,从所有临时节点中只选取一个临时节点来触发任务,可以保证在多调度中心部署时任务只被触发一次,不会发生任务重复触发的情况,能够有效地提高分布式任务调度的高可用性。
请参阅图3,图3是本申请提供的基于ZooKeeper的分布式任务调度方法另一实施例的流程示意图,该方法包括:
步骤31:利用调度中心服务器向ZooKeeper集群创建临时节点。
该步骤与上述实施例中步骤11相同,在此不再赘述。
步骤32:利用临时节点的节点序号对所有临时节点进行分类,得到工作节点和非工作节点,选择工作节点来触发任务。
为了从所有临时节点中选取出一个临时节点来执行触发任务,如图4所示,可执行如下步骤:
步骤321:获取当前时刻所有临时节点的节点序号。
调度中心服务器在ZooKeeper集群上的临时有序节点注册成功以后,可获取自身注册的节点序号,比如:“00000”;然后获取当前时刻ZooKeeper集群中目标目录下的所有临时节点的节点序号集合,比如:“00000”、“00001”或“00002”等。
步骤322:判断当前调度中心服务器对应的临时节点的节点序号是否满足预设条件。
该预设条件为预先设置的挑选规则,比如,可判断当前调度中心服务器对应的临时节点的节点序号是否为所有临时节点的节点序号中的最小值/最大值;可以理解地,还可设置其他方式来选择出执行触发任务的临时节点,比如,可选择最先注册或最后注册的临时节点,或者选择节点序号为中间值的临时节点。
步骤323:若当前调度中心服务器对应的临时节点的节点序号满足预设条件,则当前调度中心服务器对应的临时节点为工作节点。
当前调度中心服务器在判断出自身的节点序号是所有节点序号中的最小值或最大值后,则可确定自身对应的临时节点是工作(Worker)节点。
步骤324:若当前调度中心服务器对应的临时节点的节点序号不满足预设条件,则当前调度中心服务器对应的临时节点为非工作节点。
如果当前调度中心服务器判断出自身的节点序号不是所有节点序号中的最小值且不是最大值,则可确定自身对应的临时节点是非Worker节点。
步骤33:利用工作节点启动线程,查询待触发的任务集合,并利用工作节点对待触发任务进行触发。
在确定出Worker节点后,Worker节点可启动调度线程,查询需要触发的任务集合,如果该任务集合中存在待触发任务,即该任务集合包括至少一个待触发任务;然后异步调用待触发任务,往复循环,直至触发完任务集合中的所有待触发任务;如果未查询需要触发的任务,则不作处理;进一步地,任务的触发时间可人为进行配置,例如,假设调度线程5s轮训一次,14:00:00时查询到没有任务需要触发,14:00:05时查询到有3个任务需要触发,此时可依次触发每个任务。
步骤34:利用当前非工作节点从其他临时节点中选择一个临时节点作为监测注册节点,并利用当前非工作节点在监测注册节点注册监听,以监听当前非工作节点的节点删除事件。
利用当前非Worker节点从节点序号小于当前非Worker节点的节点序号的临时节点中,选择节点序号最大的临时节点作为监测注册节点,即非Worker节点可在比自己序号小的临时节点中选择节点序号最大的临时节点注册一次性监听(Watcher),订阅该非Worker节点的节点删除事件;例如,假设当前非Worker节点的节点序号为“00005”,ZooKeeper集群中存在节点序号为“00001”,“00002”,“00003”以及“00004”的四个临时节点,则在节点序号为“00004”的临时节点注册Watcher。
步骤35:在工作节点出现异常时,ZooKeeper将工作节点删除,监听工作节点的调度中心服务器接收到节点删除事件。
当Worker节点出现异常时,ZooKeeper可将该Worker节点删除,同时在该Worker节点注册Watcher的调度中心服务器可收到节点删除通知并成为新的Worker节点,实现调度中心的高可用;例如,当节点序号为“00000”的临时节点对应的调度中心服务器出现异常时,ZooKeeper集群中节点序号为“00000”的临时节点被删除,监听该临时节点的调度中心服务器可收到节点删除通知,并重新开始执行选举流程,即返回步骤32。
步骤36:利用执行器获取调度中心集群地址列表,以利用调度中心集群地址列表进行负载均衡,进而实现从所有调度中心服务器中选择一个调度中心服务器来执行任务回调。
可在每个执行器的配置文件中添加ZooKeeper集群配置信息,该ZooKeeper集群配置信息包括ZooKeeper集群的地址与端口;利用执行器从ZooKeeper集群获取所有临时节点对应的临时节点信息,该临时节点信息包括临时节点的节点序号以及临时节点对应的调度中心服务器的地址与端口;再利用执行器监听目标目录中的每个临时节点,以使得ZooKeeper集群在删除/增加临时节点后发送通知至执行器;在执行器接收到ZooKeeper集群发送的通知后,可利用执行器对调度中心集群地址列表进行更新;具体地,该调度中心集群地址列表包括所有临时节点信息,如果执行器接收到某个临时节点被删除的通知,则将该调度中心集群地址列表中与该临时节点相关的信息进行删除;如果执行器接收到增加某一临时节点的通知,则在该调度中心集群地址列表中添加与该临时节点相关的信息。
例如,调度中心集群地址列表如下表所示:
临时节点 | 地址 | 端口 |
A1 | IP1 | C1 |
A2 | IP2 | C2 |
A3 | IP3 | C1 |
临时节点A1与地址IP1以及端口C1对应,临时节点A2与地址IP2以及端口C2对应,临时节点A3与地址IP3以及端口C3对应;在临时节点A2被删除后,执行器可对该调度中心集群地址列表进行更新,得到如下列表:
临时节点 | 地址 | 端口 |
A1 | IP1 | C1 |
A3 | IP3 | C1 |
在一具体的实施例中,如图5所示,执行器51内置有地址管理模块511,地址管理模块511可通过监听ZooKeeper集群52中的目标目录,来实时动态地维护调度中心集群地址列表;具体地,地址管理模块511初始化时可从ZooKeeper集群52获取目标目录下所有临时节点信息并缓存到本地,而且可监听目标目录下的节点变更事件,即监听临时节点是否被删除或是否增加新的临时节点,当临时节点发生变化时,ZooKeeper集群52可向地址管理模块511推送通知;地址管理模块511在接收到ZooKeeper集群52发送的通知后,动态地增加或删除调度中心集群地址列表中的信息。
执行器51可从地址管理模块511获取调度中心集群地址列表,根据任务标识(ID,Identification)通过负载均衡算法(比如:轮训或哈希(Hash))选择唯一的地址和端口,连接与该地址和端口对应的调度中心服务器执行回调内容。
在一具体的实施方式中,调度中心集群地址列表为有序列表,可从调度中心集群地址列表中选取第一条临时节点信息对应的调度中心服务器来执行当前回调任务,并将第一条临时节点信息移动至调度中心集群地址列表的末尾。
例如,假设有三个调度中心地址,组成有序列表{IP1,IP2,IP3},回调任务A时选取列表头部的地址(即IP1)所对应的调度中心服务器来执行回调任务,然后将地址IP1移动到该列表的末尾,此时列表变成:{IP2,IP3,IP1};回调任务B时选取列表头部的地址(即IP2)所对应的调度中心服务器来执行回调任务,并将地址IP2移动到列表的末尾,此时列表被更新为{IP3,IP1,IP2};以此类推,在选择了当前用于执行回调的调度中心服务器后,就将其对应的地址移动至列表的最后,保证各个调度中心服务器能够被合理的应用,实现负载均衡。
在另一具体的实施方式中,将当前回调任务的标识符与调度中心服务器的个数相除,得到余数;将余数与临时节点信息对应的调度中心服务器进行匹配;选择与余数匹配的调度中心服务器来执行当前回调任务。
例如,任务ID是一个正整数,任务ID除以调度中心集群地址列表中地址的个数得到余数,该余数介于0至地址个数之间,假设调度中心集群地址列表包含三个IP:IP1,IP2以及IP3,则如果余数为0,则选取地址IP1对应的调度中心服务器来执行回调任务;如果余数为1,则选取地址IP2对应的调度中心服务器来执行回调任务;如果余数为3,则选取地址IP3对应的调度中心服务器来执行回调任务。
本实施例可在ZooKeeper集群下创建临时节点,通过将临时节点分成Worker节点和非Worker节点,来保证任务不会重复触发,且可利用Watcher对临时节点进行监听,以实时删除或增加临时节点,保证Worker节点只有一个,且可正常工作,实现XXL-JOB调度中心高可用;而且还可实时动态维护XXL-JOB调度中心集群地址列表,结合轮询或Hash等负载均衡算法实现处理回调任务的负载均衡。
请参阅图6,图6是本申请提供的分布式任务调度***一实施例的结构示意图,分布式任务调度***60包括互相连接的存储器61和处理器62,存储器61用于存储计算机程序,计算机程序在被处理器62执行时,用于实现上述实施例中的基于ZooKeeper的分布式任务调度方法。
本实施例能够保证在调度中心集群中只有一个Worker节点来触发任务,使得不会重复触发任务;而且可实时维护调度中心集群地址列表,基于该列表结合负载均衡算法能够实现处理回调任务的负载均衡,有助于提高***的工作效率。
请参阅图7,图7是本申请提供的计算机可读存储介质一实施例的结构示意图,计算机可读存储介质70用于存储计算机程序71,计算机程序71在被处理器执行时,用于实现上述实施例中的基于ZooKeeper的分布式任务调度方法。
计算机可读存储介质70可以是服务端、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (14)
1.一种基于ZooKeeper的分布式任务调度方法,其特征在于,包括:
利用调度中心服务器向ZooKeeper集群创建临时节点,其中,每个所述临时节点对应一个节点序号;
利用所述调度中心服务器基于所述临时节点的节点序号进行选举,以从所有所述临时节点中选择一个临时节点来触发任务。
2.根据权利要求1所述的基于ZooKeeper的分布式任务调度方法,其特征在于,所述利用所述调度中心服务器基于所述临时节点的节点序号进行选举,以从所有所述临时节点中选择一个临时节点来触发任务的步骤,包括:
利用所述临时节点的节点序号对所有所述临时节点进行分类,得到工作节点和非工作节点,选择所述工作节点来触发任务。
3.根据权利要求2所述的基于ZooKeeper的分布式任务调度方法,其特征在于,所述利用所述临时节点的节点序号对所有所述临时节点进行分类,得到工作节点和非工作节点的步骤,包括:
获取当前时刻所有所述临时节点的节点序号;
判断当前调度中心服务器对应的所述临时节点的节点序号是否满足预设条件;
若是,则所述当前调度中心服务器对应的所述临时节点为所述工作节点;
若否,则所述当前调度中心服务器对应的所述临时节点为所述非工作节点。
4.根据权利要求3所述的基于ZooKeeper的分布式任务调度方法,其特征在于,所述判断当前调度中心服务器对应的所述临时节点的节点序号是否满足预设条件的步骤,包括:
判断所述当前调度中心服务器对应的所述临时节点的节点序号是否为所有所述临时节点的节点序号中的最小值/最大值。
5.根据权利要求2所述的基于ZooKeeper的分布式任务调度方法,其特征在于,所述利用所述调度中心服务器基于所述临时节点的节点序号进行选举,以从所有所述临时节点中选择一个临时节点来触发任务的步骤,还包括:
利用所述工作节点启动线程,查询待触发的任务集合,其中,所述任务集合包括至少一个待触发任务;
利用所述工作节点对所述待触发任务进行触发。
6.根据权利要求2所述的基于ZooKeeper的分布式任务调度方法,其特征在于,所述方法还包括:
利用当前非工作节点从其他临时节点中选择一个临时节点作为监测注册节点;
利用所述当前非工作节点在所述监测注册节点注册监听,以监听所述当前非工作节点的节点删除事件。
7.根据权利要求6所述的基于ZooKeeper的分布式任务调度方法,其特征在于,所述利用当前非工作节点从其他临时节点中选择一个临时节点作为监测注册节点的步骤,包括:
利用所述当前非工作节点从节点序号小于所述当前非工作节点的节点序号的临时节点中,选择节点序号最大的临时节点作为所述监测注册节点。
8.根据权利要求2所述的基于ZooKeeper的分布式任务调度方法,其特征在于,所述方法还包括:
在所述工作节点出现异常时,ZooKeeper将所述工作节点删除,监听所述工作节点的调度中心服务器接收到节点删除事件,返回所述利用所述调度中心服务器基于所述临时节点的节点序号进行选举,以从所有所述临时节点中选择一个临时节点来触发任务的步骤。
9.根据权利要求2所述的基于ZooKeeper的分布式任务调度方法,其特征在于,所述方法还包括:
利用执行器获取调度中心集群地址列表,以利用所述调度中心集群地址列表进行负载均衡,进而实现从所有所述调度中心服务器中选择一个调度中心服务器来执行任务回调。
10.根据权利要求9所述的基于ZooKeeper的分布式任务调度方法,其特征在于,所述方法还包括:
在所述执行器的配置文件中添加ZooKeeper集群配置信息,其中,所述ZooKeeper集群配置信息包括所述ZooKeeper集群的地址与端口;
利用所述执行器从所述ZooKeeper集群获取所有所述临时节点对应的临时节点信息,其中,所述临时节点信息包括所述临时节点的节点序号以及所述临时节点对应的所述调度中心服务器的地址与端口;
利用所述执行器监听每个所述临时节点,以使得所述ZooKeeper集群在删除/增加所述临时节点后发送通知至所述执行器;
在所述执行器接收到所述ZooKeeper集群发送的通知后,利用所述执行器对所述调度中心集群地址列表进行更新,其中,所述调度中心集群地址列表包括所有所述临时节点信息。
11.根据权利要求9所述的基于ZooKeeper的分布式任务调度方法,其特征在于,所述利用执行器获取调度中心集群地址列表,以利用所述调度中心集群地址列表进行负载均衡,进而实现从所有所述调度中心服务器中选择一个调度中心服务器来执行任务回调的步骤,包括:
从所述调度中心集群地址列表中选取第一条临时节点信息对应的所述调度中心服务器来执行当前回调任务,并将所述第一条临时节点信息移动至所述调度中心集群地址列表的末尾。
12.根据权利要求9所述的基于ZooKeeper的分布式任务调度方法,其特征在于,所述利用执行器获取调度中心集群地址列表,以利用所述调度中心集群地址列表进行负载均衡,进而实现从所有所述调度中心服务器中选择一个调度中心服务器来执行任务回调的步骤,包括:
将当前回调任务的标识符与所述调度中心服务器的个数相除,得到余数;
将所述余数与所述临时节点信息对应的所述调度中心服务器进行匹配;
选择与所述余数匹配的所述调度中心服务器来执行所述当前回调任务。
13.一种分布式任务调度***,其特征在于,包括互相连接的存储器和处理器,其中,所述存储器用于存储计算机程序,所述计算机程序在被所述处理器执行时,用于实现权利要求1-12中任一项所述的基于ZooKeeper的分布式任务调度方法。
14.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序在被处理器执行时,用于实现权利要求1-12中任一项所述的基于ZooKeeper的分布式任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011225767.6A CN112433830A (zh) | 2020-11-05 | 2020-11-05 | 一种基于ZooKeeper的分布式任务调度方法、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011225767.6A CN112433830A (zh) | 2020-11-05 | 2020-11-05 | 一种基于ZooKeeper的分布式任务调度方法、***及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112433830A true CN112433830A (zh) | 2021-03-02 |
Family
ID=74694657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011225767.6A Pending CN112433830A (zh) | 2020-11-05 | 2020-11-05 | 一种基于ZooKeeper的分布式任务调度方法、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433830A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127310A (zh) * | 2021-04-30 | 2021-07-16 | 北京奇艺世纪科技有限公司 | 任务处理方法、装置、电子设备及存储介质 |
CN117112157A (zh) * | 2023-07-04 | 2023-11-24 | 中国人民解放军陆军工程大学 | 基于clts调度算法的面向任务的通用分布式计算*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083579A1 (en) * | 2015-09-18 | 2017-03-23 | Alibaba Group Holding Limited | Distributed data processing method and system |
CN106712981A (zh) * | 2015-07-23 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种节点变更通知方法及装置 |
CN109922053A (zh) * | 2019-02-22 | 2019-06-21 | 北京三快在线科技有限公司 | 数据传输方法、装置、电子设备及可读存储介质 |
CN110888719A (zh) * | 2019-09-18 | 2020-03-17 | 广州市巨硅信息科技有限公司 | 一种基于web服务的分布式任务调度***及方法 |
-
2020
- 2020-11-05 CN CN202011225767.6A patent/CN112433830A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106712981A (zh) * | 2015-07-23 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种节点变更通知方法及装置 |
US20170083579A1 (en) * | 2015-09-18 | 2017-03-23 | Alibaba Group Holding Limited | Distributed data processing method and system |
CN109922053A (zh) * | 2019-02-22 | 2019-06-21 | 北京三快在线科技有限公司 | 数据传输方法、装置、电子设备及可读存储介质 |
CN110888719A (zh) * | 2019-09-18 | 2020-03-17 | 广州市巨硅信息科技有限公司 | 一种基于web服务的分布式任务调度***及方法 |
Non-Patent Citations (4)
Title |
---|
LIPIKA BOSE GOEL .ETAL: "Handling mutual exclusion in a distributed application through Zookeeper", IEEE, 23 July 2015 (2015-07-23) * |
刘明博: "基于分布式的智能问答***的设计与实现", 中国优秀硕士学位论文全文数据库 (信息科技辑), 15 November 2018 (2018-11-15), pages 138 - 201 * |
承林 等: "分布式任务调度在电力市场交易***中的应用设计", 计算机应用与软件, no. 11, 30 November 2018 (2018-11-30) * |
郭一鸣: "支持分布式定时任务调度的Web服务的设计与实现", 中国优秀硕士学位论文全文数据库 (信息科技辑), 15 October 2018 (2018-10-15), pages 139 - 95 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127310A (zh) * | 2021-04-30 | 2021-07-16 | 北京奇艺世纪科技有限公司 | 任务处理方法、装置、电子设备及存储介质 |
CN113127310B (zh) * | 2021-04-30 | 2023-09-01 | 北京奇艺世纪科技有限公司 | 任务处理方法、装置、电子设备及存储介质 |
CN117112157A (zh) * | 2023-07-04 | 2023-11-24 | 中国人民解放军陆军工程大学 | 基于clts调度算法的面向任务的通用分布式计算*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106993019B (zh) | 分布式任务调度方法和*** | |
CN109814998A (zh) | 一种多进程任务调度的方法及装置 | |
CN106936618B (zh) | 一种数据采集方法和*** | |
CN107545338B (zh) | 业务数据处理方法及业务数据处理*** | |
CA3168286A1 (en) | Data flow processing method and system | |
CN108132837B (zh) | 一种分布式集群调度***及方法 | |
CN111459639B (zh) | 一种支持全球多机房部署的分布式任务管理平台及方法 | |
CN112433830A (zh) | 一种基于ZooKeeper的分布式任务调度方法、***及存储介质 | |
CN106991002B (zh) | 用于实现任务调度管理的方法及设备 | |
CN103562890A (zh) | 在发布/订阅消息***中管理消息订阅 | |
CN107423942B (zh) | 一种业务流转的方法及装置 | |
CN103164262B (zh) | 一种任务管理方法及装置 | |
CN111427670A (zh) | 任务调度方法和*** | |
CN109697078A (zh) | 非高可用性组件的修复方法、大数据集群和容器服务平台 | |
CN110134533B (zh) | 一种可批量调度数据的***及方法 | |
CN104484228A (zh) | 基于Intelli-DSC的分布式并行任务处理*** | |
CN114510317A (zh) | 虚拟机管理方法、装置、设备及存储介质 | |
CN112948077A (zh) | 批处理方法、装置、设备及存储介质 | |
CN117149578A (zh) | 一种任务进度监控方法及相关装置 | |
KR102507481B1 (ko) | 동적 클러스터링 기반의 etl job 분산 처리 시스템 및 방법 | |
CN111835809A (zh) | 工单消息分配方法、装置、服务器及存储介质 | |
CN114020408A (zh) | 一种任务分片配置方法及装置、设备、存储介质 | |
US20240176762A1 (en) | Geographically dispersed hybrid cloud cluster | |
CN114116178A (zh) | 集群框架任务管理方法以及相关装置 | |
CN111163117B (zh) | 一种基于Zookeeper的对等式调度方法和装置 |
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 |