CN102880680B - 一种基于随机访问存储器的多用户统计方法 - Google Patents
一种基于随机访问存储器的多用户统计方法 Download PDFInfo
- Publication number
- CN102880680B CN102880680B CN201210334878.XA CN201210334878A CN102880680B CN 102880680 B CN102880680 B CN 102880680B CN 201210334878 A CN201210334878 A CN 201210334878A CN 102880680 B CN102880680 B CN 102880680B
- Authority
- CN
- China
- Prior art keywords
- user
- ram
- data
- address
- random access
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于随机访问存储器的多用户统计方法,包括以下步骤:S1、用户仲裁单元根据网络数据包携带的用户ID或标志信息区分不同用户,这个ID号可以是自定义各种信息;S2、用户区划分控制单元在RAM中为不同用户划分地址区域;S3、RAM操作仲裁单元控制统计过程中的读写及时序;S4、CPU用户查询统计结果单元完成查询统计并将策略命中的结果返回。实施本发明的基于随机访问存储器的多用户统计方法具有以下有益效果:使用RAM替代传统的计数器来进行计数,大大降低了传统计数器使用触发器的个数,降低了对FPGA硬件的需求,从而节约了成本。
Description
技术领域
本发明涉及一种基于随机访问存储器的多用户统计方法,更具体地说,涉及一种基于RAM的随机访问存储器的多用户统计方法。
背景技术
在互联时代高速发展的今天,网络成为了人们生活的必须品,它犹如衣、食一样成为了我们身边不可缺少的一部分,而随之而来的互联网上各种业务也发展得更为复杂化、多样化和个性化。为保障网络安全、掌握信息动态,就需要对网络中的各种信息进行分类、分析和处理,并且实时统计我们关心的数据。例如,某台计算机访问过什么样的网站、一段时间内仿问了多少次这样的网站、发出多少个敏感词,QQ登陆几次等信息。传统的统计方式是采用计数器计数的方式,其缺点是统计能力低、占用逻辑资源严重,而且统计内容相对单一。而本发明可以根据客户自身的需要自定义各种统计信息,大大提高了统计灵活性;采取基于随机访问存储器的技术方案,节约了系统资源;并且统计能力达到了264的计数能力。
发明内容
本发明针对以上问题的提出,而研制一种基于随机访问存储器的多用户统计方法。
本发明提供一种基于随机访问存储器的多用户统计方法,其特征在于,包括以下步骤:
S1、用户仲裁单元根据网络数据包携带的用户ID或标志信息区分不同用户;
S2、用户区划分控制单元在RAM中为不同用户划分地址区域;
S3、RAM操作仲裁单元控制统计过程中的数据读写及时序;
S4、CPU用户查询统计结果单元完成查询统计并将策略命中的结果返回;所述的查询统计包括两种,被动查询方式和主动上报方式,其中,被动查询方式:网络中任意一台PC机通过网络向FPGA发送需要统计的数据特征字符,FPGA接收并通过数据总线将统计信息回传给PC机,完成信息的被动查询;主动上报方式:通过在FPGA内部设置定时器,间隔固定时间向PC发送数据,完成信息的主动上报。
优选地,所述的区分不同用户包括如下步骤:
S11、根据用户ID或标志信息识别用户;
S12、根据用户的个数设置相同数量的FIFO队列;
S13、将网络数据包与内置的特征库进行对比,如果匹配,则将该特征字符在RAM中的统计存放地址写入对应的用户FIFO队列中。
优选地,所述的划分地址区域采用如下形式:根据用户个数,在RAM中划分相同个数的内存地址空间。
优选地,所述的控制统计过程中的数据读写及时序包括数据读写和读写时序,其中,
读时序控制:在一个时钟周期内,且写使能信号为低电平的情况下,CPU对地址总线上的RAM地址进行寻址,将对应地址上的数据放到输出数据线上,完成读操作;
写时序控制:在一个时钟周期内,且写使能信号为高电平的情况下,CPU对地址总线上的RAM地址进行寻址,并将输入数据线上的数据放到输出数据线上,完成写操作。
实施本发明的基于随机访问存储器的多用户统计方法具有以下有益效果:根据客户自身的需要自定义各种统计信息,大大提高了统计灵活性;采取基于随机访问存储器的技术方案替代传统的计数器来进行统计计数,大大降低了传统计数器使用触发器的个数,降低了对FPGA硬件的需求,从而节约了成本;并且统计能力达到了264的计数能力,提高了数据统计的能力。
附图说明
图1是本发明实施例的基于随机访问存储器的多用户统计方法的原理图;
图2是本发明实施例的用户仲裁单元对查询统计调度的操作控制图;
图3是本发明实施例的数据读写及时序控制图;
图4是本发明实施例的CPU用户查询统计结果单元的操作控制图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式进一步详细描述。
参见图1,本发明实施例提供的基于随机访问存储器的多用户统计方法,具体包括以下步骤:
步骤S1:用户仲裁单元根据网络数据包携带的用户ID或标志信息区分不同用户,根据用户的不同分别设置多个FIFO队列与用户一一对应。
用户仲裁单元在接收到网络数据包后,对数据包进行解析,通过用户ID或标志信息区分该数据包的所属用户;根据用户的个数,设置相同个数的FIFO队列与用户一一对应;该单元将网络数据包与内置的特征库进行对比,如果匹配,则将该特征字符写入对应的用户FIFO队列中。
用户仲裁单元对查询统计提供了调度。调度默认采用的是公平优先级轮询调度方式。如图2所示,2个FIFO队列,也就是代表2个用户,可以根据需要设置多个FIFO队列以满足多个用户的需要。系统首先判断A_FIFO队列是否有数据,如果有则读取A_FIFO,如果没有则继续读取下一个队列B_FIFO,多个队列的情况依此类推,由此实现了统计查询的公平优先级轮询调度。根据用户的需求,也可以采用其他优先级调度方式。
步骤S2:用户区划分控制单元负责将RAM中为不同的用户划分地址区域。
为满足多用户统计的需要,用户区划分控制单元在RAM中为不同用户划分地址区域,只要RAM容量允许,可以设置大量的用户。在本实施例中为用户1划分Fifo_1,为用户2划分Fifo_2,……,为用户N划分Fifo_N。本发明采用64位位宽用于统计计数数据的存放,最大计数可达264-1,且每个统计对象都支持1K以上。
步骤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是返回的数据。CLR则是复位RAM。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (4)
1.一种基于随机访问存储器的多用户统计方法,其特征在于,包括以下步骤:
S1、用户仲裁单元根据网络数据包携带的用户ID或标志信息区分不同用户;
S2、用户区划分控制单元在RAM中为不同用户划分地址区域;
S3、RAM操作仲裁单元控制统计过程中的数据读写及时序;
S4、CPU用户查询统计结果单元完成查询统计并将策略命中的结果返回;所述的查询统计包括两种,被动查询方式和主动上报方式,其中,被动查询方式:网络中任意一台PC机通过网络向FPGA发送需要统计的数据特征字符,FPGA接收并通过数据总线将统计信息回传给PC机,完成信息的被动查询;主动上报方式:通过在FPGA内部设置定时器,间隔固定时间向PC发送数据,完成信息的主动上报。
2.如权利要求1所述的基于随机访问存储器的多用户统计方法,其特征在于,所述的区分不同用户包括如下步骤:
S11、根据用户ID或标志信息识别用户;
S12、根据用户的个数设置相同数量的FIFO队列;
S13、将网络数据包与内置的特征库进行对比,如果匹配,则将该特征字符在RAM中的统计存放地址写入对应的用户FIFO队列中。
3.如权利要求1所述的基于随机访问存储器的多用户统计方法,其特征在于,所述的划分地址区域采用如下形式:根据用户个数,在RAM中划分相同个数的内存地址空间。
4.如权利要求1所述的基于随机访问存储器的多用户统计方法,其特征在于,所述的控制统计过程中的数据读写及时序包括数据读写和读写时序,其中,
读时序控制:在一个时钟周期内,且写使能信号为低电平的情况下,CPU对地址总线上的RAM地址进行寻址,将对应地址上的数据放到输出数据线上,完成读操作;
写时序控制:在一个时钟周期内,且写使能信号为高电平的情况下,CPU对地址总线上的RAM地址进行寻址,并将输入数据线上的数据放到输出数据线上,完成写操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210334878.XA CN102880680B (zh) | 2012-09-11 | 2012-09-11 | 一种基于随机访问存储器的多用户统计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210334878.XA CN102880680B (zh) | 2012-09-11 | 2012-09-11 | 一种基于随机访问存储器的多用户统计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102880680A CN102880680A (zh) | 2013-01-16 |
CN102880680B true CN102880680B (zh) | 2015-08-12 |
Family
ID=47482006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210334878.XA Expired - Fee Related CN102880680B (zh) | 2012-09-11 | 2012-09-11 | 一种基于随机访问存储器的多用户统计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102880680B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009436A (zh) * | 2017-12-21 | 2018-05-08 | 苏州国芯科技有限公司 | 一种soc芯片的多用户管理方法、系统及soc芯片 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414129B (zh) * | 2019-01-07 | 2023-05-05 | 阿里巴巴集团控股有限公司 | 基于云的fpga控制数据的配置系统和方法以及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141296A (zh) * | 2007-08-16 | 2008-03-12 | 华为技术有限公司 | 通道化逻辑单通道统计的方法和装置 |
CN101661429A (zh) * | 2009-08-18 | 2010-03-03 | 中兴通讯股份有限公司 | 一种统计信息的存储方法及设备 |
CN101986271A (zh) * | 2010-10-29 | 2011-03-16 | 中兴通讯股份有限公司 | 调度tcam查询和刷新消息的方法和装置 |
CN102256168A (zh) * | 2011-07-08 | 2011-11-23 | 宇龙计算机通信科技(深圳)有限公司 | 点播统计系统和点播统计方法 |
CN102270178A (zh) * | 2011-08-02 | 2011-12-07 | 中兴通讯股份有限公司 | 统计信息存储方法及装置 |
-
2012
- 2012-09-11 CN CN201210334878.XA patent/CN102880680B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141296A (zh) * | 2007-08-16 | 2008-03-12 | 华为技术有限公司 | 通道化逻辑单通道统计的方法和装置 |
CN101661429A (zh) * | 2009-08-18 | 2010-03-03 | 中兴通讯股份有限公司 | 一种统计信息的存储方法及设备 |
CN101986271A (zh) * | 2010-10-29 | 2011-03-16 | 中兴通讯股份有限公司 | 调度tcam查询和刷新消息的方法和装置 |
CN102256168A (zh) * | 2011-07-08 | 2011-11-23 | 宇龙计算机通信科技(深圳)有限公司 | 点播统计系统和点播统计方法 |
CN102270178A (zh) * | 2011-08-02 | 2011-12-07 | 中兴通讯股份有限公司 | 统计信息存储方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009436A (zh) * | 2017-12-21 | 2018-05-08 | 苏州国芯科技有限公司 | 一种soc芯片的多用户管理方法、系统及soc芯片 |
CN108009436B (zh) * | 2017-12-21 | 2020-08-28 | 苏州国芯科技股份有限公司 | 一种soc芯片的多用户管理方法、系统及soc芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN102880680A (zh) | 2013-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11947829B2 (en) | Data writing method, device, storage server, and computer readable storage medium | |
US20170364697A1 (en) | Data interworking method and data interworking device | |
CN106407190B (zh) | 一种事件记录查询方法及装置 | |
CN108111554B (zh) | 一种访问队列的控制方法及装置 | |
CN109032801A (zh) | 一种请求调度方法、系统及电子设备和存储介质 | |
CN103327072A (zh) | 一种集群负载均衡的方法及其系统 | |
CN103019853A (zh) | 一种作业任务的调度方法和装置 | |
CN103631538A (zh) | 冷热数据识别门限值计算方法、装置和系统 | |
CN109800558B (zh) | 密码服务板卡以及密码服务装置 | |
CN104182278B (zh) | 一种判定计算机硬件资源繁忙程度的方法和装置 | |
CN103136120A (zh) | 行缓冲管理策略确定方法和装置、bank划分方法和装置 | |
CN102929613A (zh) | 操作系统的调优装置和方法 | |
CN109117280A (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN104157065A (zh) | 一种网络投票方法和装置 | |
CN102880680B (zh) | 一种基于随机访问存储器的多用户统计方法 | |
CN109117279A (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN103455509A (zh) | 一种获取时间窗口模型参数的方法和系统 | |
CN110619006A (zh) | 基于物联网的统计数据管理方法、装置、平台和存储介质 | |
CN112286844B (zh) | 一种可适配业务地址映射的ddr4控制方法及装置 | |
CN109002381A (zh) | 进程通信监控方法、电子装置及计算机可读存储介质 | |
CN113760640A (zh) | 监控日志处理方法、装置、设备及存储介质 | |
CN108363773A (zh) | 一种基于二进制操作的签到方法及装置 | |
CN115269709B (zh) | 基于行情数据的查询及回放方法、装置、设备及介质 | |
CN111427887A (zh) | 一种快速扫描HBase分区表的方法、装置、系统 | |
CN114860460A (zh) | 一种数据库加速的方法、装置、计算机设备 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150812 Termination date: 20190911 |
|
CF01 | Termination of patent right due to non-payment of annual fee |