CN115208413B - 链式编码压缩方法、装置、计算机设备及存储介质 - Google Patents

链式编码压缩方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN115208413B
CN115208413B CN202211112707.2A CN202211112707A CN115208413B CN 115208413 B CN115208413 B CN 115208413B CN 202211112707 A CN202211112707 A CN 202211112707A CN 115208413 B CN115208413 B CN 115208413B
Authority
CN
China
Prior art keywords
data
coding
processed
coding algorithm
node
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
Application number
CN202211112707.2A
Other languages
English (en)
Other versions
CN115208413A (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.)
Beijing Siweizongheng Data Technology Co ltd
Original Assignee
Beijing Siweizongheng Data Technology Co 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 Beijing Siweizongheng Data Technology Co ltd filed Critical Beijing Siweizongheng Data Technology Co ltd
Priority to CN202211112707.2A priority Critical patent/CN115208413B/zh
Publication of CN115208413A publication Critical patent/CN115208413A/zh
Application granted granted Critical
Publication of CN115208413B publication Critical patent/CN115208413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • 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/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof

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)
  • Software Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明实施例提供了一种链式编码压缩方法、装置、计算机设备及存储介质,涉及数据处理技术领域,其中,该方法包括:根据待处理数据的数据类型,分析所述待处理数据的数据特征,其中,所述待处理数据为相同数据类型的数据;根据所述数据特征,确定编码算法组合,其中,所述编码算法组合包括至少一种编码算法;采用所述编码算法组合中的编码算法,对所述待处理数据进行压缩。该方案实现了可以自动化、精准地确定出更适用待处理数据的多种编码算法,有利于实现数据编码/压缩的最优化,实现压缩率的大幅提升。

Description

链式编码压缩方法、装置、计算机设备及存储介质
技术领域
本发明涉及数据处理技术领域,特别涉及一种链式编码压缩方法、装置、计算机设备及存储介质。
背景技术
过去的数据库领域普遍采用行存方式,即属于同一行的各个字段连续存放在一起。随着大数据分析的广泛应用,列存成为重要的领域。它将同一列的数据连续存放在一起。因为数据属于同一类型,且往往带有一定的变化的模式,从而存在很大的压缩空间。
现在的压缩模式大多针对数据类型特征提供或通用或专用的编码/压缩方法。比如,LZ4/zstd/zlib等广泛应用于数据库领域,而LZMA系列算法等应用于长期存储领域。
出于通用和实现代价的考虑,一般数据库通常支持少数的压缩算法。如PosgreSQL支持zstd/lz4/zlib等。这些方法具有很好的通用性,即对各种数据类型都有较好的效果,但对于特定的数据类型则效果往往不理想。例如,以时序数据库为例,InfluxDB/TimesacleDB/Gorilla则针对数据类型支持较为精细的压缩算法,如XOR、deltadelta等是针对特定数据类型的算法。
实际上,有些编码压缩的方法则对输出有一定的依赖。仅采用单一、简单的编码或组合都不能有效地进行数据压缩。需要对数据进行系统、细致地分析,组合相关的编码方法/步骤才能实现最大化的压缩。有些数据系统,如ClickHouse,虽然允许指定多种算法进行连续压缩,但完全依赖于手工配置,无法自动实现最优化编码。
发明内容
有鉴于此,本发明实施例提供了一种链式编码压缩方法,以解决现有技术中采用多种算法连续压缩时,无法自动实现最优化编码的技术问题。该方法包括:
根据待处理数据的数据类型,分析所述待处理数据的数据特征,其中,所述待处理数据为相同数据类型的数据;
根据所述数据特征,确定编码算法组合,其中,所述编码算法组合包括至少一种编码算法;
采用所述编码算法组合中的编码算法,对所述待处理数据进行压缩。
本发明实施例还提供了一种链式编码压缩装置,以解决现有技术中采用多种算法连续压缩时,无法自动实现最优化编码的技术问题。该装置包括:
特征分析模块,用于根据待处理数据的数据类型,分析所述待处理数据的数据特征,其中,所述待处理数据为相同数据类型的数据;
编码算法确定模块,用于根据所述数据特征,确定编码算法组合,其中,所述编码算法组合包括至少一种编码算法;
数据压缩模块,用于采用所述编码算法组合中的编码算法,对所述待处理数据进行压缩。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的链式编码压缩方法,以解决现有技术中采用多种算法连续压缩时,无法自动实现最优化编码的技术问题。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的链式编码压缩方法的计算机程序,以解决现有技术中采用多种算法连续压缩时,无法自动实现最优化编码的技术问题。
与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:通过根据待处理数据的数据类型,分析待处理数据的数据特征,进而可以基于数据特征来确定编码算法组合,使得确定的编码算法组合中的编码算法与数据特征更适配,使得实现了可以自动化、精准地确定出更适用待处理数据的多种编码算法,最终采用最佳的压缩方案来压缩待处理数据,与现有技术中的基于人工配置的链式编码压缩方法相比,有利于实现数据编码/压缩的最优化,实现压缩率的大幅提升,进而有利于大幅提升写入和读取效率,并有利于降低数据存储成本。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种链式编码压缩方法的流程图;
图2是本发明实施例提供的一种实施上述链式编码压缩方法的原理示意图;
图3是本发明实施例提供的一种数据特征的树结构的示意图;
图4是本发明实施例提供的一种基于树结构计算编码收益的示意图;
图5是本发明实施例提供的一种计算机设备的结构框图;
图6是本发明实施例提供的一种链式编码压缩装置的结构框图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请发明人发现,压缩效果不仅与数据类型相关,更与数据特征相关,因此提出了一种链式编码压缩方法,以实现根据数据特征来精准地确定出更适用待处理数据的多个编码算法,来实现最优化、压缩率大幅提升的数据编码压缩。
在本发明实施例中,提供了一种链式编码压缩方法,如图1所示,该方法包括:
步骤S101:根据待处理数据的数据类型,分析所述待处理数据的数据特征,其中,所述待处理数据为相同数据类型的数据;
步骤S102:根据所述数据特征,确定编码算法组合,其中,所述编码算法组合包括至少一种编码算法;
步骤S103:采用所述编码算法组合中的编码算法,对所述待处理数据进行压缩。
由图1所示的流程可知,在本发明实施例中,通过根据待处理数据的数据类型,分析待处理数据的数据特征,进而可以基于数据特征来确定编码算法组合,使得确定的编码算法组合中的编码算法与数据特征更适配,使得实现了可以自动化、精准地确定出更适用待处理数据的多种编码算法,最终采用最佳的压缩方案来压缩待处理数据,与现有技术中的基于人工配置的链式编码压缩方法相比,有利于实现数据编码/压缩的最优化,实现压缩率的大幅提升,进而有利于大幅提升写入和读取效率,并有利于降低数据存储成本。
具体实施时,上述待处理数据为数据类型相同的数据,例如,可以是列式数据。
具体实施时,如果不能事先知道数据类型(比如,当下流行的schemaless的数据集),如图2所示,则可以通过数据类型识别方法(或称为类型识别模块)识别出数据类型。
具体实施时,如图2所示,知晓待处理数据的数据类型后,则可以根据待处理数据的数据类型,来分析待处理数据的数据特征,可以根据数据类型,选择对应的特征分析器来分析待处理数据的数据特征。例如,浮点数和整型数需要提取的特征有很大差别,整型数,需要提取多级的差分特征,而浮点数则需要分析其二进制的相似性。
具体实施时,在分析数据特征的过程中,有些数据特征往往需要做一些预处理才能显示出来,为了实现准确、全面地分析数据特征,在本实施例中,如图2所示,可以根据待处理数据的数据类型和前序特征,对待处理数据进行预处理操作后,再分析待处理数据的数据特征,其中,预处理操作可以包括但不限于差分操作。
具体实施时,差分操作是针对一列数据,依次使用后一个值减去当前值,依次得到的差值组成一列数据,从而得到新的数列。进一步,可以使用多级差分,即对差分后的数列再次进行差分。也可以采用在一个窗口上先根据相似性建立索引,再进行差分。同时差分也可以配合按照比例缩放来进行,例如,(1000, 2000, 4000, 9000,10000),采用一阶差分的结果是(1000,2000,5000,1000),配合以1000的比例进行缩放就得到[3](1,2,5,1),3指的按10的3次方进行缩放,结果就会表现出较小的范围,从而适合压缩。
具体的,以整型数为例,需要执行差分操作,即取前后值的差值。数据特征则包括但不限于:数据列的范围、min/max值、符号变化等。
具体实施时,上述对待处理数据进行预处理操作的过程中,预处理操作可以包括多种预处理方法中的任意一种或任意组合,预处理方法可以是一阶差分、多阶差分、缩放、异或等等。
具体实施时,为了实现数据特征的有效、精准提取,在本实施例中,提出了对待处理数据进行多阶的数据特征分析的方法,例如,对待处理数据进行多阶的数据特征分析,并在每个子阶段,基于该子阶段分析得到的数据特征计算特征信号,特征信号可以采用数据值的大小表示,数据值越小特征信号越强;例如,以上述差分结果(1000,2000,5000,1000)为例,当我们只进行差分的预处理则发现数值范围仍较大(>256,超过一个字节的表示范围),则说明不够好,即信号不够强,而按照1000比例进行缩放后,得到[3](1,2,5,1),数据特征以数据范围为例,则数据范围只在10以内,说明差分+缩放后得到好的数据特征,此时数据范围已经很小,对应的特征信号很强;具体应用时,可以建立数据特征大小与特征信号的对应关系,例如,不同数值大小或者数值范围大小分别对应不同的特征信号数值,以便于将特征信号量化。
判断该子阶段的特征信号是否达到预设强度,若否,则进行下一子阶段的数据特征分析,若是,则输出数据特征,各个子阶段的数据特征组成树结构,其中,树结构中的父节点对应上一子阶段的数据特征,树结构中的子节点对应下一子阶段的数据特征。
具体实施时,各个子阶段的数据特征组成的树结构,可以是各个子阶段的数据特征基于分析阶段的先后顺序按照树结构的节点关系形成树结构,树结构中的父节点对应上一子阶段的数据特征,树结构中的子节点对应下一子阶段的数据特征。例如,如图3所示,Root表示树结构的根节点,根节点对应原始的待处理数据,根节点对应两个子节点,1阶差分的节点表示对应原始的待处理数据经过1阶差分处理后的数据以及该数据包括的数据特征,异或的节点表示对应原始的待处理数据经过异或处理后的数据以及该数据包括的数据特征,1阶差分的节点对应两个子节点,缩放的节点表示对应原始的待处理数据经过1阶差分和缩放处理后的数据以及该数据包括的数据特征,2阶差分的节点表示对应原始的待处理数据经过1阶差分和2阶差分处理后的数据以及该数据的数据特征,如果再进行其他处理,则以此类推形成树结构的节点。
具体实施时,得到数据特征后,即可根据数据特征,确定适用的编码算法组合,例如,遍历数据特征的树结构中的每个节点,根据当前节点和当前节点的所有父节点对应的数据特征,从编码算法与编码算法适用的数据特征的对应关系中,确定出多种编码算法,得到一个编码算法组合,即每遍历一个节点,根据该节点和该节点之前的各个父节点对应的数据特征,从编码算法与编码算法适用的数据特征的对应关系中,确定出多种编码算法,确定出的多种编码算法形成一个编码算法组合,这样遍历从树根节点到叶子节点的路径,就可以得到多个不同的编码算法组合。
具体实施时,如图2所示,上述编码算法与编码算法适用的数据特征的对应关系可以存储在算法库中,在算法库中提供多种编码算法,并提供每种编码算法对应的最适用的一个或多个数据特征。
具体实施时,为了进一步优化压缩效果,在本实施例中,提出了在多个适用待处理数据的多个编码算法组合中,确定压缩方案,例如,计算不同的编码算法组合对应的编码收益值;根据编码收益值,确定用于压缩待处理数据的编码算法组合,并采用确定出的编码算法组合中的编码算法,对待处理数据进行压缩。
具体实施时,为了实现可以准确、有效地计算出不同的编码算法组合对应的编码收益值,在本实施例中,提出了基于数据特征的树结构来计算不同的编码算法组合对应的编码收益值。例如,在数据特征的树结构中,计算当前节点与前一节点之间的收益值,该收益值为前一节点的数据大小与当前节点的数据大小的比值,即收益值是从前一节点到当前节点经过某种处理方法后数据大小的变化比值,也就是说,经过某种处理方法前数据的原始大小和经过某种处理方法后数据的预期大小之间的比值,比值越大收益越好;在当前节点和当前节点的所有父节点中,将各相邻节点之间的收益值相乘,将乘积作为当前节点和当前节点的所有父节点对应的数据特征确定出的一个编码算法组合的编码收益值。
具体实施时,如图4所示,以图4所述的数据特征的树结构为例,Root根节点与1阶差分的节点之间的收益值为0.9,Root根节点与异或的节点之间的收益值为0.8,1阶差分的节点与缩放的节点之间的收益值为5,1阶差分的节点与2阶差分的节点之间的收益值为2,以缩放的节点为当前节点为例,则在缩放的节点和其所有的父节点中,各相邻节点时间的收益值分别为0.9和5,则缩放的节点和其所有的父节点对应的数据特征确定出的一个编码算法组合的编码收益值为0.9*5=4.5;以2阶差分的节点为当前节点为例,2阶差分的节点和其所有的父节点对应的数据特征确定出的一个编码算法组合的编码收益值为0.9*2=1.8,由此可见,以缩放的节点为当前节点时确定出的编码算法组合的收益最好。
具体实施时,根据编码收益值,确定用于压缩待处理数据的编码算法组合的过程中,可以将编码收益值最高的编码算法组合,确定为用于压缩待处理数据的编码算法组合,以实现采用最佳压缩方案来压缩待处理数据。
具体实施时,为了实现可以根据实际压缩效果来动态优化压缩过程,在本实施例中,提出了通过以下步骤实现基于编码算法组合中的编码算法,对待处理数据进行压缩的过程,例如,按照编码收益值由大到小的顺序,对多个编码算法组合进行排序;
确定将前预设数量M个排位的编码算法组合用于压缩所述待处理数据;
首先,采用第一排位的编码算法组合中的编码算法,对待处理数据进行压缩时,如图2所示,为了实时了解实际压缩情况,压缩过程中依次调用编码算法,根据每一步的压缩效果计算编码收益值,并进行负反馈;
通过判断计算的编码收益值与第一排位的编码算法组合对应的编码收益值之间的差值,是否大于预设阈值,来进一步确定是否更换编码算法组合;
若是,则在前预设数量M个排位的编码算法组合中,选择其他编码算法组合中的编码算法,对待处理数据进行压缩,即换用其他编码算法组合对待处理数据进行压缩,例如,换用第二排位的编码算法组合,如果第二排位的编码算法组合对待处理数据进行压缩中,计算的编码收益值与第二排位的编码算法组合对应的编码收益值之间的差值还大于预设阈值,继续换用其他编码算法组合对待处理数据进行压缩,以此类推;若否,则继续使用第一排位的编码算法组合中的编码算法,对待处理数据进行压缩。
具体实施时,在压缩待处理数据的过程中,将采用编码算法组合中的编码算法进行的每一步压缩结果都统计保存起来,周期性分析实际的压缩效果,计算编码收益值并确定目标效果(即采用的编码算法组合对应的编码收益值)的差异,及时反馈到前序编码算法组合选择的步骤,使得可以动态优化压缩效果,最终采取较好编码算法组合,并将压缩后的数据记录在存储介质中。
具体实施时,上述链式编码压缩方法可广泛应用于信息处理领域,包括数据库、大数据系统等,可将特定领域的数据进行精细化压缩,达到优化的压缩效果,进而极大地缩小数据尺寸并控制CPU开销,同时有利于实现数据写入和查询的加速。
在本实施例中,提供了一种计算机设备,如图5所示,包括存储器501、处理器502及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的链式编码压缩方法。
具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。
在本实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的链式编码压缩方法的计算机程序。
具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
基于同一发明构思,本发明实施例中还提供了一种链式编码压缩装置,如下面的实施例所述。由于链式编码压缩装置解决问题的原理与链式编码压缩方法相似,因此链式编码压缩装置的实施可以参见链式编码压缩方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是本发明实施例的链式编码压缩装置的一种结构框图,如图6所示,该装置包括:
特征分析模块601,用于根据待处理数据的数据类型,分析所述待处理数据的数据特征,其中,所述待处理数据为相同数据类型的数据;
编码算法确定模块602,用于根据所述数据特征,确定编码算法组合,其中,所述编码算法组合包括至少一种编码算法;
数据压缩模块603,用于采用所述编码算法组合中的编码算法,对所述待处理数据进行压缩。
在一个实施例中,特征分析模块,具体用于根据所述待处理数据的数据类型和前序特征,对所述待处理数据进行预处理操作后,分析所述待处理数据的数据特征,其中,所述预处理操作包括差分操作。
在一个实施例中,特征分析模块,包括:
特征信号计算单元,用于对所述待处理数据进行多阶的数据特征分析,在每个子阶段,基于该子阶段分析得到的数据特征计算特征信号;
特征分析单元,用于判断该子阶段的特征信号是否达到预设强度,若否,则进行下一子阶段的数据特征分析,若是,则输出数据特征,各个子阶段的数据特征组成树结构,其中,树结构中的父节点对应上一子阶段的数据特征,树结构中的子节点对应下一子阶段的数据特征,特征信号采用数据值的大小表示,数据值越小特征信号越强。
在一个实施例中,编码算法确定模块,具体用于遍历所述树结构中的每个节点,根据当前节点和当前节点的所有父节点对应的数据特征,从编码算法与编码算法适用的数据特征的对应关系中,确定出多种编码算法,得到一个编码算法组合,遍历从树根节点到叶子节点的路径,得到多个不同的编码算法组合。
在一个实施例中,编码算法确定模块,包括:
收益值计算单元,用于计算不同的所述编码算法组合对应的编码收益值;
编码算法确定单元,用于根据所述编码收益值,确定用于压缩所述待处理数据的所述编码算法组合,并采用确定出的所述编码算法组合中的编码算法,对所述待处理数据进行压缩。
在一个实施例中,收益值计算单元,用于在数据特征的树结构中,计算当前节点与前一节点之间的收益值,所述收益值为前一节点的数据大小与当前节点的数据大小的比值;在当前节点和当前节点的所有父节点中,将各相邻节点之间的收益值相乘,将乘积作为当前节点和当前节点的所有父节点对应的数据特征确定出的一个编码算法组合的编码收益值。
在一个实施例中,编码算法确定单元,具体用于将编码收益值最高的所述编码算法组合,确定为用于压缩所述待处理数据的所述编码算法组合。
在一个实施例中,编码算法确定单元,包括:
排序子单元,用于按照所述编码收益值由大到小的顺序,对所述编码算法组合进行排序;
编码算法确定子单元,用于确定将前预设数量个排位的所述编码算法组合用于压缩所述待处理数据;
收益值计算子单元,用于采用第一排位的所述编码算法组合中的编码算法,对所述待处理数据进行压缩时,根据每一步的压缩效果计算编码收益值;
判断子单元,用于判断计算的编码收益值与第一排位的所述编码算法组合对应的编码收益值之间的差值,是否大于预设阈值;
编码算法确定子单元,还用于若是,则在前所述预设数量个排位的所述编码算法组合中,选择其他所述编码算法组合中的编码算法,对所述待处理数据进行压缩。
本发明实施例实现了如下技术效果:通过根据待处理数据的数据类型,分析待处理数据的数据特征,进而可以基于数据特征来确定编码算法组合,使得确定的编码算法组合中的编码算法与数据特征更适配,使得实现了可以自动化、精准地确定出更适用待处理数据的多种编码算法,最终采用最佳的压缩方案来压缩待处理数据,与现有技术中的基于人工配置的链式编码压缩方法相比,有利于实现数据编码/压缩的最优化,实现压缩率的大幅提升,进而有利于大幅提升写入和读取效率,并有利于降低数据存储成本。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种链式编码压缩方法,其特征在于,包括:
根据待处理数据的数据类型,分析所述待处理数据的数据特征,其中,所述待处理数据为相同数据类型的数据,所述数据类型包括列式数据;
根据所述数据特征,确定编码算法组合,其中,所述编码算法组合包括多种编码算法;
采用所述编码算法组合中的编码算法,对所述待处理数据进行压缩;
分析所述待处理数据的数据特征,包括:
对所述待处理数据进行多阶的数据特征分析,在每个子阶段,基于该子阶段分析得到的数据特征计算特征信号;
判断该子阶段的特征信号是否达到预设强度,若否,则进行下一子阶段的数据特征分析,若是,则输出数据特征,各个子阶段的数据特征组成树结构,其中,树结构中的父节点对应上一子阶段的数据特征,树结构中的子节点对应下一子阶段的数据特征,特征信号采用数据值的大小表示,数据值越小特征信号越强;
根据所述数据特征,确定编码算法组合,包括:
遍历所述树结构中的每个节点,根据当前节点和当前节点的所有父节点对应的数据特征,从编码算法与编码算法适用的数据特征的对应关系中,确定出多种编码算法,得到一个编码算法组合,遍历从树根节点到叶子节点的路径,得到多个不同的编码算法组合。
2.如权利要求1所述的链式编码压缩方法,其特征在于,根据所述待处理数据的数据类型,分析所述待处理数据的数据特征,包括:
根据所述待处理数据的数据类型和前序特征,对所述待处理数据进行预处理操作后,分析所述待处理数据的数据特征,其中,所述预处理操作包括差分操作。
3.如权利要求1所述的链式编码压缩方法,其特征在于,采用所述编码算法组合中的编码算法,对所述待处理数据进行编码压缩,包括:
计算不同的所述编码算法组合对应的编码收益值;
根据所述编码收益值,确定用于压缩所述待处理数据的所述编码算法组合,并采用确定出的所述编码算法组合中的编码算法,对所述待处理数据进行压缩。
4.如权利要求3所述的链式编码压缩方法,其特征在于,计算不同的所述编码算法组合对应的编码收益值,包括:
在数据特征的树结构中,计算当前节点与前一节点之间的收益值,所述收益值为前一节点的数据大小与当前节点的数据大小的比值;
在当前节点和当前节点的所有父节点中,将各相邻节点之间的收益值相乘,将乘积作为当前节点和当前节点的所有父节点对应的数据特征确定出的一个编码算法组合的编码收益值。
5.如权利要求3所述的链式编码压缩方法,其特征在于,根据所述编码收益值,确定用于压缩所述待处理数据的所述编码算法组合,包括:
将编码收益值最高的所述编码算法组合,确定为用于压缩所述待处理数据的所述编码算法组合。
6.如权利要求3所述的链式编码压缩方法,其特征在于,根据所述编码收益值,确定用于压缩所述待处理数据的所述编码算法组合,并采用确定出的所述编码算法组合中的编码算法,对所述待处理数据进行压缩,包括:
按照所述编码收益值由大到小的顺序,对所述编码算法组合进行排序;
确定将前预设数量个排位的所述编码算法组合用于压缩所述待处理数据;
采用第一排位的所述编码算法组合中的编码算法,对所述待处理数据进行压缩时,根据每一步的压缩效果计算编码收益值;
判断计算的编码收益值与第一排位的所述编码算法组合对应的编码收益值之间的差值,是否大于预设阈值;
若是,则在前所述预设数量个排位的所述编码算法组合中,选择其他所述编码算法组合中的编码算法,对所述待处理数据进行压缩。
7.一种链式编码压缩装置,其特征在于,包括:
特征分析模块,用于根据待处理数据的数据类型,分析所述待处理数据的数据特征,其中,所述待处理数据为相同数据类型的数据,所述数据类型包括列式数据;
编码算法确定模块,用于根据所述数据特征,确定编码算法组合,其中,所述编码算法组合包括多种编码算法;
数据压缩模块,用于采用所述编码算法组合中的编码算法,对所述待处理数据进行压缩;
所述特征分析模块,包括:
特征信号计算单元,用于对所述待处理数据进行多阶的数据特征分析,在每个子阶段,基于该子阶段分析得到的数据特征计算特征信号;
特征分析单元,用于判断该子阶段的特征信号是否达到预设强度,若否,则进行下一子阶段的数据特征分析,若是,则输出数据特征,各个子阶段的数据特征组成树结构,其中,树结构中的父节点对应上一子阶段的数据特征,树结构中的子节点对应下一子阶段的数据特征,特征信号采用数据值的大小表示,数据值越小特征信号越强;
所述编码算法确定模块,具体用于遍历所述树结构中的每个节点,根据当前节点和当前节点的所有父节点对应的数据特征,从编码算法与编码算法适用的数据特征的对应关系中,确定出多种编码算法,得到一个编码算法组合,遍历从树根节点到叶子节点的路径,得到多个不同的编码算法组合。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的链式编码压缩方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至6中任一项所述的链式编码压缩方法的计算机程序。
CN202211112707.2A 2022-09-14 2022-09-14 链式编码压缩方法、装置、计算机设备及存储介质 Active CN115208413B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211112707.2A CN115208413B (zh) 2022-09-14 2022-09-14 链式编码压缩方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211112707.2A CN115208413B (zh) 2022-09-14 2022-09-14 链式编码压缩方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN115208413A CN115208413A (zh) 2022-10-18
CN115208413B true CN115208413B (zh) 2023-01-17

Family

ID=83572658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211112707.2A Active CN115208413B (zh) 2022-09-14 2022-09-14 链式编码压缩方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN115208413B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752287A (zh) * 2012-06-05 2012-10-24 广东智华计算机科技有限公司 一种网络入侵检测器的检测方法
CN106557539A (zh) * 2015-09-25 2017-04-05 希捷科技有限责任公司 分层存储中的压缩采样
WO2020135357A1 (zh) * 2018-12-29 2020-07-02 中兴通讯股份有限公司 数据压缩方法及装置、数据编码/解码方法及装置
CN113297208A (zh) * 2020-10-30 2021-08-24 阿里巴巴集团控股有限公司 数据处理方法及装置
CN114222129A (zh) * 2022-01-27 2022-03-22 深圳市爱协生科技有限公司 图像压缩编码方法、装置、计算机设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1314626B1 (it) * 2000-04-21 2002-12-20 Ik Multimedia Production Srl Procedimento per la codifica e la decodifica di flussi di dati,rappresentanti suoni in forma digitale, all'interno di un
US10382842B2 (en) * 2012-06-26 2019-08-13 BTS Software Software Solutions, LLC Realtime telemetry data compression system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752287A (zh) * 2012-06-05 2012-10-24 广东智华计算机科技有限公司 一种网络入侵检测器的检测方法
CN106557539A (zh) * 2015-09-25 2017-04-05 希捷科技有限责任公司 分层存储中的压缩采样
WO2020135357A1 (zh) * 2018-12-29 2020-07-02 中兴通讯股份有限公司 数据压缩方法及装置、数据编码/解码方法及装置
CN113297208A (zh) * 2020-10-30 2021-08-24 阿里巴巴集团控股有限公司 数据处理方法及装置
CN114222129A (zh) * 2022-01-27 2022-03-22 深圳市爱协生科技有限公司 图像压缩编码方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN115208413A (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
US11276013B2 (en) Method and apparatus for training model based on random forest
CN109325032B (zh) 一种索引数据存储及检索方法、装置及存储介质
Thomas et al. Automatic gradient boosting
US11954115B2 (en) Methods and systems for wavelet based representation
US8996436B1 (en) Decision tree classification for big data
CN114722014A (zh) 基于数据库日志文件的批量数据时间序列传输方法及系统
CN111813840B (zh) 一种数据处理方法、设备及存储介质
CN116383912A (zh) 一种提高控制精度的微型电机结构优化方法及系统
Inselberg et al. The automated multidimensional detective
CN115208413B (zh) 链式编码压缩方法、装置、计算机设备及存储介质
CN109543772B (zh) 数据集自动匹配方法、装置、设备和计算机可读存储介质
Jiang et al. Incremental window aggregates over array database
CN113660147B (zh) 一种基于模糊熵的ip会话序列周期性评估方法
CN110765216A (zh) 数据挖掘方法、装置、计算机设备及计算机可读存储介质
CN111723122A (zh) 数据间关联规则的确定方法、装置、设备及可读存储介质
Wang et al. Compacting binary neural networks by sparse kernel selection
US9122997B1 (en) Generating attribute-class-statistics for decision trees
CN113610629A (zh) 一种从大规模特征集中筛选客户数据特征的方法及装置
US20210271735A1 (en) Information processing device, tensor compression method, and non-transitory computer readable medium storing program
CN113661510A (zh) 基于非线性规划模型的投产规划系统,投产规划方法和计算机可读存储介质
CN111736845B (zh) 一种编码方法和装置
Kuropatwinski Estimation of Quantities Related to the Multinomial Distribution with Unknown Number of Categories
CN112579597B (zh) 一种压缩敏感的数据库文件存储方法及系统
WO2023012971A1 (ja) 学習方法、装置及びプログラム
EP3422582B1 (en) System and method for real-time compression of data frames

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