一种基于xml语言的车载控制软件通信协议解析方法

文档序号:1478684 发布日期:2020-02-25 浏览:1次 >En<

阅读说明:本技术 一种基于xml语言的车载控制软件通信协议解析方法 (Vehicle-mounted control software communication protocol analysis method based on xml language ) 是由 谢黛茜 张波 魏源远 于 2019-10-31 设计创作,主要内容包括:本发明公开了一种基于xml语言的车载控制软件通信协议解析方法,包括:将通信协议转换成xml文件,在xml数据结构中寻找与接收的数据或者要发送的数据匹配的协议识别码;并读取该协议识别码的属性和值,赋给协议数据模型,协议数据模型根据接收的数据或者要发送的数据,传入需要解析的数据类型,调用对应的解析类,生成需要的数据。通过将接收的数据或者发送的数据与xml文件中的protocol节点匹配,获取protocol节点的属性和值,赋给定义的协议类,调用接收协议或发送协议的解析函数,传入需要解析的数据类型,调用并传入对应的解析类,生成需要的数据,实现了可以适用于所有通信协议的解析方法和解析规则。(The invention discloses a communication protocol analysis method of vehicle-mounted control software based on xml language, which comprises the following steps: converting a communication protocol into an xml file, and searching a protocol identification code matched with received data or data to be sent in an xml data structure; and reading the attribute and the value of the protocol identification code, assigning the attribute and the value to a protocol data model, and transmitting the data type to be analyzed by the protocol data model according to the received data or the data to be sent, calling the corresponding analysis class and generating the required data. The received data or the sent data are matched with the protocol nodes in the xml file, the attributes and the values of the protocol nodes are obtained, the attributes and the values are assigned to the defined protocol classes, the analysis functions of the receiving protocol or the sending protocol are called, the data types needing to be analyzed are transmitted, the corresponding analysis classes are called and transmitted, and the needed data are generated.)

一种基于xml语言的车载控制软件通信协议解析方法

技术领域

本发明涉及车载控制软件通信协议技术领域,具体的说,是一种基于xml语言的车载控制软件通信协议解析方法。

背景技术

车载控制系统管理软件由于使用场景的不同导致需要不同的通信协议。不同的车辆数据传输的接口,导致了不同的数据传输的格式,不同的数据传输格式导致不同的数据通信协议。为了实现协议解析与业务逻辑的分离,目前使用的技术有:①利用反射原理,将数据类反射到算法解析模块,生成需要的数据类。②独立编写软件适用于不同场景。但是,其均不能提供一个可以适用于所有协议的协议解析规则。

发明内容

本发明的目的在于提供一种基于xml语言的车载控制软件通信协议解析方法,用于解决现有技术中车载控制系统管理软件通信协议中尚没有一个可以适用于所有协议的协议解析规则的问题。

本发明通过下述技术方案解决上述问题:

一种基于xml语言的车载控制软件通信协议解析方法,包括:

步骤A1:将通信协议转换成xml文件,所述xml文件中包含xml数据结构的协议识别码;

步骤A2:在xml数据结构中寻找与接收的数据或者要发送的数据匹配的协议识别码;并读取该协议识别码的属性和值,赋给事先定义好的协议数据模型,将协议识别码与协议数据模型匹配;

步骤A3:协议数据模型根据接收的数据,传入需要解析的数据类型,调用对应的解析类,生成需要的数据;或者根据要发送的数据,传入需要解析的数据类型调用对应的解析类,生成需要的数据。

通过将接收的数据或者发送的数据与通信协议转换的xml文件中的协议识别码匹配,获取其属性和值,赋给定义的协议类,调用接收协议或发送协议的解析函数,传入需要解析的数据类型,调用并传入对应的解析类,生成需要的数据,实现了可以适用于所有通信协议的解析方法和解析规则。

进一步地,所述步骤A1包括:

步骤A11:将通信协议的编码方式抽象成树形结构;

步骤A12:用xml语言描述所述树形结构,所述树形结构包括根节点、子节点和叶子节点;所述子节点对应协议组数据,所述叶子节点为通信协议的协议识别码,将树形结构的根节点描述为<root>,将树形结构的子节点描述为<group>,将叶子节点描述为<protocol>,定义<group>节点、<protocol>节点的属性和值,形成xml文件。<group>节点中的属性值<protocol>节点均满足。利用数型结构记录协议可以将协议归纳分类统一处理,提高处理效率。在搜索协议时利用树的遍历方式可以快速的找到协议,不需要遍历所有协议,更加快速。

进一步地,所述协议数据模型为协议类,所述协议类的属性包括类名、数据识别码、数据类型、发送的数据信息、接收的数据信息、接收数据转换方法和发送数据的转换方法。

本发明与现有技术相比,具有以下优点及有益效果:

(1)本发明通过将接收的数据或者发送的数据与通信协议转换的xml文件中的protocol节点匹配,获取protocol节点的属性和值,赋给定义的协议类,调用接收协议或发送协议的解析函数,传入需要解析的数据类型,调用并传入对应的解析类,生成需要的数据,实现了可以适用于所有通信协议的解析方法和解析规则。

(2)本发明利用数型结构记录协议可以将协议归纳分类统一处理,提高处理效率。在搜索协议时利用树的遍历方式可以快速的找到协议,不需要遍历所有协议,更加快速

附图说明

图1为本发明的协议组成图。

具体实施方式

下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。

实施例1:

结合附图1所示,一种基于xml语言的车载控制软件通信协议解析方法,包括:

1、协议转化为xml语言:

步骤A1:将通信协议转换成xml文件,所述xml文件中包含xml数据结构的协议识别码,具体包括:

步骤A11:将通信协议的编码方式抽象成树形结构;协议组成图的树形结构如图1所示;

步骤A12:用xml语言描述所述树形结构,所述树形结构包括根节点、子节点和叶子节点;所述子节点对应协议组数据,所述叶子节点为通信协议的协议识别码,将树形结构的根节点描述为<root>,将树形结构的子节点描述为<group>,将叶子节点描述为<protocol>,定义<group>节点、<protocol>节点的属性和值,形成xml文件。

将图1的树形机构抽象成xml语言如下所示:

<root>

<group>

<protocol>

<protocol>

<group/>

<group>

<protocol>

<protocol>

<group/>

<root/>

<group>节点中的属性值<protocol>节点均满足。利用数型结构记录协议可以将协议归纳分类统一处理,提高处理效率。在搜索协议时利用树的遍历方式可以快速的找到协议,不需要遍历所有协议,更加快速。

2、识别接收到的数据或者要发送的数据中的数据识别码,并与协议识别码匹配,生成数据模型

接收到数据时根据其数据识别码在从xml文件中读取的xml数据结构中寻找匹配的<protocol>节点;发送数据时根据其数据识别码在xml数据结构中寻找匹配的<protocol>节点;

读取该协议识别码的属性和值,赋给事先定义好的协议数据模型,将协议识别码与协议数据模型匹配,其中协议数据模型为协议类即定义的数据结构,所述协议类的属性包括类名、数据识别码、数据类型、发送的数据信息、接收的数据信息、接收数据转换方法和发送数据的转换方法,该数据结构如下所示:

协议类

类名(string)

地址识别码(int[])

数据识别码(byte[])

发送的数据信息(byte[])

接收的数据信息(object[])

接收数据转换方法(byte[]接收到的数据)

发送数据转换方法(object[]发送的数据)

协议数据模型根据接收的数据,传入需要解析的数据类型,调用对应的解析类,生成需要的数据;或者根据要发送的数据,传入需要解析的数据类型调用对应的解析类,生成需要的数据。解析类,是一个可扩充的类,在架构运行的过程中,如果需要新的解析方式,按照固定的格式编写新的数据解析类。

通过将接收的数据或者发送的数据与通信协议转换的xml文件中的protocol节点匹配,获取protocol节点的属性和值,赋给定义的协议类,调用接收协议或发送协议的解析函数,传入需要解析的数据类型,调用并传入对应的解析类,生成需要的数据,实现了可以适用于所有通信协议的解析方法和解析规则。

尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。

6页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种电力营销多渠道客户服务系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类