低空物流配送路径优化的探索

在这里插入图片描述

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:Python案例分享专栏
✨特色专栏:国学周更-心性养成之路
🥭本文内容:低空物流配送路径优化的探索

文章目录

    • 引言
      • 问题 1: 单无人机送单路径优化
        • 1.1 问题背景
        • 1.2 模型建立
        • 1.3 路径计算
        • 1.4 优化策略
        • 1.5 示例代码
      • 问题 2: 多无人机合作的送单路径优化
        • 2.1 问题背景
        • 2.2 模型建立
        • 2.3 路径计算
        • 2.4 调度算法
        • 2.5 示例代码
      • 问题 3: 最少无人机的送单路径优化
        • 3.1 问题背景
        • 3.2 模型建立
        • 3.3 路径计算
        • 3.4 调度算法
        • 3.5 示例代码
      • 总结

引言

  在当今快速发展的数字经济时代,电子商务的蓬勃兴起推动了物流行业的变革。传统的配送方式已无法满足日益增长的消费者需求,尤其是在城市环境中,交通拥堵和配送时效性成为了亟待解决的问题。无人机作为一种新兴的配送工具,以其高效、灵活和低成本的优势,逐渐成为解决这些问题的重要手段。

  低空物流配送不仅能够缩短配送时间,还能有效降低人力成本,提升整体配送效率。然而,随着无人机数量的增加和配送任务的复杂化,如何优化配送路径以实现高效的送单成为了一个关键挑战。路径优化不仅涉及到单架无人机的飞行路线选择,还包括多架无人机的协作调度以及在有限资源下的任务分配。

  本文将深入探讨低空物流配送中的路径优化问题,首先分析单无人机送单路径的优化策略,接着探讨多无人机协作的送单路径优化,最后讨论在有限无人机数量下的送单策略。通过建立数学模型、计算相关公式,并提供相应的代码实现,旨在为低空物流配送的高效运作提供理论支持和实践指导。希望通过本文的研究,能够为未来的无人机配送系统设计和优化提供有价值的参考。

问题 1: 单无人机送单路径优化

  在低空物流配送中,单无人机送单路径优化是一个基础且重要的研究方向。其主要目标是确定无人机从起始点(通常是机场)出发,经过配送点,最终到达用户位置,并返回起始点的最短路径。这一过程不仅涉及到路径的选择,还需要考虑飞行时间、距离和无人机的飞行能力等因素。

1.1 问题背景

  随着无人机技术的进步,越来越多的企业开始采用无人机进行最后一公里的配送。无人机能够在城市环境中快速穿梭,避开交通拥堵,显著提高配送效率。然而,如何有效规划无人机的飞行路径,以确保在最短时间内完成送单任务,仍然是一个亟待解决的问题。

1.2 模型建立

为了优化单无人机的送单路径,我们首先需要建立一个数学模型。以下是模型的基本构成:

  • 坐标系设定: 设定一个二维坐标系,机场、配送点和用户的坐标均在此坐标系中表示。

    • 机场坐标为 ( 0 , 0 ) (0, 0) (0,0)
    • 配送点1坐标为 ( 0.5 , 0.5 ) (0.5, 0.5) (0.5,0.5)
    • 用户1坐标为 ( 1.2 , 0.7 ) (1.2, 0.7) (1.2,0.7)
  • 路径计算: 计算无人机在不同路径上的飞行距离和时间。

1.3 路径计算
  • 设定坐标系,机场坐标为 ( 0 , 0 ) (0, 0) (0,0)
  • 配送点1坐标为 ( 0.5 , 0.5 ) (0.5, 0.5) (0.5,0.5),用户1坐标为 ( 1.2 , 0.7 ) (1.2, 0.7) (1.2,0.7)
  • 计算各段路径的距离:
    • 从机场到配送点1的距离 d A 1 = ( 0.5 − 0 ) 2 + ( 0.5 − 0 ) 2 = 0.5 ≈ 0.71 d_{A1} = \sqrt{(0.5-0)^2 + (0.5-0)^2} = \sqrt{0.5} \approx 0.71 dA1=(0.50)2+(0.50)2 =0.5 0.71 km。
    • 从配送点1到用户1的距离 d 1 U = ( 1.2 − 0.5 ) 2 + ( 0.7 − 0.5 ) 2 = 0.49 + 0.04 ≈ 0.73 d_{1U} = \sqrt{(1.2-0.5)^2 + (0.7-0.5)^2} = \sqrt{0.49 + 0.04} \approx 0.73 d1U=(1.20.5)2+(0.70.5)2 =0.49+0.04 0.73 km。
    • 从用户1返回机场的距离 d U 1 A = ( 1.2 − 0 ) 2 + ( 0.7 − 0 ) 2 = 1.44 + 0.49 ≈ 1.36 d_{U1A} = \sqrt{(1.2-0)^2 + (0.7-0)^2} = \sqrt{1.44 + 0.49} \approx 1.36 dU1A=(1.20)2+(0.70)2 =1.44+0.49 1.36 km。
  1. 计算飞行时间:
  • 无人机飞行速度为每小时40公里,转换为每分钟速度为 40 60 ≈ 0.67 \frac{40}{60} \approx 0.67 60400.67 km/min。
  • 计算各段飞行时间:
    • T A 1 = d A 1 40 × 60 ≈ 1.07 T_{A1} = \frac{d_{A1}}{40} \times 60 \approx 1.07 TA1=40dA1×601.07 分钟。
    • T 1 U = d 1 U 40 × 60 ≈ 1.10 T_{1U} = \frac{d_{1U}}{40} \times 60 \approx 1.10 T1U=40d1U×601.10 分钟。
    • T U 1 A = d U 1 A 40 × 60 ≈ 2.04 T_{U1A} = \frac{d_{U1A}}{40} \times 60 \approx 2.04 TU1A=40dU1A×602.04 分钟。
  1. 总时间计算:
  • 最终的总时间为:
    • T t o t a l = T A 1 + T 1 U + T U 1 A ≈ 1.07 + 1.10 + 2.04 ≈ 4.21 T_{total} = T_{A1} + T_{1U} + T_{U1A} \approx 1.07 + 1.10 + 2.04 \approx 4.21 Ttotal=TA1+T1U+TU1A1.07+1.10+2.044.21 分钟。
1.4 优化策略

在实际应用中,除了计算最短路径外,还需要考虑以下因素来进一步优化无人机的送单路径:

  • 飞行高度: 不同的飞行高度可能会影响无人机的飞行效率和安全性。
  • 气象条件: 风速、降雨等气象因素会影响无人机的飞行速度和稳定性。
  • 禁飞区: 在城市中,某些区域可能存在禁飞限制,需要在路径规划中避开这些区域。
  • 电池续航: 无人机的电池续航能力限制了其飞行距离,需确保无人机在返回时仍有足够的电量。
1.5 示例代码

以下是一个简单的Python代码示例,用于计算单无人机的送单路径和时间:

import numpy as np

def calculate_distance(point1, point2):
    return np.sqrt((point1[0] - point2[0])**2 + (point1[1] - point2[1])**2)

def calculate_time(distance, speed):
    return (distance / speed) * 60  # 转换为分钟

# 定义坐标
airport = (0, 0)
delivery_point = (0.5, 0.5)
user = (1.2, 0.7)

# 计算距离
d_A1 = calculate_distance(airport, delivery_point)
d_1U = calculate_distance(delivery_point, user)
d_U1A = calculate_distance(user, airport)

# 假设飞行速度为40 km/h
speed = 40 / 60  # km/min

# 计算时间
T_A1 = calculate_time(d_A1, speed)
T_1U = calculate_time(d_1U, speed)
T_U1A = calculate_time(d_U1A, speed)

# 总时间
T_total = T_A1 + T_1U + T_U1A

print(f"从机场到配送点的距离: {d_A1:.2f} km, 时间: {T_A1:.2f} 分钟")
print(f"从配送点到用户的距离: {d_1U:.2f} km, 时间: {T_1U:.2f} 分钟")
print(f"从用户返回机场的距离: {d_U1A:.2f} km, 时间: {T_U1A:.2f} 分钟")
print(f"总送单时间: {T_total:.2f} 分钟")

问题 2: 多无人机合作的送单路径优化

  在现代物流配送中,多无人机合作的送单路径优化是一个重要的研究领域。随着无人机技术的不断进步,越来越多的企业开始利用多架无人机协同工作,以提高配送效率和灵活性。该问题的核心在于如何合理调度多架无人机,以最短的时间完成多个用户的送单任务。

2.1 问题背景

  多无人机系统(MAVS)能够在同一时间内处理多个配送任务,显著提升了物流配送的效率。然而,随着无人机数量的增加和配送任务的复杂化,如何优化无人机的飞行路径和任务分配成为了一个亟待解决的挑战。有效的路径优化不仅可以减少配送时间,还可以降低运营成本,提高客户满意度。

2.2 模型建立

为了优化多无人机的送单路径,我们需要建立一个数学模型,主要包括以下几个方面:

  • 坐标系设定: 设定一个二维坐标系,机场、配送点和用户的坐标均在此坐标系中表示。

    • 机场坐标为 ( 0 , 0 ) (0, 0) (0,0)
    • 配送点1坐标为 ( 0.5 , 0.5 ) (0.5, 0.5) (0.5,0.5),用户1坐标为 ( 1.2 , 0.7 ) (1.2, 0.7) (1.2,0.7)
    • 假设还有其他配送点和用户,分别用坐标表示。
  • 任务分配: 假设有 n n n 个用户和 m m m 架无人机,目标是将每个用户的配送任务分配给合适的无人机。

  • 路径计算: 计算每架无人机在完成任务时的飞行距离和时间。

2.3 路径计算

路径的计算主要包括以下几个步骤:

  1. 计算各段路径的距离:

    • 从机场到配送点的距离 d A i d_{Ai} dAi:
      d A i = ( x D i − 0 ) 2 + ( y D i − 0 ) 2 d_{Ai} = \sqrt{(x_{D_i} - 0)^2 + (y_{D_i} - 0)^2} dAi=(xDi0)2+(yDi0)2
    • 从配送点到用户的距离 d i U d_{iU} diU:
      d i U = ( x U j − x D i ) 2 + ( y U j − y D i ) 2 d_{iU} = \sqrt{(x_{U_j} - x_{D_i})^2 + (y_{U_j} - y_{D_i})^2} diU=(xUjxDi)2+(yUjyDi)2
    • 从用户返回机场的距离 d U j A d_{U_jA} dUjA:
      d U j A = ( x U j − 0 ) 2 + ( y U j − 0 ) 2 d_{U_jA} = \sqrt{(x_{U_j} - 0)^2 + (y_{U_j} - 0)^2} dUjA=(xUj0)2+(yUj0)2
  2. 计算飞行时间:

    • 假设无人机的飞行速度为每小时40公里,转换为每分钟速度为 40 60 ≈ 0.67 \frac{40}{60} \approx 0.67 60400.67 km/min。
    • 计算各段飞行时间:
      • 从机场到配送点的时间 T A i T_{Ai} TAi:
        T A i = d A i 40 × 60 T_{Ai} = \frac{d_{Ai}}{40} \times 60 TAi=40dAi×60
      • 从配送点到用户的时间 T i U T_{iU} TiU:
        T i U = d i U 40 × 60 T_{iU} = \frac{d_{iU}}{40} \times 60 TiU=40diU×60
      • 从用户返回机场的时间 T U j A T_{U_jA} TUjA:
        T U j A = d U j A 40 × 60 T_{U_jA} = \frac{d_{U_jA}}{40} \times 60 TUjA=40dUjA×60
  3. 总时间计算:

    • 对于每架无人机,计算完成所有任务的总时间:
      T t o t a l = T A i + T i U + T U j A T_{total} = T_{Ai} + T_{iU} + T_{U_jA} Ttotal=TAi+TiU+TUjA
2.4 调度算法

为了实现高效的路径优化,我们可以采用以下几种调度算法:

  1. 贪心算法: 每次选择当前最短的路径进行配送,直至所有任务完成。虽然简单,但可能无法得到全局最优解。

  2. 遗传算法: 通过模拟自然选择的过程,生成多个解并进行交叉和变异,逐步逼近最优解。

  3. 模拟退火算法: 通过模拟物理退火过程,逐步降低系统温度,以达到全局最优解。

  4. 蚁群算法: 模拟蚂蚁觅食的行为,通过信息素的更新和路径选择,找到最优路径。

2.5 示例代码

以下是一个简单的Python代码示例,使用贪心算法来分配任务给多架无人机:

import numpy as np

def calculate_distance(point1, point2):
    return np.sqrt((point1[0] - point2[0])**2 + (point1[1] - point2[1])**2)

def calculate_time(distance, speed):
    return (distance / speed) * 60  # 转换为分钟

# 定义坐标
airport = (0, 0)
delivery_points = [(0.5, 0.5), (0.8, 0.6)]  # 配送点
users = [(1.2, 0.7), (1.5, 0.8)]  # 用户

# 假设飞行速度为40 km/h
speed = 40 / 60  # km/min

# 任务分配
deliveries = []
for i, delivery_point in enumerate(delivery_points):
    for j, user in enumerate(users):
        d_Ai = calculate_distance(airport, delivery_point)
        d_iU = calculate_distance(delivery_point, user)
        d_UjA = calculate_distance(user, airport)
        
        T_Ai = calculate_time(d_Ai, speed)
        T_iU = calculate_time(d_iU, speed)
        T_UjA = calculate_time(d_UjA, speed)
        
        total_time = T_Ai + T_iU + T_UjA
        deliveries.append((i, j, total_time))

# 按照总时间排序
deliveries.sort(key=lambda x: x[2])

# 输出任务分配结果
for delivery in deliveries:
    print(f"配送点 {delivery[0]} 到 用户 {delivery[1]} 的总时间: {delivery[2]:.2f} 分钟")

问题 3: 最少无人机的送单路径优化

  在低空物流配送中,确保在有限的无人机数量下高效完成送单任务是一个重要的研究课题。随着用户需求的多样化和即时配送服务的兴起,如何在最少的无人机数量下,确保在规定时间内完成所有用户的送单任务,成为了物流行业面临的一个重大挑战。

3.1 问题背景

  在实际应用中,企业往往受到无人机数量和运营成本的限制。为了提高配送效率,企业需要合理调度有限的无人机,以确保在用户下单后能够在规定时间内完成配送。该问题不仅涉及到路径的选择,还需要考虑用户的下单时间、优先级以及无人机的飞行能力等因素。

3.2 模型建立

为了优化在有限无人机数量下的送单路径,我们需要建立一个数学模型,主要包括以下几个方面:

  • 坐标系设定: 设定一个二维坐标系,机场、配送点和用户的坐标均在此坐标系中表示。

    • 机场坐标为 ( 0 , 0 ) (0, 0) (0,0)
    • 配送点1坐标为 ( 0.5 , 0.5 ) (0.5, 0.5) (0.5,0.5),用户1坐标为 ( 1.2 , 0.7 ) (1.2, 0.7) (1.2,0.7)
    • 假设还有其他配送点和用户,分别用坐标表示。
  • 用户优先级: 根据用户的下单时间和需求紧急程度,为每个用户分配一个优先级。

  • 任务分配: 假设有 n n n 个用户和 m m m 架无人机,目标是将每个用户的配送任务分配给合适的无人机,确保在规定时间内完成送单。

  • 路径计算: 计算每架无人机在完成任务时的飞行距离和时间。

3.3 路径计算

路径的计算主要包括以下几个步骤:

  1. 计算各段路径的距离:

    • 从机场到配送点的距离 d A i d_{Ai} dAi:
      d A i = ( x D i − 0 ) 2 + ( y D i − 0 ) 2 d_{Ai} = \sqrt{(x_{D_i} - 0)^2 + (y_{D_i} - 0)^2} dAi=(xDi0)2+(yDi0)2
    • 从配送点到用户的距离 d i U d_{iU} diU:
      d i U = ( x U j − x D i ) 2 + ( y U j − y D i ) 2 d_{iU} = \sqrt{(x_{U_j} - x_{D_i})^2 + (y_{U_j} - y_{D_i})^2} diU=(xUjxDi)2+(yUjyDi)2
    • 从用户返回机场的距离 d U j A d_{U_jA} dUjA:
      d U j A = ( x U j − 0 ) 2 + ( y U j − 0 ) 2 d_{U_jA} = \sqrt{(x_{U_j} - 0)^2 + (y_{U_j} - 0)^2} dUjA=(xUj0)2+(yUj0)2
  2. 计算飞行时间:

    • 假设无人机的飞行速度为每小时40公里,转换为每分钟速度为 40 60 ≈ 0.67 \frac{40}{60} \approx 0.67 60400.67 km/min。
    • 计算各段飞行时间:
      • 从机场到配送点的时间 T A i T_{Ai} TAi:
        T A i = d A i 40 × 60 T_{Ai} = \frac{d_{Ai}}{40} \times 60 TAi=40dAi×60
      • 从配送点到用户的时间 T i U T_{iU} TiU:
        T i U = d i U 40 × 60 T_{iU} = \frac{d_{iU}}{40} \times 60 TiU=40diU×60
      • 从用户返回机场的时间 T U j A T_{U_jA} TUjA:
        T U j A = d U j A 40 × 60 T_{U_jA} = \frac{d_{U_jA}}{40} \times 60 TUjA=40dUjA×60
  3. 总时间计算:

    • 对于每架无人机,计算完成所有任务的总时间:
      T t o t a l = T A i + T i U + T U j A T_{total} = T_{Ai} + T_{iU} + T_{U_jA} Ttotal=TAi+TiU+TUjA
3.4 调度算法

为了实现高效的路径优化,我们可以采用以下几种调度算法:

  1. 最短作业优先(SJF): 根据用户的优先级和下单时间,将最紧急的任务优先分配给无人机。

  2. 贪心算法: 每次选择当前最短的路径进行配送,直至所有任务完成。虽然简单,但可能无法得到全局最优解。

  3. 遗传算法: 通过模拟自然选择的过程,生成多个解并进行交叉和变异,逐步逼近最优解。

  4. 模拟退火算法: 通过模拟物理退火过程,逐步降低系统温度,以达到全局最优解。

  5. 蚁群算法: 模拟蚂蚁觅食的行为,通过信息素的更新和路径选择,找到最优路径。

3.5 示例代码

  以下是一个简单的Python代码示例,使用最短作业优先算法来分配任务给有限数量的无人机:

import numpy as np

def calculate_distance(point1, point2):
    return np.sqrt((point1[0] - point2[0])**2 + (point1[1] - point2[1])**2)

def calculate_time(distance, speed):
    return (distance / speed) * 60  # 转换为分钟

# 定义坐标
airport = (0, 0)
delivery_points = [(0.5, 0.5), (0.8, 0.6)]  # 配送点
users = [(1.2, 0.7), (1.5, 0.8)]  # 用户

# 假设飞行速度为40 km/h
speed = 40 / 60  # km/min

# 用户优先级(下单时间)
user_priorities = [0, 1]  # 假设用户1优先级高于用户2

# 任务分配
deliveries = []
for i, delivery_point in enumerate(delivery_points):
    for j, user in enumerate(users):
        d_Ai = calculate_distance(airport, delivery_point)
        d_iU = calculate_distance(delivery_point, user)
        d_UjA = calculate_distance(user, airport)
        
        T_Ai = calculate_time(d_Ai, speed)
        T_iU = calculate_time(d_iU, speed)
        T_UjA = calculate_time(d_UjA, speed)
        
        total_time = T_Ai + T_iU + T_UjA
        deliveries.append((i, j, total_time, user_priorities[j]))

# 按照优先级和总时间排序
deliveries.sort(key=lambda x: (x[3], x[2]))

# 输出任务分配结果
for delivery in deliveries:
    print(f"配送点 {delivery[0]} 到 用户 {delivery[1]} 的总时间: {delivery[2]:.2f} 分钟,优先级: {delivery[3]}")

总结

  在低空物流配送的背景下,路径优化问题显得尤为重要。通过对单无人机、多无人机合作以及在有限无人机数量下的送单路径优化的深入分析,我们可以看到,无论是单架无人机的高效调度,还是多架无人机的协同作业,优化路径和合理分配任务都是提升配送效率的关键。本文提出的数学模型和调度算法为解决这些问题提供了理论基础和实践指导。

  随着无人机技术的不断进步和应用场景的扩展,未来的物流配送将更加智能化和高效化。通过进一步研究和优化路径规划算法,我们能够更好地应对日益增长的配送需求,提升客户满意度,并降低运营成本。最终,低空物流配送的创新将为整个行业带来新的机遇和挑战,推动物流行业的可持续发展。


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/935346.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3 通过变量的值,来动态的进行class的赋值

1、需求:不同的设备因为宽度不一样,所以要做一些调整,但是通过tailwindcss的设置并不能满足我们的条件: 现在手机的屏幕大小也很大,设置了xl,发现电脑动,手机也在动,一样的效果。 2…

【开源】基于SpringBoot框架的在线视频教育平台 (计算机毕业设计)+万字毕业论文 T027

系统合集跳转 源码获取链接 一、系统环境 运行环境: 最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 tomcat环境: Tomcat 7.x,8.x,9.x版本均可 操作系统…

导游现场面试需要注意的问题

今天给大家带来一些导游现场面试需要注意的问题,大部分的城市导游考试已经考完了,但是还有一些城市的十二月份才考,有需要的朋友们赶紧来看,有备无患。 01、做好充足准备 认真准备做好每个景点的讲解介绍,不要抱有侥幸…

牛客刷题(总结)

目录 <1> <2> 思路 <1> 给你 4 个整数 a,b,c,d&#xff0c;你需要回答 是奇数还是偶数。 #include<stdio.h> #define int long long int f(int a) {if(a%20){return 0;}else{return 1;}} signed main() {int a,b,c,d;scanf("%lld %lld %lld %ll…

AI智算-k8s部署大语言模型管理工具Ollama

文章目录 简介k8s部署OllamaOpen WebUI访问Open-WebUI 简介 Github&#xff1a;https://github.com/ollama/ollama 官网&#xff1a;https://ollama.com/ API&#xff1a;https://github.com/ollama/ollama/blob/main/docs/api.md Ollama 是一个基于 Go 语言开发的可以本地运…

Arduino: Arduino IDE安装

目录 1.1 Arduino软件下载与安装 1.2 esp32_arduino的开发库安装 1.3 手动安装板支持包 1.1 Arduino软件下载与安装 Arduino官网下载地址&#xff1a;https://www.arduino.cc/en/software。 1.2 esp32_arduino的开发库安装 接下来安装esp32_arduino的开发库。 1.2.1 在线安…

《Hadoop大数据技术应用综合训练》----以NBA冠军球队计数为例

一、综合训练要求 案例中需要处理的文件为nba.csv,该文件记录了NBA历年总冠军的详细情况,文件的字段从左到右依次为比赛年份、具体日期、冠军、比分、亚军和当年MVP(联盟MVP是Most Valuable Player缩写,即最有价值球员),每个字段以半角逗号“,”进行分割,如图1所示。 图…

智能人体安全防护:3D 视觉技术原理、系统架构与代码实现剖析

随着工业化程度的提高&#xff0c;生产安全已成为企业关注的重点。尤其是在一些存在禁区的工业厂区和车间&#xff0c;人员误入或违规进入将带来严重的安全隐患。为了解决这一问题&#xff0c;迈尔微视推出了智能人体安全检测解决方案&#xff0c;为企业提供全方位的人员安全监…

使用html 和javascript 实现微信界面功能2

1.功能说明&#xff1a; 对上一篇的基础上进行了稍稍改造 主要修改点&#xff1a; 搜索功能: 在搜索框后面增加了搜索按钮。 搜索按钮调用performSearch函数来执行搜索操作。 表单形式的功能: 上传文件: 修改为表单形式&#xff0c;允许用户通过文件输入控件选择文件并上传。 …

vulhub复现CVE-2021-44228log4j漏洞

目录 一&#xff1a;漏洞概述 二&#xff1a;漏洞原理 三&#xff1a;漏洞利用 lookup功能&#xff1a; JNDI解析器&#xff1a; ldap服务&#xff1a; RMI&#xff1a; 四&#xff1a;漏洞复现 4.1靶场 4.2dnslog测试 4.3部署jndi-injection-exploit 4.4打开监听端口 4.5触发请…

数据库中的运算符

1.算术运算符 算术运算符主要用于数学运算&#xff0c;其可以连接运算符前后的两个数值或表达式&#xff0c;对数值或表达式进行加&#xff08;&#xff09;、减&#xff08;-&#xff09;、乘&#xff08;*&#xff09;、除&#xff08;/&#xff09;和取模&#xff08;%&…

Java项目实战II基于Java+Spring Boot+MySQL的社区帮扶对象管理系统的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在当前社会&#xff0c;随…

计算机的运维成本计算:运算的任务比例(电能消耗);机器成本C和服务率

计算机的运维成本计算&#xff1a;运算的任务比例&#xff08;电能消耗&#xff09;&#xff1b;机器成本C和服务率 “cost”指的是服务器的运维成本&#xff08;cost of operation and maintenance&#xff09;。提出的模型中&#xff0c;考虑了服务器运维成本以及平均队列等…

MSN文章精选2

大明灭亡时&#xff0c;数万名锦衣卫为何都消失不见&#xff0c;他们都去了哪里&#xff1f; (msn.cn)https://www.msn.cn/zh-cn/news/other/%E5%A4%A7%E6%98%8E%E7%81%AD%E4%BA%A1%E6%97%B6-%E6%95%B0%E4%B8%87%E5%90%8D%E9%94%A6%E8%A1%A3%E5%8D%AB%E4%B8%BA%E4%BD%95%E9%83%…

暴雨首发 Turin平台服务器亮相中国解决方案AMD峰会巡展

近期&#xff0c;AMD中国解决方案峰会分别在北京和深圳圆满落幕。作为AMD的战略合作伙伴&#xff0c;暴雨信息发展有限公司&#xff08;以下简称“暴雨”&#xff09;一直积极研发基于AMD芯片的产品&#xff0c;并在本次巡展上首次发布展出了最新的Turin平台的AI服务器产品算力…

算法日记48 day 图论(拓扑排序,dijkstra)

今天继续图论章节&#xff0c;主要是拓扑排序和dijkstra算法。 还是举例说明。 题目&#xff1a;软件构建 117. 软件构建 (kamacoder.com) 题目描述 某个大型软件项目的构建系统拥有 N 个文件&#xff0c;文件编号从 0 到 N - 1&#xff0c;在这些文件中&#xff0c;某些文件…

vue-echarts高度缩小时autoresize失效

背景 项目中采用动态给x-vue-echarts style赋值width&#xff0c;height的方式实现echarts图表尺寸的改变 <v-chart...autoresize></v-chart>给v-chart添加autoresize后&#xff0c;在图表宽度变化&#xff0c;高度增加时无异常&#xff0c;高度减小时图表并未缩…

40 list类 模拟实现

目录 一、list类简介 &#xff08;一&#xff09;概念 &#xff08;二&#xff09;list与string和vector的区别 二、list类使用 &#xff08;一&#xff09;构造函数 &#xff08;二&#xff09;迭代器 &#xff08;三&#xff09;list capacity &#xff08;四&#x…

vue3监听横向滚动条的位置;鼠标滚轮滑动控制滚动条滚动;监听滚动条到顶端

1.横向取值scrollLeft 竖向取值scrollTop 2.可以监听到最左最右侧 3.鼠标滚轮滑动控制滚动条滚动 效果 <template><div><div class"scrollable" ref"scrollableRef"><!-- 内容 --><div style"width: 2000px; height: 100…