本发明属于计算机,涉及机载网络文件系统带宽状态控制实现技术,具体涉及一种基于带宽状态控制的高低优先级消息发送方法。
背景技术:
1、目前,综合化航电系统在传输客户端的消息时,通常采用优先级队列提高高优先级客户端读写的确定性,以便于将有限的计算资源(带宽限制)优先分配给高优先级客户端读写任务。
2、但是,由于嵌入式环境下网络文件系统仅支持简单的优先级任务调控,其无法满足综合化航电系统独立分系统对细粒度任务的控制需求,可能出现低优先级客户端难以从服务器分配到计算资源,导致文件系统出现永远等待、无法服务,不能实现消息传输的问题。
技术实现思路
1、为了解决在当前综合化航电系统上,网络文件系统由于处于封闭的运行环境和应用场景以及嵌入式平台有限的计算资源,无法及时处理低优先级客户端的任务,导致低优先级客户端无法响应问题。本发明设计了一种基于带宽状态控制的高低优先级消息发送方法,该方法的设计思路是:在优先级控制的基础上,针对不同客户端增加了带宽控制及机器控制策略,通过在网络文件系统服务器添加周期令牌生成器,针对不同带宽的任务发放令牌,使不同优先级客户端的任务都有机会处理,提高了系统行为的确定性、增强了对系统带宽的控制,达到确保客户端任务能够有效处理的目的。
2、实现发明目的的技术方案如下:一种基于带宽状态控制的高低优先级消息发送方法,包括以下步骤:
3、依据系统中客户端优先级顺序,为各客户端分配带宽;
4、依据带宽分配比例,周期性生成与客户端对应的动态令牌;
5、周期性比较动态令牌数量与消息数量,根据比较结果发送消息或缓存消息。
6、进一步地,依据系统中客户端优先级顺序,为各客户端分配带宽的方法,包括:
7、获取系统中客户端数量及优先级顺序;
8、依据客户端优先级顺序,将总带宽分配给各客户端,其中高优先级客户端分配的带宽大于低优先级客户端分配的带宽。
9、进一步地,依据带宽分配比例,周期性生成与客户端对应的动态令牌的方法,包括:
10、根据客户端数量定义动态令牌的种类;
11、依据各客户端分配的带宽,计算与各客户端对应的动态令牌生成速率;
12、令牌生成器产生动态令牌,并将动态令牌存入令牌桶中。
13、进一步地,动态令牌生成过程中,若令牌桶已满,则停止生成动态令牌或将生成的动态令牌丢弃。
14、进一步地,周期性比较动态令牌数量与消息数量,根据比较结果发送消息或缓存消息的方法,包括:
15、客户端将产生的消息存入请求列队中;
16、周期性比较请求列队中消息数量与该客户端对应的动态令牌数量;
17、若动态令牌数量≥消息数量,则将请求列队中消息转发,并删除令牌桶中已使用的动态令牌;
18、若动态令牌数量<消息数量,则将消息存储在该客户端的缓存列队中。
19、进一步地,客户端中消息存储在缓存列队时,还包括:
20、周期性比较缓存列队中消息数量与该客户端对应的动态令牌数量;
21、若动态令牌数量≥消息数量,则将缓存列队中消息转发,并删除令牌桶中已使用的动态令牌;
22、若动态令牌数量<消息数量,则继续等待直至下一次动态令牌数量与消息数量比较。
23、进一步地,周期性比较缓存列队中消息数量与该客户端对应的动态令牌数量,还包括:
24、若缓存列队已满,且动态令牌数量<消息数量,则将缓存列队的消息丢弃,并上报消息发送错误信号。
25、与现有技术相比,本发明的有益效果是:本发明设计的方法,在控制器优先级控制的基础上,针对不同客户端增加了带宽控制及机器控制策略,确保了不同优先级客户端的任务都有机会处理,进而避免了因网络文件系统由于处于封闭的运行环境和应用场景以及嵌入式平台有限的计算资源(带宽资源),无法及时处理低优先级客户端的任务,导致低优先级客户端无法响应问题,上述方法能够提高系统行为的确定性,确保了客户端任务能够及时有效处理。
1.一种基于带宽状态控制的高低优先级消息发送方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的高低优先级消息发送方法,其特征在于:依据系统中客户端优先级顺序,为各客户端分配带宽的方法,包括:
3.根据权利要求2所述的高低优先级消息发送方法,其特征在于:依据带宽分配比例,周期性生成与客户端对应的动态令牌的方法,包括:
4.根据权利要求3所述的高低优先级消息发送方法,其特征在于:动态令牌生成过程中,若令牌桶已满,则停止生成动态令牌或将生成的动态令牌丢弃。
5.根据权利要求1所述的高低优先级消息发送方法,其特征在于:周期性比较动态令牌数量与消息数量,根据比较结果发送消息或缓存消息的方法,包括:
6.根据权利要求5所述的高低优先级消息发送方法,其特征在于:客户端中消息存储在缓存列队时,还包括:
7.根据权利要求6所述的高低优先级消息发送方法,其特征在于:周期性比较缓存列队中消息数量与该客户端对应的动态令牌数量,还包括: