一种用户流量的生成方法及装置的制造方法_2

文档序号:9455844阅读:来源:国知局
公开的一种用户报文的分组示意图;
[0046]图7是本发明实施例公开的一种用户报文缓存中缓存的用户报文数量与时间的对应关系图;
[0047]图8是本发明实施例公开的一种用户流量的生成装置的结构示意图;
[0048]图9是本发明实施例公开的另一种用户流量的生成装置的结构示意图;
[0049]图10是本发明实施例公开的又一种用户流量的生成装置的结构示意图;
[0050]图11是本发明实施例公开的又一种用户流量的生成装置的结构示意图;
[0051]图12是本发明实施例公开的又一种用户流量的生成装置的结构示意图。
【具体实施方式】
[0052]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0053]本发明实施例公开了一种用户流量的生成方法及装置,能够通过动态随机存取存储器(DRAM,Dynamic Random Access Memory)实现海量用户报文的存储,且通过对存储的用户报文的预读取操作与缓存操作实现了线速生成用户流量。以下分别进行详细说明。
[0054]请参阅图3,图3是本发明实施例公开的一种用户流量的生成方法的流程示意图。如图3所示,该用户流量的生成方法可以包括以下步骤:
[0055]S301、接收用户流量生成指令。
[0056]本发明实施例中,该用户流量生成指令用于使能用户流量生成,且该用户流量生成指令可以是测试人员手动输入的,也可以是由CPU产生的,本发明实施例不做限定。
[0057]S302、根据上述用户流量生成指令以及现场可编程门阵列FPGA的第一片内静态随机存取存储器SRAM中预先存储的索引信息,对动态随机存取存储器DRAM中存储的且该索引信息所指示的用户报文执行预读取操作与缓存操作。
[0058]本发明实施例中,FPGA的第一片内SRAM用于存储需要用到的所有用户报文的索引信息,且DRAM用于存储该需要用到的所有用户报文,可选的,DRAM可以具体用于以分组存储的形式存储该所有用户报文,即将该所有用户报文按照预设条件进行分组,并将分组后的用户报文按顺序存储在DRAM中。由于DRAM具有存储空间大且能够存储千万级用户的用户报文的优点,使用DRAM存储需要使用到的所有用户报文能够实现海量用户报文的存储,保证了模拟用户的规模,且节省了硬件成本。
[0059]本发明实施例中,对DRAM中存储的分组用户报文中上述第一片内SRAM中预先存储的索引信息所指示的用户报文执行预读取操作以及缓存操作,这样克服了 DRAM访问带宽不确定的困难,能够高效的在固定的周期内从DRAM中读取用户报文,进而保证了用户流量的线速生成。
[0060]S303、根据上述缓存操作缓存的用户报文生成用户流量。
[0061]本发明实施例中,根据上述缓存操作缓存的用户报文生成用户流量可以包括:
[0062]根据上述缓存操作缓存的用户报文以及用户流量生成参数生成用户流量,其中,用户流量生成参数可以包括发包模式、发包个数以及用户带宽等,本发明实施例不做限定。
[0063]作为一种可选的实施方式,在执行步骤S301之前,还可以执行以下操作:
[0064]根据业务类型对上述所有用户报文进行分组,以获得多个用户报文组;
[0065]根据访问路径对每个用户报文组进行分组,以获得该用户报文组的多个子用户报文组;
[0066]将每个用户报文组的每个子用户报文组中的每个用户报文依次存储在上述DRAM中,并根据所有用户报文中每个用户报文在上述DRAM中的存储位置生成所有用户报文中每个用户报文的索引信息;
[0067]将所有用户报文的索引信息存储在上述第一片内SRAM中。
[0068]在该可选的实施方式中,对用户报文进行分组并按照分组顺序连续配置到DRAM中,将用户报文在DRAM中的索引信息(即存储位置信息)配置到第一片内SRAM中,以便调度用户报文。且可以具体由CPU执行对用户报文组的分组操作、对子用户报文组的分组操作、每个用户报文的存储操作、每个用户报文的索引信息的生成操作以及存储操作等,本发明实施例不作限定。举例来说,假设业务类型有ipv4业务类型以及ipv6业务类型,则可以根据业务类型获得两个用户报文组:User_ipv4以及User_ipv6,且访问路径有p01以及p02,则根据访问路径将用户报文组User_ipv4分为两个子用户报文组:User_ipv4_p01以及User_ipv4_p02,将用户报文组User_ipv6分为两个子用户报文组:User_ipv6_p01以及User_ipv6_p02,由于每个用户报文携带有标签等相关属性,则用户报文组User_ipv4的子用户报文组 User_ipv4_p01 中的用户报文有 User_ipv4_p01_label0、User_ipv4_p01_
IabelU......、User_ipv4_p01_labeln_l 以及 User_ipv4_p01_labeln,用户报文组 User_
ipv4 的子用户报文组 User_ipv4_p02 中的用户报文有 User_ipv4_p02_label0、User_ipv4_
p02_labell、......、User_ipv4_p02_labeln_l 以及 User_ipv4_p02_labeln,用户报文组
User_ipv6 的子用户报文组 User_ipv6_p01 中的用户报文有 User_ipv6_p01_label0、User_
ipv6_p01_labell、......、User_ipv6_p01_labeln-1 以及 User_ipv6_p01_labeln,用户报文组User_ipv6的子用户报文组User_ipv6_p02中的用户报文有User_ipv6_p02_label0、
User_ipv6_p02_labell、......、User_ipv6_p02_labeln-1 以及 User_ipv6_p02_labeln,具体请参见图6,图6是本发明实施例公开的一种用户报文的分组示意图。
[0069]作为另一种可选的实施方式,在执行步骤S302之后,且在执行步骤S303之前,还可以执行以下操作:
[0070]判断上述缓存操作缓存的用户报文的数量是否达到预设数量阈值(或一定水线),当上述缓存操作缓存的用户报文的数量达到预设数量阈值时,触发执行步骤S303,当上述缓存操作缓存的用户报文的数量未达到预设数量阈值时,继续执行步骤S302,直到缓存操作缓存的用户报文的数量达到预设数量阈值,其中,每次执行步骤S302时,缓存操作缓存的用户报文与上一次缓存的用户报文不同,且步骤S303中缓存操作缓存的用户报文为步骤S303之前的所有步骤S302中缓存操作缓存的用户报文的总和。
[0071]在该另一种可选的实施方式中,当缓存操作缓存的用户报文的数量达到一定水线时,生成反馈信号,根据该反馈信号以及上述缓存操作缓存的用户报文生成用户流量,这样能够保证用户流量生成的稳定性。
[0072]作为又一种可选的实施方式,根据上述用户流量生成指令以及现场可编程门阵列FPGA的第一片内静态随机存取存储器SRAM中预先存储的索引信息,对动态随机存取存储器DRAM中存储的且该索引信息所指示的用户报文执行预读取操作与缓存操作可以包括:
[0073]根据上述用户流量生成指令以及FPGA的第一片内SRAM中预先存储的索引信息,读取DRAM中存储的且该索引信息所指示的用户报文,并将读取到的用户报文缓存到第二片内SRAM中。
[0074]作为又一种可选的实施方式,在执行步骤S301之前,还可以执行以下操作:
[0075]执行初始化操作。
[0076]具体的,在该又一种可选的实施方式中,可以由CPU对本发明实施例用到的用户流量的生成机制(如预读取操作以及缓存操作等)进行初始化操作,并对第一片内SRAM以及第二片内SRAM执行清零操作,这样能够保证用户流量生成的准确性。
[0077]本发明实施例中,接收用户流量生成指令,根据该用户流量生成指令以及现场可编程门阵列FPGA的第一片内静态随机存取存储器SRAM中预先存储的索引信息,对动态随机存取存储器DRAM中存储的且该索引信息所指示的用户报文执行预读取操作与缓存操作,并根据该缓存操作缓存的用户报文生成用户流量,其中,第一片内SRAM用于存储需要用到的所有用户报文的索引信息,DRAM用于存储所有用户报文。可见,实施本发明实施例能够通过DRAM实现海量用户报文的存储,且通过对存储的用户报文的预读取操作与缓存操作实现了线速生成用户流量。
[0078]请参阅图4,图4是本发明实施例公开的另一种用户流量的生成方法的流程示意图。其中,图4中的用户流量的生成方法适用于由CPU、FPGA以及DRAM组成的架构中,其中,FPGA包括第一片内SRAM以及第二片内SRAM。如图4所示,该用户流量的生成方法可以包括以下步骤:
[0079]S401、通过CPU执行初始化操作。
[0080]本发明实施例中,具体的,通过CPU执行初始化操作可以包括:
[0081]通过CPU对本发明实施例中的用户流量生成机制(如用户报文的读取操作与缓存操作等)进行初始化操作,并对FPGA中的第一片内SRAM以及第二片内SRAM执行清零操作。
[0082]S402、通过CPU对需要用到的所有用户报文执行分组操作与配置操作。
[0083]本发明实施例中,具体的,通过CPU对需要用到的所有用户报文执行分组操作与
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1