CN105119768A - 一种现场可编程门阵列fpga及数据存储方法 - Google Patents
一种现场可编程门阵列fpga及数据存储方法 Download PDFInfo
- Publication number
- CN105119768A CN105119768A CN201510366845.7A CN201510366845A CN105119768A CN 105119768 A CN105119768 A CN 105119768A CN 201510366845 A CN201510366845 A CN 201510366845A CN 105119768 A CN105119768 A CN 105119768A
- Authority
- CN
- China
- Prior art keywords
- statistical value
- level statistical
- stream level
- buffer memory
- stream
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种现场可编程门阵列FPGA及数据存储方法,FPGA中包括两级缓存,第一缓存和第二缓存,第一缓存溢出时,存储至第二缓存,提高了存储的用户数量,同时,由于FPGA的处理速度高于外部存储介质的处理速率,提高了流级统计速率,因此,本发明实施例提供的FPGA可以有效平衡流级用户数和流级速率,解决了现有技术中存在的流级统计过程中支持的流级用户数和流级速率之间无法平衡的缺陷。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种FPGA及数据存储方法。
背景技术
流级统计是流量分析里的重要部分,用于监测网络上的数据报文的数目、错包数、抖动、延迟、速率等一系列特征。数据报文发起以后,经路由器进行转发,以太网测试仪表对路由器转发的数据报文进行分析,以达到测试路由转发性能的目的,如图1所示。
目前,以太网端口已具备100Gbps甚至400Gbps的小字节(64Bytes)线速的处理能力,通用CPU(CentralProcessingUnit,中央处理单元)硬件无法匹配如此高的端口速率,也无法满足测试要求,因此,业界一般采用专用硬件FPGA(Field-ProgrammableGateArray,现场可编程门阵)实现高速、高精确度、高实时性的统计。
现有技术中,通常采用FPGA内部的BLOCKRAM或者REGISTER资源实现数据报文的流级统计,如果需统计的流级用户数较多,通常在FPGA外部连接存储器,如(SRAM(StaticRandomAccessMemory,静态随机存取存储器)、DRAM(DynamicRandomAccessMemory,动态随机存取存储器)等,采用“寻址+累加+存储”的方式进行统计,但其支持的流级统计速率和流级用户数之间无法平衡,如支持的流级统计速率高但流级用户数较少,或支持的流级用户数多但流级统计速率低。
发明内容
本发明实施例提供一种FPGA及数据存储方法,用以解决现有技术中存在的流级统计过程中支持的流级用户数和流级速率之间无法平衡的缺陷,即若支持的流级用户数较大时,流级统计速率较低;若支持的流级统计速率较高时,流级用户数较少。
第一方面,提供一种现场可编程门阵列FPGA,包括:
第一流级统计模块,用于在属于一级缓存的第一缓存中查找接收到的数据报文所属数据流的第一当前流级统计值,并根据所述第一当前流级统计值计算所述数据流的第一更新流级统计值;
溢出判断模块,用于判断将所述第一更新流级统计值存储到所述第一缓存中时是否溢出,并在判断结果为否时,将所述第一更新流级统计值替换所述第一缓存中存储的第一当前流级统计值;
第二流级统计模块,用于在所述溢出判断模块的判断结果为是时,根据所述第一更新流级统计值计算第二更新流级统计值,并将所述第二更新流级统计值存储至属于二级缓存的第二缓存中;
所述第一缓存的位宽小于所述第二缓存的位宽。
结合第一方面,在第一种可能的实现方式中,所述第一流级统计模块根据所述第一当前流级统计值计算所述数据流的第一更新流级统计值时,具体用于:
将所述第一当前流级统计值加1之和,作为所述第一更新流级统计值;或
确定属于所述数据流的未统计的数据报文的数量,将所述第一当前流级统计值与所述未统计的数据报文的数量之和,作为所述第一更新流级统计值。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一流级统计模块还用于:
确定与接收到的数据报文所属的数据流所对应的缓存标识ID;
将与所述缓存ID对应的缓存作为所述第一缓存。
结合第一方面,或者第一方面的第一种至第二种可能的实现方式,在第三种可能的实现方式中,所述第二流级统计模块,具体用于:
确定存在与所述数据流所对应的第二缓存,将所述第二缓存当前存储的数值作为第二当前流级统计值;
将所述第二当前流级统计值和所述第一更新流级统计值之和,作为所述第二更新流级统计值;
将所述第二更新流级统计值替换所述第二缓存中存储的第二当前流级统计值。
结合第一方面,或者第一方面的第一种至第二种可能的实现方式,在第四种可能的实现方式中,所述第二流级统计模块,具体用于:
在确定不存在与所述数据流所对应的第二缓存时,将所述第一更新流级统计值作为所述第二更新流级统计值;并添加与所述数据流对应的第二缓存,将所述第二更新流级统计值存储到所述第二缓存中。
结合第一方面,或者第一方面的第一种至第四种可能的实现方式,在第五种可能的实现方式中,还包括:
控制器,用于在确定满足预设条件时,针对所述数据流,将所述第一缓存和所述第二缓存中针对所述数据流的所有流级统计值之和,作为针对所述数据流的流级总统计值;
刷新模块,用于根据所述流级总统计值对动态随机存取存储器RAM中存储的针对所述数据流的流级统计值进行更新。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述刷新模块,具体用于:
确定所述动态RAM中针对所述数据流的第三当前流级统计值;
计算所述流级总统计值和所述第三当前流级统计值之和;
将所述动态RAM中存储的针对所述数据流的所述第三当前流级统计值用所述流级总统计值和所述第三当前流级统计值之和替换。
结合第一方面的第五种或者第六种可能的实现方式,在第七种可能的实现方式中,所述控制器,还用于在得到流级总统计值之后,将所述第一缓存和所述第二缓存的数值设置为0。
结合第一方面,或者第一方面的第一种至第四种可能的实现方式,在第八种可能的实现方式中,还包括:
随机存储存储器RAM读写调度模块,用于在确定满足预设条件时,从动态RAM中连续读取针对至少两个数据流分别对应的当前流级统计值;
流水线累加模块,用于针对所述至少两个当前流级统计值中的任意一当前流级统计值,确定包括所述第一缓存的一级缓存中与所述任意一当前流级统计值对应相同数据流的第一流级统计值,及包括所述第二缓存的二级缓存中与所述任意一当前流级统计值对应相同数据流的第二流级统计值,基于所述任意一当前流级统计值、所述第一流级统计值和所述第二流级次数之和,对所述任意一当前流级统计值进行更新;
所述RAM读写调度模块还用于,将所有更新后的流级统计值连续写入所述动态RAM。
结合第一方面的第八种可能的实现方式,在第九种可能的实现方式中,所述RAM读写调度模块,还用于在将所有更新后的流级统计值连续写入所述动态RAM之后,将所述一级缓存中存储与所述任意一当前流级统计值对应相同数据流的第一流级统计值的缓存,及所述二级缓存中存储与所述任意一当前流级统计值对应相同数据流的第二流级统计值的缓存的数值均设置为0。
结合第一方面的第五种至第九种可能的实现方式,在第十种可能的实现方式中,所述预设条件包括下述条件中的至少一个:
到达更新周期时间点、与所述第二流级统计模块对应的任意一缓存的位宽达到预设门限值、与所述与第一流级统计模块对应的所有缓存的数量达到预设门限值。
第二方面,提供一种数据存储方法,包括:
第一流级统计模块在属于一级缓存的第一缓存中查找接收到的数据报文所属数据流的第一当前流级统计值,并根据所述第一当前流级统计值计算所述数据流的第一更新流级统计值;
溢出判断模块判断将所述第一更新流级统计值存储到所述第一缓存中时是否溢出,并在判断结果为否时,将所述第一更新流级统计值替换所述第一缓存中存储的第一当前流级统计值;
第二流级统计模块在所述溢出判断模块的判断结果为是时,根据所述第一更新流级统计值计算第二更新流级统计值,并将所述第二更新流级统计值存储至属于二级缓存的第二缓存中;
所述第一缓存的位宽小于所述第二缓存的位宽。
结合第二方面,在第一种可能的实现方式中,所述第一流级统计模块根据所述第一当前流级统计值计算所述数据流的第一更新流级统计值时,具体为:
将所述第一当前流级统计值加1之和,作为所述第一更新流级统计值;或
确定属于所述数据流的未统计的数据报文的数量,将所述第一当前流级统计值与所述未统计的数据报文的数量之和,作为所述第一更新流级统计值。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一流级统计模块在属于一级缓存的第一缓存中查找接收到的数据报文所属数据流的第一当前流级统计值之前,还执行如下操作:
确定与接收到的数据报文所属的数据流所对应的缓存标识ID;
将与所述缓存ID对应的缓存作为所述第一缓存。
结合第二方面,或者第二方面的第一种至第二种可能的实现方式,在第三种可能的实现方式中,所述第二流级统计模块根据所述第一更新流级统计值计算第二更新流级统计值时,具体为:
确定存在与所述数据流所对应的第二缓存,将所述第二缓存当前存储的数值作为第二当前流级统计值;
将所述第二当前流级统计值和所述第一更新流级统计值之和,作为所述第二更新流级统计值;
所述第二流级统计模块将所述第二更新流级统计值存储至第二缓存中时,具体为:
将所述第二更新流级统计值替换所述第二缓存中存储的第二当前流级统计值。
结合第二方面,或者第二方面的第一种至第二种可能的实现方式,在第四种可能的实现方式中,所述第二流级统计模块根据所述第一更新流级统计值计算第二更新流级统计值时,具体为:
在确定不存在与所述数据流所对应的第二缓存时,将所述第一更新流级统计值作为所述第二更新流级统计值;
所述第二流级统计模块将所述第二更新流级统计值存储至第二缓存中时,具体为:
添加与所述数据流对应的第二缓存,将所述第二更新流级统计值存储到所述第二缓存中。
结合第二方面,或者第二方面的第一种至第四种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:
控制器在确定满足预设条件时,针对所述数据流,将所述第一缓存和所述第二缓存中针对所述数据流的所有流级统计值之和,作为针对所述数据流的流级总统计值;
刷新模块根据所述流级总统计值对动态随机存取存储器RAM中存储的针对所述数据流的流级统计值进行更新。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述刷新模块根据所述流级总统计值对动态随机存取存储器RAM中存储的针对所述数据流的流级统计值进行更新,具体为:
确定所述动态RAM中针对所述数据流的第三当前流级统计值;
计算所述流级总统计值和所述第三当前流级统计值之和;
将所述动态RAM中存储的针对所述数据流的所述第三当前流级统计值用所述流级总统计值和所述第三当前流级统计值之和替换。
结合第二方面的第五种或者第六种可能的实现方式,在第七种可能的实现方式中,所述方法还包括:
所述控制器在得到流级总统计值之后,将所述第一缓存和所述第二缓存的数值设置为0。
结合第二方面,或者第二方面的第一种至第四种可能的实现方式,在第八种可能的实现方式中,所述方法还包括:
随机存取存储器RAM读写调度模块在确定满足预设条件时,从动态RAM中连续读取针对至少两个数据流分别对应的当前流级统计值;
流水线累加模块针对所述至少两个当前流级统计值中的任意一当前流级统计值,确定包括所述第一缓存的一级缓存中与所述任意一当前流级统计值对应相同数据流的第一流级统计值,及包括所述第二缓存的二级缓存中与所述任意一当前流级统计值对应相同数据流的第二流级统计值,基于所述任意一当前流级统计值、所述第一流级统计值和所述第二流级次数之和,对所述任意一当前流级统计值进行更新;
所述RAM读写调度模块将所有更新后的流级统计值连续写入所述动态RAM。
结合第二方面的第八种可能的实现方式,在第九种可能的实现方式中,所述方法还包括:
所述RAM读写调度模块在将所有更新后的流级统计值连续写入所述动态RAM之后,将所述一级缓存中存储与所述任意一当前流级统计值对应相同数据流的第一流级统计值的缓存,及所述二级缓存中存储与所述任意一当前流级统计值对应相同数据流的第二流级统计值的缓存的数值均设置为0。
结合第二方面的第五种至第九种可能的实现方式,在第十种可能的实现方式中,所述预设条件包括下述条件中的至少一个:
到达更新周期时间点、与所述第二流级统计模块对应的任意一缓存的位宽达到预设门限值、与所述与第一流级统计模块对应的所有缓存的数量达到预设门限值。
本发明实施例中,FPGA中包括两级缓存,第一缓存和第二缓存,第一缓存溢出时,存储至第二缓存,提高了存储的用户数量,同时,由于FPGA的处理速度高于外部存储介质的处理速率,提高了流级统计速率,因此,本发明实施例提供的FPGA可以有效平衡流级用户数和流级速率,解决了现有技术中存在的流级统计过程中支持的流级用户数和流级速率之间无法平衡的缺陷。
附图说明
图1为现有技术中流量流级统计的示意图;
图2A为本发明实施例中FPGA的一种示意图;
图2B为本发明实施例中FPGA的另一种示意图;
图2C为本发明实施例中FPGA的另一种示意图;
图3为本发明实施例中数据存储的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合说明书附图对本发明优选的实施方式进行详细说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面结合附图对本发明实施例进行详细说明。
本发明实施例提供一种FPGA,参阅图2A所示,包括第一流级统计模块1、溢出判断模块2和第二流级统计模块3,其中:
第一流级统计模块1,用于在属于一级缓存的第一缓存中查找接收到的数据报文所属数据流的第一当前流级统计值,并根据第一当前流级统计值计算数据流的第一更新流级统计值;
溢出判断模块2,用于判断将第一更新流级统计值存储到第一缓存中时是否溢出,并在判断结果为否时,将第一更新流级统计值替换第一缓存中存储的第一当前流级统计值;
第二流级统计模块3,用于在溢出判断模块2的判断结果为是时,根据第一更新流级统计值计算第二更新流级统计值,并将第二更新流级统计值存储至属于二级缓存的第二缓存中;
第一缓存的位宽小于第二缓存的位宽。
在本发明实施例中,由于针对每一个数据流的流级统计值是先存储在FPGA的第一缓存中,当第一缓存溢出时,再存储至第二缓存中,当第二缓存溢出时,再存储至动态RAM中,不是直接缓存至动态RAM中,而FPGA的处理速度远远高于动态RAM的处理速度,因此,针对高速率的以太网端口,本发明实施例提出的FPGA可以解决现有技术中存在的流级统计过程中不能同时支持较多的流级用户数和较高的流级统计速率的问题。
例如,第一缓存的位宽为8bit,第二缓存的位宽为16bit,接收到一个数据报文后,确定针对该数据报文所属数据流的第一更新流级统计值,如果第一更新流级统计值为280,第一缓存的位宽为8bit,已经无法表示280这个十进制的数值,此时,确定第一缓存存储280时会溢出,而第二缓存的位宽为16bit,表示280这个十进制的数值,因此,可以将第二缓存中针对该数据流的当前流级统计值用280替换。如果第一缓存中针对该数据流的第一当前流级统计值为179,第一更新流级统计值为180,由于第一缓存的位宽为8bit,可以表示180这个十进制的数值,此时,确定第一缓存存储180时会不溢出,因此,可以用180代替179作为第一缓存中针对该数据流的流级统计值进行存储。
本发明实施例中,第一流级统计模块1根据第一当前流级统计值计算数据流的第一更新流级统计值时,具体可以采用如下方式:
将第一当前流级统计值加1之和,作为第一更新流级统计值。
例如:针对数据流1,假设之前还没有接收到接收到针对数据流1的数据报文,来了数据报文1后,计算一次第一更新流级统计值,计算得出的第一更新流级统计值为1,来了数据报文2后,再重新计算第一更新流级统计值,计算得出的第一更新流级统计值为2,来了数据报文3后,再重新计算第一更新流级统计值,计算得出的第一更新流级统计值为3,依次类推,来了数据报文10后,再重新计算第一更新流级统计值,计算得出的第一更新流级统计值为10,也就是说,针对数据流1,来了一个数据报文后,都要进行第一更新流级统计值的计算。
本发明实施例中,第一流级统计模块1在根据第一当前流级统计值计算数据流的第一更新流级统计值时,针对任意一数据流,接收到针对该任意一数据流的每一个数据报文后,都要计算针对该任意一数据流的第一更新流级统计值,这样在实际应用中,会存在流级统计效率较低的缺陷,因此,为了更进一步提高流级统计的效率,本发明实施例中,针对任意一数据流,在接收到针对该任意一数据流的一定数目的数据报文后,再计算针对该任意一数据流的第一更新流级统计值。
因此,本发明实施例中,第一流级统计模块1根据第一当前流级统计值计算数据流的第一更新流级统计值时,也可以采用如下方式:
确定属于数据流的未统计的数据报文的数量,将第一当前流级统计值与未统计的数据报文的数量之和,作为第一更新流级统计值。
又例如:针对数据流1,假设之前还没有接收到接收到针对数据流1的数据报文,来了数据报文1后,不需要计算一次第一更新流级统计值,来了数据报文2后,也不需要计算第一更新流级统计值,来了数据报文3后,也不需要计算第一更新流级统计值,依次类推,来了数据报文10后,再计算第一更新流级统计值,计算得出的第一更新流级统计值为10,也就是说,针对数据流1,不是每来一个数据报文后,都要进行第一更新流级统计值的计算,而是来了十个数据报文后,才进行第一更新流级统计值的计算,因此,可以提高流级统计效率。
本发明实施例中,可能存储针对多个数据流的流级统计值,此时,如果数据流的流级统计值用缓存来记录的话,此时,包括第一缓存的一级缓存中可能存在多个第一缓存,第一缓存1、第一缓存2、……、第一缓存n,不同的第一缓存存储不同的数据流的流级统计值,此时,第一流级统计模块1还用于:
确定与接收到的数据报文所属的数据流所对应的缓存ID(Identity,标识);
将与缓存ID对应的缓存作为第一缓存。
本发明实施例中,第二流级统计模块3在存储第一更新流级统计值的时候,已经有存储了针对该数据流的流级统计值的第二缓存,因此,可选的第二流级统计模块3具体用于:
确定存在与数据流所对应的第二缓存,将第二缓存当前存储的数值作为第二当前流级统计值;
将第二当前流级统计值和第一更新流级统计值之和,作为第二更新流级统计值;
将第二更新流级统计值替换第二缓存中存储的第二当前流级统计值。
例如,第一缓存的位宽为8bit,第二缓存的位宽为16bit,接收到一个数据报文后,确定出针对该数据报文所属数据流的第一更新流级统计值为280,第一缓存的位宽为8bit,已经无法表示280这个十进制的数值,此时,确定第一缓存存储280时会溢出,而第二缓存的位宽为16bit,表示280这个十进制的数值,因此,可以将280存储至第二缓存,但是,第二缓存中已经存储了针对该数据流的第二当前流级统计值为260,此时,要计算260和280之和,并将260和280之和540作为第二更新流级统计值,并将540替换260在第二缓存中进行存储。
上述讲述的是,第二流级统计模块3在存储第一更新流级统计值的时候,已经有第二缓存存储了针对该数据流的流级统计值,当然,在实际应用中,在存储第一更新流级统计值的时候,还没有存储针对该数据流的流级统计值的第二缓存,因此,本发明实施例中,可选的,第二流级统计模块3,具体用于:
在确定不存在与数据流所对应的第二缓存时,将第一更新流级统计值作为第二更新流级统计值;并添加与数据流对应的第二缓存,将第二更新流级统计值存储到第二缓存中。
例如,第一缓存的位宽为8bit,接收到一个数据报文后,确定出针对该数据报文所属数据流的第一更新流级统计值为280,第一缓存的位宽为8bit,已经无法表示280这个十进制的数值,此时,确定第一缓存存储280时会溢出,而二级缓存中的第二缓存的位宽为16bit,表示280这个十进制的数值,因此,可以将280存储至二级缓存中的第二缓存中,此时,如果二级缓存中还没有存储针对该数据流的第二当前流级统计值的第二缓存时,此时,直接将280作为第二更新流级统计值,并确定出一个第二缓存,及将该第二缓存的数值设置为280。
由于一级缓存和第二缓存的存储空间也是有限的,因此,为了保证一级缓存和二级缓存能继续存储流级统计值,在一定条件下,要将一级缓存和第二缓存中针对任意一数据流的流级统计之和迁移至动态RAM(Random-AccessMemory,随机存取存储器)中,因此,FPGA还包括如下器件,如图2B所示:
控制器4,用于在确定满足预设条件时,针对数据流,将第一缓存和第二缓存中针对数据流的所有流级统计值之和,作为针对数据流的流级总统计值;
刷新模块5,用于根据流级总统计值对动态随机存取存储器RAM中存储的针对数据流的流级统计值进行更新。
本发明实施例中,刷新模块5根据流级总统计值对动态随机存取存储器RAM中存储的针对数据流的流级统计值进行更新时,还要看动态RAM中是否已经记录了针对该数据流的流级统计值,如果已经记录了针对该数据流的流级统计值的话,要将动态RAM中记录的针对数据流的当前流级统计值和流级总统计值之和,替换动态RAM中记录的针对数据流的当前流级统计值。
因此,可选的,刷新模块5,具体用于:
确定动态RAM中针对数据流的第三当前流级统计值;
计算流级总统计值和第三当前流级统计值之和;
将动态RAM中存储的针对数据流的第三当前流级统计值用流级总统计值和第三当前流级统计值之和替换。
例如,针对数据流1,第一缓存中针对数据流1的流级统计值为流级统计值1,第二缓存中针对数据流1的流级统计值为流级统计值2,将流级统计值1和流级统计值2作为针对数据流1的流级总统计值,此时,动态RAM中存储的针对数据流1的第三当前流级统计值为流级统计值3,则将流级统计值1、流级统计值2和流级统计值3之和替换动态RAM中存储的针对数据流1的流级统计值3。
本发明实施例中,为了提高流级统计的准确度,将第一缓存和/或第二缓存中的流级统计值迁移至动态RAM后,控制器4将第一缓存和第二缓存的数值设置为0。
为了提高流级统计速率,如图2C所示,还包括如下模块:
RAM读写调度模块6,用于在确定满足预设条件时,从动态RAM中连续读取针对至少两个数据流分别对应的当前流级统计值;
流水线累加模块7,用于针对至少两个当前流级统计值中的任意一当前流级统计值,确定包括第一缓存的一级缓存中与任意一当前流级统计值对应相同数据流的第一流级统计值,及包括第二缓存的二级缓存中与任意一当前流级统计值对应相同数据流的第二流级统计值,基于任意一当前流级统计值、第一流级统计值和第二流级次数之和,对任意一当前流级统计值进行更新;
RAM读写调度模块6还用于,将所有更新后的流级统计值连续写入动态RAM。
也就是说,为了提高将第一缓存和/或第二缓存中的流级统计值迁移至动态RAM的效率,在将第一缓存和/或第二流缓存中的流级统计值搬迁至动态RAM中时,可以先将动态RAM中针对每一个数据流的当前流级统计值一次性进行读取,然后,将针对各个数据流的当前流级统计值进行更新,将针对所有数据流的当前流级统计值更新后,再一次性全部写入动态RAM。
例如:共有10个数据流,数据流1、数据流2、数据流3、……、数据流10,在从动态RAM中读取针对10个数据流的时,可以一次性将针对10个数据流的当前流级统计值全称读取:针对数据流1的当前流级统计值为流级统计值1、针对数据流2的当前流级统计值为流级统计值2、针对数据流3的当前流级统计值为流级统计值3、针对数据流4的当前流级统计值为流级统计值4、针对数据流10的当前流级统计值为流级统计值10,第一缓存和第二缓存中针对数据流1的流级统计值之和为流级总统计值1、第一缓存和第二缓存中针对数据流2的流级统计值之和为流级总统计值2、第一缓存和第二缓存中针对数据流3的流级统计值之和为流级总统计值3、……、第一缓存和第二缓存中针对数据流10的流级统计值之和为流级总统计值10,将流级统计值1和流级总统计值1之和对流级统计值1进行更新、将流级统计值2和流级总统计值2之和对流级统计值2进行更新、……、将流级统计值10和流级总统计值10之和对流级统计值10进行更新,将流级统计值1至流级统计值10全部更新后,将更新后的流级统计值一次性写入动态RAM。
上述讲述的是从动态RAM中一次性读取针对至少两个数据流的当前流级统计值,然后,将更新后的针对至少两个数据流的当前流级统计值一次性写入动态RAM中,当然,在实际应用中,也可以是针对一个数据流,读取一次当前流级统计值,更新针对该数据流的当前流级统计值后,写入动态RAM,针对多个数据流的话,要执行多次从动态RAM中读取当前流级统计值的操作,及将更新后的当前流级统计值写入动态RAM的操作。
又例如:共有10个数据流,数据流1、数据流2、数据流3、……、数据流10,在从动态RAM中读取针对10个数据流的时,先读取出针对数据流1的当前流级统计值为流级统计值1,然后计算第一缓存和第二缓存中针对数据流1的流级统计值之和为流级总统计值1,将流级统计值1和流级总统计值1之和对流级统计值1进行更新,将更新后的流级统计值1写入动态RAM;再读取出针对数据流2的当前流级统计值为流级统计值2,然后计算第一缓存和第二流缓存中针对数据流2的流级统计值之和为流级总统计值2,将流级统计值2和第一流级总统计值2之和对流级统计值2进行更新,将更新后的流级统计值2写入动态RAM,针对数据流,3至数据流10均执行上述过程,也就是说,从动态RAM中需要读取10次当前流级统计值,并要将更新后的当前流级统计值分10次写入到动态RAM中。
本发明实施例中,为了提高流级统计的准确度,RAM读写调度模块6,还用于在将所有更新后的流级统计值连续写入动态RAM之后,将一级缓存中存储与任意一当前流级统计值对应相同数据流的第一流级统计值的缓存,及二级缓存中存储与任意一当前流级统计值对应相同数据流的第二流级统计值的缓存的数值均设置为0。
本发明实施例中,可选的,预设条件包括下述条件中的至少一个:
到达更新周期时间点、与第二流级统计模块对应的任意一缓存的位宽达到预设门限值、与与第一流级统计模块对应的所有缓存的数量达到预设门限值。
例如,针对数据流1,在更新周期时间点到达时,第一缓存中针对数据流1的流级统计值为流级统计值1,第二缓存中针对数据流1的流级统计值为流级统计值2,将流级统计值1和流级统计值2作为针对数据流1的流级总统计值,并根据流级总统计值对动态RAM中存储的针对数据报文的流级统计值进行更新。
本发明实施例中,第二缓存可以为FPGA中的BLOCKRAM或REGISTER等资源,也可以是FPGA片外的SRAM或者QDR(QuadDataRate,4倍数据倍率)等其他静态RAM工艺的存储芯片。
参阅图3所示,本发明实施例还提出一种数据存储方法,该方法的流程如下:
步骤300:第一流级统计模块1在属于一级缓存的第一缓存中查找接收到的数据报文所属数据流的第一当前流级统计值,并根据第一当前流级统计值计算数据流的第一更新流级统计值;
步骤310:溢出判断模块2判断将第一更新流级统计值存储到第一缓存中时是否溢出,并在判断结果为否时,将第一更新流级统计值替换第一缓存中存储的第一当前流级统计值;
步骤320:第二流级统计模块3在溢出判断模块2的判断结果为是时,根据第一更新流级统计值计算第二更新流级统计值,并将第二更新流级统计值存储至属于二级缓存的第二缓存中;第一缓存的位宽小于第二缓存的位宽。
本发明实施例中,第一流级统计模块1根据第一当前流级统计值计算数据流的第一更新流级统计值时,可选的,可以采取如下方式:
将第一当前流级统计值加1之和,作为第一更新流级统计值,这种计算方式也就是说,每接收到一个数据报文后,都要进行一次计算,但是,在应用中,这种计算方式效率较低,进一步的,为了提高计算速率,也可以采用如下方式:
确定属于数据流的未统计的数据报文的数量,将第一当前流级统计值与未统计的数据报文的数量之和,作为第一更新流级统计值。
本发明实施例中,第一流级统计模块1在属于一级缓存的第一缓存中查找接收到的数据报文所属数据流的第一当前流级统计值之前,还执行如下操作:
确定与接收到的数据报文所属的数据流所对应的缓存ID;
将与缓存ID对应的缓存作为第一缓存。
本发明实施例中,第二流级统计模块3根据第一更新流级统计值计算第二更新流级统计值时,可选的,可以采用如下方式:
确定存在与数据流所对应的第二缓存,将第二缓存当前存储的数值作为第二当前流级统计值;
将第二当前流级统计值和第一更新流级统计值之和,作为第二更新流级统计值;
第二流级统计模块3将第二更新流级统计值存储至第二缓存中时,可选的,可以采用如下方式:
将第二更新流级统计值替换第二缓存中存储的第二当前流级统计值。
本发明实施例中,第二流级统计模块3根据第一更新流级统计值计算第二更新流级统计值时,可选的,可以采用如下方式:
在确定不存在与数据流所对应的第二缓存时,将第一更新流级统计值作为第二更新流级统计值;
第二流级统计模块3将第二更新流级统计值存储至第二缓存中时,具体为:
添加与数据流对应的第二缓存,将第二更新流级统计值存储到第二缓存中。
本发明实施例中,进一步的,方法还包括:
控制器4在确定满足预设条件时,针对数据流,将第一缓存和第二缓存中针对数据流的所有流级统计值之和,作为针对数据流的流级总统计值;
刷新模块5根据流级总统计值对动态RAM中存储的针对数据流的流级统计值进行更新。
其中,可选的,刷新模块5根据流级总统计值对动态RAM中存储的针对数据流的流级统计值进行更新时,可选的,可以采用如下方式:
确定动态RAM中针对数据流的第三当前流级统计值;
计算流级总统计值和第三当前流级统计值之和;
将动态RAM中存储的针对数据流的第三当前流级统计值用流级总统计值和第三当前流级统计值之和替换。
进一步的,为了提高流级统计的准确度,方法还包括如下操作:
控制器4在得到流级总统计值之后,将第一缓存和第二缓存的数值设置为0。
本发明实施例中,在一定条件下还要将一级缓存和二级缓存中的流级统计值迁移至动态RAM在中,因此,方法还包括:
RAM读写调度模块6在确定满足预设条件时,从动态RAM中连续读取针对至少两个数据流分别对应的当前流级统计值;
流水线累加模块7针对至少两个当前流级统计值中的任意一当前流级统计值,确定包括第一缓存的一级缓存中与任意一当前流级统计值对应相同数据流的第一流级统计值,及包括第二缓存的二级缓存中与任意一当前流级统计值对应相同数据流的第二流级统计值,基于任意一当前流级统计值、第一流级统计值和第二流级次数之和,对任意一当前流级统计值进行更新;
RAM读写调度模块6将所有更新后的流级统计值连续写入动态RAM。
本发明实施例中,进一步的,为了提高流级统计的准确度,方法还包括如下操作:
RAM读写调度模块6在将所有更新后的流级统计值连续写入动态RAM之后,将一级缓存中存储与任意一当前流级统计值对应相同数据流的第一流级统计值的缓存,及二级缓存中存储与任意一当前流级统计值对应相同数据流的第二流级统计值的缓存的数值均设置为0。
本发明实施例中,可选的,预设条件包括下述条件中的至少一个:
到达更新周期时间点、与第二流级统计模块对应的任意一缓存的位宽达到预设门限值、与与第一流级统计模块对应的所有缓存的数量达到预设门限值。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (22)
1.一种现场可编程门阵列FPGA,其特征在于,包括:
第一流级统计模块,用于在属于一级缓存的第一缓存中查找接收到的数据报文所属数据流的第一当前流级统计值,并根据所述第一当前流级统计值计算所述数据流的第一更新流级统计值;
溢出判断模块,用于判断将所述第一更新流级统计值存储到所述第一缓存中时是否溢出,并在判断结果为否时,将所述第一更新流级统计值替换所述第一缓存中存储的第一当前流级统计值;
第二流级统计模块,用于在所述溢出判断模块的判断结果为是时,根据所述第一更新流级统计值计算第二更新流级统计值,并将所述第二更新流级统计值存储至属于二级缓存的第二缓存中;
所述第一缓存的位宽小于所述第二缓存的位宽。
2.如权利要求1所述的FPGA,其特征在于,所述第一流级统计模块根据所述第一当前流级统计值计算所述数据流的第一更新流级统计值时,具体用于:
将所述第一当前流级统计值加1之和,作为所述第一更新流级统计值;或
确定属于所述数据流的未统计的数据报文的数量,将所述第一当前流级统计值与所述未统计的数据报文的数量之和,作为所述第一更新流级统计值。
3.如权利要求2所述的FPGA,其特征在于,所述第一流级统计模块还用于:
确定与接收到的数据报文所属的数据流所对应的缓存标识ID;
将与所述缓存ID对应的缓存作为所述第一缓存。
4.如权利要求1-3任一项所述的FPGA,其特征在于,所述第二流级统计模块,具体用于:
确定存在与所述数据流所对应的第二缓存,将所述第二缓存当前存储的数值作为第二当前流级统计值;
将所述第二当前流级统计值和所述第一更新流级统计值之和,作为所述第二更新流级统计值;
将所述第二更新流级统计值替换所述第二缓存中存储的第二当前流级统计值。
5.如权利要求1-3任一项所述的FPGA,其特征在于,所述第二流级统计模块,具体用于:
在确定不存在与所述数据流所对应的第二缓存时,将所述第一更新流级统计值作为所述第二更新流级统计值;并添加与所述数据流对应的第二缓存,将所述第二更新流级统计值存储到所述第二缓存中。
6.如权利要求1-5任一项所述的FPGA,其特征在于,还包括:
控制器,用于在确定满足预设条件时,针对所述数据流,将所述第一缓存和所述第二缓存中针对所述数据流的所有流级统计值之和,作为针对所述数据流的流级总统计值;
刷新模块,用于根据所述流级总统计值对动态随机存取存储器RAM中存储的针对所述数据流的流级统计值进行更新。
7.如权利要求6所述的FPGA,其特征在于,所述刷新模块,具体用于:
确定所述动态随机存取存储器RAM中针对所述数据流的第三当前流级统计值;
计算所述流级总统计值和所述第三当前流级统计值之和;
将所述动态RAM中存储的针对所述数据流的所述第三当前流级统计值用所述流级总统计值和所述第三当前流级统计值之和替换。
8.如权利要求6或7所述的FPGA,其特征在于,所述控制器,还用于在得到流级总统计值之后,将所述第一缓存和所述第二缓存的数值设置为0。
9.如权利要求1-5任一项所述的FPGA,其特征在于,还包括:
随机存取存储器RAM读写调度模块,用于在确定满足预设条件时,从动态RAM中连续读取针对至少两个数据流分别对应的当前流级统计值;
流水线累加模块,用于针对所述至少两个当前流级统计值中的任意一当前流级统计值,确定包括所述第一缓存的一级缓存中与所述任意一当前流级统计值对应相同数据流的第一流级统计值,及包括所述第二缓存的二级缓存中与所述任意一当前流级统计值对应相同数据流的第二流级统计值,基于所述任意一当前流级统计值、所述第一流级统计值和所述第二流级次数之和,对所述任意一当前流级统计值进行更新;
所述RAM读写调度模块还用于,将所有更新后的流级统计值连续写入所述动态RAM。
10.如权利要求9所述的FPGA,其特征在于,所述RAM读写调度模块,还用于在将所有更新后的流级统计值连续写入所述动态RAM之后,将所述一级缓存中存储与所述任意一当前流级统计值对应相同数据流的第一流级统计值的缓存,及所述二级缓存中存储与所述任意一当前流级统计值对应相同数据流的第二流级统计值的缓存的数值均设置为0。
11.如权利要求6-10任一项所述的FPGA,其特征在于,所述预设条件包括下述条件中的至少一个:
到达更新周期时间点、与所述第二流级统计模块对应的任意一缓存的位宽达到预设门限值、与所述与第一流级统计模块对应的所有缓存的数量达到预设门限值。
12.一种数据存储方法,其特征在于,包括:
第一流级统计模块在属于一级缓存的第一缓存中查找接收到的数据报文所属数据流的第一当前流级统计值,并根据所述第一当前流级统计值计算所述数据流的第一更新流级统计值;
溢出判断模块判断将所述第一更新流级统计值存储到所述第一缓存中时是否溢出,并在判断结果为否时,将所述第一更新流级统计值替换所述第一缓存中存储的第一当前流级统计值;
第二流级统计模块在所述溢出判断模块的判断结果为是时,根据所述第一更新流级统计值计算第二更新流级统计值,并将所述第二更新流级统计值存储至属于二级缓存的第二缓存中;
所述第一缓存的位宽小于所述第二缓存的位宽。
13.如权利要求12所述的方法,其特征在于,所述第一流级统计模块根据所述第一当前流级统计值计算所述数据流的第一更新流级统计值时,具体为:
将所述第一当前流级统计值加1之和,作为所述第一更新流级统计值;或
确定属于所述数据流的未统计的数据报文的数量,将所述第一当前流级统计值与所述未统计的数据报文的数量之和,作为所述第一更新流级统计值。
14.如权利要求13所述的方法,其特征在于,所述第一流级统计模块在属于一级缓存的第一缓存中查找接收到的数据报文所属数据流的第一当前流级统计值之前,还执行如下操作:
确定与接收到的数据报文所属的数据流所对应的缓存标识ID;
将与所述缓存ID对应的缓存作为所述第一缓存。
15.如权利要求12-14任一项所述的方法,其特征在于,所述第二流级统计模块根据所述第一更新流级统计值计算第二更新流级统计值时,具体为:
确定存在与所述数据流所对应的第二缓存,将所述第二缓存当前存储的数值作为第二当前流级统计值;
将所述第二当前流级统计值和所述第一更新流级统计值之和,作为所述第二更新流级统计值;
所述第二流级统计模块将所述第二更新流级统计值存储至第二缓存中时,具体为:
将所述第二更新流级统计值替换所述第二缓存中存储的第二当前流级统计值。
16.如权利要求12-14任一项所述的方法,其特征在于,所述第二流级统计模块根据所述第一更新流级统计值计算第二更新流级统计值时,具体为:
在确定不存在与所述数据流所对应的第二缓存时,将所述第一更新流级统计值作为所述第二更新流级统计值;
所述第二流级统计模块将所述第二更新流级统计值存储至第二缓存中时,具体为:
添加与所述数据流对应的第二缓存,将所述第二更新流级统计值存储到所述第二缓存中。
17.如权利要求12-16任一项所述的方法,其特征在于,所述方法还包括:
控制器在确定满足预设条件时,针对所述数据流,将所述第一缓存和所述第二缓存中针对所述数据流的所有流级统计值之和,作为针对所述数据流的流级总统计值;
刷新模块根据所述流级总统计值对动态随机存取存储器RAM中存储的针对所述数据流的流级统计值进行更新。
18.如权利要求17所述的方法,其特征在于,所述刷新模块根据所述流级总统计值对动态随机存取存储器RAM中存储的针对所述数据流的流级统计值进行更新,具体为:
确定所述动态RAM中针对所述数据流的第三当前流级统计值;
计算所述流级总统计值和所述第三当前流级统计值之和;
将所述动态RAM中存储的针对所述数据流的所述第三当前流级统计值用所述流级总统计值和所述第三当前流级统计值之和替换。
19.如权利要求17或18所述的方法,其特征在于,所述方法还包括:
所述控制器在得到流级总统计值之后,将所述第一缓存和所述第二缓存的数值设置为0。
20.如权利要求12-16任一项所述的方法,其特征在于,所述方法还包括:
随机存储存储器RAM读写调度模块在确定满足预设条件时,从动态RAM中连续读取针对至少两个数据流分别对应的当前流级统计值;
流水线累加模块针对所述至少两个当前流级统计值中的任意一当前流级统计值,确定包括所述第一缓存的一级缓存中与所述任意一当前流级统计值对应相同数据流的第一流级统计值,及包括所述第二缓存的二级缓存中与所述任意一当前流级统计值对应相同数据流的第二流级统计值,基于所述任意一当前流级统计值、所述第一流级统计值和所述第二流级次数之和,对所述任意一当前流级统计值进行更新;
所述RAM读写调度模块将所有更新后的流级统计值连续写入所述动态RAM。
21.如权利要求20所述的方法,其特征在于,所述方法还包括:
所述RAM读写调度模块在将所有更新后的流级统计值连续写入所述动态RAM之后,将所述一级缓存中存储与所述任意一当前流级统计值对应相同数据流的第一流级统计值的缓存,及所述二级缓存中存储与所述任意一当前流级统计值对应相同数据流的第二流级统计值的缓存的数值均设置为0。
22.如权利要求17-21任一项所述的方法,其特征在于,所述预设条件包括下述条件中的至少一个:
到达更新周期时间点、与所述第二流级统计模块对应的任意一缓存的位宽达到预设门限值、与所述与第一流级统计模块对应的所有缓存的数量达到预设门限值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510366845.7A CN105119768A (zh) | 2015-06-26 | 2015-06-26 | 一种现场可编程门阵列fpga及数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510366845.7A CN105119768A (zh) | 2015-06-26 | 2015-06-26 | 一种现场可编程门阵列fpga及数据存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105119768A true CN105119768A (zh) | 2015-12-02 |
Family
ID=54667666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510366845.7A Pending CN105119768A (zh) | 2015-06-26 | 2015-06-26 | 一种现场可编程门阵列fpga及数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105119768A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509355A (zh) * | 2018-03-31 | 2018-09-07 | 北京联想核芯科技有限公司 | 一种用于SSD的SLC Cache的方法和装置 |
CN110321997A (zh) * | 2018-03-31 | 2019-10-11 | 北京深鉴智能科技有限公司 | 高并行度计算平台、系统及计算实现方法 |
CN110471943A (zh) * | 2018-05-09 | 2019-11-19 | 北京京东尚科信息技术有限公司 | 实时数据统计装置和方法以及计算机可读存储介质 |
CN111654886A (zh) * | 2020-05-27 | 2020-09-11 | 杭州迪普科技股份有限公司 | 一种限制用户带宽的方法和装置 |
CN112486585A (zh) * | 2017-11-03 | 2021-03-12 | 华为技术有限公司 | 恢复fpga芯片中的逻辑的方法、系统和fpga设备 |
CN113836048A (zh) * | 2021-09-17 | 2021-12-24 | 许昌许继软件技术有限公司 | 一种基于fpga内存动态分配的数据交换方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501622A (zh) * | 2002-11-14 | 2004-06-02 | ��Ϊ��������˾ | Ip设备的网络流量统计方法 |
CN1968206A (zh) * | 2006-09-20 | 2007-05-23 | 杭州华为三康技术有限公司 | 在多核系统中进行全局统计的方法和装置 |
CN101515898A (zh) * | 2009-03-25 | 2009-08-26 | 华为技术有限公司 | 芯片的统计数据的管理方法和装置 |
CN102203748A (zh) * | 2009-11-17 | 2011-09-28 | 华为技术有限公司 | 一种高速计数器处理方法及计数器 |
CN102497287A (zh) * | 2011-12-12 | 2012-06-13 | 盛科网络(苏州)有限公司 | 一种以太网交换芯片中实现节能统计的方法及系统 |
-
2015
- 2015-06-26 CN CN201510366845.7A patent/CN105119768A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501622A (zh) * | 2002-11-14 | 2004-06-02 | ��Ϊ��������˾ | Ip设备的网络流量统计方法 |
CN1968206A (zh) * | 2006-09-20 | 2007-05-23 | 杭州华为三康技术有限公司 | 在多核系统中进行全局统计的方法和装置 |
CN101515898A (zh) * | 2009-03-25 | 2009-08-26 | 华为技术有限公司 | 芯片的统计数据的管理方法和装置 |
CN102203748A (zh) * | 2009-11-17 | 2011-09-28 | 华为技术有限公司 | 一种高速计数器处理方法及计数器 |
CN102497287A (zh) * | 2011-12-12 | 2012-06-13 | 盛科网络(苏州)有限公司 | 一种以太网交换芯片中实现节能统计的方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486585A (zh) * | 2017-11-03 | 2021-03-12 | 华为技术有限公司 | 恢复fpga芯片中的逻辑的方法、系统和fpga设备 |
CN112486585B (zh) * | 2017-11-03 | 2024-01-02 | 超聚变数字技术有限公司 | 恢复fpga芯片中的逻辑的方法、系统和fpga设备 |
CN108509355A (zh) * | 2018-03-31 | 2018-09-07 | 北京联想核芯科技有限公司 | 一种用于SSD的SLC Cache的方法和装置 |
CN110321997A (zh) * | 2018-03-31 | 2019-10-11 | 北京深鉴智能科技有限公司 | 高并行度计算平台、系统及计算实现方法 |
CN110471943A (zh) * | 2018-05-09 | 2019-11-19 | 北京京东尚科信息技术有限公司 | 实时数据统计装置和方法以及计算机可读存储介质 |
CN110471943B (zh) * | 2018-05-09 | 2024-09-20 | 北京京东尚科信息技术有限公司 | 实时数据统计装置和方法以及计算机可读存储介质 |
CN111654886A (zh) * | 2020-05-27 | 2020-09-11 | 杭州迪普科技股份有限公司 | 一种限制用户带宽的方法和装置 |
CN113836048A (zh) * | 2021-09-17 | 2021-12-24 | 许昌许继软件技术有限公司 | 一种基于fpga内存动态分配的数据交换方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105119768A (zh) | 一种现场可编程门阵列fpga及数据存储方法 | |
Su et al. | Redundant rule detection for software-defined networking | |
CN107391031B (zh) | 一种基于混合存储的计算系统中的数据迁移方法及装置 | |
CN107566206A (zh) | 一种流量测量方法、设备及系统 | |
CN108337699B (zh) | 一种上网的方法、装置、移动终端及存储介质 | |
CN112925637A (zh) | 用于一边缘运算网络的负载平衡装置及方法 | |
CN106910528A (zh) | 一种固态硬盘数据巡检的优化方法及装置 | |
CN105573711B (zh) | 一种数据缓存方法及装置 | |
CN108062235B (zh) | 数据处理方法及装置 | |
CN108037725B (zh) | 一种读写plc数据的方法和装置 | |
CN112367384B (zh) | 基于Kafka集群的动态限速方法、装置以及计算机设备 | |
CN109587072A (zh) | 分布式系统全局限速系统及方法 | |
CN108519987A (zh) | 一种数据持久化方法和装置 | |
CN107995032B (zh) | 一种基于云数据中心搭建网络实验平台的方法及装置 | |
CN105095104A (zh) | 数据缓存处理方法及装置 | |
CN104375946A (zh) | 一种数据处理的方法及装置 | |
CN106411545A (zh) | 一种业务属性的计数方法及装置 | |
CN104281587B (zh) | 一种建立连接的方法及装置 | |
CN106557535B (zh) | 一种大数据级Pcap文件的处理方法及系统 | |
CN115361332B (zh) | 容错路由的处理方法及装置、处理器和电子设备 | |
CN115482869A (zh) | 一种注错测试方法、装置、电子设备及存储介质 | |
CN115811483A (zh) | 一种网络状态监测方法、装置、电子设备和存储介质 | |
CN115514800A (zh) | 一种设备网络连接方法、装置、电子设备、服务器及系统 | |
CN114979236A (zh) | 数据传输方法、装置、存储介质以及电子设备 | |
CN110674170B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151202 |