CN101562567A - 一种处理报文的方法和服务器 - Google Patents

一种处理报文的方法和服务器 Download PDF

Info

Publication number
CN101562567A
CN101562567A CNA2009100853338A CN200910085333A CN101562567A CN 101562567 A CN101562567 A CN 101562567A CN A2009100853338 A CNA2009100853338 A CN A2009100853338A CN 200910085333 A CN200910085333 A CN 200910085333A CN 101562567 A CN101562567 A CN 101562567A
Authority
CN
China
Prior art keywords
message
formation
server
identifying
processing
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
Application number
CNA2009100853338A
Other languages
English (en)
Other versions
CN101562567B (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2009100853338A priority Critical patent/CN101562567B/zh
Publication of CN101562567A publication Critical patent/CN101562567A/zh
Application granted granted Critical
Publication of CN101562567B publication Critical patent/CN101562567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种处理报文的方法和服务器,其中,方法包括:认证服务器接收到认证过程中的第一个认证报文时,将该第一个认证报文送入第一队列;接收到认证过程中的其它认证报文时,将接收到的部分或全部其它认证报文送入第二队列;其中,所述第二队列的处理优先级高于所述第一队列的处理优先级。通过本发明能够减少服务器因处理大量超时的报文而引起的资源浪费的状况,提高认证成功率。

Description

一种处理报文的方法和服务器
技术领域
本发明涉及网络通信技术领域,特别涉及一种处理报文的方法和服务器。
背景技术
随着网络技术的不断发展和普及,服务器的应用更加的广泛,并且网络用户的快速增长对服务器的性能提出了更高的要求。
目前,服务器对于客户端发送的报文采用的处理方式为:将接收到的报文送入队列中进行缓存,并采用先入先出(FIFO)方式进行处理。当大量用户并发时,如果服务器的CPU处理速度不够快或者报文堆积的速度过快,都会使得队列中的报文积满后,后续的报文被丢弃,然而此时队列前面的报文可能是客户端已经超时废弃的报文,而后续新接收的报文可能是有效的报文,服务器按照FIFO的顺序对报文逐一进行处理,会对服务器的资源造成浪费,且造成后续的有效报文也没有被及时处理或被丢弃。
上述方式在认证服务器中会严重影响认证成功率。如图1所示,假设标识为2的报文为客户端2发送的认证过程中的第一个认证报文,标识为1的报文为客户端1发送的认证过程中除了第一个认证报文之外的其它认证报文。由于认证过程中的认证报文是分阶段发送的,且具有一定的超时时间,如果出现报文并发现象,队列中的报文数量过多,服务器按照FIFO的顺序进行处理,处理完标识为2的报文后,客户端2发送的后续报文可能在接收到时,会因为报文队列已满而被丢弃,造成认证过程失败;或者,待认证服务器处理到标识为1的报文时,该报文已达到超时时间,认证过程失败,认证服务器对该标识为1的报文继续进行处理也没有意义,且认证服务器之前对于客户端1发送的第一个认证报文的处理也被浪费。
发明内容
有鉴于此,本发明提供了一种处理报文的方法和服务器,以便于减少服务器因处理大量超时的报文而引起的资源浪费的状况,提高认证成功率。
一种处理报文的方法,该方法包括:
认证服务器接收到认证过程中的第一个认证报文时,将该第一个认证报文送入第一队列;接收到认证过程中的其它认证报文时,将接收到的部分或全部所述其它认证报文送入第二队列;其中,所述第二队列的处理优先级高于所述第一队列的处理优先级。
一种服务器,该服务器包括:报文接收单元、第一队列、第二队列和报文处理单元;
所述报文接收单元,用于接收到认证过程中的第一个认证报文时,将该第一个认证报文送入所述第一队列;接收到认证过程中的其它认证报文时,将接收到的部分或全部所述其它认证报文送入所述第二队列;
所述报文处理单元,用于按照所述第二队列的处理优先级高于所述第一队列的处理优先级的原则,处理所述第一队列和第二队列中的报文。
由以上技术方案可以看出,本发明针对认证报文提供了一种分不同队列来处理不同认证阶段的报文,通过第一队列缓存认证过程中的第一个认证报文,通过第二队列缓存认证过程中的部分或全部其它报文,且第二队列的处理优先级高于第一队列的处理优先级。尽量使得后续的认证报文能够在超时时间到来之前尽快得到处理,从而提高认证成功率,也使得之前处理的第一个认证报文也没有浪费,避免了因服务器大量处理无效认证报文所造成的资源浪费状况。
附图说明
图1为现有技术中报文在队列中的处理示意图;
图2中的(a)和(b)分别为本发明实施例提供的对第一队列从头部和尾部处理的示意图;
图3为本发明实施例提供的服务器结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法主要包括:认证服务器接收到认证过程中的第一个认证报文时,将该第一个认证报文送入第一队列;接收到认证过程中的其它认证报文时,将接收到的部分或全部其它认证报文送入第二队列;其中,第二队列的处理优先级高于第一队列的处理优先级。
下面结合具体实施例对上述方法进行详细描述。本发明实施例中可以在认证服务器中设置第一队列和第二队列,其中,第一队列用于缓存认证过程中的第一个认证报文,第二队列用于缓存认证过程中的其它认证报文。也就是说,认证服务器接收到认证过程中的第一个认证报文时,将该第一个认证报文送入第一队列,接收到认证过程中的其它认证报文时,将该接收到的其它认证报文送入第二队列。
需要说明的是,本发明中所涉及的认证过程中的第一个认证报文是认证发起报文,也包括重传的认证发起报文。
在进行报文处理时,第二队列的处理优先级高于第一队列的处理优先级,即优先处理认证过程中的后续其它认证报文。具体原因为:由于认证服务器一定是对认证过程中的第一个认证报文进行处理并向客户端进行了报文回复,才会接收到客户端发送的后续其它认证报文,如果服务器此时优先处理其它认证报文,才能够保证认证成功率以及以前处理过的第一个认证报文没有浪费。
具体地,在认证服务器到达报文处理时序时,如果第二队列中缓存有认证报文,则处理第二队列中的认证报文;如果第二队列中没有认证报文,则处理第一队列中的认证报文。
对于第二队列中的认证报文可以采用FIFO的方式依次进行处理。
对于第一队列中的认证报文,可以在报文处理时序到来时,判断第一队列中当前缓存的报文总长度是否超过预设的长度阈值,如果否,则从第一队列头部取出报文进行处理;如果是,从第一队列尾部取出报文进行处理。
其中,预设的长度阈值可以根据CPU的处理能力,以及队列长度等确定。例如,如果第一队列中报文不超过队列长度的80%,则认证服务器从队列头部开始处理报文,如图2中的(a)所示。如果第一队列中报文超过队列长度的80%,则说明队列中缓存的报文过多,为了防止客户端等待的时间超过超时周期,队列头部的报文很有可能已经是无效的报文,认证服务器从队列尾部开始处理报文,如图2中的(b)所示。
另外,有可能用户的并发是一个突发过程而不是一个持续的过程,这样当突发大量认证报文时,队列头部的报文可能尚未超时,因此,在报文处理时序到来时都会执行判断第一队列中当前缓存的报文长度是否超过预设的长度阈值的操作,这样队列长度一旦低于长度阈值,则又可以从对头进行报文处理。
当第一队列中缓存的报文已满时,对后续接收到的报文都进行尾部丢弃处理,即当认证服务器接收到除了认证过程中的第一个认证报文之外的其它认证报文时,如果第一队列已满,则丢弃接收到的该认证报文。
更优地,对于第一队列,每到达该第一队列所缓存报文对应的超时周期,可以从第一队列的头部取出预设长度的报文进行丢弃。该预设长度可以根据经验值进行确定。每到达超时周期,队列前面的报文超时的可能性非常大,为了保证更多的用户认证成功,可以将队列前面的一部分报文丢弃,保证接下来的报文能够尽快得到处理。例如,每到达一个超时周期,就可以将第一队列头部的10%的报文进行丢弃。
当认证服务器可能接收到多种协议类型的认证报文时,可以预先针对不同协议类型的认证报文分别设置各协议类型对应的第二队列和第一队列。当认证服务器接收到认证报文后,将该认证报文送入该认证报文的协议类型所对应的第二队列或第一队列。各协议类型对应的第二队列的处理优先级相同,各协议类型对应的第一队列的处理优先级相同。第二队列的处理优先级大于第一队列的处理优先级。
假设认证服务器可能接收到两种协议类型的认证报文,那么分别将接收到协议1的认证过程的第一个认证报文都送入协议1对应的第二队列,将协议1的其它认证报文都送入协议1对应的第一队列。将接收到协议2的认证过程的第一个认证报文都送入协议2对应的第二队列,将协议2的其它认证报文都送入协议2对应的第一队列。认证服务器对各队列进行轮询,如果协议1和协议2的第二队列中缓存有报文,则首先处理第二队列中的报文,可以在轮询过程中每个第二队列处理20%。当第二队列中没有报文时,处理轮询处理协议1和协议2的第一队列中的报文,同样,可以每个第一队列处理20%。
上述对于第一队列的优化处理方式并不是保障所有用户都认证成功,而在大量认证报文并发或突发的情况下,尽可能保证多的用户认证成功,通常保证持续的用户认证成功,且认证成功的几率也接近恒定,这可能会暂时牺牲一部分用户的认证成功,但该用户的后续重认证的成功率也会相应地提高,从而表现出服务器在大量用户并发情况下的稳定性和可靠性。
另外,需要说明的是,上述实施例是以两个队列为例进行的描述,但并不限于仅分为两个队列,本发明还可以分为两个以上的队列。例如分为三个队列,第一队列仍用于缓存认证过程中的第一个认证报文,第二队列缓存认证过程中其它报文中的一部分,另外一部分通过第三队列进行缓存。其中,对于第一队列中报文的处理过程仍可以按照上述实施例中的方式进行。
以上是对本发明所提供的方法进行的详细描述,下面对本发明所提供的服务器进行详细描述,图3为本发明实施例提供的服务器结构图,如图3所示,该服务器可以包括:报文接收单元301、第一队列302、第二队列303和报文处理单元304。
报文接收单元301,用于接收到认证过程中的第一个认证报文时,将该第一个认证报文送入第一队列302;接收到认证过程中的其它认证报文时,将接收到的部分或全部其它认证报文送入第二队列303。
报文处理单元304,用于按照第二队列303的处理优先级高于第一队列302的处理优先级的原则,处理第一队列302和第二队列303中的报文。
具体地,报文处理单元304可以在该服务器的报文处理时序,如果第二队列303中存在报文,则处理第二队列303中的报文;如果第二队列303中没有报文,则处理第一队列302中的报文。
更优地,该服务器还可以包括:长度判断单元305,用于在报文处理单元304对第一队列302中的报文进行处理时,判断第一队列302中当前缓存的报文总长度是否超过预设的长度阈值,如果否,向报文处理单元304发送第一处理通知,如果是,向报文处理单元304发送第二处理通知。
相应地,报文处理单元304接收到第一处理通知后,从第一队列302头部取出报文进行处理;接收到第二处理通知后,从第一队列302尾部取出报文进行处理。
另外,报文处理单元304可以按照先入先出的方式处理第二队列303中的报文。
另外,为了进一步节约服务器资源,长时间堆积在第一队列头部的报文其失效的可能性较大,此时,该服务器还可以包括:第一丢弃处理单元306,用于每到达第一队列302所缓存报文对应的超时周期,从第一队列302头部取出预设长度的报文进行丢弃。
另外,该服务器还可以包括:第二丢弃处理单元307,用于在第一队列302当前缓存的报文已满时,丢弃报文接收单元301接收到的认证过程中的第一个认证报文。
如果认证服务器需要处理多种不同协议类型的认证报文,则第一队列302可以包括:多个不同协议类型对应的第一队列(图中未示出),分别用于缓存该服务器接收到的该第一队列所对应协议类型的认证过程中的第一个认证报文。
第二队列303可以包括:多个不同协议类型对应的第二队列(图中未示出),分别用于缓存该服务器接收到的该第二队列所对应协议类型的认证过程中的其它认证报文。
由以上描述可以看出,本发明所提供的方法和服务器具有以下优点:
1)本发明针对认证报文提供了一种分不同队列来处理不同认证阶段的报文,通过第一队列缓存认证过程中的第一个认证报文,通过第二队列缓存认证过程中的部分或全部其它报文,且第二队列的处理优先级高于第一队列的处理优先级。尽量使得后续的认证报文能够在超时时间到来之前尽快得到处理,从而保证认证成功率,也使得之前处理的第一个认证报文也没有浪费,避免了因服务器大量处理无效认证报文所造成的资源浪费状况。
2)服务器在对第一队列中的认证报文进行处理时,根据队列拥塞程度的不同,采用不同的报文处理方式,即第一队列中当前缓存的报文总长度超过预设的长度阈值时,从第一队列尾部取出报文进行处理;否则从第一队列头部取出报文进行处理。使得在大量用户并发时,能够尽量保证有效的,即没有超过超时时间的报文,能够得到处理,这种方式还能够避免服务器长期处于处理无效报文的状况,减少服务器资源浪费的状况。
3)本发明实施例中,针对第一队列中的报文,每达到第一队列所缓存报文对应的超时周期,可以从第一队列的头部取出预设长度的报文进行丢弃。这种方式通过将第一队列前面超时可能性较大的报文进行丢弃,来保证接下来的有效报文能够尽快得到处理,从而进一步提高处理成功率和减少服务器资源浪费的状况。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (14)

1、一种处理报文的方法,其特征在于,该方法包括:
认证服务器接收到认证过程中的第一个认证报文时,将该第一个认证报文送入第一队列;接收到认证过程中的其它认证报文时,将接收到的部分或全部所述其它认证报文送入第二队列;其中,所述第二队列的处理优先级高于所述第一队列的处理优先级。
2、根据权利要求1所述的方法,其特征在于,所述第二队列的处理优先级高于所述第一队列的处理优先级具体包括:在认证服务器的报文处理时序,如果所述第二队列中存在报文,则处理第二队列中的报文;如果所述第二队列中没有报文,则处理第一队列中的报文。
3、根据权利要求1或2所述的方法,其特征在于,在对所述第一队列中的报文进行处理时,判断所述第一队列中当前缓存的报文总长度是否超过预设的长度阈值,如果否,则从所述第一队列的头部取出报文进行处理;如果是,从所述第一队列的尾部取出报文进行处理。
4、根据权利要求1或2所述的方法,其特征在于,按照先入先出的方法处理第二队列中的报文。
5、根据权利要求1或2所述的方法,其特征在于,该方法还包括:每到达所述第一队列所缓存报文对应的超时周期,从所述第一队列头部取出预设长度的报文进行丢弃。
6、根据权利要求1或2所述的方法,其特征在于,该方法还包括:接收到认证过程中的第一个认证报文时,如果所述第一队列当前缓存的报文已满,则丢弃接收到的所述第一个认证报文。
7、根据权利要求1或2所述的方法,其特征在于,预先针对不同协议类型的认证报文分别设置各协议类型对应的第二队列和第一队列;
所述服务器将接收到的认证报文分别送入该认证报文的协议类型所对应的第二队列或第一队列;各协议类型对应的第二队列的处理优先级相同,各协议类型对应的第一队列的处理优先级相同。
8、一种服务器,其特征在于,该服务器包括:报文接收单元、第一队列、第二队列和报文处理单元;
所述报文接收单元,用于接收到认证过程中的第一个认证报文时,将该第一个认证报文送入所述第一队列;接收到认证过程中的其它认证报文时,将接收到的部分或全部所述其它认证报文送入所述第二队列;
所述报文处理单元,用于按照所述第二队列的处理优先级高于所述第一队列的处理优先级的原则,处理所述第一队列和第二队列中的报文。
9、根据权利要求8所述的服务器,其特征在于,所述报文处理单元在该服务器的报文处理时序,如果所述第二队列中存在报文,则处理第二队列中的报文;如果所述第二队列中没有报文,则处理第一队列中的报文。
10、根据权利要求8或9所述的服务器,其特征在于,该服务器还包括:长度判断单元,用于在报文处理单元对第一队列中的报文进行处理时,判断第一队列中当前缓存的报文总长度是否超过预设的长度阈值,如果否,向所述报文处理单元发送第一处理通知,如果是,向所述报文处理单元发送第二处理通知;
所述报文处理单元接收到第一处理通知后,从所述第一队列头部取出报文进行处理;接收到第二处理通知后,从所述第一队列尾部取出报文进行处理。
11、根据权利要求8或9所述的服务器,其特征在于,所述报文处理单元按照先入先出的方式处理所述第二队列中的报文。
12、根据权利要求8或9所述的服务器,其特征在于,该服务器还包括:第一丢弃处理单元,用于每到达所述第一队列所缓存报文对应的超时周期,从所述第一队列头部取出预设长度的报文进行丢弃。
13、根据权利要求8或9所述的服务器,其特征在于,该服务器还包括:第二丢弃处理单元,用于在所述第一队列当前缓存的报文已满时,丢弃所述报文接收单元接收到的所述认证过程中的第一个认证报文。
14、根据权利要求8或9所述的服务器,其特征在于,所述第一队列包括:多个不同协议类型对应的第一队列,分别用于缓存该服务器接收到的该第一队列所对应协议类型的认证过程中的第一个认证报文;
所述第二队列包括:多个不同协议类型对应的第二队列,分别用于缓存该服务器接收到的该第二队列所对应协议类型的认证过程中的其它认证报文。
CN2009100853338A 2009-05-21 2009-05-21 一种处理报文的方法和服务器 Active CN101562567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100853338A CN101562567B (zh) 2009-05-21 2009-05-21 一种处理报文的方法和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100853338A CN101562567B (zh) 2009-05-21 2009-05-21 一种处理报文的方法和服务器

Publications (2)

Publication Number Publication Date
CN101562567A true CN101562567A (zh) 2009-10-21
CN101562567B CN101562567B (zh) 2011-06-08

Family

ID=41221194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100853338A Active CN101562567B (zh) 2009-05-21 2009-05-21 一种处理报文的方法和服务器

Country Status (1)

Country Link
CN (1) CN101562567B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697529B (zh) * 2009-10-28 2012-05-30 北京星网锐捷网络技术有限公司 认证报文处理方法、装置和系统
CN103001783A (zh) * 2011-09-13 2013-03-27 中兴通讯股份有限公司 网管系统及其报文处理方法
CN104283800A (zh) * 2013-07-05 2015-01-14 株式会社日立制作所 网关装置、通信系统以及流量控制方法
CN106603723A (zh) * 2017-01-20 2017-04-26 腾讯科技(深圳)有限公司 一种请求消息处理方法及装置
CN108809668A (zh) * 2018-05-29 2018-11-13 新华三技术有限公司 一种认证方法、装置及接入设备
CN109547352A (zh) * 2018-11-07 2019-03-29 杭州迪普科技股份有限公司 报文缓存队列的动态分配方法和装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697529B (zh) * 2009-10-28 2012-05-30 北京星网锐捷网络技术有限公司 认证报文处理方法、装置和系统
CN103001783A (zh) * 2011-09-13 2013-03-27 中兴通讯股份有限公司 网管系统及其报文处理方法
CN103001783B (zh) * 2011-09-13 2018-09-14 南京中兴软件有限责任公司 网管系统及其报文处理方法
CN104283800A (zh) * 2013-07-05 2015-01-14 株式会社日立制作所 网关装置、通信系统以及流量控制方法
CN104283800B (zh) * 2013-07-05 2019-01-08 株式会社日立制作所 网关装置、通信系统以及流量控制方法
CN106603723A (zh) * 2017-01-20 2017-04-26 腾讯科技(深圳)有限公司 一种请求消息处理方法及装置
CN106603723B (zh) * 2017-01-20 2019-08-30 腾讯科技(深圳)有限公司 一种请求消息处理方法及装置
CN108809668A (zh) * 2018-05-29 2018-11-13 新华三技术有限公司 一种认证方法、装置及接入设备
CN108809668B (zh) * 2018-05-29 2021-09-21 新华三技术有限公司 一种认证方法、装置及接入设备
CN109547352A (zh) * 2018-11-07 2019-03-29 杭州迪普科技股份有限公司 报文缓存队列的动态分配方法和装置

Also Published As

Publication number Publication date
CN101562567B (zh) 2011-06-08

Similar Documents

Publication Publication Date Title
CN101562567B (zh) 一种处理报文的方法和服务器
Montazeri et al. Homa: A receiver-driven low-latency transport protocol using network priorities
Guo et al. The war between mice and elephants
US7219228B2 (en) Method and apparatus for defending against SYN packet bandwidth attacks on TCP servers
CN101083563A (zh) 一种防分布式拒绝服务攻击的方法及设备
Huang et al. Adjusting packet size to mitigate TCP incast in data center networks with COTS switches
CN106506392A (zh) 一种网络拥塞处理方法及装置
CN102510385A (zh) 防ip数据报分片攻击的方法
WO2008080324A1 (fr) Procédé et appareil pour empêcher une attaque par messages igmp
US20080155028A1 (en) Method and Apparatus for Efficient Polling
WO2014026554A1 (zh) 报文拥塞处理方法及装置
Huang et al. Packet slicing for highly concurrent TCPs in data center networks with COTS switches
CN105743951A (zh) 一种数据发送、接收的方法及装置
CN104753813B (zh) Dma传送报文的方法
Li et al. An effective SDN controller scheduling method to defence DDoS attacks
CN101883054B (zh) 组播报文处理方法、装置和设备
WO2010072122A1 (zh) 一种传输报文的方法、端口和系统
Xue et al. An evaluation of fairness among heterogeneous TCP variants over 10Gbps high-speed networks
Wu et al. Potential performance bottleneck in Linux TCP
CN102761608A (zh) Udp会话复用的方法和负载均衡设备
Baker et al. On queuing, marking, and dropping
US9525629B2 (en) Method and apparatus for transmitting data packets
CN115442000A (zh) 一种适用于低带宽、易损耗自组网络下的传输保障方法
Heusse et al. Least attained recent service for packet scheduling over wireless lans
Hurtig et al. SCTP: designed for timely message delivery?

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.