Risk user identification based on horizontal federated learning
-
摘要:
第三方平台推出的各种铁路旅客抢票服务,给中国铁路12306互联网售票系统(简称:12306)带来了较大压力,为保障12306的稳定性和旅客购票的公平性,亟需对风险用户进行识别。为应对因12306部署在不同的物理位置、不同中心的数据聚合存在一定风险的情况,研究在用户数据分散的条件下,基于横向联邦学习的风险用户识别方法。文章基于用户的访问行为,构建和提取用户特征,构建基于XGboost、逻辑回归和神经网络等算法的横向联邦学习模型,并进行模型验证。实验结果表明,基于XGboost算法的横向联邦学习模型具有较好的风险用户识别效果,为铁路数据的安全使用提供了技术支撑。
-
关键词:
- 12306互联网售票系统 /
- 横向联邦学习 /
- XGBoost /
- 风险用户 /
- 神经网络
Abstract:Various railway passenger ticket grabbing services launched by the third-party platform have brought great pressure to the China railway 12306 Internet ticketing and reservation system (12306 for short). In order to ensure the stability of 12306 and the fairness of passenger ticket purchase, it is urgent to identify risk users. This paper aimed to address the risk of data aggregation caused by the deployment of 12306 in different physical locations and centers, studied a risk user identification method based on horizontal federated learning under the condition of dispersed user data. Based on user access behavior, the paper constructed and extracted user features, constructed a horizontal federated learning model using algorithms such as XGboost, logistic regression, and neural networks, and validated the model. The experimental results show that the horizontal federated learning model based on XGboost algorithm has good risk user recognition performance, provides technical support for the safe use of railway data.
-
铁路数据中心建成以来,越来越多信息系统迁移至此集中部署运行,这对铁路数据中心运维保障提出更高要求。目前,基础物理设施、IT基础设施及应用系统均纳入铁路数据中心的监控系统,一旦检测到异常或故障会立即报警,提醒运维人员及时处置。
这些信息系统在运行期间会产生大量的运维数据,主要包括应用报警、日志信息、报警处置信息、施工变更信息、运维计划等。在处置故障的过程中,通过分析相关运维数据,常发现早有故障相关的提示信息出现。若能及时分析这些提示信息,即可达到提前预警、提前处置、防范故障的目的。然而,仅靠人工排查分析或使用简单分析工具来处理这些海量运维数据,不但费时耗力,且难以达到目的。
为此,依托铁路数据服务平台(简称:数据平台)的大数据存储和数据共享服务能力,使用平台提供的模型开发、模型管理、模型服务等工具,开发基于海量运维数据的铁路数据中心风险预测与防控系统(简称:风险预测与防控系统),高效地完成海量运维数据的清洗、标识、分析,利用机器学习算法,实现运维风险预测,提早发现系统运行状态异常变化,及时进行有效处理,避免其劣化成为重大故障,对保障铁路数据中心各信息系统长期安全可靠运行具有重要意义,有助于提高铁路运输生产效率、降低运输成本、提升客货运产品服务质量、提高运营管理水平[1-5]。
1 基于海量运维数据的风险预测方法
基于海量运维数据的风险预测是根据信息系统故障发生规律,结合动环条件、系统日志、施工等因素,对未来问题可能发生的时间、位置、影响范围、影响程度等进行推断和评估,目前主要研究了容量趋势预测、基于日志分析的风险预测、运行异常预测、施工风险预测4种方法。
1.1 容量趋势预测
容量预测采用时序分析方法,利用与资源使用情况相关的历史运维数据,完成容量预测模型的训练与验证,基于容量预测模型对数据中心未来各类资源的使用趋势做出预判,为数据中心的业务规划和自动化运维提供可靠的数据支持。
1.2 基于日志分析的风险预测
基于日志分析的风险预测通过对信息系统使用的数据库、中间件、应用等生成的日志进行分类、分析和识别,采用分类算法筛选报错日志,并进行数据类别转化,利用NLP技术将原始文本数据转化为词向量,然后采用逻辑回归模型进行训练和验证;建立专家评估风险库及指标,并据此确定系统面临的风险等级,给出相应的处置措施建议。
1.3 运行异常预测
运行异常预测基于计数型统计过程控制(SPC)方法,利用信息系统现阶段报警记录和数据,运用控制图来判断系统是否处于安全稳定状态,根据控制图上特征点的分布状态,对未来一段时间内系统出现异常的风险做出预测。当某个信息系统或某一类运维对象一定周期时间内出现的报警次数超过一定数量时,例如当一周内出现3次或一个月内出现多次报警时,即推断系统中出现潜在的运行异常状况,自动触发风险预警,并下发风险事件处置措施,提醒运维人员提前采取必要的预防措施,确保信息系统始终处于稳定的运行状态。
1.4 施工风险预测
施工风险预测基于贝叶斯网络方法,对信息系统因故障处理或变更施工过程中,由服务器、数据库、中间件、应用程序等不同部件的故障处理或变更施工所带来的风险进行评估。根据信息系统拓扑结构、部件比例、部件历时故障数据等,并结合专家知识建立基于施工预测的贝叶斯网络,通过大量的数据验证确定各部件发生故障的概率,将各部件作为贝叶斯网络的结点,基于关联算法进行施工风险预测,给出施工过程的风险提示,提醒运维人员关注施工可能造成的影响。
2 运维风险防控
2.1 风险预警与防控机制的建立
建立如图1所示的运维风险预警与防控机制,实现运维风险闭环管理,增强铁路数据中心运行安全保障能力。
(1)建立数据处理、分析机制及模型,制定风险评估指标;
(2)依托模型,开展数据处理,识别有效风险,对照评估指标完成评估;
(3)自动生成评估结果;
(4)利用风险展板,进行预警展示并提供建议处置措施;
(5)运维人员按照处置措施,开展处置;
(6)运维人员上报风险处置结果,形成有效的闭环控制;并依据处理反馈信息,不断优化处理模型和改进风险评估指标。
2.2 风险识别及评估指标的构建
按照运维对象类别划分,风险及风险评估指标各不相同,运维领域专家、运维工程师能够在众多的各类运维对象日志信息中找到故障发生前的蛛丝马迹,例如数据库日志中发现未关闭的链接以及未释放的资源、系统各业务环节主动记录的日志信息等。收集运维对象的风险点信息,由领域专家识别风险并确定风险评估指标,其内容如表1所示。
表 1 风险识别及评估指标运维对象类别 风险点 级别 建议采取措施 出现频次/日 持续时间 备注 数据库 sjk-12516 高 立即联系项目组***处理 >0 1 min 应用 YY-0009 低 注意观察 =1 60 min 应用 YY-0009 中 提醒项目组***处理 >1 30 min 应用 YY-0019 高 提醒项目组***处理 >1 5 min 网络 WL-0001 高 立即联系项目组***处理 >0 5 min 系统-磁盘 Sys-xxx1 高 立即联系项目组***处理 >0 15 min … … 2.3 风险评估
采用大数据分析挖掘技术,处理数据湖中保存的基础设施、IT基础设施及应用的海量运维数据,主要包括各类日志信息、运维计划、施工计划、运维报警处置记录,基于专家确定的风险评估指标,对各类风险对应的数据进行处理,建立风险矩阵。对于同类多项风险点进行一定程度的归纳、合并,同类多项风险点取其中的最高风险级别,生成高、中、低风险带的运维风险展板,如图2所示。
2.4 分级预警处置与反馈
按照风险级别(低、中、高三级分别以蓝、橙、红标识)向运维人员传递预警提醒信息,并给出相应的处置措施建议,如表2所示。运维人员处理完预警事件后,填报处理情况反馈信息,构成风险控制闭环。
表 2 风险等级控制(示例)风险类别 风险点 风险级别 建议采取措施 处置反馈 数据库 sjk-12516 高 立即联系项目组***处理 第一时间联系项目***进行处置,*时*分预警已恢复 应用 yy-0009 低 注意观察 持续观察60 min,风险无明显提升,已关闭 系统 Xt-1024 中 请联系项目组***及时处置。 已联系项目***进行处置,反馈为预警为运维操作引起,待运维结束后,预警恢复。*时*分预警已恢复 3 风险预测与防控系统架构设计
风险预测与防控系统依托铁路数据服务平台构建,将部署在铁路数据中心的各类信息系统相关运维对象(应用、网络、数据库、中间件、存储、安全设备等)的运维数据全部接入到数据平台,由数据平台集中存储运维数据,并提供数据共享服务。风险预测与防控系统划分为数据获取层、数据存储层、智能分析层、应用层、展示层5个逻辑层次,系统架构如图3所示。
(1)数据获取层:建立数据标准和规范管理,采集海量运维数据,实施数据质量管理,进行有效的转换,以便于后续集中存储和整合。
(2)数据存储层:将采集的运维数据通过接口统一接入数据平台集中存储;存储架构采用数据湖方式,将汇聚运维数据以原始格式存储,对外提供数据服务时,根据数据使用需求对数据进行转换后,生成专用数据存储,并据此提供高性能的数据存取服务[6-7]。
(3)智能分析层:对运维数据进行分析处理、特征提取、模型构建、模型评估、模型调参、模型迭代,生成用于不同运维场景的风险预测模型。
(4)应用层:部署和运行通过测试验证的风险预测模型,对运维数据进行智能计算分析,生成风险预测结果并给出处置建议。
(5)展示层:采用风险展板和风险趋势大屏等可视化方式展示风险预测结果[8-9]。
4 预测模型实验分析
风险预测与防控系统使用智能分析技术,建立容量趋势预测、基于日志分析的风险预测、运行异常预测、施工风险预测等不同运维场景风险预测模型,完成模型训练、调优和测试,最后将通过实验验证的模型进行发布和上线更新。
本文以容量趋势预测模型和基于日志分析的风险预测模型为例,详细描述实验过程。
4.1 容量趋势预测模型
在信息系统的运行过程中,磁盘异常是导致集群故障频发的一个主要因素。通过分析服务器磁盘相关运维数据,初步判断为回归预测和时间序列场景类问题。
为实现服务器集群的智能运维,采集服务器集群磁盘使用相关数据,存储在数据服务平台中;服务器集群磁盘使用情况记录,如表3所示。
表 3 服务器集群磁盘使用情况记录序号 字段名 字段含义 字段类型 1 disk_total 磁盘总量 数值型 2 disk_free 磁盘余量 数值型 3 disk_used 磁盘使用量 数值型 4 disk_used_percent 磁盘使用百分比 数值型 5 measurement_name 指标名称 字符型 6 timestamp 时间 字符型 7 tag_mode 磁盘模式 字符型 8 tag_host 磁盘所属主机host 字符型 9 tag_ip 磁盘所属主机ip 字符型 10 tag_device 磁盘所属设备编号 字符型 11 tag_path 磁盘所属路径 字符型 服务器集群磁盘使用情况记录表共包含11个字段,包括4个数值型字段和7个字符型字段;实验数据为服务器集群2022年4月期间磁盘使用率数据,共计240万条记录。
使用图形探索功能,以折线图的形式,预测服务器磁盘使用率随时间变化趋势,如图4所示。
基于上述磁盘使用率特征,结合专家建议,将服务器集群磁盘使用率划分为3个等级,如表4所示。
表 4 服务器集群磁盘使用率等级序号 规则 等级 颜色标识 1 0≤ disk_used_percent <65 信息(Info) 绿 2 65≤ disk_used_percent <85 告警(Warn) 黄 3 85≤ disk_used_percent ≤100 错误(Error) 红 分别采用自回归算法、ARIMA算法和指数平均回归3种时间序列算法建立预测模型,对服务器集群健康指标进行预测,如图5所示。
为衡量这3种预测模型的准确度,采用平均绝对误差 (MAE,Mean Absolute Error)作为准确度指标;MAE是真实值与预测值之间差值的绝对值的算术平均,MAE数值越小,表明预测模型的准确度越高;MAE计算公式为
$$ MAE=\frac{1}{N}\sum _{N}^{i=1}\left|{f}_{i}-{g}_{i}\right| $$ (1)其中,fi 表示预测值,gi 表示真实值。
3种预测模型经过多次调参和迭代训练后,对应的MAE值分别如表5所示。
表 5 3种预测模型的MAE值对照序号 模型名称 MAE 1 自回归模型 1.4604445235290773 2 ARIMA模型 0.4940755669450921 3 指数加权移动平均模型 0.6212854858662921 为此,选用误差最小的ARIMA模型用于开发服务器集群磁盘容量预测的智能分析模块程序。
4.2 基于日志分析的风险预测模型
对数据库日志采用人工智能技术进行分析归类,并结合相关领域专家制定风险评估指标,识别出对数据库运行有较大影响的日志信息,对日志完成等级划分,供运维人员使用。
采用分类算法筛选数据库报错日志。由于日志中的文本类型数据不能直接输入模型进行训练,必须通过数据类别转化,将文本数据转换为向量后,再输入分类模型中进行训练。经算法分析,采用分词和词向量化的方式,先利用NLP技术,将原始文本数据转化为词向量,再采用分类算法完成日志数据的分类。
以PostgreSQL数据库作为分析实例,将该数据库在2022年2月—4月期间3个月的日志数据存储在数据服务平台中,作为分析实验数据集。该数据集共有2702145条记录,总计10470列数据。使用智能分析可视化能力,展示相关报错日志信息。基于该日志分析场景,提取出可用列,分别为timestamp时间列、label 日志等级列、information 日志信息列,如表6所示。
表 6 数据库日志结构序号 字段名 字段含义 字段类型 1 timestamp 时间 字符型 2 label 日志等级 字符型 2 information 日志信息 字符型 根据相关领域专家确定风险评估指标库,建立风险矩阵表,如表7所示。
表 7 风险矩阵时间 风险点 级别 建议采取措施 出现频次/日 持续时间 202206010923 sjk-xxxx1 高 立即联系项目组***处理 >0 5 min 202206091301 sjk-xxx10 中 提醒项目组***处理 >1 30 min … 日志文本均为非结构化数据,采用分词算法 Word2vec,引入分词、移除停用词和词向量转化算子,将每个词映射为一个向量,将日志文本转化为结构化数据,日志分析模型如图6所示。
完成文本数据的分词向量化处理后,采用逻辑回归和随机森林2种机器学习算法进行数据分类处理,日志分析流程如图7所示。
采用混淆矩阵来统计分类结果,作为这2种模型的准确率指标,即分类正确的样本占总样本数的比值;该指标数值越大,表明模型越精确。将原数据样本中70%的样本作为训练集,用于训练模型,其余30%样本作为验证集,用于测试模型效果;这2种模型预测精度对比如表8所示。
表 8 逻辑回归和随机森林模型的分类精度对比序号 模型 混淆矩阵精度 数据集 1 逻辑回归 0.999 训练集 2 逻辑回归 0.998 测试集 3 随机森林 0.997 训练集 4 随机森林 0.996 测试集 因此,选择精度较高的逻辑回归模型用于PostgreSQL数据库日志的异常样本分类。
4.3 运维数据智能分析的优势
使用智能分析工具,实现基于容量趋势预测模型和基于日志分析的风险预测模型的智能分析模块,其优势主要体现在3个方面。
(1)数据分析:在数据分析和特征提取方面,智能分析工具提供可视化数据分析以及一键解析数据集的能力,可快速探索数据集特征,方便快速处理异常数据,供模型训练使用,同时具备交互式可视化数据集预处理能力,便于观察数据转化过程;较python机器学习库处理数据,该智能分析工具在预处理数据上,提供更便捷、高效的操作方式。
(2)模型训练:在模型训练方面,智能分析工具提供可视化拖拉拽的建模方式和超参优化和工作流功能,缩短模型迭代的周期;较传统机器学习建模流程,该智能分析工具提供的可视化操作,可以做到一键式迭代,在模型训练效率上数倍于传统建模方式。
(3)模型部署:智能分析工具具备一键引导式模型部署管理能力,极大地简化发布流程,使服务上线部署精简化,且支持模型版本管理、横向扩容、A/B测试、灰度发布、滚动上线、在线调试服务和服务审计等,使服务管理变得更加高效;在模型服务发布后,提供标准API接口供其它服务使用;较传统构建模型,模型服务发布与更新更加流畅与高效,不受限于建模流程,且提供服务运维与审计管理界面。
5 结束语
围绕铁路数据中心海量运维数据的智能分析需求,研究容量趋势预测、基于日志分析的风险预测、运行异常预测、施工风险预测4种方法;依托铁路数据服务平台的大数据存储和数据共享服务能力,使用平台提供的数据分析、模型训练、模型部署等工具,建立容量趋势预测、基于日志分析的风险预测、运行异常预测、施工风险预测等不同运维场景风险预测模型,完成模型训练、调优和测试,最后将通过实验验证的模型进行发布和上线更新。
下一步将适应铁路数据中心发展需求,研究和开发适用于更多运维场景的风险预测模型,充分利用运维数据的潜在价值;同时,在不断丰富和拓展单项运维数据智能分析应用的基础上,继续完善铁路数据中心风险预测与防控体系,不断改进铁路数据中心运维工作的效率和成本,促进铁路数据中心高质量运营和规模化扩展。
-
表 1 Fed_lr模型部分参数的权重
参数 权重 Intercept(常变量) -1.978 len_full - 1.03212 min_dur - 0.94088 len_uniq - 0.89904 getwaittime_num_5min - 0.37734 confirmpassengerinfosingle_num_15min - 0.29207 url3 - 0.28003 querypassenger_num_5min - 0.24953 表 2 一中心数据集的指标结果
模型 AUC F1-score Accuracy Recall Precesion Fed_XGb 0.9856 0.9061 0.9591 0.9490 0.8670 Fed_lr 0.9545 0.7948 0.9036 0.8981 0.7129 Fed_nn 0.9550 0.8130 0.9102 0.9393 0.7167 XGBoost 0.9868 0.8828 0.9510 0.9389 0.8330 表 3 二中心数据集的指标结果
模型 AUC F1-score Accuracy Recall Precesion Fed_XGb 0.9837 0.8715 0.9444 0.9491 0.8056 Fed_lr 0.9609 0.8168 0.9186 0.9135 0.7387 Fed_nn 0.9680 0.8598 0.9394 0.9364 0.7948 XGBoost 0.9825 0.8543 0.9335 0.9443 0.7800 -
[1] 李 雯,朱建生,单杏花. 基于指数权重算法的铁路互联网售票异常用户智能识别的研究与实现[J]. 铁路计算机应用,2018,27(10):7-10, DOI: 10.3969/j.issn.1005-8451.2018.10.002. [2] Fan C M, Li W, Zhu Y T, et al. Anomaly access detection method based on multi-channel data[C]//Proceedings of the IEEE 5th International Conference on Cloud Computing and Big Data Analytics, 10-13 April, 2020, Chengdu, China. New York, USA: IEEE, 2020. 295-300.
[3] Wang J Q, He X L, Gong Q Y, et al. Deep learning-based malicious account detection in the Momo social network[C]//Proceedings of the 27th International Conference on Computer Communication and Networks (ICCCN), 30 July - 2 August, 2018, Hangzhou, China. New York, USA: IEEE, 2018. 1-2.
[4] Zhang Y, Chen W L, Yeo C K, et al. Detecting rumors on online social networks using multi-layer autoencoder[C]//Proceedings of 2017 IEEE Technology & Engineering Management Conference (TEMSCON), 8-10 June, 2017, Santa Clara, CA, USA. New York, USA: IEEE, 2017. 437-441.
[5] Sun X, Zhang C, Ding S, et al. Detecting anomalous emotion through big data from social networks based on a deep learning method[J]. Multimedia Tools and Applications, 2020, 79(13-14): 9687. DOI: 10.1007/s11042-018-5665-6
[6] 卫新乐,张志勇,宋 斌,等. 基于纵向联邦学习的社交网络跨平台恶意用户检测方法[J]. 小型微型计算机系统,2022,43(7):1541-1546, DOI: 10.20009/j.cnki.21-1106/TP.2020-1108. [7] Mcmahan H B, Moore E, Ramage D, et al. Federated learning of deep networks using model averaging[DB/OL]. https://arxiv.org/abs/1602.05629, 2017.
[8] Konen J, Mcmahan H B, Ramage D, et al. Federated optimization:distributed machine learning for on-device intelligence[DB/OL]. [2024-05-31]. https://arxiv.org/abs/1610.02527, 2016.
[9] Yang Q, Liu Y, Chen T J, et al. Federated machine learning: Concept and applications[J]. ACM Transactions on Intelligent Systems and Technology, 2019, 10(2): 12.
[10] 陈 涛,郭 睿,刘志强. 面向大数据隐私保护的联邦学习算法航空应用模型研究[J]. 信息安全与通信保密,2020(9):75-84. DOI: 10.3969/j.issn.1009-8054.2020.09.010 [11] 李 国,张秋杰. 基于纵向联邦学习的航班延误预测[J]. 计算机工程与设计,2023,44(5):1594-1601. [12] Liu Y, Yu J J Q, Kang J W, et al. Privacy-preserving traffic flow prediction: A federated learning approach[J]. IEEE Internet of Things Journal, 2020, 7(8): 7751-7763. DOI: 10.1109/JIOT.2020.2991401
[13] William Marfo, William Marfo, Shirley V. Moore. Network Anomaly Detection Using Federated Learning[DB/OL]. [2024-05-31]. https://arxiv.org/abs/2303.07452, 2023.
[14] 赵 英,王丽宝,陈骏君,等. 基于联邦学习的网络异常检测[J]. 北京化工大学学报(自然科学版),2021,48(2):92-99. [15] 刘金硕,詹岱依,邓 娟,等. 基于深度神经网络和联邦学习的网络入侵检测[J]. 计算机工程,2023,49(1):15-21,30. [16] 王 楠,张大林,刘娟. 一种基于联邦学习的风险权重融合的异常检测方法:中国,202111362361.7[P]. 2022-04-15. [17] 曾闽川,方 勇,许益家. 基于联邦迁移学习的应用系统日志异常检测研究[J]. 四川大学学报(自然科学版),2023,60(3):79-86. [18] 张泽辉,李庆丹,富 瑶,等. 面向非独立同分布数据的自适应联邦深度学习算法[J]. 自动化学报,2023,49(12):2493-2506, DOI: 10.16383/j.aas.c201018. [19] 曲 强,于洪涛,黄瑞阳. 社交网络异常用户检测技术研究进展[J]. 网络与信息安全学报,2018,4(3):13-23.