CN107621978A - 一种并行计算环境下的高可用任务处理控制模型 - Google Patents
一种并行计算环境下的高可用任务处理控制模型 Download PDFInfo
- Publication number
- CN107621978A CN107621978A CN201710907672.4A CN201710907672A CN107621978A CN 107621978 A CN107621978 A CN 107621978A CN 201710907672 A CN201710907672 A CN 201710907672A CN 107621978 A CN107621978 A CN 107621978A
- Authority
- CN
- China
- Prior art keywords
- processing
- task
- thread
- storage
- high availabitity
- 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
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明提供一种并行计算环境下的高可用任务处理控制模型,属于任务处理技术领域,本发明本模型主要包括:处理任务管理、处理控制集群、处理线程、健康检查、分布式共享存储五个组件。针对并行计算环境下实现具有高可用特性的任务处理的问题,利用多线程技术设计了一种新的高可用任务处理控制模型,利用该模型可实现在多节点并行计算环境下对任务处理的控制,并实现高可用支持。
Description
技术领域
本发明涉及任务处理技术,尤其涉及一种并行计算环境下的高可用任务处理控制模型。
背景技术
近年来,随着大规模计算需求的不断增加,并行计算已经被越来越多的组织和机构采用。并行计算可以在成本可控的前提下很好的解决需要进行大规模复杂运算的问题,但是由于并行任务分布在多个计算节点上执行,并且并行控制逻辑复杂,如何实现分布式并行任务处理的高可用是一个亟待解决的问题。
发明内容
为了解决以上技术问题,本发明提出了一种并行计算环境下的高可用任务处理控制模型。针对并行计算环境下实现具有高可用特性的任务处理的问题,利用多线程技术设计了一种新的高可用任务处理控制模型,利用该模型可实现在多节点并行计算环境下对任务处理的控制,并实现高可用支持。
本模型主要包括:处理任务管理、处理控制集群、处理线程、健康检查、分布式共享存储五个组件;处理任务管理负责并行处理任务的创建及修改,处理任务中记录了并行处理任务的执行计划、资源范围、处理任务脚本等信息。处理控制集群根据处理任务配置及健康检查信息,负责任务处理线程的分发、调度、休眠、唤醒及重建等操作并实现处理任务的高可用控制。处理线程负责任务的实际执行并将任务处理结果和线程心跳信息存入分布式共享存储。健康检查负责对处理线程的健康状态进行收集和监控,通过心跳等数据对处理线程的执行情况进行评估,及时发现出现异常的处理线程并进行警告,同时健康检查收集计算节点的状态、性能信息,对计算节点的健康状态进行评估和警告,健康检查的结果存储在共享存储中。分布式共享存储负责存储处理任务配置、处理线程心跳信息、任务处理结果等数据的存储,为其他组件提供数据存储和读取支持。
处理任务描述了并行处理任务执行所需的基础信息,主要包括:并行处理任务的执行计划、并行度、计算资源范围、调度策略、处理脚本、是否开启高可用信息;
执行计划描述了处理任务的执行时间,执行周期及间隔,执行计划采用Cron表达式进行描述;并行度描述了该处理任务可以使用的并行处理线程的数量;计算资源范围描述了并行任务可使用的计算节点的数量和范围。调度策略描述了处理任务的资源调度方案,调度策略包括:均衡调度策略、最优资源调度策略、集中调度策略等;处理脚本中注册了处理任务执行的脚本或程序包,支持多种类型的脚本或程序包:python脚本、shell脚本、Pig脚本、MapReduce程序包、Java程序包;是否开启高可用描述了该处理任务是否为有高可用要求的任务;
用户通过处理任务管理模块进行处理任务的创建、查询、修改及删除,创建的处理任务存储在分布式共享存储中。
处理控制集群根据处理任务配置及健康检查信息,负责任务处理线程的启动、分发、调度、迁移、休眠、唤醒及重建操作;
处理控制集群读取共享存储中的处理任务信息,根据处理任务中的执行计划周期性的进行处理任务的启动。根据处理任务中的并行度、计算资源范围和调度策略结合共享存储中记录的计算节点状态信息,选择计算节点,将处理任务分发到节点上,并根据处理脚本启动处理线程;
高可用处理任务执行过程中,处理控制集群会读取共享存储中的处理线程健康状态,当发现有处理线程处于异常状态时,会对该线程进行重建操作;同时,处理控制集群会读取共享存储中的计算节点健康状态,当发现某计算节点出现异常,会对该计算节点上运行的处理线程进行迁移、休眠操作,并在节点异常状态恢复之前不再向该计算节点分发处理任务,当节点状态恢复之后进行处理线程的唤醒操作,并恢复向该节点分发处理任务,实现处理任务的高可用。
处理线程是处理任务脚本在计算节点上的运行时线程;处理线程所用的脚本注册在处理任务的执行脚本中,处理线程的启动、休眠、唤醒、迁移由处理控制集群控制;
处理线程的执行受健康检查的监管,健康检查收集处理线程的执行情况,监控执行线程的心跳信息并基于这些信息进行预警。
健康检查负责对计算节点及处理线程的健康状态进行收集、监控和预警;
健康检查收集计算节点主机的cpu、内存、IO负载信息,通过预设的健康指标阈值对计算节点进行健康评估,当计算节点主机出现异常时,健康检查产生预警信息,并发送到分布式共享存储中进行存储;
健康检查收集处理线程的心跳信息和处理过程信息,使用这些信息对处理线程的执行情况进行评估,并将处理线程的状态发送到分布式共享存储;当发现处理线程出现异常时,健康检查发出处理线程异常警告,并更新共享存储中的处理线程状态为异常,处理控制集群根据线程状态对线程进行控制。
分布式共享存储主要是为各组件提供共享的数据存储,包括:块存储、文件存储、对象存储;
分布式共享存储负责存储任务管理所需的任务信息、执行计划,健康检查产生的节点健康状态、处理线程健康状态信息也存储在分布式共享存储中;
任务处理线程从共享存储中获取处理输入数据,并将处理结果输出到共享存储中。
本发明的有益效果是
本发明解决了并行计算环境下高可用特性的任务处理的控制问题,利用多线程技术设计了一种新的高可用任务处理控制模型,利用该模型可实现在多节点并行计算环境下对任务处理的控制,并实现高可用支持。
附图说明
图1是本发明的工作示意图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
本发明的一种并行计算环境下的高可用任务处理控制模型,由以下五个主要组件组成:
1、处理任务管理
2、处理控制集群
3、处理线程
4、健康检查
5、分布式共享存储
以下分别说明:
1、处理任务管理
处理任务管理负责并行处理任务的创建、查询、修改及删除。
处理任务描述了并行处理任务执行所需的基础信息,主要包括:并行处理任务的执行计划、并行度、计算资源范围、调度策略、处理脚本、是否开启高可用等信息:
执行计划描述了处理任务的执行时间,执行周期及间隔,执行计划采用Cron表达式进行描述。并行度描述了该处理任务可以使用的并行处理线程的数量。计算资源范围描述了并行任务可使用的计算节点的数量和范围。调度策略描述了处理任务的资源调度方案,调度策略包括:均衡调度策略、最优资源调度策略、集中调度策略等。处理脚本中注册了处理任务执行的脚本或程序包,支持多种类型的脚本或程序包:python脚本、shell脚本、Pig脚本、MapReduce程序包、Java程序包等。是否开启高可用描述了该处理任务是否为有高可用要求的任务。
用户可通过处理任务管理模块进行处理任务的创建、查询、修改及删除等操作。创建的处理任务存储在分布式共享存储中,
2、处理控制集群
处理控制集群根据处理任务配置及健康检查信息,负责任务处理线程的启动、分发、调度、迁移、休眠、唤醒及重建等操作。
处理控制集群读取共享存储中的处理任务信息,根据处理任务中的执行计划周期性的进行处理任务的启动。根据处理任务中的并行度、计算资源范围和调度策略等信息结合共享存储中记录的计算节点状态信息,选择合理的计算节点,将处理任务分发到节点上,并根据处理脚本启动处理线程。
高可用处理任务执行过程中,处理控制集群会读取共享存储中的处理线程健康状态,当发现有处理线程处于异常状态时,会对该线程进行重建操作,保证处理任务的高可用。同时,处理控制集群会读取共享存储中的计算节点健康状态,当发现某计算节点出现异常,如:cpu、内存使用率过高,网络流量异常、IO性能异常、心跳数据异常等,会对该计算节点上运行的处理线程进行迁移、休眠操作,并在节点异常状态恢复之前不再向该计算节点分发处理任务,当节点状态恢复之后进行处理线程的唤醒操作,并恢复向该节点分发处理任务,实现处理任务的高可用。
3、处理线程
处理线程是处理任务脚本在计算节点上的运行时线程。处理线程所用的脚本注册在处理任务的执行脚本中,处理线程的启动、休眠、唤醒、迁移由处理控制集群控制。
处理线程的执行受健康检查的监管,健康检查收集处理线程的执行情况,监控执行线程的心跳信息并基于这些信息进行预警。
处理线程所使用的处理输入数据和处理完成后的结果数据存储在分布式共享存储中。
4、健康检查
健康检查负责对计算节点及处理线程的健康状态进行收集、监控和预警。
健康检查收集计算节点主机的cpu、内存、IO负载等信息,通过预设的健康指标阈值对计算节点进行健康评估,当计算节点主机出现异常时,健康检查产生预警信息,并发送到分布式共享存储中进行存储。
健康检查收集处理线程的心跳信息和处理过程信息,使用这些信息对处理线程的执行情况进行评估,并将处理线程的状态发送到分布式共享存储;当发现处理线程出现异常时,健康检查发出处理线程异常警告,并更新共享存储中的处理线程状态为异常,处理控制集群根据线程状态对线程进行控制。
5、分布式共享存储
分布式共享存储主要是为各组件提供共享的数据存储,包括:块存储、文件存储、对象存储等数据存储类型。
分布式共享存储负责存储任务管理所需的任务信息、执行计划,健康检查产生的节点健康状态、处理线程健康状态等信息也存储在分布式共享存储中。
任务处理线程从共享存储中获取处理输入数据。并将处理结果输出到共享存储中。
Claims (6)
1.一种并行计算环境下的高可用任务处理控制模型,其特征在于,
主要由以下五个部分组成:
1)、处理任务管理
2)、处理控制集群
3)、处理线程
4)、健康检查
5)、分布式共享存储;
其中,
使用处理任务管理负责并行处理任务配置的创建、查询、修改及删除,处理任务描述了并行处理任务执行所需的基础信息;
使用处理控制集群对任务的高可用执行进行控制,处理控制集群根据处理处理任务配置及健康检查信息,负责任务处理线程的分发、调度、休眠、唤醒及重建操作;
处理线程负责任务的实际执行并将任务处理结果和线程心跳信息存入分布式共享存储;
健康检查负责对处理线程的健康状态进行收集和监控,通过心跳数据对处理线程的执行情况进行评估,及时发现出现异常的处理线程并进行警告;
分布式共享存储负责存储处理任务配置、处理线程心跳信息、任务处理结果等数据的存储,为其他组件提供数据存储和读取支持。
2.根据权利要求1所述的高可用任务处理控制模型,其特征在于,
处理任务描述了并行处理任务执行所需的基础信息,主要包括:并行处理任务的执行计划、并行度、计算资源范围、调度策略、处理脚本、是否开启高可用信息;
执行计划描述了处理任务的执行时间,执行周期及间隔,执行计划采用Cron表达式进行描述;并行度描述了该处理任务可以使用的并行处理线程的数量;计算资源范围描述了并行任务可使用的计算节点的数量和范围;调度策略描述了处理任务的资源调度方案,调度策略包括:均衡调度策略、最优资源调度策略、集中调度策略等;处理脚本中注册了处理任务执行的脚本或程序包,支持多种类型的脚本或程序包:python脚本、shell脚本、Pig脚本、MapReduce程序包、Java程序包;是否开启高可用描述了该处理任务是否为有高可用要求的任务;
用户通过处理任务管理模块进行处理任务的创建、查询、修改及删除,创建的处理任务存储在分布式共享存储中。
3.根据权利要求1所述的高可用任务处理控制模型,其特征在于,
处理控制集群根据处理任务配置及健康检查信息,负责任务处理线程的启动、分发、调度、迁移、休眠、唤醒及重建操作;
处理控制集群读取共享存储中的处理任务信息,根据处理任务中的执行计划周期性的进行处理任务的启动;根据处理任务中的并行度、计算资源范围和调度策略结合共享存储中记录的计算节点状态信息,选择计算节点,将处理任务分发到节点上,并根据处理脚本启动处理线程;
高可用处理任务执行过程中,处理控制集群会读取共享存储中的处理线程健康状态,当发现有处理线程处于异常状态时,会对该线程进行重建操作;同时,处理控制集群会读取共享存储中的计算节点健康状态,当发现某计算节点出现异常,会对该计算节点上运行的处理线程进行迁移、休眠操作,并在节点异常状态恢复之前不再向该计算节点分发处理任务,当节点状态恢复之后进行处理线程的唤醒操作,并恢复向该节点分发处理任务,实现处理任务的高可用。
4.根据权利要求1所述的高可用任务处理控制模型,其特征在于,
处理线程是处理任务脚本在计算节点上的运行时线程;处理线程所用的脚本注册在处理任务的执行脚本中,处理线程的启动、休眠、唤醒、迁移由处理控制集群控制;
处理线程的执行受健康检查的监管,健康检查收集处理线程的执行情况,监控执行线程的心跳信息并基于这些信息进行预警。
5.根据权利要求1所述的高可用任务处理控制模型,其特征在于,
健康检查负责对计算节点及处理线程的健康状态进行收集、监控和预警;
健康检查收集计算节点主机的cpu、内存、IO负载信息,通过预设的健康指标阈值对计算节点进行健康评估,当计算节点主机出现异常时,健康检查产生预警信息,并发送到分布式共享存储中进行存储;
健康检查收集处理线程的心跳信息和处理过程信息,使用这些信息对处理线程的执行情况进行评估,并将处理线程的状态发送到分布式共享存储;当发现处理线程出现异常时,健康检查发出处理线程异常警告,并更新共享存储中的处理线程状态为异常,处理控制集群根据线程状态对线程进行控制。
6.根据权利要求1所述的高可用任务处理控制模型,其特征在于,
分布式共享存储主要是为各组件提供共享的数据存储,包括:块存储、文件存储、对象存储;
分布式共享存储负责存储任务管理所需的任务信息、执行计划,健康检查产生的节点健康状态、处理线程健康状态信息也存储在分布式共享存储中;
任务处理线程从共享存储中获取处理输入数据,并将处理结果输出到共享存储中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710907672.4A CN107621978A (zh) | 2017-09-29 | 2017-09-29 | 一种并行计算环境下的高可用任务处理控制模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710907672.4A CN107621978A (zh) | 2017-09-29 | 2017-09-29 | 一种并行计算环境下的高可用任务处理控制模型 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107621978A true CN107621978A (zh) | 2018-01-23 |
Family
ID=61091463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710907672.4A Pending CN107621978A (zh) | 2017-09-29 | 2017-09-29 | 一种并行计算环境下的高可用任务处理控制模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107621978A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254838A (zh) * | 2018-08-21 | 2019-01-22 | 中邮科通信技术股份有限公司 | 一种基于JAVA BeanShell的自动化任务 |
CN109298897A (zh) * | 2018-06-29 | 2019-02-01 | 杭州数澜科技有限公司 | 一种采用资源组的任务分发的***和方法 |
CN110427398A (zh) * | 2018-04-28 | 2019-11-08 | 北京资采信息技术有限公司 | 一种基于数据挖掘与分析的模型管理工具 |
CN112181662A (zh) * | 2020-10-13 | 2021-01-05 | 深圳壹账通智能科技有限公司 | 任务调度方法、装置、电子设备及存储介质 |
CN112380023A (zh) * | 2021-01-18 | 2021-02-19 | 上海冰鉴信息科技有限公司 | 分布式模型计算控制方法及装置 |
CN113452554A (zh) * | 2021-06-18 | 2021-09-28 | 上海艾拉比智能科技有限公司 | 一种基于排队机制的在线ota差分做包***及方法 |
CN113835896A (zh) * | 2021-09-29 | 2021-12-24 | 东北大学 | 一种Gaia***中面向迭代计算的并行度动态调整方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360310A (zh) * | 2011-09-28 | 2012-02-22 | 中国电子科技集团公司第二十八研究所 | 一种分布式***环境下的多任务进程监视方法和监视*** |
CN105373428A (zh) * | 2015-12-09 | 2016-03-02 | 北京奇虎科技有限公司 | 一种任务调度方法和*** |
CN105700937A (zh) * | 2016-01-04 | 2016-06-22 | 北京百度网讯科技有限公司 | 多线程任务处理方法和装置 |
US20160350157A1 (en) * | 2015-05-29 | 2016-12-01 | Red Hat, Inc. | Dynamic thread pool management |
CN106649053A (zh) * | 2016-12-28 | 2017-05-10 | 北京奇艺世纪科技有限公司 | 一种任务运行状态信息获得方法及装置 |
-
2017
- 2017-09-29 CN CN201710907672.4A patent/CN107621978A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360310A (zh) * | 2011-09-28 | 2012-02-22 | 中国电子科技集团公司第二十八研究所 | 一种分布式***环境下的多任务进程监视方法和监视*** |
US20160350157A1 (en) * | 2015-05-29 | 2016-12-01 | Red Hat, Inc. | Dynamic thread pool management |
CN105373428A (zh) * | 2015-12-09 | 2016-03-02 | 北京奇虎科技有限公司 | 一种任务调度方法和*** |
CN105700937A (zh) * | 2016-01-04 | 2016-06-22 | 北京百度网讯科技有限公司 | 多线程任务处理方法和装置 |
CN106649053A (zh) * | 2016-12-28 | 2017-05-10 | 北京奇艺世纪科技有限公司 | 一种任务运行状态信息获得方法及装置 |
Non-Patent Citations (1)
Title |
---|
汪洋: ""Linux集群数据生成及管理工具中任务管理模块的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427398A (zh) * | 2018-04-28 | 2019-11-08 | 北京资采信息技术有限公司 | 一种基于数据挖掘与分析的模型管理工具 |
CN109298897A (zh) * | 2018-06-29 | 2019-02-01 | 杭州数澜科技有限公司 | 一种采用资源组的任务分发的***和方法 |
CN109254838A (zh) * | 2018-08-21 | 2019-01-22 | 中邮科通信技术股份有限公司 | 一种基于JAVA BeanShell的自动化任务 |
CN109254838B (zh) * | 2018-08-21 | 2021-11-23 | 中邮科通信技术股份有限公司 | 一种基于JAVA BeanShell的自动化任务 |
CN112181662A (zh) * | 2020-10-13 | 2021-01-05 | 深圳壹账通智能科技有限公司 | 任务调度方法、装置、电子设备及存储介质 |
CN112380023A (zh) * | 2021-01-18 | 2021-02-19 | 上海冰鉴信息科技有限公司 | 分布式模型计算控制方法及装置 |
CN113452554A (zh) * | 2021-06-18 | 2021-09-28 | 上海艾拉比智能科技有限公司 | 一种基于排队机制的在线ota差分做包***及方法 |
CN113835896A (zh) * | 2021-09-29 | 2021-12-24 | 东北大学 | 一种Gaia***中面向迭代计算的并行度动态调整方法 |
CN113835896B (zh) * | 2021-09-29 | 2024-03-22 | 东北大学 | 一种Gaia***中面向迭代计算的并行度动态调整方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107621978A (zh) | 一种并行计算环境下的高可用任务处理控制模型 | |
CN104317658B (zh) | 一种基于MapReduce的负载自适应任务调度方法 | |
CN103246592B (zh) | 一种监控采集***及方法 | |
WO2020181896A1 (zh) | 一种多智能体强化学习调度方法、***及电子设备 | |
CN102033536B (zh) | 一种多机器人***的调度组织协作***及方法 | |
CN105912396B (zh) | 用于动态地分配可配置计算资源的资源的技术 | |
CN105573840B (zh) | 工作流运行期的事件处理方法和装置 | |
CN104636197B (zh) | 一种数据中心虚拟机迁移调度策略的评价方法 | |
CN105094698B (zh) | 一种基于历史监测数据的磁盘容量预测方法 | |
CN107665144A (zh) | 分布式任务的均衡调度中心、方法、***和装置 | |
CN109412874A (zh) | 设备资源的配置方法、装置、服务器及存储介质 | |
CN107291550B (zh) | 一种针对迭代应用的Spark平台资源动态分配方法及*** | |
WO2011079614A1 (zh) | 一种数据采集的方法、数据采集装置及网管设备 | |
CN113886029A (zh) | 一种跨地域分布数据中心任务调度方法及*** | |
CN106959895A (zh) | 快速释放线程的资源调度方法和*** | |
CN110278257A (zh) | 一种动态化配置分布式集群节点标签的方法 | |
CN107305487A (zh) | 一种基于vmware虚拟化助手管理软件*** | |
Zhao et al. | A deep reinforcement learning approach to resource management in hybrid clouds harnessing renewable energy and task scheduling | |
CN102012891A (zh) | 计算机集群管理方法、装置和*** | |
Dino et al. | Impact of Process Execution and Physical Memory-Spaces on OS Performance | |
CN109101400A (zh) | 一种云计算数据中心整机柜服务器的监控*** | |
Pautasso et al. | Autonomic resource provisioning for software business processes | |
CN109165045A (zh) | 一种调整服务器的硬件配置的方法和装置 | |
CN102045196B (zh) | 一种Delaunay三角网并行构建方法 | |
Niu et al. | An adaptive efficiency-fairness meta-scheduler for data-intensive computing |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200520 Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park Applicant after: Tidal Cloud Information Technology Co.,Ltd. Address before: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601 Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180123 |