CN102404223B - 一种多应用收包细粒度优先级控制系统和方法 - Google Patents

一种多应用收包细粒度优先级控制系统和方法 Download PDF

Info

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
Application number
CN201110383691.4A
Other languages
English (en)
Other versions
CN102404223A (zh
Inventor
刘朝辉
刘灿
窦晓光
姬乃军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dawning Information Industry Beijing Co Ltd
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN201110383691.4A priority Critical patent/CN102404223B/zh
Publication of CN102404223A publication Critical patent/CN102404223A/zh
Application granted granted Critical
Publication of CN102404223B publication Critical patent/CN102404223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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。
CN201110383691.4A 2011-11-28 2011-11-28 一种多应用收包细粒度优先级控制系统和方法 Active CN102404223B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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