CN110276194A - 信息处理方法、信息处理装置和电子设备 - Google Patents

信息处理方法、信息处理装置和电子设备 Download PDF

Info

Publication number
CN110276194A
CN110276194A CN201910541587.XA CN201910541587A CN110276194A CN 110276194 A CN110276194 A CN 110276194A CN 201910541587 A CN201910541587 A CN 201910541587A CN 110276194 A CN110276194 A CN 110276194A
Authority
CN
China
Prior art keywords
carry
information
target container
book
configuration information
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.)
Granted
Application number
CN201910541587.XA
Other languages
English (en)
Other versions
CN110276194B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201910541587.XA priority Critical patent/CN110276194B/zh
Publication of CN110276194A publication Critical patent/CN110276194A/zh
Application granted granted Critical
Publication of CN110276194B publication Critical patent/CN110276194B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种信息处理方法,应用于服务器端,该方法包括:在目标容器运行过程中发送挂载请求的情况下,获得将第一数据卷挂载到目标容器的第一挂载信息,基于第一挂载信息,在针对目标容器的驱动配置库中扩展配置信息,其中,配置信息包括基于第一挂载信息设置的标识字段,以及发送配置信息至目标容器,以使得目标容器在运行过程中,能够基于配置信息挂载第一数据卷。本公开还提供了一种应用于服务器端的信息处理装置、一种介质和一种电子设备。

Description

信息处理方法、信息处理装置和电子设备
技术领域
本公开涉及一种信息处理方法、信息处理装置和电子设备。
背景技术
随着虚拟化技术的飞速发展,比虚拟机更加轻量级的容器技术应运而生。
容器将应用和应用运行的环境封装起来,不用安装操作系统且与宿主机共用内核。因此,容器可以给运行任务提供具有资源隔离功能的运行空间。同时,容器可以被创建、启动、停止、删除、暂停等。例如,可以构建于开发环境,提交到测试环境,最终进入生产环境,使得独立服务或者应用程序在不同的环境中。
运行应用所产生的数据,可以存储在挂载于容器的数据卷中,数据卷是一个特别指定的目录,该目录利用容器的联合文件系统可以为容器提供稳定的特性或者数据共享,使得数据卷可以在多个容器之间共享。。
发明内容
有鉴于此,本公开提供了一种针对容器的数据卷的信息处理方法和装置,使得在容器运行的过程中,且不退出的情况下,可以动态加载数据卷。
本公开的一个方面提供了一种信息处理方法,应用于服务器端,上述方法包括:在目标容器运行过程中发送挂载请求的情况下,获得将第一数据卷挂载到上述目标容器的第一挂载信息,基于上述第一挂载信息,在针对上述目标容器的驱动配置库中扩展配置信息,其中,上述配置信息包括基于上述第一挂载信息设置的标识字段,以及发送上述配置信息至上述目标容器,以使得上述目标容器在运行过程中,能够基于上述配置信息挂载上述第一数据卷。
可选地,上述获得将第一数据卷挂载到上述目标容器的第一挂载信息包括:获取上述挂载请求的路由信息,基于上述路由信息,将上述挂载请求调度到对应的处理进程,以及通过上述处理进程,获得将第一数据卷挂载到上述目标容器的第一挂载信息。
可选地,上述基于上述第一挂载信息,在针对上述目标容器的驱动配置库中扩展配置信息包括:读取与已挂载到上述目标容器的第二数据卷对应的第二挂载信息,其中,上述第二挂载信息存储在上述服务器端,基于上述第一挂载信息和上述第二挂载信息,生成挂载列表,基于上述挂载列表,设置与上述第一挂载信息对应的标识字段,以及基于上述标识字段,在针对上述目标容器的驱动配置库中扩展配置信息。
可选地,上述发送上述配置信息至上述目标容器包括:获取上述目标容器的容器标识信息,基于上述容器标识信息,获取上述目标容器的管道信息,以及基于上述管道信息,发送上述配置信息至上述目标容器。
可选地,上述挂载列表包括以下至少之一:上述第一数据卷挂载的原始位置信息,上述第一数据卷挂载的目标位置信息,上述第一数据卷的权限信息,上述第一数据卷的类型信息。
本公开的另一个方面提供了一种信息处理方法,应用于目标容器端,上述方法包括:在上述目标容器的运行过程中,将第一数据卷挂载到上述目标容器的挂载请求发送至服务器端,以使得上述服务器端基于上述挂载请求,获得第一挂载信息,并基于上述第一挂载信息,在针对上述目标容器的驱动配置库中扩展配置信息,以及发送上述配置信息至上述目标容器,接收上述服务器端发送的上述配置信息,以及基于上述配置信息,挂载上述第一数据卷至上述目标容器。
可选地,上述基于上述配置信息,挂载上述第一数据卷至上述目标容器包括:基于上述配置信息,检测上述配置信息中是否设置有标识字段,以及在上述配置信息中设置有上述标识字段的情况下,基于上述标识字段,将上述第一数据卷挂载到上述目标容器。
本公开的另一个方面提供了一种信息处理装置,包括:获得模块,被配置为在目标容器运行过程中发送挂载请求的情况下,获得将第一数据卷挂载到上述目标容器的第一挂载信息,配置模块,被配置为基于上述第一挂载信息,在针对上述目标容器的驱动配置库中扩展配置信息,其中,上述配置信息包括基于上述第一挂载信息设置的标识字段,以及第一发送模块,被配置为发送上述配置信息至上述目标容器,以使得上述目标容器在运行过程中,能够基于上述配置信息挂载上述第一数据卷。
可选地,上述获得模块包括:第一获取子模块,被配置为获取上述挂载请求的路由信息,调度子模块,被配置为基于上述路由信息,将上述挂载请求调度到对应的处理进程,以及获得子模块,被配置为通过上述处理进程,获得将第一数据卷挂载到上述目标容器的第一挂载信息。
可选地,上述配置模块包括:读取子模块,被配置为读取与已挂载到上述目标容器的第二数据卷对应的第二挂载信息,其中,上述第二挂载信息存储在上述服务器端,生成子模块,被配置为基于上述第一挂载信息和上述第二挂载信息,生成挂载列表,以及扩展子模块,被配置为基于上述标识字段,在针对上述目标容器的驱动配置库中扩展配置信息。
可选地,上述第一发送模块包括:第二获取子模块,被配置为获取上述目标容器的容器标识信息,第三获取子模块,被配置为基于上述容器标识信息,获取上述目标容器的管道信息,以及发送子模块,被配置为基于上述管道信息,发送上述配置信息至上述目标容器。
本公开的另一方面提供了一种信息处理装置,包括:第二发送模块,被配置为在目标容器的运行过程中,将第一数据卷挂载到上述目标容器的挂载请求发送至服务器端,以使得上述服务器端基于上述挂载请求,获得第一挂载信息,并基于上述第一挂载信息,在针对上述目标容器的驱动配置库中扩展配置信息,以及发送上述配置信息至上述目标容器,接收模块,被配置为接收上述服务器端发送的上述配置信息,以及挂载模块,被配置为基于上述配置信息,挂载上述第一数据卷至上述目标容器。
可选地,上述挂载模块包括:检测子模块,被配置为基于上述配置信息,检测上述配置信息中是否设置有标识字段,以及挂载子模块,被配置为在上述配置信息中设置有上述标识字段的情况下,基于上述标识字段,将上述第一数据卷挂载到上述目标容器。
本公开的另一方面提供了一种介质,存储有计算机可执行指令,上述指令在被处理器执行时用于实现如上所述的信息处理方法。
本公开的另一方面提供了一种电子设备,包括:处理器,以及存储器,存储有计算机可执行指令,上述指令在被处理器执行时用于实现如上所述的信息处理方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的信息处理方法的应用场景图;
图2示意性示出了根据本公开实施例的信息处理方法(应用于服务器端)的流程图;
图3示意性示出了根据本公开实施例的信息处理方法(应用于目标容器端)的流程图;
图4示意性示出了根据本公开实施例的信息处理方法的系统架构图;
图5示意性示出了根据本公开实施例的信息处理方法的逻辑流程图;
图6示意性示出了根据本公开实施例的信息处理装置的框图;
图7示意性示出了根据本公开另一实施例的信息处理装置的框图;以及
图8示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本公开提供了一种信息处理方法,应用于服务器端,该方法包括:在目标容器运行过程中发送挂载请求的情况下,获得将第一数据卷挂载到目标容器的第一挂载信息,基于第一挂载信息,在针对目标容器的驱动配置库中扩展配置信息,其中,配置信息包括基于第一挂载信息设置的标识字段,以及发送配置信息至目标容器,以使得目标容器在运行过程中,能够基于配置信息挂载第一数据卷。
本公开提供的信息处理方法,在服务器端,可以基于将数据卷挂载到容器的相关挂载信息,在针对该容器的驱动配置中扩展配置信息并发送至该容器,使得该容器可以在运行的过程中,不退出的情况下,基于该配置信息实现数据卷的动态加载,或修改数据卷的挂载点或修改数据卷的权限,降低数据卷的动态挂载对容器运行造成的影响。
图1示意性示出了根据本公开实施例的信息处理方法的应用场景图。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,本公开的应用场景100可以包括容器101、102、103,网络104,服务器105和数据卷106、107、108、109。网络104用以在容器101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。容器101、102、103均可以挂载至少一个数据卷。例如,容器101挂载数据卷106,容器102挂载数据卷107,容器103挂载数据卷108、109。需要说明的是,数据卷106在容器101运行前已完成挂载,数据卷107在容器102运行前已完成挂载,数据卷108在容器103运行前已完成挂载。而数据卷109是根据本公开提供的信息处理方法,在容器103的运行过程中执行挂载的。因此,容器103为本公开上下文所指的目标容器。
需要说明的是,本公开实施例所提供的信息处理方法一般可以由服务器105执行。相应地,本公开实施例所提供的信息处理装置一般可以设置于服务器105中。本公开实施例所提供的信息处理方法也可以由不同于服务器105且能够与容器101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的信息处理装置也可以设置于不同于服务器105且能够与容器101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的服务器、网络、容器和数据卷的数目仅仅是示意性的。根据实现需要,可以具有任意数目的服务器、网络、容器和数据卷。
图2示意性示出了根据本公开实施例的信息处理方法(应用于服务器端)的流程图。
如图2所示,该方法可以包括操作S210~S230。其中:
在操作S210,在目标容器运行过程中发送挂载请求的情况下,获得将第一数据卷挂载到目标容器的第一挂载信息。
与传统虚拟机在硬件层面上实现虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统不同,容器是在操作系统层面上实现的虚拟化,本质上是宿主机上的一个进程,由于与本地宿主机共享操作系统,因此可以直接利用本地宿主机的操作系统,称为轻量级的虚拟化技术。容器可以挂载一个或多个数据卷,用以存储使用容器所产生的数据文件。
根据本公开的实施例,数据卷可以是目录或文件,以正常的文件或者目录形式存在于本地宿主机上。特别地,数据卷可以是针对一个或多个容器专门指定的绕过默认的联合文件系统(Union File System,简称为UFS)的目录或文件,可以为一个容器挂载一个本地宿主机的目录或文件,也可以为一个容器挂载多个本地宿主机的目录或文件。
需要说明的是,数据卷可以用来存储容器产生的数据文件,也可以用来在多个容器之间进行数据的共享。由于数据卷将容器和容器所产生的数据文件分离。因此,数据文件的修改是直接针对数据卷的修改,并非针对容器的修改,不会改变容器,删除容器也不会删除其挂载的数据卷,数据卷的生命周期一直持续到没有容器使用为止,即删除一个数据卷,必须在删除最后一个挂载该数据卷的容器时指定同时删除关联的容器。
在现有技术中,容器的运行过程中,且不退出的情况下,无法完成数据卷的挂载。根据本公开的实施例,可以在容器的运行过程中,且不退出的情况下,完成数据卷的挂载。首先,在目标容器运行的过程中,若服务器端检测到来自该目标容器(客户)端发送的指示将第一数据卷挂载到目标容器的挂载请求,则服务器端响应于该挂载请求,可以获得将第一数据卷挂载到该目标容器的第一挂载信息。第一挂载信息包括但不限于第一数据卷已被挂载到的原始位置信息,第一数据卷将要被挂载到的目标位置信息,针对第一数据卷设置的权限信息,以及获得到的第一数据卷的类型信息。
可选地,获得将第一数据卷挂载到目标容器的第一挂载信息包括:获取挂载请求的路由信息;基于路由信息,将挂载请求调度到对应的处理进程;以及通过处理进程,获得将第一数据卷挂载到目标容器的第一挂载信息。
根据本公开的实施例,处理进程可以是容器在后台以守护态形式运行的守护进程。需要说明的是,可以在同一台宿主机上运行守护进程和目标容器端,也可以从本地的目标容器端连接到运行在另一台宿主机上的远程守护进程,本公开对此不做限定。
在操作S220,基于第一挂载信息,在针对目标容器的驱动配置库中扩展配置信息。
可选地,基于第一挂载信息,在针对目标容器的驱动配置库中扩展配置信息包括:读取与已挂载到目标容器的第二数据卷对应的第二挂载信息,其中,第二挂载信息存储在服务器端;基于第一挂载信息和第二挂载信息,生成挂载列表;基于挂载列表,设置与第一挂载信息对应的标识字段;以及基于标识字段,在针对目标容器的驱动配置库中扩展配置信息。
根据本公开的实施例,配置信息包括基于第一挂载信息设置的标识字段,例如动态加载字段。可以新增处理进程的解析参数,读取目标容器中已挂载的第二数据卷的第二挂载信息,与获取的第一挂载信息合并,生成新的挂载列表。基于生成的新的挂载列表,在针对目标容器的驱动配置库中设置扩展配置信息中的动态加载字段。
根据本公开的实施例,挂载列表包括以下至少之一:第一数据卷挂载的原始位置信息;第一数据卷挂载的目标位置信息;第一数据卷的权限信息;第一数据卷的类型信息。
在操作S230,发送配置信息至目标容器,以使得目标容器在运行过程中,能够基于配置信息挂载第一数据卷。
根据本公开的实施例,发送配置信息至目标容器包括:获取目标容器的容器标识信息;基于容器标识信息,获取目标容器的管道信息;以及基于管道信息,发送配置信息至目标容器。
根据本公开的实施例,目标容器端在收到服务器端发送的配置信息后,获取与目标容器对应的管道信息,基于该管道,发送配置信息,以使得目标容器可以重新调用挂载接口,将第一数据卷挂载到目标容器。
在现有技术中,只能在启动容器的时候挂载数据卷,无法保证在容器不退出的情况下,动态加载容器的数据卷,也无法对容器的挂载点,容器的属性做修改。
根据本公开的实施例,基于同一发明构思,在动态加载数据卷时,也可以给数据卷赋予特定的权限,以修改数据卷的权限,还可以对容器的挂载点执行修改。例如,若宿主机只能读取容器的数据卷内容而不能修改,则可以添加只读权限。
通过本公开的实施例,在目标容器运行过程中发送挂载请求的情况下,获得将第一数据卷挂载到目标容器的第一挂载信息,基于第一挂载信息,在针对目标容器的驱动配置库中扩展包括标识字段的配置信息,并发送该配置信息至目标容器,以使得目标容器在运行过程中,能够基于配置信息挂载第一数据卷对处于运行状态下的容器,至少可以部分克服相关技术中,在容器的运行过程中,无法实现在不退出容器的情况下动态加载数据卷的技术问题,并因此可以实现在不退出容器的情况下动态加载数据卷的技术效果。
图3示意性示出了根据本公开实施例的信息处理方法(应用于目标容器端)的流程图。
如图3所示,该方法可以包括操作S310~S330。其中:
在操作S310,在目标容器的运行过程中,将第一数据卷挂载到目标容器的挂载请求发送至服务器端,以使得服务器端基于挂载请求,获得第一挂载信息,并基于第一挂载信息,在针对目标容器的驱动配置库中扩展配置信息,以及发送配置信息至目标容器。
在操作S320,接收服务器端发送的配置信息。
在操作S330,基于配置信息,挂载第一数据卷至目标容器。
根据本公开的实施例,基于配置信息,挂载第一数据卷至目标容器包括:基于配置信息,检测配置信息中是否设置有标识字段;以及在配置信息中设置有标识字段的情况下,基于标识字段,将第一数据卷挂载到目标容器。
根据本公开的实施例,服务器端作为挂载请求的接收方,与服务器端相对应地,目标容器端作为挂载请求的发送方,在其运行的过程中,可以将第一数据卷挂载到目标容器的挂载请求发送至服务器端,以使得服务器端基于挂载请求,获得第一挂载信息,并基于第一挂载信息,在针对目标容器的驱动配置库中扩展配置信息,以及发送配置信息至目标容器,在目标容器端接收到该配置信息后,判断是否存在标识字段。若存在,则获取配置信息,重新调用目标容器端的相应接口,跳过其他步骤,实现第一数据卷的挂载。若不存在,则表明不存在数据卷挂载请求。
为了方便理解本公开的整体技术方案,下面结合图4和图5,以Docker容器技术的数据卷挂载为例,对本公开提供的信息处理方法做进一步阐述。
图4示意性示出了根据本公开实施例的信息处理方法的系统架构图。
图5示意性示出了根据本公开实施例的信息处理方法的逻辑流程图。
如图4和图5所示,在架构上,Docker容器技术采用客户端-服务器(Client-Server)模式和插件式架构的设计,Docker的服务器端(后端)采用非常松耦合的架构,各模块之间相互独立。
Docker容器在后台以守护态的形式在Docker Daemon运行。用户通过DockerClient可以与Docker Daemon建立通信,并发送请求给Docker Daemon。Docker Daemon提供服务器功能接收来自Docker Client的请求,完成相应的任务,并把执行结果返还给容器。需要说明的是,Docker Client是泛称,为一个用于交互/发送指令的接口,可以是命令行“docker”,也可以是遵循了Docker容器的应用程序编程接口(Application ProgrammingInterface,简称为API)规则的客户端。通过在每个宿主机上布置第三方插件,可以把不同宿主机的路由(Router)容器连接起来,使得Docker工具无缝集成到Docker。
Driver作为驱动配置库,用于定义Docker容器运行所需的各类驱动配置参数,包括图像驱动(Graphdriver)、网络驱动(Networkdriver)和增强驱动(Execdriver)。
LibContainer作为定义Docker容器环境的标准,是对各种容器的抽象,可以将底层容器运行时剥离出来,实现类似于集装箱的容器封装技术,达到更好的平台无关性。LibContainer包括网络连接(Netlink)、命名空间(Namespace)和将任意进程进行分组化管理的Linux内核功能Cgroups。其中,在不同Namespace中的应用可以有独立的网络资源、用户空间、进程号等。Cgroups用于实现对容器资源的限制,通过把中央处理器(CenterProcesspr Unit,简称为CPU)、内存等资源进行隔离,对容器能够使用的CPU和内存资源进行限制,以避免单个容器出错,耗尽所有系统资源。
结合图4所示容器的架构和图5所示的逻辑流程,针对数据卷的挂载(类似于Linux下对目录进行mount),根据本公开实施例提供的信息处理方法,可以包括以下步骤:
Docker Daemon接收Docker Client的挂载请求,该挂载请求指示在目标容器的运行过程中,将第一数据卷挂载到目标容器。
Router根据新添路由把该挂载请求调度到后台处理进程,例如dynamicVolumeHandler,以获得挂载请求对应的第一挂载信息,即新的挂载列表信息(mount list),如图所示,mount list可以包括但不限于源挂载地址(source)、目的挂载地址(destination)、可写权限(writable)和类型(type)信息。
新增dynamicVolumeHandler解析参数,读取存储在服务器端的Container info中的mount信息(对应已挂载数据卷的mount信息),与挂载请求对应的新的mount信息合并成新的mount list。
增强execdriver设置扩展Libcontainer*config的dynamic_attach字段,设置新的mount list,根据容器的标识信息(container id)获取管道信息,通过管道(syncpipe)把*config传给目标容器端Dockerinit。
目标容器端Dockerinit接收到服务器端发送的*config配置信息后,判断是否有设置dynamic_attach,若有设置dynamic_attach,则从*config中获取mount config,重新调用initMountNamespace接口执行mount ns,跳过Entrypoint等步骤,完成数据卷的动态加载;若未设置dynamic_attach,则执行Entrypoint步骤。
图6示意性示出了根据本公开实施例的信息处理装置的框图。
如图6所示,该信息处理装置600可以包括获得模块610、配置模块620以及第一发送模块630。其中:
获得模块610,被配置为在目标容器运行过程中发送挂载请求的情况下,获得将第一数据卷挂载到目标容器的第一挂载信息。
配置模块620,被配置为基于第一挂载信息,在针对目标容器的驱动配置库中扩展配置信息,其中,配置信息包括基于第一挂载信息设置的标识字段。
第一发送模块630,被配置为发送配置信息至目标容器,以使得目标容器在运行过程中,能够基于配置信息挂载第一数据卷。
可选地,前述获得模块610包括:第一获取子模块,被配置为获取挂载请求的路由信息,调度子模块,被配置为基于路由信息,将挂载请求调度到对应的处理进程,以及获得子模块,被配置为通过处理进程,获得将第一数据卷挂载到目标容器的第一挂载信息。
可选地,前述配置模块620包括:读取子模块,被配置为读取与已挂载到目标容器的第二数据卷对应的第二挂载信息,其中,第二挂载信息存储在服务器端,生成子模块,被配置为基于第一挂载信息和第二挂载信息,生成挂载列表,以及扩展子模块,被配置为基于标识字段,在针对目标容器的驱动配置库中扩展配置信息。
可选地,前述第一发送模块630包括:第二获取子模块,被配置为获取目标容器的容器标识信息,第三获取子模块,被配置为基于容器标识信息,获取目标容器的管道信息,以及发送子模块,被配置为基于管道信息,发送配置信息至目标容器。
图7示意性示出了根据本公开另一实施例的信息处理装置的框图。
如图7所示,该信息处理装置700可以包括第二发送模块710、接收模块720以及挂载模块730。其中:
第二发送模块710,被配置为在目标容器的运行过程中,将第一数据卷挂载到目标容器的挂载请求发送至服务器端,以使得服务器端基于挂载请求,获得第一挂载信息,并基于第一挂载信息,在针对目标容器的驱动配置库中扩展配置信息,以及发送配置信息至目标容器。
接收模块720,被配置为接收服务器端发送的配置信息。
挂载模块730,被配置为基于配置信息,挂载第一数据卷至目标容器。
可选地,前述挂载模块730包括:检测子模块,被配置为基于配置信息,检测配置信息中是否设置有标识字段,以及挂载子模块,被配置为在配置信息中设置有标识字段的情况下,基于标识字段,将第一数据卷挂载到目标容器。
通过本公开的实施例,在目标容器运行过程中发送挂载请求的情况下,获得将第一数据卷挂载到目标容器的第一挂载信息,基于第一挂载信息,在针对目标容器的驱动配置库中扩展包括标识字段的配置信息,并发送该配置信息至目标容器,以使得目标容器在运行过程中,能够基于配置信息挂载第一数据卷对处于运行状态下的容器,至少可以部分克服相关技术中,在容器的运行过程中,无法实现在不退出容器的情况下动态加载数据卷的技术问题,并因此可以实现在不退出容器的情况下动态加载数据卷的技术效果。
根据本公开的实施例的模块、子模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获得模块610、配置模块620以及第一发送模块630中的任意多个,或者第二发送模块710、接收模块720以及挂载模块730中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获得模块610、配置模块620以及第一发送模块630中的至少一个,或者第二发送模块710、接收模块720以及挂载模块730中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获得模块610、配置模块620以及第一发送模块630中的至少一个,或者第二发送模块710、接收模块720以及挂载模块730中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图8示意性示出了根据本公开实施例的电子设备的框图。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800包括处理器810、计算机可读存储介质820。该电子设备800可以执行根据本公开实施例的方法。
具体地,处理器810例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器810还可以包括用于缓存用途的板载存储器。处理器810可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质820,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质820可以包括计算机程序821,该计算机程序821可以包括代码/计算机可执行指令,其在由处理器810执行时使得处理器810执行根据本公开实施例的方法或其任何变形。
计算机程序821可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序821中的代码可以包括一个或多个程序模块,例如包括821A、模块821B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器810执行时,使得处理器810可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,获得模块610、配置模块620以及第一发送模块630中的至少一个可以实现为参考图8描述的计算机程序模块,其在被处理器810执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读介顾可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (10)

1.一种信息处理方法,应用于服务器端,所述方法包括:
在目标容器运行过程中发送挂载请求的情况下,获得将第一数据卷挂载到所述目标容器的第一挂载信息;
基于所述第一挂载信息,在针对所述目标容器的驱动配置库中扩展配置信息,其中,所述配置信息包括基于所述第一挂载信息设置的标识字段;以及
发送所述配置信息至所述目标容器,以使得所述目标容器在运行过程中,能够基于所述配置信息挂载所述第一数据卷。
2.根据权利要求1所述的方法,其中,所述获得将第一数据卷挂载到所述目标容器的第一挂载信息包括:
获取所述挂载请求的路由信息;
基于所述路由信息,将所述挂载请求调度到对应的处理进程;以及
通过所述处理进程,获得将第一数据卷挂载到所述目标容器的第一挂载信息。
3.根据权利要求1所述的方法,其中,所述基于所述第一挂载信息,在针对所述目标容器的驱动配置库中扩展配置信息包括:
读取与已挂载到所述目标容器的第二数据卷对应的第二挂载信息,其中,所述第二挂载信息存储在所述服务器端;
基于所述第一挂载信息和所述第二挂载信息,生成挂载列表;
基于所述挂载列表,设置与所述第一挂载信息对应的标识字段;以及
基于所述标识字段,在针对所述目标容器的驱动配置库中扩展配置信息。
4.根据权利要求1所述的方法,其中,所述发送所述配置信息至所述目标容器包括:
获取所述目标容器的容器标识信息;
基于所述容器标识信息,获取所述目标容器的管道信息;以及
基于所述管道信息,发送所述配置信息至所述目标容器。
5.根据权利要求3所述的方法,其中,所述挂载列表包括以下至少之一:
所述第一数据卷挂载的原始位置信息;
所述第一数据卷挂载的目标位置信息;
所述第一数据卷的权限信息;
所述第一数据卷的类型信息。
6.一种信息处理方法,应用于目标容器端,所述方法包括:
在所述目标容器的运行过程中,将第一数据卷挂载到所述目标容器的挂载请求发送至服务器端,以使得所述服务器端基于所述挂载请求,获得第一挂载信息,并基于所述第一挂载信息,在针对所述目标容器的驱动配置库中扩展配置信息,以及发送所述配置信息至所述目标容器;
接收所述服务器端发送的所述配置信息;以及
基于所述配置信息,挂载所述第一数据卷至所述目标容器。
7.根据权利要求6所述的方法,其中,所述基于所述配置信息,挂载所述第一数据卷至所述目标容器包括:
基于所述配置信息,检测所述配置信息中是否设置有标识字段;以及
在所述配置信息中设置有所述标识字段的情况下,基于所述标识字段,将所述第一数据卷挂载到所述目标容器。
8.一种信息处理装置,包括:
获得模块,被配置为在目标容器运行过程中发送挂载请求的情况下,获得将第一数据卷挂载到所述目标容器的第一挂载信息;
配置模块,被配置为基于所述第一挂载信息,在针对所述目标容器的驱动配置库中扩展配置信息,其中,所述配置信息包括基于所述第一挂载信息设置的标识字段;以及
第一发送模块,被配置为发送所述配置信息至所述目标容器,以使得所述目标容器在运行过程中,能够基于所述配置信息挂载所述第一数据卷。
9.一种信息处理装置,包括:
第二发送模块,被配置为在目标容器的运行过程中,将第一数据卷挂载到所述目标容器的挂载请求发送至服务器端,以使得所述服务器端基于所述挂载请求,获得第一挂载信息,并基于所述第一挂载信息,在针对所述目标容器的驱动配置库中扩展配置信息,以及发送所述配置信息至所述目标容器;
接收模块,被配置为接收所述服务器端发送的所述配置信息;以及
挂载模块,被配置为基于所述配置信息,挂载所述第一数据卷至所述目标容器。
10.一种电子设备,包括:
处理器;以及
存储器,存储有计算机可执行指令,所述指令在被处理器执行时用于实现权利要求1至7中任一项所述的方法。
CN201910541587.XA 2019-06-21 2019-06-21 信息处理方法、信息处理装置和电子设备 Active CN110276194B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910541587.XA CN110276194B (zh) 2019-06-21 2019-06-21 信息处理方法、信息处理装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910541587.XA CN110276194B (zh) 2019-06-21 2019-06-21 信息处理方法、信息处理装置和电子设备

Publications (2)

Publication Number Publication Date
CN110276194A true CN110276194A (zh) 2019-09-24
CN110276194B CN110276194B (zh) 2021-06-15

Family

ID=67962250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910541587.XA Active CN110276194B (zh) 2019-06-21 2019-06-21 信息处理方法、信息处理装置和电子设备

Country Status (1)

Country Link
CN (1) CN110276194B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888852A (zh) * 2019-11-11 2020-03-17 北京宝兰德软件股份有限公司 一种挂载宿主机目录到容器环境中的方法及装置
CN111026422A (zh) * 2019-11-28 2020-04-17 浙江大华技术股份有限公司 基于容器的应用数据升级方法、装置及计算机存储介质
CN111399999A (zh) * 2020-03-05 2020-07-10 腾讯科技(深圳)有限公司 计算机资源处理方法、装置、可读存储介质和计算机设备
CN112799740A (zh) * 2021-02-08 2021-05-14 联想(北京)有限公司 一种控制方法、装置及电子设备
CN114567584A (zh) * 2022-02-28 2022-05-31 苏州浪潮智能科技有限公司 路由信息处理方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650566B2 (en) * 2011-08-29 2014-02-11 Vmware, Inc. Virtual machine provisioning in object storage system
CN106446275A (zh) * 2016-10-21 2017-02-22 国云科技股份有限公司 一种支持文件系统扩容的容器实现方法
CN107577937A (zh) * 2017-09-01 2018-01-12 深信服科技股份有限公司 一种应用程序保护方法及系统
CN107783837A (zh) * 2016-08-31 2018-03-09 阿里巴巴集团控股有限公司 一种进行存储扩展的方法、装置及电子设备
CN107870968A (zh) * 2016-09-23 2018-04-03 苹果公司 对文件系统卷执行实时更新
CN108509152A (zh) * 2018-03-20 2018-09-07 新华三云计算技术有限公司 一种实现容器运行时数据存储的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650566B2 (en) * 2011-08-29 2014-02-11 Vmware, Inc. Virtual machine provisioning in object storage system
CN107783837A (zh) * 2016-08-31 2018-03-09 阿里巴巴集团控股有限公司 一种进行存储扩展的方法、装置及电子设备
CN107870968A (zh) * 2016-09-23 2018-04-03 苹果公司 对文件系统卷执行实时更新
CN106446275A (zh) * 2016-10-21 2017-02-22 国云科技股份有限公司 一种支持文件系统扩容的容器实现方法
CN107577937A (zh) * 2017-09-01 2018-01-12 深信服科技股份有限公司 一种应用程序保护方法及系统
CN108509152A (zh) * 2018-03-20 2018-09-07 新华三云计算技术有限公司 一种实现容器运行时数据存储的方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
技术小阿哥: "Docker容器学习梳理-基础知识(2)", 《HTTPS://YQ.ALIYUN.COM/ARTICLES/517885?SPM=A2C4E.11153940.0.0.42CF5C2DT0ZQYV》 *
无声胜有声: "给一个正在运行的Docker容器动态添加Volume", 《HTTPS://DEVELOPER.ALIYUN.COM/ARTICLE/319312》 *
蒋安国等: "Docker技术之Docker-Compose研究", 《现代信息科技》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888852A (zh) * 2019-11-11 2020-03-17 北京宝兰德软件股份有限公司 一种挂载宿主机目录到容器环境中的方法及装置
CN111026422A (zh) * 2019-11-28 2020-04-17 浙江大华技术股份有限公司 基于容器的应用数据升级方法、装置及计算机存储介质
CN111026422B (zh) * 2019-11-28 2022-08-09 浙江大华技术股份有限公司 基于容器的应用数据升级方法、装置及计算机存储介质
CN111399999A (zh) * 2020-03-05 2020-07-10 腾讯科技(深圳)有限公司 计算机资源处理方法、装置、可读存储介质和计算机设备
CN111399999B (zh) * 2020-03-05 2023-06-20 腾讯科技(深圳)有限公司 计算机资源处理方法、装置、可读存储介质和计算机设备
CN112799740A (zh) * 2021-02-08 2021-05-14 联想(北京)有限公司 一种控制方法、装置及电子设备
CN114567584A (zh) * 2022-02-28 2022-05-31 苏州浪潮智能科技有限公司 路由信息处理方法、装置、计算机设备和存储介质
CN114567584B (zh) * 2022-02-28 2023-07-21 苏州浪潮智能科技有限公司 路由信息处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN110276194B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
CN110276194A (zh) 信息处理方法、信息处理装置和电子设备
US10768919B2 (en) Package installation on a host file system using a container
US10936298B2 (en) Systems and methods for updating and loading an application
CN109582441A (zh) 用于提供容器服务的系统、方法和装置
US9898395B2 (en) Unit-level formal verification for vehicular software systems
CN107431651A (zh) 一种网络服务的生命周期管理方法及设备
CN109062563B (zh) 用于生成页面的方法和装置
CN110019080A (zh) 数据访问方法和装置
US9471352B1 (en) Capability based placement
CN108845863A (zh) 用于虚拟机与宿主机的通信方法、装置和系统
CN114205342B (zh) 服务调试的路由方法、电子设备及介质
US20190095441A1 (en) Container image size reduction via runtime analysis
WO2023216491A1 (zh) 动画资源的信息处理方法及装置、设备、介质及产品
US11120148B2 (en) Dynamically applying application security settings and policies based on workload properties
Radez Openstack essentials
CN113709810A (zh) 一种网络服务质量的配置方法、设备和介质
CN110348225A (zh) 针对应用程序接口的安全漏洞确定方法和装置
WO2021139379A1 (zh) 活动配置方法、装置、可读介质及电子设备
CN112527386B (zh) 应用程序发布方法及装置
CN110851211A (zh) 用于显示应用信息的方法、装置、电子设备和介质
US11184251B2 (en) Data center cartography bootstrapping from process table data
CN109101311A (zh) 一种显示视图兼容的方法及电子设备
US20210099462A1 (en) Methods and apparatus to improve performance of cloud-based services across geographic regions
US20230229438A1 (en) Kernels as a service
CN113342457A (zh) 基于Eureka服务注册与发现的Kubernetes调度方法

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Hu Wei

Inventor after: Sun Ruiqi

Inventor before: Hu Wei

Inventor before: Sun Ruiqi

GR01 Patent grant
GR01 Patent grant