CN102360381B - 一种对嵌入式程序进行无损压制的装置和方法 - Google Patents
一种对嵌入式程序进行无损压制的装置和方法 Download PDFInfo
- Publication number
- CN102360381B CN102360381B CN201110308759.2A CN201110308759A CN102360381B CN 102360381 B CN102360381 B CN 102360381B CN 201110308759 A CN201110308759 A CN 201110308759A CN 102360381 B CN102360381 B CN 102360381B
- Authority
- CN
- China
- Prior art keywords
- file
- embedded
- compacting
- path
- data
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种对嵌入式程序进行无损压制的装置和方法,是应用于嵌入式系统的一种文件组织方式。所述装置包括包括文件检索单元,用于从文件根目录对所包含文件进行逐级查找,对查找到符合要求的文件,记录其路径、名称及大小等信息,通过检索亦可获取到所有文件的总数量信息;文件压制单元;文件校验单元;文件解压和还原单元,用于将压制生成后的文件下载或烧录到嵌入式文件系统上,在嵌入式系统内对该压制文件进行解压和还原操作。所述方法包括对嵌入式程序进行检索、压制、校验和解压还原。本发明具备提高嵌入式文件装载速度,统一程序访问API,确保数据正确访问,提供多种加载方式。
Description
技术领域
本发明涉及计算机技术领域,更具体地说,是应用于嵌入式系统的一种文件组织方式,为对嵌入式程序进行无损压制的装置和方法。
背景技术
现代电子技术的高速发展,使得嵌入式产品随处可见,而为了缩短嵌入式系统和PC间的处理能力的差异,为嵌入式系统专门开发的各种技术应运而生,而嵌入式文件系统作为嵌入式存储部分的接口,尤其重要。而现在嵌入式系统存在以下问题:
1、嵌入式文件系统有FAT,YAFFS,JFFS,也有直接对存储块进行读写的直接操作方法。由于各种文件组织方式的差异,使得应用程序中调用存储在不同的格式的文件系统的文件,采用的API接口并不一致,错误机制也不尽相同,所以在软件可读性和维护性上来说非常不便。
2、嵌入式文件系统的数据完整性保证随着存储硬件的不同而存在差异,为了加快访问速度没有像PC做完整的校验,所以在可能存在访问数据错误风险,并不能保证文件存储读取的正确性。
3、嵌入式文件系统,由于采用存储电路,不同的组织方式存在不同的加载速度,特别在多文件寻址的时候,时间差异非常大,而如果是一个文件的形式连续存储的话,读写的速度差异则相对较小。
发明内容
有鉴于此,本发明公开一种对嵌入式程序进行无损压制的装置和方法,可以方便、快捷、准确的实现嵌入式程序的无损压制。
所述对嵌入式程序进行无损压制的装置包括:
文件检索单元,用于从文件根目录对所包含文件进行逐级查找,对查找到符合要求的文件,记录其路径、名称及大小等信息,通过检索亦可获取到所有文件的总数量信息;
文件压制单元,用于对文件进行打包并压制。
文件校验单元,用于将所有要压制的数据进行CRC校验计算,然后将计算的校验值追加到压制数据后,以便解压时对所压制的数据进行完整和正确性的判断。
文件解压和还原单元,用于将压制生成后的文件下载或烧录到嵌入式文件系统上,在嵌入式系统内对该压制文件进行解压和还原操作。
所述嵌入式程序进行无损压制的装置中所述的文件路径可为PC系统上的文件路径或存储硬件上的文件路径。
本发明还公开一种对嵌入式程序进行无损压制的方法,所述方法包括如下步骤:
A、访问文件根目录并逐级查找各嵌入式文件进行逐级查找,同时记录文件的路径、大小,并在最后记录文件的总数量;
B、根据检索到的文件,在文件头部信息中记录所需信息,选择加载类型进行数据加载,读取文件内容;
C、用于将所有要压制的数据进行CRC校验计算,然后将计算的校验值追加到压制数据后,以便解压时对所压制的数据进行完整和正确性的判断;
D、将压制生成后的文件下载或烧录到嵌入式文件系统上,在嵌入式系统内对该压制文件进行解压和还原操作。
进一步的步骤A中所述查找可以查找PC系统上文件路径或存储硬件上文进件路径。
进一步的步骤B、C中所述加载为静态加载或动态加载。
有益效果
提高嵌入式文件装载速度,统一程序访问API,确保数据正确访问,提供多种加载方式。
附图说明
图1为对嵌入式程序进行无损压制的装置原理框图;
图2为对嵌入式程序进行无损压制的装置及方法流程图;
图3为对嵌入式程序进行无损压制的装置及方法所查找、记录文件信息结构图。
具体实施方式
本发明是提出一种多文件结构的组织形式。以固定的形式在PC机上对文件进行检索,校验并压制。这种实现依赖于本方法能够将一个数据块头和每个数据块关联起来。每个文件都由一个数据块头与之相对应,数据块头中保存了文件的信息如:程序类型,数据结构,文件数量,压缩标志,静态尺寸等,用于错误检测和坏块处理。本发明充分考虑到了各种嵌入式文件系统的特点,在PC上将嵌入式程序所需要的所有数据资源文件全部压制打包
具体实施例:用C语言进行描述其步骤如下:使用自定义查找函数根据入口函数提供的根目录向下进行一级一级查找,同时记录文件的路径、大小,并在最后记录文件的总数量。当查找结束后,进行文件压制。使用自定义的压制函数,在内部实现压制文件的创建,文件头部信息的记录,并在查找函数提供的各个文件路径下记录相应的文件内容,该函数可以同时实现静态加载和动态加载功能,用户可依据其嵌入式设备的内存大小及加载时间要求来选择加载类型。在该压制函数中,还分级做了CRC校验,确保文件头信息写入、加载、记录文件内容时准确无误后再压制到指定一个文件中。再将该文件下载或烧录到嵌入式文件系统上,并在嵌入式程序内根据方法指令做解压和还原。
具体用C语言可做如下定义描述
Claims (4)
1.一种对嵌入式程序进行无损压制的装置,其特征在于,所述装置包括:
文件检索单元,用于从文件根目录对所包含文件进行逐级查找,对查找到符合要求的文件,记录其路径、名称及大小信息,通过检索亦可获取到所有文件的总数量信息;
文件压制单元,用于对文件进行打包并压制,其中,在查找函数提供的各个文件路径下记录相应的文件内容,所述查找函数可同时实现静态加载和动态加载;
文件校验单元,用于将所有要压制的数据进行CRC校验计算,然后将计算的校验值追加到压制数据后,以便解压时对所压制的数据进行完整和正确性判断;
文件解压和还原单元,用于将压制生成后的文件下载或烧录到嵌入式文件系统上,在嵌入式系统内对该压制文件进行解压和还原操作。
2.如权利要求1所述的嵌入式程序进行无损压制的装置,其特征在于,所述的文件路径可为PC系统上的文件路径或存储在硬件上的文件路径。
3.一种对嵌入式程序进行无损压制的方法,其特征在于,所述方法包括如下步骤:
A、访问文件根目录并逐级查找各嵌入式文件进行逐级查找,同时记录文件的路径、大小,并在最后记录文件的总数量;
B、根据检索到的文件,在文件头部信息中记录所需信息,选择加载类型进行数据加载,读取文件内容,其中,在查找函数提供的各个文件路径下记录相应的文件内容;
C、用于将所有要压制的数据进行CRC校验计算,然后将计算的校验值追加到压制数据后,以便解压时对所压制的数据进行完整和正确性的判断;
D、将压制生成后的文件下载或烧录到嵌入式文件系统上,在嵌入式系统内对该压制文件进行解压和还原操作;
其中,所述步骤B中所述加载为静态加载或动态加载。
4.根据权利要求3所述对嵌入式程序进行无损压制的方法,其特征在于,所述步骤A中所述查找可以查找PC系统上文件路径或存储硬件上文件路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110308759.2A CN102360381B (zh) | 2011-09-29 | 2011-09-29 | 一种对嵌入式程序进行无损压制的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110308759.2A CN102360381B (zh) | 2011-09-29 | 2011-09-29 | 一种对嵌入式程序进行无损压制的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102360381A CN102360381A (zh) | 2012-02-22 |
CN102360381B true CN102360381B (zh) | 2014-03-12 |
Family
ID=45585710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110308759.2A Active CN102360381B (zh) | 2011-09-29 | 2011-09-29 | 一种对嵌入式程序进行无损压制的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102360381B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885925B (zh) * | 2013-03-28 | 2017-04-26 | 中国证券监督管理委员会信息中心 | 一种xbrl实例文档的封装方法 |
US9286313B1 (en) * | 2014-12-27 | 2016-03-15 | Ascava, Inc. | Efficient lossless reduction of data by deriving data from prime data elements resident in a content-associative sieve |
CN112579546B (zh) * | 2020-12-17 | 2023-02-03 | 北京尖晶尖科技有限公司 | 文件压缩方法、系统、存储介质及终端 |
CN113139716A (zh) * | 2021-03-31 | 2021-07-20 | 成都飞机工业(集团)有限责任公司 | 一种数控加工程序包远程自动化防出错校验的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420324A (zh) * | 2008-10-10 | 2009-04-29 | 中兴通讯股份有限公司 | 一种网管系统及其代理软件的版本更新方法 |
CN102087608A (zh) * | 2009-12-04 | 2011-06-08 | 康佳集团股份有限公司 | 一种嵌入式程序压缩方法,解压缩方法和嵌入式系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9007603B2 (en) * | 2006-03-31 | 2015-04-14 | Konica Minolta Laboratory U.S.A., Inc. | Print management method and apparatus with destination panel |
US8111704B2 (en) * | 2009-06-26 | 2012-02-07 | Intel Corporation | Multiple compression techniques for packetized information |
-
2011
- 2011-09-29 CN CN201110308759.2A patent/CN102360381B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420324A (zh) * | 2008-10-10 | 2009-04-29 | 中兴通讯股份有限公司 | 一种网管系统及其代理软件的版本更新方法 |
CN102087608A (zh) * | 2009-12-04 | 2011-06-08 | 康佳集团股份有限公司 | 一种嵌入式程序压缩方法,解压缩方法和嵌入式系统 |
Non-Patent Citations (1)
Title |
---|
JP特开2007-272900A 2007.10.18 |
Also Published As
Publication number | Publication date |
---|---|
CN102360381A (zh) | 2012-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7937371B2 (en) | Ordering compression and deduplication of data | |
Lee et al. | Smart layers and dumb result: IO characterization of an android-based smartphone | |
CN104281533B (zh) | 一种存储数据的方法及装置 | |
US20130124796A1 (en) | Storage method and apparatus which are based on data content identification | |
US10191838B2 (en) | Method and device for checking influence of deleting cache file, and mobile terminal | |
US9933962B1 (en) | Method for achieving sequential I/O performance from a random workload | |
US20130067237A1 (en) | Providing random access to archives with block maps | |
CN102360381B (zh) | 一种对嵌入式程序进行无损压制的装置和方法 | |
KR20150125012A (ko) | 저장된 데이터 유닛들의 동작 관리 | |
CN113553010B (zh) | 一种光盘文件校验方法、光盘刻录方法及计算设备 | |
KR20150125010A (ko) | 저장된 데이터 유닛들의 동작 관리 | |
CN110888851B (zh) | 压缩文件创建和解压的方法及装置、以及电子和存储设备 | |
CN107391544A (zh) | 列式存储数据的处理方法、装置、设备及计算机储存介质 | |
CN106681659A (zh) | 数据压缩的方法及装置 | |
CN107688456B (zh) | 文件生成方法、设备以及计算机可读存储介质 | |
KR20150126667A (ko) | 저장된 데이터 유닛들의 동작 관리 | |
CN115576722A (zh) | 磁盘io查询方法和装置 | |
CN109522277A (zh) | 一种多格式文件阅读的方法和装置 | |
CN108776578B (zh) | 一种快速合并对象的方法和系统 | |
US11048628B2 (en) | Tape data access with random access features | |
CN107463423A (zh) | 依赖包工具的验证方法、存储介质、电子设备及系统 | |
CN112131193B (zh) | 一种应用程序压缩的方法及设备 | |
US11416158B1 (en) | Selective data unarchiving | |
US10380070B2 (en) | Reading and writing a header and record on tape | |
CN116580748B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |