发明内容
本申请实施例提供一种车机系统的启动方法、装置及设备,用于解决现有技术中车机系统的软件资源的成本较高的技术问题。
第一方面,本申请提供一种车机系统的启动方法,所述车机系统包括操作系统和多个部件,所述操作系统包括多个容器,一个容器中设置有一个部件对应的控制系统,所述方法包括:
获取所述操作系统的根文件、以及多个所述容器的优先级,所述根文件用于控制启动所述操作系统;
根据所述根文件和多个所述容器的优先级,启动多个所述容器中的控制系统;
分别根据每个所述容器中的控制系统启动对应的部件。
在一种可能的实施方式中,根据所述根文件和多个所述容器的优先级,启动多个所述容器中的控制系统,包括:
根据所述根文件,运行所述操作系统的初始化进程;
通过所述操作系统的初始化进程基于多个所述容器的优先级依次启动各所述容器中的控制系统。
在一种可能的实施方式中,通过所述操作系统的初始化进程基于多个所述容器的优先级依次启动各所述容器中的控制系统,包括:
通过所述操作系统的初始化进程基于根据多个所述容器的优先级依次启动每个所述容器对应的初始化进程;
通过每个所述容器对应的初始化进程,启动对应的容器中的控制系统。
在一种可能的实施方式中,针对任意一个容器;根据所述容器中的控制系统启动对应的部件,包括:
确定所述容器中的控制系统对应的启动脚本;
确定所述部件对应的启动服务;
根据所述启动脚本启动所述启动服务,以启动所述容器对应的部件。
在一种可能的实施方式中,获取所述操作系统的根文件,包括:
在所述操作系统的内核中获取所述根文件对应的内存地址,其中,所述内存地址为在所述车机系统启动时存储至所述操作系统的内核的地址;
根据所述内存地址,获取所述根文件。
在一种可能的实施方式中,获取多个所述容器的优先级,包括:
获取多个所述容器对应的配置文件;
根据所述配置文件中的优先级标识,获取多个所述容器的优先级。
在一种可能的实施方式中,获取所述操作系统的根文件、以及多个所述容器的优先级,包括:
确定车机系统的启动模式;
在确定所述车机系统的启动模式为多系统启动模式时,获取所述操作系统的根文件、以及多个所述容器的优先级。
在一种可能的实施方式中,所述操作系统为Linux系统;
所述部件包括如下至少一种:仪表盘、中控台。
第二方面,本申请提供一种车机系统的启动装置,所述车机系统包括操作系统和多个部件,所述操作系统包括多个容器,一个容器中设置有一个部件对应的控制系统,所述装置包括获取模块、启动模块和控制模块,其中:
所述获取模块用于,获取所述操作系统的根文件、以及多个所述容器的优先级,所述根文件用于控制启动所述操作系统;
所述启动模块用于,根据所述根文件和多个所述容器的优先级,启动多个所述容器中的控制系统;
所述控制模块用于,分别根据每个容器中的控制系统启动对应的部件。
在一种可能的实施方式中,所述启动模块具体用于:
根据所述根文件,运行所述操作系统的初始化进程;
根据多个所述容器的优先级,通过所述操作系统的初始化进程启动多个所述容器中的控制系统。
在一种可能的实施方式中,所述启动模块具体用于:
根据多个所述容器的优先级,通过所述操作系统的初始化进程启动每个容器对应的初始化进程;
通过每个容器对应的初始化进程,启动对应的容器中的控制系统。
在一种可能的实施方式中,所述控制模块具体用于:
确定所述容器中的控制系统对应的启动脚本;
确定所述部件对应的启动服务;
根据所述启动脚本启动所述启动服务,以实现启动所述部件。
在一种可能的实施方式中,所述获取模块具体用于:
在所述操作系统的内核中获取所述根文件对应的内存地址,其中,所述内存地址为在所述车机系统启动时存储至所述操作系统的内核的地址;
根据所述内存地址,获取所述根文件。
在一种可能的实施方式中,所述获取模块具体用于:
获取多个所述容器对应的配置文件;
在所述配置文件中获取多个所述容器的优先级。
在一种可能的实施方式中,所述获取模块具体用于:
确定车机系统对应的启动模式;
在确定所述车机系统对应的启动模式为多系统启动模式时,获取所述操作系统的根文件、以及多个所述容器的优先级。
在一种可能的实施方式中,所述操作系统为Linux系统;
多个所述部件包括如下至少一种:仪表盘、中控台。
第三方面,本申请实施例提供一种车机系统的启动设备,包括:收发器、处理器、存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第一方面任一项所述的车机系统的启动方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现第一方面任一项所述的车机系统的启动方法。
第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前述任一项所述的车机系统的启动方法的步骤。
本申请实施例提供一种车机系统的启动方法、装置及设备,车机系统包括操作系统和多个部件,操作系统包括多个容器,一个容器中设置有一个部件对应的控制系统,获取操作系统的根文件、以及多个容器的优先级,根文件用于控制启动操作系统,根据根文件和多个容器的优先级,启动多个容器中的控制系统,分别根据每个容器中的控制系统启动对应的部件。在上述方法中,根据操作系统的根文件和多个容器的优先级,启动多个容器中的控制系统,这样可以通过车机系统中的操作系统,启动多个容器中的控制系统,无需分别对每个容器设置对应的操作系统,进而降低车机系统的软件资源的成本。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在相关技术中,车机系统启动时,车机系统中的多个软件系统可以共用车辆的硬件资源,以节省车辆的硬件成本。例如,车机系统可以通过同一个控制芯片控制仪表系统和中控系统。但是,在车机系统控制仪表系统和中控系统时,车机系统需要分别为仪表系统和中控系统配置不同的编译系统,使得车机系统所需的软件资源较多,进而导致车机系统的软件成本较高。
为了解决相关技术中车机系统的软件资源的成本较高的技术问题,本申请实施例提供一种车机系统的启动方法,车机包括操作系统和多个部件,操作系统包括多个容器,一个容器中设置有一个部件对应的控制系统,在车机对应的启动模式为多系统启动模式时,获取操作系统的根文件、以及多个容器的优先级,加载根文件并运行操作系统的初始化进程,并按照多个容器的优先级的顺序,在操作系统初始化进行中依次启动多个容器中的控制系统,在控制系统启动时,分别根据每个容器中的控制系统启动对应的部件。这样,在车机系统启动时,由于车机系统中的操作系统可以控制多个容器中的控制系统启动,因此,无需分别对每个控制系统设置对应的操作系统,进而降低车机系统的软件资源的成本。
下面,结合图1,对本申请车机系统的架构进行说明。
图1为本申请实施例提供的一种车机系统的架构示意图。请参见图1,包括宿主机(Linux系统)、Linux容器、数据库、内核和硬件设备。其中,Linux容器中包括多个容器。例如,Linux容器中包括容器A、容器B等容器,其中,容器A中包括仪表盘对应的控制系统,容器B中包括中控台对应的控制系统。仪表盘对应的控制系统可以控制仪表盘,中控台对应的控制系统可以控制中控台。可选的,硬件设备可以包括中央处理器、图形处理器、硬盘等设备。
请参见图1,在车机系统启动时,仪表盘对应的控制系统和中控台对应的控制系统可以共用一套硬件设备(控制芯片),进而节约车机系统的硬件成本,并且宿主机可以控制Linux容器中的控制系统启动。例如,宿主机可以控制仪表盘对应的控制系统启动,也可以控制中控台对应的控制系统启动。这样,无需分别为容器A和容器B中的控制系统分别配置不同的操作系统,通过宿主机的操作系统对容器A和容器B中的控制系统进行控制,降低操作系统的数量,减少车机系统所需的软件资源,进而可以降低车机系统的软件成本。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,如下实施例可以单独存在,也可以相互结合,对于相同或相似的内容,在不同的实施例中不再重复说明。
图2为本申请实施例提供的一种车机系统的启动方法的流程示意图。请参见图2,该方法可以包括:
S201、获取操作系统的根文件、以及多个容器的优先级。
本申请实施例的执行主体可以为车辆,也可以为设置在车辆中的车机系统的启动装置。其中,车机系统的启动装置可以通过软件实现,车机系统的启动装置也可以通过软件和硬件的结合来实现。
车机为安装在车辆里面的车载终端产品。例如,车机的车机系统可以包括仪表盘对应的仪表控制系统、中控台对应的中控系统等。可选的,车机系统在功能上能够实现用户与车辆,或者,车辆与车辆之间的通讯。例如,用户可以使用中控台播放音乐、视频、图片等多媒体信息,用户也可以通过仪表盘中显示的信息,获取车辆的运行信息。
车机系统包括操作系统和多个部件。操作系统包括多个容器。可选的,操作系统可以为宿主机的系统。其中,宿主机为安装至少一个虚拟机的主机。例如,宿主机中可以包括多个虚拟机,虚拟机在宿主机上运行。可选的,操作系统可以为Linux系统。Linux系统中包括多个容器。容器用于隔离车机系统中的多个控制系统。例如,Linux系统可以通过容器将车机系统中的多个控制系统相互隔离,进而使得多个控制系统不会互相干扰。一个容器中设置有一个部件对应的控制系统。例如,Linux系统中包括两个容器,一个容器存放中控台对应的控制系统,另一个容器存放仪表系统对应的控制系统。可选的,同一个容器中也可以设置多个部件对应的控制系统。例如,同一个容器中可以存放中控台对应的控制系统和仪表盘对应的控制系统。
可选的,部件包括如下至少一种:仪表盘、中控台。其中,仪表盘用于反映车辆的工作状况。例如,仪表盘可以显示车辆的故障信息、车辆的运行时速、车辆的油耗、车辆的转速等信息。中控台为控制面板,中控台用于控制车辆。例如,用户可以通过中控台控制整车的车门开关、玻璃升降、音响音量的大小等。
根文件用于控制启动操作系统。其中,根文件为宿主机的镜像文件。例如,根文件为Linux系统的镜像虚拟内存中的文件。
可选的,可以通过如下可行的实现方式,获取操作系统的根文件:在操作系统的内核中获取根文件对应的存储地址。其中,内存地址为在车机系统启动时存储至操作系统的内核的地址。例如,在车机系统启动时,操作系统的引导程序可以复制操作系统的镜像文件,并将镜像文件存储至内存中,同时向操作系统的内核发送镜像文件在内存中的地址。
根据内存地址,获取根文件。例如,Linux系统在初始化之前,引导程序可以复制Linux系统镜像的虚拟内存中的文件到内存,并向Linux系统的内核发送文件存储的内存地址,Linux的内核可以根据内存地址,在内核中获取Linux的根文件。
容器的优先级用于指示容器中的部件对应的控制系统的启动优先级。例如,若仪表盘对应的控制系统所在的容器的优先级高于中控台对应的控制系统所在的容器的优先级,则在车机系统启动时,仪表盘对应的控制系统在中控台对应的控制系统前启动;若中控台对应的控制系统所在容器的优先级高于仪表盘对应的控制系统所在的容器的优先级,则在车机系统启动时,中控台对应的控制系统在仪表盘对应的控制系统前启动。可选的,在实际应用的过程中,仪表盘对应的控制系统所在的容器的优先级高于中控台对应的控制系统所在的容器的优先级。
可以根据如下可行的实现方式获取多个容器的优先级:获取多个容器对应的配置文件。其中,配置文件中包括至少一个容器的标识和每个容器对应的优先级。例如,配置文件可以如表1所示:
表1
容器的标识 |
优先级顺序 |
容器1 |
第一 |
容器2 |
第二 |
容器3 |
第三 |
…… |
…… |
需要说明的是,表1只是以示例的形式示意配置文件,并非对配置文件的限定。
例如,在车机系统启动时,若容器的标识指示容器为容器1,则该容器中的部件对应的控制系统的优先级顺序为第一;若容器的标识指示容器为容器2,则该容器中的部件对应的控制系统的优先级顺序为第二,若容器的标识指示容器为容器3,则该容器中的部件对应的控制系统的优先级顺序为第三。
可选的,通过对多个容器之间的通信方式进行设置,以实现容器之间数据同步的效果。例如,可以设置宿主机和容器A之间网络共享,宿主机与其它容器之间隔离,进而提高宿主机和容器A之间的数据同步的效率。例如,可以预先设置中控台对应的控制系统所在的容器与仪表盘对应的控制系统所在的容器之间通过进程间通信(Inter-ProcessCommunication,IPC)共享,这样可以提高地图、音乐、电话、车辆运行信息等数据同步速率,进而提高仪表盘对应的控制系统和中控台对应的控制系统之间的数据同步的效率。例如,若中控台的控制系统需要使用Linux系统内核的线程创建部分网卡,则可以设置Linux系统与中控台的控制系统所在的容器通信连接;若仪表盘的控制系统需要与中控台的控制系统进程间通信,则可以设置仪表盘的控制系统所在的容器与中控台的控制系统所在的容器IPC共享,这样可以提高仪表盘的数据和中控台的数据之间的同步效率。
S202、根据根文件和多个容器的优先级,启动多个容器中的控制系统。
容器中的控制系统用于控制对应的部件。例如,控制系统可以启动对应的部件。例如,仪表盘对应的控制系统可以启动仪表盘。例如,中控台对应的控制系统可以响应于用户对中控台的操作。例如,若用户点击锁车按键,则整车的门上锁。
可以根据如下可行的实现方式,启动多个容器中的控制系统:根据根文件,运行操作系统的初始化进程。可选的,在车机系统上电时,操作系统需要进行初始化的过程,操作系统初始化时加载宿主机的根文件。例如,Linux系统的内核在初始化过程中,内核通过内存地址,获取Linux系统的镜像根文件,并加载根文件。可选的,Linux系统在使用之前可以加载系统的镜像根文件,这样在进行系统升级等操作时,Linux系统重新加载新的镜像根文件即可,无需Linux系统内核进行热重启,并且在恢复出厂设置时,可以直接擦除容器之间的配置关系,进而提高恢复出厂设置的效率。
通过操作系统的初始化进程基于多个容器的优先级依次启动各容器中的控制系统。可选的,可以根据如下可行的实现方式启动各容器中的控制系统:通过操作系统的初始化进程基于根据多个容器的优先级依次启动每个容器对应的初始化进程。例如,Linux系统首先进行初始化进程,在Linux系统进行初始化进程的过程中,Linux系统按照容器的优先级的顺序依次启动每个控制系统的初始化进程。通过每个容器对应的初始化进程,启动对应的容器中的控制系统。例如,若容器A的优先级高于容器B,则在Linux系统初始化进程时,先启动容器A对应的初始化进程,并根据容器A的初始化进程启动容器A中的部件对应的控制系统,在容器A中的部件对应的控制系统启动之后,再启动容器B对应的初始化进程,并根据容器B的初始化进程启动容器B中的部件对应的控制系统。
下面,结合图3,对启动多个容器中的控制系统的过程进行说明。
图3为本申请实施例提供的一种启动多个容器中的控制系统的过程示意图。请参见图3,Linux系统加载镜像根文件,并进行初始化进行,Linux系统中包括容器A和容器B。其中,容器A的优先级大于容器B的优先级。
请参见图3,在Linux系统进行初始化进程时,Linux系统启动容器A中的控制系统,在容器A中的控制系统启动之后,Linux系统启动容器B中的控制系统。
S203、分别根据每个容器中的控制系统启动对应的部件。
可选的,在容器中的控制系统启动时,根据控制系统启动对应的部件。例如,在仪表盘对应的控制系统启动时,仪表盘对应的控制系统可以开启车辆的仪表盘,在中控台对应的控制系统启动时,中控台对应的控制系统可以开启车辆的中控台。
本申请实施例提供一种车机系统的启动方法,车机系统包括操作系统和多个部件,操作系统包括多个容器,一个容器中设置有一个部件对应的控制系统,在操作系统的内核中获取根文件对应的内存地址,根据内存地址获取根文件,获取多个容器对应的配置文件,并根据配置文件获取多个容器的优先级,根据根文件,运行操作系统的初始化进程,并根据多个容器的优先级,通过操作系统的初始化进程启动每个容器对应的初始化进程,通过每个容器对应的初始化进程,启动对应的容器中的控制系统,分别根据每个容器中的控制系统启动对应的部件。在上述方法中,每个容器中设置有一个部件对应的控制系统,由于容器之间是强隔离的,因此,可以避免控制系统之间互相干扰,同时可以使用IPC等通讯方法建立容器与容器之间的通信交互,进而提高不同控制系统之间的数据同步的效率,并且,由于操作系统包括多个容器,在运行操作系统的初始化进程时,根据多个容器的优先级启动多个容器中的控制系统,因此,可以通过操作系统控制多个控制系统启动,无需为每个容器中的控制系统单独配置操作系统,节约车辆的软件资源,进而降低车机系统的软件成本。
在图2所示的实施例的基础上,下面,结合图4,对上述车机系统的启动方法进行详细的说明。
图4为本申请实施例提供的另一种车机系统的启动方法的流程示意图。请参见图4,该方法包括:
S401、确定车机系统对应的启动模式。
启动模式包括单系统启动模式和多系统启动模式。其中,多系统启动模式为车机系统中的多个容器中的控制系统通过同一个操作系统启动。例如,若车机系统对应的启动模式为多系统启动模式,则仪表盘对应的控制系统和中控台对应的控制系统通过同一个芯片中的同一个操作系统启动。
单系统启动模式为车机系统中的每个容器中的控制系统通过对应的操作系统启动,不同的容器的控制系统对应不同的操作系统。例如,若车机系统对应的启动模式为单系统启动模式,则仪表盘对应的控制系统通过仪表盘的操作系统启动,中控台对应的控制系统通过中控台的操作系统启动。
可选的,可以根据如下可行的实现方式确定车机系统对应的启动模式:根据启动标记,确定启动模式。例如,在车机系统上电启动时,获取非易失存储介质中的启动标记,根据启动标记确定当前车机系统启动时的启动模式。例如,若启动标记指示启动模式为单系统模式,则在车机系统上电启动时,启动模式为单系统模式;若启动标记指示启动模式为多系统模式,则在车机系统上电启动时,启动模式为多系统模式。
S402、确定启动模式对应的根文件、以及多个容器的优先级。
可选的,确定启动模式对应的根文件有如下两种情况:
情况1:启动模式为单系统模式。
在启动模式为单系统启动模式时,可以根据如下可行的实现方式获取根文件:获取启动的控制系统对应的根文件。例如,若车机系统启动中控台对应的控制系统,则获取中控系统的镜像文件,并将该镜像文件存储至内存,同时向内核发送镜像文件的内存地址。
情况2:启动模式为多系统模式。
在启动模式对多系统启动模式时,可以根据如下可行的实现方式获取根文件:获取操作系统的根文件。例如,若车机系统的启动模式为多系统模式,则获取操作系统的镜像文件,并将该镜像文件存储至内存,同时向内核发送镜像文件的内存地址。
可选的,确定多个容器的优先级的方法与上述S201中的步骤相同,在此不再进行赘述。
S403、根据根文件和多个容器的优先级,启动多个容器中的控制系统。
可选的,若车机系统的启动模式为单系统启动模式,根据启动的控制系统对应的根文件,运行启动的控制系统的初始化进程。例如,若车机系统启动中控台对应的控制系统,则根据中控台对应的控制系统中的根文件,控制中控台对应的控制系统启动。
S404、确定容器中的控制系统对应的启动脚本。
启动脚本用于启动控制系统对应的部件。例如,通过运行中控台的控制系统对应的启动脚本启动中控台;通过运行仪表盘的控制系统对应的启动脚本启动仪表盘。
S405、确定部件对应的启动服务。
启动服务为部件中包括的服务。例如,中控台对应的服务包括导航服务、音乐服务、视频服务等;仪表盘对应的服务包括显示车速、转速、油耗、故障信息、剩余油量等。
S406、根据启动脚本打开启动服务,以实现启动部件。
可选的,在启动脚本运行时,启动脚本对应的启动服务启动。例如,在中控台对应的启动脚本运行时,启动脚本使得中控台的显示屏幕打开,并激活中控台中的按键功能,在按键接收到点击信号时,可以启动对应的功能;在仪表盘对应的启动脚本运行时,启动脚本使得仪表盘的屏幕打开,并显示车辆的运行信息、故障信息等。例如,在中控台的显示屏幕打开,并激活按键功能时,若点击空调对应的按键,则车辆的空调打开。
可选的,在车机系统中多个容器中的控制系统的初始化进程启动时,操作系统的初始化进程可以获取至少一个容器内部的同步信号。例如,在中控台的控制系统进行恢复出厂设置的功能,或者,中控台的控制系统升级功能时,操作系统可以确定容器重新启动的进程,进而确定中控台的控制系统是否恢复成功或升级完成。
下面,结合图5,对控制系统启动部件的过程进行说明。
图5为本申请实施例提供的一种部件启动的过程示意图。请参见图5,在中控台的控制系统启动时,确定中控台对应的启动脚本和启动服务。中控台对应的控制系统运行启动脚本,此时,中控台的屏幕中显示启动服务对应的设置图标、图片图标、音乐图标、视频图标、导航图标和功能图标。在用户点击音乐图标时,中控台的显示屏幕中的页面跳转至音乐页面,音乐页面中包括音乐1、音乐2、音乐3、音乐4、音乐5和音乐6。
本申请实施例提供一种车机系统的启动方法,车机包括操作系统和多个部件,操作系统包括多个容器,一个容器中设置有一个部件对应的控制系统,确定车机对应的启动模式,确定启动模式对应的根文件、以及多个容器的优先级,根据根文件和多个容器的优先级,启动多个容器中的控制系统,确定容器中的控制系统对应的启动脚本和部件对应的启动服务,根据启动脚本打开启动服务,以实现启动部件。在上述方法中,在车机系统启动时,车机系统的启动模式包括单系统模式和多系统模式,提高车机系统启动的灵活性,在启动模式为多系统启动模式时,操作系统可以控制多个容器中的控制系统启动,由于,每个容器中对应的控制系统都使用相同的操作系统启动,因此,无需分别为每个控制系统配置操作系统,进而降低车辆的软件资源的成本。
在上述任意一个实施例的基础上,下面,结合图6,对上述车机系统的启动方法的过程进行说明。
图6为本申请实施例提供的一种车机系统的启动方法的过程示意图。车机包括操作系统、中控台和仪表盘。操作系统中包括容器A和容器B,容器A中设置仪表盘对应的控制系统,容器B中设置中控台对应的控制系统。请参见图6,在车机系统启动时,确定车机系统的启动模式,在启动模式为多系统模式时,车辆可以获取操作系统的根文件,以及容器A和容器B之间的优先级。根据根文件,运行操作系统的初始化进程,由于容器A的优先级大于容器B的优先级,因此,在操作系统运行初始化进程时,先启动容器A中的仪表盘的控制系统,在仪表盘的控制系统启动之后,再启动容器B中的中控台的控制系统,并启动车辆的仪表盘和中控台。这样,可以通过一个操作系统启动仪表盘对应的控制系统和中控台对应的控制系统,无需分别为每个控制系统配置操作系统,进而降低车辆的软件资源的成本。
图7为本申请实施例提供的一种车机系统的启动装置的结构示意图。该车机系统的启动装置10可以设置在车辆中。请参见图7,该车机系统的启动装置10可以包括获取模块11、启动模块12和控制模块13,其中:
所述获取模块11用于,获取所述操作系统的根文件、以及多个所述容器的优先级,所述根文件用于控制启动所述操作系统;
所述启动模块12用于,根据所述根文件和多个所述容器的优先级,启动多个所述容器中的控制系统;
所述控制模块13用于,分别根据每个容器中的控制系统启动对应的部件。
在一种可能的实施方式中,所述启动模块12具体用于:
根据所述根文件,运行所述操作系统的初始化进程;
根据多个所述容器的优先级,通过所述操作系统的初始化进程启动多个所述容器中的控制系统。
在一种可能的实施方式中,所述启动模块12具体用于:
根据多个所述容器的优先级,通过所述操作系统的初始化进程启动每个容器对应的初始化进程;
通过每个容器对应的初始化进程,启动对应的容器中的控制系统。
在一种可能的实施方式中,所述控制模块13具体用于:
确定所述容器中的控制系统对应的启动脚本;
确定所述部件对应的启动服务;
根据所述启动脚本启动所述启动服务,以实现启动所述部件。
在一种可能的实施方式中,所述获取模块11具体用于:
在所述操作系统的内核中获取所述根文件对应的内存地址,其中,所述内存地址为在所述车机启动时存储至所述操作系统的内核的地址;
根据所述内存地址,获取所述根文件。
在一种可能的实施方式中,所述获取模块11具体用于:
获取多个所述容器对应的配置文件;
在所述配置文件中获取多个所述容器的优先级。
在一种可能的实施方式中,所述获取模块11具体用于:
确定车机对应的启动模式;
在确定所述车机对应的启动模式为多系统启动模式时,获取所述操作系统的根文件、以及多个所述容器的优先级。
在一种可能的实施方式中,所述操作系统为Linux系统;
多个所述部件包括如下至少一种:仪表盘、中控台。
本申请实施例提供的车机系统的启动装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本申请实施例所示的车机系统的启动装置可以为芯片、硬件模组、处理器等。当然,车机系统的启动装置可以为其它形态,本申请实施例对此不作具体限定。
图8为本申请提供的车机系统的启动设备的硬件结构示意图。请参见图8,该车机系统的启动设备20可以包括:处理器21和存储器22,其中,处理器21和存储器22可以通信;示例性的,处理器21和存储器22通过通信总线23通信,所述存储器22用于存储程序指令,所述处理器21用于调用存储器中的程序指令执行上述任意方法实施例所示的车机系统的启动方法。
可选的,车机系统的启动设备20还可以包括通信接口,通信接口可以包括发送器和/或接收器。
可选的,上述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请提供一种可读存储介质,所述可读存储介质上存储有计算机程序;所述计算机程序用于实现如上述任意实施例所述的车机系统的启动方法。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括指令,当所述指令被执行时,使得计算机执行上述车机系统的启动方法。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(英文:read-only memory,缩写:ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppydisk)、光盘(英文:optical disc)及其任意组合。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程终端设备的处理单元以产生一个机器,使得通过计算机或其他可编程终端设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程终端设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
在本申请中,术语“包括”及其变形可以指非限制性的包括;术语“或”及其变形可以指“和/或”。本申请中术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。