一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

容器调度及部署方法、装置、域控制器系统与流程

2022-11-19 09:24:56 来源:中国专利 TAG:


1.本技术涉及通信技术领域,具体涉及一种容器调度及部署方法、装置、域控制器系统。


背景技术:

2.容器技术是一种内核轻量级的操作系统层虚拟化技术,能隔离进程和资源。相比于传统的虚拟化技术,创建环境、部署应用、应用的移植性都很繁琐,而容器技术可轻松实现各环境下的灵活迁移和部署。
3.然而,当前域控制器系统内的容器调度部署方法无法对域控制器内的容器实现均衡负载,无法动态调节域控制器内的容器的分配部署,使得域控制器内的某个节点在高负载时的用户体验降低,并会影响整个域控制器系统的性能表现。


技术实现要素:

4.为了解决上述技术问题,提出了本技术。本技术实施例提供了一种容器调度及部署方法、装置、域控制器系统。
5.第一方面,本技术一实施例提供了一种容器调度及部署方法,应用于车辆的域控制器系统,该方法包括:若域控制器系统的当前应用环境为正式环境,则基于域控制器系统的域控制器节点,对域控制器节点对应的容器进行调度及部署;若域控制器系统的当前应用环境为开发测试环境,则基于域控制器系统的远端服务器对域控制器节点对应的容器进行调度及部署。
6.结合第一方面,在第一方面的某些实现方式中,基于域控制器系统的域控制器节点,对域控制器节点对应的容器进行调度及部署,包括:基于域控制器系统的当前运行状况,利用域控制器节点对域控制器节点对应的容器进行扩容操作或缩容操作。
7.结合第一方面,在第一方面的某些实现方式中,基于域控制器系统的域控制器节点,对域控制器节点对应的容器进行调度及部署,包括:若域控制器节点对应的容器为失效容器,则利用域控制器节点对失效容器进行删除,并且创建与失效容器对应的新容器。
8.结合第一方面,在第一方面的某些实现方式中,基于域控制器系统的远端服务器对域控制器节点对应的容器进行调度及部署,包括:基于域控制器系统的使用场景,利用远端服务器向域控制器系统的域控制器节点分发与使用场景对应的容器应用,以便域控制器节点完成应用部署。
9.结合第一方面,在第一方面的某些实现方式中,容器采用containerd容器,containerd容器用于域控制器节点内功能组件之间的解耦。
10.结合第一方面,在第一方面的某些实现方式中,容器采用k3s的部署方式。
11.第二方面,本技术一实施例提供了一种容器调度及部署装置,应用于车辆的域控制器系统,该装置包括:第一调度部署模块,用于若域控制器系统的当前应用环境为正式环境,则基于域控制器系统的域控制器节点,对域控制器节点对应的容器进行调度及部署;第
二调度部署模块,用于若域控制器系统的当前应用环境为开发测试环境,则基于域控制器系统的远端服务器对域控制器节点对应的容器进行调度及部署。
12.第三方面,本技术一实施例提供了一种域控制器系统,包括:域控制器节点,用于在域控制器系统的当前应用环境为正式环境的情况下,对域控制器节点对应的容器进行调度及部署;远端服务器,用于在域控制器系统的当前应用环境为开发测试环境的情况下,对域控制器节点对应的容器进行调度及部署。
13.结合第三方面,在第三方面的某些实现方式中,域控制器系统还包括:存储服务器,存储服务器用于存储容器。
14.第四方面,本技术一实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序用于执行第一方面所述的容器调度及部署方法。
15.第五方面,本技术一实施例提供了一种电子设备,该电子设备包括:处理器;用于存储处理器可执行指令的存储器;该处理器用于执行第一方面所述的容器调度及部署方法。
16.本技术实施例提供的容器调度及部署方法,在域控制器系统的当前应用环境为正式环境时,基于域控制器系统的域控制器节点,对域控制器节点对应的容器进行调度及部署;在域控制器系统的当前应用环境为开发测试环境时,基于域控制器系统的远端服务器对域控制器节点对应的容器进行调度及部署。通过本技术实施例中的技术方案,实现了对不同应用阶段的域控制器节点的容器的调度部署,完成了对域控制器系统的动态调整,并保障其高扩展性和高可用性能。
附图说明
17.通过结合附图对本技术实施例进行更详细的描述,本技术的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本技术实施例的进一步理解,并且构成说明书的一部分,与本技术实施例一起用于解释本技术,并不构成对本技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
18.图1所示为本技术实施例所适用的一场景示意图。
19.图2所示为本技术一示例性实施例提供的容器调度及部署方法的流程示意图。
20.图3所述为本技术一示例性实施例提供的对域控制器节点对应的容器进行调度及部署的流程示意图。
21.图4所示为本技术一示例性实施例提供的容器调度及部署装置的结构示意图。
22.图5所示为本技术一示例性实施例提供的域控制器系统的结构示意图。
23.图6所示为本技术另一示例性实施例提供的域控制器系统的结构示意图。
24.图7所示为本技术一实施例提供的电子设备的结构示意图。
具体实施方式
25.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.申请概述
27.集群,是一组相互独立的计算机,每个集群节点都是运行各自服务的独立服务器。
28.编排,根据部署对象之间的耦合关系、以及被部署对象环境的依赖,指定部署流程中各个工作的执行顺序,部署过程中需要的依赖文件的存储位置和获取方式,以及如何验证部署成功。
29.部署:按照编排指定的内容和流程,在目标机器上执行编排指定的环境初始化,存放指定的依赖和文件,运行指定的部署动作,最终按照编排中的规则来确认部署成功。
30.容器的调度部署方式对域控制器系统的重要性不言而喻。相关技术中,一般是在存储集群的存储服务器上安装docker相关命令,对存储服务器进行层级划分,并根据层级划分结果分别向各层级的存储服务器推送docker镜像、以及向各层级的存储服务器发送docker容器的创建和启动请求,进而存储服务器可根据docker镜像启动docker容器。然而,此方案只提供了按照存储服务器的层级、依次部署docker容器,却缺少对存储集群的动态管理,进而使整个集群缺乏高可用性及扩展能力。
31.此外,相关容器调度部署方法中还包括获取计算节点的特征标识,根据获取的特征标识与待绑定的计算节点进行绑定。然后,再根据使用场景的特征获取待部署的场景应用。进一步地,将场景应用的特征传送到计算节点,以供计算节点完成应用部署。然而,该方案同样也无法完成功能模块的动态调整和无感更新。
32.有鉴于此,本技术实施例提供了一种容器调度及部署方法,在确定域控制器系统的当前应用环境为正式环境的情况下,基于域控制器系统的域控制器节点,对域控制器节点对应的容器进行调度及部署;在确定域控制器系统的当前应用环境为开发测试环境的情况下,基于域控制器系统的远端服务器对域控制器节点对应的容器进行调度及部署。本技术针对不同的应用环境,可灵活选择域控制器节点或远端服务器进行调度及部署,以实现了不同应用阶段的集群管理。
33.示例性应用场景
34.图1所示为本技术实施例所适用的一场景示意图。该场景示意图包括域控制器和远端服务器,域控制器包括多个域控制器节点。具体而言,若域控制器系统的当前应用环境为正式环境,则通过域控制器节点对域控制器节点的容器进行调度及部署,其中,域控制器节点包括但不限于电子控制单元(electronic control unit,ecu)。此外,若域控制器系统的当前应用环境为开发测试环境,则通过远端服务器对域控制器节点的容器进行调度及部署,以适应域控制器系统不同应用阶段的管理需求。
35.示例性方法
36.图2所示为本技术一示例性实施例提供的容器调度及部署方法的流程示意图。示例性地,该容器调度及部署方法应用于车辆的域控制器系统。如图2所示,本技术实施例提供的容器调度及部署方法包括如下步骤。
37.步骤s210,若域控制器系统的当前应用环境为正式环境,则基于域控制器系统的域控制器节点,对域控制器节点对应的容器进行调度及部署。
38.具体地,正式环境即为真实应用环境。当域控制器系统的当前应用环境为正式环境时,则利用域控制器节点对域控制器节点的容器进行调度及部署,以实现域控制器系统内的集群的自我修复。
39.其中,域控制器系统包括但不限于高级驾驶辅助系统的(advanced driver assistance systems,adas)域控制器系统,域控制器节点包括但不限于ecu节点。
40.步骤s220,若域控制器系统的当前应用环境为开发测试环境,则基于域控制器系统的远端服务器对域控制器节点对应的容器进行调度及部署。
41.具体地,开发测试环境是指运行在其上的软件和硬件环境的描述、以及任何其他与被测软件交互的软件。
42.首先,远端服务器获取待绑定的域控制器节点的特征标识,并根据获取的特征标识,与域控制器节点进行绑定。然后,获取域控制器节点当前的使用场景特征,根据使用场景特征将对应的容器应用分发至域控制器节点,供域控制器节点完成应用部署。
43.此外,使用场景是指域控制器节点的应用场合。例如,使用场景包括车路协同使用场景,或者adas使用场景。
44.通过本技术实施例中的方案,可根据域控制器系统不同阶段的应用环境,灵活选择不同的调度部署方式。具体地,当域控制器系统处于正式环境时,利用域控制器节点对其节点的容器进行调度及部署;当域控制器系统处于开发测试环境时,利用远端服务器对其节点的容器进行调度及部署,进而保证了域控制器系统的动态调整、并保障其高扩展性和高可用性能。此外,与常见的虚拟机方案相比,虚拟机配置中存在虚拟层,因此面临的潜在风险更大,而本技术实施例中的由域控制器节点或远端服务器进行节点的容器的调度及部署,可降低网络攻击的风险。
45.图3所述为本技术一示例性实施例提供的对域控制器节点对应的容器进行调度及部署的流程示意图。在图2所示实施例的基础上延伸出图3所示实施例,下面着重叙述图3所示实施例与图2所示实施例的不同之处,相同之处不再赘述。
46.如图3所示,基于域控制器系统的域控制器节点,对域控制器节点对应的容器进行调度及部署,包括如下步骤。
47.步骤s310,基于域控制器系统的当前运行状况,利用域控制器节点对域控制器节点对应的容器进行扩容操作或缩容操作。
48.步骤s320,若域控制器节点对应的容器为失效容器,则利用域控制器节点对失效容器进行删除,并且创建与失效容器对应的新容器。
49.需要说明的是,步骤s310和步骤s320之间无顺序关系,二者可同时进行,也可仅执行其中任一步骤中的方法。也就是说,当采用域控制器节点对节点的容器进行调度部署时,一边可根据域控制器系统的当前运行状况,利用域控制器节点对节点的容器进行扩容或缩容操作,若此时节点的容器处于失效状态,可同时利用域控制器节点删除失效容器,并且创建与失效容器对应的新容器。
50.本技术实施例示出了域控制器系统处于正式环境时,域控制器节点的具体调度部署方法。在对性能要求更高的真实应用环境下,用集群内的域控制器节点对节点的容器进行调度部署会有更好的性能指标。
51.在本技术一示例性实施例中,基于域控制器系统的远端服务器对域控制器节点对应的容器进行调度及部署,包括:基于域控制器系统的使用场景,利用远端服务器向域控制器系统的域控制器节点分发与使用场景对应的容器应用,以便域控制器节点完成应用部署。
52.具体地,如前所述,远端服务器根据域控制器节点的特征标识,与域控制器节点进行绑定。然后根据域控制器系统的使用场景特征,向域控制器节点分发对应的容器应用,供域控制器节点完成应用部署。
53.此外,当域控制器系统有更新升级应用模型算法或功能的需求时,可继续收集有该需求的域控制器节点的特征标识,推送相关更新容器应用到指定的域控制器节点,以供该域控制器节点完成相关模型算法和功能应用容器的平滑升级。若升级失败,也可迅速回滚到原有的状态。
54.在开发调试阶段,一般是开发人员在自己的服务器或个人电脑端去进行相关的应用开发或代码开发。此时,基于通信网络,利用远端服务器可以很方便地将一些待调试的容器应用分发部署到对应的域控制器节点中。
55.在本技术一示例性实施例中,容器采用containerd容器。
56.具体地,containerd容器是一种简洁、健壮、便携的容器,用于域控制器节点内功能组件之间的解耦。
57.此外,本技术实施例中的域控制器系统采用的containerd容器是在域控制器系统上优化之后的,移除了不适用于域控制器系统使用场景的相关组件,并添加了对特定场景的优化。其中,特定场景是指在域控制器上去实现一些比远端服务器对它的性能和安全性要求更高的一些场景。
58.在本技术实施例中,域控制器节点内的功能组件是基于容器实现的解耦,且容器之间是完全隔离的状态,可以避免在传统式应用程序系统中,一个组件模块的异常导致整个系统的异常运行。即,本技术实施例中的方案可保障系统的基础稳定性。此外,基于containerd容器实现了域控制器节点内功能组件之间的解耦,也可进一步实现域控制器系统的插件式的扩展和重用,减少域控制器系统的移植难度。后续开发者可以在操作系统不敏感的前提下,平滑的迁移自身的算法模型容器和功能容器,有效降低使用者的开发难度,实现功能组件的可重复利用性。插件式的扩展同时也可以实现在不影响其他服务正常运行的前提下,实现对容器中的新功能的追加和删除。
59.在本技术一示例性实施例中,容器还可采用docker容器。
60.在本技术一示例性实施例中,容器采用k3s的部署方式。
61.本技术实施例中采用的k3s也是在域控制器系统上优化之后的,移除了不适用于域控制器系统使用场景的相关组件,并添加了对特定场景的优化。
62.具体地,k3s的部署方式是一个经过完全认证轻量级的kubernetes发行版,可针对边缘计算等场景进行高度优化,最大程度减轻了外部依赖,并且有效的减少集群需要的资源消耗,能够适应并满足域控制器的使用场景和性能需求。此外,k3s的部署方式摒弃了常见的虚拟机配置中存在的hypervisor,缺少hypervisor层降低了域控制器系统的复杂性,使构建域控制器系统变得更加简单,使故障排除更加容易。进一步地,由于k3s部署方式的配置更精简,故对域控制器系统的管理服务和软件部署也更容易。
63.在域控制器系统的配置分布中,对比常见使用hypervisor层实现系统部署管理的方式,k3s的编排部署方法可使系统获得更高的性能保障。此外,应用程序可以直接访问中央处理器、随机存取存储器和其他的硬件资源,实现较低的系统延迟和最大化资源使用。没有hypervisor层的消耗也意味着对于延迟要求敏感的模块拥有更好的性能表现,同样任何
需要对硬件要求很高的应用程序和工作负载都可以受益于直接系统直接访问,特别是在域控制器系统这样中央处理器,图形处理器密集和大量内存的使用场景中。与常见虚拟化解决方案相比,相邻的虚拟机可能会耗尽资源,因而严重影响系统性能。进一步地,采用k3s的部署方式,可实现域控制器节点内的容器在不关机前提下的平滑升级,此外,一旦升级失败也可以回到原有的状态。
64.在本技术一示例性实施例中,容器采用kubernetes的部署方式。
65.示例性装置及系统
66.上文结合图1至图3,详细描述了本技术的容器调度及部署方法实施例,下面结合图4至图6,详细描述本技术的装置及系统实施例。应理解,方法实施例的描述与装置及系统实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
67.图4所示为本技术一示例性实施例提供的容器调度及部署装置的结构示意图。如图4所示,本技术实施例提供的容器调度及部署装置40包括:
68.第一调度部署模块410,用于若域控制器系统的当前应用环境为正式环境,则基于域控制器系统的域控制器节点,对域控制器节点对应的容器进行调度及部署;
69.第二调度部署模块420,用于若域控制器系统的当前应用环境为开发测试环境,则基于域控制器系统的远端服务器对域控制器节点对应的容器进行调度及部署。
70.在本技术一实施例中,第一调度部署模块410还用于基于域控制器系统的当前运行状况,利用域控制器节点对域控制器节点对应的容器进行扩容操作或缩容操作。
71.在本技术一实施例中,第一调度部署模块410还用于若域控制器节点对应的容器为失效容器,则利用域控制器节点对失效容器进行删除,并且创建与失效容器对应的新容器。
72.在本技术一实施例中,第二调度部署模块420还用于基于域控制器系统的使用场景,利用远端服务器向域控制器系统的域控制器节点分发与使用场景对应的容器应用,以便域控制器节点完成应用部署。
73.在本技术一实施例中,容器采用containerd容器,containerd容器用于域控制器节点内功能组件之间的解耦。
74.在本技术一实施例中,容器采用k3s的部署方式。
75.图5所示为本技术一示例性实施例提供的域控制器系统的结构示意图。如图5所示,本技术实施例提供的域控制器系统50包括:
76.域控制器节点510,用于在域控制器系统的当前应用环境为正式环境的情况下,对域控制器节点对应的容器进行调度及部署;
77.远端服务器520,用于在域控制器系统的当前应用环境为开发测试环境的情况下,对域控制器节点对应的容器进行调度及部署。
78.图6所示为本技术另一示例性实施例提供的域控制器系统的结构示意图。如图6所示,本技术实施例提供的域控制器系统50还包括:存储服务器530,该存储服务器530用于存储容器。具体地,存储服务器为存储相关模型算法及功能需求容器的服务器。
79.在域控制器系统的当前应用环境为开发测试环境时,首先根据客户需求将定制的模型算法及功能需求容器分发到对应的存储服务器中,并根据远端服务器获取的域控制器节点的特征标识、以及域控制器系统的使用场景,将容器分发到各域控制器节点中,以实现
根据不同需求的模型算法和功能需求容器的相关部署。
80.下面,参考图7来描述根据本技术实施例的电子设备。图7所示为本技术一示例性实施例提供的电子设备的结构示意图。
81.如图7所示,电子设备70包括一个或多个处理器701和存储器702。
82.处理器701可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备70中的其他组件以执行期望的功能。
83.存储器702可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器701可以运行所述程序指令,以实现上文所述的本技术的各个实施例的容器调度及部署方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如包括域控制器节点对应的容器、调度及部署方案、域控制器系统的当前运行状况数据等各种内容。
84.在一个示例中,电子设备70还可以包括:输入装置703和输出装置704,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
85.该输入装置703可以包括例如键盘、鼠标等等。
86.该输出装置704可以向外部输出各种信息,包括域控制器节点对应的容器、调度部署方案、域控制器系统的当前运行状况数据等。该输出装置704可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
87.当然,为了简化,图7中仅示出了该电子设备70中与本技术有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备70还可以包括任何其他适当的组件。
88.除了上述方法和设备以外,本技术的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述描述的根据本技术各种实施例的容器调度及部署方法中的步骤。
89.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本技术实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
90.此外,本技术的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述描述的根据本技术各种实施例的容器调度及部署方法中的步骤。
91.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储
器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
92.以上结合具体实施例描述了本技术的基本原理,但是,需要指出的是,在本技术中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本技术的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本技术为必须采用上述具体的细节来实现。
93.本技术中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
94.还需要指出的是,在本技术的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本技术的等效方案。
95.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本技术。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本技术的范围。因此,本技术不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
96.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本技术的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献