【机器学习篇】交通革命:机器学习如何引领未来的道路创新
嘿,你知道吗?机器学习正在交通领域掀起一场革命啦!它将如何引领未来道路创新呢 本文有精彩的 C++ 代码演示、实用的图片解释,还有超多干货,保证让你大开眼界,点赞收藏关注,
开启一场奇妙的探索之旅哦!
目录
编辑
前言部分:
一·交通流量预测与优化:
1.1原理与重要性:
1.2常用的机器学习算法:
1.2.1时间序列分析:
1.2.2神经网络:
1.2.3使用简单线性回归进行交通流量预测(C++版):
二·交通事故的预测与预防:
2.1重要性:
2.2应用方法:
2.2.1决策树算法:
2.2.2支持向量机(SVM):
2.2.3使用决策树进行事故预测(C++版):
三.自动驾驶技术:
3.1自动驾驶的发展与挑战:
3.2关键技术中的机器学习应用:
3.2.1环境感知:
3.2.2路径规划:
3.2.3决策控制:
3.3使用简单的神经网络进行车道线识别(C++版):
四.智能交通系统集成:
4.1系统集成的重要性:
4.2机器学习在系统集成中的作用:
4.3简单的智能交通系统集成框架(C++版):
五·实际案例分析:
5.1谷歌 Waymo 的自动驾驶实践:
5.2城市交通管理中的机器学习应用:
七、对实际应用的挑战与未来展望:
7.1挑战:
7.1.2数据质量和规模:
7.1.2算法可解释性:
7.1.3安全性和可靠性:
7.2未来展望:
前言部分:
在当今科技飞速发展的时代,交通领域正面临着前所未有的变革,而机器学习作为人工智能的核心技术之一,正逐渐成为推动这一变革的关键力量。从交通流量的优化、交通事故的预测与预防,到自动驾驶技术的实现,机器学习正以其强大的数据分析和模式识别能力,为我们描绘着未来交通的崭新画卷。本文将深入探讨机器学习在交通领域的各种应用,并通过 C++ 代码示例、直观的图片以及实际案例,详细阐述其如何引领未来道路的创新。
一·交通流量预测与优化:
1.1原理与重要性:
交通流量预测是交通管理的基础,准确预测交通流量对于合理规划道路资源、优化信号灯时长、减少拥堵至关重要。机器学习算法可以处理海量的历史交通数据,包括车流量、车速、时间、天气等因素,挖掘出隐藏在数据中的模式和规律,从而对未来的交通流量进行预测。
1.2常用的机器学习算法:
1.2.1时间序列分析:
如 ARIMA(自回归综合移动平均)模型,通过对时间序列数据的分析,预测未来交通流量的走势。
1.2.2神经网络:
尤其是深度学习网络,如 LSTM(长短期记忆网络),能够捕捉交通数据中的长期依赖关系,对于复杂的交通流量模式有出色的预测能力。
1.2.3使用简单线性回归进行交通流量预测(C++版):
#include <iostream>
#include <vector>
#include <cmath>// 计算平均值
double mean(const std::vector<double>& data) {double sum = 0;for (double value : data) {sum += value;}return sum / data.size();
}// 计算协方差
double covariance(const std::vector<double>& x, const std::vector<double>& y) {double x_mean = mean(x);double y_mean = mean(y);double cov = 0;for (size_t i = 0; i < x.size(); ++i) {cov += (x[i] - x_mean) * (y[i] - y_mean);}return cov / (x.size() - 1);
}// 计算标准差
double standardDeviation(const std::vector<double>& data) {double data_mean = mean(data);double variance = 0;for (double value : data) {variance += pow(value - data_mean, 2);}return sqrt(variance / (data.size() - 1));
}// 线性回归系数计算
std::pair<double, double> linearRegression(const std::vector<double>& x, const std::vector<double>& y) {double beta_1 = covariance(x, y) / pow(standardDeviation(x), 2);double beta_0 = mean(y) - beta_1 * mean(x);return std::make_pair(beta_0, beta_1);
}// 预测函数
double predict(const std::pair<double, double>& coefficients, double x) {return coefficients.first + coefficients.second * x;
}int main() {std::vector<double> time_data = {1, 2, 3, 4, 5}; // 时间数据(假设为不同的时间点)std::vector<double> traffic_data = {100, 120, 130, 140, 150}; // 对应的交通流量数据std::pair<double, double> coefficients = linearRegression(time_data, traffic_data);double future_time = 6; // 预测未来时间点的交通流量double predicted_traffic = predict(coefficients, future_time);std::cout << "Predicted traffic at time " << future_time << " is: " << predicted_traffic << std::endl;return 0;
}
老规矩,对上面的代码解释:
①首先,定义了几个辅助函数:
mean
用于计算向量的平均值,covariance
用于计算两个向量的协方差,standardDeviation
用于计算标准差。
②linearRegression
函数根据输入的x
和y
数据(这里x
可以表示时间,y
表示交通流量)计算线性回归的系数beta_0
和beta_1
。
③predict
函数根据计算得到的系数和输入的x
值进行预测。④在
main
函数中,我们提供了简单的时间和交通流量数据,使用线性回归模型预测未来时间点的交通流量
下面请看抽象图:
二·交通事故的预测与预防:
2.1重要性:
交通事故给人们的生命财产带来了巨大的损失,机器学习可以通过分析历史事故数据,找出导致事故发生的潜在因素,如路况、天气、驾驶员行为等,进而提前预测并采取预防措施。
2.2应用方法:
2.2.1决策树算法:
可以将事故数据分解为多个决策节点,找出不同因素对事故发生的影响,帮助交通管理部门制定相应的预防策略。
2.2.2支持向量机(SVM):
用于对事故和非事故数据进行分类,找出不同类别数据的边界,辅助判断哪些情况更容易导致事故。
2.2.3使用决策树进行事故预测(C++版):
#include <iostream>
#include <vector>
#include <string>
#include <unordered_map>
#include <algorithm>// 定义一个简单的事故数据结构
struct AccidentData {std::string weather;std::string roadCondition;bool accidentOccurred;
};// 决策树节点类
class DecisionTreeNode {
public:std::string feature;std::unordered_map<std::string, DecisionTreeNode*> children;bool isLeaf;bool prediction;DecisionTreeNode() : isLeaf(false), prediction(false) {}~DecisionTreeNode() {for (auto& child : children) {delete child.second;}}
};// 构建决策树
DecisionTreeNode* buildDecisionTree(const std::vector<AccidentData>& data, const std::vector<std::string>& features) {if (data.empty()) return nullptr;// 计算每个特征的信息增益,这里简单假设天气是最佳划分特征std::string bestFeature = features[0];DecisionTreeNode* root = new DecisionTreeNode();root->feature = bestFeature;std::unordered_map<std::string, std::vector<AccidentData>> subsets;for (const AccidentData& entry : data) {subsets[entry.weather].push_back(entry);}for (const auto& [featureValue, subset] : subsets) {DecisionTreeNode* child = buildDecisionTree(subset, features);root->children[featureValue] = child;}return root;
}// 预测函数
bool predictAccident(DecisionTreeNode* root, const AccidentData& input) {DecisionTreeNode* node = root;while (!node->isLeaf) {std::string featureValue = input.weather; // 根据当前节点的特征获取输入数据的值node = node->children[featureValue];}return node->prediction;
}int main() {std::vector<AccidentData> data = {{"Sunny", "Dry", false},{"Rainy", "Wet", true},{"Snowy", "Icy", true},{"Sunny", "Dry", false}};std::vector<std::string> features = {"weather", "roadCondition"};DecisionTreeNode* root = buildDecisionTree(data, features);AccidentData input = {"Rainy", "Wet"};bool predicted = predictAccident(root, input);std::cout << "Accident predicted: " << (predicted? "Yes" : "No") << std::endl;delete root;return 0;
}
代码解释:
①定义了
AccidentData
结构体来存储事故数据,包括天气、路况和是否发生事故。
②DecisionTreeNode
类表示决策树的节点,包含特征、子节点和预测结果等。
③buildDecisionTree
函数根据输入的事故数据和特征构建决策树,这里简单假设根据天气特征划分数据。
④predictAccident
函数根据构建好的决策树和输入数据进行事故预测。
下面请看抽象图:
三.自动驾驶技术:
3.1自动驾驶的发展与挑战:
自动驾驶是交通领域最具革命性的应用,涉及到多个复杂的技术领域,而机器学习在其中扮演着核心角色,从环境感知、路径规划到决策控制,都离不开机器学习算法的支持。
3.2关键技术中的机器学习应用:
3.2.1环境感知:
利用计算机视觉技术,如卷积神经网络(CNN),对摄像头采集的图像进行处理,识别车道线、交通标志、行人、车辆等物体。
3.2.2路径规划:
使用强化学习算法,如 Q-learning 或 DDPG(深度确定性策略梯度),根据环境信息规划出最优路径。
3.2.3决策控制:
通过机器学习算法处理传感器信息,如激光雷达和摄像头的数据,做出合适的驾驶决策,如加速、刹车、转弯等。
3.3使用简单的神经网络进行车道线识别(C++版):
#include <iostream>
#include <vector>
#include <array>
#include <cmath>// 简单的神经元结构
class Neuron {
public:std::vector<double> weights;double bias;Neuron(size_t inputSize) {for (size_t i = 0; i < inputSize; ++i) {weights.push_back((double)rand() / RAND_MAX); // 随机初始化权重}bias = (double)rand() / RAND_MAX;}double activation(const std::vector<double>& inputs) {double sum = 0;for (size_t i = 0; i < inputs.size(); ++i) {sum += inputs[i] * weights[i];}sum += bias;return 1.0 / (1.0 + exp(-sum)); // 使用 Sigmoid 激活函数}
};// 简单的神经网络类
class NeuralNetwork {
public:std::vector<Neuron> neurons;NeuralNetwork(size_t inputSize, size_t numNeurons) {for (size_t i = 0; i < numNeurons; ++i) {neurons.emplace_back(inputSize);}}std::vector<double> forward(const std::vector<double>& inputs) {std::vector<double> outputs;for (const Neuron& neuron : neurons) {outputs.push_back(neuron.activation(inputs));}return outputs;}
};int main() {NeuralNetwork nn(10, 5); // 输入大小为 10,包含 5 个神经元的神经网络std::vector<double> imageData(10); // 假设为车道线图像的特征数据std::vector<double> output = nn.forward(imageData);std::cout << "Lane detection output: ";for (double value : output) {std::cout << value << " ";}std::cout << std::endl;return 0;
}
上述代码解释:
①Neuron
类表示一个神经元,包含权重向量和偏置,activation
函数使用 Sigmoid 激活函数处理输入数据。
②NeuralNetwork
类包含多个神经元,forward
函数进行前向传播,将输入数据通过神经元处理得到输出。③在
main
函数中,创建一个简单的神经网络,并输入假设的车道线图像特征数据,得到识别结果。
请看抽象图:
四.智能交通系统集成:
4.1系统集成的重要性:
交通领域的各个部分不是孤立的,智能交通系统将交通流量预测、事故预防和自动驾驶等技术集成在一起,形成一个完整的生态系统,实现高效、安全、智能的交通运行。
4.2机器学习在系统集成中的作用:
作为信息处理和决策的核心,协调不同系统之间的信息交互和决策制定。
通过学习系统的整体性能和用户反馈,不断优化系统的性能和功能。
4.3简单的智能交通系统集成框架(C++版):
#include <iostream>
#include <vector>
#include <memory>class TrafficFlowPredictor {
public:double predict() {// 交通流量预测逻辑return 100.0; }
};class AccidentPredictor {
public:bool predict() {// 事故预测逻辑return false;}
};class AutonomousVehicle {
public:void drive() {// 自动驾驶逻辑std::cout << "Driving autonomously..." << std::endl;}
};class IntelligentTrafficSystem {
private:std::unique_ptr<TrafficFlowPredictor> flowPredictor;std::unique_ptr<AccidentPredictor> accidentPredictor;std::unique_ptr<AutonomousVehicle> vehicle;
public:IntelligentTrafficSystem() : flowPredictor(std::make_unique<TrafficFlowPredictor>()),accidentPredictor(std::make_unique<AccidentPredictor>()),vehicle(std::make_unique<AutonomousVehicle>()) {}void operate() {double trafficFlow = flowPredictor->predict();bool accidentPrediction = accidentPredictor->predict();std::cout << "Traffic flow: " << trafficFlow << ", Accident prediction: " << (accidentPrediction? "Yes" : "No") << std::endl;vehicle->drive();}
};int main() {IntelligentTrafficSystem its;its.operate();return 0;
}
解释一下:
①定义了几个类:
TrafficFlowPredictor
用于交通流量预测,AccidentPredictor
用于事故预测,AutonomousVehicle
用于自动驾驶。
②IntelligentTrafficSystem
类将这些系统集成在一起,在operate
函数中调用各个模块的功能,并输出相应的信息。
如图:
五·实际案例分析:
5.1谷歌 Waymo 的自动驾驶实践:
谷歌的 Waymo 是自动驾驶领域的先驱,其利用深度学习算法和大量的真实道路测试数据,实现了高度自动化的驾驶功能。其车辆配备了强大的传感器和计算平台,通过机器学习算法处理传感器数据,能够在复杂的城市和高速公路环境中安全行驶。
5.2城市交通管理中的机器学习应用:
许多城市已经开始将机器学习应用于交通管理,如北京、新加坡等。通过分析实时交通数据,调整信号灯时长,实施动态交通控制,有效减少了拥堵和交通事故的发生。
七、对实际应用的挑战与未来展望:
7.1挑战:
7.1.2数据质量和规模:
机器学习需要大量高质量的数据,但在交通领域,数据的收集和标注可能存在困难,并且数据的质量会影响算法的性能。
7.1.2算法可解释性:
一些复杂的机器学习算法,如深度学习,其内部决策过程难以解释,给监管和信任带来了挑战。
7.1.3安全性和可靠性:
在交通领域,安全性至关重要,需要确保机器学习系统的可靠性和容错性。
7.2未来展望:
随着硬件的发展,如更强大的车载计算平台和传感器,机器学习算法将得到更好的应用,实现更高级的自动驾驶功能。
多模态数据融合,将多种传感器的数据(如摄像头、激光雷达、雷达等)更有效地融合,提高系统的感知能力。
更加智能的交通管理系统,通过分布式机器学习和边缘计算,实现更快速的决策和响应。
八·本篇小结:
机器学习正在以惊人的速度改变着交通领域,从预测交通流量、预防事故到实现自动驾驶和集成智能交通系统,它为我们带来了巨大的潜力和希望。
尽管仍然面临着诸多挑战,但通过不断的研究和实践,我们有理由相信,未来的交通将更加安全、高效和智能,我们可以看到机器学习在交通领域的具体应用和实现方式,而这些只是其变革力量的冰山一角,更多的创新和突破正等待着我们去探索和实现。
相关文章:

【机器学习篇】交通革命:机器学习如何引领未来的道路创新
嘿,你知道吗?机器学习正在交通领域掀起一场革命啦!它将如何引领未来道路创新呢 本文有精彩的 C 代码演示、实用的图片解释,还有超多干货,保证让你大开眼界,点赞收藏关注, 开启一场奇妙的探索之…...

DeepSeek-V3 通俗详解:从诞生到优势,以及与 GPT-4o 的对比
1. DeepSeek 的前世今生 1.1 什么是 DeepSeek? DeepSeek 是一家专注于人工智能技术研发的公司,致力于打造高性能、低成本的 AI 模型。它的目标是让 AI 技术更加普惠,让更多人能够用上强大的 AI 工具。 1.2 DeepSeek-V3 的诞生 DeepSeek-V…...

把vue项目或者vue组件发布成npm包或者打包成lib库文件本地使用
将vue项目发布成npm库文件,第三方通过npm依赖安装使用;使用最近公司接了一个项目,这个项目需要集成到第三方页面,在第三方页面点击项目名称,页面变成我们的项目页面;要求以npm库文件提供给他们;…...

【STC库函数】Compare比较器的使用
如果我们需要比较两个点的电压,当A点高于B点的时候我们做一个操作,当B点高于A点的时候做另一个操作。 我们除了加一个运放或者比较器,还可以直接使用STC内部的一个比较器。 正极输入端可以是P37、P50、P51,或者从ADC的十六个通道…...

单片机-独立按键矩阵按键实验
1、按键介绍 按键管脚两端距离长的表示默认是导通状态,距离短的默认是断开状态, 如果按键按下,初始导通状态变为断开,初始断开状态变为导通 我们开发板是采用软件消抖,一般来说一个简单的按键消抖就是先读取按键的状…...
若要把普通表转成分区表,就需要先新建分区表,然后把普通表中的数据导入新建分区表。 具体怎么导入?
将普通表转换为分区表并导入数据是一个常见的数据库管理任务。以下是详细的步骤和示例,帮助你在 GaussDB 中完成这一过程: 1. 创建分区表 首先,你需要创建一个新的分区表,定义好分区键和分区策略。假设你有一个普通表 orders&am…...
XXX公司面试真题
一、一面问题 1.线程池的主要参数 核心线程数最大线程数空闲线程存活时间存活时间单位任务队列线程工厂拒绝策略允许核心线程超时 2. 线程的状态 新建状态就绪状态运行状态阻塞状态死亡状态 补充:线程阻塞的原因 线程调用sleep()方法进入睡眠状态 线程得到一个…...

第一节:电路连接【51单片机+A4988+步进电机教程】
摘要:本节介绍如何搭建一个51单片机A4988步进电机控制电路,所用材料均为常见的模块,简单高效的方式搭建起硬件环境 一、硬件清单 ①51单片机最小控制模块 ②开关电源 ③A4988模块转接座 ④二相四线步进电机 ⑤电线若干 二、接线 三、A49…...
机器学习算法深度解析:以支持向量机(SVM)为例的实践应用
机器学习算法深度解析:以支持向量机(SVM)为例的实践应用 在当今的数据驱动时代,机器学习作为人工智能的核心分支,正以前所未有的速度改变着我们的生活与工作方式。从图像识别到自然语言处理,从金融预测到医…...

解决Postman一直在转圈加载无法打开问题的方法
在使用Postman这款强大的API测试工具时,有时可能会遇到程序长时间加载而无法正常使用的情况。面对这样的问题,可以尝试以下几种解决办法: 方法一:直接运行Postman可执行文件 定位到Postman的安装目录 如果您不确定Postman的具体安…...
利用 LangChain 构建对话式 AI 应用
随着人工智能技术的快速发展,对话式 AI 已成为现代应用的核心部分。在构建智能客服、虚拟助手以及交互式学习平台时,一个强大且灵活的框架显得尤为重要。本文将深度解析 LangChain 这一框架的功能及实际使用,帮助开发者快速上手。 什么是 La…...
力扣--34.在排序数组中查找元素的第一个和最后一个位置
题目 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1&…...

【Java回顾】Day2 正则表达式----异常处理
参考资料:菜鸟教程 https://www.runoob.com/java/java-exceptions.html 正则表达式 有一部分没看完 介绍 字符串的模式搜索、编辑或处理文本java.util.regex包,包含了pattern和mathcer类,用于处理正则表达式的匹配操作。 捕获组 把多个字符…...

【SpringBoot】当 @PathVariable 遇到 /,如何处理
1. 问题复现 在解析一个 URL 时,我们经常会使用 PathVariable 这个注解。例如我们会经常见到如下风格的代码: RestController Slf4j public class HelloWorldController {RequestMapping(path "/hi1/{name}", method RequestMethod.GET)publ…...

【FlutterDart】页面切换 PageView PageController(9 /100)
上效果: 有些不能理解官方例子里的动画为什么没有效果,有可能是我写法不对 后续如果有动画效果修复了,再更新这篇,没有动画效果,总觉得感受的丝滑效果差了很多 上代码: import package:flutter/material.…...

Backend - C# 的日志 NLog日志
目录 一、注入依赖和使用 logger 二、配置记录文件 1.安装插件 NLog 2.创建 nlog.config 配置文件 3. Programs配置日志信息 4. 设置 appsettings.json 的 LogLevel 5. 日志设定文件和日志级别的优先级 (1)常见的日志级别优先级 (2&…...
Flask是什么?深入解析 Flask 的设计与应用实践
文章目录 一、引言:从微框架到生态系统二、Flask 的核心设计理念三、Flask 的关键组件解析3.1 路由系统3.2 请求与响应对象3.3 模板引擎 Jinja23.4 扩展系统 四、Flask 的并发与性能优化4.1 默认的单线程模型4.2 提升并发性能的方法4.3 性能优化技巧 五、在企业级场…...
malloc函数和calloc函数的区别是什么?
malloc函数和calloc函数在动态内存管理中都起着分配内存空间的作用,但它们存在以下区别: 参数方面 - malloc函数:它只有一个参数,该参数表示要分配的字节数。例如, int *ptr (int *)malloc(10 * sizeof(int)); &#…...

Ansys Maxwell:3PH 变压器电感计算
各位变形金刚粉丝们,大家好: 在本博客中,我讨论了如何使用 Ansys Maxwell 计算三相变压器中的自感、互感和漏感。有多种方法和表达式可用于计算这些电感。 基本电感定义 电感的单位是亨利(H),其基本单位…...

【Go】Go文件操作详解
1. 前言 相信如果看过之前文章的朋友们一定知道我想讲什么了?灵魂三问:文件是什么?为什么需要文件?文件怎么操作?前面章节我们已经能够编写各种各样的功能代码了,但是一个很现实的问题就是我们没有任何 持…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...

回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...