船舶航行环境较为特殊,因此,传统单一的船舶网络服务器无法适应海上通信环境,且网络传输的信息有限[1]。在船舶网络内安装大量服务器,可提升船舶通信信息的处理效率。但大量服务器协同工作需要较强的负载均衡技术支撑[2]。通过负载均衡方法,平衡网络负载分布情况,缩短任务响应时间,为船舶航行提供较好的网络通信环境。对于负载均衡方法,学术界已积累了部分研究成果。王红运等[3]利用控制器采集网络的负载信息,通过改进蚁群算法,依据采集的网络负载信息,进行网络负载均衡。该方法可有效提升带宽利用率,但需要实时采集网络的负载信息,额外增加了算法的开销,令网络出现新的负载压力,影响网络的服务效率。刘毅等[4]以最小迁移代价为目标,建立迁移模型,通过线性逼近算法,求解该模型,迁移交换机至控制器内,实现网络负载均衡[4]。但该方法容易出现局部收敛问题,影响交换机的迁移效果,导致网络负载均衡效果并不理想。
云计算技术的运算单位是虚拟机,通过在2个服务器间无缝迁移运行虚拟机的方式[5],实现网络负载均衡。虚拟机迁移时的宕机时间较短,且不易察觉,不会影响用户的网络操作。为此提出基于云计算技术的船舶通信网络动态负载均衡方法,提升网络动态负载均衡效果。
1 船舶通信网络动态负载均衡 1.1 云计算船舶通信网络服务器动态负载预测基于云计算技术的船舶通信网络动态负载均衡的本质是虚拟机迁移。利用直觉模糊时间序列(intuitionistic fuzzy time series,IFTS)算法,预测云计算环境下船舶通信网络内服务器的动态负载,用于决定是否触发虚拟机迁移。云计算环境下船舶通信网络内服务器动态负载预测的步骤如下:
步骤1 在云计算环境下船舶通信网络服务器负载观测数据集X(t)内,抽取样本值
步骤2 船舶通信网络服务器负载序列论域是
步骤3 对Xt实施直觉模糊化预处理,塑造服务器负载的IFTS。如果ck的直觉模糊集是
$ {\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) |
其中:pj和pi为K-means聚类中心;
$ {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) |
式中,
同理,可获取Xt相应的IFTS,即
$ {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 预测
$ {\hat x_{t + 1}} = {F_t} \cdot {x_t}\omega \text{。}$ | (4) |
式中,
步骤5
步骤6 通过直觉模糊重心法,去模糊化处理,得到最终的云计算船舶通信网络服务器负载预测值
$ \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) |
云计算船舶通信网络内服务器的上下限阈值为δ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) |
式中:
$ {T_v} = \frac{{{Z_v}}}{{{N_v}}} 。$ | (7) |
式中:Zv为
利用遗传算法求解式(6)可确定待迁移的目标虚拟机集合
步骤1 生成初始种群
步骤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算法,预测云计算船舶通信网络内服务器负载值
步骤2 分析服务器负载状态,若连续2个周期存在
步骤3 虚拟机迁移。若服务器负载预测值连续2个周期存在
以某船舶的通信网络为实验对象,该船舶通信网络内共包含8个数据中心,各数据中心内均有10台主机,处理速度在1000~3000 MIPS,带宽是15 M。各主机内均包含10个虚拟机。通信任务数量均在100~1000个之间。
利用本文方法对该船舶通信网络进行动态负载均衡,以2个服务器的动态负载均衡情况为例,船舶通信网络动态负载均衡结果如图1所示。可知:在不同任务数量时,服务器1的动态负载大概在30%~70%之间波动;在不同任务数量时,服务器2的动态负载大概也在30%~70%之间波动。综合分析可知,船舶通信网络内2个服务器间的动态负载较为均衡。实验证明,本文方法可有效实现船舶通信网络动态负载均衡。
分析不同任务数量时,本文方法的船舶通信网络动态负载均衡效果。不同任务数量时,经过本文方法处理后,该船舶通信网络的负载均衡度分析结果如图2所示。可以看出,随着时间的延长,不同任务数量时,经过本文方法处理后,该船舶通信网络的负载均衡度均不断变小,代表船舶通信网络的物理资源与虚拟资源利用率不断接近均衡,即船舶通信网络动态负载均衡效果较优。实验证明,不同任务数量时,本文方法的船舶通信网络动态负载均衡效果均较优。
利用任务截止时间违背率,衡量本文方法的服务质量水平,其值越小,服务质量越佳,动态负载均衡效果越优,分析船舶通信网络遭受拒绝服务攻击与分布式拒绝服务攻击时,本文方法的任务截止时间违背率,分析结果如图3所示。
可以看出,随着虚拟机数量的提升,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. |