论文研读_多目标部署优化:无人机在能源高效无线覆盖中的应用(ImMOGWO)精简版

  • 此篇文章为Multi-objective Deployment Optimization of
    UAVs for Energy-Efficient Wireless Coverage
    的论文学习笔记,只供学习使用,不作商业用途,侵权删除。并且本人学术功底有限如果有思路不正确的地方欢迎批评指正!

创新点

RD算法

混合解初始化算法

改进的多目标灰狼优化(ImMOGWO)算法

在本节中,我们首先介绍所提出的改进的多目标灰狼优化(ImMOGWO)算法的动机。随后,将介绍作为ImMOGWO算法第一部分的角色确定(RD)算法。最后,ImMOGWO算法的第二部分包括混合解初始化(HSI)算法和基于Levy飞行与正余弦方法(LSCMGA)的解决方案更新操作。

D. 整体算法设计与复杂度分析

提出的 ImMOGWO 算法的整体过程如算法 4 所示。我们的算法旨在通过优化无人机(UAV)的数量、三维位置和速度,以实现良好的覆盖率和低能耗。首先,基于移动地面用户(GU)的分布,我们设计了 RD 算法对地面用户进行聚类,为无人机的数量和位置初始化做准备。接着,由于优化变量的多样性,我们提出了 HSI 算法来初始化所有变量,以提高算法的收敛效果。此外,我们应用 LSC 方法在LSCMGA算法中避免局部最优并加速收敛。考虑到每个时间段用户的移动性,上述三部分将在每个时间段优化无人机的部署位置。由于RD算法和HSI算法克服了随机初始化造成的缺点, ImMOGWO 算法的收敛速度相对较快,这也表明提出的 ImMOGWO 算法具有良好的收敛性能。我们提出的算法不仅可以应用于本文中的多无人机部署场景,还可以应用于移动边缘计算中无人机作为边缘服务器的通信和位置优化场景。

N G U N_{GU} NGU 表示GU(基站用户)的数量, N c N_c Nc 表示簇的数量。单个时间槽中RD(资源分配)的计算复杂度为 O ( N i t ⋅ N G U ⋅ N c ) O(N_{it} \cdot N_{GU} \cdot N_c) O(NitNGUNc),其中 N i t N_{it} Nit 是收敛所需的迭代次数。当变量数量为 n v n_v nv 时,单个时间槽中HSI(互联网卫星)的计算复杂度为 O ( n v ⋅ K ) O(n_v \cdot K) O(nvK),其中 K K K 是无人机的数量。设 k k k N p N_p Np 分别表示优化目标的数量和种群大小。当帕累托存档的大小与种群 N p N_p Np 相同时,LSCMGA算法中对帕累托存档中的 N p N_p Np 个解进行排序的计算复杂度为 O ( k ⋅ N p ⋅ log ⁡ ( N p ) ) O(k \cdot N_p \cdot \log(N_p)) O(kNplog(Np))。因此,所提出的 ImMOGWO 在 N T N_T NT 个时间槽期间的整体计算复杂度为 O ( N T ( N i t ⋅ N G U ⋅ N c + n v ⋅ K + k ⋅ N p ⋅ log ⁡ ( N p ) ) ) O(N_T (N_{it} \cdot N_{GU} \cdot N_c + n_v \cdot K + k \cdot N_p \cdot \log(N_p))) O(NT(NitNGUNc+nvK+kNplog(Np)))

这个伪代码描述的是“ImMOGWO算法”,其由以下几个部分组成:

  1. 输入(第1行):输入参数是时间槽的数量 N T N_T NT
  2. 时间槽循环(第2-10行)
    • 对于每个时间槽 t t t 1 ≤ t ≤ N T 1 \leq t \leq N_T 1tNT),执行以下步骤(第2行)。
    • 每个地面用户(GU)随机改变其位置(第3行)。
    • 利用算法1获得当前时间槽的群集分布 χ [ t ] \chi[t] χ[t](第4行)。
    • 基于群集分布,通过算法2初始化无人机(UAV)的数量、位置和速度(第5行)。
    • 接着执行算法3进行优化处理(第6行)。
    • 如果 t ≥ 1 t \geq 1 t1且当前时间槽的群集分布与前一时间槽相同( χ [ t ] = χ [ t − 1 ] \chi[t] = \chi[t-1] χ[t]=χ[t1]),则中断循环(第7-9行)。
  3. 输出(第11行):输出结果是在良好覆盖和高能效要求下的无人机部署方案。
    总结来说,ImMOGWO算法通过在不同时间槽内调整无人机的数量、位置和速度,以响应地面用户的位置变化,从而达到优化无人机部署的目的,关注于覆盖范围的最大化和能源效率的提高。

A. 动机

多目标优化与单目标优化不同,在多目标优化问题(MOP)中比较解决方案较为困难,因为多目标空间具有多重目标比较度量。MOGWO算法通过狼的狩猎规则接近目标[44]。每只灰狼的位置代表解空间中的一个可行解。在群体中,三只灰狼占据最佳位置,分别命名为α、β、δ。其余非领导狼统一命名为ω。在狩猎过程中,这三只狼将带领其余狼移动并捕捉猎物,直到找到猎物(最优解)。
提出了ImMOGWO算法以解决上述缺点,其中RD算法旨在克服随机初始化引起的算法低效问题。由于混合解被求解,HSI用于初始化混合解。然后,我们使用基于MOGWO算法的LSC方法增加解决方案的多样性并提高算法效率。
加权切比雪夫方法[45]可以提供一个最优帕累托点。然而,使用均匀加权切比雪夫方法获得的解通常不是均匀分布的。为解决这个问题,改进的加权切比雪夫方法增加了参数ρ。但是,参数ρ难以设置。一个值可能会导致计算困难,而较大的值可能会导致一些非支配点被忽视。此外,我们的优化问题中考虑了混合物理因素,如用户移动性、无人机的数量、位置和速度,它们相互影响。每个个体包含所有无人机的信息,这是一个多维变量。

B. 地面用户(GUs)角色确定算法

鉴于地面用户(GUs)可以随机移动且分布不均,使用无人机(UAV)的随机初始位置初始化是非常低效的。为了防止无人机随机初始化导致的算法效率低下,我们设计了用于无人机位置初始化的角色确定(RD)算法。然后,对于一些传统的聚类算法,例如K-means算法[46],需要预先给定簇的数量。此外,聚类结果严重受到初始聚类中心选择的影响[47]。**为了弥补传统聚类算法的不足,RD算法旨在将地面用户划分为几个簇,并根据簇内用户的 数量和距离 预测无人机的数量和位置。**在每个时间段内,地面用户被视为静止的,使用RD算法确定每个时间段的簇分布。当地面用户的位置随着时间段的变化而变化时,RD算法将再次运行。

每个基站用户(GU)可以决定其角色,即作为簇中心或非簇中心。簇分布表示为 χ = { χ 1 , χ 2 , . . . , χ N } \chi = \{\chi_1, \chi_2, ..., \chi_N\} χ={χ1,χ2,...,χN} ,其中 χ i ∈ { 0 , 1 } \chi_i \in \{0,1\} χi{0,1} 。当 χ i = 0 \chi_i = 0 χi=0时,表示第 i i i 个 GU 作为簇中心。当 χ i = 1 \chi_i = 1 χi=1 时,表示第 i i i 个 GU 是非簇中心。对于给定的簇分布 χ \chi χ ,适应度函数 F i t ( χ ) Fit(\chi) Fit(χ) 被定义为反映簇内个体的身份以及不同簇之间的差异,其表达方式为:

其中 N ( χ ) N(\chi) N(χ) 是簇的数量。 R χ ( i ) R_\chi(i) Rχ(i) 表示最小的组间距离与组内距离的比率,用于评估配置 χ \chi χ 的聚类效果,其定义为。这里 R χ ( i ) = min ⁡ j ≠ i m i j e i + e j . e j \begin{aligned}R_\chi(i)=\min_{j\neq i}\frac{m_{ij}}{e_i+e_j}.e_j\end{aligned} Rχ(i)=j=iminei+ejmij.ej e j e_j ej 是第 j j j 个簇中基站用户(GU)与该簇中心之间的平均距离, e i e_i ei 是第 i i i 个簇中的 GU 与其簇中心之间的平均距离。 m i j m_{ij} mij 则是第 i i i 个簇和第 j j j 个簇的中心之间的距离。

其中 B 是一个正常数。为了获得最优的簇分布,必须最大化适应度函数 F i t ( χ ) Fit(\chi) Fit(χ)。设X代表所有可行的 χ \chi χ 的集合,即:

所提出的RD算法在每个时间槽的过程如算法1所示。

每个GU都会随机地初始化其角色,无论是否充当聚类中心。此时, G U n GU_n GUn 将广播其包括角色和位置信息在内的信息,并接收其他GU的信息。当所有 GU 都接收到其他 GU 的信息后,每个GU将根据欧几里得距离加入最近的聚类。这时将获得聚类分布 χ \chi χ 。同时,每个 GU 计算 R χ ( i ) ( i = 1 , 2 , . . . , N ( χ ) ) R_{\chi}(i)(i=1,2,...,N(\chi)) Rχ(i)(i=1,2,...,N(χ)) F i t ( χ ) Fit(\chi) Fit(χ) 。然后,每个 GU 生成一个遵循指数分布的随机数,该分布的平均值为正。**GU将基于生成的随机数进行衰减。**在衰减至零后,GU将根据概率 p χ ^ χ p_{\hat{\chi}\chi} pχ^χ 改变当前角色。也就是说,**GU的角色将从非聚类中心变为聚类中心,或从聚类中心变为非聚类中心。**GU将根据概率 1 − p χ ^ χ 1-p_{\hat{\chi}\chi} 1pχ^χ保持当前角色。如果GU没有改变其角色,它将再次生成一个遵循指数分布的随机数并进行衰减。

如果GU改变了当前的角色状态,它将向其他用户广播新角色,并生成一个新的随机数以重新启动衰减过程。当其他GU接收到新角色时,它们可能会退出当前聚类并加入一个新的聚类。这时将获得新的聚类分布 χ ^ \hat{\chi} χ^。再次计算 R χ ^ ( i ) ( i = 1 , 2 , . . . , N ( χ ^ ) ) R_{\hat{\chi}}(i)(i=1,2,...,N(\hat{\chi})) Rχ^(i)(i=1,2,...,N(χ^))。然后,每个GU继续其衰减过程。在GU的衰减过程结束时,将基于聚类分布 χ ^ \hat{\chi} χ^重新计算改变角色的概率。迭代结束直到适应度函数 F i t m Fit_m Fitm​收敛,可以获得聚类分布的结果。RD算法通过将GU分组到聚类中,为混合解初始化算法(HSI)做准备,以提高算法的收敛效果。

  1. 主循环(第2-12行):
    • 这个模块是算法的核心,包括所有主要的处理步骤。
      • 角色选择与信息广播(第3行):每个GU(群体单元)随机选择其角色并广播其信息。
      • 集群分布获取(第4行):在接收到其他GUs的角色后,GU n n n 可以得到当前的集群分布 χ \chi χ
      • 角色评估与适应度计算(第5行):GU n n n 计算 R χ ( i ) R_{\chi}(i) Rχ(i)(对于 i = 1 , 2 , . . . , N ( χ ) i = 1,2,...,N(\chi) i=1,2,...,N(χ))和 Fit ( χ ) \text{Fit}(\chi) Fit(χ),即集群的适应度。
      • 计时器生成与倒计时(第6行):GU n n n 生成一个遵循指数分布的计时器,并开始倒计时。
      • 角色变更决策(第7行):计时器到期后,GU n n n 根据概率 p χ χ ^ p_{\chi \hat{\chi}} pχχ^ 改变其角色或以 1 − p χ χ ^ 1 - p_{\chi \hat{\chi}} 1pχχ^ 的概率保持其角色。
      • 角色更新与新集群配置(第8行):如果GU n n n 改变了其角色,它将广播新角色并获取新的集群配置 χ ^ \hat{\chi} χ^
      • 新配置下的适应度计算(第9行):其他GUs在新的集群配置 χ ^ \hat{\chi} χ^ 下计算 Fit ( χ ^ ) \text{Fit}(\hat{\chi}) Fit(χ^)
      • 新计时器生成与重复过程(第10-11行):GU n n n 生成一个新的计时器并重复步骤7-10。
  2. 输出结果(第13行):
    • 这个模块负责输出最终的集群配置 χ \chi χ,集群数量 N cluster = N ( χ ) N_{\text{cluster}} = N(\chi) Ncluster=N(χ),每个集群中GU的数量 C j , num C_{j,\text{num}} Cj,num,以及每个集群中心的位置 po cc → \overrightarrow{\text{po}_{\text{cc}}} pocc
      每个模块都是算法的一个关键部分,共同协作以实现角色决策(RD)算法的目标。

C. 无人机的能源高效部署

为了增强传统的多目标灰狼优化( MOGWO )算法的性能并克服其面临的挑战,提出了==混合解初始化算法( HSI )==以初始化所有变量,从而改善算法的收敛效果。此外,为了避免局部最优并加速收敛, LSC 方法被应用于局部搜索聚类多目标遗传算法( LSCMGA ),该算法可以在每个时间槽中运行。

  1. 解决方案初始化:为此,我们提出了混合解初始化算法( HSI ),以初始化决策变量,加快收敛速度并提高个体初始化的多样性。在该算法中,所需无人机( UAV )的数量和每架无人机的位置被纳入我们的决策变量。当簇的数量过大时,每个簇对应一架无人机显然是不现实的。因此,我们提出==在一定概率下,一个簇由一架无人机相对应地覆盖。我们将无人机的状态定义为 U N cluster × 1 = [ U 1 , U 2 , . . . , U N cluster ] UN_{\text{cluster}} \times 1 = [U_1, U_2, ..., U_{N_{\text{cluster}}}] UNcluster×1=[U1,U2,...,UNcluster] ,且 U j ∈ { 0 , 1 } U_j \in \{0,1\} Uj{0,1} 。当 U j = 1 U_j = 1 Uj=1 时,表示第 j j j 架无人机需要覆盖第 j j j 个簇;否则,第 j j j 架无人机将不被考虑。这里我们定义第 j j j 个簇的重要性为。它与簇中用户 ϖ c c j , j ∈ { 1 , 2 , . . , N c l u s t e r } \begin{aligned}\varpi_{cc}^j,j\in\{1,2,..,N_{cluster}\}\end{aligned} ϖccj,j{1,2,..,Ncluster} 的数量成正比,可以表示为 ϖ c c j ∝ C j , n u m \varpi_{cc}^j\propto C_{j,num} ϖccjCj,num 。这意味着簇中 GU(基站用户)越多,该簇的重要性就越高==。然后,第 j j j 个候选无人机对应第 j j j 个簇的需求概率由簇的重要性和簇之间的距离决定,表达为:

其中, r j m i n = min ⁡ j ≠ i r i , j \begin{aligned}r_j^{min}&=\min_{j\neq i}r_{i,j}\end{aligned} rjmin=j=iminri,j 表示第 j j j 个簇与其他簇之间的最小距离。==簇的重要性越大且最小距离越长,相应的无人机被需要的概率就越高。==根据方程式(18),我们可以得到 [ U 1 , U 2 , . . . , U N cluster ] [U_1, U_2, ..., U_{N_{\text{cluster}}}] [U1,U2,...,UNcluster] 。因此,无人机的数量初始化为 K = ∑ i U i K = \sum_i U_i K=iUi
接着,每架所需无人机的位置通过相应簇中心位置进行初始化。我们使用正态分布来计算无人机在不同区域降落的概率。

HSI算法的过程展示在算法2中。

  1. 初始化输入(第1行):
  2. 集群与无人机需求计算(第2-4行):
    • 根据算法第一步的输出,这个模块计算每个无人机被需要的概率(步骤3),以及实际所需无人机的数量(步骤4)。
  3. 无人机位置与安全距离检查(第5-12行):
    • 在这个模块中,每个所需的无人机根据一定概率找到其在对应集群中的初始水平位置(步骤6)。
  4. 能量方程与初始速度计算(第13行)
  5. 解决方案检查与循环(第15-17行):
    • 如果当前解决方案集为空,则返回步骤3重新计算。
  6. 输出结果(第18行):
    • 最终输出所有初始解决方案的集合 W ⃗ = [ K , X , Y , H , V ] \vec{W} = [K,X,Y,H,V] W =[K,X,Y,H,V],其中包括每个无人机的编号、位置和速度。

**最优解被视为α狼。β狼和δ狼分别是第二和第三优的解决方案。其余非领导狼均被统称为ω狼。**在我们提出的LSCMGA算法中,在根据适应度函数值选出前三个最优解后,我们采用了SCA的思想来接近猎物,以避免陷入局部优化。其公式如下:

其中 i = { 1 , 2 , 3 } i = \{1,2,3\} i={1,2,3} j = { α , β , δ } j = \{\alpha, \beta, \delta\} j={α,β,δ} r ⃗ i 1 \vec{r}_{i1} r i1决定了解决方案在当前解决方案与目的地之间空间中的下一个位置。 r ⃗ i 2 ∈ [ 0 , 2 π ] \vec{r}_{i2} \in [0,2\pi] r i2[0,2π],定义了向目的地移动或远离目的地的距离。 r ⃗ i 3 \vec{r}_{i3} r i3赋予目的地随机权重,以便在定义距离时随机加强( r ⃗ i 3 > 1 \vec{r}_{i3} > 1 r i3>1)或削弱( r ⃗ i 3 < 1 \vec{r}_{i3} < 1 r i3<1)目的地的影响。最后,参数 r ⃗ i 4 \vec{r}_{i4} r i4是[0,1]之间的随机数,控制正弦和余弦分量的选择。然后,对于每个搜索代理的位置更新,我们应用Levy飞行策略使狼群接近这三位领导者,即:

其中 W k → ( ℓ + 1 ) \overrightarrow{W_k}(\ell+1) Wk (+1) 是第 k k k 个 ω 狼在第 ( ℓ + 1 ) (\ell+1) (+1) 次迭代中的位置, r 5 r_5 r5 是 [0,1] 范围内的随机值。 a a a 是步长缩放因子。 ⊕ \oplus 表示元素间的乘法。 L e υ y ( β ^ ) Le\upsilon y(\hat{\beta}) Leυy(β^) 是服从 Levy 分布的随机步长,通过 L e v y ( β ^ ) = u ∣ v ∣ 1 β ^ \begin{aligned}\boldsymbol{Levy}(\hat{\beta})&=\frac u{|v|^{\frac1{\hat{\beta}}}}\end{aligned} Levy(β^)=vβ^1u 计算得出。 u ∼ N ( 0 , σ u 2 ) u \sim N(0,\sigma_u^2) uN(0,σu2) v ∼ N ( 0 , σ v 2 ) v \sim N(0,\sigma_v^2) vN(0,σv2),其中 σ v 2   =   ( Γ ( 1 + β ^ ) s i n ( π β ^ 2 ) Γ ( 1 + β ^ 2 ) β ^ ⋅ 2 β ^ − 1 2 ) 1 β ^ , \begin{aligned}\sigma_v^2~=~(\frac{\Gamma(1+\hat{\beta})sin(\frac{\pi\hat{\beta}}{2})}{\Gamma(\frac{1+\hat{\beta}}{2})\hat{\beta}\cdot2^{\frac{\hat{\beta}-1}{2}}})^{\frac{1}{\hat{\beta}}},\end{aligned} σv2 = (Γ(21+β^)β^22β^1Γ(1+β^)sin(2πβ^))β^1, σ u 2 = 1 \sigma_u^2 = 1 σu2=1 β ^ ∈ ( 0 , 2 ] \hat{\beta} \in (0,2] β^(0,2] .

获得的非支配解将被存储在存档中。值得注意的是,存档的容量是有限的,且容量大小是一个固定值。在迭代过程中,获得的新的非支配解将与存档中的解进行比较以更新存档。如果存档中没有空间,且新解支配了存档中的一个或多个解,则我们将启动网格机制,删除当前存档中的一个或多个解,以腾出空间存储新解。网格机制用于根据解的价值密度将目标空间划分为几个段。然后,我们将优先考虑最集中的段落,并从该段中提取并删除解决方案,以提供存储新解的空间。如果存档中有空间存储新解决方案,只有当新解决方案支配存档中的一个或多个解时,新解决方案才能成为存档的成员。还有一种特殊情况是新添加的解决方案位于所有段之外。那么,网格将被更新以包含新解决方案。

我们还需要通过比较解决方案来选择最佳领导者。为了避免在多目标搜索空间中选择与三位领导者相同的解决方案,我们使用领导者选择机制来寻找三个不同的领导者。如前所述,我们已经有一个存档,里面存放了到目前为止获得的非支配解。在网格机制将目标空间划分为几个段落后,领导者选择机制将采用轮盘赌方法,在最不集中的段落中选择一个解作为三位领导者之一,该段落具有最分散的函数值。如果最不集中的段落中的解决方案少于三个,则会寻找次不集中的段落来选择其他领导者,直到找到三个不同的领导者。因此,领导者选择机制防止了算法为α、β或δ狼选择相似领导者来更新 ω 狼的位置。
所提出的 LSCMGA 的伪代码显示在算法3中。

  1. 初始化(第1行):
    • 使用算法2初始化灰狼群体 X i ( i = 1 , 2 , . . . , n ) X_i (i = 1,2,...,n) Xi(i=1,2,...,n) 和计数器 τ = 1 \tau = 1 τ=1。这是算法开始的基础步骤,确保了每个灰狼的初始位置都是根据混合解决方案初始化算法设定的。
  2. 计算每个灰狼的目标值与非支配解初始化再存档(第2-3行)
  3. 领导者选择与位置记录(第4行):
    • 通过领导力选择机制从存档中找到领导者 α \alpha α β \beta β δ \delta δ 狼,并记录其位置 X α , X β , X δ X_\alpha, X_\beta, X_\delta Xα,Xβ,Xδ。这一步是为了后续的位置更新提供参考。
  4. 主循环(第5-20行):
    • 这是算法的核心部分,包括位置更新、参数更新、目标值计算、存档更新等步骤。
      • 位置更新(第6-8行):根据三位领导者的位置,更新当前搜索代理的位置,依据公式(23)-(24)。
      • 参数更新(第9行):更新算法中的参数,如 r i 1 , r i 2 , r i 3 , r i 4 , i = { 1 , 2 , 3 } , r 5 , a , β ^ r_{i1}, r_{i2}, r_{i3}, r_{i4}, i = \{1,2,3\}, r_5, a, \hat{\beta} ri1,ri2,ri3,ri4,i={1,2,3},r5,a,β^
      • 目标值计算与非支配解更新(第10-11行):为每个搜索代理计算目标值并找出非支配解,更新存档以反映获得的非支配解。
      • 存档管理(第12-17行)
  5. 迭代与存档返回(第19-21行):
    • 更新迭代计数器 τ \tau τ 并检查是否达到迭代次数 N iter N_{\text{iter}} Niter 的条件。如果没有,重复主循环。最终,返回存档作为算法的输出,存档包含了算法寻找到的最优解集。
      这个算法通过精心设计的循环和更新机制,确保了灰狼优化算法能够有效地搜索解空间,并通过存档机制保留最优的非支配解。

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

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

相关文章

热红外图像直方图修正显示

热红外图像的直方图修正是一种用于增强图像对比度和可视化细节的技术。下面是一个使用Python和OpenCV库实现直方图均衡化的示例代码&#xff1a; import cv2 import numpy as np# 读取热红外图像 image cv2.imread(thermal_image.png, cv2.IMREAD_GRAYSCALE)# 对图像进行直方…

.NetCore6.0实现ActionFilter过滤器记录接口请求日志

文章目录 目的实现案例&#xff1a;一.首先我们新建一个WebApi项目二.配置 appsettings.json 文件&#xff0c;配置日志存放路径三.创建 Model 文件夹&#xff0c;创建AppConfig类和ErrorLog类1.在AppConfig类中编写一个GetConfigInfo方法获取配置文件中的值2.在ErrorLog类中&a…

JAVA虚拟机实战篇之内存调优[1](内存泄露和溢出概念、常见场景、解决思路)

文章目录 内存泄漏&#xff08;memory leak&#xff09;内存溢出&#xff08;Out of Memory&#xff09;&#xff1a; 内存泄漏的常见场景场景一&#xff1a;未删除用户数据场景二&#xff1a;分布式任务调度 解决内存溢出解决内存溢出思路发现问题 – Top命令发现问题 – Visu…

云计算OpenStack KVM迁移

动态迁移 static migration 静态迁移 cold migration 冷迁移 offline migration 离线迁移 live migration 动态迁移 hot migration 热迁移 online migration 在线迁移 衡量 整体迁移时间 服务器停机时间 性能影响(迁移后和其它客户机) 特点 负载均衡 解除硬件依赖…

算法刷题day22:双指针

目录 引言概念一、牛的学术圈I二、最长连续不重复序列三、数组元素的目标和四、判断子序列五、日志统计六、统计子矩阵 引言 关于这个双指针算法&#xff0c;主要是用来处理枚举子区间的事&#xff0c;时间复杂度从 O ( N 2 ) O(N^2) O(N2) 降为 O ( N ) O(N) O(N) &#xf…

three.js如何实现简易3D机房?(四)点击事件+呼吸灯效果

接上一篇&#xff1a; three.js如何实现简易3D机房&#xff1f;&#xff08;三&#xff09;显示信息弹框/标签&#xff1a;http://t.csdnimg.cn/5W2wA 目录 八、点击事件 1.实现效果 2.获取相交点 3.呼吸灯效果 4.添加点击事件 5.问题解决 八、点击事件 1.实现效果 2.…

postman登录鉴权之接口测试

一.背景 在做接口测试的时候&#xff0c;有些接口向后台请求数据的时候&#xff0c;是需要用户在登录情况下才有数据返回。 以电商平台为例&#xff0c;用户的个人中心&#xff0c;用户的订单列表&#xff0c;用户的支付信息等等&#xff0c;所有用户维度的数据都是需要登录态…

网络原理TCP_IP

文章目录 应用层自定义协议 传输层udp协议TCP协议1.确认应答2.超时重传3.连接管理建立连接, 三次握手断开连接, 四次挥手tcp的状态 4.滑动窗口5.流量控制6.拥塞控制7.延时应答8.携带应答9.面向字节流10.异常情况 网络层IP协议地址管理路由选择 数据链路层以太网 应用层 自定义…

okHttp MediaType MIME格式详解

一、介绍 我们在做数据上传时&#xff0c;经常会用到Okhttp的开源库&#xff0c;okhttp开源库也遵循html提交的MIME数据格式。 所以我们经常会看到applicaiton/json这样的格式在传。 但是如果涉及到其他文件等就需要详细的数据格式&#xff0c;否则服务端无法解析 二、okHt…

【信息系统项目管理师】--【信息技术发展】--【新一代信息技术及应用】--【虚拟现实】

文章目录 第二章 信息技术发展2.2 新一代信息技术及应用2.2.6 虚拟现实1.技术基础2.关键技术3.应用和发展 第二章 信息技术发展 信息技术是在信息科学的基本原理和方法下&#xff0c;获取信息、处理信息、传输信息和使用信息的应用技术总称。从信息技术的发展过程来看&#xff…

3.5 力扣 交错字符串

97. 交错字符串 给定三个字符串 s1、s2、s3&#xff0c;请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下&#xff0c;其中每个字符串都会被分割成若干 非空 子字符串&#xff1a; s s1 s2 ... snt t1 t2 ... tm|n - m| &…

PDF处理控件aspose.PDF功能演示:将 PDF 转换为 Word 文档

在 Web 应用程序中处理文档时&#xff0c;将 PDF 文件无缝转换为 Word 文档的能力是一项宝贵的资产。此任务不仅常见&#xff0c;而且对于文档转换器和编辑器、从编辑和协作到内容提取的各种应用程序来说也是必不可少的。在这篇博文中&#xff0c;我们将探讨如何使用 JavaScrip…

【vue3之组合式API】

组合式API 一、setup1.写法2.如何访问3.语法糖4.同步返回对象 二、reactive()和ref()1.reactive()2.ref() 三、computed四、watch函数1侦听单个数据2.侦听多个数据3. immediate4. deep5.精确侦听对象的某个属性 五、生命周期函数六、组件通信1.父传子2. 子传父 七、模版引用1. …

数字创新的风口:创业者如何在Web3时代抢占先机

随着区块链技术的不断发展&#xff0c;Web3正成为数字创新的新风口&#xff0c;为创业者们带来了前所未有的机遇和挑战。本文将从另一个角度探讨Web3对创业者的影响&#xff0c;并提出创业者在Web3时代抢占先机的策略和方法。 1. Web3重新定义了商业模式 Web3不仅仅是一种技术…

Java设计模式:建造者模式之经典与流式的三种实现(四)

本文将深入探讨Java中建造者模式的两种实现方式&#xff1a;经典建造者与流式建造者。建造者模式是一种创建型设计模式&#xff0c;它允许你构建复杂对象的步骤分解&#xff0c;使得对象的创建过程更加清晰和灵活。我们将通过示例代码详细解释这两种实现方式&#xff0c;并分析…

重塑Android通信新格局:探秘Android 8.0之后的Binder架构革新

重塑Android通信新格局:探秘Android 8.0 之后的Binder架构革新 1. 引言 Android作为全球主流移动操作系统,在移动设备领域扮演着举足轻重的角色。其开放性、灵活性和广泛的应用生态系统使得无数用户和开发者受益。作为一个基于Linux内核的操作系统,Android的核心架构设计至…

Spring Webflux 详解

目录 0、组件对比 1、WebFlux 1、引入 2、Reactor Core 1、HttpHandler、HttpServer 3、DispatcherHandler 1、请求处理流程 4、注解开发 1、目标方法传参 2.返回值写法 5、文件上传 6、错误处理 7、RequestContext 8、自定义Flux配置 9、Filter WebFlux&am…

Elasticsearch模拟网络丢包

背景 Elasticsearch一旦遇到网络抖动就可能节点&#xff08;单个或者多个&#xff09;掉出集群。从而集群出现red/yellow状态&#xff0c;理论情况下ES会自愈&#xff0c;但某些情况下可能非预期&#xff0c;此时就需要我们模拟各种case了&#xff0c;比如网络丢包。 操作 1…

postman Unable to load data as you are offline解决办法 重新登陆无效

postman Unable to load data as you are offline解决办法 重新登陆无效 也能如下一直打不开 - 重新登陆试过了 没有效果 - 刚刚代理切换到了全局,软件内的开关开启了 修改后

鸿蒙NEXT开发实战:【网络管理-数据请求】

概述 本示例仿postman输入API接口地址&#xff0c;获取相应数据&#xff0c;介绍数据请求接口的用法。 样例展示 基础信息 Http 介绍 本示例通过[ohos.net.http]等接口&#xff0c;实现了根据URL地址和相关配置项发起http请求的功能。 效果预览 首页结果页 使用说明 1.…
最新文章