实现应用程序运行的方法、装置、系统及相关设备.pdf
《实现应用程序运行的方法、装置、系统及相关设备.pdf》由会员分享,可在线阅读,更多相关《实现应用程序运行的方法、装置、系统及相关设备.pdf(25页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010377254.0 (22)申请日 2020.05.07 (71)申请人 东软集团股份有限公司 地址 110179 辽宁省沈阳市浑南新区新秀 街2号 申请人 东软集团 (大连) 有限公司 (72)发明人 李伟李春林 (74)专利代理机构 北京集佳知识产权代理有限 公司 11227 代理人 柳欣 (51)Int.Cl. G06F 9/48(2006.01) G06F 9/455(2006.01) (54)发明名称 一种实现应用程序运行的方法、 装置、 系统 及相关设备 (。
2、57)摘要 本申请实施例公开了一种实现应用程序运 行的方法、 装置、 系统及相关设备, 当集群计算系 统包括第一片上系统及第二片上系统, 第一片上 系统包括第一容器协调器及第一容器管理程序, 第二片上系统包括第二容器协调器时, 该方法包 括: 第一容器协调器获取应用程序的启动请求, 第一容器协调器向第一容器管理程序发送应用 程序的启动请求, 以使第一容器管理程序启动应 用程序对应的容器镜像文件; 在第一容器协调器 从第一容器管理程序获取到应用程序的事件变 更信息后, 第一容器协调器根据事件变更信息触 发更新第一片上系统对应的显示内容, 并将事件 变更信息发送给第二容器协调器, 以使第二容器 协。
3、调器根据事件变更信息触发更新第二片上系 统对应的显示内容。 权利要求书2页 说明书19页 附图3页 CN 111597021 A 2020.08.28 CN 111597021 A 1.一种实现应用程序运行的方法, 其特征在于, 所述方法应用于集群计算系统, 所述集 群计算系统包括第一片上系统以及第二片上系统, 所述第一片上系统包括第一容器协调器 以及第一容器管理程序, 所述第二片上系统包括第二容器协调器, 所述方法包括: 所述第一容器协调器获取应用程序的启动请求, 向所述第一容器管理程序发送所述应 用程序的启动请求, 以使所述第一容器管理程序启动所述应用程序对应的容器镜像文件, 所述应用程序。
4、对应的容器镜像文件是预先生成并部署到所述第一片上系统以及所述第二 片上系统上的; 所述第一容器协调器从所述第一容器管理程序获取所述应用程序的事件变更信息; 所述第一容器协调器将所述事件变更信息发送给所述第二容器协调器, 以使所述第二 容器协调器根据所述事件变更信息触发更新所述第二片上系统对应的显示内容; 所述第一容器协调器根据所述事件变更信息触发更新所述第一片上系统对应的显示 内容。 2.根据权利要求1所述的方法, 其特征在于, 所述应用程序对应的容器镜像文件的生成 过程包括: 创建容器化固件, 在所述容器化固件中添加文件目录系统; 配置所述容器化固件的运行环境变量; 指定所述容器化固件在启动。
5、时的初始程序; 将所述容器化固件构建为所述应用程序对应的容器镜像文件。 3.根据权利要求1所述的方法, 其特征在于, 所述第一容器协调器获取应用程序的启动 请求, 向所述第一容器管理程序发送所述应用程序的启动请求, 包括: 所述第一容器协调器通过第一人机接口获取应用程序的启动请求, 判断所述应用程序 为本地启动应用后, 向所述第一容器管理程序发送所述应用程序的启动请求; 或者, 在所述第二容器协调器通过第二人机接口获取应用程序的启动请求, 判断所述 应用程序为非本地启动应用, 向所述第一容器协调器发送所述应用程序的启动请求之后, 所述第一容器协调器接收所述应用程序的启动请求, 向所述第一容器管。
6、理程序发送所述应 用程序的启动请求。 4.根据权利要求1所述的方法, 其特征在于, 所述第一容器协调器根据所述事件变更信 息触发更新所述第一片上系统对应的显示内容, 包括: 所述第一容器协调器根据所述事件变更信息更新应用负载列表, 将所述应用负载列表 发送给第一人机接口, 以使所述第一人机接口根据所述应用负载列表更新所述第一片上系 统对应的显示内容; 和/或, 所述第一容器协调器将所述事件变更信息发送给第一人机接口, 以使所述第一 人机接口根据所述事件变更信息更新所述第一片上系统对应的显示内容。 5.根据权利要求1或4所述的方法, 其特征在于, 所述第一片上系统还包括第一显示模 块, 所述第二。
7、片上系统还包括第二显示模块, 所述方法还包括: 所述第一显示模块确定所述第一片上系统对应的显示屏幕, 将所述第一片上系统对应 的显示内容发送给所述第一片上系统对应的显示屏幕进行显示; 和/或, 所述第二显示模块确定所述第二片上系统对应的显示屏幕, 将所述第二片上系 统对应的显示内容发送给所述第二片上系统对应的显示屏幕进行显示。 权利要求书 1/2 页 2 CN 111597021 A 2 6.根据权利要求1所述的方法, 其特征在于, 所述第二片上系统还包括第二容器管理程 序; 所述方法还包括: 所述第一容器协调器监控所述应用程序的运行状态, 当监控到所述应用程序的运行状 态异常, 向所述第二容。
8、器协调器发送所述应用程序运行异常通知, 以使所述第二容器协调 器通过所述第二容器管理程序启动所述应用程序对应的容器镜像文件。 7.一种第一容器协调器, 其特征在于, 所述第一容器协调器位于所述第一片上系统中; 所述第一片上系统还包括第一容器管理程序; 所述第一片上系统位于所述集群计算系统 中; 所述集群计算系统还包括第二片上系统; 所述第二片上系统包括第二容器协调器; 所述 第一容器协调器, 包括: 第一获取单元, 用于获取应用程序的启动请求, 向所述第一容器管理程序发送所述应 用程序的启动请求, 以使所述第一容器管理程序启动所述应用程序对应的容器镜像文件, 所述应用程序对应的容器镜像文件是预。
9、先生成并部署到所述第一片上系统以及所述第二 片上系统上的; 第二获取单元, 用于从所述第一容器管理程序获取所述应用程序的事件变更信息; 第一发送单元, 用于将所述事件变更信息发送给所述第二容器协调器, 以使所述第二 容器协调器根据所述事件变更信息触发更新所述第二片上系统对应的显示内容; 更新单元, 用于所述第一容器协调器根据所述事件变更信息触发更新所述第一片上系 统对应的显示内容。 8.一种集群计算系统, 其特征在于, 所述集群计算系统包括第一片上系统以及第二片 上系统, 所述第一片上系统包括第一容器协调器以及第一容器管理程序, 所述第二片上系 统包括第二容器协调器; 所述第一容器协调器, 用。
10、于获取应用程序的启动请求, 向所述第一容器管理程序发送 所述应用程序的启动请求; 所述第一容器管理程序, 用于启动所述应用程序对应的容器镜像文件, 所述应用程序 对应的容器镜像文件是预先生成并部署到所述第一片上系统以及所述第二片上系统上的; 所述第一容器协调器, 用于从所述第一容器管理程序获取所述应用程序的事件变更信 息; 所述第一容器协调器, 用于将所述事件变更信息发送给所述第二容器协调器; 所述第二容器协调器, 用于根据所述事件变更信息触发更新所述第二片上系统对应的 显示内容; 所述第一容器协调器, 用于根据所述事件变更信息触发更新所述第一片上系统对应的 显示内容。 9.一种实现应用程序运。
11、行的设备, 其特征在于, 包括: 存储器, 处理器, 及存储在所述存 储器上并可在所述处理器上运行的计算机程序, 所述处理器执行所述计算机程序时, 实现 如权利要求1-6任一项所述的实现应用程序运行的方法。 10.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质中存储有指令, 当所述指令在终端设备上运行时, 使得所述终端设备执行如权利要求1-6任一项所述的实 现应用程序运行的方法。 权利要求书 2/2 页 3 CN 111597021 A 3 一种实现应用程序运行的方法、 装置、 系统及相关设备 技术领域 0001 本申请涉及计算机技术领域, 具体涉及一种实现应用程序运行的方法、。
12、 装置、 系统 及相关设备。 背景技术 0002 随着互联网技术的普及, 操作系统(例如, 车载系统)中安装的应用程序越来越多, 对该操作系统的计算资源的需求越来越大。 目前, 为了满足操作系统中大量应用程序对计 算资源的需求, 可以采用基于多个片上系统也称系统级芯片(System on Chip, SOC)的操作 系统。 其中, 因在基于多个SOC的操作系统中, 该多个SOC通过级联的方式构成集群计算系 统, 以使该集群计算系统能够为该操作系统提供大量的计算资源。 然而, 因很多传统的应用 程序(例如, 安装于车载系统中的仪表应用程序)的软件框架不适于集群计算系统, 导致这 些传统的应用程序。
13、无法运行在集群计算系统。 发明内容 0003 有鉴于此, 本申请实施例提供一种实现应用程序运行的方法、 装置、 系统及相关设 备, 能够解决上述传统的应用程序无法运行在集群计算系统的技术问题。 0004 为解决上述问题, 本申请实施例提供的技术方案如下: 0005 一种实现应用程序运行的方法, 所述方法应用于集群计算系统, 所述集群计算系 统包括第一片上系统以及第二片上系统, 所述第一片上系统包括第一容器协调器以及第一 容器管理程序, 所述第二片上系统包括第二容器协调器, 所述方法包括: 0006 所述第一容器协调器获取应用程序的启动请求, 向所述第一容器管理程序发送所 述应用程序的启动请求,。
14、 以使所述第一容器管理程序启动所述应用程序对应的容器镜像文 件, 所述应用程序对应的容器镜像文件是预先生成并部署到所述第一片上系统以及所述第 二片上系统上的; 0007 所述第一容器协调器从所述第一容器管理程序获取所述应用程序的事件变更信 息; 0008 所述第一容器协调器将所述事件变更信息发送给所述第二容器协调器, 以使所述 第二容器协调器根据所述事件变更信息触发更新所述第二片上系统对应的显示内容; 0009 所述第一容器协调器根据所述事件变更信息触发更新所述第一片上系统对应的 显示内容。 0010 在一种可能的实现方式中, 所述应用程序对应的容器镜像文件的生成过程包括: 0011 创建容器。
15、化固件, 在所述容器化固件中添加文件目录系统; 0012 配置所述容器化固件的运行环境变量; 0013 指定所述容器化固件在启动时的初始程序; 0014 将所述容器化固件构建为所述应用程序对应的容器镜像文件。 0015 在一种可能的实现方式中, 所述第一容器协调器获取应用程序的启动请求, 向所 说明书 1/19 页 4 CN 111597021 A 4 述第一容器管理程序发送所述应用程序的启动请求, 包括: 0016 所述第一容器协调器通过第一人机接口获取应用程序的启动请求, 判断所述应用 程序为本地启动应用后, 向所述第一容器管理程序发送所述应用程序的启动请求; 0017 或者, 在所述第二。
16、容器协调器通过第二人机接口获取应用程序的启动请求, 判断 所述应用程序为非本地启动应用, 向所述第一容器协调器发送所述应用程序的启动请求之 后, 所述第一容器协调器接收所述应用程序的启动请求, 向所述第一容器管理程序发送所 述应用程序的启动请求。 0018 在一种可能的实现方式中, 所述第一容器协调器根据所述事件变更信息触发更新 所述第一片上系统对应的显示内容, 包括: 0019 所述第一容器协调器根据所述事件变更信息更新应用负载列表, 将所述应用负载 列表发送给第一人机接口, 以使所述第一人机接口根据所述应用负载列表更新所述第一片 上系统对应的显示内容; 0020 和/或, 所述第一容器协调。
17、器将所述事件变更信息发送给第一人机接口, 以使所述 第一人机接口根据所述事件变更信息更新所述第一片上系统对应的显示内容。 0021 在一种可能的实现方式中, 所述第一片上系统还包括第一显示模块, 所述第二片 上系统还包括第二显示模块, 所述方法还包括: 0022 所述第一显示模块确定所述第一片上系统对应的显示屏幕, 将所述第一片上系统 对应的显示内容发送给所述第一片上系统对应的显示屏幕进行显示; 0023 和/或, 所述第二显示模块确定所述第二片上系统对应的显示屏幕, 将所述第二片 上系统对应的显示内容发送给所述第二片上系统对应的显示屏幕进行显示。 0024 在一种可能的实现方式中, 所述第二。
18、片上系统还包括第二容器管理程序; 所述方 法还包括: 0025 所述第一容器协调器监控所述应用程序的运行状态, 当监控到所述应用程序的运 行状态异常, 向所述第二容器协调器发送所述应用程序运行异常通知, 以使所述第二容器 协调器通过所述第二容器管理程序启动所述应用程序对应的容器镜像文件。 0026 在一种可能的实现方式中, 所述第二片上系统还包括第二容器管理程序; 所述方 法还包括: 0027 所述第一容器协调器在超过预设时长未接收到所述第二容器协调器的心跳信号, 根据应用负载列表确定目标应用程序, 所述目标应用程序为所述第二容器协调器通过所述 第二容器管理程序启动的应用程序; 0028 向所。
19、述第一容器管理程序发送所述目标应用程序的启动请求, 以使所述第一容器 管理程序启动所述目标应用程序对应的容器镜像文件。 0029 一种第一容器协调器, 所述第一容器协调器位于所述第一片上系统中; 所述第一 片上系统还包括第一容器管理程序; 所述第一片上系统位于所述集群计算系统中; 所述集 群计算系统还包括第二片上系统; 所述第二片上系统包括第二容器协调器; 所述第一容器 协调器, 包括: 0030 第一获取单元, 用于获取应用程序的启动请求, 向所述第一容器管理程序发送所 述应用程序的启动请求, 以使所述第一容器管理程序启动所述应用程序对应的容器镜像文 件, 所述应用程序对应的容器镜像文件是预。
20、先生成并部署到所述第一片上系统以及所述第 说明书 2/19 页 5 CN 111597021 A 5 二片上系统上的; 0031 第二获取单元, 用于从所述第一容器管理程序获取所述应用程序的事件变更信 息; 0032 第一发送单元, 用于将所述事件变更信息发送给所述第二容器协调器, 以使所述 第二容器协调器根据所述事件变更信息触发更新所述第二片上系统对应的显示内容; 0033 更新单元, 用于所述第一容器协调器根据所述事件变更信息触发更新所述第一片 上系统对应的显示内容。 0034 一种集群计算系统, 所述集群计算系统包括第一片上系统以及第二片上系统, 所 述第一片上系统包括第一容器协调器以及。
21、第一容器管理程序, 所述第二片上系统包括第二 容器协调器; 0035 所述第一容器协调器, 用于获取应用程序的启动请求, 向所述第一容器管理程序 发送所述应用程序的启动请求; 0036 所述第一容器管理程序, 用于启动所述应用程序对应的容器镜像文件, 所述应用 程序对应的容器镜像文件是预先生成并部署到所述第一片上系统以及所述第二片上系统 上的; 0037 所述第一容器协调器, 用于从所述第一容器管理程序获取所述应用程序的事件变 更信息; 0038 所述第一容器协调器, 用于将所述事件变更信息发送给所述第二容器协调器; 0039 所述第二容器协调器, 用于根据所述事件变更信息触发更新所述第二片上。
22、系统对 应的显示内容; 0040 所述第一容器协调器, 用于根据所述事件变更信息触发更新所述第一片上系统对 应的显示内容。 0041 一种实现应用程序运行的设备, 包括: 存储器, 处理器, 及存储在所述存储器上并 可在所述处理器上运行的计算机程序, 所述处理器执行所述计算机程序时, 实现上述的实 现应用程序运行的方法。 0042 一种计算机可读存储介质, 所述计算机可读存储介质中存储有指令, 当所述指令 在终端设备上运行时, 使得所述终端设备执行上述的实现应用程序运行的方法。 0043 由此可见, 本申请实施例具有如下有益效果: 0044 在本申请实施例中, 当集群计算系统包括第一片上系统以。
23、及第二片上系统, 第一 片上系统包括第一容器协调器以及第一容器管理程序, 第二片上系统包括第二容器协调器 时, 则应用于该集群计算系统的实现应用程序运行的方法具体可以包括: 在第一容器协调 器获取到应用程序的启动请求之后, 第一容器协调器先向第一容器管理程序发送应用程序 的启动请求, 以使第一容器管理程序启动应用程序对应的容器镜像文件; 在第一容器协调 器从第一容器管理程序获取到应用程序的事件变更信息之后, 第一容器协调器根据事件变 更信息触发更新第一片上系统对应的显示内容, 而且第一容器协调器还将事件变更信息发 送给第二容器协调器, 以使第二容器协调器根据事件变更信息触发更新第二片上系统对应。
24、 的显示内容。 其中, 因集群计算系统中第一片上系统的第一容器协调器能够借助第一容器 管理程序启动应用程序对应的容器镜像文件, 使得预先生成并部署到第一片上系统以及第 二片上系统上的应用程序对应的容器镜像文件适于集群计算系统, 从而使得应用程序可以 说明书 3/19 页 6 CN 111597021 A 6 借助该应用程序对应的容器镜像文件运行在集群计算系统, 如此解决了应用程序无法在集 群计算系统上运行的技术问题。 附图说明 0045 图1为本申请实施例提供的一种集群计算系统的结构示意图; 0046 图2为本申请实施例提供的一种集群计算系统的示例图; 0047 图3为本申请实施例提供的一种实。
25、现应用程序运行的方法的流程图; 0048 图4为本申请实施例提供的另一种集群计算系统的示例图; 0049 图5为本申请实施例提供的一种第一容器协调器的结构示意图; 0050 图6为本申请实施例提供的一种集群计算系统的结构示意图。 具体实施方式 0051 为使本申请的上述目的、 特征和优点能够更加明显易懂, 下面结合附图和具体实 施方式对本申请实施例作进一步详细的说明。 0052 发明人在对集群计算系统及传统的应用程序的研究中发现, 因构成传统的应用程 序(例如, 安装于车载系统中的仪表应用程序)的配置文件, 动态库, 以及基础支持库等文件 分散在操作系统的不同目录下, 导致传统的应用程序无法在。
26、集群计算系统中进行迁移操 作, 从而导致传统的应用程序无法满足集群计算系统随时对应用程序进行迁移的需求, 从 而导致传统的应用程序的软件框架不适用于集群计算系统。 0053 基于此, 本申请实施例提供了一种应用于集群计算系统的实现应用程序运行的方 法, 该方法具体为: 若集群计算系统包括第一片上系统以及第二片上系统, 第一片上系统包 括第一容器协调器以及第一容器管理程序, 第二片上系统包括第二容器协调器, 则在第一 容器协调器获取到应用程序的启动请求之后, 第一容器协调器先向第一容器管理程序发送 应用程序的启动请求, 以使第一容器管理程序启动应用程序对应的容器镜像文件; 在第一 容器协调器从第。
27、一容器管理程序获取到应用程序的事件变更信息之后, 第一容器协调器根 据事件变更信息触发更新第一片上系统对应的显示内容, 而且第一容器协调器还将事件变 更信息发送给第二容器协调器, 以使第二容器协调器根据事件变更信息触发更新第二片上 系统对应的显示内容。 可见, 因集群计算系统中的第一容器协调器能够借助第一容器管理 程序启动应用程序对应的容器镜像文件, 使得应用程序可以借助该应用程序对应的容器镜 像文件运行在集群计算系统, 如此解决了应用程序无法在集群计算系统上运行的技术问 题。 0054 为了便于理解本申请实施例提供的实现应用程序运行的方法, 下面先结合图1对 集群计算系统的相关内容进行介绍。。
28、 其中, 图1为本申请实施例提供的一种集群计算系统的 结构示意图。 0055 如图1所示, 本申请实施例提供的集群计算系统包括N个片上系统, N为正整数; 每 个片上系统均包括一个容器协调器和一个容器管理程序, 每个片上系统上均部署了所有应 用程序对应的容器镜像文件。 其中, 容器协调器可以用于获取应用程序的启动请求、 获取应 用程序的事件变更信息、 以及将从其对应的容器管理程序中获取到的应用程序的事件变更 信息分享给其他容器协调器。 容器管理程序可以用于根据容器协调器发送的应用程序的启 说明书 4/19 页 7 CN 111597021 A 7 动请求启动该应用程序对应的容器镜像文件。 需要。
29、说明的是, 应用程序对应的容器镜像文 件用于表征应用程序在集群计算系统中的执行文件, 也就是说, 集群计算系统中的容器管 理程序可以通过启动应用程序对应的容器镜像文件的方式来启动该应用程序, 以使该应用 程序运行在集群计算系统上。 0056 在图1所示的集群计算系统中, 预先设定了第i个片上系统负责管理的本地应用程 序, 以使第i个片上系统负责管理的本地应用程序在第i个片上系统上运行, i为正整数, 且i N。 需要说明的是, 不同片上系统负责管理的本地应用程序可以不同, 也可以相同, 本申请 实施例对此不做具体限定。 另外, 在图1所示的集群计算系统中, 所有容器协调器是全局同 步的, 第i。
30、个片上系统的容器协调器不仅可以通过第i个片上系统的容器管理程序调用第i 个片上系统的本地应用程序, 也可以通过除了第i个片上系统以外的其他片上系统中的容 器协调器及容器管理程序, 调用集群计算系统中除了第i个片上系统以外的其他片上系统 的本地应用程序, i为正整数, 且iN。 0057 基于上述集群计算系统的相关内容可知, 集群计算系统可以包括多个可以互相通 信的片上系统, 而且每个片上系统中的容器管理程序可以根据容器协调器发送的应用程序 的启动请求, 启动应用程序对应的容器镜像文件, 以使该应用程序能够运行在集群计算系 统上。 0058 另外, 为了更进一步理解图1所示的集群计算系统中实现应。
31、用程序运行的过程, 下 面将以包括第一片上系统以及第二片上系统的集群计算系统为例进行说明。 0059 如图2所示, 假设集群计算系统包括第一片上系统以及第二片上系统, 第一片上系 统包括第一容器协调器以及第一容器管理程序, 第二片上系统包括第二容器协调器和第二 容器管理程序; 而且, 预先生成第一容器镜像文件和第二容器镜像文件均部署在第一片上 系统和第二片上系统上, 而且第一容器镜像文件为第一应用程序的容器镜像文件, 第二容 器镜像文件为第二应用程序的容器镜像文件。 0060 基于上述假设可知, 应用于图2所示的集群计算系统上的实现应用程序运行的方 法具体为: 若预先设定第一片上系统的第一容器。
32、管理程序负责启动第一容器镜像文件, 则 在第一容器协调器获取到第一应用程序的启动请求之后, 第一容器协调器向第一容器管理 程序发送第一应用程序的启动请求, 以使第一容器管理程序启动第一容器镜像文件(也就 是, 第一应用程序对应的容器镜像文件), 以便在第一容器协调器从第一容器管理程序获取 到应用程序的事件变更信息之后, 第一容器协调器根据事件变更信息触发更新第一片上系 统对应的显示内容, 而且第一容器协调器还将事件变更信息发送给第二容器协调器, 以使 第二容器协调器根据事件变更信息触发更新第二片上系统对应的显示内容。 0061 可见, 在第一应用程序启动之后, 可以利用因第一应用程序启动所产生。
33、的事件变 更信息对第一片上系统统对应的显示内容和第二片上系统统对应的显示内容分别进行更 新, 使得第一片上系统统对应的显示内容和第二片上系统统对应的显示内容能够达到同 步。 其中, 因集群计算系统中的第一容器协调器能够借助第一容器管理程序启动应用程序 对应的容器镜像文件, 使得应用程序可以借助该应用程序对应的容器镜像文件运行在集群 计算系统, 如此解决了应用程序无法在集群计算系统上运行的技术问题。 0062 需要说明的是, 本申请实施例不限定第一片上系统和第二片上系统, 例如, 当第一 片上系统是图1中的第i个片上系统时, 则第二片上系统为图1所示的集群计算系统中除了 说明书 5/19 页 8。
34、 CN 111597021 A 8 第i个片上系统以外的其他片上系统, i为正整数, 且iN。 0063 为了便于理解本申请, 下面将结合附图对本申请实施例提供的一种实现应用程序 运行的方法进行说明。 0064 参见图3, 该图为本申请实施例提供的一种实现应用程序运行的方法的流程图, 如 图3所示, 应用于集群计算系统(如图2所示)的实现应用程序运行的方法, 具体包括S301- S304: 0065 S301: 第一容器协调器获取应用程序的启动请求, 向第一容器管理程序发送应用 程序的启动请求, 以使第一容器管理程序启动应用程序对应的容器镜像文件。 0066 应用程序的启动请求用于表征请求计算。
35、机系统启动该应用程序的指令。 另外, 本 申请实施例还提供了第一容器协调器获取应用程序的启动请求的两种实施方式, 请参见下 文具体实施方式。 0067 第一容器协调器与第一容器管理程序之间可以进行通信, 而且本申请实施例不限 定第一容器协调器与第一容器管理程序之间通信方式, 例如, 第一容器协调器与第一容器 管理程序之间可以利用谷歌远程过程调用协议(Google Remote Procedure Call, GRPC)进 行通信。 0068 应用程序对应的容器镜像文件是预先生成并部署到第一片上系统以及第二片上 系统上的。 也就是, 在集群计算系统中的每个片上系统上均部署了该应用程序对应的容器 。
36、镜像文件。 另外, 本申请实施例还提供了镜像文件的生成过程, 请参见下文。 0069 本申请实施例中, 在第一容器协调器获取到应用程序的启动请求之后, 第一容器 协调器向第一容器管理程序发送应用程序的启动请求, 以便在第一容器管理程序接收到该 应用程序的启动请求之后, 第一容器管理程序根据该应用程序的启动请求, 启动该应用程 序对应的容器镜像文件, 以使该应用程序运行在第一片上系统中。 需要说明的是, 本申请实 施例不限定应用程序对应的容器镜像文件的启动方式, 例如, 如图2所示, 第一容器协调器 可以通过第一容器管理程序的应用程序接口(Application Programming Inte。
37、rface, API) 来创建应用程序的启动任务, 并将第一片上系统的运行环境参数发送给第一容器管理程 序, 以使第一容器管理程序根据运行环境参数来启动应用程序对应的容器镜像文件。 0070 S302: 第一容器协调器从第一容器管理程序获取应用程序的事件变更信息。 0071 应用程序的事件变更信息用于表征应用程序对应事件的执行信息。 另外, 本申请 实施例不限定应用程序的事件变更信息, 例如, 应用程序的事件变更信息携带有应用程序 的状态(例如, 启动、 运行或停止等状态)信息。 0072 本申请实施例中, 在第一容器管理程序启动应用程序对应的容器镜像文件之后, 第一容器协调器可以从第一容器管。
38、理程序中实时监听该应用程序的所有事件, 使得第一容 器协调器能够从第一容器管理程序获取应用程序的事件变更信息, 以便后续第一容器协调 器能够使用或分享该事件变更信息。 0073 S303: 第一容器协调器根据事件变更信息触发更新第一片上系统对应的显示内 容。 0074 本申请实施例中, 在第一容器协调器获取到事件变更信息之后, 第一容器协调器 根据事件变更信息触发更新第一片上系统对应的显示内容, 使得第一片上系统对应的显示 内容能够实时反映集群计算系统中的应用程序运行信息。 说明书 6/19 页 9 CN 111597021 A 9 0075 S304: 第一容器协调器将事件变更信息发送给第二。
39、容器协调器, 以使第二容器协 调器根据事件变更信息触发更新第二片上系统对应的显示内容。 0076 本申请实施例中, 在第一容器协调器获取到事件变更信息之后, 第一容器协调器 还可以将该事件变更信息发送给第二容器协调器, 以使第二容器协调器可以根据该事件变 更信息触发更新第二片上系统对应的显示内容, 从而使得第二片上系统对应的显示内容也 能够实时反映集群计算系统中的应用程序运行信息, 如此能够保证第二片上系统对应的显 示内容与第一片上系统对应的显示内容保持同步。 0077 需要说明的是, 本申请实施例不限定S303和S304的执行顺序, 可以依次执行S303 和S304, 也可以依次执行S304。
40、和S303, 还可以同时执行S303和S304。 0078 基于上述S301至S304的相关内容可知, 本申请实施例提供的应用于该集群计算系 统的实现应用程序运行的方法中, 在第一容器协调器获取到应用程序的启动请求之后, 第 一容器协调器先向第一容器管理程序发送应用程序的启动请求, 以使第一容器管理程序启 动应用程序对应的容器镜像文件; 在第一容器协调器从第一容器管理程序获取到应用程序 的事件变更信息之后, 第一容器协调器根据事件变更信息触发更新第一片上系统对应的显 示内容, 而且第一容器协调器还将事件变更信息发送给第二容器协调器, 以使第二容器协 调器根据事件变更信息触发更新第二片上系统对应。
41、的显示内容。 其中, 因集群计算系统中 的第一容器协调器能够借助第一容器管理程序启动应用程序对应的容器镜像文件, 使得预 先生成并部署到第一片上系统以及第二片上系统上的应用程序对应的容器镜像文件适于 集群计算系统, 从而使得应用程序可以借助该应用程序对应的容器镜像文件运行在集群计 算系统, 如此解决了应用程序无法在集群计算系统上运行的技术问题。 0079 在一种可能的实施方式中, 本申请实施例还提供了一种生成应用程序对应的容器 镜像文件的实施方式, 其具体可以包括步骤11至步骤15: 0080 步骤11: 创建容器化固件。 0081 容器化固件用于存放应用程序的相关文件。 另外, 本申请实施例。
42、不限定容器化固 件的创建方式, 例如, 容器化固件可以利用Dockerfile中的 “FROM scratch” 指令来进行构 建。 其中, Dockerfile是指用于构建应用程序的对应的容器镜像文件的描述文件, 而且 Dockerfile中包含了构建容器镜像文件的基本步骤, 故本申请可以利用Dockerfile对应用 程序的文件目录系统进行打包, 得到应用程序对应的容器镜像文件。 0082 步骤12: 在容器化固件中添加文件目录系统。 0083 文件目录系统用于表征应用程序的最小运行环境。 为了便于理解文件目录系统下 面结合示例进行说明。 0084 作为示例, 当应用程序为车载应用程序时,。
43、 则构建车载应用程序的文件目录系统 的相关内容如下: 0085 因车载应用程序通常以Linux为基础平台运行, 故本申请也将以Linux为基础平台 来构建车载应用程序的文件目录系统。 其中, 车载应用程序通常包括c语言系统基础函数库 (libc.so等)、 操作系统基础函数库、 图形用户界面(Graphical User Interface, GUI)基础 函数库(qt5等)、 应用配置文件(/etc目录下)等文件。 0086 车载应用程序的文件目录系统的构建原则为保证构建成的车载应用程序对应的 容器镜像文件占用最小的空间, 故基于该原则本申请实施例可以采用Alpine操作系统作为 说明书 7。
44、/19 页 10 CN 111597021 A 10 基础平台来构建车载应用程序的文件目录系统。 其中, Alpine操作系统是一个面向安全的 轻型Linux发行版。 它不同于通常Linux发行版, Alpine操作系统采用了musl libc和 busybox以减小系统的体积和运行时资源消耗, 但功能上比busybox又完善的多, 因此得到 开源社区越来越多的青睐。 在保持系统瘦身的同时, 还能满足系统应用的多样化需求, 因此 非常适合车载应用容器化的场景需求, 使得Alpine操作系统能够满足在车载应用程序的文 件目录系统中构建c语言系统基础函数库和操作系统基础函数库的需求。 0087 车。
45、载应用程序(尤其仪表应用程序)的GUI系统主要有QT组件构成, 不同的仪表应 用依赖不同的QT版本, 因此在集成GUI基础库的时候, 我们根据车载应用程序的依赖关系, 将对应版本的UI组件集成到车载应用程序的文件目录系统中。 例如, 在本本申请中, 仪表应 用程序依赖QT的5.11.2版本, 如此能够满足在车载应用程序的文件目录系统中构建GUI基 础函数库的需求。 0088 车载应用程序一般会有自身的配置文件, 如字体库信息, 启动配置项等配置文件, 这些配置文件通常需要放在系统的/etc目录下, 故在构建车载应用程序的文件目录系统的 过程中, 可以对应建立/etc目录, 并将车载应用程序的配。
46、置文件放到相关目录下, 如此能够 满足在车载应用程序的文件目录系统中构建应用配置文件的需求。 0089 在构建完成c语言系统基础函数库、 操作系统基础函数库、 GUI基础函数库及应用 配置文件这些用于搭建车载应用运行的基础环境的文件之后, 可以利用上述文件构建车载 应用程序的文件目录系统。 其中, 因车载应用程序通常包括一个可执行文件(例如, EJanus2-hmi文件) 和多个动态组件 (例如 , libCarInfoControl .so组件、 libHomeControl .so组件、 libSystemControl .so组件、 libVToXControl .so组件、 libea。
47、rlyheartbeat.so组件、 libGaugeControl.so组件、 libIVIInfoControl.so组件、 libTelltalesControl.so组件等), 故将可执行文件放置在文件目录系统的/usr/bin下, 并 将多个动态组件放置在文件目录系统的/usr/lib64下, 即可完成车载应用程序的文件目录 系统的搭建。 例如, 搭建好的车载应用程序的文件目录系统的目录结构及描述具体如表1所 示。 0090 说明书 8/19 页 11 CN 111597021 A 11 0091 0092 表1 0093 基于上述文件目录系统的相关内容可知, 应用程序的文件目录系统。
48、能够准确地表 征应用程序的最小运行环境, 使得后续能够直接从该应用程序的文件目录系统获取应用程 序运行所述的文件。 0094 本申请实施例中, 在获取到容器化固件和应用程序的文件目录系统之后, 可以将 应用程序的文件目录系统添加至容器化固件, 以使得容器化固件携带有应用程序的文件目 录系统。 0095 步骤13: 配置容器化固件的运行环境变量。 0096 应用程序在运行时通常需要使用一些预先配置的环境变量。 对于传统的应用程序 来说, 这些环境变量会预先配置在系统的环境变量中, 但是对于容器化的应用程序来说, 因 容器的环境隔离特性导致系统的环境变量无法影响到容器内部, 从而导致传统的应用程序。
49、 所使用的环境变量配置方法不适用于本申请中容器化的应用程序的环境变量配置。 为了解 决这个问题, 本申请将在容器化固件中配置容器化固件的运行环境变量。 0097 另外, 为了便于理解配置容器化固件的运行环境变量, 下面结合示例进行说明。 0098 作为示例, 当应用程序为仪表应用程序时, 则因仪表应用程序启动需要配置 wayland、 windows和fonts的环境变量参数, 故本申请可以利用Dockerfile中的 “QT_ WAYLAND_DISABLE_WINDOWDECORATION1” 指令、“ENV QT_QPA_PLATFORMwayland-egl” 指 令、 以及 “ENV。
50、 QT_QPA_FONTDIR/etc/fonts” 指令配置仪表应用程序对应的容器化固件的 运行环境变量。 另外, 由于在Linux上, GUI系统是由weston应用进行显示的管理, weston是 通过domain socket和客户应用进行通信, 通常weston的socket会以文件的方式存储在/ run/ias下面, 应用程序需要通过/run/ias/wayland-0文件节点完成和weston的交互通信。 因此我们也需要配置GUI的运行时环境变量ENV XDG_RUNTIME_DIR为/run/ias, 这样就可以 指定了容器应用和weston的交互接口路径。 0099 步骤14。
- 内容关键字: 实现 应用程序 运行 方法 装置 系统 相关 设备
纳米气泡布面除油预缩设备.pdf
半导体老化冷热测试装置.pdf
RFID芯片剪切力测试仪.pdf
可按摩式颈托睡眠头枕及汽车座椅.pdf
汽车点火装饰圈.pdf
起落架部件机加工同心度辅助工装.pdf
园林绿化垃圾处理装置.pdf
施工物料分筛装置.pdf
鸡粪螺旋挤出设备.pdf
用于分砖的压砖装置.pdf
故障电池包防护箱.pdf
耐磨型泥沙挖掘齿.pdf
阀门锁盖设备.pdf
用于多肽固相合成的后处理系统及多肽固相合成设备.pdf
高压线圈导线拉紧装置.pdf
可调式带锯机切割辅助工装.pdf
温度压力一体化检测的波码通信控制装置.pdf
屋面防水卷材辅助施工设备.pdf
桥梁支座变形角度测量装置.pdf
便于冷却烘干的塑料玩具注塑机.pdf
防护插板.pdf
基于特征融合Transformer的多对比度核磁共振图像超分辨率方法.pdf
复叠制冷压缩机组.pdf
盾构管片拼装定位分体测量装置.pdf
自组装多肽RAKA 16的合成方法.pdf
基于机器学习的盾构掘进机姿态分项预测方法.pdf
宫颈TCT切片的多类型细胞核标注及多任务处理方法.pdf
基于自然资源工程勘测面积的测量装置.pdf
数据处理方法、装置及电子设备.pdf
基于人工智能的生物质电厂燃烧控制决策优化方法及系统.pdf
低功率的医院污水处理装置.pdf
基于FV-MViT的指静脉识别方法、装置及相关介质.pdf
一种从大豆油渣中提取大豆多聚糖的方法.pdf
一种高取代度氯化聚乙烯树脂封装组合物.pdf
粘稠废水的脱稠设备.pdf
热和能量回收及再生组件、系统和方法.pdf
茶叶青稞酒及其酿制方法.pdf
一种简易酿酒装置.pdf
透明聚乙烯薄膜.pdf
一种具有气吹装置的润滑油生产系统用调制罐.pdf
一种液压混合动力装置工作液组合物.pdf
一对靶向猪RELA基因的SGRNA.pdf
TYMS基因表达量荧光定量PCR检测试剂盒及其应用.pdf
一种RH精炼装置.pdf
一种智能红外遥控器.pdf
一种耐高温橡胶密封圈.pdf
一种环保型电动汽车电缆用铝合金杆材的制备方法.pdf
一种球磨酸浸生物吸附回收高磷铁矿中磷资源的方法.pdf
一种蛋白酶抑制剂CYSTATIN及其免疫抑制作用.pdf
制备聚酯的方法.pdf
一种双醛纳米纤维素的制备方法.pdf