数据压缩方法、装置和系统与流程

文档序号:35342250发布日期:2023-09-07 12:45阅读:72来源:国知局
数据压缩方法、装置和系统与流程

本技术涉及数据压缩,具体涉及一种数据压缩方法、装置和系统。


背景技术:

1、在工业生产和科研中,通常要对信号进行长时间高速采样,会产生大量采样数据。在一些特殊环境下,受体积和功耗的限制,不能添加过多存储器,需要引入数据压缩技术来解决。软件压缩算法的运算量较大,需要很高的cpu运算速度和数据缓存空间,一般应用在对时间要求不高的非实时压缩场合,数据的实时压缩一般都要用硬件实现。有损压缩之后数据进行重构,与原来的数据有所不同。大多数据采集系统因被测对象的不确定性,需要采用无损数据压缩。数据无损压缩功能的实现目前多以专用的压缩芯片实现,例如美国adi公司的无损压缩芯片。

2、在构思及实现本技术过程中,发明人发现至少存在如下问题:专用的压缩芯片实现数据无损压缩不仅增加硬件设计的难度和成本,例如增加pcb(印刷电路板)设计面积和功耗,电路板散热变得更难等,还对于未来系统程序升级较难,不便于升级和维护程序。

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、每个数据压缩装置分别处理对应的一个单字节数据,以并行处理所述多个单字节数据并分别对应生成一个压缩结果;

50、所述数据汇聚模块合并每个数据压缩装置生成的压缩结果并输出总压缩数据。

51、如上所述,本技术提供的数据压缩方法、装置和系统在串表压缩算法原理的基础上,增加预设哈希函数运算和预设哈希字典,结合可编程逻辑器件的高集成度、低功耗、灵活性及并行运算的特性,通过可编程逻辑器件硬件实现输入数据的快速压缩,提高实时压缩能力。

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