一种数据解析优化方法、装置、系统和存储介质制造方法及图纸

技术编号:37530428 阅读:13 留言:0更新日期:2023-05-12 15:56
本发明专利技术属于数据解析技术领域,提供一种数据解析优化方法、装置、系统和存储介质,数据解析优化方法包括:获取待处理的proto文件格式数据和车端本地需要赋值的类实体对象;循环遍历类实体对象,确定类实体对象中需要赋值的所有字段;根据字段,从所述proto文件格式数据中获取所述字段对应的数据值所在的位置信息;根据所述位置信息,获取对应所述位置信息的所述数据值;将所述数据值赋予给所述类实体对象中相应的字段。本申请中的方法在获取数据值时,只需遍历类实体对象,而不用遍历所有的proto文件格式数据,并且在非首次获取数据时,可以从缓存器中直接获取,降低了单个字段赋值的复杂程度,从而减少了赋值过程的耗时,提升了整个解析过程的效率。个解析过程的效率。个解析过程的效率。

【技术实现步骤摘要】
一种数据解析优化方法、装置、系统和存储介质


[0001]本专利技术属于数据解析
,具体涉及一种数据解析优化方法、装置、系统和存储介质。

技术介绍

[0002]近年来,随着汽车的快速发展,用于对车辆行驶的安全性和可靠性的追求越来越高。因此,汽车智能驾驶辅助系统随之产生,该系统通过装载在车辆上的多种传感器,获取车内外的环境数据,并对这些数据进行一系列处理和分析,从而辅助驾驶员安全行驶。
[0003]车辆在通过传感器采集环境数据后,通常需要利用可视化工具,将通过通信协议框架传到车辆本地的二进制数据解析为本地具体的类实体对象。在传统的数据解析的过程中,需要先将二进制数据处理为中间态的proto数据,再循环遍历和递归所有proto数据,找出对应本地的类实体对象中所有字段的数据值,最后将数据值赋予给类实体对象中的相应的字段。但是由于proto数据的量通常比较大,而类实体对象也并不需要proto数据中所有字段的数据值,导致循环遍历proto数据的过程需要耗费较多的时间,并且在后续每增加一个proto数据,就需要循环遍历所有proto数据,严重降低了数据解析的效率。

技术实现思路

[0004]本专利技术的目的是:旨在提供一种数据解析优化方法、装置、系统和存储介质,用来解决
技术介绍
中指出的,由于proto数据的量通常比较大,而类实体对象也并不需要proto数据中所有字段的数据值,导致循环遍历proto数据的过程需要耗费较多的时间,严重降低了数据解析效率的问题。
[0005]为实现上述技术目的,本专利技术采用的技术方案如下:
[0006]第一方面,提供一种数据解析优化方法,所述数据解析优化方法包括:
[0007]获取待处理的proto文件格式数据和车端本地需要赋值的类实体对象;
[0008]循环遍历所述类实体对象,确定所述类实体对象中需要赋值的所有字段;
[0009]根据所述字段,从所述proto文件格式数据中获取所述字段对应的数据值所在的位置信息;
[0010]根据所述位置信息,获取对应所述位置信息的所述数据值;
[0011]将所述数据值赋予给所述类实体对象中相应的字段。
[0012]结合第一方面,在根据所述位置信息,获取对应所述位置信息的数据值的步骤之前,所述数据解析优化方法还包括:
[0013]判断所述位置信息和对应所述位置信息的所述数据值是否已经存储在缓存器内,若所述位置信息和对应所述位置信息的所述数据值没有存储在所述缓存器内,则将所述位置信息和对应所述位置信息的所述数据值存储到所述缓存器内后再执行下一步骤,若所述位置信息和对应所述位置信息的所述数据值已经预先存储在所述缓存器内,则直接执行下一步骤。
[0014]结合第一方面,在根据所述位置信息,获取对应所述位置信息的所述数据值的步骤中:
[0015]若所述位置信息和对应所述位置信息的所述数据值是在判断没有存储在所述缓存器内之后,再存储到所述缓存器内时,则从所述proto文件格式数据/所述缓存器内读取对应所述位置信息的所述数据值;
[0016]若所述位置信息和对应所述位置信息的所述数据值已经预先存储在所述缓存器内时,则直接从所述缓存器内读取对应所述位置信息的所述数据值。
[0017]结合第一方面,在获取待处理的proto文件格式数据和本地需要赋值的类实体对象的步骤之前,所述数据解析优化方法还包括:
[0018]获取从外部传输到车端本地的二进制数据;
[0019]对所述二进制数据进行反序列化处理,将所述二进制数据反序列化为待处理的proto文件格式数据。
[0020]第二方面,提供一种数据解析优化装置,所述数据解析优化装置包括:
[0021]第一获取模块,用于获取待处理的proto文件格式数据和车端本地需要赋值的类实体对象;
[0022]遍历模块,用于循环遍历所述类实体对象,确定所述类实体对象中需要赋值的所有字段;
[0023]第二获取模块,用于根据所述字段,从所述proto文件格式数据中获取所述字段对应的数据值所在的位置信息;
[0024]第三获取模块,用于根据所述位置信息,获取对应所述位置信息的所述数据值;
[0025]赋值模块,用于将所述数据值赋予给所述类实体对象中相应的字段。
[0026]结合第二方面,所述数据解析优化装置还包括:
[0027]判断模块,用于判断所述位置信息和对应所述位置信息的所述数据值是否已经存储在缓存器内,若所述位置信息和对应所述位置信息的所述数据值没有存储在所述缓存器内,则将所述位置信息和对应所述位置信息的所述数据值存储到所述缓存器内后再执行下一步骤,若所述位置信息和对应所述位置信息的所述数据值已经预先存储在所述缓存器内,则直接执行下一步骤。
[0028]结合第二方面,所述第三获取模块还用于:
[0029]若所述位置信息和对应所述位置信息的所述数据值是在判断没有存储在所述缓存器内之后,再存储到所述缓存器内时,则从所述proto文件格式数据/所述缓存器内读取对应所述位置信息的所述数据值;
[0030]若所述位置信息和对应所述位置信息的所述数据值已经预先存储在所述缓存器内时,则直接从所述缓存器内读取对应所述位置信息的所述数据值。
[0031]结合第二方面,所述数据解析优化装置还包括:
[0032]第四获取模块,用于获取从外部传输到车端本地的二进制数据;
[0033]反序列化模块,用于对所述二进制数据进行反序列化处理,将所述二进制数据反序列化为待处理的proto文件格式数据。
[0034]第三方面,提供一种数据解析优化系统,其特征在于,所述数据解析优化系统包括控制器和存储器,所述存储器内存储有计算机程序,当所述计算机程序被所述控制器执行
时,使得所述数据解析优化系统执行如第一方面中任一项所述的数据解析优化方法。
[0035]第四方面,提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如第一方面中任一项所述的数据解析优化方法。
[0036]采用上述技术方案的专利技术,具有如下优点:
[0037]1、通过本申请的数据解析优化方法,当需要给车端本地的类实体对象赋值时,首先通过循环遍历车端本地的类实体对象,找出需要赋值的字段的位置信息,再根据位置信息去获取数据值,最后将数据值赋予给类实体对象中相应的字段。相较于传统解析方法中通过循环遍历所有的proto文件格式数据查找字段的数据值的方式,本申请中的方法通过先确定类实体对象中有哪些字段,再根据这些字段的位置信息精准获取数据值的方式,不用遍历所有的proto文件格式数据,降低了单个字段赋值的复杂程度,从而减少了赋值过程的耗时,提升了整个解析过程的效率。
[0038]2、通过本申请的数据解析优化方法,在首次获取某个字段对应的数据值时,就将该数据值以及位置信息存储在预先设置的缓存器内,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据解析优化方法,其特征在于,所述数据解析优化方法包括:获取待处理的proto文件格式数据和车端本地需要赋值的类实体对象;循环遍历所述类实体对象,确定所述类实体对象中需要赋值的所有字段;根据所述字段,从所述proto文件格式数据中获取所述字段对应的数据值所在的位置信息;根据所述位置信息,获取对应所述位置信息的所述数据值;将所述数据值赋予给所述类实体对象中相应的字段。2.根据权利要求1所述的数据解析优化方法,其特征在于,在根据所述位置信息,获取对应所述位置信息的数据值的步骤之前,所述数据解析优化方法还包括:判断所述位置信息和对应所述位置信息的所述数据值是否已经存储在缓存器内,若所述位置信息和对应所述位置信息的所述数据值没有存储在所述缓存器内,则将所述位置信息和对应所述位置信息的所述数据值存储到所述缓存器内后再执行下一步骤,若所述位置信息和对应所述位置信息的所述数据值已经预先存储在所述缓存器内,则直接执行下一步骤。3.根据权利要求2所述的数据解析优化方法,其特征在于,在根据所述位置信息,获取对应所述位置信息的所述数据值的步骤中:若所述位置信息和对应所述位置信息的所述数据值是在判断没有存储在所述缓存器内之后,再存储到所述缓存器内时,则从所述proto文件格式数据/所述缓存器内读取对应所述位置信息的所述数据值;若所述位置信息和对应所述位置信息的所述数据值已经预先存储在所述缓存器内时,则直接从所述缓存器内读取对应所述位置信息的所述数据值。4.根据权利要求1所述的数据解析优化方法,其特征在于,在获取待处理的proto文件格式数据和本地需要赋值的类实体对象的步骤之前,所述数据解析优化方法还包括:获取从外部传输到车端本地的二进制数据;对所述二进制数据进行反序列化处理,将所述二进制数据反序列化为待处理的proto文件格式数据。5.一种数据解析优化装置,其特征在于,所述数据解析优化装置包括:第一获取模块,用于获取待处理的proto文件格式数据和车端本地需要赋值的类实体对象;遍历模块,用于循环遍历所述类实体对象,确定所述类实体对象中需要赋值的所有字段...

【专利技术属性】
技术研发人员:李海川
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

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

1