1.首选备选链路算法

该算法适用于各链路带宽差距较大的情况,依据“瘦死的骆驼比马大”的原理,设置带宽较大的链路作为首选链路,带宽较小的链路作为备选链路,当首选链路可用时始终优先选择 首选链路进行传输,当首选链路不可用时,切换至备选链路传输,该算法的优点是代码实现简单、处理速度快,可最大化避免“当带宽高的链路虽传输质量未到达理想状态,但仍快于理想状态的带宽小的链路的情况下,带宽小的链路负载过大导致传输拥堵,而带宽大的链路空闲”的现象。

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

2.信号强度算法

实时监控各卫星模块信号强度,依据信号强度判断各链路通畅状况,传输前获取卫星模块信号强度,首选信号强度较强的链路进行传输。

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 北斗链路

3.历史数据权重算法

建立海陆心跳机制,通过十分钟内心跳包接收与发送比值对信号强度加权判断,首选加权后数值较高的链路进行传输。该策略推荐在链路有类似的带宽和速率时使用。

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 北斗链路