CN112749137A - 数据处理方法、装置、设备及存储介质 - Google Patents

数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112749137A
CN112749137A CN201911051978.XA CN201911051978A CN112749137A CN 112749137 A CN112749137 A CN 112749137A CN 201911051978 A CN201911051978 A CN 201911051978A CN 112749137 A CN112749137 A CN 112749137A
Authority
CN
China
Prior art keywords
file
processed
files
layer file
image layer
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
CN201911051978.XA
Other languages
English (en)
Other versions
CN112749137B (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 Group Holding 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 CN201911051978.XA priority Critical patent/CN112749137B/zh
Publication of CN112749137A publication Critical patent/CN112749137A/zh
Application granted granted Critical
Publication of CN112749137B publication Critical patent/CN112749137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • G06F16/1752De-duplication implemented within the file system, e.g. based on file segments based on file chunks

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)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本申请实施例提供一种数据处理方法、装置、设备及存储介质。在数据处理方法中,获取到待处理镜像集包含的镜像层文件后,分解镜像层文件,得到待处理镜像集包含的多个待处理文件。基于粒度更小的待处理文件进行去重处理,可有效识别冗余文件,提升去重率,进而有利于优化待处理镜像集的数据量,降低云服务部署包的数据体积,以便于高效传输,提升云服务的部署和迭代效率。

Description

数据处理方法、装置、设备及存储介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
随着云计算市场不断扩大,云产品和解决方案的更新迭代速度越来越快。以专有云为例,需要基于客户的需求持续优化和输出专有云部署包。
专有云部署包中包括容器镜像层文件仓库包,这些镜像仓库包占据了大量的存储空间,使得部署包的体量过于庞大,不利于快速部署和版本迭代。因此,一种解决方案亟待提出。
发明内容
本申请的多个方面提供一种数据处理方法、装置、设备及存储介质,用以压缩镜像层文件仓库包的数据量,缩小部署包的体量,进而提升云服务的快速部署和版本迭代。
本申请实施例提供一种数据处理方法,包括:获取待处理镜像集包含的至少一个镜像层文件;根据所述至少一个镜像层文件的类型,分解所述至少一个镜像层文件,得到所述待处理镜像集包含的多个待处理文件;对所述多个待处理文件进行去重处理。
本申请实施例还提供一种数据处理装置,包括:获取模块,用于获取待处理镜像集包含的至少一个镜像层文件;分解模块,用于根据所述至少一个镜像层文件的类型,分解所述至少一个镜像层文件,得到所述待处理镜像集包含的多个待处理文件;去重模块,用于对所述多个待处理文件进行去重处理。
本申请实施例还提供一种数据处理设备,包括:存储器、处理器以及通信组件;所述存储器,用于存储计算机程序;所述处理器,与所述存储器和所述通信组件耦合,用于执行计算机程序,以用于执行本申请实施例提供的数据处理方法中的步骤或操作。
本申请实施例还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时能够实现本申请实施例提供的数据处理方法中的步骤或操作。
本申请实施例提供的数据处理方法中,获取到待处理镜像集包含的镜像层文件后,分解镜像层文件,得到待处理镜像集包含的多个待处理文件,其中,待处理文件为非压缩格式。基于粒度更小的待处理文件进行去重处理,可有效识别冗余文件,提升去重率,进而有利于优化待处理镜像集的数据量,降低云服务部署包的数据体积,以便于高效传输,提升云服务的部署和迭代效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的数据处理方法的流程示意图;
图2a为本申请另一示例性实施例提供的数据处理方法的流程示意图;
图2b为本申请又一示例性实施例提供的数据处理方法的流程示意图;
图3a为本申请又一示例性实施例提供的数据处理方法的流程示意图;
图3b为本申请又一示例性实施例提供的数据处理方法的流程示意图;
图4为本申请一示例性实施例提供的数据处理装置的结果示意图;
图5为本申请一示例性实施例提供的数据处理设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有技术中,镜像仓库包包含大量冗余文件,进而导致云服务部署包具有较大的数据量,不利于高效传输的技术问题,本申请实施例提供了一种解决方案,以下结合附图,详细说明本申请各实施例提供的技术方案。
图1是本申请一示例性实施例提供的数据处理方法的流程示意图,该方法可包括如图1所示的步骤:
步骤101、获取待处理镜像集包含的至少一个镜像层文件。
步骤102、根据该至少一个镜像层文件的类型,分解该至少一个镜像层文件,得到该待处理镜像集包含的多个待处理文件。
步骤103、对该多个待处理文件进行去重处理。
在本实施例中,待处理镜像集,包含一个或者多个待处理的镜像层文件。在一些实施例中,可从镜像仓库包中获取部分文件或者全部文件,形成待处理镜像集。其中,镜像仓库包可从云服务迭代时输出的云服务部署包中获取。
其中,云服务可包括但不限于专有云、公有云、混合云。以专有云为例,可以从专有云服务迭代时输出的专有云部署包中,获取容器镜像仓库包,接着,获取容器镜像仓库包中的所有文件或者部分文件,形成待处理镜像集。
其中,镜像层文件,指的是容器镜像中的不同镜像层产生的文件。分解镜像层文件,指的是对镜像层文件进行拆分处理,以将镜像层文件划分至更小粒度的文件的过程。在一些实施例中,分解镜像层文件,可包括将打包的镜像层文件分解成单个文件的过程,也可包括将单个文件分解为文件块的过程,本实施例不做限制。基于分解得到的更小的文件粒度执行文件去重处理,便于识别出文件中的冗余数据,有利于有效提升去重率。
容器镜像中的不同镜像层对本层文件的处理方式不同,因此,待处理镜像集中的镜像层文件的文件类型也不同。其中,分解镜像层文件时,可识别镜像层文件的类型,再根据镜像层文件的类型执行不同的分解策略。例如,针对压缩格式的镜像层文件执行某一种分解策略,针对非压缩格式的镜像层文件执行另一种分解策略,此处不赘述。基于文件类型对应的分解策略,可将不同类型的镜像层文件分解为不同粒度的待处理文件,有利于对不同类型的镜像层文件进行差异化去重处理。
本实施例中,获取到待处理镜像集包含的镜像层文件后,分解镜像层文件,得到待处理镜像集包含的多个待处理文件,其中,待处理文件为非压缩格式。基于粒度更小的待处理文件进行去重处理,可有效识别冗余文件,提升去重率,进而有利于优化待处理镜像集的数据量,降低云服务部署包的数据体积,以便于高效传输,提升云服务的部署和迭代效率。
可选地,在本申请的上述以及下述各实施例中,分解镜像层文件得到的多个待处理文件中,每个待处理文件可以为非压缩格式。基于非压缩格式的待处理文件进行去重处理,可进一步有效识别冗余文件,提升去重率。
需要说明的是,在本申请的上述以及下述各实施例中,对分解得到的多个待处理文件进行去重处理之后,还可进一步对去重处理后得到更新待处理镜像集进行数据压缩处理。基于压缩处理,可得到去重后的单一文件。一方面,该单一文件有利于在传输的过程中避免数据丢失,以有效应对多种复杂的网络和交付场景;另一方面,有利于对去重后的得到的单一文件进行校验,对单个文件进行校验可以保持I/O(输入/输出)平稳,效率优于对散布的多个文件进行逐个校验,不再赘述。
在上述实施例中,记载了将镜像层文件分解为待处理文件,并根据待处理文件进行去重处理的实施方式。以下将对上述实施方式的去重原理进行示例性说明。
假设,待处理镜像集表示为:a+b+...+z,其中a-z代指待处理镜像集中的镜像层文件。假设分解后,得到:a'+Δa+b'+Δa+Δb+...+z'+Δa+Δb+Δz。其中,a'-z'、Δa、Δb和Δz为待处理文件。Δa和Δb出现多次,也就是说Δa和Δb存在冗余。
将上述分解结果转化为如下求和公式1:
Figure BDA0002255543580000051
公式1中,k是冗余比例的系数,存在冗余时,k大于1。去除冗余后,公式1可转化为如下公式2:
Figure BDA0002255543580000052
因此,本实施例中,可通过寻求最大的k值来提升去重率。寻求最大k值的过程中,可将镜像层文件分解为数量尽可能多的小数据体积文件,以根据数量尽可能多的小数据体积文件,识别出尽可能多的重复文件。
可选地,分解镜像层文件,可包括将打包的镜像层文件分解成单个文件的过程,也可包括将单个文件分解为文件块的过程。以下将结合具体的实施方式进行示例性说明。
图2a是本申请另一示例性实施例提供的数据处理方法的流程示意图,该方法可包括如图2a所示的步骤:
步骤201、获取待处理镜像集包含的至少一个镜像层文件。
步骤202、获取该至少一个镜像层文件中的压缩格式的镜像层文件。
步骤203、解压该压缩格式的镜像层文件,得到该压缩格式的镜像层文件包含的多个子文件。
步骤204、分别计算该多个子文件的散列值。
步骤205、根据该多个子文件的散列值,对该多个子文件进行去重处理,以优化该压缩格式的镜像层文件的数据量。
在步骤202中,获取至少一个镜像层文件后,可对每一个镜像层文件进行类型识别。
可选地,在本实施例中,可获取每一个镜像层文件的magic number(幻数)。magicnumber用于标记文件的格式,基于此,可根据每一个镜像层文件的magic number,识别该镜像层文件的类型。
在容器镜像中,部分镜像层在制作镜像的过程中,会对产生的文件进行打包处理,例如,将本层产生的二进制文件、文本文件、图像文件和/或音视频文件进行压缩打包,形成一部分压缩格式的镜像层文件。在本步骤中,可根据镜像层文件的magic number,识别到待处理镜像集包含的压缩格式的文件。
压缩格式的镜像层文件将多个文件进行了打包压缩处理,无法直接识别其中包含的文件内容,不利于发现冗余数据。因此,针对压缩格式的镜像层文件,可执行步骤203,对其进行解压处理,以得到压缩格式的镜像层文件包含的多个子文件。
在本实施例中,可将解压得到的子文件,作为可直接作用于去重环节的待处理文件。解压得到的待处理文件作用于去重过程时,能够直接被识别其中包含的文件内容,以便于从多个待处理文件中筛选出冗余文件。
需要说明的是,在一些可能的场景下,对压缩格式的镜像层文件进行解压得到的部分子文件仍旧为压缩格式的文件,此时,可对这些压缩格式的子文件进行进一步解压,以获取所有非压缩格式的文件,以提升去重率,不再赘述。
在本步骤中,当该至少一个镜像层文件中的压缩格式的镜像层文件的数量为多个时,可基于本步骤提供的分解方法依次分解每个压缩格式的镜像层文件,得到每个压缩格式的镜像层文件各自包含的子文件。
接下来,在步骤204中,可分别计算每个子文件的散列值。例如,可针对每个子文件执行哈希计算(hash),得到每个子文件的散列值。
在得到每个子文件的散列值后,可执行步骤205,根据多个子文件的散列值,对多个子文件进行去重处理,以优化压缩格式的镜像层文件的数据量。
可选地,针对每个压缩格式的镜像层文件,可将该文件包含的多个子文件的散列值进行对比。当该压缩格式的镜像层文件中存在多个子文件的散列值相同时,可认为该压缩格式的镜像层文件包含的多个子文件中存在重复的子文件,此时,可根据需求去除重复的子文件。基于此,实现了每个压缩格式的镜像层文件内部的去重处理。以下将结合一个具体的例子进行示例性说明。
例如,待处理镜像集包含压缩格式的镜像层文件M,对镜像层文件M进行解压,得到子文件M1、M2、M3、M4。接着,计算hash(M1)、hash(M2)、hash(M3)、hash(M4),并对计算得到的哈希值进行对比,以实现镜像层文件M内部的去重处理。
可选地,若存在多个压缩格式的镜像层文件,可将该多个压缩格式的镜像层文件各自解压得到的子文件进行汇总。接着,将汇总后的多个子文件的散列值进行对比。当汇总后的多个子文件中存在多个子文件的散列值相同时,可根据需求去除重复的子文件。基于此,实现了多个压缩格式的镜像层文件之间的去重处理。以下将结合一个具体的例子进行示例性说明。
例如,待处理镜像集包含压缩格式的镜像层文件M、N,对镜像层文件M进行解压,得到子文件M1、M2、M3、M4,对镜像层文件N进行解压,得到子文件N1、N2。接着,计算hash(M1)、hash(M2)、hash(M3)、hash(M4)、hash(N1)、hash(N2),并对计算得到的哈希值进行对比,以实现镜像层文件M、N之间的去重处理。
本实施例中,针对待处理镜像集包含的压缩格式的镜像层文件,对其进行解压,得到压缩格式的镜像层文件包含的多个子文件。通过分别计算该多个子文件的散列值,可识别出每个压缩格式的镜像层文件内部的冗余文件,有利于优化每个压缩格式的镜像层文件自身的数据量,缩小每个压缩格式的镜像层文件的文件体积,进而有利于降低云服务部署包的数据体积。
在一些可能的应用场景中,压缩格式的镜像层文件中,包含部分数据量较大的子文件,这部分数据量较大的子文件内部存在冗余数据,不利于降低镜像层文件的数据体积。
为解决上述问题,在图2a对应的实施例的基础上,可进一步执行如下的步骤:
步骤206、从该多个子文件中确定数据量大于设定数据量阈值的子文件,作为目标子文件。
步骤207、对该目标子文件进行文件切分处理,得到该目标子文件对应的多个文件块。
步骤208、计算该目标子文件对应的多个文件块的散列值。
步骤209、根据该目标子文件对应的多个文件块的散列值,对该目标子文件进行去重处理。
在步骤206中,数据量阈值,可根据实际需求进行设置,本实施例不做限制。例如,数据量阈值可以为100M,当子文件的数据量大于100M时,可认为该子文件是一个大文件,需要进行进一步压缩去重处理。
接下来,可执行步骤207,对目标子文件进行文件切分处理。可选地,该目标子文件可以是二进制文件、文本文件、图像文件或者音视频文件,本实施例不做限制。本实施例涉及到的二进制文件,指的是狭义上的基于值编码的文件。
可选地,可按照设定的切分数量,将一个目标文件切分为指定数量个文件块。或者,可按照设定的文件块大小,将一个目标文件切分为数量为设定值的多个文件块。其中,设定的文件块大小可根据子文件的数据量进行选择,若目标子文件的数据量较小,则可将目标子文件切分为数据量较小的文件块,若目标子文件的数据量较大,则可将目标子文件切分为数据量较大的文件块。也可按照固定的文件块大小对不同的目标子文件进行切分,例如,将不同的目标子文件均切分为10M大小的多个文件块。
得到目标子文件对应的多个文件块后,可执行步骤208,计算每个文件块的散列值,并执行步骤209。在步骤209中,可根据多个文件块的散列值,从多个文件块中识别出重复的文件块,进而,可有效识别目标子文件内部的冗余数据,并进行去重处理,以有效压缩目标子文件的数据量。以下将结合一个具体的例子进行示例性说明。
承接上述例子,待处理镜像集包含压缩格式的镜像层文件M,对镜像层文件M进行解压,得到子文件M1、M2、M3、M4。其中,子文件M1的数据量大于设定数据量阈值,则对子文件M1进行切分,得到文件块M11、M12、M13、M13,接着,计算hash(M11)、hash(M12)、hash(M13),并对计算得到的哈希值进行对比,以实现子文件M1内部的去重处理。
在另一些可能的应用场景中,压缩格式的镜像层文件包含的子文件中,部分子文件与待处理镜像集中的非压缩格式的镜像层文件存在重复,不利于降低待处理镜像集的数据体积。
针对上述技术问题,本申请实施例还提供了如图3a所示的数据处理方法,以进一步对待处理镜像集进行去重,以下将结合附图进行示例性说明。
图3a是本申请又一示例性实施例提供的数据处理方法的流程示意图,该方法可包括如图3a所示的步骤:
步骤301、获取待处理镜像集包含的至少一个镜像层文件。
步骤302、获取该至少一个镜像层文件中的压缩格式的镜像层文件以及非压缩格式的镜像层文件。
步骤303、解压该压缩格式的镜像层文件,得到该压缩格式的镜像层文件包含的多个子文件。
步骤304、分别计算该多个子文件的散列值以及该非压缩格式的镜像层文件的散列值。
步骤305、根据该非压缩格式的镜像层文件的散列值以及该多个子文件的散列值,对该非压缩格式的镜像层文件和该多个子文件进行去重处理。
在步骤302中,获取到待处理镜像集包含的至少一个镜像层文件后,可对每一个镜像层文件进行类型识别,以区分出该至少一个镜像层文件包括压缩格式的镜像层文件以及非压缩格式的镜像层文件。其中,非压缩格式的镜像文件可包括二进制文件、文本文件、图像文件、音视频文件等等。
针对识别到的压缩格式的镜像层文件,可执行步骤303,以对其执行解压操作,得到压缩格式的镜像层文件包含的多个子文件。其中,多个子文件可以是非压缩格式的二进制文件、文本文件、图像文件、音视频文件等等。
接着,针对解压得到的多个子文件执行步骤304,分别计算每个子文件的散列值,并计算非压缩格式的镜像文件的散列值。在步骤305中,可根据计算得到的非压缩格式的镜像层文件的散列值以及压缩格式的镜像层文件包含的多个子文件的散列值,对非压缩格式的镜像层文件和该多个子文件进行去重处理。以下将结合一个具体的例子进行示例性说明。
例如,待处理镜像集包含镜像层文件A、B、C、D,其中,镜像层文件A、B为压缩格式,镜像层文件C、D为非压缩格式。在本实施例中,对镜像层文件A进行解压,得到子文件A1、A1、A3,对B文件进行解压,得到子文件B1、B1。接着,计算hash(A1)、hash(A2)、hash(A3)、hash(B1)、hash(B2)、hash(C)、hash(D),并对计算得到的哈希值进行对比,以实现去重处理。
在本步骤中,可将非压缩格式的镜像层文件的散列值以及该多个子文件的散列值进行综合对比,根据综合对比结果确定相同的散列值。例如,可根据综合对比的结果,可确定散列值相同的非压缩格式的镜像层文件文件,或者,确定散列值相同的子文件,或者确定散列值相同的非压缩格式的镜像层文件以及子文件。
本实施例中,将压缩格式的镜像层文件解压得到的子文件的散列值与非压缩格式的镜像层文件的散列值进行对比,可判断压缩格式的镜像层文件包含的子文件中,是否存在与待处理镜像集中的非压缩格式的镜像层文件重复的部分子文件,进而可识别出待处理镜像集包含的压缩格式的镜像层文件以及非压缩格式的镜像层文件之间的重复性,有利于优化待处理镜像集的文件体积,进而有利于降低云服务部署包的数据体积。
在又一些可能的应用场景中,待处理镜像集包含数据量较大的非压缩格式的镜像层文件,这部分非压缩格式的镜像层文件内部存在冗余数据,不利于降低待处理镜像集的数据体积。
基于上述技术问题,在图3a对应的实施例的基础上,还可进一步执行如下的步骤:
步骤306、对该非压缩格式的镜像层文件进行文件切分处理,得到该非压缩格式的镜像层文件对应的多个文件块。
步骤307、计算该非压缩格式的镜像层文件对应的多个文件块的散列值。
步骤308、根据该非压缩格式的镜像层文件对应的多个文件块的散列值,对该非压缩格式的镜像层文件进行去重处理。
在步骤306中,对非压缩格式的镜像层文件进行文件切分处理时,可按照设定的切分数量,将一个非压缩格式的镜像层文件切分为指定数量个文件块。或者,可按照设定的文件块大小,将一个非压缩格式的镜像层文件切分为数量为设定值的多个文件块。
其中,设定的文件块大小可根据非压缩格式的镜像层文件的数据量进行选择,若非压缩格式的镜像层文件的数据量较小,则可将非压缩格式的镜像层文件切分为数据量较小的文件块,若非压缩格式的镜像层文件的数据量较大,则可将非压缩格式的镜像层文件切分为数据量较大的文件块。也可按照固定的文件块大小对不同的非压缩格式的镜像层文件进行切分,例如,将不同的非压缩格式的镜像层文件均切分为20M大小的多个文件块。
得到非压缩格式的镜像层文件对应的多个文件块后,可执行步骤307,计算每个文件块的散列值,并执行步骤308。在步骤308中,可根据多个文件块的散列值,从多个文件块中识别出重复的文件块,进而,可有效识别非压缩格式的镜像层文件内部的冗余数据,并进行去重处理,以有效压缩非压缩格式的镜像层文件的数据量。以下将结合一个例子进行示例性说明。
承接上述例子,待处理镜像集包含非压缩格式的二进制文件E,对二进制文件E进行切分,得到文件块E1、E2、E3。接着,计算hash(E1)、hash(E2)、hash(E3),并对计算得到的哈希值进行对比,以实现二进制文件E内部的去重处理。
其中,步骤301、步骤302中获取非压缩格式的镜像层文件的步骤、步骤306、步骤307以及步骤308可以单独作为一个实施例执行,此处不做赘述。
需要说明的是,在一些可选的实施例中,可在执行上述以及下述各实施例提供的数据处理方法之前,进一步创建执行数据处理过程所需的数据处理控件。以下将进行详细说明。可选地,在本实施例中,可根据历史镜像集分解后数据量以及待处理镜像集的压缩文件信息,预估对该待处理镜像集执行所述数据处理方法所需的数据空间。其中,历史镜像集指的是在过去的设定时间段内处理过的镜像集,基于历史镜像集分解后的数据量,可预测当前待处理的镜像集分解后的数据量。其中,压缩文件信息,可包括待处理镜像集包含的压缩包的数据量信息以及压缩比例信息。基于压缩文件信息,可预测待处理镜像集包含的压缩包进行解压后占用的数据量。
接着,可根据预估得到的数据空间,创建待处理镜像集对应的数据处理空间,并将待处理镜像集存放于所述数据处理空间中,以执行前述各实施例记载的数据处理方法。这种实施方式的优势在于,在一个容量合适的专用数据空间中执行数据处理方法,可减少输出数据以及输出数据的次数,提升数据处理效率。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤301至步骤303的执行主体可以为设备A;又比如,步骤301和302的执行主体可以为设备A,步骤303的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如301、302等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图4是本申请一示例性实施例提供的数据处理装置的结构示意图,如图4所述,该数据处理装置包括:
获取模块401,用于获取待处理镜像集包含的至少一个镜像层文件。
分解模块402,用于根据所述至少一个镜像层文件的类型,分解所述至少一个镜像层文件,得到所述待处理镜像集包含的多个待处理文件。
去重模块403,用于对所述多个待处理文件进行去重处理,以优化所述待处理镜像集的数据量。
进一步可选地,所述多个待处理文件为非压缩格式。
进一步可选地,分解模块402包括类型识别子模块4021以及解压子模块4022。类型识别子模块4021用于识别所述至少一个镜像层文件的类型。解压子模块4022用于:在根据所述至少一个镜像层文件的类型,分解所述至少一个镜像层文件时,获取所述至少一个镜像层文件中的压缩格式的镜像层文件;解压所述压缩格式的镜像层文件,得到所述压缩格式的镜像层文件包含的多个子文件。
进一步可选地,去重模块403在对所述多个待处理文件进行去重处理时,具体用于:分别计算所述多个子文件的散列值;根据所述多个子文件的散列值,对所述多个子文件进行去重处理,以优化所述压缩格式的镜像层文件的数据量。
进一步可选地,去重模块403还用于:获取所述至少一个镜像层文件中的非压缩格式的镜像层文件;计算所述非压缩格式的镜像层文件的散列值;根据所述非压缩格式的镜像层文件的散列值以及所述多个子文件的散列值,对所述非压缩格式的镜像层文件和所述多个子文件进行去重处理。
进一步可选地,去重模块403还用于:从所述多个子文件中确定数据量大于设定数据量阈值的子文件,作为目标子文件;对所述目标子文件进行文件切分处理,得到所述目标子文件对应的多个文件块;计算所述目标子文件对应的多个文件块的散列值;根据所述目标子文件对应的多个文件块的散列值,对所述目标子文件进行去重处理。
进一步可选地,分解模块402还包括切分子模块4023,用于:在根据所述至少一个镜像层文件的类型,分解所述至少一个镜像层文件时,获取所述至少一个镜像层文件中的非压缩格式的镜像层文件;对所述非压缩格式的镜像层文件进行文件切分处理,得到所述非压缩格式的镜像层文件对应的多个文件块。
进一步可选地,去重模块403在对所述多个待处理文件进行去重处理时,还用于:计算所述非压缩格式的镜像层文件对应的多个文件块的散列值;根据所述非压缩格式的镜像层文件对应的多个文件块的散列值,对所述非压缩格式的镜像层文件进行去重处理。
进一步可选地,如图4所示,该装置还包括压缩模块404,压缩模块404具体用于:在对所述多个待处理文件进行去重处理之后,对所述去重处理后得到更新所述待处理镜像集进行数据压缩处理。
进一步可选地,如图4所示,该装置还包括预测模块405,所述预测模块405用于:根据历史镜像集分解后数据量以及所述待处理镜像集的压缩文件信息,预估对所述待处理镜像集执行所述数据处理方法所需的数据空间;根据预估得到的所述数据空间,创建所述待处理镜像集对应的数据处理空间;将所述待处理镜像集存放于所述数据处理空间中,以执行所述数据处理方法。
本实施例中,获取到待处理镜像集包含的镜像层文件后,分解镜像层文件,得到待处理镜像集包含的多个待处理文件,其中,待处理文件为非压缩格式。基于粒度更小的待处理文件进行去重处理,可有效识别冗余文件,提升去重率,进而有利于优化待处理镜像集的数据量,降低云服务部署包的数据体积,以便于高效传输,提升云服务的部署和迭代效率。
图5是本申请一示例性实施例提供的数据处理设备的结构示意图。如图5所示,该数据处理设备包括:存储器501、处理器502以及通信组件503。
存储器501,用于存储计算机程序,并可被配置为存储其它各种数据以支持在数据处理设备上的操作。这些数据的示例包括用于在数据处理设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器501可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器502,与存储器501耦合,用于执行存储器501中的计算机程序,以用于:获取待处理镜像集包含的至少一个镜像层文件;根据所述至少一个镜像层文件的类型,分解所述至少一个镜像层文件,得到所述待处理镜像集包含的多个待处理文件;对所述多个待处理文件进行去重处理,以优化所述待处理镜像集的数据量。
进一步可选地,所述多个待处理文件为非压缩格式。
进一步可选地,处理器502在根据所述至少一个镜像层文件的类型,分解所述至少一个镜像层文件时,具体用于:获取所述至少一个镜像层文件中的压缩格式的镜像层文件;解压所述压缩格式的镜像层文件,得到所述压缩格式的镜像层文件包含的多个子文件。
进一步可选地,处理器502在对所述多个待处理文件进行去重处理时,具体用于:分别计算所述多个子文件的散列值;根据所述多个子文件的散列值,对所述多个子文件进行去重处理,以优化所述压缩格式的镜像层文件的数据量。
进一步可选地,处理器502还用于:获取所述至少一个镜像层文件中的非压缩格式的镜像层文件;计算所述非压缩格式的镜像层文件的散列值;根据所述非压缩格式的镜像层文件的散列值以及所述多个子文件的散列值,对所述非压缩格式的镜像层文件和所述多个子文件进行去重处理。
进一步可选地,处理器502还用于:从所述多个子文件中确定数据量大于设定数据量阈值的子文件,作为目标子文件;对所述目标子文件进行文件切分处理,得到所述目标子文件对应的多个文件块;计算所述目标子文件对应的多个文件块的散列值;根据所述目标子文件对应的多个文件块的散列值,对所述目标子文件进行去重处理。
进一步可选地,处理器502在根据所述至少一个镜像层文件的类型,分解所述至少一个镜像层文件时,还用于:获取所述至少一个镜像层文件中的非压缩格式的镜像层文件;对所述非压缩格式的镜像层文件进行文件切分处理,得到所述非压缩格式的镜像层文件对应的多个文件块。
进一步可选地,处理器502在对所述多个待处理文件进行去重处理时,还用于:计算所述非压缩格式的镜像层文件对应的多个文件块的散列值;根据所述非压缩格式的镜像层文件对应的多个文件块的散列值,对所述非压缩格式的镜像层文件进行去重处理。
进一步可选地,处理器502还用于:在对所述多个待处理文件进行去重处理之后,对所述去重处理后得到更新所述待处理镜像集进行数据压缩处理。
进一步可选地,如图4所示,处理器502还用于:根据历史镜像集分解后数据量以及所述待处理镜像集的压缩文件信息,预估对所述待处理镜像集执行所述数据处理方法所需的数据空间;根据预估得到的所述数据空间,创建所述待处理镜像集对应的数据处理空间;将所述待处理镜像集存放于所述数据处理空间中,以执行所述数据处理方法。
进一步,如图5所示,该数据处理设备还包括:显示器504、电源组件505、音频组件506等其它组件。图5中仅示意性给出部分组件,并不意味着数据处理设备只包括图5所示组件。
其中,通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
其中,显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
其中,电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本实施例中,获取到待处理镜像集包含的镜像层文件后,分解镜像层文件,得到待处理镜像集包含的多个待处理文件,其中,待处理文件为非压缩格式。基于粒度更小的待处理文件进行去重处理,可有效识别冗余文件,提升去重率,进而有利于优化待处理镜像集的数据量,降低云服务部署包的数据体积,以便于高效传输,提升云服务的部署和迭代效率。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由数据处理设备执行的各步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (13)

1.一种数据处理方法,其特征在于,包括:
获取待处理镜像集包含的至少一个镜像层文件;
根据所述至少一个镜像层文件的类型,分解所述至少一个镜像层文件,得到所述待处理镜像集包含的多个待处理文件;
对所述多个待处理文件进行去重处理。
2.根据权利要求1所述的方法,其特征在于,所述多个待处理文件为非压缩格式。
3.根据权利要求2所述的方法,其特征在于,根据所述至少一个镜像层文件的类型,分解所述至少一个镜像层文件,包括:
获取所述至少一个镜像层文件中的压缩格式的镜像层文件;
解压所述压缩格式的镜像层文件,得到所述压缩格式的镜像层文件包含的多个子文件。
4.根据权利要求3所述的方法,其特征在于,对所述多个待处理文件进行去重处理,包括:
分别计算所述多个子文件的散列值;
根据所述多个子文件的散列值,对所述多个子文件进行去重处理。
5.根据权利要求4所述的方法,其特征在于,还包括:
获取所述至少一个镜像层文件中的非压缩格式的镜像层文件;
计算所述非压缩格式的镜像层文件的散列值;
根据所述非压缩格式的镜像层文件的散列值以及所述多个子文件的散列值,对所述非压缩格式的镜像层文件和所述多个子文件进行去重处理。
6.根据权利要求4所述的方法,其特征在于,还包括:
从所述多个子文件中确定数据量大于设定数据量阈值的子文件,作为目标子文件;
对所述目标子文件进行文件切分处理,得到所述目标子文件对应的多个文件块;
计算所述目标子文件对应的多个文件块的散列值;
根据所述目标子文件对应的多个文件块的散列值,对所述目标子文件进行去重处理。
7.根据权利要求2所述的方法,其特征在于,根据所述至少一个镜像层文件的类型,分解所述至少一个镜像层文件,包括:
获取所述至少一个镜像层文件中的非压缩格式的镜像层文件;
对所述非压缩格式的镜像层文件进行文件切分处理,得到所述非压缩格式的镜像层文件对应的多个文件块。
8.根据权利要求7所述的方法,其特征在于,对所述多个待处理文件进行去重处理,还包括:
计算所述非压缩格式的镜像层文件对应的多个文件块的散列值;
根据所述非压缩格式的镜像层文件对应的多个文件块的散列值,对所述非压缩格式的镜像层文件进行去重处理。
9.根据权利要求1-8任一项所述的方法,其特征在于,对所述多个待处理文件进行去重处理之后,还包括:
对所述去重处理后得到更新所述待处理镜像集进行数据压缩处理。
10.根据权利要求1-8任一项所述的方法,其特征在于,还包括:
根据历史镜像集分解后数据量以及所述待处理镜像集的压缩文件信息,预估对所述待处理镜像集执行所述数据处理方法所需的数据空间;
根据预估得到的所述数据空间,创建所述待处理镜像集对应的数据处理空间;
将所述待处理镜像集存放于所述数据处理空间中,以执行所述数据处理方法。
11.一种数据处理装置,其特征在于,包括:
获取模块,用于获取待处理镜像集包含的至少一个镜像层文件;
分解模块,用于根据所述至少一个镜像层文件的类型,分解所述至少一个镜像层文件,得到所述待处理镜像集包含的多个待处理文件;去重模块,用于对所述多个待处理文件进行去重处理。
12.一种数据处理设备,其特征在于,包括:存储器、处理器以及通信组件;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器和所述通信组件耦合,用于执行计算机程序,以用于执行权利要求1-10任一项所述的数据处理方法中的步骤或操作。
13.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被计算机执行时能够实现权利要求1-10任一项所述的数据处理方法中的步骤或操作。
CN201911051978.XA 2019-10-31 2019-10-31 数据处理方法、装置、设备及存储介质 Active CN112749137B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911051978.XA CN112749137B (zh) 2019-10-31 2019-10-31 数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911051978.XA CN112749137B (zh) 2019-10-31 2019-10-31 数据处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112749137A true CN112749137A (zh) 2021-05-04
CN112749137B CN112749137B (zh) 2024-05-24

Family

ID=75641526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911051978.XA Active CN112749137B (zh) 2019-10-31 2019-10-31 数据处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112749137B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11947498B2 (en) 2022-05-12 2024-04-02 International Business Machines Corporation De-duplication of data in executable files in a container image

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231653A (zh) * 2008-01-24 2008-07-30 创新科存储技术(深圳)有限公司 数据块拆分方法及其装置
US20130060739A1 (en) * 2011-09-01 2013-03-07 Microsoft Corporation Optimization of a Partially Deduplicated File
CN103324552A (zh) * 2013-06-06 2013-09-25 西安交通大学 两阶段单实例去重数据备份方法
CN105511812A (zh) * 2015-12-10 2016-04-20 浪潮(北京)电子信息产业有限公司 一种存储系统大数据优化方法及装置
WO2017173798A1 (zh) * 2016-04-07 2017-10-12 乐视控股(北京)有限公司 一种移动终端的系统安装方法、装置和电子设备
CN108958881A (zh) * 2018-05-31 2018-12-07 平安科技(深圳)有限公司 数据处理方法、装置及计算机可读存储介质
CN110019153A (zh) * 2017-09-13 2019-07-16 北京宸信征信有限公司 一种多类型批量数据处理系统及其处理方法
CN110175169A (zh) * 2019-05-30 2019-08-27 青岛大学 一种加密数据去重方法、系统及相关装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231653A (zh) * 2008-01-24 2008-07-30 创新科存储技术(深圳)有限公司 数据块拆分方法及其装置
US20130060739A1 (en) * 2011-09-01 2013-03-07 Microsoft Corporation Optimization of a Partially Deduplicated File
CN103324552A (zh) * 2013-06-06 2013-09-25 西安交通大学 两阶段单实例去重数据备份方法
CN105511812A (zh) * 2015-12-10 2016-04-20 浪潮(北京)电子信息产业有限公司 一种存储系统大数据优化方法及装置
WO2017173798A1 (zh) * 2016-04-07 2017-10-12 乐视控股(北京)有限公司 一种移动终端的系统安装方法、装置和电子设备
CN110019153A (zh) * 2017-09-13 2019-07-16 北京宸信征信有限公司 一种多类型批量数据处理系统及其处理方法
CN108958881A (zh) * 2018-05-31 2018-12-07 平安科技(深圳)有限公司 数据处理方法、装置及计算机可读存储介质
CN110175169A (zh) * 2019-05-30 2019-08-27 青岛大学 一种加密数据去重方法、系统及相关装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
RONGMAO CHEN; YI MU; GUOMIN YANG; FUCHUN GUO: "BL-MLE: Block-Level Message-Locked Encryption for Secure Large File Deduplication", IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, 19 August 2015 (2015-08-19) *
李锋;陆婷婷;郭建华;: "一种基于重复数据删除的镜像文件存储方法研究", 计算机科学, no. 2, 15 November 2016 (2016-11-15) *
郎为民;褚开锋;姚晋芳;赵毅丰;: "大数据中心数据去重问题研究", 电信快报, no. 10, 10 October 2018 (2018-10-10) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11947498B2 (en) 2022-05-12 2024-04-02 International Business Machines Corporation De-duplication of data in executable files in a container image

Also Published As

Publication number Publication date
CN112749137B (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
US8620877B2 (en) Tunable data fingerprinting for optimizing data deduplication
US7937371B2 (en) Ordering compression and deduplication of data
US8660994B2 (en) Selective data deduplication
US9450603B2 (en) Compression of integer data using a common divisor
CN107229420B (zh) 数据存储方法、读取方法、删除方法和数据操作系统
US11221992B2 (en) Storing data files in a file system
US9280550B1 (en) Efficient storage tiering
US20130067237A1 (en) Providing random access to archives with block maps
US9420070B2 (en) Streaming zip
US8909606B2 (en) Data block compression using coalescion
CN111966631A (zh) 一种可快速分发的镜像文件生成方法、系统、设备和介质
CN112749137B (zh) 数据处理方法、装置、设备及存储介质
CN111813840B (zh) 一种数据处理方法、设备及存储介质
CN112202939A (zh) Ip地址的压缩、解压缩与报文收发方法、装置及存储介质
CN112187616A (zh) 消息发送方法、设备及存储介质
CN110888918A (zh) 相似数据检测方法及装置、计算机设备和存储介质
CN110019347B (zh) 一种区块链的数据处理方法、装置及终端设备
CN112765112A (zh) 一种安装包打包和解包方法
CN105446759A (zh) 一种rpm包更新方法与设备
CN112035401A (zh) 模型数据处理方法、装置、电子设备及可读介质
CN113590535B (zh) 一种用于去重存储系统的高效数据迁移方法和装置
CN113010113B (zh) 数据处理方法、装置及设备
CN114995949A (zh) 容器镜像构建方法及装置
US9588694B1 (en) Storage device optimization
CN111177092A (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