一种打解包程序生成方法及装置制造方法及图纸

技术编号:9851155 阅读:96 留言:0更新日期:2014-04-02 16:57
本发明专利技术提供一种打解包程序生成方法及装置,首先接收用户输入的包含有至少一条报文的ICD,然后分别对ICD中的每条报文定义位域结构体,并利用预先设置的打解包函数生成规则,分别生成与各个位域结构体相对应的打解包函数,最后利用各个位域结构体,对生成的分别与各个位域结构体相对应的打解包函数进行编译,生成打解包程序,在该过程中通过对接收到的用户输入的ICD中的各个报文定义位域结构体,并最终根据定义的位域结构体以及预先设置的打解包函数生成规则自动生成与该ICD相对应的打解包程序,使得在保证被测系统ICD安全性的基础上,满足打解包程序的通用性、提高打解包程序的即时适应变更能力。

【技术实现步骤摘要】
一种打解包程序生成方法及装置
本申请涉及系统测试
,特别是涉及一种打解包程序生成方法及装置。
技术介绍
在系统测试领域中,被测系统往往由多个相互交联的设备组成,我们称这些设备为参试设备。被测系统中的各个参试设备之间需要进行通信,为了使各个参试设备之间的通讯信息被对方识别,被测系统中的各个参试设备之间的接口类型、通讯逻辑、通讯方式、通讯协议和/或数据规范等通讯参数应当是统一的,被测系统中主要通过ICD(InterfaceControlDocument,接口控制文件)中的报文来对上述各个通讯参数进行统一。测试系统主要通过打解包程序对各个参试设备之间传输的信息进行报文和数据的相互转换,现有技术打解包程序在开发过程中,首先需要获取被测系统的ICD,然后才可以根据该被测系统的ICD,手动编写针对该特定被测系统ICD的打解包程序,进而实现打解包功能。因此,现有技术往往导致如下问题:1)、需要针对不同的被测系统ICD开发不同的打解包程序,导致不同的被测系统无法实现通用的打解包程序。2)、当被测系统ICD变更时,与该被测系统相对应的打解包程序需要根据变更后的ICD进行重新设计,不能及时适应变更。3)、当为了保证被测系统的ICD的安全性,需要对被测系统ICD进行保密时,开发人员无法根据被测系统ICD进行设计生成相应的打解包程序。
技术实现思路
有鉴于此,本申请实施例提供一种打解包程序生成方法及装置,自动生成与接收到的ICD相对应的打解包程序,使得在保证被测系统ICD安全性的基础上,满足打解包程序的通用性、提高打解包程序的即时适应变更能力。为了实现上述目的,本申请实施例提供的技术方案如下:一种打解包程序生成方法,包括:接收用户输入的包含有至少一条报文的ICD;分别对该ICD中的每条报文定义位域结构体;利用预先设置的打解包函数生成规则,分别生成与各个所述位域结构体相对应的打解包函数;利用各个所述位域结构体,对生成的分别与各个所述位域结构体相对应的打解包函数进行编译,生成打解包程序。优选的,所述分别对该ICD中的每条报文定义位域结构体包括:分别为该ICD中的每条报文分配一个唯一的位域结构体名称;分别为每条所述报文中的各个变量定义结构体成员,每条所述报文中的各个变量定义的结构体成员名称唯一,各个所述结构体成员的类型由该结构体成员所对应的变量所在报文的报文总长度决定,各个所述结构体成员的长度与该结构体成员所对应变量的变量长度相同。优选的,还包括:分别对每条所述报文中变量未占满的区域定义结构体成员。优选的,所述预先设置的打解包函数生成规则包括:预先设置的打包函数生成规则以及预先设置的解包函数生成规则。优选的,所述预先设置的打包函数生成规则包括:创建与位域结构体相对应的位域结构体变量;将接收到的待打包的各个变量值分别赋值给相应的所述位域结构体变量中的结构体成员;将所述位域结构体变量内存拷贝到报文指针;返回所述报文指针。优选的,所述预先设置的解包函数生成规则包括:创建与位域结构体相对应的位域结构体变量;将接收到的待解包报文的报文内存拷贝到位域结构体变量中;将所述位域结构体变量中各个结构体成员的值分别赋值给与该结构体成员相对应的变量指针;返回各个所述变量指针。优选的,所述接收用户输入的包含有至少一条报文的ICD,包括:接收用户通过预先设置的ICD定义界面输入的包含有至少一条报文的ICD或,接收用户通过导入ICD的方式输入的包含有至少一条报文的ICD。优选的,还包括:对接收到的用户输入的ICD进行存储。优选的,还包括:通过预先设置的所述ICD定义界面对存储的ICD进行显示和/或修改。一种打解包程序生成装置,包括:ICD接收单元、位域结构体定义单元、打解包函数生成单元以及打解包程序生成单元,其中,所述ICD接收单元用于接收用户输入的包含有至少一条报文的ICD;所述位域结构体定义单元与所述ICD接收单元相连接,用于分别对该ICD中的每条报文定义位域结构体;所述打解包函数生成单元与所述位域结构体定义单元相连接,用于利用预先设置的打解包函数生成规则,分别生成与各个所述位域结构体相对应的打解包函数;所述打解包程序生成单元的一端与所述位域结构体定义单元相连接,另一端与所述打解包函数生成单元相连接,用于利用各个所述位域结构体,对生成的分别与各个所述位域结构体相对应的打解包函数进行编译,生成打解包程序。本专利技术提供一种打解包程序生成方法及装置,首先接收用户输入的包含有至少一条报文的ICD,然后分别对ICD中的每条报文定义位域结构体,并利用预先设置的打解包函数生成规则,分别生成与各个位域结构体相对应的打解包函数,最后利用各个位域结构体,对生成的分别与各个位域结构体相对应的打解包函数进行编译,生成打解包程序,在该过程中通过对接收到的用户输入的ICD中的各个报文定义位域结构体,并最终根据定义的位域结构体以及预先设置的打解包函数生成规则自动生成与该ICD相对应的打解包程序,使得在保证被测系统ICD安全性的基础上,满足打解包程序的通用性、提高打解包程序的即时适应变更能力。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例一提供的一种打解包程序生成方法的流程图;图2为本申请实施例二提供的一种分别对ICD中的每条报文定义位域结构体的方法流程图;图3为本申请实施例三提供的一种打解包程序生成装置的结构示意图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。实施例一:图1为本申请实施例一提供的一种打解包程序生成方法的流程图。如图1所示,该方法包括:S101、接收用户输入的包含有至少一条报文的ICD。在本申请实施例中,优选的,接收到的用户输入的ICD中包括:至少一条报文以及分别与每条报文相对应的报文总长度、每条报文中包含的变量以及分别与每个变量相对应的变量长度、变量类型、变量单位等。在本申请实施例提供的打解包程序生成方法中,优选的,预先设置有ICD接口,用户可以利用该ICD接口,通过导入ICD的方式直接导入包含有至少一条报文的ICD,或者,在预先设置有ICD接口的基础上还预先设置有ICD定义界面,用户可以利用该ICD接口,通过手动输入的方式在ICD定义界面上输入包含有至少一条报文的ICD。以上仅仅为本申请实施例的优选方式,专利技术人还可以根据自己的需求任意设置用户输入ICD的方式,在此不做限定。S102、分别对该ICD中的每条报文定义位域结构体。在本申请实施例中,当接收到用户输入的包含有至少一条报文的ICD后,需要分别对该ICD中的每条报文定义位域结构体,其中,优选的,分别为ICD中的每条报文定义位域结构体的过程请参见实施例二。S103、利用预先设置的打解包本文档来自技高网
...
一种打解包程序生成方法及装置

【技术保护点】
一种打解包程序生成方法,其特征在于,包括:接收用户输入的包含有至少一条报文的ICD;分别对该ICD中的每条报文定义位域结构体;利用预先设置的打解包函数生成规则,分别生成与各个所述位域结构体相对应的打解包函数;利用各个所述位域结构体,对生成的分别与各个所述位域结构体相对应的打解包函数进行编译,生成打解包程序。

【技术特征摘要】
1.一种打解包程序生成方法,其特征在于,包括:接收用户输入的包含有至少一条报文的ICD;分别对该ICD中的每条报文定义位域结构体;利用预先设置的打解包函数生成规则,分别生成与各个所述位域结构体相对应的打解包函数;利用各个所述位域结构体,对生成的分别与各个所述位域结构体相对应的打解包函数进行编译,生成打解包程序;其中,所述预先设置的打解包函数生成规则包括:预先设置的打包函数生成规则以及预先设置的解包函数生成规则;所述预先设置的打包函数生成规则包括:创建与位域结构体相对应的位域结构体变量;将接收到的待打包的各个变量值分别赋值给相应的所述位域结构体变量中的结构体成员;将所述位域结构体变量内存拷贝到报文指针;返回所述报文指针。2.根据权利要求1所述的方法,其特征在于,所述分别对该ICD中的每条报文定义位域结构体包括:分别为该ICD中的每条报文分配一个唯一的位域结构体名称;分别为每条所述报文中的各个变量定义结构体成员,每条所述报文中的各个变量定义的结构体成员名称唯一,各个所述结构体成员的类型由该结构体成员所对应的变量所在报文的报文总长度决定,各个所述结构体成员的长度与该结构体成员所对应变量的变量长度相同。3.根据权利要求2所述的方法,其特征在于,还包括:分别对每条所述报文中变量未占满的区域定义结构体成员。4.根据权利要求1所述的方法,其特征在于,所述预先设置的解包函数生成规则包括:创建与位域结构体相对应的位域结构体变量;将接收到的待解包报文的报文内存拷贝到位域结构体变量中;将所述位域结构体变量中各个结构体成员的值分别赋值给与该结构体成员相对应的变量指针;返回各个所述变量...

【专利技术属性】
技术研发人员:刘佳伦黄丽桃
申请(专利权)人:北京经纬恒润科技有限公司
类型:发明
国别省市:北京;11

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

1