Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 计算机论文 > 正文

一种基于大数据技术的银行智能运维系统设计论文

发布时间:2022-11-16 13:56:46 文章来源:SCI论文网 我要评论














SCI论文(www.lunwensci.com):
 
  摘要:银行的运维工作先后从人工运维,自动化运维演进到智能运维阶段。本文探讨了一种银行智能运维系统的设计,侧重于论述大数据技术在其中的运用,并介绍了基于该设计实现的系统在银行实际应用中的效果。
 
  关键词:大数据;智能运维;系统设计
 
  Banking AIOps System Design Based on Big Data Technology
 
  ZHAO Dong1,WANG Zheng2
 
  (1.Sichuan S.Y.S Software Co.,Ltd.,Chengdu Sichuan 610041;2.Sichuan Orient Soft Technology Co.,Ltd.,Chengdu Sichuan 610000)
 
  【Abstract】:Banking IT operation work has evolved from manual operation stage,automated operation stage,to AIOps stage.This paper discusses one design of banking AIOps system,focusing on how to apply big data technology in it.It is also introduced about banking real effects of the system based on the design.
 
  【Key words】:big data;AIOps;system design
 
  0引言
 
  从发展历程来看,银行的运维工作大致可分为三个阶段:最早期为人工运维阶段,即以“人”为本,结合各类运维监控工具,发现问题和解决问题的效率不够高,原有的流程和经验无法覆盖所有问题;因而,各银行已陆续进入到目前较为普遍推广的自动化运维阶段,例如应用版本发布自动化/备份自动化等场景;然而,由于各银行的应用系统不断增多,单系统转向微服务架构等原因导致监控数据迅速膨胀,依赖运维专家总结规则配置告警阈值的自动化运维方式也显得越来越力不从心,尤其在大规模的运维场景下效率低下,因此,转向依靠大数据的智能运维(AIOps)方式显得尤为必要。智能运维可充分利用银行各系统运行过程中生成的海量数据,利用机器自动分析处理异常事件,显著减少人工干预成本,提供更快的响应速度和更高的处理效率,有效提高整体运维水平并降低运维成本。

\
 
  中国银行[1]、建设银行[2]、交通银行[3]、农业银行[4]、工商银行[5]等大行已纷纷开展智能运维的研究和落地。今年,人民银行和银保监会先后发布《金融科技发展规划(2022-2025年)》和《关于银行业保险业数字化转型的指导意见》,也明确提出运维应向智能化方向发展。
 
  1智能运维系统的设计
 
  本文讨论一种综合运用了大数据技术、人工智能技术和云原生技术的银行智能运维系统的设计,参考了业界在智能运维系统实施方面的经验[6],并侧重于论述大数据技术在其中的运用。相应的设计目标是:支持银行多种系统的全方位数据采集,实时处理海量数据,通过算法自动化发现问题(如异常检测和故障诊断),切实助力提升运维质量与效率,支撑全线业务的稳定运行。
 
  1.1系统架构的总体设计
 
  系统架构的总体设计,需要适应银行IT系统的现状和未来的发展,包括整体系统纵向和横向两方面的扩展,即可能采用不同架构和技术的各接入系统的数目会陆续增加,每个系统的数据量也会不断增大,再兼顾云计算和云原生技术在银行得到越来越广泛的应用等实际情况。因此,设计时需要以大数据技术为基础,可通过云计算提供相应的计算、存储和网络资源作为支撑,并且支持云原生。
 
  系统的总体设计示意图如图1所示。

\
 
  由图1可知,系统由相互配合的几个松耦合模块组成,模块之间通过数据通道链接,依赖度很低。由于支持云原生,各模块是高可用的,均支持无需编程即可进行水平扩展,并且对运行环境具有较好的适应性,不依赖于特定的软硬件基础设施。
 
  本系统按功能可划分为以下几个模块:数据采集子系统,负责实现数据采集;消息中间件,提供消息队列负责消息传输;数据处理子系统,负责根据相应的数据处理规则对数据进行必要的解析和处理;数据存储子系统,负责落地保存海量数据和计算分析生成的结果,以及整个系统的配置数据库;数据计算分析子系统,支持离线和在线计算,提供各种算法模块对数据进行计算和分析,产生的结果可以支持异常检测、故障诊断和成本优化等场景;数据展示和操作子系统则为运维人员提供统一的可视化工作界面。以下各节分别对系统的各组成部分进行说明。
 
  1.2数据采集
 
  智能运维系统想要落地,就先要解决数据的采集问题。有了数据,才能进行后续的处理分析。图1中的数据采集器用于实现数据采集功能。需要采集的数据包括多种类型,如交易数据、日志数据、网络端口旁路监听数据、各种系统指标、配置管理数据等。数据采集器必须能够识别这些不同类型的数据,并且支持丰富的数据采集及抓取方式,例如执行脚本/Socket监听/数据库接口/网络端口镜像/物联网协议/Web Service以及常见的第三方采集程序(如Flume/LogStash/FileBeat)等,能够对全量数据进行抓取,能够自定义数据抓取的要求。
 
  采集器既支持实时的数据采集,也支持历史的数据采集。采集器支持非侵入式采集方式,这也是推荐的方式,不需要在被采集系统上安装Agent/探针,且对宿主机的资源占用极低,可主动定时执行采集程序完成数据采集或者被动采集相应系统新生成的数据到指定的数据通道中。采集器也可支持侵入式采集方式,通过安装Agent来读取数据,完成数据采集工作。
 
  1.3数据传输
 
  采集后的各种数据先发送给消息中间件,进入相应的消息队列。消息中间件的主要作用包括:(1)解耦,引入生产者和消费者角色,他们不直接发生关系,生产者专注通知,发送消息以后可以马上返回,消费者专注处理,自己去订阅感兴趣的Topic;(2)缓冲,应对流量的突然上涨变更,消息队列有很好的缓冲削峰作用,每天可处理多达TB级别的数据;(3)分发,在分布式场景下,一条消息可能会被多个消费者关注,消息中间件支持一对多消费或者消息广播的模式,可以根据用户定义的规则进行消息路由分发。
 
  1.4数据处理
 
  在从消息队列中取出采集到的原始数据并保存到系统之前,往往需要对这些数据进行解析和处理,比如数据清洗/去重/过滤/关联/合并/分支路由等操作,以及某些类型数据(如性能指标)的聚合计算,或者是对敏感字段进行脱敏处理,可能还会生成新数据。数据处理的目的是为系统加工生成有价值的数据,通过配置相应的数据处理器,对数据进行高效的处理,各种不同类型的操作可以设计为不同的处理器算子,组合不同的算子可以形成不同的数据处理规则。数据处理规则在系统中统一管理和部署,增加系统稳定性和数据合规性。
 
  1.5数据存储
 
  数据存储负责在保证数据完整性和准确性的前提下,落地相关数据。大数据存储子系统对海量数据可进行有效治理,支持存储不同类型的数据。例如,需要进行实时全文检索,分词搜索的数据可选用合适的搜索引擎如ElasticSearch;时间序列数据例如指标数据则适合存储在时序数据库中;关系类数据以及会聚集在基于关系进行递归查询的数据适合选用图数据库;需要长期存储和离线挖掘以及构建离线数仓的数据则可选用相应的主流大数据存储平台如Hadoop,可支持多达PB级别的数据。此外,在系统运行过程中,需要引入缓存以支持高性能的实时数据访问。

\
 
 
  1.6数据计算分析
 
  从数据存储子系统存放的海量数据中,可获得大量完整、可分析的运维数据,本系统对数据的计算分析设计为通过历史规律叠加当前数据来进行处理,因此系统既有数据的离线处理,又有数据的实时分析。相应地,大数据计算分析子系统需要支持离线批量计算和实时流计算两种模式。
 
  数据的离线处理采用批处理计算方式,大数据批量处理引擎如Spark,针对存储的历史大数据进行挖掘和批量计算的历史场景,尝试从互不关联的日志和机器数据等各类数据中发现规律和模式。系统定时运行相应的算法(可采用统计判别算法如3-Sigma,或无监督学习算法如孤立森林等,也可引入深度神经网络算法如Tensorflow/Pytorch,依据少见即异常原则,避免人工标注),将机器学习技术与海量历史数据潜在信息挖掘相结合,从历史数据中训练模型,训练好的模型相应地保存到数据存储子系统中。算法输出的疑似异常则还可通过人工进行进一步审核,然后加入正负样本库。为了得到好的模型,有必要积累至少一定时间(例如两个月)的数据用于模型学习训练。积累足够的数据后还可以加入有监督算法(如决策树/随机森林等算法),通过提取时序特征,再进行离线训练并输出模型。
 
  数据的实时处理采用流式计算方式,包括但不限于数据的实时异常检测,以及支持实时更新模型的机器学习算法运用等。典型的计算过程是:大数据流处理引擎如Flink,首先读取数据存储子系统中离线训练好的模型文件,然后利用相应的算法框架将所有读取的文件还原成之前训练好的模型,最后所有的模型都将通过流处理引擎的相应组件统一生成,向下分发至各个执行组件,执行实时处理。实时处理通过反映历史规律的模型再叠加输入数据的时间窗口,实时计算并生成结果,再根据结果确定是否需要触发相应动作如告警。这一过程中可利用缓存有效提高性能,也有必要加入人工校正的过程,以便随后把漏告和误告的样本加入样本库。
 
  由上可见,数据的离线处理和实时处理是互相配合的,通过离线生成的模型再结合实时数据,来进行实时计算。基于离线的算法训练分析生成模型,将实时数据通过流处理引擎先加工成特征,再送入到离线训练生成的机器学习模型中进行相应的处理。
 
  1.7数据展示与操作
 
  数据展示与操作子系统构筑于最顶层,为运维人员提供统一的工作界面。所提供的数据可视化工具可以对分析后的数据进行多元化的呈现,通过图形化的方式支持各指标(例如交易耗时、交易量、失败率、失败交易占比、交易机构排名、同期交易量对比等)多维度、全视角地展现重要业务系统健康度。运维人员可随时把握系统整体状态,并可在展示图形中实现逐层下钻,达到报文级定位,快速确定故障根源。
 
  可视化工具也提供管理界面,供运维人员方便地配置系统,包括各种不同的采集数据源,数据处理规则,复杂搜索的定义和使用的算法组合,配置好的结果保存在配置数据库中。
 
  2实际应用场景
 
  基于该设计构建的系统可支持各种应用场景,包括质量保障(如异常检测/故障诊断/故障预测/故障自愈)、效率提升和成本管理。实践中,根据某商业银行客户的需求,具体实现的软件第一版首先接入该行的一类系统,包括核心系统、信贷系统、大前置、二代支付系统、ESB系统、网上银行和手机银行等27个系统,侧重于提供异常检测和故障诊断能力。异常检测可自动实时地发现异常,为后续的故障诊断提供基础,故障诊断则通过机器学习的方法,进一步对异常进行深入分析,包括调用链关系等已知的关联关系,通过时间序列曲线相似度来衡量关联性,找出各个异常之间的关联模式,从而发现故障模式和故障根因,辅助运维人员快速定位和解决问题。
 
  该系统上线后,不仅可以和已接入各系统的监控系统共存,并且对它们进行了事实上有效的集成,以可视化工具提供统一监控,统一管理,统一展示能力,一类业务监控覆盖率达到95%,减少故障分析所耗费事件85%,提高故障平均恢复时间57%,减少服务性能影响事件43%。
 
  除了需要定时进行离线算法模型的训练外,系统运行时的数据采集、传输、处理、存储和计算分析时间均为秒级,最终生成数据的各种可视化结果,可帮助运维人员在分钟级别定位和排除故障,客户反馈良好。
 
  3结论
 
  基于本文论述的设计构建的系统所用到的关键技术均自主可控。系统结合了流行的DevOps和敏捷开发方式,基于微服务架构设计,支持容器并部署在Kubernetes集群上。自上线以来,除一次计划内的集群升级以外,系统7×24h小时运行,未发生中断故障,充分证明了系统架构的先进性。系统的未来发展将考虑进一步支持成本的自主优化和故障自愈(例如版本升级回退、DNS自动切换)等场景,辅助建立运维数据标准和构造运维数据湖。
 
  本文重点论述了大数据技术在银行智能运维系统设计中的运用。至于系统设计中需要重点关注的另外组成部分—人工智能算法以及云原生技术的运用,未及详述,将另文加以论述。
 
  参考文献
 
  [1]袁俊德.以“七台两库”领衔智能化运维[J].金融电子化,2017(8):75-77.
 
  [2]王立新.建设银行在智能运维上的探索与实践[J].金融电子化,2019(1):42.
 
  [3]郑仕辉.交通银行的智能运维(AIOPS)实践[J].金融电子化,2019(1):46.
 
  [4]陈婧,徐佳琦,李心玥,等.无监督机器学习异常检测技术在智能监控领域的应用展望[J].中国金融电脑,2021(2):81-86.
 
  [5]程鹏.AIOps智能运维在中国工商银行的探索与实践[J].中国金融电脑,2021(5):68-71.
 
  [6]云计算开源产业联盟.企业级AIOps实施建议白皮书[OL].(2018-04-13)[2022-05-09].https://pic.huodongjia.com/gan huodocs/2018-04-16/1523873064.74.pdf.
 
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!

文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/46561.html

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml