基于DDS的异种通信协议的自动化网关的制作方法

文档序号:26275170发布日期:2021-08-13 19:30阅读:276来源:国知局
基于DDS的异种通信协议的自动化网关的制作方法

本发明属于车载网络通信技术领域,尤其涉及一种基于dds的异种通信协议的自动化网关。



背景技术:

自动驾驶技术在车辆中逐步应用,车辆整合着愈来愈多的传感器。对应传感器产生的数据的使用及车辆控制对车载网络通信技术实时性、确定性等方面有更高的要求。dds以其性能和特性被引入到这一领域。同时can和lin等通信方式在车载通信中广泛应用在现存的各种车辆设备中。

随着dds数据分发服务这一网络中间在车载网络等领域中广泛使用,涉及大量与现存通信方式如can/lin等的交互例。不同通信方式存在交互网关的开发工作,随着信号源的激增,数据通信配置及形式带来了海量的工作。

人工编写转换程序将产生海量工作,拉长开发周期并滋生代码错误率。现存的一些转换程序产品只提供了数据路由转发的框架,开发者还需要针对这些框架编写适配性的代码,无法自动化生成程序。利用高度自动化的方式来应对这一方面的工作可以极大改善工作的效率。



技术实现要素:

为解决现有技术中存在的不足,本发明的目的在于,提供一种基于dds的异种通信协议的自动化网关,基于现有通信方式数据交互的配置文件,在异种通信模式的数据领域做对象的一对一映射,自动化生成dds网关程序,从而实现异种协议间的通信,极大降低开发的人力和时间成本。

为实现本发明的目的,本发明所采用的技术方案是:

一种基于dds的异种通信协议的自动化网关,包括基础框架和配置映射代码;

基础框架包括数据域,适配器插件,连接器,路由,读取器,写入器;

数据域通过连接器将数据接入数据域中;数据域包含不同的数据格式,通过适配器插件来适应相应的数据格式;

引用父数据域中的现有连接,确定读取器获取数据的数据域;

路由定义了数据流的处理器,上游从读取器接收数据,推送到处理器,处理器为异步模式,进行数据转换,输出到下游;

引用父路由中的现有连接,确定写入器写入数据的数据域;

配置映射代码采用脚本语言解析通信应用配置文件,解析完成后在其数据域中形成数据结构,然后在下游数据域中将数据结构一一对应的映射过去;在上下游数据域中都存在各自的数据结构后,利用预制的模版文件渲染生成代码;

将渲染动态生成的代码与基础框架整合编译生成网关应用程序,实现异种通信。

进一步地,连接器定义了对特定数据域的访问点。

进一步地,处理器也可以为线程操作模式。

进一步地,读取器获取与由其名称和类型唯一标识的特定流关联的数据,写入器写入与由其名称和类型唯一标识的特定流关联的数据。

进一步地,读取器/写入器仅在父路由中工作,不能在其他路由中共享。

进一步地,配置文件解析,可以有标准化格式的文件,也可以有自定义格式的文件。

进一步地,渲染动态生成的代码包括源代码、中间文件和编译相关配置文件。

进一步地,所述基础框架还包括管理单元,监控单元;

所述管理单元用于控制网关数据的通道的状态,所述监控单元用于监控网关运行状态,在异常情况向外部告警。

本发明的有益效果在于,与现有技术相比,

本发明基于dds的异种通信协议的自动化网关,基于现有通信方式数据交互的配置文件,在异种通信模式的数据领域做对象的一对一映射,自动化生成dds网关程序,从而实现异种协议间的通信,极大降低开发的人力和时间成本。

本发明依托行业现存工作方式产物(通信配置文件)自动化生成可执行的网关程序,无需人工再介入代码开发的工作。

本发明可以极大的降低错误率和开发周期。在应对上游配置变化的时候,可以实现自动化适应。只需要重新生成通信网关程序,下游就可以直接基于变更后的通信信号进行工作。

附图说明

图1是自动化网关基础框架示意图;

图2是连接器示意图;

图3是路由示意图;

图4是读取器示意图;

图5是写入器示意图;

图6是dds插件和can插件实例示意图。

具体实施方式

下面结合附图和实施例对本发明的技术方案作进一步的说明。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本申请的保护范围。

本发明所述的基于dds的异种通信协议的自动化网关,分为内容无关的基础框架和内容相关的配置映射代码两个部分。

基础框架负责抽象的数据转发模型、通信方式相关插件实现、管理控制单元。

配置映射代码负责从配置文件中解析数据的类型及格式,输出中间代码、接口描述语言文件以及编译构建配置文件,用于最终生成可以执行的网关应用程序。

在网关应用程序实际可以看作插件集合和用于处理数据流的路由组成。

如图1所示,基础框架,包括数据域,插件,连接器,路由,读取器,写入器,管理单元,监控单元。

插件(plugins)共有三种类型,每种类型的插件都响应特定的功能。

适配器插件,是可插拔组件,允许网关服务使用和产生用于不同数据领域(例如dds,can,原始socket等)的数据。适配器插件模块提供了一组可插拔的api,用于开发自定义适配器插件,可以通过共享库或serviceapi使用它们。默认情况下,网关服务随内置的dds适配器一起分发,该适配器是服务库的一部分。

处理器插件,是面向事件的可插拔组件,可以控制路由中发生的转发过程。处理器插件模块提供一组可插拔的api,用于开发自定义处理器插件,可以通过共享库或serviceapi使用它们。

转换插件,是面向数据的可插拔组件,可执行通过网关服务的数据的表示形式和内容的转换。转换插件模块提供了一组可插拔的api,用于开发自定义转换插件,可以通过共享库或serviceapi来使用它们。

在基础框架中不同通信方式可以抽象为数据域(datadomain)。它们有许多不同的数据格式,例如dds,can,原始socket等。它们每个都有自己的数据连接和打包形式。

从理论上讲,每个数据域都需要一个适配器插件来适应相应的数据格式。这种形式的插件有助于扩展新的数据域。

数据域中包含连接器(connection),负责将数据接入到数据域中工作。连接器定义了对特定数据域的访问点。通过配置中指定的适配器插件实例提供对数据域的访问。例如,相关的适配器插件实现可以通过sockcan提供到can设备的连接,或者通过domainparticipant提供到dds域的逻辑连接。

连接器示意图如图2所示。

路由(route)定义了数据流的处理器。路由由n个输入和m个输出组成,每个输入都引用定义为数据域一部分的任何连接。

当上游从连接接收数据时,它将推送到下一个流处理器。在某些连接中,可能是异步模式,处理器进行数据转换。在其他情况下,它可能是线程操作。它取决于数据域数据处理模式。作为下游,数据被上游被动地推出来。

路由的示意图如图3所示。

读取器(reader)负责获取与由其名称和类型唯一标识的特定流关联的数据。读取器必须引用父数据域中的现有连接。引用的连接确定读取器将在其中获取数据的数据域。

读取器仅在父路由中工作,不能在其他路由中共享。如果另一个路由要求访问相同的数据流,则应在该路由内定义一个新的读取器。

读取器的示意图如图4所示。

写入器负责写入与由其名称和类型唯一标识相符合的特定流关联的数据。写入器必须引用其父路由中的现有连接。引用的连接将决定写入器的数据域,它在该数据域提供数据。

写入器仅在父路由内工作,不能在其他路由中共享。如果另一个路由要求访问相同的数据流,则应在该路由内定义一个新的写入器。

写入器的示意图如图5所示。

管理单元(administration)可以控制网关数据的通道的状态,监控单元(monitoring)对其运行状态进行监控,在异常情况向外部告警。

如图6所示,以dds插件和can插件为例。它们都有自己的适配器、连接器、读取器和写入器。如表1所示。

表1

配置映射代码通常采用脚本语言解析通信应用配置文件,通常是以dbc格式的文件或者excel之类的二维表格文件。解析完成后在其数据域中形成结构化的数据,然后在下游数据域中将数据结构一一对应的映射过去。在上下游数据域中都存在各自的数据结构后,可以利用预制的模版文件渲染成源代码、中间文件和编译相关配置文件等。

配置文件解析,有标准化格式的文件,例如dbc文件,也有自定义格式的文件例如excel中信号矩阵。标准化的参照格式规范做来解析即可,自定义需要遵循行列式约定的意义来提取结构化数据。

在提取结构化数据的基础上,利用脚本语言的模版渲染能力将结构化的数据生成出可以参与构建可执行程序的文件,例如源代码、中间文件idl和编译配置文件。

将模拟渲染动态生成的代码与基础框架中的部分整合编译出可以运行的程序实现不同通信方式的沟通。

为方便使用可以将生成和编译的操作用批处理脚本组合起来,以配置文件作为主要输入参数即可很方便的获得可以执行的网关。无需针对不同的配置重新编写程序。

本发明的有益效果在于,与现有技术相比,

本发明基于dds的异种通信协议的自动化网关,基于现有通信方式数据交互的配置文件,在异种通信模式的数据领域做对象的一对一映射,自动化生成dds网关程序,从而实现异种协议间的通信,极大降低开发的人力和时间成本。

本发明依托行业现存工作方式产物(通信配置文件)自动化生成可执行的网关程序,无需人工再介入代码开发的工作。

本发明可以极大的降低错误率和开发周期。在应对上游配置变化的时候,可以实现自动化适应。只需要重新生成通信网关程序,下游就可以直接基于变更后的通信信号进行工作。

本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1