[发明专利]安全的XML关键字检索方法无效

专利信息
申请号: 200910055812.5 申请日: 2009-07-31
公开(公告)号: CN101615190A 公开(公告)日: 2009-12-30
发明(设计)人: 杨卫东;李晓东 申请(专利权)人: 复旦大学
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 上海正旦专利代理有限公司 代理人: 陆 飞;盛志范
地址: 20043*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 安全 xml 关键字 检索 方法
【权利要求书】:

1.一种安全的XML关键字检索方法,其特征在于具体步骤如下:

1)建立基于模式Schema安全说明的XML索引,首先对XML文档的Schema 建立安全说明,然后通过对XML文档进行深度优先遍历,使用Dewey编码的方 式对节点进行编码,在遍历过程中同时考虑到Schema的安全说明,当遍历完一 遍XML文档树时,即建立了基于Schema的安全说明的索引;索引的结构是倒 排索引,以键-值对的结构存放,键即是关键字,值即是关键字在XML文档中所 在节点的Dewey编码组成的列表,同时,值列表中每个节点还维护一个list变量, 用于存放与此节点条件相关的节点信息;

2)根据基于Schema安全说明的XML索引寻找SSLCA,运行时,用户提 交关键字查询,通过倒排索引计算出关键字的SLCA节点的Dewey编码值,利 用每个节点list变量存放的信息对SLCA节点进行剪枝和淘汰,得到最后的 SSLCA节点;

3)最后把得到的SSLCA节点返回给用户;

其中,所述基于模式Schema安全说明建立XML索引的具体步骤如下:

1)为XML文档中的每个节点v维护两部分信息:一是节点的Dewey编码, 用v.deweyNo表示;二是对每个条件访问的节点,维护一个与这个节点条件相关 的节点列表,用v.list表示;

2)在遍历XML文档树的过程中,为每个节点v计算Dewey编码的同时进 行如下操作:如果v是一个不可访问节点,则在v.list中存放一个标识符“N”,表 示节点v不可访问;如果v是一个条件访问的节点,在Schema中找出与节点v 的节点类型条件相关的节点类型,取这两种节点类型的最低公共祖先,标识为M; 然后在XML文档中,自底向上找出节点v的祖先中类型为M的节点,标识为m, 则m<v,并且与节点v条件相关的节点必然在节点m的子节点中;把节点m的 子节点中与节点v条件相关的所有节点的值放入v.list中即可获得与节点v条件 相关的所有节点的信息;如果遍历到节点v时,节点m的子节点还没有被遍历 到,就在节点v里面记录下节点m的Dewey编码,当下次遍历到节点m的其他 子节点时再把这些子节点中所有与节点v条件相关的节点的Dewey编码放入 v.list中;当一次遍历完整个XML文档树后,基于模式Schema的安全说明的索 引就建立起来了;

所述基于模式Schema安全说明的XML索引计算SSLCA的做法如下:

从给出的关键字集合W={wi|i=1,...,k}中,找出一个符合这些关键字查询的 SLCA节点的集合L,然后从集合L中逐个取出SLCA来,并判断当前被取出来 的SLCA节点是否满足安全说明;具体分以下四个步骤:

步骤(1)先判断以当前SLCA节点为根的子树,简称“SLCA的子树”, 是否包含不可访问节点,如果不包含则直接跳转到步骤(3),如果包含就把所有 的不可访问节点从这个SLCA子树中裁剪掉;

步骤(2)再判断被裁剪过的SLCA的子树是否包含所有关键字,如果包含, 则到转步骤(3),否则直接转到步骤(4);

步骤(3)使用自底向上的方法找出从这个SLCA节点到Schema的根节点 的路径,然后根据所建立的XML索引使用自顶向下的方法,从根节点到这个 SLCA节点逐个判断在这条路经上是否每个节点和SLCA子树的节点是否都满足 各自的安全说明,如果不满足则到步骤(4),全部满足则保留该SLCA,使其成为 一个SSLCA;

步骤(4)把当前的SLCA从L中删除;

其中,XML为可扩充标记语言,SLCA为最小最低公共祖先,SSLCA为安 全的最小最低公共祖先;有关概念的定义如下:

定义1:XML文档树,由一个2元组T表示,T=(V,E),value(dw)是在XML 文档树上进行的操作,其中:

V是树上所有节点的集合,并且每个节点都有唯一的Dewey编码;

是树上边的集合;

value(dw)函数,用来获得Dewey编码为dw的节点的值;

定义2:SLCA,一棵XML文档树上的一个节点被称为一组关键字集合W 的SLCA的节点,如果这个节点满足:(1)标签中或者后代节点的标签中包含所 有关键字,(2)没有任何一个后代节点是SLCA节点;

定义3:安全说明,安全说明S是一个二元组S=(D,ann),其中D表示一 个XML文档的Schema,为Schema上每条有向边定义一个函数ann(A,B),其中 A表示Schema上的一个节点,B表示节点A的子节点,如果函数ann(A,B)在 Schema上被显示定义的话会是下面的这样一个表达式:

ann(A,B)=Y|[q]|N

其中,Y,[q],N分别表示在一个Schema中节点A的子节点B是可访问, 条件访问和不可访问的,另外q是用XPath表示的条件访问语句;如果函数 ann(A,B)在Schema上没有被显式定义,节点B的可访问性就继承了节点A的 可访问性;如果函数ann(A,B)被显式定义,节点B的可访问性就覆盖了节点A 的可访问性;

定义4:条件访问的节点,在定义了安全说明的Schema上,如果一种类型 的节点需要满足某个条件才能被访问,称这种类型的节点为条件访问的节点;

定义5:SSLCA,一棵定义了安全访问规则的XML文档树上的一组关键字 集合W的SLCA节点被称为SSLCA节点,如果这个SLCA节点满足所有的安全访问 规则;

定义6:条件相关的节点,通过某条件访问节点的XPath条件语句所能访问 到的目标节点称为与此条件访问节点条件相关的节点。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910055812.5/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top