掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本公开涉及计算机技术领域,尤其涉及一种基于云平台的信息处理方法、装置、设备及介质。

背景技术

随着计算机技术的发展,云技术的应用愈加广泛,在基于云技术建立的主机节点中存在主机容器,主机容器能够基于容器镜像运行。

相关技术中,在主机容器启动之前,需要将主机容器需求的全部容器镜像下载至主机节点,以支持该主机容器后续基于容器镜像的信息处理。但是,进行该下载所花费的时间较长,用户需要进行长时间的等待,降低了用户体验。

发明内容

为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种基于云平台的信息处理方法、装置、设备及介质。

本公开实施例提供了一种基于云平台的信息处理方法,应用于云平台中的主机节点,所述主机节点中包括镜像驱动模块和多个主机容器,所述主机节点存在对应的共享存储空间和独占存储空间,其中,一个所述共享存储空间存储有至少两个所述主机容器的只读层数据,一个所述独占存储空间存储有一个所述主机容器的内部层数据和读写层数据,所述方法包括:

响应于所述多个主机容器中目标容器的启动操作,确定所述目标容器对应的目标共享存储空间和目标独占存储空间挂载至所述主机节点;

在所述目标容器生成镜像处理信息的情况下,通过所述镜像驱动模块确定所述镜像处理信息对应的目标存储空间,并基于所述目标存储空间中的目标数据处理所述镜像处理信息;其中,所述目标存储空间包括所述目标共享存储空间和/或所述目标独占存储空间。

本公开实施例还提供了一种基于云平台的信息处理装置,设置于云平台中的主机节点,所述主机节点中包括镜像驱动模块和多个主机容器,所述主机节点存在对应的共享存储空间和独占存储空间,其中,一个所述共享存储空间存储有至少两个所述主机容器的只读层数据,一个所述独占存储空间存储有一个所述主机容器的内部层数据和读写层数据,所述装置包括:

挂载单元,用于响应于所述多个主机容器中目标容器的启动操作,确定所述目标容器对应的目标共享存储空间和目标独占存储空间挂载至所述主机节点;

第一发送单元,用于在所述目标容器生成镜像处理信息的情况下,通过所述镜像驱动模块确定所述镜像处理信息对应的目标存储空间,并基于所述目标存储空间中的目标数据处理所述镜像处理信息;其中,所述目标存储空间包括所述目标共享存储空间和/或所述目标独占存储空间。

本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的基于云平台的信息处理方法。

本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的基于云平台的信息处理方法。

本公开实施例提供的技术方案与现有技术相比具有如下优点:本公开实施例中提供的基于云平台的信息处理方案,应用于云平台中的主机节点,主机节点中包括镜像驱动模块和多个主机容器,主机节点存在对应的共享存储空间和独占存储空间,其中,一个共享存储空间存储有至少两个主机容器的只读层数据,一个独占存储空间存储有一个主机容器的内部层数据和读写层数据,该方法包括:响应于多个主机容器中目标容器的启动操作,确定目标容器对应的目标共享存储空间和目标独占存储空间挂载至主机节点;在目标容器生成镜像处理信息的情况下,通过镜像驱动模块确定镜像处理信息对应的目标存储空间,并基于目标存储空间中的目标数据处理镜像处理信息;其中,目标存储空间包括目标共享存储空间和/或目标独占存储空间。采用上述技术方案,多个主机容器可以共用相同的存储空间,该存储空间中存储了只读层数据,避免了容器运行前对相同数据的多次下载,降低了用户的等待时长,优化了用户体验,并且主机容器存在与自身一一对应的存储空间,该存储空间中存储了读写数据,使得该主机容器能够进行数据的读写操作,基于上述两种存储空间,为主机容器对镜像处理信息进行的正常处理提供了基础,并且通过挂载方式建立了存储空间与主机节点之间的连接,该挂载方式相对于相关技术中的下载方式耗时更短,进一步降低了用户的等待时长,进一步优化了用户的体验。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本公开实施例提供的一种基于云平台的信息处理方法的流程示意图;

图2为本公开实施例提供的另一种基于云平台的信息处理方法的流程示意图;

图3为本公开实施例提供的一种基于云平台的信息处理方法的信息传输示意图;

图4为本公开实施例提供的一种容器镜像的示意图;

图5为本公开实施例提供的又一种基于云平台的信息处理方法的流程示意图;

图6为本公开实施例提供的一种容器迁移的示意图;

图7为本公开实施例提供的一种基于云平台的信息处理装置的结构示意图;

图8为本公开实施例提供的一种电子设备的结构示意图。

具体实施方式

为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。

为了解决上述问题,本公开实施例提供了一种基于云平台的信息处理方法,下面结合具体的实施例对该方法进行介绍。

图1为本公开实施例提供的一种基于云平台的信息处理方法的流程示意图,该方法可以由基于云平台的信息处理装置或者云平台中的主机节点执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中,主机节点中包括镜像驱动模块和多个主机容器,主机节点存在对应的共享存储空间和独占存储空间,其中,一个共享存储空间存储有至少两个主机容器的内部层数据和只读层数据,一个独占存储空间存储有一个主机容器的读写层数据。

其中,云平台可以为基于分布部署和统一运管的分布式平台,该云平台可以基于容器化、微服务、DevOps等技术建立。可选的,该云平台可以为以Kubernetes为基础搭建的平台。主机节点可以为云平台中的集群节点,本实施例对该主机节点的类型不做限制,例如,该主机节点的类型可以为物理主机类型,或者虚拟主机类型,本实施例对该主机节点的数量也不做限制。镜像驱动模块又称容器镜像驱动模块,该镜像驱动模块可以为用于确定信息对应的存储空间并对信息进行转发的功能模块,具体地,在一些实施例中,该镜像驱动模块可以为基于libfuse库建立的驱动模块。主机容器可以为设置于主机节点基于Kubernetes技术构建的容器,该主机容器能够在主机节点的用户空间中运行。本实施例对主机节点中该主机容器的数量不做限制。

共享存储空间可以为支持多个主机容器共同使用的存储空间,即该共享存储空间可以与多个主机容器相对应,本实施例对一个共享存储空间支持的主机容器所处的主机节点不做限制,例如一个共享存储空间可以作为不同主机节点的多个主机容器的存储空间,或者一个共享存储空间可以作为相同主机节点的多个主机容器的存储空间。独占存储空间可以为支持单个容器使用的存储空间,即该独占存储空间可以与主机容器一一对应。可选的,该共享存储空间和独占存储空间可以均为基于分布式存储系统提供的存储空间,该分布式存储系统可以为独立于主机节点提供存储功能的系统,即,该分布式存储系统并非为主机节点内部的存储系统。

容器镜像可以为一组可执行程序和环境打包的文件夹,该容器镜像可以包括打包的应用程序、应用程序的依赖程序、应用程序库、主机容器启动时所应用的数据中的一个或多个。容器镜像可以根据数据性质的不同进行分层,每一层对应一个文件系统目录或文件夹,并且层级靠上的层可以对层级靠下的层进行覆盖。该容器镜像可以分为只读层数据、内部层数据、读写层数据三层,内部层数据的层级位于只读层数据的层级之上,读写层数据的层级位于内部层数据的层级之上。其中,只读层数据可以为只读类型的数据,该只读层数据为不可变数据,该只读层数据又称基础层数据,该只读层数据可以包括:应用程序二进制文件数据和/或基础库数据等。内部层数据可以包括主机容器的配置数据,在主机容器启动时,可以对该内部层数据中的主机名和/或网络配置等特定值进行修改。读写层数据又称顶层数据,该读写层数据可以为可读可写类型的数据,读写层数据可以为主机容器运行过程中产生的数据,该读写层数据在容器创建时可以为空,并且在主机容器运行的过程中以增量的方式产生该读写层数据。

可选的,上述数据中,存储有只读层数据和内部层数据的部分存储空间可以以只读的方式挂载至主机节点,存储有读写层数据的部分存储空间可以以读写的方式挂载至主机节点。

在本公开实施例中,云平台中存在一个或多个主机节点,该主机节点的用户空间中运行有镜像驱动模块以及多个主机容器,该主机节点挂载有共享存储空间和独占存储空间,至少两个主机容器可以共用该共享存储空间,独占存储空间与主机容器一一对应。该共享存储空间可以存储有至少两个主机容器的只读层数据,该至少两个主机容器的只读层数据可以是相同也可以是不相同的,若该至少两个主机容器的只读层数据相同,则在共享存储空间中存储一份相同的只读层数据,若该至少两个主机容器的只读层数据不相同,则在共享存储空间中不同的只读层数据各存储一份。

如图1所示,该基于云平台的信息处理方法包括:

步骤101,响应于多个主机容器中目标容器的启动操作,确定目标容器对应的目标共享存储空间和目标独占存储空间挂载至主机节点。

其中,目标容器可以为多个主机容器中的一个主机容器。目标容器的启动操作可以为用于指示目标容器启动的操作,本实施例对该目标容器的启动操作不做限制,例如,该目标容器的启动操作可以为用户对容器启动控件的点击操作、启动容器的语音控制操作等。目标共享存储空间可以为目标容器与其他主机容器共享的存储空间,目标独占存储空间可以为目标容器的独占存储空间。本实施例对该目标共享存储空间和目标独占存储空间的数量不做限制,例如,该目标共享存储空间的数量可以为1,该目标独占存储空间的数量可以为1。

在本公开实施例中,响应于主机节点中的目标容器的启动操作,主机节点可以根据容器存储空间关系确定该目标容器对应的目标共享存储空间以及目标独占存储空间,并使得该目标共享存储空间以及目标独占存储空间目标容器启动之后均挂载至该主机节点。其中,目标共享存储空间可以为主机节点开始启动之后挂载至该主机节点,目标独占存储空间可以为目标容器开始启动之后挂载至该主机节点。

在本公开一些实施例中,主机节点中还包括镜像管理模块,确定目标容器对应的目标共享存储空间和目标独占存储空间挂载至主机节点之前,该方法还包括:通过镜像管理模块根据目标容器的容器标识对预先设置的容器存储空间关系进行匹配,确定匹配成功的目标共享标识和目标独占标识;通过镜像管理模块根据目标独占标识确定目标独占存储空间,并根据目标共享标识确定目标共享存储空间。

其中,镜像管理模块又称镜像卷管理模块,该镜像管理模块可以为用于对主机容器对应的存储空间进行处理的功能模块,由于存储空间中存储有容器镜像,通过对存储空间的处理实现了对主机容器的容器镜像的管理。该镜像管理模块可以对存储空间进行确定和/或挂载等处理。

容器标识可以为主机容器的唯一性标识。共享标识可以为共享存储空间在分布式存储系统中的唯一性标识,该共享标识可以为共享存储空间的地址,目标共享标识可以为匹配成功的共享存储空间对应的共享标识。独占标识可以为独占存储空间在分布式存储系统中的唯一性标识,该独占标识可以为独占存储空间的地址,目标独占标识可以为匹配成功的独占存储空间对应的独占标识。容器存储空间关系可以包括主机容器与共享存储空间之间的关系,以及主机容器与独占存储空间之间的关系。上述主机容器与共享存储空间之间的关系可以通过容器标识与共享标识之间的关系表征,上述主机容器与独占存储空间之间的关系可以通过容器标识与独占标识之间的关系表征。

在本实施例中,通过主机节点的镜像管理模块可以将目标容器的容器标识在容器存储空间关系中进行查询,将与该容器标识匹配成功的共享标识确定为目标共享标识,将与该容器标识匹配成功的独占标识确定为目标独占标识。进一步的,通过镜像管理模块根据目标独占标识确定分布式存储系统中的目标独占存储空间,根据目标共享标识确定分布式存储系统中的目标共享存储空间。

在本公开一些实施例中,通过镜像管理模块根据目标共享标识确定目标共享存储空间,包括:若通过镜像管理模块确定目标共享标识对应的共享存储空间为空,则通过镜像管理模块根据目标共享标识创建目标共享存储空间。

在本实施例中,若通过镜像管理模块在分布式存储系统中确定目标共享标识存在对应的共享存储空间,说明该主机节点已经运行过,则将该共享存储空间作为目标共享存储空间,并将该目标共享存储空间挂载至目标主机。若通过镜像管理模块在分布式存储系统中未能确定目标共享标识对应的共享存储空间,说明该主机节点尚未运行过,当前为该主机节点的第一次运行,则通过镜像管理模块向分布式存储系统发送包括目标共享标识的空间建立信息,以使分布式存储系统接收到目标共享标识的空间建立信息之后,根据该空间建立信息中的目标共享标识建立相应的目标共享存储空间。

在本公开一些实施例中,通过镜像管理模块根据目标独占标识确定目标独占存储空间,包括:若通过镜像管理模块确定目标独占标识对应的独占存储空间为空,则通过镜像管理模块根据目标独占标识创建目标独占存储空间。

在本实施例中,若通过镜像管理模块在分布式存储系统中确定目标独占标识存在对应的独占存储空间,说明该目标容器已经运行过,则将该独占存储空间作为目标独占存储空间,并将该目标独占存储空间挂载至目标主机。若通过镜像管理模块在分布式存储系统中未能确定目标独占标识对应的独占存储空间,说明该目标容器尚未运行过,当前为该目标容器的第一次运行,则通过镜像卷管理模块向分布式存储系统发送包括目标独占标识的空间建立信息,以使分布式存储系统接收到目标独占标识的空间建立信息之后,根据该空间建立信息中的目标独占标识建立相应的目标独占存储空间。

在本公开一些实施例中,响应于多个主机容器中目标容器的启动操作,确定目标容器对应的目标共享存储空间和目标独占存储空间挂载至主机节点,包括:响应于主机节点的启动操作,将主机节点对应的共享存储空间挂载至主机节点;响应于目标容器的启动操作,将目标容器对应的目标独占存储空间挂载至主机节点。

其中,主机节点的启动操作可以为用于指示主机节点启动的操作,本实施例对该主机节点的启动操作不做限制,例如,该主机节点的启动操作可以为用户对主机节点开机按键的触发操作、启动主机节点的语音控制操作等。

在本实施例中,在主机节点进行启动的情况下,主机节点可以将该主机节点对应的各共享存储空间挂载至该主机节点,而在目标容器进行启动的情况下,主机节点可以将该目标容器对应的目标独占存储空间挂载至该主机节点,由于在目标容器启动时,主机节点已经启动,共享存储空间均已完成挂载,即目标容器的目标共享存储空间也已经完成挂载,不再进行该目标共享存储空间的挂载。

上述方案中,由于共享存储空间的数量较少,并且共享存储空间是多个主机容器共用的,在主机节点启动的情况下挂载共享存储空间,避免了各主机容器启动时再分别确定共享存储空间是否挂载,为主机容器的正常运行提供的基础。由于独占存储空间是与主机容器一一对应的,因而在目标容器启动前挂载其对应的目标独占存储空间的必要性较低,在目标容器启动的情况下再挂载该目标独占存储空间能够降低主机节点挂载的存储空间的数量,节省了存储空间。综上,根据共享存储空间和独占存储空间的特性,确定了相应的挂载时间点,在使得容器正常运行的情况节省了存储空间。

步骤102,在目标容器生成镜像处理信息的情况下,通过镜像驱动模块确定镜像处理信息对应的目标存储空间,并基于目标存储空间中的目标数据处理镜像处理信息;其中,目标存储空间包括目标共享存储空间和/或目标独占存储空间。

其中,镜像处理信息可以为基于容器镜像进行数据处理的信息,该镜像处理信息有多种,本实施例对该镜像处理信息不做限制,例如该镜像处理信息可以包括输入输出(Input Output,IO)请求信息和/或通知信息。目标数据可以为镜像处理信息所处理的镜像数据。

在本实施例中,在目标容器需要基于容器镜像进行信息处理时,目标容器可以生成镜像处理信息,在目标容器生成镜像处理信息之后,通过镜像驱动模块可以确定镜像处理信息对应的存储空间类型,若该存储空间类型为独占存储空间,则通过镜像驱动模块将目标独占存储空间确定为目标存储空间;若该存储空间类型为共享存储空间,则通过镜像驱动模块将目标共享存储空间确定为目标存储空间,若该存储空间类型包括共享存储空间和独占存储空间,则通过镜像驱动模块将目标共享存储空间和目标独占存储空间确定为目标存储空间。进一步的,主机节点根据镜像处理信息确定该目标存储空间中的目标数据,根据该目标数据进行该镜像处理信息对应的输入输出处理、通知处理等数据处理。

本公开实施例提供的基于云平台的信息处理方法,应用于云平台中的主机节点,主机节点中包括镜像驱动模块和多个主机容器,主机节点存在对应的共享存储空间和独占存储空间,其中,一个共享存储空间存储有至少两个主机容器的只读层数据,一个独占存储空间存储有一个主机容器的内部层数据和读写层数据,该方法包括:响应于多个主机容器中目标容器的启动操作,确定目标容器对应的目标共享存储空间和目标独占存储空间挂载至主机节点;在目标容器生成镜像处理信息的情况下,通过镜像驱动模块确定镜像处理信息对应的目标存储空间,并基于目标存储空间中的目标数据处理镜像处理信息;其中,目标存储空间包括目标共享存储空间和/或目标独占存储空间。采用上述技术方案,多个主机容器可以共用相同的存储空间,该存储空间中存储了只读层数据,避免了容器运行前对相同数据的多次下载,降低了用户的等待时长,优化了用户体验,并且主机容器存在与自身一一对应的存储空间,该存储空间中存储了读写数据,使得该主机容器能够进行数据的读写操作,基于上述两种存储空间,为主机容器对镜像处理信息进行的正常处理提供了基础,并且通过挂载方式建立了存储空间与主机节点之间的连接,该挂载方式相对于相关技术中的下载方式耗时更短,进一步降低了用户的等待时长,进一步优化了用户的体验。

一种可选的实施方式中,该基于云平台的信息处理方法可以应用于容器云平台下的人工智能/深度学习场景,在下发任务时,将人工智能/深度学习任务封装成容器,运行任务需要较大的算力,需要在云平台的多个主机节点上快速创建千万个容器进行并行计算,采用本公开提供的基于云平台的信息处理方法,能够降低人工智能/深度学习任务的启动耗时,降低了执行任务所需要的时间。

在本公开一些实施例中,主机节点的用户空间中包括镜像驱动模块、多个主机容器,主机节点的内核空间中包括容器镜像文件系统、内核通信模块;相应的,在通过镜像驱动模块确定镜像处理信息对应的目标存储空间之前,方法还包括:通过容器镜像文件系统接收镜像处理信息,并将镜像处理信息转发至内核通信模块;通过内核空间的内核通信模块将镜像处理信息转发至用户空间的镜像驱动模块。其中,用户空间又称用户态,内核空间又称内核态。

在本公开一些实施例中,通过镜像驱动模块确定镜像处理信息对应的目标存储空间,包括:通过镜像驱动模块确定镜像处理信息携带的目标目录;根据主机目录信息对目标目录进行匹配,将匹配成功的存储空间确定为目标存储空间。

图2为本公开实施例提供的另一种基于云平台的信息处理方法的流程示意图,在该实施例中,主机节点的用户空间中包括镜像驱动模块和多个主机容器,主机节点的内核空间中包括容器镜像文件系统、内核通信模块,该基于云平台的信息处理方法包括:

步骤201,响应于多个主机容器中目标容器的启动操作,确定目标容器对应的目标共享存储空间和目标独占存储空间挂载至主机节点。

步骤202,在目标容器生成镜像处理信息的情况下,通过容器镜像文件系统接收镜像处理信息,并将镜像处理信息转发至内核通信模块。

其中,容器镜像文件系统可以为能够提供标准可移植操作系统接口(PortableOperating System Interface,POSIX)的文件系统,该容器镜像文件系统可以与相关技术中使用的内核文件系统类似。内核通信模块可以为将内核空间中的信息转发至用户空间的内核模块,该内核通信模块可以为用户空间文件系统(Filesystem in Userspace,FUSE)内核模块。

在本实施例中,在目标容器需要基于容器镜像进行数据处理,目标容器生成镜像处理信息的情况下,通过用户空间的目标容器可以将该镜像处理信息发送至内核空间的容器镜像文件系统,通过该容器镜像文件系统接受该镜像处理信息,并通过该容器镜像文件系统将该镜像处理信息发送至内核空间的内核通信模块。

步骤203,通过内核空间的内核通信模块将镜像处理信息转发至用户空间的镜像驱动模块。

在本实施例中,为了提高内核空间的安全性,主机节点可以将镜像处理信息由内核空间转发至用户空间进行处理。具体地,通过内核空间中的内核通信模块可以将镜像处理信息转发至用户空间的镜像驱动模块,在本实施例中,若该内核通信模块为用户空间文件系统内核模块,则该镜像驱动模块可以为基于libfuse库建立的驱动模块,基于该libfuse库能够与内核通信模块进行通信,进而实现镜像处理信息的接收。

步骤204,通过镜像驱动模块确定镜像处理信息携带的目标目录。

其中,目标目录可以为镜像处理信息所要处理的容器镜像所在的文件路径。

在本实施例中,通过镜像驱动模块能够确定镜像处理信息所要处理的容器镜像所在的存储空间。具体地,通过镜像驱动模块对镜像处理信息进行解析,确定该镜像处理信息所携带的目标目录。

步骤205,根据主机目录信息对目标目录进行匹配,将匹配成功的存储空间确定为目标存储空间。

其中,主机目录信息可以为根据主机节点所挂载的独占存储空间中的目录信息以及共享存储空间的目录信息,进行合并处理得到的主机节点的整体目录信息。该主机目录信息可以记录有各目录对应的具体存储空间。

在本实施例中,通过镜像驱动模块可以将镜像处理信息对应的目标目录在主机节点自身的主机目标信息进行查询,确定该目标目录所对应的存储空间,将该存储空间确定为镜像处理信息的目标存储空间。

在本公开一些实施例中,在通过镜像驱动模块确定镜像处理信息对应的目标存储空间之前,方法还包括:通过镜像驱动模块将共享目录信息以及独占目录信息整合为主机节点的主机目录信息;其中,共享目录信息为共享存储空间中数据的目录信息,独占目标信息为独占存储空间中数据的目录信息。

在本实施例中,目录信息可以表征具体目录与数据存储位置的对应关系。通过镜像驱动模块将共享目录信息和独占目录信息两种目录信息进行融合处理,得到主机节点整体的主机目录信息。

步骤206,基于目标存储空间中的目标数据处理镜像处理信息。

在本实施例中,确定目标存储空间之后,通过镜像驱动模块可以确定该目标存储空间中与镜像处理信息的目标目录对应的数据存储位置,根据该数据存储位置获取目标数据。进一步的,主机节点基于该目标数据处理镜像处理信息。

可选的,在本公开一些实施例中,在镜像驱动模块和存储空间之间可以设置有缓存区,镜像驱动模块可以先将镜像处理信息发送至缓存区,若在缓存区中存在目标存储空间的目标数据,则在根据缓存区缓存的目标数据对镜像处理信息进行处理;若在缓存区中不存在目标存储空间的目标数据,则说明则缓存区未对该目标数据进行缓存,则获取目标存储空间中的目标数据。其中,该缓存区可以为一段用于缓存独占存储空间和/或共享存储空间的内存空间,通过该缓存区能够降低对独占存储空间和/或共享存储空间的访问附在,提高了访问性能。

上述方案中,通过内核通信模块将内核空间的镜像处理信息转发至了用户空间,为在用户空间对该镜像处理信息进行处理创造了基础,并且无需对内核空间进行更改,提高了内核空间的安全性,降低了实现该信息处理方法的开发难度。并且,通过主机目录信息这个整体确定镜像处理信息的目标存储空间,因而无需对容器镜像文件系统进行额外的更改,相关技术中,容器镜像文件系统只能对整体的一个目录进行处理,在本实施例中,以容器镜像文件系统的视角而言,依然是对整体的目录信息进行处理,实现了容器镜像文件系统的无感知,减少了对已有系统的修改。

接下来通过一个具体的示例对本公开实施例中的基于云平台的信息处理方法,进行进一步说明。图3为本公开实施例提供的一种基于云平台的信息处理方法的信息传输示意图,其中,主机节点为Linux系统,该主机节点中的主机容器包括容器A和容器B,其中,容器A和容器B对应的目标共享存储空间均为基础卷,容器A对应的目标独占存储空间为读写卷A,容器B对应的目标独占存储空间为读写卷B,内核通信模块为FUSE内核模块,镜像驱动模块为容器镜像驱动模块。

如图3所示,该基于云平台的信息处理方法包括:

步骤301,响应于目标容器的启动操作,镜像卷管理模块确定该目标容器是否存在对应的目标读写卷,若是则挂载该目标读写卷至主机节点,否则创建该目标读写卷并挂载该目标读写卷至主机节点。

具体地,响应于目标容器的启动操作,主机节点能够生成相应的容器启动事件,镜像卷管理模块接收到该容器启动事件之后,解析该容器启动事件,确定进行启动的目标容器,以及该目标容器对应的目标读写卷。

步骤302,通过用户空间的目标容器向内核空间的容器镜像文件系统发送输入输出请求。

具体地,在目标容器启动的情况下,目标容器需要加载相应的容器镜像,目标容器向容器镜像文件系统发送输入输出请求以实现针对容器镜像的读写。

步骤303,通过容器镜像文件系统接收输入输出请求,并将该输入输出请求转发至内核空间的FUSE内核模块。

其中,容器镜像文件系统的格式可以为FUSE格式。

步骤304,通过FUSE内核模块接收输入输出请求,并将该输入输出请求转发至对应的用户空间的容器镜像驱动模块。

步骤305,通过容器镜像驱动模块获取该输入输出请求对应的目标数据。其中,该目标数据可以为目标读写卷中的数据或者和目标基础卷中的容器镜像数据。

可选的,在主机节点启动时,可以从分布式存储系统挂载确定该主机节点对应的基础卷,并将基础卷挂载至该主机节点,如果没有基础卷,则根据主机节点对应的云原生集群信息或者容器云平台信息,创建该主机节点对应的基础卷。并且,还可以为主机节点申请缓存区并加载该主机节点中的FUSE内核模块。

图4为本公开实施例提供的一种容器镜像的示意图,如图4所示,容器A的只读层数据为centos:latest,容器B的只读层数据为ubuntu:2204,容器A和容器B的只读层数据不同,基础卷存储有容器A的只读层数据和容器B的只读层数据。容器A的读写卷A存储有容器A的内部层数据和读写层数据。容器B的读写卷B存储有容器B的内部层数据和读写层数据。容器A的完整容器镜像为读写卷A中的数据以及基础卷中的容器A的只读层数据部分;容器B的完整容器镜像为读写卷B中的数据以及基础卷中的容器B的只读层数据部分。该基础卷和读写卷在主机节点上挂载之后,可以以目录信息的形式进行呈现。

上述方案中,在云平台中的容器共同使用一个或几个基础卷的情况下,基础卷中的只读层数据在相应的容器组成的集群中共享,即在基础卷所在的分布式存储系统中保留一份数据,大幅减少了分布式存储系统所需的存储空间。

在本公开一些实施例中,图5为本公开实施例提供的又一种基于云平台的信息处理方法的流程示意图,如图5所示,该基于云平台的信息处理方法还包括:

步骤501,在接收到容器迁移请求之后,确定容器迁移请求对应的待迁移容器和目标主机。

其中,容器迁移请求可以为指示对容器从当前的主机节点迁移至目标主机的请求,该容器迁移请求可以包括待迁移容器的标识以及目标主机的标识。待迁移容器可以为主机节点中待进行迁移的容器。目标主机可以为待迁移容器迁移至的主机。

在本实施例中,主机节点在接收到容器迁移请求之后,主机节点可以解析该容器迁移请求,根据其中待迁移容器的标识确定待进行迁移的待迁移容器,根据其中目标主机的标识确定迁移至的目标主机。

步骤502,确定待迁移容器的待迁移独占存储空间,根据待迁移独占存储空间生成存储空间挂载请求,并发送存储空间挂载请求至目标主机,以使目标主机挂载目标独占存储空间。

其中,待迁移独占存储空间可以为待迁移容器的独占存储空间,存储空间挂载请求可以为进行独占存储空间的挂载的请求。

在本实施例中,主机节点在确定待迁移容器之后,主机节点可以根据待迁移容器对容器存储空间关系进行检索,确定该待迁移容器对应的待迁移独占存储空间,并生成包括该待迁移独占存储空间的标识的存储空间挂载请求。主机节点将该存储空间挂载请求发送至目标主机。目标主机接收到该存储空间挂载请求之后,解析该存储空间挂载请求,根据其中待迁移独占存储空间的标识确定待迁移独占存储空间,并将该待迁移独占存储空间挂载至目标主机。

步骤503,停止运行待迁移容器,并解除主机节点与所述待迁移独占存储空间之间的挂载关系。

在本实施例中,由于迁移之后,该待迁移容器不在该主机节点运行,主机节点停止该待迁移容器的运行,并将待迁移独占存储空间卸载。可选的,若存在缓存区,则还需要清空该缓存区中待迁移独占存储空间的数据。

上述方案中,通过独占存储空间挂载关系的改变实现了容器迁移过程中对应的数据的迁移,避免了数据的再次下载,提高了容器迁移的效率。

接下来通过一个具体的示例对本公开实施例中的基于云平台的信息处理方法,进行进一步说明。图6为本公开实施例提供的一种容器迁移的示意图,其中,容器A为待迁移容器,读写卷A为待迁移独占存储空间。

如图6所示,主机节点向目标主机发送容器A的容器迁移请求,目标主机在接收到该容器迁移请求之后,将容器A对应的读写卷A挂载到目标主机上,将读写段A挂载到目标主机上之后,目标主机中的容器镜像文件系统能够访问到读写卷A中的数据,由于主机节点和目标主机共用同一个基础卷,因而目标主机能够读取到容器A完整的容器镜像。

进一步的,主机节点关闭容器A,并且卸载读写卷A,清空主机节点的缓存区中读写卷A的数据。目标主机启动该容器A。

上述方案中,在进行容器迁移的情况下,避免了迁移至的目标主机进行容器镜像的下载,减少了容器迁移的耗时,加快了容器迁移的速度。并且基于分布式存储系统提供了读写卷,在进行容器迁移的过程中,无需进行数据的删除与下载,并且通过分布式存储系统提高了数据的可靠性。待迁移容器无需进行额外的配置,该待迁移容器中的应用也无需进行额外的修改,实现了待迁移容器的自动化进行。

图7为本公开实施例提供的一种基于云平台的信息处理装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中,该基于云平台的信息处理装置可以设置于云平台中的主机节点,所述主机节点中包括镜像驱动模块和多个主机容器,所述主机节点存在对应的共享存储空间和独占存储空间,其中,一个所述共享存储空间存储有至少两个所述主机容器的只读层数据,一个所述独占存储空间存储有一个所述主机容器的内部层数据和读写层数据。如图7所示,该装置,包括:

挂载单元701,用于响应于所述多个主机容器中目标容器的启动操作,确定所述目标容器对应的目标共享存储空间和目标独占存储空间挂载至所述主机节点;

第一发送单元702,用于在所述目标容器生成镜像处理信息的情况下,通过所述镜像驱动模块确定所述镜像处理信息对应的目标存储空间,并基于所述目标存储空间中的目标数据处理所述镜像处理信息;其中,所述目标存储空间包括所述目标共享存储空间和/或所述目标独占存储空间。

可选的,在所述主机节点中还包括镜像管理模块,所述装置还包括:

第一确定单元,用于在确定所述目标容器对应的目标共享存储空间和目标独占存储空间挂载至所述主机节点之前,通过所述镜像管理模块根据所述目标容器的容器标识对预先设置的容器存储空间关系进行匹配,确定匹配成功的目标共享标识和目标独占标识;

第二确定单元,用于通过所述镜像管理模块根据所述目标独占标识确定所述目标独占存储空间,并根据所述目标共享标识确定所述目标共享存储空间。

可选地,所述第二确定单元,用于:若通过所述镜像管理模块确定所述目标独占标识对应的独占存储空间为空,则通过所述镜像管理模块根据所述目标独占标识创建所述目标独占存储空间。

可选的,所述挂载单元701,用于:

响应于所述主机节点的启动操作,将所述主机节点对应的共享存储空间挂载至所述主机节点;

响应于所述目标容器的启动操作,将所述目标容器对应的所述目标独占存储空间挂载至所述主机节点。

可选的,所述主机节点的用户空间中包括所述镜像驱动模块、所述多个主机容器,所述主机节点的内核空间中包括容器镜像文件系统、内核通信模块;

相应的,所述装置还包括:

第一转发单元,用于在所述通过所述镜像驱动模块确定所述镜像处理信息对应的目标存储空间之前,通过所述容器镜像文件系统接收所述镜像处理信息,并将所述镜像处理信息转发至所述内核通信模块;

第二转发单元,用于通过内核空间的所述内核通信模块将所述镜像处理信息转发至用户空间的所述镜像驱动模块。

可选的,所述装置还包括:

整合单元,用于在所述通过所述镜像驱动模块确定所述镜像处理信息对应的目标存储空间之前,通过所述镜像驱动模块将共享目录信息以及独占目录信息整合为所述主机节点的主机目录信息;其中,所述共享目录信息为所述共享存储空间中数据的目录信息,所述独占目标信息为所述独占存储空间中数据的目录信息。

可选的,所述第一发送单元702,用于:

通过所述镜像驱动模块确定所述镜像处理信息携带的目标目录;

根据所述主机目录信息对所述目标目录进行匹配,将匹配成功的存储空间确定为所述目标存储空间。

可选的,所述装置还包括:

第三确定单元,用于在接收到容器迁移请求之后,确定所述容器迁移请求对应的待迁移容器和目标主机;

第二发送单元,用于确定所述待迁移容器的待迁移独占存储空间,根据所述待迁移独占存储空间生成存储空间挂载请求,并发送所述存储空间挂载请求至所述目标主机,以使所述目标主机挂载所述目标独占存储空间;

解除单元,用于停止运行所述待迁移容器,并解除所述主机节点与所述待迁移独占存储空间之间的挂载关系。

本公开实施例所提供的基于云平台的信息处理装置可执行本公开任意实施例所提供的基于云平台的信息处理方法,具备执行方法相应的功能模块和有益效果。

图8为本公开实施例提供的一种电子设备的结构示意图。如图8所示,电子设备800包括一个或多个处理器801和存储器802。

处理器801可以是中央处理单元(CPU)或者具有基于云平台的信息处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备800中的其他组件以执行期望的功能。

存储器802可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器801可以运行所述程序指令,以实现上文所述的本公开的实施例的基于云平台的信息处理方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。

在一个示例中,电子设备800还可以包括:输入装置803和输出装置804,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

此外,该输入装置803还可以包括例如键盘、鼠标等等。

该输出装置804可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置804可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图8中仅示出了该电子设备800中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备800还可以包括任何其他适当的组件。

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的基于云平台的信息处理方法。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的基于云平台的信息处理方法。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120116061253