一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于SOME/IP协议的虚拟机间交互系统及方法与流程

2021-10-19 22:23:00 来源:中国专利 TAG:交互 虚拟机 协议 方法 系统

一种基于some/ip协议的虚拟机间交互系统及方法
技术领域
1.本发明涉及汽车通信技术领域,尤其是涉及一种基于some/ip协议的虚拟机间交互系统及方法。


背景技术:

2.基于hypervisor的qnx是一种商用的遵从posix规范,常用用在汽车及路由器上,qnx是一种嵌入式实时操作系统,一般对系统启动速度有较高的要求。qnx hypervisor vm(虚拟机)间通讯支持共享内存访问,共享文件访问以及虚拟机之间的tcp/ip/udp网络等方式。但是,共享内存访问与共享文件访问并不完美,它们并未提供同步机制。在一个服务进程结束对共享内存的写操作之前,并没有自动机制可以阻止另一个进程(客户进程)开始对它进行读取。这明显还达不到我们想要的,我们不单是在两进程间交互数据,还想实现多个进程对共享内存和共享文件的同步访问,这也正是使用共享内存和共享文件的关键所在。同时系统framebuffer的管理比较复杂。vm虚拟机之间的tcp/ip/udp网络通讯存在不易接口化、扩展和维护,也没有过程远程调用的功能,因此经常出现信息传递缺失或不准确的问题。


技术实现要素:

3.针对上述问题,本技术创新地提出了一种基于some/ip协议的虚拟机间交互系统,至少包括:构建用于外部pc端,qnx端和android端间任两端连接的通讯路径;构建cs通讯模式,以所述android端作为client端和所述qnx端作为server端,采用基于some/ip的commonapi接口进行通信交互;采用连接订阅方式建立client端和server端通讯链路,实现点对点通讯。
4.进一步的,client端创建虚拟网卡,桥接所述qnx端的驱动节点和android端的虚拟网络节点。
5.其中,所述client端启动完成后,通过服务发现来请求连接所述server端。
6.进一步的,所述系统还包括:分别在所述client端和所述server端配置编译工具链,编译some/ip代码,用于vm之间的通讯。
7.进一步的,还包括:在所述client端和所述server端分别编写fidl,并分别设置为同一通讯接口id。
8.其中,在所述server端配置服务发现的路由,配置some/ip功能选项,及分别在server端和client端配置proxy和stub之间通讯的库。。
9.进一步的,所述系统还包括:在所述server端启动后,待所述client端使用udp发现服务,所述服务会将端口信息发送至所述client端,从而建立cs通讯链路;所述server端根据所述client端的需求订阅消息完成信息交互任务。
10.作为另一优选的,本发明还提供了一种基于some/ip协议的虚拟机间交互方法,包括以下步骤:s1:启动server端,通过服务发送的路由发送服务;s2:等待所述client端使用udp发现服务,并获取所述服务中的端口信息,建立与所述server端的cs通讯链路;s3:所述server端根据client端的需求订阅消息进行响应,并发送对应消息至所述client端,完成通信交互任务。
11.其中,所述端口信息至少包括通讯接口id,所述server端的通讯接口id设置为与所述client端的通讯接口id一致。
12.进一步的,在所述server端配置服务发现的路由,配置some/ip功能选项,及分别在server端和client端配置proxy和stub之间通讯的库。采用基于some/ip的commonapi接口进行所述server端和所述client端的通信交互;且所述client端和所述server端分别配置有编译工具链,和编译some/ip代码。
13.综上所述,本发明提供一种基于some/ip协议的虚拟机间交互系统及方法,通过构建用于外部pc端,qnx端和android端间任两端连接的通讯路径,以及cs通讯模式,采用基于some/ip的commonapi接口进行通信交互;采用连接订阅方式建立client端和server端通讯链路,实现点对点通讯,进一步实现了函数的远程调用,且开放式架构使其极易进行功能与服务的扩展,进一步满足车身网络通信的需求,提高了平台产品的开发效率。
附图说明
14.图1为本发明所述的pc端,qnx端和android端两两连接网络驱动示意图。
15.图2为本发明所述的cs通讯模式示意图。
16.图3为本发明所述的cs点对点通讯模式示意图。
具体实施方式
17.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.如图1所示即为所述的pc端,qnx端和android端两两连接网络驱动示意图,其中,以太网驱动位于qnx侧,并在qnx侧创建虚拟节点passthrough到android侧,其中,qnx侧与android侧网络节点通过brconfig进行桥接。这样可实现外部pc端,qnx端和android端三者间任两端的通讯联通。
19.如图2所示,本发明所述的cs通讯模式示意图,其中,分别在qnx端和android端配置编译工具链,编译some/ip代码,用于vm之间的通讯;在所述client端和所述server端分别编写fidl,并分别设置为同一通讯接口id。在所述server端配置服务发现的路由,配置some/ip功能选项,及server端和client端都需要配置proxy和stub之间通讯的库。
20.如图3所示,为本发明所述的通讯模式示意图。在所述的server端启动后,等待所述的client端使用udp方式的服务发现来请求服务。在确定server端服务可用后,client端
根据需求来订阅消息。server端接受该模块的订阅消息,同时将该订阅消息的接口标识id存储到订阅列表中。当server端数据变化时,根据订阅列表判断某个模块是否有订阅这条消息,将这条消息以广播的形式发送给监听方;client端发送数据给server端采用远程调用的方法;some/ip使用boost库来实现网络通讯。所述为cs完成信息交互的过程,该过程的关键在于服务发现时服务可用后的消息订阅,client端需要确保消息订阅成功。
21.作为另一优选的,本发明提供了一种基于some/ip协议的虚拟机间交互系统,至少包括:构建用于外部pc端,qnx端和android端间任两端连接的通讯路径;构建cs通讯模式,以所述android端作为client端和所述qnx端作为server端,采用基于some/ip的commonapi接口进行通信交互,由于需要android app跟qnx app之间需要交互的内容不统一,各项目的需求也不一致,为了保持平台的通用性,本系统优选的定义一个通用的接口来传递android与qnx通信的原始数据,具体的消息内容由两端的app自己协商,但不限于此。
22.构建cs点对点通讯,采用连接订阅方式完成client端和server端间的通信,从而实现函数的远程调用。
23.其中,所述client端启动完成后,通过服务发现来请求连接所述server端。
24.进一步的,在所述client端和所述server端分别编写fidl,并分别设置为同一通讯接口id。以及分别在两端配置编译工具链,编译some/ip代码,用于vm之间的通讯。
25.作为另一优选的,本发明还提供了一种基于some/ip协议的虚拟机间交互方法,包括以下步骤:s1:启动server端,通过服务发送的路由发送服务;s2:等待所述client端使用udp发现服务,并获取所述服务中的端口信息,建立与所述server端的cs通讯链路;s3:所述server端根据client端的需求订阅消息进行响应,并发送对应消息至所述client端,完成通信交互任务。
26.进一步的,在所述server端配置服务发现的路由,配置some/ip功能选项,及配置proxy和stub之间通讯的库;采用基于some/ip的commonapi接口进行所述server端和所述client端的通信交互;且所述client端和所述server端分别配置有编译工具链,和编译some/ip代码。由于some/ip开源,非常方便的移植到各种操作系统,也支持广泛的中间件特性,完全满足车身网络通信的需求,提高了平台产品的开发效率。
27.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜