本发明涉及车辆soa服务,具体涉及一种用于实现soa服务的系统与方法、存储介质。
背景技术:
1、soa是一种基于服务的架构,是未来汽车与物联网打通的必要基础技术,但由于传统的soa服务在汽车上调用通常通过系统内部ipc通信或车载以太网some/ip方式,由于当前车载计算平台通常基于异构soc芯片开发,通常具备实时操作系统rtos(部署于实时内核cortex m/r上,例如autosar os)和posix操作系统(部署于性能内核如cortex a上,例如linux/qnx),而具体的车控服务则根据其特性部署于不同的操作系统之上。
2、传统的soa服务通常将服务接口通过所在操作系统中的some/ip协议栈直接暴露出来,这种方式对于通常运行在性能内核上的posix操作系统较为适用,但对于通常运行在实时内核上的rtos系统来说系统资源开销太大,严重时会造成系统资源不足,无法将所需功能服务化暴露的问题。
技术实现思路
1、本发明的目的在于提出一种用于实现soa服务的系统与方法、存储介质,以解决传统的soa服务将服务接口通过所在操作系统中的some/ip协议栈直接暴露出来,不适用于运行在实时内核上的rtos系统的技术问题。
2、为实现上述目的,根据本发明的第一方面,提供一种用于实现soa服务的系统,包括soc,所述soc包括实时内核和性能内核;所述实时内核和所述性能内核通过soc内部总线收发接口进行交互;所述实时内核设置有至少一个服务业务逻辑组件和soa-api转换组件;所述性能内核设置有服务代理组件;
3、其中,所述服务业务逻辑组件设置有多个服务提供接口,所述多个服务提供接口用于提供多种不同类型的soa服务;所述soa-api转换组件设置有多个转换匹配接口,所述多个转换匹配接口与所述多个服务提供接口一一对应;
4、所述服务代理组件设置有多个服务调用接口,所述多个服务调用接口与所述多个转换匹配接口一一对应;所述多个服务调用接口通过ipc通信协议或some/ip协议进行暴露,以供服务消费方调用。
5、可选的,所述服务业务逻辑组件基于autosar接口标准将所述多个服务提供接口暴露至autosar软件接口层上;所述soa-api转换组件基于autosar接口标准将所述多个转换匹配接口暴露至所述autosar软件接口层上,所述soa-api转换组件与所述服务业务逻辑组件通过所述多个转换匹配接口、所述autosar软件接口层以及多个服务提供接口进行交互。
6、可选的,所述soa-api转换组件与所述服务代理组件基于soc内部总线协议进行接口适配。
7、可选的,所述多种不同类型的soa服务包括:有返回状态的调用服务、无返回状态的调用服务、事件服务、通知服务、属性查询服务、属性设置服务中的至少一种类型。
8、可选的,所述soa-api转换组件还用于获取所述服务业务逻辑组件提供的多个服务提供接口的接口信息,并根据所述多个服务提供接口的接口信息以及预设的接口转换逻辑获得与所述多个转换匹配接口。
9、可选的,所述soa-api转换组件还用于获取所述多种不同类型的soa服务的服务id,并根据所述多种不同类型的soa服务的服务id、所述多个服务提供接口的接口信息以及所述多个转换匹配接口的接口信息生成对应的多个服务信息;
10、所述服务代理组件还用于根据所述多个服务信息生成所述多个服务调用接口。
11、根据本发明的第二方面,提供一种用于实现soa服务的方法,基于如上所述的用于实现soa服务的系统实现,所述方法包括:
12、当服务消费方通过ipc通信协议或some/ip协议调用所述多个服务调用接口中的任一个服务调用接口时,所述服务代理组件根据所述多个服务调用接口与所述多个转换匹配接口之间的对应关系,确定与被调用的服务调用接口对应的目标转换匹配接口,并与所述soa-api转换组件进行交互,调用所述目标转换匹配接口;
13、所述soa-api转换组件响应所述目标转换匹配接口的调用,根据所述多个转换匹配接口与所述多个服务提供接口之间的对应关系,确定与所述目标转换匹配接口对应的目标服务提供接口,并与所述服务业务逻辑组件进行交互,调用所述目标服务提供接口;
14、所述服务业务逻辑组件响应所述目标服务提供接口的调用,执行所述目标服务提供接口对应的服务业务逻辑得到执行结果,将所述执行结果通过所述目标服务提供接口发送给所述soa-api转换组件;
15、所述soa-api转换组件将所述执行结果通过所述目标转换匹配接口转发给所述服务代理组件;
16、所述服务代理组件将所述执行结果通过被调用的服务调用接口转发给所述服务消费方。
17、可选的,所述方法包括:
18、所述soa-api转换组件获取所述服务业务逻辑组件提供的多个服务提供接口的接口信息,并根据所述多个服务提供接口的接口信息以及预设的接口转换逻辑获得与所述多个转换匹配接口。
19、可选的,所述方法包括:
20、所述soa-api转换组件还用于获取所述多种不同类型的soa服务的服务id,并根据所述多种不同类型的soa服务的服务id、所述多个服务提供接口的接口信息以及所述多个转换匹配接口的接口信息生成对应的多个服务信息;
21、所述服务代理组件根据所述多个服务信息生成所述多个服务调用接口,并通过ipc通信协议或some/ip协议进行暴露。
22、根据本发明的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的用于实现soa服务的方法。
23、本发明的以上方案至少具有以下有益效果:
24、本发明的以上方案可以基于异构soc的内部核间通信部署soa服务,使得运行在实时内核上的rtos系统的soa服务可以通过性能内核来发布其服务接口,避免实时rtos系统的服务直接通过some/ip方式提供的开销过大,有利于实现更高效的soa服务部署,从而提升整车服务数量,实现更便捷的车控交互体验,满足当前车辆功能全面服务化的需求。
25、本发明的其它特征和优点将在随后的说明书中阐述。
1.一种用于实现soa服务的系统,其特征在于,包括soc,所述soc包括实时内核和性能内核;所述实时内核和所述性能内核通过soc内部总线收发接口进行交互;所述实时内核设置有至少一个服务业务逻辑组件和soa-api转换组件;所述性能内核设置有服务代理组件;
2.根据权利要求1所述的用于实现soa服务的系统,其特征在于,所述服务业务逻辑组件基于autosar接口标准将所述多个服务提供接口暴露至autosar软件接口层上;所述soa-api转换组件基于autosar接口标准将所述多个转换匹配接口暴露至所述autosar软件接口层上,所述soa-api转换组件与所述服务业务逻辑组件通过所述多个转换匹配接口、所述autosar软件接口层以及多个服务提供接口进行交互。
3.根据权利要求1所述的用于实现soa服务的系统,其特征在于,所述soa-api转换组件与所述服务代理组件基于soc内部总线协议进行接口适配。
4.根据权利要求1所述的用于实现soa服务的系统,其特征在于,所述多种不同类型的soa服务包括:有返回状态的调用服务、无返回状态的调用服务、事件服务、通知服务、属性查询服务、属性设置服务中的至少一种类型。
5.根据权利要求1~4中任一项所述的用于实现soa服务的系统,其特征在于,所述soa-api转换组件还用于获取所述服务业务逻辑组件提供的多个服务提供接口的接口信息,并根据所述多个服务提供接口的接口信息以及预设的接口转换逻辑获得与所述多个转换匹配接口。
6.根据权利要求5所述的用于实现soa服务的系统,其特征在于,所述soa-api转换组件还用于获取所述多种不同类型的soa服务的服务id,并根据所述多种不同类型的soa服务的服务id、所述多个服务提供接口的接口信息以及所述多个转换匹配接口的接口信息生成对应的多个服务信息;
7.一种用于实现soa服务的方法,其特征在于,基于权利要求1所述的用于实现soa服务的系统实现,所述方法包括:
8.根据权利要求7所述的用于实现soa服务的方法,其特征在于,所述方法包括:
9.根据权利要求8所述的用于实现soa服务的方法,其特征在于,所述方法包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求7~9中任一项所述的用于实现soa服务的方法。
