CN113407362A - 基于车载Android***SOA架构SOMEIP通信中间层实现方法及*** - Google Patents
基于车载Android***SOA架构SOMEIP通信中间层实现方法及*** Download PDFInfo
- Publication number
- CN113407362A CN113407362A CN202110666891.4A CN202110666891A CN113407362A CN 113407362 A CN113407362 A CN 113407362A CN 202110666891 A CN202110666891 A CN 202110666891A CN 113407362 A CN113407362 A CN 113407362A
- Authority
- CN
- China
- Prior art keywords
- someip
- service
- interface
- android
- soa
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000004891 communication Methods 0.000 title claims abstract description 83
- 238000004806 packaging method and process Methods 0.000 claims abstract description 30
- 230000006870 function Effects 0.000 claims description 28
- 238000005538 encapsulation Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于车载Android***SOA架构SOMEIP通信中间层实现方法、***、电子设备及存储介质,方法包括:利用AndroidNDK工具编译SOMEIP C++库;通过JNI接口调用SOMEIP库函数,并封装成***服务;利用Android AIDL跨进程调用SOMEIP Service;利用python脚本读取SOA服务接口模板文件中SOMEIP服务的基本服务信息,将服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件;将java代码文件添加到Android工程中。通过本发明,能够在Android***上SOMEIP通信中间层的实现。
Description
技术领域
本发明涉及计算机领域,更具体地,涉及一种基于车载Android***SOA架构SOMEIP通信中间层实现方法及***。
背景技术
智能驾驶领域中,汽车IVI***(车载娱乐信息***)是集成于汽车中控台的一台智能多媒体设备,越来越多的厂商采用Android***来设计IVI***,所以,基于Android***SOA(面向服务)软件架构SOMEIP通信中间层的实现是智能驾驶领域中非常重要的一步。
随着汽车智能化的快速发展,SOMEIP协议被大量使用在车载ECU设备中进行车载以太网的数据通信,基于Android***设计的IVI***与车载ECU的通信也必须采用SOMEIP协议。现有的SOMEIP通信中间层代码实现均以Linux***为平台,采用C++语言实现,而无法在Android***上使用。
在Android***上,以面向服务的架构为设计理念,结合Android***API,实现SOMEIP通信中间层,同时服务接口的设计必须符合AUTOSAR架构规范,是一个待解决的问题。
发明内容
本发明针对现有技术中存在的技术问题,提供一种基于车载Android***SOA架构SOMEIP通信中间层实现方法及***。
根据本发明的第一方面,提供了一种基于车载Android***SOA架构SOMEIP通信中间层实现方法,包括:利用Android NDK工具编译SOMEIP C++库;通过JNI接口调用SOMEIP库函数,并封装成***服务;利用Android AIDL跨进程调用SOMEIP Service,生成ServiceManager类;制定SOA服务接口模板文件,保存用户输入的SOMEIP服务的基本服务信息;利用python脚本读取所述SOA服务接口模板文件中SOMEIP服务的基本服务信息,将所述服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件;将生成的java代码文件添加到Android工程中,与其它java代码文件打包生成SDK程序包供应用层使用。
在上述技术方案的基础上,本发明还可以作出如下改进。
可选的,所述利用Android NDK工具编译SOMEIP C++库,包括:
将SOMEIP C++库添加到Android工程编写的CMakeLists文件中,利用CMake和NDK对SOMEIPC++库进行编译,生成不同CPU架构的so文件,封装SOMEIP库通用函数,生成JNI接口。
可选的,所述通过JNI接口调用SOMEIP库函数,并封装成***服务,包括:基于Android***的service组件,创建***级服务SOMEIP Service,通过JNI接口调用SOMEIP库,所述***级服务SOMEIP Service随***开机启动。
可选的,所述利用Android AIDL跨进程调用SOMEIP Service,生成ServiceManager类,包括:利用Android AIDL跨进程访问***级服务SOMEIP Service,调用SOMEIP接口,并创建SOA服务proxy/skeleton的基类。
可选的,所述制定SOA服务接口模板文件,保存用户输入的SOMEIP服务的基本服务信息,包括:创建SOA服务接口模板文件,所述SOA服务接口模板文件中包含服务基本信息,所述服务基本信息包括服务名称、服务ID、服务接口信息,所述服务接口信息包括方法接口类型、方法接口名称、方法接口ID、方法接口参数以及方法所属事件组ID,所述方法接口参数为方法接口的输入输出参数及参数类型,所述SOA服务接口模板文件为Excel表格或xml文件;接收用户向所述SOA服务接口模板文件中输入的基本服务信息以及通信配置信息,所述通信配置信息包括SOMEIP通信所需的协议IP地址以及通信端口。
可选的,所述利用python脚本读取所述SOA服务接口模板文件中SOMEIP服务的基本服务信息,将所述服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件,包括:编写python脚本,通过python脚本读取用户向所述SOA服务接口模板文件中的基本服务信息,生成json字符串数据;将生成的json字符串数据输入到预先创建的SOMEIP通信中间层代码模板文件,生成通信中间层proxy/skeleton代码文件,所述SOMEIP通信中间层代码模板文件中具有SOMEIP定义的method/event/field三类方法接口的全部实现流程,且符合AUTOSAR架构规范。
可选的,所述SOMEIP通信中间层代码模板文件为jinja2代码模板文件。
根据本发明的第二方面,提供一种基于车载Android***SOA架构SOMEIP通信中间层实现***,包括:编译模块,用于利用Android NDK工具编译SOMEIP C++库;封装模块,用于通过JNI接口调用SOMEIP库函数,并封装成***服务;调用模块,用于利用Android AIDL跨进程调用SOMEIP Service,生成ServiceManager类;保存模块,用于制定SOA服务接口模板文件,保存用户输入的SOMEIP服务的基本服务信息;生成模块,用于利用python脚本读取所述SOA服务接口模板文件中SOMEIP服务的基本服务信息,将所述服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件;打包模块,用于将生成的java代码文件添加到Android工程中,与其它java代码文件打包生成SDK程序包供应用层使用。
根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现基于车载Android***SOA架构SOMEIP通信中间层实现方法的步骤。
根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现基于车载Android***SOA架构SOMEIP通信中间层实现方法的步骤。
本发明提供的一种基于车载Android***SOA架构SOMEIP通信中间层实现方法方法及***,利用Android NDK工具编译SOMEIP C++库;通过JNI接口调用SOMEIP库函数,并封装成***服务;利用Android AIDL跨进程调用SOMEIP Service,;利用python脚本读取SOA服务接口模板文件中SOMEIP服务的基本服务信息,将服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件;将java代码文件添加到Android工程中,打包成SDK程序包工应用层使用,在Android***上,以面向服务的架构为设计理念,结合Android***API,实现SOMEIP通信中间层,同时服务接口的设计符合AUTOSAR架构规范。
附图说明
图1为本发明提供的一种基于车载Android***SOA架构SOMEIP通信中间层实现方法流程图;
图2为本发明提供的一种基于车载Android***SOA架构SOMEIP通信中间层实现***的结构示意图;
图3为本发明提供的一种可能的电子设备的硬件结构示意图;
图4为本发明提供的一种可能的计算机可读存储介质的硬件结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1为本发明提供的一种基于车载Android***SOA架构SOMEIP通信中间层实现方法流程图,如图1所示,方法包括:101、利用Android NDK工具编译SOMEIP C++库;102、通过JNI接口调用SOMEIP库函数,并封装成***服务;103、利用Android AIDL跨进程调用SOMEIPService,生成ServiceManager类;104、制定SOA服务接口模板文件,保存用户输入的SOMEIP服务的基本服务信息;105、利用python脚本读取所述SOA服务接口模板文件中SOMEIP服务的基本服务信息,将所述服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件;106、将生成的java代码文件添加到Android工程中,与其它java代码文件打包生成SDK程序包供应用层使用。
可以理解的是,基于背景技术中的缺陷和需求,本发明提出了一种基于java语言,结合Android***API实现SOMEIP通信中间层代码的方法。
具体实现时,利用Android NDK工具编译SOMEIP C++库;通过JNI接口调用SOMEIP库函数,并封装成***服务;利用Android AIDL跨进程调用SOMEIP Service;利用python脚本读取SOA服务接口模板文件中SOMEIP服务的基本服务信息,将服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件;将java代码文件添加到Android工程中,打包成SDK程序包工应用层使用,至此方案结束。
本发明在Android***上,以面向服务的架构为设计理念,结合Android***API,实现SOMEIP通信中间层,同时服务接口的设计符合AUTOSAR架构规范;解决了Android平台SOMEIP通信中间层实现的问题,同时代码架构符合AUTOSAR规范,并利用模板生成代码文件,大大提高了开发效率,复用性高,可维护性好。
在一种可能的实施例方式中,利用Android NDK工具编译SOMEIP C++库,具体包括:将SOMEIP C++库添加到Android工程中编写的CMakeLists文件,利用CMake和NDK对SOMEIP库进行编译,生成arm、x86等不同CPU架构的so文件,封装SOMEIP库通用函数,生成java本地接口(JNI)供上层调用。
在一种可能的实施例方式中,通过JNI接口调用SOMEIP库函数,并封装成***服务,包括:基于Android***的service组件,创建***级服务SOMEIP Service,通过JNI接口调用SOMEIP库,所述***级服务SOMEIP Service随***开机启动。
可以理解的是,在生成了java本地接口(JNI接口)后,基于Android四大组件之一的service组件,创建***级服务SOMEIP Service,通过JNI接口调用SOMEIP库,该服务随***开机启动。在车载***中,安全性最为重要,而***级服务的优点是权限高,不会被***杀死进程而导致无法进行数据通信。
在一种可能的实施例方式中,利用Android AIDL跨进程调用SOMEIP Service,生成ServiceManager类,包括:利用Android AIDL跨进程访问***级服务SOMEIP Service,调用SOMEIP接口,并创建SOA服务proxy/skeleton的基类。
可以理解的是,生成了***级服务SOMEIP Service后,另起Android工程,创建ServiceManager类,利用Android AIDL(Android Interface Definition Language)跨进程访问***级服务SOMEIP Service,调用SOMEIP接口,并创建SOA服务proxy/skeleton的基类。
在一种可能的实施例方式中,利用Android AIDL(Android InterfaceDefinition Language)跨进程访问***级服务SOMEIP Service,创建了SOA服务proxy/skeleton的基类后,创建SOA服务接口模板文件,具体为,创建SOA服务接口模板文件,所述SOA服务接口模板文件中包含服务基本信息,所述服务基本信息包括服务名称、服务ID、服务接口信息,所述服务接口信息包括方法接口类型、方法接口名称、方法接口ID、方法接口参数以及方法所属事件组ID,所述方法接口参数为方法接口的输入输出参数及参数类型等描述信息,SOA服务接口模板文件为Excel表格或xml文件。
创建了SOA服务接口模板文件后,用户可通过SOA服务接口模板文件输入基本服务信息以及通信配置信息,通信配置信息包括SOMEIP通信所需的协议IP地址以及通信端口,其中,SOMEIP通信所需的协议主要为UDP/TCP。
在一种可能的实施例方式中,所述利用python脚本读取所述SOA服务接口模板文件中SOMEIP服务的基本服务信息,将所述服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件,包括:编写python脚本,通过python脚本读取用户向SOA服务接口模板文件中的基本服务信息,生成json字符串数据;将生成的json字符串数据输入到预先创建的SOMEIP通信中间层代码模板文件,生成通信中间层proxy/skeleton代码文件。其中,SOMEIP通信中间层代码模板文件中具有SOMEIP定义的method/event/field三类方法接口的全部实现流程,并且从服务的创建、寻找服务、request/response、订阅事件等流程设计全都符合AUTOSAR架构规范。
需要说明的是,通过104和105两个步骤,用户只需按照Excel表格或xml模板输入服务信息及服务接口信息,再通过jinja2代码模板即可自动生成SOMEIP服务的所有java代码文件,而不需要手写大量的服务重复代码,提高开发效率。
最后,将生成的服务proxy/skeleton代码文件添加到Android工程中,与其他java代码文件打包生成SDK供应用层使用,完成在Android***上SOMEIP通信中间层代码的实现。
下面对本发明提供的车载Android***SOA架构SOMEIP通信中间层实现方法进行整体描述,主要包括以下步骤:
(1)基于C++语言实现SOMEIP通信协议,再利用Android NDK工具编译SOMEIP C++代码,生成arm、x86等不同CPU架构的so库文件,添加入Android项目中,封装SOMEIP库的通用函数生成java本地接口(JNI),供上层调用。
(2)使用Android四大组件之一的service,通过JNI调用SOMEIP库函数,提升service权限为***服务,随***开机启动。
(3)基于Android IPC机制,通过Android AIDL跨进程调用SOMEIP Service,并生成ServiceManager类。
(4)使用预先指定好的Excel表格或xml模板文件,接收并保存用户输入的SOMEIP服务的服务信息、对应服务的接口信息以及通信配置信息。
(5)通过python语言编写的代码生成脚本读取保存服务信息等数据的表格或xml文件,生成json格式数据,将数据输入预先制作的SOMEIP通信中间层代码模板,生成java代码文件,所述代码SOMEIP通信中间层模板中具有所述服务方法接口的全部实现流程。
(6)将生成的服务接口java代码文件添加入Android工程中打包生成供应用层集成的Android SOMEIP通信中间层SDK文件,至此,方案结束。
图2为本发明实施例提供的一种基于车载Android***SOA架构SOMEIP通信中间层实现***结构图,如图2所示,一种车载Android***SOA架构SOMEIP通信中间层实现***,包括编译模块201、封装模块202、调用模块203、保存模块204、生成模块205和打包模块206,其中:
编译模块201,用于利用Android NDK工具编译SOMEIP C++库;封装模块202,用于通过JNI接口调用SOMEIP库函数,并封装成***服务;调用模块203,用于利用Android AIDL跨进程调用SOMEIP Service,生成ServiceManager类;保存模块204,用于制定SOA服务接口模板文件,保存用户输入的SOMEIP服务的基本服务信息;生成模块205,用于利用python脚本读取所述SOA服务接口模板文件中SOMEIP服务的基本服务信息,将所述服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件;打包模块206,用于将生成的java代码文件添加到Android工程中,与其它java代码文件打包生成SDK程序包供应用层使用。
可以理解的是,本发明提供的一种基于车载Android***SOA架构SOMEIP通信中间层实现***与前述各实施例提供的车载Android***SOA架构SOMEIP通信中间层实现方法相对应,车载Android***SOA架构SOMEIP通信中间层实现***的相关技术特征可参考车载Android***SOA架构SOMEIP通信中间层实现方法的相关技术特征,在此不再赘述。
请参阅图3,图3为本发明实施例提供的电子设备的实施例示意图。如图3所示,本发明实施例提了一种电子设备300,包括存储器310、处理器320及存储在存储器310上并可在处理器320上运行的计算机程序311,处理器320执行计算机程序1311时实现以下步骤:利用Android NDK工具编译SOMEIP C++库;通过JNI接口调用SOMEIP库函数,并封装成***服务;利用Android AIDL跨进程调用SOMEIP Service,生成ServiceManager类;制定SOA服务接口模板文件,保存用户输入的SOMEIP服务的基本服务信息;利用python脚本读取所述SOA服务接口模板文件中SOMEIP服务的基本服务信息,将所述服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件;将生成的java代码文件添加到Android工程中,与其它java代码文件打包生成SDK程序包供应用层使用。
请参阅图4,图4为本发明提供的一种计算机可读存储介质的实施例示意图。如图4所示,本实施例提供了一种计算机可读存储介质400,其上存储有计算机程序411,该计算机程序411被处理器执行时实现如下步骤:利用Android NDK工具编译SOMEIP C++库;通过JNI接口调用SOMEIP库函数,并封装成***服务;利用Android AIDL跨进程调用SOMEIPService,生成ServiceManager类;制定SOA服务接口模板文件,保存用户输入的SOMEIP服务的基本服务信息;利用python脚本读取所述SOA服务接口模板文件中SOMEIP服务的基本服务信息,将所述服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件;将生成的java代码文件添加到Android工程中,与其它java代码文件打包生成SDK程序包供应用层使用。
本发明实施例提供的一种基于车载Android***SOA架构SOMEIP通信中间层实现方法及***,利用Android NDK工具编译SOMEIP C++库;通过JNI接口调用SOMEIP库函数,并封装成***服务;利用Android AIDL跨进程调用SOMEIP Service,;利用python脚本读取SOA服务接口模板文件中SOMEIP服务的基本服务信息,将服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件;将java代码文件添加到Android工程中,打包成SDK程序包工应用层使用,在Android***上,以面向服务的架构为设计理念,结合Android***API,实现SOMEIP通信中间层,同时服务接口的设计符合AUTOSAR架构规范,解决了Android平台SOMEIP通信中间层实现的问题,同时代码架构符合AUTOSAR规范,并利用模板生成代码文件,大大提高了开发效率,复用性高,可维护性好。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种基于车载Android***SOA架构SOMEIP通信中间层实现方法,其特征在于,包括:
利用Android NDK工具编译SOMEIP C++库;
通过JNI接口调用SOMEIP库函数,并封装成***服务;
利用Android AIDL跨进程调用SOMEIP Service,生成ServiceManager类;
制定SOA服务接口模板文件,保存用户输入的SOMEIP服务的基本服务信息;
利用python脚本读取所述SOA服务接口模板文件中SOMEIP服务的基本服务信息,将所述服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件;
将生成的java代码文件添加到Android工程中,与其它java代码文件打包生成SDK程序包供应用层使用。
2.根据权利要求1所述的方法,其特征在于,所述利用Android NDK工具编译SOMEIP C++库,包括:
将SOMEIP C++库添加到Android工程编写的CMakeLists文件中,利用CMake和NDK对SOMEIPC++库进行编译,生成不同CPU架构的so文件,封装SOMEIP库通用函数,生成JNI接口。
3.根据权利要求2所述的方法,其特征在于,所述通过JNI接口调用SOMEIP库函数,并封装成***服务,包括:
基于Android***的service组件,创建***级服务SOMEIP Service,通过JNI接口调用SOMEIP库,所述***级服务SOMEIP Service随***开机启动。
4.根据权利要求3所述的方法,其特征在于,所述利用Android AIDL跨进程调用SOMEIPService,生成ServiceManager类,包括:
利用Android AIDL跨进程访问***级服务SOMEIP Service,调用SOMEIP接口,并创建SOA服务proxy/skeleton的基类。
5.根据权利要求4所述的方法,其特征在于,所述制定SOA服务接口模板文件,保存用户输入的SOMEIP服务的基本服务信息,包括:
创建SOA服务接口模板文件,所述SOA服务接口模板文件中包含服务基本信息,所述服务基本信息包括服务名称、服务ID、服务接口信息,所述服务接口信息包括方法接口类型、方法接口名称、方法接口ID、方法接口参数以及方法所属事件组ID,所述方法接口参数为方法接口的输入输出参数及参数类型,所述SOA服务接口模板文件为Excel表格或xml文件;
接收用户向所述SOA服务接口模板文件中输入的基本服务信息以及通信配置信息,所述通信配置信息包括SOMEIP通信所需的协议IP地址以及通信端口。
6.根据权利要求5所述的方法,其特征在于,所述利用python脚本读取所述SOA服务接口模板文件中SOMEIP服务的基本服务信息,将所述服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件,包括:
编写python脚本,通过python脚本读取用户向所述SOA服务接口模板文件中的基本服务信息,生成json字符串数据;
将生成的json字符串数据输入到预先创建的SOMEIP通信中间层代码模板文件,生成通信中间层proxy/skeleton代码文件,所述SOMEIP通信中间层代码模板文件中具有SOMEIP定义的method/event/field三类方法接口的全部实现流程,且符合AUTOSAR架构规范。
7.根据权利要求1或6所述的方法,其特征在于,所述SOMEIP通信中间层代码模板文件为jinja2代码模板文件。
8.一种基于车载Android***SOA架构SOMEIP通信中间层实现***,其特征在于,包括:
编译模块,用于利用Android NDK工具编译SOMEIP C++库;
封装模块,用于通过JNI接口调用SOMEIP库函数,并封装成***服务;
调用模块,用于利用Android AIDL跨进程调用SOMEIP Service,生成ServiceManager类;
保存模块,用于制定SOA服务接口模板文件,保存用户输入的SOMEIP服务的基本服务信息;
生成模块,用于利用python脚本读取所述SOA服务接口模板文件中SOMEIP服务的基本服务信息,将所述服务基本信息输入SOMEIP通信中间层代码模板文件中,生成java代码文件;
打包模块,用于将生成的java代码文件添加到Android工程中,与其它java代码文件打包生成SDK程序包供应用层使用。
9.一种电子设备,其特征在于,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现如权利要求1-7任一项所述的基于车载Android***SOA架构SOMEIP通信中间层实现方法的步骤。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现如权利要求1-7任一项所述的基于车载Android***SOA架构SOMEIP通信中间层实现方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110666891.4A CN113407362A (zh) | 2021-06-16 | 2021-06-16 | 基于车载Android***SOA架构SOMEIP通信中间层实现方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110666891.4A CN113407362A (zh) | 2021-06-16 | 2021-06-16 | 基于车载Android***SOA架构SOMEIP通信中间层实现方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113407362A true CN113407362A (zh) | 2021-09-17 |
Family
ID=77684292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110666891.4A Pending CN113407362A (zh) | 2021-06-16 | 2021-06-16 | 基于车载Android***SOA架构SOMEIP通信中间层实现方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113407362A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114051040A (zh) * | 2021-11-05 | 2022-02-15 | 诚迈科技(南京)股份有限公司 | 一种基于soa的车身域和座舱域的通讯架构及融合方法 |
CN114172938A (zh) * | 2022-02-10 | 2022-03-11 | 诚迈科技(南京)股份有限公司 | 智能座舱soa化的实现方法、***和智能汽车 |
CN114285831A (zh) * | 2021-12-23 | 2022-04-05 | 中汽创智科技有限公司 | 一种汽车开放架构的数据传输方法及装置 |
CN114301934A (zh) * | 2021-11-24 | 2022-04-08 | 岚图汽车科技有限公司 | 一种辅助驾驶组件的服务接口***、控制方法及其设备 |
CN115865980A (zh) * | 2022-11-29 | 2023-03-28 | 重庆长安汽车股份有限公司 | Soa通讯架构、车辆、构建方法及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840334A (zh) * | 2010-04-16 | 2010-09-22 | 中国电子科技集团公司第二十八研究所 | 一种软件构件服务化封装方法 |
US20140137184A1 (en) * | 2012-11-13 | 2014-05-15 | Auckland Uniservices Ltd. | Security system and method for operating systems |
US20150332043A1 (en) * | 2014-05-15 | 2015-11-19 | Auckland Uniservices Limited | Application analysis system for electronic devices |
CN111475149A (zh) * | 2020-04-03 | 2020-07-31 | 爱瑟福信息科技(上海)有限公司 | Someip通信中间层代码实现方法及其*** |
CN112311745A (zh) * | 2019-08-02 | 2021-02-02 | 北京新能源汽车股份有限公司 | 一种车载网络控制方法及车载网络 |
-
2021
- 2021-06-16 CN CN202110666891.4A patent/CN113407362A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840334A (zh) * | 2010-04-16 | 2010-09-22 | 中国电子科技集团公司第二十八研究所 | 一种软件构件服务化封装方法 |
US20140137184A1 (en) * | 2012-11-13 | 2014-05-15 | Auckland Uniservices Ltd. | Security system and method for operating systems |
US20150332043A1 (en) * | 2014-05-15 | 2015-11-19 | Auckland Uniservices Limited | Application analysis system for electronic devices |
CN112311745A (zh) * | 2019-08-02 | 2021-02-02 | 北京新能源汽车股份有限公司 | 一种车载网络控制方法及车载网络 |
CN111475149A (zh) * | 2020-04-03 | 2020-07-31 | 爱瑟福信息科技(上海)有限公司 | Someip通信中间层代码实现方法及其*** |
Non-Patent Citations (2)
Title |
---|
卢誉声: "《移动平台深度神经网络实战:原理架构与优化》", 31 December 2019 * |
天楚锐齿: "在Android9下用ndk编译vSomeIP和CommonAPI以及使用例子", 《HTTP://WWW.MAX-SHU.COM/BLOG/?P=1079》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114051040A (zh) * | 2021-11-05 | 2022-02-15 | 诚迈科技(南京)股份有限公司 | 一种基于soa的车身域和座舱域的通讯架构及融合方法 |
CN114301934A (zh) * | 2021-11-24 | 2022-04-08 | 岚图汽车科技有限公司 | 一种辅助驾驶组件的服务接口***、控制方法及其设备 |
CN114285831A (zh) * | 2021-12-23 | 2022-04-05 | 中汽创智科技有限公司 | 一种汽车开放架构的数据传输方法及装置 |
CN114285831B (zh) * | 2021-12-23 | 2024-03-08 | 中汽创智科技有限公司 | 一种汽车开放架构的数据传输方法及装置 |
CN114172938A (zh) * | 2022-02-10 | 2022-03-11 | 诚迈科技(南京)股份有限公司 | 智能座舱soa化的实现方法、***和智能汽车 |
CN114172938B (zh) * | 2022-02-10 | 2022-05-20 | 诚迈科技(南京)股份有限公司 | 智能座舱soa化的实现方法、***和智能汽车 |
CN115865980A (zh) * | 2022-11-29 | 2023-03-28 | 重庆长安汽车股份有限公司 | Soa通讯架构、车辆、构建方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113407362A (zh) | 基于车载Android***SOA架构SOMEIP通信中间层实现方法及*** | |
US7337436B2 (en) | System and method for cross platform and configuration build system | |
US8756616B2 (en) | System and method for reducing the static footprint of mixed-language JAVA classes | |
WO2022016848A1 (zh) | 一种根据服务角色的进行应用部署的方法及装置 | |
US20080196004A1 (en) | Apparatus and method for developing component-based software | |
CN111399840B (zh) | 一种模块开发方法及装置 | |
CN113805882A (zh) | 应用程序开发的方法、装置、电子设备及存储介质 | |
CN111651169B (zh) | 基于web容器的区块链智能合约运行方法及*** | |
CN115658042A (zh) | 混合应用组件式开发方法、***、设备及存储介质 | |
CN110457013B (zh) | 程序组件配置装置及方法 | |
CN116737117A (zh) | 基于Autosar架构的模型开发方法 | |
CN111596951A (zh) | 一种工程文件的配置方法及装置 | |
CN114895935A (zh) | 刷写车辆ecu的方法、装置、电子设备及存储介质 | |
CN112416612B (zh) | 服务调用方法、装置、计算机设备和可读存储介质 | |
US20040157593A1 (en) | Modularization for J2ME platform implementation | |
CN110659022B (zh) | 一种基于Java自动调用Python脚本的方法 | |
CN112905271A (zh) | 一种应用程序接口api的调用方法、装置及电子设备 | |
CN116342283A (zh) | 可信智能合约实现方法、装置、设备及可读存储介质 | |
CN111625225A (zh) | 一种程序指定数据输出方法和装置 | |
CN116243923A (zh) | 一种小程序处理方法、装置及电子设备 | |
CN107463423B (zh) | 依赖包工具的验证方法、存储介质、电子设备及*** | |
CN116107623A (zh) | 一种软件开发方法、装置及电子设备 | |
CN115809076A (zh) | Ecu软件自动化集成方法及*** | |
CN112506943B (zh) | 一种异构数据服务提供方法、装置、设备和介质 | |
CN113778451B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210917 |
|
RJ01 | Rejection of invention patent application after publication |