• 查询稿件
  • 获取最新论文
  • 知晓行业信息
官方微信 欢迎关注

铁路运输应用云原生技术优化路线研究

李贝贝, 阎志远, 戴琳琳

李贝贝, 阎志远, 戴琳琳. 铁路运输应用云原生技术优化路线研究[J]. 铁路计算机应用, 2021, 30(1): 15-18, 23.
引用本文: 李贝贝, 阎志远, 戴琳琳. 铁路运输应用云原生技术优化路线研究[J]. 铁路计算机应用, 2021, 30(1): 15-18, 23.
LI Beiei, YAN Zhiyuan, DAI Linlin. Route optimization of railway transportation based on cloud native technology[J]. Railway Computer Application, 2021, 30(1): 15-18, 23.
Citation: LI Beiei, YAN Zhiyuan, DAI Linlin. Route optimization of railway transportation based on cloud native technology[J]. Railway Computer Application, 2021, 30(1): 15-18, 23.

铁路运输应用云原生技术优化路线研究

基金项目: 中国铁路总公司科技研究开发计划课题(J2018X005)
详细信息
    作者简介:

    李贝贝,助理研究员

    阎志远,研究员

  • 中图分类号: U29 : TP39

Route optimization of railway transportation based on cloud native technology

  • 摘要: 从铁路运输信息化的业务发展、信息化系统及技术应用等角度出发,结合云原生技术,对铁路运输信息化的优化路线提出容器化、微服务化、网络梳理等改造思路。针对微服务化的改造给出了业务拆分与逻辑拆分依据。分析了铁路运输生产信息化中涉及的业务优化型技术与信息化支撑型技术的改造策略。云原生技术的沉淀与应用,将赋能铁路运输生产信息化业务系统中台战略能力,提升铁路企业信息化应用的快速迭代及业务共享能力。
    Abstract: From the perspective of business development, information system and technology application of railway transportation informatization, combined with cloud native technology, this paper put forward some transformation ideas for the optimization route of railway transportation informatization, such as containerization, micro service, network combing and so on. The paper gave the basis of business split and logic split for the transformation of micro service, analyzed the transformation strategy of business optimization technology and information supporting technology involved in railway transportation production informatization. The precipitation and application of cloud native technology would not only empower the center strategic capability of the railway transportation production information business system, but also enhance the rapid iteration and business sharing capability of the railway enterprise information application.
  • 随着铁路运输信息化水平快速提升,一些重要的信息系统的规模不断扩大,系统架构日益复杂,数据海量增长,对业务连续性要求和运行维护(简称:运维)质量的要求不断提高,与此同时,系统的运维也越来越复杂,运维管理难度越来越大。纵观全路,各铁路局集团有限公司(简称:铁路局)的信息系统建设规模虽有一定差异,但总体上处在同一发展水平,运维人员的精简化与系统规模扩张化的矛盾逐步凸显,虽已采用运维工具对信息系统进行日常监控,初步实现了信息系统运维的信息化管理,但是,大量信息系统的应用日志、系统运行状态数据未得到有效利用,其数据蕴藏的经济效益和管理价值未得到深度挖掘。路外行业针对智能化管理的研究取得了长足发展[1],但是,在铁路运输领域,特别是在信息系统的智能化运用层面,仍处在探索阶段。

    铁路局信息系统状态诊断与辅助管理决策系统以上海铁路局信息化管理方面的短板为切入点,充分利用机器系统运行日志和应用系统日志,结合Hadoop、Kafka大数据技术,基于Ripple、STL算法,构建了一个集成化、智能化、科学化的综合处理与决策平台,为信息化管理工作提供辅助决策,提高数据中心资源利用率,提升运维智能化水平,推进数据中心向绿色、节能方向转变。

    系统采用B/S架构[2],利用大数据组件进行数据存储与检索,通过智能化算法进行智能检测。

    根据功能性要求及非功能性要求设计系统的整体架构。逻辑架构由8个模块组成,如图 1所示。

    图  1  逻辑架构图

    (1)数据采集:采用“目标源—代理中继—有效过滤—落地使用”的原则,获取原始数据,为后期数据处理分析提供基础。

    (2)数据处理:利用队列服务器的处理思想,并利用流处理引擎完成,将获取的数据转换、传送至数据持久化模块。

    (3)数据存储:将结构化、非结构化、半结构化的数据进行缓存处理,转变成有效利用的合理化数据。

    (4)查询引擎:采用Ripple、STL等算法,对日志、数据加以解析,提供更为科学、贴近人工理解的查询手段,为系统决策分析提供支撑。

    (5)告警引擎:依据设定条件,结合算法推理,提供自动告警功能,辅助用户开展运维决策工作。

    (6)分析引擎:结合业务逻辑与实际生产数据的推理分析,通过Hadoop的海量数据,分析得出模型预测数据,为用户提供多角度分析工具。

    (7)展现引擎:利用可视化、多元化的报表、图表插件,为用户提供更为友好的访问界面。

    (8)系统管理:灵活配置数据采集、预警、查询、分析等相关功能模块的参数,为用户提供方便、可视、直观的业务管理手段。

    8个模块都可支持横向扩展,提升每个模块的吞吐量及处理能力,同时,每个模块内部都是多点分布式部署,保证了系统高可用、数据安全。在数据采集、处理、存储及分析等模块,采用了目前比较主流、成熟的开源组件。

    充分考虑架构的先进性、避免重复建设、减轻后期维护工作等方面,系统中需要的大数据相关组件满足用户要求,其他增量节点支持虚拟机,非存储节点支持Docker或者Kubernetes部署,可调整节点数量,为后期系统的智能化扩容提供基础[3]。系统物理架构如图 2所示。

    图  2  物理架构图

    数据采集分为有代理采集和无代理采集。无代理采集为在服务端采集,支持SNMP, DATABSE, TCP/UDP, SYSLOG, Restful等采集协议。有代理采集则用于本地文件采集、脚本采集等,采用多进程方式,即守护进程和工作进程的方式,既保证采集代理的稳定性,又可以对工作进程的资源消耗进行控制,避免代理客户端对被采集对象的资源消耗过大。数据采集流程如图 3所示。

    图  3  数据采集流程图

    流处理层基于Kafka Streaming,实现分布式的数据处理。

    Kafka Streaming采用no-receiver方式直接从Kafka分区上并行读取数据[4]

    通过对数据的处理类型进行抽象提取,根据不同类型的数据源提供不同的可配置的数据处理逻辑接口,用户可以通过界面配置的方式来配置数据的解析、转换和处理逻辑。数据处理采用ZooKeeper、Kafka的流处理技术,通过接口方式,为数据持久化提供有效支撑。同时,借助Spark、hive、Hadoop等大数据相关数据库,对数据进行存储。数据处理流程如图 4所示。

    图  4  数据处理流程图

    Kafka streaming在处理完数据后,需要根据不同的数据类型将数据写入不同的数据库,结构化数据写入HBase,非结构化数据写入Elastic Search和Hadoop HDFS,两者都是分布式数据库,都基于分区/分片的方式存储数据,默认在向上述两个数据库写入数据时,依赖于外部数据库进行数据路由处理,存在数据二次移动的问题,影响数据写入效率,为此,在写入之前预先计算好数据最终写入的分区/分片,避免数据的二次转发。

    数据存储模块提供数据冷热自动转储功能,针对不同类型的数据,能够支持以下3种存储方式[5]:(1)业务数据,以固定的格式进行存储,可方便查询和分析时间序列数据,采用组件为HBase[6-7]和InfluxDB;(2)半结构化数据,可对数据进行实时全文检索和分词搜索,采用组件为Elasticsearch;(3)关系型数据采用MySQL数据库;非关系型数据选用Neo4j数据库。

    资源分为硬件资源、软件资源、应用资源和资源池。通过收集硬件信息、软件信息、应用信息及其资源池信息,实现软、硬件资源的集中管理。

    通过大数据管理的方式查看一段时间内的CPU、磁盘、内存、磁盘IO速率、IP连接数和网络IO数据,方便管理人员查看应用系统整体使用趋势和服务器的运行状态。运行指标图如图 5所示。

    图  5  运行指标图

    (1)应用总览:展示应用特征、客户端操作系统、客户端浏览器和访问返回状态。

    (2)资源利用:按时间分布,展示CPU、内存及磁盘利用的变化,并判断其是否处于合理区间。

    (3)应用历史状态:分析资源使用的历史状态,为合理使用资源和预测风险做参考。从CPU、内存、存储、访问量、IP增长率等多个维度综合展示资源和使用情况的变化趋势,并对历史轨迹进行聚类,为系统从横向的多维度与纵向的多角度进行综合画像,如图 6所示。

    图  6  系统画像图

    主要从CPU资源利用、内存资源利用、存储资源利用、IP连接数、访问状况趋势、网络IO等6个维度进行预测分析,为系统提出未来修、预测修、精准检的解决方案。

    (1)通过大数据算力,集合全部应用的访问客户端操作系统和浏览器,分析每一个操作系统和浏览器的类型和版本,提出升级建议;(2)分析服务器错误返回码,建议维护处理;(3)分析错误返回码中涉及应用问题的次数,提示维护应用。

    资源管理建议主要包括资源优化应用列表和资源扩容应用列表:(1)资源优化应用列表中的应用,说明资源分配过多,需要进行优化调整;(2)资源扩容应用列表中的应用,说明资源需要扩容,应当分配更多资源。

    异常人工智能(AI)检测包括应用名称、指标状态展示、统计指标展示、结论描述等:(1)利用Ripple算法,计算各指标的异常情况。Ripple是一种基于互联网的开源协议,实现去中心化的基本功能;(2)可查看指标,并直观显示出异常指标;(3)通过图表直接查看异常点,如图 7所示。

    图  7  异常指标显示图

    节能控制预测主要包括信息系统节能方案、预测节能功耗和信息系统功耗图形化展示:(1)根据资源使用周期和趋势,提供服务器资源关停、启用时间段等建议;(2)测算系统节能方案的节能功耗;(3)图形化展示系统能耗的使用情况,如图 8所示。

    图  8  节能预测图

    为用户提供友好界面,如图 9所示。

    图  9  辅助决策图

    本文所涉及的各类算法均采用通用的Java、GO、Scala等语言,借助my eclipse开源平台实现,采用Matlab工具对算法进行验证,并在系统实际运行过程中进一步确认和优化。

    通过STL(Seasonal-Trend decomposition procedure based on loess)算法对单个时间序列指标进行异常检测[7]。算法支持周期性和非周期性的时间序列,支持灵敏度调节和异常去噪功能。

    基于自组织映射(SOM,Self Organizing Maps)神经网络算法。基于历史数据的学习,生成基于每个输入指标的神经网络,确定每个激活神经元的邻域半径。检测时,计算输入多指标向量和相应神经元的距离,并确定异常及主要根因指标。

    基于可分解时间序列模型,考虑趋势项、季节项和节假日效应,对服务器或系统运行的正常与异常时间序列进行预测。

    使用机器学习中的贝叶斯先验概率,寻找数据中潜藏的趋势改变点,拟合分段趋势项,并利用傅立叶变换拟合季节项,通过贝叶斯采样提升预测精度[8]。正常与异常时间序列预测结果的表示式为:

    $$ y(t) = g(t) + s(t) + h(t) + {\varepsilon _t} $$ (1)

    式(1)中:

    g(t)—拟合时间序列中的分段线性增长或指数增长等趋势;

    s(t)—拟合周期项(如:每周/每年的季节性);

    h(t)—拟合非规律性的特殊日效应;

    εt—反映未在模型中体现的异常变动。

    日志记录的好坏直接关系到出现问题时定位的速度,根据日志结构的特性,提出一种高效的实时日志聚类算法。

    定义日志中每个词的封装结构,共包含normal、regex、important及verb共4种类型封装结构。

    (1)正则化替换

    利用正则表达式,将原始日志中详细的IP地址、端口号、时间等利用$IP、$IPPort及DateTime等字符串替换,并进行简单的封装。

    (2)敏感词库提出

    根据语义分析和设置的敏感词模式,对原始日志中的敏感词进行处理,并将其类型设置为important。

    (3)分词器分词

    为对原始日志进行精准分词,自定义3种类型的分词器,分别用来处理中文分词、英文分词及中英文混合分词等不同类型的分词需求。

    (4)公有变量提取

    将原始日志中的数字、需要忽略的词进行处理。

    (5)词性标注

    利用事先建立的verb字典树、normal字典树和nltk插件进行词性标注,防止在提取公共模板时,有意义的词被泛化。其中,字典树是一种实现字符串快速检索的多叉树结构,能够降低搜索字符串的时间。

    (1)日志分组

    对处理后的原始日志进行分组处理,以便能够快速定位。共定义了7个大组,每个大组中含有个数不等的小组,并且对它们都设置了匹配优先级,原始日志优先匹配级别较高的组,当同一条日志匹配到多个组时,将最先匹配到的组设置为该条日志所属的组。

    (2)倒排表打分

    对日志进行分组之后,需要对日志匹配或者生成模板。通过对原始日志的分析,采用打分的方式判断原始日志属于哪个模板,为获得最精确的模板,在打分时,综合考虑关键词得分、位置得分和邻近词得分3个方面因素。

    关键词得分是指对原始日志预处理后,该词的类型是否为关键词,当该词为关键词并且该词在原始日志中的位置和在模板中的位置相差在合理的范围内,则该词在该模板上得分较高,否则得分为1。具体打分方式如式(2):

    $$ {\rm{ }}key{{\rm{ }}_{score{\rm{ }}}} = \left\{ {\begin{array}{*{20}{c}} 1&{q \notin \mathit{\boldsymbol{key}}}\\ {1 + \theta }&{q \in \mathit{\boldsymbol{key}}{\rm{ 且 }}\left|{id{x_q} - id{x_{{t_q}}}} \right|\le scope} \end{array}} \right. $$ (2)

    式(2)中,key为关键字集合,idxq为词在原始日志中位置,idxtq为词在该条模板中的位置,scope为用户设置的阈值,θ为根据业务需求而设置的动态参数。

    位置得分原则:各个位置的词具有同样的重要性;位置越靠前的词权重越高。用户可以根据不同的需求选择不同的打分方式。

    邻近词得分是指判断在原始日志中的上一邻近词与模板中的是否相同,相同时,该词的得分为1,否则给出惩罚。

    为了提高打分效率,根据倒排表的思想,对每个词建立倒排表,降低搜索时间。

    (3)获取模板

    倒排表打分后,会得到该条日志在每个模板上的得分情况。设置得分阈值,对于达到得分阈值的模板,判断模板中是否有关键词被泛化,如果没有,则说明该条日志与该条模板匹配成功;如果该条日志在每个模板上的得分都小于阈值,则利用该条日志创建一个新模板,添加到模板库中。

    (4)更新模板展示层内容和倒排表内容。

    本文从底层架构的设计理念出发,设计了铁路局信息系统状态诊断与辅助管理决策系统,介绍了系统的数据处理流程,以及系统的功能模块与应用效果,重点解析了系统的关键技术。系统已投入运行,运行结果表明,系统的应用提高了信息系统运维管理水平,运维模式正在由半自动向自动化、智能化方向转变,同时,提升了信息化投资决策水平,极大地提高了数据中心的资源利用率,促进信息化基础设施投资更加科学合理,减少重复投资、资源浪费等现象,提升铁路信息化投资决策水平。

  • [1] 史天运. 中国高速铁路信息化现状及智能化发展 [J]. 科技导报,2019,37(6):53-59.
    [2] 任 爽,杜 巍,孙 美. 铁路统一开发测试平台体系架构及技术路线的研究 [J]. 铁路计算机应用,2018,27(12):27-31. DOI: 10.3969/j.issn.1005-8451.2018.12.007
    [3] 匡 敏,韩富强. 我国铁路技术规章体系优化研究 [J]. 铁道运输与经济,2018,40(9):121-126.
    [4] 林 琳. 为什么说2019年是云原生的关键节点 [J]. 计算机与网络,2019,45(19):38-40.
    [5] 刘福鑫,李劲巍,王熠弘,等. 基于Kubernetes的云原生海量数据存储系统设计与实现 [J]. 计算机应用,2020,40(2):547-552.
    [6] 薛 浩, 英林海, 王 鹏, 等. 云边协同的5G PaaS平台关键技术研究[C]//中国通信学会. 2019全国边缘计算学术研讨会论文集. 2019: 318-325.
    [7] 杨 雪. 计算机软件知识产权的法律保护模式研究 [J]. 中外企业家,2020(12):235-235.
    [8] 陆志刚,徐继伟,黄 涛. 基于分片复用的多版本容器镜像加载方法 [J]. 软件学报,2020,31(6):1875-1888.
    [9] 刘 琦. 基于云原生应用平台实现应用服务可造性 [J]. 无线互联科技,2019,16(5):62-65.
    [10] 马丁L.阿伯特, 迈克尔T.费舍尔. 架构即未来[M]. 北京: 机械工业出版社, 2016.
  • 期刊类型引用(8)

    1. 王立新,郭凰,杨佳宇,李爽,李储军,汪珂. 无线通信在结构健康监测系统的应用研究综述. 科学技术与工程. 2023(06): 2229-2241 . 百度学术
    2. 朱宏伟,李超,刘星,柴金川,代晓景. 5G在铁路工务工程智能建造中的应用研究. 土木建筑工程信息技术. 2023(02): 49-54 . 百度学术
    3. 胡松伟. 5G通信技术及其在煤矿的应用构想. 电子测试. 2022(01): 136-138 . 百度学术
    4. 岳军政,李泽政,侯庆敏,杲永亮. 基于5G施工现场智能可视化监控技术应用. 粘接. 2022(08): 167-169 . 百度学术
    5. 刘子源. 5G承载铁路业务需求分析及方案研究. 中国铁路. 2022(09): 12-17 . 百度学术
    6. 郭峰,刘雅欣,张丽娟,章威. 工程哲学视域下的铁路工程知识演化研究. 工程研究——跨学科视野中的工程. 2022(05): 432-441 . 百度学术
    7. 赖崇章. 5G与智慧警务的应用创新探索. 中国新通信. 2021(15): 80-81 . 百度学术
    8. 严心军,张帅. 5G技术赋能智慧工地建设. 安装. 2021(10): 11-13 . 百度学术

    其他类型引用(5)

计量
  • 文章访问数:  162
  • HTML全文浏览量:  58
  • PDF下载量:  39
  • 被引次数: 13
出版历程
  • 收稿日期:  2020-04-25
  • 网络出版日期:  2021-01-28
  • 刊出日期:  2021-01-28

目录

/

返回文章
返回