System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种用于提供软件容器元件的方法和计算装置,所述软件容器元件被配置成能访问与特定类相关联的预定外围装置集中的每个外围装置,而不管在稍后执行或连接所述容器元件时是否连接预定外围装置。具体地但不限于,本专利技术涉及一种方法,其中装置插件软件容器将其资源通告为可连接到自助服务终端或销售点终端的一类外围装置。该类与预定义外围装置集相关联。然后,通过将指示该类的每个外围装置的装置路径的外围装置连接数据与软件容器相关联,可以在能访问该类中的所有外围装置的终端上提供所述软件容器。
技术介绍
1、众所周知,自助服务终端(sst)和/或销售点(pos)终端不时地在零售行业中使用。sst终端和pos终端通常用于使客户能与零售机构进行交易。任何零售机构中的每个sst或pos终端都可以连接到不同的外围装置。每个sst或pos终端还可以执行不同的软件,例如具有不同的底层操作系统(linux、windows等)和不同的软件应用程序。这通常取决于使用sst或pos终端的零售机构,以及零售机构中sst或pos终端的预期用途。不时地,sst或pos终端上执行的软件也可能被升级,或者连接的外围装置可能会改变。
2、由于终端与终端之间经常存在差异,软件开发人员已经开始使用包含需要在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终端上部署软件容器时,希望在容器内运行装置驱动程序/处理软件,因为这意味着装置驱动程序及其相关软件的分发、管理和维护方式可与容器内所有其它软件相同。然而,这种方法通常要求容器具有特权,这意味着容器具有底层主机计算装置的大部分或全部根功能,因此允许访问在非特权容器中不可用的资源。因此,为软件容器提供特权访问是一种安全风险,并且违反了部署最佳实践。考虑到sst和pos终端需要具有稳定的安全性,这一点在零售业尤为重要。
8、为了避免特权操作,当前技术通常要求容器确切地知道其需要提前访问的装置集。也就是说,当执行容器时,为容器提供只指示其在操作期间将需要访问的外围装置的数据。为了使此方法成功,应注意,在首次执行容器时还需要存在那些装置。如果装置不存在(例如,装置未插入),则容器将无法在装置可用时(例如,一旦装置插入)与这些装置通信。应理解,此方法因此阻碍了装置即插即用或拔下重新插入的情况。
技术实现思路
1、本专利技术旨在至少部分地缓解一个或多个上文提及的问题。
2、本专利技术的某些实施例旨在有助于提供可与可连接到sst或pos终端的任何预定义外围装置通信的软件容器,而不必事先指定将实际连接哪些装置。
3、本专利技术的某些实施例旨在有助于避免需要提供符合不同终端上不同硬件设置(例如,不同外围装置)的自定义容器规格(例如,kubernetes豆荚规格)。
4、本专利技术的某些实施例旨在有助于提供无需适应终端上不同硬件设置或执行软件容器时特定装置的存在或不存在的容器规格。
5、本专利技术的某些实施例旨在有助于提供执行软件容器的sst或pos终端,所述软件容器可与在软件容器初始执行后插入或在软件容器初本文档来自技高网...
【技术保护点】
1.一种用于提供与外围装置连接数据相关联的软件容器元件的计算机实施的方法,所述外围装置连接数据使所述软件容器元件能够访问多个预定外围装置中的每个外围装置并与其通信,所述方法包括以下步骤:
2.根据权利要求1所述的方法,其进一步包括:
3.根据权利要求1或权利要求2所述的方法,其进一步包括:
4.根据权利要求1所述的方法,其进一步包括执行以下步骤(1)-(11)中的任何一个步骤:
5.根据权利要求1所述的方法,其进一步包括:
6.根据权利要求5所述的方法,其进一步包括:
7.根据权利要求6所述的方法,其进一步包括:
8.一种计算装置,其包括一个或多个处理器,所述一个或多个处理器被配置成执行负责管理所述计算装置上的软件容器元件的软件应用程序,其中所述软件应用程序在被执行时被配置成:
9.根据权利要求8所述的计算装置,其中所述计算装置是销售点终端或自助服务终端。
10.一种计算机程序,其包括指令,所述指令在由计算装置执行时使所述计算装置执行根据权利要求1至7中任一项所定义的方法的
...【技术特征摘要】
1.一种用于提供与外围装置连接数据相关联的软件容器元件的计算机实施的方法,所述外围装置连接数据使所述软件容器元件能够访问多个预定外围装置中的每个外围装置并与其通信,所述方法包括以下步骤:
2.根据权利要求1所述的方法,其进一步包括:
3.根据权利要求1或权利要求2所述的方法,其进一步包括:
4.根据权利要求1所述的方法,其进一步包括执行以下步骤(1)-(11)中的任何一个步骤:
5.根据权利要求1所述的方法,其进一步包括:
6.根据权利...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。