首页> 中国专利> 一种面向车联网应用的中间件架构系统及实现方法

一种面向车联网应用的中间件架构系统及实现方法

摘要

本发明公开了一种面向车联网应用的中间件架构系统及实现方法,涉及车联网应用嵌入式中间件技术领域。包括中间件消息总线模块、车联网应用组件模块、车联网中间件消息代理模块、车联网安全组件、车联网通信协议适配层。车联网中间件应用组件形成规范的功能组件,车联网中间件消息代理负责将车联网中各类消息的解析、分类处理,远程连接请求经安全组件验证,通过后在车联网消息总线中查询对应的应用组件线程,通过消息总线建立起远程终端与本地应用组件或中间件消息代理之间的消息通道再进行通信。车联网通信协议适配层负责屏蔽平台及企业协议差异性,提供统一通信调用接口。该发明提高代码的可重用性和应用程序的开发效率。

著录项

  • 公开/公告号CN103684963A

    专利类型发明专利

  • 公开/公告日2014-03-26

    原文格式PDF

  • 申请/专利权人 重庆邮电大学;

    申请/专利号CN201310577468.2

  • 申请日2013-11-18

  • 分类号H04L12/46(20060101);H04L29/08(20060101);

  • 代理机构50102 重庆市恒信知识产权代理有限公司;

  • 代理人刘小红

  • 地址 400065 重庆市南岸区黄桷垭崇文路2号

  • 入库时间 2023-12-17 01:59:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-24

    授权

    授权

  • 2014-04-23

    实质审查的生效 IPC(主分类):H04L12/46 申请日:20131118

    实质审查的生效

  • 2014-03-26

    公开

    公开

说明书

技术领域

本发明涉及车联网应用嵌入式中间件技术领域,具体为一种面向车联网应 用的中间件架构。

背景技术

国家“十二五”规划的汽车产业发展目标中,明确提出要大力推动以3G无 线物联与智能远程控制为手段、基于车载信息化的物联网战略;规划中同时也 提出要发展宽带融合安全的下一代国家基础设施,推进物联网的应用。在物联 网的分支中,最容易形成系统标准,最具备产业潜力的应用就是车联网。车联 网作为物联网在交通领域的应用,将成为未来智能交通系统的重要组成部分。

智能终端作为车联网的重要组成部分,它是车与其他网络连接的桥梁,需 要和车内网络和车外网络进行信息交换。我国许多企业及科研院所都已着手研 发车联网智能信息终端及相关技术,同时国家在第一期的物联网项目中已经开 始安排项目进行车联网技术及相关设备的支持。但目前车联网智能信息终端的 开发还处于一个混乱的局面,没有一个统一的标准和通信协议。

随着车联网的发展和相关项目的推进,车联网应用中越来越多的问题需要 我们去解决。车联网作为一种特殊物联网,车辆互联、车路协同是车联网重要 的功能。不同平台的软件共享、不同企业车联网产品的互换是车联网发展的必 然趋势。然后车联网的重要载体——汽车却因厂家的不同,其车载网络通信协 议存在差别,当前研发的车联网智能终端基本上以汽车整车厂为依托进行定制 的,不同企业的车联网终端是不能互换的。

在国外,车联网终端的互换、车联网应用软件的共享已经得到广泛的支持。 以宝马集团、风河、英特尔、通用汽车、标致雪铁龙、德尔福公司、玛涅蒂·马 瑞利公司和伟世通公司等企业发起的GENIVI非盈利性行业联盟,致力于推动车 载信息娱乐(IVI)开源参考平台的开发和普及。在该平台中,采用一个在整个 产品线和产品生成方面均可扩展的共同软件架构,其中采用了大量中间件技术。 GENIVI平台加快汽车制造商提供新解决方案的速度,使它们更接近消费型设备 的使用周期,并促进连接服务等新的商业模式的发展。该平台可促进创新成熟 的车载娱乐应用的开发。也使企业与业内合作伙伴密切合作,共同承担开发成 本,并提高产品整体上市速度。

和国外相比,中国的车联网产业刚刚起步,是以一种简化版的车联网运营 模式向前推进,即围绕车载智能平台进行集成,实现各类信息服务。目前能提 供车联网服务的车型偏少,信息服务不充分,不同厂商生产的智能终端、服务 平台及信息服务还不能实现互联互通,因此也制约了车联网及其应用的发展。

目前国内外的车载终端产品的嵌入式软件种类繁多,主要功能除了行车定 位导航、信息娱乐、资讯服务等一般嵌入式信息终端应用以外,还有与安全保 障、车辆远程诊断相关车辆专用功能,而真正能体现车联网特点的是这些专用 功能。但是这些专用功能需要同不同制式的网络进行数据交互,如车身网络CAN、 FLEXRAY、无线通信网络2G/3G,还有车辆专用短距离通信网络DSRC等。即使同 一种网络,也由于不同厂家使用的通信协议不同而无法实现互换和互通。这些 造成了基于车载信息终端的车联网应用开发无法向其他嵌入式应用程序那样实 现共享、互换,开发效率低,重复开发相同功能应用,资源得不到有效利用。 由于车辆网专用功能是一般嵌入式设备没有的,这些功能把车身网络、车辆专 用短距离通信网络、2G/3G等网络联系到一起共同传输车联网信息。同时,车载 信息终端通过与之相连的不同制式的网络传输同一种信息,这些信息相对于车 载终端来说是没有差别的。但是由于使用的传输网络不同,造成数据的接收和 发送应用程序开发的不同,使得应用程序共享无法实现。如果不解决这些问题, 车联网信息终端就不能真正实现互联、资源共享,也就达不到车联网的目的。

基于多应用、多网络融合的中间件技术可以较好地解决这一问题,但由于 车载信息终端存在平台的异构性、通信实时性要求、网络异构性等特点,目前 国内外还没有能满足智能信息终端多网络通信需求的成熟解决方案。

智能信息终端是车联网的重要组成部分,而车联网应用程序离不开车联网 相关数据的传输与处理,而信息的传输离不开车联网络。由于车联网应用中存 在多种应用需求和多种不同的通信网络,使得不同企业开发的车联网应用软件 存在很大差异性,应用软件不能共享。解决车联网开发人员在进行车联网数据 处理与通信应用程序开发时不必关心具体的通信网络协议及底层细节,更多关 注于应用等;而且,智能信息终端大多数功能具有通用性,如何使得开发人员 不再重复开发,从而实现资源重用,提高终端的车联网应用程序开发效率与可 靠性,降低终端的技术难度,是当前车联网智能信息终端应用开发发展趋势。

因此通过分析车联网应用需求和异构网络的结构特点,研究面向车联网应 用的中间件技术,屏蔽车联网不同制式网络异构性,解决不同车型、不同企业 相同通信网络信息协议的差异性,解决不同应用软硬件平台的差异性,设计相 关的中间件简化车联网数据传输中的复杂性,提供统一通信接口给应用服务, 从而解决车联网异构网络通信应用程序开发中的关键核心技术问题,提高车联 网应用软件的重用性和开发效率,制定车联网智能信息终端软件构架规范及中 间件设计规范,是车联网应用程序编程过程中急需解决的问题。

本中间件架构针对车联网中车联网应用软件无法共享重用以及多制式异构 网络存在的通信复杂性、实时性、应用开发不规范等问题,设计的一种面向车 联网应用的车载智能信息终端多网络、多应用中间件架构,解决车联网应用程 序开发时面临的不同企业通信协议不统一,软件平台异构而带来的软件无法重 用问题。

发明内容

针对以上现有技术中的不足,本发明的目的在于提供一种满足车载智能信 息终端车辆应用程序的可重用要求且提高代码的可重用性和应用程序的开发效 率的面向车联网应用的中间件架构;本发明的技术方案如下:一种面向车联网 应用的中间件架构,其包括中间件消息总线层模块、车联网应用组件模块、车 联网中间件消息代理模块、车联网安全组件模块及车联网通信协议适配层;其 中

车联网通信协议适配层模块:包括车联网数据接口和通信协议转换模块, 所述车联网数据接口包括本地数据接口及远程数据接口,其中本地数据接口用 于提供车内应用服务请求的通信接口;远程数据接口用于提供远程终端发送来 的应用请求数据的通信接口,并将远程终端的应用请求数据转发给通信协议转 换模块;通信协议转换模块用于将所述应用请求数据根据协议进行解析转换, 并制定数据报文,并转发给车联网中间件消息代理模块;

车联网中间件消息代理模块:用于将车联网通信协议适配层模块转发来的 数据报文的报头进行解析并分类,并发给中间件消息总线模块。此外还负责远 程连接的建立;

车联网安全组件模块:负责车联网通信资格认证,消息验证等功能。远程 终端在每一次建立通信请求时,需要由消息总线向安全组件发送安全认证请求, 经过安全组件的认证与确认后,才能建立通信通道。

中间件消息总线模块:用于根据车联网中间件消息代理模块发送来的经过 解析分类后的数据报文,对应用请求对应的车联网应用组件进行管理控制,并 将管理控制命令发送给车联网应用组件模块;

车联网应用组件模块:应用组件是车联网应用中公共服务部分,由消息总 线管理应用组件的注册、删除、挂起与激活。应用组件负责接收数据消息,对 接收的消息进行内容解析并根据具体需求处理数据,最后将结果送回远程请求 客户端或本地应用程序。

进一步的,所述中间件消息总线模块(1)的管理控制命令包括优先级设置、 添加、删除、在线升级、调度、激活与挂起。

进一步的,所述通信协议转换模块包括中间件数据通信接口、中间件协议 转换接口、企业网络通信协议栈、通信转换接口、平台通信转换接口,其中中 间件数据通信接口与平台通信转换接口设置于通信协议转换模块的最外层,中 间件协议转换接口、企业网络通信协议栈及通信转换接口设置于中间件数据通 信接口与平台通信转换接口之间。

进一步的,所述车联网通信协议适配层还与网络层及设备驱动层相连接。

一种面向车联网应用的中间件实现方法,其包括步骤:

501、建立车联网通信协议适配层模块,包括车联网数据接口和通信协议 转换模块,所述车联网数据接口包括本地数据接口及远程数据接口,其中本地 数据接口用于提供车内应用服务请求的通信接口;远程数据接口用于提供远程 终端发送来的应用请求数据的通信接口,并将远程终端的应用请求数据转发给 通信协议转换模块;通信协议转换模块用于将所述应用请求数据根据协议进行 解析转换,并制定数据报文,并转发给车联网中间件消息代理模块;

502、设置车联网中间件消息代理模块,将步骤501中车联网通信协议适配 层模块转发来的数据报文的报头进行解析并分类,并转发给中间件消息总线模 块(1);

503、建立中间件消息总线模块,并根据步骤502中车联网中间件消息代理 模块(3)发送来的经过解析分类后的数据报文,对应用请求对应的车联网应用组 件进行管理控制,并将管理控制命令发送给车联网应用组件模块;

504、建立车联网应用组件模块,并接收来自车联网应用组件模块的控制命 令,如果该控制命令对应的应用请求是远程请求时,则交由车联网安全组件(4) 进行安全认证,认证合格后,继续对接收的消息进行内容解析,然后根据信息 内容对应的应用组件进行操作,并将操作结果送回请求客户端,如果是本地服 务请求,则直接转发给应用组件进行操作。

本发明的优点及有益效果如下:

本发明这对车载智能信息终端车辆应用程序的可重用要求,研究应用服务 和多网络数据互换中间件技术,研究中间件的接口可定制实现方法,使之规范 应用软件编程接口和网络通信接口,提高代码的可重用性和应用程序的开发效 率。

附图说明

图1附图1中间件实现架构图;

图2:消息发送过程;

图3:消息接收过程;

图4:中间件消息代理执行流程;

图5:应用组件结构组成;

图6:消息总线工作流程图;

图7:通信协议转换模块;

图8:接口封装示意图。

具体实施方式

下面结合附图给出一个非限定性的实施例对本发明作进一步的阐述。

1.整个中间件数据通信数据流说明

如附图1所示,根据车联网中间件的组成,以及应用服务程序与中间件的 数据交互关系可以将消息通信分为两个方面:消息的发送和消息接收。在车联 网应用中,将消息分为两类消息:本地消息和远程消息。本地消息是指在车身 网络中传递的消息,而远程消息是指车与外界设备或中断交互的消息。可以在 消息定义时用不同的消息头来区分消息类型。下面分别针对这两个方面的数据 流进行说明。

(1)消息的发送

消息发送过程中,首先建立消息通道。在应用服务程序第一次数据通信时, 应用服务向消息总线发送一个建立数据通道的请求,每一种服务对应一种请求。 消息发送数据流程图如附图2所示。消息总线收到请求后,在查看消息映射表 查看是否存在与消息对应的消息通道,如果有则直接返回消息通道号。如果没 有,则查看消息是本地消息还是远程消息。如果是本地消息,消息总线创建一 个消息通道,建立与应用组件的联系。消息总线查看对应的应用组件是否存在 和就绪。如果存在,则看是否就绪或者处于运行状态,如果挂起则激活组件, 并返回一个消息通道建立成功的标志。如果组件处于就绪,则直接返回成功标 志,并返回给应用服务。如果是远程消息,需要通过远程服务代理发送一个指 定远程通信终端通信请求,如果远程通信终端返回一个允许通信标志,则远程 服务终端代理记录远程通信终端ID,并通过消息总线建立与应用程序的消息通 道。应用服务程序通过消息通道与应用组件建立联系,通过车联网通信协议适 配层中不同的通信接口将消息传递到不同的网络中去进行通信获得需要的数 据。

(2)消息接收

消息接收过程中,主要分两个方面:一是车联网应用服务主动发起通信时 消息的接收,另一个是远程通信终端主动发起的通信时消息的接收。具体的数 据流程图如附图3所示。在消息接收时,消息通过通信协议层将消息协议转换 后交付给远程服务代理,远程服务代理判断是本地消息还是远程消息,如果是 本地消息,直接把消息转发给应用组件处理,然后通过本地消息通道交与应用 服务程序。如果是远程消息,需要判断是本地服务主动发起的还是远程通信终 端发起的通信。如果是本地服务发起的通信,可以根据远程服务代理记录的远 程通信终端ID号在消息总线中找到对应的远程通信通道,直接与本地服务进行 通信。如果是远程通信终端发起的通信,则首先判断是否已经建立了消息通道, 如果没有建立消息通道,则根据消息类型判断是否是请求建立消息通道消息, 如果是,则将对方的消息发送给消息总线进行处理。消息总线将请求消息发送 给安全组件进行验证,安全组件查看通信设置表中是否是默认的通信终端ID, 如果是,可以直接返回一个验证通过标志。如果不是,则需要交与应用层的验 证程序由用户进行确认,如果验证通过,则返回一个安全标志,中间件消息代 理将发送请求的终端ID或网络地址记录下来,消息总线可以建立远程服务代理 与应用组件或应用服务程序的远程通信消息通道,并通过远程服务代理返回申 请成功标志。在建立好远程通信通道后,远程通信终端就可以与应用组件或本 地服务进行正常通信了,正常通信过程与本地服务发起的远程通信类似。

如果取回的数据需要相应的应用组件进行处理,消息总线会与之建立本地 消息通道,在建立了消息通道后,远程终端发送的消息请求主要是通过中间件 对应应用组件来完成数据交互的,一般不需要应用服务的参与。特殊情况除外, 如通信通道建立时的确认与拒绝、身份的认证等。中间件消息代理会根据定义 好的通信协议,通过消息总线查找对应的消息组件,进行正常的数据通信。

2.中间件各个组成部分实施方式

(1)车联网中间件消息代理

中间件消息代理主要负责信息的接收、解析、分类、转发等。具体流程见 附图4。在该模块中,中间件消息代理将消息按照制定的消息格式标准进行消息 头的解析分类,首先解析出数据ID,查询对应通道是否已经建立,若已建立则 利用通道发送数据,未建立则通过消息ID向消息总线请求建立消息通道,等待 消息总线的结果,返回通道号后建立通道进行通信,若返回错误则报错。在应 用组件完成相应操作后,需要将操作结果通过中间件消息代理转发给请求客户 端。

同时,中间件消息代理也是本地车联网应用程序与其他终端和后台之间的 通信桥梁。当车载终端捕获到其他终端信息后,需要先通过中间件消息代理发 送请求连接信令,通过消息总线和中间件消息代理建立消息通道,然后应用程 序通过消息总线、应用组件、和远程通信接口向远程终端或后台发送消息。

(2)车联网应用组件

应用组件是将车联网应用中的公共服务功能部分独立出来,采用不同线程 来进行管理。一种应用服务组件对应一个线程,由消息总线管理应用组件线程 的注册、删除、挂起与激活,每个应用组件线程具有一个的优先级,有消息总 线负责调度。应用组件线程在建立了与应用程序或远程终端的消息通道后,负 责接收应用请求消息,对接收的消息进行内容解析,然后根据应用需求处理数 据,并将操作结果送回远程请求客户端或本地应用程序。

应用组件由接口和内部行为两部分组成。接口中定义通信的具体内容和方 法,用于与消息总线通信,分为发送接口和接收接口。内部行为是应用组件功 能的具体实现。如附图5所示。

(3)车联网安全组件

安全组件一个专为车联网通信安全而设计的一个模块,负责车联网通信资 格认证,消息验证等功能。远程终端在每一次建立通信请求时,需要由消息总 线向安全组件发送安全认证请求,经过安全组件的认证与确认后,才能建立通 信通道。安全组件将获得消息信息(如车辆牌号,通信人等)推送到负责安全 确认处理的伺服程序,告知车主,由车主进行确认。安全组件提供快速认证接 口,用户可以根据需要设定默认允许通信的车辆信息及后台服务ID,保存在消 息总线的信息列表中,便于快速建立通信通道。处理流程参考附图3。

(4)中间件消息总线

车联网应用中间件消息总线主要是为了规范车联网的通信,提供统一的车 联网应用编程接口。中间件消息总线是一个独立线程,主要负责根据定义的标 准组建信息格式对中间件组件的管理,如优先级设置、添加、删除、在线升级、 调度、激活与挂起等工作,建立起应用程序和远程调用与应用组件的消息通道。

在消息总线中,根据规范设计一个组件信息映射表,该表采用链表进行管 理。消息总线线程对根据注册信息在表中添加和删除组件信息。在该列表中主 要包括可以通过更新组件信息表进行扩展。

消息总线收到消息后,首先解析出消息ID,看是请求建立通道消息还是正 常通信消息,如果是正常通信消息,在映射表中查询通道号,再根据通道号查 找目标组件或应用服务,若查询不到则返回错误,反之进一步查询目标组件和 应用服务的状态。如果目标组件已运行则返回通道号,未运行则先激活目标组 件再返回通道号。

如果是请求建立消息通道消息,检查发送该消息的终端号是否经过安全认 证,如果没有,则将请求信息发送给安全组件进行处理,在获得安全组件的认 证通过指令后,建立消息通信通道。消息总线执行流程如附图6所示。如果没 有获得认证通过,则通过中间件消息代理返回一个拒绝请求消息。本发明还设 计了一个安全认证终端信息列表,用于记录允许直接建立消息通道的设备信息, 用户可以通过安全应用服务程序进行管理。

消息总线在建立消息通信通道时,消息总线根据消息解析从组件链表中查 找对应的中间件应用组件,如果客户端发出请求通信的应用组件中间件线程还 未运行,消息总线找可以自动激活该进程,然后建立通信通道;如果该线程已 经运行,则直接建立通信通道。消息总线如果在设定的时间内没有接收到请求, 则挂起该进程,腾出内存空间。

如果是本地服务发送的服务请求,消息总线根据消息类型建立与对应的组 件的通信通道,不需要经过安全认证。在消息数据结构中设计了本地通信和远 程通信的识别位来进行管理。

在建立好消息通道后,远程消息可以直接通过中间件消息代理和应用组件 进行通信。

(5)车联网通信协议适配

车联网通信协议适配层主要包括车联网数据接口和通信协议转换模块。通 信协议转换模块是在软件平台提供的网络层基础上,将企业的数据格式转换为 规范定义的消息数据格式,便于实现数据的统一。该层主要解决不同企业具体 通信数据格式和不同软件平台差异性问题。

而通信转换模块由于与具体网络和企业的自定义的通信协议相关,在设计 该模块时主要考虑如何解决企业通信协议栈问题。本发明通过分析协议需求, 采用基于模块的通信组件开发模式。将协议转换模块分为五个部分:中间件数 据通信接口、中间件协议转换接口、企业网络通信协议栈、通信转换接口、平 台通信转换接口,如附图7所示。中间件数据通信接口提供标准的中间件通信 接口,屏蔽企业通信数据格式差异。该接口设计了一个车联网数据接口实现本 地和远程的快速通信,用以区分本地和远程通信,减少本地通信的步骤。主要 分为本地数据接口、远程数据接口。本地数据接口(用于状态显示、语音通话、 导航等功能),远程数据接口(可以用于远程数据调用及访问-车车通信、车路通 信、车与后台通信,如远程诊断、目标跟踪、信息服务发送等)。中间件协议转 换接口主要是将企业数据格式转换成标准的消息格式,以供中间件其他部分通 过中间件通信接口访问调用。企业网络通信协议栈是企业原始的协议解析工具 为数据通信协议转换接口提供原始数据。而通信转换接口提供标准通信接口与 企业通信接口的转换,主要将中间件架构中的通信标准接口转换成企业通信接 口。这四个部分的关系如附图8所示,将企业通信协议包的调用接口和底层通 信接口进行重新封装,提供统一的数据通信接口,屏蔽平台的差异性,将不同 平台的通信接口转换成统一的中间件通信接口,以便于生成的协议转换包可以 在不同的平台快速移植应用。

在协议转换包的生成时,可以通过设计一种协议包标准接口配置工具就可 以快速实现通信协议转换包的生成。具有中间件标准接口的只需要企业按照指 定的通信格式进行配置,不需要改变协议包本身,就可以快速生成可以用于不 同平台的中间件通信协议转化包。避免了不同车企的通信协议差异性带来的车 联网应用无法兼容的问题。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范 围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或 修改,这些等效变化和修饰同样落入本发明面向车联网应用的中间件架构系统 及实现方法权利要求所限定的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号