银行数据仓库体系实践(6)--调度系统

        调度系统是数据仓库的重要组成部分,也是每个银行或公司一个基础软件或服务,需要在全行或全公司层面进行规划,在全行层面统一调度工具和规范,由于数据类系统调度作业较多,交易类系统批量优先级高,为不互相影响可以和交易类系统独立分开,建2套调度环境。

1,调度系统常见架构

        上图是一种常见的调度架构,它分为两个部分:

       (1)调度服务器集群作为调度中心,对调度批次和作业进行创建、管理、监控,它负责所有批量作业的调度和编排;

       (2)代理(agent): 在各需要调度的服务器上需要安装一个agent,agent主要从调度中心获得指令执行服务器上作业,并将结果返回给调度中心,调度系统需要支持多种操作系统,因此agent需要兼容多种操作系统,但如果服务器上作业可以远程调用的话可以不安装agent。

       另外还有一种架构也比较常见,架构和上图一样,但是在调度集群中心建立作业后,所有的作业被分配到各agent,由agent来调度作业的执行,调度中心只负责管理和结果监控,作业的调度编排、执行由agent进行,这种架构的好处是避免了调度中心故障不会影响批量调度。但agent的资源消耗和维护工作量较大。这种架构在交易系统中使用较多,但随着目前集群和数据库的HA越来越稳定,这种架构也慢慢在减少。

2,数据类系统重点功能及批量设计

       由于调度系统较多,开源的也比较多,但是对于数据类系统的调度有一些实用的功能可以在选型或开发中重点关注,一些常见的功能如依赖、触发、多批量等就不再赘述。

(1)防重复启动

       这个主要是控制一个作业在执行市不能再次被执行,许多设计会设置互斥文件或变量来实现,但在作业各种异常(如网络中断)后,也需要有机制或功能清理互斥文件和变量,以免不能重做作业。

(2)批量重跑

       许多调度工具可以支持单个作业重跑,但是数据类系统作业关联性较大,如果主数据区作业发现正常结束但是数据异常,修复后需要重新跑依赖该作业的中间层、集市的作业。因此在任一个作业节点可以批量重跑后续作业,避免手动单个作业按顺序重跑,这个功能会对问题处理带来很大的效率提升。比如下图的作业流图中,作业B1数据错误,批量重跑时会将后续依赖B1作业的C1、C2以及后续的D1、E1作业都进行重跑。

(3)对接预警系统和ETL系统

       对接预警系统主要是指将作业异常发送的统一预警系统进行通知,对接ETL系统主要是做好加载、抽取、数据转换作业、数据质量检查作业的调度和日志监控,因为调度系统也是数据仓库一个重要组成部分。

(4)时间监控和预警

       由于关键作业没有执行完成会影响后续所有的批量作业,可能导致数据应用系统无法按时提供服务,比如数据仓库替核心系统计算久悬账户,所以经常需要对关键作业进行时间点的监控,比如3:00前作业未启动或未完成就进行一级告警。

(5)用户权限管理

       作为一个全行的基础系统,用户权限管理主要是为了各系统开法运维人员各自负责自己的批量调度。以免互相影响。

(6)配置化导入和更新

       由于ETL等作业都是可以根据作业属性和数据库表信息自动生成调度作业,因此为了方便开发,可以将作业批量信息导入到调度系统,批量创建修改作业,避免手工增加修改作业。

(7)监控可视化

       监控可视化主要是对批量作业流能清楚看到当前哪些作业已完成,执行中,待启动,也可以看到整个批量作业的依赖路径,更智能的话可以通过每天的作业执行情况,自动分析出关键路径。

        为了提高整体批量的效率,批量作业流设计优化时可以参考以下几点:

(1)作业优先级设置

       通过合理设置作业优先级,提前完成批量作业路径中的关键作业,提高整体时效。对于为交易系统以及高时效的监管报送系统的数据批量作业,需要单独分批次并设立高优先级,以确保不受其它作业影响。

       另外作业依赖必须细化到作业级别,而不是依赖整个作业流或批次完成,即精细化管理,虽然复杂些,但能很大提高整体批处理的时效。

(2)合理设置源系统作业的抽取时间

       由于源系统有些表依赖源系统的日终批处理完成,如内部总账,而有些表不需要依赖如客户信息、交易流水,可以在日切后分批次抽取源系统数据,将作业启动时间提前;

(3)批量作业分析及优化

       定期如每周、每月对整个数据仓库批量作业进行汇总分析,重点关注源系统提供数据时间、作业时长超过30分钟的作业、作业时长增加比例最高的作业等,通过分析来确定优化作业并启动优化,一般可以通过重建表、优化SQL、重新分布表数据、增加资源等方式来优化作业,减少执行时间;

(4)关键批量作业监控

        数据仓库中对于交易系统的数据加工往往会影响到银行对客户的服务,因此对关键作业和节点需要进行及时处理,如源系统数据提供时间、重点表的加工作业完成时间、高时效应用的数据提供作业完成时间都需要设置预警,报警时由值班人员及时处理。


————————————————

版权声明:本文为acumen_leo博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/acumen_leo/article/details/94916328

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/648208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于ssm+vue在线考试系统

摘要 在线考试系统是一种利用现代技术手段实现的教育评估工具,它为学生提供了更灵活、便捷的考试方式,同时为教育机构提供了高效管理和评估学生学业水平的手段。在这个背景下,基于SSM(SpringSpringMVCMyBatis)框架和Vu…

【OCC学习23】使用Draw探索OCC API 【完结】

对于OCC应用开发者来说,OCC的文档虽然不错,但针对具体的需求找到合适的API还是得不断摸索。我发现看Draw的代码是探索OCC API使用的最佳路径。掌握根据Draw命令查找对应代码就能高效找到解决方案。所以这是本系列的最后一篇分享了,个人感觉OC…

重塑网络安全格局:零信任安全架构的崛起与革新

零信任安全架构是一种现代安全模式,其设计原则是“绝不信任,始终验证”。它要求所有设备和用户,无论他们是在组织网络内部还是外部,都必须经过身份验证、授权和定期验证,才能被授予访问权限。简而言之,“零…

Dockerfile里ADD * 保留原来的目录结构

1、问题 给新模块写Dockerfile,很多静态资源分散在各个目录,于是Dockerfile里我直接一句: ADD ./* /dest/镜像出来后,启动容器,进入容器种后发现:文件拷贝成功,但原来的目录结构都不在了&…

【网站项目】基于SSM的251国外摇滚乐队交流和周边售卖系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

用javadoc生成springboot的文档

概述:生成 Spring Boot 项目的 JavaDoc 文档与生成普通的 Java 项目类似。 目录 第一步:创建一个springboot项目 第二步:编写pom文件 第三步:运行 Maven 命令生成 JavaDoc 第四步:查看结果 第一步:创建…

AG32VF407 AGRV2K 串口printf调试输出

视频讲解 [AG32VF407]国产MCUFPGA 串口printf调试输出及演示 原理图 测试代码 新建一个platformio工程,复制如下文件到测试工程目录下 E:\tech\AGM-AG32VF\sdk-release\AgRV_pio\platforms\AgRV\boards\agrv2k_407\board.asf E:\tech\AGM-AG32VF\sdk-release\AgRV_…

RCD负载箱的未来发展趋势和创新技术有哪些?

随着科技的不断发展,RCD负载箱作为电力系统中的重要设备,其未来发展趋势和创新技术也将不断涌现。以下是一些可能的发展趋势和创新技术: 1. 智能化:未来的RCD负载箱将更加智能化,能够实现远程监控、故障诊断和自动调节…

Pyside6在Pycharm下安装和使用

目录 一:安装 二:使用 一:安装 打开Pycharm编辑器,file-setting里Python解释器,点击小号,添加模块,搜索Pyside6,安装 安装报错,可能是默认的库安装超时,用其他的源 p…

Mybatis----分页

1.什么是分页 分页(Pagination)是指将大量数据划分为多个页面进行展示的一种技术手段。在数据量较大的情况下,将所有数据一次性显示在页面上会导致加载时间过长和页面过于庞大,影响用户体验和系统性能。分页技术通过划分数据为多…

为何外贸公司应该采用CRM客户管理软件?

在外贸行业中,客户关系管理尤为关键。在当下的大数据背景下,所有规模的外贸公司都迫切地需要进行数字化改造。无论是大型公司还是小型业务,他们都希望通过深入分析客户数据,为用户提供更优的体验,并据此调整企业战略。…

Scrum框架的自组织团队

飞行在天空中的鸟群一会排成一个“一”字,一会排成一个“人”字,它们自由飞翔,又根据不同的风向排列不同的队形减少阻力,达到最高的飞行效率。人类社会中也如此,没有一种不需要调整的通用方法可以适用于所有的工作场景…

【开源】基于JAVA+Vue+SpringBoot的民宿预定管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色2.2.2 房主角色2.2.3 系统管理员角色 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿4.3 新增民宿评价4.4 查询留言4.5 新增民宿订单 五、免责说明 一、摘要 1.1 项目介绍 基于…

应急响应-Linux-文件痕迹排查

敏感目录 Linux系统铭感目录如下。 /tmp /tmp目录和命令目录/usr/bin /usr/sbin等经常作为恶意软件下载根目录及相关文件被替换的目录。文件名为crloger8的木马下载到/tmp目录下,如图所示 ~/.ssh及/etc/ssh 需要查看是否存在.ssh或者ssh文件 ls -la /home/on…

力扣354. 俄罗斯套娃信封问题

动态规划 思路: 同时控制 w、h 两个维度比较复杂,可以先固定一个维度,来找出另外一个维度的严格单调序列: 对 w 排序,然后再来找 h 维度严格单调递增序列长度;在 w 排序时,会遇到 w(i) w(j) 的…

JWT登录

JWT JSON Web Token(JSON Web令牌) 是一个开放标准(rfc7519),它定义了一种紧凑的、自包含的方式,用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信任,因为它是数字签名的。jwt可以使用秘密〈使用HNAC算法…

Spyder安装与使用

Spyder是一个Python的集成开发环境(IDE),由科学家、工程师和数据分析师设计。它提供了强大的编辑、调试和分析功能,以及数据探索和可视化工具,特别适合科学计算和数据分析。 Spyder的主要特点包括: 编辑器…

央视推荐的护眼灯是哪款?护眼灯品牌推荐

可能有些父母没有深入考虑过这样的问题:“台灯这东西只是照明,亮就可以了”、“黄光或者白光都行,孩子能看清书本就行”等类似的声音我也听一些朋友说过。但是科技社会带来的改变是全方位提升,学习台灯自然不例外。 今天就给大家分…

JAVA_EE_api_中英文对照版

点击即可下载: JAVA_EE_api_中英文对照版

RockChip DRM Display Driver

资料来源: 《Rockchip_DRM_Display_Driver_Development_Guide_V1.0.pdf》 《Rockchip_Developer_Guide_DRM_Display_Driver_CN.pdf》 一:DRM概述 DRM(Direct Rendering Manager)直接渲染管理,buffer分配,帧缓冲。对应userspace库位libdrm,libdrm库提供了一系列友好的…