[发明专利]一种基于查询工作量估算的XML分片方法无效
申请号: | 201110200086.9 | 申请日: | 2011-07-18 |
公开(公告)号: | CN102325161A | 公开(公告)日: | 2012-01-18 |
发明(设计)人: | 张静;郎波;段亚伟;牛虹婷;李未 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 李新华 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 查询 工作量 估算 xml 分片 方法 | ||
1.一种基于查询工作量估算的XML分片方法,其特征在于步骤如下:
(1)将XML树中每个结点编码;编码规则参考区间编码Zhang编码,由于所有结点均处于同一文档,故省略文档编号doc_id属性,添加查询工作量估算值workload属性,用于存放以该结点作为根节点的子树的查询工作量估算值;
(2)为每个结点生成相关的XPath查询步,查询步中以该结点为祖先或父亲结点,生成相应的包含连接查询步;
(3)查询工作量估算,对一个XML文档树从根结点开始,采用深度优先遍历的顺序,递归的对所有的结点进行查询工作量估算;
(4)基于查询工作量估算结果进行XML分片,XML文档树被划分为查询工作量估算值约为W0的各个子树;
(5)XML分配,将分片后的XML片段以查询工作量估算值升序排序,以一种“回形”的方式分发到各个处理节点上。
2.根据权利要求1所述的基于查询工作量估算的XML分片方法,其特征在于:所述的步骤(3)进一步包括:
(3.a)从XPath查询步队列中提取出与该结点相关的XPath查询步列表;
(3.b)对XPath查询步列表中的每个查询步进行连接结果大小估算,将估算值添加到变量workload中;
(3.c)如果该结点为叶子节点,则返回workload;
(3.d)如果不是叶子节点,则遍历该结点的孩子结点,递归调用该方法,以孩子结点作为参数,将其返回值添加到workload,重新转向(3.a)。
3.根据权利要求1所述的基于查询工作量估算的XML分片方法,其特征在于:所述的步骤(4)进一步包括:
(4.a)设变量PN表示可能的分割结点列表,finalPN表示最终的分割结点列表,初始将根节点root加入PN,finalPN中为空;
(4.b)如果PN不为空,从PN中取出一个结点node;如果PN为空,则转向步骤(4.f);
(4.c)如果node的属性workload不在W0附近且大于W0,则将其孩子结点全部加入PN;
(4.d)如果node的workload在W0附近,则将node加入finalPN;
(4.e)如果node的workload不在W0附近且小于W0,则将node加入临时列表tempList中,转到步骤(4.b);
(4.f)如果tempList不为空,对tempList中的具有相同父亲的结点进行合并,将具有相同父亲的结点归为一组,和它的兄弟节点进行合并,如果某几个兄弟节点的workload之和在W0附近,则将其父亲结点添加一个特殊标志,加入finalPN;如果同一组中所有节点workload之和都达不到W0或者剩余的结点达不到W0,就将这些节点合并在一起,上溯一层,将其父亲结点加入tempList,重新转向步骤(4.e);如果tempList为空,转向步骤(4.g);
(4.g)根据fina lPN将XML树划分为子树,每个子树形成一个XML片段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110200086.9/1.html,转载请声明来源钻瓜专利网。