CN105975495A - 大数据的存储、搜索方法及装置 - Google Patents
大数据的存储、搜索方法及装置 Download PDFInfo
- Publication number
- CN105975495A CN105975495A CN201610266871.7A CN201610266871A CN105975495A CN 105975495 A CN105975495 A CN 105975495A CN 201610266871 A CN201610266871 A CN 201610266871A CN 105975495 A CN105975495 A CN 105975495A
- Authority
- CN
- China
- Prior art keywords
- document
- file
- participle
- data
- big data
- 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.)
- Pending
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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- 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/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- 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)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种大数据的存储、搜索方法及装置,其中存储方法包括:获取大数据的原始日志并分析其具体日志内容;根据所述具体日志内容对所述原始日志进行分类,将指定数目的原始日志集合生成一个文档,并为该文档建立与分词间的映射关系,其中,所述分词与该文档的具体日志内容相匹配;对各文档进行组合处理以生成组合的文件,其中,该文件被搜索时,能够提供与组合文档数目相对应的多个分词;利用所述文件替代所述原始日志存入到分布式存储系统架构中。采用本发明能够大大降低了数据的冗余性,从而减少了对服务器资源的浪费,提高存储资源的利用率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及大数据的存储、搜索方法及装置。
背景技术
随着计算机和网络的发展,搜索功能已经成为最常用的功能,用户通过搜索操作方便快捷地获取目的信息。但是,随着业务的发展,可搜索的数据量也越来越大,目前将不断增大的数据量称之为大数据,对其的搜索操作称之为对大数据的搜索。
大数据的数据量级通常是百万级以上,甚至是百万亿级、千万亿级以上,针对如此庞大的数据体系,首先对数据的存储提到了较高的要求。例如,目前常用的ES系统(ElectedSearch),该系统中,搜索匹配操作所需要的索引数据和原始数据均要存储在该系统中,对系统的要求较高。并且,为了保证原始数据的可靠性,还需要在分布式系统基础架构(hadoop)中进行存储,这就导致了数据冗余,会造成大量的服务器资源的浪费。
进一步,搜索引擎在工作时,首先对搜索词进行分词,然后对各分词执行大数据匹配操作,即对每个分词都在大数据体系中进行庞大的匹配操作,那么,尤其在存在数据冗余的情况下,对搜索词进行的匹配操作的数量必然也是极高的数量级。
考虑到大数据级别的搜索操作的操作本身数量级高,则必然会浪费较多的时间和系统资源。并且,耗时过长,对于搜索引擎本身也是致命的弱点,若用户无法在较短的时间内获得有效搜索结果,那么,该搜索引擎的用户粘性就会逐渐下降。
因此,现在亟需一种针对大数据搜索的改进方法。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的大数据的存储、搜索方法及装置。
基于本发明的一个方面,本发明实施例提供了一种数据的存储方法,包括:
获取大数据的原始日志并分析其具体日志内容;
根据所述具体日志内容对所述原始日志进行分类,将指定数目的原始日志集合生成一个文档,并为该文档建立与分词间的映射关系,其中,所述分词与该文档的具体日志内容相匹配;
对各文档进行组合处理以生成组合的文件,其中,该文件被搜索时,能够提供与组合文档数目相对应的多个分词;
利用所述文件替代所述原始日志存入到分布式存储系统架构中。
可选地,对各文档进行组合处理以生成组合的文件,包括:
对各文档进行文档压缩处理,得到压缩后的压缩文档;
对各压缩文档进行组合处理,得到组合的文件。
可选地,所述压缩文档格式为gz文件。
可选地,所述指定数目的原始日志为128条原始日志,所述组合的文件为256M~2G之间。
可选地,利用所述文件替代所述原始日志存入到分布式存储系统架构中,包括:
利用所述文件中第一个分词的起始位置作为参考位置,记录各分词在所述文件中的偏移位置;
将各分词在所述文件中的偏移位置信息以及所述文件均存入所述分布式存储系统架构中。
可选地,所述大数据为百万级别以上的数据。
基于本发明的另一个方面,本发明实施例还提供了一种大数据的搜索方法,应用于使用上述的大数据的存储方法的数据存储系统,所述方法包括:
对搜索词进行分词,得到多个分词;
利用各分词到所述使用了大数据的存储方法的数据存储系统中进行匹配,得到匹配结果,其中,所述数据存储系统中包括多个文件,各文件中包括多个文档,每个文档与分词间具备映射关系;
根据所述匹配结果查找到对应的文档,并从所述文档中再次匹配到对应的原始日志。
可选地,利用各分词到所述使用了大数据的存储方法的数据存储系统中进行匹配,包括:
利用倒排索引结构的方式,利用各分词到所述使用了大数据的存储方法的数据存储系统中进行匹配。
可选地,所述大数据为百万级别以上的数据。
基于本发明的又一个方面,本发明实施例还提供了一种大数据的存储装置,包括:
日志分析模块,适于获取大数据的原始日志并分析其具体日志内容;
文档生成模块,适于根据所述具体日志内容对所述原始日志进行分类,将指定数目的原始日志集合生成一个文档,并为该文档建立与分词间的映射关系,其中,所述分词与该文档的具体日志内容相匹配;
文件生成模块,适于对各文档进行组合处理以生成组合的文件,其中,该文件被搜索时,能够提供与组合文档数目相对应的多个分词;
存储模块,适于利用所述文件替代所述原始日志存入到分布式存储系统架构中。
可选地,所述文件生成模块还适于:
对各文档进行文档压缩处理,得到压缩后的压缩文档;
对各压缩文档进行组合处理,得到组合的文件。
可选地,所述压缩文档格式为gz文件。
可选地,所述指定数目的原始日志为128条原始日志,所述组合的文件为256M~2G之间。
可选地,其中,所述存储模块还适于:
利用所述文件中第一个分词的起始位置作为参考位置,记录各分词在所述文件中的偏移位置;
将各分词在所述文件中的偏移位置信息以及所述文件均存入所述分布式存储系统架构中。
可选地,所述大数据为百万级别以上的数据。
基于本发明的再一个方面,本发明实施例还提供了一种大数据的搜索装置,与上述的大数据的存储装置耦合,所述装置包括:
分词模块,适于对搜索词进行分词,得到多个分词;
第一匹配模块,适于利用各分词到所述使用了大数据的存储装置的数据存储系统中进行匹配,得到匹配结果,其中,所述数据存储系统中包括多个文件,各文件中包括多个文档,每个文档与分词间具备映射关系;
第二匹配模块,适于根据所述匹配结果查找到对应的文档,并从所述文档中再次匹配到对应的原始日志。
可选地,所述第一匹配模块还适于:
利用倒排索引结构的方式,利用各分词到所述使用了大数据的存储装置的数据存储系统中进行匹配。
可选地,所述大数据为百万级别以上的数据。
在本发明实施例中,对于原始日志的存储方式进行了改进,因单条原始日志非常小,通常只有几K或者几十K,若大量原始日志直接存储,则会形成大量的存储碎片,且每次存储均要为该原始日志生成对应的索引,浪费大量存储资源,因此,本发明实施例将指定数目的原始日志集合合并生成一个文档。其中,文档中所包含哪些原始日志由具体日志内容所决定,这样就能够让具备相似日志内容的原始日志归纳至一个文档中。进一步,本发明实施例还根据文档所对应的具体日志内容生成可用于进行搜索或索引操作的分词,分词与具体的文档间形成映射关系,以便后期搜索时,能够利用搜索词的分词与文档的分词直接匹配。随后,本发明实施例还对各文档再次进行组合处理,生成组合的文件,进而利用文件替代原始日志存储到分布式存储系统架构中。由此可以看出,本发明实施例中,将原始日志进行了集中合成,生成具备一定规模和容量的文件,并对文件进行统一的存储管理,文件的容量要远远超过原始日志的大小,对于分布式存储系统架构而言,文件的管理仅需要设置文件的索引,而不需要设置每条原始日志的索引,大大降低了数据的冗余性,从而减少了对服务器资源的浪费,提高存储资源的利用率。采用本发明实施例所提供的大数据的存储方法,因能够达到减少资源浪费的目的,适用于任何大数据的存储过程,甚至于百万级别、百万亿级、千万亿级的大数据的存储。
在本发明实施例中,因采用了上文所述的大数据的存储方法的数据存储系统,数据存储利用了分词与文档间的映射关系,并将多个原始日志聚合成分词,这使得数据存储的数量级大大下降,也使得搜索词分词所得到的各分词的搜索过程简单快捷化,分词无须依次与各原始日志进行匹配,而是分别匹配数据存储系统中的分词,数据存储系统中的分词数据比之原始日志的数量级大大降低,缩短了匹配时间。若匹配上,则进一步在文档中针对多条原始日志进行二次匹配即可,匹配操作所需数据级大大下降,那么针对大数据的搜索方法的搜索时间也必然大大下降,大大提高了搜索效率以及用户的感受体验,对于搜索引擎而言,能够增加用户粘性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的大数据的存储方法的处理流程图;
图2示出了根据本发明一个实施例的大数据的搜索方法的处理流程图;
图3示出了根据本发明一个实施例的大数据的存储装置的结构示意图;以及
图4示出了根据本发明一个实施例的大数据的搜索装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为解决上述技术问题,本发明实施例提供了一种大数据的存储方法。图1示出了根据本发明一个实施例的大数据的存储方法的处理流程图。参见图1,大数据的存储方法至少包括:
步骤S102、获取大数据的原始日志并分析其具体日志内容;
步骤S104、根据具体日志内容对原始日志进行分类,将指定数目的原始日志集合生成一个文档,并为该文档建立与分词间的映射关系,其中,分词与该文档的具体日志内容相匹配;
步骤S106、对各文档进行组合处理以生成组合的文件,其中,该文件被搜索时,能够提供与组合文档数目相对应的多个分词;
步骤S108、利用文件替代原始日志存入到分布式存储系统架构中。
在本发明实施例中,对于原始日志的存储方式进行了改进,因单条原始日志非常小,通常只有几K或者几十K,若大量原始日志直接存储,则会形成大量的存储碎片,且每次存储均要为该原始日志生成对应的索引,浪费大量存储资源,因此,本发明实施例将指定数目的原始日志集合合并生成一个文档。其中,文档中所包含哪些原始日志由具体日志内容所决定,这样就能够让具备相似日志内容的原始日志归纳至一个文档中。进一步,本发明实施例还根据文档所对应的具体日志内容生成可用于进行搜索或索引操作的分词,分词与具体的文档间形成映射关系,以便后期搜索时,能够利用搜索词的分词与文档的分词直接匹配。随后,本发明实施例还对各文档再次进行组合处理,生成组合的文件,进而利用文件替代原始日志存储到分布式存储系统架构中。由此可以看出,本发明实施例中,将原始日志进行了集中合成,生成具备一定规模和容量的文件,并对文件进行统一的存储管理,文件的容量要远远超过原始日志的大小,对于分布式存储系统架构而言,文件的管理仅需要设置文件的索引,而不需要设置每条原始日志的索引,大大降低了数据的冗余性,从而减少了对服务器资源的浪费,提高存储资源的利用率。采用本发明实施例所提供的大数据的存储方法,因能够达到减少资源浪费的目的,适用于任何大数据的存储过程,甚至于百万级别、百万亿级、千万亿级的大数据的存储。
具体地,以ES系统为例,现有的ES系统,原始日志的原始数据以及相应的索引都需要存储在ES系统中,并且,为保证数据的准确性,还需要对原始数据进行备份,在hadoop里面再存一份,这样就会导致数据冗余,浪费大量的服务器资源。并且,虽然索引的数据量远小于原始数据的数据量,但是,当存储的是百万以上级别的大数据时,每天所生成索引的数量级也会在几TB甚至更高,这对于普通的服务器而言也是非常不容易满足的。进一步,在几TB的索引里进行搜索,也是非常耗时耗资源的。若因此为这些索引提供上一级的索引,那么就得再建索引的索引,形成多层索引,也会浪费大量的资源。
而本发明实施例中,可以将指定数目的原始日志(例如128条)合成一个文档,进而将该文档压缩成gz文件。需要说明的是,gz文件是UNIX系统中的压缩文件,ZIP的Gnu版本,功能和WINRAR一样,是压缩文件的扩展名。128条日志所组成的文档经压缩之后,大概会缩为100K左右的容量。但是,若以100K为单位存入到hadoop里,容量级太低,仍会存在碎片化的问题,因此,为改善这一问题,本发明实施例可以将多个gz文件合在一起,并根据一定的合成规则连成一片,变成一个256M~2G的大文件。其中,文件的大小可以根据具体情况在256M-2G之间的空间任取一个具体容量值,例如256M的文件、1G的文件、2G的文件等。然后以文件作为元数据将其存储到hadoop里面。所组合的文件中有多个由128条原始日志所组成的文档,每个文档可以对应一个分词。那么,经如此整理后的原始数据所对应的索引,会降到1-2TB的数量级,因此能够大大降低对资源的损耗。
进一步,因文件-文档-原始日志三层级的存储方式,本发明实施例在利用文件替换原始日志存入分布式存储系统架构中(即步骤S108)时,优选的,可以不记录每项的存储地址,而是利用文件中第一个分词的起始位置作为参考位置,记录各分词在文件中的偏移位置,那么,其他分词的位置可以以第一个分词的起始位置作为参考点,加上自身的偏移位置,即可得到其他分词的位置信息,进一步减少了所需存储的数据。为实现这一优选方式,本发明实施例将各分词在文件中的偏移位置信息以及文件均存入分布式存储系统架构中。在应用中,找到文件中第一个分词的起始位置之后,可以根据各分词在文件中的偏移位置信息读取出第N个分词的偏移量以及第N个分词的数据长度,然后在第一个分词的起始位置加上第N个分词的偏移量即可找到第N个分词,而根据第N个分词的数据长度,则能够获取完整的第N个分词,也即能获知具体的原始日志。
在存储之后,为各文件建索引。本发明实施例优选采用倒排索引的方式进行处理。具体的,对于任一文章,按照倒排索引的分词算法,从其中抽取多个词。假设有3篇文章,第一篇文章是1,第二篇文章是2,第三篇文章是3,那么从第一篇文章中抽取十个词,这十个词就是词1,再分别抽取十个词作为词2、词3以及词4,那么词1-4就对应文章1这个集合,以1作为标识,则认为词1-4对应1这个集合。而第二篇文章中抽取得到词5、词6,同时还抽取了词4,那么词4-6就对应文章2这个集合,从而实现了倒排索引,即实现了词到具体文档的映射过程。
上一段从逻辑上说明了倒排索引的概念,现从具体实现上对倒排索引进行具体说明。本实施例首先进行一个名词解释:
日志:指单条原始日志,或其他业务线的日志。有时候也泛指原始日志
Doc:Document的缩写,称为文档。是128条原始日志的集合,仍然是明文、按行排列的原始日志数据。类似于搜索引擎中的文档。DocGz Doc的gz压缩数据。预计每天有5.5亿个文件
Token:一个分词。按照一定的分词算法进行分词分出来的单个元素。例如一个汉语词、或一个英文单词、或一个MD5串、或一个文件名,等等
RawLogHDFSFile:存在于hdfs(Hadoop分布式文件系统)中的原始日志文件,一般是压缩格式
DocGzHDFSFile:存在于hdfs中的日志文件,该文件是由一组DocGz直接拼接在一起的文件。由于gz格式特性,该文件仍然可以直接通过gunzip解压
DocGzMeta:DocGz的元数据信息,包含下列三个字段:
string path=1;//HDFS路径,例如:/home/cloud/datamining/src/ycs/2014-04-22/00/log1.zwt.2014-04-22-00-17.gz
uint32 offset=2;//数据起始偏移量
uint32 length=3;//数据长度
DocIdList
一个分词可能会出现多个文档中,每个文档有多行原始数据组成
每个关联数据需要docId、rawIndex两个信息来描述
InvertedIndex:倒排索引结构,搜索引擎中的核心数据结构,一般包含1000个Token及其索引信息
map<string/*分词*/,DocIdList>index=1;
InvertedIndexGz:InvertedIndex数据结构序列化之后的数据,然后使用gz压缩
InvertedIndexGzHDFSFile:在hdfs上存储的倒排索引结构文件,该文件是由一组InvertedIndexGz直接拼接在一起的文件
InvertedIndexGzMeta:InvertedIndexGz文件的元数据信息。包含下列几个字段:
uint32 offset=1;//某一个InvertedIndexGzMeta所在hdfs文件中的起始地址偏移量
uint32 length=2;//InvertedIndexGzMeta的所占数据长度
//uint32 hashid=4;//可以通过Token进行hash运算计算出来
//string hdfspath=3;//可以根据时间、索引表名、hashid等信息推断出来
生成倒排索引过程:
RawLogHDFSFile-->Doc-->DocGz-->DocGzHDFSFile
DocGzHDFSFile-->DocGzMeta,Token
Token-->InvertedIndex
设计细节思路:
支持在数据节点上跑任务(类似于hadoop的MapReduce机制)
是否可以将每天的日志,按照mid归类,每个mid的所有日志作为一条记录,这样数据集个数能降低100倍(大小不变)
DocId->Doc的存储,是否可以存放在外部的NoSQL中(可选:bada、pika、ledisdb),或者HBase中
RocksDB支持前缀查找和删除
索引数据放到hdfs里
对名词解释清楚后,现对倒排索引的详细设计进行说明。
1.关于DocId及DocGzHDFSFile生成算法
每个DocGzHDFSFile文件在本地生成好,一次性写入hdfs,
记录DocGz个数,一次性向id分配中心(etcd)请求回该文件对应的所有id信息
使用etcd的分布式锁机制,每次只有一个客户端能够获取id
记录好Meta信息,同时将meta信息也写入hdfs(写到一个独立的文本文件)
2.DocId生成中心
HTTP GET请求
参数:count
count:个数
day:每天的id都是重新从0开始分配
business_name:业务名
URI:/idgen/getid
请求举例:http://midd1.safe.lycc.qihoo.net:9360/idgen/getid?count=135&day=20160229&business_name=ycs
HTTP返回数据为JSON,
参数
business_name:业务名(必选,格式举例:ycs)
day:日期(可选,默认当前日期,格式举例:20160316)
count:要获取id数量(可选,默认值1)
返回数据举例:*
错误码
0成功
100系统错误
101缺少参数
3.各种HDFS文件格式及路径说明
以云查杀国内日志为例
DocGzHDFSFile
符合DocGzHDFSFile格式的原始日志/home/cloud/datamining/src/ycs/YYYY-MM-dd/HH/abcde.gz
预计有2w个文件
文件名按数字递增编码命名,以节省空间,例如:
/home/cloud/datamining/src/ycs/2016-02-25/00/0.gz
/home/cloud/datamining/src/ycs/2016-02-25/00/1.gz
/home/cloud/datamining/src/ycs/2016-02-25/00/100.gz
/home/cloud/datamining/src/ycs/2016-02-25/01/1100.gz
/home/cloud/datamining/src/ycs/2016-02-25/23/23101.gz
DocGzMetaHDFSFile
该文件是存储了DocGzHDFSFile文件的meta信息
DocGzMeta protobuf结构中的path字段将前缀都去掉,只留下关键信息,小时信息和文件名编号。其他的信息可以自动推断出来。
例如文件/home/cloud/datamining/src/ycs/2016-02-25/00/100.gz对应的path为00/100
上述path的计算方法为:去掉前缀路径,去掉日期,去掉.gz后缀
每天的meta数据保存在一个文件中
是文本文件,按行切分
预计大小40G
文件地址:/home/cloud/datamining/src/ycs/poseidon/docmeta/20160205.gz
每个DocGzHDFSFile文件的DocGzMeta信息对应一个数据块,全天所有DocGzHDFSFile文件的数据块合并到一起形成这个文件。
一个数据块格式如下:
起始行是DocGzHDFSFile文件路径
后面每一行都分三列,以\t分割,分别如下
DocId
offset
lenght
举例如下
这个数据最终会存放到NoSQL中,例如bada或pika或quakedb等等带有表空间和持久化特性的kvdb中
表空间命名:业务名,例如:ycs
key是docId
value是DocGzMetaGz
InvertedIndexGzHDFSFile
第一阶段:
Map过程
针对每一行日志进行分词处理,各列有可能使用不同的分词算法,需要区别对待
ext字段要进行二级细分,得到ext里面的key/valud对,然后进行分别分词
map阶段输出:字段名,分词的HashId,分词Token,DocId
输出的hashid需要模100亿,最终的hashid在0~100亿之间。算法:hashid=murmur3_hash64(token)%100亿
注意hashid要使用12字节0补充对齐格式输出,例如hashid=123那么输出应该为000000000123
C++代码为:std::cout<<std::setfill('0')<<std::setw(12)<<hashid;C++程序示例
这是因为hadoop的MR中间排序算法默认是按照字典序排序的,hashid的排序却需要按照数字大小排序
以字段名做hadoop的排序key
hash算法推荐使用murmur3:https://en.wikipedia.org/wiki/MurmurHash
C++:https://github.com/aappleby/smhasher
Golang:https://github.com/spaolacci/murmur3 https://github.com/huichen/murmur
PHP:https://github.com/lastguest/murmurhash-php
Java:https://github.com/yonik/java_util/blob/master/src/util/hash/MurmurHash3.java
hash64可以直接取hash128低64位即可
注意:上述3个版本都未经过测试,使用时注意甄别
Reduce阶段输出:
字段名,分词的HashId,分词Token,DocId1,DocId2,DocId3,DocId4,...
输出路径:/home/cloud/datamining/src/ycs/poseidon/index_reduce_output/YYYYMMDD
例如:/home/cloud/datamining/src/ycs/poseidon/index_reduce_output/20160205
第二阶段:生成InvertedIndexGzHDFSFile
每个需要索引的字段生成一个独立的InvertedIndexGzHDFSFile文件
每个InvertedIndexGzHDFSFile文件由很多个InvertedIndexGz二进制数据
文件路径如下:/home/cloud/datamining/src/ycs/poseidon/index/字段名/YYYYMMDD.gz
例如mid字段的倒排索引文件路径为:/home/cloud/datamining/src/ycs/poseidon/index/mid/20160205.gz
例如md5字段的倒排索引文件路径为:/home/cloud/datamining/src/ycs/poseidon/index/md5/20160205.gz
例如包ext字段里面的hi.DURL字段的倒排索引文件路径为:/home/cloud/datamining/src/ycs/poseidon/index/ext.hi.DURL/20160205.gz
例如行ext字段里面的xx字段的倒排索引文件路径为:/home/cloud/datamining/src/ycs/poseidon/index/row_ext.xx/20160205.gz
InvertedIndexGz算法,N先暂定取值为200:
hashid在[0,N)之间的组合为一个InvertedIndexGz
hashid在[N,2N)之间的组合为一个InvertedIndexGz
hashid在[2N,3N)之间的组合为一个InvertedIndexGz
依次类推
Token关联的docid应该有一个最大值,以防数据集太大导致查询性能急剧下降。这个数暂定为1000万。如果某个token关联的docid数大于这个数,也只取1000万。
每个docid预计占用3字节,1000万就是30MB
InvertedIndexGzMetaHDFSFile
该文件是存储InvertedIndexGzHDFSFile文件的meta信息
每一个InvertedIndexGz对应meta信息包含:hdfspath、hashid、offset、length,数据存储格式为:
起始行是InvertedIndexGzHDFSFile文件路径
后面每一行都分三列,以\t分割,分别如下
hashid以N取整,也就是上面的区间hashid区间中的最开始一个数字,例如[2N,3N)应该取2N
offset
lenght
举例如下
这个数据最终会存放到NoSQL中,例如bada或pika或quakedb等等带有表空间和持久化特性的kvdb中
写一个MR程序直接读取这个数据这个数据就可以写kvdb了
表空间命名:/业务名/索引名,例如:/ycs/mid
key是hashid以N取整的数据
value是InvertedIndexGz
value中的InvertedIndex结构只要offset、length这两个字段即可,hdfspath、hashid这两个字段可以根据规则推算出来。
基于同一发明构思,本发明实施例还提供了一种大数据的搜索方法,需要说明的是,该搜索方法基于的数据存储系统应是使用了上文所述的大数据的存储方法的数据存储系统。图2示出了根据本发明一个实施例的大数据的搜索方法的处理流程图。参见图2,大数据的搜索方法至少包括:
步骤S202、对搜索词进行分词,得到多个分词;
步骤S204、利用各分词到使用了大数据的存储方法的数据存储系统中进行匹配,得到匹配结果,其中,数据存储系统中包括多个文件,各文件中包括多个文档,每个文档与分词间具备映射关系;
步骤S206、根据匹配结果查找到对应的文档,并从文档中再次匹配到对应的原始日志。
在本发明实施例中,因采用了上文所述的大数据的存储方法的数据存储系统,数据存储利用了分词与文档间的映射关系,并将多个原始日志聚合成分词,这使得数据存储的数量级大大下降,也使得搜索词分词所得到的各分词的搜索过程简单快捷化,分词无须依次与各原始日志进行匹配,而是分别匹配数据存储系统中的分词,数据存储系统中的分词数据比之原始日志的数量级大大降低,缩短了匹配时间。若匹配上,则进一步在文档中针对多条原始日志进行二次匹配即可,匹配操作所需数据级大大下降,那么针对大数据的搜索方法的搜索时间也必然大大下降,大大提高了搜索效率以及用户的感受体验,对于搜索引擎而言,能够增加用户粘性。
前文提及,数据存储时采用了倒排索引结构的方式,相应的,在搜索过程中,也必然利用倒排索引结构的方式,利用各分词到使用了大数据的存储方法的数据存储系统中进行匹配。
基于同一发明构思,本发明实施例还提供了一种大数据的存储装置。图3示出了根据本发明一个实施例的大数据的存储装置的结构示意图。参见图3,大数据的存储装置至少包括:
日志分析模块310,适于获取大数据的原始日志并分析其具体日志内容;
文档生成模块320,与日志分析模块310耦合,适于根据具体日志内容对原始日志进行分类,将指定数目的原始日志集合生成一个文档,并为该文档建立与分词间的映射关系,其中,分词与该文档的具体日志内容相匹配;
文件生成模块330,与文档生成模块320耦合,适于对各文档进行组合处理以生成组合的文件,其中,该文件被搜索时,能够提供与组合文档数目相对应的多个分词;
存储模块340,与文件生成模块330耦合,适于利用文件替代原始日志存入到分布式存储系统架构中。
在一个优选的实施例中,文件生成模块330还适于:
对各文档进行文档压缩处理,得到压缩后的压缩文档;
对各压缩文档进行组合处理,得到组合的文件。
在一个优选的实施例中,压缩文档格式为gz文件。
在一个优选的实施例中,指定数目的原始日志为128条原始日志,组合的文件为256M-2G之间。
在一个优选的实施例中,存储模块340还适于:
利用文件中第一个分词的起始位置作为参考位置,记录各分词在文件中的偏移位置;
将各分词在文件中的偏移位置信息以及文件均存入分布式存储系统架构中。
基于同一发明构思,本发明实施例还提供了一种大数据的搜索装置,与图3所示的大数据的存储装置耦合。图4示出了根据本发明一个实施例的大数据的搜索装置的结构示意图。参见图4,大数据的搜索装置至少包括:
分词模块410,适于对搜索词进行分词,得到多个分词;
第一匹配模块420,与分词模块410耦合,适于利用各分词到使用了大数据的存储装置的数据存储系统中进行匹配,得到匹配结果,其中,数据存储系统中包括多个文件,各文件中包括多个文档,每个文档与分词间具备映射关系;
第二匹配模块430,与第一匹配模块420耦合,适于根据匹配结果查找到对应的文档,并从文档中再次匹配到对应的原始日志。
在一个优选的实施例中,第一匹配模块420还适于:
利用倒排索引结构的方式,利用各分词到使用了大数据的存储装置的数据存储系统中进行匹配。
在本发明实施例中,对于原始日志的存储方式进行了改进,因单条原始日志非常小,通常只有几K或者几十K,若大量原始日志直接存储,则会形成大量的存储碎片,且每次存储均要为该原始日志生成对应的索引,浪费大量存储资源,因此,本发明实施例将指定数目的原始日志集合合并生成一个文档。其中,文档中所包含哪些原始日志由具体日志内容所决定,这样就能够让具备相似日志内容的原始日志归纳至一个文档中。进一步,本发明实施例还根据文档所对应的具体日志内容生成可用于进行搜索或索引操作的分词,分词与具体的文档间形成映射关系,以便后期搜索时,能够利用搜索词的分词与文档的分词直接匹配。随后,本发明实施例还对各文档再次进行组合处理,生成组合的文件,进而利用文件替代原始日志存储到分布式存储系统架构中。由此可以看出,本发明实施例中,将原始日志进行了集中合成,生成具备一定规模和容量的文件,并对文件进行统一的存储管理,文件的容量要远远超过原始日志的大小,对于分布式存储系统架构而言,文件的管理仅需要设置文件的索引,而不需要设置每条原始日志的索引,大大降低了数据的冗余性,从而减少了对服务器资源的浪费,提高存储资源的利用率。采用本发明实施例所提供的大数据的存储方法,因能够达到减少资源浪费的目的,适用于任何大数据的存储过程,甚至于百万级别、百万亿级、千万亿级的大数据的存储。
在本发明实施例中,因采用了上文所述的大数据的存储方法的数据存储系统,数据存储利用了分词与文档间的映射关系,并将多个原始日志聚合成分词,这使得数据存储的数量级大大下降,也使得搜索词分词所得到的各分词的搜索过程简单快捷化,分词无须依次与各原始日志进行匹配,而是分别匹配数据存储系统中的分词,数据存储系统中的分词数据比之原始日志的数量级大大降低,缩短了匹配时间。若匹配上,则进一步在文档中针对多条原始日志进行二次匹配即可,匹配操作所需数据级大大下降,那么针对大数据的搜索方法的搜索时间也必然大大下降,大大提高了搜索效率以及用户的感受体验,对于搜索引擎而言,能够增加用户粘性。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
根据本发明的一个方面,本发明公开了A1、一种大数据的存储方法,包括:
获取大数据的原始日志并分析其具体日志内容;
根据所述具体日志内容对所述原始日志进行分类,将指定数目的原始日志集合生成一个文档,并为该文档建立与分词间的映射关系,其中,所述分词与该文档的具体日志内容相匹配;
对各文档进行组合处理以生成组合的文件,其中,该文件被搜索时,能够提供与组合文档数目相对应的多个分词;
利用所述文件替代所述原始日志存入到分布式存储系统架构中。
A2、根据权利要求A1所述的方法,其中,对各文档进行组合处理以生成组合的文件,包括:
对各文档进行文档压缩处理,得到压缩后的压缩文档;
对各压缩文档进行组合处理,得到组合的文件。
A3、根据权利要求A2所述的方法,其中,所述压缩文档格式为gz文件。
A4、根据权利要求A2所述的方法,其中,所述指定数目的原始日志为128条原始日志,所述组合的文件为256M~2G之间。
A5、根据权利要求A1-A4任一项所述的方法,其中,利用所述文件替代所述原始日志存入到分布式存储系统架构中,包括:
利用所述文件中第一个分词的起始位置作为参考位置,记录各分词在所述文件中的偏移位置;
将各分词在所述文件中的偏移位置信息以及所述文件均存入所述分布式存储系统架构中。
A6、根据权利要求A1-A5任一项所述的方法,其中,所述大数据为百万级别以上的数据。
根据本发明的另一个方面,本发明还公开了B7、一种大数据的搜索方法,应用于使用所述权利要求A1-A6任一项所述的大数据的存储方法的数据存储系统,所述方法包括:
对搜索词进行分词,得到多个分词;
利用各分词到所述使用了大数据的存储方法的数据存储系统中进行匹配,得到匹配结果,其中,所述数据存储系统中包括多个文件,各文件中包括多个文档,每个文档与分词间具备映射关系;
根据所述匹配结果查找到对应的文档,并从所述文档中再次匹配到对应的原始日志。
B8、根据权利要求B7所述的方法,其中,利用各分词到所述使用了大数据的存储方法的数据存储系统中进行匹配,包括:
利用倒排索引结构的方式,利用各分词到所述使用了大数据的存储方法的数据存储系统中进行匹配。
B9、根据权利要求B7或B8所述的方法,其中,所述大数据为百万级别以上的数据。
根据本发明的又一个方面,本发明还公开了C10、一种大数据的存储装置,包括:
日志分析模块,适于获取大数据的原始日志并分析其具体日志内容;
文档生成模块,适于根据所述具体日志内容对所述原始日志进行分类,将指定数目的原始日志集合生成一个文档,并为该文档建立与分词间的映射关系,其中,所述分词与该文档的具体日志内容相匹配;
文件生成模块,适于对各文档进行组合处理以生成组合的文件,其中,该文件被搜索时,能够提供与组合文档数目相对应的多个分词;
存储模块,适于利用所述文件替代所述原始日志存入到分布式存储系统架构中。
C11、根据权利要求C10所述的装置,其中,所述文件生成模块还适于:
对各文档进行文档压缩处理,得到压缩后的压缩文档;
对各压缩文档进行组合处理,得到组合的文件。
C12、根据权利要求C11所述的装置,其中,所述压缩文档格式为gz文件。
C13、根据权利要求C11所述的装置,其中,所述指定数目的原始日志为128条原始日志,所述组合的文件为256M~2G。
C14、根据权利要求C10-C13任一项所述的装置,其中,所述存储模块还适于:
利用所述文件中第一个分词的起始位置作为参考位置,记录各分词在所述文件中的偏移位置;
将各分词在所述文件中的偏移位置信息以及所述文件均存入所述分布式存储系统架构中。
C15、根据权利要求C10-C14任一项所述的装置,其中,所述大数据为百万级别以上的数据。
根据本发明的再一个方面,本发明还公开了D16、一种大数据的搜索装置,与所述权利要求C10-C15任一项所述的大数据的存储装置耦合,所述装置包括:
分词模块,适于对搜索词进行分词,得到多个分词;
第一匹配模块,适于利用各分词到所述使用了大数据的存储装置的数据存储系统中进行匹配,得到匹配结果,其中,所述数据存储系统中包括多个文件,各文件中包括多个文档,每个文档与分词间具备映射关系;
第二匹配模块,适于根据所述匹配结果查找到对应的文档,并从所述文档中再次匹配到对应的原始日志。
D17、根据权利要求D16所述的装置,其中,所述第一匹配模块还适于:
利用倒排索引结构的方式,利用各分词到所述使用了大数据的存储装置的数据存储系统中进行匹配。
D18、根据权利要求D16或D17所述的装置,其中,所述大数据为百万级别以上的数据。
Claims (10)
1.一种大数据的存储方法,包括:
获取大数据的原始日志并分析其具体日志内容;
根据所述具体日志内容对所述原始日志进行分类,将指定数目的原始日志集合生成一个文档,并为该文档建立与分词间的映射关系,其中,所述分词与该文档的具体日志内容相匹配;
对各文档进行组合处理以生成组合的文件,其中,该文件被搜索时,能够提供与组合文档数目相对应的多个分词;
利用所述文件替代所述原始日志存入到分布式存储系统架构中。
2.根据权利要求1所述的方法,其中,对各文档进行组合处理以生成组合的文件,包括:
对各文档进行文档压缩处理,得到压缩后的压缩文档;
对各压缩文档进行组合处理,得到组合的文件。
3.根据权利要求2所述的方法,其中,所述压缩文档格式为gz文件。
4.根据权利要求2所述的方法,其中,所述指定数目的原始日志为128条原始日志,所述组合的文件为256M~2G之间。
5.根据权利要求1-4任一项所述的方法,其中,利用所述文件替代所述原始日志存入到分布式存储系统架构中,包括:
利用所述文件中第一个分词的起始位置作为参考位置,记录各分词在所述文件中的偏移位置;
将各分词在所述文件中的偏移位置信息以及所述文件均存入所述分布式存储系统架构中。
6.根据权利要求1-5任一项所述的方法,其中,所述大数据为百万级别以上的数据。
7.一种大数据的搜索方法,应用于使用所述权利要求1-6任一项所述的大数据的存储方法的数据存储系统,所述方法包括:
对搜索词进行分词,得到多个分词;
利用各分词到所述使用了大数据的存储方法的数据存储系统中进行匹配,得到匹配结果,其中,所述数据存储系统中包括多个文件,各文件中包括多个文档,每个文档与分词间具备映射关系;
根据所述匹配结果查找到对应的文档,并从所述文档中再次匹配到对应的原始日志。
8.根据权利要求7所述的方法,其中,利用各分词到所述使用了大数据的存储方法的数据存储系统中进行匹配,包括:
利用倒排索引结构的方式,利用各分词到所述使用了大数据的存储方法的数据存储系统中进行匹配。
9.一种大数据的存储装置,包括:
日志分析模块,适于获取大数据的原始日志并分析其具体日志内容;
文档生成模块,适于根据所述具体日志内容对所述原始日志进行分类,将指定数目的原始日志集合生成一个文档,并为该文档建立与分词间的映射关系,其中,所述分词与该文档的具体日志内容相匹配;
文件生成模块,适于对各文档进行组合处理以生成组合的文件,其中,该文件被搜索时,能够提供与组合文档数目相对应的多个分词;
存储模块,适于利用所述文件替代所述原始日志存入到分布式存储系统架构中。
10.一种大数据的搜索装置,与所述权利要求9所述的大数据的存储装置耦合,所述装置包括:
分词模块,适于对搜索词进行分词,得到多个分词;
第一匹配模块,适于利用各分词到所述使用了大数据的存储装置的数据存储系统中进行匹配,得到匹配结果,其中,所述数据存储系统中包括多个文件,各文件中包括多个文档,每个文档与分词间具备映射关系;
第二匹配模块,适于根据所述匹配结果查找到对应的文档,并从所述文档中再次匹配到对应的原始日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610266871.7A CN105975495A (zh) | 2016-04-26 | 2016-04-26 | 大数据的存储、搜索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610266871.7A CN105975495A (zh) | 2016-04-26 | 2016-04-26 | 大数据的存储、搜索方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105975495A true CN105975495A (zh) | 2016-09-28 |
Family
ID=56994363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610266871.7A Pending CN105975495A (zh) | 2016-04-26 | 2016-04-26 | 大数据的存储、搜索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105975495A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108089916A (zh) * | 2017-12-15 | 2018-05-29 | 北京搜狐新媒体信息技术有限公司 | 一种生成id的方法及装置 |
CN108241713A (zh) * | 2016-12-27 | 2018-07-03 | 南京烽火软件科技有限公司 | 一种基于多元切分的倒排索引检索方法 |
CN109241098A (zh) * | 2018-08-08 | 2019-01-18 | 南京中新赛克科技有限责任公司 | 一种分布式数据库的查询优化方法 |
CN109344139A (zh) * | 2018-11-01 | 2019-02-15 | 浪潮电子信息产业股份有限公司 | 一种存储系统操作日志的聚合方法及相关装置 |
CN109542910A (zh) * | 2018-12-03 | 2019-03-29 | 中国电波传播研究所(中国电子科技集团公司第二十二研究所) | 一种海量海杂波数据分类存储方法 |
CN110457301A (zh) * | 2019-07-17 | 2019-11-15 | 广西贺州盛源行大数据有限公司 | 一种计算机大数据存储系统 |
CN115203159A (zh) * | 2022-07-25 | 2022-10-18 | 北京字跳网络技术有限公司 | 一种数据存储方法、装置、计算机设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07230469A (ja) * | 1994-02-21 | 1995-08-29 | Matsushita Electric Ind Co Ltd | 検索装置 |
CN1975725A (zh) * | 2006-12-12 | 2007-06-06 | 华为技术有限公司 | 一种管理日志的方法及系统 |
CN101676899A (zh) * | 2008-09-18 | 2010-03-24 | 上海宝信软件股份有限公司 | 海量数据库记录的归档和查询方法 |
CN102436505A (zh) * | 2010-12-16 | 2012-05-02 | 微软公司 | 导出文档相似性索引 |
CN103186663A (zh) * | 2012-12-28 | 2013-07-03 | 中联竞成(北京)科技有限公司 | 一种基于视频的网络舆情监测方法及系统 |
CN103886077A (zh) * | 2014-03-24 | 2014-06-25 | 广东省电信规划设计院有限公司 | 短文本的聚类方法和系统 |
CN105335531A (zh) * | 2015-12-14 | 2016-02-17 | 北京奇虎科技有限公司 | 一种文档的压缩、解压方法和装置 |
-
2016
- 2016-04-26 CN CN201610266871.7A patent/CN105975495A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07230469A (ja) * | 1994-02-21 | 1995-08-29 | Matsushita Electric Ind Co Ltd | 検索装置 |
CN1975725A (zh) * | 2006-12-12 | 2007-06-06 | 华为技术有限公司 | 一种管理日志的方法及系统 |
CN101676899A (zh) * | 2008-09-18 | 2010-03-24 | 上海宝信软件股份有限公司 | 海量数据库记录的归档和查询方法 |
CN102436505A (zh) * | 2010-12-16 | 2012-05-02 | 微软公司 | 导出文档相似性索引 |
CN103186663A (zh) * | 2012-12-28 | 2013-07-03 | 中联竞成(北京)科技有限公司 | 一种基于视频的网络舆情监测方法及系统 |
CN103886077A (zh) * | 2014-03-24 | 2014-06-25 | 广东省电信规划设计院有限公司 | 短文本的聚类方法和系统 |
CN105335531A (zh) * | 2015-12-14 | 2016-02-17 | 北京奇虎科技有限公司 | 一种文档的压缩、解压方法和装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241713A (zh) * | 2016-12-27 | 2018-07-03 | 南京烽火软件科技有限公司 | 一种基于多元切分的倒排索引检索方法 |
CN108241713B (zh) * | 2016-12-27 | 2021-12-28 | 南京烽火星空通信发展有限公司 | 一种基于多元切分的倒排索引检索方法 |
CN108089916A (zh) * | 2017-12-15 | 2018-05-29 | 北京搜狐新媒体信息技术有限公司 | 一种生成id的方法及装置 |
CN109241098A (zh) * | 2018-08-08 | 2019-01-18 | 南京中新赛克科技有限责任公司 | 一种分布式数据库的查询优化方法 |
CN109241098B (zh) * | 2018-08-08 | 2022-02-18 | 南京中新赛克科技有限责任公司 | 一种分布式数据库的查询优化方法 |
CN109344139A (zh) * | 2018-11-01 | 2019-02-15 | 浪潮电子信息产业股份有限公司 | 一种存储系统操作日志的聚合方法及相关装置 |
CN109542910A (zh) * | 2018-12-03 | 2019-03-29 | 中国电波传播研究所(中国电子科技集团公司第二十二研究所) | 一种海量海杂波数据分类存储方法 |
CN109542910B (zh) * | 2018-12-03 | 2022-10-28 | 中国电波传播研究所(中国电子科技集团公司第二十二研究所) | 一种海量海杂波数据分类存储方法 |
CN110457301A (zh) * | 2019-07-17 | 2019-11-15 | 广西贺州盛源行大数据有限公司 | 一种计算机大数据存储系统 |
CN115203159A (zh) * | 2022-07-25 | 2022-10-18 | 北京字跳网络技术有限公司 | 一种数据存储方法、装置、计算机设备和存储介质 |
CN115203159B (zh) * | 2022-07-25 | 2024-06-04 | 北京字跳网络技术有限公司 | 一种数据存储方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105975495A (zh) | 大数据的存储、搜索方法及装置 | |
CN104715064B (zh) | 一种实现在网页上标注关键词的方法和服务器 | |
US20160055191A1 (en) | Executing constant time relational queries against structured and semi-structured data | |
CN102332030A (zh) | 用于分布式键-值存储系统的数据存储、管理和查询方法及系统 | |
CN108052679A (zh) | 一种基于hadoop的日志分析系统 | |
CN105956123A (zh) | 基于局部更新软件的数据处理方法及装置 | |
CN105912636B (zh) | 一种基于Map/Reduce的ETL数据处理方法和装置 | |
CN109753502B (zh) | 一种基于NiFi的数据采集方法 | |
CN106682003B (zh) | 分布式存储命名空间的路径分割映射方法和装置 | |
McTavish et al. | Phylesystem: a git-based data store for community-curated phylogenetic estimates | |
Kurz et al. | Semantic enhancement for media asset management systems: Integrating the Red Bull Content Pool in the Web of Data | |
Ali et al. | A state of art survey for big data processing and nosql database architecture | |
AL-Msie'deen et al. | Detecting commonality and variability in use-case diagram variants | |
Levine et al. | DEX: Digital evidence provenance supporting reproducibility and comparison | |
Malhotra et al. | Bigdata analysis and comparison of bigdata analytic approches | |
Yin et al. | Content‐Based Image Retrial Based on Hadoop | |
CN113434413B (zh) | 基于数据差异的数据测试方法、装置、设备及存储介质 | |
CN112214494B (zh) | 检索方法及装置 | |
Martínez-Castaño et al. | Polypus: a big data self-deployable architecture for microblogging text extraction and real-time sentiment analysis | |
Ma et al. | Efficient attribute-based data access in astronomy analysis | |
Bobunov et al. | Development of the concept and architecture of an automated system for updating physical knowledge for information support of search design | |
Vissamsetti et al. | Twitter Data Analysis for Live Streaming by Using Flume Technology | |
Aljarallah | Comparative study of database modeling approaches | |
Mourão et al. | The Anatomy of a Web Archive Image Search Engine-Technical Report | |
Sultana | Unraveling the Data Structures of Big Data, the HDFS Architecture and Importance of Data Replication in HDFS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160928 |