虚拟机中的诊断软件的数据收发方法及其系统与流程

文档序号:24377568发布日期:2021-03-23 11:11阅读:138来源:国知局
虚拟机中的诊断软件的数据收发方法及其系统与流程

本发明属于车辆诊断技术领域,尤其涉及一种虚拟机中的诊断软件的数据收发方法及其系统。



背景技术:

车辆诊断设备往往由上位机和下位机vci构成,上位机用于接收用户输入的指令,上位机类型有手机、平板或pc端。为了实现诊断设备的多样化和售后维修的便捷,使得用户可以在上位机的操作系统中使用在另一个操作系统下开发的车辆诊断软件,需要采用虚拟机的方式,如在手机的安卓系统中安装windows虚拟机,在该windows虚拟机中安装运行环境为windows系统的车辆诊断软件,或者在电脑的windows系统中安装安卓虚拟机,在该安卓虚拟机中安装运行环境为安卓系统的车辆诊断软件。

上位机通常通过其通信模块(如usb模块或者蓝牙模块)与下位机通信,以将诊断软件发出的数据发送给ecu,或者将ecu反馈的数据发送给诊断软件,但是,要实现虚拟机中的车辆诊断软件与上位机的通信模块进行数据交互,即车辆诊断软件直接发送数据给通信模块,或者从通信模块接收数据,则需要在虚拟机中针对车辆诊断软件开发一套复杂的硬件驱动程序,以识别上位机的通信模块,硬件驱动程序的开发过程非常复杂,费时费力,效率不高。



技术实现要素:

基于此,针对上述技术问题,提供一种虚拟机中的诊断软件的数据收发方法及其系统。

为解决上述技术问题,本发明采用如下技术方案:

一方面,提供一种虚拟机中的诊断软件的数据发送方法,包括:

通过虚拟机将诊断软件发出的数据转换为网络数据,所述虚拟机安装于上位机的操作系统中,所述诊断软件安装于所述虚拟机中;

通过所述虚拟机经所述上位机的网络接口将所述网络数据发送给云端;

通过所述操作系统经所述网络接口接收来自所述云端的网络数据;

通过所述操作系统将所述网络数据转换为与下位机适配的通信数据;

通过所述操作系统将所述通信数据发送给所述下位机。

又一方面,提供一种虚拟机中的诊断软件的数据发送系统,包括存储模块,所述存储模块包括由处理器加载并执行的指令,所述指令在被执行时使所述处理器执行上述一种虚拟机中的诊断软件的数据发送方法。

又一方面,提供一种虚拟机中的诊断软件的数据接收方法,包括:

通过上位机的操作系统接收来自下位机的通信数据,所述虚拟机安装于所述操作系统中,所述诊断软件安装于所述虚拟机中;

通过所述操作系统将所述通信数据转换为网络数据;

通过所述操作系统经所述上位机的网络接口将所述网络数据发送给云端;

通过所述虚拟机经所述网络接口接收来自所述云端的网络数据;

通过所述虚拟机将所述网络数据转换为与所述诊断软件适配的数据,并发送给该诊断软件。

又一方面,提供一种虚拟机中的诊断软件的数据接收系统,包括存储模块,所述存储模块包括由处理器加载并执行的指令,所述指令在被执行时使所述处理器执行上述一种虚拟机中的诊断软件的数据接收方法。

又一方面,提供一种虚拟机中的诊断软件的数据收发方法,包括上述一种虚拟机中的诊断软件的数据发送方法以及上述一种虚拟机中的诊断软件的数据接收方法。

再一方面,提供一种虚拟机中的诊断软件的数据收发系统,包括存储模块,所述存储模块包括由处理器加载并执行的指令,所述指令在被执行时使所述处理器执行上述一种虚拟机中的诊断软件的数据收发方法。

本发明利用虚拟机中通常本身就具有网络接口的硬件驱动程序,使得虚拟机中的诊断软件可以识别出上位机的网络接口,进而与云端进行数据交互,通过云端进行数据的中转,实现虚拟机中的诊断软件的数据发送和接收,不需要为虚拟机针对上位机的通信模块开发复杂的硬件驱动程序,提高了效率,节省了成本,灵活性更高。

附图说明

下面结合附图和具体实施方式本发明进行详细说明:

图1为本发明的一种虚拟机中的诊断软件的数据发送方法的流程图;

图2为本发明的一种虚拟机中的诊断软件的数据接收方法的流程图;

图3为本发明的结构示意图。

具体实施方式

如图1所示,本说明书实施例提供一种虚拟机中的诊断软件的数据发送方法,包括:

s111、通过虚拟机将诊断软件发出的数据转换为网络数据。

其中,虚拟机安装于上位机的操作系统中,诊断软件安装于虚拟机中,上述数据可以为诊断命令。

s112、通过虚拟机经上位机的网络接口将网络数据发送给云端。

其中,在步骤s111中,诊断软件发出的数据一般为诊断仪厂家定义的协议格式,如j2534或者rp1210协议格式,云端接收到指定协议格式的数据后,会再转换为网络数据并发送给上位机。

s113、通过上述操作系统经网络接口接收来自云端的网络数据。

s114、通过上述操作系统将网络数据转换为与下位机适配的通信数据。

s115、通过上述操作系统将通信数据发送给下位机。

在一个实施例中,虚拟机为安卓虚拟机,操作系统为windows操作系统,在步骤s114和s115中,通信数据为usb数据或者蓝牙数据。

在另一个实施例中,虚拟机为windows虚拟机,操作系统为安卓操作系统,在步骤s114和s115中,通信数据为usb数据或者蓝牙数据。

如图所示,上位机110以及下位机120构成车辆诊断设备,两者通常通过usb或者蓝牙连接。

需要指出的是,虚拟机中通常本身就具有网络接口的硬件驱动程序,即虚拟机中的诊断软件可以识别出上位机的网络接口,进而与云端进行数据交互。

基于同一发明构思,本说明书实施例还提供一种虚拟机中的诊断软件的数据发送系统,包括存储模块,存储模块包括由处理器加载并执行的指令,指令在被执行时使所述处理器执行本说明书上述一种虚拟机中的诊断软件的数据发送方法部分中描述的根据本发明各种示例性实施方式的步骤。

如图2所示,本说明书实施例提供一种虚拟机中的诊断软件的数据接收方法,包括:

s121、通过上位机的操作系统接收来自下位机的通信数据。

如图3所示,诊断软件发出的诊断命令,经下位机发送给ecu后,ecu会反馈数据给下位机,下位机需要将反馈的数据发送给诊断软件。

其中,虚拟机安装于上位机的操作系统中,诊断软件安装于虚拟机中。

s122、通过上述操作系统将通信数据转换为网络数据。

s123、通过上述操作系统经上位机的网络接口将网络数据发送给云端。

云端接收到通信数据后,会再将通信数据转换为网络数据并发送给上位机。

s124、通过虚拟机经网络接口接收来自云端的网络数据。

s125、通过虚拟机将网络数据转换为与诊断软件适配的数据(诊断仪厂家定义的协议格式数据,如j2534或者rp1210协议格式的数据),并发送给该诊断软件。

在一个实施例中,虚拟机为安卓虚拟机,操作系统为windows操作系统,在步骤s114和s115中,通信数据为usb数据或者蓝牙数据。

在另一个实施例中,虚拟机为windows虚拟机,操作系统为安卓操作系统,在步骤s114和s115中,通信数据为usb数据或者蓝牙数据。

如图所示,上位机110以及下位机120构成车辆诊断设备,两者通常通过usb或者蓝牙连接。

需要指出的是,虚拟机中通常本身就具有网络接口的硬件驱动程序,即虚拟机中的诊断软件可以识别出上位机的网络接口,进而与云端进行数据交互。

基于同一发明构思,本说明书实施例还提供一种虚拟机中的诊断软件的数据接收系统,包括存储模块,存储模块包括由处理器加载并执行的指令,指令在被执行时使所述处理器执行本说明书上述一种虚拟机中的诊断软件的数据接收方法部分中描述的根据本发明各种示例性实施方式的步骤。

基于同一发明构思,本说明书实施例还提供一种虚拟机中的诊断软件的数据收发方法,该方法包括本说明书一种虚拟机中的诊断软件的数据发送方法部分中描述的根据本发明各种示例性实施方式的步骤以及本说明书一种虚拟机中的诊断软件的数据接收方法部分中描述的根据本发明各种示例性实施方式的步骤。

基于同一发明构思,本说明书实施例还提供一种虚拟机中的诊断软件的数据收发系统,该系统包括存储模块,所述存储模块包括由处理器加载并执行的指令,所述指令在被执行时使所述处理器执行本说明书一种虚拟机中的诊断软件的数据收发方法。

其中,本说明书中的存储模块可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)和/或高速缓存存储单元,还可以进一步包括只读存储单元(rom)。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

但是,本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明的权利要求书范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1