System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,特别是涉及一种数据组包解包方法、装置和计算机设备。
技术介绍
1、在仿真模型与外部设备进行数据交互的过程中,需要按照特定格式对数据进行组包后才能写入设备,或从设备中读取的数据需要经过解包后,才能供仿真模型使用。
2、目前,多采用一种静态封装法,按照不同的设备协议给每种外部设备封装对应的设备模块,将每个设备模块分别加入至仿真模型中,并与仿真模型中的计算模块进行连接即可实现组包解包功能。然而,由于每种外部设备都需要进行模块封装,使得过程繁琐且工作量大,并且一旦模块封装好后,在工程现场无法灵活地修改调试。因此,如何高效又灵活地对数据进行组包解包是现阶段要解决的问题。
技术实现思路
1、基于此,本申请目的在于提供一种能高效又灵活地实现数据组包解包的方法、装置和计算机设备,来解决上述
技术介绍
中提及的技术问题。
2、第一方面,本申请提供了一种数据组包解包方法。包括:
3、当获取初始数据时,确定所述初始数据对应的目标模型,并根据所述目标模型的模型规模确定组包解包方式;
4、当所述组包解包方式对应机器码模式时,确定所述目标模型的仿真机架构,并通过预设的配置信息和所述仿真机架构,得到目标机器码;
5、对所述目标机器码进行数据加载,以实现对所述初始数据的组包解包处理。
6、在一个实施例中,上述方法还包括:当所述组包解包方式对应源代码模式时,将根据所述配置信息,将所述初始数据和多个预设字段转换成第一代码;所述第一
7、在一个实施例中,根据所述配置信息,将所述初始数据和多个预设字段转换成第一代码,包括:从所述配置信息中确定每个所述预设字段各自对应的多个数据属性信息;根据多个所述预设字段和多个所述数据属性信息,确定目标数据结构;根据所述目标数据结构、多个所述数据属性信息和所述初始数据,得到第一代码。
8、在一个实施例中,数据属性信息包括符号位和比特数;所述根据所述目标数据结构、多个所述数据属性信息和所述初始数据,得到第一代码,包括:针对每个所述预设字段,均根据对应的所述符号位和所述比特数,对相应的预设字段进行初步转换,得到初步转换结果;从多个预设字段中确定出所述初始数据对应的初始字段,并通过所述初始数据对所述初始字段进行赋值处理,得到候选转换结果;综合所述初步转换结果和所述候选转换结果,生成第一代码。
9、在一个实施例中,通过预设的配置信息和所述仿真机架构,得到目标机器码,包括:根据所述配置信息,将所述初始数据和多个预设字段转换成第二代码;所述第二代码包括中间汇编指令代码;确定所述仿真机架构关联的处理器指令目录,并按照所述处理器指令目录,将所述第二代码转换成目标机器码。
10、在一个实施例中,根据所述配置信息,将所述初始数据和多个预设字段转换成第二代码,包括:获取所述预设字段对应的目标数据结构;确定所述仿真机架构中的通用寄存器;所述通用寄存器包括基址指针寄存器、栈指针寄存器和累加器寄存器;通过所述通用寄存器,并将所述初始数据按照所述目标数据结构,对相应的所述预设字段进行赋值处理,直至得到第二代码。
11、在一个实施例中,对所述目标机器码进行数据加载,以实现对所述初始数据的组包解包处理,包括:将所述目标机器码加载进目标内存,并确定所述初始数据的数据用途;所述数据用途包括数据组包和数据解包;跳转至所述目标内存,并根据所述数据用途执行所述目标机器码,以实现对所述初始数据的组包解包处理。
12、第二方面,本申请还提供了一种数据组包解包装置。包括:
13、初始数据获取模块,用于当获取初始数据时,确定所述初始数据对应的目标模型,并根据所述目标模型的模型规模确定组包解包方式;
14、目标机器码确定模块,用于当所述组包解包方式对应机器码模式时,确定所述目标模型的仿真机架构;通过预设的配置信息和所述仿真机架构,得到目标机器码;
15、目标机器码加载模块,用于对所述目标机器码进行数据加载,以实现对所述初始数据的组包解包处理。
16、第三方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
17、当获取初始数据时,确定所述初始数据对应的目标模型,并根据所述目标模型的模型规模确定组包解包方式;
18、当所述组包解包方式对应机器码模式时,确定所述目标模型的仿真机架构,并通过预设的配置信息和所述仿真机架构,得到目标机器码;
19、对所述目标机器码进行数据加载,以实现对所述初始数据的组包解包处理。
20、第四方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
21、当获取初始数据时,确定所述初始数据对应的目标模型,并根据所述目标模型的模型规模确定组包解包方式;
22、当所述组包解包方式对应机器码模式时,确定所述目标模型的仿真机架构,并通过预设的配置信息和所述仿真机架构,得到目标机器码;
23、对所述目标机器码进行数据加载,以实现对所述初始数据的组包解包处理。
24、上述数据组包解包方法、装置、计算机设备和可读存储介质,当获取初始数据时,通过确定初始数据对应的目标模型,便可直接根据目标模型的模型规模确定组包解包方式,使得后续在进行模型仿真时,只需要使用通用io模块来确定初始数据的交互,而无需关心目标模型的具体功能,因此,组包解包的过程更具灵活性。 通过多功能选配出组包解包方式对应机器码模式时,通过确定目标模型的仿真机架构,便可通过预设的配置信息和仿真机架构,得到目标机器码,进而在对目标机器码进行数据加载时,实现对初始数据的组包解包处理。由于可根据实际的工程需要来选择不同的实现路线,在选择的机器码模式路线,实现了从配置信息到功能性机器码的高效转化,无需进行额外的编译操作,降低了后续进行组包解包处理的时间,也提高了组包解包处理的效率。
本文档来自技高网...【技术保护点】
1.一种数据组包解包方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述配置信息,将所述初始数据和多个预设字段转换成第一代码,包括:
4.根据权利要求3所述的方法,其特征在于,所述数据属性信息包括符号位和比特数;所述根据所述目标数据结构、多个所述数据属性信息和所述初始数据,得到第一代码,包括:
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述对所述目标机器码进行数据加载,以实现对所述初始数据的组包解包处理,包括:
6.一种数据组包解包装置,其特征在于,用于实现权利要求1-5任一项所述的方法,所述装置包括:
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。<
...【技术特征摘要】
1.一种数据组包解包方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述配置信息,将所述初始数据和多个预设字段转换成第一代码,包括:
4.根据权利要求3所述的方法,其特征在于,所述数据属性信息包括符号位和比特数;所述根据所述目标数据结构、多个所述数据属性信息和所述初始数据,得到第一代码,包括:
5.根据权利要求1-4任意一项所述的方法,其特征在于,所...
【专利技术属性】
技术研发人员:郭圣林,武志成,
申请(专利权)人:长沙科梁科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。