基于数据结构类型的数据自适应解析方法技术

技术编号:35938716 阅读:13 留言:0更新日期:2022-12-14 10:26
本发明专利技术公开基于数据结构类型的数据自适应解析方法,数据自适应解析方法包括:创建出相应数据结构类型的数据项集合,并将所有创建出的数据项集合组成数据帧构造器;从机器设备的内外部采集待测试数据,再通过比较待测试数据占用的数据长度与数据帧构造器内所有数据项集合占用的数据长度的和值的大小关系,获得对齐字节长度;结合数据帧构造器内的各个数据项集合所属的数据结构类型,按照对齐字节长度对待测试数据进行解析,获得待测试数据的对应字节数据的映射信息,以供测试软件使用。以供测试软件使用。以供测试软件使用。

【技术实现步骤摘要】
基于数据结构类型的数据自适应解析方法


[0001]本专利技术涉及位数据转换的
,具体涉及基于数据结构类型的数据自适应解析方法。

技术介绍

[0002]自动化测试软件通过某些介质从扫地机器人中获取C语言的派生数据类型(结构体、数组、集合、队列等数据结构类型)的数据后,需要对派生数据类型的数据进行数据解析,转化为Python类型的数据以便上位机测试使用,在这一转化过程中,对状态位数据往往需要单独的计算处理;C语言的每种基本数据类型分别对应一种功能,不同功能的测试需求不同,往往需要通过手动编辑文件的方式临时添加新的测试数据类型;然后,每当数据结构发生改变时,需要对每个比特位进行调整,比如频繁地对二进制数据进行移位,容易引发测试程序报错。

技术实现思路

[0003]为解决上述问题,本专利技术通过相关数据结构类型的构造模型完成对字节数据的映射,减少数据解析过程中所需进行的单个比特位数据的运算操作,保证数据解析的正确率,获得较为准确的测试数据;本专利技术的具体技术方案如下:基于数据结构类型的数据自适应解析方法,数据自适应解析方法包括:创建出相应数据结构类型的数据项集合,并将所有创建出的数据项集合组成数据帧构造器;从机器设备的内外部采集待测试数据,再通过比较待测试数据占用的数据长度与数据帧构造器内所有数据项集合占用的数据长度的和值的大小关系,获得对齐字节长度;结合数据帧构造器内的各个数据项集合所属的数据结构类型,按照对齐字节长度对待测试数据进行解析,获得待测试数据的对应字节数据的映射信息,以供测试软件使用。<br/>[0004]进一步地,所述通过比较待测试数据占用的数据长度与数据帧构造器内所有数据项集合占用的数据长度的和值的大小关系,获得对齐字节长度的方法包括:当待测试数据占用的数据长度小于或等于数据帧构造器内所有数据项集合占用的数据长度的和值时,将数据帧构造器内的一个数据项集合占用的数据长度设置为对齐字节长度;当待测试数据占用的数据长度大于数据帧构造器内所有数据项集合占用的数据长度的和值时,将数据帧构造器内所有数据项集合占用的数据长度的和值设置为对齐字节长度;其中,数据帧构造器内的每个数据项集合占用的数据长度都是以字节为单位计数得到;每个数据项集合占用的数据长度与其所属的数据结构类型关联。
[0005]进一步地,所述结合数据帧构造器内各个数据项集合所属的数据结构类型,按照对齐字节长度对待测试数据进行解析的方法包括:当待测试数据占用的数据长度大于所述数据帧构造器内所有数据项集合占用的数据长度的和值时, 按照相应的对齐字节长度从待测试数据中截取出一个待映射数据段或依次截取出多个待映射数据段;其中,一个待映射数据段占用的数据长度等于所述数据帧构造器内所有数据项集合占用的数据长度的和
值;对于一个待映射数据段,结合数据帧构造器内各个数据项集合所属的数据结构类型,为该待映射数据段中的对应字节数据配置对应的存储顺序,并将每个数据项集合相关联的功能名称设置为该待映射数据段中的对应字节数据的功能标记信息,并确定完成所述待测试数据的解析,再由所述测试软件按照该存储顺序读取该待映射数据段以进行测试;其中,所述待测试数据的对应字节数据的映射信息包括功能标记信息和/或存储顺序。
[0006]进一步地,所述结合数据帧构造器内各个数据项集合所属的数据结构类型,为该待映射数据段中的对应字节数据配置对应的存储顺序的方法包括:将各个数据项集合在一个数据帧构造器内的创建顺序配置为所述待映射数据段的对应字节的数据的存储顺序,使该数据帧构造器内的每个数据项集合映射到所述待映射数据段的对应字节数据;所述数据项集合是属于C语言的数据结构时,将该数据项集合内的每个比特位数据的存储顺序配置为具有同一比特位排序的数据在所述待映射数据段的相映射的一个字节数据内的存储顺序,使所述待映射数据段的每个字节数据都按照相映射的数据项集合内的最低比特位至其最高比特位的数据排序拆分为8个比特位数据,并将该数据项集合内每个比特位对应的功能名称设置为该待映射数据段中的对应比特位数据的功能标记信息,其中,属于C语言的数据结构的一个数据项集合内的一个比特位对应一个数据项,一个数据项用于记录一种功能名称,该数据项集合占用的数据长度是1个字节;所述数据项集合是属于标准Python语言的数据结构时,将该数据项集合内的每个字节数据的存储顺序配置为所述待映射数据段的相映射的字节数据的存储顺序,使所述待映射数据段的多个字节数据都映射到同一个数据项集合内对应字节数据的内存地址上,以便于所述测试软件按照该数据项集合对应的功能名称直接读取该待映射数据段,并将该数据项集合内的一个数据项的功能名称设置为该待映射数据段中对应字节数据的功能标记信息,其中,属于标准Python语言的数据结构的一个数据项集合对应记录一种功能名称,该数据项集合占用的数据长度是大于或等于1个字节。
[0007]进一步地,所述结合数据帧构造器内各个数据项集合所属的数据结构类型,按照对齐字节长度对待测试数据进行解析的方法包括:当待测试数据占用的数据长度小于或等于所述数据帧构造器内所有数据项集合占用的数据长度的和值时, 在所述数据帧构造器内,从第一次创建的数据项集合开始,控制对应的数据项集合按照相应的对齐字节长度遍历所述待测试数据的各个字节数据,直至参与遍历的各个数据项集合占用的数据长度的和值等于待测试数据占用的数据长度;再结合参与遍历的各个数据项集合所属的数据结构类型,利用参与遍历的各个数据项集合的遍历顺序,为所述待测试数据的各个字节数据配置对应的存储顺序,并将每个数据项集合相关联的功能名称设置为该待测试数据中的对应字节数据的功能标记信息,并确定完成所述待测试数据的解析,再由所述测试软件按照该存储顺序读取所述待测试数据以进行测试;其中,所述待测试数据的对应字节数据的映射信息包括功能标记信息和/或存储顺序。
[0008]进一步地,在所述数据帧构造器内,从第一次创建的数据项集合开始,按照相应的对齐字节长度依次遍历所述待测试数据的各个字节数据的过程中,存在:使用当前创建次序的一个数据项集合遍历所述待测试数据内的当前一组字节数据后,控制创建次序靠后的一个数据项集合遍历所述待测试数据内的下一组字节数据,再将创建次序靠后的一个数据项集合更新为当前创建次序的一个数据项集合,并将所述待测试数据内的下一组字节数据更新为所述待测试数据内的当前一组字节数据,如此重复,直至所述数据帧构造器内部分
或全部的数据项集合遍历完所述待测试数据,并确定参与遍历的数据项集合占用的数据长度等于所述待测试数据占用的数据长度;其中,当前创建次序的一个数据项集合是属于C语言的数据结构时,所述待测试数据内的当前一组字节数据占用的数据长度是一个字节;其中,当前创建次序的一个数据项集合是属于标准Python语言的数据结构时,所述待测试数据内的当前一组字节数据占用的数据长度是至少一个字节。
[0009]进一步地,所述结合参与遍历的各个数据项集合所属的数据结构类型,利用参与遍历的各个数据项集合的遍历顺序,为所述待测试数据的各个字节数据配置对应的存储顺序的方法包括:将一个数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于数据结构类型的数据自适应解析方法,其特征在于,数据自适应解析方法包括:创建出相应数据结构类型的数据项集合,并将所有创建出的数据项集合组成数据帧构造器;从机器设备的内外部采集待测试数据,再通过比较待测试数据占用的数据长度与数据帧构造器内所有数据项集合占用的数据长度的和值的大小关系,获得对齐字节长度;结合数据帧构造器内的各个数据项集合所属的数据结构类型,按照对齐字节长度对待测试数据进行解析,获得待测试数据的对应字节数据的映射信息,以供测试软件使用。2.根据权利要求1所述数据自适应解析方法,其特征在于,所述通过比较待测试数据占用的数据长度与数据帧构造器内所有数据项集合占用的数据长度的和值的大小关系,获得对齐字节长度的方法包括:当待测试数据占用的数据长度小于或等于数据帧构造器内所有数据项集合占用的数据长度的和值时,将数据帧构造器内的一个数据项集合占用的数据长度设置为对齐字节长度;当待测试数据占用的数据长度大于数据帧构造器内所有数据项集合占用的数据长度的和值时,将数据帧构造器内所有数据项集合占用的数据长度的和值设置为对齐字节长度;其中,数据帧构造器内的每个数据项集合占用的数据长度都是以字节为单位计数得到;每个数据项集合占用的数据长度与其所属的数据结构类型关联。3.根据权利要求2所述数据自适应解析方法,其特征在于,所述结合数据帧构造器内各个数据项集合所属的数据结构类型,按照对齐字节长度对待测试数据进行解析的方法包括:当待测试数据占用的数据长度大于所述数据帧构造器内所有数据项集合占用的数据长度的和值时, 按照相应的对齐字节长度从待测试数据中截取出一个待映射数据段或依次截取出多个待映射数据段;其中,一个待映射数据段占用的数据长度等于所述数据帧构造器内所有数据项集合占用的数据长度的和值;对于一个待映射数据段,结合数据帧构造器内各个数据项集合所属的数据结构类型,为该待映射数据段中的对应字节数据配置对应的存储顺序,并将每个数据项集合相关联的功能名称设置为该待映射数据段中的对应字节数据的功能标记信息,并确定完成所述待测试数据的解析,再由所述测试软件按照该存储顺序读取该待映射数据段以进行测试;其中,所述待测试数据的对应字节数据的映射信息包括功能标记信息和/或存储顺序。4.根据权利要求3所述数据自适应解析方法,其特征在于,所述结合数据帧构造器内各个数据项集合所属的数据结构类型,为该待映射数据段中的对应字节数据配置对应的存储顺序的方法包括:将各个数据项集合在一个数据帧构造器内的创建顺序配置为所述待映射数据段的对应字节的数据的存储顺序,使该数据帧构造器内的每个数据项集合映射到所述待映射数据段的对应字节数据;所述数据项集合是属于C语言的数据结构时,将该数据项集合内的每个比特位数据的存储顺序配置为具有同一比特位排序的数据在所述待映射数据段的相映射的一个字节数据内的存储顺序,使所述待映射数据段的每个字节数据都按照相映射的数据项集合内的最
低比特位至其最高比特位的数据排序拆分为8个比特位数据,并将该数据项集合内每个比特位对应的功能名称设置为该待映射数据段中的对应比特位数据的功能标记信息,其中,属于C语言的数据结构的一个数据项集合内的一个比特位对应一个数据项,一个数据项用于记录一种功能名称,该数据项集合占用的数据长度是1个字节;所述数据项集合是属于标准Python语言的数据结构时,将该数据项集合内的每个字节数据的存储顺序配置为所述待映射数据段的相映射的字节数据的存储顺序,使所述待映射数据段的多个字节数据都映射到同一个数据项集合内对应字节数据的内存地址上,以便于所述测试软件按照该数据项集合对应的功能名称直接读取该待映射数据段,并将该数据项集合内的一个数据项的功能名称设置为该待映射数据段中对应字节数据的功能标记信息,其中,属于标准Python语言的数据结构的一个数据项集合对应记录一种功能名称,该数据项集合占用的数据长度是大于或等于1个字节。5.根据权利要求2所述数据自适应解析方法,其特征在于,所述结合数据帧构造器内各个数据项集合所属的数据结构类型,按照对齐字节长度对待测试数据进行解析的方法包括:当待测试数据占用的数据长度小于或等于所述数据帧构造器内所有数据项集合占用的数据长度的和值时, 在所述数据帧构造器内,从第一次创建的数据项集合开始,控制对应的数据项集合按照相应的对齐字节长度遍历所述待测试数据的各个字节数据,直至参与遍历的各个数据项集合占用的数据长度的和值等于待测试数据占用的数据长度;再结合参与遍历的各个数据项集合所属的数据结构类型,利用参与遍历的各个数据项集合的遍历顺序,为所述待测试数据的各个字节数据配置对应的存储顺序,并将每个数据项集合相关联的功能名称设置为该待测试数据中的对应字节数据的功能标记信息,并确定完成所述待测试数据的解析,再由所述测试软件按照该存储顺序读取所述待测试数据以进行测试;其中,所述待测试数据的对应字节数据的映射信息包括功能标记信息和/或存储顺序。6.根据权利要求5所述数据自适应解析方法,其...

【专利技术属性】
技术研发人员:吕景超李永勇
申请(专利权)人:珠海一微半导体股份有限公司
类型:发明
国别省市:

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

1