前言 随着企业拥抱数字化程度的提高,数据是企业的发展关键。数据的需求来源于业务也服务于业务,数据的挖掘、探索、分析、个性化推荐、报表等等都依托于数据的输送、转换和写入。数据的调度就是作业的调度。批量作业调度是金融行业信息后台最为重要的技术形态。
金融行业每天会进行交易相关的结算、清算、结息、对账等生产活动。这些活动都是通过一个个相互耦合的作业来实现的。因此需要一个作业调度平台来管理这些大量的作业。
随着金融行业新系统建设以及旧系统的更新、扩展,运维部门接手运维的应用系统越来越多,每天凌晨有数十个系统需要执行日切任务,近百万的批量作业需要执行,工作量非常繁重,如果有任务出错,很难及时排除故障,导致工作效率很低,影响数据的准确性和及时性。而开源软件、系统自带任务计划、传统批量调度工具逐渐无法满足业务对批量作业调度的需求。企业需要功能更强、性能更佳的国产化产品。
目前,由于金融行业内部缺乏一款专业批量产品支撑,缺乏一定的批量调度规范与标准,企业内部几十上百个系统的批量作业调度混乱,难以管理。
时至今日仍然有一些系统使用人工调度或操作系统的Crontab方式调度实现作业运行的自动化。这种方式容易引起依赖关系错误对业务构成威胁,当上游作业结束时间晚于下游作业,则会影响到作业执行的及时性和准确性。耗费人力、 容易出错、难以监控已成为这类系统的致命性问题。
调度系统使用开源软件,没有免费的技术支持、学习成本高、维护费用高、安全性低、bug修复不及时、生命周期不确定。
调度系统伴随项目自主研发,研发成本高、成熟度低、维护成本高、严谨性和稳定性难以保证,需求扩展性差。
随着金融行业分布式新核心以及大数据平台的建设,批量处理作业规模越来越大,相对应的调度场景更加多样,系统调度逻辑也会更加复杂,系统开发人员很大一部分精力花费在了调度逻辑的控制,而非业务处理本身。另外,随着作业规模的增长,对调度性能和稳定性、扩展性提出了更高要求,一些现有系统 已经逐渐不能满足要求。
企业系统越来越多,不同系统,技术要求不同,批处理作业管理越来越复杂。一个技术人员很难同时熟悉多个系统,导致需要大量的技术人员分别管理和运维。夜间值班人员同时开着十几个甚至更多监控屏幕也成为常态和痛点。这些问题显然也同时导致了运维投入的不断增加。
Taskctl 批量调度平台是专业的批量作业自动化调度与监控解决方案,它能有效地规范整合、高效管理企业业务系统的批量作业,达到全企业批量作业有序、高效运行的目的,极大降低运维成本,助力企业数字化转型。
软件下载&授权
《10万级etl作业批量调度工具Taskctl之轻量级Web应用版》
批量调度平台解决方案定位:金融日切等生产运营活动的最终实现平台。
主要面向银行、证券、保险等金融行业,对所有应用系统(包括业务系统、渠道系统、管理系统及数据跨平台作业调度)进行总体的、统一的调度和监控。
支持作业跨业务系统、跨操作系统、跨网络区域的统一调度管理。
基于事件的实时调度机制,能够支撑海量作业。
支持各种编排调度场景(时间依赖、文件依赖、人工复核依赖等),提供丰富的人工干预能力(挂起、恢复、取消、终止等)。
提供业务系统、作业流、作业等多个维度进行监控。
提供可视化拖拽式流程编排,支持流程节点自动排版。
支持横向水平扩展、支持纵向能力扩展。
B/S架构,用户可直接通过浏览器访问。
产品核心功能
Taskctl 批量调度平台,提供了非常强大的调度核心。具体功能。如下图所示:
【串行调度】
串行调度,即作业的执行按照设定好的顺序,依次执行,当前一个作业执行完成后,后一个作业才能开始执行,作业串行调度往往是因为后面的作业运行需要使用到前一个作业的执行的结果。
【并行调度】
并行调度,互相之间没有依赖关系,即多个作业同时执行。
【条件分支】
作业执行到分支节点,需根据前一个作业的执行结果,判断后续执行分支A还是分支B。
【前置命令检测】
作业执行前,会检测该命令执行是否成功。
【人工复核】
执行到设置了人工复核的作业时,作业的状态变为待复核,用户需对作业进行复核的操作,才能继续执行。
【挂起】
将等待状态的作业暂停,不会继续后面的执行。
【恢复】
将挂起状态的作业恢复执行。
【取消】
将作业状态置为取消,依赖于此作业的其他作业将继续往下执行。
【终止】
终止后不会继续后面的执行,并且无法恢复。会强制终止此作业。
【重新执行】
复制一份该作业,并放入原作业流中。如果新的作业成功,那么对作业流就是成功了。
【释放依赖】
释放此作业的被依赖关系(包括时间依赖),作业立即执行。
【强制成功】
针对错误、失败状态的作业,强制设为成功。
客户价值
批量调度平台的建设,为企业带来的价值体现在以下几个方面:
For业务人员:
企业内部几十上百个系统相关批量作业采用了各种各样的调度方式,使得调度混乱,极易出错。批量调度平台的建设,可帮助业务人员规范、整合各个业务系统的批量作业,为业务人员提供一个专业的、统一的、规范化的技术平台,减少项目实施的工作量,提升各个应用系统的实施效率。
For运维人员:
Taskctl 批量调度平台,可为企业提供专业统一的批量作业调度技术平台,将企业的批量作业集中在统一的调度平台,进行统一展示、统一监控并提供统一的人工干预窗口,大幅提高企业运维管理效率,降低运营成本,减少运维管理风险。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。