通信数据协议构造与分解系统及方法

文档序号:8447425阅读:268来源:国知局
通信数据协议构造与分解系统及方法
【技术领域】
[0001]本发明涉及一种计算机数据处理技术,更具体的说,涉及一种基于通信数据协议的数据构造与分解系统及方法。
【背景技术】
[0002]对于一个大型系统来说,它可能由多个设备构成,每个设备只是系统的一个部分,它通过与周边设备进行交互完成整个系统的功能。而整个系统的稳定性、安全性虽然不能完全由单个设备决定,但每个设备独立的稳定性、安全性的提升,对应整个系统的稳定性、安全性有非常大的帮助。而单个设备的测试,一般是通过操作周边设备构造测试通信数据,通过查看被测设备的状态,或者查看被测设备返回的通信数据信息来判断被测设备是否符合预期要求。在以往的实际工作中,大部分测试通信数据的构造是通过手工方式直接构造,这种方式不仅效率非常低,而且也非常容易出错。另一方面,为了验证被测设备返回结果的正确性,还需要对返回的通信数据进行分解,对于复杂的数据协议,手动的分解过程效率非常低,也非常容易出错,最终影响对被测设备测试结果的判断。

【发明内容】

[0003]本发明针对上述现有技术,提供一种通信数据协议构造与分解系统及方法,该系统通过可视化的数据构造以及数据协议构造方式来极大地提升构造与分解通信测试数据的效率、正确率。
[0004]为达到上述目的,本发明所采用的技术方案如下:
[0005]一种通信数据协议构造与分解系统,包括基于数据协议封包、解包模块、可视化数据协议编辑模块、可视化通信数据编辑模块,所述基于数据协议封包、解包模块,是该系统的核心模块,它将用户定义的数据协议、通信数据最终转换为能够直接进行通信传输的数据序列;所述可视化数据协议编辑模块,用来进行特定数据协议的定义;所述可视化通信数据编辑模块,用来构建一个测试用的通信数据。
[0006]所述基于数据协议封包、解包模块主要是由数据匹配逻辑模块,匹配状态堆栈模块,数据序列化模块,Python脚本转换执行模块构成,用来将一个后期才能确定的数据转换为真实BUFFER。
[0007]所述可视化数据协议编辑模块主要是由一个UI展示模块与一个数据协议表达模块以及一个数据值生成模块构成,通过树形列表控件支持协议、子协议的构造,每个协议字段类型的设置,字段之间依赖关系的设置。
[0008]所述可视化通信数据编辑模块主要是由一个Π表现模块和一个协议实例数据表达模块构成,完成一个协议实例化的过程,每个数据协议能构造出无数的实例数据,可视化通信数据编辑模块通过一个树形列表控件将编辑过程变得非常直观。
[0009]一种通信数据协议构造与分解方法,采用上述的系统来完成,包括步骤如下:
[0010]第一步,通过可视化数据协议编辑模块构建一个数据协议表达;
[0011]第二步,基于数据协议表达,通过可视化通信数据编辑模块构造通信数据;
[0012]第三步,通过数据协议封包模块将构造的通信数据转换为通信数据流。
[0013]所述第一步的具体实现方法是:在可视化数据协议编辑模块中,通过可视化操作创建一个协议,然后创建协议中的各个字段信息,各个字段信息包括名称,数据类型,长度,默认值,设置协议的大小端,所有设置完成后,点击保存即可。
[0014]所述第二步的具体实现方法是:打开可视化通信数据编辑模块,然后选择待编辑的协议,Π视图中自动列出协议各个字段的信息,报告字段的默认值,用户在Π视图中,字段的真实值那里输入该字段实际值,然后保存,就完成了一个协议的实例化过程。
[0015]所述第三步的具体实现方法是:在数据发送前,将构造的协议实例化表达交给数据协议封包、解包模块,自动解析实例化表达规范,将每个字段的值转换为一个数据BUFFER,然后对这些BUFFER序列化生成一个待发送数据BUFFER,在接收到数据之后,将接收BUFFER交给协议解包模块,对可能的协议进行每个字段的匹配,直到所有字段都匹配成功,满足某个协议。
[0016]由于一个大的系统往往由多个设备相互连接构成,而以前针对这样的环境进行测试时,通信数据的构造、解包是非常麻烦的工作,不仅占用大量的时间,而且还非常容易产生错误,一旦有错误,重新定位测试失败的原因是一件非常费力的事情。而本发明在这样的环境中可以帮助使用者快速、正确的构建通信数据、解包通信数据。
【附图说明】
[0017]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0018]图1是本发明系统的组成框图;
[0019]图2是本发明方法流程图;
[0020]图3是本发明一实施例的数据协议构造图。
【具体实施方式】
[0021]下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0022]如图1所示,本发明所提供的通信数据协议构造与分解系统,包括基于数据协议封包、解包模块,可视化数据协议编辑模块,可视化通信数据编辑模块。
[0023]基于数据协议封包、解包模块,是系统的核心模块,它将用户定义的数据协议,通信数据最终转换为可以直接进行通信传输的数据序列。
[0024]可视化的数据协议编辑模块,用来进行特定数据协议的定义。
[0025]可视化的通信数据编辑模块,用来构建一个测试用的通信数据。
[0026]如图2所示,本发明方法步骤如下:
[0027]第一步,通过可视化数据协议编辑模块构建一个数据协议表达;
[0028]第二步,基于数据协议表达,通过可视化通信数据编辑模块构造通信数据;
[0029]第三步,通过数据协议封包模块将构造的通信数据转换为通信数据流。
[0030]为了更好的说明具体实施过程,以一个串口通信的例子为例进行说明。该实施例中,数据协议包括四个部分,数据头、数据长度、数据内容、校验值,测试发送一个3个字节的数据\x0A\x0B\x0C。基于此示例:
[0031]第一步构建数据协议定义,如图3所示;
[0032]第二步构建测试数据;
[0033]第三步最终生成的通信数据;
[0034]其中,第一步构建数据协议定义中,先创建一个数据协义,串口命令协义,然后通过鼠标右键添加协义字段,这里演示例子中添加有4个字段,包括协义头,数据长度,数据内容,校验位,协义头定义了类型是Intl6,也就是两个字节宽度,默认值是OxEAEF,并且可以添加描述信息,数据长度也是Intl6,两个字节宽度,数据内容是一个Buffer,它的长度依赖于数据长度段。第二步构建测试数据,通过在可视化编辑界面中对协义各个字段进行赋值,完成协义实例化。第三步通过协义封包模块将实例化的数据序列化成一个最终的通信数据BUFFER。
[0035]以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
【主权项】
1.一种通信数据协议构造与分解系统,其特征在于,包括基于数据协议封包、解包模块、可视化数据协议编辑模块、可视化通信数据编辑模块,所述基于数据协议封包、解包模块,是该系统的核心模块,它将用户定义的数据协议、通信数据最终转换为能够直接进行通信传输的数据序列;所述可视化数据协议编辑模块,用来进行特定数据协议的定义;所述可视化通信数据编辑模块,用来构建一个测试用的通信数据。
2.根据权利要求1所述的通信数据协议构造与分解系统,其特征在于,所述基于数据协议封包、解包模块主要是由数据匹配逻辑模块,匹配状态堆栈模块,数据序列化模块,Python脚本转换执行模块构成,用来将一个后期才能确定的数据转换为真实BUFFER。
3.根据权利要求1所述的通信数据协议构造与分解系统,其特征在于,所述可视化数据协议编辑模块主要是由一个Π展示模块与一个数据协议表达模块以及一个数据值生成模块构成,通过树形列表控件支持协议、子协议的构造,每个协议字段类型的设置,字段之间依赖关系的设置。
4.根据权利要求1所述的通信数据协议构造与分解系统,其特征在于,所述可视化通信数据编辑模块主要是由一个Π表现模块和一个协议实例数据表达模块构成,完成一个协议实例化的过程,每个数据协议能构造出无数的实例数据,可视化通信数据编辑模块通过一个树形列表控件将编辑过程变得非常直观。
5.一种通信数据协议构造与分解方法,其特征在于,采用权利要求1所述的系统来完成,包括步骤如下: 第一步,通过可视化数据协议编辑模块构建一个数据协议表达; 第二步,基于数据协议表达,通过可视化通信数据编辑模块构造通信数据; 第三步,通过数据协议封包模块将构造的通信数据转换为通信数据流。
6.根据权利要求5所述的通信数据协议构造与分解方法,其特征在于,所述第一步的具体实现方法是:在可视化数据协议编辑模块中,通过可视化操作创建一个协议,然后创建协议中的各个字段信息,各个字段信息包括名称,数据类型,长度,默认值,设置协议的大小端,所有设置完成后,点击保存即可。
7.根据权利要求6所述的通信数据协议构造与分解方法,其特征在于,所述第二步的具体实现方法是:打开可视化通信数据编辑模块,然后选择待编辑的协议,UI视图中自动列出协议各个字段的信息,报告字段的默认值,用户在Π视图中,字段的真实值那里输入该字段实际值,然后保存,就完成了一个协议的实例化过程。
8.根据权利要求7所述的通信数据协议构造与分解方法,其特征在于,所述第三步的具体实现方法是:在数据发送前,将构造的协议实例化表达交给数据协议封包、解包模块,自动解析实例化表达规范,将每个字段的值转换为一个数据BUFFER,然后对这些BUFFER序列化生成一个待发送数据BUFFER,在接收到数据之后,将接收BUFFER交给协议解包模块,对可能的协议进行每个字段的匹配,直到所有字段都匹配成功,满足某个协议。
【专利摘要】本发明公开一种通信数据协议构造与分解系统及方法,包括基于数据协议封包、解包模块、可视化数据协议编辑模块、可视化通信数据编辑模块,所述基于数据协议封包、解包模块,是该系统的核心模块,它将用户定义的数据协议、通信数据最终转换为能够直接进行通信传输的数据序列;所述可视化数据协议编辑模块,用来进行特定数据协议的定义;所述可视化通信数据编辑模块,用来构建一个测试用的通信数据。本发明通过可视化的数据构造以及数据协议构造方式来极大地提升构造与分解通信测试数据的效率、正确率。
【IPC分类】H04L29-06
【公开号】CN104767729
【申请号】CN201510070400
【发明人】杨波波, 顾春建, 张谋晶
【申请人】上海创景计算机系统有限公司
【公开日】2015年7月8日
【申请日】2015年2月10日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1