CN117519909A - 一种运行在车载主机上的软件系统及其运行方法 - Google Patents
一种运行在车载主机上的软件系统及其运行方法 Download PDFInfo
- Publication number
- CN117519909A CN117519909A CN202311856594.1A CN202311856594A CN117519909A CN 117519909 A CN117519909 A CN 117519909A CN 202311856594 A CN202311856594 A CN 202311856594A CN 117519909 A CN117519909 A CN 117519909A
- Authority
- CN
- China
- Prior art keywords
- container
- ivi
- service
- instrument
- meter
- 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 50
- 238000012360 testing method Methods 0.000 claims description 15
- 238000011022 operating instruction Methods 0.000 claims description 8
- 238000005520 cutting process Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 description 19
- 238000002955 isolation Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 150000001875 compounds Chemical class 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种运行在车载主机上的软件系统及其运行方法,软件系统包括:内核,内核上运行有仪表系统和至少一个容器,至少一个容器包括IVI容器;仪表系统包括:仪表显示框架、仪表容器服务、仪表容器客户端和容器管理服务;IVI容器中运行有IVI系统,IVI系统包括:IVI显示框架和IVI容器服务;仪表容器客户端用于向容器管理服务发送容器创建指令,以及用于将从仪表容器服务接收的容器操作指令转发给容器管理服务;容器管理服务用于在接收到容器创建指令时创建IVI容器,以及用于在接收到容器操作指令时执行相应操作。本发明实施例的技术方案,占用主机运算资源小,降低了成本,且增加了仪表显示的安全性和可靠性。
Description
技术领域
本发明实施例涉及智能座舱技术领域,尤其涉及一种运行在车载主机上的软件系统及其运行方法。
背景技术
近年来,随着技术和经济的发展,汽车在人们日常生活中变得越来越普及,这极大地带动了汽车产业的发展。特别地,伴随着新能源技术、通信技术、人工智能等技术的发展,汽车产业朝着新四化的方向努力前进。整车厂、汽车零部件企业以及其他相关企业都深入参与其中并发生着深刻变化,智能座舱、智能驾驶、车联网等成为行业热点,这也伴随着技术复杂度的提升以及成本的上升。与此同时,如何平衡成本、功能等指标以获取市场也成为整车最终落地必须考虑的问题。
以智能座舱为例,现在市场上汽车除了配置传统的汽车仪表之外,还配置了车载信息娱乐系统(In-Vehicle Infotainment,IVI)等系统,以实现车载娱乐、辅助驾驶等功能。最初版本的IVI系统配置了专用的主机,一方面成本较高,存在主机资源未被充分利用的情况,另一方面,IVI系统与车辆中原有设施的集成也存在一些问题。
针对这些问题,出现了一机多屏的方案,即汽车仪表系统、IVI系统等承载在一个主机上。具体地,已有方案中,采用虚拟机技术,汽车仪表系统、IVI系统等分别运行在一个虚拟机上。然而,多个虚拟机的系统程序需要较多的主机运算资源,这就要求主机具备较强大的运算能力,依然存在成本高的问题。
进一步地,针对虚拟机技术需要占用较多主机运算资源的问题,一种可能的方案是采用容器化技术,发明人对此进行了研究。
发明内容
本发明实施例旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明实施例提供一种运行在车载主机上的软件系统及其运行方法,采用容器化技术实现各操作系统的隔离,降低了车载主机的运算资源占用,进而降低了成本。
在第一方面中,本发明实施例公开一种运行在车载主机上的软件系统,包括:内核,所述内核上运行有仪表系统和至少一个容器,所述至少一个容器包括IVI容器;所述仪表系统包括:仪表显示框架、仪表容器服务、仪表容器客户端和容器管理服务;所述IVI容器中运行有IVI系统,所述IVI系统包括:IVI显示框架和IVI容器服务;其中,
所述仪表显示框架用于生成仪表图像数据,并将所述仪表图像数据发送给位于所述内核中的显示驱动文件;
所述仪表容器服务用于获取来自于所述IVI容器服务的容器操作指令;
所述仪表容器客户端用于向所述容器管理服务发送容器创建指令,以及用于将从所述仪表容器服务接收的所述容器操作指令转发给所述容器管理服务;
所述容器管理服务用于在接收到所述容器创建指令时创建所述IVI容器,以及用于在接收到所述容器操作指令时执行相应操作;
所述IVI显示框架用于生成IVI图像数据,并将所述IVI图像数据发送给位于所述内核中的显示驱动文件;
所述IVI容器服务用于从IVI应用获取所述容器操作指令,并将所述容器操作指令发送给所述仪表容器服务。
在第一方面的一具体实施例中,所述仪表系统的操作系统为裁剪掉非必要系统服务和非必要应用后的Android操作系统;所述IVI系统的操作系统为标准的Android操作系统。
在第一方面的一具体实施例中,所述仪表显示框架包括:第一Surfaceflinger服务和第一HardwareComposer服务;所述IVI显示框架包括:第二Surfaceflinger服务和第二HardwareComposer服务;
所述仪表显示框架具体用于通过第一Surfaceflinger服务和第一HardwareComposer服务生成仪表图像数据,并将所述仪表图像数据发送给位于所述内核中的第一子节点;
所述IVI显示框架用于通过第二Surfaceflinger服务和第二HardwareComposer服务生成IVI图像数据,并将所述IVI图像数据发送给位于所述内核中的第二子节点;
其中,所述第一子节点和所述第二子节点为内核中的显示驱动文件作为父节点虚拟出的两个模拟显示驱动文件。
在第一方面的一具体实施例中,所述仪表系统还包括:仪表侧ADB服务;所述IVI系统中还包括:IVI侧ADB服务;
所述仪表侧ADB服务用于获取设备节点标志,将测试设备输入的ADB消息发送至所述设备节点标志指向的系统;其中,在所述设备节点标志指向所述IVI系统时,将测试设备输入的ADB消息发送至所述IVI侧ADB服务。
在第一方面的一具体实施例中,所述仪表ADB服务还用于接收节点标志切换指令,根据所述节点切换指令赋值所述设备节点标志。
在第一方面的一具体实施例中,所述仪表容器服务还用于接收所述IVI容器服务发送的仪表属性设置命令,以设置所述仪表系统的属性;所述IVI容器服务还用于接收所述仪表容器服务发送的IVI属性设置命令,以设置所述IVI系统的属性。
在第一方面的一具体实施例中,所述仪表显示框架和所述IVI显示框架与GPU通信连接,且所述仪表显示框架的优先级高于所述IVI显示框架的优先级。
在第一方面的一具体实施例中,还包括:截屏模块;
所述截屏模块用于接收用户输入的截屏指令,根据所述截屏指令执行截屏操作;其中,用户通过所述仪表系统或者所述IVI系统输入所述截屏指令,所述截屏指令指向自身或第三方。
在第一方面的一具体实施例中,所述容器管理服务还用于捕捉所述IVI系统的退出参数,以根据所述退出参数执行退出流程。
在第一方面的一具体实施例中,所述容器管理服务还用于创建IVI容器时,判断所述IVI容器是否在预设时长内创建成功,若IVI容器未在预设时长内创建成功,则重新执行创建IVI容器的流程;其中,在所述容器管理服务监测到IVI容器启动参数表征所述IVI容器启动成功时所述IVI容器创建成功。
在第一方面的一具体实施例中,所述容器操作指令包括:自身操作指令和/或代理操作指令。
在第二方面中,本发明实施例还公开一种车载主机上软件系统的运行方法,包括:
开机后,加载BootLoader程序以启动内核;
在内核上启动仪表系统,所述仪表系统包括:仪表显示框架、仪表容器服务、仪表容器客户端和容器管理服务;
所述仪表容器客户端向所述容器管理服务发送容器创建指令;
所述容器管理服务基于所述容器创建指令创建至少一个容器,所述至少一个容器包括IVI容器,所述IVI容器中运行有IVI系统,所述IVI系统包括:IVI显示框架和IVI容器服务;
其中,所述仪表显示框架用于生成仪表图像数据,并将所述仪表图像数据发送给位于所述内核中的显示驱动文件;
所述仪表容器服务用于获取来自于所述IVI容器服务的容器操作指令;
所述仪表容器客户端还用于将从所述仪表容器服务接收的所述容器操作指令转发给所述容器管理服务;
所述容器管理服务还用于在接收到所述容器操作指令时执行相应操作;
所述IVI显示框架用于生成IVI图像数据,并将所述IVI图像数据发送给位于所述内核中的显示驱动文件;
所述IVI容器服务用于从IVI应用获取所述容器操作指令,并将所述容器操作指令发送给所述仪表容器服务。
在第二方面的一具体实施例中,所述仪表系统的操作系统为裁剪掉非必要系统服务和非必要应用后的Android操作系统;所述IVI系统的操作系统为标准的Android操作系统。
在第二方面的一具体实施例中,所述仪表显示框架包括:第一Surfaceflinger服务和第一HardwareComposer服务;所述IVI显示框架包括:第二Surfaceflinger服务和第二HardwareComposer服务;所述方法还包括:
所述仪表显示框架通过第一Surfaceflinger服务和第一HardwareComposer服务生成仪表图像数据,并将所述仪表图像数据发送给位于所述内核中的第一子节点;
所述IVI显示框架通过第二Surfaceflinger服务和第二HardwareComposer服务生成IVI图像数据,并将所述IVI图像数据发送给位于所述内核中的第二子节点;
其中,所述第一子节点和所述第二子节点为内核中的显示驱动文件作为父节点虚拟出的两个模拟显示驱动文件。
在第二面的一具体实施例中,所述仪表系统还包括:仪表侧ADB服务;所述IVI系统中还包括:IVI侧ADB服务;所述方法还包括:
所述仪表侧ADB服务获取设备节点标志,将测试设备输入的ADB消息发送至所述设备节点标志指向的系统;其中,在所述设备节点标志指向所述IVI系统时,将测试设备输入的ADB消息发送至所述IVI侧ADB服务。
在第二方面的一具体实施例中,所述方法还包括:所述仪表ADB服务接收节点标志切换指令,根据所述节点切换指令赋值所述设备节点标志。
在第二方面的一具体实施例中,所述方法还包括:所述仪表容器服务接收所述IVI容器服务发送的仪表属性设置命令,以设置所述仪表系统的属性;所述IVI容器服务接收所述仪表容器服务发送的IVI属性设置命令,以设置所述IVI系统的属性。
在第二方面的一具体实施例中,所述仪表显示框架和所述IVI显示框架与GPU通信连接,且所述仪表显示框架的优先级高于所述IVI显示框架的优先级。
在第二方面的一具体实施例中,还包括:截屏模块;所述方法还包括:
所述截屏模块接收用户输入的截屏指令,根据所述截屏指令执行截屏操作;其中,用户通过所述仪表系统或者所述IVI系统输入所述截屏指令,所述截屏指令指向自身或第三方。
在第二方面的一具体实施例中,所述方法还包括:所述容器管理服务捕捉所述IVI系统的退出参数,以根据所述退出参数执行退出流程。
在第二方面的一具体实施例中,所述方法还包括:所述容器管理服务创建IVI容器时,判断所述IVI容器是否在预设时长内创建成功,若IVI容器未在预设时长内创建成功,则重新执行创建IVI容器的流程;其中,在所述容器管理服务监测到IVI容器启动参数表征所述IVI容器启动成功时所述IVI容器创建成功。
在第二方面的一具体实施例中,所述容器操作指令包括:自身操作指令和/或代理操作指令。
本发明实施例的有益效果:
本发明实施例提供的一种运行在车载主机上的软件系统及其运行方法,软件系统包括:内核,内核上运行有仪表系统和至少一个容器,至少一个容器包括IVI容器;仪表系统包括:仪表显示框架、仪表容器服务、仪表容器客户端和容器管理服务;IVI容器中运行有IVI系统,IVI系统包括:IVI显示框架和IVI容器服务;其中,仪表显示框架用于生成仪表图像数据,并将仪表图像数据发送给位于内核中的显示驱动文件;仪表容器服务用于获取来自于IVI容器服务的容器操作指令;仪表容器客户端用于向容器管理服务发送容器创建指令,以及用于将从仪表容器服务接收的容器操作指令转发给容器管理服务;容器管理服务用于在接收到容器创建指令时创建所述IVI容器,以及用于在接收到容器操作指令时执行相应操作;IVI显示框架用于生成IVI图像数据,并将IVI图像数据发送给位于内核中的显示驱动文件;IVI容器服务用于从IVI应用获取容器操作指令,并将容器操作指令发送给所述仪表容器服务。本发明实施例的技术方案,采用容器化技术实现仪表系统和IVI系统的隔离,相较于虚拟机技术,在实现系统隔离的基础上占用主机运算资源小,可适用于运算能力较低的车载主机上,进而降低成本。另外,采用仪表容器客户端、容器管理服务实现容器的创建与管理,仪表容器客户端、容器管理服务实现容器独立于仪表系统实现仪表服务的部分,在容器管理服务出现故障时,不影响仪表服务的运行,增加了仪表显示的安全性和可靠性。
附图说明
图1为本发明实施例提供的一种运行在车载主机上的软件系统的结构示意图;
图2为本发明实施例提供的另一种运行在车载主机上的软件系统的结构示意图;
图3为本发明实施例提供的一种车载主机上软件系统运行方法的流程示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明实施例的技术构思,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
为方便理解,首先对本发明实施例的应用场景和技术构思进行说明。本发明实施例的硬件场景为一台车载主机,仪表屏、IVI(in-vehicle infotainment,车载娱乐)屏等显示屏与车载主机之间通过总线连接。一般地,可采用的总线类型可以为CAN(ontrollerArea Network,控制器区域网络)总线、LIN(Local Interconnect Network,本地互联网络)总线、MOST(MediaOriented Systems Transport,面向媒体的系统传输)总线、FlexRay总线、Ethernet总线等车载总线。显示屏作为车载主机的显示输出设备提供显示服务。
进一步地,IVI屏也称为中控屏,在一些实施方式中,显示屏还可以包括副驾娱乐屏等其他屏幕,但本发明实施例中至少应包括仪表屏和中控屏。
下面对本发明实施例的技术构思进行说明:本发明实施例中,将仪表系统直接运行在车载主机上,将仪表以外的操作系统采用容器化技术实现,以实现其他操作系统和仪表系统的隔离,同时通过配置仪表容器客户端、容器管理服务实现仪表以外的操作系统所在容器的创建和管理,通过在仪表系统中配置仪表容器服务,在仪表以外的操作系统在配置相应的容器服务(如在IVI系统中配置IVI容器服务),实现仪表系统与仪表以外的操作系统之间的通信。本发明实施例的技术方案,将仪表以外的操作系统运行在容器管理服务创建的容器中,一方面实现了各操作系统的隔离,另一方面,相对于虚拟机技术,该技术方案需要的主机运算资源较少,因此可采用相对价格低廉的车载主机,降低整车的制造成本。另外,采用仪表容器客户端、容器管理服务实现容器的创建与管理,仪表容器客户端、容器管理服务实现容器独立于仪表系统实现仪表服务的部分,在容器管理服务出现故障时,不影响仪表服务的运行,增加了仪表显示的安全性和可靠性。
下面参见附图对本发明实施例的技术方案进行具体说明。
参见图1所示,图1为本发明实施例提供的一种运行在车载主机上的软件系统的结构示意图。图1所示软件系统包括:内核10,内核10上运行有仪表系统11和至少一个容器,至少一个容器包括IVI容器12。仪表系统11包括:仪表显示框架110、仪表容器服务111、仪表容器客户端112和容器管理服务113。IVI容器12中运行有IVI系统,IVI系统包括:IVI显示框架120和IVI容器服务121。
其中,在本发明实施例的一些实现方式中,内核10采用Linux内核。仪表容器客户端112、仪表容器服务113可以为客户端-服务器模式下的客户端程序和服务器程序,仪表容器客户端112负责发送请求(如容器操作指令、容器创建指令),仪表容器服务113基于仪表容器客户端的请求提供相应的服务。
下面对图1所示软件系统各组成部分进行详细的说明。
其中,仪表显示框架110用于生成仪表图像数据,并将仪表图像数据发送给位于所述内核中的显示驱动文件。
具体地,仪表显示框架110中仪表应用(如QT应用)在Surfaceflinger服务的Surface上绘制仪表显示内容,Surfaceflinger服务和HardwareComposer服务对绘制的仪表显示内容进行渲染等处理,得到仪表图像数据,最终HardwareComposer服务将仪表图像数据发送给位于内核10中的显示驱动文件,显示驱动文件使得仪表图像数据在仪表屏上进行显示。其中,显示驱动文件指的是位于内核中的dev/dri/card文件。
仪表容器服务111用于获取来自于IVI容器服务121的容器操作指令。
其中,仪表容器服务111和IVI容器服务121为仪表系统和IVI系统对外通信的一个接口,可采用接口函数的方式实现,实际应用中,仪表容器服务111和IVI容器服务121可以采用socket机制,binder机制等通信机制继续通信。容器操作指令为对容器进行管理操作的指令,如启动指令、停止指令、销毁指令等中的一种或多种。在一些实施方式中,容器操作指令可以为对IVI容器进行操作的自身操作指令;在另一些实施方式中,容器操作指令可以为对其他系统(如对IVI容器外的其他容器进行操作的指令)进行操作的代理操作指令。可以理解的是,在又一些实施方式中,容器操作指令包括自身操作指令和代理操作指令,用户可根据实际需求灵活通过IVI系统发出相应的操作指令。这里采用代理操作指令的方式可通过容器管理服务间接实现不同容器间的管理,方便车上不同位置用户对各容器系统的管理。此外,在容器操作指令为代理操作指令时,除启动指令、停止指令、销毁指令等外,该容器操作指令还可以包括创建指令,以实现IVI容器外其他容器的创建。
仪表容器客户端112用于向容器管理服务113发送容器创建指令,以及用于将从仪表容器服务111接收的容器操作指令转发给容器管理服务113。
其中,仪表容器客户端112一方面起到客户端-服务器模式下客户端的作用。另一方面,作为仪表容器服务111与容器管理服务之间的通信通道。
容器管理服务113用于在接收到容器创建指令时创建IVI容器,以及用于在接收到容器操作指令时执行相应操作。
其中,创建容器的技术为现有技术,本步骤是将已有技术中创建容器的技术应用到创建IVI容器的具体场景中,并不产生新的问题,此处不再赘述。本发明实施例的技术方案将容器管理服务设置于仪表系统中,并独立于仪表系统的其他系统服务,若容器管理服务出现故障时,不影响仪表系统的基本功能,即不影响仪表服务的运行,增加仪表系统的安全性和可靠性。另外,本发明实施例中并未为仪表系统创建容器,仪表系统直接运行在车载主机上,相对于为仪表系统创建专门的容器的方式,开发简单,且资源消耗更小。
IVI显示框架120用于生成IVI图像数据,并将所述IVI图像数据发送给位于所述内核中的显示驱动文件。
具体地,IVI显示框架120中IVI应用(如地图应用)在Surfaceflinger服务的Surface上绘制仪表显示内容,Surfaceflinger服务和HardwareComposer服务对绘制的仪表显示内容进行渲染等处理,得到仪表图像数据,最终HardwareComposer服务将仪表图像数据发送给位于内核10中的显示驱动文件,显示驱动文件使得仪表图像数据在仪表屏上进行显示。
IVI容器服务121用于从IVI应用获取容器操作指令,并将容器操作指令发送给仪表容器服务111。
本发明实施例提供的一种运行在车载主机上的软件系统,包括:内核,内核上运行有仪表系统和至少一个容器,至少一个容器包括IVI容器;仪表系统包括:仪表显示框架、仪表容器服务、仪表容器客户端和容器管理服务;IVI容器中运行有IVI系统,IVI系统包括:IVI显示框架和IVI容器服务;其中,仪表显示框架用于生成仪表图像数据,并将仪表图像数据发送给位于内核中的显示驱动文件;仪表容器服务用于获取来自于IVI容器服务的容器操作指令;仪表容器客户端用于向容器管理服务发送容器创建指令,以及用于将从仪表容器服务接收的容器操作指令转发给容器管理服务;容器管理服务用于在接收到容器创建指令时创建所述IVI容器,以及用于在接收到容器操作指令时执行相应操作;IVI显示框架用于生成IVI图像数据,并将IVI图像数据发送给位于内核中的显示驱动文件;IVI容器服务用于从IVI应用获取容器操作指令,并将容器操作指令发送给所述仪表容器服务。本发明实施例的技术方案,采用容器化技术实现仪表系统和IVI系统的隔离,相较于虚拟机技术,在实现系统隔离的基础上占用主机运算资源小,可适用于运算能力较低的车载主机上,进而降低成本。另外,采用仪表容器客户端、容器管理服务实现容器的创建与管理,仪表容器客户端、容器管理服务实现容器独立于仪表系统实现仪表服务的部分,在容器管理服务出现故障时,不影响仪表服务的运行,增加了仪表显示的安全性和可靠性。
进一步地,考虑到实际工况中仪表系统所需的系统服务有限,且很多系统自带应用程序仪表系统并不需要,为此,在本发明实施例的一些实施方式中,仪表系统采用裁剪掉非必要系统服务和非必要应用程序后的操作系统。
具体地,仪表系统11的操作系统为裁剪掉非必要系统服务和非必要应用后的Android操作系统;IVI系统的操作系统为标准的Android操作系统。其中,非必要系统服务为运行仪表应用所不必要的系统服务,如Class main系统服务、Dalvik虚拟机等。非必要应用为仪表系统中无需使用的系统应用,主要为Java类应用,如计算器应用、壁纸应用等系统自带应用。
该方案中,仪表系统的操作系统采用裁剪后的Android操作系统,IVI系统的操作系统采用标准的Android操作系统,即仪表系统和IVI系统采用非对等的操作系统,减少了仪表系统侧的资源占用,使得加配容器管理服务的仪表系统的启动时间并未增长甚至缩短,增加仪表的安全性和可靠性。另外,由于仪表系统和IVI系统采用的均是Android操作系统,因此两者之间的通信无需编解码等过程。这不仅避免了硬件间的数据传输,也避免了不同操作系统间的数据传输,与现有技术相比,降低价格的基础上增加了数据传输速度。
进一步地,如前所述,仪表显示框架110和IVI显示框架120是通过Surfaceflinger服务和HardwareComposer服务实现对绘制内容的渲染等处理的,考虑到如果仪表显示框架110和IVI显示框架120共用Surfaceflinger服务和HardwareComposer服务,一旦Surfaceflinger服务和HardwareComposer服务出现故障,则仪表显示和IVI显示均无法进行。为此,在本发明实施例的一些实施方式中,仪表显示框架110包括:第一Surfaceflinger服务和第一HardwareComposer服务;IVI显示框架120包括:第二Surfaceflinger服务和第二HardwareComposer服务。
其中,仪表显示框架110具体用于通过第一Surfaceflinger服务和第一HardwareComposer服务生成仪表图像数据,并将仪表图像数据发送给位于内核中的第一子节点。IVI显示框架120用于通过第二Surfaceflinger服务和第二HardwareComposer服务生成IVI图像数据,并将IVI图像数据发送给位于内核中的第二子节点。第一子节点和第二子节点为内核中的显示驱动文件(也称之为显示设备文件)作为父节点虚拟出的两个模拟显示驱动文件。
具体地,以内核中的显示驱动文件为dev/dri/card0为例,可采用内核显示虚拟化技术利用dev/dri/card0虚拟出两个模拟显示驱动文件dev/dri/card1和dev/dri/card2,dev/dri/card1作为第一子节点,dev/dri/card2作为第二子节点。
该实施方式中,分别为仪表显示框架110和IVI显示框架120设置Surfaceflinger服务和HardwareComposer服务,以及显示驱动文件,两个显示框架互不影响,提升了仪表屏和IVI显示屏的安全性和用户体验。
进一步地,考虑到虽然仪表系统和IVI系统共同承载在车载主机上,但仪表系统和IVI系统均有测试和调试的需要。如何兼顾仪表系统和IVI系统测试和调试,是本领域技术人员需要考虑的问题。基于该需求,发明人提出了一个解决方案。具体地,在本发明实施例的一些实施方式中,仪表系统11还可以包括:仪表侧ADB(Android Debug Bridge,安卓调试桥)服务;IVI系统中还可以包括:IVI侧ADB服务。
具体地,仪表侧ADB服务用于获取设备节点标志,将测试设备输入的ADB消息发送至设备节点标志指向的系统。其中,设备节点标志用于指示当前需要进行测试的系统,在设备节点标志指向IVI系统时,将测试设备输入的ADB消息发送至IVI侧ADB服务,以对IVI系统执行相应操作。如对IVI系统中的IVI应用进行调制,访问IVI系统的文件系统等。在设备节点标志指向仪表系统时,利用测试设备输入的ADB消息对仪表系统执行相应操作。如对仪表系统中的仪表应用进行调制,访问仪表系统的文件系统等。
该具体实施方式,为仪表系统和IVI系统分别配置了ADB服务,测试人员可使用测试设备相对独立的测试和调试IVI系统和仪表系统。
进一步地,在本发明实施例的一些实施方式中,仪表ADB服务还用于接收节点标志切换指令,根据节点切换指令赋值设备节点标志。其中,实际应用中,用户可在IVI系统或仪表系统输入节点标识切换指令。
该实施方式中,可根据用户需求,灵活切换ADB通道,以对仪表系统和IVI系统进行调试等操作。可以理解的是,在其他实施方式中,也可以提前设置好调试顺序,例如先调试仪表系统,再调试IVI系统,在调试仪表系统完成后,自动切入IVI系统的调试。
进一步地,在本发明实施例的一些实施方式中,仪表容器服务还用于接收IVI容器服务发送的仪表属性设置命令,以设置仪表系统的属性。IVI容器服务还用于接收仪表容器服务发送的IVI属性设置命令,以设置IVI系统的属性。其中,仪表属性设置命令可由用户在IVI系统输入,通过IVI容器服务发送至仪表侧,IVI属性设置命令可由用户在仪表系统输入,通过仪表容器服务发送至IVI侧。
该实施方式中,仪表系统可根据业务需求将IVI属性设置命令发送给IVI容器服务,以设置IVI系统的属性,IVI系统可根据业务需求将仪表属性设置命令发送给仪表容器服务,以设置仪表系统的属性。通过该实施方式,可根据仪表系统和IVI系统的交互业务需求,灵活设置相应的属性,满足各种业务需求(如投屏时,仪表系统设置IVI系统中虚拟屏幕的分辨率,IVI系统设置投屏应用在仪表屏幕中的大小和位置等)。
在实际应用中,考虑到图形渲染需要占用较多的资源,一种可能的方案是为图形渲染配置GPU(Graphics Processing Unit,图形处理器),此时,仪表显示框架110和IVI显示框架120与GPU通信连接,以使GPU协助进行图形渲染。特别地,在本发明实施例的一些实施方式中,仪表显示框架110(也即仪表系统)的优先级高于IVI显示框架120(也即IVI系统)的优先级,以使在仪表显示和IVI显示冲突时,优先保障仪表显示,增加仪表的可靠性和安全性。实际应用中,可在GPU的驱动中设置好仪表显示框架110和IVI显示框架120的优先级。
进一步地,在本发明实施例的一些实施方式中,参见图2所示,在图1所示软件系统的基础上,本发明实施例的软件系统还可以包括:截屏模块13。具体地,截屏模块13用于接收用户输入的截屏指令,根据截屏指令获取截屏指令对应屏幕的像素数据,以执行截屏操作;其中,用户通过仪表系统或者IVI系统输入截屏指令,截屏指令指向自身或第三方。其中,截屏指令指向自身是指用户通过输入的操作指令实现对用户所在系统的截屏,截屏指令指向第三方是指用户通过输入的操作指令实现对用户所在系统以外系统的截屏。以用户在仪表系统输入截屏指令为例,截屏指令指向自身是指对仪表系统进行截屏操作,截屏指令指向第三方是指对IVI系统进行截屏操作。特别地,截屏模块13由仪表系统和IVI系统共用,用户可通过仪表系统输入IVI系统的截屏指令,用户也可通过IVI系统输入仪表系统的截屏指令,实现了跨系统截屏,提升用户体验。此外,在软件系统还包括仪表系统和IVI系统之外的其他系统时,各系统均可采用本实施方式中的技术方案,实现各系统间的跨系统截屏。
进一步地,在本发明实施例的一些实施方式中,容器管理服务113还用于捕捉IVI系统的退出参数,以根据退出参数执行退出流程。其中,退出参数一般指SIGCHLD信号,容器管理服务13可在创建容器时,配置对应的回调函数,通过回调函数捕捉SIGCHLD信号。容器管理服务113根据退出参数的含义执行相应的退出流程。如退出参数表征重启IVI容器时,容器管理服务113执行重启IVI容器的流程,退出参数表征关闭IVI容器时,容器管理服务113执行关闭IVI容器的流程。该实施方式通过容器管理服务113捕捉退出参数,避免用户想要关闭或重启IVI系统时,造成整机关闭或重启,增加仪表运行的可靠性和安全性。
进一步地,在本发明实施例的一些实施方式中,容器管理服务113还用于创建IVI容器时,判断IVI容器是否在预设时长内创建成功,若IVI容器未在预设时长内创建成功,则重新执行创建IVI容器的流程;其中,在容器管理服务监测到IVI容器启动参数表征IVI容器启动成功时IVI容器创建成功。在实际应用中,IVI容器启动参数即为IVI容器的root.complete参数,root.complete参数可表征IVI容器是否启动成功。一般地,容器管理服务113在由于整机启动或者IVI容器重启,创建IVI容器时,会设置一个预设时长的时钟,若在时钟走完前,IVI容器启动参数表征IVI容器启动成功,则IVI容器创建成功,若时钟走完,IVI容器启动参数表征IVI容器未启动成功,则IVI容器创建失败,重新执行创建IVI容器的流程。
该实施方式,在IVI容器启动失败时,自动重新执行创建IVI容器的流程提升创建IVI容器成功的概率,用户体验好。
需要说明的是,前述软件系统实施例是运行在车载主机上的软件系统的部分实施例,还可以存在其他实施例,如内核上除了运行IVI容器外,也可为副驾娱乐屏配置容器。又如,在一些实施方式中,仪表系统也可采用标准的Android 系统。本发明实施例对此不做限定。
与前述软件系统实施例对应,本发明实施例还公开一种车载主机上软件系统的运行方法。参见图3所示,本发明实施例提供的一种车载主机上软件系统运行方法可以包括:
在步骤S310中,开机后,加载BootLoader程序以启动内核。
在步骤S311中,在内核上启动仪表系统。
具体地,仪表系统包括:仪表显示框架、仪表容器服务、仪表容器客户端和容器管理服务。
在步骤S312中,仪表容器客户端向所述容器管理服务发送容器创建指令。
在步骤S313中,容器管理服务基于容器创建指令创建至少一个容器。
具体地,所述至少一个容器包括IVI容器,所述IVI容器中运行有IVI系统,所述IVI系统包括:IVI显示框架和IVI容器服务。一般地,一个容器创建指令对应创建一个容器。
其中,所述仪表显示框架用于生成仪表图像数据,并将所述仪表图像数据发送给位于所述内核中的显示驱动文件;
所述仪表容器服务用于获取来自于所述IVI容器服务的容器操作指令;
所述仪表容器客户端还用于将从所述仪表容器服务接收的所述容器操作指令转发给所述容器管理服务;
所述容器管理服务还用于在接收到所述容器操作指令时执行相应操作;
所述IVI显示框架用于生成IVI图像数据,并将所述IVI图像数据发送给位于所述内核中的显示驱动文件;
所述IVI容器服务用于从IVI应用获取所述容器操作指令,并将所述容器操作指令发送给所述仪表容器服务。
本发明实施例提供的一种车载主机软件系统的运行方法,采用容器化技术实现仪表系统和IVI系统的隔离,相较于虚拟机技术,在实现系统隔离的基础上占用主机运算资源小,可适用于运算能力较低的车载主机上,进而降低成本。另外,采用仪表容器客户端、容器管理服务实现容器的创建与管理,仪表容器客户端、容器管理服务实现容器独立于仪表系统实现仪表服务的部分,在容器管理服务出现故障时,不影响仪表服务的运行,增加了仪表显示的安全性和可靠性。
在本发明实施例的一些实施方式中,所述仪表系统的操作系统为裁剪掉非必要系统服务和非必要应用后的Android操作系统;所述IVI系统的操作系统为标准的Android操作系统。
在本发明实施例的一些实施方式中,所述仪表显示框架包括:第一Surfaceflinger服务和第一HardwareComposer服务;所述IVI显示框架包括:第二Surfaceflinger服务和第二HardwareComposer服务;所述方法还包括:
所述仪表显示框架通过第一Surfaceflinger服务和第一HardwareComposer服务生成仪表图像数据,并将所述仪表图像数据发送给位于所述内核中的第一子节点;
所述IVI显示框架通过第二Surfaceflinger服务和第二HardwareComposer服务生成IVI图像数据,并将所述IVI图像数据发送给位于所述内核中的第二子节点;
其中,所述第一子节点和所述第二子节点为内核中的显示驱动文件作为父节点虚拟出的两个模拟显示驱动文件。
在第二面的一具体实施例中,所述仪表系统还包括:仪表侧ADB服务;所述IVI系统中还包括:IVI侧ADB服务;所述方法还包括:
所述仪表侧ADB服务获取设备节点标志,将测试设备输入的ADB消息发送至所述设备节点标志指向的系统;其中,在所述设备节点标志指向所述IVI系统时,将测试设备输入的ADB消息发送至所述IVI侧ADB服务。
在本发明实施例的一些实施方式中,所述方法还包括:所述仪表ADB服务接收节点标志切换指令,根据所述节点切换指令赋值所述设备节点标志。
在本发明实施例的一些实施方式中,所述方法还包括:所述仪表容器服务接收所述IVI容器服务发送的仪表属性设置命令,以设置所述仪表系统的属性;所述IVI容器服务接收所述仪表容器服务发送的IVI属性设置命令,以设置所述IVI系统的属性。
在本发明实施例的一些实施方式中,所述仪表显示框架和所述IVI显示框架与GPU通信连接,且所述仪表显示框架的优先级高于所述IVI显示框架的优先级。
在本发明实施例的一些实施方式中,还包括:截屏模块;所述方法还包括:
所述截屏模块接收用户输入的截屏指令,根据所述截屏指令执行截屏操作;其中,用户通过所述仪表系统或者所述IVI系统输入所述截屏指令,所述截屏指令指向自身或第三方。
在本发明实施例的一些实施方式中,所述方法还包括:所述容器管理服务捕捉所述IVI系统的退出参数,以根据所述退出参数执行退出流程。
在本发明实施例的一些实施方式中,所述方法还包括:所述容器管理服务创建IVI容器时,判断所述IVI容器是否在预设时长内创建成功,若IVI容器未在预设时长内创建成功,则重新执行创建IVI容器的流程;其中,在所述容器管理服务监测到IVI容器启动参数表征所述IVI容器启动成功时所述IVI容器创建成功。
在本发明实施例的一些实施方式中,所述容器操作指令包括:自身操作指令和/或代理操作指令。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于软件系统实施例,所以描述的比较简单,相关之处参见软件系统实施例的部分说明即可。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种运行在车载主机上的软件系统,其特征在于,包括:内核,所述内核上运行有仪表系统和至少一个容器,所述至少一个容器包括IVI容器;所述仪表系统包括:仪表显示框架、仪表容器服务、仪表容器客户端和容器管理服务;所述IVI容器中运行有IVI系统,所述IVI系统包括:IVI显示框架和IVI容器服务;其中,
所述仪表显示框架用于生成仪表图像数据,并将所述仪表图像数据发送给位于所述内核中的显示驱动文件;
所述仪表容器服务用于获取来自于所述IVI容器服务的容器操作指令;
所述仪表容器客户端用于向所述容器管理服务发送容器创建指令,以及用于将从所述仪表容器服务接收的所述容器操作指令转发给所述容器管理服务;
所述容器管理服务用于在接收到所述容器创建指令时创建所述IVI容器,以及用于在接收到所述容器操作指令时执行相应操作;
所述IVI显示框架用于生成IVI图像数据,并将所述IVI图像数据发送给位于所述内核中的显示驱动文件;
所述IVI容器服务用于从IVI应用获取所述容器操作指令,并将所述容器操作指令发送给所述仪表容器服务。
2.如权利要求1所述的软件系统,其特征在于,所述仪表系统的操作系统为裁剪掉非必要系统服务和非必要应用后的Android操作系统;所述IVI系统的操作系统为标准的Android操作系统。
3.如权利要求1所述的软件系统,其特征在于,所述仪表显示框架包括:第一Surfaceflinger服务和第一HardwareComposer服务;所述IVI显示框架包括:第二Surfaceflinger服务和第二HardwareComposer服务;
所述仪表显示框架具体用于通过第一Surfaceflinger服务和第一HardwareComposer服务生成仪表图像数据,并将所述仪表图像数据发送给位于所述内核中的第一子节点;
所述IVI显示框架用于通过第二Surfaceflinger服务和第二HardwareComposer服务生成IVI图像数据,并将所述IVI图像数据发送给位于所述内核中的第二子节点;
其中,所述第一子节点和所述第二子节点为内核中的显示驱动文件作为父节点虚拟出的两个模拟显示驱动文件。
4.如权利要求1所述的软件系统,其特征在于,所述仪表系统还包括:仪表侧ADB服务;所述IVI系统中还包括:IVI侧ADB服务;
所述仪表侧ADB服务用于获取设备节点标志,将测试设备输入的ADB消息发送至所述设备节点标志指向的系统;其中,在所述设备节点标志指向所述IVI系统时,将测试设备输入的ADB消息发送至所述IVI侧ADB服务。
5.如权利要求4所述的软件系统,其特征在于,所述仪表ADB服务还用于接收节点标志切换指令,根据所述节点切换指令赋值所述设备节点标志。
6.如权利要求1所述的软件系统,其特征在于,所述仪表容器服务还用于接收所述IVI容器服务发送的仪表属性设置命令,以设置所述仪表系统的属性;所述IVI容器服务还用于接收所述仪表容器服务发送的IVI属性设置命令,以设置所述IVI系统的属性。
7.如权利要求1所述的软件系统,其特征在于,所述仪表显示框架和所述IVI显示框架与GPU通信连接,且所述仪表显示框架的优先级高于所述IVI显示框架的优先级。
8.如权利要求1所述的软件系统,其特征在于,还包括:截屏模块;
所述截屏模块用于接收用户输入的截屏指令,根据所述截屏指令执行截屏操作;其中,用户通过所述仪表系统或者所述IVI系统输入所述截屏指令,所述截屏指令指向自身或第三方。
9.如权利要求1所述的软件系统,其特征在于,所述容器管理服务还用于捕捉所述IVI系统的退出参数,以根据所述退出参数执行退出流程。
10.如权利要求1所述的软件系统,其特征在于,所述容器管理服务还用于创建IVI容器时,判断所述IVI容器是否在预设时长内创建成功,若IVI容器未在预设时长内创建成功,则重新执行创建IVI容器的流程;其中,在所述容器管理服务监测到IVI容器启动参数表征所述IVI容器启动成功时所述IVI容器创建成功。
11.如权利要求1所述的软件系统,其特征在于,所述容器操作指令包括:自身操作指令和/或代理操作指令。
12.一种车载主机上软件系统的运行方法,其特征在于,包括:
开机后,加载BootLoader程序以启动内核;
在内核上启动仪表系统,所述仪表系统包括:仪表显示框架、仪表容器服务、仪表容器客户端和容器管理服务;
所述仪表容器客户端向所述容器管理服务发送容器创建指令;
所述容器管理服务基于所述容器创建指令创建至少一个容器,所述至少一个容器包括IVI容器,所述IVI容器中运行有IVI系统,所述IVI系统包括:IVI显示框架和IVI容器服务;
其中,所述仪表显示框架用于生成仪表图像数据,并将所述仪表图像数据发送给位于所述内核中的显示驱动文件;
所述仪表容器服务用于获取来自于所述IVI容器服务的容器操作指令;
所述仪表容器客户端还用于将从所述仪表容器服务接收的所述容器操作指令转发给所述容器管理服务;
所述容器管理服务还用于在接收到所述容器操作指令时执行相应操作;
所述IVI显示框架用于生成IVI图像数据,并将所述IVI图像数据发送给位于所述内核中的显示驱动文件;
所述IVI容器服务用于从IVI应用获取所述容器操作指令,并将所述容器操作指令发送给所述仪表容器服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311856594.1A CN117519909A (zh) | 2023-12-29 | 2023-12-29 | 一种运行在车载主机上的软件系统及其运行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311856594.1A CN117519909A (zh) | 2023-12-29 | 2023-12-29 | 一种运行在车载主机上的软件系统及其运行方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117519909A true CN117519909A (zh) | 2024-02-06 |
Family
ID=89761186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311856594.1A Pending CN117519909A (zh) | 2023-12-29 | 2023-12-29 | 一种运行在车载主机上的软件系统及其运行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117519909A (zh) |
-
2023
- 2023-12-29 CN CN202311856594.1A patent/CN117519909A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106797388B (zh) | 跨系统多媒体数据编解码方法、装置、电子设备和计算机程序产品 | |
CN107783821A (zh) | 车载一体虚拟化方法和装置 | |
CN114461287B (zh) | 操作系统启动方法、装置、电子设备和存储介质 | |
CN114880159B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN112988346B (zh) | 任务处理方法、装置、设备及存储介质 | |
CN111045781A (zh) | 一种云平台创建镜像的方法、装置和存储介质 | |
CN115794285A (zh) | 一种在线主题切换方法、装置、设备及介质 | |
US20240241738A1 (en) | Communication method, apparatus and system | |
CN114028801A (zh) | 基于云端的用户输入方法、装置、设备及存储介质 | |
CN114327712A (zh) | 云应用系统、窗口管理方法及设备 | |
CN116820527B (zh) | 程序升级方法、装置、计算机设备和存储介质 | |
CN110955399B (zh) | 车载显示系统、图像显示方法、存储介质和主机 | |
CN117519909A (zh) | 一种运行在车载主机上的软件系统及其运行方法 | |
CN104951346A (zh) | 一种用于嵌入式系统的进程管理方法及系统 | |
CN109039765B (zh) | 网络配置方法及装置 | |
CN114020618B (zh) | 一种基于fpga和dpdk的高可用测试方法及系统 | |
CN114090172B (zh) | 跨系统的小部件复用方法及装置 | |
CN115658201A (zh) | 一种车载显示画面的生成方法、装置、设备及介质 | |
CN111195919B (zh) | 一种机器人示教平台及其架构方法 | |
CN114257614A (zh) | 一种多业务模式的医院大数据平台系统及资源调度方法 | |
CN114461158A (zh) | 一种应用投屏方法、装置、车载终端及可读存储介质 | |
CN110633163A (zh) | 一种基于多进程服务器的预防应用程序崩溃的开发方法 | |
Kotur et al. | Digital cockpit in autosar adaptive context | |
CN113721995B (zh) | 一种智能子卡的加载方法、装置及存储介质 | |
CN115091952B (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 |