1.本发明涉及显示技术领域,特别是涉及一种带宽增强方法、通信系统、存储介质以及计算机设备。
背景技术:2.现有的通信系统主要采用以下两种方式进行传输通道的数据写入:
3.1、询问分配方式,即将各传输通道设置为固定大小的缓存容量,每次传输前询问各传输通道是否处于可写状态,将数据分配至可写的传输通道。
4.2、平均分配方式,即将待传输文件的缓存平均分成与传输通道数量相同的若干部分,并分别逐次发给各传输通道。
5.上述两种工作方式均存在不同程度的时延等待问题和带宽浪费问题,因此,需要一种新的带宽增强方法、通信系统、存储介质以及计算机设备。
技术实现要素:6.为了解决上述问题至少之一,本发明第一个实施例提供一种带宽增强方法,包括:
7.s1:轮询判断至少两路传输通道中是否存在可用的传输通道,若否则控制等待计数器加1并跳转至s1,若是则分配传输通道;
8.s3:使用分配的传输通道传输数据包,并控制该传输通道的传输计数器加1;
9.s5:根据本次传输的等待计数器的等待数值动态调整该传输通道的缓存容量,存储所述等待数值并对所述等待计数器进行初始化;
10.s7:判断各传输通道的传输计数器的传输次数之和是否大于等于预设的传输阈值,若否则跳转至s1以继续传输数据,若是则跳转至s9;
11.s9:根据各传输通道的传输次数动态调整各传输通道的缓存容量,将各传输通道的传输计数器初始化并跳转至s1以继续传输数据。
12.进一步的,在所述s1之前,所述带宽增强方法还包括:
13.将各传输通道的缓存容量设置为预设的容量阈值。
14.进一步的,所述s5进一步包括:
15.s51:判断本次传输的等待计数器的等待数值是否大于预设的第一等待阈值,若是则存储本次传输通道的缓存容量并利用预设的第一容量比调整该传输通道的缓存容量,若否则跳转至s53;
16.s53:判断本次传输的等待计数器的等待数值是否小于等于预设的第一等待阈值且大于预设的第二等待阈值,若是则存储本次传输通道的缓存容量并利用预设的第一步进值调整该传输通道的缓存容量,若否则跳转至s55;
17.s55:判断本次传输的等待计数器的等待数值是否小于等于预设的第二等待阈值,若是则根据该传输通道的前一次传输的等待数值动态调整该传输通道的缓存容量。
18.进一步的,所述s55进一步包括:
19.s551:判断该传输通道的前一次传输的等待数值是否大于预设的第二等待阈值,若是则跳转至s553,若否则跳转至s555;
20.s553:存储本次传输通道的缓存容量,将该传输通道的缓存容量设置为该传输通道的前一次传输的缓存容量;
21.s555:存储本次传输通道的缓存容量,利用预设的第二容量比调整该传输通道的缓存容量。
22.进一步的,所述s9进一步包括:
23.s91:确定各传输通道中的传输次数的最大值和最小值;
24.s93:判断所述最大值和最小值的差值是否小于预设的差值阈值,若是则将各传输通道的传输计数器初始化并跳转至s1以继续传输数据,若否则跳转至s95;
25.s95:根据各传输通道的传输次数与所述最小值的比值调整对应传输通道的缓存容量,将各传输通道的传输计数器初始化并跳转至s1以继续传输数据。
26.进一步的,所述传输通道的数量为3通道,各传输通道为5g通信模块。
27.本发明第二个实施例提供一种应用上述带宽增强方法的通信系统,包括:
28.至少两路传输通道、等待计数器和带宽控制器,其中
29.每路传输通道包括传输计数器,用于记录该传输通道的传输次数;
30.所述等待计数器,用于记录一次传输的等待时间;
31.所述带宽控制器配置为:
32.s1:轮询判断至少两路传输通道中是否存在可用的传输通道,若否则控制等待计数器加1并跳转至s1,若是则分配传输通道;
33.s3:使用分配的传输通道传输数据包,并控制该传输通道的传输计数
34.器加1;
35.s5:根据本次传输的等待计数器的等待数值动态调整该传输通道的缓存容量,存储所述等待数值并对所述等待计数器进行初始化;
36.s7:判断各传输通道的传输计数器的传输次数之和是否大于等于预设的传输阈值,若否则跳转至s1以继续传输数据,若是则跳转至s9;
37.s9:根据各传输通道的传输次数动态调整各传输通道的缓存容量,将各传输通道的传输计数器初始化并跳转至s1以继续传输数据。
38.进一步的,所述传输通道的数量为3通道,各传输通道为5g通信模块。
39.本发明第三个实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述带宽增强方法。
40.本发明第四个实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述的带宽增强方法。
41.本发明的有益效果如下:
42.本发明针对目前现有的问题,提出一种带宽增强方法,一方面利用预设传输次数内记录的各传输通道的传输次数比动态调整各传输通道的缓存容量,另一方面通过记录的各数据包传输的等待数值对各传输通道的缓存容量进行实时动态调整,使得根据各传输通道传输速度最大化匹配其缓存容量,从而实现各传输通道的宽带最大化利用,减小各传输
通道的写入数据的等待时间,有效实现带宽增强,缓解带宽浪费,提高通信系统的整体传输速率,具有广泛的应用前景。
附图说明
43.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1示出本发明的一个实施例所述带宽增强方法的流程图;
45.图2示出本发明的一个实施例利用等待数值调整传输通道缓存容量的流程图;
46.图3示出本发明的一个实施例利用传输次数调整传输通道缓存容量的流程图;
47.图4示出本发明的一个实施例的通信系统的结构框图;
48.图5示出本发明的另一个实施例所述的一种计算机设备的结构示意图。
具体实施方式
49.为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
50.需要说明的是,在本技术的描述中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
51.现有技术中,以通信系统采用询问分配方式使用三路传输通道进行数据传输为例进行说明,其中,询问顺序依次为传输通道1、传输通道2和传输通道3。
52.当待传输文件的缓存较大,传输通道1、传输通道2和传输通道3均进行部分文件的缓存传输时,由于3个传输通道之间存在传输速度差异,传输速度最快的传输通道1首先传输完成,并进行下一组传输数据的发送,而传输速度最慢的传输通道3还在进行当前文件数据的传输,服务器只能等待传输速度最慢的传输通道3,因此造成了极大的时延问题。
53.当待传输文件的缓存较小时,传输通道1~3的传输速度均很快,传输通道1快速完成当前的传输任务后再次变成可写入状态,而轮询顺序中传输通道1处于第一位,因此,通信系统每次询问时传输通道1都是发送完成的可写状态。这种情况下实质变成了传输通道1的单路传输,传输通道2和3则是传输通道1传输繁忙时的补充传输,造成了传输通道2和3带宽的极大浪费。即使待传输文件处于合适的缓存大小时,一旦各传输通道的网速出现波动,都会造成带宽浪费的问题。
54.而当通信系统采用平均分配方式使用三路传输通道进行文件传输时,即将待传输文件的缓存平均分成与传输通道数量相同的若干部分,并分别逐次发给传输通道1~3。该
工作方式下,在各个传输通道的网速不一致时,速度最低的传输通道将限制整个通信系统的传输速率。并且该工作方式下,也存在与前述询问分配方式相同的带宽浪费的问题。
55.为解决上述问题,发明人通过大量理论研究和实验提出,1.让各模块尽可能依次发送;2.让等待时间尽可能缩短。在此基础上,如图1所示,本发明的一个实施例提供了一种带宽增强方法,包括:
56.s1:轮询判断至少两路传输通道中是否存在可用的传输通道,若否则控制等待计数器加1并跳转至s1,若是则分配传输通道;
57.s3:使用分配的传输通道传输数据包,并控制该传输通道的传输计数器加1;
58.s5:根据本次传输的等待计数器的等待数值tm动态调整该传输通道的缓存容量size,存储所述等待数值tm并对所述等待计数器进行初始化;
59.s7:判断各传输通道的传输计数器的传输次数之和是否大于等于预设的传输阈值,若否则跳转至s1以继续传输数据,若是则跳转至s9;
60.s9:根据各传输通道的传输次数动态调整各传输通道的缓存容量size,将各传输通道的传输计数器初始化并跳转至s1以继续传输数据。
61.本发明针对目前现有的问题,提出一种带宽增强方法,一方面利用预设传输次数内记录的各传输通道的传输次数比动态调整各传输通道的缓存容量,另一方面通过记录的各数据包传输的等待数值对各传输通道的缓存容量进行实时动态调整,使得根据各传输通道传输速度最大化匹配其缓存容量,从而实现各传输通道的宽带最大化利用,减小各传输通道的写入数据的等待时间,有效实现带宽增强,缓解带宽浪费,提高通信系统的整体传输速率,具有广泛的应用前景。
62.在一个具体的实施例中,所述传输通道的数量为3通道,各传输通道为5g通信模块。
63.在本实施例中,采用轮询方式查询是否有可用的传输通道,例如当带宽控制器询问传输通道1为可写状态时,传输通道1进行数据传输,然后带宽控制器根据轮询顺序继续询问传输通道2是否可写,若可写则通过传输通道2进行数据传输,然后带宽控制器根据轮询顺序继续询问传输通道3是否可写,若可写则通过传输通道3进行数据传输。然后带宽控制器进行下一轮的轮询查询。具体的,将本实施例的3路传输通道分别为记录为socket1 a,传输通道socket2b,传输通道socket3 c,其各自对应的缓存buffer的缓存容量为[sizea]、[sizeb]和[sizec]。
[0064]
其中,socket1 a、socket2 b和socket3 c分别表示传输计数器记录的各传输通道的传输次数,socket1的传输次数为a、socket2的传输次数为b、以及socket3的传输次数为c,size表示各传输通道的缓存buffer的缓存容量,sizea、b和sizec表示其分别对应的缓存容量大小为a、b和c。
[0065]
等待计数器记录的是当前传输通道的等待时间,以等待数值tm标识。若3路传输通道均在传输中,表明待传输数据不能写入传输中的传输通道,则等待计数器的等待数值tm自加,直到有可用的传输通道为止。
[0066]
在一个可选的实施例中,在所述s1之前,所述带宽增强方法还包括:
[0067]
将各传输通道的缓存容量设置为预设的容量阈值。
[0068]
本实施例中,通过对缓存容量进行容量阈值的预设,以确保传输通道可在合理范
围内使用。
[0069]
具体的,缓存容量可表示为:size=y*n+j,其中n为缓存因子、y为数据包的字节个数,j为待调整的字节个数,字节j随后续根据等待时间tm调整缓存容量size而变化。
[0070]
更具体的,n的初始值为48,y的初始值为1000,j的初始值为0,则缓存容量的初始值可为:size=1000*48+0。
[0071]
现以一具体实施例对本发明带宽增强方法的说明,如图1所示:
[0072]
s1,轮询判断至少两路传输通道中是否存在可用的传输通道,若否则控制等待计数器加1并跳转至s1,若是则分配传输通道。
[0073]
对传输通道1、传输通道2和传输通道3根据轮询顺序进行询问确定是否存在可写入传输数据的传输通道。具体的,若询问时全部3个传输通道都在传输中无法写入,则等待计数器的等待数值加1并继续轮询判断。若询问时存在可写入的传输通道,则以当前询问的传输通道作为待传输数据的传输通道。
[0074]
s3:使用分配的传输通道传输数据包,并控制该传输通道的传输计数器加1;
[0075]
若当前可写入的传输通道为传输通道1,则使用传输通道1传输数据包,并将传输通道1的表示传输次数的传输计数器a的传输次数变为a+1。例如,进行第22包传输数据的询问时,在此之前传输通道1~3的传输次数分别为5、8和8,则可表示为socket1 5,socket2 8,socket3 8,带宽控制器进行第22包传输数据的询问时,若传输通道1为可写入状态,那么传输通道1变为socket16,传输通道2和传输通道3的传输次数并未变化。
[0076]
在该步骤中,对传输通道的次数进行实时记录以确定各传输通道的相对工作状态。可理解的是,当各传输通道之间的传输次数出现较大差异,则表示各传输通道之间存在传输速度差异较大的现象。
[0077]
s5:根据本次传输的等待计数器的等待数值tm动态调整该传输通道的缓存容量size,存储所述等待数值tm并对所述等待计数器进行初始化。
[0078]
随着每次询问,各传输计数器分别记录传输通道1~3对应的传输次数a、b和c,同时,等待计数器同时记录本次传输的传输通道在传输数据之前的等待数值tm,并通过等待数值tm以实时调整该传输通道的当前缓存容量sizem。
[0079]
例如,当本次传输时的等待数值tm为3时,将该次传输的等待数值记录在本次传输通道的寄存器中以便于后续调整该传输通道的缓存容量,同时将等待计数器的等待数值初始化,即将等待数值清0以便于记录下一次传输的等待时间。
[0080]
在一个可选的实施例中,如图2所示,所述s5进一步包括:
[0081]
s51:判断本次传输的等待计数器的等待数值tm是否大于预设的第一等待阈值t-s1,若是则存储本次传输通道的缓存容量sizem并利用预设的第一容量比调整该传输通道的缓存容量size
m+1
,若否则跳转至s53。
[0082]
在该步骤中,当等待数值tm大于预设的第一等待阈值t-s1时,需减小本次传输通道的缓存容量sizem,本实施例利用预设的第一容量比调整该传输通道的缓存容量至size
m+1
,使得调整后的该传统通道的缓存容量size
m+1
较原缓存容量sizem有所减小,以减小下一询问的时延,提高该传输通道的传输速率,进一步提高所有传输通道之间的平衡性和稳定性,从而实现所有传输通道的传输速率最大化。
[0083]
在一个具体示例中,第一容量比为0.99。
[0084]
s53:判断本次传输的等待计数器的等待数值tm是否小于等于预设的第一等待阈值t-s1且大于预设的第二等待阈值t-s2,若是则存储本次传输通道的缓存容量sizem并利用预设的第一步进值调整该传输通道的缓存容量,若否则跳转至s55。
[0085]
当本次传输的等待计数器的等待数值tm小于预设的第一等待阈值t-s1时,则说明,该传输通道被写入传输数据之前的等待时间tm很短,同时,将等待数值tm与第二等待阈值t-s2比较以确定等待数值tm的具体范围,并根据不同范围内的等待数值tm进行本次传输通道的缓存容量sizem不同方式的调整。
[0086]
具体的,当等待数值tm小于等于预设的第一等待阈值t-s1且大于预设的第二等待阈值t-s2时,即t-s2<tm<t-s1时,存储本次传输通道的缓存容量sizem并利用预设的第一步进值调整该传输通道的缓存容量。
[0087]
在一个具体示例中,第二等待阈值t-s2为0,预设第一步进值为1,由于size=y*n+j,因此,当本次传输通道的缓存容量sizem根据预设第一步进值加1调整时,调整的size’m
=y*n+(j+1)),待调整的字节个数j随预设第一步进值的增加而增加。
[0088]
该步骤中,通过对t-s2<tm<t-s1时的本次传输通道的缓存容量sizem进行逐步增大调整,以确保该传输通道的传输速度可与其缓存容量达到平衡,保证传输速率的最大化。
[0089]
s55:判断本次传输的等待计数器的等待数值tm是否小于等于预设的第二等待阈值t-s2,若是则根据该传输通道的前一次传输的等待数值t
m-1
动态调整该传输通道的缓存容量sizem。
[0090]
当本次传输的等待计数器的等待数值tm不仅小于第一等待阈值t-s1,且还小于等于第二等待阈值t-s2时,即,tm≤t-s2<t-s1时,此时说明该传输通道的传输速度很快,能够快速完成当前缓存容量sizem下的传输数据,因此,可通过增加该传输通道的缓存容量,以匹配其传输速度,实现传输速度与缓存容量的平衡,保证传输速率的最大化。
[0091]
在一个具体示例中,第二等待阈值t-s2为0,即tm≤0,此时说明当前该传输通道的等待时间tm已经等于0,此时,则根据该传输通道的前一次传输的等待数值t
m-1
判断如何调整缓存容量以进一步动态调整该传输通道的缓存容量,即反复寻找该传输通道的缓存容量的最优值。
[0092]
在一个可选的实施例中,如图2所示,所述s55进一步包括:
[0093]
s551:判断该传输通道的前一次传输的等待数值t
m-1
是否大于预设的第二等待阈值t-s2,若是则跳转至s553,若否则跳转至s555。
[0094]
在该步骤中,通过对该传输通道的前一次传输的等待数值t
m-1
与第二等待阈值t-s2相比较,可较为准确的判断该传输通道的传输状态。
[0095]
s553:存储本次传输通道的缓存容量sizem,将该传输通道的缓存容量设置为该传输通道的前一次传输的缓存容量size
m-1
;
[0096]
在该步骤中,若第二等待阈值t-s2为0,即表明本次传输通道的等待时延为0,则利用该传输通道的前一次传输的等待数值t
m-1
进行判断,若大于第二等待阈值0时,即t
m-1
>0此时,说明该传输通道的前一次缓存容量sizem较小且传输速度快,缓存容量sizem与传输速度不匹配。因此,将当前该传输通道的缓存容量sizem设置为前一次传输时的缓存容量size
m-1
,可较为准确的判断该传输通道的传输状态,并实现对该传输通道的缓存容量的实时调整。
[0097]
将当前传输通道的缓存容量size
m+1
设置为size
m-1
时,进行下一次数据传输时,可以进一步寻找该传输通道的最优缓存容量从而增强带宽降低延时,缓解带宽浪费,并且,由于相邻的传输数据顺次到达服务器,整个通信系统的时延也会降低,提高通信系统的整体传输速率。
[0098]
s555:存储本次传输通道的缓存容量sizem,利用预设的第二容量比调整该传输通道的缓存容量。
[0099]
在该步骤中,若第二等待阈值t-s2为0,该传输通道的前一次传输的等待数值t
m-1
小于等于第二等待阈值0时,即t
m-1
≤0,并且tm≤0<t-s1,此时,说明该传输通道的缓存容量较小且传输速度快,即传输通道的网络传输速度没有完全利用,缓存容量与缓存速度不匹配,需进行该传输通道缓存容量sizem的调整。
[0100]
在一个具体示例中,预设的第二容量比为1.05,调整后的该传输通道的缓存容量size
m+1
变为sizem*1.05,其缓存容量变大,通过实时动态调整该传输通道的缓存容量使其与该传输通道的传输速度相适应,最大程度利用该传输通道的带宽。
[0101]
在本实施例中,根据每次传输通道传输数据包的等待时间的等待数值对该传输通道的缓存容量进行调整,具体的,缓存容量的调节过程可以表示为:size=(y*n+j)*0.99d*1.05e+f,其中size=(y*n+j)表示传输通道当前的缓存容量,d表示等待数值tm大于第一等待阈值t-s1的次数,e表示等待数值tm小于等于第二等待阈值t-s2的次数,f表示等待数值tm小于第一等待阈值t-s1等待数值tm并且大于第二等待阈值t-s2时调整的步进值。例如本次等待数值tm大于第一等待阈值t-s1,则d=1、e=0、f=0,则下一次该传输通道的缓存容量为size=(y*n+j)*0.991*1.050+0=(y*n+j)*0.99。
[0102]
因此,本发明实施例通过对传输通道的各次等待数值tm的记录,并通过对等待数值tm的具体数值范围的判断,能够确定当前传输通道的传输状态,从而实时调节该传输通道的缓存容量,以实现缓存容量与传输速度的平衡匹配,使得传输通道写入传输数据的等待数值tm接近于0,可实现各传输通道按照轮询的顺序逐一进行数据的传输,以降低时延,可提高整个系统的传输速率。
[0103]
s7:判断各传输通道的传输计数器的传输次数之和是否大于等于预设的传输阈值,若否则跳转至s1以继续传输数据,若是则跳转至s9。
[0104]
当所有传输通道的累计传输次数在预设阈值之内时,在前述步骤中通过等待时间实时调节当前传输的传输通道的缓存容量sizem,每一传输通道的缓存容量sizem随其自身的等待数值tm进行调整,即对各传输通道的缓冲容量进行细调以使得各传输通道的传输速度与其自身的缓存容量达到最优的匹配,实现传输通道自身的传输速率最大化。
[0105]
在该步骤中,当所有传输通道的累计传输次数大于等于预设阈值时,通过传输计数器记录的各传输通道的传输次数,可以对传输通道的整体工作状态进行判断。
[0106]
在一个具体示例中,预设阈值为100,当前所有传输通道1~3的累计传输次数为100包,其中,传输通道2传输30个数据包,传输通道3传输20个数据包,可表示为:
[0107]
传输通道1传输50个数据包时buffer的缓存容量为:socket1 50[1024*48];
[0108]
传输通道2传输30个数据包时buffer的缓存容量为:socket2 30[1024*48];
[0109]
传输通道3传输20个数据包时buffer的缓存容量为:socket3 20[1024*48]。
[0110]
当所有传输通道的累计传输次数大于等于预设阈值100时,传输通道1在3个传输
通道中传输次数最多,其传输速率最快,传输通道3在3个传输通道中传输次数最少,其传输速率最慢。在该预设阈值内,各传输通道已经表现出不同传输速率的差异,因此,通过设定预设阈值以实现所有传输通道超出累计次数后的整体调节,即实现对各传输通道的缓冲容量的粗调。
[0111]
s9:根据各传输通道的传输次数动态调整各传输通道的缓存容量,将各传输通道的传输计数器初始化并跳转至s1以继续传输数据。
[0112]
进一步的,由前述3个传输通道的传输次数以及对应的缓存容量可知,传输通道1在当前传输效果最好,传输通道3在当前传输效果最差。为实现传输通道1自身在所有传输通道中的最大化利用,以及对传输通道3的传输速率进行调整,可通过对各传输通道的传输次数进行记录和判定,可对每一传输通道在所有传输通道中的传输比重进行调整,从而实现所有传输通道整体的传输稳定性,极大提高整体的传输速率。
[0113]
在一个可选的实施例中,如图3所示,所述s9进一步包括:
[0114]
s91:确定各传输通道中的传输次数的最大值和最小值;
[0115]
s93:判断所述最大值和最小值的差值是否小于预设的差值阈值k,若是则将各传输通道的传输计数器初始化并跳转至s1以继续传输数据,若否则跳转至s95;
[0116]
s95:根据各传输通道的传输次数与所述最小值的比值调整对应传输通道的缓存容量,将各传输通道的传输计数器初始化并跳转至s1以继续传输数据。
[0117]
在该实施例中,利用最多的传输次数与最少的传输次数,以进行各传通道的缓存容量在所有传输通道中的比重调整,使得每一传输通道的缓存容量与其自身的传输速度达到最大化的性能匹配,实现每一传输通道的传输速率最大化,降低每一传输通道的宽带浪费,从而提高通信系统的整体传输速率,有效提升通信系统的整体稳定性。
[0118]
在一个具体实施例中,由前述可知,3个传输通道中的传输次数最小值为20,即min{a,b,c}=20;3个传输通道中的传输次数最大值为50,即max{a,b,c}=50。
[0119]
预设差值阈值k为3,max{a,b,c}-min{a,b,c}=50-20=30>3,传输次数的最大值和最小值大于预设差值阈值,则3个传输通道中存在传输速率差异较大的传输通道,需进行个传输通道缓存容量的调整。
[0120]
由于缓存容量为:size=y*n+j,其中n为缓存因子、y为数据包的字节个数,j为待调整的字节个数,字节j随后续根据等待时间tm调整缓存容量size而变化。当n为48,y为1024时,调整后的各传输通道buffer的缓存容量可表示为:
[0121]
传输通道1:socket1 50=[1024*48*(50/20)+j];
[0122]
传输通道2:socket2 30=[1024*48*(30/20)+j];
[0123]
传输通道3:socket3 20=[1024*48*(20/20)+j]。
[0124]
可知,即通过对缓存因子进行调整而大幅度调整各传输通道的缓存容量,在本实施例中,由于传输通道1的传输速率较高,调整后的传输通道1对应的缓存容量自身增加较多,且在所有传输通道中的缓存容量最大,其较快的传输速度与其自身较大的缓存容量相适应,该传输通道自身的传输速率最大化,带宽最大化利用。传输通道2和传输通道3分别进行相对的缓存容量的调整,实现其自身传输速度下的缓存容量的最大化设定,从而提高通信系统的整体传输速率,有效提升通信系统的整体稳定性。
[0125]
在本实施例中,通过利用各传输通道的传输次数比对各传输通道的缓存容量进行
粗调,同时利用各传输通道本次的等待数值对其缓存容量进行实时细调,从而使得通信系统处于一种理想状态:传输通道1刚刚传输完成上一组数据变为可写状态,带宽控制器对当前传输数据的询问同时到达,则使用传输通道1传输数据包的等待时间较短,该情况下传输通道1可不间断地传输数据。当带宽控制器进行对传输通道1的询问以及写入完成后,进行传输通道2的询问时,传输通道2刚刚传输完成上一组数据变为可写状态,带宽控制器对当前传输的询问同时到达,则使用传输通道2传输数据包的等待时间较短,传输通道2可不间断地传输数据。因此,带宽控制器的轮询顺序与实际的传输通道的分配顺序一致,均为1-》2-》3-》1-》2-》3
……
,该情况下可最大程度利用每一传输通道的带宽,有效降低带宽浪费,并且,由于相邻的传输数据顺次到达服务器,整个通信系统的时延也会降低,提高通信系统的整体传输速率。
[0126]
与上述实施例提供的带宽增强方法相对应,如图4所示,本技术的一个实施例还提供一种应用上述带宽增强方法的通信系统,包括:至少两路传输通道、等待计数器和带宽控制器,其中
[0127]
每路传输通道包括传输计数器,用于记录该传输通道的传输次数;
[0128]
所述等待计数器,用于记录一次传输的等待时间;
[0129]
所述带宽控制器配置为:
[0130]
s1:轮询判断至少两路传输通道中是否存在可用的传输通道,若否则控制等待计数器加1并跳转至s1,若是则分配传输通道;
[0131]
s3:使用分配的传输通道传输数据包,并控制该传输通道的传输计数器加1;
[0132]
s5:根据本次传输的等待计数器的等待数值动态调整该传输通道的缓存容量,存储所述等待数值并对所述等待计数器进行初始化;
[0133]
s7:判断各传输通道的传输计数器的传输次数之和是否大于等于预设的传输阈值,若否则跳转至s1以继续传输数据,若是则跳转至s9;
[0134]
s9:根据各传输通道的传输次数动态调整各传输通道的缓存容量,将各传输通道的传输计数器初始化并跳转至s1以继续传输数据。
[0135]
本发明针对目前现有的问题,提出一种应用前述带宽增强方法的前述通信系统,一方面利用预设传输次数内记录的各传输通道的传输次数比动态调整各传输通道的缓存容量,另一方面通过记录的各数据包传输的等待数值对各传输通道的缓存容量进行实时动态调整,使得根据各传输通道传输速度最大化匹配其缓存容量,从而实现各传输通道的宽带最大化利用,减小各传输通道的写入数据的等待时间,有效实现带宽增强,缓解带宽浪费,提高通信系统的整体传输速率,具有广泛的应用前景。
[0136]
在一个可选的实施例中,所述传输通道的数量为3通道,各传输通道为5g通信模块。
[0137]
具体的,带宽控制器以轮询的方式在传输数据前进行每一传输通道的询问,若传输通道1~3均正在传输,则等待计数器记录的等待次数加1,再次以当前轮询顺序进行下一轮所有传输通道的询问。若传输通道1可以使用,则带宽控制器使用传输通道1进行数据包的传输,并控制传输通道1的传输计数器记录的传输次数加1。同时,等待计数器记录当前传输数据的传输通道1写入数据之前的等待时长作为等待数值。带宽控制器根据该等待数值动态调整该传输通道1的缓存容量,减小该传输通道的写入数据前的等待时间。
[0138]
带宽控制器通过传输通道1~3各自的传输计数器1~3进行传输次数的记录,并根据各传输通道的传输次数比调整各传输通道的自身的缓存容量,使得各传输通道自身的传输速度与缓存容量最大化匹配,带宽控制器通过动态调整各传输通道相对于所有传输通道的缓存容量的缓存比重,使得各传输通道与其他传输通道的缓存容量之间相对平衡,以实现各传输通道的宽带最大化利用,有效降低带宽浪费,减小各传输通道的等待时间,降低时延,具有广泛的应用前景。
[0139]
值得说明的是,本发明实施例提出的通信系统,其不限于利用本发明上述实施例的带宽增强方法而形成的具体通信系统,也可由本领域技术人员采用其他方法或器件实现该通信系统的具体工作原理。
[0140]
本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:s1:轮询判断至少两路传输通道中是否存在可用的传输通道,若否则控制等待计数器加1并跳转至s1,若是则分配传输通道;s3:使用分配的传输通道传输数据包,并控制该传输通道的传输计数器加1;s5:根据本次传输的等待计数器的等待数值动态调整该传输通道的缓存容量,存储所述等待数值并对所述等待计数器进行初始化;s7:判断各传输通道的传输计数器的传输次数之和是否大于等于预设的传输阈值,若否则跳转至s1以继续传输数据,若是则跳转至s9;s9:根据各传输通道的传输次数动态调整各传输通道的缓存容量,将各传输通道的传输计数器初始化并跳转至s1以继续传输数据。
[0141]
在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0142]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0143]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0144]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或
广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0145]
如图5所示,本发明的另一个实施例提供的一种计算机设备的结构示意图。图5显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0146]
如图5所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0147]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0148]
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0149]
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0150]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0151]
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图5所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图5中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0152]
处理器单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种带宽增强方法。
[0153]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对
本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。