一种TRIE和LOUDS结合的超集索引结构构建方法技术

技术编号:32673155 阅读:32 留言:0更新日期:2022-03-17 11:28
本发明专利技术涉及一种TRIE和LOUDS结合的超集索引结构构建方法,属于集合及字符串处理技术领域。本发明专利技术包括数据预处理阶段、索引结构构建阶段和超集查询阶段。数据预处理阶段将原始集合数据集中的集合和元素进行映射和排序。索引结构构建阶段构建上部为TRIE、下部为LOUDS的混合索引结构。超集查询阶段则给定一个查询,在构建的混合索引结构上检索为给定查询的子集的所有集合。本发明专利技术可充分利用TRIE的查询高效性及LOUDS的高空间压缩性,可使得频繁被访问的上部有快的查询速度,而较少被访问的下部有高的压缩性能。有高的压缩性能。有高的压缩性能。

【技术实现步骤摘要】
一种TRIE和LOUDS结合的超集索引结构构建方法


[0001]本专利技术涉及一种TRIE和LOUDS结合的超集索引结构构建方法,属于集合及字符串处理


技术介绍

[0002]集合超集查询在决策支持系统、发布订阅系统、数据挖掘等众多领域应用广泛,如在发布订阅系统中,用户可以注册他们的关键词,系统可部署一个超集查询算法来对每个到来的对象执行超集查询,以获取订阅该对象的用户。在决策支持系统中,系统可以通过超集查询获取和某个求职者能力匹配的职位。
[0003]TRIE是最常见的高效超集查询结构,但其空间存储效率不高,存储大规模集合数据时,往往需要较大的存储空间。因此,需要对其进行压缩,而LOUDS是已知的目前空间压缩效率最高的TRIE结构,可有效降低空间开销。故将TRIE和LOUDS结合,对频繁访问的上层和存储空间开销高的下层分别用TRIE和LOUDS表示,可使得构建的索引结构同时具有高的时间和空间效率。

技术实现思路

[0004]本专利技术要解决的技术问题是提供一种TRIE和LOUDS结合的超集索引结构构建方法,使得本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种TRIE和LOUDS结合的超集索引结构构建方法,其特征在于:Step1:对初始集合数据集中的集合和元素进行映射和排序;Step2:构建TRIE和LOUDS结合的索引结构;Step3:在构建的索引结构中执行超集查询。2.根据权利要求1所述的TRIE和LOUDS结合的超集索引结构构建方法,其特征在于,所述Step1具体为:Step1.1:统计数据集中各元素出现的频率,然后按频率降序将元素排列;Step1.2:将每个集合中的元素替换为其在频率降序中的下标,并将集合内的元素按值大小升序排序;Step1.3:将按元素值升序排序后的所有集合按照集合大小升序排序;Step1.4:对排序后的集合从0开始依次编号,记集合s的编号为s.id,记最终处理的数据集为D,|D|为数据集中集合的数量。3.根据权利要求2所述的TRIE和LOUDS结合的超集索引结构构建方法,其特征在于,所述Step1.3中具体为:Step1.3.1:对特定的两个集合s和t,循环变量i从0到min(|s|,|t|)

1,循环执行Step1.3.2至Step1.3.3,其中|s|和|t|分别表示s和t中的元素数量,min(|s|,|t|)表示|s|和|t|的最小值;Step1.3.2:若s[i]>t[i],则s>t;若s[i]<t[i],则s<t;否则表示s[i]=t[i],继续比较下一元素;其中s[i]和t[i]分别表示s和t的第i个元素;Step1.3.3:若s和t的前min(|s|,|t|)个元素均相等,则继续判断|s|>|t|是否成立,如成立,则s>t,如|s|<|t|,则s<t,否则s=t。4.根据权利要求1所述的TRIE和LOUDS结合的超集索引结构构建方法,其特征在于,所述Step2具体为:Step2.1:为数据集中各集合的前d个元素构建TRIE索引,后文中d也称为分割深度;Step2.2:为各集合的第d个元素之后的元素构建层级LOUDS索引;Step2.3:将层级LOUDS结构合并为单层LOUDS结构。5.根据权利要求4所述的TRIE和LOUDS结合的超集索引结构构建方法,其特征在于,所述Step2.1具体为:Step2.1.1:建立一个空的根节点root,令当前访问的节点current=root,记root的深度为0;Step2.1.2:对每一个集合s∈D,循环执行Step2.1.3至Step2.1.6;Step2.1.3:循环变量i从0到min(|s|

1,d

1),循环执行Step2.1.4到Step2.1.6;Step2.1.4:若在current的孩子中查不到标签为s[i]的节点,则在current节点下添加一个标签为s[i]的孩子节点N,令current=N;若在current的孩子中已存在标签s[i]的节点N,则直接令current=N;Step2.1.5:若i=|s|

1,则称N为终结点,即对应某个集合最后一个元素的节点,记N.ESets为二元组<startid,count>,其中N.Esets表示所有终结于节点N的全体集合,startid表示第一个和s完全相同的集合的id,count表示和s完全相同的集合数量;Step2.1.6:若i=d

1,表明N为TRIE中最后一层的节点,若此时|s|>d,则称N为关节点,
关节点是连接上层的TRIE和下层的LOUDS的纽带;对关节点按其插入TRIE的顺序从0开始依次编号;Step2.1.7:令C表示最终构建的TRIE中关节点的总数。6.根据权利要求4所述的TRIE和LOUDS结合的超集索引结构构建方...

【专利技术属性】
技术研发人员:李孟娟贾连印张钰娜王宁邦陈彬
申请(专利权)人:云南师范大学
类型:发明
国别省市:

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

1