一种小文件存储方法和系统技术方案

技术编号:13878425 阅读:77 留言:0更新日期:2016-10-22 18:29
本申请公开一种小文件存储方法和系统,所述方法和系统基于各个待存储小文件的语义描述信息,确定各个小文件之间的关联关系,在此基础上,基于所确定的各个所述小文件间的关联关系,实现对各个待存储的小文件进行合并存储。可见,本申请提出了一种基于语义关联角度的小文件合并存储策略,应用本申请可实现将关联性较为密切的小文件进行合并,进而可有效提高小文件的读取效率。

【技术实现步骤摘要】

本专利技术属于计算机分布式存储
,尤其涉及一种小文件存储方法和系统
技术介绍
随着互联网的快速发展,云存储开始被广泛运用于海量互联网数据的存储中,云存储通过整合网络中大量不同类型的存储设备来共同形成一个提供外界存储和业务访问的系统,目前,能够提供云存储的分布式系统有很多,如HDFS(Hadoop Distributed File System,分布式文件系统)、Google的GFS(Google File System,谷歌文件系统)等。在目前的互联网环境下,小文件占有较大比重,对于解决小文件云存储的研究基本上都是基于文件合并的策略,通过将大量小文件进行合并,来减少平台的文件数目,减轻分布式文件系统用于存放文件元数据的内存压力;同时小文件合并为大文件后,能够明显提高其硬盘读写速率,节省文件存储消耗的时间。然而,当前进行小文件的合并时一般不考虑文件间的彼此联系,文件合并仅仅是对上传的各个小文件直接进行合并,并没有给出相关的合并策略用来提高小文件的读取效率。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种小文件存储方法和系统,旨在通过将关联性较为密切的小文件进行合并及存储,来提高小文件的读取效率。为此,本专利技术公开如下技术方案:一种小文件存储方法,包括:获取待存储的多个小文件的语义描述信息;基于各个所述小文件的语义描述信息,确定各个所述小文件间的关联关
系;基于各个所述小文件间的关联关系,对各个所述小文件进行文件合并处理,得到至少一个大文件;存储所述至少一个大文件。上述方法,优选的,所述获取待存储的多个小文件的语义描述信息包括:获取待存储的多个小文件的关键词。上述方法,优选的,所述基于各个所述小文件的语义描述信息,确定各个所述小文件间的关联关系包括:计算各个所述小文件的关键词之间的语义相似度;基于所述语义相似度,对各个所述小文件的关键词进行预设的聚类处理;其中,聚类处理结果中同簇的关键词之间具有较高的语义相似度;依据聚类处理结果,确定各个所述小文件间的关联关系。上述方法,优选的,还包括以下的预处理过程:依据预先设定的小文件识别标准,对上传的待存储文件进行小文件识别。上述方法,优选的,在存储所述至少一个大文件之前,还包括:利用各个所述小文件的关键词,为各个所述小文件建立倒排索引;依据所述文件合并处理的处理结果,确定各个所述小文件与相应大文件之间的映射关系及各个所述小文件在相应大文件中的位置信息。上述方法,优选的,还包括:基于所述倒排索引、所述小文件与相应大文件之间的映射关系及各个所述小文件在相应大文件中的位置信息进行所需的小文件读取。一种小文件存储系统,包括:描述信息获取模块,用于获取待存储的多个小文件的语义描述信息;关联关系确定模块,用于基于各个所述小文件的语义描述信息,确定各个所述小文件间的关联关系;小文件合并模块,用于基于各个所述小文件间的关联关系,对各个所述小文件进行文件合并处理,得到至少一个大文件;存储模块,用于存储所述至少一个大文件。上述系统,优选的,所述描述信息获取模块包括:关键词获取单元,用于获取待存储的多个小文件的关键词。上述系统,优选的,所述关联关系确定模块包括:计算单元,用于计算各个所述小文件的关键词之间的语义相似度;聚类处理单元,用于基于所述语义相似度,对各个所述小文件的关键词进行预设的聚类处理;其中,聚类处理结果中同簇关键词之间具有较高的语义相似度;关联关系确定单元,用于依据聚类处理结果,确定各个所述小文件间的关联关系。上述系统,优选的,还包括:小文件识别模块,用于依据预先设定的小文件识别标准,对上传的待存储文件进行小文件识别。上述系统,优选的,还包括索引创建模块,所述索引创建模块包括:第一索引创建单元,用于利用各个所述小文件的关键词,为各个所述小文件建立倒排索引;第二索引创建单元,用于依据所述文件合并处理的处理结果,确定各个所述小文件与相应大文件之间的映射关系及各个所述小文件在相应大文件中的位置信息。上述系统,优选的,还包括:小文件读取模块,用于基于所述倒排索引、所述小文件与相应大文件之间的映射关系及各个所述小文件在相应大文件中的位置信息进行所需的小文件读取。由以上方案可知,本申请公开的小文件存储方法和系统,基于各个待存储小文件的语义描述信息,确定各个小文件之间的关联关系,在此基础上,基于所确定的各个所述小文件间的关联关系,实现对各个待存储的小文件进行合并存储。可见,本申请提出了一种基于语义关联角度的小文件合并存储策略,应用本申请可实现将关联性较为密切的小文件进行合并,进而可有效提高小文件的读取效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实
施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1是本专利技术实施例一提供的小文件存储方法流程图;图2是本专利技术实施例一提供的分布式文件系统的整体架构图;图3是本专利技术实施例二提供的小文件存储方法流程图;图4是本专利技术实施例三提供的小文件存储方法流程图;图5-图8是本专利技术实施例四提供的小文件存储系统的结构示意图。具体实施方式为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:Lucene:是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻,在Java开发环境里Lucene是一个成熟的免费开源工具。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一本专利技术实施例一公开一种小文件存储方法,参考图1,所述小文件存储方法可以包括以下步骤:S101:获取待存储的多个小文件的语义描述信息。云平台中存储的小文件大部分都是彼此联系的,逻辑上是相互关联的,针对这种关联性,本申请给出一种基于语义的文件合并策略将关联性较为密切的小文件进行合并,同时控制合并后形成的大文件的大小,确保合并后得到的大文件不超出分布式框架的默认存储对象大小,以避免小文件的跨块(块即指大文件)存储。参考图2示出的分布式文件存储的典型应用场景,本实施例具体以图2中的分布式文件系统为例对本申请方法进行说明。当用户有文件存储需求时,可向Web服务器上传文件,并对文件进行关键词描述作为文件的元数据,其中关键词需要以简洁为主,且能较好的概括文件的主题。关键词与文件的其它相关信息,如文件名称、大小、类型、上传时间等共同作为文件的元数据保存到数据库的相关文件记录中。Web服务器需对用户上传的文本文档来自技高网
...

【技术保护点】
一种小文件存储方法,其特征在于,包括:获取待存储的多个小文件的语义描述信息;基于各个所述小文件的语义描述信息,确定各个所述小文件间的关联关系;基于各个所述小文件间的关联关系,对各个所述小文件进行文件合并处理,得到至少一个大文件;存储所述至少一个大文件。

【技术特征摘要】
1.一种小文件存储方法,其特征在于,包括:获取待存储的多个小文件的语义描述信息;基于各个所述小文件的语义描述信息,确定各个所述小文件间的关联关系;基于各个所述小文件间的关联关系,对各个所述小文件进行文件合并处理,得到至少一个大文件;存储所述至少一个大文件。2.根据权利要求1所述的方法,其特征在于,所述获取待存储的多个小文件的语义描述信息包括:获取待存储的多个小文件的关键词。3.根据权利要求2所述的方法,其特征在于,所述基于各个所述小文件的语义描述信息,确定各个所述小文件间的关联关系包括:计算各个所述小文件的关键词之间的语义相似度;基于所述语义相似度,对各个所述小文件的关键词进行预设的聚类处理;其中,聚类处理结果中同簇的关键词之间具有较高的语义相似度;依据聚类处理结果,确定各个所述小文件间的关联关系。4.根据权利要求1-3任意一项所述的方法,其特征在于,还包括以下的预处理过程:依据预先设定的小文件识别标准,对上传的待存储文件进行小文件识别。5.根据权利要求2-3任意一项所述的方法,其特征在于,在存储所述至少一个大文件之前,还包括:利用各个所述小文件的关键词,为各个所述小文件建立倒排索引;依据所述文件合并处理的处理结果,确定各个所述小文件与相应大文件之间的映射关系及各个所述小文件在相应大文件中的位置信息。6.根据权利要求5所述的方法,其特征在于,还包括:基于所述倒排索引、所述小文件与相应大文件之间的映射关系及各个所述小文件在相应大文件中的位置信息进行所需的小文件读取。7.一种小文件存储系统,其特征在于,包括:描述信息获取模块,用于获取待存储的多个小文件...

【专利技术属性】
技术研发人员:王金龙段良涛
申请(专利权)人:青岛理工大学
类型:发明
国别省市:山东;37

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

1