一种海量小文件的存储与检索方法技术

技术编号:7286771 阅读:395 留言:0更新日期:2012-04-21 08:50
本发明专利技术一种海量小文件的存储与检索方法,用户在备份文件的时候,可以根据需要,按天、小时、分钟进行差异备份,备份的时候,只需要拷贝相应的文件夹到备份磁盘即可,由于合理的文件存储组织结构设计,再加上进行了必要的文件合并,就算按天进行备份,需要备份的文件数量最多也就是24*60=1440个,有效地解决了海量小文件拷贝速度慢的问题,在进行文件恢复的时候,也只需要根据备份文件夹或文件名,将备份文件夹或文件,拷贝到相应的文件夹内即可,整个备份与恢复过程简单、便捷,实现了海量小文件在能够进行快速存储与检索的同时,又可以简便的进行备份与数据恢复的目的。

【技术实现步骤摘要】

本专利技术涉及。
技术介绍
目前,海量小文件的存储与检索主要是通过特定的文件存储目录结构,直接将小文件存储到磁盘上,并通过数据库记录文件的存储路径来实现。这种技术存在一个缺点就是在小文件数量特别多的情况下,文件存储目录众多,而且结构复杂,再加上海量文件拷贝速度慢,很难进行文件的备份与恢复。要改善这个缺点的难题在于在小文件数量特别多的情况下,如何通过有效的文件存储组织结构,既能保证存储与检索的效率,又能进行海量文件的差异备份与恢复。
技术实现思路
本专利技术提供,通过有效的文件存储组织结构设计,在保证存储与检索效率的前提下,又能进行海量文件的差异备份与恢复。通过本专利技术,用户在备份文件的时候,可以根据需要,按天、小时、分钟进行差异备份,备份的时候,只需要拷贝相应的文件夹到备份磁盘即可,由于合理的文件存储组织结构设计,再加上进行了必要的文件合并,就算按天进行备份,需要备份的文件数量最多也就是M*60=1440个,有效地解决了海量小文件拷贝速度慢的问题。在进行文件恢复的时候,也只需要根据备份文件夹(或文件)名,将备份文件夹 (或文件),拷贝到相应的文件夹内即可,整个备份与恢复过程简单、便捷,实现了海量小文件在能够进行快速存储与检索的同时,又可以简便的进行备份与数据恢复的目的。附图说明图1为本专利技术的系统逻辑图。以下结合附图和具体实施例对本专利技术作进一步详述。具体实施例方式如图1所示,本专利技术主要包括数据库1、文件存储模块2和文件检索模块3, 其中,数据库1具备数据存储、检索功能,负责保存各小文件的数据大小、存储路径、存储位置等信息;文件存储模块2与数据库1连接,具备文件存储位置计算与文件保存的功能,负责文件存储组织结构管理与小文件数据存储,还负责在数据库1中登记文件位置信息;文件检索模块3与数据库1连接,具备文件数据读取与创建临时文件的功能,负责从数据库1读取文件存储位置信息,并依照该文件存储位置信息来读取文件数据,创建成相应的临时小文件,供用户访问。其中,数据库表称为文件存储信息表,用于保存小文件的存储信息,字段包括文件ID、存储路径、数据存储开始位置和数据大小,该文件ID由系统自动生成,从1开始自增。 本专利技术一种海量小文件的存储和检索方法,具体步骤如下 1、存储步骤步骤1、用户在文件存储模块2提供的界面上设置文件存储路径,记为“文件保存路径”;步骤2、当文件存储模块2收到来自某外层应用的一个小文件存储请求时,获取该小文件的大小,记为“当前文件数据大小”;同时,文件存储模块2获取当前日期,该当前日期包括年、月、日,并判断“文件保存路径”内是否存在以当前日期为名创建的文件夹,若不存在则创建文件夹,记为“当前日期文件保存文件夹”,并打开该文件夹;若存在,则直接打开该文件夹;文件存储模块2进而获取当前时刻,该当前时刻以M小时制表示,包括年、月、日、时, 并判断“当前日期文件保存文件夹”内是否存在以当前时刻为名创建的文件夹,若不存在则创建文件夹,记为“当前时刻文件保存文件夹”,并打开该文件夹;若存在,则直接打开该文件夹;文件存储模块2进一步获取当前分钟,当前分钟以M小时制表示,包括年、月、日、时、 分,并判断“当前时刻文件保存文件夹”内是否存在以当前分钟为名创建的文件,若不存在则创建文件,记为“当前数据存储文件”,文件存储模块2获取“当前数据存储文件”的最后存储位置,记为“当前文件数据存储开始位置”;这样,文件存储模块2将该发出存储请求的小文件数据写入到当前文件数据存储开始位置,与“当前数据存储文件”合并,更新“当前数据存储文件”,并保存在磁盘上;步骤3、文件存储模块2将“当前日期文件保存文件夹”名、“当前时刻文件保存文件夹” 名和“当前数据存储文件”名,组合成“当前文件存储路径”;步骤4、文件存储模块2将获得的“当前文件存储路径”、“当前文件数据存储开始位置” 和“当前文件数据大小”保存到数据库1的文件存储信息表中相应的“存储路径”、“数据存储开始位置”和“数据大小”字段中,存储完成后,数据库1自动生成文件ID ;步骤5、文件存储模块2获取数据库1返回的文件ID,并提交给上述发起小文件存储请求的外层应用,供该外层应用后续检索; 2、检索步骤步骤1、用户在文件检索模块3提供的界面上设置临时文件路径,记为“临时文件路径”;步骤2、文件检索模块3收到来自某外层应用的一个小文件检索请求,请求内容主要是文件ID,记为“待检索文件ID”;步骤3、该文件检索模块3判断“临时文件路径”内的文件数量是否超过100个,如果是,则删除“临时文件路径”内的所有文件,保障“临时文件路径”的访问速度;若“临时文件路径”内的文件数量未超过100个,则文件检索模块3判断“临时文件路径”内是否存在以 “待检索文件ID”命名的文件,如果存在,则删除该文件;步骤4、文件检索模块3从数据库1的文件存储信息表中,读取文件ID等于“待检索文件ID”的文件存储记录;该文件检索模块3根据获取的文件存储记录中的“存储路径”字段, 访问存储步骤中步骤1所设置的“文件保存路径”中的相应数据存储文件,并根据“数据存储开始位置”和“数据大小”字段,从数据存储文件中读取相应的小文件数据;步骤5、文件检索模块3将上述读取的小文件数据,在“临时文件路径”中,创建以“待检索文件ID”命名的临时小文件,记为“当前临时小文件”;步骤6、文件检索模块3将“临时文件路径”名和“当前临时小文件”名组合成“当前文件临时访问路径”,并提交给发起小文件检索请求的外层应用,供该外层应用访问所请求的小文件。通过本专利技术,用户在备份文件的时候,可以根据需要,按天、小时、分钟进行差异备份,备份的时候,只需要拷贝相应的文件夹到备份磁盘即可,由于合理的文件存储组织结构设计,再加上进行了必要的文件合并,就算按天进行备份,需要备份的文件数量最多也就是M*60=1440个,有效地解决了海量小文件拷贝速度慢的问题。在进行文件恢复的时候,也只需要根据备份文件夹(或文件)名,将备份文件夹 (或文件),拷贝到相应的文件夹内即可,整个备份与恢复过程简单、便捷,实现了海量小文件在能够进行快速存储与检索的同时,又可以简便的进行备份与数据恢复的目的。以上所述,仅是本专利技术较佳实施例而已,并非对本专利技术的技术范围作任何限制,故凡是依据本专利技术的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本专利技术技术方案的范围内。权利要求1. 一种海量小文件的存储与检索的方法,其特征在于主要包括数据库、文件存储模块和文件检索模块,其中,数据库中的文件存储信息表,用于保存小文件的存储信息,字段包括文件ID、存储路径、数据存储开始位置和数据大小,该文件ID由系统自动生成,从1开始自增;具体步骤包括 1、存储步骤步骤1、用户在文件存储模块提供的界面上设置文件存储路径,记为“文件保存路径”; 步骤2、当文件存储模块收到来自某外层应用的一个小文件存储请求时,先获取该小文件的大小,记为“当前文件数据大小”;同时,文件存储模块获取当前日期,包括年、月、日,并判断“文件保存路径”内是否存在以当前日期为名创建的文件夹,若不存在则创建文件夹,记为“当前日期文件保存文件夹” 并打开该文件夹;若存在,则直接打开该文件夹;文件存储模块进而获取当前时刻,包括年、本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:韩震华余建成曲建云张皓
申请(专利权)人:厦门雅迅网络股份有限公司
类型:发明
国别省市:

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

1
相关领域技术