CN110035103A - 一种节点间数据可传递的分布式调度*** - Google Patents
一种节点间数据可传递的分布式调度*** Download PDFInfo
- Publication number
- CN110035103A CN110035103A CN201810070677.0A CN201810070677A CN110035103A CN 110035103 A CN110035103 A CN 110035103A CN 201810070677 A CN201810070677 A CN 201810070677A CN 110035103 A CN110035103 A CN 110035103A
- Authority
- CN
- China
- Prior art keywords
- task
- module
- data
- json
- flow
- 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; 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种节点间数据可传递的分布式调度***。主要功能模块有:任务模块,用来存放需要被执行的任务信息;任务队列模块,存放任务执行规划信息;调度模块,用来控制所有任务的执行流程;数据模块,是为了各个任务模块间进行数据传递的中间节点,前一任务会按指定算法,把数据进行序列化,传递到下一任务后,会被反序列化后使用。控制中心模块能够实时查看各任务的调度情况和整个***的状态信息统计。本发明通过让各个节点间的数据可进行传递,使任务模块间的信息不再独立,后置模块可以使用前置模块的计算结果或者指令,去除了原本各模块间数据传递的复杂工作,提高了***的稳定性和执行效率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种节点间数据可传递的分布式调度***。
背景技术
随着互联网规模的不断扩大,服务器的业务能力需要越来越多的功能模块进行支持。这些模块一般被分布在各个不同地域的服务器上,由统一的调度服务器进行控制。
现有的调度服务器,大部分只是对各个任务进行定时控制。在到达指定时间时,启动相应任务,任务结束后记录日志,任务被调度过程完全独立。还有部分则是可以规定任务的执行顺序,任务可以按预定的顺序,被依次执行。这样,虽然任务间的执行时间有了联系,但是各个任务数据结果,还是相对独立。
然而随着功能的复杂化,单独模块的功能已经不能满足业务的需要,而需要各模块之间相互协作。但是各模块间的数据传递需要人工辅助,工作复杂且效率不高,所以亟需一种多模块间可以传递数据的调度***。
发明内容
本发明提供了节点间数据可传递的分布式调度***的方法,为了解决现有的调度***,各执行器节点无法传递数据的问题。
本发明有多个工作模块所组成:
模块1 任务模块:这是需要被执行任务的抽象,由用户来实现具体需要被执行什么任务。
模块2 执行模块:又叫执行器,分布在各个执行节点上,用来执行被分配的任务,完成后,提交任务结果和日志。
模块3 任务队列模块:每个队列都保存着一次执行流程(多个任务,可按用户设置,串行或并行执行)
模块3.1 持久化数据库,用于长久存储用户任务流程。
模块3.2 内存数据库,在任务流程被执行时,把任务流程从持久化数据库中取出,放入内存数据库,提高操作效率。
模块4 调度模块:定时从数据库中取出最近要被执行的调度任务,放入内存执行。
模块5 网关模块:使用socket技术与执行模块进行连接,可实时监测和控制执行模块。
模块6 数据服务模块:用于存储任务执行完成后,生成的希望被传递的数据和执行过程中的日志信息。
模块7 归档模块:此模块作为监听任务,注册在调度模块中。在一个任务流程结束后,会被回调。它将收集任务对象模块中的任务流信息,和数据模块中的任务执行日志,规整后,存入持久化数据库。
模块8 控制中心模块:这是一个图形化的网站,用于给用户提供简便的任务提交和规划服务,并能够实时监测任务的执行状态,还能够统计分析整个***的执行情况。
附图说明
图1为本发明实施方式的节点间数据可传递的分布式调度***的总架构图。
图2为本发明中功能模块接口的抽象图。
图3为本发明中任务流程图。
图4为本发明的任务流程的添加流程图。
图5为本发明的调度流程图。
图6为本发明的任务执行流程图。
图7为本发明的归档逻辑流程图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明做出详细的说明。
本发明是一个节点间数据可传递的分布式调度***,该***可以让分部在不同地域的执行节点,按预先的规划执行,每个步骤间都可以传递数据进行关联,消除了各节点间数据的孤立。
图1为本发明实施方式的节点间数据可传递的分布式调度***的总架构图。
图2是本发明中任务模块的抽象接口图。在每个任务执行之前,会先去调用前一任务结果的反序列接口,把前一个数据集转换成可用形式的数据后,再执行任务。任务结束后,也需要把本次任务需要传递的数据,进行相应的序列化。
数据类型码表;每个数据类型都与一个等长的二进制编码对应。
序列化算法:数据必定有有限的基础类型格式组成。首先把需要转化的数据对象拆分两块,一块为数据类型的有序数组,一块为数据内容有序数组,类型和内容一一对应。然后把两个数组中的内容都转换成二进制进行传递。
反序列化算法:从数据类型数组中依次获取数据类型信息,按照数据类型得到该类型的长度,然后从数据数组中截取该长度二进制内容,转换成相应数据,拼接所有还原后的数据。
图3展示的是任务流的执行过程,任务整体为串行,内部可由单个任务,或者多个并行任务组成。并行任务在全部执行完毕后,会把所有单一任务中的结果数据进行打包,一起传递给下一任务。
图4是任务流程的添加流程图。
步骤S101:需要先实现各个任务接口,全部上传。然后在图形化页面上,把任务按需求,以从左到右的顺序(并行的为上下)排好位置,并设置好触发条件。
步骤S102:把任务的排列顺序,记录到任务执行队列服务器中。会为每个新加入任务队列的任务流程生成一个唯一标识,每个流程内部的任务会生成一个子唯一标识。任务流程整体存储是按JSON格式,单一任务直接存为JSON对象,多任务整合为一个JSON数组后,再转换成JSON对象,添加在前一个JSON对象后。
步骤S103:把各个任务序列化后,存入数据库中。序列化过程是把任务文件转换成二进制字节码。
步骤S104:把触发条件和对应的被触发任务流程的标识一一关联,存入调度服务器数据库中。
步骤S105:完成步骤S102,S103,S104后,通知调度服务器,有新任务添加。
步骤S106:调度服务器向网关发送新任务流程的描述和添加信号,网关转发,通知各个执行节点去控制中心获取相应的任务代码。
步骤S107:各个执行节点通过对应的任务标识,去控制中心下载任务二进制数据,并反序列化成文件后,存入本地***。
图5为调度流程图。
步骤S201:每隔一段时间,会从数据库中获取最近需要被执行的任务描述,可以在任务量较大的时候,避免内存溢出。任务描述会被***识别,生成对应的定时任务。
步骤S202:定时任务到指定的时间时,自动执行。
步骤S203S204:定时器执行时,会触发被绑定的任务流程,调度服务器接收到信号后会按任务描述,去流程中获取下一个步骤的任务信息(存储的JSON对象),如果本轮是多个任务并行(JSON数组),则会等待所有任务结果返回。完成后把上一任务的信息描述,一起打包发送至数据服务器,并唤醒下一个任务。依次迭代,直至任务流程结束。
图6为任务的执行流程图。
步骤S301:被调度器的执行命令唤醒,并从命令中获取前一任务的描述信息。
步骤S302:按前一任务的描述(任务流程标识和任务的标识),从数据服务器获取前一任务的结果和日志。
步骤S303:完成任务后,把生成的数据打包并附上标识,发送到数据服务器,通知调度服务器,本次任务结束。
图7是归档模块的执行流程图。
步骤S401:调度器在完成一个流程的任务后,会通知归档服务来收集日志。
步骤S402:归档服务会从调度,任务队列,数据等服务器中获取相应任务流程的执行日志。
步骤S403:归档服务会把收集来的日志,按设定进行格式化。
步骤S404:把整合后的日志,存入日志服务器中。
项目在执行时,用户可以在控制中心的图形化页面上,直观查看各任务的部署情况和执行的任务情况。平时还有不同时间段内各任务执行情况的统计等。
在实际的生产环节中,各个节点不会都是独立启动,独立结束的。许多程序的运行条件,是需要其他各个节点进行配合的。而各个节点可能分布在不同的地区,需要把多个节点的运行结果人工整合后,输入到下一个节点,这个工作量是不可想象的。上述实例,可以把地理上的距离透明化,操作员只需要设置好各节点的启动关系和数据流转方向,***会自动调度。
Claims (5)
1.一种节点间数据可传递的分布式调度***,其特征包括:
任务模块分为,从前一任务获取信息方法,本次需要执行的任务,本次任务结束后,打包需要传递信息的方法。
2.任务流程是按存储的JSON数据结构规定,单一任务存储为JSON对象,多任务合并成JSON数组后,再转换成JSON对象存入前一个JSON对象后。
3.每个任务流程的调度规则是按权利要求2中,任务流程存储的JSON结构来进行的。解析JSON,依次执行里边每一个JSON对象(每个JSON对象就是对一个任务的描述),如果是JSON数组,则会执行内部所有JSON对象所描述的任务,直至所有任务都返回结果后,继续执行下一个JSON对象,直至结束。
4.每个任务在启动前,都会收到调度器的启动命令,命令中包含了前一任务的描述。本次任务会依照描述,从数据服务器下载对应数据的二进制内容,按指定算法反序列化后执行本次任务。任务结束,把本次需要传递的信息,按同一算法进行序列化,然后上传至数据服务器。完成所有操作后,通知调度服务器,本次任务结束。
5.任务流程在执行时,控制中心可以获取到调度服务器中本次任务流程被执行的进度,数据服务器中每个任务提交的日志信息,经过图形化渲染后,直观的展示给控制者。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810070677.0A CN110035103A (zh) | 2018-01-12 | 2018-01-12 | 一种节点间数据可传递的分布式调度*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810070677.0A CN110035103A (zh) | 2018-01-12 | 2018-01-12 | 一种节点间数据可传递的分布式调度*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110035103A true CN110035103A (zh) | 2019-07-19 |
Family
ID=67234541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810070677.0A Pending CN110035103A (zh) | 2018-01-12 | 2018-01-12 | 一种节点间数据可传递的分布式调度*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110035103A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399415A (zh) * | 2019-07-23 | 2019-11-01 | 江苏鼎速网络科技有限公司 | 一种数据反序列化装置及计算终端 |
CN112825031A (zh) * | 2019-11-21 | 2021-05-21 | 中盈优创资讯科技有限公司 | 基于json格式的流程描述方法及装置 |
CN117610325A (zh) * | 2024-01-24 | 2024-02-27 | 中国人民解放军国防科技大学 | 基于分布式的优化设计节点调度方法、***和设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102949A (zh) * | 2014-06-27 | 2014-10-15 | 北京奇艺世纪科技有限公司 | 一种分布式工作流装置及其处理工作流的方法 |
CN104360903A (zh) * | 2014-11-18 | 2015-02-18 | 北京美琦华悦通讯科技有限公司 | Spark作业调度***中实现任务数据解耦的方法 |
CN104462370A (zh) * | 2014-12-09 | 2015-03-25 | 北京百度网讯科技有限公司 | 分布式任务调度***及方法 |
CN104954453A (zh) * | 2015-06-02 | 2015-09-30 | 浙江工业大学 | 基于云计算的数据挖掘rest服务平台 |
US20160048408A1 (en) * | 2014-08-13 | 2016-02-18 | OneCloud Labs, Inc. | Replication of virtualized infrastructure within distributed computing environments |
CN105871603A (zh) * | 2016-03-29 | 2016-08-17 | 中国科学院软件研究所 | 一种基于内存数据网格的实时流式数据处理失效恢复***及方法 |
CN107451211A (zh) * | 2017-07-13 | 2017-12-08 | 广东技术师范学院 | 一种基于RabbitMQ和MongoDB的下载*** |
-
2018
- 2018-01-12 CN CN201810070677.0A patent/CN110035103A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102949A (zh) * | 2014-06-27 | 2014-10-15 | 北京奇艺世纪科技有限公司 | 一种分布式工作流装置及其处理工作流的方法 |
US20160048408A1 (en) * | 2014-08-13 | 2016-02-18 | OneCloud Labs, Inc. | Replication of virtualized infrastructure within distributed computing environments |
CN104360903A (zh) * | 2014-11-18 | 2015-02-18 | 北京美琦华悦通讯科技有限公司 | Spark作业调度***中实现任务数据解耦的方法 |
CN104462370A (zh) * | 2014-12-09 | 2015-03-25 | 北京百度网讯科技有限公司 | 分布式任务调度***及方法 |
CN104954453A (zh) * | 2015-06-02 | 2015-09-30 | 浙江工业大学 | 基于云计算的数据挖掘rest服务平台 |
CN105871603A (zh) * | 2016-03-29 | 2016-08-17 | 中国科学院软件研究所 | 一种基于内存数据网格的实时流式数据处理失效恢复***及方法 |
CN107451211A (zh) * | 2017-07-13 | 2017-12-08 | 广东技术师范学院 | 一种基于RabbitMQ和MongoDB的下载*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399415A (zh) * | 2019-07-23 | 2019-11-01 | 江苏鼎速网络科技有限公司 | 一种数据反序列化装置及计算终端 |
CN112825031A (zh) * | 2019-11-21 | 2021-05-21 | 中盈优创资讯科技有限公司 | 基于json格式的流程描述方法及装置 |
CN112825031B (zh) * | 2019-11-21 | 2024-03-12 | 中盈优创资讯科技有限公司 | 基于json格式的流程描述方法及装置 |
CN117610325A (zh) * | 2024-01-24 | 2024-02-27 | 中国人民解放军国防科技大学 | 基于分布式的优化设计节点调度方法、***和设备 |
CN117610325B (zh) * | 2024-01-24 | 2024-04-05 | 中国人民解放军国防科技大学 | 基于分布式的优化设计节点调度方法、***和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2487388C2 (ru) | Исполнительный механизм для систем hvac и способ его функционирования | |
CN104541247B (zh) | 用于调整云计算***的***和方法 | |
CN110069572A (zh) | 基于大数据平台的hive任务调度方法、装置、设备及存储介质 | |
CN110035103A (zh) | 一种节点间数据可传递的分布式调度*** | |
Neumann et al. | Activity-on-node networks with minimal and maximal time lags and their application to make-to-order production | |
JP7179086B2 (ja) | 半導体後端工場をスケジューリングするための方法 | |
CN103645909A (zh) | 定时任务的处理方法及装置 | |
CN106313038B (zh) | 一种实时控制调试***及调试方法 | |
CN110334126A (zh) | 基于Spring MVC的定时任务处理方法、装置和计算机设备 | |
CN110442651A (zh) | 一种基于kettle实现excel数据自动上传并触发调度的方法 | |
JP2021012405A (ja) | 制御システム、設定装置およびコンピュータプログラム | |
CN114637511A (zh) | 代码测试***、方法、装置、电子设备及可读存储介质 | |
CN113364515A (zh) | 基于Xstate的卫星遥控方法、装置、设备和存储介质 | |
CN116911588A (zh) | 业务流程执行方法、装置、设备及存储介质 | |
CN114924858A (zh) | 任务调度方法及装置、存储介质及电子设备 | |
CN104603700A (zh) | 用于设计分布控制***的方法及其设计工具 | |
Wang et al. | Embedding machining features in function blocks for distributed process planning | |
CN113687927A (zh) | Flume任务调度配置方法、装置、设备及存储介质 | |
Sun et al. | A model-driven approach to support engineering changes in industrial robotics software | |
JP2005141435A (ja) | ツール | |
Wang et al. | Function block design for adaptive execution control of job shop machining operations | |
US9507341B2 (en) | Sibling lot processing | |
Ollinger et al. | An integrated engineering concept for the model-based development of service-oriented control procedures | |
CN102866924B (zh) | 内容整合引擎调度方法及装置 | |
CN110928525A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190719 |