该算法适用于各链路带宽差距较大的情况,依据“瘦死的骆驼比马大”的原理,设置带宽较大的链路作为首选链路,带宽较小的链路作为备选链路,当首选链路可用时始终优先选择 首选链路进行传输,当首选链路不可用时,切换至备选链路传输,该算法的优点是代码实现简单、处理速度快,可最大化避免“当带宽高的链路虽传输质量未到达理想状态,但仍快于理想状态的带宽小的链路的情况下,带宽小的链路负载过大导致传输拥堵,而带宽大的链路空闲”的现象。
IF 传输对象 = 文件 THEN
WHILE 1 DO
IF VSAT可用 THEN
RETURN VSAT链路
ELSE IF 海事可用 THEN
RETURN 海事链路
END
ELSE IF 传输对象 = 文本 THEN
WHILE 1 DO
IF 铱星可用 THEN
RETURN 铱星链路
ELSE IF 北斗可用 THEN
RETURN 北斗链路
END
实时监控各卫星模块信号强度,依据信号强度判断各链路通畅状况,传输前获取卫星模块信号强度,首选信号强度较强的链路进行传输。
WHILE 1 DO
获取VSAT信号强度
获取海事信号强度
获取铱星信号强度
获取北斗信号强度
END
IF 传输对象 = 文件 THEN
IF VSAT信号强度 >= 海事信号强度 THEN
RETURN VSAT链路
ELSE IF VSAT信号强度 < 海事信号强度 THEN
RETURN 海事链路
ELSE IF 传输对象 = 文本 THEN
IF 铱星信号强度 >= 北斗信号强度 THEN
RETURN 铱星链路
ELSE IF 铱星信号强度 < 北斗信号强度 THEN
RETURN 北斗链路
建立海陆心跳机制,通过十分钟内心跳包接收与发送比值对信号强度加权判断,首选加权后数值较高的链路进行传输。该策略推荐在链路有类似的带宽和速率时使用。
WHILE 1 DO
获取VSAT信号强度
获取海事信号强度
获取铱星信号强度
获取北斗信号强度
VSAT链路发送心跳
VSAT心跳发送次数++
海事链路发送心跳
海事心跳发送次数++
铱星链路发送心跳
铱星心跳发送次数++
北斗链路发送心跳
北斗心跳发送次数++
监听各链路心跳返回,统计次数
END
IF 传输对象 = 文件 THEN
VSAT链路可靠度 = (十分钟内心跳接收次数 / 十分钟内心跳发送次数) * VSAT信号强度
海事链路可靠度 = (十分钟内心跳接收次数 / 十分钟内心跳发送次数) * 海事信号强度
IF VSAT链路可靠度 >= 海事链路可靠度 THEN
RETURN VSAT链路
ELSE IF VSAT链路可靠度 < 海事链路可靠度 THEN
RETURN 海事链路
ELSE IF 传输对象 = 文本 THEN
铱星链路可靠度 = (十分钟内心跳接收次数 / 十分钟内心跳发送次数) * 铱星信号强度
北斗链路可靠度 = (十分钟内心跳接收次数 / 十分钟内心跳发送次数) * 北斗信号强度
IF 铱星链路可靠度 >= 北斗链路可靠度 THEN
RETURN 铱星链路
ELSE IF 铱星链路可靠度 < 北斗链路可靠度 THEN
RETURN 北斗链路