项目背景

数字金融是数字经济的重要支撑和驱动力。近年来,我国针对数字金融的发展政策频频出台,《金融科技发展规划 (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. spring mvc统一处理接口返回值,aop切面实现,将请求的入参和出参存储在数据库中,切面内重新抛出异常

    spring mvc统一处理接口返回值,aop切面实现,将请求的入参和出参存储在数据库中 aop类实现Aspect的多个方法注解中,只有Around注解的方法是有返回值的,可以对方法的入参和返回值均进 ...

  2. Java8中LocalDateTime与时间戳timestamp的互相转换及ChronoUnit工具类

    Java8中LocalDateTime与时间戳timestamp的互相转换及ChronoUnit工具类import java.time.*;import java.time.format.DateTi ...

  3. 简约博客新主题Sina上线 - 魔改新浪

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 简约博客新主题Sina上线 - 魔改新浪 日期:2018- ...

  4. 实验四:WinRAR漏洞

    [实验目的] 通过打开rar文件,获取到目标机shell. [知识点] winrar漏洞 [实验原理] 该漏洞是由于WinRAR所使用的一个陈旧的动态链接库UNACEV2.dll所造成的,该动态链接库 ...

  5. 获取ImageView的触摸点所对应的UIImage的坐标

    获取ImageView的触摸点所对应的UIImage的坐标 功能描述 实现前分析 注意事项 代码 求打赏 功能描述 在imageview上触摸图片,求对应UIImage的触摸点. 实现前分析 从ima ...

  6. Go 如何对多个网络命令空间中的端口进行监听

    Go 如何对多个网络命令空间中的端口进行监听 需求为 对多个命名空间内的端口进行监听和代理. 刚开始对 netns 的理解不够深刻,以为必须存在一个新的线程然后调用 setns(2) 切换过去,如果有 ...

  7. .NET Framework 4 请求https接口

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...

  8. python3 webssh

    简介 webssh 是 一个简单的 Web 应用程序,用作 ssh 客户端来连接到 ssh 服务器.它是用Python编写的,基于tornado.paramiko和xterm.js.下面简单搭建一个网 ...

  9. WebUi爬虫自动化测试 Selenium4.X+Java教程

    为什么要学习Selenium 自动化测试 Selenium是最受欢迎的Web应用程序自动化测试工具之一. 通过学习Selenium,可以编写自动化测试脚本,用于自动执行各种任务,例如验证功能.测试用户 ...

  10. [无线隔离]同一WIFI下两主机无法互联

    问题描述 在公司WIFI下想进行两台主机之间的数据传输,却发现虽在同一网段且防火墙关闭也无法ping通. 在一台主机下查看ARP表,发现没有对方的IP与MAC记录. 使用Wireshark抓包,发现虽 ...