一种外包数据库中的空间文本Top-k查询的验证方法及系统的利记博彩app

文档序号:8223506阅读:324来源:国知局
一种外包数据库中的空间文本Top-k查询的验证方法及系统的利记博彩app
【技术领域】
[0001]本发明涉及数据库信息查询技术领域,尤其涉及一种外包数据库中的空间文本Top-k查询的验证方法及系统。
【背景技术】
[0002]近些年来,带有定位功能的设备(比如:智能手机)的大量普及以及移动互联网的蓬勃发展,基于位置的服务(Locat1n-based Services,LBS)已经成为我们日常生活中的一个重要的组成部分。LBS基于用户的位置提供给用户位置感知的查询体验。空间文本Top-k查询受到了学术界和工业界的广泛关注。在一个空间文本数据库中,每一个对象都包含两个属性:位置属性和文本属性。给定一个空间文本数据库,空间文本Top-k查询会去寻找位置相对查询点更近并且文本与用户输入的关键词更相似的k个对象,例如,一个用户可能希望去查询一个“有烤肉和啤酒的餐厅”,并且这个餐厅还要离用户的位置比较近。
[0003]空间文本数据库的数据拥有者需要花费大量费用才能维护大量的空间文本数据并提供高效的空间文本Top-k查询,比如建立基础设施、雇佣专业的人才以及在网上做广告等。因此,为了更好的利用这些空间文本数据,空间文本数据库的数据拥有者将数据库外包给第三方基于位置的服务提供商(Locat1n-based Services Provider, LBSP)是一个很好的选择。
[0004]然而,这样的数据库外包会带来巨大挑战,即第三方基于位置的服务提供商有可能会返回不正确的查询结果。导致这一问题的原因有以下几个:第一、LBSP有可能因为个人的利益去篡改查询的结果以满足某些付费商家的需求;第二、即使LBSP是可信的,但是他的服务器仍有可能受到攻击者的攻击,进而攻击者有可能会返回错误的查询结果。
[0005]因此,上述的原因促使我们有必要去研宄用户可验证的空间文本Top-k查询方法。具体的来讲,用户需要验证两个方面,第一是完整性,即原始的空间文本数据没有被第三方的基于位置的服务提供商所篡改;第二是正确性,即前k个结果的顺序是正确的并且正确的结果都没有被遗漏。
[0006]本发明研宄并实现了外包数据库中的空间文本Top-k查询的验证方法。已有的相关工作要么针对空间查询验证,要么针对文本查询验证。然而在空间文本数据库中,每个对象都有空间和文本两个属性,并且空间文本Top-k查询不仅需要考虑查询点和对象之间的空间上距离的远近,还要考虑对象所包含的文本与查询者输入关键词的相似程度,因此,已有的工作无法解决空间文本Top-k查询的验证问题。解决该问题的直观的想法是简单的将IR树(到目前为止解决空间文本Top-k查询问题最好的索引结构)和Merkle哈希树(一个可用于验证问题的经典的索引结构)相结合形成MIR树,通过最好优先遍历的算法查询前k个结果,同时用于验证的验证对象(Verificat1n Object, VO)也基于树遍历过程中访问到的节点而产生。当用户收到k个结果以及验证对象之后,用户可以通过恢复MIR树根节点的哈希值的办法来验证原始空间文本数据的完整性,而正确性则可以通过重新计算验证对象中每个对象的评分,进而让用户进行重排序后与k个结果的顺序相比较来完成验证。但是,该方法有很严重的问题,MIR树中用于索引每个对象文本信息的倒排文件,被包含在验证对象中,而倒排文件规模巨大,因此验证对象在第三方的基于位置的服务提供商返回给用户时,会造成大量的通信开销。同时,用户在利用验证对象进行验证的时候,需要遍历每个倒排文件以计算验证对象中每个对象的评分,这也会导致很大的计算开销。因此,空间文本Top-k查询的验证问题仍是一个难题。

【发明内容】

[0007]本发明提供一种外包数据库中的空间文本Top-k查询的验证方法及系统,通过森林索引和条目剪枝的方法,将验证对象中冗余的信息进行删除,减小了验证对象的大小,从而降低了通信开销和计算开销。
[0008]根据上述目的,本发明提供了一种外包数据库中的空间文本Top-k查询的验证方法,所述方法包括:
[0009]S1、将外包数据库中的空间文本数据构建成IR树,并将所述IR树与Merkle哈希树相结合构建成MIR树;
[0010]S2、将所述MIR树分离成一棵MR树和多棵关键词树,每棵所述关键词树对应于所述空间文本数据中的一个关键词;
[0011]S3、对与输入的关键词相关的关键词树进彳丁剪枝,生成剪枝后的关键词树;
[0012]S4、通过遍历所述MR树和剪枝后的关键词树,生成验证对象;
[0013]S5、通过遍历验证对象恢复MR树和关键词树的根节点的哈希值,与原始数据库中的哈希值进行比较,若相同,则表示查询结果完整,否则查询结果不完整;
[0014]S6、计算所述验证对象中每个对象的评分,进行排序,然后与查询出的k个结果的顺序进行比较,若相同,则表示查询结果正确,否则查询错误。
[0015]其中,所述步骤S3具体包括:
[0016]S31、将所述与输入的关键词相关的关键词树进行结构修改;
[0017]S32、遍历修改后的关键词树,获得k个查询结果,并在遍历的过程中形成生成树;
[0018]S33、记录第k个结果的评分,然后将所述第k个结果的评分减去所述生成树的每个节点中的距离评分最好的评分,将结果作为剪枝的评分阈值;
[0019]S34、在生成树中进行剪枝,将小于所述评分阈值的节点除掉。
[0020]其中,所述步骤S31具体包括:
[0021]S311、将所述与输入的关键词相关的关键词树的节点中的条目的权值进行从大到小的排序;
[0022]S312、将排序后的所述与输入的关键词相关的关键词树的节点中构建一棵嵌入式Merkle哈希树。
[0023]其中,所述嵌入式Merkle哈希树为以所述排序后的与输入的关键词相关的关键词树的节点中的所有条目为叶子节点构建的一棵二叉Merkle哈希树。
[0024]根据本发明的另一个方面,提供一种外包数据库中的空间文本Top-k查询的验证系统,所述系统包括:
[0025]MIR树生成单元,用于将外包数据库中的空间文本数据构建成IR树,并将所述IR树与Merkle哈希树相结合形成MIR树;
[0026]MIR树分离单元,用于将所述MIR树分离成一棵MR树和多棵关键词树,每棵所述关键词树对应于所述空间文本数据中的一个关键词;
[0027]剪枝单元,用于对与输入的关键词相关的关键词树进行剪枝,生成剪枝后的关键词树;
[0028]遍历单元,用于通过遍历所述MR树和剪枝后的关键词树,生成验证对象;
[0029]完整性验证单元,用于通过遍历验证对象恢复MR树和关键词树的根节点的哈希值,与原始数据库中的哈希值进行比较,若相同,则表示查询结果完整,否则查询结果不完整;
[0030]正确性验证单元,用于计算所述验证对象中每个对象的评分,进行排序,然后与查询出的k个结果的顺序进行比较,若相同,则表示查询结果正确,否则查询错误。
[0031]本发明的外包数据库中的空间文本Top-k查询的验证方法及系统,通过森林索引和条目剪枝的方法,将验证对象中冗余的信息进行删除,降低了验证对象的大小,从而降低了通信开销和计算开销。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1