CN101499094A - 一种数据压缩存储并检索的方法及*** - Google Patents
一种数据压缩存储并检索的方法及*** Download PDFInfo
- Publication number
- CN101499094A CN101499094A CNA2009100258154A CN200910025815A CN101499094A CN 101499094 A CN101499094 A CN 101499094A CN A2009100258154 A CNA2009100258154 A CN A2009100258154A CN 200910025815 A CN200910025815 A CN 200910025815A CN 101499094 A CN101499094 A CN 101499094A
- Authority
- CN
- China
- Prior art keywords
- character string
- trie tree
- node
- compression
- tree
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据压缩存储和快速检索的装置和方法。目前对词典进行前缀检索一般采用Trie树(字符树),它的每一个节点上存储的是一个字符,这样就造成了空间的极大浪费。本发明将字符Trie树改进为字符串Trie树,有效降低了空间浪费问题。在内存要求比较严格的***中,对字符串Trie树中节点的内容进行压缩处理,给出了压缩算法。该装置可用于对内存空间要求比较严格的移动存储设备中,在词典数据非常大的情况下,越能体现出该方法的优越性。另外该装置还可以用于目前互联网的搜索接口的Suggest功能,存在性检查以及<key,value>类型的查询功能。
Description
技术领域
本发明涉及通讯及计算机领域,在移动设备、互联网、输入法等方面均有特定的应用。
背景技术
词典的数据量是几十万甚至上百万,对其进行快速检索是迫切需要解决的问题。快速定位词典中单词所在的记录不仅仅在移动设备上有非常广泛的用途,而且在信息检索领域中也属于基础检索技术。对词典的查询非常频繁,对其查询速度和存储空间的任何改进都具有重大意义。
目前大量应用***中常常需要给出某字符串的唯一Id标识,该字符串可以为某特征字符串。通常的做法是在数据库中建立一张表,该表的两列分别存储字符串及其对应的Id,并对String建立索引,而且还需要保证Id的唯一性。另外一种比较直接的做法是采用Map结构,但Map结构在处理大数据量时将消耗大量的内存资源。
另一方面,大量***都需要支持编辑建议和输入建议功能,如目前的许多代码编辑***中的代码援助功能,都需要支持前缀查询、后缀查询功能,前缀查询一般采用类似于数据库中的Like匹配策略,或者使用Trie树结构或者一些其它检索树(如B-树,B+树以及它们的变形),但是目前公布的对Trie树的优化算法都无法同时获得较高的查询效率以及消耗较小的内存空间。
存在性检测通常用于检测某数据是否被处理过,例如判断url是否被爬虫程序获取过,以及判断某串是否出现在某词典中,以便判断该串是否是一个词等问题。
数据压缩算法主要分为有损压缩和无损压缩两种。无损压缩就是能够完全还原的压缩算法,通常压缩算法是将数据加载到内存中,对其进行压缩处理后,将其持久化。在实际使用时,需要将持久化的数据解压后放在内存中,所以实际上对内存的消耗并没有真正的减少。本发明采用通过对内存数据进行压缩,然后再对其进行持久化的策略。
有没有一种结构能够同时支持上述功能呢?本发明将公布这种结构。目前对词典进行前缀检索一般采用Trie(字符树),它的每一个节点上存储的是一个字符,这样就造成了空间的极大浪费。针对空间浪费的问题,我们需要设计一种压缩装置来解决空间浪费问题。
Trie树对一个节点的孩子节点存储时,可以使用数组或者链式结构,并没有考虑查询单词的使用频率,通过采用特定的置换算法可以改善查询命中率。本发明改进了Trie树的结构,将其命名为字符串Trie树,并对其字符串Trie树中的内容进行压缩处理。
发明就是针对上述情况进行处理和解决。
发明内容
目前大部分数据压缩方法不具有查询功能,本发明设计的压缩技术支持前缀查询和存在性检测。本发明提出了一种对Trie树结构进行改进的词典管理和检索方法。将字符Trie树改进为基于字符串的Trie树。在构造Trie树的过程中提出了一种优化策略,将节点中的数据进行替换压缩处理。在对内存要求比较严格或面对大数据量处理时,提出了一种内外存方式来实现对Trie树的动态加载。本发明根据常见需求的不同,给出了在设计Trie树节点时的一些区别。本发明提供了一种快速检索词典,并对词典数据进行压缩存储的方法。该方法能够高度压缩词典数据,并且本身就带有查询功能,在查询速度上也进行了改进,能够取得不错的效果。
实现本发明所采用的技术方案为:一种数据压缩存储与检索方法,包括步骤:
步骤一、根据用户检索情况,选择合适类型节点,将词典或特征数据用改进的字符串Trie树结构表示;
步骤二、对字符串Trie树进行压缩,优化;
步骤三、根据用户的输入,在Trie树中进行检索。
上述的数据压缩存储与检索方法,其进一步特征在于:扫描词典数据或特征数据,将数据***到改进的字符串Trie树中。
上述的数据压缩存储与检索方法,其进一步特征在于:将字符串Trie树用于前缀查找;将字符串Trie树用于<key,value>类型的查找;将字符串Trie树用于数据存在性检测。
上述的数据压缩存储与检索方法,其更进一步特征在于:遍历字符串Trie树中的节点数据,并对节点数据进行统计,并采用发明中所述的压缩算法对字符串Trie树进行压缩处理。所述的压缩算法是字符串替换算法,即将Tire树中节点存储的单词片段替换为另外一个较短的串,从而节省内存消耗。
本发明的有益效果:解决了现有Trie树结构的缺点,比现有词典方法查询效率更高,占用空间更少。由于每个节点都记录着被访问的次数和访问时间,所以在遍历某节点的孩子节点时,充分利用它们进行排序,加速查找过程。另外本文提出的字符串Trie树解决了传统Trie树的空指针浪费的问题,并且本文采用特定的字符串替换算法进一步压缩了字符串Trie树的内存消耗。
附图说明
图1为本发明实施例的字符串Trie树***数据示例图。
图2为本发明实施例的字符串Trie树首字节点图。
图3为本发明实施例的根据内存状态动态加载节点图。
图4为本发明实施例的字符串Trie树生成及查询流程图。
具体实施方式
以下结合附图和实施例对本发明作进一步详细陈述。
本发明的目的是为了解决Trie树结构现有的缺点,提供一种比现有词典方法查询效率更高,占用空间更少的词典管理和检索方法。该结构支持如下功能:前缀查询,后缀查询,特征串到Id的映射查询,存在性检查。
1.改进Trie树结构
本发明将Trie树结构改进成字符串Trie树。基本过程如下:
构建字符串Trie树的过程大体上分为下面几步:
A.采用改进的字符串Trie树对词典中的所有数据建立索引
A1.设计字符串Trie树中的节点能够存储单词的片断;
A2.设计字符串Trie树中的节点的孩子节点类型为链式结构
A3.设计字符串Trie树中节点中设置链接类型字段:节点分为过渡节点、数据节点、混合节点。
A4.扫描词典,并将数据存储到改进的结构中。
改进的Trie树具有每个节点至少两个子节点。如图1所示,为本发明实施例的字符串Trie树***数据示例图,图1展示了字符串Trie树在***数据时的节点所作出的调整。根据查询需求不同,字符串Trie树每个节点包含不同的内容。节点的kind属性代表了该节点的类型,kind=2代表该节点是一个过渡节点,kind=3代表该节点是数据节点,其数据内容是从根节点到当前节点所连接起来的串(不包括根节点)。kind=6时,代表该节点既是一个过渡节点又是一个数据节点。kind=kind*7代表该节点中的数据为压缩数据,通过Map可以查询得到该节点的真实数据,什么类型节点中的内容数据需要压缩将在下面进行详细描述,kind=kind*(-1)代表该节点存储在硬盘上,该节点被动态加载到Cache中。基于上述基本定义,我们在判断节点类型时,将采用表1中所示的规则。
节点类型 | kind属性满足 |
数据节点 | Mod(3)=0 |
过渡节点 | Mod(2)=0 |
既是数据节点又是过渡节点 | Mod(6)=0 |
压缩节点 | Mod(7)=0 |
外存节点 | Kind<0 |
表1.节点类型与kind属性之间的对应关系
关于字符串Trie树的构建,常见的操作有:***操作和删除操作。在***数据的过程中,需要***部分节点,并根据需要修改节点的类型。而在删除数据的过程中,需要对节点进行合并,确保每个节点的孩子个数要大于2。
根据上述的描述过程,我们可知由于没有浪费的孩子节点指针,字符串Trie树有效地降低了字符Trie树的空间浪费问题。
2.对字符串Trie树进行压缩处理
由于trie树中节点的内容往往重复出现,例如许多节点的内容都为“abc”,当重复出现的次数非常多时,将“abc”替换成a,能够节省一定的内存消耗,这非常有利于对内存要求比较严格的***。所以需要统计出各节点内容的出现次数统计情况。遍历Trie树,统计Trie树中所含内容的长度大于2的所有节点,并且该内容出现的次数大于1次的这些单词片段,否则没有压缩的必要。获取节点统计信息。下面将重点描述字符串Trie树的压缩算法的整个过程。
算法准备:
1.遍历字符串Trie树,对节点的内容长度大于1的节点进行出现次数统计,当遍历完字符串Trie树时,就完成了各串出现次数的统计。将统计结果按照长度升序,出现次数降序进行排列,以下表的形式展现出来。
2.由于长度为两位的串被替换成一位才能够节省内存空间,我们选定的替换字符为(a……z;A……Z;0……9),单字符的个数为63个,所以出现次数是前63位的长度为2的串被替换能够获得一定的收益,长度为N的串被小于N的串替换能够带来收益。根据此原理,删除原始表中不可能被替换的记录。
3.针对每一行记录,按照收益从小到大排序的方式给出替换选择方案,例如节点内容为“ell”的记录,其对应的替换方案是{<2,T3845>,<1,(3-1)*T3845>},<2,T3845>是一个替换,其中的2表示使用长度为2的串进行替换,T3845是替换所获得的收益。
最佳替换生成算法:
对于每行记录选择第一个替换,组成一个替换方案。显然,但该方案并不是最优方案,下面给出生成最优替换方案的算法。
算法假设:节点内容最长的串为L。由于算法设计一些操作,定义如下:
1.删除操作:将某条记录第一个替换删去,此时该记录采用后面的替换。
2.冲突操作:扫描所有记录的第一个替换,如果序号出现的次数超过其能够表达的个数,此时就存在冲突。
3.冲突解决:对于序号的冲突的解决,删除该序号对应的最小收益的那个二元组。算法过程如下。
1.从长度最大(L)的第一个记录开始,删除该记录对应的替换集合中的第一个替换,如果引起冲突,则评估解决冲突后带来的收益与不删除该替换所获得的收益进行对比。依次处理长度为L的第二个记录,直到处理到某记录,该记录的第一个替换不需要删除为止。调整影响由于解决冲突所影响到的记录的位置。
2.按照步骤1依次处理长度L-1,L-2,……,2的记录。
3.如果某次没有任何替换可以删除,则算法结束,否则,重复步骤(1),(2)
节点内容 | 出现次数 | 替换选择,逗号分隔 |
ab | T1 | {<1,T1>} |
ut | T2 | {<1,T1>} |
… | … | … |
rt | T62 | {<1,T62>} |
ell | T3845 | {<2,T3845>,<1,(3-1)*T3845>} |
…… | ||
xyz | T3906 | {<2,T3906>,<1,(3-1)*T3906>} |
… | ||
xxxxxxxx | Tx | {<i,(8-i)*Tx>,其中i=7…1} |
… | ||
zzzzzzzz | Tz | {<i,(8-i)*Tx>,其中i=7…1} |
表2.遍历字符串Trie树后获得的统计数据
根据表2建立如下的映射表3。
x1 | x62 | x63 | … | … | ||||||
a | … | 9 | aa | … | 99 | Aaa | … | 999 | aaaa | … |
表3.根据表2建立的映射表
根据映射表中的映射规则,通过遍历字符串Trie树,将Trie树中节点的节点内容根据映射规则替换成对应的内容。对Trie树中需要进行压缩处理的节点,将对应节点的kind属性设置为负数。
3.采用内存+外存存储字符串Trie树策略
当处理上亿数据时,无法将字符串Trie树中的所有节点数据都加载到内存中,必须将部分节点进行持久化处理,根据访问Trie树时的情况,当真正访问到该节点时,才将节点数据加载进入内存。
为了评估字符串Trie树中的哪些节点应该被持久化,需要计算字符串Trie树中的节点的一些附加属性,例如:该节点被访问的次数,该节点的大小等信息,访问次数越少的节点越应该被持久化。如图3所示:分割线上方的数据被加载到内存中,分割线下方的数据被持久化在硬盘上,当需要访问时,根据指定的置换策略进行置换处理。
如图3,为本发明实施例的根据内存状态动态加载节点图,所示节点t3,t4,t9,t11将被持久化,而根节点被加载到内存中,由于节点之间存储链接关系,节点t1,t2,t5,t6,t10也被加载在内存中,而节点t7,t8,t13,t14,t15,t16中的信息也被持久化。
4.孩子节点类型与查询策略改进
在初始化字符串Trie树时,将字符串Trie树的孩子节点类型为链式结构,当数据全部***到Trie树中时,由于孩子节点的个数已经比较稳定,所有采用数组对链式结构进行替换,避免链式结构在空间上的浪费。
对字符串Trie树中的某节点而言,在访问其孩子节点时,在没有先验知识的前提下,只能顺序访问其所有的孩子节点。为了获得较快的查找速度,我们将按照该节点的各孩子节点的访问频率和最近访问情况进行排序,使得在遍历Trie树的过程中,优先访问最近访问节点的和访问频率比较高的节点。
基于Trie树的词典机制一般是对词的首字计算Hash值,建立首字hash表或者直接根据首字的内部编码进行转换成数组的下标,正如图2所示,图2为本发明实施例的字符串Trie树首字节点图。然后建立字符串Trie索引树。
5.Trie树的序列化
当将字符串Trie树用于传输词典数据时,需要对其进行序列化处理。对图1所示的Trie树进行序列化处理,其结果为ab[ut,rt),b(a(idu,nk),ell)。其中定义了映射规则:
(1)Mod(abs(kind),2)=0时,节点内容后紧跟‘(’;
(2)Mod(abs(kind),3)=0时,节点内容后紧跟‘[’;
(3)kind<0时,节点内容后紧跟‘{’;
(4)孩子节点的内容之间采用逗号进行分割。
对字符串Trie树序列化后,通过扫描该字符串序列,可以重建出该序列化文件对应的字符串Trie树。
6.改进传统查询
查询1:给定某词典D和某前缀p,查询D中所有以p为前缀的数据。
1.用户输入查询前缀串;
2.从Trie树的根节点开始,获得当前节点的孩子节点,通过孩子节点的数量识别孩子节点是数组类型还是链表类型。如果是数组类型,则直接定位到该孩子节点;
3.链式孩子节点,将顺序扫描节点,在扫描过程中,如果该节点为压缩节点,则通过Map取出相应的数据,然后进行匹配,如果第一个字母相同,则找到节点。如果用户输入匹配当前节点数据,则当前节点就是要找的数据;
4.获取该节点所有的孙子节点中kind属性满足Mod(kind,3)为0的节点,将他们的内容形成列表,该列表就是返回给用户相应的前缀查询数据。
查询2:存在性检测
传统的存在性检测可以采用Set方式实现,而本发明也可以支持存在性检测。如果用户输入串,完全匹配从根节点到找到的节点的串路径上串的和,则完全匹配;否则,未找到。该节点所指向的位置就是用户所要查询的位置,据此,用户可以获得关于用户输入串的一切信息。
查询3:给定某映射关系,<键,值>对中的键,查询该键对应的值。
传统的键值关系映射查询主要采用Map结构进行实现,而本发明也可以支持对键值映射关系的查询。首先查询键在字符串Trie树中的位置,即获得键在Trie树中对应的节点,然后通过访问该节点中存储的值,从而获得键与值之间的对应关系。
图4为本发明实施例的字符串Trie树生成及查询流程图。
虽然本发明以较佳实施例公开如上,但它们并不是用来限定本发明,任何熟悉此技艺者,在不脱离本发明之精神和范围内,自当可作各种变化或润饰,因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。
Claims (7)
1、一种数据压缩存储与检索方法,包括步骤:
(1)根据用户检索情况,选择合适类型节点,将词典或特征数据用改进的字符串Trie树结构表示;
(2)对字符串Trie树进行压缩,优化;
(3)根据用户的输入,在字符串Trie树中进行检索。
2、根据权利要求1所述的数据压缩存储与检索方法,其特征在于:扫描词典数据或特征数据,将数据***到改进的字符串Trie树中。
3、根据权利要求1所述的数据压缩存储与检索方法,其特征在于:遍历字符串Trie树中的节点数据,并对节点数据进行统计,并采用压缩算法对字符串Trie树进行压缩处理。
4、根据权利要求1所述的数据压缩存储与检索方法,其特征在于:将字符串Trie树用于后缀查找。
5、根据权利要求1所述的数据压缩存储与检索方法,其特征在于:将字符串Trie树用于<key,value>类型的查找。
6、根据权利要求1所述的数据压缩存储与检索方法,其特征在于:将字符串Trie树用于数据存在性检测。
7、根据权利要求3所述的数据压缩存储与检索方法,其特征在于,所述压缩算法:统计字符串Trie树中节点内容出现情况,选择可能被替换的字符串,列举出每种字符串所有可能的替换,通过删除候选替换,检测冲突并解决冲突,从而获得字符串Trie树的最佳字符串替换方案,实现对字符串Trie树的压缩处理;当访问字符串Trie树时,检测节点的类型,如果是压缩节点,则从映射表中读取真正内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100258154A CN101499094B (zh) | 2009-03-10 | 2009-03-10 | 一种数据压缩存储并检索的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100258154A CN101499094B (zh) | 2009-03-10 | 2009-03-10 | 一种数据压缩存储并检索的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101499094A true CN101499094A (zh) | 2009-08-05 |
CN101499094B CN101499094B (zh) | 2010-09-29 |
Family
ID=40946166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100258154A Expired - Fee Related CN101499094B (zh) | 2009-03-10 | 2009-03-10 | 一种数据压缩存储并检索的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101499094B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916263A (zh) * | 2010-07-27 | 2010-12-15 | 武汉大学 | 基于加权编辑距离的模糊关键字查询方法及*** |
CN103020272A (zh) * | 2012-12-27 | 2013-04-03 | 广东佳和通信技术有限公司 | 一种字符串的排序方法 |
CN103365991A (zh) * | 2013-07-03 | 2013-10-23 | 深圳市华傲数据技术有限公司 | 一种基于一维线性空间实现Trie树的词典存储管理方法 |
CN103365992A (zh) * | 2013-07-03 | 2013-10-23 | 深圳市华傲数据技术有限公司 | 一种基于一维线性空间实现Trie树的词典检索方法 |
CN103888997A (zh) * | 2014-01-27 | 2014-06-25 | 上海挚连科技有限公司 | 一种针对传感器网络的数据压缩及存储方法 |
CN104408192A (zh) * | 2014-12-15 | 2015-03-11 | 北京国双科技有限公司 | 字符串类型列的压缩处理方法及装置 |
CN105052041A (zh) * | 2013-03-22 | 2015-11-11 | 富士通株式会社 | 压缩装置、压缩方法、词典生成装置、词典生成方法、解压装置、解压方法、解压程序以及信息处理*** |
CN105224828A (zh) * | 2015-10-09 | 2016-01-06 | 人和未来生物科技(长沙)有限公司 | 一种基因序列片段快速定位用键值索引数据压缩方法 |
CN106802927A (zh) * | 2016-12-22 | 2017-06-06 | 上海大汉三通数据通信有限公司 | 一种数据存储方法及查询方法 |
CN106909621A (zh) * | 2017-01-17 | 2017-06-30 | 中国科学院信息工程研究所 | 一种提速的基于ipc编码的查询处理方法 |
CN107193843A (zh) * | 2016-03-15 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种基于ac自动机和后缀表达式的字符串筛选方法及装置 |
CN107798054A (zh) * | 2017-09-04 | 2018-03-13 | 昆明理工大学 | 一种基于Trie的范围查询方法及装置 |
CN108153907A (zh) * | 2018-01-18 | 2018-06-12 | 中国计量大学 | 通过16位Trie树实现空间优化的存储管理方法 |
CN108197313A (zh) * | 2018-02-01 | 2018-06-22 | 中国计量大学 | 通过16位Trie树实现空间优化的词典索引方法 |
CN108628907A (zh) * | 2017-03-24 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 一种用于基于Aho-Corasick的Trie树多关键词匹配的方法 |
CN109241124A (zh) * | 2017-07-11 | 2019-01-18 | 沪江教育科技(上海)股份有限公司 | 一种快速检索相似字符串的方法及*** |
CN109739948A (zh) * | 2018-12-28 | 2019-05-10 | 北京金山安全软件有限公司 | 词表的存储管理方法、装置、电子设备及存储介质 |
CN111083933A (zh) * | 2018-08-21 | 2020-04-28 | 华为技术有限公司 | 数据存储及获取方法和装置 |
CN111382323A (zh) * | 2018-12-29 | 2020-07-07 | 贵州白山云科技股份有限公司 | 一种数据检索优化方法、装置和计算机设备 |
CN111444413A (zh) * | 2020-04-08 | 2020-07-24 | 作业不凡(北京)教育科技有限公司 | 一种数据查询方法、装置和计算设备 |
CN112219199A (zh) * | 2017-03-15 | 2021-01-12 | 森塞尔公司 | 在数据库中对trie数据结构的有效使用 |
CN112612925A (zh) * | 2020-12-29 | 2021-04-06 | 上海优扬新媒信息技术有限公司 | 数据的存储方法、读取方法以及电子设备 |
-
2009
- 2009-03-10 CN CN2009100258154A patent/CN101499094B/zh not_active Expired - Fee Related
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916263A (zh) * | 2010-07-27 | 2010-12-15 | 武汉大学 | 基于加权编辑距离的模糊关键字查询方法及*** |
CN101916263B (zh) * | 2010-07-27 | 2012-10-31 | 武汉大学 | 基于加权编辑距离的模糊关键字查询方法及*** |
CN103020272A (zh) * | 2012-12-27 | 2013-04-03 | 广东佳和通信技术有限公司 | 一种字符串的排序方法 |
CN105052041A (zh) * | 2013-03-22 | 2015-11-11 | 富士通株式会社 | 压缩装置、压缩方法、词典生成装置、词典生成方法、解压装置、解压方法、解压程序以及信息处理*** |
CN103365992A (zh) * | 2013-07-03 | 2013-10-23 | 深圳市华傲数据技术有限公司 | 一种基于一维线性空间实现Trie树的词典检索方法 |
CN103365991B (zh) * | 2013-07-03 | 2017-03-08 | 深圳市华傲数据技术有限公司 | 一种基于一维线性空间实现Trie树的词典存储管理方法 |
WO2015010509A1 (zh) * | 2013-07-03 | 2015-01-29 | 深圳市华傲数据技术有限公司 | 一种基于一维线性空间实现Trie树的词典检索方法 |
CN103365992B (zh) * | 2013-07-03 | 2017-02-15 | 深圳市华傲数据技术有限公司 | 一种基于一维线性空间实现Trie树的词典检索方法 |
CN103365991A (zh) * | 2013-07-03 | 2013-10-23 | 深圳市华傲数据技术有限公司 | 一种基于一维线性空间实现Trie树的词典存储管理方法 |
CN103888997A (zh) * | 2014-01-27 | 2014-06-25 | 上海挚连科技有限公司 | 一种针对传感器网络的数据压缩及存储方法 |
CN103888997B (zh) * | 2014-01-27 | 2018-02-02 | 广采网络科技(上海)有限公司 | 一种针对传感器网络的数据压缩及存储方法 |
CN104408192A (zh) * | 2014-12-15 | 2015-03-11 | 北京国双科技有限公司 | 字符串类型列的压缩处理方法及装置 |
CN104408192B (zh) * | 2014-12-15 | 2017-12-19 | 北京国双科技有限公司 | 字符串类型列的压缩处理方法及装置 |
CN105224828A (zh) * | 2015-10-09 | 2016-01-06 | 人和未来生物科技(长沙)有限公司 | 一种基因序列片段快速定位用键值索引数据压缩方法 |
CN105224828B (zh) * | 2015-10-09 | 2017-10-27 | 人和未来生物科技(长沙)有限公司 | 一种基因序列片段快速定位用键值索引数据压缩方法 |
CN107193843A (zh) * | 2016-03-15 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种基于ac自动机和后缀表达式的字符串筛选方法及装置 |
CN106802927A (zh) * | 2016-12-22 | 2017-06-06 | 上海大汉三通数据通信有限公司 | 一种数据存储方法及查询方法 |
CN106909621A (zh) * | 2017-01-17 | 2017-06-30 | 中国科学院信息工程研究所 | 一种提速的基于ipc编码的查询处理方法 |
CN112219199A (zh) * | 2017-03-15 | 2021-01-12 | 森塞尔公司 | 在数据库中对trie数据结构的有效使用 |
CN108628907B (zh) * | 2017-03-24 | 2021-09-17 | 北京京东尚科信息技术有限公司 | 一种用于基于Aho-Corasick的Trie树多关键词匹配的方法 |
CN108628907A (zh) * | 2017-03-24 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 一种用于基于Aho-Corasick的Trie树多关键词匹配的方法 |
CN109241124B (zh) * | 2017-07-11 | 2023-03-10 | 沪江教育科技(上海)股份有限公司 | 一种快速检索相似字符串的方法及*** |
CN109241124A (zh) * | 2017-07-11 | 2019-01-18 | 沪江教育科技(上海)股份有限公司 | 一种快速检索相似字符串的方法及*** |
CN107798054A (zh) * | 2017-09-04 | 2018-03-13 | 昆明理工大学 | 一种基于Trie的范围查询方法及装置 |
CN107798054B (zh) * | 2017-09-04 | 2021-06-18 | 昆明理工大学 | 一种基于Trie的范围查询方法及装置 |
CN108153907A (zh) * | 2018-01-18 | 2018-06-12 | 中国计量大学 | 通过16位Trie树实现空间优化的存储管理方法 |
CN108153907B (zh) * | 2018-01-18 | 2021-01-22 | 中国计量大学 | 通过16位Trie树实现空间优化的词典存储管理方法 |
CN108197313A (zh) * | 2018-02-01 | 2018-06-22 | 中国计量大学 | 通过16位Trie树实现空间优化的词典索引方法 |
CN111083933A (zh) * | 2018-08-21 | 2020-04-28 | 华为技术有限公司 | 数据存储及获取方法和装置 |
US11960467B2 (en) | 2018-08-21 | 2024-04-16 | Huawei Technologies Co., Ltd. | Data storage method, data obtaining method, and apparatus |
CN109739948A (zh) * | 2018-12-28 | 2019-05-10 | 北京金山安全软件有限公司 | 词表的存储管理方法、装置、电子设备及存储介质 |
CN111382323A (zh) * | 2018-12-29 | 2020-07-07 | 贵州白山云科技股份有限公司 | 一种数据检索优化方法、装置和计算机设备 |
CN111382323B (zh) * | 2018-12-29 | 2023-08-11 | 贵州白山云科技股份有限公司 | 一种数据检索优化方法、装置和计算机设备 |
CN111444413A (zh) * | 2020-04-08 | 2020-07-24 | 作业不凡(北京)教育科技有限公司 | 一种数据查询方法、装置和计算设备 |
CN112612925A (zh) * | 2020-12-29 | 2021-04-06 | 上海优扬新媒信息技术有限公司 | 数据的存储方法、读取方法以及电子设备 |
CN112612925B (zh) * | 2020-12-29 | 2022-12-23 | 度小满科技(北京)有限公司 | 数据的存储方法、读取方法以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101499094B (zh) | 2010-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101499094B (zh) | 一种数据压缩存储并检索的方法及*** | |
US11468027B2 (en) | Method and apparatus for providing efficient indexing and computer program included in computer readable medium therefor | |
US20180011861A1 (en) | Managing storage of individually accessible data units | |
AU2012282870B2 (en) | Managing storage of data for range-based searching | |
EP2443564B1 (en) | Data compression for reducing storage requirements in a database system | |
US20100082545A1 (en) | Compression of sorted value indexes using common prefixes | |
US9507821B2 (en) | Mail indexing and searching using hierarchical caches | |
US20040205044A1 (en) | Method for storing inverted index, method for on-line updating the same and inverted index mechanism | |
US9535940B2 (en) | Intra-block partitioning for database management | |
US20080114733A1 (en) | User-structured data table indexing | |
CN101676899A (zh) | 海量数据库记录的归档和查询方法 | |
US10963440B2 (en) | Fast incremental column store data loading | |
CN107729406B (zh) | 一种数据分类存储方法及装置 | |
CN103678694A (zh) | 视频资源的倒排索引文件建立方法及其*** | |
KR101656750B1 (ko) | 인덱스정보를 생성하는 데이터베이스의 아카이빙 방법 및 장치, 인덱스정보를 포함하는 아카이빙된 데이터베이스의 검색 방법 및 장치 | |
US20090259617A1 (en) | Method And System For Data Management | |
CN112463837B (zh) | 一种关系型数据库数据存储查询方法 | |
CN101458707A (zh) | 一种大数据量记录的存储方法 | |
AU2015258326B2 (en) | Managing storage of individually accessible data units | |
CN114372077A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100929 Termination date: 20190310 |
|
CF01 | Termination of patent right due to non-payment of annual fee |