报文解析方法和装置制造方法及图纸

技术编号:12398764 阅读:71 留言:0更新日期:2015-11-26 04:15
本发明专利技术提出一种报文解析方法和装置。其中,该方法包括:获取报文数据和报文ID,并获取报文ID中待解析的Key列表;读取报文ID的解析配置信息,并根据待解析的Key列表获待解析的Key列表对应的解析参数;以及根据解析参数对报文数据进行解析。本发明专利技术实施例的报文解析方法,让报文数据域的解析变得可配置,可以只计算协议中数据域的某几个值,而不需要计算该报文数据中没有用到的数据;并且采用通用的解析数据方法以及报文数据的解析参数列表,避免了协议的版本不统一的问题;并且报文数据的解析参数列表中的信息可以表示出数据域的所有情况,包括加减乘除等操作;此外当对报文数据进行增加、修改、删除时,只需要修改解析参数列表中的信息即可。

【技术实现步骤摘要】

本专利技术涉及移动终端制造
,尤其涉及一种报文解析方法和装置
技术介绍
如图1所示,在接收到一个报文数据之后,通常会先判断报文数据的当前ID是什么,然后根据当前ID去查找当前ID对应的解析方法,通过该解析方法计算出当前ID对应的协议所包含的参数和解析结果。然而,专利技术人在实现本专利技术的过程中发现,由于产品在研发过程中,经常会增加、修改或者删除报文,会造成协议的版本不同。因此,现有的解析方法存在以下不足:1、现有的解析方法是根据报文ID来解析的,只能解析出固定个数的参数;2、当对协议进行修改的时,尤其是对报文数据的解析方法进行修改时,需要重新编写报文ID所对应的方法;3、当协议中的报文ID不够用时,增加新的报文ID时需要对该报文ID编写新的解析方法。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的第一个目的在于提出一种报文解析方法,该方法具有以下有益效果:1、让报文数据域的解析变得可配置,可以只计算协议中数据域的某几个值,而不需要计算该报文数据中没有用到的数据;2、采用通用的解析数据方法以及报文数据的解析参数列表,避免了协议的版本不统一的问题;3、报文数据的解析参数列表中的信息可以表示出数据域的所有情况,包括加减乘除等操作;4、当对报文数据进行增加、修改、删除时,只需要修改解析参数列表中的信息即可。本专利技术的第二个目的在于提出一种报文解析装置。为达上述目的,本专利技术第一方面实施例提出了一种报文解析方法,包括:获取报文数据和报文ID,并获取所述报文ID中待解析的Key列表;读取所述报文ID的解析配置信息,并根据所述待解析的Key列表获所述待解析的Key列表对应的解析参数。本专利技术实施例的报文解析方法,通过报文ID和待解析的Key列表查找对应的解析配置信息,并从解析配置信息中获取对应的解析参数,使用该解析参数对报文数据进行解析,具有以下有益效果:1、让报文数据域的解析变得可配置,可以只计算协议中数据域的某几个值,而不需要计算该报文数据中没有用到的数据;2、采用通用的解析数据方法以及报文数据的解析参数列表,避免了协议的版本不统一的问题;3、报文数据的解析参数列表中的信息可以表示出数据域的所有情况,包括加减乘除等操作;4、当对报文数据进行增加、修改、删除时,只需要修改解析参数列表中的信息即可。为达上述目的,本专利技术第二方面实施例提出了一种报文解析装置,包括:第一获取模块,用于获取报文数据和报文ID,并获取所述报文ID中待解析的Key列表;第二获取模块,用于读取所述报文ID的解析配置信息;第三获取模块,用于根据所述待解析的Key列表获所述待解析的Key列表对应的解析参数;以及解析模块,用于根据所述解析参数对所述报文数据进行解析。本专利技术实施例的报文解析装置,通过报文ID和待解析的Key列表查找对应的解析配置信息,并从解析配置信息中获取对应的解析参数,使用该解析参数对报文数据进行解析,具有以下有益效果:1、让报文数据域的解析变得可配置,可以只计算协议中数据域的某几个值,而不需要计算该报文数据中没有用到的数据;2、采用通用的解析数据方法以及报文数据的解析参数列表,避免了协议的版本不统一的问题;3、报文数据的解析参数列表中的信息可以表示出数据域的所有情况,包括加减乘除等操作;4、当对报文数据进行增加、修改、删除时,只需要修改解析参数列表中的信息即可。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。【附图说明】本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1是本专利技术一个实施例的报文解析方法的流程图;图2是本专利技术一个报文ID的配置文件的示意图;图3是本专利技术一个具体实施例的报文解析方法的流程图;以及图4是本专利技术一个实施例的报文解析装置的结构示意图。【具体实施方式】下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本专利技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本专利技术的实施例所属
的技术人员所理解。图1是本专利技术一个实施例的报文解析方法的流程图。如图1所示,报文解析方法包括:SlOl,获取报文数据和报文ID,并获取报文ID中待解析的Key列表。具体地,在利用蓝牙、CAN(Controller Area Network,控制器局域网络)等通信方式获取到一个报文数据时,会将报文数据解析成具体的数据,将解析后得到的具体数据用来显示,或者使用该具体数据对设备进行控制。其中,报文ID是报文数据的标识,用于标识报文数据的唯一性,报文ID可以是系统中默认的,也可以是用户自己定义的。在接收到一个报文数据之后,可获取该报文数据中存储的对应的报文ID。具体而言,在需要某个报文ID所对应的某些或者全部参数信息时,可以传入原始的报文,获取原始的报文中的报文数据并获取报文数据中包含的报文ID,并且在传入原始的报文的同时传入待解析的Key列表。应当理解的是,接收到的需要从报文数据中解析的参数列表不仅可以使用Key的形式,还可以使用其他任何形式实现,只要根据报文ID可以查找到唯一与之对应的解析参数即可。例如,可以用数组的顺序来替代待解析的Key列表,同样可以实现该效果。S102,读取报文ID的解析配置信息,并根据待解析的Key列表获待解析的Key列表对应的解析参数。具体地,可预先编写多个报文ID,将其存储在配置文件中。也就是说,可定义一种报文ID的结构,使其使用于报文ID对应数据域的解析。例如,如图2所示,可用报文ID作为标识,对该报文数据的数据域进行定义,定义出该报文的数据域中包含了多少个具体的数据,并定义出每个数据对应的Key,以及定义出每个Key的值解析时所需要的解析参数。其中,解析参数包括解析的起始位置、解析的结束位置、解析的类型、偏移量、乘数、返回值类型以及解析结果。解析的起始位置还包括从第几个数据开始解当前第1页1 2 3 本文档来自技高网
...

【技术保护点】
一种报文解析方法,其特征在于,包括:获取报文数据和报文ID,并获取所述报文ID中待解析的Key列表;读取所述报文ID的解析配置信息,并根据所述待解析的Key列表获所述待解析的Key列表对应的解析参数;以及根据所述解析参数对所述报文数据进行解析。

【技术特征摘要】

【专利技术属性】
技术研发人员:王亚丽蒋峰马风云王淏
申请(专利权)人:比亚迪股份有限公司
类型:发明
国别省市:广东;44

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

1