APP下载

商业银行大数据技术下容量管理工作研究与实践

2020-11-28徐晟

中国管理信息化 2020年19期
关键词:大数据研究

徐晟

[摘    要] 生产系统的容量水平是系统运行质量的重要组成,也是商业银行科技运维能力的综合体现之一。这些年来随着信息技术快速发展,各行各业已高度依赖大型、复杂的软硬件系统运作。这些系统在运行过程中,每时每刻产生大量运行数据,如CPU、内存、文件系统、TPS、交易耗时、磁盘IO等。随着系统复杂度急剧增长、基础架构规模愈发庞大,面对海量的运维数据,传统基于手工统计的容量管理方式已无法满足需要,利用大数据、智能运维(AIOps)等技术,将有效促进容量管理向自动化、智能化转变。基于上述背景,文章提出商业银行基于大数据技术的容量管理工作思路和探索实践,供借鉴。

[关键词] 大数据;容量管理;研究

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2020. 19. 058

[中图分类号] F832    [文献标识码]  A      [文章编号]  1673 - 0194(2020)19- 0136- 03

1      容量管理定义

在信息服务领域,国际标准化组织(ISO)推出了基于IT服务的最佳实践准则(ISO 20000),其核心是在企业内部建立IT服务管理体系(ITSM),开展事件管理、问题管理、配置管理、变更管理等标准化服务流程。ITSM强调人员、流程、技术的有机结合。目前大部分企业的运维管理体系参照了ITSM的设计理念。其中,容量管理(Capacity Management)是IT服务管理体系中的重要组成部分。

容量管理指为达到既定的IT服务水平,对信息系统硬件、软件的IT技术组件性能和容量方面进行的管理活动。容量管理的范畴包含了对信息系统的应用程序、系统软件(操作系统、数据库、中间件)、硬件、IT基础设施资源池(虚拟机、容器、备份、SAN网、存储)、网络和机房场地等方面的性能和容量进行计划、监控、评估及改进工作。

容量管理涵盖信息系统性能和容量两方面。其中,性能指信息系统在提供对外服务时的运行处理效率,容量指信息系统在运行过程中所能承载容纳的最大资源总量。容量管理的目标是为了确保信息系统在运行过程中,其基础软硬件及配套运行环境的性能容量可以满足企业当前和未来的业务发展需要。

容量管理总体框架一般涵盖规章制度、组织架构、管理对象、运作流程、技术支撑等方面。文章重点讨论与大数据技术相关的工具平台、智能算法等内容。

2      系统架构设计

随着大数据技术的广泛运用,容量管理的工作重心已逐渐由原来的“流程服务”转变为“技术管理”,即运用技术手段实现技术管理。结合商业银行同业调研情况,在建设容量管理系统时,可以将容量相关数据的存储和计算与具体应用场景解耦,容量数据借助分布式和大数据技术实现统一存储和计算。同时,结合机器学习算法实现容量波动检测、趋势预测等功能。通过API服务网关进行数据交互,在应用层实现具体的应用场景,这样可以较为灵活地满足个性化管理需要。具体的技术架构如图1所示。

在这种建设模式下,容量数据的采集、清洗、计算、存储、分析等是关键技术应用。在企业中,容量数据通常由运维监控工具采集或产生,以往的监控工具由于平台性能、存储容量等因素,往往不会长期保存监控数据,这使得支撑容量管理工作的核心数据资产缺失,只能借助管理流程来补强。这些年来随着大数据技术的出现,正好弥补了这一不足。

如图2所示,容量管理运维大数据平台由自研组件和开源组件搭建完成,以保证既充分利用开源大数据组件处理丰富的API接口,同时又能够根据各组件使用当中存在的不足进行结合实际场景需求的定制优化。

数据采集层主要由自研采集组件实现,组件包括采集网关、采集器和采集路由三部分,具有兼容多种平台、采集速率高、采集占用资源可控、支持采集类型丰富、自恢复能力强等特点。

数据处理层利用kafka streaming以及spark streaming。kafka作为数据总线确保了数据传输的高效和稳定。自研接口程序能够分发数据至不同存储介质,兼容多种大数据存储。

数据存储层分为近现存储和长期存储,近现存储由ES实现,其上封装SPL查询语法,能够实现近期数据(如3个月内)毫秒级响应。长期存储将数据存放到HIVE等数仓中,为离线批量计算提供基础数据。采用MongoDB存储主机应用关联关系和配置信息。

数据分析层包含数据分析平台与数据分析算法。Zeppelin支持Python等数据分析语言,能够实现算法构建和模型训练。通过自研算法为运维人员提供灵活的数据分析功能。Tableau能够对接多种数据源,进行快速、实时的数据探索,并形成可视化报告。

3      智能算法應用

这些年来商业银行数据中心已基本实现了对系统性能和容量数据、系统运行日志、业务日志等数据的采集,并对这些指标设置简单的判断规则进行监控警告。但是,其中的大多数规则都是通过固定阈值设置的,因此无法根据容量历史的变化情况和现状进行智能化的判断预警,对容量规划的支撑也较少,且规则调整需要大量人工干预。

本文从容量管理具体场景出发,结合实践,针对波动检测、趋势预测、容量规划等应用讨论相关的智能运维算法。

3.1   波动检测

波动检测重点关注系统运行过程中的大幅变化,针对容量指标数据的突增或突降进行捕获和分析。借助波动检测算法,可以从数据中找到不符合预期的系统运行状态,这些数据也被称为异常点或离群点。系统运行波动较多并不能直接得出系统运行异常的结论,可能由于变更、事件、外部原因(比如营销活动)导致,但过多的波动存在运行风险,需要进一步关注和评估。

波动检测算法的核心是找出“离群点”,也就是分布稀疏且离密度高的群体较远的数据,通常可以使用基于连续数据的无监督学习算法,比如孤立森林、K-Means、DBSCAN等聚类算法。另外针对不同类型指标,波动检测算法的选取也有不同。比如,针对周期型指标,可以选择基于时间序列分解、Holt-Winters算法;针对平稳型指标,可以使用静态阈值、加权移动平均、指数移动平均等算法;针对非平稳型指标,则可以使用基于极限理论、小波变换、动态阈值等算法进行检测。

3.2   趋势预测

趋势预测重点关注的是中长期容量数据趋势变化,由于是基于历史数据做出的预测,可能无法预见到事件故障、变更维护、业务营销等特定因素或计划外工作导致的容量趋势变化,预测结论可用于辅助运维决策。

常见的趋势预测算法有线性回归、ARIMA、Prophet、LSTM等,可用于对交易量、文件系统使用率、数据库表空间、网络线路流量等容量指标进行预测。其中,线性回归是一种线性模型,其原理是尝试找到一条直线(或一个超平面),使得预测值与真实值之间的误差最小化。ARIMA即差分移动平均自回归模型,是经典且常见的时间序列预测分析方法。ARIMA有三个重要参数(p,d,q),其中p为自回归项数,q为滑动平均项数,d为使之成为平稳序列的差分阶数。Prophet是Facebook开源的一款基于python和R的时序数据预测算法包,通过分析时序数据的周期性(使用傅立叶级数建立周期模型)、趋势性(分段线性拟合)、节假日、异常值等特征来对数据进行预测。LSTM即长短时记忆网络,是一种以递归神经网络(RNN)为基础并改良的深度学习模型,其通过三门(输入门、遗忘门、输出门)来模拟对时序数据前后联系的处理,解决了人工神经网络结构中长时间记忆的问题。

3.3   容量规划

容量规划需要根据业务需求,对未来做出合理的规划。其可用于:(1)指导信息系统制定容量扩容、缩容计划,以便及时安排软硬件资源采购。(2)评估某类业务场景(或交易链路)上涉及系统的性能容量瓶颈,找到短板并针对性地制定扩容方案。

在进行容量规划时,需要充分考虑历史数据并进行推演。以往由于生产环境的系统关联关系极其复杂,容量规划工作多为人工操作,这不仅需要大量人力投入,同时取决于运维人员自身能力。引入容量规划算法的目标,是替代原本依靠经验进行容量规划和测算的方式。容量规划算法基于波动检测和趋势预测算法基础上进行构建,此外还需进一步解决以下两个问题。

第一,指标关联问题。根据木桶原理,在大型服务系统中,只要存在任何一处系统短板,整条交易链路的对外服务就会受到影响。因此我们需要构建系统指标间的关联关系,并对大量无效的指标联动进行剪枝。指标关联性分析可以使用Pearson线性相关系数,也称线性相关系数、皮氏积矩相关系数,该数值用于衡量两个随机变量之间的线性相关程度。根据取值,可以判断两组随机变量是否具有高度线性相关性。

第二,多指标测算问题。比如,对于一条业务场景交易链路,我们需要找出到底是A系统的CPU使用率将在未来达到瓶颈,还是B系统的TPS近期会达到理论极值。然后根据分析结果,提前制定针对性的扩容方案。为了解决这一问题,可以将所有的指标关联关系视作一个集合,使用动态规划方法寻找方程组的最优解,并根据每个指标的上限,定位整条交易链路上的短板和瓶颈。

以上讨论了几个主要的容量管理場景和算法应用。需要说明的是,算法落地效果还会受到以下两方面影响:一是数据质量,可通过运维工具总体架构设计、运维数据治理等手段提高数据的准确性和实效性;二是应用场景,尽管算法本身具备通用性,但是不同算法适用于不同的应用场景。算法落地时要结合实际效果进行调整并不断打磨。

4      未来展望

本文重点阐述商业银行大数据技术下容量管理工作研究与实践。由于容量管理工作依赖大量的生产运行数据,是大数据技术和智能运维(AIOps)落地的重要场景,云计算、5G技术的发展也给容量管理工作带来诸多挑战。随着运维监控、自动化、大数据等工具的不断成熟,容量管理正在逐步向自动化、智能化转变,未来将结合实践不断优化工作机制,主动迎接业务和技术快速发展给运维带来的挑战。

主要参考文献

[1]ISO/IEC 20000-1,Service Management Systems - Requirements[S]. Information Technology - Service Management,2018.

[2]高效运维社区AIOps标准工作组.企业级别AIOps实施建议白皮书[EB/OL].2018-04-13.

[3]P Linnea Rudenius,Moa Persson,Anomaly Detection and Fault Localization An Automated Process for Advertising Systems[D].Chalmers tekniska hogkola,2018.

猜你喜欢

大数据研究
FMS与YBT相关性的实证研究
2020年国内翻译研究述评
辽代千人邑研究述论
视错觉在平面设计中的应用与研究
EMA伺服控制系统研究
新版C-NCAP侧面碰撞假人损伤研究
大数据环境下基于移动客户端的传统媒体转型思路
基于大数据背景下的智慧城市建设研究