一种数据压缩方法技术

技术编号:39671437 阅读:10 留言:0更新日期:2023-12-11 18:36
本发明专利技术公开了一种数据压缩方法

【技术实现步骤摘要】
一种数据压缩方法、装置、设备及存储介质


[0001]本专利技术涉及数据压缩
,特别涉及一种数据压缩方法

装置

设备及存储介质


技术介绍

[0002]随着计算机技术发展,所需处理的数据量快速增长,但是由于数据传输带宽和存储容量的限制,数据不经压缩处理而直接传输或存储所需付出的成本极高

目前数据压缩算法主要是基于软件实现,纯软件算法的实现需要占用较多的
CPU(Central Processing Unit/Processor
,中央处理器
)
资源和较大的数据缓存空间,且速度较慢


技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种数据压缩方法

装置

设备和存储介质,能够满足实时性应用场景需求,具有较高的能效比,降低了功耗并提升了压缩运算的速度

其具体方案如下:
[0004]第一方面,本专利技术公开了一种数据压缩方法,包括:
[0005]通过主处理器的取指单元接收数据压缩指令,并判断所述数据压缩指令是否为包含预设压缩算法的指令;
[0006]若所述数据压缩指令是包含所述预设压缩算法的指令,则通过所述主处理器的指令执行单元以及远程控制接口将所述数据压缩指令发送至协处理器;
[0007]基于所述协处理器接收到的所述数据压缩指令获取待压缩数据,对所述待压缩数据执行预设译码操作,以得到压缩后数据,并将所述压缩后数据返回至所述主处理器

[0008]可选的,所述通过所述主处理器的指令执行单元以及远程控制接口将所述数据压缩指令发送至协处理器之前,还包括:
[0009]若所述数据压缩指令是包含所述预设压缩算法的指令,则判断所述数据压缩指令是否为用于指定待压缩数据集并进行压缩的压缩计算指令;
[0010]若所述数据压缩指令不是用于指定所述待压缩数据集并进行压缩的所述压缩计算指令,则判断所述数据压缩指令是否为用于获取压缩结果的压缩结果获取指令

[0011]可选的,所述判断所述数据压缩指令是否为用于获取压缩结果的压缩结果获取指令之后,还包括:
[0012]若所述数据压缩指令是用于获取所述压缩结果的所述压缩结果获取指令,则基于所述压缩结果获取指令并通过所述远程控制接口的数据反馈通道获取所述协处理器返回的所述压缩后数据

[0013]可选的,所述判断所述数据压缩指令是否为用于指定待压缩数据集并进行压缩的压缩计算指令之后,还包括:
[0014]若所述数据压缩指令是用于指定所述待压缩数据集并进行压缩的所述压缩计算指令,则基于所述压缩计算指令获取用于表征所述待压缩数据在内存中的首地址的操作
数;
[0015]相应的,所述通过所述主处理器的指令执行单元以及远程控制接口将所述数据压缩指令发送至协处理器,包括:
[0016]通过所述主处理器的所述指令执行单元以及所述远程控制接口的所述指令请求通道将所述压缩计算指令以及所述操作数发送至所述协处理器

[0017]可选的,所述基于所述协处理器接收到的所述数据压缩指令获取待压缩数据,对所述待压缩数据执行预设译码操作,以得到压缩后数据,包括:
[0018]基于所述协处理器接收到的所述压缩计算指令以及所述操作数获取待压缩数据,并将所述待压缩数据复制至所述协处理器的内部缓冲区;
[0019]从所述待压缩数据中确定当前目标数据;
[0020]通过所述协处理器的字典区域将所述当前目标数据与所述字典区域中的条目依次匹配;
[0021]若匹配成功,则判定当前匹配的第一目标条目的数据有效,并获取所述第一目标条目的第一条目地址对应的第一压缩数据;
[0022]若匹配失败,则利用所述当前目标数据更新所述字典区域,并获取更新后字典区域中所述当前目标数据匹配成功的第二目标条目,获取所述第二目标条目的第二条目地址对应的第二压缩数据;
[0023]基于预设压缩算法规则将所述第一压缩数据与所述第二压缩数据进行编码,以得到所述压缩后数据,并将所述压缩后数据存储至所述内部缓冲区

[0024]可选的,所述基于所述协处理器接收到的所述压缩计算指令以及所述操作数获取待压缩数据,包括:
[0025]基于所述操作数确定所述待压缩数据在内存中的所述首地址;
[0026]通过所述内部缓冲区以及所述远程控制接口的数据请求通道将携带所述首地址的数据获取请求发送至所述主处理器的加载存储单元;
[0027]接收所述加载存储单元通过所述远程控制接口的所述数据反馈通道发送的基于所述首地址确定的所述待压缩数据

[0028]可选的,所述基于所述协处理器接收到的所述数据压缩指令获取待压缩数据,对所述待压缩数据执行预设译码操作之后,还包括:
[0029]若得到所述压缩后数据,则判定指令执行结果为执行成功;
[0030]通过所述远程控制接口的指令反馈通道将所述指令执行结果发送至所述主处理器,以便所述主处理器在接收到的所述指令执行结果为执行成功时,将接收到的所述压缩后数据写入目标寄存器并删除所述数据压缩指令

[0031]第二方面,本专利技术公开了一种数据压缩装置,包括:
[0032]数据压缩指令接收模块,用于通过主处理器的取指单元接收数据压缩指令;
[0033]数据压缩指令判断模块,用于判断所述数据压缩指令是否为包含预设压缩算法的指令;
[0034]数据压缩指令发送模块,用于若所述数据压缩指令是包含所述预设压缩算法的指令,则通过所述主处理器的指令执行单元以及远程控制接口将所述数据压缩指令发送至协处理器;
[0035]待压缩数据获取模块,用于基于所述协处理器接收到的所述数据压缩指令获取待压缩数据;
[0036]数据压缩模块,用于对所述待压缩数据执行预设译码操作,以得到压缩后数据,并将所述压缩后数据返回至所述主处理器

[0037]第三方面,本专利技术公开了一种电子设备,包括:
[0038]存储器,用于保存计算机程序;
[0039]处理器,用于执行所述计算机程序,以实现如前述公开的数据压缩方法的步骤

[0040]第四方面,本专利技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的数据压缩方法

[0041]可见,本专利技术提供了一种数据压缩方法,包括:通过主处理器的取指单元接收数据压缩指令,并判断所述数据压缩指令是否为包含预设压缩算法的指令;若所述数据压缩指令是包含所述预设压缩算法的指令,则通过所述主处理器的指令执行单元以及远程控制接口将所述数据压缩指令发送至协处理器;基于所述协处理器接收到的所述数据压缩指令获取待压缩数据,对所述待压缩数据执行预设译码操作,以得到压缩后数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据压缩方法,其特征在于,包括:通过主处理器的取指单元接收数据压缩指令,并判断所述数据压缩指令是否为包含预设压缩算法的指令;若所述数据压缩指令是包含所述预设压缩算法的指令,则通过所述主处理器的指令执行单元以及远程控制接口将所述数据压缩指令发送至协处理器;基于所述协处理器接收到的所述数据压缩指令获取待压缩数据,对所述待压缩数据执行预设译码操作,以得到压缩后数据,并将所述压缩后数据返回至所述主处理器
。2.
根据权利要求1所述的数据压缩方法,其特征在于,所述通过所述主处理器的指令执行单元以及远程控制接口将所述数据压缩指令发送至协处理器之前,还包括:若所述数据压缩指令是包含所述预设压缩算法的指令,则判断所述数据压缩指令是否为用于指定待压缩数据集并进行压缩的压缩计算指令;若所述数据压缩指令不是用于指定所述待压缩数据集并进行压缩的所述压缩计算指令,则判断所述数据压缩指令是否为用于获取压缩结果的压缩结果获取指令
。3.
根据权利要求2所述的数据压缩方法,其特征在于,所述判断所述数据压缩指令是否为用于获取压缩结果的压缩结果获取指令之后,还包括:若所述数据压缩指令是用于获取所述压缩结果的所述压缩结果获取指令,则基于所述压缩结果获取指令并通过所述远程控制接口的数据反馈通道获取所述协处理器返回的所述压缩后数据
。4.
根据权利要求3所述的数据压缩方法,其特征在于,所述判断所述数据压缩指令是否为用于指定待压缩数据集并进行压缩的压缩计算指令之后,还包括:若所述数据压缩指令是用于指定所述待压缩数据集并进行压缩的所述压缩计算指令,则基于所述压缩计算指令获取用于表征所述待压缩数据在内存中的首地址的操作数;相应的,所述通过所述主处理器的指令执行单元以及远程控制接口将所述数据压缩指令发送至协处理器,包括:通过所述主处理器的所述指令执行单元以及所述远程控制接口的所述指令请求通道将所述压缩计算指令以及所述操作数发送至所述协处理器
。5.
根据权利要求4所述的数据压缩方法,其特征在于,所述基于所述协处理器接收到的所述数据压缩指令获取待压缩数据,对所述待压缩数据执行预设译码操作,以得到压缩后数据,包括:基于所述协处理器接收到的所述压缩计算指令以及所述操作数获取待压缩数据,并将所述待压缩数据复制至所述协处理器的内部缓冲区;从所述待压缩数据中确定当前目标数据;通过所述协处理器的字典区域将所述当前目标数据与所述字典区域中的条目依次匹配;若匹配成功,则判定当前匹配的第一目...

【专利技术属性】
技术研发人员:孙宗齐赵鑫鑫姜凯
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1