CN117827775A - 数据压缩方法、装置、计算设备及存储系统 - Google Patents
数据压缩方法、装置、计算设备及存储系统 Download PDFInfo
- Publication number
- CN117827775A CN117827775A CN202211202660.9A CN202211202660A CN117827775A CN 117827775 A CN117827775 A CN 117827775A CN 202211202660 A CN202211202660 A CN 202211202660A CN 117827775 A CN117827775 A CN 117827775A
- Authority
- CN
- China
- Prior art keywords
- compressed
- file
- data
- compression algorithm
- compression
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000013144 data compression Methods 0.000 title claims abstract description 51
- 238000007906 compression Methods 0.000 claims abstract description 181
- 230000006835 compression Effects 0.000 claims abstract description 181
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 148
- 238000004458 analytical method Methods 0.000 claims description 71
- 238000004891 communication Methods 0.000 claims description 17
- 238000007781 pre-processing Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 description 66
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000006837 decompression Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 230000008521 reorganization Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000001000 micrograph Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 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
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- 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/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
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
技术领域
本申请涉及数据压缩领域,尤其涉及一种数据压缩方法、装置、计算设备及存储系统。
背景技术
目前,计算设备可以利用压缩算法(如:GZIP,WINRAR等)对待存储数据进行压缩后再存储,从而通过减少冗余、重复的数据,以缩减数据量来减少数据占用的存储空间,提高数据的传输速率和处理效率等。但是,在计算设备中,当用户设置好压缩算法后,所有的数据都基于所设置的压缩算法进行数据压缩,导致数据的压缩率比较低。
发明内容
本申请提供了数据压缩方法、装置、设备和系统,由此来提高数据的压缩率。
第一方面,提供了一种数据压缩方法。方法包括:在计算设备对待压缩文件进行压缩时,计算设备根据待压缩文件的内容特征确定待压缩文件的压缩算法;根据压缩算法对待压缩文件进行压缩得到压缩后数据,并存储压缩后数据。
如此,相对于计算设备采用一种压缩算法对不同内容特征的文件进行压缩,本申请提供的数据压缩方法中计算设备使用的压缩算法是依据待压缩文件的内容特征选取得到,利用匹配待压缩文件的内容特征的压缩算法对待压缩文件进行压缩,能够有效地提高数据的压缩率,以使存储设备存储更多的数据,提高存储设备的存储空间利用率。
其中,待压缩文件的内容特征包括待压缩文件的应用场景特征。例如,待压缩文件是关于基因测序应用场景的数据,待压缩文件包括多个fsatq数据块,则待压缩文件的内容特征包括fsatq数据块的特征。又如,待压缩文件是关于卫星遥感应用场景的数据,待压缩文件包括不同波段表征的同一场景的多个图像,则待压缩文件的内容特征包括同一场景采用不同波动表征的图像。又如,待压缩文件是关于冷冻电镜应用场景的数据,则待压缩文件的内容特征包括电镜影像数据分布呈现的随机特性。又如,待压缩文件是关于医疗应用场景的数据,则待压缩文件的内容特征包括多个编码后的图像。
结合第一方面,在一种可能的实现方式中,根据待压缩文件的内容特征确定待压缩文件的压缩算法,包括:对待压缩文件进行语义分析得到语义分析结果,语义分析结果包括待压缩文件的语义边界和压缩算法。语义分析结果用于指示依据压缩算法压缩以语义边界划分的待压缩文件。通过对待压缩文件进行语义分析,理解待压缩文件识别出待压缩文件内数据的排布规律和内容特征,以指导后续的预处理和压缩操作,提高数据的压缩率以及存储设备的存储空间利用率。
在一种示例中,计算设备存储有多个内容特征与压缩算法的第一对应关系;根据待压缩文件的内容特征确定待压缩文件的压缩算法,包括:确定待压缩文件的内容特征对应的第一对应关系中的内容特征;根据第一对应关系所确定的内容特征确定压缩待压缩文件的压缩算法。
在另一种示例中,计算设备存储有多个后缀名与内容特征的第二对应关系;方法还包括:确定待压缩文件的后缀名对应的第二对应关系中的后缀名;根据第二对应关系所确定的后缀名确定待压缩文件的内容特征。例如,当语义分析结果指示的内容特征与根据第二对应关系中后缀名所确定的内容特征相同时,根据第二对应关系所确定的内容特征确定待压缩文件的内容特征。从而,使计算设备尽可能快地确定到待压缩文件的内容特征,以提升对待压缩文件进行压缩的速率。
可选地,语义分析结果还包含预处理指示,预处理指示用于指示采用预设版本压缩算法对待压缩文件解压后依据压缩算法对解压后文件进行压缩,并存储临时压缩后数据与待压缩文件的差异,差异用于恢复待压缩文件,预设版本压缩算法用于解压待压缩文件得到解压后文件,以及压缩解压后文件得到临时压缩后数据。从而,在对待压缩文件进行压缩之前,即计算设备根据语义分析结果指定的预处理方案对待压缩文件执行包括但不限于切片、重组、变换(解压)等操作,使得待压缩文件具有更好的可压缩性。
结合第一方面,在另一种可能的实现方式中,根据压缩算法对待压缩文件进行压缩得到压缩后数据,包括:根据待压缩文件的内容特征指示的数据块的语义边界,对待压缩文件进行分片,得到多个数据块;根据压缩算法对多个数据块进行压缩得到压缩后数据。
可选地,根据压缩算法对多个数据块进行压缩得到压缩后数据,包括:根据多个数据块的语义关系重组多个数据块,得到多个重组后数据块;根据压缩算法对多个重组后数据块进行压缩得到压缩后数据。由于计算设备对待压缩文件进行语义分析获得文件格式以及相应格式文件内部数据的排布方式,将“非关联数据”进行边界划分后,将“关联数据”重新组织聚合到一起(作为一次压缩的输入),以获得更高的压缩率。
结合第一方面,在另一种可能的实现方式中,根据待压缩文件的内容特征确定待压缩文件的压缩算法,包括:对待压缩文件进行语义分析得到语义分析结果,语义分析结果用于指示以固定长度进行分片并自适应确定压缩算法。通过对待压缩文件进行语义分析,理解待压缩文件在未识别出待压缩文件内数据的排布规律和内容特征时,以固定长度划分待压缩文件,自适应选择压缩算法,提高存储设备的存储空间利用率。
第二方面,提供了一种数据压缩装置,所述装置包括用于执行第一方面或第一方面任一种可能设计中的计算设备执行的方法的各个模块。
第三方面,提供一种计算设备,该计算设备包括处理器和通信接口,通信接口与处理器通信;处理器用于执行第一方面或第一方面任一种可能实现方式中的数据压缩方法的操作步骤。
第四方面,提供一种存储系统,该存储系统包括至少一个计算节点和至少一个存储节点,所述计算节点用于执行第一方面或第一方面任一种可能实现方式中的数据压缩方法的操作步骤,得到压缩后数据,所述存储节点用于存储所述压缩后数据;或者,所述计算节点将待压缩数据传输至所述存储节点,所述存储节点执行第一方面或第一方面任一种可能实现方式中的数据压缩方法的操作步骤,得到压缩后数据,存储所述压缩后数据。
第五方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在计算设备中运行时,使得计算设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
第六方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供的一种分布式存储系统的架构示意图;
图2为本申请提供的一种盘控分离的结构示意图;
图3为本申请提供的一种集中式存储系统的架构示意图;
图4为本申请提供的一种数据压缩方法的流程示意图;
图5为本申请提供的一种数据块重组的示意图;
图6为本申请提供的一种数据压缩过程的示意图;
图7为本申请提供的一种数据压缩过程的示意图;
图8为本申请提供的一种数据压缩过程的示意图;
图9为本申请提供的一种数据压缩过程的示意图;
图10为本申请提供的一种数据压缩过程的示意图;
图11为本申请提供的一种数据压缩装置的结构示意图;
图12为本申请提供的一种计算设备的结构示意图。
具体实施方式
数据压缩(data compression),是指依据压缩算法对待压缩数据重新组织,以减少待压缩数据中的冗余数据,达到缩减待压缩数据的数据量,减少存储待压缩数据所需的存储空间,提高待压缩数据的压缩率、传输速度和压缩速度的方法。本申请对进行数据压缩的计算设备的具体形态不予限定。计算设备例如是手机终端、平板电脑、笔记本电脑、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、混合现实(Mixed Reality,MR)设备、扩展现实(Extended Reality,ER)设备或车载终端等。计算设备还可以是边缘设备(例如,携带具有处理能力芯片的盒子)、服务器、分布式存储系统中计算能力的设备或者集中式存储系统中计算能力的设备。
图1为本申请提供的一种分布式存储系统的架构示意图。如图1所示,本实施例提供的分布式存储系统包括计算节点集群和存储节点集群。
计算节点集群包括一个或多个计算节点110,图1中示出了三个计算节点110,但不限于三个计算节点110。各个计算节点110之间可以通过网络相互通信。计算节点110是一种计算设备,为网络数据的节点和枢纽,负责为网络中的多个客户端或用户提供信息服务,如服务器、计算机等。
在硬件上,如图1所示,计算节点110至少包括处理器112、内存113和网卡114。其中,处理器112是一个中央处理器(central processing unit,CPU),用于处理来自计算节点110外部的数据访问请求,或者计算节点110内部生成的请求。
示例性地,处理器112接收用户发送的写数据请求时,会将这些写数据请求中的数据暂时保存在内存113中。当内存113中的数据总量达到一定阈值时,处理器112将内存113中存储的数据发送给存储节点100进行持久化存储。除此之外,处理器112还用于对数据进行计算或处理,例如进行元数据管理、重复数据删除、数据压缩、虚拟化存储空间以及地址转换等。
图1中仅示出了一个CPU 112,在实际应用中,一个计算节点110中的CPU 112的数量可以有多个,其中,一个CPU 112又可以具有一个或多个CPU核。本实施例不对CPU的数量,以及CPU核的数量进行限定。
内存113是指与处理器直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作系统或其他正在运行中的程序的临时数据存储器。内存包括至少两种存储器,例如内存既可以是随机存取存储器,也可以是只读存储器(read only memory,ROM)。举例来说,随机存取存储器是动态随机存取存储器(dynamic random access memory,DRAM),或者存储级存储器(storage class memory,SCM)。
DRAM是一种半导体存储器,与大部分随机存取存储器(random access memory,RAM)一样,属于一种易失性存储器(volatile memory)设备。SCM是一种同时结合传统储存装置与存储器特性的复合型储存技术,存储级存储器能够提供比硬盘更快速的读写速度,但存取速度上比DRAM慢,在成本上也比DRAM更为便宜。然而,DRAM和SCM在本实施例中只是示例性的说明,内存还可以包括其他随机存取存储器,例如静态随机存取存储器(staticrandom access memory,SRAM)等。而对于只读存储器,举例来说,可以是可编程只读存储器(programmable read only memory,PROM)、可抹除可编程只读存储器(erasableprogrammable read only memory,EPROM)等。
另外,内存113还可以是双列直插式存储器模块或双线存储器模块(dual in-linememory module,DIMM),即由动态随机存取存储器(DRAM)组成的模块,还可以是固态硬盘(solid state disk,SSD)。
实际应用中,计算节点110中可配置多个内存113,以及不同类型的内存113。本实施例不对内存113的数量和类型进行限定。此外,可对内存113进行配置使其具有保电功能。保电功能是指系统发生掉电又重新上电时,内存113中存储的数据也不会丢失。具有保电功能的内存被称为非易失性存储器。
网卡114用于与存储节点100通信。例如,当内存113中的数据总量达到一定阈值时,计算节点110可通过网卡114向存储节点100发送请求以对所述数据进行持久化存储。另外,计算节点110还可以包括总线,用于计算节点110内部各组件之间的通信。在功能上,由于图1中的计算节点110的主要功能是计算业务,在存储数据时可以利用远程存储器来实现持久化存储,因此它具有比常规服务器更少的本地存储器,从而实现了成本和空间的节省。但这并不代表计算节点110不能具有本地存储器,在实际实现中,计算节点110也可以内置少量的硬盘,或者外接少量硬盘。任意一个计算节点110可通过网络访问存储节点集群中的任意一个存储节点100。
存储节点集群可以包括多个存储节点100,所述存储节点用于对计算节点传输的数据进行持久化存储,图1中示出了三个存储节点100,但不限于三个存储节点100。例如,可以多于三个存储节点,也可以少于三个存储节点。
一个存储节点100包括一个或多个控制单元101、网卡104与多个硬盘105。网卡104用于与计算节点110通信。硬盘105用于存储数据,可以是磁盘或者其他类型的存储介质,例如固态硬盘或者叠瓦式磁记录硬盘等。控制单元101用于根据计算节点110发送的读/写数据请求,往硬盘105中写入数据或者从硬盘105中读取数据。在读写数据的过程中,控制单元101需要将读/写数据请求中携带的地址转换为硬盘能够识别的地址。由此可见,控制单元101也具有一些简单的计算功能。
在实际应用中,控制单元101可具有多种形态。一种情况下,控制单元101包括CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘105的数据,或者从硬盘105读取出来将要发送给计算节点110的数据。另一种情况下,控制单元101的数量可以是一个,也可以是两个或两个以上。当存储节点100包含至少两个控制单元101时,硬盘105与控制单元101之间可具有归属关系。当硬盘105与控制单元101之间具有归属关系时,每个控制器只能访问归属于它的硬盘,因此这往往涉及到在控制单元101之间转发读/写数据请求,导致数据访问的路径较长。另外,如果存储空间不足,在存储节点100中增加新的硬盘105时需要重新绑定硬盘105与控制单元101之间的归属关系,操作复杂,导致存储空间的扩展性较差。
因此在另一种实施方式中,控制单元101的功能可以卸载到网卡104上。换言之,在图1所示的实施方式中,存储节点100内部不具有控制单元101,而是由网卡104来完成数据读写、地址转换以及其他计算功能。此时,网卡104是一个智能网卡。它可以包含CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘105的数据,或者从硬盘105读取出来将要发送给计算节点110的数据。存储节点100中的网卡104和硬盘105之间没有归属关系,网卡104可访问该存储节点100中任意一个硬盘105,因此在存储空间不足时扩展硬盘会较为便捷。
图1所示的存储节点的结构属于盘控一体的架构,即控制单元与硬盘105包括在同一个物理设备中,但在一些实施例中,存储节点的结构也可以为盘控分离的结构,如图2所示,控制和存储作为两个独立设备,即控制设备200和硬盘框300互相连接。控制设备200包括多个控制单元,例如控制单元0和控制单元1,多个控制单元连接至计算节点。每个控制单元的结构相同,以控制单元0为例,包括前端接口201、CPU202、内存203、及后端接口204,以将计算节点通过网卡发送的数据传输至控制单元0,后端接口204连接至硬盘框,已将经控制单元0处理过的数据传输至硬盘框300进行存储、CPU202与内存203用于处理计算节点传输的数据或者本地运行的程序的数据,具体请参考计算节点110中的CPU112及内存113的描述,在此不再赘述。硬盘框300作为独立的设备除了硬盘105之外,还包括控制单元301,用于对计算节点传输的数据进行处理后存储至硬盘105,及对硬盘105进行管理。
图1所示的为分布式存储系统的架构图,本申请实施例的方案还可以应用于集中式存储系统。在集中式存储系统中,计算节点的数据存储在一个存储节点中,所述存储节点例如可以为存储阵列。集中式存储系统的架构如图3所示。其中存储节点100与计算节点110结构与图1中的相同,在此不再赘述。图3所示的存储节点100为盘控一体的结构,在集成式存储系统中,存储节点的结构也可以是图2所示的盘控分离的结构。
本申请提供的数据压缩方法,在计算设备对待压缩文件进行压缩时,计算设备根据待压缩文件的内容特征确定待压缩文件的压缩算法;根据压缩算法对待压缩文件进行压缩得到压缩后数据,并存储压缩后数据。如此,相对于计算设备采用一种压缩算法对不同内容特征的文件进行压缩,本申请提供的数据压缩方法中计算设备使用的压缩算法是依据待压缩文件的内容特征选取得到,利用匹配待压缩文件的内容特征的压缩算法对待压缩文件进行压缩,能够有效地提高数据的压缩率,以使存储设备存储更多的数据,提高存储设备的存储空间利用率。
本申请提供的数据压缩方法可以应用场景包括但不限于,冷冻电镜、遥感、基因、医疗等场景。待压缩文件包括图像、视频、音频、文本、数字、字母等。
接下来,结合图4至图10对本申请提供的数据压缩方法进行详细阐述。图4为本申请提供的一种数据压缩方法的流程示意图。如图4所示,该方法包括以下步骤。
步骤410、计算设备根据待压缩文件的内容特征确定待压缩文件的压缩算法。
计算设备可以接收外部设备(如:键盘、鼠标、相机、语音接收器等)发送的待压缩文件;或者,计算设备运行应用生成待压缩文件。若计算设备为存储设备,计算设备也可以通过网络接收其他计算设备(如:服务器)发送的待压缩文件。
文件格式(或称为文件类型)指示计算设备为了存储信息使用的对信息的特殊编码方式。比如,图像格式,程序格式,文本格式。每一类信息可以有一种或多种文件格式。不同的应用场景的文件也具有不同的文件格式。如表1所示,为本申请提供的一种应用场景对应的文件格式的示意。
表1
由于不同文件格式的文件包含数据的排布规律不同,则计算设备对待压缩文件进行语义分析确定对待压缩文件进行压缩的压缩算法。步骤410所包括的具体操作过程如下步骤411至步骤413的阐述。
步骤411、计算设备对待压缩文件进行语义分析得到语义分析结果。
计算设备可以依据文件的后缀名识别文件格式。同一应用场景对应多个后缀名,不同的后缀名对应的文件格式的内容特征可以一致。待压缩文件的内容特征包括待压缩文件的应用场景特征。例如,待压缩文件的内容特征指示了待压缩文件的格式特征和对待压缩文件进行压缩的预处理方式,包括但不限于切片、重组、变换(解压)等操作。
在一种可能的实现方式中,计算设备执行步骤412,即对待压缩文件进行语义分析获取到包括语义边界和压缩算法的语义分析结果。语义边界用于指示待压缩文件包括不同语义数据的边界。例如,语义边界包括文件头边界、文件扩展头边界、数据块边界和文件尾边界。文件扩展头有可以称为扩展头。
在一种示例中,语义边界可以设置于文件的文件头中,计算设备解析文件头获得文件的语义边界。在另一种示例中,语义边界可以设置于对应的字段中。例如,文件头边界设置于文件头中;文件扩展头边界设置于文件扩展头中;数据块边界设置于数据块中;文件尾边界设置于文件尾中。计算设备解析文件的每个字段,获取文件的语义边界。
在一些实施例中,计算设备存储有多个后缀名、内容特征与压缩算法的对应关系。计算设备根据待压缩文件的后缀名查表,确定待压缩文件的后缀名对应的对应关系中的后缀名,将根据对应关系中后缀名所对应的内容特征确定为待压缩文件的内容特征,将根据对应关系中后缀名所对应的压缩算法确定为压缩待压缩文件的压缩算法。
可选地,计算设备比较语义分析结果指示的内容特征与根据对应关系中后缀名所确定的内容特征,当语义分析结果指示的内容特征与根据对应关系中后缀名所确定的内容特征相同时,将根据对应关系中后缀名所对应的压缩算法确定为压缩待压缩文件的压缩算法。
在一种示例中,后缀名、内容特征与压缩算法的对应关系可以以表格的形式呈现,如表2所示。
表2
如表1所示,假设待压缩文件的后缀名为后缀名1,依据后缀名1查询表2,确定后缀名1对应内容特征1和压缩算法1。如果计算设备对待压缩文件进行语义分析的语义分析结果指示的内容特征与内容特征1相同时,待压缩文件的压缩算法为后缀名1所对应的压缩算法1。
需要说明的是,表1只是以表格的形式示意对应关系在存储设备中的存储形式,并不是对该对应关系在存储设备中的存储形式的限定,当然,该对应关系在存储设备中的存储形式还可以以其他的形式存储,本实施例对此不做限定。
在另一种示例中,后缀名、内容特征与压缩算法的对应关系也可以分别设置。例如,计算设备存储有多个后缀名与内容特征的第二对应关系,内容特征与压缩算法的第一对应关系。
计算设备确定待压缩文件的后缀名对应的第二对应关系中的后缀名,根据第二对应关系所确定的后缀名确定后缀名对应的内容特征为待压缩文件的内容特征;进而,计算设备确定待压缩文件的内容特征对应的第一对应关系中的内容特征,根据第一对应关系所确定的内容特征确定内容特征对应的压缩算法为压缩待压缩文件的压缩算法。
可选地,语义分析结果还包括对待压缩文件进行解压、切片和重组等预处理指示。例如,待压缩文件是已压缩文件,但是该已压缩文件的压缩率较低,计算设备可以对待压缩文件进行解压后,依据语义分析结果确定的压缩算法,对待压缩文件进行重新压缩,以获得更高的压缩率。又如,待压缩文件中多个数据块包括关联数据,计算设备可以对多个数据块进行重组,得到一个较大的数据块,对重组后数据块进行压缩。由于计算设备对待压缩文件进行语义分析获得文件格式以及相应格式文件内部数据的排布方式,将“非关联数据”进行边界划分后,将“关联数据”重新组织聚合到一起(作为一次压缩的输入),以获得更高的压缩率。
示例地,如图5所示,相同填充图案表示“关联数据”,即数据块A、数据块B和数据块D具有关联性,数据块C、数据块E和数据块F具有关联性。由于数据块C将数据块A、数据块B和数据块D隔离,如果对数据块A、数据块B和数据块D分别进行编码,无法获得更高的压缩率。数据块D将数据块C、数据块E和数据块F隔离,如果对数据块C、数据块E和数据块F分别进行编码,无法获得更高的压缩率。因此,计算设备重组数据块A、数据块B和数据块D,得到重组后数据块1,以及重组数据块C、数据块E和数据块F,得到重组后数据块2。对重组后数据块1和重组后数据块2进行压缩,以获得更高的压缩率。
在另一种可能的实现方式中,待压缩文件没有后缀名,且计算设备对待压缩文件进行语义分析未确定到待压缩文件的内容特征和压缩算法,即计算设备执行步骤413,语义分析结果用于指示以固定长度进行分片并自适应确定压缩算法。
步骤420、计算设备根据压缩算法对待压缩文件进行压缩得到压缩后数据,并存储压缩后数据。
计算设备根据语义分析结果指示的压缩算法对待压缩文件进行压缩得到压缩后数据。语义分析结果指示的压缩算法是指一种定制的压缩算法。例如,计算设备压缩基因测序应用场景的待压缩文件所使用的压缩算法包括关联压缩算法、公共字典参考压缩算法、DG预测压缩算法和熵编码,其中,关联压缩算法用于对fsatq数据块中的标签进行压缩,公共字典参考压缩算法用于对fsatq数据块中的DNA段进行压缩,DG预测压缩算法和熵编码用于对质量分数进行压缩。又如,计算设备压缩卫星遥感应用场景的待压缩文件所使用的压缩算法包括熵编码压缩算法,熵编码压缩算法用于对重组多个波段表征的有效信息得到的有效信息的重组后数据块进行压缩。
当语义分析结果包括待压缩文件的语义边界和压缩算法时,计算设备根据待压缩文件的内容特征指示的数据块的语义边界,对待压缩文件进行分片,得到多个数据块;根据压缩算法对多个数据块进行压缩得到压缩后数据。
示例地,如图6所示,假设待压缩文件为XXX.mrc。计算设备对XXX.mrc进行语义分析后,得到XXX.mrc的元数据和压缩算法,元数据指示了待压缩文件的语义边界,元数据包括文件头、文件扩展头和文件尾,以及n个数据块边界。进而,计算设备根据语义边界对待压缩文件进行分片,得到多个数据块,如果多个数据块之间不包括关联数据,根据压缩算法对多个数据块进行压缩得到压缩后数据,即XXX.hz。
如图7所示,假设文件头、文件扩展头和文件尾包括关联数据,数据块m和数据块n包括关联数据,例如n=m+2,则计算设备可以对文件头、文件扩展头和文件尾进行重组,对数据块m和数据块n进行重组,例如,对数据块0和数据块2进行重组,对数据块1和数据块3进行重组。计算设备根据压缩算法对多个重组后数据块进行压缩得到压缩后数据,即XXX.hz。
例如,待压缩文件是关于卫星遥感应用场景的数据,待压缩文件包括不同波段表征的同一场景的多个图像,则待压缩文件的内容特征包括同一场景采用不同波动表征的图像。不同波段表征的同一场景的多个图像包括有效信息和无效信息,计算设备可以重组多个波段表征的有效信息得到有效信息的重组后数据块,以及对无效信息进行重组得到无效信息的重组后数据块。进而,计算设备根据压缩算法对多个重组后数据块进行压缩得到压缩后数据。
当计算设备进行语义分析未确定到待压缩文件的内容特征和压缩算法,即语义分析失败,语义分析结果用于指示以固定长度进行分片并自适应确定压缩算法时,计算设备以固定长度,对待压缩文件进行分片,得到多个数据块;根据自适应确定的压缩算法对多个数据块进行压缩得到压缩后数据。
示例地,如图8所示,假设待压缩文件为XXX.wz。计算设备对XXX.wz进行语义分析后未得到XXX.wz的元数据和压缩算法。进而,计算设备根据固定长度对待压缩文件进行分片,得到多个数据块;根据自适应确定的压缩算法对多个数据块进行压缩得到压缩后数据,即XXX.hz。
在一种示例中,计算设备可以遍历对应关系中内容特征对应的压缩算法,根据多个压缩算法分别对待压缩文件进行压缩,以得到多个压缩后数据;比较多个压缩后数据的压缩率,选择压缩率最高的压缩算法作为对待压缩文件进行压缩的压缩算法。
在另一种示例中,计算设备可以遍历对应关系中内容特征对应的压缩算法,根据多个压缩算法分别对待压缩文件中的部分数据进行压缩,以得到多个压缩后数据;比较多个压缩后数据的压缩率,选择压缩率最高的压缩算法作为对待压缩文件进行压缩的压缩算法。从而缩短计算设备确定压缩算法的时长。部分数据包括从待压缩文件中选取的任意数据块。
可选地,语义分析结果还包含预处理指示,预处理指示用于指示对待压缩文件解压后依据压缩算法对解压后文件进行压缩。
示例地,如图9所示,假设待压缩文件为XXX.fastq.gz,该待压缩文件是一种已压缩文件。计算设备对XXX.fastq.gz进行语义分析后,得到待压缩文件的文件头、数据块和文件尾,根据该后缀名对应的压缩算法对待压缩文件进行解压,得到解压后文件。在一些实施例中,计算设备根据固定长度对解压后文件进行分片,得到多个数据块;根据自适应确定的压缩算法对多个数据块进行压缩得到压缩后数据,即XXX.hz。在另一些实施例中,计算设备根据解压后文件的内容特征指示的数据块的语义边界,对解压后文件进行分片,得到多个数据块;根据依据内容特征确定的压缩算法对多个数据块进行压缩得到压缩后数据。
需要说明的是,由于同一压缩算法的版本或等级不同,对同一份未压缩数据使用同一压缩算法的不同版本压缩得到不同的压缩文件,则导致依据不同版本或不同等级的压缩算法对解压后文件进行压缩后的文件可能与待压缩文件不同。示例地,如图10中的(a)所示,假设待压缩文件为fastq.gz,解压后文件为fastq,使用同一压缩算法的不同版本压缩fastq得到不同的压缩文件,压缩后数据包括压缩后数据a、压缩后数据b、压缩后数据x,导致从存储节点读取的数据与写入存储节点的数据可能不同。
在一些实施例中,预处理指示还用于指示存储临时压缩后数据与待压缩文件的差异,差异用于恢复待压缩文件。示例地,如图10中的(b)所示,①计算设备根据预设版本压缩算法对待压缩文件进行解压得到解压后文件。②计算设备根据预设版本压缩算法对解压后文件进行压缩得到第一临时压缩后数据,比较第一临时压缩后数据和待压缩文件得到差异,将差异作为元数据,并存储差异。③计算设备根据待压缩文件的内容特征确定的压缩算法对解压后文件进行压缩,得到压缩后数据。进而,④计算设备恢复待压缩文件时,根据压缩算法对压缩后数据进行解压得到解压后文件。⑤计算设备根据预设版本压缩算法对解压后文件进行压缩得到第二临时压缩后数据,并根据差异对第二临时压缩后数据进行校正,以得到待压缩文件。
步骤430、计算设备向存储设备发送压缩后数据。
计算设备可以向存储设备(如:硬盘105)发送数据包,数据包包含了压缩后数据。数据包还包含了临时压缩后数据与待压缩文件的差异。
本申请实施例通过对待压缩文件进行语义分析,理解待压缩文件识别出待压缩文件内数据的排布规律和内容特征,以指导后续的预处理和压缩操作。其中语义分析结果包含预处理方案和压缩算法。语义分析完成之后,在对待压缩文件进行压缩之前,根据语义分析结果指定的预处理方案对待压缩文件执行包括但不限于切片、重组、变换(解压)等操作,使得待压缩文件具有更好的可压缩性;最后,根据语义分析结果指定的压缩算法或者内容特征自适应匹配的压缩算法完成压缩,得到最优的压缩率。
计算设备从存储设备读取压缩后数据后,可以根据压缩算法解压压缩后数据得到原始的待压缩文件。如果在压缩待压缩文件时执行了重组、切片、解压等预处理操作,相应地,执行反预处理操作,恢复数据块的原始排布规律,得到待压缩文件。
可以理解的是,为了实现上述实施例中的功能,计算设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
上文中结合图1至图10,详细描述了根据本实施例所提供的数据压缩方法,下面将结合图11,描述根据本实施例所提供的数据压缩装置。
图11为本实施例提供的可能的数据压缩装置的结构示意图。这些数据压缩装置可以用于实现上述方法实施例中计算设备的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该数据压缩装置可以是如图4所示的计算设备,还可以是应用于计算设备的模块(如芯片)。
如图11所示,数据压缩装置1100包括通信模块1110、语义分析模块1120、压缩模块1130和存储模块1140。数据压缩装置1100用于实现上述图4中所示的方法实施例中计算设备的功能。
通信模块1110用于获取待压缩文件。
语义分析模块1120,用于根据待压缩文件的内容特征确定所述待压缩文件的压缩算法。例如,语义分析模块1120用于执行图4中步骤410。
压缩模块1130,用于根据所述压缩算法对所述待压缩文件进行压缩得到压缩后数据,并存储所述压缩后数据。例如,语义分析模块1120用于执行图4中步骤420。
存储模块1140用于存储多个后缀名、内容特征与压缩算法的对应关系,以便于语义分析模块1120确定压缩待压缩文件的压缩算法。
语义分析模块1120具体用于对所述待压缩文件进行语义分析得到语义分析结果,所述语义分析结果包括所述待压缩文件的语义边界和所述压缩算法。
语义分析模块1120具体用于确定所述待压缩文件的内容特征对应的所述第一对应关系中的内容特征;根据所述第一对应关系所确定的内容特征确定压缩所述待压缩文件的压缩算法。
语义分析模块1120具体用于确定所述待压缩文件的后缀名对应的所述第二对应关系中的后缀名;根据所述第二对应关系所确定的后缀名确定所述待压缩文件的内容特征。
压缩模块1130具体用于根据所述待压缩文件的内容特征指示的数据块的语义边界,对所述待压缩文件进行分片,得到多个数据块;根据所述压缩算法对所述多个数据块进行压缩得到所述压缩后数据。
压缩模块1130具体用于根据所述多个数据块的语义关系重组所述多个数据块,得到多个重组后数据块;根据所述压缩算法对所述多个重组后数据块进行压缩得到所述压缩后数据。
应理解的是,本申请实施例的数据压缩装置1100可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图4所示的数据压缩方法时,及其各个模块也可以为软件模块,数据压缩装置1100及其各个模块也可以为软件模块。
根据本申请实施例的数据压缩装置1100可对应于执行本申请实施例中描述的方法,并且数据压缩装置1100中的各个单元的上述和其它操作和/或功能分别为了实现图4中的各个方法的相应流程,为了简洁,在此不再赘述。
图12为本实施例提供的一种计算设备1200的结构示意图。如图所示,计算设备1200包括处理器1210、总线1220、存储器1230、通信接口1240和内存单元1250(也可以称为主存(main memory)单元)。处理器1210、存储器1230、内存单元1250和通信接口1240通过总线1220相连。
应理解,在本实施例中,处理器1210可以是CPU,该处理器1210还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
处理器还可以是图形处理器(graphics processing unit,GPU)、神经网络处理器(neural network processing unit,NPU)、微处理器、ASIC、或一个或多个用于控制本申请方案程序执行的集成电路。
通信接口1240用于实现计算设备1200与外部设备或器件的通信。在本实施例中,计算设备1200用于实现图4所示的计算设备的功能时,通信接口1240用于获取待压缩文件。通信接口1240可以是指网络接口卡,如以太网络接口卡、主机总线适配器、数据处理单元等,本申请不作具体限定。本申请另一种实现,处理器1210可以集成在通信接口1240中用于实现本申请实施例中的方案。本发明实施例中的通信接口可以为前端接口或后端接口,还可以为设备中统一的接口。
总线1220可以包括一通路,用于在上述组件(如处理器1210、内存单元1250和存储器1230)之间传送信息。总线1220除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1220。总线1220可以是快捷外围部件互连标准(Peripheral Component Interconnect Express,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线1220可以分为地址总线、数据总线、控制总线等。
作为一个示例,计算设备1200可以包括多个处理器。处理器可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的计算单元。在本实施例中,计算设备1200用于实现图4所示的计算设备的功能时,处理器1210根据待压缩文件的内容特征确定所述待压缩文件的压缩算法,根据所述压缩算法对所述待压缩文件进行压缩得到压缩后数据,并存储所述压缩后数据。
值得说明的是,图12中仅以计算设备1200包括1个处理器1210和1个存储器1230为例,此处,处理器1210和存储器1230分别用于指示一类器件或设备,具体实施例中,可以根据业务需求确定每种类型的器件或设备的数量。
内存单元1250可以对应上述方法实施例中用于存储后缀名、内容特征与压缩算法的对应关系等信息。内存单元1250可以是易失性存储器池或非易失性存储器池,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambusRAM,DR RAM)。
存储器1230可以对应上述方法实施例中用于存储计算机指令、压缩算法等信息的存储介质,例如,磁盘,如机械硬盘或固态硬盘。
上述计算设备1200可以是一个通用设备或者是一个专用设备。例如,计算设备1200可以是边缘设备(例如,携带具有处理能力芯片的盒子)等。可选地,计算设备1200也可以是服务器或其他具有计算能力的设备。
应理解,根据本实施例的计算设备1200可对应于本实施例中的数据压缩装置1100,并可以对应于执行根据图4中任一方法中的相应主体,并且数据压缩装置1100中的各个模块的上述和其它操作和/或功能分别为了实现图4中的各个方法的相应流程,为了简洁,在此不再赘述。
本申请提供一种存储系统,该存储系统包括至少一个计算节点和至少一个存储节点,所述计算节点用于执行上述实施例所述的数据压缩方法的操作步骤,得到压缩后数据,所述存储节点用于存储所述压缩后数据;或者,所述计算节点将待压缩数据传输至所述存储节点,所述存储节点执行上述实施例所述的数据压缩方法的操作步骤,得到压缩后数据,存储所述压缩后数据。
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于计算设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (20)
1.一种数据压缩方法,其特征在于,所述方法由计算设备执行,所述方法包括:
根据待压缩文件的内容特征确定所述待压缩文件的压缩算法;
根据所述压缩算法对所述待压缩文件进行压缩得到压缩后数据,并存储所述压缩后数据。
2.根据权利要求1所述的方法,其特征在于,所述待压缩文件的内容特征包括所述待压缩文件的应用场景特征。
3.根据权利要求1或2所述的方法,其特征在于,根据待压缩文件的内容特征确定所述待压缩文件的压缩算法,包括:
对所述待压缩文件进行语义分析得到语义分析结果,所述语义分析结果包括所述待压缩文件的语义边界和所述压缩算法。
4.根据权利要求3所述的方法,其特征在于,所述计算设备存储有多个内容特征与压缩算法的第一对应关系;
根据待压缩文件的内容特征确定所述待压缩文件的压缩算法,包括:
确定所述待压缩文件的内容特征对应的所述第一对应关系中的内容特征;
根据所述第一对应关系所确定的内容特征确定压缩所述待压缩文件的压缩算法。
5.根据权利要求3或4所述的方法,其特征在于,所述计算设备存储有多个后缀名与内容特征的第二对应关系;所述方法还包括:
确定所述待压缩文件的后缀名对应的所述第二对应关系中的后缀名;
根据所述第二对应关系所确定的后缀名确定所述待压缩文件的内容特征。
6.根据权利要求3-5中任一项所述的方法,其特征在于,所述语义分析结果还包含预处理指示,所述预处理指示用于指示采用预设版本压缩算法对所述待压缩文件解压后依据所述压缩算法对解压后文件进行压缩,并存储临时压缩后数据与所述待压缩文件的差异,所述差异用于恢复所述待压缩文件,所述预设版本压缩算法用于解压所述待压缩文件得到所述解压后文件,以及压缩所述解压后文件得到所述临时压缩后数据。
7.根据权利要求1-6中任一项所述的方法,其特征在于,根据所述压缩算法对所述待压缩文件进行压缩得到压缩后数据,包括:
根据所述待压缩文件的内容特征指示的数据块的语义边界,对所述待压缩文件进行分片,得到多个数据块;
根据所述压缩算法对所述多个数据块进行压缩得到所述压缩后数据。
8.根据权利要求7所述的方法,其特征在于,根据所述压缩算法对所述多个数据块进行压缩得到所述压缩后数据,包括:
根据所述多个数据块的语义关系重组所述多个数据块,得到多个重组后数据块;
根据所述压缩算法对所述多个重组后数据块进行压缩得到所述压缩后数据。
9.根据权利要求1或2所述的方法,其特征在于,根据待压缩文件的内容特征确定所述待压缩文件的压缩算法,包括:
对所述待压缩文件进行语义分析得到语义分析结果,所述语义分析结果用于指示以固定长度进行分片并自适应确定所述压缩算法。
10.一种数据压缩装置,其特征在于,所述装置包括:
语义分析模块,用于根据待压缩文件的内容特征确定所述待压缩文件的压缩算法;
压缩模块,用于根据所述压缩算法对所述待压缩文件进行压缩得到压缩后数据,并存储所述压缩后数据。
11.根据权利要求10所述的装置,其特征在于,所述待压缩文件的内容特征包括所述待压缩文件的应用场景特征。
12.根据权利要求10或11所述的装置,其特征在于,所述语义分析模块根据待压缩文件的内容特征确定所述待压缩文件的压缩算法时,具体用于:
对所述待压缩文件进行语义分析得到语义分析结果,所述语义分析结果包括所述待压缩文件的语义边界和所述压缩算法。
13.根据权利要求12所述的装置,其特征在于,所述装置存储有多个内容特征与压缩算法的第一对应关系;所述语义分析模块根据待压缩文件的内容特征确定所述待压缩文件的压缩算法时,具体用于:
确定所述待压缩文件的内容特征对应的所述第一对应关系中的内容特征;
根据所述第一对应关系所确定的内容特征确定压缩所述待压缩文件的压缩算法。
14.根据权利要求12或13所述的装置,其特征在于,所述装置存储有多个后缀名与内容特征的第二对应关系;所述语义分析模块还用于:
确定所述待压缩文件的后缀名对应的所述第二对应关系中的后缀名;
根据所述第二对应关系所确定的后缀名确定所述待压缩文件的内容特征。
15.根据权利要求12-14中任一项所述的装置,其特征在于,所述语义分析结果还包含预处理指示,所述预处理指示用于指示采用预设版本压缩算法对所述待压缩文件解压后依据所述压缩算法对解压后文件进行压缩,并存储临时压缩后数据与所述待压缩文件的差异,所述差异用于恢复所述待压缩文件,所述预设版本压缩算法用于解压所述待压缩文件得到所述解压后文件,以及压缩所述解压后文件得到所述临时压缩后数据。
16.根据权利要求10-15中任一项所述的装置,其特征在于,所述压缩模块根据所述压缩算法对所述待压缩文件进行压缩得到压缩后数据时,具体用于:
根据所述待压缩文件的内容特征指示的数据块的语义边界,对所述待压缩文件进行分片,得到多个数据块;
根据所述压缩算法对所述多个数据块进行压缩得到所述压缩后数据。
17.根据权利要求16所述的装置,其特征在于,所述压缩模块根据所述压缩算法对所述多个数据块进行压缩得到所述压缩后数据时,具体用于:
根据所述多个数据块的语义关系重组所述多个数据块,得到多个重组后数据块;
根据所述压缩算法对所述多个重组后数据块进行压缩得到所述压缩后数据。
18.根据权利要求10或11所述的装置,其特征在于,所述语义分析模块根据待压缩文件的内容特征确定所述待压缩文件的压缩算法时,具体用于:
对所述待压缩文件进行语义分析得到语义分析结果,所述语义分析结果用于指示以固定长度进行分片并自适应确定所述压缩算法。
19.一种计算设备,其特征在于,所述计算设备包括通信接口和处理器,所述通信接口与所述处理器通信;所述处理器用于执行上述权利要求1-9中任一项所述的方法的操作步骤。
20.一种存储系统,其特征在于,所述存储系统包括至少一个计算节点和至少一个存储节点,所述计算节点用于执行上述权利要求1-9中任一项所述的方法的操作步骤,得到压缩后数据,所述存储节点用于存储所述压缩后数据;或者,所述计算节点将待压缩数据传输至所述存储节点,所述存储节点执行上述权利要求1-9中任一项所述的方法的操作步骤,得到压缩后数据,存储所述压缩后数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211202660.9A CN117827775A (zh) | 2022-09-29 | 2022-09-29 | 数据压缩方法、装置、计算设备及存储系统 |
PCT/CN2023/102962 WO2024066547A1 (zh) | 2022-09-29 | 2023-06-27 | 数据压缩方法、装置、计算设备及存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211202660.9A CN117827775A (zh) | 2022-09-29 | 2022-09-29 | 数据压缩方法、装置、计算设备及存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117827775A true CN117827775A (zh) | 2024-04-05 |
Family
ID=90475889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211202660.9A Pending CN117827775A (zh) | 2022-09-29 | 2022-09-29 | 数据压缩方法、装置、计算设备及存储系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117827775A (zh) |
WO (1) | WO2024066547A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289118B1 (en) * | 1998-04-03 | 2001-09-11 | Magnifi, Inc. | Method and apparatus for choosing a compression algorithm |
CN101184109B (zh) * | 2007-12-14 | 2011-12-28 | 西安三茗科技有限责任公司 | 计算机硬盘数据网络传输加速层装置 |
CN105718478A (zh) * | 2014-12-03 | 2016-06-29 | 北京奇虎科技有限公司 | 数据存储的方法和装置 |
CN107888197B (zh) * | 2017-10-31 | 2021-08-13 | 华为技术有限公司 | 一种数据压缩方法和装置 |
CN114443589A (zh) * | 2020-11-04 | 2022-05-06 | 北京金山云网络技术有限公司 | 文件的存储方法、装置、服务器及计算机存储介质 |
CN115905136A (zh) * | 2021-08-25 | 2023-04-04 | 华为技术有限公司 | 一种数据处理的方法和装置 |
-
2022
- 2022-09-29 CN CN202211202660.9A patent/CN117827775A/zh active Pending
-
2023
- 2023-06-27 WO PCT/CN2023/102962 patent/WO2024066547A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024066547A1 (zh) | 2024-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11463102B2 (en) | Data compression method, data decompression method, and related apparatus, electronic device, and system | |
RU2581551C2 (ru) | Способ оптимизации хранения и передачи данных | |
WO2023279964A1 (zh) | 数据压缩方法、装置、计算设备及存储系统 | |
US9172771B1 (en) | System and methods for compressing data based on data link characteristics | |
US9252807B2 (en) | Efficient one-pass cache-aware compression | |
US10579591B1 (en) | Incremental block compression | |
US10540240B2 (en) | Method and apparatus for data backup in storage system | |
EP3376393A1 (en) | Data storage method and apparatus | |
CN115599757A (zh) | 数据压缩方法、装置、计算设备及存储系统 | |
WO2014188528A1 (ja) | メモリ装置、計算機システム及びメモリ装置の制御方法 | |
US20160124683A1 (en) | In-memory data compression complementary to host data compression | |
US20220147255A1 (en) | Method and apparatus for compressing data of storage system, device, and readable storage medium | |
CN114337678A (zh) | 数据压缩方法、装置、设备及存储介质 | |
CN107423425B (zh) | 一种对k/v格式的数据快速存储和查询方法 | |
US20240070120A1 (en) | Data processing method and apparatus | |
WO2024001863A1 (zh) | 一种数据处理方法及相关设备 | |
KR20200121760A (ko) | 인코딩된 데이터에 대한 조건부 트랜스코딩 | |
CN117827775A (zh) | 数据压缩方法、装置、计算设备及存储系统 | |
US12073080B2 (en) | System and method for improving reliability of a data storage system | |
US10168909B1 (en) | Compression hardware acceleration | |
CN116418348A (zh) | 一种数据压缩方法、装置、设备及存储介质 | |
CN114238250A (zh) | 程序文件压缩方法、装置及电子设备 | |
CN115250351A (zh) | 用于图像数据的压缩方法、解压方法及相关产品 | |
WO2024002077A1 (zh) | 数据传输的方法、多核芯片 | |
US11507499B2 (en) | System and method for facilitating mitigation of read/write amplification in data compression |
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 |