报文的缓冲方法和装置制造方法及图纸

技术编号:9697070 阅读:79 留言:0更新日期:2014-02-21 05:45
本发明专利技术公开了一种报文的缓冲方法和装置,该缓冲方法包括:判断第一缓冲区的可用空间是否满足接收的报文的存储要求;在判断结果为第一缓冲区的可用空间不满足报文的存储要求的情况下,将报文存储于第二缓冲区。该缓冲装置包括:判断模块,用于判断第一缓冲区的可用空间是否满足接收的报文的存储要求;存储模块,用于在判断结果为第一缓冲区的可用空间不满足报文的存储要求的情况下,将报文存储于第二缓冲区。本发明专利技术通过第一缓冲区实现对报文的流量进行消峰,并在第一缓冲区的可用空间不满足报文的存储要求的情况下,利用第二缓冲区对报文进行消峰,从而实现了两级缓存来应对报文的突发流量,起到了较好的消峰效果,同时也满足了流量分析的要求。

【技术实现步骤摘要】
报文的缓冲方法和装置
本专利技术涉及网络安全领域,具体来说,涉及一种报文的缓冲方法和装置。
技术介绍
在网络安全领域,对于报文突发流量的处理以及实现流量的消峰(流量消峰是指对突发的大流量进行处理,使得流量平滑地送给上层应用),一直是ー个难题,尤其是对比较复杂的应用环境的流量处理和消峰更是ー个难题,例如,多应用、多线程的应用环境。目前,在现有技术中,对突发流量的处理的常见方式有两种,ー种是设定ー个阈值,通过设定的阈值来检测是否存在突发流量,而当检测到突发流量吋,则采用直接丢弃的方式丢弃报文,以实现消峰的目的。另ー种是采用増大缓冲能力,以实现消峰的目的。第一种消峰的方式是目前最通用的做法,该方式比较简单,但是会丢掉大量的流连接信息,对流量分析是不可接受的,第二种消峰的方式虽然能够起到消峰的作用,但是在真实流量中,当出现流量突发时,往往只出现在ー个或者几个缓冲区上,对所有的缓冲区都增大缓存,势必会造成空间的巨大浪费。针对于现有技术中实现流量消峰的方法无法满足流量分析的需求、以及会造成空间的巨大浪费的问题,目前尚未提出有效的解决方案。
技术实现思路
针对于现有技术中实现流量消峰的方法无法满足流量分析的需求、以及会造成空间的巨大浪费的问题,本专利技术提出一种报文的缓冲方法和装置,能够通过两级缓存来应对报文的突发流量,从而实现了在满足流量分析需求的情况下,也能够起到较好的消峰效果。本专利技术的技术方案是这样实现的:根据本专利技术的ー个方面,提供了一种报文的缓冲方法。该报文的缓冲方法包括:判断第一缓冲区的可用空间是否满足接收的报文的存储要求;在判断结果为第一缓冲区的可用空间不满足报文的存储要求的情况下,将报文存储于第二缓冲区。该报文的缓冲方法还包括:在报文存储于第二缓冲区之前,判断第二缓冲区的可用空间是否满足接收的报文的存储要求;并且,在判断结果为第二缓冲区的可用空间不满足报文的存储要求的情况下,丢弃报文。其中,第一缓冲区为报文所在线程所对应的缓冲区。其中,第二缓冲区为多个线程共享的缓冲区。其中,第二缓冲区的空间大于第一缓冲区的空间。根据本专利技术的另一方面,提供了一种报文的缓冲装置。该报文的缓冲装置包括:判断模块,用于判断第一缓冲区的可用空间是否满足接收的报文的存储要求;存储模块,用于在判断结果为第一缓冲区的可用空间不满足报文的存储要求的情况下,将报文存储于第二缓冲区。此外,判断模块还用于在报文存储于第二缓冲区之前,判断第二缓冲区的可用空间是否满足接收的报文的存储要求。并且,该报文的缓冲装置还包括丢弃模块,用于在判断结果为第二缓冲区的可用空间不满足报文的存储要求的情况下,丢弃报文。其中,第一缓冲区为报文所在线程所对应的缓冲区。其中,第二缓冲区为多个线程共享的缓冲区。其中,第二缓冲区的空间大于第一缓冲区的空间。本专利技术通过第一缓冲区实现对报文的流量进行消峰,并在第一缓冲区的可用空间不满足报文的存储要求的情况下,利用第二缓冲区对报文进行消峰,从而实现了两级缓存来应对报文的突发流量,起到了较好的消峰效果,同时也在一定程度上满足了流量分析的要求。此外,本专利技术还通过利用多个线程的共享缓冲区作为第二缓冲区来实现对报文的流量进行消峰,从而解决了现有技术中通过增大所有缓冲区的空间实现消峰时,所到来的空间浪费的问题,实现了在消峰的过程中,有效降低了系统资源的浪费。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的报文的缓冲方法的流程示意图;图2是根据本专利技术实施例的进行报文数据处理时的原理框图;图3是根据本专利技术实施例的报文在写入缓冲区时的流程示意图;图4是根据本专利技术实施例的从缓冲区中读取报文的流程示意图;图5是根据本专利技术实施例的报文的缓冲装置的结构示意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术的实施例,提供了一种报文的缓冲方法。如图1所示,根据本专利技术实施例的报文的缓冲方法包括:步骤S101,判断第一缓冲区的可用空间是否满足接收的报文的存储要求;步骤S103,在判断结果为第一缓冲区的可用空间不满足报文的存储要求的情况下,将报文存储于第二缓冲区。此外,该报文的缓冲方法还包括:在报文存储于第二缓冲区之前,判断第二缓冲区的可用空间是否满足接收的报文的存储要求;并且,在判断结果为第二缓冲区的可用空间不满足报文的存储要求的情况下,丢弃报文。在上述方案中,第一缓冲区为报文所在线程所对应的缓冲区;第二缓冲区为多个线程共享的缓冲区;并且,第二缓冲区的空间大于第一缓冲区的空间。以下通过进行报文数据处理时的原理框图对本专利技术的上述技术方案进行简要说明。图2是报文数据处理时的原理框图,从图2中可以看出,当接收到报文数据时,首先对报文进行分流,将报文分配到其所在线程对应的常规缓冲区中(例如,当线程0接收到报文数据时,将报文分配得到缓冲区0,或者将线程I接收到报文数据时,将报文分配到缓冲区1,或者当线程n接收到报文数据时,将报文分配到缓冲区n),此时,如果分配的常规缓冲区的可用空间满足报文数据存储要求时,就将报文写入到该常规缓冲区进行缓存,而如果该常规缓冲区的可用空间不满足报文数据存储要求吋,则重新为该报文分配缓冲区,将报文分配的多个线程共用的共享缓冲区。当然,如果此时共享缓冲区的可用空间也不满足报文的存储要求的话,就只能丢弃报文。为了更好的理解本专利技术的上述技术方案,以下再结合将报文写入缓冲区时的具体流程图以及从缓冲区中读取报文时的具体流程图对本专利技术的上述技术方案进行详细说明。图3示出了将报文写入缓冲区时的流程,从图3中可以看出,在接收到报文后,首先计算该报文对应的HASH值,井根据计算出的HASH值,通过系统的分流表查询出接收该报文的线程所对应的缓冲区编号,在确定出报文所在线程对应的缓冲区编号后,对该缓冲区的空间进行判断,例如,判断该缓冲区是否已满,或者该缓冲区的剰余空间是否满足报文的存储要求,如果此时该缓冲区中没有数据且空间满足报文的存储要求,或者该缓冲区的存储有数据,但剩余空间满足依然满足报文存储要求时,就将报文直接存储于该缓冲区,而如果该缓冲区的空间已满或者剰余空间不满足报文存储要求吋,则将报文存储于多个线程共用的共享缓冲区,当然,此时如果共享缓冲区的空间也已满或者剰余空间不满足报文存储要求吋,则只能丢弃报文。图4示出了从缓冲区读取报文时的流程,从图4中可以看出,在读取报文时,首先确定将要读取的报文所在线程对应的常规缓冲区和共享缓冲区,并在确定后连接该常规缓冲区和共享缓冲区,而在连接后,则开始对常规缓冲区进行判断,判断该常规缓冲区是否已空或者该常规缓冲区中是否存储有对应的报文,如果该常规缓冲区中含有对应的报文,则直接从该常规缓冲区中取包,而如果该常规缓冲区中已空或者不含有对应报文,则根据共享缓冲区读指针获取对应报本文档来自技高网...

【技术保护点】
一种报文的缓冲方法,其特征在于,包括:判断第一缓冲区的可用空间是否满足接收的报文的存储要求;在判断结果为所述第一缓冲区的可用空间不满足所述报文的存储要求的情况下,将所述报文存储于第二缓冲区。

【技术特征摘要】
1.一种报文的缓冲方法,其特征在于,包括: 判断第一缓冲区的可用空间是否满足接收的报文的存储要求; 在判断结果为所述第一缓冲区的可用空间不满足所述报文的存储要求的情况下,将所述报文存储于第二缓冲区。2.根据权利要求1所述的缓冲方法,其特征在干,进ー步包括: 在所述报文存储于第二缓冲区之前,判断第二缓冲区的可用空间是否满足接收的报文的存储要求; 并且,在判断结果为所述第二缓冲区的可用空间不满足所述报文的存储要求的情况下,丢弃所述报文。3.根据权利要求1或2所述的缓冲方法,其特征在于,所述第一缓冲区为所述报文所在线程所对应的缓冲区。4.根据权利要求1或2所述的缓冲方法,其特征在于,所述第二缓冲区为多个线程共享的缓冲区。5.根据权利要求1或2所述的缓冲方法,其特征在于,所述第二缓冲区的空间大于所述第一缓冲区的空间。6.一种报文的缓冲装置,其特征在于,...

【专利技术属性】
技术研发人员:李锋伟
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1