CN111382136B - 文件系统镜像及文件请求方法 - Google Patents
文件系统镜像及文件请求方法 Download PDFInfo
- Publication number
- CN111382136B CN111382136B CN201811642845.5A CN201811642845A CN111382136B CN 111382136 B CN111382136 B CN 111382136B CN 201811642845 A CN201811642845 A CN 201811642845A CN 111382136 B CN111382136 B CN 111382136B
- Authority
- CN
- China
- Prior art keywords
- file
- target file
- request
- target
- image
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000004891 communication Methods 0.000 claims abstract description 80
- 238000012806 monitoring device Methods 0.000 claims description 25
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 abstract description 20
- 230000037430 deletion Effects 0.000 abstract description 20
- 230000005856 abnormality Effects 0.000 abstract description 13
- 238000013461 design Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种文件系统镜像及文件请求方法,用以实时解决文件缺失的问题,以实现在解决文件缺失的过程中,不中断发生文件缺失异常的应用。该文件系统镜像包括通信模块,用于接收来自应用的第一目标文件请求,第一目标文件请求用于请求目标文件,根据文件服务器的地址,向文件服务器发送第二目标文件请求,第二目标文件请求用于请求该目标文件,接收文件服务器发送的该目标文件,向应用发送该目标文件,文件服务器中存储有应用请求的、文件系统镜像中不包括的文件。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种文件系统镜像及文件请求方法。
背景技术
文件系统镜像是对应用及其运行环境进行标准化封装得到的,例如容器镜像。随着应用包括的功能越来越多,应用的设计越来越复杂,从而导致文件系统镜像占用的存储空间也越来越大,而一些场景(例如边缘计算、数据中心等场景)下为部署文件系统镜像仅能提供有限的存储空间或者对文件系统镜像的运行速度有较高的需求,为此业界提出对文件系统镜像进行裁剪得到轻量的文件系统镜像,以减少存储空间的占用或者提高文件系统镜像的运行速度。
可以理解,对文件系统镜像裁剪的越多,裁剪后的文件系统镜像越轻量,占用存储空间也越少,运行速度也越快。然而,若对文件系统镜像过度裁剪,会导致应用所必须的某些文件被裁剪,使得在应用运行时或者新的应用部署时,存在不可预知的文件缺失,导致已部署的应用无法正常运行或者新的应用无法部署。
以容器镜像为例,针对上述文件缺失的情况,需要离线分析文件缺失的原因,根据缺失的文件生成相应的容器镜像补丁,然后通过一系列工具,将相应的容器镜像补丁打入原有的容器镜像以弥补缺失的文件。采用该方法不能实时地解决文件缺失的问题,会中断发生文件缺失异常的应用。
发明内容
本申请实施例提供一种文件系统镜像及文件请求方法,用以实时解决文件缺失的问题,以实现在解决文件缺失的过程中,不中断发生文件缺失异常的应用。
第一方面,本申请实施例提供一种文件系统镜像,该文件系统镜像可以包括通信模块,该通信模块用于获取应用的第一目标文件请求,第一目标文件请求用于请求目标文件,根据文件服务器的地址,向文件服务器发送第二目标文件请求,第二目标文件请求用于请求该目标文件,接收文件服务器发送的该目标文件,向应用发送该目标文件,文件服务器中存储有应用请求的、文件系统镜像中不包括的文件。
应用的第一目标文件请求可以直接发给该通信模块,也可以是该文件系统镜像内的其它层级处理过后发现没有该目标文件,然后将该请求发给该通信模块。第一目标文件请求和第二目标文件请求可以相同,也可以不同。
本申请实施例提供了一种包括通信模块的新型文件系统镜像,在文件系统镜像中目标文件缺失的情况下,无需将文件系统镜像做离线处理,也不需要用户手动更新文件系统镜像,可通过通信模块向文件服务器实时获取文件系统镜像缺失的目标文件,并将获取到的目标文件实时发送给应用,使得应用对文件系统镜像中文件缺失的异常无感知,不会中断正在运行的应用,应用能够正常执行成功。
在一种可能的设计中,文件系统镜像还包括确定模块,用于在通信模块向文件服务器发送第二目标文件请求之前,确定目标文件对应的标识包含在文件标识列表中,文件标识列表中包括文件服务器中存储的全部文件的标识。这样,文件系统镜像只有当确定文件服务器中存储有应用请求的目标文件时,才向文件服务器发送第二目标文件请求,这样,可避免在文件服务器中请求不到目标文件,可提高文件请求效率。
在一种可能的设计中,通信模块还用于接收来自文件服务器的更新信息,更新信息用于更新文件标识列表,文件系统镜像还包括更新模块,用于根据更新信息更新文件标识列表。这样,可提高文件请求效率。需要说明的是,本申请对如何接收更新信息不做限定,例如可以按周期接收,也可在文件服务器中文件发生变化(例如删除文件、增加文件或修改文件等)时,接收更新信息。其中,更新信息例如可以是删除某些文件的标识或者增加某些文件的标识等。
在一种可能的设计中,确定模块还用于在通信模块向文件服务器发送第二目标文件请求之前,确定文件系统镜像中不包括目标文件。这样,在确定文件系统镜像中不包括目标文件时,才会向文件服务器请求目标文件,可提高请求效率。
在一种可能的设计中,第二目标文件请求包括平台信息,第二目标文件请求具体用于请求与平台信息相匹配的目标文件,平台信息包括文件系统镜像所处的硬件平台信息和文件系统镜像的软件版本信息。这样,文件系统镜像可向文件服务器请求与平台信息相匹配的目标文件,使得请求到的目标文件可以与文件系统镜像保持兼容性,避免文件请求出错。
在一种可能的设计中,文件系统镜像包括第一镜像层和第二镜像层,第一镜像层为文件系统镜像原有的镜像层,第二镜像层为文件系统镜像新增的镜像层,通信模块、确定模块以及更新模块置于第二镜像层,第二镜像层位于第一镜像层之下。这样,由于文件系统镜像中检索文件的逻辑通常是自上而下的,故将第二镜像层置于第一镜像层之下,能够使得文件系统镜像在处理文件缺失时的处理逻辑更简单。
在一种可能的设计中,通信模块还用于在接收文件服务器发送的目标文件之后,存储目标文件。这样,通过存储从文件服务器接收的目标文件,以便应用后续再次请求该目标文件时使用,可避免向文件服务器重复请求该目标文件。
第二方面,本申请实施例提供了一种文件请求方法。该方法包括:接收来自应用的第一目标文件请求,第一目标文件请求用于请求目标文件,根据文件服务器的地址,向文件服务器发送第二目标文件请求,第二目标文件请求用于请求该目标文件,文件服务器中存储有应用请求的、文件系统镜像中不包括的文件,接收文件服务器发送的目标文件,向应用发送目标文件。通过该方法,在文件系统镜像中目标文件缺失的情况下,可向文件服务器实时获取文件系统镜像缺失的目标文件,无需将文件系统镜像做离线处理,也不需要用户手动更新文件系统镜像,使得应用对文件系统镜像中文件缺失的异常无感知,不会中断正在运行的应用。
在一种可能的设计中,根据文件服务器的地址,向文件服务器发送第二目标文件请求之前,还可以确定目标文件对应的标识包含在文件标识列表中,文件标识列表中包括文件服务器中存储的全部文件的标识。通过该方法,只有当确定文件服务器中存储有应用请求的目标文件时,才向文件服务器发送第二目标文件请求,这样,可避免在文件服务器中请求不到目标文件,可提高文件请求效率。
在一种可能的设计中,还可接收来自文件服务器的更新信息,更新信息用于更新文件标识列表,根据更新信息更新文件标识列表。这样,可提高文件请求效率。
在一种可能的设计中,根据文件服务器的地址,向文件服务器发送第二目标文件请求之前,还可以确定文件系统镜像中不包括目标文件。通过该方法,在确定文件系统镜像中不包括目标文件时,才会向文件服务器请求目标文件,可提高请求效率。
在一种可能的设计中,第二目标文件请求包括平台信息,第二目标文件请求具体用于请求与平台信息相匹配的目标文件,平台信息包括文件系统镜像所处的硬件平台信息和文件系统镜像的软件版本信息。通过该方法,可向文件服务器请求与平台信息相匹配的目标文件,使得请求到的目标文件可以与文件系统镜像保持兼容性,避免文件请求出错。
在一种可能的设计中,接收文件服务器发送的目标文件之后,还可以存储该目标文件。通过该方法,可避免应用后续再次请求该目标文件时,重复向文件服务器请求该目标文件。
第三方面,本申请实施例提供了另一种文件请求方法,应用于文件系统镜像,该文件系统镜像包括通信模块,该方法包括:通过通信模块接收来自应用的第一目标文件请求,第一目标文件请求用于请求目标文件,根据文件服务器的地址,向文件服务器发送第二目标文件请求,第二目标文件请求用于请求该目标文件,文件服务器中存储有应用请求的、文件系统镜像中不包括的文件,接收文件服务器发送的该目标文件,向应用发送该目标文件。
在一种可能的设计中,该文件系统镜像还包括确定模块,通过通信模块向文件服务器发送第二目标文件请求之前,还可以通过确定模块确定目标文件对应的标识包含在文件标识列表中,该文件标识列表中包括文件服务器中存储的全部文件的标识。通过该种设计的方法,只有当确定文件服务器中存储有应用请求的目标文件时,才通过通信模块向文件服务器发送第二目标文件请求,这样,可避免在文件服务器中请求不到目标文件,可提高文件请求效率。
在一种可能的设计中,还可通过通信模块接收来自文件服务器的更新信息,更新信息用于更新文件标识列表,文件系统镜像还包括更新模块,通过该更新模块根据更新信息更新文件标识列表。
在一种可能的设计中,通过通信模块向文件服务器发送第二目标文件请求之前,还可以通过确定模块确定文件系统镜像中不包括目标文件。通过该种设计的方法,在确定文件系统镜像中不包括目标文件时,才会向文件服务器请求目标文件,可提高请求效率。
在一种可能的设计中,第二目标文件请求包括平台信息,第二目标文件请求具体用于请求与平台信息相匹配的目标文件,平台信息包括文件系统镜像所处的硬件平台信息和文件系统镜像的软件版本信息。通过该种设计的方法,可向文件服务器请求与平台信息相匹配的目标文件,使得请求到的目标文件可以与文件系统镜像保持兼容性,避免文件请求出错。
在一种可能的设计中,通过通信模块接收文件服务器发送的目标文件之后,还可以存储该目标文件。这样,通过存储从文件服务器接收到的目标文件,以便应用后续再次请求该目标文件时使用,可避免向文件服务器重复请求该目标文件。
第四方面,本申请实施例中提供了又一种文件请求方法,应用于文件系统镜像,该方法包括:接收来自应用的第一目标文件请求,第一目标文件请求用于请求目标文件,若确定该目标文件对应的标识包含在文件标识列表中,则根据文件服务器的地址,向文件服务器发送第二目标文件请求,第二目标文件请求用于请求目标文件,接收文件服务器发送的目标文件,向应用发送目标文件。其中,文件标识列表中包括文件服务器中存储的全部文件的标识。
通过上述方法,可以在文件系统镜像中目标文件缺失的情况下,向文件服务器实时获取文件系统镜像缺失的目标文件,并将获取到的目标文件实时发送给应用,使得应用对文件系统镜像中文件缺失的异常无感知,不会中断正在运行的应用。且,仅当确定文件服务器中存储有应用请求的目标文件时,才向文件服务器发送第二目标文件请求,这样,可避免在文件服务器中请求不到目标文件,可提高文件请求效率。
第五方面,本申请实施例中提供了又一种文件请求方法,应用于文件系统镜像,该方法包括:接收来自应用的第一目标文件请求,第一目标文件请求用于请求目标文件,若确定文件系统镜像不包含该目标文件,则根据文件服务器的地址,向文件服务器发送第二目标文件请求,第二目标文件请求用于请求目标文件,接收文件服务器发送的目标文件,向应用发送目标文件。
在一种可能的设计中,向文件服务器发送第二目标文件请求之前,还可以确定目标文件对应的标识包含在文件标识列表中,文件标识列表中包括文件服务器中存储的全部文件的标识。
第六方面,本申请实施例中提供一种监控装置,监控装置可以是物理设备或虚拟设备(如用户空间文件系统(filesystemin userspace,FUSE))。所述通信模块用于获取应用发送给文件系统镜像的第一目标文件请求,所述第一目标文件请求用于请求目标文件;所述确定模块用于确定所述文件系统镜像中不包括所述目标文件;所述通信模块还用于在确定模块确定所述文件系统镜像中不包括所述目标文件时,根据文件服务器的地址,向所述文件服务器发送第二目标文件请求,所述第二目标文件请求用于请求目标文件;接收所述文件服务器发送的所述目标文件,向应用返回所述目标文件。
其中,第一目标文件请求用于向文件系统镜像请求目标文件,第二目标文件请求用于向文件服务器请求目标文件,文件服务器中存储有应用请求的、文件系统镜像中不包括的文件。
在一种可能的设计中,在通信模块向文件服务器发送第二目标文件请求之前,确定模块还用于确定该目标文件对应的标识包含在第一文件标识列表中,第一文件标识列表中包括文件服务器中存储的全部文件的标识。这样,监控装置只有当确定文件服务器中存储有应用请求的目标文件时,才向文件服务器发送第二目标文件请求,可避免在文件服务器中请求不到目标文件,可提高文件请求效率。
在一种可能的设计中,通信模块还用于接收来自文件服务器的更新信息,更新信息用于更新第一文件标识列表,该监控装置还包括更新模块,用于根据更新信息更新文件标识列表。这样,可提高文件请求效率。
在一种可能的设计中,确定模块确定该文件系统镜像中不包括该目标文件包括:确定目标文件对应的标识不包含在第二文件标识列表中,第二文件标识列表中包括文件系统镜像中存储的全部文件的标识。
在一种可能的设计中,通信模块还用于向文件系统镜像发送该目标文件。
第七方面,本申请实施例提供了又一种文件请求方法,应用于监控装置,该方法包括:接收来自应用的第一目标文件请求,确定文件系统镜像中不包括目标文件,根据文件服务器的地址,向文件服务器发送第二目标文件请求,接收文件服务器发送的目标文件,向应用发送目标文件。其中,第一目标文件请求用于向文件系统镜像请求目标文件,第二目标文件请求用于向文件服务器请求目标文件,文件服务器中存储有应用请求的、文件系统镜像中不包括的文件。
在一种可能的设计中,在向文件服务器发送第二目标文件请求之前,确定该目标文件对应的标识包含在第一文件标识列表中,第一文件标识列表中包括文件服务器中存储的全部文件的标识。
在一种可能的设计中,接收来自文件服务器的更新信息,更新信息用于更新第一文件标识列表,根据更新信息更新文件标识列表。
在一种可能的设计中,确定文件系统镜像中不包括该目标文件包括:确定目标文件对应的标识不包含在第二文件标识列表中,第二文件标识列表中包括文件系统镜像中存储的全部文件的标识。
在一种可能的设计中,向文件系统镜像发送该目标文件。
第八方面,本申请实施例提供了又一种文件请求方法,应用于监控装置,该监控装置包括通信模块以及确定模块,该方法包括:通过通信模块接收来自应用的第一目标文件请求,该第一目标文件请求用于向文件系统镜像请求目标文件,通过确定模块确定该文件系统镜像中不包括该目标文件,通过通信模块根据文件服务器的地址向文件服务器发送第二目标文件请求,第二目标文件请求用于向文件服务器请求目标文件,通过通信模块接收文件服务器发送的目标文件,并向应用发送该目标文件。其中,文件服务器中存储有应用请求的、文件系统镜像中不包括的文件。
通过上述方法,可以在不更改文件系统镜像的情况下,通过监控装置包括的通信模块向文件服务器实时获取文件系统镜像缺失的目标文件,并将获取到的目标文件实时发送给应用,使得应用对文件系统镜像中文件缺失的异常无感知,不会中断正在运行的应用,应用能够正常执行成功。
在一种可能的设计中,在向文件服务器发送第二目标文件请求之前,通过确定模块确定该目标文件对应的标识包含在第一文件标识列表中,第一文件标识列表中包括文件服务器中存储的全部文件的标识。
在一种可能的设计中,还可通过通信模块接收来自文件服务器的更新信息,更新信息用于更新第一文件标识列表。该监控装置还包括更新模块,通过该更新模块根据更新信息更新文件标识列表。
在一种可能的设计中,通过确定模块确定目标文件对应的标识不包含在第二文件标识列表中,第二文件标识列表中包括文件系统镜像中存储的全部文件的标识。
在一种可能的设计中,还可通过通信模块向文件系统镜像发送该目标文件,以便于文件系统镜像将该目标文件存储起来。
第九方面,本申请实施例中还提供一种计算机系统,包括处理器和存储器,所述存储器存储有计算机可执行指令,所述处理器,用于执行所述存储器存储的所述计算机执行指令,以实现上述第一方面或上述第一方面的任意一种设计提供的文件系统镜像。
第十方面,本申请实施例中还提供一种计算机系统,包括处理器和存储器,所述存储器存储有计算机可执行指令,所述处理器,用于执行所述存储器存储的所述计算机执行指令,以实现上述任一设计提供的监控装置。
第十一方面,本申请实施例中还提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令在被计算机调用时,以实现上述任一方面或具体实现方式所提供的文件请求方法。
第十二方面,本申请实施例中还提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令在被计算机调用时,以实现上述任一方面或具体实现方式所提供的文件请求方法。
附图说明
图1为本申请实施例提供的一种镜像示意图;
图2为本申请实施例提供的一种文件系统镜像示意图;
图3为本申请实施例提供的一种应用访问文件系统镜像;
图4为一种文件系统镜像的文件缺失处理方法示意图;
图5a为本申请实施例提供的一种新型文件系统镜像结构示意图;
图5b为本申请实施例提供的另一种新型文件系统镜像结构示意图;
图5c为本申请实施例提供的又一种新型文件系统镜像结构示意图;
图6为本申请实施例提供的又一种新型文件系统镜像结构示意图;
图7为本申请实施例提供的又一种新型文件系统镜像结构示意图;
图8为本申请实施例提供的一种文件请求方法的实施流程图;
图9为本申请实施例提供的又一种文件请求方法的实施流程图;
图10为本申请实施例提供的一种监控装置结构示意图;
图11为本申请实施例提供的一种基于监控装置的结构示意图;
图12为本申请实施例提供的又一种文件请求方法的实施流程图。
具体实施方式
下面结合说明书附图对本申请进行具体说明。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
1)镜像(image),通常不包含动态数据,其内容在构建之后也通常不会被改变,可以理解为是一堆只读层(read-only layer)的统一视角,每个只读层可以理解为一个文件集合,参阅图1所示,图1中示出一种可能的镜像示意图,图1中以包括三个只读层的镜像为例示意不做限定,编号1、2、3代表了不同层次的只读层,实际应用中一个镜像可包括一个或多个只读层,当包括多个只读层时,多个只读层重叠在一起,除最下面一层只读层,其它只读层都会有一个指针指向下一层只读层。其中,只读层用于存储持久性文件,持久性文件可以理解为一旦生成内容不再变化的文件,可以理解为只读层用于存储只读文件。
2)文件系统镜像,由特定格式的文件封装成的镜像,镜像中的内容可以根据用户需要封装。本申请实施例中主要以分层结构的文件组成的容器镜像为例说明。本申请中主要以对应用及其运行环境进行标准化封装后得到的容器镜像为例说明。
容器镜像用户通常会按照应用的需求,将特定文件打包进容器镜像,以便在应用运行时访问。一个容器镜像可以包括一个读写层(read-write layer),零个、一个或多个只读层,本申请中主要以包括一个读写层以及多个只读层的容器镜像为例说明。参阅图2所示,图2中示出一种可能的容器镜像示意图,图2中以包括三个只读层、一个读写层的容器镜像为例示意不做限定,编号1、2、3表示不同层次的只读层,编号4表示读写层,读写层会有一个指针指向其下面一层只读层,除最下面一层只读层,其它只读层都会有一个指针指向下一层只读层。其中,读写层用于存储可修改文件,可修改文件可理解为一旦生成内容还可修改的文件。
容器镜像对应用提供统一的文件系统视角,可以理解为对应用提供统一的访问接口,应用无需关心容器镜像中各个层之间的逻辑关系,参阅图3所示,应用可通过统一的访问接口对容器镜像执行读出或写入操作。以从该容器镜像读出文件为例,当应用需要访问容器镜像中的某一文件时,会依次从读写层4到只读层3到只读层2到只读层1检索该文件,若在1、2、3或4的任一层检索到该文件,则通过统一的访问接口返回给应用,若检索到只读层1还未检索到所访问的文件,则返回文件缺失错误。
3)在本申请的描述中,除非另有说明,“多个”是指两个或两个以上,其它量词与之类似。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
需要说明的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
参阅图4所示,其为一种容器镜像的文件缺失处理方法示意图,容器镜像当应用向容器镜像请求目标文件时,若容器镜像中的目标文件缺失,通过现有技术中的方法,需要通过一系列的分析工具离线分析目标文件缺失的原因,根据缺失的目标文件生成相应的容器镜像补丁,然后通过一系列补丁工具,将相应的容器镜像补丁打入原有的容器镜像以弥补缺失的目标文件。采用该方法不能实时的解决文件缺失的问题,会中断发生文件缺失异常的应用。
基于上述存在的问题,本申请实施例提供一种区别于现有技术的容器镜像,在容器镜像存在文件缺失的情况下,可实时的向文件服务器获取容器镜像缺失的目标文件,并将获取到的目标文件实时发送给应用,使得应用对容器镜像中文件缺失的异常无感知,不会中断正在运行的应用,应用能够正常执行成功。本申请以下为方便描述,可将现有未更改的容器镜像称为原始容器镜像,相应的,可将本申请实施例提供的更改之后的容器镜像称为新型容器镜像。本申请下文中以图2所示的容器镜像为原始容器镜像为例说明,本申请下文中新型容器镜像可以是指基于图2所示的容器镜像更改后的容器镜像。
请参考图5a,其为本申请实施例提供的一种新型容器镜像结构示意图。图5a中容器镜像500包括通信模块501,通信模块501用于接收来自应用的第一目标文件请求,第一目标文件请求用于请求目标文件,通信模块501在接收到该第一目标文件请求后,根据文件服务器的地址,向文件服务器发送第二目标文件请求,接收文件服务器发送的目标文件,向应用发送目标文件,第二目标文件请求用于请求目标文件,文件服务器中存储有应用请求的、容器镜像中不包括的文件。
可以理解的是,容器镜像500内还有多个文件及其它可能的功能模块,图中暂未示出。
通过本申请实施例提供的新型容器镜像500,可以在确定目标文件缺失的情况下,通过通信模块501向文件服务器实时获取容器镜像缺失的目标文件,并将获取到的目标文件实时发送给应用,使得应用对容器镜像中文件缺失的异常无感知,不会中断正在运行的应用,应用能够正常执行成功。
本申请实施例中,文件服务器可以包括与容器镜像相对应的通信模块,用于与容器镜像的通信模块进行通信。一种可能的实现方式中,通信模块501向文件服务器发送第二目标文件请求之前,可根据文件服务器的地址与文件服务器中的通信模块建立连接。
在一个可能的实例中,容器镜像500还包括确定模块502,参阅图5b所示。在该实例中,确定模块502用于在通信模块501向文件服务器发送第二目标文件请求之前,确定目标文件对应的标识包含在文件标识列表中,文件标识列表中包括文件服务器中存储的全部文件的标识。这样,只有在确定模块502确定文件服务器中存储有目标文件的情况下,才向文件服务器请求目标文件,可提高文件请求效率。
其中,文件标识列表可以预先存储在容器镜像500中,也可以按周期或实时的从文件服务器获取,本申请不做限定。
由于文件服务器中存储的文件可能会发生变化,例如,文件服务器可能会增加文件、删除文件或者修改文件,故为避免文件标识列表中存储的文件的标识与文件服务器中存储的文件不一致,进而导致目标文件获取失败,通过本申请实施例提供的容器镜像500还可以更新上述文件标识列表。在一个可能的实例中,容器镜像500还包括更新模块503,参阅图5c所示,更新模块503用于更新文件标识列表。示例性的,通信模块501接收来自文件服务器的更新信息,更新信息用于更新文件标识列表,更新模块503用于根据更新信息更新文件标识列表。例如,假设更新信息为文件服务器已删除的文件的标识,则更新模块503根据该已删除的文件的标识,相应的删除文件标识列表中相同的标识。又例如,假设更新信息为文件服务器增加的文件的标识,则更新模块503根据该增加的文件的标识,相应的在文件标识列表中增加相同的标识。
在一个可能的实例中,确定模块502还可用于在通信模块501向文件服务器发送第二目标文件请求之前,确定文件系统镜像500中不包括应用请求的目标文件。也就是说,在确定文件系统镜像500中不包括应用请求的目标文件的情况下,才会向文件服务器请求该目标文件,可提高请求效率。
在一个可能的实例中,第二目标文件请求包括平台信息,第二目标文件请求具体用于请求与平台信息相匹配的目标文件,平台信息包括文件系统镜像所处的硬件平台信息和文件系统镜像的软件版本信息。例如,硬件平台信息可以包括CPU架构(例如,arm64)以及字节顺序(例如,bigendian)等。软件版本信息可以包括系统内核版本(例如,linux-3.10)以及发行版本(例如,ubuntu-16.04)等。
在一个可能的实例中,在通信模块501接收文件服务器发送的目标文件之后,还可存储接收到的目标文件。以便应用后续再次请求该目标文件时使用,可避免向文件服务器重复请求该目标文件,达到获取目标文件快捷、且节约传输资源的目的。
本申请实施例提供的容器镜像500除包括现有的模块(图5a、图5b、图5c中未示出)之外,还可包括一些新增模块,例如通信模块501、确定模块502和更新模块503,本申请对这些新增模块在容器镜像500中的位置不做限定。以下分别描述两种可能的情况。
一种可能的情况,这些新增模块位于容器镜像500的原始镜像层,即在容器镜像500的原始镜像层中部署上述新增模块。其中,原始镜像层是指未对容器镜像进行更改之前原有的镜像层。例如,针对图2所示的容器镜像,只读层1-只读层3以及读写层4均可理解为该容器镜像的原始镜像层。
另一种可能的情况,这些新增模块位于容器镜像500的新增镜像层,即在容器镜像500的新增镜像层中部署上述新增模块,由于设置该新增镜像层的目的是请求目标文件,故本申请中也可将该新增镜像层称为请求镜像层,下文统一描述为请求镜像层。这种情况下,可以理解为在请求镜像层中配置文件缺失异常的处理逻辑,也就是说,在请求镜像层中处理容器镜像500的文件缺失异常。通过将新增模块部署在容器镜像500的请求镜像层,不需要对容器镜像500的原始镜像层进行更改,便于实现。
本申请中对请求镜像层的存储格式不做限定,针对不同的实例可能对应不同的存储格式。
参阅表1所示,为本申请提供的一种可能的请求镜像层的存储格式。如表1所示,该请求镜像层可包括标识、文件服务器的地址、文件标识列表以及平台信息,表1仅作为示意,在实际应用中,请求镜像层还可以包括更少或更多的内容。
表1
此外,本申请实施例中,对请求镜像层在容器镜像500中的位置不做限定。一种可能的实现方式中,请求镜像层可以位于容器镜像500包括的原始镜像层之上。另一种可能的实现方式中,请求镜像层可以位于容器镜像500包括的原始镜像层之下。参阅图6所示,其为本申请实施例基于图2所示的原始容器镜像提供的一种新型容器镜像,该新型容器镜像与原始容器镜像相比,新增了请求镜像层0,该请求镜像层0位于原始镜像层之下。由于容器镜像中检索文件的逻辑通常是自上而下的,故将请求镜像层0置于原始镜像层之下,能够使得容器镜像在处理文件缺失时的处理逻辑更简单。
下面通过比较现有应用访问容器镜像的流程与本申请提供的应用访问容器镜像的流程,进一步说明将请求镜像层0设置在容器镜像的原始镜像层之下的优点。
以应用访问图2所示的原始容器镜像为例,对现有的应用访问容器镜像的流程进行说明。应用通过统一的访问接口模块访问(也可描述为读取或请求)图2所示的原始容器镜像中的文件时,从最上面的读写层依次向下检索,当读写层4中不包括应用请求的文件时,从只读层3检索,当只读层3中不包括应用请求的文件时,从只读层2检索,当只读层2中不包括应用请求的文件时,从只读层1检索,若只读层1中也不包括应用请求的文件,则可向应用返回文件缺失错误。
参阅图7所示,其为本申请实施例提供的另一种新型容器镜像结构示意图。下面以应用访问图7所示的新型容器镜像为例,对本申请提供的应用访问容器镜像的流程进行说明。应用访问本申请图7提供的新型容器镜像时,仍然通过统一的访问接口模块701,从最上面的读写层依次向下检索,当读写层中不包括应用请求的文件时,从只读层N(N为大于等于2的正整数)检索,当只读层N中不包括应用请求的文件时,依次从只读层N-1、……只读层1中检索,若只读层1中也不包括应用请求的文件,则由请求镜像层获得应用的文件请求,容器镜像确定模块702确定该目标文件是否包括在文件服务器中,若确定该目标文件包括在文件服务器中,容器镜像的通信模块703根据文件服务器的地址与文件服务器的通信模块704建立连接,向文件服务器的通信模块704发送携带平台信息的请求,文件服务器的通信模块704在收到该请求后,可向容器镜像的通信模块703返回与该平台信息相适应的目标文件,进而容器镜像的通信模块703向应用发送该目标文件,若确定模块702确定该目标文件不包括在文件服务器中,则可向应用返回文件缺失错误。显然,将请求镜像层设置在容器镜像的原始镜像层之下,处理逻辑简单,可提高请求效率。
需要说明的是,本申请中的“文件服务器”可以是一个,也可以是多个。确定模块702也可以不需要,而是直接向一个或多个文件服务器发送文件请求。应用层和容器镜像系统可以部署在同一台物理设备上,也可以部署在不同的物理设备上。
本申请实施例中,对新增的请求镜像层的数目不做限定。例如,可以是一层,也可以是多层。示例性的,当新增的请求镜像层的数目为多层时,可以采用上述配置请求镜像层的方法配置每一个新增的请求镜像层。可以为每一请求镜像层配置一个文件标识列表,若在某一请求镜像层未检索到应用请求的文件,则可进一步在其它请求镜像层继续检索,直至检索到应用请求的文件。本申请下文中主要以新增请求镜像层的数目为一层为例说明。
本申请实施例还提供一种文件请求方法,请参考图8,其为本申请实施例提供的一种文件请求方法的实施流程图,可应用于容器镜像,图8中以将文件请求方法应用于图7所示的容器镜像为例说明。参阅图8所示,该方法包括:
S101:接收来自应用的第一目标文件请求。第一目标文件请求用于请求目标文件。本申请实施例中,应用可以是处于运行状态的应用,在应用向容器镜像发送第一目标文件请求之前,用户可通过命令行或者其它方式启动该应用,使得该应用处于运行状态,应用在处于运行状态时可能会访问或者依赖容器镜像中的某个或多个文件。
需要说明的是,本申请中若无特殊说明,下文中所涉及的目标文件均是指第一目标文件请求所请求的文件。
S102:根据文件服务器的地址,向文件服务器发送第二目标文件请求。
可以理解,在向文件服务器发送第二目标文件请求之前,容器镜像可通过自身的通信模块703与文件服务器的通信模块704建立连接。示例性的,容器镜像的通信模块703与文件服务器的通信模块704可通过超文本传输协议(hypertext transfer protocol,HTTP)或者远程过程调用(remote procedure call,RPC)等方式建立连接。
一个可能的实例中,容器镜像在向文件服务器发送第二目标文件请求之前,还可确定容器镜像中不包括目标文件。这样,在确定文件系统镜像中不包括该目标文件的情况下,才会向文件服务器请求目标文件,可提高请求效率。
其中,在执行S102之前,还可确定目标文件对应的标识包含在文件标识列表中,文件标识列表中包括文件服务器中存储的全部文件的标识,通过该方法可提高文件请求效率。
为保证文件标识列表中存储的文件的标识与文件服务器中存储的文件一致,本申请实施例中,还可更新上述文件标识列表。示例性的,可采用如下方法更新上述文件标识列表:首先接收来自文件服务器的更新信息,更新信息用于更新文件标识列表,其次根据更新信息更新文件标识列表。
需要说明的是,本申请实施例中第一目标文件请求与第二目标文件请求可以是相同的请求,也可以是不同的请求。下面分别进行描述。
一种可能的情况,第一目标文件请求与第二目标文件请求为相同的请求时,容器镜像在接收到来自应用的第一目标文件请求后,可转发至文件服务器。
另一种可能的情况,第一目标文件请求与第二目标文件请求为不同的请求时,在接收到来自应用的第一目标文件请求后,可根据第一目标文件请求生成第二目标文件请求。示例性的,可以在第一目标文件请求中添加平台信息得到第二目标文件请求,此时,第二目标文件请求具体用于请求与平台信息相匹配的目标文件。平台信息可以包括文件系统镜像所处的硬件平台信息和文件系统镜像的软件版本信息。
S103:接收文件服务器发送的目标文件。
本申请实施例中,文件服务器可通过通信模块704向容器镜像的通信模块703发送该目标文件。
在一种可能的实现方式中,容器镜像接收文件服务器发送的目标文件之后,还可存储该目标文件。
S104:向应用发送目标文件。
通过本申请提供的方法,可以在确定容器镜像中不包括应用请求的目标文件的情况下,向文件服务器实时获取目标文件,并将获取到的目标文件实时发送给应用,使得应用对容器镜像中文件缺失的异常无感知,不会中断正在运行的应用,应用能够正常执行成功。
下面以一个完整的流程说明本申请实施例提供的文件请求方法。参阅图9所示,其为本申请实施例提供的又一种文件请求方法流程图。图9中以将文件请求方法应用于图7所示的容器镜像为例说明。参阅图9所示,该方法包括:
S201:应用向容器镜像请求目标文件。
S202:容器镜像判断是否存储该目标文件。若容器镜像中存储该目标文件,则执行S207,反之,若容器镜像中未存储该目标文件,则执行S203。
S203:容器镜像根据文件服务器地址,向该文件服务器获取该目标文件。
S204:文件服务器判断是否存在该目标文件,若存在该目标文件,则可执行S205,反之,若不存在该目标文件,则可执行S208。
S205:文件服务器向容器镜像发送该目标文件。
S206:容器镜像存储该目标文件。
S207:容器镜像向应用发送该目标文件。需要说明的是,实际实现中发送的可能是目标文件本身,也可能是目标文件的地址。
S208:文件服务器向容器镜像发送错误码,通过该错误码指示不存在该目标文件。
S209:容器镜像向应用发送该错误码。
本申请上述实施例提供一种新型容器镜像,通过对原始容器镜像更改,实时解决文件缺失的问题。本申请下文提供一种监控装置,该监控装置与容器镜像共同发挥作用,使得在不更改原始容器镜像的情况下,实时解决文件缺失的问题,以实现在解决文件缺失的过程中,不中断发生文件缺失异常的应用。
请参考图10,其为本申请实施例提供的一种监控装置结构示意图。图10中监控装置1000包括通信模块1001以及确定模块1002。该监控装置可以和容器镜像部署在同一台物理机上,也可以部署在不同的物理机上。
通信模块1001用于接收来自应用的第一目标文件请求。其中,第一目标文件请求用于向容器镜像请求目标文件。
确定模块1002用于确定容器镜像中不包括该目标文件。此外,确定模块1002还可用于确定容器镜像中包括该目标文件。当确定模块1002确定容器镜像中包括该目标文件时,将该第一目标请求转发至容器镜像,容器镜像收到该请求并找到目标文件之后,向应用发送该目标文件。
通信模块1001还用于在确定模块1002确定该容器镜像中不包括该目标文件时,根据文件服务器的地址,向文件服务器发送第二目标文件请求。第二目标文件请求用于向文件服务器请求目标文件。其中,该文件服务器用于存储文件,通常是本实施例中文件服务器中存储的是容器镜像中不包括的文件。在其他一些实施例中,在存储空间允许的情况下,文件服务器中也可以存储容器镜像中已有文件,这些文件在某些情况下可以被访问,比如容器镜像中的文件被损坏等情况。
通信模块1001还用于接收文件服务器发送的目标文件。
通信模块1001还用于向应用发送目标文件。
该实例中关于文件服务器的描述可参见上文中相关描述,此处不再赘述。
在一个可能的实例中,在通信模块1001向文件服务器发送第二目标文件请求之前,确定模块1002还用于确定该目标文件对应的标识包含在第一文件标识列表中,第一文件标识列表中包括文件服务器中存储的全部文件的标识。这样,仅当确定文件服务器中存储有应用请求的目标文件时,才向文件服务器发送第二目标文件请求,可提高文件请求效率。
为保证第一文件标识列表中存储的文件的标识与文件服务器中存储的文件一致,本申请实施例中,还可更新上述文件标识列表。一种可能的实现方式中,该监控装置1000还包括更新模块1003,用于更新第一文件标识列表。示例性的,通信模块1001还用于接收来自文件服务器的更新信息,更新信息用于更新第一文件标识列表,更新模块1003根据更新信息更新第一文件标识列表。
本申请实施例中,对确定模块1002如何确定容器镜像中是否包括该目标文件不做限定。一种可能的实现方式中,确定模块1002采用如下方式确定该容器镜像中不包括该目标文件:确定目标文件对应的标识不包含在第二文件标识列表中,第二文件标识列表中包括容器镜像中存储的全部文件的标识。
在一个可能的实例中,在通信模块1001接收文件服务器发送的目标文件之后,还可将该目标文件发送至容器镜像,以便容器镜像存储该目标文件,以便应用后续再次请求该目标文件时使用,可避免向文件服务器重复的请求该目标文件,以节省请求时间和传输资源。
本申请实施例中,监控装置1000可以是单独的物理设备或虚拟设备(如用户空间文件系统(filesystem in userspace,FUSE))。其中,FUSE是一个面向类的unix计算机操作系统的软件接口,它使无特权的用户能够无需编辑内核代码而创建自己的文件系统。
需要说明的是,若监控装置1000为FUSE文件系统,则可以挂载到容器镜像之上,组成堆栈式文件系统,以实现容器镜像的自更新能力。
请参考图11,其为本申请实施例提供的一种基于监控装置的结构示意图。图11所示的架构中未更改原始容器镜像,在容器镜像与应用之间增加监控装置,该监控装置包括通信模块1101以及确定模块1102,文件服务器包括通信模块1103,此外,在该结构中还包括用于访问容器镜像的统一的访问接口模块1104。在该种结构下,可通过该监控装置监控应用对容器镜像的文件请求,实时解决文件缺失的问题。
请参考图12,其为本申请实施例提供的又一种文件请求方法的实施流程图,可应用于图11所示的监控装置。参阅图12所示,该方法包括:
S301:接收来自应用的第一目标文件请求。第一目标文件请求用于请求目标文件。
S302:确定容器镜像中不包括该目标文件。
本申请实施例中对如何确定容器镜像中不包括该目标文件不做限定。一个可能的实例中,确定目标文件对应的标识不包含在第二文件标识列表中,第二文件标识列表中包括容器镜像中存储的全部文件的标识。
S303:根据文件服务器的地址,向文件服务器发送第二目标文件请求。第二目标文件请求用于请求目标文件,文件服务器中存储有应用请求的、容器镜像中不包括的文件。
可以理解,在向文件服务器发送第二目标文件请求之前,监控装置可通过自身的通信模块1101与文件服务器的通信模块1103建立连接。具体采用何种方式连接可参见图8中相关描述。
在一个可能的实例中,在向文件服务器发送第二目标文件请求之前,确定该目标文件对应的标识包含在第一文件标识列表中,第一文件标识列表中包括文件服务器中存储的全部文件的标识。
为保证第一文件标识列表中存储的文件的标识与文件服务器中存储的文件一致,本申请实施例中,还可更新上述第一文件标识列表。示例性的,可采用如下方法更新上述第一文件标识列表:首先接收来自文件服务器的更新信息,更新信息用于更新文件标识列表,其次根据更新信息更新文件标识列表。
该实例中,第一目标文件请求与第二目标文件请求的描述可参见图8中相关描述,此处不再赘述。
S304:接收文件服务器发送的目标文件。可以理解,文件服务器可通过通信模块1103向监控装置的通信模块1101发送该目标文件。
在一个可能的实例中,在执行S304之后,还可将该目标文件发送至容器镜像,以便容器镜像存储该目标文件,以便后续使用。
S305:向应用发送目标文件。
通过上述方法,在确定容器镜像中不包括应用请求的目标文件的情况下,无需将容器镜像做离线处理,可通过监控装置向文件服务器实时获取容器镜像缺失的目标文件,并将获取到的目标文件实时发送给应用,使得应用对容器镜像中文件缺失的异常无感知,不会中断正在运行的应用,应用能够正常执行成功。
基于与上述方法实施例相同构思,本申请实施例中还提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令在被计算机调用时,使所述计算机执行上述提供的方法实施例中的各个实施例的具体过程。本申请实施例中,对所述计算机可读存储介质不做限定,例如,可以是RAM(random-access memory,随机存取存储器)、ROM(read-only memory,只读存储器)等。
基于与上述方法实施例相同构思,本申请实施例中还提供一种计算机程序产品,所述计算机程序产品中存储有指令,当其在计算机上运行时,使得计算机执行上述任意一种可能的设计中提供的方法。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (15)
1.一种文件系统镜像,其特征在于,所述文件系统镜像为对特定格式的文件进行封装后得到的容器镜像,所述容器镜像中包括应用运行过程中访问的文件;所述文件系统镜像包括通信模块和确定模块,
所述通信模块,用于获取应用的第一目标文件请求,所述第一目标文件请求用于请求目标文件,根据文件服务器的地址,向所述文件服务器发送第二目标文件请求,接收所述文件服务器发送的所述目标文件,向所述应用发送所述目标文件,所述第二目标文件请求用于请求所述目标文件,所述文件服务器中存储有所述应用请求的、所述文件系统镜像中不包括的文件;
所述确定模块,用于在所述通信模块向所述文件服务器发送所述第二目标文件请求之前,确定所述目标文件对应的标识包含在文件标识列表中,所述文件标识列表中包括所述文件服务器中存储的全部文件的标识。
2.如权利要求1所述的文件系统镜像,其特征在于,所述通信模块还用于接收来自所述文件服务器的更新信息,所述更新信息用于更新所述文件标识列表;
所述文件系统镜像还包括更新模块:
所述更新模块,用于根据所述更新信息更新所述文件标识列表。
3.如权利要求1或2所述的文件系统镜像,其特征在于,所述确定模块还用于:
在所述通信模块向所述文件服务器发送所述第二目标文件请求之前,确定所述文件系统镜像中不包括所述目标文件。
4.如权利要求1至3任一项所述的文件系统镜像,其特征在于,所述第二目标文件请求包括平台信息,所述第二目标文件请求具体用于请求与所述平台信息相匹配的所述目标文件,所述平台信息包括所述文件系统镜像所处的硬件平台信息和所述文件系统镜像的软件版本信息。
5.如权利要求1-4任意一项所述的文件系统镜像,其特征在于,所述文件系统镜像包括第一镜像层和第二镜像层,所述第一镜像层为所述文件系统镜像原有的镜像层,所述第二镜像层为所述文件系统镜像新增的镜像层,所述通信模块置于所述第二镜像层,所述第二镜像层位于所述第一镜像层之下。
6.如权利要求1至5任一项所述的文件系统镜像,其特征在于,所述通信模块还用于:
在接收所述文件服务器发送的所述目标文件之后,存储所述目标文件。
7.一种文件请求方法,其特征在于,应用于文件系统镜像,所述文件系统镜像为对特定格式的文件进行封装后得到的容器镜像,所述容器镜像中包括应用运行过程中访问的文件;所述方法包括:
接收来自应用的第一目标文件请求,所述第一目标文件请求用于请求目标文件;
确定所述目标文件对应的标识包含在文件标识列表中,所述文件标识列表中包括文件服务器中存储的全部文件的标识;
根据文件服务器的地址,向所述文件服务器发送第二目标文件请求,所述第二目标文件请求用于请求所述目标文件,所述文件服务器中存储有所述应用请求的、所述文件系统镜像中不包括的文件;
接收所述文件服务器发送的所述目标文件;
向所述应用发送所述目标文件。
8.如权利要求7所述的方法,其特征在于,还包括:
接收来自所述文件服务器的更新信息,所述更新信息用于更新所述文件标识列表;
根据所述更新信息更新所述文件标识列表。
9.如权利要求7或8所述的方法,其特征在于,根据文件服务器的地址,向所述文件服务器发送第二目标文件请求之前,还包括:
确定所述文件系统镜像中不包括所述目标文件。
10.如权利要求7至9任一项所述的方法,其特征在于,所述第二目标文件请求包括平台信息,所述第二目标文件请求具体用于请求与所述平台信息相匹配的所述目标文件,所述平台信息包括所述文件系统镜像所处的硬件平台信息和所述文件系统镜像的软件版本信息。
11.如权利要求7至10任一项所述的方法,其特征在于,接收所述文件服务器发送的所述目标文件之后,还包括:
存储所述目标文件。
12.一种监控装置,其特征在于,所述监控装置与文件系统镜像协同工作,所述文件系统镜像为对特定格式的文件进行封装后得到的容器镜像,所述容器镜像中包括应用运行过程中访问的文件;所述监控装置包括通信模块以及确定模块,其中,
所述通信模块用于获取应用发送给所述文件系统镜像的第一目标文件请求,所述第一目标文件请求用于请求目标文件;
所述确定模块用于确定所述文件系统镜像中不包括所述目标文件,以及确定所述目标文件对应的标识包含在文件标识列表中,所述文件标识列表中包括所述文件服务器中存储的全部文件的标识;
所述通信模块还用于在确定模块确定所述文件系统镜像中不包括所述目标文件以及确定所述目标文件对应的标识包含在文件标识列表中时,根据文件服务器的地址,向所述文件服务器发送第二目标文件请求,所述第二目标文件请求用于请求目标文件;
接收所述文件服务器发送的所述目标文件,向应用返回所述目标文件。
13.一种计算机系统,其特征在于,包括:处理器和存储器;
所述存储器,存储计算机执行指令;
所述处理器,用于执行所述存储器存储的所述计算机执行指令,以实现如权利要求7至11任一项所述的文件请求方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令在被计算机调用时,以实现如权利要求7至权利要求11任一项所述的文件请求方法。
15.一种计算机系统,其特征在于,包括:处理器和存储器;
所述存储器,存储计算机执行指令;
所述处理器,用于执行所述存储器存储的所述计算机执行指令,以实现如权利要求12所述的监控装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811642845.5A CN111382136B (zh) | 2018-12-29 | 2018-12-29 | 文件系统镜像及文件请求方法 |
PCT/CN2019/112370 WO2020134405A1 (zh) | 2018-12-29 | 2019-10-21 | 文件系统镜像及文件请求方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811642845.5A CN111382136B (zh) | 2018-12-29 | 2018-12-29 | 文件系统镜像及文件请求方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382136A CN111382136A (zh) | 2020-07-07 |
CN111382136B true CN111382136B (zh) | 2024-03-15 |
Family
ID=71126838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811642845.5A Active CN111382136B (zh) | 2018-12-29 | 2018-12-29 | 文件系统镜像及文件请求方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111382136B (zh) |
WO (1) | WO2020134405A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407256A (zh) * | 2021-06-21 | 2021-09-17 | 国网北京市电力公司 | 电能表参数的处理方法和装置 |
CN117369947A (zh) * | 2023-10-26 | 2024-01-09 | 深圳海规网络科技有限公司 | 一种容器镜像的管理方法和管理系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116618A (zh) * | 2013-01-28 | 2013-05-22 | 南开大学 | 基于客户端持久缓存的远程文件系统镜像方法及系统 |
CN105763602A (zh) * | 2016-01-29 | 2016-07-13 | 腾讯科技(深圳)有限公司 | 一种数据请求处理的方法、服务器及系统 |
CN106790172A (zh) * | 2016-12-29 | 2017-05-31 | 东软集团股份有限公司 | 一种文件共享方法及服务器、客户端 |
CN108089888A (zh) * | 2016-11-21 | 2018-05-29 | 杨正 | 一种基于文件系统的应用运行方法及系统 |
CN108563461A (zh) * | 2018-03-20 | 2018-09-21 | 聚好看科技股份有限公司 | 一种从镜像中提取配置文件的方法、装置及系统 |
CN108667884A (zh) * | 2017-04-01 | 2018-10-16 | 华为技术有限公司 | 镜像分发方法、镜像获取方法及装置 |
CN108958927A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 容器应用的部署方法、装置、计算机设备和存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819020A (en) * | 1995-10-16 | 1998-10-06 | Network Specialists, Inc. | Real time backup system |
US7418439B2 (en) * | 2000-03-17 | 2008-08-26 | Twin Peaks Software, Inc. | Mirror file system |
US7191298B2 (en) * | 2002-08-02 | 2007-03-13 | International Business Machines Corporation | Flexible system and method for mirroring data |
CN102193807B (zh) * | 2010-03-19 | 2015-04-29 | 联想(北京)有限公司 | 一种镜像文件升级的方法、服务器及计算机网络系统 |
US20110295798A1 (en) * | 2010-05-27 | 2011-12-01 | Joseph Shain | Mobile mirror drive and remote access system |
CN103123588A (zh) * | 2013-02-05 | 2013-05-29 | 东莞宇龙通信科技有限公司 | 一种获取差分升级补丁的方法及系统 |
CN106325909B (zh) * | 2015-07-02 | 2021-03-23 | 株式会社日立制作所 | 对私有云系统中的多个镜像进行更新的方法和系统 |
US10657167B2 (en) * | 2017-01-06 | 2020-05-19 | Oracle International Corporation | Cloud gateway for ZFS snapshot generation and storage |
-
2018
- 2018-12-29 CN CN201811642845.5A patent/CN111382136B/zh active Active
-
2019
- 2019-10-21 WO PCT/CN2019/112370 patent/WO2020134405A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116618A (zh) * | 2013-01-28 | 2013-05-22 | 南开大学 | 基于客户端持久缓存的远程文件系统镜像方法及系统 |
CN105763602A (zh) * | 2016-01-29 | 2016-07-13 | 腾讯科技(深圳)有限公司 | 一种数据请求处理的方法、服务器及系统 |
CN108089888A (zh) * | 2016-11-21 | 2018-05-29 | 杨正 | 一种基于文件系统的应用运行方法及系统 |
CN106790172A (zh) * | 2016-12-29 | 2017-05-31 | 东软集团股份有限公司 | 一种文件共享方法及服务器、客户端 |
CN108667884A (zh) * | 2017-04-01 | 2018-10-16 | 华为技术有限公司 | 镜像分发方法、镜像获取方法及装置 |
CN108563461A (zh) * | 2018-03-20 | 2018-09-21 | 聚好看科技股份有限公司 | 一种从镜像中提取配置文件的方法、装置及系统 |
CN108958927A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 容器应用的部署方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020134405A1 (zh) | 2020-07-02 |
CN111382136A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109906433B (zh) | 针对容器的存储隔离 | |
US9898354B2 (en) | Operating system layering | |
US10140461B2 (en) | Reducing resource consumption associated with storage and operation of containers | |
US9703571B2 (en) | Server function switching device, method and program, and thin client system and server device | |
US8806489B2 (en) | Virtual machine image distribution network | |
US10430378B1 (en) | Fast container distribution with storage acceleration | |
US11010355B2 (en) | Layer-based file access method and apparatus of virtualization instance | |
US9940331B1 (en) | Proactive scavenging of file system snaps | |
EP3432132B1 (en) | Data storage method and device | |
US20200320189A1 (en) | Processing method for container security policy and related apparatus | |
CN111290827A (zh) | 数据处理的方法、装置和服务器 | |
US11474749B2 (en) | Configuring host access for virtual volumes | |
CN111382136B (zh) | 文件系统镜像及文件请求方法 | |
CN107113231A (zh) | 将基于图形的计算卸载到后端设备 | |
US11625192B2 (en) | Peer storage compute sharing using memory buffer | |
CN115048060B (zh) | 一种存储管理方法、装置、电子设备及存储介质 | |
US10223178B2 (en) | Enabling WPD devices to be managed at the capability level | |
US20130318102A1 (en) | Data Handling in a Cloud Computing Environment | |
CN112470443B (zh) | 将复位向的生物辨识装置隔离到远程会话 | |
CN115525618A (zh) | 存储集群、数据存储方法、系统及存储介质 | |
CN114064323A (zh) | 资源共享方法、终端、计算机可读介质 | |
EP3371695B1 (en) | Controlling reparse behavior associated with an intermediate directory | |
CN113741952A (zh) | 一种软件包管理方法、装置、设备及介质 | |
US12001859B1 (en) | Driver plugin wrapper for container orchestration systems | |
EP4068091A1 (en) | Hybrid approach to performing a lazy pull of container images |
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 |