基于云计算技术的船舶通信网络动态负载均衡研究
2023-05-05马卓
马 卓
(广东工业大学 计算机学院,广东 广州 510006)
0 引 言
船舶航行环境较为特殊,因此,传统单一的船舶网络服务器无法适应海上通信环境,且网络传输的信息有限[1]。在船舶网络内安装大量服务器,可提升船舶通信信息的处理效率。但大量服务器协同工作需要较强的负载均衡技术支撑[2]。通过负载均衡方法,平衡网络负载分布情况,缩短任务响应时间,为船舶航行提供较好的网络通信环境。对于负载均衡方法,学术界已累积了部分研究成果。王红运等[3]利用控制器采集网络的负载信息,通过改进蚁群算法,依据采集的网络负载信息,进行网络负载均衡。该方法可有效提升带宽利用率,但该方法需要实时采集网络的负载信息,额外增加了算法的开销,令网络出现新的负载压力,影响网络的服务效率。刘毅等[4]以最小迁移代价为目标,建立迁移模型,通过线性逼近算法,求解该模型,迁移交换机至控制器内,实现网络负载均衡[4]。但该方法容易出现局部收敛问题,影响交换机的迁移效果,导致网络负载均衡效果并不理想。
云计算技术的运算单位是虚拟机,通过在2 个服务器间无缝迁移运行虚拟机的方式[5],实现网络负载均衡。虚拟机迁移时的宕机时间较短,且不易察觉,不会影响用户的网络操作。为此提出基于云计算技术的船舶通信网络动态负载均衡方法,提升网络动态负载均衡效果。
1 船舶通信网络动态负载均衡
1.1 云计算船舶通信网络服务器动态负载预测
基于云计算技术的船舶通信网络动态负载均衡的本质是虚拟机迁移。利用直觉模糊时间序列(intuitionistic fuzzy time series,IFTS)算法,预测云计算环境下船舶通信网络内服务器的动态负载,用于决定是否触发虚拟机迁移。云计算环境下船舶通信网络内服务器动态负载预测的步骤如下:
步骤1在云计算环境下船舶通信网络服务器负载观测数据集X(t)内,抽取样本值Xt={x1,x2,···,xt},其中,t为时间。
步骤2船舶通信网络服务器负载序列论域是U=[xmin-ε1,xmax+ε2],其中,2 个正数是 ε1和 ε2;[]代表向上、向下取整运算。通过K-means 聚类算法,聚类处理U,得到k个优化子区间ck。
步骤3对Xt实施直觉模糊化预处理,塑造服务器负载的I F T S。如果c k的直觉模糊集是Bj=那么Bj涵盖xt的直觉模糊函数是其中,µj(xt)为直觉模糊隶属度;qj(xt)为非隶属度函数。因此,可按照最大化的原则,直觉模糊化预处理xt。如果那么直觉模糊化结果为的计算公式如下:
其中:pj和pi为K-means 聚类中心;D为直觉模糊范数距离。
式中,α为犹豫度调节因子。
同理,可获取Xt相应的IFTS,即G=G1,G2,···,Gt;其中,Gt的计算公式为:
步骤4 预测t+1时刻的云计算船舶通信网络服务器负载预测值,计算公式为:
式中,ω为权重。
步骤5β为云计算船舶通信网络服务器负载预测误差阈值,服务器负载预测误差为et+1=||。其中,为期望服务器负载;如果et+1≤β,那么输出云计算船舶通信网络服务器负载预测结果xˆt+1。反之,跳转至步骤4,重新计算服务器负载预测值,以输出符合要求的服务器负载预测值为止[6]。
步骤6通过直觉模糊重心法,去模糊化处理,得到最终的云计算船舶通信网络服务器负载预测值Xˆ。公式如下:
1.2 云计算船舶通信网络迁移虚拟机选择
云计算船舶通信网络内服务器的上下限阈值为δmax,δmin。在预测服务器负载值连续2 个周期出现大于δmax或小于δmin的情况下,触发虚拟机迁移。综合考虑最短虚拟机迁移时间与最小迁移量,建立迁移目标虚拟机集合选择模型,表达公式如下:
式中: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 算法,预测云计算船舶通信网络内服务器负载值xˆ。
步骤2分析服务器负载状态,若连续2 个周期存在>δmax或xˆ <δmin情况,则触发虚拟机迁移。
步骤3虚拟机迁移。若服务器负载预测值连续2 个周期存在xˆ <δmin情况,那么以当下服务器内全部虚拟机为目标虚拟机,并以最大剩余容量为选择策略,在其余服务器内选取最佳目标服务器,对其进行动态在线迁移。如果服务器负载预测值连续2 个周期存在xˆ >δmax情况,那么综合考虑最短虚拟机迁移时间与最小迁移量,建立迁移目标虚拟机集合选择模型,通过遗传算法求解该模型,完成迁移目标虚拟机集合R的 选择。以最大剩余容量为选择策略,选择符合R的需求的目标服务器,进行动态在线迁移,完成船舶通信网络动态负载均衡。
2 实验结果与分析
以某船舶的通信网络为实验对象,该船舶通信网络内共包含8 个数据中心,各数据中心内均有10 台主机,处理速度在1 000~3 000 MIPS,带宽是15 M。各主机内均包含10 个虚拟机。通信任务数量均在100~1 000 个之间。
利用本文方法对该船舶通信网络进行动态负载均衡,以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 结 语
船舶航行安全离不开通信网络,提升通信质量的关键是负载均衡。为此提出基于云计算技术的船舶通信网络动态负载均衡方法,利用云计算技术,合理在线迁移虚拟机,确保各服务器的负载趋近均衡,实现通信网络动态负载均衡,避免服务器出现过载或轻载问题,提升通信质量。