Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >分布式批量任务调度、自动化运维管理监控平台Taskctl

分布式批量任务调度、自动化运维管理监控平台Taskctl

原创
作者头像
TASKCTL 任务调度平台
修改于 2021-01-11 09:45:38
修改于 2021-01-11 09:45:38
2.4K3
举报

前言 随着企业拥抱数字化程度的提高,数据是企业的发展关键。数据的需求来源于业务也服务于业务,数据的挖掘、探索、分析、个性化推荐、报表等等都依托于数据的输送、转换和写入。数据的调度就是作业的调度。批量作业调度是金融行业信息后台最为重要的技术形态。

金融行业每天会进行交易相关的结算、清算、结息、对账等生产活动。这些活动都是通过一个个相互耦合的作业来实现的。因此需要一个作业调度平台来管理这些大量的作业。

随着金融行业新系统建设以及旧系统的更新、扩展,运维部门接手运维的应用系统越来越多,每天凌晨有数十个系统需要执行日切任务,近百万的批量作业需要执行,工作量非常繁重,如果有任务出错,很难及时排除故障,导致工作效率很低,影响数据的准确性和及时性。而开源软件、系统自带任务计划、传统批量调度工具逐渐无法满足业务对批量作业调度的需求。企业需要功能更强、性能更佳的国产化产品。

批量调度现状及诉求

目前,由于金融行业内部缺乏一款专业批量产品支撑,缺乏一定的批量调度规范与标准,企业内部几十上百个系统的批量作业调度混乱,难以管理。

调度原始落后

时至今日仍然有一些系统使用人工调度或操作系统的Crontab方式调度实现作业运行的自动化。这种方式容易引起依赖关系错误对业务构成威胁,当上游作业结束时间晚于下游作业,则会影响到作业执行的及时性和准确性。耗费人力、 容易出错、难以监控已成为这类系统的致命性问题。

使用开源软件

调度系统使用开源软件,没有免费的技术支持、学习成本高、维护费用高、安全性低、bug修复不及时、生命周期不确定。

调度自主研发

调度系统伴随项目自主研发,研发成本高、成熟度低、维护成本高、严谨性和稳定性难以保证,需求扩展性差。

作业规模变大

随着金融行业分布式新核心以及大数据平台的建设,批量处理作业规模越来越大,相对应的调度场景更加多样,系统调度逻辑也会更加复杂,系统开发人员很大一部分精力花费在了调度逻辑的控制,而非业务处理本身。另外,随着作业规模的增长,对调度性能和稳定性、扩展性提出了更高要求,一些现有系统 已经逐渐不能满足要求。

系统越来越多带来管理和运维困难

企业系统越来越多,不同系统,技术要求不同,批处理作业管理越来越复杂。一个技术人员很难同时熟悉多个系统,导致需要大量的技术人员分别管理和运维。夜间值班人员同时开着十几个甚至更多监控屏幕也成为常态和痛点。这些问题显然也同时导致了运维投入的不断增加。

批量调度平台解决方案

产品介绍

Taskctl 批量调度平台是专业的批量作业自动化调度与监控解决方案,它能有效地规范整合、高效管理企业业务系统的批量作业,达到全企业批量作业有序、高效运行的目的,极大降低运维成本,助力企业数字化转型。

软件下载&授权

《10万级etl作业批量调度工具Taskctl之轻量级Web应用版》

产品定位

批量调度平台解决方案定位:金融日切等生产运营活动的最终实现平台。

主要面向银行、证券、保险等金融行业,对所有应用系统(包括业务系统、渠道系统、管理系统及数据跨平台作业调度)进行总体的、统一的调度和监控。

产品特性

跨平台作业调度

支持作业跨业务系统、跨操作系统、跨网络区域的统一调度管理。

海量高效

基于事件的实时调度机制,能够支撑海量作业。

强大的调度引擎

支持各种编排调度场景(时间依赖、文件依赖、人工复核依赖等),提供丰富的人工干预能力(挂起、恢复、取消、终止等)。

多维度监控

提供业务系统、作业流、作业等多个维度进行监控。

可视化编排

提供可视化拖拽式流程编排,支持流程节点自动排版。

强大的扩展性

支持横向水平扩展、支持纵向能力扩展。

访问方便

B/S架构,用户可直接通过浏览器访问。

产品架构图

产品核心功能

Taskctl 批量调度平台,提供了非常强大的调度核心。具体功能。如下图所示:

【串行调度】

串行调度,即作业的执行按照设定好的顺序,依次执行,当前一个作业执行完成后,后一个作业才能开始执行,作业串行调度往往是因为后面的作业运行需要使用到前一个作业的执行的结果。

【并行调度】

并行调度,互相之间没有依赖关系,即多个作业同时执行。

【条件分支】

作业执行到分支节点,需根据前一个作业的执行结果,判断后续执行分支A还是分支B。

前置命令检测

作业执行前,会检测该命令执行是否成功。

人工复核

执行到设置了人工复核的作业时,作业的状态变为待复核,用户需对作业进行复核的操作,才能继续执行。

挂起

将等待状态的作业暂停,不会继续后面的执行。

恢复

将挂起状态的作业恢复执行。

取消

将作业状态置为取消,依赖于此作业的其他作业将继续往下执行。

终止

终止后不会继续后面的执行,并且无法恢复。会强制终止此作业。

重新执行

复制一份该作业,并放入原作业流中。如果新的作业成功,那么对作业流就是成功了。

释放依赖

释放此作业的被依赖关系(包括时间依赖),作业立即执行。

强制成功

针对错误、失败状态的作业,强制设为成功。

客户价值

批量调度平台的建设,为企业带来的价值体现在以下几个方面:

For业务人员:

企业内部几十上百个系统相关批量作业采用了各种各样的调度方式,使得调度混乱,极易出错。批量调度平台的建设,可帮助业务人员规范、整合各个业务系统的批量作业,为业务人员提供一个专业的、统一的、规范化的技术平台,减少项目实施的工作量,提升各个应用系统的实施效率。

For运维人员:

Taskctl 批量调度平台,可为企业提供专业统一的批量作业调度技术平台,将企业的批量作业集中在统一的调度平台,进行统一展示、统一监控并提供统一的人工干预窗口,大幅提高企业运维管理效率,降低运营成本,减少运维管理风险。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
3 条评论
热度
最新
https://ivonblog.com/posts/stable-diffusion-webui-manuals/zh-cn/features/inpaint-outpaint/
https://ivonblog.com/posts/stable-diffusion-webui-manuals/zh-cn/features/inpaint-outpaint/
回复回复点赞举报
Stable Diffusion|解开Clip Skip值的秘密 https://zhuanlan.zhihu.com/p/630875053
Stable Diffusion|解开Clip Skip值的秘密 https://zhuanlan.zhihu.com/p/630875053
回复回复点赞举报
最新!Stable Diffusion Controlnet Tile 模型详解 https://baijiahao.baidu.com/s?id=1764736327465499679
最新!Stable Diffusion Controlnet Tile 模型详解 https://baijiahao.baidu.com/s?id=1764736327465499679
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Rust 1.41.0 发布更新要点
Rust 1.41.0 于美国时间 2020年1月30日 发布。来看看主要有哪些改进。
MikeLoveRust
2020/02/20
5880
【Rust笔记】浅聊 Rust 程序内存布局
内存布局看似是底层和距离应用程序开发比较遥远的概念集合,但其对前端应用的功能实现颇具现实意义。从WASM业务模块至Nodejs N-API插件,无处不涉及到FFI跨语言互操作。甚至,做个文本数据的字符集转换也得FFI调用操作系统链接库libiconv,因为这意味着更小的.exe/.node发布文件。而C ABI与内存布局正是跨(计算机)语言数据结构的基础。
MikeLoveRust
2023/10/18
6680
【Rust笔记】浅聊 Rust 程序内存布局
【Rust 研学】Rust Nation UK 2024 | Rust ABI 稳定之路
本系列为我学习 Rust Nation UK 2024 大会的笔记,不会是所有演讲,只拣一些我感兴趣的内容。本文原视频回放在 The path to a stable ABI for Rust[1] ,演讲者为 Rust 官方团队成员也是当前库团队共同 Leader Amanieu D'Antras,也是 parking_lot 库的作者。
张汉东
2024/04/22
5460
【Rust 研学】Rust Nation UK 2024 | Rust ABI 稳定之路
【Rust日报】2019-11-11 - 关于Rust中的类型布局和ABI的注意事项
3.4.1 Problem and Motivation for Calling Conventions
MikeLoveRust
2019/11/13
6400
【Rust日报】2019-11-11 - 关于Rust中的类型布局和ABI的注意事项
Rust FFI 编程 - Rust 语言层面对 FFI 的支持
Rust 语言对 FFI 有比较完善的支持。本节主要讲在基础设施层面,Rust 语言对 FFI 的支持。
MikeLoveRust
2020/04/20
3.3K0
【连载】两百行Rust代码解析绿色线程原理(二)一个能跑通的例子
首先,让我们在名为 green_threads 的文件夹中启动一个新项目。命令行执行:
MikeLoveRust
2020/02/12
8430
Rust FFI 编程 - Rust导出共享库03
我们已经了解了,Rust语言是多泛式(混合泛式)的语言,它可以做命令式(过程式)编程,也可以做面向对象编程,也可以做函数式编程。把Rust简单地归类为某种泛式的编程语言,都不太合适。Rust就是Rust。
MikeLoveRust
2020/08/04
8590
透过 Rust 探索系统的本原:泛型
在 Fundamentals of Generic Programming[1] 里,Alexander Stepanov(泛型概念的创立者)用一段优雅的文字描绘了计算机技术不断泛化(generalized)的历史:
tyrchen
2021/05/11
1.2K0
透过 Rust 探索系统的本原:泛型
【Rust 基础篇】Rust FFI:连接Rust与其他编程语言的桥梁
Rust是一种以安全性和高效性著称的系统级编程语言,具有出色的性能和内存安全特性。然而,在现实世界中,我们很少有项目是完全用一种编程语言编写的。通常,我们需要在项目中使用多种编程语言,特别是在与现有代码库或底层系统交互时。为了实现跨语言的互操作性,Rust提供了"FFI(Foreign Function Interface)",允许Rust代码与其他编程语言进行交互。本篇博客将深入探讨Rust FFI,包括FFI的定义、使用场景、使用方法以及注意事项,以便读者了解如何在Rust中使用FFI与其他编程语言进行无缝集成。
繁依Fanyi
2023/10/12
1.2K0
听GPT 讲Rust源代码--compiler(15)
在Rust源代码中,rustc_arena/src/lib.rs文件定义了TypedArena,ArenaChunk,DroplessArena和Arena结构体,以及一些与内存分配和容器操作相关的函数。
fliter
2024/03/18
1870
听GPT 讲Rust源代码--compiler(15)
Rust FFI 编程 - 手动绑定 C 库入门 02
本篇是《手动绑定 C 库入门》的第二篇。了解第一篇后,我们知道在调用 C 库时,需要重新在 Rust 中对该 C 库中的数据类型和函数签名进行封装。这篇我们将实践涉及到诸如数组,结构体等类型时,如何进行手动绑定。
MikeLoveRust
2020/05/24
1.3K0
听GPT 讲Rust源代码--src/tools(21)
在Rust的源代码中,rust/src/tools/miri/src/shims/x86/mod.rs文件的作用是为对x86平台的处理提供支持。它包含一些用于模拟硬件操作的shim函数和相关的类型定义。
fliter
2024/01/09
1810
“C不再是一种编程语言”
本文标题里的观点很“刺激”,它来自国外一位 Swift 和 Rust 专家 Aria Beingessner,他近日撰写了一篇文章《C 不再是一种编程语言》,在技术社区引起了热议。
开发者技术前线
2022/04/08
6900
“C不再是一种编程语言”
【Rust 日报】2021-11-11 保持冷静,学习Rust,我们很快就会在Linux中更多的看到这种语言
事实证明,这两个字符串并没有太大区别。 str只是一个由[u8]字节片支持的字符串。同样地,String只是一个由Vec<u8>支持的字符串。
MikeLoveRust
2021/11/15
6100
【Rust 日报】2021-11-11 保持冷静,学习Rust,我们很快就会在Linux中更多的看到这种语言
【Rust日报】2024-05-06 WebAssembly 基础
在讨论如何在Rust中加载共享库时,作者展示了如何使用libloading库中的Library和Symbol数据结构来实现。也讨论了在跨FFI边界时确保类型安全以及Rust的ABI不稳定性的问题,并介绍了使用abi_stable库来解决它。
MikeLoveRust
2024/05/10
1740
【Rust日报】2024-05-06 WebAssembly 基础
Rust项目中的Labels
按照issue数量从多到少排序: https://github.com/rust-lang/rust/labels?page=2&sort=count-desc,仅列出前几页
fliter
2024/02/26
1680
Rust项目中的Labels
Rust 欧洲之声|Rust 和 Cpp 互操作
Slint[1] 曾经的名字叫 SixtyFPS ,是 QtQml 引擎核心开发者和维护者出来创业的项目。Slint 可以有效地为任何显示器开发流畅的图形用户界面:嵌入式设备和桌面应用程序。我们支持多种编程语言,例如 Rust、C++ 和 JavaScript。Slint 也许是 Qt 的替代品。
张汉东
2022/12/08
3.7K0
【Rust日报】2020-07-17 无船同志新博客:Shipping Const Generics in 2020
1) 修复了浮点数往小整数转换的时候会导致Undefined behavior的问题(这是在未使用unsafe的时候导致的UB,官方团队称这种为unsound bug)
MikeLoveRust
2020/07/21
3270
Rust漫画 #3 | 二次元 Rust Meetup 讨论会:Rewrite it in Rust 是否有害?
你好啊,作为一名程序员,参加线下的 Meetup 技术交流会也许是你唯一的社交活动。无论是线上还是线下,请都不要错过。今天,也许是你参加的第一次二次元 Rust Meetup 。
张汉东
2023/10/25
7910
Rust漫画 #3 |  二次元 Rust Meetup 讨论会:Rewrite it in Rust 是否有害?
【2023 Week-1】Rust视界周刊 | 用 Rust 和 C++ 代码编译时间同样糟糕吗?
interoperable_abi[1] 意味着提供一个新的 Rust ABI extern "interop" 和 repr(interop) ,用于实现有安全数据 类型的高级编程语言之间的互操作性。
张汉东
2023/03/06
1.1K0
【2023 Week-1】Rust视界周刊   | 用 Rust 和 C++ 代码编译时间同样糟糕吗?
推荐阅读
相关推荐
Rust 1.41.0 发布更新要点
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档