一种数据处理方法和装置制造方法及图纸

技术编号:10806141 阅读:58 留言:0更新日期:2014-12-24 12:47
本发明专利技术公开了一种数据处理方法和装置,该数据处理方法包括:根据策略号对输入数据流中的报文进行分组,分组后的各个报文在输入数据流中的位置不变,其中,属于同一分组的报文构成一分组报文;根据预先设定的过滤规则,将不符合过滤规则的报文过滤,形成输出数据流。本发明专利技术通过根据报文的策略号对报文进行分组,分组后的报文在数据流中的位置不发生变化,由于这种虚拟队列的表现形式使得系统在流控时,不涉及对报文的分发和汇聚,因此不需要为每一种策略维护一个缓冲队列,减少了系统资源的开销。并且通过预定的过滤规则可以进一步减少片内RAM的开销,进一步增加流量控制策略的数量,从而大大提高了系统对于数据流控的效率和灵活性。

【技术实现步骤摘要】
一种数据处理方法和装置
本专利技术涉及数据处理领域,具体来说,涉及一种数据处理方法和装置。
技术介绍
随着计算机网络的飞速发展,特别是P2P技术的广泛应用,网络流量呈爆炸式增长。剧增的网络流量容易造成网络拥堵,大大增加了网络基础设施的负担,网络的运维成本增大。单纯的依靠增加带宽的方式来满足用户需求,成本太大,因此,更加合理的做法是对网络流量进行行之有效的管理与控制。通过对占据大部分带宽的非关键业务流量进行控制,从而保证关键业务的带宽需求和服务质量,提高网络整体性能。FPGA具有高性能、可编程等优点,很多高端网络流量处理系统都是基于FPGA实现的。基于FPGA的流量控制系统,可以实现纳秒级的精确流量控制,其基本流程大致可分为报文分类、流量控制和输出三个阶段。报文分类是指根据报文的关键域(如五元组),通过精确规则匹配或者掩码规则匹配,得到报文对应的策略号。流量控制是指根据报文分类结果,对报文进行分别流量控制。输出是指对报文执行相关动作并从相应端口输出至网络,被丢弃的报文不再转发。现有的流控系统,大多是先将报文按一定规则分发到多个队列,再对各个队列分别进行流量控制。由于FPGA逻辑资源有限,能支持的队列数量较小,导致能实现的策略数目较少。除此之外,流量控制系统还面临处理带宽不足,流量控制策略不够灵活等问题。针对相关技术中的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中的问题,本专利技术提出一种数据处理方法,能够减少系统资源的开销,提高系统对于数据流控的效率和灵活性。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种数据处理方法。该数据处理方法包括:根据策略号对输入数据流中的报文进行分组,分组后的各个报文在输入数据流中的位置不变,其中,属于同一分组的报文构成一分组报文;根据预先设定的过滤规则,将不符合过滤规则的报文过滤,形成输出数据流。其中,在分组报文的计数周期内,当分组报文对应的累加值大于等于分组报文对应的流控策略值的情况下,丢弃当前输入的报文。此外,在分组报文的计数周期内,当分组报文对应的累加值小于分组报文对应的流控策略值的情况下,分组报文对应的累加值累加为原累加值与当前输入的报文的大小的和。此外,在各个分组报文的计数周期初始时刻,将各个分组报文对应的累加值清零。其中,各个分组报文的计数周期大小相同,初始时刻相同和/或不同。根据本专利技术的另一方面,提供了一种数据处理装置,该装置包括:分组模块,用于根据策略号对输入数据流中的报文进行分组,分组后的各个报文在输入数据流中的位置不变,其中,属于同一分组的报文构成一分组报文;过滤模块,用于根据预先设定的过滤规则,将不符合过滤规则的报文过滤,形成输出数据流。其中,过滤模块进一步包括:丢弃单元,用于在分组报文的计数周期内,当分组报文对应的累加值大于等于分组报文对应的流控策略值的情况下,丢弃当前输入的报文。此外,过滤模块可以包括:累加单元,用于在分组报文的计数周期内,当分组报文对应的累加值小于分组报文对应的流控策略值的情况下,分组报文对应的累加值累加为原累加值与当前输入的报文的大小的和。此外,过滤模块还可以包括:清零单元,用于在各个分组报文的计数周期初始时刻,将各个分组报文对应的累加值清零。其中,各个分组报文的计数周期大小相同,初始时刻相同和/或不同。本专利技术通过根据报文的策略号对报文进行分组,分组后的报文在数据流中的位置不发生变化,由于这种虚拟队列的表现形式使得系统在流控时,不涉及对报文的分发和汇聚,因此不需要为每一种策略维护一个缓冲队列,减少了系统资源的开销。并且通过预定的过滤规则可以进一步减少片内RAM的开销,进一步增加流量控制策略的数量,从而大大提高了系统对于数据流控的效率和灵活性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的数据处理方法的流程图;图2是根据本专利技术实施例的数据处理方法的整体流程示意图;图3是根据本专利技术一具体实施例的虚拟队列示意图;图4是根据本专利技术一具体实施例的异步清零方法的流程示意图;图5是根据本专利技术实施例的数据处理装置的框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术的实施例,提供了一种数据处理方法,能够减少系统资源的开销,提高系统对于数据流控的效率和灵活性。如图1所示,根据本专利技术实施例的数据处理方法,包括:步骤S101,根据策略号对输入数据流中的报文进行分组,分组后的各个报文在输入数据流中的位置不变,其中,属于同一分组的报文构成一分组报文;步骤S103,根据预先设定的过滤规则,将不符合过滤规则的报文过滤,形成输出数据流。其中,上述过滤规则可以包括如下内容:在分组报文的计数周期内,当分组报文对应的累加值大于等于分组报文对应的流控策略值的情况下,丢弃当前输入的报文;在分组报文的计数周期内,当分组报文对应的累加值小于分组报文对应的流控策略值的情况下,分组报文对应的累加值累加为原累加值与当前输入的报文的大小的和;在各个分组报文的计数周期初始时刻,将各个分组报文对应的累加值清零。其中,各个分组报文的计数周期大小相同,初始时刻相同和/或不同。在一个具体的实施例中,如图2示出了该具体实施例的整体流程图。报文从网口控制器PortCtrl进入FPGA后,首先进入协议解析模块PktParse,提取出报文的分类关键字(五元组)信息后,将分类关键字发送至后续模块进行报文分类,为了使流量控制策略更加灵活,系统采用了精确规则匹配和掩码规则匹配相结合的方式。首先通过精确规则匹配模块ExactRuleMatch,计算出报文的五元组HASH值,精确地找到对应的流量控制策略。为了排除HASH冲突带来的错误,模块在设计时采用了五元组完整比较的方式,当发生冲突时,经过多次匹配,总能得到五元组完全匹配的规则。精确规则匹配存储在片外的QDR或者DDR中,每条规则唯一对应一个五元组,最大可以支持超过100万条规则。在精确规则匹配模块匹配完成后,由掩码规则匹配模块MaskRuleMatch作进一步的查找。掩码规则匹配模块由三态内容寻址存储器TCAM实现,可以完成任意粒度的掩码规则匹配。完成后,由于报文的流量控制策略是通过精确规则和掩码规则两种规则进行匹配的,这时候可以根据用户定义的方式选择用户自己需要的流控策略,得到最终的流量控制策略号。流量控制单元FlowCtrl负责对不同策略号的报文,分别进行流量控制。为了支持更多的策略,可以采用本专利技术的数据处理方法以“虚拟队列”的方式实现。除此之外,还对累加值的计数值清零操作进行了优化,通过异步清零的方式减少FPGA资源消耗。其中,通过“虚拟队列”及异步清零的方式实现流量控制将在后面作详细阐述。上传模块UploadPkt负责将流控处理后的报文送至主机,供上层软件进行分析,分析结果以规则的本文档来自技高网...
一种数据处理方法和装置

【技术保护点】
一种数据处理方法,其特征在于,包括:根据策略号对输入数据流中的报文进行分组,分组后的各个报文在输入数据流中的位置不变,其中,属于同一分组的报文构成一分组报文;根据预先设定的过滤规则,将不符合所述过滤规则的报文过滤,形成输出数据流。

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:根据策略号对输入数据流中的报文进行分组,分组后的各个报文在输入数据流中的位置不变,其中,属于同一分组的报文构成一分组报文;根据预先设定的过滤规则,将不符合所述过滤规则的报文过滤,形成输出数据流;其中,根据预先设定的过滤规则,将不符合所述过滤规则的报文过滤形成输出数据流,包括:在分组报文的计数周期内,当所述分组报文对应的累加值小于所述分组报文对应的流控策略值的情况下,所述分组报文对应的累加值累加为原累加值与当前输入的报文的大小的和;根据预先设定的过滤规则,将不符合所述过滤规则的报文过滤形成输出数据流,包括:在各个分组报文的计数周期初始时刻,将各个分组报文对应的累加值清零;各个分组报文的计数周期大小相同,初始时刻相同和/或不同。2.根据权利要求1的所述方法,其特征在于,根据预先设定的过滤规则,将不符合所述过滤规则的报文过滤形成输出数据流,包括:在分组报文的计数周期内,当所述分组报文对应的累加值大于等于所述分组报文对...

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

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

1