CN102841907A - 数据压缩和解压缩的处理方法 - Google Patents
数据压缩和解压缩的处理方法 Download PDFInfo
- Publication number
- CN102841907A CN102841907A CN 201110174721 CN201110174721A CN102841907A CN 102841907 A CN102841907 A CN 102841907A CN 201110174721 CN201110174721 CN 201110174721 CN 201110174721 A CN201110174721 A CN 201110174721A CN 102841907 A CN102841907 A CN 102841907A
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- segmentation
- decompression
- disposal route
- 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.)
- Pending
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供一种数据压缩和解压缩的处理方法,数据压缩的处理方法包括以下步骤:获取压缩前文件大小;根据压缩前文件大小将所述压缩前文件分成n段,计算索引表大小,并于压缩文件的头位置处设置索引表;依序压缩每一分段并将压缩后的数据写入压缩文件中,并将每一分段在压缩文件中的起始位置记录至记录项中。本发明数据解压缩的处理方法包括以下步骤:接收用户请求指令;根据用户请求指令,计算获取数据的分段号,到索引表中读取起始位置;根据获取数据的起始位置依序读取各分段的数据并解压缩;将用户请求的数据返回给上层。本发明在压缩过程中,不需手为干预;而在解压缩过程中,根据用户请求分段解压缩,解压缩速度快。
Description
【技术领域】
本发明涉及一种数据压缩和解压缩的处理方法,特别是一种可实时压缩解压缩的数据压缩和解压缩的处理方法。
【背景技术】
便携式自动导航系统(PND)近几年应用越来越广泛,有人称它为GPS+PDA,但随着其功能的日趋多样化,地图数据量的不断增加,对存储空间大小的要求也越来越高,而且嵌入式系统不可能使用PC机广泛使用的大容量硬盘,只能使用体积小容量小的flash或iNand,这些嵌入式存储介质,其单位容量价格相对硬盘要高的多。所以很多嵌入式软件开发人员在编写程序时不得不考虑尽量减小自己程序及所用数据资源的大小,给嵌入式软件开发人员带来了很大的困扰。
程序和数据以压缩的方式存储,同样大小的存储介质上就能存储更多的数据。目前虽然有很多算法实现压缩解压缩, 但都需要人为干预压缩解压缩,且现有的程序和数据是在整个文件解压缩后再使用,无法实现嵌入式系统的实时压缩解压缩。
【发明内容】
本发明的主要目的在于提供一种可实时压缩解压缩的数据压缩和解压缩的处理方法。
本发明提供一种数据压缩的处理方法,应用于文件系统驱动层,其包括以下步骤:获取压缩前文件大小;根据压缩前文件大小将所述压缩前文件分成n段,计算索引表大小,并于压缩文件的头位置处设置索引表,所述索引表具有若干个记录项;依序压缩每一分段并将压缩后的数据写入压缩文件中,并将每一分段在压缩文件中的起始位置记录至记录项中,其中,第一分段在压缩文件中的起始位置为接续索引表之后,其余各分段在压缩文件中的起始位置为接续前一分段之后。
特别地,所述数据压缩的处理方法应用于WinCE嵌入式系统中。
特别地,压缩前每一分段的数据量为64KB。
特别地,所述记录项还包括压缩前文件大小、索引表大小。
特别地,一个记录项包括4个字节,索引表的大小为4096字节的整数倍。
本发明还提供一种数据解压缩的处理方法,应用于文件系统驱动层,其包括以下步骤:接收用户请求指令;根据用户请求指令,计算获取数据的分段号,到索引表中读取起始位置;根据获取数据的起始位置依序读取各分段的数据并解压缩;将用户请求的数据返回给上层。
特别地,解压缩的算法为LZ77算法。
特别地,若用户请求的数据小于64KB,则根据获取数据的起始位置读取所在分段的全部数据并解压缩。
特别地,若用户请求的数据大于64KB,则获取数据的分段号至少为两个,根据第一分段获取数据的起始位置读取第一分段的数据并解压缩,然后,再根据下一分段获取数据的起始位置读取下一分段的数据并解压缩,直至获取数据中的所有分段均解压缩。
特别地,解压缩后的数据按先进先出原则自动存放在缓存内。
与现有技术相比较,本发明在压缩过程中,根据压缩前文件大小自动执行分段压缩,不需手为干预;而在解压缩过程中,根据用户请求分段解压缩,不需要解压缩整个文件,解压缩速度快。
为对本发明的目的、构造特征及其功能有进一步的了解,兹配合附图详细说明如下:
【附图说明】
图1为本发明中数据压缩的处理方法的流程图。
图2为压缩文件的索引表示意图。
图3为本发明中数据解压缩的处理方法的流程图。
【具体实施方式】
请参阅图1及图2所示,本发明数据压缩的处理方法应用于文件系统驱动层,于本实施例中,所述数据压缩的处理方法应用于WinCE嵌入式系统中,其包括以下步骤:
步骤201:获取压缩前文件大小;
步骤202:根据压缩前文件大小将所述压缩前文件分成n段,计算索引表大小,并于压缩文件的头位置处设置索引表,所述索引表具有若干个记录项;其中,压缩前每一分段的数据量为64KB。所述记录项还包括压缩前文件大小、索引表大小。一个记录项包括4个字节,索引表的大小为4096字节的整数倍,索引表的大小最小为4096字节。
例如,若压缩前文件大小为64KB*200,则将所述压缩前文件分成200段,并于压缩文件的头位置处设置索引表,索引表的记录项包括压缩前文件大小、索引表大小、第一分段的起始位置、第二分段的起始位置、第三分段的起始位置……第200分段的起始位置。
步骤203:依序压缩每一分段并将压缩后的数据写入压缩文件中,并将每一分段在压缩文件中的起始位置记录至记录项中,其中,第一分段在压缩文件中的起始位置为接续索引表之后,其余各分段在压缩文件中的起始位置为接续前一分段之后。
例如,索引表的大小为4096字节,第一分段压缩后为30KB, 则第二分段在压缩文件中的起始位置为4096B+30KB,第二分段压缩后为20KB,则第三分段在压缩文件中的起始位置为4096B+30KB+20KB,以此类推。
请参阅图3所示,本发明数据解压缩的处理方法应用于文件系统驱动层,其包括以下步骤:
步骤301:接收用户请求指令;
步骤302:根据用户请求指令,计算获取数据的分段号,到索引表中读取起始位置;
步骤303:根据获取数据的起始位置依序读取各分段的数据并解压缩;
其中,若用户请求的数据小于64KB,则根据获取数据的起始位置读取所在分段的全部数据并解压缩。若用户请求的数据大于64KB,则获取数据的分段号至少为两个,根据第一分段获取数据的起始位置读取第一分段的数据并解压缩,然后,再根据下一分段获取数据的起始位置读取下一分段的数据并解压缩,直至获取数据中的所有分段均解压缩。于本实施例中,解压缩的算法为LZ77算法,解压缩后的数据按先进先出原则自动存放在缓存内。
步骤304:将用户请求的数据返回给上层。
本发明在压缩过程中,根据压缩前文件大小自动执行分段压缩,不需手为干预;而在解压缩过程中,根据用户请求分段解压缩,不需要解压缩整个文件,解压缩速度快。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据压缩的处理方法,应用于文件系统驱动层,其特征在于包括以下步骤:
获取压缩前文件大小;
根据压缩前文件大小将所述压缩前文件分成n段,计算索引表大小,并于压缩文件的头位置处设置索引表,所述索引表具有若干个记录项;
依序压缩每一分段并将压缩后的数据写入压缩文件中,并将每一分段在压缩文件中的起始位置记录至记录项中,其中,第一分段在压缩文件中的起始位置为接续索引表之后,其余各分段在压缩文件中的起始位置为接续前一分段之后。
2.根据权利要求1所述的数据压缩的处理方法,其特征在于:所述数据压缩的处理方法应用于WinCE嵌入式系统中。
3.根据权利要求1所述的数据压缩的处理方法,其特征在于:压缩前每一分段的数据量为64KB。
4.根据权利要求1所述的数据压缩的处理方法,其特征在于:所述记录项还包括压缩前文件大小、索引表大小。
5.根据权利要求1所述的数据压缩的处理方法,其特征在于:一个记录项包括4个字节,索引表的大小为4096字节的整数倍。
6.一种数据解压缩的处理方法,应用于文件系统驱动层,其特征在于包括以下步骤:
接收用户请求指令;
根据用户请求指令,计算获取数据的分段号,到索引表中读取起始位置;
根据获取数据的起始位置依序读取各分段的数据并解压缩;
将用户请求的数据返回给上层。
7.根据权利要求6所述的数据解压缩的处理方法,其特征在于:解压缩的算法为LZ77算法。
8.根据权利要求6所述的数据解压缩的处理方法,其特征在于:若用户请求的数据小于64KB,则根据获取数据的起始位置读取所在分段的全部数据并解压缩。
9.根据权利要求6所述的数据解压缩的处理方法,其特征在于:若用户请求的数据大于64KB,则获取数据的分段号至少为两个,根据第一分段获取数据的起始位置读取第一分段的数据并解压缩,然后,再根据下一分段获取数据的起始位置读取下一分段的数据并解压缩,直至获取数据中的所有分段均解压缩。
10.根据权利要求6所述的数据解压缩的处理方法,其特征在于:解压缩后的数据按先进先出原则自动存放在缓存内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110174721 CN102841907A (zh) | 2011-06-24 | 2011-06-24 | 数据压缩和解压缩的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110174721 CN102841907A (zh) | 2011-06-24 | 2011-06-24 | 数据压缩和解压缩的处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102841907A true CN102841907A (zh) | 2012-12-26 |
Family
ID=47369280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110174721 Pending CN102841907A (zh) | 2011-06-24 | 2011-06-24 | 数据压缩和解压缩的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102841907A (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103078647A (zh) * | 2013-01-15 | 2013-05-01 | 中国科学院计算技术研究所 | 一种lz77压缩算法的硬件解码实现系统及方法 |
CN105100877A (zh) * | 2015-07-27 | 2015-11-25 | 四川长虹电器股份有限公司 | 数字电视设备接收大数量电子节目指南信息的实现方法 |
CN106559468A (zh) * | 2015-09-30 | 2017-04-05 | 北京奇虎科技有限公司 | 一种访问数据的方法 |
CN106559465A (zh) * | 2015-09-30 | 2017-04-05 | 北京奇虎科技有限公司 | 省流数据的确定方法及装置 |
CN106559466A (zh) * | 2015-09-30 | 2017-04-05 | 北京奇虎科技有限公司 | 省流数据的确定方法及装置 |
CN106664100A (zh) * | 2014-09-24 | 2017-05-10 | 英特尔公司 | 用于进行有效的基于lz77的数据解压缩的技术 |
WO2017092684A1 (zh) * | 2015-12-04 | 2017-06-08 | 四川效率源信息安全技术股份有限公司 | 基于嵌入式安防设备的数据解析及提取方法 |
CN106936439A (zh) * | 2016-09-20 | 2017-07-07 | 南开大学 | 一种通用的基于分块排序思想的压缩预处理方法及应用 |
CN107273761A (zh) * | 2017-06-15 | 2017-10-20 | 深圳天珑无线科技有限公司 | 数据压缩方法与装置、解压缩方法与装置 |
CN107395209A (zh) * | 2017-07-03 | 2017-11-24 | 北京京东尚科信息技术有限公司 | 数据压缩方法、数据解压缩方法及其设备 |
CN107436848A (zh) * | 2017-08-03 | 2017-12-05 | 郑州云海信息技术有限公司 | 一种实现用户数据和压缩数据间转换的方法及装置 |
CN107633088A (zh) * | 2017-09-29 | 2018-01-26 | 深圳市金证科技股份有限公司 | 一种文件管理方法及装置 |
CN107967157A (zh) * | 2017-08-17 | 2018-04-27 | 青岛海信移动通信技术股份有限公司 | 一种生成ota中间包过程中的数据处理方法及装置 |
CN109460667A (zh) * | 2018-11-05 | 2019-03-12 | 国家电网有限公司 | 招投标过程中的文件处理方法、系统及终端设备 |
CN110401723A (zh) * | 2019-08-16 | 2019-11-01 | 北京浪潮数据技术有限公司 | Ova文件上传服务器的方法、系统、设备及存储介质 |
CN110543455A (zh) * | 2019-09-04 | 2019-12-06 | 中国工商银行股份有限公司 | 数据处理方法、装置、系统及介质 |
CN111414339A (zh) * | 2020-03-13 | 2020-07-14 | 浙江大华技术股份有限公司 | 一种文件的处理方法、系统、装置、设备及介质 |
CN112988673A (zh) * | 2021-02-22 | 2021-06-18 | 山东英信计算机技术有限公司 | 一种处理解压缩过程中数据溢出的方法和设备 |
CN113849201A (zh) * | 2020-06-28 | 2021-12-28 | 安徽华米信息科技有限公司 | 可穿戴设备的文件升级方法、装置及可穿戴设备 |
-
2011
- 2011-06-24 CN CN 201110174721 patent/CN102841907A/zh active Pending
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103078647A (zh) * | 2013-01-15 | 2013-05-01 | 中国科学院计算技术研究所 | 一种lz77压缩算法的硬件解码实现系统及方法 |
CN106664100A (zh) * | 2014-09-24 | 2017-05-10 | 英特尔公司 | 用于进行有效的基于lz77的数据解压缩的技术 |
CN106664100B (zh) * | 2014-09-24 | 2020-10-09 | 英特尔公司 | 用于进行有效的基于lz77的数据解压缩的技术 |
CN105100877B (zh) * | 2015-07-27 | 2019-03-22 | 四川长虹电器股份有限公司 | 数字电视设备接收大数量电子节目指南信息的实现方法 |
CN105100877A (zh) * | 2015-07-27 | 2015-11-25 | 四川长虹电器股份有限公司 | 数字电视设备接收大数量电子节目指南信息的实现方法 |
CN106559468A (zh) * | 2015-09-30 | 2017-04-05 | 北京奇虎科技有限公司 | 一种访问数据的方法 |
CN106559465A (zh) * | 2015-09-30 | 2017-04-05 | 北京奇虎科技有限公司 | 省流数据的确定方法及装置 |
CN106559466A (zh) * | 2015-09-30 | 2017-04-05 | 北京奇虎科技有限公司 | 省流数据的确定方法及装置 |
WO2017092684A1 (zh) * | 2015-12-04 | 2017-06-08 | 四川效率源信息安全技术股份有限公司 | 基于嵌入式安防设备的数据解析及提取方法 |
US10409491B2 (en) | 2015-12-04 | 2019-09-10 | Xly Salvationdata Technology Inc. | Method of data analysis and extraction for embedded security devices |
CN106936439A (zh) * | 2016-09-20 | 2017-07-07 | 南开大学 | 一种通用的基于分块排序思想的压缩预处理方法及应用 |
CN107273761A (zh) * | 2017-06-15 | 2017-10-20 | 深圳天珑无线科技有限公司 | 数据压缩方法与装置、解压缩方法与装置 |
CN107395209A (zh) * | 2017-07-03 | 2017-11-24 | 北京京东尚科信息技术有限公司 | 数据压缩方法、数据解压缩方法及其设备 |
CN107395209B (zh) * | 2017-07-03 | 2020-11-24 | 北京京东尚科信息技术有限公司 | 数据压缩方法、数据解压缩方法及其设备 |
CN107436848A (zh) * | 2017-08-03 | 2017-12-05 | 郑州云海信息技术有限公司 | 一种实现用户数据和压缩数据间转换的方法及装置 |
CN107436848B (zh) * | 2017-08-03 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种实现用户数据和压缩数据间转换的方法及装置 |
CN107967157A (zh) * | 2017-08-17 | 2018-04-27 | 青岛海信移动通信技术股份有限公司 | 一种生成ota中间包过程中的数据处理方法及装置 |
CN107633088B (zh) * | 2017-09-29 | 2020-04-24 | 深圳市金证科技股份有限公司 | 一种文件管理方法及装置 |
CN107633088A (zh) * | 2017-09-29 | 2018-01-26 | 深圳市金证科技股份有限公司 | 一种文件管理方法及装置 |
CN109460667A (zh) * | 2018-11-05 | 2019-03-12 | 国家电网有限公司 | 招投标过程中的文件处理方法、系统及终端设备 |
CN110401723A (zh) * | 2019-08-16 | 2019-11-01 | 北京浪潮数据技术有限公司 | Ova文件上传服务器的方法、系统、设备及存储介质 |
CN110543455B (zh) * | 2019-09-04 | 2022-04-22 | 中国工商银行股份有限公司 | 数据处理方法、装置、系统及介质 |
CN110543455A (zh) * | 2019-09-04 | 2019-12-06 | 中国工商银行股份有限公司 | 数据处理方法、装置、系统及介质 |
CN111414339A (zh) * | 2020-03-13 | 2020-07-14 | 浙江大华技术股份有限公司 | 一种文件的处理方法、系统、装置、设备及介质 |
CN111414339B (zh) * | 2020-03-13 | 2023-04-25 | 浙江大华技术股份有限公司 | 一种文件的处理方法、系统、装置、设备及介质 |
CN113849201A (zh) * | 2020-06-28 | 2021-12-28 | 安徽华米信息科技有限公司 | 可穿戴设备的文件升级方法、装置及可穿戴设备 |
CN112988673A (zh) * | 2021-02-22 | 2021-06-18 | 山东英信计算机技术有限公司 | 一种处理解压缩过程中数据溢出的方法和设备 |
CN112988673B (zh) * | 2021-02-22 | 2023-02-28 | 山东英信计算机技术有限公司 | 一种处理解压缩过程中数据溢出的方法和设备 |
US11809807B1 (en) | 2021-02-22 | 2023-11-07 | Shandong Yingxin Computer Technologies Co., Ltd. | Method and device for processing data overflow in decompression process |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102841907A (zh) | 数据压缩和解压缩的处理方法 | |
US9122692B1 (en) | Systems and methods for reducing file-system fragmentation when restoring block-level backups utilizing an identification module, an optimization module, and a restore module | |
US9996557B2 (en) | Database storage system based on optical disk and method using the system | |
JP5623239B2 (ja) | 書込みレコードの重複を排除する記憶装置、及びその書込み方法 | |
CN104484427B (zh) | 一种录像文件存储装置及方法 | |
KR20150125012A (ko) | 저장된 데이터 유닛들의 동작 관리 | |
TW201539187A (zh) | 快閃記憶體之壓縮、讀取方法及應用其方法的裝置 | |
CN103080896A (zh) | 对访问重新排序以减少对磁带介质的总查找时间 | |
US20150234598A1 (en) | Memory device and host device | |
CN104504116B (zh) | 一种实时数据库的存储方法 | |
CN108763531B (zh) | 一种mdvr文件存储系统及其运行方法 | |
US20160034201A1 (en) | Managing de-duplication using estimated benefits | |
CN107729558A (zh) | 文件系统碎片整理的方法、系统、装置及计算机存储介质 | |
CN104516677B (zh) | 磁盘数据读写方法及磁盘存储装置 | |
US8903804B2 (en) | Data existence judging device and data existence judging method | |
JP6228374B2 (ja) | 動的に適応されるキャッシュ格納のためのシステム | |
US20170357680A1 (en) | System and method for maintaining a multi-level data structure | |
US20180052640A1 (en) | File management in a file system | |
CN106033320A (zh) | 高性能廉价磁盘冗余阵列raid机制的处理方法及装置 | |
CN103678158A (zh) | 一种数据布局优化方法及系统 | |
JP7295422B2 (ja) | 情報処理装置および情報処理プログラム | |
CN109597578A (zh) | 一种数据存储方法、系统、设备及计算机可读存储介质 | |
US10248677B1 (en) | Scaling an SSD index on a deduplicated storage system | |
CN103259998A (zh) | 一种航测图像数据的记录系统及方法 | |
CN104102552A (zh) | 一种消息处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121226 |
|
WD01 | Invention patent application deemed withdrawn after publication |