CN111026809A - 一种调度流程分布式执行系统 - Google Patents
一种调度流程分布式执行系统 Download PDFInfo
- Publication number
- CN111026809A CN111026809A CN201911220215.3A CN201911220215A CN111026809A CN 111026809 A CN111026809 A CN 111026809A CN 201911220215 A CN201911220215 A CN 201911220215A CN 111026809 A CN111026809 A CN 111026809A
- Authority
- CN
- China
- Prior art keywords
- flow
- execution
- node
- queue
- distributed
- 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 63
- 230000008569 process Effects 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 claims abstract description 16
- 238000012544 monitoring process Methods 0.000 claims abstract description 6
- 238000001914 filtration Methods 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 6
- 238000004321 preservation Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种调度流程分布式执行系统,属于分布式数据处理技术领域,该系统包括:流程分发调度器:用来接收用户提交的流程放入待执行队列中,并实时根据收集的各执行器所在节点状态信息进行评估来对待执行队列中的流程进行调度执行;流程执行器(executor):流程的真正执行节点,包括执行和监控模块,分别是负责流程的执行逻辑及收集节点状态信息的工作;分布式通信协调数据库:为了保持分布式流程执行器与分布调度器进行通信,提供节点服务及流程状态的保存。通过本发明,解决了流程分布式调度问题,尤其适用于Java实现的各任务间数据通过JVM进程通信的流程。
Description
技术领域
本发明涉及分布式数据处理技术,尤其涉及一种调度流程分布式执行系统。
背景技术
大数据时代,企业或组织会尝试搜集外部数据,并结合已有积累的业务数据,通过大数据的技术工具进行数据处理和关联形成知识,以便辅助业务决策或实现数据变现。大部分的数据处理分析工具,一般会从体验便捷性、降低门槛角度提供可视化的流程编排工具,通过任务编排和调度来执行数据的处理逻辑,来完成数据的自动化处理过程。
一般可视化的流程是通过一个个任务(环节)构成,每个任务(环节)是一个具体的业务数据逻辑处理单元.现在商业的或者开源的系统要么是流程只能单机运行,不能支持多用户并发使用,但因为各任务间数据的通信使用内存传输,执行效率较快;要么就是按任务进行调度到分布式节点,通过增加外部存储来实现各任务间数据共享传输,但执行效率慢,且管理和部署的复杂性高。
如何在物理资源有限条件下,实现软件能力支持高并发、低时延成为目前亟待解决的问题。
发明内容
为了解决以上技术问题,本发明结合单机执行和任务分布式的特点,提供了一种轻量级部署、执行器节点可水平扩展、执行效率较优的调度流程分布式执行系统,解决了流程分布式调度问题,尤其适用于Java实现的各任务间数据通过JVM进程通信的流程。
本发明的技术方案是:
一种调度流程分布式执行系统,通过设定三类角色来实现流程的分布式调度,三类角色为:
流程分发调度器(dispatcher):用来接收用户提交的流程放入待执行队列中,并实时根据收集的各执行器所在节点状态信息进行评估来对待执行队列中的流程进行调度执行;
流程执行器(executor):流程的真正执行节点,包括执行和监控模块,分别是负责流程的执行逻辑及收集节点状态信息的工作;
分布式通信协调数据库:为了保持分布式流程执行器与分布调度器进行通信,提供节点服务及流程状态的保存。
进一步的,
流程分发调度器、流程执行器通过内置jetty或者tomcat服务器提供对外服务。
进一步的,
流程执行器提供两个restful的服务接口:
/statistics:获取当前可用内存、cpu占比情况信息;
/execute:执行流程。
进一步的,
分布式通信协调数据库提供两个表,一是执行节点信息表:节点ID,主机名(IP)、端口号、节点状态,二是流程执行状态表:流程id、状态、执行节点ID、开始执行时间。
进一步的,
流程执行器自注册节点信息到分布式协调数据库;
流程分发调度器使用java的BlockingQueue来做为内置队列模块,保证为大量同步流程执行提供缓冲区,并启动一java线程实时订阅队列信息,轮询获取各执行器的/statistics接口获取所在节点的资源信息,并根据信息的过滤算法选择合适的执行节点,然后去异步调用流程执行器执行模块的/execute去执行流程,并异步更新分布式协调数据库流程状态信息。
进一步的,
通过动态监测分布式通信协调数据库的执行节点信息来做到执行计算能力的水平扩展。
进一步的,
具体的交互流程为:
1)流程执行器自注册节点信息到分布式协调数据库,其中节点信息包含所在物理节点的主机名、端口号;
2)用户发起运行流程请求,流程分发调度器内置队列模块,接收该流程并放到队列中,内置队列可使用java的BlockingQueue来存放待执行流程;
3)流程分发调度器定时从队列中弹出待执行流程,然后动态的从分布式协调数据库中获取当前可用的各流程执行器所在节点的信息,来实现执行计算力的水平扩展;
4)流程分发调度器根据查询时间差来异步轮询获取各执行器的/statistics接口获取所在节点的资源信息,如可用内存、cpu占比、以及环境信息,并根据信息的过滤算法选择合适的流程执行节点;
5)流程分发调度器根据4)选择的节点,通过httpclient去异步调用流程执行器执行模块的/execute去执行流程,并异步更新分布式协调数据库流程状态信息。
进一步的,
步骤3)中的定时可启用单独一线程来订阅队列中的信息。
本发明的有益效果是
系统划分的三类角色组件将可视化流程工具编排的不同的流程调度到分散的不同物理节点上,实现流程的并发分布式执行,可应对用户的高并发低延时访问。
为单机执行流程的场景提供了分布式解决方案,该发明交互流程比较简单清晰易于理解,部署实施比较轻量,能够动态添加节点来水平扩展增强流程处理能力。
附图说明
图1是实现智能对话中意图管理的方法技术架构图;
图2是调度流程分布式执行的方法和系统的部署架构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的一种调度流程分布式执行系统,该系统包括:
流程分发调度器(dispatcher):用来接收用户提交的流程放入待执行队列中,并实时根据收集的各执行器所在节点状态信息进行算法评估来对待执行队列中的流程进行调度执行;
流程执行器(executor):流程的真正执行节点,包括执行和监控模块,分别是负责流程的执行逻辑及收集节点状态信息的工作;
分布式通信协调数据库:为了保持分布式流程执行器与分布调度器进行通信,提供节点服务及流程状态的保存。
其中流程分发调度器、流程执行器可以通过内置jetty或者tomcat服务器提供对外服务,流程执行器提供两个restful的服务接口:/statistics:获取当前可用内存、cpu占比情况等信息;/execute:执行流程。分布式通信协调数据库提供两个表,一是执行节点信息表:节点ID,主机名(IP)、端口号、节点状态,二是流程执行状态表:流程id、状态(待执行、失败、成功、在执行)、执行节点ID、开始执行时间。
其具体的交互流程为:
1)流程执行器自注册节点信息到分布式协调数据库,其中节点信息包含不限于所在物理节点的主机名、端口号。
2)用户发起运行流程请求,流程分发调度器内置队列模块,接收该流程并放到队列中,内置队列可使用java的BlockingQueue来存放待执行流程,这样设计的目的也是为大量同步流程执行进行一下缓冲。
3)流程分发调度器定时从队列中弹出待执行流程,然后动态的从分布式协调数据库中获取当前可用的各流程执行器所在节点的信息,来实现执行计算力的水平扩展,这里定时可启用单独一线程来订阅队列中的信息。
4)流程分发调度器根据查询时间差来异步轮询获取各执行器的/statistics接口获取所在节点的资源信息,如可用内存、cpu占比、以及环境信息(是否大数据环境,或者是否docker环境),并根据信息的过滤算法选择合适的流程执行节点。
5)流程分发调度器根据4)选择的节点,通过httpclient去异步调用流程执行器执行模块的/execute去执行流程,并异步更新分布式协调数据库流程状态信息。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种调度流程分布式执行系统,其特征在于,
包括:
流程分发调度器:用来接收用户提交的流程放入待执行队列中,并实时根据收集的各执行器所在节点状态信息进行评估来对待执行队列中的流程进行调度执行;
流程执行器:流程的真正执行节点,包括执行和监控模块,分别是负责流程的执行逻辑及收集节点状态信息的工作;
分布式通信协调数据库:保持分布式流程执行器与分布调度器进行通信,提供节点服务及流程状态的保存。
2.根据权利要求1所述的方法,其特征在于,
流程分发调度器、流程执行器通过内置jetty或者tomcat服务器提供对外服务。
3.根据权利要求2所述的方法,其特征在于,
流程执行器提供两个restful的服务接口:
/statistics:获取当前可用内存、cpu占比情况信息;
/execute:执行流程。
4.根据权利要求3所述的方法,其特征在于,
分布式通信协调数据库提供两个表,一是执行节点信息表:节点ID,主机名(IP)、端口号、节点状态,二是流程执行状态表:流程id、状态、执行节点ID、开始执行时间。
5.根据权利要求4所述的方法,其特征在于,
流程执行器自注册节点信息到分布式协调数据库;
流程分发调度器使用java的BlockingQueue来做为内置队列模块,保证为大量同步流程执行提供缓冲区,并启动一java线程实时订阅队列信息,轮询获取各执行器的/statistics接口获取所在节点的资源信息,并根据信息的过滤算法选择合适的执行节点,然后去异步调用流程执行器执行模块的/execute去执行流程,并异步更新分布式协调数据库流程状态信息。
6.根据权利要求5所述的方法,其特征在于,
通过动态监测分布式通信协调数据库的执行节点信息来做到执行计算能力的水平扩展。
7.根据权利要求6所述的方法,其特征在于,
具体的交互流程为:
1)流程执行器自注册节点信息到分布式协调数据库,其中节点信息包含所在物理节点的主机名、端口号;
2)用户发起运行流程请求,流程分发调度器内置队列模块,接收该流程并放到队列中,内置队列可使用java的BlockingQueue来存放待执行流程;
3)流程分发调度器定时从队列中弹出待执行流程,然后动态的从分布式协调数据库中获取当前可用的各流程执行器所在节点的信息,来实现执行计算力的水平扩展;
4)流程分发调度器根据查询时间差来异步轮询获取各执行器的/statistics接口获取所在节点的资源信息,并根据信息的过滤算法选择合适的流程执行节点;
5)流程分发调度器根据4)选择的节点,通过httpclient去异步调用流程执行器执行模块的/execute去执行流程,并异步更新分布式协调数据库流程状态信息。
8.根据权利要求7所述的方法,其特征在于,
步骤3)中的定时可启用单独一线程来订阅队列中的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911220215.3A CN111026809B (zh) | 2019-12-03 | 2019-12-03 | 一种调度流程分布式执行系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911220215.3A CN111026809B (zh) | 2019-12-03 | 2019-12-03 | 一种调度流程分布式执行系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111026809A true CN111026809A (zh) | 2020-04-17 |
CN111026809B CN111026809B (zh) | 2024-04-19 |
Family
ID=70204043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911220215.3A Active CN111026809B (zh) | 2019-12-03 | 2019-12-03 | 一种调度流程分布式执行系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026809B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579012A (zh) * | 2022-03-03 | 2022-06-03 | 北京天智鲲鹏技术有限公司 | 一种跨应用的工作流程编排及调度方法 |
CN114691454A (zh) * | 2022-03-30 | 2022-07-01 | 网银在线(北京)科技有限公司 | 流程任务处理方法、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957780A (zh) * | 2010-08-17 | 2011-01-26 | 中国电子科技集团公司第二十八研究所 | 一种基于资源状态信息的网格任务调度处理器及方法 |
US20120158816A1 (en) * | 2010-12-15 | 2012-06-21 | Electronics And Telecommunications Research Institute | Service providing method and device using the same |
CN104503845A (zh) * | 2015-01-14 | 2015-04-08 | 北京邮电大学 | 一种任务分发方法和系统 |
CN106713018A (zh) * | 2016-12-08 | 2017-05-24 | 中国电信股份有限公司物联网分公司 | 消息队列业务数据调度及消息队列的实现方法 |
CN109783214A (zh) * | 2018-12-29 | 2019-05-21 | 广州供电局有限公司 | 任务调度控制系统 |
CN110377413A (zh) * | 2019-07-24 | 2019-10-25 | 上海金融期货信息技术有限公司 | 基于bpmn标准的分布式任务异步调度和监控的系统 |
-
2019
- 2019-12-03 CN CN201911220215.3A patent/CN111026809B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957780A (zh) * | 2010-08-17 | 2011-01-26 | 中国电子科技集团公司第二十八研究所 | 一种基于资源状态信息的网格任务调度处理器及方法 |
US20120158816A1 (en) * | 2010-12-15 | 2012-06-21 | Electronics And Telecommunications Research Institute | Service providing method and device using the same |
CN104503845A (zh) * | 2015-01-14 | 2015-04-08 | 北京邮电大学 | 一种任务分发方法和系统 |
CN106713018A (zh) * | 2016-12-08 | 2017-05-24 | 中国电信股份有限公司物联网分公司 | 消息队列业务数据调度及消息队列的实现方法 |
CN109783214A (zh) * | 2018-12-29 | 2019-05-21 | 广州供电局有限公司 | 任务调度控制系统 |
CN110377413A (zh) * | 2019-07-24 | 2019-10-25 | 上海金融期货信息技术有限公司 | 基于bpmn标准的分布式任务异步调度和监控的系统 |
Non-Patent Citations (2)
Title |
---|
SBIRLEA, DRAGOS ET AL.: "Monitoring Workflow Applications in Large Scale Distributed Systems", 2009 INTERNATIONAL CONFERENCE ON INTELLIGENT NETWORKING AND COLLABORATIVE SYSTEMS, 31 December 2009 (2009-12-31), pages 162 - 169 * |
李东;吴静;: "分布式web系统负载均衡性研究", 通信技术, no. 02, 10 February 2013 (2013-02-10), pages 92 - 95 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579012A (zh) * | 2022-03-03 | 2022-06-03 | 北京天智鲲鹏技术有限公司 | 一种跨应用的工作流程编排及调度方法 |
CN114579012B (zh) * | 2022-03-03 | 2024-03-29 | 北京天智鲲鹏技术有限公司 | 一种跨应用的工作流程编排及调度方法 |
CN114691454A (zh) * | 2022-03-30 | 2022-07-01 | 网银在线(北京)科技有限公司 | 流程任务处理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111026809B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10303509B2 (en) | Distributed task system based on internet of things and service processing method for distributed tasks based on the same | |
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
Hamscher et al. | Evaluation of job-scheduling strategies for grid computing | |
WO2021159638A1 (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
US20190319895A1 (en) | Resource Scheduling Method And Apparatus | |
EP2503733B1 (en) | Data collecting method, data collecting apparatus and network management device | |
Xu et al. | Adaptive task scheduling strategy based on dynamic workload adjustment for heterogeneous Hadoop clusters | |
US9973512B2 (en) | Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time | |
US20100281482A1 (en) | Application efficiency engine | |
CN110489217A (zh) | 一种任务调度方法及系统 | |
CN104199739A (zh) | 一种基于负载均衡的推测式Hadoop调度方法 | |
Petrov et al. | Adaptive performance model for dynamic scaling Apache Spark Streaming | |
CN111026809B (zh) | 一种调度流程分布式执行系统 | |
CN114666335B (zh) | 一种基于数据分发服务dds的分布式系统负载均衡装置 | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
Low | Dynamic load-balancing for bsp time warp | |
CN112860401A (zh) | 任务调度方法、装置、电子设备和存储介质 | |
CN1825288A (zh) | 嵌入式sram操作系统进程多队列调度的实现方法 | |
Gadre et al. | Investigating MapReduce framework extensions for efficient processing of geographically scattered datasets | |
Fernández-Cerero et al. | Quality of cloud services determined by the dynamic management of scheduling models for complex heterogeneous workloads | |
Cai et al. | A simulation study of dynamic load balancing for network-based parallel processing | |
Evers et al. | A literature study on scheduling in distributed systems | |
Yazdanpanah et al. | A comprehensive view of MapReduce aware scheduling algorithms in cloud environments | |
CN113254143A (zh) | 虚拟化网络功能网元编排调度方法、装置和系统 | |
JPH09179834A (ja) | 並列システムにおけるプロセスのスケジューリング方法 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: 271000 Langchao science and Technology Park, 527 Dongyue street, Tai'an City, Shandong Province Applicant after: INSPUR SOFTWARE Co.,Ltd. Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong Applicant before: INSPUR SOFTWARE Co.,Ltd. Country or region before: China |
|
GR01 | Patent grant | ||
GR01 | Patent grant |