CN102404223B - 一种多应用收包细粒度优先级控制系统和方法 - Google Patents
一种多应用收包细粒度优先级控制系统和方法 Download PDFInfo
- Publication number
- CN102404223B CN102404223B CN201110383691.4A CN201110383691A CN102404223B CN 102404223 B CN102404223 B CN 102404223B CN 201110383691 A CN201110383691 A CN 201110383691A CN 102404223 B CN102404223 B CN 102404223B
- Authority
- CN
- China
- Prior art keywords
- buffering area
- thresholdload
- module
- skipnum
- load
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种多应用收包细粒度优先级控制系统和方法,从同一个缓冲区队列收包的每个应用软件,设置一个表示优先级的负载阈值,表示系统资源占用的百分比,当系统当前负载不超过应用的负载阈值时,应用依次读取每个缓冲区,当系统当前负载超过应用的负载阈值时,应用跳过一定数量的缓冲区。每次跳过缓冲区的数量是动态计算的,计算公式为:跳过缓冲区个数=缓冲区总数x(1-应用负载阈值/系统当前负载)。如果需要跳过的缓冲区个数大于当前可用的缓冲区个数,则设置跳过缓冲区个数为当前可用缓冲区个数。本发明提供的多应用收包细粒度优先级控制系统和方法,使用动态调整应用跳过缓冲区个数的方法,实现细粒度的优先级控制。
Description
技术领域
本发明属于网络数据处理领域,具体讲涉及一种多应用收包细粒度优先级控制系统和方法。
背景技术
在网络数据采集系统中,经常有多个应用从报文缓冲区队列收包,不同应用有不同的优先级,正常情况下,每个应用从缓冲区队列中依次读取每个缓冲区的报文,当系统负载较重时,低优先级的应用需要主动跳过一部分报文的处理,把系统资源让给高优先级的应用。
现有的技术方案中,低优先级的应用跳过的缓冲区个数是固定的,可能是一个缓冲区,或者整个缓冲区队列的所有缓冲区,或两者之间的一个固定的步长。
在网络流量变化剧烈的应用环境中,随着当前流量的大小变化,系统资源占用情况也会不断变化,而现有技术方案中跳过固定个数的缓冲区的方法,无法根据当前系统资源占用情况调整跳过缓冲区的个数,导致应用优先级控制的粒度太粗问题;而且当系统负载较大时,跳过缓冲区的个数相对于系统负载可能偏小,当系统负载较小时,跳过缓冲区的个数相对于系统负载可能偏大,会导致系统资源占用情况的剧烈波动的问题。
发明内容
为克服上述缺陷,本发明提供了一种收包细粒度优先级控制系统和方法,使用动态调整应用跳过缓冲区个数的方法,实现细粒度的优先级控制。
为实现上述目的,本发明提供一种多应用收包细粒度优先级控制系统,所述控制系统包括:配置模块和需要读取报文数据的缓冲区,其改进之处在于,从所述缓冲区中读取报文数据的数据读取模块、阈值比较模块和缓冲区跳过计算模块;所述数据读取模块、所述阈值比较模块和所述缓冲区跳过计算模块依次连接;所述配置模块中存储有表示所述数据读取模块优先级的负载阈值ThresholdLoad;所述缓冲区的缓冲区总数为TotalNum、可用缓冲区个数为AvailableNum。
本发明提供的优选技术方案中,所述数据读取模块,从所述配置模块中读取与其对应的负载阈值ThresholdLoad,并将负载阈值ThresholdLoad发送到所述阈值比较模块。
本发明提供的第二优选技术方案中,所述负载阈值ThresholdLoad是所述数据读取模块占用系统资源的百分比。
本发明提供的第三优选技术方案中,在每次读取缓冲区之前,所述阈值比较模块将系统的当前负载CurrentLoad和负载阈值ThresholdLoad比较,并判断是依次读取缓冲区还是将当前负载CurrentLoad和负载阈值ThresholdLoad传输到所述缓冲区跳过计算模块。
本发明提供的第四优选技术方案中,所述缓冲区跳过计算模块,需要根据缓冲区总数TotalNum,计算需要跳过的缓冲区的个数SkipNum;计算方法为:SkipNum=TotalNum×(1-ThresholdLoad/CurrentLoad);并将需要跳过的缓冲区的个数SkipNum传递给所述数据读取模块。
本发明提供的第五优选技术方案中,在所述缓冲区跳过计算模块中,比较SkipNum和可用缓冲区个数AvailableNum,如果SkipNum大于AvailableNum,则令SkipNum=AvailableNum。
本发明提供的第六优选技术方案中,提供一种多应用收包细粒度优先级控制方法,其改进之处在于,所述方法包括如下步骤:
(1).利用所述数据读取模块从所述配置模块中读取与其对应的负载阈值ThresholdLoad,并将负载阈值ThresholdLoad发送到所述阈值比较模块;
(2).利用所述阈值比较模块从所述缓冲区中读取报文,在每次读取缓冲区之前,把系统的当前负载CurrentLoad和负载阈值ThresholdLoad比较,如果CurrentLoad小于等于ThresholdLoad,则依次读取缓冲区,否则,将当前负载CurrentLoad和负载阈值ThresholdLoad传输到所述缓冲区跳过计算模块;
(3).所述缓冲区跳过计算模块,计算需要跳过的缓冲区的个数SkipNum;并将需要跳过的缓冲区的个数SkipNum传递给所述数据读取模块;
(4).所述数据读取模块跳过SkipNum个缓冲区后,从新的位置开始读取数据。
本发明提供的第七优选技术方案中,在所述步骤3中:所述SkipNum=TotalNum×(1-ThresholdLoad/CurrentLoad);比较SkipNum和可用缓冲区个数AvailableNum,如果SkipNum大于AvailableNum,则令SkipNum=AvailableNum。
与现有技术比,本发明提供的一种多应用收包细粒度优先级控制系统和方法,使用动态调整应用跳过缓冲区个数的方法,实现细粒度的优先级控制;避免了跳过固定个数的缓冲区的方法,无法根据当前系统资源占用情况调整跳过缓冲区的个数所导致的应用优先级控制的粒度太粗的问题;再者,无论当系统负载较大时还是当系统负载较小时,跳过的缓冲区个数相对于系统负载都是适度的缓冲区大小,解决了系统资源的占用情况会剧烈波动的问题。
附图说明
图1为收包细粒度优先级控制方法的流程图。
具体实施方式
本发明为从同一个缓冲区队列收包的每个应用软件,设置一个表示优先级的负载阈值,在0~100之间,表示系统资源占用的百分比,当系统当前负载不超过应用的负载阈值时,应用依次读取每个缓冲区,当系统当前负载超过应用的负载阈值时,应用跳过一定数量的缓冲区。每次跳过缓冲区的数量是动态计算的,计算公式为:跳过缓冲区个数=缓冲区总数x(1-应用负载阈值/系统当前负载)。如果需要跳过的缓冲区个数大于当前可用的缓冲区个数,则设置跳过缓冲区个数为当前可用缓冲区个数。
如图1所述,本发明的方法和过程如下:
(1)应用软件开始运行时,从配置模块中读取表示自己优先级的负载阈值ThresholdLoad。
(2)应用软件循环从缓冲区队列中读取报文,每次读取缓冲区之前,把系统的当前负载CurrentLoad和自己的负载阈值ThresholdLoad比较,如果CurrentLoad<=ThresholdLoad,则不需要跳过缓冲区,依次读取每个缓冲区。
(3)如果CurrentLoad>ThresholdLoad,则需要根据缓冲区总数TotalNum,计算需要跳过的缓冲区的个数SkipNum,SkipNum=TotalNum×(1-ThresholdLoad/CurrentLoad)。
(4)比较SkipNum和可用缓冲区个数AvailableNum,如果SkipNum>AvailableNum,则令SkipNum=AvailableNum。
(5)应用软件跳过SkipNum个缓冲区后,从新的位置开始读取数据。
一种收包细粒度优先级控制系统,所述控制系统包括:配置模块和缓冲区;所述缓冲区中排列着需要读取的报文,在所述缓冲区中:缓冲区总数为TotalNum、可用缓冲区个数为AvailableNum;其特征在于,从所述缓冲区中读取报文数据的数据读取模块、阈值比较模块、缓冲区跳过计算模块;所述数据读取模块、所述阈值比较模块和所述缓冲区跳过计算模块依次连接;所述配置模块中存储有表示所述数据读取模块优先级的负载阈值ThresholdLoad。所述负载阈值ThresholdLoad,是所述数据读取模块占用系统资源的百分比。
所述数据读取模块,从所述配置模块中读取与其对应的负载阈值ThresholdLoad,并将负载阈值ThresholdLoad发送到所述阈值比较模块。所述阈值比较模块,在每次读取缓冲区之前,把系统的当前负载CurrentLoad和负载阈值ThresholdLoad比较,如果CurrentLoad小于等于ThresholdLoad,则依次读取缓冲区,否则,将当前负载CurrentLoad和负载阈值ThresholdLoad传输到所述缓冲区跳过计算模块。所述缓冲区跳过计算模块,需要根据缓冲区总数TotalNum,计算需要跳过的缓冲区的个数SkipNum;所述SkipNum=TotalNum×(1-ThresholdLoad/CurrentLoad);并将需要跳过的缓冲区的个数SkipNum传递给所述数据读取模块。
其中,在所述缓冲区跳过计算模块中,比较SkipNum和可用缓冲区个数AvailableNum,如果SkipNum大于AvailableNum,则令SkipNum=AvailableNum。
收包细粒度优先级控制方法,具体包括如下步骤:
(1).利用所述数据读取模块从所述配置模块中读取与其对应的负载阈值ThresholdLoad,并将负载阈值ThresholdLoad发送到所述阈值比较模块;
(2).利用所述阈值比较模块从所述缓冲区中读取报文,在每次读取缓冲区之前,把系统的当前负载CurrentLoad和负载阈值ThresholdLoad比较,如果CurrentLoad小于等于ThresholdLoad,则依次读取缓冲区,否则,将当前负载CurrentLoad和负载阈值ThresholdLoad传输到所述缓冲区跳过计算模块;
(3).利用所述缓冲区跳过计算模块,计算需要跳过的缓冲区的个数SkipNum;并将需要跳过的缓冲区的个数SkipNum传递给所述数据读取模块;
(4).所述数据读取模块跳过SkipNum个缓冲区后,从新的位置开始读取数据。
其中,在所述步骤3中:所述SkipNum=TotalNum×(1-ThresholdLoad/CurrentLoad);比较SkipNum和可用缓冲区个数AvailableNum,如果SkipNum大于AvailableNum,则令SkipNum=AvailableNum。
需要声明的是,本发明内容及具体实施方式意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理启发下,可作各种修改、等同替换、或改进。但这些变更或修改均在申请待批的保护范围内。
Claims (6)
1.一种多应用收包细粒度优先级控制系统,所述控制系统包括:配置模块和需要读取报文数据的缓冲区,其特征在于,从所述缓冲区中读取报文数据的数据读取模块、阈值比较模块和缓冲区跳过计算模块;所述数据读取模块、所述阈值比较模块和所述缓冲区跳过计算模块依次连接;所述配置模块中存储有表示所述数据读取模块优先级的负载阈值ThresholdLoad;所述缓冲区的缓冲区总数为TotalNum、可用缓冲区个数为AvailableNum;
所述缓冲区跳过计算模块,需要根据缓冲区总数TotalNum,计算需要跳过的缓冲区的个数SkipNum;计算方法为:SkipNum=TotalNum×(1‐ThresholdLoad/CurrentLoad);并将需要跳过的缓冲区的个数SkipNum传递给所述数据读取模块;所述CurrentLoad为系统的当前负载;
在所述缓冲区跳过计算模块中,比较SkipNum和可用缓冲区个数AvailableNum,如果SkipNum大于AvailableNum,则令SkipNum=AvailableNum。
2.根据权利要求1所述的控制系统,其特征在于,所述数据读取模块,从所述配置模块中读取与其对应的负载阈值ThresholdLoad,并将负载阈值ThresholdLoad发送到所述阈值比较模块。
3.根据权利要求1所述的控制系统,其特征在于,所述负载阈值ThresholdLoad是所述数据读取模块占用系统资源的百分比。
4.根据权利要求1所述的控制系统,其特征在于,在每次读取缓冲区之前,所述阈值比较模块将系统的当前负载CurrentLoad和负载阈值ThresholdLoad比较,并判断是依次读取缓冲区还是将当前负载CurrentLoad和负载阈值ThresholdLoad传输到所述缓冲区跳过计算模块,如果CurrentLoad小于等于ThresholdLoad,则依次读取缓冲区,否则,将当前负载CurrentLoad和负载阈值ThresholdLoad传输到所述缓冲区跳过计算模块。
5.根据权利要求1所述的收包细粒度优先级控制系统的收包细粒度优先级控制方法,其特征在于,所述方法包括如下步骤:
(1).利用所述数据读取模块从所述配置模块中读取与其对应的负载阈值ThresholdLoad,并将负载阈值ThresholdLoad发送到所述阈值比较模块;
(2).利用所述阈值比较模块从所述缓冲区中读取报文,在每次读取缓冲区之前,把系统的当前负载CurrentLoad和负载阈值ThresholdLoad比较,如果CurrentLoad小于等于ThresholdLoad,则依次读取缓冲区,否则,将当前负载CurrentLoad和负载阈值ThresholdLoad传输到所述缓冲区跳过计算模块;
(3).所述缓冲区跳过计算模块,计算需要跳过的缓冲区的个数SkipNum;并将需要跳过的缓冲区的个数SkipNum传递给所述数据读取模块;
(4).所述数据读取模块跳过SkipNum个缓冲区后,从新的位置开始读取数据。
6.根据权利要求5所述控制系统的控制方法,其特征在于,在所述步骤(3)中:所述SkipNum=TotalNum×(1‐ThresholdLoad/CurrentLoad);比较SkipNum和可用缓冲区个数AvailableNum,如果SkipNum大于AvailableNum,则令SkipNum=AvailableNum。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110383691.4A CN102404223B (zh) | 2011-11-28 | 2011-11-28 | 一种多应用收包细粒度优先级控制系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110383691.4A CN102404223B (zh) | 2011-11-28 | 2011-11-28 | 一种多应用收包细粒度优先级控制系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102404223A CN102404223A (zh) | 2012-04-04 |
CN102404223B true CN102404223B (zh) | 2015-03-25 |
Family
ID=45886026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110383691.4A Active CN102404223B (zh) | 2011-11-28 | 2011-11-28 | 一种多应用收包细粒度优先级控制系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102404223B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430663A (zh) * | 2007-11-09 | 2009-05-13 | 上海奇码数字信息有限公司 | 缓存管理单元和缓存管理方法 |
CN101841545A (zh) * | 2010-05-14 | 2010-09-22 | 中国科学院计算技术研究所 | 一种tcp流重组拼包方法和装置 |
CN102098215A (zh) * | 2010-12-17 | 2011-06-15 | 天津曙光计算机产业有限公司 | 一种多应用收包的优先级管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8769660B2 (en) * | 2008-01-26 | 2014-07-01 | Citrix Systems, Inc. | Systems and methods for proxying cookies for SSL VPN clientless sessions |
-
2011
- 2011-11-28 CN CN201110383691.4A patent/CN102404223B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430663A (zh) * | 2007-11-09 | 2009-05-13 | 上海奇码数字信息有限公司 | 缓存管理单元和缓存管理方法 |
CN101841545A (zh) * | 2010-05-14 | 2010-09-22 | 中国科学院计算技术研究所 | 一种tcp流重组拼包方法和装置 |
CN102098215A (zh) * | 2010-12-17 | 2011-06-15 | 天津曙光计算机产业有限公司 | 一种多应用收包的优先级管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102404223A (zh) | 2012-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | A cooperative scheduling scheme of local cloud and internet cloud for delay-aware mobile cloud computing | |
US7826371B2 (en) | Flow control method and receiving end device | |
Sun et al. | Quality of service networking for smart grid distribution monitoring | |
CN102111337B (zh) | 任务调度方法和系统 | |
CN104580524A (zh) | 一种云平台上的资源伸缩方法和一种云平台 | |
EP2905931B1 (en) | Method and apparatus for determining data flow rate of service access port | |
US20140143777A1 (en) | Resource Scheduling Method and Device | |
EP3200546B1 (en) | Carrier resource processing method and device for unlicensed carriers, and transmission node | |
EP2822347B1 (en) | Packet forwarding device and packet forwarding method, and computer program | |
CN103731476A (zh) | 一种提高信息推送速度的方法和装置 | |
CN103338387B (zh) | 云计算下能量消耗和视频质量联合优化的数据包调度方法 | |
CN102404223B (zh) | 一种多应用收包细粒度优先级控制系统和方法 | |
CN101478486B (zh) | 一种交换网数据调度方法、设备和系统 | |
CN102802214A (zh) | 一种基于wlan网络的速率自适应的系统和方法 | |
US10025752B2 (en) | Data processing method, processor, and data processing device | |
Liu et al. | A constant approximation for maximum throughput multicommodity routing and its application to delay-tolerant network scheduling | |
US8996764B1 (en) | Method and apparatus for controlling transmission of data packets from and to a server | |
CN103179051B (zh) | 一种流媒体的转发方法和系统 | |
CN103078766B (zh) | 网络流量的审计方法、装置及网络设备 | |
CN104268104A (zh) | 一种游戏开发内存控制方法及系统 | |
CN107273082A (zh) | 图像的显示方法、装置、终端及存储介质 | |
CN107567053A (zh) | 一种数据传输的方法、设备及系统 | |
Chi et al. | Queuing theory based service performance evaluation under H2h and M2 M blending traffic arriving | |
Vutukuri et al. | Enhanced back-off technique for IEEE 802.15. 4 WSN standard | |
Wu et al. | Cloudlet-based mobile offloading systems: A performance analysis |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220725 Address after: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing Patentee after: Dawning Information Industry (Beijing) Co.,Ltd. Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd. Address before: 100084 Beijing Haidian District City Mill Street No. 64 Patentee before: Dawning Information Industry (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |