一种基于随机访问存储器的多用户统计方法技术

技术编号:8235791 阅读:284 留言:0更新日期:2013-01-20 11:04
本发明专利技术公开了一种基于随机访问存储器的多用户统计方法,包括以下步骤:S1、用户仲裁单元根据网络数据包携带的用户ID或标志信息区分不同用户,这个ID号可以是自定义各种信息;S2、用户区划分控制单元在RAM中为不同用户划分地址区域;S3、RAM操作仲裁单元控制统计过程中的读写及时序;S4、CPU用户查询统计结果单元完成查询统计并将策略命中的结果返回。实施本发明专利技术的基于随机访问存储器的多用户统计方法具有以下有益效果:使用RAM替代传统的计数器来进行计数,大大降低了传统计数器使用触发器的个数,降低了对FPGA硬件的需求,从而节约了成本。

【技术实现步骤摘要】

本专利技术涉及,更具体地说,涉及一种基于RAM的随机访问存储器的多用户统计方法。
技术介绍
在互联时代高速发展的今天,网络成为了人们生活的必须品,它犹如衣、食一样成为了我们身边不可缺少的一部分,而随之而来的互联网上各种业务也发展得更为复杂化、多样化和个性化。为保障网络安全、掌握信息动态,就需要对网络中的各种信息进行分类、分析和处理,并且实时统计我们关心的数据。例如,某台计算机访问过什么样的网站、一段时间内仿问了多少次这样的网站、发出多少个敏感词,QQ登陆几次等信息。传统的统计方式是采用计数器计数的方式,其缺点是统计能力低、占用逻辑资源严重,而且统计内容相对单一。而本专利技术可以根据客户自身的需要自定义各种统计信息,大大提高了统计灵活性;采取·基于随机访问存储器的技术方案,节约了系统资源;并且统计能力达到了 264的计数能力。
技术实现思路
本专利技术针对以上问题的提出,而研制。本专利技术提供,其特征在于,包括以下步骤SI、用户仲裁单元根据网络数据包携带的用户ID或标志信息区分不同用户;S2、用户区划分控制单元在RAM中为不同用户划分地址区域;S3、RAM操作仲裁单元控制统计过程中的数据读写及时序;S4、CPU用户查询统计结果单元完成查询统计并将策略命中的结果返回。优选地,所述的区分不同用户包括如下步骤S11、根据用户ID或标志信息识别用户;S12、根据用户的个数设置相同数量的FIFO队列;S13、将网络数据包与内置的特征库进行对比,如果匹配,则将该特征字符在RAM中的统计存放地址写入对应的用户FIFO队列中。优选地,所述的划分地址区域采用如下形式根据用户个数,在RAM中划分相同个数的内存地址空间。优选地,所述的控制统计过程中的数据读写及时序包括数据读写和读写时序,其中,读时序控制在一个时钟周期内,且写使能信号为低电平的情况下,CPU对地址总线上的RAM地址进行寻址,将对应地址上的数据放到输出数据线上,完成读操作;写时序控制在一个时钟周期内,且写使能信号为高电平的情况下,CPU对地址总线上的RAM地址进行寻址,并将输入数据线上的数据放到输出数据线上,完成写操作。优选地,所述的查询统计包括两种被动查询方式和主动上报方式,其中,被动查询方式网络中任意一台PC机通过网络向FPGA发送需要统计的数据特征字符,FPGA接收并通过数据总线将统计信息回传给PC机,完成信息的被动查询;主动上报方式通过在FPGA内部放置定时器,间隔固定时间向PC发送数据,完成信息的主动上报。实施本专利技术的基于随机访问存储器的多用户统计方法具有以下有益效果根据客户自身的需要自定义各种统计信息,大大提高了统计灵活性;采取基于随机访问存储器的技术方案替代传统的计数器来进行统计计数,大大降低了传统计数器使用触发器的个数,降低了对FPGA硬件的需求,从而节约了成本;并且统计能力达到了 264的计数能力,提高了数据统计的能力。附图说明 图I是本专利技术实施例的基于随机访问存储器的多用户统计方法的原理图;图2是本专利技术实施例的用户仲裁单元对查询统计调度的操作控制图;图3是本专利技术实施例的数据读写及时序控制图;图4是本专利技术实施例的CPU用户查询统计结果单元的操作控制图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式进一步详细描述。参见图1,本专利技术实施例提供的基于随机访问存储器的多用户统计方法,具体包括以下步骤步骤SI :用户仲裁单元根据网络数据包携带的用户ID或标志信息区分不同用户,根据用户的不同分别设置多个FIFO队列与用户一一对应。用户仲裁单元在接收到网络数据包后,对数据包进行解析,通过用户ID或标志信息区分该数据包的所属用户;根据用户的个数,设置相同个数的FIFO队列与用户一一对应;该单元将网络数据包与内置的特征库进行对比,如果匹配,则将该特征字符写入对应的用户FIFO队列中。用户仲裁单元对查询统计提供了调度。调度默认采用的是公平优先级轮询调度方式。如图2所示,2个FIFO队列,也就是代表2个用户,可以根据需要设置多个FIFO队列以满足多个用户的需要。系统首先判断A_FIF0队列是否有数据,如果有则读取々_ 正0,如果没有则继续读取下一个队列B_FIF0,多个队列的情况依此类推,由此实现了统计查询的公平优先级轮询调度。根据用户的需求,也可以采用其他优先级调度方式。步骤S2 :用户区划分控制单元负责将RAM中为不同的用户划分地址区域。为满足多用户统计的需要,用户区划分控制单元在RAM中为不同用户划分地址区域,只要RAM容量允许,可以设置大量的用户。在本实施例中为用户I划分Fifo_l,为用户2划分Fifo_2,……,为用户N划分Fifo_N。本专利技术采用64位位宽用于统计计数数据的存放,最大计数可达264-1,且每个统计对象都支持IK以上。步骤S3 :RAM操作仲裁单元不担包括RAM控制统计过程中的数据读写及时序。RAM操作仲裁单元还要响应CPU用户查询统计结果单元下发的查询结果命令,并且最新的一次的统计结果返回给CPU用户查询统计结果单元。主要用来控制RAM的读写操作和时序,时序控制的好坏直接影响到策略统计的精度,在操作RAM的同时也要处理好将要达到的数据。本专利技术的存储器采用的有效资源共享,有限资源复用的设计目的。当CPU需要读取数据时,在一个时钟周期内,且“写使能”信号为低电平的情况下,CPU对地址总线上的RAM地址进行寻址,将对应地址上的数据放到输出数据线上,完成读数据操作。如图3所示,在ENA信号为高电平,地址总线ADDRA上存放的数据为aa,“写使能”信号WEA为低电平时,CPU对RAM地址为aa的内存块进行寻址,并将该内存块存放的数据MEM (aa)(是指RAM中记忆的数据即memory)放到数据输出端口总线DOUTA上,完成对数据的读操作。当用户区划分控制单元需要往RAM中写入数据时,在一个时钟周期内,且“写使能”信号为高电平的情况下,CPU对地址总线上的RAM地址进行寻址,并将输入数据线上的数据放到输出数据线上,完成写数据操作。如图3所示,在ENA信号为高电平,地址总线ADDRA上存放的数据为bb,数据输入总线DINA上存放的数据为1111,“写使能”信号WEA为高电平时,用户区划分控制单元对RAM地址为bb的内存块进行寻址,并将DINA上的数据1111写入该内存块存放的数据MEM (bb),完成对数据的写操作。当CPU用户查询统计结果单元和用户区划分控制单元都要读取数据时,RAM (随机访问存储)操作仲裁单元要采用轮询方式分别响应,与图2的原理一致。步骤S4 :CPU用户查询统计结果单元完成查询统计并将策略命中的次数返回给用户。如图4所示,在这个单元中,DATA_ARB模块是连接上查询用户与RAM之间的接口。本专利技术支持多种统计结果查询方式,一种是被动查询方式。是指网络中任意一台PC机通过网络向FPGA发送需要统计的数据特征字符,FPGA接收并通过数据总线将统计信息回传给PC机,完成信息的被动查询。一种是主动上报方式。通过在FPGA内部放置定时器,间隔固定时间向PC发送数据,完成信息的主动上报。同时在这里RAM也支持系统复位,也就是将命中的结果全部清为0,然后重新计数。其中COM代表下发的命令DATA是返回的本文档来自技高网...

【技术保护点】
一种基于随机访问存储器的多用户统计方法,其特征在于,包括以下步骤:S1、用户仲裁单元根据网络数据包携带的用户ID或标志信息区分不同用户;S2、用户区划分控制单元在RAM中为不同用户划分地址区域;S3、RAM操作仲裁单元控制统计过程中的数据读写及时序;S4、CPU用户查询统计结果单元完成查询统计并将策略命中的结果返回。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈庶樵李玉峰魏长城张建辉李宝凯徐天赐彭博
申请(专利权)人:大连梯耐德网络技术有限公司
类型:发明
国别省市:

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

1