CN114172938B - 智能座舱soa化的实现方法、系统和智能汽车 - Google Patents

智能座舱soa化的实现方法、系统和智能汽车 Download PDF

Info

Publication number
CN114172938B
CN114172938B CN202210123223.1A CN202210123223A CN114172938B CN 114172938 B CN114172938 B CN 114172938B CN 202210123223 A CN202210123223 A CN 202210123223A CN 114172938 B CN114172938 B CN 114172938B
Authority
CN
China
Prior art keywords
service
protocol stack
code
domain
subdomain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210123223.1A
Other languages
English (en)
Other versions
CN114172938A (zh
Inventor
任俊伟
邹晓冬
王锦锋
刘冰冰
王海波
陈涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhida Chengyuan Technology Co.,Ltd.
Original Assignee
ARCHERMIND TECHNOLOGY (NANJING) CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ARCHERMIND TECHNOLOGY (NANJING) CO LTD filed Critical ARCHERMIND TECHNOLOGY (NANJING) CO LTD
Priority to CN202210123223.1A priority Critical patent/CN114172938B/zh
Publication of CN114172938A publication Critical patent/CN114172938A/zh
Application granted granted Critical
Publication of CN114172938B publication Critical patent/CN114172938B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种智能座舱SOA化的实现方法、系统和智能汽车,其方法包括:创建所有面向服务通信协议栈分别对应的协议栈共享库;根据所述服务子域所提供的服务,创建所述服务子域对应操作系统所支持的服务接口代码;根据所述协议栈共享库、服务接口代码和动态路由代码,生成支持所述服务子域上对应操作系统运行的可执行程序。本发明针对不同种类的操作系统,面向服务通信协议栈相互交织,实现真正的多协议,多系统复用。

Description

智能座舱SOA化的实现方法、系统和智能汽车
技术领域
本发明涉及智能汽车技术领域,进一步地涉及智能座舱SOA化的实现方法、系统和智能汽车。
背景技术
随着现代电子及软件技术在智能汽车上的不断应用,智能汽车电子电气架构从早先的分布式到跨域集中式,然后再到中央计算平台式的演进,这些都对硬件配套的软件架构提出新的要求。过去基于信号的通讯架构,不再适应当前的电气电子架构。因此,在此背景之下,由互联网IT行业所广泛使用的SOA(service-oriented-architecture的缩写,面向服务架构)设计架构方式进入了智能汽车电子领域。
而随着智能汽车电子化程度提高,电子控制单元整合是智能汽车电子设计的发展趋势。多屏融合的智能座舱将集成中控大屏+液晶仪表盘+抬头显示器(HUD)+流动后视镜,并搭载高级辅助驾驶(ADAS)、无人驾驶技术和人工智能AI等新时代科技,其在整车中的重要性变得越来越高,智能座舱的SOA化也被越来越多的车厂看重。
但智能座舱又具有高度的复杂性,其包含多种操作系统,如Android,QNX,Linux,且代码量众多,其SOA化也具有高度的复杂性。SOA通信协议也主要包含两个协议,SOME/IP(Scalable service-Oriented Middleware over IP的缩写,其为基于IP的可扩展面向服务的中间件)和DDS(Data Distribution Service的缩写,其为数据分发服务)。
现有技术中当OEM厂商对智能座舱某项功能有服务化的需求的时候,是由供应商把SOME/IP或者DDS协议编成lib或者jar包,然后打包在需要SOA服务化的应用中。
但是,现有技术的缺点是把lib和jar打包集成到每个应用中,当需要改动的时候,要对所有相关应用做改动,而且存在协议栈无法复用,增加开发负担的缺陷。另外,现有技术仅支持单协议、单系统,即现有技术只支持SOME/IP、DDS、HTTP、MQTT等面向服务通信协议栈中的某一种,以及只支持LINUX,QNX,ANDROID等操作系统中的某一个。
发明内容
针对上述技术问题,本发明的目的在于提供一种可以支持多协议,多系统复用,方便修改的智能座舱SOA化实现方法和系统。
为了实现上述目的,本发明提供一种智能座舱SOA化的实现方法,该实现方法用于智能汽车的座舱域,所述座舱域包括若干个服务子域,每个服务子域均设置有服务网关,所述服务网关各自支持不同的操作系统,所述服务网关中同时包含有所有支持的面向服务通信协议栈,该实现方法包括:
创建所有面向服务通信协议栈分别对应的协议栈共享库;
根据所述服务子域所提供的服务,创建所述服务子域对应操作系统所支持的服务接口代码;
根据所述协议栈共享库、服务接口代码和动态路由代码,生成支持所述服务子域上对应操作系统运行的可执行程序。
在一些实施方式中,本发明提供一种智能座舱SOA化的实现系统,该系统用于为智能汽车的座舱域实现SOA,所述座舱域包括若干个服务子域,每个服务子域均设置有服务网关,所述服务网关各自支持不同的操作系统,所述服务网关中同时包含有所有支持的面向服务通信协议栈;该实现系统包括:
创建模块,用于创建所有面向服务通信协议栈分别对应的协议栈共享库;
生成模块,用于根据所述服务子域所提供的服务,创建所述服务子域对应操作系统所支持的服务接口代码;
处理模块,用于根据所述协议栈共享库、服务接口代码和动态路由代码,生成支持所述服务子域上对应操作系统运行的可执行程序。
在一些实施方式中,本发明提供一种智能汽车,包括车身域、驾驶辅助域、动力底盘域和座舱域,所述车身域、驾驶辅助域、动力底盘域分别与所述座舱域通过不同的面向服务通信协议进行通信连接;所述座舱域包括若干个服务子域,每个服务子域均设置有服务网关,所述服务网关各自支持不同的操作系统,所述服务网关中同时包含有所有支持的面向服务通信协议栈;所述智能汽车上部署了智能座舱SOA化实现系统,该实现系统包括:
创建模块,用于创建所有面向服务通信协议栈分别对应的协议栈共享库;
生成模块,用于根据所述服务子域所提供的服务,创建所述服务子域对应操作系统所支持的服务接口代码;
处理模块,用于根据所述协议栈共享库、服务接口代码和动态路由代码,生成支持所述服务子域上对应操作系统运行的可执行程序。
与现有技术相比,本发明所提供的智能座舱SOA化的实现方法、系统和智能汽车,针对不同种类的操作系统,面向服务通信协议栈相互交织,支持多协议,多系统复用,利用对现有的操作系统和面向服务通信协议栈为各个服务子域搭建适配的服务网关来解决新的业务需求,为驾驶员以及供应商提供新的互动渠道,并呈现一个可以支持有机业务(organic business)的构架。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明一种智能座舱SOA化的实现方法的流程图。
图2是本发明SOA智能座舱系统总体架构图。
图3是本发明娱乐子域SOA服务网关开发流程图。
图4是本发明仪表子域SOA服务网关开发流程图。
图5是本发明TBox子域SOA服务网关开发流程图。
图6是本发明座舱域的SOA服务网关与其他域通信示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
本发明的一个实施例,参考说明书附图1,一种智能座舱SOA化的实现方法,所述实现方法用于智能汽车的座舱域,其中,智能汽车的座舱域包括若干个服务子域,每个服务子域均设置有服务网关,所述服务网关各自支持不同的操作系统,所述服务网关中同时包含有所有支持的面向服务通信协议栈;具体地,智能座舱SOA化的实现方法包括步骤:
S100创建所有面向服务通信协议栈分别对应的协议栈共享库;
具体的,SOA是一个组件模型,它将不同服务进行拆分,并通过这些服务之间定义良好的接口和协议联系起来,这使得构建在各种各样的配置系统中的服务能够以一种统一和通用的方式进行交互。
由于自动驾驶需求,需要智能汽车可以像手机一样可以持续升级性能,整车功能可以持续创新。当前整车电子电器架构,功能不集中,分散到不同ECU,使得功能和信号交互异常复杂,代码和逻辑冗余相当严重。汽车端采用可扩展到云端的基于服务通信SOA,以便汽车为了和云端能够很好的互联,车端软件、通信、信息安全等必须能和云端环境很好的协同,实现一整套车云生态环境。
其中,操作系统包括但是不限于VxWorks、Unix、Linux、QNX和Android。应用于智能汽车实现SOA化的SOC协议(是Service-Oriented Communication的缩写,面向服务通信)包括SOME/IP、DDS、MQTT、HTTP。其中,DDS(Data Distribution Service)与SOME/IP(Scalableservice-Oriented MiddlewarE over IP),都是基于TCP/IP实现的一种应用层通信协议。DDS与SOME/IP是一种订阅/发布机制,在接收方有需求的时候发送方才发布信息。
首先,将智能汽车的座舱域划分为不同的服务子域,划分子域的规则可根据不同区域所提供的服务不同进行划分,也可以座舱的位置不同进行划分。示例性的,如图2所示,服务子域包括娱乐子域(包括中控大屏或者中控台等)、仪表子域(包括油箱报警灯、发电机故障灯,或者用于展示油箱容积、转速、档位、水温、车速的仪表盘等)、TBox子域等。其中,娱乐子域可以向用户提供音乐播放、通话、导航等服务。不同服务子域所属的服务网关创建所有面向服务通信协议栈分别对应的协议栈共享库。
协议栈共享库实质上是一种链接动态库,链接动态库包括动态链接,动态库的命名规则为:lib+名字+.so ,例如,图3中的libSOME/IPxx.so和libfastrtpsxx.so。通过为不同的面向服务通信协议栈创建对应的协议栈共享库,能够在需要时搜索查找协议栈共享库以便实现面向服务通信协议的理解。
S200根据所述服务子域所提供的服务,创建所述服务子域对应操作系统所支持的服务接口代码;
具体的,服务网关根据服务子域所提供的服务,创建服务子域对应操作系统所支持的服务接口代码。服务接口代码包括服务的ID,服务的接口,服务的输入、输出以及服务使用的面向服务通信协议等。
S300根据所述协议栈共享库、服务接口代码和动态路由代码,生成支持所述服务子域上对应操作系统运行的可执行程序。
具体的,动态路由模块的功能是记录每个服务的不同的底层通信协议(SOME/IPor DDS),在client端对某个服务做出服务请求的时候,动态的适配对应的通信协议,打包相应的数据,形成对应通信协议的数据报文并且发送到真正的提供服务server端。
动态路由代码的逻辑基本上是:服务在动态路由模块注册自己的服务ID,服务配置,服务通信协议等信息。请求数据发送到动态路由模块,动态路由模块根据已经注册的服务的配置,进行相应的数据打包并发送到服务提供者的那端。若有返回响应信息,同样找到对应的请求端,将响应信息发回给服务请求端。
本发明将系统划分为不同的子系统即域(例如车身域、座舱域),整车功能完全独立不重叠,一个子系统只承担特定的一个功能特性,同时一个功能特性也只能在一个子系统中,不能在其他系统中重复定义。子系统通过接口来交互从而不关心其他子系统的内部功能逻辑。本发明不同种类的操作系统,面向服务通信协议栈相互交织,利用对现有的操作系统和面向服务通信协议栈为各个服务子域搭建来解决新的业务需求,为驾驶员以及供应商提供新的互动渠道,并呈现一个可以支持有机业务(organic business)的构架。SOA凭借其松耦合的特性,使得汽车添加新服务或更新现有服务,以解决新的业务需要,提升驾驶员的驾驶体验。
本发明的一个实施例,一种智能座舱SOA化的实现方法,应用于智能汽车,其中,智能汽车的座舱域包括若干个服务子域,每个服务子域均设置有服务网关,所述服务网关各自支持不同的操作系统,所述服务网关中同时包含有所有支持的面向服务通信协议栈;具体地,智能座舱SOA化的实现方法包括步骤:
S110根据车内面向服务通信协议栈的实现源码及其对应的支持库源码,分别生成对应于所述车内面向服务通信协议栈的协议栈共享库;
S120根据车外面向服务通信协议栈的实现源码及其对应的支持库源码,分别生成对应于所述车外面向服务通信协议栈的协议栈共享库;
具体的,座舱域中可能有多种构成形式,通常会包含多个子系统(子域)。娱乐子域一般用Android,仪表子域一般用QNX,TBox子域一般用Linux,即使有例外,也是这几种操作系统中的一个。SOA服务网关中同时包含SOME/IP协议栈和ROS2(DDS)协议栈,可与其他域通过SOME/IP或DDS协议通信。各个操作系统中的上层应用都可通过协议栈,提供服务,或者调用其他域的服务。
协议路由模块可以根据应用配置来手动/自动选择切换相应的通信协议。其中,SOME/IP协议栈基于VSOME/IP实现,ROS2 DDS协议栈底层基于Fast-RTPS协议实现。SOME/IP协议栈和DDS协议栈,在LINUX和QNX是C++语言的库,在Android是Java语言的库和JNI接口的实现。无论是SOME/IP还是DDS,其协议栈底层版本是一致的,底层代码也是一致的。这可以保证不同操作系统的SOA服务网关在相同协议(SOME/IP或DDS)的情况下是可以通信的。
SOA服务网关和上层应用的接口部分,根据不同的系统做了和系统原生开发应用一致的接口封装。在QNX(仪表)和Linux(TBox)上使用的D-Bus,在Android上使用AIDL。
S210获取所述服务子域所提供服务对应的服务描述文件;所述服务描述文件包括对服务内容所设置的配置信息;
S220解析并读取所述服务描述文件中的配置信息;
S230将所述配置信息转换成服务网关代码中的数据定义部分和函数声明部分,并添加对应的处理逻辑之后形成所述服务接口代码;
具体的,服务描述文件是一种有着固定格式的文本文件,描述了服务必要的信息,包括服务的ID,服务的接口,服务的输入、输出,服务使用的协议等。设计了一段代码来分析这些文本文件,读取其中不同配置的值,将这些值转换成服务网关代码中的具体的数据定义部分和函数声明部分,方便开发者添加对应的处理逻辑之后形成完整的服务接口。
服务接口代码:每个接口都有固定的描述方式,其中,描述字段的第一个字段是ID,第二个字段是服务用的协议,第三个字段是接口列表,每个接口有子描述字段,子描述包括接口ID、接口参数、接口返回值,接口类型(有返回、无返回、只提供通知或需要请求的),每个描述字段的标记是固定的,将描述字段进行解析以便生成配置文件,以便输出对应的代码中。
S310根据所述服务接口代码以及所述协议栈共享库,编写所述服务子域的操作系统对应的服务抽象代码;
S320调用所述动态路由代码以及与所述服务子域的操作系统对应的服务抽象代码,编译生成所述可执行程序。
本步骤还可以调用该服务子域的操作系统对应的工具链,工具链(ToolChain)是一个工程化的意思,或者一堆工具的组合,Cmake或者NDK能够把一些模块生成所需要的网关实现代码。工作链包括CMake、Android NDK、Java的编译工具,安卓的SDK工具等等,这些主要用来编译、构建和生成可执行文件、库文件的工具的总和叫工具链。
动态路由支持不同的协议栈(例如DDS或IP),远程的调用过来后可以匹配到子域所使用的什么类型的协议,然后动态调用到对应的协议,以实现多域互通。IP和DDS各自有不同特征的报文,动态路由能够把所有发布在通信网络端的报文进行记录,例如提供IP或者DDS发布的报文,由于IP有自己的service ID,DDS有自己的service ID,请求端在调用服务端的服务的时候就会从记录中进行check和search,如果搜索到后通知请求端这个报文是通过IP发起的服务,那么就会把要请求的东西通过IP包转到对应的服务端,服务端通过IP接收到后,通过网关发送响应报文到真正的请求端处。
本发明提供了一种使用智能网关实现跨域SOA智能座舱系统的方法。本发明使得座舱域可通过SOA服务网关屏蔽SOA通信协议细节,让上层应用仅需最小改动即可SOA化。SOA服务网关支持QNX,LINUX,ANDROID操作系统,且同时支持SOME/IP,DDS协议,可克服SOME/IP不易与自动驾驶域通信,DDS不易与AUTOSAR CP通信的缺点。
本发明的一个实施例,一种智能座舱SOA化的实现方法,应用于智能汽车,用于为智能汽车的座舱域实现SOA化,其中,智能汽车的座舱域包括若干个服务子域,每个服务子域均设置有服务网关,所述服务网关各自支持不同的操作系统,所述服务网关中同时包含有所有支持的面向服务通信协议栈;具体地,智能座舱SOA化的实现方法包括步骤:
S111根据所述SOME/IP协议的实现源码和所述标准库源码编写第一执行脚本,调用与所述服务子域的操作系统对应的工具链解析所述第一执行脚本并编译生成SOME/IP协议栈共享库;
S112根据所述DDS协议的实现源码和所述封装层代码编写第二执行脚本,调用与所述服务子域的操作系统对应的工具链解析所述第二执行脚本并编译生成DDS协议栈共享库;
具体的,SOME/IP的数据报文由包头部分和信息数据两部分组成,包头部分包含服务ID,方法ID,消息体长度,客户端ID,会话ID,协议版本,消息类型等数据。SOME/IP-SD的消息通过UDP发送,每个设备通过在局域网中周期性的广播一条包含其提供的所有服务的OfferService消息来帮助其他设备完成服务发现(服务IP,端口等信息)。服务调用者也可以通过广播一条FindService消息来主动查询自己需要的服务。
vSOME/IP 是GENIVI项目中的一个SOME/IP开源实现,基于Mozilla PublicLiense v2.0协议开源,由BMW贡献。vSOME/IP提供了两个动态库:SOME/IP协议的实现库libvSOME/IP.so以及用于服务发现的库libvSOME/IP-sd.so。vSOME/IP是BMW实现的开源SOME/IP库,目前主要实现了SOME/IP的通信和服务发现功能,并在此基础上增加了少许的安全机制。
SOME/IP定义服务的接口包含方法(Methods),事件(Events),字段(Fields)和事件组(Eventgroups),可以支持请求/响应模式的远程服务调用,也可以支持订阅/发布模式的消息通知。
S120根据车外面向服务通信协议栈的实现源码及其对应的支持库源码,分别生成对应于所述车外面向服务通信协议栈的协议栈共享库;
S210获取所述服务子域所提供服务对应的服务描述文件;所述服务描述文件为对服务内容所设置的配置信息;
S220解析并读取所述服务描述文件中的配置信息;
S230将所述配置信息转换成服务网关代码中的数据定义部分和函数声明部分,并添加对应的处理逻辑之后形成所述服务接口代码;
S310根据所述服务接口代码以及所述协议栈共享库,编写所述服务子域的操作系统对应的服务抽象代码;
S320调用所述动态路由代码以及与所述服务子域的操作系统对应的工具链,编译生成所述可执行程序。
具体的,智能座舱与AUTOSAR主导的车身域通过SOME/IP通信,ROS2主导的ADAS域和对性能有很高要求的动力底盘域通过DDS通信。座舱域既可调用车身域的服务,又可订阅速度,转速,自动驾驶信息等DDS Topic,并在仪表或者中控显示出来。
示例性的,如图3所示展示了娱乐子域SOA服务网关系统的开发流程。使用SOME/IP协议栈源码和对应的支持库源码(Boost等),通过工具链编译生成对应版本的SOME/IP动态链接支持库(PCIE)。使用DDS协议栈源码和对应的支持库源码(ROS2等),通过工具链编译生成对应版本的DDS动态链接支持库。根据服务描述文件(提供服务的名称、类型、接口、ID)所配置的服务生成服务接口代码,配合通用的服务抽象代码和动态路由模块代码编译链接成为能在娱乐子域的Android平台上运行的系统服务应用。至此,娱乐子域(Android平台)上的其他应用即可使用该系统服务调用或提供SOA平台上的各项服务功能。
示例性的,如图4所示展示了仪表子域SOA服务网关系统的开发流程。使用SOME/IP协议栈源码和对应的支持库源码(Boost等),通过工具链编译生成对应版本的SOME/IP动态链接支持库。使用DDS协议栈源码和对应的支持库源码(ROS2等),通过工具链编译生成对应版本的DDS动态链接支持库。根据服务描述文件所配置的服务生成服务接口代码,配合通用的服务抽象代码,和D-Bus跨进程调用支持库等,编译链接成为能在仪表子域的QNX平台上运行的系统服务应用。至此,仪表子域(QNX平台)上的其他应用即可使用该系统服务调用或提供SOA平台上的各项服务功能。
示例性的,如图5所示展示了TBox子域SOA服务网关系统的开发流程。使用SOME/IP协议栈源码和对应的支持库源码(Boost等),通过工具链编译生成对应版本的SOME/IP动态链接支持库。使用DDS协议栈源码和对应的支持库源码(ROS2等),通过工具链编译生成对应版本的DDS动态链接支持库,根据服务描述文件所配置的服务生成服务接口代码,配合通用的服务抽象代码,和D-Bus跨进程调用支持库等,编译链接成为能在TBox子域的Linux平台上运行的系统服务应用。至此,TBox子域(Linux平台)上的其他应用即可使用该系统服务调用或提供SOA平台上的各项服务功能。
由于仪表子域、TBox子域、娱乐子域采用不同的协议栈,本申请在于通过各个子域的SOA服务网关进行各个子域的协议栈转换,从而达到不同子域之间能够互相通信。
SOME/IP位于应用层(如图2所示),提供面向服务的通信接口。其通信方式为AUTOSAR中提到的CS接口的概念,就是客户端(client)和服务端(Server),当有请求发出时,SOME/IP才会发出数据,否则不发送数据,类似于COM模块的Direct模式,这样总线上就没有不必要的数据,降低总线负载。示例性的,如一个HTTP请求,HTTP->TCP->IP,先转化成TCP数据包,再转化成IP数据包,再通过网卡传输出去;接收方通过网卡接收到IP数据包,去掉IP数据头,检测到是一个TCP数据包,就把TCP数据包传到TCP协议处理层,去掉TCP数据头,检测到是一个HTTP数据包,就把HTTP数据包传到HTTP协议处理层。
本发明是解决智能座舱SOA化的整套方案。其支持同时运行SOME/IP,DDS协议,也支持LINUX,QNX,ANDROID系统,可对娱乐子域,仪表子域,TBox子域等做服务化。SOA服务网关封装SOA通信协议的全部细节,保证上层应用仅需最小改动即可服务化并调用其他域的服务。使得上层应用支持SOA架构变得轻松简单,不再需要自行实现协议栈,也无需对数据报文进行编码、解码,仅仅需要关心业务层面的逻辑处理,大大简化了开发的工作量和后期维护的工作量。SOA服务网关支持可克服SOME/IP不易与自动驾驶域通信,DDS不易与AUTOSAR CP通信的缺点。可与AUTOSAR主导的传统动力,底盘,车身域通过SOME/IP通信的同时,与ROS2/DDS主导的自动驾驶域通过DDS通信。并且能够根据应用层的配置文件和接口来自动切换和路由不同协议的数据和流程。
本发明的一个实施例,一种智能座舱SOA化的实现系统,该系统用于智能汽车的座舱域,所述座舱域包括若干个服务子域,每个服务子域均设置有服务网关,所述服务网关各自支持不同的操作系统,所述服务网关中同时包含有所有支持的面向服务通信协议栈;包括:
创建模块,用于创建所有面向服务通信协议栈分别对应的协议栈共享库;
生成模块,用于根据所述服务子域所提供的服务,创建所述服务子域对应操作系统所支持的服务接口代码;
处理模块,用于根据所述协议栈共享库、服务接口代码和动态路由代码,生成支持所述服务子域上对应操作系统运行的可执行程序。
具体的,本实施例是上述方法实施例对应的系统实施例,具体效果参见上述方法实施例,在此不再一一赘述。
在一些实施方式中,所述创建模块包括:
第一创建单元,用于根据车内面向服务通信协议栈的实现源码及其对应的支持库源码,分别生成对应于所述车内面向服务通信协议栈的协议栈共享库;
第二创建单元,用于根据车外面向服务通信协议栈的实现源码及其对应的支持库源码,分别生成对应于所述车外面向服务通信协议栈的协议栈共享库。
在一些实施方式中,所述车内面向服务通信协议包括SOME/IP协议和DDS协议,其分别对应的支持库源码分别为标准库源码和封装层代码;所述第一创建单元包括:
第一生成子单元,用于根据所述SOME/IP协议的实现源码和所述标准库源码编写第一执行脚本,调用与所述服务子域的操作系统对应的工具链解析所述第一执行脚本并编译生成SOME/IP协议栈共享库;
第二生成子单元,用于根据所述DDS协议的实现源码和所述封装层代码编写第二执行脚本,调用与所述服务子域的操作系统对应的工具链解析所述第二执行脚本并编译生成DDS协议栈共享库。
在一些实施方式中,所述生成模块包括:
获取单元,用于获取所述服务子域所提供服务对应的服务描述文件;所述服务描述文件为对服务内容所设置的配置信息;
处理单元,用于解析并读取所述服务描述文件中的配置信息;
第三生成单元,用于将所述配置信息转换成服务网关代码中的数据定义部分和函数声明部分,并添加对应的处理逻辑之后形成所述服务接口代码。
在一些实施方式中,所述处理模块包括:
编写单元,用于根据所述服务接口代码以及所述协议栈共享库,编写所述服务子域的操作系统对应的服务抽象代码;
第四生成单元,用于调用所述动态路由代码以及与所述服务子域的操作系统对应的工具链,编译生成所述可执行程序。
本发明的一个实施例,一种智能汽车,如图6所示,包括车身域、驾驶辅助(ADAS)域、动力底盘域和座舱域,所述车身域、驾驶辅助域、动力底盘域分别与所述座舱域通过不同的面向服务通信协议进行通信连接;所述座舱域包括若干个服务子域,每个服务子域均设置有服务网关,所述服务网关各自支持不同的操作系统,所述服务网关中同时包含有所有支持的面向服务通信协议栈;所述智能汽车上部署了智能座舱SOA化实现系统,该实现系统包括:
创建模块,用于创建所有面向服务通信协议栈分别对应的协议栈共享库;
生成模块,用于根据所述服务子域所提供的服务,创建所述服务子域对应操作系统所支持的服务接口代码;
处理模块,用于根据所述协议栈共享库、服务接口代码和动态路由代码,生成支持所述服务子域上对应操作系统运行的可执行程序。
具体的,本实施例是上述方法实施例对应的装置实施例,与上述实施例相同的部分参见上述实施例,具体效果参见上述方法实施例,在此不再一一赘述。上述实施例中提及的座舱域也可以通过SOME/IP协议与图6所示车身域建立通信,在座舱域对某个服务发起服务请求的时候,动态适配对应的SOME/IP通信协议,打包相应的数据,形成对应SOME/IP通信协议的数据报文并且发送到真正的提供服务的车身域,使得座舱域既可调用车身域的服务,又可订阅速度,转速,自动驾驶信息等DDS Topic,并在仪表或者中控显示出来。同理,座舱域也可以通过DDS协议与图6所示ADAS域或者动力底盘域建立通信,不同域相互之间根据服务请求将相应的数据报文传递到提供服务请求所需服务类型对应的域或者子域。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的程序模块完成,即将所述装置的内部结构划分成不同的程序单元或模块,以完成以上描述的全部或者部分功能。实施例中的各程序模块可以集成在一个处理单元中,也可是各个单元单独物理存在,也可以两个或两个以上单元集成在一个处理单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序单元的形式实现。另外,各程序模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其他的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性、机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (11)

1.一种智能座舱SOA化的实现方法,其特征在于,所述实现方法用于智能汽车的座舱域,所述座舱域包括若干个服务子域,每个服务子域均设置有服务网关,所述服务网关各自支持不同的操作系统,所述服务网关中同时包含有所有支持的面向服务通信协议栈;所述面向服务通信协议栈包括SOME/IP协议和DDS协议;所述实现方法包括步骤:
创建所有面向服务通信协议栈分别对应的协议栈共享库;
根据所述服务子域所提供的服务,创建所述服务子域对应操作系统所支持的服务接口代码;
根据所述协议栈共享库、服务接口代码和动态路由代码,生成支持所述服务子域上对应操作系统运行的可执行程序。
2.根据权利要求1所述的智能座舱SOA化的实现方法,其特征在于,所述创建所有面向服务通信协议栈分别对应的协议栈共享库包括步骤:
根据车内面向服务通信协议栈的实现源码及其对应的支持库源码,分别生成对应于所述车内面向服务通信协议栈的协议栈共享库;
根据车外面向服务通信协议栈的实现源码及其对应的支持库源码,分别生成对应于所述车外面向服务通信协议栈的协议栈共享库。
3.根据权利要求2所述的智能座舱SOA化的实现方法,其特征在于,所述车内面向服务通信协议栈包括SOME/IP协议和DDS协议,其分别对应的支持库源码分别为标准库源码和封装层代码;所述根据车内面向服务通信协议栈的实现源码及其对应的支持库源码,分别生成对应于所述车内面向服务通信协议栈的协议栈共享库包括步骤:
根据所述SOME/IP协议的实现源码和所述标准库源码编写第一执行脚本,调用与所述服务子域的操作系统对应的工具链解析所述第一执行脚本并编译生成SOME/IP协议栈共享库;
根据所述DDS协议的实现源码和所述封装层代码编写第二执行脚本,调用与所述服务子域的操作系统对应的工具链解析所述第二执行脚本并编译生成DDS协议栈共享库。
4.根据权利要求1所述的智能座舱SOA化的实现方法,其特征在于,所述根据所述服务子域所提供的服务,创建所述服务子域对应操作系统所支持的服务接口代码包括步骤:
获取所述服务子域所提供服务对应的服务描述文件;所述服务描述文件包括对服务内容所设置的配置信息;
解析并读取所述服务描述文件中的配置信息;
将所述配置信息转换成服务网关代码中的数据定义部分和函数声明部分,并添加对应的处理逻辑之后形成所述服务接口代码。
5.根据权利要求1-4任一项所述的智能座舱SOA化的实现方法,其特征在于,所述根据所述协议栈共享库、服务接口代码和动态路由代码,生成支持所述服务子域上对应操作系统运行的可执行程序包括步骤:
根据所述服务接口代码以及所述协议栈共享库,编写所述服务子域的操作系统对应的服务抽象代码;
调用所述动态路由代码以及与所述服务子域的操作系统对应的服务抽象代码,编译生成所述可执行程序。
6.一种智能座舱SOA化的实现系统,其特征在于,所述实现系统用于智能汽车的座舱域,所述座舱域包括若干个服务子域,每个服务子域均设置有服务网关,所述服务网关各自支持不同的操作系统,所述服务网关中同时包含有所有支持的面向服务通信协议栈;所述面向服务通信协议栈包括SOME/IP协议和DDS协议;所述实现系统包括:
创建模块,用于创建所有面向服务通信协议栈分别对应的协议栈共享库;
生成模块,用于根据所述服务子域所提供的服务,创建所述服务子域对应操作系统所支持的服务接口代码;
处理模块,用于根据所述协议栈共享库、服务接口代码和动态路由代码,生成支持所述服务子域上对应操作系统运行的可执行程序。
7.根据权利要求6所述的智能座舱SOA化的实现系统,其特征在于,所述创建模块包括:
第一创建单元,用于根据车内面向服务通信协议栈的实现源码及其对应的支持库源码,分别生成对应于所述车内面向服务通信协议栈的协议栈共享库;
第二创建单元,用于根据车外面向服务通信协议栈的实现源码及其对应的支持库源码,分别生成对应于所述车外面向服务通信协议栈的协议栈共享库。
8.根据权利要求7所述的智能座舱SOA化的实现系统,其特征在于,所述车内面向服务通信协议栈包括SOME/IP协议和DDS协议,其分别对应的支持库源码分别为标准库源码和封装层代码;所述第一创建单元包括:
第一生成子单元,用于根据所述SOME/IP协议的实现源码和所述标准库源码编写第一执行脚本,调用与所述服务子域的操作系统对应的工具链解析所述第一执行脚本并编译生成SOME/IP协议栈共享库;
第二生成子单元,用于根据所述DDS协议的实现源码和所述封装层代码编写第二执行脚本,调用与所述服务子域的操作系统对应的工具链解析所述第二执行脚本并编译生成DDS协议栈共享库。
9.根据权利要求6所述的智能座舱SOA化的实现系统,其特征在于,所述生成模块包括:
获取单元,用于获取所述服务子域所提供服务对应的服务描述文件;所述服务描述文件为对服务内容所设置的配置信息;
处理单元,用于解析并读取所述服务描述文件中的配置信息;
第三生成单元,用于将所述配置信息转换成服务网关代码中的数据定义部分和函数声明部分,并添加对应的处理逻辑之后形成所述服务接口代码。
10.根据权利要求6-9任一项所述的智能座舱SOA化的实现系统,其特征在于,所述处理模块包括:
编写单元,用于根据所述服务接口代码以及所述协议栈共享库,编写所述服务子域的操作系统对应的服务抽象代码;
第四生成单元,用于调用所述动态路由代码以及与所述服务子域的操作系统对应的工具链,编译生成所述可执行程序。
11.一种智能汽车,其特征在于,包括车身域、驾驶辅助域、动力底盘域和座舱域,所述车身域、驾驶辅助域、动力底盘域分别与所述座舱域通过不同的面向服务通信协议进行通信连接;所述座舱域包括若干个服务子域,每个服务子域均设置有服务网关,所述服务网关各自支持不同的操作系统,所述服务网关中同时包含有所有支持的面向服务通信协议栈;所述智能汽车上部署了如权利要求6-10任一所述的智能座舱SOA化实现系统。
CN202210123223.1A 2022-02-10 2022-02-10 智能座舱soa化的实现方法、系统和智能汽车 Active CN114172938B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210123223.1A CN114172938B (zh) 2022-02-10 2022-02-10 智能座舱soa化的实现方法、系统和智能汽车

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210123223.1A CN114172938B (zh) 2022-02-10 2022-02-10 智能座舱soa化的实现方法、系统和智能汽车

Publications (2)

Publication Number Publication Date
CN114172938A CN114172938A (zh) 2022-03-11
CN114172938B true CN114172938B (zh) 2022-05-20

Family

ID=80489563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210123223.1A Active CN114172938B (zh) 2022-02-10 2022-02-10 智能座舱soa化的实现方法、系统和智能汽车

Country Status (1)

Country Link
CN (1) CN114172938B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785631B (zh) * 2022-04-07 2023-12-15 潍柴动力股份有限公司 通信协议栈复用方法、通信方法、计算机设备及介质
CN114844930B (zh) * 2022-04-21 2023-06-06 重庆长安汽车股份有限公司 一种基于soa架构的车端远程控制方法及系统
CN115277750B (zh) * 2022-06-30 2023-05-26 重庆长安汽车股份有限公司 一种多系统智能座舱通信组件
CN115285139A (zh) * 2022-08-04 2022-11-04 中国第一汽车股份有限公司 一种智能座舱控制方法、装置、设备和介质
WO2024065347A1 (zh) * 2022-09-29 2024-04-04 华为技术有限公司 一种数据处理方法及相关设备
CN115766915A (zh) * 2022-11-01 2023-03-07 长城汽车股份有限公司 汽车开放系统架构、数据处理方法、介质及车载设备
CN115865980A (zh) * 2022-11-29 2023-03-28 重庆长安汽车股份有限公司 Soa通讯架构、车辆、构建方法及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110955412A (zh) * 2019-11-26 2020-04-03 延锋汽车饰件系统有限公司 面向服务的智能座舱系统及其设计方法和设计系统
CN112685008A (zh) * 2020-11-30 2021-04-20 上海赫千电子科技有限公司 一种基于autosar采用面向服务架构的服务失效控制方法
WO2021165116A1 (de) * 2020-02-19 2021-08-26 HELLA GmbH & Co. KGaA Fahrzeugkomponente zur bereitstellung wenigstens eines dienstes in einem fahrzeug mit einer vorfiltereinheit
CN113407362A (zh) * 2021-06-16 2021-09-17 武汉光庭信息技术股份有限公司 基于车载Android系统SOA架构SOMEIP通信中间层实现方法及系统
CN113467436A (zh) * 2021-06-28 2021-10-01 重庆长安汽车股份有限公司 一种基于soa服务分层的整车功能实现方法及系统
CN113806109A (zh) * 2021-09-15 2021-12-17 诚迈科技(南京)股份有限公司 基于ros2实现soa架构的座舱系统及其运行方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3695581B1 (en) * 2017-10-12 2023-09-20 Convida Wireless, LLC Interworking service for the restful internet of things
CN110795806B (zh) * 2019-10-16 2022-08-30 南京邮电大学 一种智联网体系架构

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110955412A (zh) * 2019-11-26 2020-04-03 延锋汽车饰件系统有限公司 面向服务的智能座舱系统及其设计方法和设计系统
WO2021165116A1 (de) * 2020-02-19 2021-08-26 HELLA GmbH & Co. KGaA Fahrzeugkomponente zur bereitstellung wenigstens eines dienstes in einem fahrzeug mit einer vorfiltereinheit
CN112685008A (zh) * 2020-11-30 2021-04-20 上海赫千电子科技有限公司 一种基于autosar采用面向服务架构的服务失效控制方法
CN113407362A (zh) * 2021-06-16 2021-09-17 武汉光庭信息技术股份有限公司 基于车载Android系统SOA架构SOMEIP通信中间层实现方法及系统
CN113467436A (zh) * 2021-06-28 2021-10-01 重庆长安汽车股份有限公司 一种基于soa服务分层的整车功能实现方法及系统
CN113806109A (zh) * 2021-09-15 2021-12-17 诚迈科技(南京)股份有限公司 基于ros2实现soa架构的座舱系统及其运行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
汽车SOA架构;洛风;《https://zhuanlan.zhihu.com/p/360385024》;20210327;第1-7页 *

Also Published As

Publication number Publication date
CN114172938A (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
CN114172938B (zh) 智能座舱soa化的实现方法、系统和智能汽车
Chen et al. Android/OSGi-based vehicular network management system
CN105960634B (zh) 用于数据传输的方法、通信网络、参与方和车辆
US20170048359A1 (en) Method and device for transmitting a message in a vehicle
US20220150317A1 (en) Universal software communication bus
CN113228601A (zh) 用于交通工具的数据交换设备和数据交换方法、用于交通工具的交通工具部件的设备和方法以及计算机程序
CN113806109A (zh) 基于ros2实现soa架构的座舱系统及其运行方法
Kovacevic et al. A java application programming interface for in-vehicle infotainment devices
Vetter et al. Development processes in automotive service-oriented architectures
Eichhorn et al. A SOA-based middleware concept for in-vehicle service discovery and device integration
CN114051040A (zh) 一种基于soa的车身域和座舱域的通讯架构及融合方法
KR101491296B1 (ko) 차량의 텔레매틱스 서비스 시스템 및 방법
US11297146B2 (en) Method for data transmission in a transportation vehicle communication network, transportation vehicle communication network, subscriber and transportation vehicle
CN115242565A (zh) 一种基于autosar实现dds通信的系统架构、通信方法及设备
CN117336113A (zh) 车辆控制系统的通信方法及相关装置
US11044317B2 (en) Control of an online service by means of a motor vehicle operator control device
Baresi et al. Hybrid service-oriented architectures: a case-study in the automotive domain
Su et al. An in-vehicle infotainment platform for integrating heterogeneous networks interconnection
Isermann et al. Electrical and electronic architectures of automobiles
CN114374714A (zh) 集中式汽车电子电气架构搭建方法、拓扑结构及存储介质
Wagner et al. Introducing a harmonized and generic cross-platform interface between a Vehicle and the Cloud
Wagner et al. Service-oriented communication for controller area networks
CN214205563U (zh) 车载以太网网关和车辆
CN116996551B (zh) 一种基于soa化中央网络控制器的车载服务控制系统及方法
CN116709265A (zh) 车载通信方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221027

Address after: 215000 Floor 12, Building N4, 2:5 Industrial Park, No. 88 Dongchang Road, Suzhou Industrial Park, Jiangsu Province

Patentee after: Zhida Chengyuan Technology Co.,Ltd.

Address before: 210012 building B, yunmi City, No. 19, ningshuang Road, Yuhuatai District, Nanjing, Jiangsu Province

Patentee before: ARCHERMIND TECHNOLOGY (NANJING) Co.,Ltd.

TR01 Transfer of patent right