报文生成方法及装置制造方法及图纸

技术编号:19649244 阅读:20 留言:0更新日期:2018-12-05 21:17
本发明专利技术实施例涉及通信技术领域,具体而言,涉及一种报文生成方法及装置。该报文生成方法包括:获得多个报文头信息,将所述多个报文头信息按照字段名、字段位宽长度和字段相对位置整理成excel文件,采用脚本从所述excel文件中提取各所述报文头信息,根据各所述报文头信息生成对应的报文头类,根据所述报文头类,按照标准网络报文构造规则编写报文构造类CPacket,对所述报文构造类CPacket中实例化之后的每个报文头类对象中的多个报文头成员的字段信息进行约束,构造出符合预设约束要求的报文,该报文生成方法及装置能够满足真实网络环境的报文生成需求。

【技术实现步骤摘要】
报文生成方法及装置
本专利技术实施例涉及通信
,具体而言,涉及一种报文生成方法及装置。
技术介绍
当前,高性能网络芯片的功能验证已经成为制约高度复杂的芯片设计的主要瓶颈。对应于网络芯片测试激励生成的报文构造是高性能网络芯片功能验证很重要的一部分。如何在验证环境中快速实现一种灵活稳定的报文产生器用以生成报文是网络芯片验证初始阶段需要考虑的一个重要问题。现有的报文生成方法大多不能满足真实网络环境的报文生成需求。
技术实现思路
有鉴于此,本专利技术提供了一种报文生成方法及装置,以改善现有技术不能满足真实网络环境的报文生成需求的问题。为实现上述目的,本专利技术实施例提供了一种报文生成方法,所述方法包括:获得多个报文头信息,将所述多个报文头信息按照字段名、字段位宽长度和字段相对位置整理成excel文件;采用脚本从所述excel文件中提取各所述报文头信息,根据各所述报文头信息生成对应的报文头类;根据所述报文头类,按照标准网络报文构造规则编写报文构造类CPacket;对所述报文构造类CPacket中实例化之后的每个报文头类对象中的多个报文头成员的字段信息进行约束,构造出符合预设约束要求的报文。可选地,所述方法还包括:获得新增报文头信息,将所述新增报文头信息按照字段名、字段位宽长度和字段相对位置整理并添加到所述excel文件中;采用脚本从添加了所述新增报文头信息的所述excel文件中提取所述新增报文头信息并生成相应的新增报文头类,将所述新增报文头类实例化到所述报文构造类CPacket中。可选地,所述字段信息包括字段值;对所述报文构造类CPacket中实例化之后的每个报文头类对象中的多个报文头成员的字段信息进行约束,构造出符合预设约束要求的报文的步骤,包括:针对每个报文头成员,获得该报文头成员的字段随机基本约束信息,采用所述字段随机基本约束信息对该报文头成员的字段值进行约束,获得约束范围或约束值,根据所述约束范围或所述约束值构造出报文。可选地,根据所述约束范围或所述约束值构造出报文的步骤,包括:确定各所述报文头成员的字段类型;根据预设信息确定第一级报文头成员,根据前级报文头成员的字段类型决定后级报文头成员的字段类型的构造规则,将各所述报文头成员进行排序,根据所述约束范围或所述约束值构造出报文。可选地,对所述报文构造类CPacket中实例化之后的每个报文头类对象中的多个报文头成员的字段信息进行约束,构造出符合预设约束要求的报文的步骤,包括:对多个所述报文头成员中的每个报文头成员的字段信息进行约束,构造出固定报文;对多个所述报文头成员中的部分报文头成员的字段信息进行约束,构造出随机报文。本专利技术实施例还提供了一种报文生成装置,包括:获取模块,用于获得多个报文头信息,将所述多个报文头信息按照字段名、字段位宽长度和字段相对位置整理成excel文件;第一生成模块,用于采用脚本从所述excel文件中提取各所述报文头信息,根据各所述报文头信息生成对应的报文头类;第二生成模块,用于根据所述报文头类,按照标准网络报文构造规则编写报文构造类CPacket;报文构造模块,用于对所述报文构造类CPacket中实例化之后的每个报文头类对象中的多个报文头成员的字段信息进行约束,构造出符合预设约束要求的报文。可选地,所述报文生成装置还包括扩展模块;所述扩展模块,用于获得新增报文头信息,将所述新增报文头信息按照字段名、字段位宽长度和字段相对位置整理并添加到所述excel文件中;采用脚本从添加了所述新增报文头信息的所述excel文件中提取所述新增报文头信息并生成相应的新增报文头类,将所述新增报文头类实例化到所述报文构造类CPacket中。可选地,所述字段信息包括字段值;所述报文构造模块通过以下方式对所述报文构造类CPacket中实例化之后的每个报文头类对象中的多个报文头成员的字段信息进行约束,构造出符合预设约束要求的报文:针对每个报文头成员,获得该报文头成员的字段随机基本约束信息,采用所述字段随机基本约束信息对该报文头成员的字段值进行约束,获得约束范围或约束值,根据所述约束范围或所述约束值构造出报文。可选地,所述报文构造模块通过以下方式根据所述约束范围或所述约束值构造出报文:确定各所述报文头成员的字段类型;根据预设信息确定第一级报文头成员,根据前级报文头成员的字段类型决定后级报文头成员的字段类型的构造规则,将各所述报文头成员进行排序,根据所述约束范围或所述约束值构造出报文。可选地,所述报文构造模块通过以下方式对所述报文构造类CPacket中实例化之后的每个报文头类对象中的多个报文头成员的字段信息进行约束,构造出符合预设约束要求的报文:对多个所述报文头成员中的每个报文头成员的字段信息进行约束,构造出固定报文;对多个所述报文头成员中的部分报文头成员的字段信息进行约束,构造出随机报文本专利技术实施例提供的报文生成方法及装置,利用脚本生成报文头类,并根据报文头类,按照标准网络报文构造规则编写报文构造类CPacket,利用报文构造类CPacket能够构造出符合预设约束要求的报文,能够满足真实网络环境的报文生成需求。进一步地,该报文生成方法及装置能在一定约束范围内灵活生成固定报文或随机报文。进一步地,该报文生成方法及装置能灵活支持新增报文类型的拓展。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术实施例所提供的一种报文生成方法的流程图。图2为本专利技术实施例所提供的一种报文头信息的示意图。图3为本专利技术实施例所提供的另一种报文头信息的示意图。图4为一实施方式中图1所示的步骤S24包括的子步骤的示意图。图5为本专利技术实施例所提供的一种报文生成装置20的模块框图。图标:20-报文生成装置;21-获取模块;22-第一生成模块;23-第二生成模块;24-报文构造模块;25-扩展模块。具体实施方式当前,高性能网络芯片的功能验证已经成为制约高度复杂的芯片设计的主要瓶颈。对应于网络芯片测试激励生成的报文构造是高性能网络芯片功能验证很重要的一部分。如何在验证环境中快速实现一种灵活稳定的报文产生器是网络芯片验证初始阶段需要考虑的一个重要问题。经调查发现,对报文构造生成这个环节,大多数芯片设计公司目前采取的方法如下:(1)根据报文格式,利用网络测试仪或相关网络构造包软件,依次填入需要的字段内容,得到报文序列,最后保存在文本文件或数据库。(2)芯片验证环境中的报文激励模块从文本文件或数据库中提取报文内容,生成需要的报文。真实网络环境中报文格式是随机的,报文中各报文头中具体字段值也是随机的。大多数时候,上述方法对于简单通用报文类型功能验证比较有效,但上述方法无法解决如下问题:(1)报文内容变化对报文激励模块的要求。(2)未能有效与验证环境有效结合,导致报文构造效率极低,极大的影响了网络芯片的验证进度。(3)当遇到网络测试仪或网络构造包相关软件无法支持的报文类型时,就需要人工构造,此时效率更低。(4)芯片验证性能测试时对大量随机报文的需求。以上问题可以总结为,现有方案无法满足本文档来自技高网...

【技术保护点】
1.一种报文生成方法,其特征在于,所述方法包括:获得多个报文头信息,将所述多个报文头信息按照字段名、字段位宽长度和字段相对位置整理成excel文件;采用脚本从所述excel文件中提取各所述报文头信息,根据各所述报文头信息生成对应的报文头类;根据所述报文头类,按照标准网络报文构造规则编写报文构造类CPacket;对所述报文构造类CPacket中实例化之后的每个报文头类对象中的多个报文头成员的字段信息进行约束,构造出符合预设约束要求的报文。

【技术特征摘要】
1.一种报文生成方法,其特征在于,所述方法包括:获得多个报文头信息,将所述多个报文头信息按照字段名、字段位宽长度和字段相对位置整理成excel文件;采用脚本从所述excel文件中提取各所述报文头信息,根据各所述报文头信息生成对应的报文头类;根据所述报文头类,按照标准网络报文构造规则编写报文构造类CPacket;对所述报文构造类CPacket中实例化之后的每个报文头类对象中的多个报文头成员的字段信息进行约束,构造出符合预设约束要求的报文。2.根据权利要求1所述的报文生成方法,其特征在于,所述方法还包括:获得新增报文头信息,将所述新增报文头信息按照字段名、字段位宽长度和字段相对位置整理并添加到所述excel文件中;采用脚本从添加了所述新增报文头信息的所述excel文件中提取所述新增报文头信息并生成相应的新增报文头类,将所述新增报文头类实例化到所述报文构造类CPacket中。3.根据权利要求1所述的报文生成方法,其特征在于,所述字段信息包括字段值;对所述报文构造类CPacket中实例化之后的每个报文头类对象中的多个报文头成员的字段信息进行约束,构造出符合预设约束要求的报文的步骤,包括:针对每个报文头成员,获得该报文头成员的字段随机基本约束信息,采用所述字段随机基本约束信息对该报文头成员的字段值进行约束,获得约束范围或约束值,根据所述约束范围或所述约束值构造出报文。4.根据权利要求3所述的报文生成方法,其特征在于,根据所述约束范围或所述约束值构造出报文的步骤,包括:确定各所述报文头成员的字段类型;根据预设信息确定第一级报文头成员,根据前级报文头成员的字段类型决定后级报文头成员的字段类型的构造规则,将各所述报文头成员进行排序,根据所述约束范围或所述约束值构造出报文。5.根据权利要求1所述的报文生成方法,其特征在于,对所述报文构造类CPacket中实例化之后的每个报文头类对象中的多个报文头成员的字段信息进行约束,构造出符合预设约束要求的报文的步骤,包括:对多个所述报文头成员中的每个报文头成员的字段信息进行约束,构造出固定报文;对多个所述报文头成员中的部分报文头成员的字段信息进行约束,构造出随机报文。6.一种报文生成装置,其特征在于,包括:获取模块,用于获得多个报文头信息...

【专利技术属性】
技术研发人员:杨清
申请(专利权)人:深圳市风云实业有限公司
类型:发明
国别省市:广东,44

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

1