一种业务流量控制及区分服务的星载设备***
技术领域
本发明涉及一种星载设备间业务流量控制及区分服务的***,属于卫星通信***的星上处理领域。
背景技术
常规的透明转发器也称弯管式转发器因其结构简单、性能可靠,在卫星有效载荷和电源功率受限的情况下,得到了广泛的应用。但随着卫星通信技术的发展,业务量的增加和对通信质量要求的提高,对卫星通信***频谱利用率、***容量、通信质量、网络连通性、通信链路效率、网络的动态重组能力和抗干扰性能等方面均提出了严格而紧迫的要求、随着技术的进步和应用需求的变化,卫星通信从透明转发逐渐向着星上处理的方向发展。
卫星通信由于下行链路接收能力的不同,导致星上需要进行业务流量控制,特别是相控阵天线技术的发展,该需求更加急迫。而业务流量控制往往面临着丢弃部分业务数据包,随机丢弃的话会将入退网以及网络管理信息等重要数据丢弃,带来不可估量的风险。
发明内容
本发明所要解决的技术问题在于上述背景技术中的不足之处而提供一种星载设备间业务流量控制及区分服务***。本发明具有支持星载设备间流量控制、支持区分服务、可扩展性强、占用资源少等优点,特别适用于基于星上处理的卫星通信***。
本发明所采用的技术方案是:
一种业务流量控制及区分服务的星载设备***,包括星载设备A的速率识别模块1、发送处理模块4、队列管理模块6及星载设备B的速率解析模块2、接收处理模块5、数据FIFO模块8,其特征在于:还包括星载设备A的令牌桶模块3和发送调度模块7;
星载设备B的速率解析模块2用于解析外部遥控指令得到速率信息输出给接收处理模块5,并将速率信息和数据FIFO模块8输入的发送信息按照设定的协议数据输出给星载设备A的速率识别模块1;
速率识别模块1用于从接收到的协议数据中识别出速率信息和发送信息,将速率信息输出给令牌桶模块3,将发送信息输出给发送处理模块4;
队列管理模块6用于接收外部数据并根据优先级区分管理,采用链表方式实现共享缓存多级优先级队列管理,将数据存入内部对应的优先级队列中,并将各优先级队列的帧长信息输出给发送调度模块7;还用于在发送调度模块7的调度下将数据输出至发送调度模块7;
发送调度模块7用于根据发送处理模块4输出的缓存信息决策是否执行发送调度,若缓存信息为空则向队列管理模块6申请队列的帧长信息,并将申请到的帧长信息发送给令牌桶模块3用于申请发送令牌;还用于接收令牌桶模块3的反馈令牌,若反馈令牌为允许发送出队信号则将数据从队列管理模块6对应队列中提取并发送给发送处理模块4,否则按照设定的调度算法调度下一队列;
令牌桶模块3用于根据速率信息按照设定的令牌桶算法产生发送令牌,并根据接收的帧长信息决策当前数据是否允许发送出队,并将令牌反馈给发送调度模块7;
发送处理模块4用于将接收到数据进行缓存,并根据发送信息决策是否将数据输出,若发送信息为允许发送信息则将数据从缓存读出输出到星载设备B的接收处理模块5,否则继续等待允许发送信息;还用于输出缓存信息至发送调度模块7;
接收处理模块5用于对星载设备A的发送处理模块4输入的数据进行校验适配后,根据数据FIFO模块8输入的允许发送信息将数据发送给数据FIFO模块8;还用于输出读信号至数据FIFO模块8,并接收数据FIFO模块8输出的数据;还用于按照设定的流量控制算法将从数据FIFO模块8中读出的数据以速率信息要求的速率发送出去;
数据FIFO模块8用于设置一个可编程的下限和一个可编程的上限,若缓存达到下限时输出允许发送信息至接收处理模块5,若缓存达到上限时输出停止发送信息至接收处理模块5;还用于对输入的数据进行缓存,并根据接口处理模块5输入的读信号将数据读出输出给接口处理模块5。
其中,所述的星载设备A的令牌桶模块3包括计数器、令牌申请使能模块、周期到达使能模块、周期增加令牌数模块和计算模块;
令牌申请使能模块用于在接收到星载设备A发送调度模块7用于申请发送令牌的帧长信息时,处于有效状态,并将自身状态发送至计算模块;
计数器用于在时钟处于有效状态时计数一次,并在计数达到设定的周期后发送到达计数周期信号至周期到达使能模块,并清零重新计数;
周期到达使能模块用于在接收到到达计数周期信号后处于有效状态,并发送周期增加信号至周期增加令牌数模块;还用于将自身状态发送至计算模块;
周期增加令牌数模块用于在接收到周期增加信号后增加令牌数,并将周期增加令牌数发送至计算模块;
计算模块用于在令牌申请使能模块和周期到达使能模块都无效时进入维持状态,不作处理;在令牌申请使能模块无效而周期到达使能模块有效时进入更新令牌桶状态,判断剩余令牌数加上周期增加令牌数是否大于令牌桶总数,若大于则剩余令牌数数目同令牌桶总数,否则剩余令牌数在原来基础上增加周期增加令牌数得到新的剩余令牌数;在令牌申请使能模块有效而周期到达使能模块无效时进入流控状态,判断帧长信息是否大于剩余令牌数,若大于则输出不允许发送出队信号,否则输出允许发送出队信号,同时剩余令牌数在原来基础上减少帧长信息数目得到新的剩余令牌数;当令牌申请使能模块和周期到达使能模块同时有效时***进入同时更新令牌桶和流控状态,在帧长信息大于剩余令牌数加上周期增加令牌数情况下,输出不允许发送出队信号,同时判断剩余令牌数加上周期增加令牌数是否大于令牌桶总数,若大于则剩余令牌数数目同令牌桶总数,否则剩余令牌数在原来基础上增加周期增加令牌数得到新的剩余令牌数,在帧长信息小于等于剩余令牌数加上周期增加令牌数情况下,输出允许发送出队信号,同时判断剩余令牌数加上周期增加令牌数再减去帧长信息是否大于令牌桶总数,若大于则剩余令牌数数目同令牌桶总数,否则剩余令牌数在原来基础上增加周期增加令牌数再减去帧长信息得到新的剩余令牌数。
其中,所述的星载设备A的发送调度模块7采用时隙加权调度算法,即从时域上将调度时间划分为多个调度子时隙,各优先级队列根据占用的调度子时隙数目得到被调度的机会。
本发明相比背景技术具有如下优点:
1.本发明实现了星载设备间的流量控制,对于***设备和设备内其他模块未进行描述和约束,具有可扩展性强、实现占用资源少等特点。
2.本发明采用时隙加权调度算法,可实现多级优先级的调度处理,实现高优先级优先转发策略,同时支持动态可配置功能。
3.本发明流量控制算法采用基于帧长的令牌桶算法,实现了业务流量整形,流控速率精确而且解决了突发数据流的流量控制问题。
附图说明
图1是本发明一种业务流量控制及区分服务的星载设备***实施电原理图。
图2是基于帧长的令牌桶算法的状态实现图。
具体实施方式
参照图1,本发明一种业务流量控制及区分服务的星载设备***,包括星载设备A的速率识别模块1、令牌桶模块3、发送处理模块4、队列管理模块6和发送调度模块7及星载设备B的速率解析模块2、接收处理模块5和数据FIFO模块8。图1是本发明实施例电原理图,实施例按照图1连接线路。
所述一种业务流量控制及区分服务的星载设备***的星载设备B的速率解析模块2的作用是解析外部遥控指令得到速率信息发送给接收处理模块5,并将速率信息同从数据FIFO模块8输入的发送信息按照设定的协议数据发送给星载设备A的速率识别模块1;速率识别模块1的作用是接收到协议数据识别出速率信息以及发送信息,将速率信息输出给令牌桶模块3,将发送信息输出给发送处理模块4;队列管理模块6的作用是接收外部数据并根据优先级区分管理,采用链表方式实现共享缓存多级优先级队列管理,将数据存入对应优先级队列中等待读出;发送调度模块7的作用是根据发送处理模块4输出的缓存信息决策是否执行发送调度,若缓存信息为空则向队列管理模块6申请帧长信息,并将申请到的帧长信息发送给令牌桶模块3用于申请发送令牌;其中,发送调度模块7采用时隙加权调度算法,即从时域上将调度时间划分为多个调度子时隙,各优先级队列根据占用的调度子时隙数目得到被调度的机会;令牌桶模块3的作用是根据速率信息按照设定的令牌桶算法产生发送令牌,并根据接收的帧长信息决策当前数据是否允许发送出队,将令牌反馈给发送调度模块7;发送调度模块7的另一个作用是得到反馈令牌信息后,若允许发送则将数据从队列管理模块6对应队列中提取并发送给发送处理模块4,否则按照设定的调度算法调度下一队列;发送处理模块4的作用是将接收到数据进行缓存,根据发送信息决策是否将数据输出,若为允许发送信息则将数据从缓存读出输出到星载设备B的接收处理模块5,否则继续等待允许发送信息,并将缓存信息输出给发送调度模块7;接收处理模块5的作用是对星载设备A的发送处理模块4输入的数据进行校验适配后根据数据FIFO模块8输入的允许发送信息发送给数据FIFO模块8;数据FIFO模块8的作用是设置一个可编程的下限和一个可编程的上限,若缓存达到下限时输出允许发送信息,若缓存达到上限时输出停止发送信息,另一个作用是输出读信号至数据FIFO模块8读取数据;数据FIFO模块8的另一个作用是对输入的数据缓存,根据接口处理模块5输入的读信号将数据读出输出给接口处理模块5;接口处理模块5的另一个作用是按照设定的流量控制算法将数据FIFO模块8中读出的数据以速率信息要求的速率发送出去。
参照图2,本发明一种业务流量控制及区分服务的星载设备***,采用基于帧长的令牌桶算法。所述的基于帧长的令牌桶算法的实现原理如下:
基于帧长的令牌桶算法,由七个使用参数和四个***状态组成,使用参数分别为令牌桶总数P1、计数器P2、周期增加令牌数P3、帧长信息P4、剩余令牌数P5、令牌申请使能P6及周期到达使能P7,***状态分别为维持状态S1、更新令牌桶状态S2、流控状态S3及同时更新令牌桶和流控状态S4;
其中,令牌桶总数P1根据缓存情况设置令牌数目,一般情况下采用乒乓缓存,因此可设置为两个缓存数目之和;计数器P2一直计数,当到达设定的周期后清零重新计数,此时周期到达使能P7有效,设定的周期可取速率值的最大公约数,从而实现各档速率能够数字表示;周期增加令牌数P3为各档速率设置值,该值可通过设定周期和各档速率值得到;帧长信息P4为星载设备A发送调度模块7输入的值;剩余令牌数P5用于表征当前令牌桶内还剩多少令牌可用于发送;星载设备A发送调度模块7申请发送令牌时,令牌申请使能P6有效;
令牌桶模块3包括计数器、令牌申请使能模块、周期到达使能模块、周期增加令牌数模块和计算模块;
令牌申请使能模块用于在接收到星载设备A的发送调度模块7用于申请发送令牌的帧长信息时,处于有效状态,并将自身状态发送至计算模块;
计数器P2用于在时钟处于有效状态时计数一次,并在计数达到设定的周期后发送到达计数周期信号至周期到达使能模块,并清零重新计数;
周期到达使能模块用于在接收到到达计数周期信号后处于有效状态,并发送周期增加信号至周期增加令牌数模块;还用于将自身状态发送至计算模块;
周期增加令牌数模块用于在接收到周期增加信号后增加令牌数,并将周期增加令牌数P3发送至计算模块;
计算模块中当令牌申请使能模块的令牌申请使能P6和周期到达使能模块的周期到达使能P7都无效时***进入维持状态S1,***此时不做任何处理;当令牌申请使能P6无效而周期到达使能P7有效时***进入更新令牌桶状态S2,判断剩余令牌数P5加上周期增加令牌数P3是否大于令牌桶总数P1,若大于则剩余令牌数P5数目同令牌桶总数P1,否则剩余令牌数P5在原来基础上增加周期增加令牌数P3得到新的剩余令牌数P5;当令牌申请使能P6有效而周期到达使能P7无效时***进入流控状态S3,判断帧长信息P4是否大于剩余令牌数P5,若大于则输出不允许发送出队信号,否则输出允许发送出队信号同时剩余令牌数P5在原来基础上减少帧长信息P4数目得到新的剩余令牌数P5;当令牌申请使能P6和周期到达使能P7同时有效时***进入同时更新令牌桶和流控状态S4,在帧长信息P4大于剩余令牌数P5加上周期增加令牌数P3情况下,输出不允许发送出队信号,同时判断剩余令牌数P5加上周期增加令牌数P3是否大于令牌桶总数P1,若大于则剩余令牌数P5数目同令牌桶总数P1,否则剩余令牌数P5在原来基础上增加周期增加令牌数P3得到新的剩余令牌数P5,在帧长信息P4小于等于剩余令牌数P5加上周期增加令牌数P3情况下,输出允许发送出队信号,同时判断剩余令牌数P5加上周期增加令牌数P3再减去帧长信息P4是否大于令牌桶总数P1,若大于则剩余令牌数P5数目同令牌桶总数P1,否则剩余令牌数P5在原来基础上增加周期增加令牌数P3再减去帧长信息P4得到新的剩余令牌数P5。
本发明简要工作原理如下:
星载设备B的速率解析模块2解析外部遥控指令得到速率信息发送给接收处理模块5,并将速率信息同从数据FIFO模块8输入的发送信息按照设定协议数据发送给星载设备A的速率识别模块1;速率识别模块1接收到协议数据识别出速率信息以及发送信息,将速率信息输出给令牌桶模块3,将发送信息输出给发送处理模块4;队列管理模块6接收外部数据并根据优先级区分管理,采用链表方式实现共享缓存多级优先级队列管理,将数据存入对应优先级队列中等待读出;发送调度模块7根据发送处理模块4输出的缓存信息决策是否执行发送调度,若缓存信息为空则向队列管理模块6申请帧长信息,并将申请到的帧长信息发送给令牌桶模块3;令牌桶模块3根据速率信息按照设定的令牌桶算法产生发送令牌,并根据接收的帧长信息决策当前数据是否允许发送出队,并反馈给发送调度模块7;发送调度模块7得到反馈信息后,若允许发送则将数据从队列管理模块6对应队列中提取并发送给发送处理模块4,否则按照设定的调度算法调度下一队列;发送处理模块4将接收到数据进行缓存,根据发送信息决策是否将数据输出,若为允许发送信息则将数据从缓存读出输出到星载设备B的接收处理模块5,否则继续等待允许发送信息;接收处理模块5对星载设备A的发送处理模块4输入的数据进行校验适配后发送给数据FIFO模块8;数据FIFO模块8设置一个可编程的下限和一个可编程的上限,若缓存达到下限时输出允许发送信息,若缓存达到上限时输出停止发送信息;同时数据FIFO模块8对输入的数据缓存,根据接口处理模块5输入的读信号将数据读出输出给接口处理模块5;接口处理模块5按照设定的流量控制算法将数据FIFO模块8中读出的数据以速率信息要求的速率发送出去。