CN112905324A - 一种基于电路状态的解压缩方法、系统及介质 - Google Patents

一种基于电路状态的解压缩方法、系统及介质 Download PDF

Info

Publication number
CN112905324A
CN112905324A CN202110181325.4A CN202110181325A CN112905324A CN 112905324 A CN112905324 A CN 112905324A CN 202110181325 A CN202110181325 A CN 202110181325A CN 112905324 A CN112905324 A CN 112905324A
Authority
CN
China
Prior art keywords
decompression
data
request
state data
circuit
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
CN202110181325.4A
Other languages
English (en)
Other versions
CN112905324B (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.)
Shandong Yingxin Computer Technology Co Ltd
Original Assignee
Shandong Yingxin Computer 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 Shandong Yingxin Computer Technology Co Ltd filed Critical Shandong Yingxin Computer Technology Co Ltd
Priority to CN202110181325.4A priority Critical patent/CN112905324B/zh
Publication of CN112905324A publication Critical patent/CN112905324A/zh
Application granted granted Critical
Publication of CN112905324B publication Critical patent/CN112905324B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种基于电路状态的解压缩方法,包括以下步骤:获取第一解压缩请求,执行对第一解压缩请求的解压步骤,生成与第一解压缩请求对应的第一电路状态数据;生成第一电路状态数据后,获取第二解压缩请求,并判断第二解压缩请求与第一解压缩请求是否匹配;若匹配,则执行对第二解压缩请求的解压步骤,且不执行对第一电路状态数据的保存步骤;若非匹配,则执行对第一电路状态数据的保存步骤,并执行与第二解压缩请求对应的恢复步骤;执行恢复步骤后,执行对第二解压缩请求的解压步骤;本发明能够在不添加任何复杂逻辑电路的情况下,实现对压缩任务的交替服务,弥补了现有技术的空缺。

Description

一种基于电路状态的解压缩方法、系统及介质
技术领域
本发明涉及数据压缩处理技术领域,特别是涉及一种基于电路状态的解压缩方法、系统及介质。
背景技术
云计算及云存储技术的广泛应用,使数据呈指数级别增长,随之而来的技术就是数据压缩技术;现有的数据压缩技术对数据进行解压时,无法对于多任务进行灵活的调整,所以在对规格较大的任务进行处理时,下个任务的响应时间就会变的很长;在服务器的应用中,一般都为集群规模的服务器进行任务处理,若每个服务器都无法对多任务进行灵活的调整,则将会大大降低任务的处理效率。
发明内容
本发明主要解决的是现有的数据压缩技术对数据进行解压时,无法对于多任务进行灵活的调整,进而导致任务的处理效率极低的问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于电路状态的解压缩方法,包括以下步骤:
获取第一解压缩请求,执行对所述第一解压缩请求的解压步骤,生成与所述第一解压缩请求对应的第一电路状态数据;
生成所述第一电路状态数据后,获取第二解压缩请求,并判断所述第二解压缩请求与所述第一解压缩请求是否匹配;
若匹配,则执行对所述第二解压缩请求的所述解压步骤,且不执行对所述第一电路状态数据的保存步骤;
若非匹配,则执行对所述第一电路状态数据的保存步骤,并执行与所述第二解压缩请求对应的恢复步骤;
执行所述恢复步骤后,执行对所述第二解压缩请求的所述解压步骤。
作为一种改进的方案,所述获取第一解压缩请求或所述获取第二解压缩请求的步骤进一步包括:
获取待解压数据;
创建与所述待解压数据对应的解压线程;
获取所述解压线程的第一信息;
基于所述第一信息创建与所述待解压数据对应的第一请求;
按照所述第一信息将所述第一请求排序,得到对应的第一请求序列;
采用调度算法获取所述第一请求序列中的所述第一请求,并定义获取到的所述第一请求为所述第一解压缩请求或第二解压缩请求。
作为一种改进的方案,所述解压步骤包括:
获取与所述第一解压缩请求对应的第一数据块;
配置第一处理模块、第二处理模块和第三处理模块;
基于所述第一处理模块对所述第一数据块进行解压,得到与所述第一处理模块对应的第一状态数据;
基于所述第二处理模块对所述第一数据块进行解压,得到与所述第二处理模块对应的第二状态数据;
基于所述第三处理模块对所述第一数据块进行解压,得到与所述第三处理模块对应的第三状态数据;
将所述第一状态数据、第二状态数据和第三状态数据进行整合,得到所述第一电路状态数据。
作为一种改进的方案,所述判断所述第二解压缩请求与所述第一解压缩请求是否匹配的步骤进一步包括:
判断所述第二解压缩请求所对应的所述第一信息和所述第一解压缩请求所对应的所述第一信息是否匹配;若匹配,则判断所述第二解压缩请求与所述第一解压缩请求匹配;若非匹配,则判断所述第二解压缩请求与所述第一解压缩请求非匹配。
作为一种改进的方案,所述保存步骤包括:
获取所述第一状态数据的第一标志和第二标志;
设定第一数据;
基于所述第一标志、所述第二标志、所述第一数据和所述第一状态数据执行第二判断步骤:判断所述第一标志是否位于所述第一状态数据的末端,若是,则移出所述第一电路状态数据中的所述第一状态数据;判断所述第二标志是否为所述第一数据,若是,则移出所述第一电路状态数据中的所述第二状态数据;
执行所述第二判断步骤后,得到第二电路状态数据;
分别计算所述第二电路状态数据中所述第一状态数据、所述第二状态数据和所述第三状态数据的第一字段长度,并将所述第一字段长度和所述第三电路状态数据存储。
作为一种改进的方案,所述恢复步骤包括:
获取与所述第二解压缩请求对应的第三电路状态数据;
判断所述第三电路状态数据中的所述第一状态数据、所述第二状态数据和所述第三状态数据的存在情况;
设定恢复顺序,根据所述存在情况和所述恢复顺序分别获取所述第三电路状态数据中的所述第一状态数据、所述第二状态数据和所述第三状态数据所对应的所述第一字段长度;
基于获取到的所述第一字段长度将所述第四电路状态数据中的所述第二状态数据和所述第三状态数据分别载入所述第二处理模块和所述第三处理模块,并对所述第三电路状态数据中的所述第一状态数据执行分发步骤。
作为一种改进的方案,所述分发步骤包括:
创建第一容器;
获取结束信号,基于所述结束信号判断所述第一容器中是否存在第一初始状态数据;若存在,则将所述第一初始状态数据清除,并将所述第四电路状态数据中的所述第一状态数据存储至所述第一容器。
本发明还提供一种基于电路状态的解压缩系统,包括:
请求处理模组、状态访问模组、解压缩电路和状态存储模组;
所述请求处理模组用于获取第一解压缩请求,并将所述第一解压缩请求发送至所述解压缩电路;
所述解压缩电路用于对执行对所述第一解压缩请求的解压步骤,生成与所述第一解压缩请求对应的第一电路状态数据,并向所述请求处理模组发送获取信号;
所述请求处理模组还用于根据所述获取信号获取第二解压缩请求,并判断所述第二解压缩请求与所述第一解压缩请求是否匹配,若匹配,则所述请求处理模组将所述第二解压缩请求发送至所述解压缩电路,若非匹配,则所述请求处理模组将所述第一电路状态数据发送至所述状态存储模组,并将所述第二解压缩请求发送至所述状态访问模组;
所述状态访问模组用于执行与所述第二解压缩请求对应的恢复步骤,并根据所述恢复步骤将所述第二解压缩请求发送至所述解压缩电路;
所述状态存储模组用于执行对所述第一电路状态数据的保存步骤。
作为一种改进的方案,所述解压缩电路还用于执行对所述第二解压缩数据的解压步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于电路状态的解压缩方法的步骤。
本发明的有益效果是:
1、本发明所述的基于电路状态的解压缩方法,可以实现基于电路状态的恢复和保存对压缩任务进行灵活的调整,在不添加任何复杂逻辑电路的情况下,实现对压缩任务的交替服务,极大的提高了压缩任务的处理效率。
2、本发明所述的基于电路状态的解压缩系统,可以通过请求处理模组、状态访问模组、解压缩电路和状态存储模组的相互配合,进而实现基于电路状态的恢复和保存对压缩任务进行灵活的调整,在不添加任何复杂逻辑电路的情况下,对压缩任务的交替服务,极大的提高了压缩任务的处理效率。
3、本发明所述的计算机可读存储介质,可以实现引导请求处理模组、状态访问模组、解压缩电路和状态存储模组进行配合,进而实现基于电路状态的恢复和保存对压缩任务进行灵活的调整,在不添加任何复杂逻辑电路的情况下,对压缩任务的交替服务,极大的提高了压缩任务的处理效率,且有效的增加了所述基于电路状态的解压缩方法的可操作性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1所述的基于电路状态的解压缩方法的流程图;
图2是本发明实施例1所述的基于电路状态的解压缩方法的示意图;
图3是本发明实施例2所述的基于电路状态的解压缩系统的示意图;
图4是本发明实施例2所述的基于电路状态的解压缩系统的架构图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
在本发明的描述中,需要说明的是,本发明所描述的实施例是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,deflate是一种无损数据压缩算法、LZ77是一种基于匹配查找的无损压缩算法、Huffman是一种编码方式、block是一种标识、DMA是直接存储器访问、RAM是随机存取存储器。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“解压缩请求”、“解压步骤”、“电路状态数据”、“保存步骤”、“恢复步骤”、“解压线程”、“数据块”、“请求序列”、“处理模块”、“标志”、“数据头”、“字段长度”、“容器”应做广义理解。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
本实施例提供一种基于电路状态的解压缩方法,如图1和图2所示,包括以下步骤:
S100、在主机端和解压缩电路中配置若干处理模组,通过处理模块对需要解压缩的数据进行处理,生成对应的电路状态数据,并将该电路状态数据保存;
S200、在对下个需要解压缩的数据进行处理时,进行判断是否进行对电路状态的保存和恢复,最终通过对电路状态的保存和恢复实现不间断的对需要解压缩的数据进行高效处理。
S100步骤具体包括:
处理模组包括:上下文内存、上下文数据通路、deflate数据头缓存、数据解码引擎(即第三处理模块)、LZ77解码引擎(即第二处理模块)和上下文数据头缓存;
S101、在主机端配置上下文内存,用于存储解压缩电路的电路状态,本方法所产生的所有数据最终将存储至该上下文内存;对于电路的恢复和保存过程,需要通过DMA的方式从该上下文内存中提取对应的电路状态所对应的数据;
S102、在解压缩电路中配置上下文数据通路,用于载入或传输所述电路状态所对应的数据,并执行恢复过程;
S103、在解压缩电路中配置deflate数据头缓存(即第一容器),用于存储deflate数据头,对于每个需要解压缩的deflate数据,判断其中是否含有deflate数据头,若其中存在deflate数据头,则将该数据对应的deflate数据头保存,并覆盖该缓存中原有的deflate数据头,最终达到的目的是,该缓存中保存的deflate数据头永远是和当前的解压缩任务对应的;
S104、在解压缩电路中配置数据解码引擎,数据解码引擎对deflate数据在进行处理时,会产生残留的数据以及数据解码引擎的当前状态(即第三状态数据),可将该残留的数据以及数据解码引擎的当前状态定义为数据状态;
S105、在解压缩电路中配置LZ77解码引擎,LZ77解码引擎对需要进行解压的数据进行处理时,会生成对应的LZ77数据块(即第二状态数据),该LZ77数据块代表当时LZ77解码引擎对应的状态数据,在对电路进行恢复时,需要对LZ77解码引擎的状态数据恢复;
S106、在解压缩电路中配置上下文数据头缓存,用于记录所述LZ77数据块、deflate数据头和数据解码引擎的当前状态三个数据段是否存在及各自的大小;同时在解压缩电路中参数模块、游程Huffman码表恢复模块和游程解码引擎模块;
在解压缩电路对需要解压的文件进行解压缩后保存时,将LZ77数据块(即第二状态数据)、deflate数据头(即第一状态数据)和数据解码引擎的当前状态(即第三状态数据)组织成数据流(即电路状态数据),并将该数据流存入所述上下文内存中,在执行电路恢复时,提取上下文内存中对应的数据流进行恢复即可;
S107、开始处理数据:首先,设定若干解压缩线程;为每个解压缩线程设定对应的内存区域;可定义该区域为上下文内存;
将待解压缩文件分配至对应的线程,提取待解压缩文件的deflate数据;并将所述deflate数据划分为若干deflate数据块;
为每个deflate数据块创建对应的解压缩请求;该解压缩请求中包括所述数据块对应的数据、上下文内存中的位置、线程号和解压缩参数;
按照线程号为所述解压缩请求排序,排序在此不做限定,仅为了得到对应的请求队列;
采用调度算法对所述请求队列中的解压缩请求进行调度;通过该调度算法得到的解压缩请求是交替的;使解压缩请求是交替的,进而体现出本方法可交替进行数据的解压缩处理,提高了处理效率。
通过解压缩电路(即第一处理模块)对所述解压缩请求所对应的deflate数据块进行解压;其中,利用解压缩电路中的数据解码引擎对deflate数据块进行解压,生成对应的数据状态;利用解压缩电路中的LZ77解码引擎对deflate数据块进行解压生成对应的LZ77数据块;
S108、在对所述数据解压缩完毕后,执行保存步骤:
保存步骤为:
判断所述deflate数据块(即第一状态数据)的block标志;block标志包括:结束标志(即第一标志),即block_end;完成标志(即第二标志),即BFINAL标志;若所述结束标志位于所述deflate数据头的最后,则不保存所述数据的deflate数据头;若所述完成标志为1(即第一数据),则代表处理到所述deflate数据块的最后一块,所以不保存所述数据的LZ77数据块;除这两种情况外,将deflate数据头、数据状态和LZ77数据块保存;
计算所述被保存的数据每一个字段的长度;将所述字段的标志及长度存入所述上下文数据头缓存;
通过DMA将所述数据的上下文数据头、LZ77数据块、deflate数据头、数据状态字段存入所述上下文内存中。
步骤S200具体包括:
S201、执行保存步骤后,继续获取对应的解压缩请求;
S201、分析获取到的解压缩请求的线程号是否与上一个请求所对应的线程号相同,若相同,则不需要进行电路数据的恢复,因为原有的电路状态是支持对该请求进行解压缩处理的,对所述解压缩请求对应的数据进行解压,并执行保存步骤,若不相同,则执行恢复步骤;
所述恢复步骤为:
通过上下文数据通路获取所述上下文内存中与所述解压缩请求对应的数据,并解析该数据中是否存在LZ77数据块、deflate数据头和数据状态字段;
当所述数据中存在所述LZ77数据块时,则读取所述LZ77数据块的字段长度,按照该字段长度将所述LZ77数据块数据块写入LZ77解码引擎中,最终存储的位置在LZ77解码引擎的缓存中,这样LZ77解码引擎加载对应的LZ77数据块就恢复到了对应的电路状态;
当所述数据头中存在所述数据状态字段时,则读取所述数据状态字段对应的数据,并将所述数据载入数据解码引擎对应的寄存器中,这样数据解码引擎就恢复到了该电路保存时的状态;
当所述数据中存在所述deflate数据头时,则读取所述deflate数据头的字段长度,按照该字段长度将所述deflate数据头中的数据读取,因为deflate数据头包含了很多信息,其中包括:deflate参数、码长序列、游程Huffman码流等,所以需要将所述数据头分发至参数模块、游程Huffman码表恢复模块和游程解码引擎模块;在对所述deflate数据头进行分发时,将所述deflate数据头存入预先设定好的deflate数据头缓存中,该deflate数据头缓存类似一RAM;
在进行此步骤时,向解压缩电路中的数据分发模块发送block_end信号,数据分发模块收到此信号后,将所述数据头写入所述deflate数据头缓存并覆盖所述RAM中原有的数据头(即第一初始状态数据),且记录所述deflate数据头的数据长度;
且上述参数模块、游程Huffman码表恢复模块和游程解码引擎模块都为整个解压缩电路中的一部分;所述模块收到所述数据时,对所述数据进行处理,处理完毕后,所述模块的状态恢复为电路保存时的状态;
执行完恢复步骤后,可以对该请求执行解压缩处理了,同时会生成对应的电路状态数据,即上下文数据;
根据调度算法继续提取所述解压缩请求,判断所述解压缩请求的线程号是否与刚刚处理完毕的解压缩请求的线程号相同,若相同,则继续解压该新的解压缩请求,若不同,则将该上下文数据保存至所述上下文内存中,并继续执行恢复步骤。
通过本方法,可以通过电路状态的转换达到对解压缩请求不间断的交替处理,极大的提升了解压缩请求的处理效率,弥补了现有技术的空缺。
实施例2
本实施例提供一种基于电路状态的解压缩系统,如图3和图4所示,包括:
请求处理模组、状态访问模组、解压缩电路和状态存储模组;
该解压缩电路包括deflate数据头缓存、数据解码引擎和LZ77解码引擎;
通过请求处理模组、状态访问模组和解压缩电路对需要解压缩的数据进行处理,生成对应的电路状态数据,通过状态存储模组将该电路状态数据保存;
在对下个需要解压缩的数据进行处理时,通过请求处理模组进行判断是否进行对电路状态的保存和恢复,最终通过状态访问模组提取状态存储模组中的电路状态数据对电路状态的保存和恢复实现不间断的对需要解压缩的数据进行高效处理。
具体的:状态存储模组用于存储解压缩电路的电路状态;状态访问模组用于载入或传输所述电路状态所对应的数据,并执行恢复过程;deflate数据头缓存用于存储deflate数据头;数据解码引擎用于对deflate数据头进行处理,并生成残留的数据以及数据解码引擎的当前状态;LZ77解码引擎用于对需要进行解压的数据进行处理,并生成对应的LZ77数据块,该LZ77数据块代表当时LZ77解码引擎对应的状态数据,在对电路进行恢复时,需要对LZ77解码引擎的状态数据恢复;状态存储模组用于记录所述LZ77数据块、deflate数据头和数据解码引擎的当前状态三个数据段是否存在及各自的大小;
具体的:首先,请求处理模组设定若干解压缩线程;为每个解压缩线程设定对应的内存区域;可定义该区域为上下文内存;请求处理模组提取待解压缩文件的deflate数据;并将所述deflate数据划分为若干deflate数据块;请求处理模组为每个deflate数据块创建对应的解压缩请求;该解压缩请求中包括所述数据块对应的数据、上下文内存中的位置、线程号和解压缩参数;请求处理模组按照线程号为所述解压缩请求排序,得到对应的请求队列;请求处理模组采用调度算法对所述请求队列中的解压缩请求进行调度;
具体的:解压缩电路对所述解压缩请求所对应的deflate数据块进行解压;其中,数据解码引擎对deflate数据块进行解压,生成对应的数据状态;LZ77解码引擎对deflate数据块进行解压生成对应的LZ77数据块;在对所述数据解压缩完毕后,执行保存步骤:解压缩电路判断所述deflate数据块的block标志的地址信息;block标志包括:结束标志(即第一标志),即block_end;完成标志(即第二标志),即BFINAL标志;若所述地址信息为所述结束标志位于所述deflate数据头的最后,则不保存所述数据的deflate数据头;若所述地址信息为完成标志为1(即第一数据),则代表处理到所述deflate数据块的最后一块,所以不保存所述数据的LZ77数据块;除这两种情况外,将deflate数据头、数据状态和LZ77数据块保存;解压缩电路计算所述被保存的数据每一个字段的长度;解压缩电路将经过上述判断的各个数据块整合为电路状态数据;解压缩电路通过DMA将所述字段的长度及电路状态数据发送至状态存储模组,状态存储模组对其进行存储;
具体的:执行保存步骤后,请求处理模组继续获取对应的解压缩请求;请求处理模组分析获取到的解压缩请求的线程号是否与上一个请求所对应的线程号相同,若相同,则不需要进行电路数据的恢复,因为原有的电路状态是支持对该请求进行解压缩处理的,对所述解压缩请求对应的数据进行解压,并执行保存步骤,若不相同,则执行恢复步骤:通过状态访问模组获取所述状态存储模组中与所述解压缩请求对应的数据,并解析该数据中是否存在LZ77数据块、deflate数据头和数据状态字段;当所述数据中存在所述LZ77数据块时,则状态访问模组读取所述LZ77数据块的字段长度,按照该字段长度将所述LZ77数据块数据块写入LZ77解码引擎中,最终存储的位置在LZ77解码引擎的缓存中,这样LZ77解码引擎加载对应的LZ77数据块就恢复到了对应的电路状态;当所述数据头中存在所述数据状态字段时,则状态访问模组读取所述数据状态字段对应的数据,并将所述数据载入数据解码引擎对应的寄存器中,这样数据解码引擎就恢复到了该电路保存时的状态;
具体的:所述解压缩电路中还配置有参数模块、游程Huffman码表恢复模块、游程解码引擎模块和数据分发模块;当所述数据中存在所述deflate数据头时,则状态访问模组读取所述deflate数据头的字段长度,按照该字段长度将所述deflate数据头中的数据读取,并将所述数据头分发至参数模块、游程Huffman码表恢复模块和游程解码引擎模块;在对所述deflate数据头进行分发时,状态访问模组将所述deflate数据头存入预先设定好的deflate数据头缓存中,该deflate数据头缓存类似一RAM;在进行此步骤时,状态访问模组向解压缩电路中的数据分发模块发送block_end信号,数据分发模块收到此信号后,将所述数据头写入所述deflate数据头缓存并覆盖所述deflate数据头缓存中原有的数据头,且记录所述deflate数据头的数据长度;且上述参数模块、游程Huffman码表恢复模块和游程解码引擎模块都为整个解压缩电路中的一部分;所述模块收到所述数据时,对所述数据进行处理,处理完毕后,所述模块的状态恢复为电路保存时的状态;
具体的:执行完恢复步骤后,解压缩电路对该请求执行解压缩处理,同时会生成对应的电路状态数据;请求处理模组根据调度算法继续提取所述解压缩请求,判断所述解压缩请求的线程号是否与刚刚处理完毕的解压缩请求的线程号相同,若相同,则解压缩电路继续解压该新的解压缩请求,若不同,则解压缩电路将该电路状态数据保存至所述状态存储模组中,并向所述状态访问模组发送恢复信号,状态访问模组收到恢复信号后,执行恢复步骤。
基于与前述实施例中一种基于电路状态的解压缩方法同样的发明构思,本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于电路状态的解压缩方法的步骤。
区别于现有技术,采用本申请一种基于电路状态的解压缩方法、系统及介质可以通过本方法基于电路状态的恢复和保存对压缩任务进行灵活的调整,在不添加任何复杂逻辑电路的情况下,实现对压缩任务的交替服务,通过本系统对本方法提供了有效的技术支撑,进而极大的提高了压缩任务的处理效率,弥补了现有技术的空缺。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于电路状态的解压缩方法,其特征在于,包括以下步骤:
获取第一解压缩请求,执行对所述第一解压缩请求的解压步骤,生成与所述第一解压缩请求对应的第一电路状态数据;
生成所述第一电路状态数据后,获取第二解压缩请求,并判断所述第二解压缩请求与所述第一解压缩请求是否匹配;
若匹配,则执行对所述第二解压缩请求的所述解压步骤,且不执行对所述第一电路状态数据的保存步骤;
若非匹配,则执行对所述第一电路状态数据的保存步骤,并执行与所述第二解压缩请求对应的恢复步骤;
执行所述恢复步骤后,执行对所述第二解压缩请求的所述解压步骤。
2.根据权利要求1所述的基于电路状态的解压缩方法,其特征在于:所述获取第一解压缩请求或所述获取第二解压缩请求的步骤进一步包括:
获取待解压数据;
创建与所述待解压数据对应的解压线程;
获取所述解压线程的第一信息;
基于所述第一信息创建与所述待解压数据对应的第一请求;
按照所述第一信息将所述第一请求排序,得到对应的第一请求序列;
采用调度算法获取所述第一请求序列中的所述第一请求,并定义获取到的所述第一请求为所述第一解压缩请求或第二解压缩请求。
3.根据权利要求2所述的基于电路状态的解压缩方法,其特征在于:所述解压步骤包括:
获取与所述第一解压缩请求对应的第一数据块;
配置第一处理模块、第二处理模块和第三处理模块;
基于所述第一处理模块对所述第一数据块进行解压,得到与所述第一处理模块对应的第一状态数据;
基于所述第二处理模块对所述第一数据块进行解压,得到与所述第二处理模块对应的第二状态数据;
基于所述第三处理模块对所述第一数据块进行解压,得到与所述第三处理模块对应的第三状态数据;
将所述第一状态数据、第二状态数据和第三状态数据进行整合,得到所述第一电路状态数据。
4.根据权利要求2所述的基于电路状态的解压缩方法,其特征在于:所述判断所述第二解压缩请求与所述第一解压缩请求是否匹配的步骤进一步包括:
判断所述第二解压缩请求所对应的所述第一信息和所述第一解压缩请求所对应的所述第一信息是否匹配;若匹配,则判断所述第二解压缩请求与所述第一解压缩请求匹配;若非匹配,则判断所述第二解压缩请求与所述第一解压缩请求非匹配。
5.根据权利要求3所述的基于电路状态的解压缩方法,其特征在于:所述保存步骤包括:
获取所述第一状态数据的第一标志和第二标志;
设定第一数据;
基于所述第一标志、所述第二标志、所述第一数据和所述第一状态数据执行第二判断步骤:判断所述第一标志是否位于所述第一状态数据的末端,若是,则移出所述第一电路状态数据中的所述第一状态数据;判断所述第二标志是否为所述第一数据,若是,则移出所述第一电路状态数据中的所述第二状态数据;
执行所述第二判断步骤后,得到第二电路状态数据;
分别计算所述第二电路状态数据中所述第一状态数据、所述第二状态数据和所述第三状态数据的第一字段长度,并将所述第一字段长度和所述第三电路状态数据存储。
6.根据权利要求5所述的基于电路状态的解压缩方法,其特征在于:所述恢复步骤包括:
获取与所述第二解压缩请求对应的第三电路状态数据;
判断所述第三电路状态数据中的所述第一状态数据、所述第二状态数据和所述第三状态数据的存在情况;
设定恢复顺序,根据所述存在情况和所述恢复顺序分别获取所述第三电路状态数据中的所述第一状态数据、所述第二状态数据和所述第三状态数据所对应的所述第一字段长度;
基于获取到的所述第一字段长度将所述第四电路状态数据中的所述第二状态数据和所述第三状态数据分别载入所述第二处理模块和所述第三处理模块,并对所述第三电路状态数据中的所述第一状态数据执行分发步骤。
7.根据权利要求6所述的基于电路状态的解压缩方法,其特征在于:所述分发步骤包括:
创建第一容器;
获取结束信号,基于所述结束信号判断所述第一容器中是否存在第一初始状态数据;若存在,则将所述第一初始状态数据清除,并将所述第四电路状态数据中的所述第一状态数据存储至所述第一容器。
8.一种基于电路状态的解压缩系统,其特征在于,包括:请求处理模组、状态访问模组、解压缩电路和状态存储模组;
所述请求处理模组用于获取第一解压缩请求,并将所述第一解压缩请求发送至所述解压缩电路;
所述解压缩电路用于对执行对所述第一解压缩请求的解压步骤,生成与所述第一解压缩请求对应的第一电路状态数据,并向所述请求处理模组发送获取信号;
所述请求处理模组还用于根据所述获取信号获取第二解压缩请求,并判断所述第二解压缩请求与所述第一解压缩请求是否匹配,若匹配,则所述请求处理模组将所述第二解压缩请求发送至所述解压缩电路,若非匹配,则所述请求处理模组将所述第一电路状态数据发送至所述状态存储模组,并将所述第二解压缩请求发送至所述状态访问模组;
所述状态访问模组用于执行与所述第二解压缩请求对应的恢复步骤,并根据所述恢复步骤将所述第二解压缩请求发送至所述解压缩电路;
所述状态存储模组用于执行对所述第一电路状态数据的保存步骤。
9.根据权利要求8所述的基于电路状态的解压缩系统,其特征在于:所述解压缩电路还用于执行对所述第二解压缩数据的解压步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~7中任一项所述基于电路状态的解压缩方法的步骤。
CN202110181325.4A 2021-02-10 2021-02-10 一种基于电路状态的解压缩方法、系统及介质 Active CN112905324B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110181325.4A CN112905324B (zh) 2021-02-10 2021-02-10 一种基于电路状态的解压缩方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110181325.4A CN112905324B (zh) 2021-02-10 2021-02-10 一种基于电路状态的解压缩方法、系统及介质

Publications (2)

Publication Number Publication Date
CN112905324A true CN112905324A (zh) 2021-06-04
CN112905324B CN112905324B (zh) 2023-01-10

Family

ID=76123438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110181325.4A Active CN112905324B (zh) 2021-02-10 2021-02-10 一种基于电路状态的解压缩方法、系统及介质

Country Status (1)

Country Link
CN (1) CN112905324B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114172968A (zh) * 2021-10-26 2022-03-11 阿里云计算有限公司 数据解压缩方法、装置、电子设备、介质及程序产品
CN117097346A (zh) * 2023-10-19 2023-11-21 深圳大普微电子股份有限公司 一种解压器及数据解压方法、系统、设备、计算机介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003347927A (ja) * 2002-05-27 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> 再構成可能なハードウェアにおけるデータ処理回路およびその方法
JP3100146U (ja) * 2003-08-29 2004-04-30 万国電脳股▼ふん▲有限公司 圧縮管理メカニズムを具えたストレージデバイス
JP2006264274A (ja) * 2005-03-25 2006-10-05 Seiko Epson Corp 圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置
US20100020825A1 (en) * 2008-07-22 2010-01-28 Brian Mitchell Bass Method and Apparatus for Concurrent and Stateful Decompression of Multiple Compressed Data Streams
CN101873255A (zh) * 2009-04-27 2010-10-27 阿瓦雅公司 分组网络中的相关媒体流的动态缓冲和同步
WO2015162755A1 (ja) * 2014-04-24 2015-10-29 株式会社日立製作所 データを圧縮して格納するストレージ装置
CN105183557A (zh) * 2015-08-26 2015-12-23 东南大学 一种基于硬件的可配置的数据压缩系统
US20170078381A1 (en) * 2015-09-14 2017-03-16 Wistron Corporation Hardware loading adjusting method and related electronic device
CN107147635A (zh) * 2017-04-28 2017-09-08 上海斐讯数据通信技术有限公司 基于多线程的成倍提高海量上行文件数据的协议解析处理方法和系统
CN110908778A (zh) * 2019-10-10 2020-03-24 平安科技(深圳)有限公司 任务部署方法、系统和存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003347927A (ja) * 2002-05-27 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> 再構成可能なハードウェアにおけるデータ処理回路およびその方法
JP3100146U (ja) * 2003-08-29 2004-04-30 万国電脳股▼ふん▲有限公司 圧縮管理メカニズムを具えたストレージデバイス
JP2006264274A (ja) * 2005-03-25 2006-10-05 Seiko Epson Corp 圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置
US20100020825A1 (en) * 2008-07-22 2010-01-28 Brian Mitchell Bass Method and Apparatus for Concurrent and Stateful Decompression of Multiple Compressed Data Streams
CN101873255A (zh) * 2009-04-27 2010-10-27 阿瓦雅公司 分组网络中的相关媒体流的动态缓冲和同步
WO2015162755A1 (ja) * 2014-04-24 2015-10-29 株式会社日立製作所 データを圧縮して格納するストレージ装置
CN105183557A (zh) * 2015-08-26 2015-12-23 东南大学 一种基于硬件的可配置的数据压缩系统
US20170078381A1 (en) * 2015-09-14 2017-03-16 Wistron Corporation Hardware loading adjusting method and related electronic device
CN107147635A (zh) * 2017-04-28 2017-09-08 上海斐讯数据通信技术有限公司 基于多线程的成倍提高海量上行文件数据的协议解析处理方法和系统
CN110908778A (zh) * 2019-10-10 2020-03-24 平安科技(深圳)有限公司 任务部署方法、系统和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114172968A (zh) * 2021-10-26 2022-03-11 阿里云计算有限公司 数据解压缩方法、装置、电子设备、介质及程序产品
CN117097346A (zh) * 2023-10-19 2023-11-21 深圳大普微电子股份有限公司 一种解压器及数据解压方法、系统、设备、计算机介质
CN117097346B (zh) * 2023-10-19 2024-03-19 深圳大普微电子股份有限公司 一种解压器及数据解压方法、系统、设备、计算机介质

Also Published As

Publication number Publication date
CN112905324B (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
CN112905324B (zh) 一种基于电路状态的解压缩方法、系统及介质
CN105677469B (zh) 定时任务执行方法及装置
KR101074010B1 (ko) 블록 단위 데이터 압축 및 복원 방법 및 그 장치
US20090284400A1 (en) Method and System for Reducing Required Storage During Decompression of a Compressed File
US20130166861A1 (en) Data storage apparatus and method of controlling data storage apparatus
US20120185612A1 (en) Apparatus and method of delta compression
CN110377226B (zh) 基于存储引擎bluestore的压缩方法、装置及存储介质
KR101016776B1 (ko) 상위 호환성 보장형 압축 및 복원 방법 및 장치
CN111061434B (zh) 基因压缩多流数据并行写入及读取方法、系统及介质
CN105204781A (zh) 压缩方法、装置和设备
US9882582B2 (en) Non-transitory computer-readable recording medium, encoding method, encoding device, decoding method, and decoding device
CN107850983B (zh) 计算机系统、存储装置和数据的管理方法
US20090322570A1 (en) Adaptive Entropy Coding Compression Output Formats
KR20150125010A (ko) 저장된 데이터 유닛들의 동작 관리
CN115952520A (zh) 应用于数据文件的大数据平台数据标准化处理系统及方法
Sari et al. A review of graph theoretic and weightage techniques in file carving
CN113806341A (zh) 数据处理方法及存储设备
JP2007537642A (ja) Xmlデータの構造化されたブロック単位の圧縮及び解凍方法及び装置
CN113687773A (zh) 数据压缩模型训练方法及装置、存储介质
JP2010061518A (ja) データ保存装置及びデータ保存方法並びにプログラム
US9223576B2 (en) Reducing a set of instructions for execution on a processor and expanding a set of instructions on a processor
JP2010257330A (ja) ログファイル管理システム、ログファイル管理方法及びプログラム
CN115250351A (zh) 用于图像数据的压缩方法、解压方法及相关产品
US8725690B1 (en) Time and bandwidth efficient backups of space reduced data
CN109189746B (zh) 通用流式Shuffle引擎的实现方法、装置、设备及存储介质

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