System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 图像汇编制造技术_技高网

图像汇编制造技术

技术编号:40835122 阅读:2 留言:0更新日期:2024-04-01 14:59
公开了方法、计算装置和计算机程序。一种方法包括从多个预定义模块化图像文件汇编作为软件容器元件执行的可执行图像文件,每个预定义模块化图像文件包括定义可执行指令的至少一个层。

【技术实现步骤摘要】

本专利技术涉及用于汇编作为软件容器执行的可执行图像文件的方法和计算装置。具体地但不限于,本专利技术涉及一种用于动态地且根据特定自助服务终端或销售点终端的需求汇编可执行图像文件的方法。从多个预定义模块化图像文件汇编可执行图像文件,每个预定义模块化图像文件具有表示构成整个可执行图像文件所需的可执行指令的特定层。


技术介绍

1、众所周知,自助服务终端(sst)和/或销售点(pos)终端不时地在零售行业中使用。sst终端和pos终端通常用于使客户能与零售机构进行交易。任何零售机构中的每个sst或pos终端都可以连接到不同的外围装置。每个sst或pos终端还可以执行不同的软件,例如具有不同的底层操作系统(linux、windows等)和不同的软件应用程序。这通常取决于使用sst或pos终端的零售机构,以及零售机构中sst或pos终端的预期用途。不时地,sst或pos终端上执行的软件也可能被升级,或者连接的外围装置可能会改变。

2、由于终端与终端之间经常存在差异,软件开发人员已经开始使用包含需要在sst或pos终端上执行的软件的软件容器。软件容器隔离运行中的软件,由此帮助避免复杂的平台依赖关系。也就是说,所述软件容器能独立于终端的计算环境在所述终端的一个或多个处理器上执行。这是因为软件容器包含其需要在任何计算环境中可执行的所有软件(应用程序代码以及任何软件依赖项)。此外,当这些容器在它们自己的独立计算环境中运行时(除了与软件容器之外的其它软件/硬件(例如,访问特定文件、特定端口)的某些预定义通信路径之外),这也使它们特别安全。因此,软件容器是打包和分发用于sst终端和pos终端的软件的有效方式。当在终端上执行软件或硬件升级时,可以在考虑这些升级的终端上执行新的软件容器。此外,由于可以预先构建容器,这可以帮助避免每个终端上的复杂建构。需要注意的是,软件容器与虚拟机不同,因为它们不需要在计算装置上安装管理程序。软件容器通常也比虚拟机更轻便,且运行速度更快。此外,虽然虚拟机使整个计算机系统虚拟化,但软件容器使操作系统虚拟化。软件容器还共享单个操作系统,但每个虚拟机具有其自身的操作系统。

3、当部署软件容器时,利用容器引擎(例如,docker、rkt、cri-o和lxd等)。容器引擎可以接受来自容器编排器(例如kubernetes、swarm、mesos等)的api服务器的用户请求或请求,从注册表拉取图像文件(呈特定图像格式),准备容器安装点,准备执行软件容器所需的元数据,并且调用容器运行时。容器运行时是容器引擎的一部分。容器运行时(例如,runc、containerd、crun、railcar、katacontainers等)使用由容器引擎提供的安装点和元数据,并与在计算装置上运行的(主机os的)内核通信,以执行容器图像文件,并且从而创建软件容器。

4、当在多个计算装置上实施多个容器时,通常会使用软件容器编排器平台。这些平台能跨多个计算装置(例如,sst或pos终端)调度容器工作负荷,并且还能提供标准化的应用程序定义文件(例如,kube yaml、docker compose等)。kubernetes是容器编排平台的示例。

5、kubernetes容器编排平台是单元集群,包含名为kubernetes主节点的管理集群的控制单元和运行工作负荷(容器)的至少一个节点(或工作节点)。kubernetes编排器平台的一部分是kubelet。kubelet是在作为kubernetes系统的一部分的每个工作节点上运行的代理。在操作期间,kubelet(从kubernetes主节点上的api服务器)接收命令,所述命令通知kubelet应在计算装置上运行何种容器。在kubernetes中,这些容器设置在“豆荚(pod)”内。通常,单个豆荚包含单个容器,但也可以在豆荚内包含多个容器。kubelet将关于在计算装置上应运行何种容器的信息传递到容器引擎(例如,经由容器运行时接口(cri)),以便经由容器引擎内的容器运行时执行软件容器。

6、当容器运行时执行可执行容器图像文件时,创建软件容器。因此,软件容器基本上是相关联的可执行容器图像文件的运行时实例。在这个意义上,可执行容器图像文件是具有至少作为软件容器元件可执行所需的所有软件的图像文件。更详细地,容器图像文件通常是二进制文件,所述二进制文件除了包含描述软件容器的需求和能力的任何元数据之外,还包含用于运行软件容器的所有必要要求。容器图像文件本身由若干层组成,这些层定义运行软件容器所需的可执行指令。例如,容器图像文件可以包含定义软件应用程序可执行代码的若干层、定义软件应用程序所依赖的任何软件依赖项的代码的若干层,以及定义用于任何所需配置设置的代码的若干层。容器图像文件通常存储在容器图像注册表中。每个容器图像文件以特定容器图像格式存储,所述特定容器图像格式定义容器图像文件内的层和元数据。例如,开源容器倡议(oci)图像格式将图像文件定义为每个层的tar文件和呈json格式的清单文件,所述清单文件指定与图像文件相关联的元数据。

7、当在sst和pos终端上部署软件容器时,如果定制的容器图像是由最终用户(例如,与零售机构相关联的职员)根据特定终端的需求从头开始构建的,则可能导致了解如何构建容器超出其应达到的程度,并带来在构建过程期间出现问题导致容器图像不如预期的风险。采用这种方法通常也无法很好地适应现实世界的变化,只能通过构建新的容器图像来适应现实世界的变化。

8、因此,可以提前准备预先构建的容器图像文件。为了向应该为任何终端工作的用户提供预先构建的容器图像文件,可以创建单个容器图像文件,其中包含可能独立于在任何给定终端上运行的硬件/软件而需要的所有软件。或者,可以创建一系列唯一容器图像文件,每个唯一图像文件包含来自终端上可能需要的所有可能软件的可能软件子集的排列。

9、然而,创建单个容器图像文件存在问题,这在于它导致从资源角度(磁盘、ram等)而言次优的容器图像(以及因此运行容器)。例如,如果对于可连接到终端的10个特定外围装置中的每一个需要代码的不同部分,那么为了确保软件容器图像文件具有它所需的一切而与在特定终端上运行的硬件/软件无关,代码的所有10个部分都需要包含在图像文件中。这导致容器图像文件的大小比许多终端(例如,仅具有一个外围装置的终端)所需的大得多。具有这样的大小可能导致可下载和升级图像文件的速度以及容器运行的速度比容器图像文件仅包含特定终端所需的代码时慢。实际上,有许多不同的外围装置(多于10个)可以连接到终端,因此预先构建的单个图像文件的大小可能必须非常大。

10、如果为特定终端上可能需要的软件的每个现实世界排列创建容器图像文件,则存在许多容器图像可能需要构建、分布和管理的问题。例如,如果对于可连接到终端的10个特定外围装置中的每一个需要代码的不同部分,那么为了确保对于每个现实世界组合存在定制图像文件,将需要创建唯一图像文件,每个图像文件包含代码的10个部分的子集的排列(例如,图像1-部分1,图像2-部分1+部分2,图像3-部分1+部分3本文档来自技高网...

【技术保护点】

1.一种用于汇编作为软件容器元件执行的可执行图像文件的计算机实施的方法,其包括以下步骤:

2.根据权利要求1所述的方法,其进一步包括:

3.根据权利要求2所述的方法,其进一步包括执行以下步骤(1)-(2)中的任何一个步骤:

4.根据权利要求1所述的方法,其进一步包括执行以下步骤(1)-(4)中的任何一个步骤:

5.根据权利要求1所述的方法,其进一步包括执行以下步骤(1)-(4)中的任何一个步骤:

6.一种计算装置,其包括被配置成执行可执行软件的一个或多个处理器,其中所述可执行软件在被执行时被配置成:

7.根据权利要求6所述的计算装置,其中所述计算装置是销售点终端或自助服务终端。

8.一种用于汇编作为软件容器元件执行的可执行图像文件的计算机实施的方法,其包括以下步骤:

9.一种计算装置,其包括被配置成执行可执行软件的一个或多个处理器,其中所述可执行软件在被执行时被配置成:

10.一种计算机程序,其包括指令,所述指令在由计算装置执行时使所述计算装置执行根据权利要求1至5或权利要求8中任一项所定义的方法的步骤。

...

【技术特征摘要】

1.一种用于汇编作为软件容器元件执行的可执行图像文件的计算机实施的方法,其包括以下步骤:

2.根据权利要求1所述的方法,其进一步包括:

3.根据权利要求2所述的方法,其进一步包括执行以下步骤(1)-(2)中的任何一个步骤:

4.根据权利要求1所述的方法,其进一步包括执行以下步骤(1)-(4)中的任何一个步骤:

5.根据权利要求1所述的方法,其进一步包括执行以下步骤(1)-(4)中的任何一个步骤:

6.一种计算装置,其包括被配置成执行可执行软件的一个或...

【专利技术属性】
技术研发人员:西蒙·沃特曼
申请(专利权)人:NCR沃伊克斯公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1