CN105956183A - 一种分布式数据库中海量小文件的多级优化存储方法及系统 - Google Patents
一种分布式数据库中海量小文件的多级优化存储方法及系统 Download PDFInfo
- Publication number
- CN105956183A CN105956183A CN201610375410.3A CN201610375410A CN105956183A CN 105956183 A CN105956183 A CN 105956183A CN 201610375410 A CN201610375410 A CN 201610375410A CN 105956183 A CN105956183 A CN 105956183A
- Authority
- CN
- China
- Prior art keywords
- small documents
- merging
- queue
- file
- node
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种分布式数据库中海量小文件的多级优化存储方法及系统,方法包括:分布式数据库的管理节点响应于包括至少一个小文件的小文件输入事件,将所述小文件放入合并队列,将每个合并队列所包括的小文件分别合并后得到合并文件并保存在分布式数据库的工作节点中,所述小文件的文件长度小于预设小文件长度阈值;分布式数据库的管理节点为每个所述合并文件所包括的每个小文件构建索引并保存在分布式数据库的管理节点中;客户端根据所述索引,从所述合并文件中获取所述小文件。本发明从HDFS的文件存取流程出发,使用合并队列算法将小文件合并为大文件,减少小文件数量,同时,构建索引提高文件检索性能。
Description
技术领域
本发明涉及分布式数据库相关技术领域,特别是一种分布式数据库中海量小文件的多级优化存储方法及系统。
背景技术
在光缆网管系统中,系统数据库服务器负责光纤信息数据的分析、统计以及告警处理。所有的配置信息、状态信息、告警信息均经过应用服务器分析处理,将数据存储于数据库中或从数据库中查询。由于配置信息、告警信息和状态信息可通过海量小文件的方式进行存储,因此采用Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)存储和管理海量数据。然而,Hadoop平台存储和处理海量小文件,即文件尺寸远小于HDFS块大小(通常为64MB)的文件时,却会引起“小文件问题”。直接存储这类海量小文件时,会产生相应数量的目录对象和元数据信息,迅速耗尽管理节点(NameNode)内存。其次,访问大量小文件需要不断在工作节点(DateNode)间跳转,造成HDFS吞吐量大幅降低,产生无法忍受的时延。此外,处理大量小文件中的数据需要大量MapReduce任务,任务间调度和执行耗费的资源会成倍增长,使Hadoop集群整体性能大幅下降。
然而,现有的分布式数据库,或称为分布式文件系统,其主要通过利用分布式数据库提供的原生工具如Hadoop的HAR存储小文件,或是通过改变NameNode中对元数据的管理方式来提高小文件存储效率。
现有对小文件的处理方式性能不高,通用性较差。
发明内容
基于此,有必要针对现有技术的分布式数据库对小文件的处理方式性能不高的技术问题,提供一种分布式数据库中海量小文件的多级优化存储方法及系统。
本发明提供一种分布式数据库中海量小文件的多级优化存储方法,包括:
文件合并步骤,分布式数据库的管理节点响应于包括至少一个小文件的小文件输入事件,将所述小文件放入合并队列,将每个合并队列所包括的小文件分别合并后得到合并文件并保存在分布式数据库的工作节点中,所述小文件的文件长度小于预设小文件长度阈值;
文件索引步骤,分布式数据库的管理节点为每个所述合并文件所包括的每个小文件构建索引并保存在分布式数据库的管理节点中;
文件读取步骤,客户端根据所述索引,从所述合并文件中获取所述小文件。
本发明提供一种分布式数据库中海量小文件的多级优化存储系统,包括:
文件合并模块,用于:分布式数据库的管理节点响应于包括至少一个小文件的小文件输入事件,将所述小文件放入合并队列,将每个合并队列所包括的小文件分别合并后得到合并文件并保存在分布式数据库的工作节点中,所述小文件的文件长度小于预设小文件长度阈值;
文件索引模块,用于:分布式数据库的管理节点为每个所述合并文件所包括的每个小文件构建索引并保存在分布式数据库的管理节点中;
文件读取模块,用于:客户端根据所述索引,从所述合并文件中获取所述小文件。
本发明从HDFS的文件存取流程出发,使用合并队列算法将小文件合并为大文件,减少小文件数量,同时,构建索引提高文件检索性能。
附图说明
图1为本发明一种分布式数据库中海量小文件的多级优化存储方法的工作流程图;
图2为本发明最佳实施例的工作流程图;
图3为本发明一种分布式数据库中海量小文件的多级优化存储系统的系统模块图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的说明。
如图1所示为本发明一种分布式数据库中海量小文件的多级优化存储方法的工作流程图,包括:
步骤S101,分布式数据库的管理节点响应于包括至少一个小文件的小文件输入事件,将所述小文件放入合并队列,将每个合并队列所包括的小文件分别合并后得到合并文件并保存在分布式数据库的工作节点中,所述小文件的文件长度小于预设小文件长度阈值;
步骤S102,分布式数据库的管理节点为每个所述合并文件所包括的每个小文件构建索引并保存在分布式数据库的管理节点中;
步骤S103,客户端根据所述索引,从所述合并文件中获取所述小文件。
本发明从HDFS的文件存取流程出发,使用合并队列算法将小文件合并为大文件,减少小文件数量,同时,构建索引提高文件检索性能。
在其中一个实施例中,所述步骤S101,具体包括:
小文件输入响应子步骤,分布式数据库的管理节点响应于包括至少一个小文件的小文件输入事件;
小文件选择子步骤,选择所述小文件输入事件所包括的其中一个小文件作为当前小文件;
长度比较子步骤,获取预设的合并队列组中所有合并队列的剩余长度,如果所述当前小文件的文件长度小于或等于所有合并队列的剩余长度的最大值,则将剩余长度大于或等于所述当前小文件的文件长度的合并队列作为当前合并队列,执行小文件加入子步骤,如果所述当前小文件的文件长度大于所有合并队列的剩余长度的最大值,则执行合并队列选择子步骤;
合并缓冲选择子步骤,将剩余长度最小的合并队列作为待判断合并队列,如果所述待判断合并队列满足预设均衡合并条件,则将所述待判断合并队列所包括的小文件合并得到合并文件并保存在分布式数据库的工作节点后,清空所述待判断合并队列,将所述待判断合并队列作为当前合并队列,执行小文件加入子步骤,如果所述待判断合并队列不满足预设均衡合并条件,则从预设的缓冲队列组中选择一个缓冲队列作为当前合并队列,从缓冲队列组中移除并加入合并队列组,执行小文件加入子步骤;
小文件加入子步骤,将所述当前小文件加入所述当前合并队列,如果所述小文件输入事件还包括其小文件,则执行小文件选择子步骤,否则将所述合并队列组中每个合并队列所包括的小文件分别合并后得到合并文件并保存在分布式数据库的工作节点中。
本实施例通过缓冲队列和合并队列对小文件进行合并,其中,均衡合并条件优选为:预设合并阈值减去合并队列的剩余长度大于或等于预设均衡值。优选地,C-4.35≤P≤C,其中C为合并阈值,一般为64MB,P为均衡值。
在其中一个实施例中,所述合并缓冲选择子步骤,具体包括:
将剩余长度最小的合并队列作为待判断合并队列;
如果预设的缓冲队列组所包括的缓冲队列的数量小于或等于1,则将所述待判断合并队列所包括的小文件合并得到合并文件并保存在分布式数据库的工作节点后,清空所述待判断合并队列,将所述待判断合并队列作为当前合并队列,执行小文件加入子步骤;
如果预设的缓冲队列组所包括的缓冲队列的数量大于1,则判断所述待判断合并队列是否满足预设均衡合并条件:
如果所述待判断合并队列满足预设均衡合并条件,则将所述待判断合并队列所包括的小文件合并得到合并文件并保存在分布式数据库的工作节点后,清空所述待判断合并队列,如果所述合并队列组所包括的合并队列的数量大于预设合并队列阈值,则将所述待判断合并队列从所述合并队列组中移除并作为缓冲队列加入缓冲队列组,执行长度比较子步骤,如果所述合并队列组所包括的合并队列的数量小于或等于预设合并队列阈值,则将所述待判断合并队列作为当前合并队列,执行小文件加入子步骤;
如果所述待判断合并队列不满足预设均衡合并条件,则选择一个预设的缓冲队列作为当前合并队列加入合并队列组,执行小文件加入子步骤。
本实施例中,通过对缓冲队列和合并队列的切换,避免缓冲队列不足。
在其中一个实施例中,所述步骤S102,具体包括:
小文件预设置子步骤,分布式数据库的管理节点将每个所述合并文件所包括的每个小文件的文件名映射为哈希值,将每个小文件所对应的合并文件的文件名和每个小文件在所对应的合并文件中的位置信息作为索引内容;
索引树构建子步骤,构建包括至少一层的文件名索引树,以所述文件名索引树的根节点为当前节点,所述文件名索引树的每一层与一个质数对应;
插入小文件选择子步骤,选择其中一个小文件作为当前插入小文件;
节点判断子步骤,若当前节点置为未使用,则将所述当前插入小文件的哈希值和索引内容插入当前节点,并将当前节点置为使用,若当前节点置为使用,则计算所述当前插入小文件的哈希值与当前层所对应质数的余数i;
子节点判断子步骤,如果当前节点的第i个子节点为空,则创建当前节点的第i个子节点,将当前节点的第i个子节点作为当前节点,执行节点判断子步骤,否则,将当前节点的第i个子节点作为当前节点,执行节点判断子步骤。
本实施例通过文件名索引树对全局的小文件进行索引。
在其中一个实施例中:
所述步骤S102,具体包括:分布式数据库的管理节点构建用于指示所有每个小文件所对应的合并文件的文件名和每个小文件在所对应的合并文件中的位置信息的文件名索引树,为每个合并文件构建一个平衡多路查找树,每个所述平衡多路查找树包括对应的合并文件所包括的每个小文件在所对应的合并文件中的位置信息;
所述步骤S103,具体包括:
客户端响应于包括小文件标识的小文件读取请求,从本地缓存中查找关于所述小文件标识所指定的小文件所在的合并文件的平衡多路查找树;
如果所述本地缓存中有关于所述小文件标识所指定的小文件所在的合并文件的平衡多路查找树,则根据所述平衡多路查找树,从分布式数据库的工作节点中获取所述小文件标识所指定的小文件;
如果所述本地缓存中没有关于所述小文件标识所指定的小文件所在的合并文件的平衡多路查找树,则所述客户端向所述分布式数据库的管理节点发送包括小文件标识的小文件读取请求,所述分布式数据库的管理节点根据所述文件名索引树查找所述小文件标识所指定的小文件,并获取所述小文件标识所指定的小文件所对应的合并文件的平衡多路查找树,将所述小文件和所述平衡多路查找树返回客户端,所述客户端保存小文件并在缓存中保存所述平衡多路查找树。
本实施例通过文件名索引树和平衡多路查找树进行两级预取缓存策略,提前缓存相关数据,最终实现海量小文件的高效存储。
如图2所示为本发明最佳实施例的工作流程图,包括:
步骤S201,对于用户输入的大文件直接存入HDFS,将小文件使用均衡合并队列算法进行合并;
步骤S202,对存入HDFS的合并文件构建全局文件名索引树(FNI-树)与合并文件的平衡多路查找树(B+树);
步骤S203,客户端读取文件时采取索引预取、合并文件预取的策略,并使用LFU淘汰策略管理缓存信息;
其中,步骤S201具体包括:
S211、初始化数据结构。设合并队列集合M={Q1,Q2,…,Qm},记初始合并队列个数为Mnum;设缓冲队列集合N={q1,q2,…,qn},且card(N)<card(M)。设以上队列长度均为合并阈值C,一般为64MB。均衡值为P,取值范围为C-4.35≤P≤C;
S212、对于当前输入文件Fj,长度为wj,当前合并队列Q1,Q2,…,Qm所余长度为若则转至步骤S213,否则,从的Qk中选取一个Ql(1≤l≤m)使得即Ql为能容下Fj且最接近wj的队列,将Fj放入Ql中。重复步骤S212,直到无新文件输入后转至步骤S216;
S213、选取一个Qs(1≤s≤m)使若当前card(N)≠1,转至步骤S214,否则将Qs中文件合并,清空Qs,Fj入队列Qs,并重复步骤S212,其中card(N)表示缓冲队列集合N中缓冲队列的数量;
S214、若即Qs未符合均衡合并条件,则Fj入队列qi,N←N-{qi},M←M∪{qi}(1≤i≤n),并转至步骤S212,否则转至步骤S215;
S215、Qs符合均衡合并条件,合并Qs,合并后若card(M)>Mnum,则M←M-{Qs},N←N∪{Qs},对Fj重新执行步骤(S12),否则Fj入队列Qs,其中card(M)表示合并队列集合M中合并队列的数量;
S216、已无新的待合并文件输入后,将M中队列内文件依次合并输出,存入HDFS。
其中,步骤S202具体包括:
S221、使用哈希算法将小文件名映射为唯一的非负整数关键字,索引内容为该小文件对应合并文件名和在合并文件中的位置信息;
S222、初始化FNI-树;使用2、3、5、7、11、13、17、19、23、29作为构建FNI-树的质数数列;设当前要插入的小文件名哈希值为k,索引内容为v,l表示当前层数,Zl为当前层对应的质数,N表示当前节点,Ni表示N第i个子节点地址;根节点使用标识符置为True;从根节点开始,按步骤S223至步骤S224插入节点,按步骤S225至步骤S227查找节点,按步骤S228删除节点;
S223、若当前节点N未被使用,则将k、v插入该节点,并将使用标识符置为True,结束插入;若N已被使用,则计算k与当前层对应质数的余数i,即i=kmodZl;
S224、若Ni为空,则创建该子节点,令N←Ni,l←l+1,重复步骤S223;否则令N←Ni,l←l+1,重复步骤S223;
S225、若当前节点N已被使用,则比较该节点关键字是否与k相等,若相等,返回该节点索引内容,查找结束,若不等则转至步骤S227;
S226、若N未被使用,转至步骤S227;
S227、计算i=kmodZl,令N←Ni,l←l+1。若1≤l≤L+1,重复步骤S225,否则结束查找,返回失败;
S228、对于删除操作,只需按步骤S225至步骤S227找到目标节点,将其使用标识符置为False即可;
S229、对于每个合并文件,使用一棵以小文件名为节点关键字、小文件位置为叶子节点内容的B+树,保存于磁盘中;
其中,步骤S203具体包括:
S231、若客户端需要读取某小文件且本地缓存中并不存在其对应的索引,触发索引预取机制,客户端向NameNode发出小文件访问请求的同时请求返回小文件对应的索引,即NameNode磁盘中合并文件的B+树索引。收到索引文件后,客户端缓存该索引和一并返回的元数据信息。若客户端再次读取属于该合并文件的小文件时,可直接由索引和元数据完成定位,直接从DataNode中读取该文件。
S232、在步骤S331索引预取机制的基础上,若客户端读取某小文件时,在缓存中命中其索引,触发合并文件预取机制,在读取目标文件时将所属的合并文件预取至缓存中。若并未命中该小文件的索引缓存,则只触发索引预取机制。
S233、客户端缓存的预取信息采用LFU(Least Frequent ly Used,最近最不常用)淘汰策略,客户端定时更新预取信息缓存,避免缓存内容过多。客户端在预取的索引和合并文件首部增加文件访问频率标识,每次访问该条信息将访问频率加1,每次到更新时间后将访问频率最少的信息移除。
本发明利用包含均衡合并队列算法、混合索引策略和预取缓存策略的多级优化方法,使得Hadoop在存储海量小文件时,NameNode名字节点负载得到有效降低,查找小文件的响应速度提高,频繁传输小文件时的集群网络压力得到缓解,达到高效存储海量小文件的效果。
本发明的实例中,取某用户整个输入过程中的2个小文件:小文件a,体积为1MB;小文件b,体积为2MB,作为步骤S1均衡合并算法部分的实例数据。分别以78、469、321为步骤S2部分中小文件a、小文件b、小文件c对应的小文件名关键字实例数据。以合并文件H和其包含的小文件a、小文件b作为步骤S203的实例数据。
S211、设共有3个合并队列Q1,Q2,Q3、2个缓冲队列q1,q2,合并阈值C为64MB,均衡值P为63MB。
S212、假设当前合并队列剩余长度分别为 对于输入文件小文件a,Q1为最适队列,将小文件a放入Q1,此时接着输入小文件b,转至步骤S213。
S213、Q1剩余空间最少且当前缓冲队列个数不为1,转至步骤S214。
S214、因此转入步骤S215。
S215、合并Q1中的文件并将其清空,将小文件b放入Q1中,转至步骤S212。
S216、当已无新的文件输入后,将合并队列中的文件依次合并,存入HDFS2。
S221、S222、S223、对于关键字78,78对2取余,结果为0,将关键字78及其索引内容插入根节点的第一个子节点A中。对于关键字469,469对2取余,结果为1,将关键字469及其索引内容插入根节点的第二个子节点B中。对于关键字321,321对2取余,结果为1,但节点B已被469占用,计算321对3的余数为0,转至步骤S224.
S224、节点B的第一个子节点C未被占用,将关键字321及其索引内容插入节点C中。
S225、S226、S227、要查找关键字78,先对根节点构造质数2取余,得到余数为0,比较根节点第一个子节点A中关键字是否等于78。结果相等,查找成功,返回A中索引内容。
S228、欲删除关键字为78的节点,按上述步骤查找到其在节点A中,将A的使用标识符置为False,完成操作。
S231、客户端欲读取小文件a,且未在本地缓存中命中其索引,则客户端将请求NameNode返回小文件a的元数据和小文件a所在的合并文件H的B+树索引,并将返回结果保存在客户端。
S232、客户端欲读取小文件b,由于其所在的合并文件H的索引已由步骤S231取得,故命中小文件b索引,客户端读取DataNode中小文件b内容的同时,读取并保存合并文件H的内容。
S233、客户端每次访问预取信息时将该信息访问频率加1,定期将访问频率为0的信息移除。
如图3所示为本发明一种分布式数据库中海量小文件的多级优化存储系统的系统模块图,包括:
文件合并模块301,用于:分布式数据库的管理节点响应于包括至少一个小文件的小文件输入事件,将所述小文件放入合并队列,将每个合并队列所包括的小文件分别合并后得到合并文件并保存在分布式数据库的工作节点中,所述小文件的文件长度小于预设小文件长度阈值;
文件索引模块302,用于:分布式数据库的管理节点为每个所述合并文件所包括的每个小文件构建索引并保存在分布式数据库的管理节点中;
文件读取模块303,用于:客户端根据所述索引,从所述合并文件中获取所述小文件。
在其中一个实施例中,所述文件合并模块,具体用于:
小文件输入响应子模块,用于:分布式数据库的管理节点响应于包括至少一个小文件的小文件输入事件;
小文件选择子模块,用于:选择所述小文件输入事件所包括的其中一个小文件作为当前小文件;
长度比较子模块,用于:获取预设的合并队列组中所有合并队列的剩余长度,如果所述当前小文件的文件长度小于或等于所有合并队列的剩余长度的最大值,则将剩余长度大于或等于所述当前小文件的文件长度的合并队列作为当前合并队列,执行小文件加入子模块,如果所述当前小文件的文件长度大于所有合并队列的剩余长度的最大值,则执行合并队列选择子模块;
合并缓冲选择子模块,用于:将剩余长度最小的合并队列作为待判断合并队列,如果所述待判断合并队列满足预设均衡合并条件,则将所述待判断合并队列所包括的小文件合并得到合并文件并保存在分布式数据库的工作节点后,清空所述待判断合并队列,将所述待判断合并队列作为当前合并队列,执行小文件加入子模块,如果所述待判断合并队列不满足预设均衡合并条件,则从预设的缓冲队列组中选择一个缓冲队列作为当前合并队列,从缓冲队列组中移除并加入合并队列组,执行小文件加入子模块;
小文件加入子模块,用于:将所述当前小文件加入所述当前合并队列,如果所述小文件输入事件还包括其小文件,则执行小文件选择子模块,否则将所述合并队列组中每个合并队列所包括的小文件分别合并后得到合并文件并保存在分布式数据库的工作节点中。
在其中一个实施例中,所述合并缓冲选择子模块,具体用于:
将剩余长度最小的合并队列作为待判断合并队列;
如果预设的缓冲队列组所包括的缓冲队列的数量小于或等于6,则将所述待判断合并队列所包括的小文件合并得到合并文件并保存在分布式数据库的工作节点后,清空所述待判断合并队列,将所述待判断合并队列作为当前合并队列,执行小文件加入子模块;
如果预设的缓冲队列组所包括的缓冲队列的数量大于6,则判断所述待判断合并队列是否满足预设均衡合并条件:
如果所述待判断合并队列满足预设均衡合并条件,则将所述待判断合并队列所包括的小文件合并得到合并文件并保存在分布式数据库的工作节点后,清空所述待判断合并队列,如果所述合并队列组所包括的合并队列的数量大于预设合并队列阈值,则将所述待判断合并队列从所述合并队列组中移除并作为缓冲队列加入缓冲队列组,执行长度比较子模块,如果所述合并队列组所包括的合并队列的数量小于或等于预设合并队列阈值,则将所述待判断合并队列作为当前合并队列,执行小文件加入子模块;
如果所述待判断合并队列不满足预设均衡合并条件,则选择一个预设的缓冲队列作为当前合并队列加入合并队列组,执行小文件加入子模块。
在其中一个实施例中,所述文件索引模块,具体用于:
小文件预设置子模块,用于:分布式数据库的管理节点将每个所述合并文件所包括的每个小文件的文件名映射为哈希值,将每个小文件所对应的合并文件的文件名和每个小文件在所对应的合并文件中的位置信息作为索引内容;
索引树构建子模块,用于:构建包括至少一层的文件名索引树,以所述文件名索引树的根节点为当前节点,所述文件名索引树的每一层与一个质数对应;
插入小文件选择子模块,用于:选择其中一个小文件作为当前插入小文件;
节点判断子模块,用于:若当前节点置为未使用,则将所述当前插入小文件的哈希值和索引内容插入当前节点,并将当前节点置为使用,若当前节点置为使用,则计算所述当前插入小文件的哈希值与当前层所对应质数的余数i;
子节点判断子模块,用于:如果当前节点的第i个子节点为空,则创建当前节点的第i个子节点,将当前节点的第i个子节点作为当前节点,执行节点判断子模块,否则,将当前节点的第i个子节点作为当前节点,执行节点判断子模块。
在其中一个实施例中:
所述文件索引模块,具体用于:分布式数据库的管理节点构建用于指示所有每个小文件所对应的合并文件的文件名和每个小文件在所对应的合并文件中的位置信息的文件名索引树,为每个合并文件构建一个平衡多路查找树,每个所述平衡多路查找树包括对应的合并文件所包括的每个小文件在所对应的合并文件中的位置信息;
所述文件读取模块,具体用于:
客户端响应于包括小文件标识的小文件读取请求,从本地缓存中查找关于所述小文件标识所指定的小文件所在的合并文件的平衡多路查找树;
如果所述本地缓存中有关于所述小文件标识所指定的小文件所在的合并文件的平衡多路查找树,则根据所述平衡多路查找树,从分布式数据库的工作节点中获取所述小文件标识所指定的小文件;
如果所述本地缓存中没有关于所述小文件标识所指定的小文件所在的合并文件的平衡多路查找树,则所述客户端向所述分布式数据库的管理节点发送包括小文件标识的小文件读取请求,所述分布式数据库的管理节点根据所述文件名索引树查找所述小文件标识所指定的小文件,并获取所述小文件标识所指定的小文件所对应的合并文件的平衡多路查找树,将所述小文件和所述平衡多路查找树返回客户端,所述客户端保存小文件并在缓存中保存所述平衡多路查找树。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种分布式数据库中海量小文件的多级优化存储方法,其特征在于,包括:
文件合并步骤,分布式数据库的管理节点响应于包括至少一个小文件的小文件输入事件,将所述小文件放入合并队列,将每个合并队列所包括的小文件分别合并后得到合并文件并保存在分布式数据库的工作节点中,所述小文件的文件长度小于预设小文件长度阈值;
文件索引步骤,分布式数据库的管理节点为每个所述合并文件所包括的每个小文件构建索引并保存在分布式数据库的管理节点中;
文件读取步骤,客户端根据所述索引,从所述合并文件中获取所述小文件。
2.根据权利要求1所述的分布式数据库中海量小文件的多级优化存储方法,其特征在于,所述文件合并步骤,具体包括:
小文件输入响应子步骤,分布式数据库的管理节点响应于包括至少一个小文件的小文件输入事件;
小文件选择子步骤,选择所述小文件输入事件所包括的其中一个小文件作为当前小文件;
长度比较子步骤,获取预设的合并队列组中所有合并队列的剩余长度,如果所述当前小文件的文件长度小于或等于所有合并队列的剩余长度的最大值,则将剩余长度大于或等于所述当前小文件的文件长度的合并队列作为当前合并队列,执行小文件加入子步骤,如果所述当前小文件的文件长度大于所有合并队列的剩余长度的最大值,则执行合并队列选择子步骤;
合并缓冲选择子步骤,将剩余长度最小的合并队列作为待判断合并队列,如果所述待判断合并队列满足预设均衡合并条件,则将所述待判断合并队列所包括的小文件合并得到合并文件并保存在分布式数据库的工作节点后,清空所述待判断合并队列,将所述待判断合并队列作为当前合并队列,执行小文件加入子步骤,如果所述待判断合并队列不满足预设均衡合并条件,则从预设的缓冲队列组中选择一个缓冲队列作为当前合并队列,从缓冲队列组中移除并加入合并队列组,执行小文件加入子步骤;
小文件加入子步骤,将所述当前小文件加入所述当前合并队列,如果所述小文件输入事件还包括其小文件,则执行小文件选择子步骤,否则将所述合并队列组中每个合并队列所包括的小文件分别合并后得到合并文件并保存在分布式数据库的工作节点中。
3.根据权利要求2所述的分布式数据库中海量小文件的多级优化存储方法,其特征在于,所述合并缓冲选择子步骤,具体包括:
将剩余长度最小的合并队列作为待判断合并队列;
如果预设的缓冲队列组所包括的缓冲队列的数量小于或等于1,则将所述待判断合并队列所包括的小文件合并得到合并文件并保存在分布式数据库的工作节点后,清空所述待判断合并队列,将所述待判断合并队列作为当前合并队列,执行小文件加入子步骤;
如果预设的缓冲队列组所包括的缓冲队列的数量大于1,则判断所述待判断合并队列是否满足预设均衡合并条件:
如果所述待判断合并队列满足预设均衡合并条件,则将所述待判断合并队列所包括的小文件合并得到合并文件并保存在分布式数据库的工作节点后,清空所述待判断合并队列,如果所述合并队列组所包括的合并队列的数量大于预设合并队列阈值,则将所述待判断合并队列从所述合并队列组中移除并作为缓冲队列加入缓冲队列组,执行长度比较子步骤,如果所述合并队列组所包括的合并队列的数量小于或等于预设合并队列阈值,则将所述待判断合并队列作为当前合并队列,执行小文件加入子步骤;
如果所述待判断合并队列不满足预设均衡合并条件,则选择一个预设的缓冲队列作为当前合并队列加入合并队列组,执行小文件加入子步骤。
4.根据权利要求1所述的分布式数据库中海量小文件的多级优化存储方法,其特征在于,所述文件索引步骤,具体包括:
小文件预设置子步骤,分布式数据库的管理节点将每个所述合并文件所包括的每个小文件的文件名映射为哈希值,将每个小文件所对应的合并文件的文件名和每个小文件在所对应的合并文件中的位置信息作为索引内容;
索引树构建子步骤,构建包括至少一层的文件名索引树,以所述文件名索引树的根节点为当前节点,所述文件名索引树的每一层与一个质数对应;
插入小文件选择子步骤,选择其中一个小文件作为当前插入小文件;
节点判断子步骤,若当前节点置为未使用,则将所述当前插入小文件的哈希值和索引内容插入当前节点,并将当前节点置为使用,若当前节点置为使用,则计算所述当前插入小文件的哈希值与当前层所对应质数的余数i;
子节点判断子步骤,如果当前节点的第i个子节点为空,则创建当前节点的第i个子节点,将当前节点的第i个子节点作为当前节点,执行节点判断子步骤,否则,将当前节点的第i个子节点作为当前节点,执行节点判断子步骤。
5.根据权利要求1所述的分布式数据库中海量小文件的多级优化存储方法,其特征在于:
所述文件索引步骤,具体包括:分布式数据库的管理节点构建用于指示所有每个小文件所对应的合并文件的文件名和每个小文件在所对应的合并文件中的位置信息的文件名索引树,为每个合并文件构建一个平衡多路查找树,每个所述平衡多路查找树包括对应的合并文件所包括的每个小文件在所对应的合并文件中的位置信息;
所述文件读取步骤,具体包括:
客户端响应于包括小文件标识的小文件读取请求,从本地缓存中查找关于所述小文件标识所指定的小文件所在的合并文件的平衡多路查找树;
如果所述本地缓存中有关于所述小文件标识所指定的小文件所在的合并文件的平衡多路查找树,则根据所述平衡多路查找树,从分布式数据库的工作节点中获取所述小文件标识所指定的小文件;
如果所述本地缓存中没有关于所述小文件标识所指定的小文件所在的合并文件的平衡多路查找树,则所述客户端向所述分布式数据库的管理节点发送包括小文件标识的小文件读取请求,所述分布式数据库的管理节点根据所述文件名索引树查找所述小文件标识所指定的小文件,并获取所述小文件标识所指定的小文件所对应的合并文件的平衡多路查找树,将所述小文件和所述平衡多路查找树返回客户端,所述客户端保存小文件并在缓存中保存所述平衡多路查找树。
6.一种分布式数据库中海量小文件的多级优化存储系统,其特征在于,包括:
文件合并模块,用于:分布式数据库的管理节点响应于包括至少一个小文件的小文件输入事件,将所述小文件放入合并队列,将每个合并队列所包括的小文件分别合并后得到合并文件并保存在分布式数据库的工作节点中,所述小文件的文件长度小于预设小文件长度阈值;
文件索引模块,用于:分布式数据库的管理节点为每个所述合并文件所包括的每个小文件构建索引并保存在分布式数据库的管理节点中;
文件读取模块,用于:客户端根据所述索引,从所述合并文件中获取所述小文件。
7.根据权利要求6所述的分布式数据库中海量小文件的多级优化存储系统,其特征在于,所述文件合并模块,具体用于:
小文件输入响应子模块,用于:分布式数据库的管理节点响应于包括至少一个小文件的小文件输入事件;
小文件选择子模块,用于:选择所述小文件输入事件所包括的其中一个小文件作为当前小文件;
长度比较子模块,用于:获取预设的合并队列组中所有合并队列的剩余长度,如果所述当前小文件的文件长度小于或等于所有合并队列的剩余长度的最大值,则将剩余长度大于或等于所述当前小文件的文件长度的合并队列作为当前合并队列,执行小文件加入子模块,如果所述当前小文件的文件长度大于所有合并队列的剩余长度的最大值,则执行合并队列选择子模块;
合并缓冲选择子模块,用于:将剩余长度最小的合并队列作为待判断合并队列,如果所述待判断合并队列满足预设均衡合并条件,则将所述待判断合并队列所包括的小文件合并得到合并文件并保存在分布式数据库的工作节点后,清空所述待判断合并队列,将所述待判断合并队列作为当前合并队列,执行小文件加入子模块,如果所述待判断合并队列不满足预设均衡合并条件,则从预设的缓冲队列组中选择一个缓冲队列作为当前合并队列,从缓冲队列组中移除并加入合并队列组,执行小文件加入子模块;
小文件加入子模块,用于:将所述当前小文件加入所述当前合并队列,如果所述小文件输入事件还包括其小文件,则执行小文件选择子模块,否则将所述合并队列组中每个合并队列所包括的小文件分别合并后得到合并文件并保存在分布式数据库的工作节点中。
8.根据权利要求7所述的分布式数据库中海量小文件的多级优化存储系统,其特征在于,所述合并缓冲选择子模块,具体用于:
将剩余长度最小的合并队列作为待判断合并队列;
如果预设的缓冲队列组所包括的缓冲队列的数量小于或等于6,则将所述待判断合并队列所包括的小文件合并得到合并文件并保存在分布式数据库的工作节点后,清空所述待判断合并队列,将所述待判断合并队列作为当前合并队列,执行小文件加入子模块;
如果预设的缓冲队列组所包括的缓冲队列的数量大于6,则判断所述待判断合并队列是否满足预设均衡合并条件:
如果所述待判断合并队列满足预设均衡合并条件,则将所述待判断合并队列所包括的小文件合并得到合并文件并保存在分布式数据库的工作节点后,清空所述待判断合并队列,如果所述合并队列组所包括的合并队列的数量大于预设合并队列阈值,则将所述待判断合并队列从所述合并队列组中移除并作为缓冲队列加入缓冲队列组,执行长度比较子模块,如果所述合并队列组所包括的合并队列的数量小于或等于预设合并队列阈值,则将所述待判断合并队列作为当前合并队列,执行小文件加入子模块;
如果所述待判断合并队列不满足预设均衡合并条件,则选择一个预设的缓冲队列作为当前合并队列加入合并队列组,执行小文件加入子模块。
9.根据权利要求6所述的分布式数据库中海量小文件的多级优化存储系统,其特征在于,所述文件索引模块,具体用于:
小文件预设置子模块,用于:分布式数据库的管理节点将每个所述合并文件所包括的每个小文件的文件名映射为哈希值,将每个小文件所对应的合并文件的文件名和每个小文件在所对应的合并文件中的位置信息作为索引内容;
索引树构建子模块,用于:构建包括至少一层的文件名索引树,以所述文件名索引树的根节点为当前节点,所述文件名索引树的每一层与一个质数对应;
插入小文件选择子模块,用于:选择其中一个小文件作为当前插入小文件;
节点判断子模块,用于:若当前节点置为未使用,则将所述当前插入小文件的哈希值和索引内容插入当前节点,并将当前节点置为使用,若当前节点置为使用,则计算所述当前插入小文件的哈希值与当前层所对应质数的余数i;
子节点判断子模块,用于:如果当前节点的第i个子节点为空,则创建当前节点的第i个子节点,将当前节点的第i个子节点作为当前节点,执行节点判断子模块,否则,将当前节点的第i个子节点作为当前节点,执行节点判断子模块。
10.根据权利要求6所述的分布式数据库中海量小文件的多级优化存储系统,其特征在于:
所述文件索引模块,具体用于:分布式数据库的管理节点构建用于指示所有每个小文件所对应的合并文件的文件名和每个小文件在所对应的合并文件中的位置信息的文件名索引树,为每个合并文件构建一个平衡多路查找树,每个所述平衡多路查找树包括对应的合并文件所包括的每个小文件在所对应的合并文件中的位置信息;
所述文件读取模块,具体用于:
客户端响应于包括小文件标识的小文件读取请求,从本地缓存中查找关于所述小文件标识所指定的小文件所在的合并文件的平衡多路查找树;
如果所述本地缓存中有关于所述小文件标识所指定的小文件所在的合并文件的平衡多路查找树,则根据所述平衡多路查找树,从分布式数据库的工作节点中获取所述小文件标识所指定的小文件;
如果所述本地缓存中没有关于所述小文件标识所指定的小文件所在的合并文件的平衡多路查找树,则所述客户端向所述分布式数据库的管理节点发送包括小文件标识的小文件读取请求,所述分布式数据库的管理节点根据所述文件名索引树查找所述小文件标识所指定的小文件,并获取所述小文件标识所指定的小文件所对应的合并文件的平衡多路查找树,将所述小文件和所述平衡多路查找树返回客户端,所述客户端保存小文件并在缓存中保存所述平衡多路查找树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610375410.3A CN105956183B (zh) | 2016-05-30 | 2016-05-30 | 一种分布式数据库中海量小文件的多级优化存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610375410.3A CN105956183B (zh) | 2016-05-30 | 2016-05-30 | 一种分布式数据库中海量小文件的多级优化存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105956183A true CN105956183A (zh) | 2016-09-21 |
CN105956183B CN105956183B (zh) | 2019-04-30 |
Family
ID=56907377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610375410.3A Active CN105956183B (zh) | 2016-05-30 | 2016-05-30 | 一种分布式数据库中海量小文件的多级优化存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105956183B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776967A (zh) * | 2016-12-05 | 2017-05-31 | 哈尔滨工业大学(威海) | 基于时序聚合算法的海量小文件实时存储方法及装置 |
CN106921665A (zh) * | 2017-03-06 | 2017-07-04 | 北京东土军悦科技有限公司 | 一种报文处理方法及网络设备 |
CN107341203A (zh) * | 2017-06-22 | 2017-11-10 | 北京北信源软件股份有限公司 | 一种分布式搜索引擎的访问控制和索引优化方法与装置 |
CN107357921A (zh) * | 2017-07-21 | 2017-11-17 | 北京奇艺世纪科技有限公司 | 一种小文件存储定位方法及系统 |
CN107509085A (zh) * | 2017-08-24 | 2017-12-22 | 山东浪潮商用系统有限公司 | 一种流媒体文件的存储方法及装置 |
CN107679177A (zh) * | 2017-09-29 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种基于hdfs的小文件存储优化方法、装置、设备 |
CN107861686A (zh) * | 2017-09-26 | 2018-03-30 | 深圳前海微众银行股份有限公司 | 文件存储方法、服务端和计算机可读存储介质 |
CN108228673A (zh) * | 2016-12-22 | 2018-06-29 | 上海凯翔信息科技有限公司 | 一种文件快速合并的方法和系统 |
CN108614879A (zh) * | 2018-04-28 | 2018-10-02 | 众安信息技术服务有限公司 | 小文件处理方法与装置 |
CN109120885A (zh) * | 2017-06-26 | 2019-01-01 | 杭州海康威视数字技术股份有限公司 | 视频数据获取方法及装置 |
WO2019000388A1 (en) * | 2017-06-30 | 2019-01-03 | Microsoft Technology Licensing, Llc | ANCHORING TREE STRETCHING FOR IMPROVED SIMULTANEITY AND PERFORMANCE IN PAGES BEACH INDEX MANAGEMENT |
CN110147203A (zh) * | 2019-05-16 | 2019-08-20 | 北京金山云网络技术有限公司 | 一种文件管理方法、装置、电子设备及存储介质 |
CN110245121A (zh) * | 2019-05-08 | 2019-09-17 | 深圳市战音科技有限公司 | 文件管理方法、系统以及电子设备 |
CN110377598A (zh) * | 2018-04-11 | 2019-10-25 | 西安邮电大学 | 一种基于智能制造过程的多源异构数据存储方法 |
CN110457265A (zh) * | 2019-08-20 | 2019-11-15 | 上海商汤智能科技有限公司 | 数据处理方法、装置及存储介质 |
CN110515920A (zh) * | 2019-08-30 | 2019-11-29 | 北京浪潮数据技术有限公司 | 一种基于Hadoop的海量小文件存取方法和系统 |
CN111258955A (zh) * | 2018-11-30 | 2020-06-09 | 北京白山耘科技有限公司 | 一种文件读取方法和系统、存储介质、计算机设备 |
CN111881092A (zh) * | 2020-06-22 | 2020-11-03 | 武汉绿色网络信息服务有限责任公司 | 一种基于cassandra数据库的文件合并的方法和装置 |
CN111984600A (zh) * | 2020-08-27 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种文件聚合方法、装置、设备及可读存储介质 |
CN112422404A (zh) * | 2020-10-19 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 消息处理方法及系统 |
CN113177024A (zh) * | 2021-06-29 | 2021-07-27 | 南京烽火星空通信发展有限公司 | 一种海量数据场景下的数据全局合并方法 |
CN113542148A (zh) * | 2021-07-15 | 2021-10-22 | 恒安嘉新(北京)科技股份公司 | 一种报文聚合方法、装置、网络网卡及可读存储介质 |
US11249961B2 (en) | 2017-06-30 | 2022-02-15 | Microsoft Technology Licensing, Llc | Online schema change of range-partitioned index in a distributed storage system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133882A (zh) * | 2014-07-28 | 2014-11-05 | 四川大学 | 一种基于hdfs的小文件处理方法 |
CN104536959A (zh) * | 2014-10-16 | 2015-04-22 | 南京邮电大学 | 一种Hadoop存取海量小文件的优化方法 |
CN105138571A (zh) * | 2015-07-24 | 2015-12-09 | 四川长虹电器股份有限公司 | 分布式文件系统及其存储海量小文件的方法 |
CN105183839A (zh) * | 2015-09-02 | 2015-12-23 | 华中科技大学 | 一种基于Hadoop的小文件分级索引的存储优化方法 |
CN105404652A (zh) * | 2015-10-29 | 2016-03-16 | 河海大学 | 一种基于hdfs的海量小文件处理方法 |
CN105573674A (zh) * | 2015-12-15 | 2016-05-11 | 西安交通大学 | 一种面向海量小文件的分布式存储方法 |
-
2016
- 2016-05-30 CN CN201610375410.3A patent/CN105956183B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133882A (zh) * | 2014-07-28 | 2014-11-05 | 四川大学 | 一种基于hdfs的小文件处理方法 |
CN104536959A (zh) * | 2014-10-16 | 2015-04-22 | 南京邮电大学 | 一种Hadoop存取海量小文件的优化方法 |
CN105138571A (zh) * | 2015-07-24 | 2015-12-09 | 四川长虹电器股份有限公司 | 分布式文件系统及其存储海量小文件的方法 |
CN105183839A (zh) * | 2015-09-02 | 2015-12-23 | 华中科技大学 | 一种基于Hadoop的小文件分级索引的存储优化方法 |
CN105404652A (zh) * | 2015-10-29 | 2016-03-16 | 河海大学 | 一种基于hdfs的海量小文件处理方法 |
CN105573674A (zh) * | 2015-12-15 | 2016-05-11 | 西安交通大学 | 一种面向海量小文件的分布式存储方法 |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776967A (zh) * | 2016-12-05 | 2017-05-31 | 哈尔滨工业大学(威海) | 基于时序聚合算法的海量小文件实时存储方法及装置 |
CN106776967B (zh) * | 2016-12-05 | 2020-03-27 | 哈尔滨工业大学(威海) | 基于时序聚合算法的海量小文件实时存储方法及装置 |
CN108228673B (zh) * | 2016-12-22 | 2021-09-03 | 上海凯翔信息科技有限公司 | 一种文件快速合并的方法和系统 |
CN108228673A (zh) * | 2016-12-22 | 2018-06-29 | 上海凯翔信息科技有限公司 | 一种文件快速合并的方法和系统 |
CN106921665A (zh) * | 2017-03-06 | 2017-07-04 | 北京东土军悦科技有限公司 | 一种报文处理方法及网络设备 |
CN107341203A (zh) * | 2017-06-22 | 2017-11-10 | 北京北信源软件股份有限公司 | 一种分布式搜索引擎的访问控制和索引优化方法与装置 |
CN109120885A (zh) * | 2017-06-26 | 2019-01-01 | 杭州海康威视数字技术股份有限公司 | 视频数据获取方法及装置 |
US11487734B2 (en) | 2017-06-30 | 2022-11-01 | Microsoft Technology Licensing, Llc | Staging anchor trees for improved concurrency and performance in page range index management |
US11249961B2 (en) | 2017-06-30 | 2022-02-15 | Microsoft Technology Licensing, Llc | Online schema change of range-partitioned index in a distributed storage system |
WO2019000388A1 (en) * | 2017-06-30 | 2019-01-03 | Microsoft Technology Licensing, Llc | ANCHORING TREE STRETCHING FOR IMPROVED SIMULTANEITY AND PERFORMANCE IN PAGES BEACH INDEX MANAGEMENT |
CN107357921A (zh) * | 2017-07-21 | 2017-11-17 | 北京奇艺世纪科技有限公司 | 一种小文件存储定位方法及系统 |
CN107509085B (zh) * | 2017-08-24 | 2019-12-24 | 山东浪潮商用系统有限公司 | 一种流媒体文件的存储方法及装置 |
CN107509085A (zh) * | 2017-08-24 | 2017-12-22 | 山东浪潮商用系统有限公司 | 一种流媒体文件的存储方法及装置 |
CN107861686A (zh) * | 2017-09-26 | 2018-03-30 | 深圳前海微众银行股份有限公司 | 文件存储方法、服务端和计算机可读存储介质 |
CN107861686B (zh) * | 2017-09-26 | 2021-01-05 | 深圳前海微众银行股份有限公司 | 文件存储方法、服务端和计算机可读存储介质 |
CN107679177A (zh) * | 2017-09-29 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种基于hdfs的小文件存储优化方法、装置、设备 |
CN110377598A (zh) * | 2018-04-11 | 2019-10-25 | 西安邮电大学 | 一种基于智能制造过程的多源异构数据存储方法 |
CN108614879A (zh) * | 2018-04-28 | 2018-10-02 | 众安信息技术服务有限公司 | 小文件处理方法与装置 |
CN111258955A (zh) * | 2018-11-30 | 2020-06-09 | 北京白山耘科技有限公司 | 一种文件读取方法和系统、存储介质、计算机设备 |
CN111258955B (zh) * | 2018-11-30 | 2023-09-19 | 北京白山耘科技有限公司 | 一种文件读取方法和系统、存储介质、计算机设备 |
CN110245121A (zh) * | 2019-05-08 | 2019-09-17 | 深圳市战音科技有限公司 | 文件管理方法、系统以及电子设备 |
CN110147203A (zh) * | 2019-05-16 | 2019-08-20 | 北京金山云网络技术有限公司 | 一种文件管理方法、装置、电子设备及存储介质 |
CN110147203B (zh) * | 2019-05-16 | 2022-11-04 | 北京金山云网络技术有限公司 | 一种文件管理方法、装置、电子设备及存储介质 |
CN110457265A (zh) * | 2019-08-20 | 2019-11-15 | 上海商汤智能科技有限公司 | 数据处理方法、装置及存储介质 |
CN110515920A (zh) * | 2019-08-30 | 2019-11-29 | 北京浪潮数据技术有限公司 | 一种基于Hadoop的海量小文件存取方法和系统 |
CN111881092A (zh) * | 2020-06-22 | 2020-11-03 | 武汉绿色网络信息服务有限责任公司 | 一种基于cassandra数据库的文件合并的方法和装置 |
CN111984600B (zh) * | 2020-08-27 | 2022-07-29 | 苏州浪潮智能科技有限公司 | 一种文件聚合方法、装置、设备及可读存储介质 |
CN111984600A (zh) * | 2020-08-27 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种文件聚合方法、装置、设备及可读存储介质 |
CN112422404B (zh) * | 2020-10-19 | 2022-08-19 | 上海哔哩哔哩科技有限公司 | 消息处理方法及系统 |
CN112422404A (zh) * | 2020-10-19 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 消息处理方法及系统 |
CN113177024A (zh) * | 2021-06-29 | 2021-07-27 | 南京烽火星空通信发展有限公司 | 一种海量数据场景下的数据全局合并方法 |
CN113542148A (zh) * | 2021-07-15 | 2021-10-22 | 恒安嘉新(北京)科技股份公司 | 一种报文聚合方法、装置、网络网卡及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105956183B (zh) | 2019-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105956183A (zh) | 一种分布式数据库中海量小文件的多级优化存储方法及系统 | |
KR102266756B1 (ko) | Kvs 트리 | |
US6263364B1 (en) | Web crawler system using plurality of parallel priority level queues having distinct associated download priority levels for prioritizing document downloading and maintaining document freshness | |
US6351755B1 (en) | System and method for associating an extensible set of data with documents downloaded by a web crawler | |
CN108710639B (zh) | 一种基于Ceph的海量小文件存取优化方法 | |
CN102542052B (zh) | 优先散列索引 | |
Skobeltsyn et al. | ResIn: a combination of results caching and index pruning for high-performance web search engines | |
CN102819586B (zh) | 一种基于高速缓存的url分类方法和设备 | |
US10747951B2 (en) | Webpage template generating method and server | |
KR101672901B1 (ko) | 분산 파일 시스템에서 소형 파일에 대한 접근성 향상을 위한 캐시 관리 시스템 | |
CN110162528A (zh) | 海量大数据检索方法及系统 | |
KR20200053512A (ko) | Kvs 트리 데이터베이스 | |
CN110291518A (zh) | 合并树无用单元指标 | |
TWI549005B (zh) | 多層搜尋引擎索引 | |
WO2008042442A2 (en) | Systems and methods for providing a dynamic document index | |
CN109983456B (zh) | 存储器内密钥范围搜索方法和系统 | |
CN107025243A (zh) | 一种资源数据的查询方法、查询客户端和查询系统 | |
CN107103032A (zh) | 一种分布式环境下避免全局排序的海量数据分页查询方法 | |
CN112817968A (zh) | 一种基于区块链的数据存入和搜索方法及系统 | |
CN110472004A (zh) | 一种科技情报数据多级缓存管理的方法及系统 | |
US20150363446A1 (en) | System and Method for Indexing Streams Containing Unstructured Text Data | |
CN107180043B (zh) | 分页实现方法和分页系统 | |
Kucukyilmaz et al. | A machine learning approach for result caching in web search engines | |
US8301841B2 (en) | Method and system for caching terminology data | |
CN104915148A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |