CN1968192A - 一种流量控制的方法及装置 - Google Patents
一种流量控制的方法及装置 Download PDFInfo
- Publication number
- CN1968192A CN1968192A CNA2006100783083A CN200610078308A CN1968192A CN 1968192 A CN1968192 A CN 1968192A CN A2006100783083 A CNA2006100783083 A CN A2006100783083A CN 200610078308 A CN200610078308 A CN 200610078308A CN 1968192 A CN1968192 A CN 1968192A
- Authority
- CN
- China
- Prior art keywords
- flow control
- data
- control parameter
- packet
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000005540 biological transmission Effects 0.000 claims description 47
- 230000003139 buffering effect Effects 0.000 claims description 15
- 230000000052 comparative effect Effects 0.000 claims description 12
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000005755 formation reaction Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 5
- 230000004907 flux Effects 0.000 abstract 2
- 238000012360 testing method Methods 0.000 description 13
- 230000009467 reduction Effects 0.000 description 11
- 230000000630 rising effect Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 235000017060 Arachis glabrata Nutrition 0.000 description 1
- 241001553178 Arachis glabrata Species 0.000 description 1
- 235000010777 Arachis hypogaea Nutrition 0.000 description 1
- 235000018262 Arachis monticola Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 235000020232 peanut Nutrition 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流量控制的方法及装置,应用于数据传输技术领域,所述方法包括步骤:获取流量控制参数,所述流量控制参数包括系统性能数据;将所述流量控制参数与预设范围进行比较;根据所述比较的结果对数据包的发送速率进行控制。本发明同时提供实现所述方法的装置。本发明解决了过高的传输速率使系统处理所耗资源过大,导致系统运行不稳定的问题,做到了系统处理能力与网络带宽的合理均衡,既保证了数据的正常发送,又保证了系统的运行效率。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及一种流量控制的方法及装置。
背景技术
在一个实时性和可靠性要求很高的通信系统中,要满足传输的可靠,需要对不同的业务进行流量控制。
在已有的技术方案中,一种流量控制的方法是固定传输速率,如漏桶控制方式。漏桶相当于一个缓冲区,可以将突发传输流转化为平缓传输流,确保用户的传输流遵守用户在建立连接时的规定。当队列满时,分组被丢弃,队列按规定的速率向网络发送分组。
采用这种方式能保证系统的可靠性,但缺点也比较明显,就是在业务量存在变化的时候不能合理的使用资源,无论数据量多大,总以恒定速率发送数据。不能实时的根据网络状况对网络流量进行控制,如果网络出现拥塞,仍以规定速率进行发送,导致丢包率过高、延迟过大。如果在业务量较大的时候,速率设置过小则会出现数据堆积过多而丢包的情况。
另一种现有技术已实现了网络流量的动态调整、多优先级的分别传输。比如滑动窗口协议,可以通过动态调整窗口大小来进行流量控制。
传输控制协议(TCP:Transmission Control Protocol)使用窗口技术来改善流量控制,以便通信双方能够充分利用带宽。滑动窗口允许发送方在收到接收方的确认之前发送多个数据段。窗口大小决定了在收到目的地确认之前,一次可以传送的数据段的最大数目。窗口越大,主机一次可以传输的数据段就越多。当主机传输窗口大小数目的数据段后,就必须等收到确认,才可以再传下面的数据段。窗口技术大大提高了网络带宽的利用率。
窗口的大小在通信双方连接期间是可变的,通信双方可以通过协商动态地修改窗口大小。在TCP的每个确认中,除了指出希望收到的下一个数据段的序列号之外,还包括一个窗口通告,通告中指出了接收方还能再收多少数据段,即接收方缓冲区大小。如果通告值增大,窗口大小也相应增大;通告值减小,窗口大小也相应减小。
网络流量动态调整的方法,往往只考虑速率的控制,忽略了系统资源的平衡,提高网络流量的同时,过高的速率使系统处理所耗资源过大,导致系统运行的不稳定性,影响其他业务的处理。还有可能导致系统资源不足而产生连锁反应:应用层数据处理失败,套接字(socket)缓冲区发送出现拥塞情况等。
发明内容
本发明要解决的技术问题是提供一种流量控制的方法及装置,该方法及装置可以做到系统处理能力与网络带宽的合理均衡,在保证了系统的运行效率前提下正常发送数据。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的,一种流量控制的方法,包括步骤:1)获取流量控制参数,所述流量控制参数包括系统性能数据;2)将所述流量控制参数与预设范围进行比较;3)根据所述比较的结果对数据包的发送速率进行控制。
优选地,所述流量控制参数具有不同的优先级;所述步骤3)中根据所述比较的结果依次按照各流量控制参数的优先级顺序对数据包的发送速率进行控制。
优选地,所述获取流量控制参数还包括获取网络性能数据,所述网络性能数据具有低于系统性能数据的优先级。
优选地,所述系统性能数据包括:系统中央处理单元占用率和/或内存占用率。
优选地,所述步骤3)中对数据包的发送速率进行控制是对数据包发送的峰值速率进行调整。
优选地,所述对峰值速率进行调整是根据所述比较结果超出或低于预设范围的量按比例或定步长进行调整。
优选地,所述获取流量控制参数还包括获取流量接收端的反馈数据,所述反馈数据包括流量接收端的拥塞率和/或丢包率;该反馈数据具有低于系统性能数据的优先级。
本发明提供的一种流量控制的装置,包括:统计单元,用于获取流量控制参数,所述流量控制参数包括系统性能数据;比较单元,用于将所述流量控制参数与预设范围进行比较;速率调整单元,用于根据所述比较的结果对数据包的发送速率进行控制。
优选地,还包括:参数设置单元,用于设置获取的各流量控制参数的优先级和与流量控制参数比较的参数范围。
优选地,所述统计单元,还用于获取网络性能数据,所述网络性能数据具有低于系统性能数据的优先级。
优选地,包括:一级数据缓冲区,用于接收数据并在单位时间内将一定量数据写入二级数据缓冲区;二级数据缓冲区,用于接收来自一级数据缓冲区写入的数据并在所述单位时间内全部发送出去;所述速率调整单元对发送速率的控制,是控制单位时间一级数据缓冲区可以写入二级数据缓冲区数据量的最大值。
优选地,所述一级数据缓冲区,由若干不同优先级队列组成;
所述参数设置单元,还用于设置每个单位时间一级数据缓冲区各优先级队列中数据包写入二级数据缓冲区的比率。
采用上述技术方案,本发明有益的技术效果在于:
1)本发明通过获取包括系统性能数据在内的流量控制参数,并比较所述性能数据与预设范围,根据比较结果控制数据包发送的速率。解决了过高的传输速率使系统处理所耗资源过大、导致系统运行不稳定的问题。保证了数据发送时系统的运行效率。
2)在系统性能数据保持在正常范围内的基础上,获取的流量控制参数还可以包括网络性能数据,并将网络性能数据与预设范围进行比较,根据比较结果动态平滑调整数据包发送的速率,更好的利用了网络资源,保证系统运行的平稳性。
3)本发明对发送速率的控制是根据流量控制参数与预设范围的比较结果超出或低于预设范围的量按比例或定步长对峰值速率进行调整。做到了对数据发送的峰值速率合理的定量调整,使调整更精确、更迅速。
附图说明
图1,为本发明实施例一流量控制的方法的流程图;
图2,为本发明实施例二流量控制的方法的流程图;
图3,为本发明实施例三流量控制的方法的流程图;
图4,为本发明流量控制的装置的结构图;
图5,为本发明实施例四流量控制的装置的结构图;
图6,为应用本发明进行的测试1情况下的CPU占用率图;
图7,为应用本发明进行的测试2情况下的CPU占用率图;
图8,为应用本发明进行的测试3情况下的CPU占用率图。
具体实施方式
本发明提供一种流量控制的方法及装置,应用于数据传输技术领域。该方法及装置的基本思想是:获取流量控制参数,所述流量控制参数包括系统性能数据;将所述流量控制参数与预设范围进行比较;根据所述比较的结果对数据包的发送速率进行控制。数据包发送速率越大消耗系统资源也随之增大,同时可能导致拥塞,降低数据包发送速率可以降低对系统资源的消耗,本发明保证了系统处理能力与网络带宽的合理均衡。所述流量控制参数还可以包括网络性能数据,通过网络性能数据对发送速率的控制具有低于系统性能数据的优先级。下面对本发明的流量控制方法和装置进行详细描述。
实施例一,一种流量控制的方法,流程图如图1所示,包括步骤:
步骤a1,获取系统中央处理单元(CPU:Central Processing Unit)占用率。
所述系统性能数据,是系统运行设备的软硬件参数,本实施例采用的是系统CPU的占用率,还可以是内存占用率等可以反映系统运行状况的数据,设备不同,获取的软硬件参数也可以不同,例如,还可以是某些设备特有的系统性能数据,具体获取的参数不构成对本发明的限制。
步骤a2,检查所述CPU占用率是否超出相应的预设范围,是,则转向步骤a3;否,则转向步骤a4。
步骤a3,降低数据包发送的峰值速率,并转向步骤a4。
所述峰值速率是每个单位时间数据包发送的最大值,通过对峰值速率的调整可以间接控制数据包发送的速率。本发明强调的是通过获取系统性能数据控制数据包发送的速率,具体对数据包发送的速率采用何种控制方式不构成对本发明的限制。
步骤a4,结束本次调整。
通过控制数据包发送速率可以达到控制传输任务对系统资源的占用的目的。解决了过高的传输速率使系统处理所耗资源过大、导致系统运行不稳定的问题,保证了数据发送时系统的运行效率。
实施例二,一种流量控制的方法,流程图如图2所示,包括步骤:
步骤b1,获取CPU占用率和数据包发送的实际速率。
所述数据包发送的实际速率是预置的时间周期内统计的数据包实际发送的平均速率。
本实施例中,网络性能数据为数据包发送的实际速率。所述网络性能数据还可以包括拥塞率和/或丢包率等有助于判断数据包传输状况的参数。
步骤b2,检查所述CPU占用率是否超出相应的预设范围,是,则转向步骤b4;否,则转向步骤b3。
步骤b3,检查所述实际速率是否在相应的预设范围之外,是,则转向步骤b5;否,则转向步骤b6。
步骤b4,降低数据包发送的峰值速率,并转向步骤b6。
步骤b5,对数据包发送的峰值速率进行调整,并转向步骤b6。
所述调整具体为,若所述实际速率高于相应的预设范围上限,则升高所述峰值速率,若所述实际速率低于相应的预设范围下限,则降低所述峰值速率。
所述用于与实际速率进行比较相应的预设范围,随着峰值速率的升高或降低进行等量的升高或降低。
步骤b6,结束本次调整。
实施例二与实施例一的区别是增加的获取网络性能数据并根据网络性能数据对数据包发送的峰值速率进行调整的步骤。在系统性能保持正常的前提下,通过根据获取的网络性能数据,动态平滑调整数据包发送的速率,做到了保证系统运行的平稳性,同时又合理利用了网络资源。
实施例三,一种流量控制的方法,流程图如图3所示,包括步骤:
步骤s1,获取预置的时间周期内统计的系统性能数据和网络性能数据。
本实施例中,每1秒进行数据统计,统计的数据包括本传输任务的平均CPU占用率、拥塞率、丢包率和数据包发送的实际速率。
本实施例中,每10毫秒作为发送数据的单位时间,速率值以单位时间发送的数据包个数来表示。可以理解的是,对速率值单位的定义不限于此种方式,也可以是每单位时间发送数据的位数、字节数或码元数。
实际速率为在1s统计周期内,每个单位时间(10毫秒)发送数据包个数的平均值。
步骤s2,检查获取的CPU占用率是否超过相应的阈值,是,则转向骤s3;否,则转向步骤s4。
可以理解的是,本实施例中用于与CPU占用率、拥塞率、丢包率进行比较的相应的预设范围用各自的阈值进行划定。考虑上层业务处理所耗CPU时间,设置本任务所占CPU阈值为20%。
步骤s3,根据所述CPU占用率超出相应阈值的量所占阈值的百分比对峰值速率采取对应的降低值,并转向步骤s11。此处的CPU占用率为高优先级流量控制参数,对峰值速率的控制为高优先级。
高优先级流量控制参数超出预设相应阈值的量所占阈值的百分比对应的峰值速率调整值如表1所示。CPU占用率作为高优先级流量控制参数,对峰值速率的调整幅度较大。
其中,峰值速率为每个单位时间(10毫秒)发送数据包个数的最大值。
本例实施例中,设置初始发包个数最大值为100(即峰值速率为100个包/10毫秒)。
步骤s4,检查获取的拥塞率是否超出相应的阈值,是,则转向步骤s6;否,则转向步骤s5。本实施例中,设置拥塞率阈值0.1%。
步骤s5,检查获取的丢包率是否超出相应的阈值,是,则转向步骤s6;否,则转向步骤s7。本实施例中,设置丢包率阈值为0.05%。
步骤s6,根据所述拥塞率或丢包率超出相应阈值的量所占相应阈值的百分比对峰值速率采取对应的降低值,并转向步骤s11。此处的拥塞率和丢包率为中优先级流量控制参数,对峰值速率的控制为中优先级。
中优先级流量控制参数超出预设相应阈值的量所占阈值的百分比对应的峰值速率调整值如表1所示。拥塞率和丢包率作为中优先级流量控制参数,与高优先级流量控制参数相比,对峰值速率的调整值相对较小。
本实施例中,CPU占用率、拥塞率和丢包率超出相应阈值的量所占阈值百分比的计算公式为:
百分比=(获取的流量控制参数-阈值)/阈值×100%
表1
0<百分比≤10% | 10%<百分比≤20% | 百分比>20% | |
高优先级流量控制参数对应的峰值速率降级值 | -3 | -5 | -7 |
中优先级流量控制参数对应的峰值速率降级值 | -1 | -3 | -5 |
步骤s7,比较数据包发送的峰值速率与实际速率得到差值,并检查所述差值是否大于预设的差值范围的上限值,是,则转向步骤s8;否,则转向步骤s9。
其中,因为峰值速率和实际速率以单位时间内发送数据包的个数来计算,所以其差值也为数据包个数。
步骤s8,根据所述差值对峰值速率采取对应的降低值并转向步骤s11。
步骤s9,检查所述峰值速率和实际速率的差值是否小于预设差值范围的下限值,是,则转向步骤s10;否,则转向步骤s11。
步骤s10,根据所述差值对峰值速率采取对应的升高值并转向步骤s11。
获取的实际速率为低优先级流量控制参数,对峰值速率的控制为低优先级,所述差值与对应的峰值速率调整值如表2所示。差值15为预设差值范围的下限值,差值35为预设差值范围的上限值,差值小于15表明当前网络状况良好,需要升高峰值速率,差值越小,峰值速率升高幅度越大;一旦差值超过35则表明网络状况较差,需要降低峰值速率;差值越大,峰值速率降低幅度越大。差值在15到35的范围内,认为发送速率趋于一个稳定状态,不对峰值速率进行调整,这样也保证速率在一段时间的调节后趋于稳定,从而CPU占用率也趋于稳定。
表2
差值范围 | 调整大小 |
0≤差值<5 | +15 |
5≤差值<10 | +9 |
10≤差值<15 | +3 |
差值>45 | -3 |
40<差值≤45 | -2 |
35<差值≤40 | -1 |
其中,对于所述峰值速率和实际速率的差值与预设范围上限值或下限值的判断以及调整并无绝对顺序,更进一步,对于所述差值与上限值和下限值的判断步骤也非必要,也可以直接通过差值查询差值与峰值速率调整值的对应关系得到调整值,不过此种方式增加了对表2的访问次数,对系统资源占用较大,不建议采用。
所述峰值速率和实际速率的比较结果在本实施例中采用的是两者的差值,可以理解的是,所述比较结果也可以是两者的比值。只要可以根据比较得出的结果可以对应预设的对峰值速率的调整值即可。
步骤s11,结束本次调整。
本发明对于流量控制参数优先级的高低以及对应调整策略的可以进行设置,并且设置的优先级也不限于以上三个,可以根据不同的流量控制参数分别设置不同的优先级以满足用户的需求。
本实施例是根据流量控制参数与预设范围的比较结果超出或低于预设范围的量定步长对峰值速率进行调整。所述定步长进行调整,是根据所述比较结果对应其相应的峰值速率调整值。同样,也可以采用按照比例对峰值速率进行调整,所述按比例进行调整为根据比较结果对应其相应的峰值速率调整的比例。对峰值速率的定量调整的方式并不构成对本发明的限制。通过上述调整方式,做到了对数据发送的峰值速率合理定量调整,使调整更精确、更迅速。
以上实施方式对本发明的描述只考虑通过统计本地数据对数据发送的流量进行控制,可以理解的是,本发明还可以与流量接收端建立握手机制,反馈本端统计数据给流量接收端同时获得流量接收端的反馈数据。所述反馈的数据可以包括流量接收端的CPU占用率、拥塞率、丢包率和实际发送速率等。通过获取所述反馈数据统计数据对本端数据发送速率做相应调整。在本实施例基础上,可以将这些反馈数据作为中优先级的流量控制参数进行判断,调整数据包发送的峰值速率,以适应流量接收端情况。
下面对本发明提供的一种流量控制的装置进行详细描述。
请参阅图4,是本发明流量控制的装置的结构图,包括:
统计单元310,用于获取流量控制参数,所述流量控制参数包括系统性能数据;
比较单元320,用于将所述流量控制参数与预设范围进行比较;
速率调整单元330,用于根据所述比较的结果对数据包的发送速率进行控制。
实施例四,一种流量控制的装置,结构图如图5所示,包括:
一级数据缓冲区100,被划分成若干不同优先级队列,用于接收数据并在单位时间内将一定量数据写入二级数据缓冲区200。
二级数据缓冲区200,用于接收来自一级数据缓冲区100写入的数据并在所述单位时间内全部发送出去。
可以理解的是,二级数据缓冲区200可以是套接字缓冲区,还可以是其他用于发送数据的缓冲区。
统计单元310,用于获取流量控制参数,所述流量控制参数包括系统性能数据。
比较单元320,用于将所述流量控制参数与预设范围进行比较。
速率调整单元330,用于根据比较结果对数据包的发送速率进行控制。所述控制是控制数据包发送的峰值速率,即控制单位时间一级数据缓冲区可以写入二级数据缓冲区数据量的最大值。
参数设置单元340,用于设置获取的各流量控制参数的优先级和与流量控制参数的比较的参数范围;还用于设置每个单位时间一级数据缓冲区100各优先级队列中数据包写入二级数据缓冲区200的比率。
需要说明的是,上层业务模块将数据包写入一级数据缓冲区100,写入数据时,按照数据包的优先级字段,将数据包写入一级数据缓冲区100内对应的优先级队列。一级数据缓冲区100将数据写入二级数据缓冲区200时,按照参数设置单元340设置的各优先级队列写入二级数据缓冲区200的比率写入数据。
上述装置可应用前述实施例一至实施例三中的控制方法来进行流量控制,下面以实施例三中的方法为例,详细说明本装置的控制过程:
首先用户根据需要可以在参数设置单元340设置相关的参数,所述参数和实施例三中需要设置的参数一致。系统启动后统计单元310获取预置的时间周期内统计的系统性能数据和网络性能数据。本实施例中,每1秒进行数据统计,统计的数据包括本传输任务的平均CPU占用率、实际发送速率、丢包率、拥塞率。比较单元320检查统计单元310获取的平均CPU占用率是否超过相应的阈值,是,则速率调整单元330根据所述CPU占用率超出相应阈值的量所占阈值的百分比对峰值速率采取对应的降低值,并结束本次调整;否,则比较单元320检查统计单元310获取的拥塞率是否超出相应的阈值,是,则速率调整单元330根据所述拥塞率超出相应阈值的量所占阈值的百分比对峰值速率采取对应的降低值,并结束本次调整;否,则比较单元320检查统计单元310获取的丢包率是否超出相应的阈值,是,则速率调整单元330根据所述丢包率超出相应阈值的量所占阈值的百分比对峰值速率采取对应的降低值,并结束本次调整;否,则比较单元320比较数据包发送的峰值速率与实际速率得到差值,并检查所述差值是否大于预设的差值范围的上限值,是,则根据所述差值对峰值速率采取对应的降低值,并结束本地调整;否,则比较单元320检查所述峰值速率和实际速率的差值是否小于预设差值范围的下限值,是,则速率调整单元330根据所述差值对峰值速率采取对应升高值,并结束本次调整;否,则直接结束本次调整。
为了进一步说明本发明的实际效果,下面给出基于上述应用例,用不同数据进行实际测试并与现有技术进行对比的说明。
测试1:网络状况良好,socket缓冲区大小为96Kbytes,数据包大小平均为320bytes,每单位时间(10毫秒)发包个数最大值初始为100,经过动态调整后稳定于62,实际发包个数稳定于29,请参阅图6,CPU占用率稳定于15%。发送速率稳定于7.11Mbps,丢包率和拥塞率都为0。
测试2:网络状况较差,socket缓冲区大小为96Kbytes,数据包大小平均为170bytes,每单位时间(10毫秒)发包个数最大值初始为100。请参阅图7,CPU占用率出现轻微波动,稳定于18%~19%,未超过阈值20%。每单位时间发包个数最大值经过动态调整后稳定于90,实际发包个数稳定于56,发送速率稳定于7.23Mbps。测试中出现拥塞和丢包情况,经过动态降低发包个数最大值,影响到实际发包个数,从而降低发送速率,防止出现更恶劣的拥塞或丢包情况,一旦网络状况得到好转,自动将发包个数最大值调高,实际发包个数也随之增加,从而升高了发送速率。整个过程体现了本发明在保证系统性能前提下对网络速率的改善。
测试3:采用现有技术的漏桶控制方式,网络状况良好,socket缓冲区大小为96Kbytes,数据包大小平均为320bytes。与测试1数据一致,每单位时间(10毫秒)发包个数最大值固定为100,每单位时间实际发送数据包个数波动较大,大致处于16到24范围,而发送速率处于3.80到6.20Mbps。请参阅图8,CPU占用率波动较大,处于10%到15%之间。对比测试1,可以看出本发明良好的系统稳定性和较快的发送速率。
如表3、表4,分别进行了9组测试,表3为采用现有技术测试数据,即每个单位时间发包个数最大值固定,不经过动态调整数据,每个单位时间实际发包个数存在波动,且发送速率存在不稳定,某些组合速率较低、CPU占用率波动较大。表4为使用本发明的测试数据,不管初始发包个数多少,发包的大小,经过动态调整后,发包个数的最大值和实际值皆趋于稳定,保证较高的发送速率和稳定的CPU占用率。
表3
初始发包个数最大值/10毫秒 | 数据包大小 | 实际发包个数/10毫秒 | 发送速率(Mbps) | CPU占用率 |
100 | 100 | 93 | 7.10 | 20% |
100 | 170 | 56 | 7.22 | 18% |
100 | 320 | 16~24 | 3.80~6.21 | 10%~15% |
200 | 100 | 68~88 | 5.10~6.80 | 14%~17% |
200 | 170 | 29 | 3.90 | 11% |
200 | 320 | 11 | 2.70~3.00 | 8% |
400 | 100 | 28~48 | 1.90~2.10 | 8%~10% |
400 | 170 | 20 | 2.57~2.63 | 8%~9% |
400 | 320 | 11 | 2.84~2.89 | 8% |
表4
初始发包个数最大值/10毫秒 | 数据包大小 | 调整后的发包个数最大值/10毫秒 | 实际发包个数/10毫秒 | 发送速率(Mbps) | CPU占用率 |
100 | 100 | 127 | 94 | 7.15 | 19% |
100 | 170 | 90 | 56 | 7.23 | 17% |
100 | 320 | 61 | 29 | 7.11 | 15% |
200 | 100 | 128 | 94 | 7.15 | 19% |
200 | 170 | 90 | 56 | 7.23 | 17% |
200 | 320 | 62 | 29 | 7.10 | 15% |
400 | 100 | 127 | 94 | 7.14 | 19% |
400 | 170 | 91 | 56 | 7.22 | 17% |
400 | 320 | 61 | 29 | 7.10 | 15% |
以上对本发明所提供的一种流量控制的方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种流量控制的方法,其特征在于,包括步骤:
1)获取流量控制参数,所述流量控制参数包括系统性能数据;
2)将所述流量控制参数与预设范围进行比较;
3)根据所述比较的结果对数据包的发送速率进行控制。
2.如权利要求1所述的流量控制的方法,其特征在于:所述流量控制参数具有不同的优先级;
所述步骤3)中根据所述比较的结果依次按照各流量控制参数的优先级顺序对数据包的发送速率进行控制。
3.如权利要求2所述的流量控制的方法,其特征在于:所述获取流量控制参数还包括获取网络性能数据,所述网络性能数据具有低于系统性能数据的优先级。
4.如权利要求1所述的流量控制的方法,其特征在于,所述系统性能数据包括:系统中央处理单元占用率和/或内存占用率。
5.如权利要求1至4任意一项所述的流量控制的方法,其特征在于:所述步骤3)中对数据包的发送速率进行控制是对数据包发送的峰值速率进行调整。
6.如权利要求5所述的流量控制的方法,其特征在于:所述对峰值速率进行调整是根据所述比较结果超出或低于预设范围的量按比例或定步长进行调整。
7.如权利要求6所述的流量控制的方法,其特征在于:所述获取流量控制参数还包括获取流量接收端的反馈数据,所述反馈数据包括流量接收端的拥塞率和/或丢包率;该反馈数据具有低于系统性能数据的优先级。
8.一种流量控制的装置,其特征在于,包括:
统计单元,用于获取流量控制参数,所述流量控制参数包括系统性能数据;
比较单元,用于将所述流量控制参数与预设范围进行比较;
速率调整单元,用于根据所述比较的结果对数据包的发送速率进行控制。
9.如权利要求8所述的流量控制的装置,其特征在于,还包括:
参数设置单元,用于设置获取的各流量控制参数的优先级和与流量控制参数的比较参数范围。
10.如权利要求9所述的流量控制的装置,其特征在于:
所述统计单元,还用于获取网络性能数据,所述网络性能数据具有低于系统性能数据的优先级。
11.如权利要求10所述的流量控制的装置,其特征在于,包括:
一级数据缓冲区,用于接收数据并在单位时间内将一定量数据写入二级数据缓冲区;
二级数据缓冲区,用于接收来自一级数据缓冲区写入的数据并在所述单位时间内全部发送出去;
所述速率调整单元对发送速率的控制,是控制单位时间一级数据缓冲区可以写入二级数据缓冲区数据量的最大值。
12.如权利要求11所述的流量控制的装置,其特征在于:
所述一级数据缓冲区,由若干不同优先级队列组成;
所述参数设置单元,还用于设置每个单位时间一级数据缓冲区各优先级队列中数据包写入二级数据缓冲区的比率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100783083A CN100496022C (zh) | 2006-05-09 | 2006-05-09 | 一种流量控制的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100783083A CN100496022C (zh) | 2006-05-09 | 2006-05-09 | 一种流量控制的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1968192A true CN1968192A (zh) | 2007-05-23 |
CN100496022C CN100496022C (zh) | 2009-06-03 |
Family
ID=38076749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100783083A Expired - Fee Related CN100496022C (zh) | 2006-05-09 | 2006-05-09 | 一种流量控制的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100496022C (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257459B (zh) * | 2008-04-08 | 2010-08-18 | 北京星网锐捷网络技术有限公司 | 数据报文处理方法与数据报文处理装置 |
CN101938484A (zh) * | 2010-09-09 | 2011-01-05 | 奇智软件(北京)有限公司 | 一种分布式流量控制方法及系统 |
CN101350764B (zh) * | 2007-07-20 | 2011-03-16 | 中国科学院声学研究所 | 一种网络流量控制方法 |
CN102348235A (zh) * | 2010-08-03 | 2012-02-08 | 中兴通讯股份有限公司 | 一种对cpu利用率进行控制的方法及基站收发台 |
CN102378065A (zh) * | 2011-10-19 | 2012-03-14 | 江西省南城县网信电子有限公司 | 基于mpeg-4的流媒体服务器端配置缓冲区的方法及系统 |
CN102724123A (zh) * | 2012-06-27 | 2012-10-10 | 青岛上锋科技有限公司 | 网络流量控制方法及控制装置 |
CN102752076A (zh) * | 2012-06-20 | 2012-10-24 | 华为技术有限公司 | 数据发送的控制方法及装置及计算机系统 |
CN102905313A (zh) * | 2011-07-27 | 2013-01-30 | 无锡物联网产业研究院 | 一种无线传感器网络数据收集方法及装置 |
CN103812687A (zh) * | 2012-11-15 | 2014-05-21 | 华为技术有限公司 | 处理器的防护方法和设备 |
CN103840910A (zh) * | 2012-11-22 | 2014-06-04 | 深圳市腾讯计算机系统有限公司 | 一种数据传输控制方法及装置 |
CN104426796A (zh) * | 2013-08-21 | 2015-03-18 | 中兴通讯股份有限公司 | 一种路由器的拥塞避免方法及装置 |
CN104967635A (zh) * | 2014-05-22 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及装置 |
CN106506392A (zh) * | 2016-12-19 | 2017-03-15 | 深圳创维数字技术有限公司 | 一种网络拥塞处理方法及装置 |
CN110474811A (zh) * | 2019-08-21 | 2019-11-19 | 杭州安恒信息技术股份有限公司 | 一种网络性能的调试方法、调试系统及相关装置 |
CN110601872A (zh) * | 2019-08-06 | 2019-12-20 | 联想(北京)有限公司 | 一种传输方法及装置、存储介质 |
CN112019448A (zh) * | 2020-10-29 | 2020-12-01 | 北京安盟信息技术股份有限公司 | 一种基于单向数据传输的可靠性控制方法及系统 |
CN112346867A (zh) * | 2020-11-06 | 2021-02-09 | 平安科技(深圳)有限公司 | 一种滑动窗口的配置方法、装置、计算机设备及存储介质 |
CN115903714A (zh) * | 2023-01-06 | 2023-04-04 | 济南市计量检定测试院 | 一种工业污染源排放全过程监控调节装置及方法 |
-
2006
- 2006-05-09 CN CNB2006100783083A patent/CN100496022C/zh not_active Expired - Fee Related
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350764B (zh) * | 2007-07-20 | 2011-03-16 | 中国科学院声学研究所 | 一种网络流量控制方法 |
CN101257459B (zh) * | 2008-04-08 | 2010-08-18 | 北京星网锐捷网络技术有限公司 | 数据报文处理方法与数据报文处理装置 |
CN102348235B (zh) * | 2010-08-03 | 2015-06-10 | 中兴通讯股份有限公司 | 一种对cpu利用率进行控制的方法及基站收发台 |
CN102348235A (zh) * | 2010-08-03 | 2012-02-08 | 中兴通讯股份有限公司 | 一种对cpu利用率进行控制的方法及基站收发台 |
CN101938484B (zh) * | 2010-09-09 | 2013-05-15 | 奇智软件(北京)有限公司 | 一种分布式流量控制方法及系统 |
CN101938484A (zh) * | 2010-09-09 | 2011-01-05 | 奇智软件(北京)有限公司 | 一种分布式流量控制方法及系统 |
CN102905313A (zh) * | 2011-07-27 | 2013-01-30 | 无锡物联网产业研究院 | 一种无线传感器网络数据收集方法及装置 |
CN102905313B (zh) * | 2011-07-27 | 2014-12-10 | 无锡物联网产业研究院 | 一种无线传感器网络数据收集方法及装置 |
CN102378065A (zh) * | 2011-10-19 | 2012-03-14 | 江西省南城县网信电子有限公司 | 基于mpeg-4的流媒体服务器端配置缓冲区的方法及系统 |
CN102752076A (zh) * | 2012-06-20 | 2012-10-24 | 华为技术有限公司 | 数据发送的控制方法及装置及计算机系统 |
CN102752076B (zh) * | 2012-06-20 | 2016-08-10 | 华为技术有限公司 | 数据发送的控制方法及装置及计算机系统 |
CN102724123A (zh) * | 2012-06-27 | 2012-10-10 | 青岛上锋科技有限公司 | 网络流量控制方法及控制装置 |
CN102724123B (zh) * | 2012-06-27 | 2015-04-29 | 青岛上锋科技有限公司 | 网络流量控制方法及控制装置 |
CN103812687A (zh) * | 2012-11-15 | 2014-05-21 | 华为技术有限公司 | 处理器的防护方法和设备 |
CN103812687B (zh) * | 2012-11-15 | 2017-12-15 | 华为技术有限公司 | 处理器的防护方法和设备 |
CN103840910A (zh) * | 2012-11-22 | 2014-06-04 | 深圳市腾讯计算机系统有限公司 | 一种数据传输控制方法及装置 |
CN104426796A (zh) * | 2013-08-21 | 2015-03-18 | 中兴通讯股份有限公司 | 一种路由器的拥塞避免方法及装置 |
CN104967635B (zh) * | 2014-05-22 | 2017-04-19 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及装置 |
CN104967635A (zh) * | 2014-05-22 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及装置 |
CN106506392A (zh) * | 2016-12-19 | 2017-03-15 | 深圳创维数字技术有限公司 | 一种网络拥塞处理方法及装置 |
CN110601872A (zh) * | 2019-08-06 | 2019-12-20 | 联想(北京)有限公司 | 一种传输方法及装置、存储介质 |
CN110474811A (zh) * | 2019-08-21 | 2019-11-19 | 杭州安恒信息技术股份有限公司 | 一种网络性能的调试方法、调试系统及相关装置 |
CN112019448A (zh) * | 2020-10-29 | 2020-12-01 | 北京安盟信息技术股份有限公司 | 一种基于单向数据传输的可靠性控制方法及系统 |
CN112346867A (zh) * | 2020-11-06 | 2021-02-09 | 平安科技(深圳)有限公司 | 一种滑动窗口的配置方法、装置、计算机设备及存储介质 |
WO2022095430A1 (zh) * | 2020-11-06 | 2022-05-12 | 平安科技(深圳)有限公司 | 一种滑动窗口的配置方法、装置、计算机设备及存储介质 |
CN112346867B (zh) * | 2020-11-06 | 2024-05-14 | 平安科技(深圳)有限公司 | 一种滑动窗口的配置方法、装置、计算机设备及存储介质 |
CN115903714A (zh) * | 2023-01-06 | 2023-04-04 | 济南市计量检定测试院 | 一种工业污染源排放全过程监控调节装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100496022C (zh) | 2009-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1968192A (zh) | 一种流量控制的方法及装置 | |
CN1906900A (zh) | 用于无线网络的服务质量调度器 | |
JP4944906B2 (ja) | マルチキャリア資源管理 | |
CN1778079A (zh) | 用于协调tcp/ip网络与其他网络之间的流控制的方法和设备 | |
CN1839645A (zh) | 用于通信系统中报告测量结果的系统和方法 | |
CN1668033A (zh) | 分组输出控制装置、分组中继装置 | |
CN1726680A (zh) | 网络设备中的流控制 | |
CN1764184A (zh) | 一种实时流媒体通讯传输系统和方法 | |
CN1533105A (zh) | 无线电通信系统、基站与校正无线电链路质量信息的方法 | |
CN1836411A (zh) | 会话中继设备和中继方法 | |
CN1592483A (zh) | 分组优先级控制装置及方法 | |
CN1771746A (zh) | 无线网络中服务质量的区分 | |
CN1543164A (zh) | 多媒体流环境中基于服务器的速率控制 | |
CN1832483A (zh) | 通信系统中控制数据传输的方法和系统 | |
CN1852581A (zh) | 一种在下行链路上传输数据的方法 | |
CN1585404A (zh) | 无线局域网分布式竞争控制退避方法 | |
CN1976343A (zh) | 提高传输控制协议数据吞吐量的方法及系统 | |
CN1881979A (zh) | 以太网物理层低速传输的实现方法及其应用的网络设备 | |
CN1705308A (zh) | 一种用户面数据处理方法 | |
CN1756252A (zh) | 一种无线局域网多速率自适应传输的方法 | |
CN1257621C (zh) | 无线链路控制层中发送窗口调整的方法 | |
CN1842080A (zh) | 一种调整传输控制协议接收窗口的方法 | |
CN1627745A (zh) | 数据流量控制方法 | |
CN1773955A (zh) | 一种数据网络中的队列调度方法及装置 | |
CN1366432A (zh) | 呼叫接受控制方法,移动通信系统,以及基地台装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090603 |