CN110035103A - 一种节点间数据可传递的分布式调度*** - Google Patents

一种节点间数据可传递的分布式调度*** Download PDF

Info

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
Application number
CN201810070677.0A
Other languages
English (en)
Inventor
李灵焱
黄晁
王磊
卓琳
方浩杰
龚迪军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo Institute Of Information Technology Application Cas
Ningbo Zhongke Integrated Circuit Design Center Co ltd
Original Assignee
Ningbo Institute Of Information Technology Application Cas
Ningbo Zhongke Integrated Circuit Design Center Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ningbo Institute Of Information Technology Application Cas, Ningbo Zhongke Integrated Circuit Design Center Co ltd filed Critical Ningbo Institute Of Information Technology Application Cas
Priority to CN201810070677.0A priority Critical patent/CN110035103A/zh
Publication of CN110035103A publication Critical patent/CN110035103A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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.任务流程在执行时,控制中心可以获取到调度服务器中本次任务流程被执行的进度,数据服务器中每个任务提交的日志信息,经过图形化渲染后,直观的展示给控制者。
CN201810070677.0A 2018-01-12 2018-01-12 一种节点间数据可传递的分布式调度*** Pending CN110035103A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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的下载***

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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