CN115964146A - 一种分布式作业调度方法、系统、电子设备及介质 - Google Patents
一种分布式作业调度方法、系统、电子设备及介质 Download PDFInfo
- Publication number
- CN115964146A CN115964146A CN202211661540.5A CN202211661540A CN115964146A CN 115964146 A CN115964146 A CN 115964146A CN 202211661540 A CN202211661540 A CN 202211661540A CN 115964146 A CN115964146 A CN 115964146A
- Authority
- CN
- China
- Prior art keywords
- node
- job
- nodes
- distributed
- scheduling method
- 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 24
- 239000012634 fragment Substances 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 5
- 230000004083 survival effect Effects 0.000 claims description 10
- 239000007858 starting material Substances 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 238000002360 preparation method Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 claims description 2
- 238000005457 optimization Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- 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
- Multi Processors (AREA)
Abstract
本发明涉及分布式处理技术领域,公开了一种分布式作业调度方法、系统、电子设备及介质,包括:S1、获取集群中所有节点的IP地址,并将所有所述节点的IP写入数据库中;S2、获取本次作业的作业列表,在预备的可执行的节点范围内根据所述作业列表关联查询本次作业可执行的节点;S3、根据查询到的可执行的节点的IP地址计算出本次作业的任务分片编号;S4、所述节点根据任务分片编号执行对应的作业业务逻辑。本发明大大减少了分布式作业调度场景下的第三方分布式协调组件依赖,只依赖业务系统自身的关系型数据库。
Description
技术领域
本发明涉及分布式处理技术领域,具体涉及一种分布式作业调度方法、系统、电子设备及介质。
背景技术
当有业务需要进行批量处理时,单机性能不足以在规定时间内完成作业。现有分布式作业调度方案,大多依赖于第三方分布式协调器,通过外部协调机制,将作业合理的分配到执行节点,并完成故障转移等操作。但是该方案依赖第三方组件,在一些功能较简单的作业场景,出现故障时排查难度也比较大,对开发人员和运维人员要求也比较高,引入和运维成本较高。
发明内容
本发明提供一种分布式作业调度方法、系统、电子设备及介质,降低引入复杂度,减少运维成本,在尽可能简单的架构下,不依赖第三方组件,利用业务系统关系型数据库自身特性,在可用性要求不高或较简单的业务场景下解决分布式作业调度问题。
本发明通过下述技术方案实现:
一种分布式作业调度方法,包括:
S1、获取集群中所有节点的IP地址,并将所有所述节点的IP写入数据库中;
S2、获取本次作业的作业列表,在预备的可执行的节点范围内根据所述作业列表关联查询本次作业可执行的节点;
S3、根据查询到的可执行的节点的IP地址计算出本次作业的任务分片编号;
S4、所述节点根据任务分片编号执行对应的作业业务逻辑。
作为优化,S1的具体步骤为:
S1.1、在所述数据库中创建作业管理表;
S1.2、节点启动时,将节点自身的IP地址写入所述作业管理表中,并且定时更新注册时间。
作为优化,还包括S1.3,启动异步线程定时,每N秒更新存活时间戳,N为正整数,用于感知除S1.2启动的节点以外的所有节点的存在。
作为优化,S2中,在获取作业列表之前,检测所述集群中所有节点的存活时间与当前时间的差值,如果有节点的存活时间与当前时间的差值大于M秒,M为正整数,则认为该节点已下线,不在预备的可执行的节点范围内。
作为优化,制作数据库锁,在检测所述集群中所有节点的存活时间与当前时间的差值时,通过所述数据库锁使得在同一时刻只有一个节点在执行集群状态更新操作。
作为优化,S3的具体过程为:所述可执行的节点的IP地址通过Hash算法计算出本节点需要执行的任务分片编号。
作为优化,S4中,在业务层设计幂设计或者人工突然处理预备方案,防止若某一节点在执行对应的作业业务逻辑时突然宕机导致作业业务逻辑中断的情况。
本发明还公开了一种分布式作业调度系统,包括:
采集模块,用于获取集群中所有节点的IP地址,并将所有所述节点的IP写入数据库中;
关联模块,用于获取本次作业的作业列表,在预备的可执行的节点范围内根据所述作业列表关联查询本次作业可执行的节点;
分片模块,用于根据查询到的可执行的节点的IP地址计算出本次作业的任务分片编号;
执行器,用于使所述节点根据任务分片编号执行对应的作业业务逻辑;
其中,每个节点均包括启动器、监听器和执行器,
所述启动器用于启动节点的作业;
所述监听器用于监听所述节点是否下线,若该节点下线,则剔除该节点。
本发明还公开了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的一种分布式作业调度方法。
本发明还公开了一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的一种分布式作业调度方法。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明大大减少了分布式作业调度场景下的第三方分布式协调组件依赖,只依赖业务系统自身的关系型数据库。
附图说明
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
图1为本发明的一种分布式作业调度方法的流程图;
图2为本发明的一种分布式作业调度系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
如图1所示,一种分布式作业调度方法,包括:
S1、获取集群中所有节点的IP地址,并将所有所述节点的IP写入数据库中;
本实施例中,S1的具体步骤为:
S1.1、在所述数据库中创建作业管理表;
S1.2、节点启动时,将节点自身的IP地址写入所述作业管理表中,并且定时更新注册时间。
S1.3,启动异步线程定时,每N秒更新存活时间戳,N为正整数,用于感知除S1.2启动的节点以外的所有节点的存在,这里,N可以为3。
S2、获取本次作业的作业列表,在预备的可执行的节点范围内根据所述作业列表关联查询本次作业可执行的节点;
本实施例中,在获取作业列表之前,检测所述集群中所有节点的存活时间与当前时间的差值,如果有节点的存活时间与当前时间的差值大于M秒,M为正整数,则认为该节点已下线,不在预备的可执行的节点范围内,由监听器定时检查更新时间剔除该节点。这里,M可以为120。本实施例中,制作数据库锁,在检测所述集群中所有节点的存活时间与当前时间的差值时,通过所述数据库锁使得在同一时刻只有一个节点在执行集群状态更新操作,这样可以防止多节点操作而发生冲突。
S3、根据查询到的可执行的节点的IP地址计算出本次作业的任务分片编号;具体的,所述可执行的节点的IP地址通过Hash算法计算出本节点需要执行的任务分片编号。
S4、所述节点根据任务分片编号执行对应的作业业务逻辑,本实施例中,在业务层设计幂设计或者人工突然处理预备方案,防止若某一节点在执行对应的作业业务逻辑时突然宕机导致作业业务逻辑中断的情况。
例如,四节点定时获取监控数据并做聚合计算:
1.在数据库中创建相应的作业管理表;
2.节点启动时将本机IP写入作业节点表,并且定时更新注册时间;
3.读取业务配置表,获取需要本机执行的作业列表。并关联查询对应的作业可执行的节点;
4.IP地址通过Hash算法,计算出本机需要执行的任务分片(即全量作业的一部分);
5.按照分片结果,远程请求监控系统获取数据,并做集合计算将业务数据落库。
某个计算节点宕机离线后,需要由监听器定时检查更新时间剔除该节点;下一次定时任务执行时,由于总执行节点数发生了变化(由于第一步减少,或者有新节点加入)需要重新计算Hash值,作业需要进行重新分配;在做检查剔除时,由于是多个执行节点在执行,需要使用数据库锁机制,保证同一时刻只能有一个节点执行;单个计算节点宕机时,只有下一次定时执行时才会重新分配任务,所以宕机节点正在执行的任务有可能没有执行完成,需要在业务层做好幂等设计,或者人工处理。
实施例2
如图2所示,本发明还公开了一种分布式作业调度系统,包括:
采集模块,用于获取集群中所有节点的IP地址,并将所有所述节点的IP写入数据库中;
关联模块,用于获取本次作业的作业列表,在预备的可执行的节点范围内根据所述作业列表关联查询本次作业可执行的节点;
分片模块,用于根据查询到的可执行的节点的IP地址计算出本次作业的任务分片编号;
执行器,用于使所述节点根据任务分片编号执行对应的作业业务逻辑;
其中,每个节点均包括启动器、监听器和执行器,
所述启动器用于启动节点的作业;
所述监听器用于监听所述节点是否下线,若该节点下线,则剔除该节点。
实施例3
本发明还公开了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的一种分布式作业调度方法。
实施例4
本发明还公开了一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的一种分布式作业调度方法。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种分布式作业调度方法,其特征在于,包括:
S1、获取集群中所有节点的IP地址,并将所有所述节点的IP写入数据库中;
S2、获取本次作业的作业列表,在预备的可执行的节点范围内根据所述作业列表关联查询本次作业可执行的节点;
S3、根据查询到的可执行的节点的IP地址计算出本次作业的任务分片编号;
S4、所述节点根据任务分片编号执行对应的作业业务逻辑。
2.根据权利要求1所述的一种分布式作业调度方法,其特征在于,S1的具体步骤为:
S1.1、在所述数据库中创建作业管理表;
S1.2、节点启动时,将节点自身的IP地址写入所述作业管理表中,并且定时更新注册时间。
3.根据权利要求2所述的一种分布式作业调度方法,其特征在于,还包括S1.3,启动异步线程定时,每N秒更新存活时间戳,N为正整数,用于感知除S1.2启动的节点以外的所有节点的存在。
4.根据权利要求1所述的一种分布式作业调度方法,其特征在于,S2中,在获取作业列表之前,检测所述集群中所有节点的存活时间与当前时间的差值,如果有节点的存活时间与当前时间的差值大于M秒,M为正整数,则认为该节点已下线,不在预备的可执行的节点范围内。
5.根据权利要求4所述的一种分布式作业调度方法,其特征在于,制作数据库锁,在检测所述集群中所有节点的存活时间与当前时间的差值时,通过所述数据库锁使得在同一时刻只有一个节点在执行集群状态更新操作。
6.根据权利要求1所述的一种分布式作业调度方法,其特征在于,S3的具体过程为:所述可执行的节点的IP地址通过Hash算法计算出本节点需要执行的任务分片编号。
7.根据权利要求1所述的一种分布式作业调度方法,其特征在于,S4中,在业务层设计幂设计或者人工突然处理预备方案,防止若某一节点在执行对应的作业业务逻辑时突然宕机导致作业业务逻辑中断的情况。
8.一种分布式作业调度系统,其特征在于,包括:
采集模块,用于获取集群中所有节点的IP地址,并将所有所述节点的IP写入数据库中;
关联模块,用于获取本次作业的作业列表,在预备的可执行的节点范围内根据所述作业列表关联查询本次作业可执行的节点;
分片模块,用于根据查询到的可执行的节点的IP地址计算出本次作业的任务分片编号;
执行器,用于使所述节点根据任务分片编号执行对应的作业业务逻辑;
其中,每个节点均包括启动器、监听器和执行器,
所述启动器用于启动节点的作业;
所述监听器用于监听所述节点是否下线,若该节点下线,则剔除该节点。
9.一种电子设备,其特征在于,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一所述的一种分布式作业调度方法。
10.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的一种分布式作业调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211661540.5A CN115964146A (zh) | 2022-12-23 | 2022-12-23 | 一种分布式作业调度方法、系统、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211661540.5A CN115964146A (zh) | 2022-12-23 | 2022-12-23 | 一种分布式作业调度方法、系统、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115964146A true CN115964146A (zh) | 2023-04-14 |
Family
ID=87362760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211661540.5A Pending CN115964146A (zh) | 2022-12-23 | 2022-12-23 | 一种分布式作业调度方法、系统、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115964146A (zh) |
-
2022
- 2022-12-23 CN CN202211661540.5A patent/CN115964146A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111949454B (zh) | 一种基于微服务组件的数据库系统及相关方法 | |
US9367261B2 (en) | Computer system, data management method and data management program | |
CN110895484A (zh) | 任务调度方法及装置 | |
CN104753994A (zh) | 基于集群服务器系统的数据同步方法及其装置 | |
CN112153133B (zh) | 一种数据共享方法、设备以及介质 | |
US9754032B2 (en) | Distributed multi-system management | |
CN105553760A (zh) | 一种基于心跳的软件模块故障处理方法及系统 | |
CN113268540A (zh) | 一种数据同步的方法及装置 | |
CN113064950A (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN115185673B (zh) | 分布式定时任务调度方法、系统、存储介质及程序产品 | |
WO2017169471A1 (ja) | 処理システムおよび処理方法 | |
CN109992279A (zh) | 配置数据更新方法、装置、计算设备及存储介质 | |
CN115964146A (zh) | 一种分布式作业调度方法、系统、电子设备及介质 | |
WO2024169467A1 (zh) | 分布式网络的故障定位方法、网络设备和存储介质 | |
CN112506938A (zh) | 一种支持分布式部署的跨多种数据源类型的数据同步模式 | |
CN114500289B (zh) | 控制平面恢复方法、装置、控制节点及存储介质 | |
CN117215830A (zh) | 数据备份方法、装置、计算机设备及计算机可读存储介质 | |
EP3793171B1 (en) | Message processing method, apparatus, and system | |
CN115242595B (zh) | 网络设备发现方法、装置、电子设备和存储介质 | |
CN110362428A (zh) | 在线自动恢复数据库块的方法和系统 | |
CN117527827B (zh) | 一种集装箱码头跨服务信息通信和数据同步方法 | |
CN118714191B (zh) | 一种多类型服务统一注册、发现和调用的方法 | |
CN118277118A (zh) | 服务器集群的数据获取方法、数据同步方法及系统 | |
CN119938782A (zh) | 数据同步方法以及数据处理方法 | |
CN119537483A (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 |