论文部分内容阅读
[摘 要]查询作为web服务操作里面的重要应用,提高它的效率是至关重要的。在一个集成系统内,存在着很多的服务,为了提高服务查询的时间效率,提出了一种在服务请求路径表达式和web 服务的xml文档之间进行元素比对以过滤无关服务的方法。实验验证,本文所用的方法能够提高服务查询的时间效率。
[关键词]集成系统 Xpath 服务过滤 请求路径表达式
中图分类号:TP393.092 文献标识码:A 文章编号:1009-914X(2013)25-0261-01
1.引言
xml数据的基本形式是XML文档,它是一种半结构化的数据。而xml查询技术作为服务操作里的重要应用之一,是当今xml技术研究的热点。为了从xml文档中获取所需要的数据,研究人员开发出了很多的查询语言,包括Lorel,XML-QL,XML-GL,Quilt,XPath,XQuery,它们都是采用正则路径表达式作为它们的主要组成部分之一,xml路径表达式查询在目前有关的xml技术的研究中处于非常重要的地位。
本文通过对xml文档的元素比对,过滤集成系统内部无关的服务,提高了服务的匹配效率。
2.相关概念
定义1 自治域:那些具有独立的资源且能够进行自主管理的集合存在。
定义2 集成系统(System Integration):是由各自治域按照一定的形式组织在一起而形成的存在形式,在资源角度上,可以看做系统内各自治域资源的集合。
定义3 集成系统的服务过滤:在集成系统内,服务请求者可能需要在一定的时间段内,多次从众多的服务中查询出所要求的服务。为了提高服务匹配的时间效率,需要将那些与服务请求无关的服务进行先期的删减,以提高服务查询的时间效率,这就是服务的过滤。
定义4 SR_Xpath:即服务请求路径表达式.我们可以将服务请求service request看做是路径表达式Xpath,即用路径表达式来表示服务请求。
一个路径表达式是有“\”“*”“\\”等符号进行表示的。例如,路径表达式Q1://origin/title/*/name,xpath是一种对xml文档内容进行定位和检索的查询语言。它是以表达式的形式存在的。xpath将xml文档看做一个由节点组成的树。xpath通过在表达式中加入树的节点以在xml文档的层次结构中定位路径。
3.基于元素比对的服务过滤
前面提到,虚拟组织内的各种web服务均可采用xml文档的方式进行描述。而xml文档在形式上是一棵树,因此,可以对xml文档树进行遍历,得到树的各节点元素,过程如下:
recursiveTravel(GenericTreeNode?node)?{
travelNode(node);//访问节点
List>?children?=?node.getChildren();
for (inti = 0;i recursiveTravel(children.get(i));//递归访问当前节点的所有子节点
}
}
上述方法采用递归的方法对xml文档自身的树形数据进行遍历访问,得到xml文档的各节点,假设在遍历的过程中将节点存储于集合C中,即集合C={s1,s2,s3,s4,s6,s6,…,sn},其中,si为xml文档的节点元素。
服务请求路径表达式的组成元素都是来自于xml文档树的内部节点,例如,xml文档D
Everyday English
Jor Smith
2012
45.00
Harry Potter
J K. Rowling
2005
30.00
XML in Web Service
Frank J
2009
65.00
现在服务请求路径表达式Q给出如下查询:/bookstore/book/title,即查询文档D中的所有bookstore节点下的book节点下的title。而/bookstore/book/title表达式中的bookstore、book、title都来自xml文档树D中。因此,在服务请求路径表达式给出后,首先将服务请求路径表达式元素集合与各文档树的节点集合进行比对,排出掉二者无交集的文档树,这些文档树所代表的web服务是无法满足服务请求的。这样,经过无关服务的过滤,服务的查询效率得到了提高。
4.验证
为了对本文中所研究的方法的有效性进行验证,我们进行了仿真实验。选取了生物产业链中重要资源和科研资源对本文的方法进行了验证。共设置了4个服务单位,分别代表种植、加工、销售、科研。将文件资源采用XpathMark[6]得到相应的XML数据集,然后将这些服务分别部署在多个仿真服务器上。选取经典的查询路径(包括“*”、“//”等)进行实验。
实验环境:操作系统平台是Windows XP;硬件环境CPU为2.2GHz,2G内存。测试程序使用Visual stdio 2005进行开发。采用查询时间作为衡量的标准。
5.总结
为了提高集成系统内的服务查询效率,本文运用了一种在查询路径表达式和xml文档树之间进行元素比对以过滤无关服务的方法,实验证明此方法是有效的。
参考文献
[1] 任捷,吴明晖,应晶等.Web Service技术在异构系统集成中的应用研究[J].计算机应用,2004,24(1):95-98.
[2] 孔令波,唐世渭等.XML数据的查询技术[J].软件学报,2007,18(6):1400-1418.
作者简介
xx(-),性别,籍贯,职称,主要研究方向。
[关键词]集成系统 Xpath 服务过滤 请求路径表达式
中图分类号:TP393.092 文献标识码:A 文章编号:1009-914X(2013)25-0261-01
1.引言
xml数据的基本形式是XML文档,它是一种半结构化的数据。而xml查询技术作为服务操作里的重要应用之一,是当今xml技术研究的热点。为了从xml文档中获取所需要的数据,研究人员开发出了很多的查询语言,包括Lorel,XML-QL,XML-GL,Quilt,XPath,XQuery,它们都是采用正则路径表达式作为它们的主要组成部分之一,xml路径表达式查询在目前有关的xml技术的研究中处于非常重要的地位。
本文通过对xml文档的元素比对,过滤集成系统内部无关的服务,提高了服务的匹配效率。
2.相关概念
定义1 自治域:那些具有独立的资源且能够进行自主管理的集合存在。
定义2 集成系统(System Integration):是由各自治域按照一定的形式组织在一起而形成的存在形式,在资源角度上,可以看做系统内各自治域资源的集合。
定义3 集成系统的服务过滤:在集成系统内,服务请求者可能需要在一定的时间段内,多次从众多的服务中查询出所要求的服务。为了提高服务匹配的时间效率,需要将那些与服务请求无关的服务进行先期的删减,以提高服务查询的时间效率,这就是服务的过滤。
定义4 SR_Xpath:即服务请求路径表达式.我们可以将服务请求service request看做是路径表达式Xpath,即用路径表达式来表示服务请求。
一个路径表达式是有“\”“*”“\\”等符号进行表示的。例如,路径表达式Q1://origin/title/*/name,xpath是一种对xml文档内容进行定位和检索的查询语言。它是以表达式的形式存在的。xpath将xml文档看做一个由节点组成的树。xpath通过在表达式中加入树的节点以在xml文档的层次结构中定位路径。
3.基于元素比对的服务过滤
前面提到,虚拟组织内的各种web服务均可采用xml文档的方式进行描述。而xml文档在形式上是一棵树,因此,可以对xml文档树进行遍历,得到树的各节点元素,过程如下:
recursiveTravel(GenericTreeNode
travelNode(node);//访问节点
List
for (inti = 0;i
}
}
上述方法采用递归的方法对xml文档自身的树形数据进行遍历访问,得到xml文档的各节点,假设在遍历的过程中将节点存储于集合C中,即集合C={s1,s2,s3,s4,s6,s6,…,sn},其中,si为xml文档的节点元素。
服务请求路径表达式的组成元素都是来自于xml文档树的内部节点,例如,xml文档D
现在服务请求路径表达式Q给出如下查询:/bookstore/book/title,即查询文档D中的所有bookstore节点下的book节点下的title。而/bookstore/book/title表达式中的bookstore、book、title都来自xml文档树D中。因此,在服务请求路径表达式给出后,首先将服务请求路径表达式元素集合与各文档树的节点集合进行比对,排出掉二者无交集的文档树,这些文档树所代表的web服务是无法满足服务请求的。这样,经过无关服务的过滤,服务的查询效率得到了提高。
4.验证
为了对本文中所研究的方法的有效性进行验证,我们进行了仿真实验。选取了生物产业链中重要资源和科研资源对本文的方法进行了验证。共设置了4个服务单位,分别代表种植、加工、销售、科研。将文件资源采用XpathMark[6]得到相应的XML数据集,然后将这些服务分别部署在多个仿真服务器上。选取经典的查询路径(包括“*”、“//”等)进行实验。
实验环境:操作系统平台是Windows XP;硬件环境CPU为2.2GHz,2G内存。测试程序使用Visual stdio 2005进行开发。采用查询时间作为衡量的标准。
5.总结
为了提高集成系统内的服务查询效率,本文运用了一种在查询路径表达式和xml文档树之间进行元素比对以过滤无关服务的方法,实验证明此方法是有效的。
参考文献
[1] 任捷,吴明晖,应晶等.Web Service技术在异构系统集成中的应用研究[J].计算机应用,2004,24(1):95-98.
[2] 孔令波,唐世渭等.XML数据的查询技术[J].软件学报,2007,18(6):1400-1418.
作者简介
xx(-),性别,籍贯,职称,主要研究方向。