System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机网络,具体涉及一种网络资源的分配方法和装置。
技术介绍
1、在linux操作系统中,许多应用程序通过网络实施数据传输。这种数据传输方式虽然有助于实时更新数据和分布式处理任务,但是也存在应用程序抢占网络带宽,导致紧急重要的数据无法及时传输的问题。
2、当前linux的kernel中实现的tc(l3 packets traffic control)都是以网络五元组(其中包含端口)维度进行的限速,tc可以设定端口的速率值。但是,linux应用程序的特点是一个应用程序可以包含很多个进程,每个进程也可以使用多个网络端口进行网络通信。而linux中网络协议层无法知晓哪些端口是属于同一个进程以及同一个应用程序使用的,因此当前的linux网络协议栈无法实现应用程序维度的网络管控。
3、此外,一个应用程序对应的端口是动态变化的且每个端口的瞬时速率也是变化的,所以不好通过提前设定每个端口的速率的方法实现所有端口总速率处于一个限定值之下,更加无法建立起网络资源分配机制。
4、在现有技术中,常采用数据过滤的方式,来保留紧急重要的数据。但是这种方法,并没有建立起网络资源分配机制,而是通过数据淘汰机制来保障一部分数据的传输,不仅会导致任务数据丢失,而且面对越来越多的任务数据时,对数据进行重要性分类的难度也会增大,还容易出现重要性分类错误的问题。因此,如何建立有效的网络资源分配机制,是保障数据传输时效性的重要方向。
技术实现思路
1、基于此,有必要针对上述
2、第一方面,本专利技术提供了一种网络资源的分配方法,包括:
3、s110,对任一应用程序,当应用程序发起联网时,确定应用程序和传输端口之间的映射关系;
4、s120,根据映射关系,将属于相同优先级的应用程序对应的传输端口,过滤到同一优先级对应的传输队列中进行数据传输;
5、s130,循环执行以下步骤:
6、s1301,获取所有传输队列的当前传输速率;
7、s1302,以对应优先级为非最低优先级的传输队列为对象队列,按照对应优先级从高到低的顺序,根据各对象队列的带宽阈值和当前传输速率的关系,对各对象队列执行带宽调整策略;
8、s1303,当对所有对象队列执行带宽调整策略后,退出当前循环,并再次跳到步骤s1301,执行下一个循环。
9、在其中一个实施例中,根据各对象队列的带宽阈值和当前传输速率的关系,对各对象队列执行带宽调整策略,包括:s210,若当前对象队列的带宽阈值减去其当前传输速率的差值大于等于第一预设阈值,则对当前对象队列执行第一调整策略;s220,若当前对象队列的带宽阈值减去当前传输速率的差值小于第二预设阈值,则对当前对象队列执行第二调整策略;其中,第一预设阈值大于第二预设阈值。
10、在其中一个实施例中,第一调整策略的执行逻辑为循环执行以下步骤:
11、s2101,从满足第一转移条件的其它传输队列中,选择优先级最高的传输队列,作为接收队列;将当前对象队列的带宽阈值降低预设调整值,同时,将接收队列的带宽阈值增大预设调整值;
12、s2102,判断当前对象队列的带宽阈值减去当前传输速率的差值是否大于等于第二预设阈值,且小于第一预设阈值;若是,则结束当前第一调整策略的执行逻辑;若否,则执行步骤s2101;
13、第一转移条件为满足以下任一子条件:
14、第一子条件:传输队列对应的优先级最低;
15、第二子条件:传输队列的带宽阈值减去其传输速率的差值小于第二预设阈值。
16、在其中一个实施例中,第二调整策略的执行逻辑为循环执行以下步骤:
17、s2201,按照对应优先级从低到高的顺序,判断对应优先级低于当前对象队列的其它传输队列中是否存在满足第二转移条件的传输队列;
18、若存在,则结束本次判断,将满足第二转移条件的传输队列的带宽阈值降低预设调整值,同时,将当前对象队列的带宽阈值增大预设调整值;
19、若不存在,则结束当前第二调整策略的执行逻辑;
20、s2202,判断当前对象队列的带宽阈值减去当前传输速率的差值是否大于等于第二预设阈值,且小于第一预设阈值;若是,则结束当前第二调整策略的执行逻辑;若否,则执行步骤s2201;
21、第二转移条件为,传输队列的带宽阈值减去预设最小带宽值的差值大于等于预设调整值。
22、在其中一个实施例中,对任一应用程序,当应用程序发起联网时,确定应用程序和传输端口之间的映射关系,包括:
23、获取所有应用进程和传输端口之间的映射关系;
24、获取应用程序和应用进程之间的映射关系;
25、根据应用进程和传输端口之间的映射关系,以及应用程序和应用进程之间的映射关系,确定应用程序和传输端口之间的映射关系。
26、在其中一个实施例中,对任一应用程序,当应用程序发起联网时,获取应用程序的优先级;
27、遍历已有的传输队列;若不存在优先级对应的传输队列,则初始化优先级对应的传输队列。
28、在其中一个实施例中,初始化优先级对应的传输队列,包括:
29、获取优先级对应的初始化系数;
30、将初始化系数与总带宽阈值的乘积,作为优先级对应的传输队列的带宽阈值。
31、在其中一个实施例中,对现有的任一传输队列,若传输队列中所有应用程序均已退出网络通信,则确认传输队列中无网络通信;
32、将无网络通信的传输队列的带宽阈值转移给其他传输队列中对应优先级最低的传输队列;
33、释放无网络通信的传输队列。
34、在其中一个实施例中,对任一应用程序,若无传输端口与应用程序存在映射关系,则确定应用程序已经退出网络通信。
35、第二方面,本专利技术还提供了一种网络资源的分配装置,包括:
36、确定模块,用于对任一应用程序,当应用程序发起联网时,确定应用程序和传输端口之间的映射关系;
37、过滤模块,用于根据映射关系,将属于相同优先级的应用程序对应的传输端口,过滤到同一优先级对应的传输队列中进行数据传输;
38、执行模块,用于循环执行以下步骤:
39、s1301,获取所有传输队列的当前传输速率;
40、s1302,以对应优先级为非最低优先级的传输队列为对象队列,按照对应优先级从高到低的顺序,根据各对象队列的带宽阈值和当前传输速率的关系,对各对象队列执行带宽调整策略;
41、s1303,当对所有对象队列执行带宽调整策略后,退出当前循环,并再次跳到步骤s1301,执行下一个循环。
42、上述网络资源的分配方法和装置,在任一应用程序发起联网时,确定应用程序和传输端口的映射关系,能够使同一应用程序的本文档来自技高网...
【技术保护点】
1.一种网络资源的分配方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据各对象队列的带宽阈值和当前传输速率的关系,对各对象队列执行带宽调整策略,包括:
3.根据权利要求2所述的方法,其特征在于,所述第一调整策略的执行逻辑为循环执行以下步骤:
4.根据权利要求2所述的方法,其特征在于,所述第二调整策略的执行逻辑为循环执行以下步骤:
5.根据权利要求1所述的方法,其特征在于,所述对任一应用程序,当所述应用程序发起联网时,确定所述应用程序和传输端口之间的映射关系,包括:
6.根据权利要求1所述的方法,其特征在于,还包括:
7.根据权利要求6所述的方法,其特征在于,所述初始化所述优先级对应的传输队列,包括:
8.根据权利要求1所述的方法,其特征在于,还包括:
9.根据权利要求8所述的方法,其特征在于,对任一应用程序,若无传输端口与所述应用程序存在映射关系,则确定所述应用程序已经退出网络通信。
10.一种网络资源的分配装置,其特征在于,所述装置包括:
...【技术特征摘要】
1.一种网络资源的分配方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据各对象队列的带宽阈值和当前传输速率的关系,对各对象队列执行带宽调整策略,包括:
3.根据权利要求2所述的方法,其特征在于,所述第一调整策略的执行逻辑为循环执行以下步骤:
4.根据权利要求2所述的方法,其特征在于,所述第二调整策略的执行逻辑为循环执行以下步骤:
5.根据权利要求1所述的方法,其特征在于,所述对任一应用程序,当所述应用程序发起联网...
【专利技术属性】
技术研发人员:杨光景,张超,李蕾,杨诏钧,韩正赟,张仲一,
申请(专利权)人:麒麟软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。