CN113434244B - 实例创建和数据处理方法、设备、***及存储介质 - Google Patents

实例创建和数据处理方法、设备、***及存储介质 Download PDF

Info

Publication number
CN113434244B
CN113434244B CN202010191638.3A CN202010191638A CN113434244B CN 113434244 B CN113434244 B CN 113434244B CN 202010191638 A CN202010191638 A CN 202010191638A CN 113434244 B CN113434244 B CN 113434244B
Authority
CN
China
Prior art keywords
image data
mirror image
target
data set
instance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010191638.3A
Other languages
English (en)
Other versions
CN113434244A (zh
Inventor
刘峥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010191638.3A priority Critical patent/CN113434244B/zh
Publication of CN113434244A publication Critical patent/CN113434244A/zh
Application granted granted Critical
Publication of CN113434244B publication Critical patent/CN113434244B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种实例创建和数据处理方法、设备、***及存储介质。本申请实施例提供的数据处理***包括:存储节点和本地节点。其中,存储节点中存储有非压缩格式的镜像数据。相应地,本地节点在创建实例时,便可从非压缩格式的镜像数据中按需获取所需的目标镜像数据,并根据目标镜像数据创建目标实例。这样,不仅可实现镜像数据的按需加载,而且无需对获取的镜像数据进行解压缩等处理,有助于提高实例创建效率。

Description

实例创建和数据处理方法、设备、***及存储介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种实例创建和数据处理方法、设备、***及存储介质。
背景技术
容器可为应用软件及其依赖组件提供了一个资源独立的运行环境。应用软件所依赖的组件会被打包成镜像,该镜像运行环境并不会与主操作***共享内存、CPU和硬盘空间,由此也保证了容器内部的进程与容器外部进程的独立关系。基于此,用户经常通过创建容器来部署应用。
在现有的容器创建方式中,需要将整个容器镜像文件拉取到本地,并将文件镜像文件解压缩;之后,基于解压缩后的镜像文件创建容器,这种容器创建方式耗费时间较长,创建效率较低。
发明内容
本申请的多个方面提供一种实例创建方法、设备及存储介质,用以提高实例创建效率。
本申请实施例提供一种数据处理***,包括:存储节点和本地节点;其中,所述存储节点存储有非压缩格式的镜像数据;
所述本地节点,用于:从所述非压缩格式的镜像数据中获取当前创建的目标实例所需的目标镜像数据;以及根据所述目标镜像数据,创建所述目标实例。
本申请实施例还提供一种数据处理***,包括:源存储节点、中间存储节点和本地节点;所述源存储节点存储有镜像数据集;
所述中间存储节点,用于从所述源存储节点存储的镜像数据集中获取目标镜像数据集;并以非压缩格式存储所述目标镜像数据集,以供所述本地节点按需加载创建实例所需的镜像数据。本申请实施例还提供一种实例创建方法,包括:
从存储节点存储的非压缩格式的镜像数据中获取当前创建的目标实例所需的目标镜像数据;
根据所述目标实例所需的目标镜像数据,创建所述目标实例。
本申请实施例还提供一种数据处理方法,包括:从源存储节点存储的镜像数据集中获取目标镜像数据集;以非压缩格式存储所述目标镜像数据集,以供本地节点按需加载创建实例所需的镜像数据。
本申请实施例还提供一种节点设备,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:在需要创建实例的情况下,执行实例创建操作,并在实例创建过程中,从非压缩格式的镜像数据中获取当前创建的目标实例所需的目标镜像数据;以及根据所述目标实例所需的目标镜像数据,创建所述目标实例。
本申请实施例还提供一种节点设备,包括:存储器、处理器和通信组件,其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:从源存储节点存储的镜像数据集中获取目标镜像数据集;并以非压缩格式将所述目标镜像数据集存储于所述存储器中,以供本地节点按需加载创建实例所需的镜像数据。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述各方法中的步骤。
本申请实施例提供的数据处理***,该***包括:存储节点和本地节点。其中,存储节点中存储有非压缩格式的镜像数据。相应地,本地节点在创建实例时,便可从非压缩格式的镜像数据中按需获取所需的目标镜像数据,并根据目标镜像数据创建目标实例。这样,不仅可实现镜像数据的按需加载,而且无需对获取的镜像数据进行解压缩等处理,有助于提高实例创建效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请实施例提供的一种数据处理***的结构示意图;
图1b为本申请实施例提供的另一种数据处理***的结构示意图;
图1c为本申请实施例提供的一种实例构建的流程示意图;
图2a为本申请实施例提供的一种实例创建方法的流程示意图;
图2b为本申请实施例提供的一种数据处理方法的流程示意图;
图3为本申请实施例提供的一种节点设备的结构示意图;
图4为本申请实施例提供的另一节点设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有实例创建效率较低的技术问题,本申请一些实施例提供一种数据处理***,该***包括:存储节点和本地节点。其中,存储节点中存储有非压缩格式的镜像数据。相应地,本地节点在创建实例时,便可从非压缩格式的镜像数据中按需获取所需的目标镜像数据,并根据目标镜像数据创建目标实例。这样,不仅可实现镜像数据的按需加载,而且无需对获取的镜像数据进行解压缩等处理,有助于提高实例创建效率。
以下结合附图,详细说明本申请各实施例提供的技术方案。
应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。
图1a为本申请实施例提供的一种数据处理***的结构示意图。如图1a所示,该***包括:存储节点10a和本地节点10b。
在本实施例中,存储节点10a和本地节点10b的数量可以为1个或多个。其中,多个是指2个或2个以上。其中,第一存储节点10a和第二存储节点10a可以为支持镜像数据存储的软件模块、应用程序、服务或一台实体设备。多个存储节点10a可以部署在不同的物理机上,也可以部署在不同容器或虚拟机(VM)中。当然,这些容器或虚拟机可以部署在同一物理机上,也可以部署在多个不同的物理机上。
在本实施例中,本地节点10b可以为具有实例创建功能的软件模块、应用程序、服务或一台实体设备。当然,多个本地节点10b也可以部署在不同的物理机上,也可以部署在不同的容器或虚拟机中。这些容器或虚拟机可以部署在同一物理机上,也可以部署在多台不同的物理机上。
在本实施例中,物理机可以为单一服务器设备,也可以云化的服务器阵列。另外,物理机也可以指具备相应计算能力的其他计算设备,例如电脑等终端设备等。
在本实施例中,不同物理机之间可以通过移动网络通信连接,相应地,移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、5G、WiMax等中的任意一种。可选地,不同物理机之间也可以通过蓝牙、WiFi、红外线、虚拟私有云(Virtual Private Cloud,VPC)、远程过程调用(Remote Procedure Call,RPC)或远程直接数据存取(Remote Direct Memory Access,RDMA)等方式通信连接。
在本实施例中,存储节点10a可以与本地节点10b位于同一集群,也可为云上的存储节点。对于多个存储节点10a来说,可以一部分存储节点位于本地节点10b所属的集群,另外一部分存储节点位于云上。
在本实施例中,存储节点10a存储有非压缩格式的镜像数据。镜像数据包含运行相应软件所需的所有内容,包括代码、应用程序、库、环境变量和配置文件。对于存储节点10a,还可对其存储的非压缩格式的镜像数据进行去重处理,节约存储空间。
在本实施例中,本地节点10b在需要创建实例的情况下,可执行实例创建操作,利用镜像数据进行实例创建。在本实施例中,不限定实例的具体实现形式。例如,实例可以为虚拟机实例、容器组实例、容器实例、容器进程实例、原始应用实例等等。其中,容器是镜像的一种运行实例;而镜像数据在容器中运行时的实例也可称为容器进程。在一些实施例中,容器组的一种实现形式可称为pod。无论哪种实现形式的实例,在本申请实施例中,将当前创建的实例均定义为目标实例。
其中,实例的实现形态不同,本地节点10a确定需要创建实例的实施方式有所差异。在一种实施例中,实例为容器实例,本地节点10a可接收容器实例创建请求,并在接收到该创建请求的情况下,确定需要创建容器实例。在另一种实施例中,实例为容器组实例,本地节点10a可监测本地现有容器组是否能够处理接收到的请求,并在确定本地现有容器组不能够处理接收到请求的情况下,确定需要创建容器组实例。在又一些实施例中,实例为容器进程,则本地节点10a可监测本地容器是否被启动,并在监测到本地容器被启动运行的情况下,确定需要针对当前启动的容器创建容器进程实例;等等。
进一步,本地节点10b在确定需要创建实例的情况下,执行实例创建操作。具体实例创建实施方式为:本地节点10b从存储节点10a存储的非压缩格式的镜像数据中,获取当前创建的目标实例所需的目标镜像数据,并根据目标镜像数据,创建对应的目标实例。其中,本地节点10b可在实例的创建过程中,不断从存储节点10a存储的非压缩格式的镜像数据中,获取当前创建的目标实例所需的目标镜像数据。
可选地,本地节点10b可在目标实例的应用程序启动过程中,确定应用程序需要访问的镜像数据,作为创建目标实例所需的目标镜像数据。之后,将目标镜像数据应用于目标实例的应用程序中,运行相关应用程序,进而创建出目标实例。
进一步,本地节点10b在目标实例创建完成后,还可删除本地存储的目标镜像数据,这样有助于节约本地节点10b的存储资源。
本实施例提供的数据处理***包括:存储节点和本地节点。其中,存储节点中存储有非压缩格式的镜像数据。相应地,本地节点在创建实例时,便可从非压缩格式的镜像数据中按需加载所需的目标镜像数据,并根据目标镜像数据创建目标实例,不仅可实现镜像数据的按需加载,而且无需对获取的镜像数据进行解压缩等处理,有助于提高实例创建效率。
另一方面,本地节点可在创建实例过程中,从存储节点中按需加载实例创建实例所需的目标镜像数据,无需将目标镜像数据提前加载到本地,有助于降低本地存储资源的占用。另外,存储节点中的非压缩格式的镜像数据可在多个本地节点之间进行共享,可进一步降低本地节点的存储资源的占用。
在本申请实施例中,存储节点10a存储有非压缩格式的镜像数据,这样,本地节点10b便可在目标实例创建过程中,按照目标实例的创建进度,依次从存储节点10a存储的非压缩格式的镜像数据中获取各创建进度所需的镜像数据子集,进而得到目标实例所需的目标镜像数据。其中,本地节点10b可按照目标实例的创建进度,从存储节点10a存储的非压缩格式的镜像数据中获取当前创建进度所需的镜像数据子集,可实现镜像数据的按需加载,无需在目标实例创建前,将目标实例所需的目标镜像数据全部加载到本地,可降低对本地节点10b的存储空间的占用,有助于节约本地节点10b的内存。
进一步,在本申请实施例中,为了方便对镜像数据的管理,存储节点10a还存储有镜像数据的元数据。其中,元数据可指示各镜像数据的存储位置,有助于获取实例创建和运行时所需的镜像数据。元数据可以非压缩格式存储在存储节点10a中。这样,本地节点10b便可通过目标实例所需的目标镜像数据的元数据,确定目标镜像数据在存储节点10a中的存储位置,并从相应的存储位置中获取目标镜像数据。
可选地,本地节点10b可预先加载目标实例对应的镜像数据集的元数据。目标实例对应的镜像数据集包含目标实例所需的目标镜像数据。可选地,本地节点10b可在首次创建目标实例之前,加载目标实例对应的镜像数据集的元数据;也可在每次创建目标实例之前,加载目标实例对应的镜像数据集的元数据。其中,目标实例的实现形态不同,加载目标实例对应的镜像数据集的元数据的时间有所不同。
可选地,若目标实例为容器,则可在确定需要创建容器的情况下,在本地查询容器对应的镜像数据集的元数据;若未查询到,则从存储节点10a中获取该容器对应的镜像数据集的元数据。相应地,若查询到,则说明本地节点10b在创建该容器之前已使用过该容器对应的镜像数据集,这样,本次创建容器则无需再去存储节点10a中获取已存在的镜像数据集的元数据,可降低对存储节点10a的访问次数,进而有助于降低对存储节点10a的访问压力。
可选地,本地节点10b可接收容器创建请求,并在接收到容器创建请求的情况下,确定需要创建容器。其中,容器创建请求中携带有容器所需的镜像数据集的标识。在本实施例中,镜像数据集为容器的镜像数据的集合,也可称为容器镜像。进一步,本地节点10b便可根据镜像数据集的标识,在本地查询容器对应的镜像数据集的元数据。可选地,本地节点10b维护有镜像数据集标识与元数据之间的对应关系。这样,本地节点10b便可将容器所需的镜像数据集的标识在本地查询容器对应的镜像数据集的元数据之间的对应关系中进行匹配,进而得到容器对应的镜像数据集的元数据。
可选地,若目标实例为容器进程,则本地节点10b在创建容器进程之前,本地已加载有容器进程所在容器对应的镜像数据集的元数据。这是因为创建容器进程之前,本地节点10b还需创建容器进程所在的容器,即在容器进程所在的容器的创建阶段,本地节点10b便可将容器对应的镜像数据集的元数据加载到本地。其中,容器对应的镜像数据集包含容器所需的镜像数据以及容器进程创建所需的目标镜像数据。
可选地,本地节点10b在确定需要创建容器进程所在的容器的情况下,可在本地查询容器对应的镜像数据集的元数据;若未查询到,则从存储节点10a中获取该容器对应的镜像数据集的元数据。相应地,若查询到,则说明本地节点10b在创建该容器之前已使用过该容器对应的镜像数据集。
进一步,本地节点10b还可根据容器的创建进度,从存储节点10a存储的非压缩格式的镜像数据中获取容器所需的镜像数据;并根据容器所需的镜像数据,创建容器。相应地,本地节点10b在容器的创建过程中,也可根据容器的创建进度,从存储节点10a存储的非压缩格式的镜像数据中获取当前创建进度所需的镜像数据;并根据当前创建进度所需的镜像数据,创建当前创建进度对应的部分容器实例。可选地,本地节点10b可将容器在当前创建进度所需的镜像数据应用于当前创建进度执行的程序中,运行相关程序,进而创建出当前创建进度对应的部分容器实例,直至容器创建完成。基于上述分析,无论目标实例是哪种实现形态,在获取当前创建进度所需的镜像数据时,均可按照目标实例的当前创建进度,确定目标实例在当前创建进度所需的镜像数据子集对应的元数据;并根据当前创建进度所需的镜像数据子集对应的元数据,从非压缩格式的镜像数据中获取当前创建进度所需的镜像数据子集。可选地,本地节点10b可按照目标实例的当前创建进度,确定当前创建进度下运行的应用程序所需的镜像数据;进一步,可根据当前创建进度下运行的应用程序所需的镜像数据的元数据;进而本地节点可从获取当前创建进度所需的镜像数据子集对应的元数据指向的镜像数据,作为当前创建进度所需的镜像数据子集。
在本申请实施例中,不限定本地节点10b对存储节点10a的访问方式。若本地节点10b与存储节点10a部署在同一物理机上,存储节点10a可相当于本地节点10b的本地存储介质,即可实现存储节点10a作为本地节点的存储介质挂载在本地节点10b上。这样,本地节点10b便可直接从存储节点10a中读取当前创建进度所需的镜像数据子集。
若本地节点10b与存储节点10a部署在不同的物理机上,则本地节点10b向存储节点10a发送数据请求;该数据请求包含当前创建进度所需的镜像数据子集的元数据。相应地,存储节点10a可接收该数据请求,并根据数据请求包含当前创建进度所需的镜像数据子集的元数据,从非压缩格式的镜像数据中读取当前创建进度所需的镜像数据子集的元数据指向的镜像数据,作为当前创建进度所需的镜像数据子集,并返回给本地节点10b。
相应地,本地节点10b接收存储节点返回的所述当前创建进度所需的镜像数据子集;并根据当前创建进度所需的镜像数据子集,创建当前创建进度对应的部分实例。
在本申请实施例中,不限定数据请求所遵循的网络协议。在一些实施例中,本地节点10b和存储节点10a之间采用高速专线网络连接。例如,VPC或RDMA网络等。相应地,数据请求可遵循VPC协议或RDMA协议。若数据请求遵循RDMA协议,则本地节点10b便可以RDMA方式从存储节点10a中读取数据,即本地节点10b可直接从存储节点10a的内存中读取当前创建进度所需的镜像数据子集的元数据指向的镜像数据。
在另一些实施例中,数据请求遵循网络文件存储***(Network File System,NFS)协议。这样,本地节点10b便可通过RPC方式来访问存储节点10a,即通过使用NFS协议,本地节点10b可以像访问本地数据一样访问存储节点10a中的数据。这样,本地节点10b便可从存储节点10a中读取当前创建进度所需的镜像数据子集的元数据指向的镜像数据,作为当前创建进度所需的镜像数据子集。
可选地,存储节点10a还可具有与平台无关的应用程序编程接口(ApplicationProgramming Interface,API),则本地节点10b可采用对应的API接口、软件开发工具包(Software Development Kit,SDK)接口或者迁移工具读取存储节点10a中的数据。基于此,本地节点10b便可采用对应的API接口、SDK接口或迁移工具从存储节点10a中读取当前创建进度所需的镜像数据子集的元数据指向的镜像数据,作为当前创建进度所需的镜像数据子集。
在又一些实施例中,本地节点10b和存储节点10a之间采用遵循传输控制协议(Transmission Control Protocol,TCP)或用户数据报协议(User Data Protocol,UDP)的网络连接方式。相应地,数据请求可遵循TCP或UDP。优选地,还可基于TCP或UDP,模拟RDMA网络。相应地,数据请求遵循类RDMA协议。关于本地节点10b从存储节点10a中读取数据的方式,可参见上述数据请求遵循RDMA协议的相关内容,在此不再赘述。
进一步,无论本地节点10b如何获取当前创建进度所需的镜像数据,均可根据当前创建进度的镜像数据子集,创建当前创建进度对应的部分实例。确切地说,本地节点10b可将当前创建进度的镜像数据子集应用于当前创建进度下运行的应用程序中,运行相关的应用程序,也就创建出当前创建进度对应的部分实例。
这样,本地节点10b可根据各创建进度所需的镜像数据子集,分别创建相应创建进度对应的部分实例,直至目标实例创建完成,进而得到目标实例。
值得说明的是,在本申请实施例中,存储节点10a可为一些中间存储节点,也可为源存储节点,或者存储节点10a包括中间存储节点和源存储节点。其中,中间存储节点是指位于本地节点和源存储节点之间的存储节点,中间存储节点中存储有源存储节点中的部分或全部数据。这样,本地节点10b在访问数据时,可优先从中间存储节点中读取数据,有助于降低本地节点10b对源存储节点的访问频次,进而有助于降低源存储节点的访问压力。下面以存储节点10a包括:源存储节点10a1和中间存储节点10a2对获取目标实例所需的目标镜像数据的过程进行示例性说明。
如图1b所示,存储节点10a包括:源存储节点10a1和中间存储节点10a2。其中,关于源存储节点10a1和中间存储节点10a2的实现形态,可参见上述存储节点10a的实现形态的相关内容,在此不再赘述。在本实施例中,若中间存储节点10a2与本地节点10b部署于不同的物理机上,则中间存储节点10a2与本地节点10b可位于同一集群中,这样有助于提高本地节点10b获取目标镜像数据的速率,有助于进一步提高目标实例的创建效率。
在本实施例中,源存储节点10a1可为云存储节点。进一步,源存储节点10a1可作为镜像仓库,存储镜像数据集。可选地,源存储节点10a1可采用分布式存储***存储镜像数据集,也可采用集中存储方式存储镜像数据集。在本实施例中,源存储节点10a1中存储的镜像数据集可以压缩格式进行存储,也可以非压缩格式存储。其中,源存储节点10a1以压缩格式存储镜像数据集,对于相同的数据量来说,可降低源存储节点10a1的存储资源的消耗。
在本实施例中,中间存储节点10a2存储有上述非压缩格式的镜像数据,且中间存储节点10a2中存储的非压缩格式的镜像数据为源存储节点10a1存储的部分或全部数据。对于中间存储节点10a2,还可对其存储的非压缩格式的镜像数据进行去重处理,节约存储空间。
基于图1b所示的数据处理***,本地节点10b在创建目标实例的过程中,可优先访问中间存储节点10a2,降低对源存储节点10a1的访问频次,有助于降低源存储节点10a1的访问压力。
基于上述图1b所示的数据处理***,对于中间存储节点10a2来说,可从源存储节点10a1中获取目标镜像数据集,并以非压缩格式存储目标镜像数据集。可选地,若目标实例对应的镜像数据集在源存储节点10a1中以压缩格式存储,则中间存储节点10a2可对压缩格式的镜像数据集进行解压缩处理,得到非压缩格式的镜像数据集。其中,中间存储节点10a2从源存储节点10a1中获取的目标镜像数据集,可能为上述或下述实施例中,创建目标实例所需的目标镜像数据集;也可能为其它镜像数据集。
可选地,中间存储节点10a2可在已存储的非压缩格式的镜像数据集中查询所述本地节点当前创建的目标实例所需的镜像数据集;若未查询到,则从源存储节点10a1中获取目标实例的镜像数据集,作为目标镜像数据集。相应地,若查询到,则无需再去重复拉取目标实例所需的镜像数据集,中间存储节点10a1也就不存在重复的镜像数据,进而有助于节约中间存储节点10a1的存储空间。
可选地,若目标实例为容器,则中间存储节点10a2可在存储的非压缩格式的镜像数据中查询容器所需的镜像数据;若未查询到,则从源存储节点获取容器对应的镜像数据集;并以非压缩格式存储镜像数据集。可选地,若容器对应的镜像数据集在源存储节点10a1中以压缩格式存储,则中间存储节点10a2可对压缩格式的镜像数据集进行解压缩处理,得到非压缩格式的镜像数据集。
进一步,中间存储节点10a2从非压缩格式的镜像数据集中读取容器所需的镜像数据,并将容器所需的镜像数据返回给本地节点10b。其中,关于本地节点10b从中间存储节点10a2存储的非压缩格式的镜像数据中获取目标实例所需的目标镜像数据的具体实施方式,可参见上述本地节点10b从存储节点10a中获取目标实例所需的目标镜像数据的相关内容,在此不再赘述。
值得说明的是,在一些实施例中,还可将已获取目标实例所需的目标镜像数据的本地节点10b,作为其它本地节点的中间存储节点。在其它本地节点需要创建目标实例时,从该本地节点10b中获取目标实例所需的目标镜像数据,实现端到端(Point to point,P2P)方式的按需加载。
为了更清楚地说明上述实例创建过程,下面以当前创建的目标实例为容器为例,结合图1c所示的容器创建流程示意图进行示例性说明。如图1c所示,用户可通过前端节点发起容器创建请求,该容器创建请求包含容器对应的镜像数据集的标识。相应地,如图1c所示,在步骤1中前端节点将容器创建请求发送给本地节点。本地节点中的守护进程(Containerd)接收容器创建请求,并构建容器实例环境(步骤2)。之后,守护进程根据容器对应的镜像数据集的标识在本地进行查询;若查询到容器对应的镜像数据集的元数据,则启动容器实例(步骤3)。相应地,若在本地未查询到容器对应的镜像数据集的元数据,则从中间存储节点获取容器对应的镜像数据集的元数据;之后,启动容器实例(步骤3)。在创建容器实例过程中,守护进程可按需从中间存储节点中获取容器实例所需的镜像数据。可选地,守护进程可按照容器实例的当前创建进度,确定容器实例在当前创建进度所需的镜像数据子集对应的元数据;并根据当前创建进度所需的镜像数据子集对应的元数据,从非压缩格式的镜像数据中获取当前创建进度所需的镜像数据子集。之后,根据各创建进度所需的镜像数据子集,分别创建相应创建进度对应的部分实例,直至目标实例创建完成。可选地,如图1c所示,本地节点还可存储获取的镜像数据,并将本地节点作为其它本地节点的中间存储节点。
除了上述数据处理***实施例之外,本申请实施例还提供实例创建方法,下面从上述本地节点的角度对实例创建方法进行示例性说明。
图2a为本申请实施例提供的实例创建方法的流程示意图。如图2a所示,该方法包括:
201、从存储节点存储的非压缩格式的镜像数据中获取当前创建的目标实例所需的目标镜像数据。
202、根据目标实例所需的目标镜像数据,创建目标实例。
在本实施例中,存储节点存储有非压缩格式的镜像数据。镜像数据包含运行相应软件所需的所有内容,包括代码、应用程序、库、环境变量和配置文件。对于存储节点,还可对其存储的非压缩格式的镜像数据进行去重处理,节约存储空间。其中,关于存储节点的实现形态,可参见上述***实施例的相关内容,在此不再赘述。
在本实施例中,在确定需要创建实例的情况下,可执行实例创建操作,利用镜像数据创建实例。在本实施例中,不限定实例的具体实现形式。例如,实例可以为虚拟机实例、容器组实例、容器实例、容器进程实例、原始应用实例等等。其中,容器是镜像的一种运行实例;而镜像数据在容器中运行时的实例也可称为容器进程。在一些实施例中,容器组的一种实现形式可称为pod。无论哪种实现形式的实例,在本申请实施例中,将当前创建的实例均定义为目标实例。
其中,实例的实现形态不同,确定需要创建实例的实施方式有所差异。在一种实施例中,实例为容器实例,则可接收容器实例创建请求,并在接收到该创建请求的情况下,确定需要创建容器实例。在另一种实施例中,实例为容器组实例,则可监测本地现有容器组是否能够处理接收到的请求,并在确定本地现有容器组不能够处理接收到请求的情况下,确定需要创建容器组实例。在又一些实施例中,实例为容器进程,则可监测本地容器是否被启动,并在监测到本地容器被启动运行的情况下,确定需要针对当前启动的容器创建容器进程实例;等等。
进一步,本地节点在确定需要创建实例的情况下,执行实例创建操作。具体实施访问为:从存储节点存储的非压缩格式的镜像数据中,获取当前创建的目标实例所需的目标镜像数据,并根据目标镜像数据,创建对应的目标实例。其中,可在实例的创建过程中,从存储节点存储的非压缩格式的镜像数据中,按需获取当前创建的目标实例所需的目标镜像数据。
可选地,本地节点可在目标实例的应用程序启动过程中,确定应用程序需要访问的镜像数据,作为创建目标实例所需的目标镜像数据。之后,将目标镜像数据应用于目标实例的应用程序中,运行相关应用程序,进而创建出目标实例。
进一步,在目标实例创建完成后,还可删除本地存储的目标镜像数据,这样有助于节约本地节点的存储资源。
在本实施例中,存储节点中存储有非压缩格式的镜像数据。相应地,在创建实例时,便可从非压缩格式的镜像数据中按需加载所需的目标镜像数据,并根据目标镜像数据创建目标实例,不仅可实现镜像数据的按需加载,而且无需对获取的镜像数据进行解压缩等处理,有助于提高实例创建效率。
另一方面,本地节点可在创建实例过程中,从存储节点中按需加载实例创建实例所需的目标镜像数据,无需将目标镜像数据提前加载到本地,有助于降低本地存储资源的占用。另外,存储节点中的非压缩格式的镜像数据可在多个本地节点之间进行共享,可进一步降低本地节点的存储资源的占用。
在一些实施例中,步骤201的一种实施方式为:在目标实例创建过程中,按照目标实例的创建进度,依次从存储节点存储的非压缩格式的镜像数据中获取各创建进度所需的镜像数据子集,进而得到目标实例所需的目标镜像数据。其中,按照目标实例的创建进度,从存储节点存储的非压缩格式的镜像数据中获取当前创建进度所需的镜像数据子集,可实现镜像数据的按需加载,无需在目标实例创建前,将目标实例所需的目标镜像数据全部加载到本地,可降低对本地节点的存储空间的占用,有助于节约本地节点的内存。
相应地,步骤202的一种实施方式为:根据各创建进度所需的镜像数据子集,分别创建相应创建进度对应的部分实例,直至目标实例创建完成。
其中,上述从存储节点存储的非压缩格式的镜像数据中获取各创建进度所需的镜像数据子集的一种实施方式为:按照目标实例的当前创建进度,确定目标实例在当前创建进度所需的镜像数据子集对应的元数据;并根据当前创建进度所需的镜像数据子集对应的元数据,从非压缩格式的镜像数据中获取当前创建进度所需的镜像数据子集。
在本申请实施例中,不限定本地节点对存储节点的访问方式。下面针对几种可选访问方式进行示例性说明。
实施方式1:本地节点与存储节点部署在同一物理机上,存储节点可相当于本地节点的本地存储介质,即可实现存储节点作为本地节点的存储介质挂载在本地节点上。这样,本地节点便可直接从存储节点中读取当前创建进度所需的镜像数据子集。
实施方式2:本地节点与存储节点部署在不同的物理机上,则本地节点向存储节点发送数据请求;该数据请求包含当前创建进度所需的镜像数据子集的元数据。相应地,存储节点可接收该数据请求,并根据数据请求包含当前创建进度所需的镜像数据子集的元数据,从非压缩格式的镜像数据中读取当前创建进度所需的镜像数据子集的元数据指向的镜像数据,作为当前创建进度所需的镜像数据子集,并返回给本地节点。相应地,本地节点接收存储节点返回的当前创建进度所需的镜像数据子集;并根据当前创建进度所需的镜像数据子集,创建当前创建进度对应的部分实例。
在本申请实施例中,不限定数据请求所遵循的网络协议。关于数据请求所遵循的网络协议的描述可参见上述***实施例的相关内容,在此不再赘述。
在一些实施例中,目标实例为容器进程。相应地,在步骤201之前,还包括:根据容器进程所在的容器的创建进度,从非压缩格式的镜像数据中获取容器所需的镜像数据;并根据容器所需的镜像数据,创建容器。
进一步,从非压缩格式的镜像数据中获取容器所需的镜像数据的一种可选实施方式为:在本地查询容器对应的镜像数据集的元数据;若查询到,则根据容器的创建进度,确定容器在当前创建进度所需的镜像数据子集的元数据;根据容器在当前创建进度所需的镜像数据子集的元数据,从非压缩格式的镜像数据中获取容器在当前创建进度所需的镜像数据子集;其中,镜像数据集包含容器所需的镜像数据和目标镜像数据。相应地,若未查询到,则从存储节点获取镜像数据集的元数据。
可选地,在从非压缩格式的镜像数据中获取容器所需的镜像数据之前,还包括:接收容器创建请求,容器创建请求中携带有容器所需的镜像数据集的标识;根据镜像数据集的标识,在本地查询容器对应的镜像数据集的元数据。
值得说明的是,在本申请实施例中,存储节点可为一些中间存储节点,也可为源存储节点,或者存储节点包括中间存储节点和源存储节点。其中,中间存储节点是指位于本地节点和源存储节点之间的存储节点,中间存储节点中存储有源存储节点中的部分或全部数据。这样,本地节点在访问数据时,可优先从中间存储节点中读取数据,有助于降低本地节点对源存储节点的访问频次,进而有助于降低源存储节点的访问压力。对于中间存储节点,还可对其存储的非压缩格式的镜像数据进行去重处理,节约存储空间。
其中,关于本地节点从中间存储节点获取目标实例所需的目标镜像数据的具体实施方式,可参见上述***实施例的相关内容,在此不再赘述。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201和202的执行主体可以为设备A;又比如,步骤201的执行主体可以为设备A,步骤202的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述实例创建方法中的步骤。
图2b为本申请实施例提供的一种数据处理方法的流程示意图。该方法适用于中间存储节点。如图2b所示,该方法包括:
S201、从源存储节点存储的镜像数据集中获取目标镜像数据集。
S202、以非压缩格式存储目标镜像数据集,以供本地节点按需加载创建实例所需的镜像数据。
在本实施例中,中间存储节点可从源存储节点获取目标镜像数据集,并以非压缩格式存储目标镜像数据集。这样,本地节点在创建实例过程中,可从中间存储节点存储的非压缩格式的目标镜像数据集中,按需加载所需的镜像数据。
另一方面,多个本地节点可共享中间存储节点,有助于节约本地节点的存储空间。
在本申请实施例中,不限定中间存储节点从源存储节点中获取目标镜像数据集的实施方式。在一些实施例中,中间存储节点可在已存储的非压缩格式的镜像数据集中查询本地节点当前创建的目标实例所需的镜像数据;若未查询到,则从源存储节点获取目标实例对应的镜像数据集,作为目标镜像数据集。在另一些实施例中,中间存储节点可按照设定的加载周期,周期性地从源存储节点中获取当前加载周期新增的镜像数据集,作为目标镜像数据集;等等,但不限于于此。
图3为本申请实施例提供的一种节点设备的结构示意图。在本实施例中,不限定节点设备的实现形态。例如,节点设备可以为终端设备、服务器、云化的服务器或云化的服务器阵列等等。
在本实施例中,节点设备包括:存储器30a和处理器30b;其中,存储器30a,用于存储计算机程序。处理器30b耦合至存储器30a,用于执行计算机程序以用于:从非压缩格式的镜像数据中获取当前创建的目标实例所需的目标镜像数据;以及根据目标实例所需的目标镜像数据,创建目标实例。
可选地,处理器30b可在需要创建实例的情况下,执行实例创建操作,并在实例创建过程中,从非压缩格式的镜像数据中获取当前创建的目标实例所需的目标镜像数据。
可选地,处理器30b在从非压缩格式的镜像数据中获取当前创建的目标实例所需的目标镜像数据时,具体用于:在目标实例的创建过程中,利用RDMA方式访问存储节点,并从非压缩格式的镜像数据中获取目标镜像数据。
在一些实施例中,处理器30b在从非压缩格式的镜像数据中获取当前创建的目标实例所需的目标镜像数据时,具体用于:按照目标实例的创建进度,依次从非压缩格式的镜像数据中获取各创建进度所需的镜像数据子集,以得到目标镜像数据。
进一步,处理器30b在从非压缩格式的镜像数据中获取各创建进度所需的镜像数据子集时,具体用于:按照目标实例的当前创建进度,确定目标实例在当前创建进度所需的镜像数据子集对应的元数据;根据当前创建进度所需的镜像数据子集对应的元数据,从非压缩格式的镜像数据中获取当前创建进度所需的镜像数据子集。
进一步,处理器30b在从非压缩格式的镜像数据中获取当前创建进度所需的镜像数据子集时,具体用于:向存储节点发送数据请求;数据请求包含当前创建进度所需的镜像数据子集的元数据;以及接收存储节点根据当前创建进度所需的镜像数据子集的元数据返回的当前创建进度所需的镜像数据子集。
在一些实施例中,处理器30b在创建目标实例时,具体用于:根据各创建进度所需的镜像数据子集,分别创建相应创建进度对应的部分实例,直至目标实例创建完成。
可选地,处理器30b还用于:在目标实例创建完成后,删除本地存储的目标镜像数据。
在另一些实施例中,目标实例为容器进程。处理器30b还用于:根据容器进程所在的容器的创建进度,从非压缩格式的镜像数据中获取容器所需的镜像数据;根据容器所需的镜像数据,创建容器。
可选地,处理器30b在从非压缩格式的镜像数据中获取容器所需的镜像数据时,具体用于:在本地查询容器对应的镜像数据集的元数据;若查询到,则根据容器的创建进度,确定容器在当前创建进度所需的镜像数据子集的元数据;根据容器在当前创建进度所需的镜像数据子集的元数据,从非压缩格式的镜像数据中获取容器在当前创建进度所需的镜像数据子集;其中,镜像数据集包含容器所需的镜像数据和目标镜像数据。相应地,若未查询到,则从存储节点获取镜像数据集的元数据。
可选地,节点设备还包括:通信组件30c。相应地,处理器30b还用于:接收容器创建请求,容器创建请求中携带有容器所需的镜像数据集的标识;根据镜像数据集的标识,在本地查询容器对应的镜像数据集的元数据。
可选地,存储节点包括:源存储节点和中间存储节点;其中,中间存储节点存储有非压缩格式的镜像数据;非压缩格式的镜像数据为源存储节点存储的部分或全部数据。可选地,本实施例提供的节点设备与本地节点位于同一集群;且源存储节点为云存储节点。
在一些可选实施方式中,如图3所示,该节点设备还可以包括:电源组件30d等组件。图3中仅示意性给出部分组件,并不意味着节点设备必须包含图3所示全部组件,也不意味着节点设备只能包括3所示组件。
在本实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在其所在设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可选地,处理器可以为中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)或微控制单元(Microcontroller Unit,MCU);也可以为现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程阵列逻辑器件(ProgrammableArray Logic,PAL)、通用阵列逻辑器件(General Array Logic,GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件;或者为先进精简指令集(RISC)处理器(Advanced RISC Machines,ARM)或***芯片(System on Chip SOC)等等,但不限于此。
在本实施例中,通信组件被配置为便于其所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G,5G或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在本实施例中,电源组件被配置为其所在设备的各种组件提供电力。电源组件可以包括电源管理***,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本实施例提供的节点设备,可在创建实例时,从非压缩格式的镜像数据中按需获取所需的目标镜像数据,并根据目标镜像数据创建目标实例。这样,不仅可实现镜像数据的按需加载,而且无需对获取的镜像数据进行解压缩等处理,有助于提高实例创建效率。
另一方面,节点设备可在创建实例过程中,从存储节点中按需加载实例创建实例所需的目标镜像数据,无需将目标镜像数据提前加载到本地,有助于降低本地存储资源的占用。另外,存储节点中的非压缩格式的镜像数据可在多个节点设备之间进行共享,可进一步降低节点设备的存储资源的占用。
图4为本申请实施例提供的另一节点设备的结构示意图。在本实施例中,不限定节点设备的实现形态。例如,节点设备可以为终端设备、服务器、云化的服务器或云化的服务器阵列等等。其中,节点设备可作为存储节点,可以非压缩格式存储获取的数据。可选地,节点设备可作为上述实施例中的中间存储节点。
在本实施例中,节点设备包括:存储器40a、处理器40b和通信组件40c。其中,关于存储器40a、处理器40b和通信组件40c的实现形态可参见上述实施例的相关内容,在此不再赘述。
在本实施例中,存储器40a,用于存储计算机程序。处理器40b耦合至存储器40a,用于执行计算机程序以用于:通过通信组件40c从源存储节点存储的镜像数据集中获取目标镜像数据集;并以非压缩格式将目标镜像数据集存储于存储器中,以供本地节点按需加载创建实例所需的镜像数据。
在一些实施例中,存储器40a已存储有非压缩格式的镜像数据集。处理器40b在从源存储节点存储的镜像数据中获取目标镜像数据时,具体用于:在已存储的非压缩格式的镜像数据集中查询本地节点当前创建的目标实例所需的镜像数据;若未查询到,则从源存储节点获取目标实例对应的镜像数据集,作为目标镜像数据集。
在一些可选实施方式中,如图4所示,该节点设备还可以包括:电源组件40d等组件。图4中仅示意性给出部分组件,并不意味着节点设备必须包含图4所示全部组件,也不意味着节点设备只能包括4所示组件。
本实施例提供的节点设备可从源存储节点获取目标镜像数据集,并以非压缩格式存储目标镜像数据集。这样,本地节点在创建实例过程中,可从中间存储节点存储的非压缩格式的目标镜像数据集中,按需加载所需的镜像数据。
另一方面,多个本地节点可共享中间存储节点,有助于节约本地节点的存储空间。
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (20)

1.一种数据处理***,其特征在于,包括:存储节点和本地节点;其中,所述存储节点包括源存储节点和中间存储节点;所述源存储节点以压缩格式存储镜像数据集;所述中间存储节点从所述源存储节点获取镜像数据集,并对所述压缩格式的镜像数据集进行解压缩处理,以得到非压缩格式的镜像数据集;并存储所述非压缩格式的镜像数据集;
所述本地节点,用于:利用RDMA方式访问所述中间存储节点,并从所述非压缩格式的镜像数据集中获取当前创建的目标实例所需的目标镜像数据;以及根据所述目标镜像数据,创建所述目标实例;
所述本地节点在从所述非压缩格式的镜像数据集中获取当前创建的目标实例所需的目标镜像数据时,具体用于:
按照所述目标实例的创建进度,依次从所述非压缩格式的镜像数据集中获取各创建进度所需的镜像数据子集,以得到所述目标镜像数据。
2.根据权利要求1所述的***,其特征在于,所述本地节点在从所述非压缩格式的镜像数据集中获取各创建进度所需的镜像数据子集时,具体用于:
按照所述目标实例的当前创建进度,确定所述目标实例在当前创建进度所需的镜像数据子集对应的元数据;
根据所述当前创建进度所需的镜像数据子集对应的元数据,从所述非压缩格式的镜像数据集中获取所述当前创建进度所需的镜像数据子集。
3.根据权利要求1所述的***,其特征在于,所述本地节点在创建所述目标实例时,具体用于:
根据各创建进度所需的镜像数据子集,分别创建相应创建进度对应的部分实例,直至所述目标实例创建完成。
4.根据权利要求2所述的***,其特征在于,所述本地节点在从所述非压缩格式的镜像数据集中获取当前创建进度所需的镜像数据子集时,具体用于:
向所述中间存储节点发送数据请求;所述数据请求包含所述当前创建进度所需的镜像数据子集的元数据;以及接收所述中间存储节点根据所述当前创建进度所需的镜像数据子集的元数据返回的所述当前创建进度所需的镜像数据子集。
5.根据权利要求4所述的***,其特征在于,所述中间存储节点,具体用于:
根据所述当前创建进度所需的镜像数据子集的元数据,从所述非压缩格式的镜像数据集中读取所述当前创建进度所需的镜像数据子集的元数据指向的镜像数据,作为所述当前创建进度所需的镜像数据子集,并返回给所述本地节点。
6.根据权利要求1-5任一项所述的***,其特征在于,所述目标实例为容器进程;所述本地节点在从所述非压缩格式的镜像数据集中获取当前创建的目标实例所需的目标镜像数据之前,还包括:
根据所述容器进程所在的容器的创建进度,从所述非压缩格式的镜像数据集中获取所述容器所需的镜像数据;
根据所述容器所需的镜像数据,创建所述容器。
7.根据权利要求6所述的***,其特征在于,所述本地节点在从所述非压缩格式的镜像数据集中获取所述容器所需的镜像数据时,具体用于:
在本地查询所述容器对应的镜像数据集的元数据;
若查询到,则根据所述容器的创建进度,确定所述容器在当前创建进度所需的镜像数据子集的元数据;
根据所述容器在当前创建进度所需的镜像数据子集的元数据,从所述非压缩格式的镜像数据集中获取所述容器在当前创建进度所需的镜像数据子集;
其中,所述容器对应的镜像数据集包含所述容器所需的镜像数据和所述目标镜像数据。
8.根据权利要求7所述的***,其特征在于,所述本地节点,还用于:
若未查询到,则从所述中间存储节点获取所述镜像数据集的元数据。
9.根据权利要求7所述的***,其特征在于,所述本地节点,还用于:
接收容器创建请求,所述容器创建请求中携带有所述容器所需的镜像数据集的标识;
根据所述镜像数据集的标识,在本地查询所述容器对应的镜像数据集的元数据。
10.根据权利要求1-5任一项所述的***,其特征在于,所述中间存储节点存储的非压缩格式的镜像数据为所述源存储节点存储的部分或全部数据;
所述中间存储节点,用于:在所述非压缩格式的镜像数据中查询所述目标实例所需的镜像数据;
若未查询到,则从所述源存储节点获取所述目标实例对应的镜像数据集;并以非压缩格式存储所述目标实例对应的镜像数据集。
11.根据权利要求10所述的***,其特征在于,所述中间存储节点与所述本地节点位于同一集群;所述源存储节点为云存储节点。
12.根据权利要求1-5任一项所述的***,其特征在于,所述本地节点,还用于:
在所述目标实例创建完成后,删除本地存储的所述目标镜像数据。
13.一种实例创建方法,其特征在于,包括:
利用RDMA方式从中间存储节点存储的非压缩格式的镜像数据集中,获取当前创建的目标实例所需的目标镜像数据;所述中间存储节点存储的非压缩格式的镜像数据集是对源存储节点存储的压缩格式的镜像数据集解压缩得到的;
根据所述目标实例所需的目标镜像数据,创建所述目标实例;
所述利用RDMA方式从中间存储节点存储的非压缩格式的镜像数据集中,获取当前创建的目标实例所需的目标镜像数据,包括:
按照所述目标实例的创建进度,依次利用RDMA方式从所述非压缩格式的镜像数据集中获取各创建进度所需的镜像数据子集,以得到所述目标镜像数据。
14.根据权利要求13所述的方法,其特征在于,所述利用RDMA方式从所述非压缩格式的镜像数据集中获取各创建进度所需的镜像数据子集,包括:
按照所述目标实例的当前创建进度,确定所述目标实例在当前创建进度所需的镜像数据子集对应的元数据;
根据所述当前创建进度所需的镜像数据子集对应的元数据,利用RDMA方式从所述非压缩格式的镜像数据集中获取所述当前创建进度所需的镜像数据子集。
15.根据权利要求13所述的方法,其特征在于,所述根据所述目标实例所需的目标镜像数据,创建所述目标实例,包括:
根据各创建进度所需的镜像数据子集,分别创建相应创建进度对应的部分实例,直至所述目标实例创建完成。
16.一种数据处理方法,其特征在于,包括:
从源存储节点存储的压缩格式的镜像数据集中获取目标镜像数据集;
对所述目标镜像数据集进行解压缩处理,以得到非压缩格式的目标镜像数据集;
存储所述非压缩格式的目标镜像数据集,以供多个本地节点按照目标实例的创建进度利用RDMA方式从非压缩格式的目标镜像数据集中获取各创建进度所需的镜像数据子集。
17.根据权利要求16所述的方法,其特征在于,所述从源存储节点存储的压缩格式的镜像数据中获取目标镜像数据,包括:
在已存储的非压缩格式的镜像数据集中查询所述本地节点当前创建的目标实例所需的镜像数据;
若未查询到,则从所述源存储节点存储的压缩格式的镜像数据集中获取所述目标实例对应的镜像数据集,作为所述目标镜像数据集。
18.一种节点设备,其特征在于,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:在需要创建实例的情况下,执行实例创建操作,并在实例创建过程中,利用RDMA方式从中间存储节点存储的非压缩格式的镜像数据集中获取当前创建的目标实例所需的目标镜像数据;以及根据所述目标实例所需的目标镜像数据,创建所述目标实例;
所述中间存储节点存储的非压缩格式的镜像数据集是对源存储节点存储的压缩格式的镜像数据集解压缩得到的;
所述处理器在获取当前创建的目标实例所需的目标镜像数据时,具体用于:按照所述目标实例的创建进度,依次利用RDMA方式从所述非压缩格式的镜像数据集中获取各创建进度所需的镜像数据子集,以得到所述目标镜像数据。
19.一种节点设备,其特征在于,包括:存储器、处理器和通信组件,其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:通过所述通信组件从源存储节点存储的压缩格式的镜像数据集中获取目标镜像数据集;对所述目标镜像数据集进行解压缩处理,以得到非压缩格式的目标镜像数据集;并将所述非压缩格式的目标镜像数据集存储于所述存储器中,以供多个本地节点按照目标实例的创建进度利用RDMA方式从非压缩格式的目标镜像数据集中获取各创建进度所需的镜像数据子集。
20.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求13-17任一项所述方法中的步骤。
CN202010191638.3A 2020-03-18 2020-03-18 实例创建和数据处理方法、设备、***及存储介质 Active CN113434244B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010191638.3A CN113434244B (zh) 2020-03-18 2020-03-18 实例创建和数据处理方法、设备、***及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010191638.3A CN113434244B (zh) 2020-03-18 2020-03-18 实例创建和数据处理方法、设备、***及存储介质

Publications (2)

Publication Number Publication Date
CN113434244A CN113434244A (zh) 2021-09-24
CN113434244B true CN113434244B (zh) 2022-08-30

Family

ID=77752434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010191638.3A Active CN113434244B (zh) 2020-03-18 2020-03-18 实例创建和数据处理方法、设备、***及存储介质

Country Status (1)

Country Link
CN (1) CN113434244B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302335A (zh) * 2023-02-22 2023-06-23 阿里云计算有限公司 数据处理方法以及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108089888A (zh) * 2016-11-21 2018-05-29 杨正 一种基于文件***的应用运行方法及***
US10360234B2 (en) * 2016-10-26 2019-07-23 Sap Se Recursive extractor framework for forensics and electronic discovery
CN110058867A (zh) * 2019-04-29 2019-07-26 深圳市网心科技有限公司 应用程序镜像打包、安装方法及计算机装置、存储介质
CN110659246A (zh) * 2019-09-26 2020-01-07 北京百度网讯科技有限公司 基于容器的文件挂载方法、装置及电子设备
CN110688174A (zh) * 2019-09-30 2020-01-14 李福帮 容器启动方法、存储介质和电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10360234B2 (en) * 2016-10-26 2019-07-23 Sap Se Recursive extractor framework for forensics and electronic discovery
CN108089888A (zh) * 2016-11-21 2018-05-29 杨正 一种基于文件***的应用运行方法及***
CN110058867A (zh) * 2019-04-29 2019-07-26 深圳市网心科技有限公司 应用程序镜像打包、安装方法及计算机装置、存储介质
CN110659246A (zh) * 2019-09-26 2020-01-07 北京百度网讯科技有限公司 基于容器的文件挂载方法、装置及电子设备
CN110688174A (zh) * 2019-09-30 2020-01-14 李福帮 容器启动方法、存储介质和电子设备

Also Published As

Publication number Publication date
CN113434244A (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
US10579355B2 (en) Docker container operating method and apparatus
CN113312098B (zh) 程序加载方法、设备、***及存储介质
CN114281791B (zh) 数据访问方法、***、设备及存储介质
CN113282377B (zh) 无服务器架构下的代码加载方法、设备、***及存储介质
CN112565317B (zh) 混合云***及其数据处理方法、设备及存储介质
US11622260B2 (en) Enterprise embedded subscriber identification module solutions
CN113301080B (zh) 资源调用方法、设备、***及存储介质
CN109309734B (zh) 用于传输数据的方法及装置
CN113434244B (zh) 实例创建和数据处理方法、设备、***及存储介质
CN115098426B (zh) Pcie设备管理方法、接口管理模块、pcie***、设备和介质
CN114238237A (zh) 任务处理方法、装置、电子设备和计算机可读存储介质
CN112187616A (zh) 消息发送方法、设备及存储介质
CN105138604A (zh) 一种终端数据处理方法和装置
CN114327712A (zh) 云应用***、窗口管理方法及设备
CN113268507B (zh) 数据库的数据读取***及方法、装置、电子设备
CN111767417A (zh) 应用图片的管理方法、装置、设备及存储介质
CN112068931B (zh) 一种快速制作虚拟机镜像的方法及***
CN111651172B (zh) 一种基于容器化iso的自动化生成方法及***
CN114189457A (zh) 云资源展示、处理方法、设备及存储介质
CN104516740A (zh) 一种函数调用方法、装置及移动终端
CN114675872A (zh) 一种对应用程序的数据处理方法、装置、设备及存储介质
CN111669423B (zh) 基于用户态协议栈的网络隔离空间的批量处理方法及***
CN112491956A (zh) 物联网设备中通讯模组的升级方法、装置和计算机设备
CN112685102A (zh) 一种网关插件热加载方法、装置、设备及介质
CN103942110A (zh) 一种数据共享及同步的方法和***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230531

Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Aliyun Computing Co.,Ltd.

Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK

Patentee before: ALIBABA GROUP HOLDING Ltd.

TR01 Transfer of patent right