CN103136293A - 图片资源包的格式设计和读取方法 - Google Patents
图片资源包的格式设计和读取方法 Download PDFInfo
- Publication number
- CN103136293A CN103136293A CN2011103995179A CN201110399517A CN103136293A CN 103136293 A CN103136293 A CN 103136293A CN 2011103995179 A CN2011103995179 A CN 2011103995179A CN 201110399517 A CN201110399517 A CN 201110399517A CN 103136293 A CN103136293 A CN 103136293A
- Authority
- CN
- China
- Prior art keywords
- picture
- information
- picture file
- resource bag
- picture resource
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种图片资源包的格式设计和读取方法,所述图片资源包的格式设计方法为:将各个图片文件的信息按图片文件名信息\0、图片文件大小信息、图片文件数据信息的顺序进行封装成所述图片资源包;所述图片资源包的读取方法为:建立一张索引表;再获取图片资源包中各个图片文件的信息以及对应的各图片文件数据信息在图片资源包中的起始位置,并保存到索引表中;其次,当读取图片资源包中的某个图片文件的信息时,根据该图片文件的信息中的图片文件名信息查找所述索引表,并根据索引表中的该图片文件数据信息的起始位置,查找该图片文件数据信息在图片资源包中对应的起始位置。本发明读取图片文件资源速度快,大大减少了设备内存的使用量。
Description
【技术领域】
本发明涉及嵌入式技术领域,尤其涉及一种图片资源包的格式设计和读取方法。
【背景技术】
图片文件获取和读取,是KTV应用程序的一个重要的功能。KTV应用程序需要从不同介质的存储体中获取到歌星头像等图片资源作为KTV应用程序本地的资源。目前的图片资源经常被打包成包的格式,方便KTV程序获取。
目前资源包读取方案中主要有两种:1、解压图片包放置到内存中,当访问某图片资源时就到内存中获取资源。2、解压图片包放置外存中,当访问某图片资源时就到外存中获取资源。其中把资源包解压到外存中,会对磁盘进行多次的读写,效率比较差,并且占用了大量的外存空间;把资源包解压到内存中,会占用大量的内存来存储图片资源文件,这样浪费设备的内存。
现有技术中提供了数据资源管理的方法,如公开日为2008年5月28日,公开号为CN101187926A的中国专利“一种多类型资源的管理方法”,其特征点是:首先,从资源包的包头区读取资源索引表,确定所需资源的数据索引表的存储位置;其次,读取所述数据索引表,确定所需数据资源的存储位置;最后,对所需数据资源进行存取操作。通过对数据进行分类、编号、索引并装载入资源包中,来加强对数据资源的管理,提高存取效率,并有效降低数据修改或升级过程中发生遗漏的可能。该发明资源包的格式比较复杂;其数据索引表是在存储资源数据时进行分类、编号、索引时生成的写入包内的,由于数据索引表是存于包内,这样资源包比较大,占用的资源较大,读取速度就比较慢;并且在目标机器上使用的时候读需取数据索引表,这样数据索引表是静态的,并不灵活。所以该发明的多类型资源的管理方法对于KTV中的图片文件资源的获取和读取并不实用。
【发明内容】
本发明要解决的技术问题,在于提供一种图片资源包的格式设计和读取方法,实现了读取图片文件资源速度快,减少了设备内存的使用量。
本发明是这样实现的:一种图片资源包的格式设计和读取方法,
所述图片资源包的格式设计方法包括如下步骤:
步骤10、所述图片资源包包含复数个图片文件的信息,所述图片文件的信息包括图片文件名信息、图片文件大小信息以及图片文件数据信息;
步骤11、将各个图片文件的信息按图片文件名信息\0、图片文件大小信息、图片文件数据信息,该三个信息的任意顺序进行组合封装成所述图片资源包;所述\0是图片文件名信息的结束符;
所述图片资源包的读取方法包括如下步骤:
步骤20、在设备内存建立一张图片文件名信息对应图片文件的信息的索引表;
步骤21、获取所述图片资源包中各个图片文件的信息中的图片文件名信息、图片文件大小信息以及对应的各图片文件数据信息在图片资源包中的起始位置,并保存到所述索引表中;
步骤22、当读取所述图片资源包中的某个图片文件的信息时,根据该图片文件的信息中的图片文件名信息查找所述索引表,当未找到所要查找的该图片文件的信息时,提示未找到;当找到该图片文件的信息时,则根据索引表中的该图片文件数据信息的起始位置,查找该图片文件数据信息在所述图片资源包中对应的起始位置;并根据图片资源包中对应的起始位置直接读取该图片文件的信息。
进一步地,所述索引表包括图片文件名信息字段、图片文件大小信息字段以及图片文件数据信息的起始位置字段。
进一步地,所述图片文件大小信息在所述图片资源包中占用4个字节空间。
本发明具有如下优点:本发明在设备内存中只需要保存索引表,该索引表只保存图片文件名信息、图片文件大小信息以及图片文件数据信息的起始位置,并没有将图片文件的真实的数据信息保存在内存中,其图片资源包中的数据不用解压到设备内存或者外存中就可直接读取出某个文件资源,大大减少了内存的使用量。本发明对图片资源包的读取的过程中,只是简单的在内存中生成索引表,并且在读取过程中,只读取图片资源包中每个文件中的图片文件名信息和图片文件大小信息,并记录下图片文件数据信息在图片资源包中的起始位置。而传统的解包过程会读取大量数据和写入大量的数据,所以和传统的解包过程相比,本发明资源包的封装格式简单,资源包的制作的速度快,并且索引表不保存在包内,因此本发明的资源包比较小,读取速度快,由于索引表是在目标机器上运行时候预遍历包内的图片文件名和对应的图片文件大小的时候在内存中生成的,其索引表是动态生成的,所以本发明也可根据不同的应用环境,在运行时对索引进行分类管理,有较强的灵活性。
【附图说明】
图1为本发明图片资源包的格式设计的方法流程示意图。
图2为本发明图片资源包的读取方法流程示意图。
【具体实施方式】
请参照图1和图2所示,本发明的图片资源包的格式设计和读取方法,其中:
所述图片资源包的格式设计方法包括如下步骤:
步骤10、所述图片资源包包含复数个图片文件的信息,所述图片文件的信息包括图片文件名信息、图片文件大小信息以及图片文件数据信息等等;
步骤11、将各个图片文件的信息按图片文件名信息\0、图片文件大小信息、图片文件数据信息,该三个信息的任意顺序进行组合封装成所述图片资源包;如表1所示是本实施例中较佳的一种图片资源包的格式,所述\0是图片文件名信息的结束符;所述图片文件大小信息在所述图片资源包中占用4个字节空间;
表1
图片1文件名\0 | 图片1文件大小 | 图片1文件数据 | 图片2文件名\0 | 图片2文件大小 |
图片2文件数据 | ...... | 图片n文件名\0 | 图片n文件大小 | 图片n文件数据 |
所述图片资源包的读取方法包括如下步骤:
步骤20、在设备内存建立一张图片文件名信息对应图片文件的信息的索引表;所述索引表包括图片文件名信息字段、图片文件大小信息字段以及图片文件数据信息的起始位置字段;
步骤21、获取所述图片资源包中各个图片文件的信息中的图片文件名信息、图片文件大小信息以及对应的各图片文件数据信息在图片资源包中的起始位置,并保存到所述索引表中;
步骤22、当读取所述图片资源包中的某个图片文件的信息时,根据该图片文件的信息中的图片文件名信息查找所述索引表,当未找到所要查找的该图片文件的信息时,提示未找到;当找到该图片文件的信息时,则根据索引表中的该图片文件数据信息的起始位置,查找该图片文件数据信息在所述图片资源包中对应的起始位置;并根据图片资源包中对应的起始位置直接读取该图片文件的信息。
总之,本发明在设备内存中只需要保存索引表,该索引表只保存图片文件名信息、图片文件大小信息以及图片文件数据信息的起始位置,并没有将图片文件的真实的数据信息保存在内存中,其图片资源包中的数据不用解压到设备内存或者外存中就可直接读取出某个文件资源,大大减少了内存的使用量。本发明对图片资源包的读取的过程中,只是简单的在内存中生成索引表,并且在读取过程中,只读取图片资源包中每个文件中的图片文件名信息和图片文件大小信息,并记录下图片文件数据信息在图片资源包中的起始位置。而传统的解包过程会读取大量数据和写入大量的数据,所以和传统的解包过程相比,本发明的读取速度快。
值得一提的是:本发明的图片资源包的封装格式并不局限于表1一种,即按图片文件名信息\0、图片文件大小信息、图片文件数据信息的顺序进行封装,还可以采用三个信息的其它顺序组合进行封装,比如,将各个图片文件的信息按图片文件大小信息、图片文件名信息\0、图片文件数据信息的顺序进行封装成所述图片资源包等等;要注意的是,图片资源包中,各个图片文件的信息的封装顺序保持一致。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (3)
1.一种图片资源包的格式设计和读取方法,其特征在于:
所述图片资源包的格式设计方法包括如下步骤:
步骤10、所述图片资源包包含复数个图片文件的信息,所述图片文件的信息包括图片文件名信息、图片文件大小信息以及图片文件数据信息;
步骤11、将各个图片文件的信息按图片文件名信息\0、图片文件大小信息、图片文件数据信息,该三个信息的任意顺序进行组合封装成所述图片资源包;所述\0是图片文件名信息的结束符;
所述图片资源包的读取方法包括如下步骤:
步骤20、在设备内存建立一张图片文件名信息对应图片文件的信息的索引表;
步骤21、获取所述图片资源包中各个图片文件的信息中的图片文件名信息、图片文件大小信息以及对应的各图片文件数据信息在图片资源包中的起始位置,并保存到所述索引表中;
步骤22、当读取所述图片资源包中的某个图片文件的信息时,根据该图片文件的信息中的图片文件名信息查找所述索引表,当未找到所要查找的该图片文件的信息时,提示未找到;当找到该图片文件的信息时,则根据索引表中的该图片文件数据信息的起始位置,查找该图片文件数据信息在所述图片资源包中对应的起始位置;并根据图片资源包中对应的起始位置直接读取该图片文件的信息。
2.根据权利要求1所述的图片资源包的格式设计和读取方法,其特征在于:所述索引表包括图片文件名信息字段、图片文件大小信息字段以及图片文件数据信息的起始位置字段。
3.根据权利要求1所述的图片资源包的格式设计和读取方法,其特征在于:所述图片文件大小信息在所述图片资源包中占用4个字节空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110399517.9A CN103136293B (zh) | 2011-12-02 | 2011-12-02 | 图片资源包的格式设计和读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110399517.9A CN103136293B (zh) | 2011-12-02 | 2011-12-02 | 图片资源包的格式设计和读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103136293A true CN103136293A (zh) | 2013-06-05 |
CN103136293B CN103136293B (zh) | 2016-01-13 |
Family
ID=48496125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110399517.9A Active CN103136293B (zh) | 2011-12-02 | 2011-12-02 | 图片资源包的格式设计和读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103136293B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132978A (zh) * | 2017-12-13 | 2018-06-08 | 苏州长风航空电子有限公司 | 应用于仪表台嵌入式***中的图片资源包生成方法 |
CN110765290A (zh) * | 2019-10-25 | 2020-02-07 | 湖南省公安厅 | 图片存储方法、读取方法、装置及存取*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6023705A (en) * | 1995-08-11 | 2000-02-08 | Wachovia Corporation | Multiple CD index and loading system and method |
CN101187901A (zh) * | 2007-12-20 | 2008-05-28 | 康佳集团股份有限公司 | 一种实现文件访问的高速缓存***和方法 |
CN101221533A (zh) * | 2007-01-10 | 2008-07-16 | 中兴通讯股份有限公司 | 资源存储方法及装置 |
CN101639848A (zh) * | 2009-06-01 | 2010-02-03 | 北京四维图新科技股份有限公司 | 一种空间数据引擎及应用其管理空间数据的方法 |
CN101763436A (zh) * | 2010-02-08 | 2010-06-30 | 深圳市茁壮网络股份有限公司 | 一种文件打包方法及工具 |
CN101901263A (zh) * | 2010-07-22 | 2010-12-01 | 华为终端有限公司 | 文件***的访问方法及装置 |
CN102073633A (zh) * | 2009-11-23 | 2011-05-25 | 腾讯科技(深圳)有限公司 | 资源文件的存储访问方法及装置 |
-
2011
- 2011-12-02 CN CN201110399517.9A patent/CN103136293B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6023705A (en) * | 1995-08-11 | 2000-02-08 | Wachovia Corporation | Multiple CD index and loading system and method |
CN101221533A (zh) * | 2007-01-10 | 2008-07-16 | 中兴通讯股份有限公司 | 资源存储方法及装置 |
CN101187901A (zh) * | 2007-12-20 | 2008-05-28 | 康佳集团股份有限公司 | 一种实现文件访问的高速缓存***和方法 |
CN101639848A (zh) * | 2009-06-01 | 2010-02-03 | 北京四维图新科技股份有限公司 | 一种空间数据引擎及应用其管理空间数据的方法 |
CN102073633A (zh) * | 2009-11-23 | 2011-05-25 | 腾讯科技(深圳)有限公司 | 资源文件的存储访问方法及装置 |
CN101763436A (zh) * | 2010-02-08 | 2010-06-30 | 深圳市茁壮网络股份有限公司 | 一种文件打包方法及工具 |
CN101901263A (zh) * | 2010-07-22 | 2010-12-01 | 华为终端有限公司 | 文件***的访问方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132978A (zh) * | 2017-12-13 | 2018-06-08 | 苏州长风航空电子有限公司 | 应用于仪表台嵌入式***中的图片资源包生成方法 |
CN110765290A (zh) * | 2019-10-25 | 2020-02-07 | 湖南省公安厅 | 图片存储方法、读取方法、装置及存取*** |
Also Published As
Publication number | Publication date |
---|---|
CN103136293B (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN101533408B (zh) | 一种海量数据的处理方法及处理装置 | |
CN102902724B (zh) | 海量栅格瓦块地图发布方法 | |
CN107045531A (zh) | 一种优化hdfs小文件存取的***及方法 | |
CN105069048A (zh) | 一种小文件存储方法、查询方法和装置 | |
CN106648467A (zh) | 一种日志生成方法及*** | |
CN107391544B (zh) | 列式存储数据的处理方法、装置、设备及计算机储存介质 | |
CN103412889A (zh) | 智能电表的数据存储和查询方法及其*** | |
CN105677904B (zh) | 基于分布式文件***的小文件存储方法及装置 | |
CN102682108A (zh) | 一种行列混合的数据库存储方法 | |
CN107817946A (zh) | 用于混合存储设备读写数据的方法以及装置 | |
CN103049224A (zh) | 将数据导入物理磁带的方法、装置和*** | |
CN102622434A (zh) | 数据存储方法、查找方法及装置 | |
KR101400506B1 (ko) | 비휘발성 메모리 제어기 및 그 제어 방법 | |
CN104090913B (zh) | 基于瘦客户机的文件操作方法及装置 | |
CN103473258A (zh) | 云存储文件*** | |
CN108009049A (zh) | Myisam存储引擎删除记录离线恢复方法、存储介质 | |
CN107423321B (zh) | 适用大批量小文件云存储的方法及其装置 | |
CN104714898B (zh) | 一种Cache的分配方法和装置 | |
CN103136293B (zh) | 图片资源包的格式设计和读取方法 | |
CN101777077B (zh) | 嵌入式设备文件***实现方法 | |
CN1963810A (zh) | 在Flash存储介质上的关于文件分配表的缓存实现方法 | |
CN102331973A (zh) | 一种内存数据存储***和内存数据的***、删除方法 | |
CN110288340B (zh) | 一种基于Java智能合约的数据集合存储方法 | |
CN101894098B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |