舰船科学技术  2023, Vol. 45 Issue (6): 158-161    DOI: 10.3404/j.issn.1672-7649.2023.06.030   PDF    
基于云计算技术的船舶通信网络动态负载均衡研究
马卓     
广东工业大学 计算机学院,广东 广州 510006
摘要: 为了提升动态负载均衡效果,提出基于云计算技术的船舶通信网络动态负载均衡方法。利用直觉模糊时间序列算法预测云计算船舶通信网络服务器负载,对比分析预测负载与服务器负载上下限阈值,决定服务器内虚拟机是否需要迁移,若需要迁移,则以最短迁移时间与最小迁移量为目标,建立迁移目标虚拟机集合选择模型,利用遗传算法求解该模型得到迁移目标虚拟机集合,并以最大剩余容量为选择策略选择目标服务器,动态在线迁移目标虚拟机集合至目标服务器完成船舶通信网络动态负载均衡。实验证明:该方法可实现船舶通信网络动态负载均衡;不同任务数量时,该方法的动态负载均衡效果均较优;不同虚拟机数量时,该方法可有效降低任务截止时间违背率。
关键词: 云计算技术     船舶通信网络     动态负载均衡     虚拟机     服务器     遗传算法    
Research on dynamic load balancing of ship communication network based on cloud computing technology
MA Zhuo     
School of Computer Science and Technology, Guangdong University of Technology, Guangzhou 510006, China
Abstract: Research the dynamic load balancing method of ship communication network based on cloud computing technology to improve the dynamic load balancing effect. Intuitive fuzzy time series algorithm is used to predict the load of cloud computing ship communication network server. Compare and analyze the upper and lower thresholds of predicted load and server load to determine whether the virtual machine in the server needs to be migrated; If migration is required, the selection model of migration target virtual machine set is established with the shortest migration time and minimum migration volume as the goal; The model is solved by genetic algorithm, and the virtual machine set of migration target is obtained; Select the target server with the maximum remaining capacity as the selection strategy. Dynamic online migration of target virtual machines to target servers to complete dynamic load balancing of ship communication network. Experiments show that this method can achieve dynamic load balancing of ship communication network. When the number of tasks is different, the dynamic load balancing effect of this method is better, when the number of virtual machines is different, this method can effectively reduce the violation rate of task deadline.
Key words: cloud computing technology     ship communication network     dynamic load balancing     virtual machine     server     genetic algorithm    
0 引 言

船舶航行环境较为特殊,因此,传统单一的船舶网络服务器无法适应海上通信环境,且网络传输的信息有限[1]。在船舶网络内安装大量服务器,可提升船舶通信信息的处理效率。但大量服务器协同工作需要较强的负载均衡技术支撑[2]。通过负载均衡方法,平衡网络负载分布情况,缩短任务响应时间,为船舶航行提供较好的网络通信环境。对于负载均衡方法,学术界已积累了部分研究成果。王红运等[3]利用控制器采集网络的负载信息,通过改进蚁群算法,依据采集的网络负载信息,进行网络负载均衡。该方法可有效提升带宽利用率,但需要实时采集网络的负载信息,额外增加了算法的开销,令网络出现新的负载压力,影响网络的服务效率。刘毅等[4]以最小迁移代价为目标,建立迁移模型,通过线性逼近算法,求解该模型,迁移交换机至控制器内,实现网络负载均衡[4]。但该方法容易出现局部收敛问题,影响交换机的迁移效果,导致网络负载均衡效果并不理想。

云计算技术的运算单位是虚拟机,通过在2个服务器间无缝迁移运行虚拟机的方式[5],实现网络负载均衡。虚拟机迁移时的宕机时间较短,且不易察觉,不会影响用户的网络操作。为此提出基于云计算技术的船舶通信网络动态负载均衡方法,提升网络动态负载均衡效果。

1 船舶通信网络动态负载均衡 1.1 云计算船舶通信网络服务器动态负载预测

基于云计算技术的船舶通信网络动态负载均衡的本质是虚拟机迁移。利用直觉模糊时间序列(intuitionistic fuzzy time series,IFTS)算法,预测云计算环境下船舶通信网络内服务器的动态负载,用于决定是否触发虚拟机迁移。云计算环境下船舶通信网络内服务器动态负载预测的步骤如下:

步骤1 在云计算环境下船舶通信网络服务器负载观测数据集X(t)内,抽取样本值 $ {X_t} = \left\{ {{x_1},{x_2}, \cdots ,{x_t}} \right\} $ ,其中, $ t $ 为时间。

步骤2 船舶通信网络服务器负载序列论域是 $ U = \left[ {{x_{\min }} - {\varepsilon _1},{x_{\max }} + {\varepsilon _2}} \right] $ ,其中,2个正数是 $ {\varepsilon _1} $ $ {\varepsilon _2} $ ;[]代表向上、向下取整运算。通过K-means聚类算法,聚类处理 $ U $ ,得到 $ k $ 个优化子区间ck

步骤3 对Xt实施直觉模糊化预处理,塑造服务器负载的IFTS。如果ck的直觉模糊集是 $ {B_j} = \left\langle {{\mu _j}\left( {{x_t}} \right),{q_j}\left( {{x_t}} \right)} \right\rangle $ $ j \in \left[ {1,{c_k}} \right] $ ,那么 $ {B_j} $ 涵盖 $ {x_t} $ 的直觉模糊函数是 $ \left\langle {{\mu _j}\left( {{x_t}} \right),{q_j}\left( {{x_t}} \right)} \right\rangle $ 。其中, $ {\mu _j}\left( {{{{x_t}}}} \right) $ 为直觉模糊隶属度; $ {q_j}\left( {{x_t}} \right) $ 为非隶属度函数。因此,可按照最大化 $\left\langle {\mu _j}\left( {{x_t}} \right), {q_j}\left( {{x_t}} \right) \right\rangle$ 的原则,直觉模糊化预处理xt。如果 $\left\langle {{\mu '}_j}\left( {{x_t}} \right), {{q'}_j}\left( {{x_t}} \right) \right\rangle =\max \langle {\mu _i}\left( {{x_t}} \right),$ ${q_i}\left( {{x_t}} \right) \rangle ,i \in \left[ {1,{c_k}} \right]$ ,那么直觉模糊化结果为 $ {B'_j} = \left\langle {{{\mu '}_j}\left( {{x_t}} \right),{{q'}_j}\left( {{x_t}} \right)} \right\rangle $ $ {\mu '_j}\left( {{x_t}} \right) $ 的计算公式如下:

$ {\mu '_j}\left( {{x_t}} \right) = \frac{1}{{\displaystyle\sum\limits_{i = 1}^{{c_k}} {\frac{{D\left( {{x_t},p_j^t} \right)}}{{D\left( {{x_t},p_i^t} \right)}}} }} 。$ (1)

其中:pjpiK-means聚类中心; $ D $ 为直觉模糊范数距离。

$ {q'_j}\left( {{x_t}} \right) $ 的计算公式为:

$ {q'_j}\left( {{x_t}} \right) = 1 - \frac{1}{{\alpha \displaystyle\sum\limits_{i = 1}^{{c_k}} {\frac{{D\left( {{x_t},p_j^t} \right)}}{{D\left( {{x_t},p_i^t} \right)}}} }} \text{,}$ (2)

式中, $ \alpha $ 为犹豫度调节因子。

同理,可获取Xt相应的IFTS,即 $ G = {G_1},{G_2}, \cdots ,{G_t} $ ;其中, $ {G_t} $ 的计算公式为:

$ {G_t} = \frac{{\displaystyle\sum\limits_{j = 1}^{{c_k}} {\left\langle {{\mu _j}\left( {{x_t}} \right),{q_j}\left( {{x_t}} \right)} \right\rangle } }}{{{{B'}_j}}} \text{。}$ (3)

步骤4 预测 $ t + 1 $ 时刻的云计算船舶通信网络服务器负载预测值 $ {\hat x_{t + 1}} $ ,计算公式为:

$ {\hat x_{t + 1}} = {F_t} \cdot {x_t}\omega \text{。}$ (4)

式中, $ \omega $ 为权重。

步骤5  $ \beta $ 为云计算船舶通信网络服务器负载预测误差阈值,服务器负载预测误差为 $ {e_{t + 1}} = \left| {{{\hat x}_{t + 1}} - {{x'}_{t + 1}}} \right| $ 。其中, $ {x'_{t + 1}} $ 为期望服务器负载;如果 $ {e_{t + 1}} \leqslant \beta $ ,那么输出云计算船舶通信网络服务器负载预测结果 $ {\hat x_{t + 1}} $ 。反之,跳转至步骤4,重新计算服务器负载预测值,以输出符合要求的服务器负载预测值为止[6]

步骤6 通过直觉模糊重心法,去模糊化处理,得到最终的云计算船舶通信网络服务器负载预测值 $ \hat X $ 。公式如下:

$ \hat X = Def\left( B \right) = \frac{{\displaystyle\int\nolimits_X {\hat x\left( {1 + {\mu _B}\left( {{x_t}} \right) - {q_B}\left( {{x_t}} \right)} \right){\rm{d}}\hat x} }}{{\displaystyle\int\nolimits_X {\left( {1 + {\mu _B}\left( {{x_t}} \right) - {q_B}\left( {{x_t}} \right)} \right){\rm{d}}\hat x} }} \text{。}$ (5)
1.2 云计算船舶通信网络迁移虚拟机选择

云计算船舶通信网络内服务器的上下限阈值为δmaxδmin。在预测服务器负载值连续2个周期出现大于δmax或小于δmin的情况下,触发虚拟机迁移。综合考虑最短虚拟机迁移时间与最小迁移量,建立迁移目标虚拟机集合选择模型,表达公式如下:

$ R = \left\{ \begin{array}{ll} S \in V,& {{\hat x}_{j'}} - \sum {{u_a}\left( v \right)} < {\delta _{\max }},\\ S \to \min ,{T_s} \to \min & {{\hat x}_{j'}} > {\delta _{\max }}\text{,} \\ V\text{,}& {{\hat x}_{j'}} < {\delta _{\min }}\text{。} \\ \end{array} \right. $ (6)

式中: $ \hat x $ 为云计算船舶通信网络内第 $ j' $ 个服务器负载预测值; $v $ 为虚拟机 $ v $ 占据的资源量; $ v $ 为云计算船舶通信网络内虚拟机集合; $ S $ $ V $ 内待迁移虚拟机的一个子集。Ts为虚拟机迁移时间, $ v $ 的迁移时间Tv为:

$ {T_v} = \frac{{{Z_v}}}{{{N_v}}} 。$ (7)

式中:Zv $ v $ 占据的内存;Nv $ v $ 的可用带宽,Ts为全部Tv的总和。

利用遗传算法求解式(6)可确定待迁移的目标虚拟机集合 $ R $ ,具体步骤如下:

步骤1 生成初始种群 $ M $ ,同时求解各染色体的适应度,如果某条染色体的适应度f为最优解,那么返回存在最佳解的染色体,继续步骤6。

步骤2 在 $ M $ 内任意选择2条染色体,进行交叉。

步骤3 求解交叉操作后2条染色体的f值,如果其中1条染色体已是最佳解,那么返回存在最佳解的染色体,继续步骤6;反之,在交叉前后的染色体内选择最大f对应的2个染色体,对其进行变异操作。

步骤4 求解变异后染色体的f值,如果其中1条染色体已是最佳解,那么返回变异交叉前后的染色体内选择最大f对应的2个染色体,存储至新种群内。

步骤5 重复步骤2~步骤4,以获取最大f对应的染色体为止。

步骤6 输出式(7)的求解结果,即待迁移的目标虚拟机集合R

1.3 云计算船舶通信网络的目标服务器选择

在确定待迁移的目标虚拟机集合R后,便需选择目标服务器。以最大剩余容量为选择策略,选择目标服务器,其需要符合的条件为:

1)目标服务器能够为R提供足够的资源。

2)尽量避免出现二次迁移,降低虚拟机迁移次数。

依据上述选择策略,选择目标服务器,可尽可能减少虚拟机迁移次数与能源效果,提升资源利用率。

1.4 网络动态负载均衡的实现步骤

步骤1 利用IFTS算法,预测云计算船舶通信网络内服务器负载值 $ \hat x $

步骤2 分析服务器负载状态,若连续2个周期存在 $ \hat x > {\delta _{\max }} $ $ \hat x < {\delta _{\min }} $ 情况,则触发虚拟机迁移。

步骤3 虚拟机迁移。若服务器负载预测值连续2个周期存在 $ \hat x < {\delta _{\min }} $ 情况,那么以当下服务器内全部虚拟机为目标虚拟机,并以最大剩余容量为选择策略,在其余服务器内选取最佳目标服务器,对其进行动态在线迁移。如果服务器负载预测值连续2个周期存在 $ \hat x > {\delta _{\max }} $ 情况,那么综合考虑最短虚拟机迁移时间与最小迁移量,建立迁移目标虚拟机集合选择模型,通过遗传算法求解该模型,完成迁移目标虚拟机集合 $ R $ 的选择。以最大剩余容量为选择策略,选择符合 $ R $ 的需求的目标服务器,进行动态在线迁移,完成船舶通信网络动态负载均衡。

2 实验结果与分析

以某船舶的通信网络为实验对象,该船舶通信网络内共包含8个数据中心,各数据中心内均有10台主机,处理速度在1000~3000 MIPS,带宽是15 M。各主机内均包含10个虚拟机。通信任务数量均在100~1000个之间。

利用本文方法对该船舶通信网络进行动态负载均衡,以2个服务器的动态负载均衡情况为例,船舶通信网络动态负载均衡结果如图1所示。可知:在不同任务数量时,服务器1的动态负载大概在30%~70%之间波动;在不同任务数量时,服务器2的动态负载大概也在30%~70%之间波动。综合分析可知,船舶通信网络内2个服务器间的动态负载较为均衡。实验证明,本文方法可有效实现船舶通信网络动态负载均衡。

图 1 船舶通信网络动态负载均衡结果 Fig. 1 Dynamic load balancing results of ship communication network

分析不同任务数量时,本文方法的船舶通信网络动态负载均衡效果。不同任务数量时,经过本文方法处理后,该船舶通信网络的负载均衡度分析结果如图2所示。可以看出,随着时间的延长,不同任务数量时,经过本文方法处理后,该船舶通信网络的负载均衡度均不断变小,代表船舶通信网络的物理资源与虚拟资源利用率不断接近均衡,即船舶通信网络动态负载均衡效果较优。实验证明,不同任务数量时,本文方法的船舶通信网络动态负载均衡效果均较优。

图 2 船舶通信网络的负载均衡度分析结果 Fig. 2 Load balance analysis results of ship communication network

利用任务截止时间违背率,衡量本文方法的服务质量水平,其值越小,服务质量越佳,动态负载均衡效果越优,分析船舶通信网络遭受拒绝服务攻击与分布式拒绝服务攻击时,本文方法的任务截止时间违背率,分析结果如图3所示。

图 3 任务截止时间违背率分析结果 Fig. 3 Analysis results of task deadline violation rate

可以看出,随着虚拟机数量的提升,2种攻击类型下,本文方法的任务截止时间违背率均呈上升趋势,分布式拒绝服务攻击的违背率,略高于拒绝服务攻击,但均未超过设置的阈值。实验证明,不同攻击类型下,本文方法的任务截止时间违背率均较低,即服务质量较高、动态负载均衡效果较优。

3 结 语

船舶航行安全离不开通信网络,提升通信质量的关键是负载均衡。为此提出基于云计算技术的船舶通信网络动态负载均衡方法,利用云计算技术,合理在线迁移虚拟机,确保各服务器的负载趋近均衡,实现通信网络动态负载均衡,避免服务器出现过载或轻载问题,提升通信质量。

参考文献
[1]
左攀, 束永安. DCN中基于前馈神经网络的动态多路径负载均衡方法[J]. 计算机工程, 2021, 47(9): 113-119.
ZUO Pan, SHU Yongan. Dynamic multi-path load balancing method based on feedforward neural network in DCN[J]. Computer Engineering, 2021, 47(9): 113-119. DOI:10.19678/j.issn.1000-3428.0059097
[2]
王莉, 赵阿群, 赵晨辉. 基于Fat-Tree的虚拟分片负载均衡算法[J]. 计算机工程与应用, 2020, 56(13): 93-99.
WANG Li, ZHAO Aqun, ZHAO Chenhui. Virtual slice load balancing algorithm based on fat-tree[J]. Computer Engineering and Applications, 2020, 56(13): 93-99. DOI:10.3778/j.issn.1002-8331.1903-0455
[3]
王红运, 束永安. 数据中心网络中基于蚁群算法的动态多路径负载均衡[J]. 计算机应用研究, 2020, 37(7): 2148-2150+2166.
WANG Hongyun, SHU Yong'an. Dynamic multipath load balancing based on ant colony algorithm in DCN[J]. Application Research of Computers, 2020, 37(7): 2148-2150+2166. DOI:10.19734/j.issn.1001-3695.2018.11.0945
[4]
刘毅, 李凯心, 李国燕, 等. 基于SDN的动态负载均衡策略[J]. 计算机应用研究, 2020, 37(10): 3147-3152.
LIU Yi, LI Kaixin, LI Guoyan, et al. Dynamic load balancing strategy based on SDN[J]. Application Research of Computers, 2020, 37(10): 3147-3152. DOI:10.19734/j.issn.1001-3695.2019.05.0226
[5]
鲁垚光, 王兴伟, 李福亮, 等. 软件定义网络中的动态负载均衡与节能机制[J]. 计算机学报, 2020, 43(10): 1969-1982.
LU Yaoguang, WANG Xingwei, LI Fuliang, et al. Dynamic load balancing and energy saving mechanism in software defined networking[J]. Chinese Journal of Computers, 2020, 43(10): 1969-1982.
[6]
谭畅, 谭歆, 胡磊, 等. 云中心基于Nginx的动态权重负载均衡算法[J]. 重庆邮电大学学报(自然科学版), 2021, 33(6): 991-998.