一种数据无损压缩存储的方法与流程

文档序号:34583343发布日期:2023-06-28 14:52阅读:37来源:国知局

本发明属于数据压缩存储,更具体地说,涉及一种数据无损压缩存储的方法。


背景技术:

1、由于目前计算机的编码,比如int类型通常都是占据4个字节,而当数据整数较小的情况下只用到了第一个字节,后面的字节全为0,故而造成了存储空间的浪费。现有的存储方式通常是采用数据压缩方式进行存储,去除原始数据中的冗余,利用尽可能少的码字来描述原始数据,但是依然会出现误删有用数据的情况,对原始数据造成的损坏,准确度较低,因此,急需设计一款数据无损压缩存储的方法,能够在保证数据准确无损的情况下,减少数据的存储空间,减少运行时间,提高工作效率。

2、经检索,关于数据压缩存储的技术应用已有大量专利文献公开,如中国专利申请号为:2021101745539,发明创造名称为:一种数据压缩方法及基于其的数据传输方法、终端和系统,该申请案公开了供一种数据压缩方法及基于其的数据传输方法、终端和系统,所述数据压缩方法包括:确定在第一数据块中在其中的当前编码的第一最小可压缩单元之前是否包括所述第一最小可压缩单元;在确定在所述第一数据块中在其中的当前编码的第一最小可压缩单元之前不包括所述第一最小可压缩单元的情况中,确定在第二数据块中是否包括所述第一最小可压缩单元;在确定在所述第二数据块中包括所述第一最小可压缩单元的情况中,以第一编码作为与所述当前编码的第一最小可压缩单元对应的编码,其中,所述第一编码为外部编码,所述外部编码包括相应的最小可压缩单元在所述第二数据块中的位置信息。通过所述数据压缩方法,提高了数据压缩率,改善了用户体验。

3、又如中国专利申请号为:2014104880903,发明创造名称为:一种地震数据压缩方法、压缩存储方法以及随机访问方法,公开了一种地震数据压缩方法、压缩存储方法以及随机访问方法。该压缩方法根据地震数据的特点,分别对地震道头数据进行无损压缩和对地震样点数据进行有损压缩。其中,在道头压缩步骤中,利用一道头描述信息记录压缩的道头中各数据项的属性定义和道头描述信息自身所占空间大小等信息;在样点压缩步骤中,计算地震道特征值和各样点数据的特征向量,并利用地震道特征值和各样点数据的特征向量表示各样点数据。通过该方法压缩后的地震数据无需解压缩还原,就能够实现地震数据的随机访问,为海量地震数据的处理节约了存储空间,减少了硬件成本,提高了工作效率。


技术实现思路

1、1、要解决的问题

2、针对现有技术中存在的问题,本发明拟提供一种数据无损压缩存储的方法,能够在保证数据准确无损的情况下,去除原始数据占据的字节中无用的冗余,利用尽可能少的字节数来描述原始数据,减少数据的存储空间和运行时间,提高工作效率。

3、2、技术方案

4、为解决上述问题,本发明采用如下的技术方案。

5、本发明的一种数据无损压缩存储的方法,包括以下步骤:

6、a:首先取第一个byte,将该byte的八个bit中的前两位设置为信息位,该byte的八个bit中剩下的后六位用于存储需要压缩存储的二进制数据;

7、b:当数据小于等于63时,将第一个byte的前两个信息位设为00;

8、c:当数据超过63时,将第一个byte的前两个信息位设置为该数据在第一个byte后面额外需要消耗byte的长度。

9、作为本发明更进一步的改进,步骤a中第一个byte的前两个信息位也是存储二进制数据,且第一个byte的前两个信息位的二进制数据用来表示接下来用于存储数据的byte的长度是多少。

10、作为本发明更进一步的改进,步骤b中当第一个byte的前两个信息位为00时,代表该数据在第一个byte后面额外需要消耗byte的长度为0,该数据仅消耗第一个byte。

11、作为本发明更进一步的改进,步骤c中若第一个byte的前两个信息位设置为01,代表该数据在第一个byte后面额外需要消耗byte的长度为1;若第一个byte的前两个信息位设置为10,代表该数据在第一个byte后面额外需要消耗byte的长度为2;若第一个byte的前两个信息位设置为11,代表该数据在第一个byte后面额外需要消耗byte的长度为3。

12、作为本发明更进一步的改进,还包括步骤d:当数据超过四个byte时,将第一个byte的前两个信息位设置为11,第一个byte后面间隔两个byte后,第四个byte的八个bit中的前两位也设置为信息位,第四个byte的八个bit中剩下的后六位用于存储需要压缩存储的二进制数据。

13、作为本发明更进一步的改进,步骤d中第一个byte后面的两个byte分别为第二个byte和第三个byte,且第二个byte和第三个byte的八个bit均用来存储需要压缩存储的二进制数据。

14、作为本发明更进一步的改进,步骤d中若第四个byte的前两个信息位设为00,表示该数据只占四个byte,如果第四个byte的前两个信息位不为00,则按照步骤d中的方式继续读取接下来的byte。

15、3、有益效果

16、相比于现有技术,本发明的有益效果为:

17、(1)本发明的一种数据无损压缩存储的方法,通过将第一个byte中前两位设置为信息位,有效减少数据存储时占用的字节长度,减少数据的存储空间,从而加快数据的压缩存储。

18、(2)本发明的一种数据无损压缩存储的方法,能够在保证数据准确无损的情况下,去除字节中无用的冗余,利用尽可能少的字节数来描述原始数据,减少数据的存储空间和运行时间,提高工作效率。



技术特征:

1.一种数据无损压缩存储的方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种数据无损压缩存储的方法,其特征在于:步骤a中第一个byte的前两个信息位也是存储二进制数据,且第一个byte的前两个信息位的二进制数据用来表示接下来用于存储数据的byte的长度是多少。

3.根据权利要求1所述的一种数据无损压缩存储的方法,其特征在于:步骤b中当第一个byte的前两个信息位为00时,代表该数据在第一个byte后面额外需要消耗byte的长度为0,该数据仅消耗第一个byte。

4.根据权利要求1所述的一种数据无损压缩存储的方法,其特征在于:步骤c中若第一个byte的前两个信息位设置为01,代表该数据在第一个byte后面额外需要消耗byte的长度为1;若第一个byte的前两个信息位设置为10,代表该数据在第一个byte后面额外需要消耗byte的长度为2;若第一个byte的前两个信息位设置为11,代表该数据在第一个byte后面额外需要消耗byte的长度为3。

5.根据权利要求1-4任一一项所述的一种数据无损压缩存储的方法,其特征在于:还包括步骤d:当数据超过四个byte时,将第一个byte的前两个信息位设置为11,第一个byte后面间隔两个byte后,第四个byte的八个bit中的前两位也设置为信息位,第四个byte的八个bit中剩下的后六位用于存储需要压缩存储的二进制数据。

6.根据权利要求5所述的一种数据无损压缩存储的方法,其特征在于:步骤d中第一个byte后面的两个byte分别为第二个byte和第三个byte,且第二个byte和第三个byte的八个bit均用来存储需要压缩存储的二进制数据。

7.根据权利要求6所述的一种数据无损压缩存储的方法,其特征在于:步骤d中若第四个byte的前两个信息位设为00,表示该数据只占四个byte,如果第四个byte的前两个信息位不为00,则按照步骤d中的方式继续读取接下来的byte。


技术总结
本发明公开了一种数据无损压缩存储的方法,属于数据压缩存储技术领域。本发明首先取第一个byte,将该byte的八个bit中的前两位设置为信息位,该byte的八个bit中剩下的后六位用于存储需要压缩存储的二进制数据;当数据小于等于63时,将第一个byte的前两个信息位设为00;当数据超过63时,将第一个byte的前两个信息位设置为该数据在第一个byte后面额外需要消耗byte的长度。针对现有技术中存在的问题,本发明拟提供一种数据无损压缩存储的方法,能够在保证数据准确无损的情况下,去除原始数据占据的字节中无用的冗余,利用尽可能少的字节数来描述原始数据,减少数据的存储空间和运行时间,提高工作效率。

技术研发人员:刘倩,刘建雄,张永佳,刘小敏
受保护的技术使用者:安徽小豆网络科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1