项目背景

数字金融是数字经济的重要支撑和驱动力。近年来,我国针对数字金融的发展政策频频出台,《金融科技发展规划 (2022-2025年)》、《“十四五”数字经济发展规划》、《关于银行业保险业数字化转型的指导意见》、《金融标准化“十 四五”发展规划》等相继发布,顶层设计逐步完善。

2024年,政府工作报告也提出要大力发展科技金融、绿色金融、 普惠金融、养老金融、数字金融,未来数字金融是我国金融发展重点之一。



我国金融业正在步入数字化转型的关键阶段,同时在发展中面临着诸多挑战与难点,如数字基础设施建设不足、数字安全保障机制不健全等。

某国有银行地区性分行(以下简称“银行”)主动融入数字经济新浪潮,抢抓机遇、乘势而上,不断深化数字化转型升级,积极加快金融产品融合创新,但是在发展中仍面临显著困难。

痛点与挑战

具体到业务上,银行需要对总行分发的数据进行加载和转换,每日任务约 3000。随着新业务不断增加,任务总量在 1 万左右。银行的业务场景涉及到接收上游系统提供的文件数据,并将数据导入到 GreenPlum 等分析数据库中进行数据分析。此前,银行使用自研的调度系统来进行任务的调度,但随着数据量急剧增长和全新业务场景的出现,这个调度系统陈旧、性能不够的缺点暴露出来。

总的来说,银行在数据调度上面临着以下痛点问题:

  1. 前期自研系统系统灵活性较差,系统维护工作量巨大,跑批出现问题时对业务正常开展产生影响的风险较大,且对于新支持新增业务的需求,需要投入研发人员定制开发;
  2. 不支持分布式系统,扩展性能差,面对急剧增长的数据量无法快速完成扩容;
  3. 业务方涉及不同部门,对程序理解不同,使用习惯也不同,难以满足所有业务部门的使用需求;
  4. 上游文件数量多,来源广,并且到达时间不定,需要随时监控数据到达情况,并在发生异常情况时及时发出告警;
  5. 跨部门使用场景多,需要跨项目依赖和准确的影响分析查询,便于追溯完整的上下游关系;
  6. 多业务部门使用调度时,无法高效复用已有调度,并限制相关权限;
  7. 银行对于信创环境支持的需求越来越紧迫,但苦于原系统无法进行改造以支持信创操作系统、信创服务器、信创数据库等信创环境。

项目需求

银行将紧跟总行的企架各批次分行特色系统建设计划,推进信创化建设,并发挥科技赋能作用。目标是满足公司数据体系建设中数据处理任务的统一调度和监控需求,同时推动建设信创下的统一调度管理平台。

为了实现这一目标,银行将建立每日流水线任务的集中定义和集中控制机制,允许用户灵活地配置多种类型的作业任务,并统一调度和监控运维。这个统一调度管理平台需要具备高性能、高可靠性,同时易于扩展的特点,以满足银行在多样化功能上的开发需求。

最重要的是,流水线任务统一调度管理平台使银行能够全面监控和跟踪管理各数据加工节点的处理过程,帮助银行更有效地管理数据处理任务,实现对任务的全面掌控。

针对这些需求,调度系统需要满足以下要求:

  • 支持分布式的架构及资源控制等方法,实现高可靠性,高处理性能。

  • 支持多种丰富的任务类型,包括Shell、MR、Spark等。

  • 具有良好的管理接口,易于管理,达到简单易用,使得用户有流畅的产品体验。

  • 提供强大的任务执行功能,支持指定任务的运行、空跑测试功能等能力。

  • 提供参数管理和数据源的统一维护能力及日历管理能力和工作流配置管理能力。

  • 提供完善的监控和告警能力,支持工作流和任务的运行情况统计和监控、任务日志在线查看、服务器资源监控、数据质量检测和告警。

  • 提供监控和统计以及权限管理功能,支持统一的数据监控、运维服务需求等。

除此之外,调度系统还需要支持用户的个性化需求,比如通过产品的多样化结构配置,满足对接银行行内登录、权限组件、短信接口、行信接口、个性化展示页面,以及20条存量工作流迁移等工作需求。

WhaleScheduler解决方案

白鲸开源自主研发的WhaleScheduler国产信创化调度平台可支持银行在数据体系建设中不同场景的任务调度需求,满足金融行业企业级用户对系统的稳定性、可靠性、合规性、高性能、支持信创环境等要求。WhaleScheduler为银行批处理任务制定统一的开发规范、运维方法,对各系统的批量任务进行统一管理、调度和监控,符合银行不同业务应用环境的性能需求,并提供了私有化部署和开发支持。

01 无中心化架构设计

白鲸开源WhaleScheduler采用先进的无中心架构的设计思想,通过注册中心发现服务,服务之间可以互为备份,保证了系统的高可靠性的同时,也可以做到水平扩展服务数量,以保持银行业务的稳定性,很好地支持千万级别的任务数量。



WhaleScheduler 架构图

02 分布式部署

WhaleScheduler为银行提供的所有服务均采用分布式部署,支持高稳定性、高性能和高容错性,保证提供可持续使用的服务。

集群部署架构图

03 多种任务类型

WhaleScheduler支持包括Shell、MR、Spark、SQL(MySQL、PostgreSQL、Hive、SparkSQL)、Python、Sub_Process、Procedure等任务类型,同时具备跨项目依赖和补数功能。

04 全模式DAG开发能力

系统采用全“所见即所得”设计模式,用户可以通过拖拽,快速生成复杂的DAG任务工作流,而无需掌握大量代码和大数据底层知识。

05 强大的任务执行功能

支持指定任务的运行、空跑测试功能,支持日期参数的输入,支持多个前置任务状态的逻辑判断或前置任务的输出参数判断,支持SSH远程登录目标服务器并在其上执行任务等能力。

06 丰富的工作流配置管理能力

支持工作流Excel文件的导入导出、模板与实例分离、多种环境运行任务、灵活的参数定义和传参功能,以及工作流详情展示和多种运行策略。

07 监控本地/远程服务器文件

系统通过Trigger任务类型支持监控本地/远程服务器文件到达事件、数据库条件成立事件,并提供全局Dashboard,项目Dashboard,支持工作流和任务的运行情况统计和监控、任务日志在线查看、服务器资源监控,数据质量检测,以及邮件、钉钉、企业微信、HTTP、脚本等十余种告警方式,自定义告警类型也可以轻松做到。

08 多样化的日历功能

WhaleScheduler提供强大的日历管理功能,支持不同项目配置独立的日历。可视化日历配置和模板导入导出的维护方式对于银行工作人员的用户体验来说也是非常友好的,创建、编辑、删除、导入导出等操作方式一目了然。如果有需要,用户还可以按日历进行调度,也可以基于日历或翻牌任务获取日期数据。



09 任务级血缘分析

银行跨部门的使用场景需要跨项目依赖和准确的影响分析查询,这一点非常重要。对此,WhaleScheduler提供了完善的系统影响分析功能,可以分析任务级的血缘,血缘分析包括工作流、任务,工作中的子流程,以及子流程中嵌套的依赖等,让用户可以查看完整的任务上下游关系。

10 数据质量检测

银行的上游数据类型多,来源复杂,数据质量检测是重要的一环。WhaleScheduler支持数据质量检测,检测规则包括不限于空值检测、枚举值检测、表行数校验、两表值比对校验等检测规则。如果检测错误的数据条数超过阈值,需要告警出来或者工作流失败停止,用户可以设置超过阈值告警或让工作流失败。

11 用户角色菜单权限管控

支持用户操作审计,设置用户、角色、资源、权限来设计不同部门的功能权限,满足银行对安全与权限的特殊需求。

12 高可伸缩性支持

调度集群能够随任务量的增加及时增加资源,持续提供服务。

13 任务维护人员配置

系统设计有完整的用户管理体系,可以进行任务维护人员的添加、修改和删除等配置图片

同时,针对银行提出的个性化功能开发,包括对接行内登录、权限组件、短信接口、行信接口、个性化展示页面以及20条存量工作流迁移等工作和现场安装、调试等工作,白鲸开源派出项目经验丰富的团队,采用符合PMI标准的项目管理制度,以满足银行不同业务应用环境对性能的需求。

白鲸开源WhaleScheduler为银行提供了高可靠性、高性能、多场景支持、支持全站华部署运行的强大调度功能,不但可以到银行各规模、各层次的高可靠性、高安全性、可扩展性和可管理性的要求,还充分考虑到银行未来3-5年的发展需要,可适应银行不断发展的业务和管理需求。

白鲸开源

白鲸开源科技是一家由多名 Apache Software Foundation Member, Apache DolphinScheduler 和 Apache SeaTunnel 核心成员组建的公司。我们致力于打造下一代云原生 DataOps 平台,助力企业在大数据和云时代,智能化地完成海量数据的处理、调度和治理,以提高企业解决数据问题的效率,提升企业分析洞察能力和决策能力。

本文由 白鲸开源 提供发布支持!

WhaleScheduler为银行业全信创环境打造统一调度管理平台解决方案的更多相关文章

  1. F5 BIG-IQ 8.0 发布 - 借助一个统一的管理平台,管理您的所有 BIG-IP 设备和服务

    针对完整可见性和控制的 BIG-IQ 集中式管理 BIG-IP 设备和服务的端到端控制 高效管理(编排.可见性和合规性)依赖于跨本地和云部署中始终如一的应用服务和安全策略.利用独立统一的管理平台实现对 ...

  2. Kubernetes Fluentd+Elasticsearch+Kibana统一日志管理平台搭建的填坑指南

    在初步完成Kubernetes集群架构的建立后,通过搭建一些监控组件,我们已经能够实现 图形化的监控每个node,pod的状态信息和资源情况 通过scale进行replicateSet的扩展和伸缩 通 ...

  3. Vim Python3环境打造

    Vim Python3环境打造 tags: Vim Python3 参考网址:Vim与Python真乃天作之合:打造强大的Python开发环境 分割布局 sv 纵向分割 vs 横向分割 ctrl+W ...

  4. Kubernetes+Federation打造跨多云管理服务

    Kubernetes日渐普及,在公有云.私有云等多个环境中部署kubernetes集群已是常规做法,而随着环境的复杂多样和集群数量增长,如何高效地管理这些集群成为新的问题.于是跨多云管理服务应运而生. ...

  5. 基于 Clusternet 与 OCM 打造新一代开放的多集群管理平台

    背景 随着 5G.物联网设备的爆炸性增长以及智能终端不断增强的计算能力,带来了前所未有的数据量,传统的中心集中式计算捉襟见肘."新基建"战略的实施,工业互联网.车联网/自动驾驶.智 ...

  6. CODING DevOps 助力中化信息打造新一代研效平台,驱动“线上中化”新未来

    中化信息技术有限公司,简称"中化信息",是世界 500 强企业中国中化控股有限责任公司(简称"中国中化")的全资直属公司,依托于中国中化的信息化建设实践,建立起 ...

  7. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 几十套业务系统集中统一授权管理实现经验分享

    由于这几年互联网电商的快速发展,快递公司也进入了快速发展的绝好快速成长期.随着社会的强劲需求公司的业绩年年攀新高.快速发展的公司都需要有强大的IT信息系统,硬件设备基本上款到了货也可以到了,但是软件系 ...

  8. 打造实时数据集成平台——DataPipeline基于Kafka Connect的应用实践

    导读:传统ETL方案让企业难以承受数据集成之重,基于Kafka Connect构建的新型实时数据集成平台被寄予厚望. 在4月21日的Kafka Beijing Meetup第四场活动上,DataPip ...

  9. Spark 动态(统一)内存管理模型

    作者编辑:王玮,胡玉林 一.回顾 在前面的一篇文章中我们介绍了spark静态内存管理模式以及相关知识https://blog.csdn.net/anitinaj/article/details/809 ...

  10. 集群环境下,Session管理的几种手段

    集群环境下,Session管理的几种手段 1.Session复制 缺点:集群服务器间需要大量的通信进行Session复制,占用服务器和网络的大量资源. 由于所有用户的Session信息在每台服务器上都 ...

随机推荐

  1. 可以把 FolkMQ 内嵌到 SpringBoot3 项目里(可内嵌的消息中间件,纯血国产)

    之前发了<把 FolkMQ 内嵌到 SpringBoot2 项目里(比如 "诺依" 啊)>.有人说都淘态了,有什么好内嵌的...所以再发个 SpringBoot3 Fo ...

  2. Linux多网卡的bond模式原理

    Linux多网卡绑定 ​ 网卡绑定mode共有7种: bond0,bond1,bond2,bond3,bond4,bond5,bond6,bond7 常用的有三种: ​ mode=0: 平衡负载模式, ...

  3. 实验8.Vlan Hybrid实验

    # 实验8.Vlan Hybrid实验 本实验用于测试华为独有的混合式接口类型hybrid 实验组 配置交换机 对交换机sw1与sw2做具体配置 SW1 vlan ba 10 20 100 int g ...

  4. 浮点数格式:FP64, FP32, FP16, BFLOAT16, TF32之间的相互区别

    浮点数格式 (参考1,参考2) 浮点数是一种用二进制表示的实数,它由三个部分组成:sign(符号位).exponent(指数位)和fraction(小数位).不同的浮点数格式有不同的位数分配给这三个部 ...

  5. 配置h5py、netCDF4库的方法:Anaconda环境

      本文介绍基于Anaconda环境,下载并安装Python中h5py与netCDF4这两个模块的方法.   在Python语言中,h5py与netCDF4这两个模块是与遥感图像处理.地学分析等GIS ...

  6. 千万别忽视基础!十张图带你一步步理解Java内存结构!

    作为一个Java程序员,在日常的开发中,不必像C/C++程序员那样,为每一个内存的分配而操心,JVM会替我们进行自动的内存分配和回收,方便我们开发.但是一旦发生内存泄漏或者内存溢出,如果对Java内存 ...

  7. 【ClickHouse】0:clickhouse学习3之时间日期函数

    官方文档: https://clickhouse.tech/docs/zh/sql-reference/functions/date-time-functions/ 常用的clickhouse时间函数 ...

  8. 阿里面试:说说@Async实现原理?

    @Async 是 Spring 3.0 提供的一个注解,用于标识某类(下的公共方法)或某方法会执行异步调用. 接下来,我们来看下 @Async 的基本使用和实现原理. 1.基本使用 @Async 基本 ...

  9. Windows安装OnlyOfiice教程

    1.OnlyOffice介绍 OnlyOffice 是一个在线创建.编辑和协作文档的服务. 2.Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移 ...

  10. 谈谈你对MVVM开发模式和MVT的理解?

    MVVM分为Model.View.ViewModel三者. Model 代表数据模型,数据和业务逻辑都在Model层中定义: View 代表UI视图,负责数据的展示: ViewModel 负责监听 M ...