一种小图片的存储、读取方法和装置制造方法及图纸

技术编号:14412489 阅读:39 留言:0更新日期:2017-01-12 00:28
本发明专利技术提供一种小图片的存储、读取方法和装置,通过获取多个根目录,每个根目录生成对应的编号和配置文件,配置文件记录根目录对应的编号,在根目录中创建多个子目录,并在任一子目录中创建第一大文件,将图片信息写入第一大文件的当前写位置,并返回图片访问标识,从而可以不产生大量索引信息就可以快速定位小图片的存储位置,并且在第一大文件所在根目录发生变化的情况下,根据图片访问标识能快速确定小图片所在大文件新的位置信息,不影响图片读取效率。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是涉及一种小图片的存储、读取方法和装置
技术介绍
海量小图片的存储与读取是很多购物网站都会遇到的问题,如果将这些小图片保存为独立文件,会造成文件系统中文件数目过多而大大降低对这些图片的读取效率。为了控制文件数量,通常是将多个小图片拼成一个大文件进行存储,并为小图片建立索引信息用于快速定位。在访问时,需要先根据索引信息来获取图片在大文件内的偏移值和实际大小,然后从大文件中读取图片数据。因此,要读取图片数据,必须先访问索引信息。但是,当数据迁移时,索引信息需要重新建立,索引信息的重新建立需要扫描所有的大文件,而扫描所有的大文件会影响系统的启动速度。另外,为了提高搜索速度,需要将索引信息保存在内存中,这会占据一定的内存资源,并且如果索引信息过于庞大,则会影响内存资源的消耗和降低搜索效率。
技术实现思路
本专利技术的目的在于提供一种小图片的存储、读取方法和装置,通过将小图片拼成第一大文件进行保存但不产生大量索引信息就可以快速定位小图片的存储位置;根据图片访问标识在第一大文件的位置发生变化的情况下读取图片数据,不影响图片读取效率。第一方面,本专利技术实施例提供了一种小图片的存储方法,所述方法包括:获取多个根目录,每个所述根目录生成对应的编号和配置文件,所述配置文件记录所述根目录对应的编号;在所述根目录中创建多个子目录;在任一所述子目录中创建第一大文件,记录所述第一大文件的命名和当前写位置,其中,所述当前写位置的初始值为0;将所述图片信息写入所述第一大文件的当前写位置,并返回图片访问标识。结合第一方面,本专利技术实施例提供了第一方面第一种可能的实施方式,所述方法还包括:更新所述第一大文件的当前写位置;判断所述第一大文件的当前写位置是否处于所述第一大文件的末尾位置;如果处于所述第一大文件的末尾位置,则创建第二大文件。结合第一方面,本专利技术实施例提供了第一方面第二种可能的实施方式,所述图片信息包括文件头信息、图片数据和用于对齐而插入的空白数据,其中,所述文件头信息包括存储开始标识、文件头长度、图片数据长度、用于对齐而插入的空白数据的长度和其他信息字段。结合第一方面第二种可能的实施方式,本专利技术实施例提供了第一方面第三种可能的实施方式,所述方法还包括:根据所述第一大文件的当前写位置计算所述第一大文件的剩余容量;根据新图片的大小、所述文件头长度、用于对齐而插入的所述空白数据的长度计算保存所述图片信息所需的磁盘容量;如果所述第一大文件的剩余容量小于保存所述图片信息所需的磁盘容量,则创建第二大文件并保存所述新图片;如果所述第一大文件的剩余容量大于保存所述图片信息所需的磁盘容量,则将所述新图片保存在所述第一大文件中。结合第一方面,本专利技术实施例提供了第一方面第四种可能的实施方式,所述图片访问标识包括所述根目录编号、所述子目录、所述第一大文件的命名和图片信息偏移值。第二方面,本专利技术提供了一种小图片的读取方法,所述方法包括:获取根目录的配置文件;从所述配置文件中获取所述根目录对应的编号;根据所述根目录对应的编号从图片访问标识中确定第一大文件的全路径名,所述图片访问标识包括图片信息偏移值;根据所述第一大文件的全路径名打开所述第一大文件,并根据所述图片信息偏移值开始读取图片信息中的图片数据。结合第二方面,本专利技术实施例提供了第二方面第一种可能的实施方式,所述图片访问标识还包括根目录编号、所述子目录和所述第一大文件的命名,所述根据所述根目录对应的编号从图片访问标识中确定第一大文件的全路径名包括:根据所述根目录编号判断所述根目录编号与所述根目录对应的编号是否相同;如果相同,则根据所述根目录对应的编号确定当前的根目录;根据当前的根目录、所述子目录和所述第一大文件的命名确定所述第一大文件的全路径名。结合第二方面,本专利技术实施例提供了第二方面第二种可能的实施方式,所述根据所述图片信息偏移值开始读取图片信息中的图片数据包括:根据所述图片信息偏移值读取所述图片信息中的文件头信息;根据所述文件头信息确定所述图片数据的大小;根据所述图片数据的大小将所述图片数据全部读取。第三方面,本专利技术提供了一种小图片的存储装置,所述装置包括:根目录获取单元,用于获取多个根目录,每个所述根目录生成对应的编号和配置文件,所述配置文件记录所述根目录对应的编号;子目录创建单元,用于在所述根目录中创建多个子目录;第一创建单元,用于在任一所述子目录中创建第一大文件,,记录所述第一大文件的命名和当前写位置,其中,所述当前写位置的初始值为0;图片访问标识返回单元,用于将所述图片信息写入所述第一大文件的当前写位置,并返回图片访问标识。结合第三方面,本专利技术实施例提供了第三方面第一种可能的实施方式,所述装置还包括:更新单元,用于更新所述第一大文件的当前写位置;位置判断单元,用于判断所述第一大文件的当前写位置是否处于所述第一大文件的末尾位置;第二创建单元,用于在处于所述第一大文件的末尾位置的情况下,创建第二大文件。结合第三方面,本专利技术实施例提供了第三方面第二种可能的实施方式,所述图片信息包括文件头信息、图片数据和用于对齐而插入的空白数据,其中,所述文件头信息包括存储开始标识、文件头长度、图片数据长度、用于对齐而插入的空白数据的长度和其他信息字段。结合第三方面第二种可能的实施方式,本专利技术实施例提供了第三方面第三种可能的实施方式,所述装置还包括:剩余容量计算单元,用于根据所述第一大文件的当前写位置计算所述第一大文件的剩余容量;磁盘容量计算单元,用于根据新图片的大小、所述文件头长度、用于对齐而插入的所述空白数据的长度计算保存所述图片信息所需的磁盘容量;第三创建单元,用于在所述第一大文件的剩余容量小于保存所述图片信息所需的磁盘容量的情况下,创建第二大文件并保存所述新图片;保存单元,用于在所述第一大文件的剩余容量大于保存所述图片信息所需的磁盘容量的情况下,将所述新图片保存在所述第一大文件中。结合第三方面,本专利技术实施例提供了第三方面第四种可能的实施方式,所述图片访问标识包括所述根目录编号、所述子目录、所述第一大文件的命名和图片信息偏移值。第四方面,本专利技术提供了一种小图片的读取装置,所述装置包括:配置文件获取单元,用于获取根目录的配置文件;对应编号获取单元,用于从所述配置文件中获取所述根目录对应的编号;第一确定单元,用于根据所述根目录对应的编号从图片访问标识中确定第一大文件的全路径名,所述图片访问标识包括图片信息偏移值;第一读取单元,用于根据所述第一大文件的全路径名打开所述第一大文件,并根据所述图片信息偏移值开始读取图片信息中的图片数据。结合第四方面,本专利技术实施例提供了第四方面第一种可能的实施方式,所述图片访问标识还包括根目录编号、所述子目录和所述第一大文件的命名,所述第一确定单元包括:编号判断单元,用于根据所述根目录编号判断所述根目录编号与所述根目录对应的编号是否相同;当前根目录判断单元,用于在相同的情况下,根据所述根目录对应的编号确定当前的根目录;第二确定单元,用于根据当前的根目录、所述子目录和所述第一大文件的命名确定所述第一大文件的全路径名。结合第四方面,本专利技术实施例提供了第四方面第二种可能的实施方式,所述第一读取单元包括:文件头信息读取单元,用于根据所述图片信息偏移值读取所述本文档来自技高网...
一种小图片的存储、读取方法和装置

【技术保护点】
一种小图片的存储方法,其特征在于,所述方法包括:获取多个根目录,每个所述根目录生成对应的编号和配置文件,所述配置文件记录所述根目录对应的编号;在所述根目录中创建多个子目录;在任一所述子目录中创建第一大文件,记录所述第一大文件的命名和当前写位置,其中,所述当前写位置的初始值为0;将所述图片信息写入所述第一大文件的当前写位置,并返回图片访问标识。

【技术特征摘要】
1.一种小图片的存储方法,其特征在于,所述方法包括:获取多个根目录,每个所述根目录生成对应的编号和配置文件,所述配置文件记录所述根目录对应的编号;在所述根目录中创建多个子目录;在任一所述子目录中创建第一大文件,记录所述第一大文件的命名和当前写位置,其中,所述当前写位置的初始值为0;将所述图片信息写入所述第一大文件的当前写位置,并返回图片访问标识。2.根据权利要求1所述的一种小图片的存储方法,其特征在于,所述方法还包括:更新所述第一大文件的当前写位置;判断所述第一大文件的当前写位置是否处于所述第一大文件的末尾位置;如果处于所述第一大文件的末尾位置,则创建第二大文件。3.根据权利要求1所述的一种小图片的存储方法,其特征在于,所述图片信息包括文件头信息、图片数据和用于对齐而插入的空白数据,其中,所述文件头信息包括存储开始标识、文件头长度、图片数据长度、用于对齐而插入的空白数据的长度和其他信息字段。4.根据权利要求3所述的一种小图片的存储方法,其特征在于,所述方法还包括:根据所述第一大文件的当前写位置计算所述第一大文件的剩余容量;根据新图片的大小、所述文件头长度、用于对齐而插入的所述空白数据的长度计算保存所述图片信息所需的磁盘容量;如果所述第一大文件的剩余容量小于保存所述图片信息所需的磁盘容量,则创建第二大文件并保存所述新图片;如果所述第一大文件的剩余容量大于保存所述图片信息所需的磁盘容量,则将所述新图片保存在所述第一大文件中。5.根据权利要求1所述的一种小图片的存储方法,其特征在于,所述图片访问标识包括所述根目录编号、所述子目录、所述第一大文件的命名和图片信息偏移值。6.一种小图片的读取方法,其特征在于,所述方法包括:获取根目录的配置文件;从所述配置文件中获取所述根目录对应的编号;根据所述根目录对应的编号从图片访问标识中确定第一大文件的全路径名,所述图片访问标识包括图片信息偏移值;根据所述第一大文件的全路径名打开所述第一大文件,并根据所述图片信息偏移值开始读取图片信息中的图片数据。7.根据权利要求6所述的一种小图片的读取方法,其特征在于,所述图片访问标识还包括根目录编号、所述子目录和所述第一大文件的命名,所述根据所述根目录对应的编号从图片访问标识中确定第一大文件的全路径名包括:根据所述根目录编号判断所述根目录编号与所述根目录对应的编号是否相同;如果相同,则根据所述根目录对应的编号确定当前的根目录;根据当前的根目录、所述子目录和所述第一大文件的命名确定所述第一大文件的全路径名。8.根据权利要求6所述的一种小图片的读取方法,其特征在于,所述根据所述图片信息偏移值开始读取图片信息中的图片数据包括:根据所述图片信息偏移值读取所述图片信息中的文件头信息;根据所述文件头信息确定所述图片数据的大小;根据所述图片数据的大小将所述图片数据全部读取。9.一种小图片的存储装置,其特征在于,所述装置包括:根目录获取单元,用于获取多个根目录,每个所述根目录生成对应的编号和配置文件,所述配置文件记录所述根目录对应的编号;子目录创建单...

【专利技术属性】
技术研发人员:刘勇张向阳
申请(专利权)人:东方网力科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1