CN114880658A - 一种车辆中数据的处理方法以及相关设备 - Google Patents

一种车辆中数据的处理方法以及相关设备 Download PDF

Info

Publication number
CN114880658A
CN114880658A CN202210421778.4A CN202210421778A CN114880658A CN 114880658 A CN114880658 A CN 114880658A CN 202210421778 A CN202210421778 A CN 202210421778A CN 114880658 A CN114880658 A CN 114880658A
Authority
CN
China
Prior art keywords
virtual machine
machine monitor
vehicle
operating system
access request
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
Application number
CN202210421778.4A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210421778.4A priority Critical patent/CN114880658A/zh
Publication of CN114880658A publication Critical patent/CN114880658A/zh
Priority to PCT/CN2022/137880 priority patent/WO2023202096A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例公开一种车辆中数据的处理方法以及相关设备,该方法可将计算机技术应用于车辆领域中,车辆包括:N种安全等级的硬件设备和与N种安全等级的硬件设备对应的N个虚拟机监视器,虚拟机监视器部署于虚拟化层,每个虚拟机监视器上运行有操作系统,方法包括:第一虚拟机监视器获取目标访问请求,目标访问请求为车辆内的操作系统针对车辆中的硬件设备发起的访问请求;若目标访问请求的访问地址超出第一虚拟机监视器的管理范围,则向第二虚拟机监视器发送指示信息,指示信息用于请求第二虚拟机监视器执行目标访问请求指向的访问操作。在硬件上和软件上实现了不同安全等级之间的隔离,且不需要对操作系统进行侵入性修改。

Description

一种车辆中数据的处理方法以及相关设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种车辆中数据的处理方法以及相关设备。
背景技术
为了对车辆的安全风险进行评估和规范,ISO26262是用于提高车辆领域的电子、电气产品功能安全的国际标准,ISO26262中引入了车辆安全完整性等级(automotivesafety integrity level,ASIL)的概念,并定义了四种不同的ASIL:ASIL A、ASIL B、ASILC和ASIL D。其中,ASIL D是最高的安全完整性等级,而ASIL A是最低的安全完整性等级。
在一些现有技术中,为了符合ISO26262中的安全性要求,车辆中包括不同安全等级的硬件设备,每种安全等级的硬件设备上部署有一个操作系统,低安全等级的操作系统无法直接访问高安全等级的操作系统管理的硬件设备,而是需要向高安全等级的操作系统发出请求,以借助高安全等级的操作系统实现对高安全等级的硬件设备的访问。
具体的,请参阅图1a,图1a为本申请实施例提供的现有技术中的车辆的一种架构图,图1a中以车辆中包括两种安全等级的硬件设备(也即图1a中的ASIL B和ASIL D两个安全等级)为例,不同安全等级的硬件设备上直接部署有不同的操作系统,且不同的操作系统中均需要额外部署代理(Proxy)模块,当ASIL B等级的操作系统需要访问ASIL D等级的操作系统管理的硬件设备时,ASIL B等级的操作系统中的代理模块可以将访问请求发送给ASIL D等级的操作系统的代理模块,以通过ASIL D等级的操作系统对硬件设备执行访问操作,ASIL D等级的操作系统的代理模块再将该访问请求所对应的访问结果发送给ASIL B等级的操作系统中的代理模块。
由于上述做法在操作系统中引入了代理模块,也即存在对操作系统的侵入性修改,导致对操作系统的代码修改量大,操作系统的可维护性差,因此,一种不对操作系统存在侵入性修改的方案亟待推出。
发明内容
本申请实施例提供了一种车辆中数据的处理方法以及相关设备,不仅在硬件上实现了不同安全等级之间的隔离,还在软件上实现了不同安全等级之间的隔离。且当第一虚拟机监视器确定目标访问请求的访问地址超出管理范围时,会向第二虚拟机监视器发送指示信息,指示信息用于请求第二虚拟机监视器执行目标访问请求指向的访问操作,而前述过程是通过虚拟机监视器实现的,不需要对操作系统进行侵入性修改,避免了对操作系统的代码进行大量修改,也避免了降低操作系统的可维护性。
为解决上述技术问题,本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种车辆中数据的处理方法,可将计算机技术应用于车辆领域中,车辆包括:N种安全等级的硬件设备和与N种安全等级的硬件设备对应的N个虚拟机监视器,虚拟机监视器部署于虚拟化层,N为大于或等于2的整数,每个虚拟机监视器上运行有至少一个操作系统,N个虚拟机监视器包括第一虚拟机监视器和第二虚拟机监视器,方法包括:第一虚拟机监视器获取目标访问请求,目标访问请求为车辆内的操作系统针对车辆中的硬件设备发起的访问请求,前述访问请求可以具体表现为:针对车辆中的硬件设备中数据的读请求,或者,将数据写入该车辆中的硬件设备中;进一步地,目标访问请求可以是由运行于第一虚拟机监视器上的第一操作系统发起的,也可以是由运行于车辆中的其它虚拟机监视器上的操作系统发起的。
第一虚拟机监视器上可以预先配置有第一指示信息,第一指示信息包括车辆内每个虚拟机监视器所管理的物理地址的范围,每个虚拟机监视器管理的物理地址范围取决于该虚拟机监视器所对应的一种安全等级的硬件设备的物理地址的范围。若第一虚拟机监视器根据第一指示信息,确定目标访问请求的访问地址超出第一虚拟机监视器的管理范围,则第一虚拟机监视器向第二虚拟机监视器发送目标指示信息,目标指示信息用于请求第二虚拟机监视器执行目标访问请求指向的访问操作;前述访问操作可以包括将数据写入目标访问请求所指向的硬件设备中,或者,从目标访问请求所指向的硬件设备中读取数据。
本实现方式中,车辆中配置有N种安全等级的硬件设备和与N种安全等级的硬件设备对应的N个虚拟机监视器,每个虚拟机监视器上运行有至少一个操作系统,从而不仅在硬件上实现了不同安全等级之间的隔离,还在软件上实现了不同安全等级之间的隔离。且在车辆内部的操作系统针对车辆中的硬件设备发起访问请求之后,当第一虚拟机监视器确定目标访问请求的访问地址超出管理范围时,会向第二虚拟机监视器发送指示信息,指示信息用于请求第二虚拟机监视器执行目标访问请求指向的访问操作,而前述过程是通过虚拟机监视器实现的,由于虚拟机监视器是部署在虚拟化层的,也即前述过程的实现不需要对操作系统进行侵入性修改,避免了对操作系统的代码进行大量修改,也避免了降低操作系统的可维护性。
在第一方面的一种可能实现方式中,不同的虚拟机监视器之间采用第二类型的中断指令进行通信;在车辆内的操作系统处于运行状态时,需要由操作系统处理的中断指令均采用第一类型的中断指令,前述第一类型的中断指令能够直通车辆内的操作系统,需要由操作系统处理的中断指令可以包括:车辆中的硬件设备产生的中断指令、操作系统中的软件产生的中断指令、车辆中其它的操作系统产生的中断指令或其它需要由操作系统处理的中断指令等。例如在ARM架构平台下,第二类型的中断指令可以具体表现为快速中断模式(fast interrupt request,FIQ)的中断指令,第一类型的中断指令可以具体表现为中断模式(interrupt request,IRQ)的中断指令。FIQ模式的中断指令可以应用于安全世界,IRQ模式的中断指令可以应用于非安全世界。
本实现方式中,不同的虚拟机监视器之间采用第二类型的中断指令进行通信,且第一类型的中断指令直通车辆内的操作系统,从而虚拟机监视器不再需要处理第一类型的中断指令,由于在车辆内的操作系统处于运行状态时,会需要处理大量的第一类型的中断指令,因此通过前述方式能够避免虚拟机监视器在处理第一类型的中断指令时所消耗的计算机资源,且能够实现不同虚拟机监视器之间的通信。进一步地,借助处理器的固件的能力实现虚拟机监视器之间的通信,对虚拟机监视器之上的操作系统的影响很小。
在第一方面的一种可能实现方式中,第一虚拟机监视器向第二虚拟机监视器发送目标指示信息,包括:第一虚拟机监视器可以向将目标指示信息写入预定存储地址,并调用第一虚拟机监视器所对应的第一处理器的接口,以触发第一处理器向第二虚拟机监视器所对应的第二处理器发送FIQ模式的中断指令。第二处理器在接收到第一处理器发送的FIQ模式的中断指令之后,可以获取FIQ模式的中断指令中携带标识信息,该标识信息用于供第二处理器根据该标识信息确定需要执行的操作。第二处理器响应于收到的FIQ模式的中断指令,触发第二虚拟机监视器到预定存储地址读取目标指示信息,并解析获取到的目标指示信息,确定该目标访问请求的内容。
在第一方面的一种可能实现方式中,第二虚拟机监视器所对应的安全等级高于第一虚拟机监视器所对应的安全等级,也即第二虚拟机监视器管理的硬件资源的安全等级可以高于第一虚拟机监视器管理的硬件资源的安全等级。本实现方式中,当第一虚拟机监视器和第二虚拟机监视器均对某个硬件设备具有访问需求时,是由安全等级更高的第二虚拟机监视器来实际管理该硬件设备,也即当至少两个虚拟机监视器均可能对某个硬件设备具有访问需求时,由至少两个虚拟机监视器中安全等级最高的一个虚拟机监视器来实际管理该硬件设备,从而有利于保证车辆中数据的处理过程的安全性,进而有利于提高车辆的安全性。
在第一方面的一种可能实现方式中,方法还包括:若目标访问请求的访问地址位于第一虚拟机监视器的管理范围之内,则在第一情况下,第一虚拟机监视器采用虚拟化输入输出处理VirtIO技术执行目标访问请求指向的访问操作,以实现在不同的操作系统之间进行硬件设备的共享;在第二情况下,第一虚拟机监视器通过内置的驱动执行目标访问请求指向的访问操作。
本实现方式中,不仅兼容了通用的VirtIO技术,提高了本方案的可维护性;且可以根据实际情况,通过虚拟机监视器内置的驱动执行访问操作,可以节省执行访问操作所花费的时间,也即有利于提高目标访问请求的处理效率。
在第一方面的一种可能实现方式中,由于VirtIO技术能够支持第一虚拟机监视器上运行的前端操作系统和后端操作系统之间共享硬件设备(也即共享同一硬件设备的访问权限),从而第一虚拟机监视器上运行的前端操作系统和后端操作系统之间可以存在一段共享内存,也即第一虚拟机监视器上的后端操作系统拥有前端操作系统的一段内存允许访问,以实现第一虚拟机监视器上的后端操作系统对前述一段内存的读写操作。“该一段共享内存”的意义包括前端操作系统将需要写入共享的硬件设备的数据告知后端操作系统,和,后端操作系统将从共享的硬件设备中读取的数据告知前端操作系统。
但第一虚拟机监视器上运行的后端操作系统运行有第一线程和第二线程,其中,第一线程为用于对前端操作系统和后端操作系统之间共享的硬件设备执行访问操作的线程,第二线程和第一线程为不同的线程,也即第二线程不是用于管理共享的硬件设备的线程。则第一虚拟机监视器可以为后端操作系统中运行的第一线程和第二线程配置不同的stage2页表,第一线程所对应的stage2页表中存在前端操作系统的内存地址,也即第一线程所对应的stage2页表中存在“该一段共享内存”的地址;第二线程所对应的stage2页表中不存在前端操作系统的内存地址。
本实现方式中,每个线程在执行访问操作时,均需要借助stage2页表实现中间物理地址到物理地址之间的转换,进而对转换后的物理地址执行读写操作,由于第二线程所对应的stage2页表中不存在前端操作系统的内存地址,则即使第二线程被分配到错误的中间物理地址,基于第二线程所对应的stage2页表也无法转换至前端操作系统的内存地址,从而进一步降低后端操作系统上的第二线程访问到前端操作系统的内存的概率,有利于个提高前端操作系统的存储数据的安全性。
在第一方面的一种可能实现方式中,车辆中部署的为嵌入式的虚拟机监视器。本实现方式中,车辆中部署多个嵌入式的虚拟机监视器,则每个虚拟机监视器中的代码数量较少,则每个虚拟机监视器的可维护性较高,且安全性较高。
在第一方面的一种可能实现方式中,所述N种安全等级的硬件设备部署于车辆的硬件层,每种安全等级的硬件设备上运行有一个所述虚拟机监视器,不同安全等级的硬件设备上运行不同的虚拟机监视器。
本实现方式中,明确了N种安全等级的硬件设备部署于硬件层,不同安全等级的硬件设备上运行有不同的虚拟机监视器,也即进一步明确了虚拟机监视器归属的车俩的架构,有利于提高本方案在执行过程中的准确性,以提高本方案的安全性。
第二方面,本申请实施例提供一种虚拟机监视器,可将计算机技术应用于车辆领域中。虚拟机监视器用于处理车辆中的数据,所述车辆包括:N种安全等级的硬件设备和与所述N种安全等级的硬件设备对应的N个虚拟机监视器,虚拟机监视器部署于虚拟化层,N为大于或等于2的整数,每个所述虚拟机监视器上运行有至少一个操作系统,所述N个虚拟机监视器包括第一虚拟机监视器和第二虚拟机监视器,所述第一虚拟机监视器包括:获取单元,用于获取目标访问请求,所述目标访问请求为所述车辆内的操作系统针对所述车辆中的所述硬件设备发起的访问请求;发送单元,用于若所述目标访问请求的访问地址超出所述第一虚拟机监视器的管理范围,则所述第一虚拟机监视器向所述第二虚拟机监视器发送指示信息,所述指示信息用于请求所述第二虚拟机监视器执行所述目标访问请求指向的访问操作。
本申请第二方面中,第一虚拟机监视器还可以用于执行第一方面以及第一方面的各个可能实现方式中第一虚拟机监视器执行的步骤,第二方面的各个可能实现方式中的步骤的具体实现方式、名词的含义以及所带来的有益效果,均可以参阅第一方面,此处不再赘述。
第三方面,本申请实施例提供了一种计算机程序产品,计算机程序产品包括程序,当该程序在计算机上运行时,使得计算机执行上述第一方面所述的车辆中数据的处理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面所述的车辆中数据的处理方法。
第五方面,本申请实施例提供了一种数据的处理系统,该车辆中数据的处理系统应用于车辆中,车辆中数据的处理系统包括N个虚拟机监视器,N个虚拟机监视器与车辆中的N种安全等级的硬件设备对应,虚拟机监视器部署于虚拟化层,N为大于或等于2的整数,N个虚拟机监视器中存在第一虚拟机监视器,第一虚拟机监视器执行上述第一方面所述的车辆中数据的处理方法中第一虚拟机监视器执行的步骤。
第六方面,本申请实施例提供了一种车辆,车辆包括N种安全等级的硬件设备和与所述N种安全等级的硬件设备对应的N个虚拟机监视器,虚拟机监视器部署于虚拟化层,N为大于或等于2的整数,所述N个虚拟机监视器中存在第一虚拟机监视器,第一虚拟机监视器执行上述第一方面所述的车辆中数据的处理方法中第一虚拟机监视器执行的步骤。
第七方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持虚拟机监视器或通信设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存虚拟机监视器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1a为本申请实施例提供的现有技术中的车辆的一种架构图;
图1b为本申请实施例提供的车辆中数据的处理方法中车辆的一种架构图;
图2为本申请实施例提供的车辆中数据的处理方法的一种流程示意图;
图3为本申请实施例提供的车辆中数据的处理方法的一种流程示意图;
图4为本申请实施例提供的车辆中数据的处理方法中不同的虚拟机监视器之间利用第二类型的中断指令进行通信的一种流程示意图;
图5为本申请实施例提供的车辆中数据的处理方法中第一类型和第二类型的终端指令的一种对比示意图;
图6为本申请实施例提供的车辆中数据的处理方法的一种流程示意图;
图7为本申请实施例提供的车辆中数据的处理方法的一种流程示意图;
图8为本申请实施例提供的第一虚拟机监视器的一种结构示意图;
图9为本申请实施例提供的第一虚拟机监视器的一种结构示意图;
图10为本申请实施例提供的车辆的一种结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例可以应用于车辆领域中,前述车辆具体可以表现为:轿车、卡车、摩托车、公共车辆、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车和火车等,本申请实施例不做特别的限定。
为了满足符合ISO26262中的安全性要求,本申请实施例提供的方案不仅在硬件上实现了不同安全等级之间的隔离,还在软件上实现了不同安全等级之间的隔离,且不需要对操作系统进行侵入性修改,在对本申请实施例提供的车辆中数据的处理方法进行介绍之前,先对本申请实施例所采用的车辆的架构进行介绍。
参阅图1b,图1b为本申请实施例提供的车辆中数据的处理方法中车辆的一种架构图,在图1b中,车辆10包括N种安全等级的硬件设备101、与N种安全等级的硬件设备对应的N个虚拟机监视器(virtual machine monitor,VMM)102以及每个虚拟机监视器102上运行的操作系统103,图1b中以N的取值为2,且前述2种安全等级分别为ASIL-B和ASIL-D为例,需要说明的是,一个车辆10中包括的硬件设备的安全等级的数量和具体采用的安全等级,均需要结合实际应用场景确定,此处不做限定。
其中,硬件设备101部署在车辆10的硬件层,一个硬件设备101可以包括一个集成电路以及与该集成电路集成于一体的固件(firmware),固件又称为“固化的软件”,固件是写在该硬件设备101的集成电路内部的程序代码,是以一种不可丢失的方式进行存储的计算机软件,该固件担任该硬件设备101最基础、最底层工作的软件。作为示例,例如硬件设备101具体可以表现为中央处理器(central processing unit,CPU)、内存芯片、网卡、硬盘或其他硬件设备等等,此处不做穷举。
虚拟机监视器102部署在车辆10的虚拟化层,虚拟机监视器102也可以称为虚拟机管理程序,图1b中以虚拟机监视器102直接运行在硬件层上为例,也即图1b示出的车辆10中采用的为嵌入式的虚拟机监视器102。如图1b所示,每种安全等级(也即图1b)的硬件设备101上运行有一个虚拟机监视器102,不同安全等级的硬件设备101上运行有不同的虚拟机监视器,每个虚拟机监视器102用于管理一种ASIL等级的硬件设备101,也即每个虚拟机监视器102用于管理对一种ASIL等级的硬件设备101的访问操作。
每个虚拟机监视器102上可以运行至少一个操作系统(operation system,OS)。前述至少一个操作系统可以包括后端操作系统;可选地,前述至少一个操作系统也可以包括前端操作系统和后端操作系统。进一步地,后端操作系统中的驱动能够向硬件设备101中写入数据,或从硬件设备101中读取数据;前端操作系统需要借助后端操作系统才能够完成对硬件设备101的读写操作。
每个虚拟机监视器102负责管理其上运行的操作系统,不同的虚拟机监视器102所对应的程序代码可以不同。作为示例,例如在进阶精简指令集机器(advanced RISCmachine,ARM)架构的虚拟化平台中,虚拟机监视器102可以采用页表(stage)机制实现对操作系统的管理,也即虚拟机监视器102上运行的操作系统中配置的为stage1页表,stage1页表用于进行虚拟地址(virtual address,VA)到中间物理地址(IPA)之间的映射,stage2页表用于进行IPA到物理地址(physical address,PA)之间的映射,虚拟机监视器102上运行的操作系统不感知stage2页表,每个虚拟机监视器102可以通过对其上运行的操作系统所对应的stage2页表进行配置,以确保其上运行的操作系统只能够访问虚拟机监视器102分配给它的硬件设备101。
本申请实施例中,车辆10中部署多个嵌入式的虚拟机监视器102,则每个虚拟机监视器102中的代码数量较少,则每个虚拟机监视器102的可维护性较高,且安全性较高。
需要说明的是,图1b中的示例仅为方便理解本申请实施例所提供的车辆10的架构,例如,在其他实施例中,在硬件设备101和虚拟机监视器102之间可以运行有宿主机操作系统(host OS),也即每个虚拟机监视器102可以不是嵌入式的,在N种安全等级的硬件设备101之上直接运行的是宿主机操作系统,该宿主机操作系统中运行有上述N个虚拟机监视器102,图1b中的示例不用于限定本申请实施例中车辆10的架构,只要保证虚拟机监视器102部署于虚拟化层即可。
本申请实施例中,明确了N种安全等级的硬件设备部署于硬件层,不同安全等级的硬件设备上运行有不同的虚拟机监视器,也即进一步明确了虚拟机监视器归属的车俩的架构,有利于提高本方案在执行过程中的准确性,以提高本方案的安全性。
在图1b示出的车辆10的架构上,基于本申请实施例提供了一种车辆中数据的处理方法。请参阅图2,图2为本申请实施例提供的车辆中数据的处理方法的一种流程示意图。其中,A1、第一虚拟机监视器获取目标访问请求,目标访问请求为车辆内的操作系统针对车辆中的硬件设备发起的访问请求。A2、若目标访问请求的访问地址超出第一虚拟机监视器的管理范围,第一虚拟机监视器向第二虚拟机监视器发送指示信息,该指示信息用于请求第二虚拟机监视器执行目标访问请求指向的访问操作,第一虚拟机监视器和第二虚拟机监视器为图1b示出的车辆10中的两个不同的虚拟机监视器102,虚拟机监视器102部署于虚拟化层。
本申请实施例中,不仅在硬件上实现了不同安全等级之间的隔离,还在软件上实现了不同安全等级之间的隔离。且当第一虚拟机监视器确定目标访问请求的访问地址超出管理范围时,会向第二虚拟机监视器发送指示信息,指示信息用于请求第二虚拟机监视器执行目标访问请求指向的访问操作,而前述过程是通过虚拟机监视器实现的,不需要对操作系统进行侵入性修改,避免了对操作系统的代码进行大量修改,也避免了降低操作系统的可维护性。
下面开始对本申请实施例提供的车辆中数据的处理方法的具体实现流程进行详细描述。具体的,请参阅图3,图3为本申请实施例提供的车辆中数据的处理方法的一种流程示意图,本申请实施例提供的车辆中数据的处理方法可以包括:
301、第一虚拟机监视器获取目标访问请求,目标访问请求为车辆内的操作系统针对车辆中的硬件设备发起的访问请求。
本申请实施例中,在第一虚拟监视器运行过程中,可以获取到一个或多个目标访问请求。其中,目标访问请求为车辆内的操作系统针对车辆中的硬件设备发起的访问请求,前述目标访问请求可以具体表现为:针对车辆中的硬件设备中数据的读取请求,或者,将数据写入该车辆中的硬件设备中。
在一种情况中,目标访问请求是由运行于第一虚拟机监视器上的第一操作系统发起的。具体的,在第一虚拟机监视器上的第一操作系统的运行过程中,第一操作系统可以针对车辆中的硬件设备发起多个第一访问请求。在一种情况下,第一虚拟机监视器可以获取每个第一访问请求,也即每个第一访问请求都为一个目标访问请求;在另一种情况下,第一虚拟机可以只获取第一操作系统针对车辆中特定的硬件设备发起的访问请求,也即多个第一访问请求中只有用于访问前述特定的硬件设备的请求才被确定为目标访问请求。
在另一种情况中,目标访问请求是由运行于车辆中的其它虚拟机监视器上的操作系统发起的。则第一虚拟机监视器可以接收该其他虚拟机监视器发送的指示信息,并根据前述指示信息获取到目标访问请求。不同虚拟机监视器之间信息交互的方式将在后续步骤进行详细描述,此处不做赘述。
302、第一虚拟机监视器判断目标访问请求的访问地址是否超出第一虚拟机监视器的管理范围,若判断结果为是,则进入步骤303;若判断结果为否,则进入步骤308。
本申请实施例中,第一虚拟机监视器上可以预先配置有第一指示信息,第一指示信息包括车辆内每个虚拟机监视器所管理的物理地址的范围,每个虚拟机监视器管理的物理地址范围取决于该虚拟机监视器所对应的一种安全等级的硬件设备的物理地址的范围。
在第一虚拟机监视器获取到目标访问请求之后,可以获取到目标访问请求所对应的目标访问地址,前述目标访问请求所对应的目标访问地址指的是物理地址。第一虚拟机监视器可以根据第一指示信息判断目标访问请求的访问地址是否超出第一虚拟机监视器的管理范围,若判断结果为是,则第一虚拟机监视器还可以根据第一指示信息确定目标访问地址属于哪个虚拟机监视器(也即后续步骤中的“第二虚拟机监视器”)的管理范围,并进入步骤303。若判断结果为否,则可以进入步骤308。
303、第一虚拟机监视器向第二虚拟机监视器发送目标指示信息,目标指示信息用于请求第二虚拟机监视器执行目标访问请求指向的访问操作。
本申请实施例中,第一虚拟机监视器向第二虚拟机监视器发送目标指示信息,目标指示信息用于请求第二虚拟机监视器执行目标访问请求指向的访问操作。
具体的,在一种实现方式中,不同的虚拟机监视器之间采用第二类型的中断指令进行通信;在车辆内的操作系统处于运行状态时,需要由操作系统处理的中断指令均采用第一类型的中断指令,前述第一类型的中断指令能够直通车辆内的操作系统,需要由操作系统处理的中断指令可以包括:车辆中的硬件设备产生的中断指令、操作系统中的软件产生的中断指令、车辆中其它的操作系统产生的中断指令或其它需要由操作系统处理的中断指令等,此处不做穷举。
其中,在ARM架构平台下,第二类型的中断指令可以具体表现为快速中断模式(fast interrupt request,FIQ)的中断指令,第一类型的中断指令可以具体表现为中断模式(interrupt request,IRQ)的中断指令。FIQ模式的中断指令可以应用于安全世界,IRQ模式的中断指令可以应用于非安全世界。
可选地,第二虚拟机监视器所对应的安全等级可以高于第一虚拟机监视器所对应的安全等级,也即第二虚拟机监视器管理的硬件资源的安全等级可以高于第一虚拟机监视器管理的硬件资源的安全等级。本申请实施例中,当第一虚拟机监视器和第二虚拟机监视器均对某个硬件设备具有访问需求时,是由安全等级更高的第二虚拟机监视器来实际管理该硬件设备,也即当至少两个虚拟机监视器均可能对某个硬件设备具有访问需求时,由至少两个虚拟机监视器中安全等级最高的一个虚拟机监视器来实际管理该硬件设备,从而有利于保证车辆中数据的处理过程的安全性,进而有利于提高车辆的安全性。
针对两个虚拟机监视器利用第二类型的中断指令进行通信的过程,此处仅以第二类型的中断指令为FIQ模式的中断指令为例,当本申请实施例提供的方案应用于其他类型的架构平台时,第一类型和第二类型的中断指令还可以具体表现为其它类型的中断指令,本申请实施例中的举例不用于对第一类型和第二类型的中断指令进行限定。
更具体的,车辆中的各个虚拟机监视器可以预先向对应的处理器注册一个回调函数,处理器会向虚拟机监视器提供接口。当第一虚拟机监视器需要向第二虚拟机监视器发送目标指示信息时,可以向将目标指示信息写入预定存储地址,并调用第一虚拟机监视器所对应的第一处理器的接口,以触发第一处理器向第二虚拟机监视器所对应的第二处理器发送FIQ模式的中断指令。
第二处理器在接收到第一处理器发送的FIQ模式的中断指令之后,可以获取FIQ模式的中断指令中携带标识信息,该标识信息用于供第二处理器根据该标识信息确定需要执行的操作。第二处理器响应于收到的FIQ模式的中断指令,触发第二虚拟机监视器执行回调函数;具体的,第二虚拟机监视器执行回调函数的过程包括:第二虚拟机监视器到预定存储地址读取目标指示信息,并解析获取到的目标指示信息,确定该目标访问请求的内容。通过上述步骤,实现了通过FIQ模式的中断指令进行第一虚拟机监视器和第二虚拟机监视器之间的通信。
进一步地,在每个虚拟机监视器(包括第一虚拟机监视器)上的操作系统处于运行状态时,每个虚拟机监视器(包括第一虚拟机监视器)不再捕获IRQ模式的中断指令,而是由每个虚拟机监视器上的操作系统直接接收并处理IRQ模式的中断指令。
更进一步地,每个虚拟机监视器只在操作系统处于初始化阶段时,会捕获IRQ模式的中断指令的配置行为,以确保其上运行的操作系统只能配置到属于自己的中断资源,无法处理其他操作系统的中断资源,也即实现了不同的操作系统所配置的中断资源的隔离。
为了更直观地理解本方案,请参阅图4和图5,图4为本申请实施例提供的车辆中数据的处理方法中不同的虚拟机监视器之间利用第二类型的中断指令进行通信的一种流程示意图。图4中以本申请实施例应用于ARM架构的硬件平台上为例。如图4所示,每个虚拟机监视器可以包括硬件设备管理模块和代理模块,虚拟机监视器中的硬件设备管理模块用于管理对硬件设备的访问操作,代理模块用于实现不同虚拟机监视器之间的通信。
当第一虚拟机监视器需要与第二虚拟机监视器通信时,第一虚拟机监视器中的代理模块可以调用第一处理器的固件上的接口,以触发第一处理器向第二处理器发送FIQ模式的中断指令。第二处理器在接收并解析FIQ模式的中断指令之后,会触发第二虚拟机监视器的中的代理模块执行回调函数,也即触发第二虚拟机监视器的中的代理模块到预定的存储地址读取目标指示信息。应理解,图4中的示例仅为方便理解本方案,不用于限定本方案。
再参阅图5,图5为本申请实施例提供的车辆中数据的处理方法中第一类型和第二类型的终端指令的一种对比示意图,图4中以本申请实施例应用于ARM架构的硬件平台上为例。图5中不同虚拟机监视器之间的通信方式可以参阅上述对图4的描述进行理解,此处不做赘述。图5中还示出了虚拟机监视器上运行的多个操作系统(也即图5中的操作系统1、操作系统2和操作系统3),如图所示,各个操作系统能够直接获取到IRQ模式的中断指令,应理解,图5中的示例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,不同的虚拟机监视器之间采用第二类型的中断指令进行通信,且第一类型的中断指令直通车辆内的操作系统,从而虚拟机监视器不再需要处理第一类型的中断指令,由于在车辆内的操作系统处于运行状态时,会需要处理大量的第一类型的中断指令,因此通过前述方式能够避免虚拟机监视器在处理第一类型的中断指令时所消耗的计算机资源,且能够实现不同虚拟机监视器之间的通信。进一步地,借助处理器的固件的能力实现虚拟机监视器之间的通信,对虚拟机监视器之上的操作系统的影响很小。
在另一种实现方式中,不同的虚拟机监视器之间可以采用第一类型的中断指令进行通信,在每个虚拟机监视器(包括第一虚拟机监视器)上的操作系统处于运行状态时,每个虚拟机监视器(包括第一虚拟机监视器)将捕获所有IRQ模式的中断指令,并对IRQ模式的中断指令进行处理后注入给其上运行的操作系统。
304、第二虚拟机监视器判断目标访问请求的访问地址是否超出第二虚拟机监视器的管理范围,若判断结果为是,则进入步骤305,若判断结果为否,则执行其他步骤。
本申请实施例中,第二虚拟机监视器在获取到目标访问请求之后,会判断目标访问请求的访问地址是否超出第二虚拟机监视器的管理范围,若判断结果为是,则进入步骤305,若判断结果为否,则根据目标访问请求的访问地址,确定能够处理目标访问请求的虚拟机监视器,进而将目标访问请求转发给确定的前述虚拟机监视器。步骤304的具体实现方式可以参阅上述步骤302中的描述,此处不做赘述。
305、第二虚拟机监视器判断是否需要采用VirtIO技术执行目标访问请求指向的访问操作,若判断结果为是,则进入步骤306;若判断结果为否,则进入步骤307。
本申请的一些实施例中,第二虚拟机监视器上可以配置有第二指示信息,第二指示信息用于指示第二虚拟机监视器管理的物理地址中哪些物理地址需要采用VirtIO技术进行访问,哪些物理地址可以直接通过内置的驱动访问。
第二虚拟机监视器在确定目标访问请求的访问地址未超出第二虚拟机监视器的管理范围之后,可以会根据目标访问请求的访问地址和第二指示信息,判断是否需要采用VirtIO技术执行目标访问请求指向的访问操作,若判断结果为是,则进入步骤306;若判断结果为否,则进入步骤307。
306、第二虚拟机监视器基于VirtIO技术执行目标访问请求指向的访问操作。
本申请的一些实施例中,第二虚拟机监视器可以兼容虚拟化输入/输出(VirtualIO,VirtIO)技术,也即第二虚拟机监视器能够采用Virtual IO技术执行目标访问请求指向的访问操作,以实现在不同的操作系统之间进行硬件设备的共享,则第二虚拟机监视器上可以同时运行有后端操作系统和前端操作系统,对于后端操作系统和前端操作系统的概念可以参阅上述描述,此处不做赘述。
作为示例,对于一些比较复杂的硬件设备(例如网卡),利用网卡的驱动对网卡进行读写操作的工作量比较大,则通常需要采用VirtIO技术实现不同的操作系统之间共享网卡。
具体的,第二虚拟机监视器可以根据目标访问请求的访问地址,确定能够执行目标访问请求指向的访问操作的目标后端操作系统,并将目标访问请求发送给目标后端操作系统。目标后端操作系统上可以运行有多个线程,多个线程中包括用于维护目标访问请求指向的硬件设备的第一线程,目标后端操作系统中的第一线程利用驱动执行目标访问请求指向的访问操作,也即目标后端操作系统中的第一线程利用驱动将数据写入该硬件设备中,或者,目标后端操作系统中的第一线程利用驱动从该硬件设备中读取数据。
为了更直观地理解本方案,请参阅图6,图6为本申请实施例提供的车辆中数据的处理方法的一种流程示意图。图6中以包括ASIL-B和ASIL-D两种安全等级的虚拟机监视器为例,如图所示,第一虚拟机监视器和第二虚拟机监视器上均运行有后端操作系统,每个后端操作系统中均运行有第一线程,第一线程为直接管理共享的硬件设备的线程。
第一虚拟机监视器中的硬件设备管理模块可以获取到其上运行的操作系统(也即第一虚拟机监视器上运行的前端操作系统和后端操作系统)发起的目标访问请求(对应上述步骤301)。在第一虚拟机监视器中的硬件设备管理模块确定目标访问请求的访问地址不属于第一虚拟机监视器的管理访问的情况下,第一虚拟机监视器中的代理模块向第二虚拟机监视器的代理模块发送指示信息,该指示信息用于请求第二虚拟机监视器执行目标访问请求指向的访问操作(对应上述步骤302和303)。对于第一虚拟机监视器中的代理模块和第二虚拟机监视器中的代理模块之间的通信方式可以参阅上述对图4的描述,此处不做赘述。
第二虚拟机监视器的代理模块获取到上述指示信息后,第二虚拟机监视器解析该指示新,并从其上运行的后端操作系统中确定能够执行目标访问请求的第一线程,进而通过第一线程执行目标访问请求的操作(对应上述步骤304至306),应理解,图6中的示例仅为方便理解本方案,不用于限定本方案。
进一步地,由于VirtIO技术也能够支持第二虚拟机监视器上运行的前端操作系统和后端操作系统之间共享同一硬件设备(也即共享同一硬件设备的访问权限),而实际上是由后端操作系统直接执行对该硬件设备的访问操作,从而第二虚拟机监视器上运行的前端操作系统和后端操作系统之间可以存在一段共享内存,也即第二虚拟机监视器上的后端操作系统拥有前端操作系统的一段内存允许访问,以实现第二虚拟机监视器上的后端操作系统对前述一段内存的读写操作。“该一段共享内存”的意义包括前端操作系统将需要写入共享的硬件设备的数据告知后端操作系统,和,后端操作系统将从共享的硬件设备中读取的数据告知前端操作系统。
但第二虚拟机监视器上运行的后端操作系统中不仅运行有第一线程,还运行有大量的第二线程,其中,第一线程为用于对前端操作系统和后端操作系统之间共享的硬件设备执行访问操作的线程,第二线程和第一线程为不同的线程,也即第二线程不是用于管理共享的硬件设备的线程,则存在后端操作系统中的第二线程访问“该一段共享内存”的风险。
第二虚拟机监视器可以借助页表(stage)机制,实现后端操作系统中的第二线程和“该一段共享内存”之间的安全隔离。更进一步地,第二虚拟机监视器可以为后端操作系统中运行的第一线程和第二线程配置不同的stage2页表,第一线程所对应的stage2页表中存在前端操作系统的内存地址,也即第一线程所对应的stage2页表中存在“该一段共享内存”的地址;需要说明的是,stage2页表中存在的“该一段共享内存”的地址可以是“该一段共享内存”的物理地址(PA)。第二线程所对应的stage2页表中不存在前端操作系统的内存地址,也即第二线程所对应的stage2页表中不存在“该一段共享内存”的地址。
具体的,第二虚拟机监视器可以先为后端操作系统中的第二线程配置stage2页表,第二线程所对应的stage2页表中不存在前端操作系统的内存地址。第二虚拟机监视器可以拷贝第二线程所对应的stage2页表,并基于拷贝到的第二线程所对应的stage2页表,生成后端操作系统中的第一线程所对应的stage2页表,第一线程所对应的stage2页表中存在前端操作系统的内存地址。采用前述方式得到的两份stage2页表中部分表项可以复用,有利于减少两份stage2页表所占用的存储资源。
在后端操作系统上的多个线程对车辆内的硬件设备执行访问操作过程中,需要由后端操作系统根据stage1页表实现虚拟地址到中间地址之间的转换,并由第二虚拟机监视器分配的处理器根据stage2页表,来实现中间物理地址到物理地址之间的转换。
则第二虚拟机监视器分配的处理器会判断当前线程是否为用于管理上述共享的硬件设备的线程(也即判断当前线程是否为第一线程),若判断结果为是,则根据第一线程所对应的stage2页表,执行中间物理地址到物理地址之间的转换操作;若判断结果为否,则根据第二线程所对应的stage2页表,执行中间物理地址到物理地址之间的转换操作。
本申请实施例中,每个线程在执行访问操作时,均需要借助stage2页表实现中间物理地址到物理地址之间的转换,进而对转换后的物理地址执行读写操作,由于第二线程所对应的stage2页表中不存在前端操作系统的内存地址,则即使第二线程被分配到错误的中间物理地址,基于第二线程所对应的stage2页表也无法转换至前端操作系统的内存地址,从而进一步降低后端操作系统上的第二线程访问到前端操作系统的内存的概率,有利于个提高前端操作系统的存储数据的安全性。
307、第二虚拟机监视器通过内置的驱动执行目标访问请求指向的访问操作。
本申请的一些实施例中,第二虚拟机监视器中也可以内置有至少一个驱动,则在第二虚拟机监视器在确定目标访问请求的访问地址确定不需要采用VirtIO技术执行目标访问请求指向的访问操作,可以直接通过内置的驱动执行目标访问请求指向的访问操作,也即执行通过内置的驱动对目标访问请求的访问地址执行读写操作。
作为示例,例如若目标访问请求指向的硬件设备是一些比较简单的设备,例如中断控制器、串口控制器,则可以将前述设备的驱动内置于第二虚拟机监视器中,以通过第二虚拟机监视器的驱动对目标访问请求的访问地址执行读写操作。
本申请实施例中,若目标访问请求的访问地址位于当前虚拟机监视器的管理范围之内,则在一种情况下,可以采用VirtIO技术执行目标访问请求指向的访问操作,在另一种情况下,可以通过内置的驱动执行目标访问请求指向的访问操作;不仅兼容了通用的VirtIO技术,提高了本方案的可维护性;且可以根据实际情况,通过虚拟机监视器内置的驱动执行访问操作,可以节省执行访问操作所花费的时间,也即有利于提高目标访问请求的处理效率。
需要说明的是,步骤305为可选步骤,若不执行步骤305,则第二虚拟机监视器可以仅采用VirtIO技术执行所有目标访问请求指向的访问操作,或者,第二虚拟机监视器也可以仅通过内置的驱动执行所有目标访问请求指向的访问操作。
308、第一虚拟机监视器判断是否需要采用VirtIO技术执行目标访问请求指向的访问操作,若判断结果为是,则进入步骤306;若判断结果为否,则进入步骤307。
309、第一虚拟机监视器基于VirtIO技术执行目标访问请求指向的访问操作。
310、第一虚拟机监视器通过内置的驱动执行目标访问请求指向的访问操作。
本申请实施例中,步骤308至310的具体实现方式与步骤305至307的具体实现方式类似,步骤308至310的具体实现方式可参阅上述对步骤305至307的具体实现方式的描述,区别在于将步骤308至310中的第二虚拟机监视器替换为步骤308至310中的第一虚拟机监视器,此处不再对实现细节进行赘述。
对应的,步骤308为可选步骤,若不执行步骤308,则第一虚拟机监视器可以仅采用VirtIO技术执行所有目标访问请求指向的访问操作,或者,第一虚拟机监视器也可以仅通过内置的驱动执行所有目标访问请求指向的访问操作。
为了更直观地理解本方案,请参阅图7,图7为本申请实施例提供的车辆中数据的处理方法的一种流程示意图。图7中以第一虚拟机监视器所管理的硬件设备为ASIL-B安全等级为例,如图所示,第一虚拟机监视器上运行有后端操作系统,后端操作系统中均运行有第一线程,第一线程为直接管理共享的硬件设备的线程。
第一虚拟机监视器中的硬件设备管理模块可以获取到其上运行的操作系统(也即第一虚拟机监视器上运行的前端操作系统和后端操作系统)发起的目标访问请求(对应上述步骤301)。在第一虚拟机监视器中的硬件设备管理模块确定目标访问请求的访问地址属于第一虚拟机监视器的管理访问的情况下,第一虚拟机监视器中的代理模块从其上运行的后端操作系统中确定能够执行目标访问请求的第一线程,进而通过第一线程执行目标访问请求的操作(对应上述步骤302、308和309),应理解,图7中的示例仅为方便理解本方案,不用于限定本方案。
本实现方式中,车辆中配置有N种安全等级的硬件设备和与N种安全等级的硬件设备对应的N个虚拟机监视器,每个虚拟机监视器上运行有至少一个操作系统,从而不仅在硬件上实现了不同安全等级之间的隔离,还在软件上实现了不同安全等级之间的隔离。且在车辆内部的操作系统针对车辆中的硬件设备发起访问请求之后,当第一虚拟机监视器确定目标访问请求的访问地址超出管理范围时,会向第二虚拟机监视器发送指示信息,指示信息用于请求第二虚拟机监视器执行目标访问请求指向的访问操作,而前述过程是通过虚拟机监视器实现的,不需要对操作系统进行侵入性修改,避免了对操作系统的代码进行大量修改,也避免了降低操作系统的可维护性。
在图1b至图7所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图8,图8为本申请实施例提供的第一虚拟机监视器的一种结构示意图,虚拟机监视器用于处理车辆中的数据,车辆包括:N种安全等级的硬件设备和与N种安全等级的硬件设备对应的N个虚拟机监视器,虚拟机监视器部署于虚拟化层,N为大于或等于2的整数,每个虚拟机监视器上运行有至少一个操作系统,N个虚拟机监视器包括第一虚拟机监视器和第二虚拟机监视器,第一虚拟机监视器800包括:获取单元801,用于获取目标访问请求,目标访问请求为车辆内的操作系统针对车辆中的硬件设备发起的访问请求;发送单元802,用于若目标访问请求的访问地址超出第一虚拟机监视器的管理范围,则第一虚拟机监视器向第二虚拟机监视器发送指示信息,指示信息用于请求第二虚拟机监视器执行目标访问请求指向的访问操作。
本申请实施例中,不仅在硬件上实现了不同安全等级之间的隔离,还在软件上实现了不同安全等级之间的隔离。且获取单元801获取到目标访问请求之后,当确定目标访问请求的访问地址超出管理范围时,发送单元802会向第二虚拟机监视器发送指示信息,指示信息用于请求第二虚拟机监视器执行目标访问请求指向的访问操作,而前述过程是通过虚拟机监视器实现的,不需要对操作系统进行侵入性修改,避免了对操作系统的代码进行大量修改,也避免了降低操作系统的可维护性。
在一种可能的设计中,在车辆内的操作系统处于运行状态时,车辆中的硬件设备产生的第一类型的中断指令直通车辆内的操作系统,不同的虚拟机监视器之间采用第二类型的中断指令进行通信。
在一种可能的设计中,第二虚拟机监视器所对应的安全等级高于第一虚拟机监视器所对应的安全等级。
在一种可能的设计中,请参阅图9,图9为本申请实施例提供的第一虚拟机监视器的一种结构示意图,第一虚拟机监视器800还包括:执行单元803,用于若目标访问请求的访问地址位于第一虚拟机监视器的管理范围之内,则在第一情况下,第一虚拟机监视器采用虚拟化输入输出处理VirtIO技术执行目标访问请求指向的访问操作;执行单元,还用于在第二情况下,第一虚拟机监视器通过内置的驱动执行目标访问请求指向的访问操作。
在一种可能的设计中,VirtIO技术用于支持第一虚拟机监视器上运行的前端操作系统和后端操作系统之间共享硬件设备,后端操作系统中运行的第一线程和第二线程所对应的stage2页表不同,其中,第一线程为用于对前端操作系统和后端操作系统之间共享的硬件设备执行访问操作的线程,第二线程和第一线程为不同的线程,第一线程所对应的stage2页表中存在前端操作系统的内存地址,第二线程所对应的stage2页表中不存在前端操作系统的内存地址。
在一种可能的设计中,车辆中部署的为嵌入式的虚拟机监视器。
在一种可能的设计中,N种安全等级的硬件设备部署于硬件层,每种安全等级的硬件设备上运行有一个虚拟机监视器,不同安全等级的硬件设备上运行有不同的虚拟机监视器。
需要说明的是,虚拟机监视器800中各模块/单元之间的信息交互、执行过程等内容,与本申请中图2至图7对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
接下来介绍本申请实施例提供的一种车辆,请参阅图10,图10为本申请实施例提供的车辆的一种结构示意图。车辆10可以被配置为完全或部分地自动驾驶模式,例如,车辆10可以在处于自动驾驶模式中的同时控制自身,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制车辆10。在车辆10处于自动驾驶模式中时,也可以将车辆10置为在没有和人交互的情况下操作。
车辆10可包括各种操作系统,例如行进系统100、传感器系统104、控制系统106和计算机系统112,车辆10中的多个操作系统可以运行于图1b示出的N个虚拟机监视器101上。车辆10还可以包括一个或多个外围设备108、电源110、处理器113、存储器114和用户接口116等硬件设备,车辆中的多个硬件设备可以被分为N种安全等级。可选地,车辆10可包括更多或更少的子系统,并且每个子系统可包括多个部件。另外,车辆10的每个子系统和部件可以通过有线或者无线互连。
车辆10中N个虚拟机监视器101执行车辆中数据处理方法的具体过程与本申请中图2至图7对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
行进系统100可包括为车辆10提供动力运动的组件。在一个实施例中,行进系统100可包括引擎118、能量源119、传动装置120和车轮/轮胎121。
其中,引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如,汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为车辆10的其他系统提供能量。传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。
传感器系统104可包括感测关于车辆10周边的环境的信息的若干个传感器。例如,传感器系统104可包括定位系统122(定位系统可以是全球定位GPS系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,IMU)124、雷达126、激光测距仪128以及相机130。传感器系统104还可包括被监视车辆10的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主车辆10的安全操作的关键功能。
其中,定位系统122可用于估计车辆10的地理位置。IMU 124用于基于惯性加速度来感知车辆10的位置和朝向变化。在一个实施例中,IMU 124可以是加速度计和陀螺仪的组合。雷达126可利用无线电信号来感知车辆10的周边环境内的物体,具体可以表现为毫米波雷达或激光雷达。在一些实施例中,除了感知物体以外,雷达126还可用于感知物体的速度和/或前进方向。激光测距仪128可利用激光来感知车辆10所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。相机130可用于捕捉车辆10的周边环境的多个图像。相机130可以是静态相机或视频相机。
控制系统106为控制车辆10及其组件的操作。控制系统106可包括各种部件,其中包括转向系统132、油门134、制动单元136、计算机视觉系统140、线路控制系统142以及障碍避免系统144。
其中,转向系统132可操作来调整车辆10的前进方向。例如在一个实施例中可以为方向盘系统。油门134用于控制引擎118的操作速度并进而控制车辆10的速度。制动单元136用于控制车辆10减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制车辆10的速度。计算机视觉系统140可以操作来处理和分析由相机130捕捉的图像以便识别车辆10周边环境中的物体和/或特征。所述物体和/或特征可包括交通信号、道路边界和障碍体。计算机视觉系统140可使用物体识别算法、运动中恢复结构(Structurefrom Motion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。线路控制系统142用于确定车辆10的行驶路线以及行驶速度。在一些实施例中,线路控制系统142可以包括横向规划模块1421和纵向规划模块1422,横向规划模块1421和纵向规划模块1422分别用于结合来自障碍避免系统144、GPS 122和一个或多个预定地图的数据为车辆10确定行驶路线和行驶速度。障碍避免系统144用于识别、评估和避免或者以其他方式越过车辆10的环境中的障碍体,前述障碍体具体可以表现为实际障碍体和可能与车辆10发生碰撞的虚拟移动体。在一个实例中,控制系统106可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
车辆10可以通过外围设备108与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备108可包括无线通信系统146、车载电脑148、麦克风150和/或扬声器152。在一些实施例中,外围设备108为车辆10的用户提供与用户接口116交互的手段。例如,车载电脑148可向车辆10的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,外围设备108可提供用于车辆10与位于车内的其它设备通信的手段。例如,麦克风150可从车辆10的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向车辆10的用户输出音频。无线通信系统146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统146可使用3G蜂窝通信,例如CDMA、EVD0、GSM/GPRS,或者4G蜂窝通信,例如LTE。或者5G蜂窝通信。无线通信系统146可利用无线局域网(wireless localarea network,WLAN)通信。在一些实施例中,无线通信系统146可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统146可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
电源110可向车辆10的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆10的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中那样。
处理器113可以是任何常规的处理器,诸如商业可获得的中央处理器(centralprocessing unit,CPU)。可选地,处理器113可以是诸如专用集成电路(applicationspecific integrated circuit,ASIC)或其它基于硬件的处理器的专用设备。该处理器113、存储器114实际上可以包括不存储在相同的物理外壳内的多个处理器、或存储器。例如,存储器114可以是硬盘驱动器或位于不同于计算机系统112的外壳内的其它存储介质。因此,对处理器113或存储器114的引用将被理解为包括可以并行操作或者可以不并行操作的处理器或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器113可以位于远离车辆10并且与车辆10进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆10内的处理器113上执行而其它则由远程处理器113执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,存储器114可包含指令(例如,程序逻辑),指令可被处理器113执行来执行车辆10的各种功能,包括以上描述的那些功能。存储器114也可包含额外的指令,包括向行进系统100、传感器系统104、控制系统106和外围设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。除了指令115以外,存储器114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆10在自主、半自主和/或手动模式中操作期间被车辆10中的各个操作系统使用。用户接口116,用于向车辆10的用户提供信息或从其接收信息。可选地,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线通信系统146、车载电脑148、麦克风150和扬声器152。
计算机系统112可基于从各种子操作系统系统(例如,行进系统100、传感器系统104和控制系统106)以及从用户接口116接收的输入来控制车辆10的功能。例如,计算机系统112可利用来自控制系统106的输入以便控制转向系统132来避免由传感器系统104和障碍避免系统144检测到的障碍体。在一些实施例中,计算机系统112可操作来对车辆10及其子系统的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与车辆10分开安装或关联。例如,存储器114可以部分或完全地与车辆10分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1b不应理解为对本申请实施例的限制。在道路行进的自动驾驶车辆,如上面的车辆10,可以识别其周围环境内的物体以确定对当前速度的调整。所述物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶车辆所要调整的速度。
可选地,车辆10或者与车辆10相关联的计算设备如图1b的计算机系统112、计算机视觉系统140、存储器114可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测所识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。车辆10能够基于预测的所识别的物体的行为来调整它的速度。换句话说,车辆10能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定车辆10的速度,诸如,车辆10在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。除了提供调整自动驾驶车辆的速度的指令之外,计算设备还可以提供修改车辆10的转向角的指令,以使得车辆10遵循给定的轨迹和/或维持与车辆10附近的物体(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。
本申请实施例中还提供一种包括计算机程序产品,计算机程序产品包括程序,当该程序在计算机上运行时,使得计算机执行如前述图2至图7所示实施例描述的方法中第一虚拟机监视器或第二虚拟机监视器所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序,当其在计算机上运行时,使得计算机执行如前述图2至图7所示实施例描述的方法中第一虚拟机监视器或第二虚拟机监视器所执行的步骤。
本申请实施例中还提供一种车辆中数据的处理系统,车辆中数据的处理系统应用于车辆中,车辆中数据的处理系统包括N个虚拟机监视器,N个虚拟机监视器与车辆中的N种安全等级的硬件设备对应,虚拟机监视器部署于虚拟化层,N为大于或等于2的整数,N个虚拟机监视器中存在第一虚拟机监视器,第一虚拟机监视器执行如前述图2至图7所示实施例描述的方法中第一虚拟机监视器所执行的步骤。
本申请实施例提供的虚拟机监视器具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使芯片执行上述使得计算机执行如前述图2至图7所示实施例描述的方法中第一虚拟机监视器或第二虚拟机监视器所执行的步骤。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (17)

1.一种车辆中数据的处理方法,其特征在于,所述车辆包括:N种安全等级的硬件设备和与所述N种安全等级的硬件设备对应的N个虚拟机监视器,所述虚拟机监视器部署于虚拟化层,所述N为大于或等于2的整数,每个所述虚拟机监视器上运行有至少一个操作系统,所述N个虚拟机监视器包括第一虚拟机监视器和第二虚拟机监视器,所述方法包括:
所述第一虚拟机监视器获取目标访问请求,所述目标访问请求为所述车辆内的操作系统针对所述车辆中的所述硬件设备发起的访问请求;
若所述目标访问请求的访问地址超出所述第一虚拟机监视器的管理范围,则所述第一虚拟机监视器向所述第二虚拟机监视器发送指示信息,所述指示信息用于请求所述第二虚拟机监视器执行所述目标访问请求指向的访问操作。
2.根据权利要求1所述的方法,其特征在于,在所述车辆内的操作系统处于运行状态时,所述车辆中的硬件设备产生的第一类型的中断指令直通所述车辆内的操作系统,不同的所述虚拟机监视器之间采用第二类型的中断指令进行通信。
3.根据权利要求1或2所述的方法,其特征在于,所述第二虚拟机监视器所对应的安全等级高于所述第一虚拟机监视器所对应的安全等级。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若所述目标访问请求的访问地址位于所述第一虚拟机监视器的管理范围之内,则在第一情况下,所述第一虚拟机监视器采用虚拟化输入输出处理VirtIO技术执行所述目标访问请求指向的访问操作;
在第二情况下,所述第一虚拟机监视器通过内置的驱动执行所述目标访问请求指向的访问操作。
5.根据权利要求4所述的方法,其特征在于,所述第一虚拟机监视器上运行的至少一个操作系统包括前端操作系统和后端操作系统,所述VirtIO技术用于支持所述第一虚拟机监视器上运行的所述前端操作系统和所述后端操作系统之间共享所述硬件设备,所述后端操作系统中运行的第一线程和第二线程所对应的stage2页表不同,其中,所述第一线程为用于对所述前端操作系统和后端操作系统之间共享的硬件设备执行访问操作的线程,所述第二线程和所述第一线程为不同的线程,所述第一线程所对应的stage2页表中存在所述前端操作系统的内存地址,所述第二线程所对应的stage2页表中不存在所述前端操作系统的内存地址。
6.根据权利要求1或2所述的方法,其特征在于,所述车辆中部署的为嵌入式的所述虚拟机监视器。
7.根据权利要求6所述的方法,其特征在于,所述N种安全等级的硬件设备部署于硬件层,每种安全等级的硬件设备上运行有一个所述虚拟机监视器,不同安全等级的硬件设备上运行有不同的所述虚拟机监视器。
8.一种虚拟机监视器,其特征在于,所述虚拟机监视器用于处理车辆中的数据,所述车辆包括:N种安全等级的硬件设备和与所述N种安全等级的硬件设备对应的N个虚拟机监视器,所述虚拟机监视器部署于虚拟化层,所述N为大于或等于2的整数,每个所述虚拟机监视器上运行有至少一个操作系统,所述N个虚拟机监视器包括第一虚拟机监视器和第二虚拟机监视器,所述第一虚拟机监视器包括:
获取单元,用于获取目标访问请求,所述目标访问请求为所述车辆内的操作系统针对所述车辆中的所述硬件设备发起的访问请求;
发送单元,用于若所述目标访问请求的访问地址超出所述第一虚拟机监视器的管理范围,则所述第一虚拟机监视器向所述第二虚拟机监视器发送指示信息,所述指示信息用于请求所述第二虚拟机监视器执行所述目标访问请求指向的访问操作。
9.根据权利要求8所述的虚拟机监视器,其特征在于,在所述车辆内的操作系统处于运行状态时,所述车辆中的硬件设备产生的第一类型的中断指令直通所述车辆内的操作系统,不同的所述虚拟机监视器之间采用第二类型的中断指令进行通信。
10.根据权利要求8或9所述的虚拟机监视器,其特征在于,所述第二虚拟机监视器所对应的安全等级高于所述第一虚拟机监视器所对应的安全等级。
11.根据权利要求8或9所述的虚拟机监视器,其特征在于,所述第一虚拟机监视器还包括:
执行单元,用于若所述目标访问请求的访问地址位于所述第一虚拟机监视器的管理范围之内,则在第一情况下,所述第一虚拟机监视器采用虚拟化输入输出处理VirtIO技术执行所述目标访问请求指向的访问操作;
所述执行单元,还用于在第二情况下,所述第一虚拟机监视器通过内置的驱动执行所述目标访问请求指向的访问操作。
12.根据权利要求11所述的虚拟机监视器,其特征在于,所述第一虚拟机监视器上运行的至少一个操作系统包括前端操作系统和后端操作系统,所述VirtIO技术用于支持所述第一虚拟机监视器上运行的所述前端操作系统和所述后端操作系统之间共享所述硬件设备,所述后端操作系统中运行的第一线程和第二线程所对应的stage2页表不同,其中,所述第一线程为用于对所述前端操作系统和后端操作系统之间共享的硬件设备执行访问操作的线程,所述第二线程和所述第一线程为不同的线程,所述第一线程所对应的stage2页表中存在所述前端操作系统的内存地址,所述第二线程所对应的stage2页表中不存在所述前端操作系统的内存地址。
13.根据权利要求8或9所述的虚拟机监视器,其特征在于,所述车辆中部署的为嵌入式的所述虚拟机监视器。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括程序,当所述程序在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序,当所述程序在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的方法。
16.一种车辆中数据的处理系统,其特征在于,所述车辆中数据的处理系统应用于车辆中,所述车辆中数据的处理系统包括N个虚拟机监视器,所述N个虚拟机监视器与所述车辆中的N种安全等级的硬件设备对应,所述虚拟机监视器部署于虚拟化层,所述N为大于或等于2的整数,所述N个虚拟机监视器中存在第一虚拟机监视器,所述第一虚拟机监视器执行如权利要求1至7中任一项所述的方法中所述第一虚拟机监视器执行的步骤。
17.一种车辆,其特征在于,所述车辆包括:N种安全等级的硬件设备和与所述N种安全等级的硬件设备对应的N个虚拟机监视器,所述虚拟机监视器部署于所述车辆的虚拟化层,所述N为大于或等于2的整数,所述N个虚拟机监视器中存在第一虚拟机监视器,所述第一虚拟机监视器执行如权利要求1至7中任一项所述的方法中所述第一虚拟机监视器执行的步骤。
CN202210421778.4A 2022-04-21 2022-04-21 一种车辆中数据的处理方法以及相关设备 Pending CN114880658A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210421778.4A CN114880658A (zh) 2022-04-21 2022-04-21 一种车辆中数据的处理方法以及相关设备
PCT/CN2022/137880 WO2023202096A1 (zh) 2022-04-21 2022-12-09 一种车辆中数据的处理方法以及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210421778.4A CN114880658A (zh) 2022-04-21 2022-04-21 一种车辆中数据的处理方法以及相关设备

Publications (1)

Publication Number Publication Date
CN114880658A true CN114880658A (zh) 2022-08-09

Family

ID=82671310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210421778.4A Pending CN114880658A (zh) 2022-04-21 2022-04-21 一种车辆中数据的处理方法以及相关设备

Country Status (2)

Country Link
CN (1) CN114880658A (zh)
WO (1) WO2023202096A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023202096A1 (zh) * 2022-04-21 2023-10-26 华为技术有限公司 一种车辆中数据的处理方法以及相关设备
CN118474027A (zh) * 2024-07-09 2024-08-09 比亚迪股份有限公司 通信方法、电子装置、车辆和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100472451C (zh) * 2006-04-20 2009-03-25 联想(北京)有限公司 一种虚拟机系统及其硬件设备访问方法
CN101520738A (zh) * 2008-02-27 2009-09-02 黄歆媚 基于设备访存管理技术的虚拟机系统及其设备访问方法
CN106844007B (zh) * 2016-12-29 2020-01-07 中国科学院计算技术研究所 一种基于空间复用的虚拟化方法与系统
EP3572939A1 (en) * 2018-05-25 2019-11-27 TTTech Auto AG Method, device and real-time network for highly-integrated automotive systems
CN110442425B (zh) * 2019-07-19 2022-04-08 南京芯驰半导体科技有限公司 一种虚拟化地址空间隔离系统及方法
CN113312155B (zh) * 2021-07-29 2022-02-01 阿里云计算有限公司 虚拟机创建方法、装置、设备、系统及计算机程序产品
CN114880658A (zh) * 2022-04-21 2022-08-09 华为技术有限公司 一种车辆中数据的处理方法以及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023202096A1 (zh) * 2022-04-21 2023-10-26 华为技术有限公司 一种车辆中数据的处理方法以及相关设备
CN118474027A (zh) * 2024-07-09 2024-08-09 比亚迪股份有限公司 通信方法、电子装置、车辆和存储介质

Also Published As

Publication number Publication date
WO2023202096A1 (zh) 2023-10-26

Similar Documents

Publication Publication Date Title
WO2023202096A1 (zh) 一种车辆中数据的处理方法以及相关设备
US9324234B2 (en) Vehicle comprising multi-operating system
WO2021212379A1 (zh) 车道线检测方法及装置
WO2023051591A1 (zh) 一种进程间通信方法及相关装置
KR20180039011A (ko) 자율 주행 차량을 작동하는 컴퓨팅 노드들 사이의 효율적 통신
CN110473310A (zh) 汽车行驶数据记录方法、系统、设备及存储介质
JP6831474B2 (ja) センサ間でデータを伝送するためのデータ伝送ロジック並びに自動運転車の計画及び制御
CN113632033A (zh) 车辆控制方法及装置
JP2023007396A (ja) 自律型車両の起動プロセスを最適化するための状態中断
CN115123257B (zh) 路面减速带位置识别方法、装置、车辆、存储介质及芯片
US20220309806A1 (en) Road structure detection method and apparatus
US20230249660A1 (en) Electronic Mechanical Braking Method and Electronic Mechanical Braking Apparatus
CN113498529A (zh) 一种目标跟踪方法及其装置
CN114693540A (zh) 一种图像处理方法、装置以及智能汽车
CN113859265A (zh) 一种驾驶过程中的提醒方法及设备
WO2021163846A1 (zh) 目标跟踪方法以及目标跟踪装置
CN112810603A (zh) 定位方法和相关产品
EP4209901A1 (en) Multi-task deployment method and apparatus
CN115056784B (zh) 车辆控制方法、装置、车辆、存储介质及芯片
WO2022110779A1 (zh) 液冷系统、应用在液冷系统的控制方法、控制装置及车辆
CN115334109A (zh) 用于交通信号识别的系统架构、传输方法,车辆,介质及芯片
JP2023135587A (ja) 自律システム及びアプリケーションのための占有グリッドを使用したハザード検出
EP4383110A1 (en) Data processing method and related apparatus
CN115237630B (zh) 数据处理方法、装置、车辆、存储介质及芯片
CN115042813B (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