一种小文件存储方法和系统的制作方法

文档序号:10488967阅读:253来源:国知局
一种小文件存储方法和系统的制作方法
【专利摘要】本申请公开一种小文件存储方法和系统,所述方法和系统基于各个待存储小文件的语义描述信息,确定各个小文件之间的关联关系,在此基础上,基于所确定的各个所述小文件间的关联关系,实现对各个待存储的小文件进行合并存储。可见,本申请提出了一种基于语义关联角度的小文件合并存储策略,应用本申请可实现将关联性较为密切的小文件进行合并,进而可有效提高小文件的读取效率。
【专利说明】
一种小文件存储方法和系统
技术领域
[0001] 本发明属于计算机分布式存储技术领域,尤其涉及一种小文件存储方法和系统。
【背景技术】
[0002] 随着互联网的快速发展,云存储开始被广泛运用于海量互联网数据的存储中,云 存储通过整合网络中大量不同类型的存储设备来共同形成一个提供外界存储和业务访问 的系统,目前,能够提供云存储的分布式系统有很多,如HDFS(Had 〇〇p Distributed File System,分布式文件系统)、Google的GFS(Google File System,谷歌文件系统)等。
[0003] 在目前的互联网环境下,小文件占有较大比重,对于解决小文件云存储的研究基 本上都是基于文件合并的策略,通过将大量小文件进行合并,来减少平台的文件数目,减轻 分布式文件系统用于存放文件元数据的内存压力;同时小文件合并为大文件后,能够明显 提高其硬盘读写速率,节省文件存储消耗的时间。然而,当前进行小文件的合并时一般不考 虑文件间的彼此联系,文件合并仅仅是对上传的各个小文件直接进行合并,并没有给出相 关的合并策略用来提高小文件的读取效率。

【发明内容】

[0004] 有鉴于此,本发明的目的在于提供一种小文件存储方法和系统,旨在通过将关联 性较为密切的小文件进行合并及存储,来提高小文件的读取效率。
[0005] 为此,本发明公开如下技术方案:
[0006] -种小文件存储方法,包括:
[0007] 获取待存储的多个小文件的语义描述信息;
[0008] 基于各个所述小文件的语义描述信息,确定各个所述小文件间的关联关系;
[0009] 基于各个所述小文件间的关联关系,对各个所述小文件进行文件合并处理,得到 至少一个大文件;
[0010]存储所述至少一个大文件。
[0011]上述方法,优选的,所述获取待存储的多个小文件的语义描述信息包括:
[0012] 获取待存储的多个小文件的关键词。
[0013] 上述方法,优选的,所述基于各个所述小文件的语义描述信息,确定各个所述小文 件间的关联关系包括:
[0014] 计算各个所述小文件的关键词之间的语义相似度;
[0015] 基于所述语义相似度,对各个所述小文件的关键词进行预设的聚类处理;其中,聚 类处理结果中同簇的关键词之间具有较高的语义相似度;
[0016] 依据聚类处理结果,确定各个所述小文件间的关联关系。
[0017] 上述方法,优选的,还包括以下的预处理过程:
[0018] 依据预先设定的小文件识别标准,对上传的待存储文件进行小文件识别。
[0019] 上述方法,优选的,在存储所述至少一个大文件之前,还包括:
[0020] 利用各个所述小文件的关键词,为各个所述小文件建立倒排索引;
[0021] 依据所述文件合并处理的处理结果,确定各个所述小文件与相应大文件之间的映 射关系及各个所述小文件在相应大文件中的位置信息。
[0022] 上述方法,优选的,还包括:
[0023] 基于所述倒排索引、所述小文件与相应大文件之间的映射关系及各个所述小文件 在相应大文件中的位置信息进行所需的小文件读取。
[0024] 一种小文件存储系统,包括:
[0025] 描述信息获取模块,用于获取待存储的多个小文件的语义描述信息;
[0026] 关联关系确定模块,用于基于各个所述小文件的语义描述信息,确定各个所述小 文件间的关联关系;
[0027] 小文件合并模块,用于基于各个所述小文件间的关联关系,对各个所述小文件进 行文件合并处理,得到至少一个大文件;
[0028] 存储模块,用于存储所述至少一个大文件。
[0029] 上述系统,优选的,所述描述信息获取模块包括:
[0030] 关键词获取单元,用于获取待存储的多个小文件的关键词。
[0031 ]上述系统,优选的,所述关联关系确定模块包括:
[0032] 计算单元,用于计算各个所述小文件的关键词之间的语义相似度;
[0033] 聚类处理单元,用于基于所述语义相似度,对各个所述小文件的关键词进行预设 的聚类处理;其中,聚类处理结果中同簇关键词之间具有较高的语义相似度;
[0034] 关联关系确定单元,用于依据聚类处理结果,确定各个所述小文件间的关联关系。 [0035] 上述系统,优选的,还包括:
[0036] 小文件识别模块,用于依据预先设定的小文件识别标准,对上传的待存储文件进 行小文件识别。
[0037] 上述系统,优选的,还包括索引创建模块,所述索引创建模块包括:
[0038] 第一索引创建单元,用于利用各个所述小文件的关键词,为各个所述小文件建立 倒排索引;
[0039]第二索引创建单元,用于依据所述文件合并处理的处理结果,确定各个所述小文 件与相应大文件之间的映射关系及各个所述小文件在相应大文件中的位置信息。
[0040] 上述系统,优选的,还包括:
[0041] 小文件读取模块,用于基于所述倒排索引、所述小文件与相应大文件之间的映射 关系及各个所述小文件在相应大文件中的位置信息进行所需的小文件读取。
[0042] 由以上方案可知,本申请公开的小文件存储方法和系统,基于各个待存储小文件 的语义描述信息,确定各个小文件之间的关联关系,在此基础上,基于所确定的各个所述小 文件间的关联关系,实现对各个待存储的小文件进行合并存储。可见,本申请提出了一种基 于语义关联角度的小文件合并存储策略,应用本申请可实现将关联性较为密切的小文件进 行合并,进而可有效提高小文件的读取效率。
【附图说明】
[0043] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 提供的附图获得其他的附图。
[0044] 图1是本发明实施例一提供的小文件存储方法流程图;
[0045] 图2是本发明实施例一提供的分布式文件系统的整体架构图;
[0046] 图3是本发明实施例二提供的小文件存储方法流程图;
[0047]图4是本发明实施例三提供的小文件存储方法流程图;
[0048] 图5-图8是本发明实施例四提供的小文件存储系统的结构示意图。
【具体实施方式】
[0049] 为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:
[0050] Lucene:是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检 索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析 引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统 中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用 于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。Lucene提供了一个简 单却强大的应用程式接口,能够做全文索引和搜寻,在Java开发环境里Lucene是一个成熟 的免费开源工具。
[0051]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0052] 实施例一
[0053]本发明实施例一公开一种小文件存储方法,参考图1,所述小文件存储方法可以包 括以下步骤:
[0054] SlOl:获取待存储的多个小文件的语义描述信息。
[0055] 云平台中存储的小文件大部分都是彼此联系的,逻辑上是相互关联的,针对这种 关联性,本申请给出一种基于语义的文件合并策略将关联性较为密切的小文件进行合并, 同时控制合并后形成的大文件的大小,确保合并后得到的大文件不超出分布式框架的默认 存储对象大小,以避免小文件的跨块(块即指大文件)存储。
[0056] 参考图2示出的分布式文件存储的典型应用场景,本实施例具体以图2中的分布式 文件系统为例对本申请方法进行说明。当用户有文件存储需求时,可向Web服务器上传文 件,并对文件进行关键词描述作为文件的元数据,其中关键词需要以简洁为主,且能较好的 概括文件的主题。关键词与文件的其它相关信息,如文件名称、大小、类型、上传时间等共同 作为文件的元数据保存到数据库的相关文件记录中。
[0057] Web服务器需对用户上传的文件进行大小识别,之后可对不同大小的文件采取不 同策略进行处理。小文件对Ceph(分布式文件系统)的瓶颈主要体现在文件的写入、读取和 数据迀移,基于此,本申请通过计算不同大小的文件上传到Ceph或从Ceph下载到本地的平 均速率,来确定大小文件的界定/识别标准。在此基础上,Web服务器利用该标准对用户上传 的文件进行大小文件识别,如果识别结果为大文件,则直接将该文件上传至Ceph集群进行 云存储,否则,如果识别结果为小文件,则缓存小文件,并利用本申请提供的小文件合并存 储策略实现小文件的合并存储。
[0058] 对于缓存的各个待存储小文件,Web服务器需首先获取各个小文件的语义描述信 息,所述语义描述信息具体可以是小文件的关键词描述信息,该信息可从用户所上传文件 的元数据中提取。
[0059] S102:基于各个所述小文件的语义描述信息,确定各个所述小文件间的关联关系。
[0060] 在获取各个待存储小文件的关键词之后,本步骤具体依据小文件关键词之间的语 义相似度,来确定小文件间的关联关系,其中,关键词之间的语义相似度越高,则表征关键 词所对应小文件之间的关联性越紧密。
[0061] 本申请利用已经训练好的语料集,使用word2VeC工具对关键词间的语义相似度进 行计算,并且采用知网进行补充,从而利用两者间的共同结果对词间相关度进行定义,设立 word2vec的权重为α,知网的权重为β,则关键词Wl与W2之间的语义相似度定义如下:
[0062] Sim(Wl,W2)=aSimW2V(Wl,W2)+0Sim_(Wl,W2) (1)
[0063] 式(1)中,Sim(Wl,W2)表示关键词Wl与W2之间的相关度即语义相似度,Simw2v(Wl, W2)表示利用W 〇rd2Vec工具计算的词Wl,W2间的相关度,SimHN(Wl,W2)表示的是利用知网进 行计算的词Wl,W2间的相关度。
[0064] 在定义词间语义相似度的基础上,本申请具体通过对各个待存储小文件的关键词 进行预设的聚类处理,实现对各个小文件的关键词进行分簇,使得聚类处理结果中同簇的 关键词之间具有较高的语义相似度;相对应地,在对小文件关键词进行分簇的基础上,可依 据小文件与关键词之间的对应关系,对处于缓冲区的待存储小文件进行逻辑划分,将同簇 关键词对应的小文件划分在同一逻辑单元中,同属一个逻辑单元的小文件彼此间具有较高 的语义相关度。
[0065] 接下来对各个小文件关键词的聚类处理过程进行描述,该过程具体包括:
[0066] 1)关键词的初步聚类(最近邻聚类)
[0067] 将多个小文件的η个关键词(其中,一个小文件对应一个关键词,同一个关键词可 能对应多个小文件,即小文件与关键词间的对应关系为N:l)映射到一组不相交集合D = (D1,D2…Dn},每个集合即为一个簇,计算集合中关键词两两之间的语义相似度,并将计算出 的相似度数值按降序排序;在此基础上,依次取出相似度值sim(Wi,Wj),直至Sim(WiJ j)小 于预设阈值时停止,之后,分别找出所取出sim(Wi,Wj)中(W i,Wj)所属的集合Di与Dj,合并Di 与Dj为一个新的簇,即为一个新的集合,并删除原来的集合01与仏。由于文件相关的关系具 有对称性与传递性,所以根据新的集合分布,可以建立一个无向非连通图,然后从各个结点 出发对该图进行深度优先遍历,从而将相关的结点(关键词)都放到一个集合中,即完成了 一次关键词聚类的迭代。经过一次迭代后的不相交集合结构如下:
[0068] Di= {ffi,W2--Wil;
[0069] D2={ff3,ff6---ffj};
[0070] ……
[0071] Dm= {ffn,Wf-Wklo
[0072] 经过以上处理后,集合的数目已经发生变化,许多关键词已经被分到相应的集合 (簇)中,从而实现了关键词的初步聚类。
[0073] 2)簇间迭代聚类
[0074] 经过关键词的初步聚类后,已初步划分了相应的簇,此时将会得到很多的簇,在此 基础上,本步考虑继续对关键词初步聚类后得到的多个簇进行迭代聚类,从而将关联密切 的簇进行合并。
[0075] 簇间迭代聚类具体采用以下步骤实现:
[0076]步骤一,提取各簇的特征表示;
[0077] 经过关键词的初步聚类后,有的簇中已经具有了多个关键词,对于关键词数目较 多的簇,本申请考虑对簇的特征(簇的每一个关键词表征簇的一个特征)进行降维,将簇的 特征用几个比较有代表性的关键词进行描述。
[0078] 其中,本申请具体通过对簇内关键词进行一次聚类实现簇特征提取,然后针对每 个簇,将簇内聚类后得到的各个子簇按其拥有的关键词个数进行降序排序,在此基础上将 关键词数目最大的子簇,作为该簇的特征表示(同时需要限制特征子簇的最大关键词数 目)。例如,假设簇〇1= (W1 经过簇内关键词的一次聚类后划分为以下子簇= D1 = {(U7J11),…(Wi,Wj)},则可选用(W1J7,Wn)作为簇D 1的特征表示,即相当于更新了簇中 心,以用于下一步的簇聚类。
[0079] 步骤二,计算两两簇之间的相关度值,并进行保存;
[0080] 在对关键词初步聚类后得到的各个簇进行簇特征提取后,接下来继续利用提取的 簇特征计算各个簇之间的相似度,簇间相似度计算方式具体如下:
[0081 ]假设簇Di= Iffi1,Widn},Dj = Iffj1,Wj2'"Wjm},则簇Di与Dj间的相似度为:
[0082]
(2)
[0083]式(2)中,Sim(Di,Dj)表示的是簇Di与Dj间的相似度,Sim(W ip,Wjq)是簇间特征关键 词间的相似度值。即综合利用簇间两两特征关键词计算得出的相关度值来有效表示簇间的 相关度,其中,簇的特征关键词即指簇的特征表示中所包含的关键词。
[0084]步骤三,将簇间相关度值按照降序排序;
[0085] 步骤四,从降序序列中按序取出sim(Di,Dj ),直至sim(Di,Dj)小于预设阈值时终 止;之后将所取出sim(Di,Dj)对应的簇Di与Dj合并为一个簇Dk,从而实现将两个簇中的所有 关键词合并至一个集合之中;
[0086] 步骤五,判断簇的数目是否发生了变化或者迭代次数是否达到一定次数,若满足 条件则迭代完成,若不符合条件则继续执行步骤一。
[0087] 在依次经过关键词的初步聚类及簇间迭代聚类后,可实现将各个待存储小文件的 关键词进行分簇,其中,同簇关键词之间具有较高的语义相似度。由于关键词与小文件之间 具有相应的对应关系,因此,可基于关键词的分簇结果,对处于缓冲区的待存储小文件进行 逻辑划分,将同簇关键词对应的小文件划分在同一逻辑单元中,同属一个逻辑单元的文件 彼此相关度高,具有较高的语义关联度。
[0088] S103:基于各个所述小文件间的关联关系,对各个所述小文件进行文件合并处理, 得到至少一个大文件。
[0089] 在对缓存的待存储小文件进行逻辑划分,得到一个或多个逻辑单元后,本步骤继 续依据小文件的逻辑划分结果,对同属一个逻辑单元的小文件进行文件合并处理。
[0090] 其中,为了避免文件读取时耗时过多,则合并所得的文件不应该太大,也就是说, 对于包含的小文件数量/数据量较大的逻辑单元,不应该将该逻辑单元中的所有小文件都 合并到一个大文件中,而是需将该逻辑单元中的各个小文件合并为多个大文件,即逻辑单 元与合并文件可以是一对多的关系。
[0091] 假设大小文件的分割线是BS,由于文件缓冲区的文件都是经过小文件识别后所得 的小文件,从而缓冲区中所有文件的大小都将小于BS。为了达到文件预取效率高这一目的, 在进行小文件合并时,首先将同一个逻辑单元中的所有小文件按照文件大小进行排序,然 后按照文件的顺序依次将小文件进行合并,每当一次合并所得的文件大于BS时,此次合并 结束,然后接着进行下一次合并。此种策略既可以保证合并后所得文件的传输读写效率与 大文件相同,又同时能够保证在小文件预取时具有最大命中率。
[0092] 具体地,系统在实现文件合并时将小文件数据转换为二进制数据,并在每次合并 时都在上一小文件的尾部进行数据追加,同时记录好本次所合并小文件的起始位置和小文 件所占有的长度大小,这样便可在需要该小文件时通过提取指定长度的数据来还原小文件 本身。
[0093] S104:存储所述至少一个大文件。
[0094] 在对小文件进行合并得到大文件之后,可将合并所得的大文件进行所需的分布式 存储,具体地,参考图2, Web服务器在合并小文件得到大文件后,可通过相应的接口服务将 大文件上传到Ceph存储集群的指定Bucket (数据桶)之上,从而最终实现小文件的云存储。
[0095] 由以上方案可知,本申请公开的小文件存储方法,基于各个待存储小文件的语义 描述信息,确定各个小文件之间的关联关系,在此基础上,基于所确定的各个所述小文件间 的关联关系,实现对各个待存储的小文件进行合并存储。可见,本申请提出了一种基于语义 关联角度的小文件合并存储策略,应用本申请可实现将关联性较为密切的小文件进行合 并,进而可有效提高小文件的读取效率。
[0096] 实施例二
[0097] 本实施例继续对实施例一的方案进行补充,参考图3,本实施例中,在所述步骤 S104之前还可以包括以下步骤:
[0098] S105:利用各个所述小文件的关键词,为各个所述小文件建立倒排索引;依据所述 文件合并处理的处理结果,确定各个所述小文件与相应大文件之间的映射关系及各个所述 小文件在相应大文件中的位置信息。
[0099] 文件检索对于任何平台都是不可缺少的,在存储文件的同时,需要同时为文件的 检索功能提供支持,也就是说,需要能够根据用户输入的检索词定位到所需的文件,基于 此,为了对文件检索提供支持,本实施例利用各个小文件的关键词为小文件建立倒排索引, 从而形成关键词-小文件ID (Identity,身份标识号)的映射,本实施例具体使用Lucene对 小文件的关键词描述建立倒排索引,参考图2,倒排索引建立完成后,便可生成索引文件库 并对其进行存储,从而后续可依据输入的检索词进行小文件的快速检索与定位。
[0100]接下来通过一个实例简单说明倒排索引的创建过程,该实例提供三个图片(相当 于3个小文件)的简介描述:
[0101] a,北京的天安门。
[0102] b,圆明园的遗址。
[0103] c,天安门与圆明园都是北京的景区。
[0104] 对其进行分词预处理后可得到:
[0105] a,[北京][天安门]。
[0106] b,[圆明园][遗址]。
[0107] c,[天安门][圆明园][北京][景区]。
[0108] 继续对上述各图片的分词进行倒排索引处理,可得到如表1所示的倒排表:
[0109] 表1
[0111]除了为各个小文件建立倒排索引,本实施例还根据小文件的合并情况建立小文件 与大文件之间的映射关系,同时记录小文件在相应大文件中的位置信息,并在相应的数据 库服务器中存储所述映射关系及所述位置信息。所述倒排索引、小文件与大文件的映射关 系、小文件在大文件中的位置信息可共同为小文件的索引信息,为后续小文件的检索、定 位、读取提供支持。
[0112]实施例三
[0113] 在实施例二方案的基础上,参考图4,本实施例中,所述小文件存储方法还可以包 括以下步骤:
[0114] S106:基于所述倒排索引、所述小文件与相应大文件之间的映射关系及各个所述 小文件在相应大文件中的位置信息进行所需的小文件读取。
[0115] 在以上实施例的基础上,本实施例提供小文件的读取方案,小文件的读取可分为 文件检索与文件下载两步,其中,文件检索具体可在接收到用户输入的检索词后,采用 Lucene对创建的倒排索引进行检索,从而得到符合检索词的结果列表,该列表包括一个或 多个小文件ID,之后,继续利用检索后得到的小文件ID进行数据库查询,得到小文件所在的 合并文件即大文件ID,然后,根据查询得到的大文件ID向Ceph集群发出文件读取请求。 [0116] Ceph集群接收到该请求后,定位到相应Bucket得到所需的大文件,由于合并后得 到的大文件在Ceph上通过对象进行存储,从而在每次读取小文件时都需要对小文件所在的 大文件进行整体下载并缓存,之后可通过对下载并缓存的大文件进行拆解,并根据小文件 在大文件中的位置信息得到所需的小文件。
[0117]其中,需要说明的是,由于本申请在对小文件进行云存储时,基于小文件语义将关 联较为紧密的小文件进行合并存储,从而在对小文件进行下载、读取时,可有效提高相关度 较高的小文件的读取效率。
[0118]实施例四
[0119] 本实施例公开一种小文件存储系统,所述小文件存储系统与以上各实施例公开的 小文件存储方法相对应。
[0120] 相应于实施例一,参考图5,所述系统可以包括描述信息获取模块100、关联关系确 定模块200、小文件合并模块300和存储模块400。
[0121]描述信息获取模块100,用于获取待存储的多个小文件的语义描述信息。
[0122] 其中,所述描述信息获取模块100包括关键词获取单元,用于获取待存储的多个小 文件的关键词。
[0123] 关联关系确定模块200,用于基于各个所述小文件的语义描述信息,确定各个所述 小文件间的关联关系。
[0124] 所述关联关系确定模块200包括计算单元、聚类处理单元和关联关系确定单元。
[0125] 计算单元,用于计算各个所述小文件的关键词之间的语义相似度;
[0126] 聚类处理单元,用于基于所述语义相似度,对各个所述小文件的关键词进行预设 的聚类处理;其中,聚类处理结果中同簇关键词之间具有较高的语义相似度;
[0127] 关联关系确定单元,用于依据聚类处理结果,确定各个所述小文件间的关联关系。
[0128] 小文件合并模块300,用于基于各个所述小文件间的关联关系,对各个所述小文件 进行文件合并处理,得到至少一个大文件。
[0129] 存储模块400,用于存储所述至少一个大文件。
[0130] 以上各模块或单元的功能实现需要建立在小文件识别的预处理基础之上,因此, 参考图6,所述系统还包括小文件识别模块500,该模块用于依据预先设定的小文件识别标 准,对上传的待存储文件进行小文件识别。
[0131] 相应于实施例二,参考图7,所述系统还可以包括索引创建模块600,该模块包括第 一索引创建单元和第二索引创建单元。
[0132] 第一索引创建单元,用于利用各个所述小文件的关键词,为各个所述小文件建立 倒排索引;
[0133] 第二索引创建单元,用于依据所述文件合并处理的处理结果,确定各个所述小文 件与相应大文件之间的映射关系及各个所述小文件在相应大文件中的位置信息。
[0134] 相应于实施例三,参考图8,所述系统还可以包括小文件读取模块700,用于基于所 述倒排索引、所述小文件与相应大文件之间的映射关系及各个所述小文件在相应大文件中 的位置信息进行所需的小文件读取。
[0135] 对于本发明实施例四公开的小文件存储系统而言,由于其与实施例一至实施例三 公开的小文件存储方法相对应,所以描述的比较简单,相关相似之处请参见实施例一至实 施例三中小文件存储方法部分的说明即可,此处不再详述。
[0136] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重 点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0137] 为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。 当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0138] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可 借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质 上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品 可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些 部分所述的方法。
[0139] 最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语 仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些 实体或操作之间存在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何 其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备 不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方 法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的 要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。 [0140]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
【主权项】
1. 一种小文件存储方法,其特征在于,包括: 获取待存储的多个小文件的语义描述信息; 基于各个所述小文件的语义描述信息,确定各个所述小文件间的关联关系; 基于各个所述小文件间的关联关系,对各个所述小文件进行文件合并处理,得到至少 一个大文件; 存储所述至少一个大文件。2. 根据权利要求1所述的方法,其特征在于,所述获取待存储的多个小文件的语义描述 信息包括: 获取待存储的多个小文件的关键词。3. 根据权利要求2所述的方法,其特征在于,所述基于各个所述小文件的语义描述信 息,确定各个所述小文件间的关联关系包括: 计算各个所述小文件的关键词之间的语义相似度; 基于所述语义相似度,对各个所述小文件的关键词进行预设的聚类处理;其中,聚类处 理结果中同簇的关键词之间具有较高的语义相似度; 依据聚类处理结果,确定各个所述小文件间的关联关系。4. 根据权利要求1-3任意一项所述的方法,其特征在于,还包括以下的预处理过程: 依据预先设定的小文件识别标准,对上传的待存储文件进行小文件识别。5. 根据权利要求2-3任意一项所述的方法,其特征在于,在存储所述至少一个大文件之 前,还包括: 利用各个所述小文件的关键词,为各个所述小文件建立倒排索引; 依据所述文件合并处理的处理结果,确定各个所述小文件与相应大文件之间的映射关 系及各个所述小文件在相应大文件中的位置信息。6. 根据权利要求5所述的方法,其特征在于,还包括: 基于所述倒排索引、所述小文件与相应大文件之间的映射关系及各个所述小文件在相 应大文件中的位置信息进行所需的小文件读取。7. -种小文件存储系统,其特征在于,包括: 描述信息获取模块,用于获取待存储的多个小文件的语义描述信息; 关联关系确定模块,用于基于各个所述小文件的语义描述信息,确定各个所述小文件 间的关联关系; 小文件合并模块,用于基于各个所述小文件间的关联关系,对各个所述小文件进行文 件合并处理,得到至少一个大文件; 存储模块,用于存储所述至少一个大文件。8. 根据权利要求7所述的系统,其特征在于,所述描述信息获取模块包括: 关键词获取单元,用于获取待存储的多个小文件的关键词。9. 根据权利要求8所述的系统,其特征在于,所述关联关系确定模块包括: 计算单元,用于计算各个所述小文件的关键词之间的语义相似度; 聚类处理单元,用于基于所述语义相似度,对各个所述小文件的关键词进行预设的聚 类处理;其中,聚类处理结果中同簇关键词之间具有较高的语义相似度; 关联关系确定单元,用于依据聚类处理结果,确定各个所述小文件间的关联关系。10. 根据权利要求7-9任意一项所述的系统,其特征在于,还包括: 小文件识别模块,用于依据预先设定的小文件识别标准,对上传的待存储文件进行小 文件识别。11. 根据权利要求8-9任意一项所述的系统,其特征在于,还包括索引创建模块,所述索 引创建模块包括: 第一索引创建单元,用于利用各个所述小文件的关键词,为各个所述小文件建立倒排 索引; 第二索引创建单元,用于依据所述文件合并处理的处理结果,确定各个所述小文件与 相应大文件之间的映射关系及各个所述小文件在相应大文件中的位置信息。12. 根据权利要求11所述的系统,其特征在于,还包括: 小文件读取模块,用于基于所述倒排索引、所述小文件与相应大文件之间的映射关系 及各个所述小文件在相应大文件中的位置信息进行所需的小文件读取。
【文档编号】G06F17/30GK105843841SQ201610127995
【公开日】2016年8月10日
【申请日】2016年3月7日
【发明人】王金龙, 段良涛
【申请人】青岛理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1