CN111723059B - 一种数据压缩方法、装置、终端设备及存储介质 - Google Patents
一种数据压缩方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111723059B CN111723059B CN202010446967.8A CN202010446967A CN111723059B CN 111723059 B CN111723059 B CN 111723059B CN 202010446967 A CN202010446967 A CN 202010446967A CN 111723059 B CN111723059 B CN 111723059B
- Authority
- CN
- China
- Prior art keywords
- file
- compressed
- segments
- segment
- data
- 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
Images
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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- 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/172—Caching, prefetching or hoarding of files
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)
- Human Computer Interaction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请尤其涉及一种数据处理方法、装置、终端设备及存储介质,适用于数据压缩技术领域,能够有效地提高压缩算法的效率,从而解决现有压缩技术压缩速度慢、压缩延时大的问题。该方法包括:将输入的待压缩文件进行切割处理,得到M个第一文件段,每个所述第一文件段包括文件段信息和文件段数据;根据所述M个第一文件段的文件段信息对所述M个第一文件段进行编码压缩处理,得到所述M个第一文件段的压缩文件段;根据所述M个第一文件段的文件段信息对得到的M个压缩文件段进行拼接,得到J个拼接文件。
Description
技术领域
本申请属于数据压缩技术领域,尤其涉及一种数据压缩方法、装置、终端设备及存储介质。
背景技术
随着多媒体和信息技术的不断发展,处于互联网环境中的个人和机构每天均会产生大量数据,而大规模的数据则给储存设备和通信交换系统都带来巨大压力。为此,一般会对产生的数据进行适当压缩,以降低数据对存储空间的需求和节约数据传输所需的带宽。目前,海量的数据压缩任务主要由中央处理器(CPU)来执行,但因数据较为庞大,CPU的资源经常被过多占用,导致其它需使用CPU资源的操作因分配不到CPU资源而一直滞后处理。故,在面对海量的数据压缩任务时,还会采用硬件压缩算法来进行数据的压缩,以在缩短压缩时间的同时减轻CPU资源的占用。但硬件压缩算法亦存在不足的地方,一般的,现有的硬件压缩算法并行化的方法是在压缩装置汇总设置多个硬件压缩模块,以文件为单位分配至各个压缩模块并行压缩多个文件,该方法虽可以提高压缩带宽,但并不能解决单个文件的压缩过长的问题。
故此,如何有效地提高压缩算法的效率,从而解决现有压缩技术压缩速度慢、压缩延时大的问题,是应对现有互联网海量数据冲击的关键。
发明内容
本申请实施例提供了一种数据压缩方法、装置、终端设备及存储介质,以解决解决现有压缩技术压缩速度慢、压缩延时大的问题。
第一方面,本申请实施例提供了一种数据压缩方法,包括:
将输入的待压缩文件进行切割处理,得到M个第一文件段,M≥1,M为整数,每个所述第一文件段包括文件段信息和文件段数据;
根据所述M个第一文件段的文件段信息对所述M个第一文件段进行编码压缩处理,得到所述M个第一文件段的压缩文件段;
根据所述M个第一文件段的文件段信息对得到的M个压缩文件段进行拼接,得到J个拼接文件,J≥1,J为整数。
与现有技术相比,本申请实施例产生的有益效果包括:当检测到存在待压缩文件正在输入时,即响应对所述待压缩文件进行切割处理,得到若干个第一文件段,以便于将若干个所述第一文件段进行分别压缩处理,这样可以有效地减少文件流压缩需要的缓存资源,更重要的是还可以以缩短单个待压缩文件的压缩延时,实现对文件流的低延时压缩,从而在保证压缩性能的前提下实现高带宽的数据压缩。
第二方面,本申请实施例提供了一种数据压缩装置,所述装置包括:
切分模块,用于将输入的待压缩文件进行切割处理,得到M个第一文件段,M≥1,M为整数,每个所述第一文件段包括文件段信息和文件段数据;
压缩模块,用于根据所述M个第一文件段的文件段信息对所述M个第一文件段进行编码压缩处理,得到所述M个第一文件段的压缩文件段;
拼接模块,用于根据所述M个第一文件段的文件段信息对得到的M个压缩文件段进行拼接,得到J个拼接文件,J≥1,J为整数。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及并行字典压缩系统,其特征在于,所述处理器用于实现对所述独立芯片调控,以使所述并行字典压缩系统运行,所述存储器用于缓存所述并行字典压缩系统实现所述的数据压缩方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有并行字典压缩系统,所述并行字典压缩系统被处理器调控执行时实现所述的数据压缩方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的数据压缩方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的数据压缩方法的应用环境示意图;
图2是本申请一实施例提供的并行字典压缩系统的结构示意图;
图3是本申请另一实施例提供的数据压缩方法的流程示意图;
图4是本申请一实施例提供的切割待压缩文件的示意图;
图5是本申请另一实施例提供的数据压缩装置的结构示意图;
图6是本申请实施例提供的终端设备的结构图。
图7是本申请一实施例提供的切分模块的结构示意图;
图8是本申请一实施例提供的拼接模块的结构示意图;
图9是本申请一实施例提供的并行字典压缩模块组的结构示意图;
图10是本申请一实施例提供的对数据编码压缩的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
本申请实施例中数据压缩方法的执行主体为终端设备,所述终端设备与客户端通讯连接,且所述终端设备中包含并行滑动窗口字典压缩系统。所述终端设备可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备中的任一种,或是插在电脑、服务器、工作站或互联网、通讯系统上的板卡。本申请实施例对终端设备的具体类型不作任何限制。
结合图1和图2,该方法在终端设备1中实现对文件流的压缩编码处理。所述终端设备1中包含处理器11、所述并行字典压缩系统12和外部储存器13,且所述终端设备1还与客户端2相连。
所述处理器11,用于实现对并行字典压缩系统的配置和状态查询等功能,使得所述并行字典压缩系统可以较好地执行所述数据压缩方法。所述终端设备1为板卡时,所述终端设备1可以没有处理器11,由客户端2通过接口来实现配置和查询。
所述外部储存器13可以为双倍速率同步动态随机存储器(DDR SDRAM)等高速的存储芯片,用来缓存对并行字典压缩系统运行过程中产生的中间数据。
所述并行字典压缩系统12包括文件获取模块、切分模块、分发模块、调度模块、存储控制模块、并行字典压缩模块组、拼接模块、其它压缩编码模块和文件流输出模块,可在现场可编程门阵列(FPGA)上实现,也可在流片后的专用集成电路(ASIC)芯片上运行。
参见图3,图3是本申请一个实施例提供的一种数据压缩方法的示意流程图。本实施例中数据压缩方法的执行主体为终端设备。如图3所示,本申请提供的数据压缩方法可以包括:
S101:将输入的待压缩文件进行切割处理,得到M个第一文件段,M≥1,M为整数,每个所述第一文件段包括文件段信息和文件段数据。
在该实施例中,所述文件段信息包括文件序号、文件大小、文件段序号、首个文件段指示、最后一个文件段指示、文件段尾部指示和文件段大小中的一种或多种。所述待压缩文件为终端设备中的并行字典压缩系统的文件获取模块通过以太网物理接口或PCIE接口接收的外部输入的文件流或从本地外部存储器13中读取的文件。
示例的,所述终端设备中的并行字典压缩系统在所述FPGA芯片上运行。当检测到存在输入的待压缩文件时,所述终端设备中的并行字典压缩系统的切分模块响应对所述待压缩文件编序,根据定长规则对所述待压缩文件进行切割处理,将每一个输入的待压缩文件切割得到M个第一文件段,且对切割得到的每一个所述第一文件段进行编序。所述切分模块还记录所述待压缩文件的文件序号、文件大小、文件段序号、文件段大小、首个文件段指示、最后一个文件段指示和文件尾部指示。
示例的,参见图4,图4中文件序号为F1的文件为一个待压缩文件,其大小为80M字节。现所述终端设备读取从所述客户端读取到输入文件,当检测到存在输入的文件F1时,预先将所述文件F1输入至在所述FPGA芯片上运行的并行字典压缩系统中。因所述FPGA芯片的内部存储和外部存储空间限制,可能无法实现对整个所述文件F1的缓存,即因输入的文件为数据流,所述FPGA芯片无需获得整个文件,且检测到存在文件输入时无法获知输入文件的具体文件大小,从而导致无法根据所述文件F1的文件长度平均切分,故当检测到存在输入的文件时,所述FPGA芯片根据预先设定的切分级数an=32M。在所述文件F1持续输入的过程中由所述FPGA芯片中的切分模块根据所述切分级数an对该待压缩文件F1进行切分,且因an的前3项和S3为96M,大于文件F1的长度,前两项和S2为64M小于文件F1的长度,即将所述文件F1切分成大小分别为32M、32M+32K和16M+32K字节的三个文件段数据P1、P2和P3,同时确定所述P1为首个文件段数据、P3为最后一个文件段数据。
具体地,参见图7,所述切分模块包括数据缓存单元M21、存储地址生成单元M22和文件信息生成单元M23。
所述数据缓存单元与文件获取模块连接,获取输入的所述待压缩文件,并预先将所述待压缩文件缓存至所述FPGA芯片内部的随机存储器(Ram)。
所述存储地址生成单元从所述Ram中读取所述待压缩文件,并计算所述待压缩文件的大小。每当读取的数据长度等于定长规则要求的数据长度或者读取到文件尾部指示信号时,文件段计数器加1,并产生一个文件段结束的指示信号发送至所述存储地址生成单元,以便于所述存储地址生成单元根据文件段结束的指示信息生成文件段的存储地址。其中,在所述存储地址生成单元读取所述待压缩文件过程,所述数据缓存单元根据读取情况记录所述待压缩文件的总长度、文件序号、文件头指示、文件尾部指示、文件段序号等文件信息,并在读取所述待压缩文件结束时将该文件信息发送至所述存储地址生成单元。
示例的,所述数据缓存单元从文件获取模块中获取到所述文件F1时,所述数据缓存单元中的文件编号计数器加1,同时将所述文件F1缓存至所述FPGA芯片中的Ram。所述存储地址生成单元从所述Ram中读取所述文件F1,计算得到所述文件F1的大小为80M字节。当读取的数据长度等于切分级数an时,产生一个文件段结束的指示信号,文件段计数器加1,比如得到文件段P1,或读取到文件段P3时,则会读取到P3的文件尾部指示信号。
所述存储地址生成单元还用于生成外挂存储器的起始地址。基于所述外挂存储器的硬件存储方式,所述存储地址生成单元M22在存储所述M个第一文件段时再切分成W个数据块,W≥0,W为整数,并将所述W个数据块的信息和所述起始地址发送至所述存储控制模块M6,以便所述存储控制模块M6根据数据块的信息和其实地址调控W个数据块在所述外挂存储器中的存储。其中,所述外挂存储器可以为动态随机存储器,且所述动态随机存储器以块为单位进行数据的存储,所述数据块的大小小于文件段,且所述数据块的大小影响所述数据缓存单元中ram的大小,故为了便于控制,所述数据缓存单元中Ram要大于一个数据块的尺寸。另外,较小的数据块的尺寸可以使相关调度颗粒度更小,整个业务处理的延时更小。
示例的,将所述文件F1的3个文件段P1、P2和P3存储至所述外挂存储器,基于所述外挂存储器的硬件存储方式,将文件段P1再切分为32×1024个数据块、P2切分为32×1024+32个数据块、P3切分为16×1024+32个数据块,并由所述存储控制模块根据数据块的信息和起始地址调控该81952个数据块在所述外挂存储器中的存储。
另外,所述存储地址生成单元还用于所述W个数据块对应的文件序号、文件头指示、文件尾部指示、文件长度、文件段序号、数据块序号及数据块的起始存储地址等文件段信息一并发送至所述文件段信息生成单元。所述文件信息生成单元接收的文件段信息后,根据文件段的顺序进行封装,以便于由调度模块进行后续调度至所述并行字典压缩模块组进行编码压缩。
S102:根据所述M个第一文件段的文件段信息对所述M个第一文件段进行编码压缩处理,得到所述M个第一文件段的压缩文件段。
在该实施例中,所述终端设备中的调度模块确定所述并行字典压缩模块组中存在若干个空闲的字典压缩模块时,根据所述M个第一文件段的文件段信息中的文件序号、文件段序号确定依次的同样数量的第一文件段,并依次将文件段发送至分发模块,由所述分发模块分配至空闲字典压缩模块进行压缩处理,并对压缩完成的文件段进行编码。
所述编码压缩为字典编码,所述字典编码是基于字典的压缩处理,包括字典初始化、字典查询及字典更新操作。
所述调度模块包括文件信息FIFO单元、轮询调度单元。
其中,所述文件信息FIFO单元用于将从所述所述文件信息生成单元M23获取的文件段信息依次写入文件信息FIFO单元中,且响应所述轮询调度单元的请求,从所述文件信息FIFO单元中读取相应的文件段信息发送至所述轮询调度单元。
所述轮询调度单元获取所述N个字典压缩模块的状态信息,以确定是否存在空闲的字典压缩模块,若存在空闲的字典压缩模块,则从所述外挂存储器中调度传输相应的文件段数据至所述并行字典压缩模块中进行编码压缩。
具体地,参见图9,所述并行字典压缩模块组包括至少一个分发模块和N个字典压缩模块。
其中,所述并行字典压缩模块包括:控制状态机单元、输入缓存单元、哈希Ram单元和编码单元。所述输入缓存单元用于缓存待处理数据,当输入缓存单元缓存的深度小于设定门限阈值就置输出信号hungry有效,大于设定门限则置hungry无效;所述控制状态机单元用于产生整个滑动窗口字典压缩模块的状态跳转信息,并产生相关控制信号,所述状态分为空闲、初始化、拼接的字典重建缓存段的编码、其余数据的编码等四个状态;所述哈希Ram单元用于生成和维护字典索引;所述编码单元用于对输入缓存进行字典编码,并将编码所得的三元组数据输出给拼接模块。
示例的,参见图10,图10为所述并行字典压缩模块对所述文件F1进行压缩编码的示例,所述文件F1的三个文件段P1、P2和P3。
当存在空闲的并行字典压缩模块时,所述控制状态机单元向所述调度模块发送调度文件段P1、P2或P3的数据块的请求,比如现请求调度文件段P1的数据块。当接收到所述分发模块的调度完成的信息时,所述控制状态机单元将对应的并行字典压缩模块的状态由空闲调整为初始化状态,使得所述输入缓存单元、哈希Ram单元的数据清零。
初始化状态时,所述输入缓存单元持续获取所述调度模块M3传输过来的文件段P1的数据块,并将数据块写入缓存当中,当缓存有效深度大于门限阈值后,置hungry信号无效。当哈希Ram单元初始化完成时,置初始化完成信号init-done有效。
其中,当hungry信号无效且init-done信号有效时,所述控制状态机单元的状态进入拼接的字典重建缓存段编码状态的阶段,此时所述编码单元对调度的文件段P1进行字典索引的生成并完成字典重建缓存段的编码压缩,并将编码压缩后得到的数据段、编码后数据和有效数据发送至所述拼接模块。
具体地,当编码压缩的文件段为一个文件的首个文件段时,所述编码单元将编码压缩后的文件段的数据块输出至拼接模块,比如编码压缩文件段P1的数据,文件段P1的大小由32M压缩为16M,且头部编码文件编码为DD0,因压缩前无头部的标志文件,故压缩后有效数据大小为18KB+16M的文件DP-P1,将头部标志编码文件和有效数据发送至所述拼接模块。
若非文件的首个文件段时,如文件段P2或P3,因文件段存在字典重建缓存段,如文件段P2的头部文件段D1或文件段P3的头部文件段D2,所述编码单元对字典重建缓存段编码结果为无效,故需等待完成字典重建缓存段的编码后,由所述控制状态机单元的状态跳转到其余数据的编码状态,此时所述编码单元对文件段的数据部分进行编码,以完成文件段的数据编码压缩。
如编码压缩文件段P2的数据,完成对文件段P2的编码压缩后,发送至所述拼接模块,文件段P2的大小也由32M压缩为17M,文件段P2中拼接头部标志文件D1的大小也由32KB压缩为17KB,头部标志编码也变为DD1,因压缩前存在32KB的拼接标志文件,故压缩后的有效文件大小为17M的文件DP-P2,依次类推。
S103:根据所述M个第一文件段的文件段信息对得到的M个压缩文件段进行拼接,得到J个拼接文件,J≥1,J为整数。
在该实施例中,所述终端设备的拼接模块根据所述M个第一文件段信息中的文件序号、文件段序号,顺序将同一文件的压缩编码后的M个第一文件段中的文件段数据拼接回一个文件。
示例的,当存在一长度大小小于预设的文件大小的待压缩文件时,只切割得到一个完整的该待压缩文件,且经编码压缩后,进行文件拼接时,也只会得到一个拼接文件,即当J=1时,则拼接文件直接输出,作为输出的压缩文件。若J>1,则再次将压缩文件进行拼接,比如切割得到多个第一文件段的待压缩文件,此时拼接得到的拼接文件的数据内容不是完整的,需要再根据第一文件段的文件段信息进行多次拼接,以得到一个完整的压缩文件。
其中,参见图8,所述拼接模块包括N个缓存单元M51、轮询调度单元M52、文件段信息排序单元M53和文件重组单元M54。所述N个缓存单元M51与所述并行字典压缩模块组中的各个字典压缩模块一一对应。
所述缓存单元接收文件段信息和压缩后的文件段数据时,预先将压缩后的文件段数据写入所述FPGA芯片内部的随机存储器Ram中。该Ram是为将文件数据段缓存至所述FPGA芯片的外挂双倍速率同步动态随机存储器(DDR SDRAM)做缓存。为减小所述FPGA芯片内部Ram的消耗和基于所述DDR SDRAM的存储特性,压缩后的文件段数据被均匀切分成数据块,并将切分得到的数据块轮询调度写入所述DDR SDRAM。
值得注意的是,当缓存有效存储数据的大小大于一个数据块大小时,或收到编码完成信号有效时,产生写请求信号和写长度信号给所述轮询调度单元,且当所述缓存单元收到所述轮询调度单元应答时,连续的输出本次要写的数据块数据。其中,若文件段的剩余数据块非最后一个数据块,写长度为所述数据块的规定大小;若是文件段的剩余数据块为最后一个数据块,写长度为文件段剩余的数据大小。
所述轮询调度单元轮询到某个缓存单元的请求有效时,且相应的文件段的首个地址请求指示信号有效时,则将该对应端口文件段地址赋值为下一个文件段地址,即文件段地址加1,数据块地址置零;当请求有效且文件段的首个地址请求指示信号无效时,该端口对应文件段地址不变,数据块地址加1,以此得到由文件段地址和数据块地址拼接起来的写地址。当确定所述写地址后,将所述写地址、写长度和写请求发送至存储控制模块。当所述存储控制模块应答后,所述轮询调度单元M52将应答信号传递给所述写请求对应的缓存单元,并将该缓存单元输出本次要写的文件段数据和数据有效指示传递给存储控制模块。
所述轮询调度单元将所述文件段数据和数据有效指示传递给存储控制模块的同时,将所述缓存单元发出的文件段信息信息以及写地址、写长度和写请求信号转发至文件段信息排序单元。所述文件段信息排序单元,用于以文件段为单位的文件段信息的重排序,保证文件重组单元能得到连续的文件段信息。具体地,所述文件段信息排序单元接收所述轮询调度单元转发过来的文件段信息和数据块信息。在文件段最后一个数据块信息来临时,将文件段的信息、首个数据块的存储地址和最后一个数据块的信息作为一个文件段的信息描述符进行存储,然后根据文件段信息内的文件序号和文件段序号对这些文件段的信息描述符进行重排序。
所述文件重组单元,用于根据所述文件段信息排序单元获取的文件段信息,解析得到数据地址,进而依次读取文件段数据,从而实现文件的重组和各个文件之间的重新排序,并生成压缩前文件长度、文件开始指示和文件结束指示等文件信息。
示例的,所述缓存单元从所述并行字典压缩模块接收到所述文件F1的文件段P1、P2、P3时,预先将文件段P1、P2、P3缓存至随机存储器中,依据所述随机存储器的硬件存储特性再将文件段P1再切分为16*1024+18个数据块、P2切分为17×1024个数据块、P3切分为8×1024个数据块。
所述轮询调度单元将所述文件段P1、P2、P3的各自的所有数据块轮询调度送给存储控制模块,以便所述存储控制模块对文件段P1、P2和P3的再次缓存,同时将所述P1、P2和P3的文件段的信息和数据块信息传递给所述文件段信息排序单元。
示例的,文件段P1、P2和P3应依次被分配给同一字典压缩模块进行压缩编码,所述文件段信息排序单元接收到的文件段信息也是顺序的,即此时所述文件段信息排序单元无需对文件段P1、P2和P3的文件段信息进行重排。但有一种场景是,该3个文件段被分配至不同的3个字典压缩模块进行压缩编码,且因文件段P3的长度远小于文件段P1和P2,文件段P3会早于文件段P1和P2被压缩编码结束,故此3个文件段压缩完成的顺序可能为P3、P1、P2。在此种情况下,所述文件段信息排序单元最先收到文件段P3的最后一个数据块的描述信息,然后才是文件段P1和P2的最后一个数据块的描述信息,所述文件段信息排序单元需根据3个文件段的段序号信息重排该3个文件段的信息描述符,得到正确顺序的文件段的信息描述符,如将文件段信息的顺序由P3、P1、P2重新排序为P1、P2、P3,得到连续的3个文件段信息。
所述文件重组单元则根据所述排序后的3个文件段信息,解析得到文件段P3、P1、P2的数据存储地址,并依次从所述动态随机存储器中读取出来,从而根据文件段P1、P2和P3的正确次序进行文件的重组,得到完成的压缩后的文件F1。
在另一实施例中,所述将输入的待压缩文件进行切割,得到M个第一文件段,包括:
将输入的待压缩文件切割为M个第二文件段。
从第二个文件段开始,依次将相邻两个第二文件段中的前一个文件段的尾部数据复制,并将复制的尾部数据与后一个第二文件段拼接,得到一个所述第一文件段。
确定所述M个第二文件段中的首个文件段和得到的M-1个所述第一文件段,为所述M个第一文件段。
在该实施例中,所述终端设备在接收到所述待压缩文件时,根据定长规则将输入的所述待压缩文件进行切割,得到M个第二文件段。具体地,在所述待压缩文件输入的过程中,根据预设的文件大小,每当所述待压缩文件输入所述预设的文件大小,对所述待压缩文件进行一次切割,得到一个第二文件段,直至所述待压缩文件完成输入,切割得到M个所述第二文件段。
特别地,在所述待压缩文件输入的过程中,当所述待压缩文件的文件大小或所述待压缩文件的剩余文件大小小于所述预设的文件大小时,根据所述待压缩文件的文件大小或所述待压缩文件的剩余文件大小对所述待压缩文件进行一次切割,得到一个第二文件段,直至所述待压缩文件完成输入,切割得到M个所述第二文件段。
另外,为了提高压缩小效率,在有效数据出现时即可以重建完整或者部分的字典索引,所述终端设备的切分模块在切割得到所述第二文件段后,从第二个所述第二文件段开始,依次将相邻两个第二文件段中的前一个文件段尾部的预设长度的数据复制,即字典重建缓存段,并与后一个第二文件段拼接,得到一个所述第一文件段。具体地,从第二所述第二文件段开始,所述存储地址生成单元从所述数据缓存单元每读完一个文件段数据时,读地址需要回退所述字典重建缓存段长度的地址,即重新读取上一文件段中字典重建缓存段长度的数据,并在重新读取的该字典重建缓存段数据的结束地址再读取下一文件段数据,以实现字典重建缓存段和文件内下一个文件段的拼接。
示例的,结合图4,对一80M字节的待压缩文件进行切割,顺序得到文件大小分别为32M、32M和16M字节的文件段数据P1、P2、P3,其中,P1位首个文件段数据,当切割得到第二个文件段数据P2时,复制文件段数据P1的尾部长32K的字典重建缓存段D1与文件段数据P2的头部数据拼接,依次类推,复制P2尾部长32K的字典重建缓存段D2与文件段数据P3的头部数据拼接。
所述定长规则为:文件F的长度为Lf,字典的大小为Ld;有级数an,其前n项和为Sn,若Se-1<Lf≤Se(e为自然数),且a1、a2、…、ae-1都大于Ld;则根据级数an将文件F切分成e部分,前e-1文件部分各自的长度Ln为an,最后一个文件部分Pe长度为Lf-Se-1。
所述字典重建缓存段的长度设定为:取自于前一文件部分尾部长度Lb(Lb≤Ld)的数据。
另外的,在一种可能的场景中,存在多个输入中的待压缩文件,比如海量的文件流,需要对这些数据进行压缩处理,以便于提高传输的速率。
故,将输入的H个待压缩文件进行切割处理,得到I个第一文件段,H≥1,I≥1,H、I为整数,每个所述第一文件段包括文件段信息和文件段数据。
根据所述I个第一文件段的文件段信息依次对所述I个第一文件段进行编码压缩处理,得到所述I个第一文件段的压缩文件段。
根据所述I个第一文件段的文件段信息对得到的I个压缩文件段进行拼接,得到K个拼接文件,K≥0,K为整数。
其中,在对所述I个第一文件段进行编码压缩时,需要确定处于编码压缩处理状态的压缩中文件段的数量T是否小于预设阈值,T≥0,T为整数;
若小于所述预设阈值,则根据所述待压缩文件段的信息、压缩中文件段的数量K和压缩峰值R,确定补充的S个待压缩文件,R≥0,S≥0,R、S为整数;
对所述T个压缩中文件段和补充的S个待压缩文件进行编码压缩,得到I个已压缩的文件段。
示例的,现在检测到顺序输入的3个待压缩文件A1、A2和A3,所述切分模块该3个待压缩文件A1、A2和A3分别顺序的进行切割处理,其中,待压缩文件A1被切割为3个顺序的第一文件段A11、A12和A13,待压缩文件A2被切割为2个顺序的第一文件段A21和A22,待压缩文件A3被切割为1个第一文件段A31。
根据切割得到的6个第一文件段A11、A12、A13、A21、A22和A31的文件段信息依次进行编码压缩,比如根据该6个第一文件段中记载的文件序号和文件段序号信息,依次输入至所述并行字典压缩模块组进行编码压缩处理。如根据A11、A12、A13、A21、A22和A31各自文件段信息中的文件序号和文件段序号信息,确定该6个第一文件段编码压缩的实际顺序为A11、A12、A13、A21、A22和A31,依次输入所述并行字典压缩模块组进行编码压缩处理,得到6个编码压缩的第一文件段A11”、A12”、A13”、A21”、A22”和A31”。
其中,在编码压缩的过程中,因所述并行字典压缩模块组中空闲的字典压缩模块并不足以再同一时间段内对上述6个第一文件段进行编码压缩,故需要预先确定处于工作状态的字典压缩模块的数量是否低于预设阈值,比如字典压缩模块的数量为10,若现处于工作状态的字典压缩模块的数量为9,则低于预设阈值10,故需要从外部调度文件段进入空闲的字典压缩模块中进行编码压缩,如调度第一文件段A11进入该空闲的字典压缩模块进行编码压缩。
对得到上述6个编码压缩的第一文件段A11”、A12”、A13”、A21”、A22”和A31”,再次根据文件序号和文件段序号信息,对该6个编码压缩后的第一文件段进行拼接,得到编码压缩后的A1”、A2”和A3”。
在一实施例中,一种可能的场景是,待所述待压缩文件的所有文件段被压缩完成后再进行文件段的拼接,会消耗大量的压缩等待时间,比如序号为1和2的第一文件段压缩结束后,若是不进行预拼接,则会等待后续序号为3、4、5等的第一文件段压缩结束后才进行拼接,则会消耗序号为1、2的第一文件段的等待时间。
故此,本申请实施例提供了一种数据压缩方法,主要涉及文件段压缩后的拼接过程。所述方法包括:
根据所述第一文件段的文件段信息,确定文件段序号相连的N个第一文件段,M≥N≥0,N为整数。
将所述N个第一文件段预拼接得到K个预拼接文件,K≥1,K为整数。
根据将所述K个预拼接文件的文件段信息对所述K个预拼接文件进行拼接,得到J个拼接文件。
在该实施例中,当存在多个所述第一文件段已编码压缩结束时,所述拼接模块根据各个第一文件段的文件段信息,确认文件段序号相连的N个第一文件段,比如文件段序号为1、2、3和4的两个第一文件段,对该四个第一文件段进行预拼接,得到两个预拼接文件,将该两个所述预拼接文件进行拼接,再缓存至动态随机存储器中,以节省第一文件段顺序拼接所需要的时间,从而极大地提高了数据压缩处理的速率。
进一步地,根据确定的文件段序号相连的第一文件段的数量N小于待压缩文件的文件段数量M时,进行预拼接时,仍存在部分第一文件段处于正在压缩状态或等待压缩的状态,后续仍需要将预拼接文件与压缩结束的该部分第一文件段拼接,以得到完整的压缩文件。
故,当M>N时,将所述N个第一文件段预拼接得到K个预拼接文件;
根据所述K个预拼接文件的文件段信息拼接所述K个预拼接文件,得到一个合并的预拼接文件;
根据所述合并的预拼接文件的文件段信息和M-N个第一文件段的文件段信息,将所述合并的预拼接文件与压缩的所述M-N个第一文件段进行拼接,得到J个拼接文件。
示例的,若M-N=1,则所述拼接模块将所述合并的预拼接文件与压缩的所述M-N个第一文件段进行拼接;若M-N>1,则压缩的所述M-N个第一文件段进行预拼接,将得到的预拼接文件与所述合并的预拼接文件进行拼接,或,所述拼接模块直接将所述合并的预拼接文件与压缩的所述M-N个第一文件段进行拼接。
在一实施例中,一种可能的场景是,所述并行字典压缩模块组中空闲的字典压缩模块数量与切割所述待压缩文件得到的第一文件段的数量不相等,比如空闲的字典压缩模块数量为1,而待压缩的第一文件段数量为10,需要通过所述调度模块和分发模块将所述第一文件段逐一调度进入空闲的字典压缩模块进行编码压缩,得到的压缩文件也被逐一输出至拼接模块,拼接模块则只能根据输出的拼接文件进行拼接,以得到完整的文件。所以,为获得完成的已压缩的文件,对编码压缩后的第一文件段,需要根据所述第一文件段的文件段序号顺序将所述M个第一文件段的压缩文件段进行拼接,得到J个拼接文件。
在一实施例中,在将所述M个压缩文件拼接得到的拼接文件的大小还是相对较大,不利于文件的快速传输。故,若J=1,将该拼接文件输入至其它编码压缩模块进行二次编码压缩处理,得到该拼接文件的再次压缩文件;若J>1预先根据第一文件段的文件段信息将所述J个拼接文件进行拼接,得到压缩后的目标拼接文件,将该目标拼接文件输入至其它压缩模块进行二次编码压缩处理,得到所述目标拼接文件的压缩文件。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的数据压缩方法,图5示出了本申请实施例提供的装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图5,该装置包括:切分模块100、压缩模块200、拼接模块300。
所述切分模块,用于将输入的待压缩文件进行切割处理,得到M个第一文件段,M≥1,M为整数,每个所述第一文件段包括文件段信息和文件段数据;
所述压缩模块,用于根据所述M个第一文件段的文件段信息依次对所述M个第一文件段进行编码压缩处理,得到所述M个第一文件段的压缩文件段;
所述拼接模块,用于根据所述M个第一文件段的文件段信息对得到的M个压缩文件段进行拼接,得到J个拼接文件,J≥1,J为整数。
可选的,所述切分模块还用于将输入的待压缩文件切割为M个第二文件段;从第二个文件段开始,依次将相邻两个第二文件段中的前一个文件段的尾部数据复制,并将复制的尾部数据与后一个第二文件段拼接,得到一个所述第一文件段;确定所述M个第二文件段中的首个文件段和得到的M-1个所述第一文件段,为所述M个第一文件段。
可选的,所述切分模块还用于在所述待压缩文件输入的过程中,根据预设的文件大小,每当所述待压缩文件输入所述预设的文件大小,对所述待压缩文件进行一次切割,得到一个第二文件段,直至所述待压缩文件完成输入,切割得到M个所述第二文件段。
可选的,所述切分模块还用于所述待压缩文件输入的过程中,当所述待压缩文件的文件大小或所述待压缩文件的剩余文件大小小于所述预设的文件大小时,根据所述待压缩文件的文件大小或所述待压缩文件的剩余文件大小对所述待压缩文件进行一次切割,得到一个第二文件段,直至所述待压缩文件完成输入,切割得到M个所述第二文件段。
可选的,所述拼接模块还用于根据所述第一文件段的文件段信息,确定文件段序号相连的N个第一文件段,M≥N≥0,N为整数;
将所述N个第一文件段预拼接得到K个预拼接文件,K≥1,K为整数;
根据将所述K个预拼接文件的文件段信息对所述K个预拼接文件进行拼接,得到J个拼接文件。
可选的,所述拼接模块还用于根据所述第一文件段的文件段序号顺序将所述M个第一文件段的压缩文件段进行拼接,得到J个拼接文件。
图6为本申请一实施例提供的终端设备的结构示意图。如图6所示,该实施例的终端设备6包括:至少一个处理器60(图6中仅示出一个处理器)、存储器61以及独立芯片,所述独立芯片中存储有并行字典压缩系统,所述处理器用于实现对所述独立芯片调控,以使所述并行字典压缩系统运行,所述存储器用于缓存所述并行字典压缩系统实现所述的数据压缩方法时产生的数据。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的举例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所述处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61在一些实施例中可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61在另一些实施例中也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有并行字典压缩系统,所述并行字典压缩系统在所述处理器的调控下执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口、装置或单元的间接耦合或通讯连接,可以是电性、机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (9)
1.一种数据压缩方法,其特征在于,所述方法包括:
将输入的待压缩文件进行切割处理,得到M个第一文件段,M≥1,M为整数,每个所述第一文件段包括文件段信息和文件段数据;
其中,所述将输入的待压缩文件进行切割,得到M个第一文件段,包括:
将输入的待压缩文件切割为M个第二文件段;
从第二个文件段开始,依次将相邻两个第二文件段中的前一个文件段的尾部数据复制,并将复制的尾部数据与后一个第二文件段拼接,得到一个所述第一文件段,其中,与一个第二文件段拼接的尾部数据为与该文件段相邻的前一个文件段尾部的的预设长度的数据;
确定所述M个第二文件段中的首个文件段和得到的M-1个所述第一文件段,为所述M个第一文件段;
根据所述M个第一文件段的文件段信息对所述M个第一文件段进行编码压缩处理,得到所述M个第一文件段的压缩文件段;
根据所述M个第一文件段的文件段信息对得到的M个压缩文件段进行拼接,得到J个拼接文件,J≥1,J为整数。
2.如权利要求1所述的数据压缩方法,其特征在于,所述将输入的待压缩文件切割为M个第二文件段,包括:
在所述待压缩文件输入的过程中,根据预设的文件大小,每当所述待压缩文件输入所述预设的文件大小,对所述待压缩文件进行一次切割,得到一个第二文件段,直至所述待压缩文件完成输入,切割得到M个所述第二文件段。
3.如权利要求2所述的数据压缩方法,其特征在于,所述在所述待压缩文件输入的过程中,根据预设的文件大小,每当所述待压缩文件输入所述预设的文件大小,对所述待压缩文件进行一次切割,得到一个第二文件段,还包括:
所述待压缩文件输入的过程中,当所述待压缩文件的文件大小或所述待压缩文件的剩余文件大小小于所述预设的文件大小时,根据所述待压缩文件的文件大小或所述待压缩文件的剩余文件大小对所述待压缩文件进行一次切割,得到一个第二文件段,直至所述待压缩文件完成输入,切割得到M个所述第二文件段。
4.如权利要求1所述的数据压缩方法,其特征在于,所述根据所述M个第一文件段的文件段信息对得到的M个压缩文件段进行拼接,得到J个拼接文件,包括:
根据所述第一文件段的文件段信息,确定文件段序号相连的N个第一文件段,M≥N≥0,N为整数;
将所述N个第一文件段预拼接得到K个预拼接文件,K≥1,K为整数;
根据将所述K个预拼接文件的文件段信息对所述K个预拼接文件进行拼接,得到J个拼接文件。
5.如权利要求1所述的数据压缩方法,其特征在于,所述根据所述M个第一文件段的文件段信息对得到的M个压缩文件段进行拼接,得到J个拼接文件,包括:
根据所述第一文件段的文件段序号顺序将所述M个第一文件段的压缩文件段进行拼接,得到J个拼接文件。
6.如权利要求1所述的数据压缩方法,其特征在于,所述文件段信息包括文件序号、文件大小、文件段序号、首个文件段指示、最后一个文件段指示、文件段尾部指示和文件段大小中的一种或多种。
7.一种数据压缩装置,其特征在于,所述装置包括:
切分模块,用于将输入的待压缩文件进行切割处理,得到M个第一文件段,M≥1,M为整数,每个所述第一文件段包括文件段信息和文件段数据;
其中,所述切分模块还用于将输入的待压缩文件切割为M个第二文件段;从第二个文件段开始,依次将相邻两个第二文件段中的前一个文件段的尾部数据复制,并将复制的尾部数据与后一个第二文件段拼接,得到一个所述第一文件段;确定所述M个第二文件段中的首个文件段和得到的M-1个所述第一文件段,为所述M个第一文件段,其中,与一个第二文件段拼接的尾部数据为与该文件段相邻的前一个文件段尾部的的预设长度的数据;
压缩模块,用于根据所述M个第一文件段的文件段信息对所述M个第一文件段进行编码压缩处理,得到所述M个第一文件段的压缩文件段;
拼接模块,用于根据所述M个第一文件段的文件段信息对得到的M个压缩文件段进行拼接,得到J个拼接文件,J≥1,J为整数。
8.一种终端设备,包括存储器、处理器以及独立芯片,所述独立芯片中存储有并行字典压缩系统,其特征在于,所述处理器用于实现对所述独立芯片调控,以使所述并行字典压缩系统运行,所述存储器用于缓存所述并行字典压缩系统实现如权利要求1至6任一项所述的方法时产生的数据。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有并行字典压缩系统,其特征在于,所述并行字典压缩系统执行时实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010446967.8A CN111723059B (zh) | 2020-05-25 | 2020-05-25 | 一种数据压缩方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010446967.8A CN111723059B (zh) | 2020-05-25 | 2020-05-25 | 一种数据压缩方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111723059A CN111723059A (zh) | 2020-09-29 |
CN111723059B true CN111723059B (zh) | 2021-03-16 |
Family
ID=72564966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010446967.8A Active CN111723059B (zh) | 2020-05-25 | 2020-05-25 | 一种数据压缩方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723059B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448933B (zh) * | 2021-06-29 | 2024-04-02 | 平安证券股份有限公司 | 业务数据处理方法、装置、电子设备及介质 |
CN113659993B (zh) * | 2021-08-17 | 2022-06-17 | 深圳市康立生物医疗有限公司 | 免疫批次数据处理方法、装置、终端及可读存储介质 |
CN114442954B (zh) * | 2022-01-26 | 2024-05-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种lz4编码压缩装置 |
CN115098456B (zh) * | 2022-08-25 | 2023-02-03 | 北京探境科技有限公司 | 文件处理方法、装置、存储介质及电子设备 |
CN116915363A (zh) * | 2023-07-25 | 2023-10-20 | 东方空间技术(山东)有限公司 | 一种数据的传输方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1668097A (zh) * | 2005-04-07 | 2005-09-14 | 北京北大方正电子有限公司 | 一种视频文件快速生成的方法 |
CN108197428A (zh) * | 2017-12-25 | 2018-06-22 | 西安交通大学 | 一种并行动态规划的下一代测序技术拷贝数变异检测方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8416847B2 (en) * | 1998-12-21 | 2013-04-09 | Zin Stai Pte. In, Llc | Separate plane compression using plurality of compression methods including ZLN and ZLD methods |
JP2003153279A (ja) * | 2001-11-15 | 2003-05-23 | Mitsubishi Electric Corp | 動き探索装置、その方法およびそのコンピュータ・プログラム |
US20150201223A1 (en) * | 2010-11-02 | 2015-07-16 | InnFlicks Media Group, LLC | Processing, storing, and delivering digital content |
CN103384884B (zh) * | 2012-12-11 | 2016-11-16 | 华为技术有限公司 | 一种文件压缩方法、文件解压缩方法、装置及服务器 |
CN103914334B (zh) * | 2012-12-31 | 2017-06-20 | 北京百度网讯科技有限公司 | 地图的标注方法和系统 |
CN103326730B (zh) * | 2013-06-06 | 2016-05-18 | 清华大学 | 数据并行压缩方法 |
EP3445011B1 (en) * | 2016-05-11 | 2022-01-26 | Huawei Technologies Co., Ltd. | Signal processing methods and transmitter |
WO2018020299A1 (en) * | 2016-07-29 | 2018-02-01 | Chan Kam Fu | Lossless compression and decompression methods |
CN106503165A (zh) * | 2016-10-31 | 2017-03-15 | 杭州华为数字技术有限公司 | 压缩、解压方法、装置以及设备 |
CN109445693A (zh) * | 2018-10-19 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种数据压缩方法和装置 |
-
2020
- 2020-05-25 CN CN202010446967.8A patent/CN111723059B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1668097A (zh) * | 2005-04-07 | 2005-09-14 | 北京北大方正电子有限公司 | 一种视频文件快速生成的方法 |
CN108197428A (zh) * | 2017-12-25 | 2018-06-22 | 西安交通大学 | 一种并行动态规划的下一代测序技术拷贝数变异检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111723059A (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111723059B (zh) | 一种数据压缩方法、装置、终端设备及存储介质 | |
US10915247B2 (en) | Efficient data management through compressed data interfaces | |
US7924183B2 (en) | Method and system for reducing required storage during decompression of a compressed file | |
US20200341670A1 (en) | Method, device, and computer readable medium for data deduplication | |
CN108287877B (zh) | 一种rib渲染压缩文件fpga压缩/解压缩系统及硬件解压方法 | |
CN105187533A (zh) | 一种数据传输的方法及装置 | |
US10817178B2 (en) | Compressing and compacting memory on a memory device wherein compressed memory pages are organized by size | |
US11070230B2 (en) | Run-length base-delta encoding for high-speed compression | |
CN102970043A (zh) | 一种基于gzip的压缩硬件系统及其加速方法 | |
CN115438114B (zh) | 存储格式转换方法、系统、装置、电子设备及存储介质 | |
CN111611622A (zh) | 基于区块链的文件存储方法和电子设备 | |
CN115981867A (zh) | 分片数据的处理方法及装置 | |
CN114374392A (zh) | 一种数据压缩存储方法、装置、终端设备及可读存储介质 | |
CN117493386A (zh) | 数据库访问方法及装置、存储介质和电子设备 | |
CN111061428B (zh) | 一种数据压缩的方法及装置 | |
CN117112004A (zh) | 差分数据确定方法、差分还原方法、装置、设备及介质 | |
WO2023061180A1 (zh) | 基于多频率的数据发送和接收方法、装置和设备 | |
CN114610231A (zh) | 大位宽数据总线分段存储的控制方法、系统、设备及介质 | |
CN103049387A (zh) | 一种分页存储器件的压缩管理方法及装置 | |
CN118100955B (zh) | 一种用于对压缩数据进行并行解压的预处理的方法 | |
CN111158994A (zh) | 一种压测性能测试方法及装置 | |
CN112417081A (zh) | 一种实现增量倒排索引数据存储的方法和装置 | |
US20240248626A1 (en) | Method, device, and computer program product for data deduplication | |
US11500590B2 (en) | Method, device and computer program product for data writing | |
WO2024066547A1 (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 | ||
GR01 | Patent grant |