一种数据压缩方法、装置、电子设备及存储介质与流程

文档序号:37003713发布日期:2024-02-09 12:48阅读:16来源:国知局
一种数据压缩方法、装置、电子设备及存储介质与流程

本公开涉及数据处理,尤其涉及一种数据压缩方法、装置、电子设备及存储介质。


背景技术:

1、在数据存储及传输等领域中,为了减少原始数据所占用的存储空间及带宽,通常需要对原始数据进行压缩。数据压缩可以减少原始数据的大小,同时尽可能保证原始数据的完整性。

2、现有技术中,压缩算法主要包括无损压缩和有损压缩两种。其中,无损压缩算法可以更好地保留数据的完整性,但是压缩比例比较低,能够节省的资源有限。而有损压缩虽然具有较高的压缩比例,能够节省更多的资源,但会牺牲原始数据的一些细节,造成原始数据的完整性损失。

3、但是,目前的数据压缩算法无法兼顾数据压缩效率和数据完整性,因此数据压缩的效果较差,难以满足用户的数据压缩需求。


技术实现思路

1、本公开提供一种数据压缩方法、装置、电子设备及存储介质,以至少解决相关技术中数据压缩算法无法兼顾数据压缩效率和数据完整性,数据压缩的效果较差,难以满足用户的数据压缩需求的问题。本公开的技术方案如下:

2、根据本公开实施例的第一方面,提供一种数据压缩方法,包括:

3、获取原始数据的二进制编码字符串;

4、将所述二进制编码字符串中的目标字符串替换为对应的字符编码,得到第一编码字符串;所述目标字符串为连续相同的二进制字符,不同长度或不同二进制字符组成的目标字符串对应于不同的字符编码;

5、根据所述第一编码字符串中二进制字符的位置,生成数字模型;

6、基于预设顺序,重新排列所述第一编码字符串中的二进制字符和字符编码,并将所述第一编码字符串中的相同的二进制字符相邻排列,得到第二编码字符串;所述第二编码字符串中的字符编码前后顺序不变;

7、将所述第二编码字符串中的目标字符串替换为对应的字符编码,得到第三编码字符串;所述数字模型用于对所述第三编码字符串进行解压缩,得到所述原始数据的二进制编码字符串。

8、可选地,所述将所述二进制编码字符串中的目标字符串替换为对应的字符编码,得到第一编码字符串,包括:

9、遍历所述二进制编码字符串,将所述二进制编码字符串划分为至少一个单一二进制字符及至少一个目标字符串;

10、将所述目标字符串替换为对应的字符编码,并基于所述二进制编码字符串确定每个单一二进制字符及每个目标字符串的位置,得到第一编码字符串。

11、可选地,所述根据所述第一编码字符串中二进制字符的位置索引,生成数字模型之后,包括:

12、将所述数字模型存储至动态链接库中。

13、可选地,所述将所述数字模型存储至动态链接库中,包括:

14、获取动态链接库中存储的原始模型;

15、根据所述数字模型,对所述原始模型进行更新。

16、可选地,所述将所述第二编码字符串中的目标字符串替换为对应的字符编码,得到第三编码字符串之后,还包括:

17、响应于解压指令,根据所述数字模型,还原得到候选字符串;所述候选字符串中各个位置分别对应于二进制字符或空集;

18、基于所述预设顺序,从所述第三编码字符串中筛选出所述第一编码字符串包括的字符编码;

19、按照前后顺序,将筛选出的字符编码依次替换所述候选字符串中的空集,还原得到所述第一编码字符;

20、将所述第一编码字符串中的字符编码替换为对应的目标字符串,还原得到所述二进制编码字符串。

21、根据本公开实施例的第二方面,提供一种数据压缩装置,包括:

22、获取模块,用于获取原始数据的二进制编码字符串;

23、第一替换模块,用于将所述二进制编码字符串中的目标字符串替换为对应的字符编码,得到第一编码字符串;所述目标字符串为连续相同的二进制字符,不同长度或不同二进制字符组成的目标字符串对应于不同的字符编码;

24、生成模块,用于根据所述第一编码字符串中二进制字符的位置,生成数字模型;

25、排列模块,用于基于预设顺序,重新排列所述第一编码字符串中的二进制字符和字符编码,并将所述第一编码字符串中的相同的二进制字符相邻排列,得到第二编码字符串;所述第二编码字符串中的字符编码前后顺序不变;

26、第二替换模块,用于将所述第二编码字符串中的目标字符串替换为对应的字符编码,得到第三编码字符串;所述数字模型用于对所述第三编码字符串进行解压缩,得到所述原始数据的二进制编码字符串。

27、可选地,所述第一替换模块,具体用于:

28、遍历所述二进制编码字符串,将所述二进制编码字符串划分为至少一个单一二进制字符及至少一个目标字符串;

29、将所述目标字符串替换为对应的字符编码,并基于所述二进制编码字符串确定每个单一二进制字符及每个目标字符串的位置,得到第一编码字符串。

30、可选地,所述装置还包括存储模块,用于:

31、将所述数字模型存储至动态链接库中。

32、可选地,所述存储模块,具体用于:

33、获取动态链接库中存储的原始模型;

34、根据所述数字模型,对所述原始模型进行更新。

35、可选地,所述装置还包括解压模块,用于:

36、响应于解压指令,根据所述数字模型,还原得到候选字符串;所述候选字符串中各个位置分别对应于二进制字符或空集;

37、基于所述预设顺序,从所述第三编码字符串中筛选出所述第一编码字符串包括的字符编码;

38、按照前后顺序,将筛选出的字符编码依次替换所述候选字符串中的空集,还原得到所述第一编码字符;

39、将所述第一编码字符串中的字符编码替换为对应的目标字符串,还原得到所述二进制编码字符串。

40、根据本公开实施例的第三方面,提供一种数据压缩电子设备,包括:

41、处理器;

42、用于存储所述处理器可执行指令的存储器;

43、其中,所述处理器被配置为执行所述指令,以实现所述任一项所述的数据压缩方法。

44、根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由数据压缩电子设备的处理器执行时,使得数据压缩电子设备能够执行所述任一项所述的数据压缩方法。

45、根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现所述任一项所述的数据压缩方法。

46、本公开的实施例提供的技术方案至少带来以下有益效果:

47、获取原始数据的二进制编码字符串;将二进制编码字符串中的目标字符串替换为对应的字符编码,得到第一编码字符串;目标字符串为连续相同的二进制字符,不同长度或不同二进制字符组成的目标字符串对应于不同的字符编码;根据第一编码字符串中二进制字符的位置,生成数字模型;基于预设顺序,重新排列第一编码字符串中的二进制字符和字符编码,并将第一编码字符串中的相同的二进制字符相邻排列,得到第二编码字符串;第二编码字符串中的字符编码前后顺序不变;将第二编码字符串中的目标字符串替换为对应的字符编码,得到第三编码字符串;数字模型用于对第三编码字符串进行解压缩,得到原始数据的二进制编码字符串。

48、这样,本技术通过原始数据的二进制编码字符串的数据特征,生成相应的数字模型,再基于数字模型进行数据压缩,其中,数字模型可以指示单一的二进制字符与其相应位置的对应关系,用于还原完整的二进制编码字符串,同时,通过对第一编码字符串的再次排序,使得高频字符的出现频率变高,进而可以提高压缩效率,实现兼顾数据压缩效率和数据完整性,满足用户的数据压缩需求。

49、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1