掘金 阅读 ( ) • 2024-04-19 17:18

file

项目背景

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

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

file file

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

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

痛点与挑战

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

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

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

项目需求

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

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

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

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

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

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

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

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

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

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

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

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

WhaleScheduler解决方案

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

01 无中心化架构设计

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

02 分布式部署

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

file

集群部署架构图

03 多种任务类型

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

04 全模式DAG开发能力

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

05 强大的任务执行功能

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

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

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

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

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

08 多样化的日历功能

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

file file

09 任务级血缘分析

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

10 数据质量检测

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

11 用户角色菜单权限管控

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

12 高可伸缩性支持

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

13 任务维护人员配置

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

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

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

白鲸开源

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

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