CN118069319A - 一种分布式任务调度方法、系统、设备及存储介质 - Google Patents
一种分布式任务调度方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN118069319A CN118069319A CN202410204714.8A CN202410204714A CN118069319A CN 118069319 A CN118069319 A CN 118069319A CN 202410204714 A CN202410204714 A CN 202410204714A CN 118069319 A CN118069319 A CN 118069319A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- target
- partition
- service
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例中的一种分布式任务调度方法、系统、设备及存储介质,通过接收数据交换任务,并基于数据交换任务确定业务分区信息、任务类型以及任务数据指标,根据业务分区信息确定目标管理分区,基于任务类型在目标管理分区中确定具有映射关系的目标任务调度器,基于目标任务调度器根据数据交换任务进行数据监听,得到监控数据,并根据任务数据指标对监控数据进行指标数据获取,得到监控指标数据并进行展示;本申请对数据交换任务进行分区划定,并通过任务类型在不同调度器中进行数据分发,分离了数据间的交互传递路径,提升了并行任务之间的数据稳定性,并避免了并行数据交换任务发生的数据拥堵现象。
Description
技术领域
本申请涉及工业互联网数字化领域,尤其涉及一种分布式任务调度方法、系统、设备及存储介质。
背景技术
工业互联网平台是面向制造业数字化、网络化、智能化需求,构建基于海量数据采集、汇聚、分析的服务体系,支撑制造资源泛在连接、弹性供给、高效配置的工业云平台,其中,数据交换编排系统是工业互联网平台的中枢神经,承接着平台众多内外系统交互,是实现工业数据集成、共享和流动的核心组件,负责协调不同数据源、不同格式、不同协议之间的数据交换过程。
但在工业互联网平台的运行过程中,面对不同业务区块下海量交互数据之间的传递需求,会由于各业务系统的业务复杂度、运行复杂度、系统吞吐量的差异度而导致不同交互任务之间产生并行任务之间的数据影响,并造成数据交换编排过程的不稳定及数据拥挤。
发明内容
本发明实施例的目的在于提供一种分布式任务调度方法、系统、设备及存储介质,以解决上述问题。
本发明提供了一种分布式任务调度方法,所述分布式任务调度方法包括:接收数据交换任务,并基于所述数据交换任务确定数据交换任务的业务分区信息、任务类型以及任务数据指标;根据所述业务分区信息确定数据交换任务的目标管理分区;基于任务类型在所述目标管理分区中,确定与所述数据交换任务具有映射关系的目标任务调度器;基于所述目标任务调度器根据数据交换任务进行数据监听,得到监控数据;根据所述任务数据指标对监控数据进行指标数据获取,得到监控指标数据并对所述监控指标数据在终端进行展示。
于本发明的一实施例中,接受数据交换任务后,所述分布式任务调度方法还包括:检测与所述业务分区信息具有映射关系的管理分区的存在状态;若不存在与所述业务分区信息具有映射关系的管理分区,则获取业务场景类型、业务分区信息以及业务目标流量参数;根据所述业务目标流量参数确定分区调配资源信息;基于所述分区调配资源信息、业务分区信息和业务场景类型搭建任务分区集群,并将所述任务分区集群确定为管理分区。
于本发明的一实施例中,所述任务类型包括定时任务、服务编排任务和消息编排任务,根据任务类型,在所述目标管理分区中确定与所述数据交换任务具有映射关系的目标任务调度器包括以下任意之一:若所述任务类型为定时任务,则调用定时任务调度器;若所述任务类型为服务编排任务,则调用服务编排任务调度器;若所述任务类型为消息编排任务,则调用消息编排任务调度器。
于本发明的一实施例中,基于所述目标任务调度器根据数据交换任务进行数据监听,包括:基于所述目标任务调度器确定目标路由路径;根据所述数据交换任务基于目标路由路径进行运行流量数据分发;运行所述数据交换任务并进行数据监听,以获得监控数据,所述监控数据包括管理分区数据资源信息、任务运行信息、中间件信息。
于本发明的一实施例中,根据所述目标路由路径将所述数据交换任务进行流量数据分发之后,所述分布式任务调度方法还包括:获取流量数据分发配置及调度信息;基于所述流量数据分发配置及调度信息生成分发调度日志,并将所述分发调度日志存储至目标数据库。
于本发明的一实施例中,根据所述任务数据指标对监控数据进行指标数据获取,包括:获取服务列表,并根据所述数据交换任务在所述服务列表中确定目标服务;基于所述任务数据指标对所述目标服务进行特征数据筛选;若存在特征数据,则将所述特征数据进行提取,并将所述特征数据存储至目标数据库。
于本发明的一实施例中,将所述特征数据存储至目标数据库之后,所述分布式任务调度方法还包括:接收客户端数据查看请求,并根据所述数据查看请求调用目标数据库中目标数据;对所述目标数据进行可视化处理并在终端进行展示。
本发明实施例还提供了一种分布式任务调度系统,所述分布式任务调度系统包括:分区管理模块,用于接收数据交换任务,并确定数据交换任务的业务分区信息、任务类型以及任务数据指标;任务调度模块,用于根据所述业务分区信息确定数据交换任务的目标管理分区;基于任务类型在所述目标管理分区中,确定与所述数据交换任务具有映射关系的目标任务调度器;分布式调度运行模块,用于基于所述目标任务调度器根据数据交换任务进行数据监听,以获得监控数据;根据所述任务数据指标对监控数据进行指标数据获取,得到监控指标数据并对所述监控指标数据在终端进行展示。
本发明实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述实施例中任一项所述的分布式任务调度方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上述实施例中任一项所述的分布式任务调度方法。
本发明实施例中的一种分布式任务调度方法、系统、设备及存储介质,通过接收数据交换任务,并基于数据交换任务确定业务分区信息、任务类型以及任务数据指标,根据业务分区信息确定目标管理分区,基于任务类型在目标管理分区中确定具有映射关系的目标任务调度器,基于目标任务调度器根据数据交换任务进行数据监听,得到监控数据,并根据任务数据指标对监控数据进行指标数据获取,得到监控指标数据并进行展示;本申请对数据交换任务进行分区划定,并通过任务类型在不同调度器中进行数据分发,分离了数据间的交互传递路径,提升了并行任务之间的数据稳定性,并避免了并行数据交换任务发生的数据拥堵现象。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请的一示例性实施例示出的示例性系统架构的示意图;
图2是本申请的一示例性实施例示出的一种分布式任务调度方法的流程图;
图3是本申请的一示例性实施例示出的一种具体的分布式任务调度方法示意流程图;
图4是本申请的一示例性实施例示出的一种分布式任务调度系统示意图;
图5是本申请的一示例性实施例示出的一种具体的分布式任务调度环境系统图;
图6是本申请的一示例性实施例示出的电子设备的计算机系统的结构示意图。
具体实施方式
以下将参照附图和特定的具体实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的形态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
在本申请中提及的“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
首先需要说明的是,数据交换编排系统是工业互联网平台的中枢神经,承接着平台众多内外系统交互,是实现工业数据集成、共享和流动的核心组件,负责协调不同数据源、不同格式、不同协议之间的数据交换过程。
Kubernetes(通常简称为K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序,它构建在Docker等容器技术之上,提供了一个跨主机的容器管理平台,具有资源调度、服务发现、自动扩缩容、配置管理等功能。
SpringBoot框架是一个基于Spring Framework的简化开发过程的框架,提供了许多内置的特性和工具,减少配置和依赖管理的工作量,适合用于快速搭建和部署Spring应用程序,尤其是微服务和分布式系统。
HTTP编排(HTTP Choreography)是一种设计模式,用于描述和协调多个HTTP服务之间的交互,其涉及到将不同的HTTP请求和响应组合起来,以实现特定的业务流程或任务,在HTTP编排中,各个服务之间的交互被明确地定义和描述,包括请求的顺序、参数传递、错误处理等;MQ编排任务中,主要是将多个MQ服务或消息队列进行组合和协调,以实现特定的业务流程或功能,具体涉及到定义消息的生产者和消费者、消息的路由和分发、消息的顺序和一致性保证等方面,可以确保消息在不同应用程序或服务之间的正确传递和处理。
本申请还可以提供的有益效果包括:本申请的管理分区的整体管理、数据交换任务调度管理、调度管理策略配置,以及数据交换任务的数据在路由传输过程中的限流配置都能在web界面以可视化的方式进行配置,简化了整体流程管理的查看路径,并对分布式管理过程进行分区展示,保证了整个流程的全程监控,且提升了工业互联网平台中对数据交换编排系统的管理效率;本申请实施例中的方案支持自动调整限流策略、自动调整分区,保证服务资源最大化利用,在提升资源应用效率的前提下减少了服务资源应用的额外成本投入;本发明支持不同业务的分区隔离,实现动态扩区、动态缩容扩容,能支持编排系统的高可用、高稳定、高并发运行。
图1是本申请的一示例性实施例示出的示例性系统架构的示意图。
参照图1所示,系统架构可以包括数据交换任务101和计算机设备102。其中,计算机设备102可以是微型计算机、嵌入式计算机、网络计算机等中的至少一种,计算机设备102接收数据交换任务101,并基于数据交换任务101确定数据交换任务101的业务分区信息、任务类型以及任务数据指标,根据业务分区信息确定数据交换任务101的目标管理分区,基于任务类型在目标管理分区中,确定与数据交换任务101具有映射关系的目标任务调度器,基于目标任务调度器根据数据交换任务101进行数据监听,得到监控数据,根据任务数据指标对监控数据进行指标数据获取,得到监控指标数据并对监控指标数据在终端进行展示。
示意性的,本发明实施例中的一种分布式任务调度方法、系统、设备及存储介质,通过计算机设备102接收数据交换任务101,并基于数据交换任务101确定业务分区信息、任务类型以及任务数据指标,根据业务分区信息确定目标管理分区,基于任务类型在目标管理分区中确定具有映射关系的目标任务调度器,基于目标任务调度器根据数据交换任务进行数据监听,得到监控数据,并根据任务数据指标对监控数据进行指标数据获取,得到监控指标数据并进行展示;本申请对数据交换任务101进行分区划定,并通过任务类型在不同调度器中进行数据分发,分离了数据间的交互传递路径,提升了并行任务之间的数据稳定性,并避免了并行数据交换任务发生的数据拥堵现象。
图2是本申请的一示例性实施例示出的一种分布式任务调度方法的流程图,该分布式任务调度方法可以用计算处理设备来执行,该计算处理设备可以是图1中所示的计算机设备102。参照图2所示,该分布式任务调度方法的流程图至少包括步骤S210至步骤S250,详细介绍如下:
在步骤S210中,接收数据交换任务,并基于数据交换任务确定数据交换任务的业务分区信息、任务类型以及任务数据指标。
在本申请的一个实施例中,接受数据交换任务后,检测与业务分区信息具有映射关系的管理分区的存在状态,其中,与业务分区信息具有映射关系的管理分区的存在状态包括存在和不存在。
在本申请的一个实施例中,若不存在与业务分区信息具有映射关系的管理分区,则获取业务场景类型、业务分区信息以及业务目标流量参数,根据业务目标流量参数确定分区调配资源信息,基于分区调配资源信息、业务分区信息和业务场景类型搭建任务分区集群,并将任务分区集群确定为管理分区。
在本申请的一个实施例中,若存在与业务分区信息具有映射关系的管理分区,则基于数据交换任务确定数据交换任务的业务分区信息、任务类型以及任务数据指标。
在本申请的一个是实施例中,上述业务分区信息包括但不限于区域编码、区域名称、区域类型等,区域编码必须同集群应用名相同,分区支持动态扩区、动态缩容扩容;分区调配资源信息包括每个分区的软硬件资源。
需要注意的是,上述管理分区的新增可以应用于原本存在管理分区的情况下,对分区进行新增更新;也可用于初始尚未构建分区的初始状态,进行管理分区的初始化建立。其中,管理分区必须包括主分区,可根据业务场景新增扩展分区、特殊分区。
本申请实施例中的方案支持不同业务的分区隔离,实现动态扩区、动态缩容扩容,能支持编排系统的高可用、高稳定、高并发运行。
在本申请的一个实施例中,上述管理分区的建立可应用Kubernetes实现数据交换编排系统任务分区集群搭建,形成多个任务需求下的集群管理分区,搭建完成后将管理分区信息初始化到关系型数据库中。Kubernetes(通常简称为K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序,它构建在Docker等容器技术之上,提供了一个跨主机的容器管理平台,具有资源调度、服务发现、自动扩缩容、配置管理等功能。
需要说明的是,上述管理分区的建立还可应用Docker Swarm、Apache Mesos和Nomad等容器编排系统,在此并不具体限制上述管理分区建立的过程中所应用容器编排系统。
在步骤S220中,根据业务分区信息确定数据交换任务的目标管理分区。
在本申请的一个实施例中,在本申请的一个实施例中,任务类型包括定时任务、服务编排任务和消息编排任务,在对数据交换任务进行调度过程可基于SpringBoot框架实现任务实现的调度过程,数据交换任务在新建/发布时会自动触发默认管理分区绑定,不同分组下的任务支持默认分区可基于相关技术人员根据任务实施目的实现具体配置,配置完成后会将相关配置存储于MySQL关系型数据库中。
在本申请的一个实施例中,分区绑定后还可以对绑定详情在终端进行调用,也可实现分区换绑、任务运行/调度详情查看、限流调整。
在本申请的一个实施例中,基于SpringBoot框架实现调度策略配置管理,通过调度任务触发默认策略创建与任务默认策略绑定,并通过策略配置列表实现策略修改、删除、任务换绑。
在本申请的一个实施例中,SpringBoot框架是一个基于Spring Framework的简化开发过程的框架,提供了许多内置的特性和工具,减少配置和依赖管理的工作量,适合用于快速搭建和部署Spring应用程序,尤其是微服务和分布式系统。
本申请实施例中的方案支持自动调整限流策略、自动调整分区,保证服务资源最大化利用,提升资源应用效率的前提下减少了服务资源应用的额外成本投入。
在步骤S230中,基于任务类型在目标管理分区中,确定与数据交换任务具有映射关系的目标任务调度器。
在本申请的一个实施例中,任务类型包括定时任务、服务编排任务和消息编排任务,在对数据交换任务进行调度过程可基于SpringBoot框架实现任务实现的调度过程,数据交换任务在新建/发布时会自动触发默认管理分区绑定,不同分组下的任务支持默认分区可基于相关技术人员根据任务实施目的实现具体配置,配置完成后会将相关配置存储于MySQL关系型数据库中。
在本申请的一个实施例中,若任务类型为定时任务,则调用定时任务调度器。
在本申请的一个实施例中,若任务类型为服务编排任务,则调用服务编排任务调度器,其中,服务编排任务是指HTTP编排任务类型,HTTP编排(HTTP Choreography)是一种设计模式,用于描述和协调多个HTTP服务之间的交互,其涉及到将不同的HTTP请求和响应组合起来,以实现特定的业务流程或任务,在HTTP编排中,各个服务之间的交互被明确地定义和描述,包括请求的顺序、参数传递、错误处理等,通过HTTP编排,可以将多个独立的HTTP服务组合成一个完整的业务流程,从而实现更高效、更灵活的业务处理。
在本申请的一个实施例中,若任务类型为消息编排任务,则调用消息编排任务调度器,其中,消息编排任务是指MQ编排,MQ(Message Queue),是一种应用程序对应用程序的通信方法,也是一种跨进程的通信机制,用于上下游传递消息,在MQ编排任务中,主要是将多个MQ服务或消息队列进行组合和协调,以实现特定的业务流程或功能,具体涉及到定义消息的生产者和消费者、消息的路由和分发、消息的顺序和一致性保证等方面,可以确保消息在不同应用程序或服务之间的正确传递和处理,从而实现业务流程的自动化和协同工作。
在步骤S240中,基于目标任务调度器根据数据交换任务进行数据监听,得到监控数据。
在本申请的一个实施例中,基于目标任务调度器确定目标路由路径,根据数据交换任务基于目标路由路径进行运行流量数据分发,数据交换任务并进行数据监听,以获得监控数据,监控数据包括管理分区数据资源信息、任务运行信息、中间件信息。
在本申请的一个实施例中,数据监听过程是基于Nacos实现管理分区自动管理与监听,其中,Nacos是一个微服务配置管理和服务发现的解决方案,其提供了一组简单易用的特性集,包括动态服务发现、服务配置、服务元数据及流量管理等,其服务领域模型主要分为命名空间、集群、服务。
在本申请的一个实施例中,根据目标路由路径将数据交换任务进行流量数据分发之后,获取流量数据分发配置及调度信息,基于流量数据分发配置及调度信息生成分发调度日志,并将分发调度日志存储至目标数据库,其中,目标数据库与上述实施例中的MySQL关系型数据库一致。
在步骤S250中,根据任务数据指标对监控数据进行指标数据获取,得到监控指标数据并对监控指标数据在终端进行展示。
在本申请的一个实施例中,获取服务列表,并根据数据交换任务在服务列表中确定目标服务,基于任务数据指标对目标服务进行特征数据筛选,若存在特征数据,则将特征数据进行提取,并将特征数据存储至目标数据库。
在本申请的一个实施例中,任务数据指标包括但不限于集群实例指标(或称管理分区指标)和任务运行指标。
在本申请的一个实施例中,基于任务数据指标对目标服务进行特征数据筛选包括通过Actuator实现集群实例指标、任务运行指标埋点,通过Rocketmq-Exporte实现RocketMQ broker端和客户端指标埋点,通过Promethues收集集群实例指标、任务运行指标、MQ消费端指标,并持久化到时序数据库中。
其中,Actuator是Spring Boot提供的一个用于监控和管理应用程序的组件,是Spring Boot生态系统中的一个子项目,通过提供一系列预定义的端点,使得应用程序可以暴露其内部运行状态和相关信息,“埋点”(也称为“指标收集”或“度量收集”)是指在代码中嵌入特定的监控代码或库,以便收集、报告和监控应用程序在运行时的各种指标和数据,其包括但不限于应用程序的性能、健康状况、错误率、用户行为、资源利用率等。RocketMQ-Exporter是一个用于监控RocketMQ运行状态的系统,它是Prometheus提供的一个Exporter,能够收集RocketMQ broker端和客户端的所有相关指标,并将这些指标通过HTTP服务进行数据供给,RocketMQ的Broker是RocketMQ系统中的核心组件之一,主要负责处理各种TCP请求(计算)和存储消息(存储)。Prometheus是一个服务监控系统和时序数据库,主要用于监控IT基础设施和服务,提供了一种通用的数据模型和快捷的数据采集、存储、查询接口。MQ(消息队列)消费端指标主要关注消费者在消息处理过程中的性能和状态。集群实例指标主要用于监控和管理集群中各个实例的运行状态和性能。
在本申请的一个实施例中,将特征数据存储至目标数据库之后,接收客户端数据查看请求,并根据数据查看请求调用目标数据库中目标数据,对目标数据进行可视化处理并在终端进行展示。
在本申请的一个实施例中,根据数据查看请求调用目标数据库中目标数据包括使用PromQL进行指标聚合查询并调用,PromQL(Prometheus Query Language)是Prometheus监控系统内置的一种查询语言,允许以灵活的方式选择、聚合、转换和计算时间序列数据,用于读取数据。对目标数据进行可视化处理并在终端进行展示的一种可实施方式包括通过Echart可视化图表库呈现。
请参阅图3,图3是本申请的一示例性实施例示出的一种具体的分布式任务调度方法示意流程图,如图3所示,在本申请的一个具体实施例中,开始分布式任务调度后,先运行数据交换任务,在运行数据交换任务之前,还包括接收数据交换任务数据。
在本申请的一个具体实施例中,运行数据交换任务之后,首先获取任务所属分区,具体地,基于数据交换任务属性确定任务所属分区,再通过任务分区确定分区实例,需要说明的是上述数据交换任务属性与上述实施例中的业务分区信息一致,其中分区实例通过Nacos实现分区实例节点自动管理与监听。
在本申请的一个具体实施例中,确定分区集群实例后基于任务类型进行路由调度器分配,即通过HTTP、MQ、定时任务的任务类型确定路由调度器,其中HTTP任务调用HTTP接口调度器,定时任务调用定时任务调度器,MQ任务调用MQ消息调度器,以在分区集群内执行数据交换任务。
本发明实施例中的一种分布式任务调度方法、系统、设备及存储介质,通过接收数据交换任务,并基于数据交换任务确定业务分区信息、任务类型以及任务数据指标,根据业务分区信息确定目标管理分区,基于任务类型在目标管理分区中确定具有映射关系的目标任务调度器,基于目标任务调度器根据数据交换任务进行数据监听,得到监控数据,并根据任务数据指标对监控数据进行指标数据获取,得到监控指标数据并进行展示;本申请对数据交换任务进行分区划定,并通过任务类型在不同调度器中进行数据分发,分离了数据间的交互传递路径,提升了并行任务之间的数据稳定性,并避免了并行数据交换任务发生的数据拥堵现象;还可以提供的有益效果包括将管理分区的整体管理、数据交换任务调度管理、调度管理策略配置,以及数据交换任务的数据在路由传输过程中的限流配置都能在web界面以可视化的方式进行配置,简化了整体流程管理的查看路径,并对分布式管理过程进行分区展示,保证了整个流程的全程监控,且提升了工业互联网平台中对数据交换编排系统的管理效率;本申请实施例中的方案支持自动调整限流策略、自动调整分区,保证服务资源最大化利用,提升资源应用效率的前提下减少了服务资源应用的额外成本投入;本发明支持不同业务的分区隔离,实现动态扩区、动态缩容扩容,能支持编排系统的高可用、高稳定、高并发运行。
以下介绍本申请的系统实施例,可以用于执行本申请上述实施例中的分布式任务调度方法。对于本申请系统实施例中未披露的细节,请参照本申请上述的分布式任务调度方法的实施例。
图4是本申请的一示例性实施例示出的一种分布式任务调度系统示意图。该系统可以应用于图1所示的实施环境,该系统也可以适用于其他的示例性实施环境,并具体配置在其他设备中,本实施例不对该系统所适用的实施环境进行限制。
如图4所示,该示例性的分布式任务调度系统包括:分区管理模块401,任务调度模块402、分布式调度运行模块403。
其中,分区管理模块401,用于接收数据交换任务,并确定数据交换任务的业务分区信息、任务类型以及任务数据指标;任务调度模块402,用于根据业务分区信息确定数据交换任务的目标管理分区;基于任务类型在目标管理分区中,确定与数据交换任务具有映射关系的目标任务调度器;分布式调度运行模块403,用于基于目标任务调度器根据数据交换任务进行数据监听,以获得监控数据;根据任务数据指标对监控数据进行指标数据获取,得到监控指标数据并对监控指标数据在终端进行展示。
请参阅图5,图5是本申请的一示例性实施例示出的一种具体的分布式任务调度环境系统图,如图5所示,在本申请的一个具体环境系统实施例中包括:
分区管理模块,包括区域规划后分区集群搭建,并进行持久化存储的功能,用于根据业务需求,构建分区集群;
任务调度管理模块,包括分区管理、任务流程管理和任务运行监控功能,用于根据编排接口发布绑定默认分区,并通过分区管理查看、换绑分区;
调度策略配置模块,包括策略管理、绑定策略和任务策略调整功能,用于根据不同的调度任务类型绑定不同的调度策略;
自动调度模块,包括调度策略指标查询后调用调度规则,并在执行调度后记录调度日志的功能,用于根据监控指标、调度规则、调度策略动态调整执行分区、限流阀值;
任务调度运行模块,包括任务绑定管理分区后确定分区实例,并基于关联的流量分发器将路由数据转发至分区实例的功能,用于根据编排所属分区,执行业务分流,将流量负载到对应集群;
调度任务运行监控模块,包括区域资源监控、任务运行详情监控和中间件运行详情的功能,用于根据监控指标,对区域资源、任务运行详情、MQ消费情况进行展示。
在本申请的一个具体实施例中,上述具体的分布式任务调度方法在上述具体环境系统实施例中的执行过程中的完整操作流程可表述如下:
S1.构建调度任务分区,根据不同业务场景,基于Kubernetes或其他容器实现数据交换编排系统任务分区集群搭建,搭建完成后将分区信息初始化到关系型数据库MySQL中;
S2.任务调度管理,基于SpringBoot框架实现数据交换任务默认分区绑定,并通过任务调度管理实现绑定查询、分区换绑、任务运行详情展现、限流配置;
S3.调度策略配置,基于SpringBoot框架实现调度策略配置管理,通过调度任务触发默认策略创建与任务默认策略绑定,并通过策略配置列表实现策略修改、删除、任务换绑,对于调度策略配置模块;
S4.自动调度分区换绑与限流调整,基于Promethues实现编排运行指标监控,通过监控指标、调度策略、规则执行器自动调整运行分区、限流配置,如时间复杂度指标、空间复杂度指标、中间件指标等;并持久化到时序数据库中,再使用PromQL进行指标聚合查询,最后Elasticjob定时拉取指标数据,再通过调度策略和调度规则自动调整调度分区与限流阀值;
S5.分布式调度运行模块,基于Nacos实现分区实例节点自动管理与监听,通过分区实例节点与任务调度配置实现任务分流;
S6.存储调度配置及调度运行日志,通过关系型数据库MySQL进行调度配置持久化和调度过程记录。
S7.调度任务监控模块,基于Actuator实现集群实例指标、任务运行指标埋点,基于Rocketmq-Exporte实现RocketMQ broker端和客户端指标埋点,并通过Promethues收集集群实例指标、任务运行指标、MQ消费端指标;最后通过Echart可视化图表库呈现。
本申请的管理分区的整体管理、数据交换任务调度管理、调度管理策略配置,以及数据交换任务的数据在路由传输过程中的限流配置都能在web界面以可视化的方式进行配置,简化了整体流程管理的查看路径,并对分布式管理过程进行分区展示,保证了整个流程的全程监控,且提升了工业互联网平台中对数据交换编排系统的管理效率。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得电子设备实现上述各个实施例中提供的分布式任务调度方法。
图6是本申请的一示例性实施例示出的电子设备的计算机系统的结构示意图。需要说明的是,图6示出的电子设备的计算机系统600仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(Central Processing Unit,CPU)601,其可以根据存储在只读存储器(Read-Only Memory,ROM)602中的程序或者从储存部分加载到随机访问存储器(Random Access Memory,RAM)603中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 603中,还存储有系统操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线彼此相连。输入/输出(Input/Output,I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liqu身份Crystal Display,LCD)等以及扬声器等的输出部分607;包括硬盘等的储存部分608;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分609。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入储存部分608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框,以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在上述实施例的对应附图中,连接线可以表示各个部件之间的连接关系,以表示更多的构成信号路径(constituent_signal path)和/或一些线的一个或多个末端具有箭头,以表示主要信息流向,连接线作为一种标识,不是对方案本身的限制,而是结合一个或多个事例性实施例使用这些线有助于更容易地接电路或逻辑单元,任何所代表的信号(由设计需求或偏好所决定)实际上可以包括可以在任意一个方向传送的并且可以以任何适当类型的信号方案实现的一个或多个信号。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
应当注意,本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其他实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围。
Claims (10)
1.一种分布式任务调度方法,其特征在于,所述分布式任务调度方法包括:
接收数据交换任务,并基于所述数据交换任务确定数据交换任务的业务分区信息、任务类型以及任务数据指标;
根据所述业务分区信息确定数据交换任务的目标管理分区;
基于任务类型在所述目标管理分区中,确定与所述数据交换任务具有映射关系的目标任务调度器;
基于所述目标任务调度器根据数据交换任务进行数据监听,得到监控数据;
根据所述任务数据指标对监控数据进行指标数据获取,得到监控指标数据并对所述监控指标数据在终端进行展示。
2.根据权利要求1所述的分布式任务调度方法,其特征在于,接受数据交换任务后,所述分布式任务调度方法还包括:
检测与所述业务分区信息具有映射关系的管理分区的存在状态;
若不存在与所述业务分区信息具有映射关系的管理分区,则获取业务场景类型、业务分区信息以及业务目标流量参数;
根据所述业务目标流量参数确定分区调配资源信息;
基于所述分区调配资源信息、业务分区信息和业务场景类型搭建任务分区集群,并将所述任务分区集群确定为管理分区。
3.根据权利要求1所述的分布式任务调度方法,其特征在于,所述任务类型包括定时任务、服务编排任务和消息编排任务,基于任务类型在所述目标管理分区中,确定与所述数据交换任务具有映射关系的目标任务调度器包括以下任意之一:
若所述任务类型为定时任务,则调用定时任务调度器;
若所述任务类型为服务编排任务,则调用服务编排任务调度器;
若所述任务类型为消息编排任务,则调用消息编排任务调度器。
4.根据权利要求1所述的分布式任务调度方法,其特征在于,基于所述目标任务调度器根据数据交换任务进行数据监听,包括:
基于所述目标任务调度器确定目标路由路径;
根据所述数据交换任务基于目标路由路径进行运行流量数据分发;
运行所述数据交换任务并进行数据监听,以获得监控数据,所述监控数据包括管理分区数据资源信息、任务运行信息、中间件信息。
5.根据权利要求4所述的分布式任务调度方法,其特征在于,根据所述目标路由路径将所述数据交换任务进行流量数据分发之后,所述分布式任务调度方法还包括:
获取流量数据分发配置及调度信息;
基于所述流量数据分发配置及调度信息生成分发调度日志,并将所述分发调度日志存储至目标数据库。
6.根据权利要求1所述的分布式任务调度方法,其特征在于,根据所述任务数据指标对监控数据进行指标数据获取,包括:
获取服务列表,并根据所述数据交换任务在所述服务列表中确定目标服务;
基于所述任务数据指标对所述目标服务进行特征数据筛选;
若存在特征数据,则将所述特征数据进行提取,并将所述特征数据存储至目标数据库。
7.根据权利要求6所述的分布式任务调度方法,其特征在于,将所述特征数据存储至目标数据库之后,所述分布式任务调度方法还包括:
接收客户端数据查看请求,并根据所述数据查看请求调用目标数据库中目标数据;
对所述目标数据进行可视化处理并在终端进行展示。
8.一种分布式任务调度系统,其特征在于,所述分布式任务调度系统包括:
分区管理模块,用于接收数据交换任务,并确定数据交换任务的业务分区信息、任务类型以及任务数据指标;
任务调度模块,用于根据所述业务分区信息确定数据交换任务的目标管理分区;基于任务类型在所述目标管理分区中,确定与所述数据交换任务具有映射关系的目标任务调度器;
分布式调度运行模块,用于基于所述目标任务调度器根据数据交换任务进行数据监听,以获得监控数据;根据所述任务数据指标对监控数据进行指标数据获取,得到监控指标数据并对所述监控指标数据在终端进行展示。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至7中任一项所述的分布式任务调度方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如权利要求1至7中任一项所述的分布式任务调度方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410204714.8A CN118069319A (zh) | 2024-02-25 | 2024-02-25 | 一种分布式任务调度方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410204714.8A CN118069319A (zh) | 2024-02-25 | 2024-02-25 | 一种分布式任务调度方法、系统、设备及存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118069319A true CN118069319A (zh) | 2024-05-24 |
Family
ID=91096622
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410204714.8A Pending CN118069319A (zh) | 2024-02-25 | 2024-02-25 | 一种分布式任务调度方法、系统、设备及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118069319A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119336495A (zh) * | 2024-09-27 | 2025-01-21 | 东方通信股份有限公司 | 一种基于springboot实现多任务调度及负载均衡的方法 |
-
2024
- 2024-02-25 CN CN202410204714.8A patent/CN118069319A/zh active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119336495A (zh) * | 2024-09-27 | 2025-01-21 | 东方通信股份有限公司 | 一种基于springboot实现多任务调度及负载均衡的方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9442827B2 (en) | Simulation environment for distributed programs | |
| US8095933B2 (en) | Grid project modeling, simulation, display, and scheduling | |
| CN109034396B (zh) | 用于处理分布式集群中的深度学习作业的方法和装置 | |
| CN101652750B (zh) | 数据处理装置、分散处理系统、数据处理方法 | |
| US7831971B2 (en) | Method and apparatus for presenting a visualization of processor capacity and network availability based on a grid computing system simulation | |
| CN112486653B (zh) | 调度多类型计算资源的方法、装置和系统 | |
| CN110807058B (zh) | 一种导出数据的方法和系统 | |
| CN109117252B (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
| CN110782122B (zh) | 数据处理方法、装置及电子设备 | |
| CN113672500A (zh) | 深度学习算法的测试方法、装置、电子装置和存储介质 | |
| CN116450355A (zh) | 一种多集群模型训练方法、装置、设备及介质 | |
| CN111435329B (zh) | 一种自动化测试方法和装置 | |
| US7995474B2 (en) | Grid network throttle and load collector | |
| CN110532322A (zh) | 运维交互方法、系统、计算机可读存储介质及设备 | |
| CN119046376A (zh) | 基于分布式调度的数据同步方法、电子设备及存储介质 | |
| US10893015B2 (en) | Priority topic messaging | |
| CN111694670B (zh) | 资源分配方法、装置、设备和计算机可读介质 | |
| CN114237902A (zh) | 一种服务部署方法、装置、电子设备及计算机可读介质 | |
| CN113448719A (zh) | 分布式任务处理系统 | |
| CN118069319A (zh) | 一种分布式任务调度方法、系统、设备及存储介质 | |
| CN116974748A (zh) | 资源调度方法、节点、设备、介质和程序产品 | |
| CN117118982A (zh) | 基于云原生多集群的消息传输方法、装置、介质及设备 | |
| CN112148458A (zh) | 任务调度方法、装置 | |
| CN114153609A (zh) | 资源控制方法及装置、电子设备、计算机可读存储介质 | |
| CN118445029A (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 |