一种字典序分区双数组的字符串批量查询方法及装置制造方法及图纸

技术编号:24684166 阅读:108 留言:0更新日期:2020-06-27 08:10
本发明专利技术涉及一种字典序分区双数组字符串批量查询方法及装置,属于信息检索领域。包括:字符串数据集预处理步骤,对字符串数据集和查询集按照字典序升序排序并统计数据集中字符串的总长度;索引创建步骤,对字符串按照全部字符串长度划分成K个分区并创建分区映射表,然后为每个分区创建独立的双数组索引结构;检索步骤,对一批待查询的字典序有序的查询集,根据查询集构建分区查询表确定各查询的分区号并在相应分区内进行检索。本发明专利技术通过长度分区创建和检索双数组,使分区负载更为均衡,进而提高双数组的创建效率。

A method and device for batch query of strings with dictionary order partition and double array

【技术实现步骤摘要】
一种字典序分区双数组的字符串批量查询方法及装置
本专利技术一种字典序分区双数组的字符串批量查询方法及装置,具体涉及一种对字符串数据集进行排序分区并建立分区双数组索引的方法及装置,属于信息检索领域。
技术介绍
字符串存储和查询是很多领域的基本问题,提高字符串存储和查询效率有着较为重要的意义,而Trie是字符串存储和查询最为常见的结构,但对常见的trie的矩阵存储和链式存储来说,均难以兼顾查询性能和存储空间开销之间的矛盾。Aoe等人提出的DA在查询性能和存储空间之间取得了较好的平衡,该结构基于BASE和CHECK两个一维整型数组来压缩存储字符串,空间效率较高;此外,其在检索某节点的特定孩子时只需要执行简单的加操作,因此同样具有较好的查询性能。随着字符串数量的增加,双数组的空间开销和索引创建开销也会增大,为了解决上述问题,许多学者针对DA的优化进行了研究,例如Yata等人提出了一种压缩的双数组索引结构,这种结果将字符信息存储在CHECK数组中来提升空间效率,Kanda等人通过将双数组分段并为每段设计对应的线性函数来确定BASE值,并针对动态双本文档来自技高网...

【技术保护点】
1.一种字典序分区双数组的字符串批量查询方法,其特征在于,包括如下步骤:/n字符串数据集预处理步骤:将字符串数据集按字典序升序排序并统计数据集中所有字符串的总长度L;将查询集同样按字典序升序排序;/n索引创建步骤:按照全部字符串长度将数据集分区并创建分区映射表PMT,为每个分区创建分区双数组DA索引;/n检索步骤:对待查询的字典序有序的一批字符串,根据分区映射表在相应的DA上进行检索,获取查询结果。/n

【技术特征摘要】
1.一种字典序分区双数组的字符串批量查询方法,其特征在于,包括如下步骤:
字符串数据集预处理步骤:将字符串数据集按字典序升序排序并统计数据集中所有字符串的总长度L;将查询集同样按字典序升序排序;
索引创建步骤:按照全部字符串长度将数据集分区并创建分区映射表PMT,为每个分区创建分区双数组DA索引;
检索步骤:对待查询的字典序有序的一批字符串,根据分区映射表在相应的DA上进行检索,获取查询结果。


2.根据权利要求1所述的字典序分区双数组的字符串批量查询方法,其特征在于:所述的字符串数据集预处理步骤分为三个步骤:
步骤110:将字符串数据集按字典序升序排序;
步骤120:累加并计算所有字符串的总长度L;
步骤130:将查询集按字典序升序排序。


3.根据权利要求1所述的字典序分区双数组的字符串批量查询方法,其特征在于:所述的索引创建步骤按如下步骤执行:
步骤210:给定分区个数K,按照数据集中字符串总长度将数据集均衡地划分为K个分区,每个分区字符串总长度近似等于[L/K];如果分区线从某个字符串内部划过,将该字符串划分成两个临时子串用于确定该字符串所属分区,比较两个临时子串的大小,将该字符串划分到临时子串较大的分区;
步骤220:构建长度为K-1的分区映射表PMT,表中第i个位置(i=0,1,……,k-2)存储第i+1个分区的第一个字符串;
步骤230:为每个分区创建分区双数组索引结构,对当前读取的字符串s,将其特定长度的前缀中的字符插入到对应的分区双数组中,其中特定长度的前缀指的是s中能与任...

【专利技术属性】
技术研发人员:贾连印张崇德李孟娟丁家满陈明鲜唐季林
申请(专利权)人:昆明理工大学
类型:发明
国别省市:云南;53

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

1