当前位置: 首页 > 专利查询>北京大学专利>正文

一种数据外包环境下的查询结果验证方法技术

技术编号:5992633 阅读:250 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种数据外包环境下的查询结果验证方法,属于数据库管理系统领域。本方法为:1)数据源端构造存储到外包服务器端的数据集D的Hash表;2)客户端将查询请求分别发送到数据源端和外包服务器端;3)数据源端查询该Hash表中满足查询请求的XML文档树结构根节点的散列值HD,并通过安全通道将其发送给客户端;4)外包服务器端根据查询请求返回查询处理结果R’给客户端,并提供可计算出该HD的验证数据S;5)客户端根据散列函数、返回数据R’以及验证数据S计算出HD’,并检验HD’=HD是否成立;若成立则返回结果正确,否则错误。本发明专利技术可保证查询结果的完全性和正确性,为查询结果在实际应用中的重要性提供保障。

【技术实现步骤摘要】

本专利技术属于数据库管理系统领域,涉及一种数据外包环境下的查询结果验证方 法,主要针对在数据发布者和查询服务提供者分离的情况下,保障查询结果的正确性和完 全性。
技术介绍
单一 XML验证包括检查单一 XML数据查询结果的正确性和完全性。基于单一 XML数据库的验证,目前主要的研究内容包括文献“Executing SQL over encrypted data in the database-service-provider model, presented at the Proceedings of the 2002ACM SIGMOD international conference on Management of data,Madison, Wisconsin, 2002. ”中提出的外包数据的加密保护并基于加密数据的查询处 3S;文^“Authentication of outsourced databases using signature aggregation and chaining vol. 3882. Berlin, ALLEMAGNE =Springer, 2006"中提出的外包数据的完全性保 护;文献"Verifying completeness of relational query results in data publishing, presented at the Proceedings of the 2005ACM SIGMOD international conference on Management of data, Baltimore, Maryland,2005”中关于外包数据的查询完全性、准确性 和时效性研究等方面。但这些研究基本面向关系数据,所提出的方法、算法无法直接应用于 目前应用越来越广泛的XML数据。目前针对XML数据的可信查询处理的代表性工作有两种,一是在文献“Flexible authentication of XML documents, presented at the Proceedings of the 8th ACM conference on Computer and Communications Security, Philadelphia, PA, USA,2001." 中提出的基于 < 路径,节点集 > 的路径表查询验证方法,另一个是在文献“Structural signatures for tree data structures, Proc. VLDB Endow. , vol. 1, pp. 138-150, 2008.,, 中提出的基于Pre-Post节点编码的XML树结构验证方法。这两种方法都没有解决查询完 全性的问题服务器返回的结果是否全部包含了对应查询语句(XPath或XQuery)所应得到 的全部结果,并且没有多余的非查询结果被返回。
技术实现思路
本专利技术是针对单一 XML数据库验证问题,克服上述现有相应技术存在的不足,提 出的。本方法既能保证查询结果的完全性,又能 保证查询结果的正确性。本专利技术的技术方案为,其步骤为1)数据源端构造存储到外包服务器端的数据集D的Hash表;其中数据集D为若 干XML文档树构成的文档树;2)客户端将查询请求分别发送到数据源端和外包服务器端;3)数据源端查询该Hash表中满足查询请求的XML文档树结构根节点的散列值 HD,并通过安全通道将其发送给客户端;4)外包服务器端根据查询请求返回查询处理结果R’给客户端,并提供可计算出 该HD的验证数据S ;5)客户端根据散列函数、返回数据R’以及验证数据S计算出Hd’,并检验Hd’ = Hd 是否成立;若成立则返回结果正确,否则错误。进一步的,构造所述数据集D的Hash表的方法为1)初始化一路径表I^athTable,将数据集D自根节点开始的每一路径作为路径表 PathTable 中的一行;2)深度周游D并对D中所有子树从小到大进行编码,将编码作为每棵子树的标 识;3)从路径表PathTable中查找每棵子树的入口,并把相应子树的标识按照编码先 后顺序记录在路径表PathTable的相应行;4)将路径表PathTable每行所包含的标识作为标识组,计算每一标识组的hash值 并把该值记录在路径表PathTable的相应行。进一步的,所述路径表PathTable每行包含的信息有路径、与路径对应的子树编 码按照文档序的排列、MHT值。进一步的,所述外包服务器端根据查询请求返回查询处理结果R’给客户端,并提 供可计算出该战的验证数据S的方法为1)在路径表PathTable中查找所有满足查询请求的路径;2)对于每一条符合要求的路径,返回一三元组(labelpath、subtrees、 hashpath);其中,labelpath为符合要求路径的全路径、subtrees为路径表I^athTable中 与符合要求路径对应的行中所有标识对应的子树序列、hashpath为从符合要求路径对应的 叶节点开始到计算根节点hash值路径上用到的所有的hash值形成hash路径;3) 31 [Hi W H 7Π (labelpath^ subtrees、hashpath)歹Ij ■中的 labelpath^ subtrees作为返回查询结果R,,hashpath作为验证数据S。进一步的,数据源端查询所述散列值Hd的方法为1)在路径表PathTable中查询所有满足查询请求的路径;2)对于所有符合要求的路径,如果存在子树序列,则为每个子树构建D0MHASH并 基于所有子树的D0MHASH构造MHT树,将该MHT树根的值放入一 HashSet集合中;3)对 HashSet 构建 MHT 树,求出根节点 MHTcheck ;4)对MHTcheck签名得到所述散列值Hd。进一步的,所述计算出Hd’的方法为1)对于外包服务器端返回的每个三元组(labelpath、subtrees、hashpath);a)计算查询结果subtrees中每个子树的D0MHASH ; b)用a)步骤得到的D0MHASH构建MHT,计算该MHT根节点的hash值;c)基于b)中的hash值和hashpath,计算labelpath对应的MHT树的根节点hash 值Hd;2)对所有三元组生成的hash值构成的序列,构建MHT树并得到根节点的hash值MHTT,利用签名函数得到H/。进一步的,所述数据源端将HashSet集合返回给客户端;客户端将计算出的每一 hash值Hd,核查当前Hd e HashSet是否成立,若成立则该返回结果正确,否则返回结果不正确。XML查询完全性验证的定义如下令D= {D1,D2,. . ·,Dm}为Data Owner(数据源) 外包到外包服务器krver上的XML数据集(文档树组成的森林),令R = Qc (D)为基于数 据D执行查询Qc的正确查询结果;令R’为查询用户(这里查询用户不是Data Owner)将 Qc提交给krver的查询处理结果,则查询完全性验证可归纳为对关系R^R’的判断。考虑 到数据库查询结果的准确性在实际应用中的重要性本文档来自技高网
...

【技术保护点】
一种数据外包环境下的查询结果验证方法,其步骤为:1)数据源端构造存储到外包服务器端的数据集D的Hash表;其中数据集D为若干XML文档树构成的文档树;2)客户端将查询请求分别发送到数据源端和外包服务器端;3)数据源端查询该Hash表中满足查询请求的XML文档树结构根节点的散列值HD,并通过安全通道将其发送给客户端;4)外包服务器端根据查询请求返回查询处理结果R’给客户端,并提供可计算出该HD的验证数据S;5)客户端根据散列函数、返回数据R’以及验证数据S计算出HD’,并检验HD’=HD是否成立;若成立则返回结果正确,否则错误。

【技术特征摘要】

【专利技术属性】
技术研发人员:李树节包小源王腾蛟杨冬青蔡慧慧
申请(专利权)人:北京大学
类型:发明
国别省市:11

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

1