一种多阶段语义Web服务发现方法

文档序号:7945859阅读:606来源:国知局

专利名称::一种多阶段语义Web服务发现方法
技术领域
:本发明涉及一种在基于Web服务的分布式计算中,如何快速、准确地定位所需要的Web服务的方法。
背景技术
:作为当前企业应用集成的重要手段,Web服务提供了一个快速、方便的企业应用开发途径,这主要得益于其高度的跨语言、跨平台等特性。对于web服务而言,它被服务请求者使用的首要条件,就是后者需要知道其位置,也即服务请求者调用服务的第一步,就是发现服务。传统服务发现机制基于UDDI/WSDL,本质上通过关键字匹配来完成。这种发现机制的一个重要缺点就是缺乏显式的语义描述,从而可能导致两个相同的WSDL描述所表示的web服务,可能具有完全不同的功能。目前,解决这个问题的途径,就是通过融合传统web服务和语义网技术,将web服务语义信息加入到web服务描述中去。语义web服务本质来说,只是通过语义网技术,如本体等,将web服务相关的语义信息,诸如服务的功能、QoS等信息,加入到服务描述中去。服务本身并没有变化,服务请求者与服务之间的互操作协议及架构完全可以与传统的协议与架构相同。目前,已存在多种语义web服务的描述语言,如OWL-S、DAML-S等。基于语义技术的web服务发现,目前已是web服务领域研究热点之一。整体上来说,这类工作一般流程是首先,给出web服务的一个结构化语义描述,结构中的元素一般取之于服务的属性,比如输入、输出、服务Precondition等,描述一般都基于本体技术;其次,在所定义的结构化描述基础上,根据一定的算法,对服务中的每一个属性与服务请求中所包含的相应属性进行匹配;最后,综合各个属性的匹配结果,根据一定的策略做出最后抉择,以确定该服务是否满足服务请求。更进一步的做法是,对所选取的服务按照相似度或其他的度量值进行排序,再根据一定的策略,实现服务的自动调用。纵观当前基于语义的Web服务发现方法,总的来说可分为两种,分别是基于相似度度量函数和基于逻辑推理。基于本体相似度度量方法,首先需要给出一个本体相似度度量函数,然后计算服务描述中各个属性与服务请求中相应属性相对于该函数的值,如果满足服务请求者所提供的相似度阈值,则表示在这个属性上,服务满足服务请求;否则表示不满足,此时一般停止与该服务继续进行匹配。这种方法一般针对服务描述中所选取的元素为服务描述性属性,比如输入、输出等。它实现起来相对简单,但它仍然是一种服务接口级别的匹配,精度仍然不够。基于逻辑推理的服务匹配方法,除了要确定服务的结构性语义描述外,一般还需要选择一个本体推理工具,如Jena、Prot6g6等。在这种方法的结构语义描述中,不仅可以包括服务描述性元素,而且可以包含与服务相关的条件,比如服务执行前件等。这种语义Web服务发现方法的优点是精度相对要高,缺点是速度较慢、实现也较复杂。
发明内容本发明所要解决的技术问题是为了克服现有技术的不足,提出一种快速、准确地定位Web服务的多阶段语义Web服务发现方法。为了解决上述技术问题,本发明所述的l、一种多阶段语义Web服务发现方法,其特征在于包括以下几个步骤1)注册领域本体知识到Web服务注册中心;2)构造Web服务请求描述文档并提交给Web服务注册中心,其步骤是21)填写Web服务相关的通用信息,包括服务的名称、服务调用地址、接口名称和所属领域本体;22)填写Web相关的输入输出信息,包括输入的名称、数据类型、所属领域本体概念以及输出的数据类型和所属本体概念;23)填写Web服务相关的约束规则,包括服务的执行前件约束、后件约束以及执行结果约束;3)Web服务注册中心对该中心的所有Web服务与该服务请求,进行基于相似度度量函数的类型匹配;4)Web服务注册中心对经过步骤3)过滤的Web服务集合与该服务请求,进行基于相似度度量函数的本体概念匹配;5)Web服务注册中心对经过步骤4)过滤的Web服务集合与该服务请求,进行基于语义网规则语言SWRL子集的约束匹配;6)Web服务注册中心根据本次査找的结果,基于Web服务发现历史信息的相似度,确定是否触发调节因子调整过程。上述步骤l)注册领域本体知识包含以下步骤11)存储领域本体的概念层次结构和属性层次结构;12)存储领域本体概念或者属性的实例信息。上述步骤3)包括以下几个步骤31)构造数据类型的层次结构;32)构造基于步骤31)的类型层次结构,并构造相应的相似度度量函数—頭=L..(纖蹄..(扁蹄(浙4Q十鹏Q,.W妫房纖鹏i、鰂蹄33)根据步骤32)所构造的函数,计算相应服务请求与服务的某个输入或者输出的相似度;34)比较Web服务请求中所包含的相似度阈值以及步骤33)中所得出的相似度,如果前者后者大,则将其保存在一个二维数组中相应的位置;35)重复步骤33)、34),得到服务请求的输入或者输出与服务的所有的输入或者输出的相似度,并均保存在二维数组中;36)根据步骤35)中所得到的二维数组,利用公式得到最佳匹配方案,该方案使得最终的服务请求与服务的输入或者输出的相似度最大;37)根据步骤36)中所得到的最大相似度,比较Web服务请求中的相似度阈值,如果前者比后者大,则表示相应的Web服务则输入或者输出方面满足该服务请求,否则表示不满足该服务请求。上述步骤4)中包括以下几个步骤-41)构造相似度度量函数l...............................................................(^^HMft^補*"...........................(娜蹄缓"...........................(糊蹄一2、...,総鹏,蹄42)根据步骤41)所构造的函数,计算相应服务请求与服务的某个输入或者输出的相似度;43)比较Web服务请求中所包含的相似度阈值以及步骤42)中所得出的相似度,如果前者后者大,则将其保存在一个二维数组中相应的位置;44)重复步骤42)、43),得到服务请求的输入或者输出与服务的所有的输入或者输出的相似度,并均保存在二维数组中;45)根据所步骤44)中所得到的二维数组,根据公式!■=1得到最佳匹配方案,该方案使得最终的服务请求与服务的输入或者输出的相似度最大;46)根据步骤45)中所得到的最大相似度,比较Web服务请求中的相似度阈值,如果前者比后者大,则表示相应的Web服务则输入或者输出方面满足该服务请求,否则表示不满足该服务请求。7、上述步骤5)包括以下步骤51)从服务请求和Web服务中提取SWRL约束字符串;52)如果是执行前件的约束,则在服务请求的约束集合中任取一个约束规则,与当前正在进行匹配工作的Web服务的执行前件约束规则集合进行匹配;53)任取后者集合中的一条规则,如果满足以下两个条件,则后者可以推导出前者(l)如果对于前者约束规则中的约束前件中任意一个约束子项,在该条规则中的约束前件中都有相应的子项与其匹配;(2)前者约束规则中的结论中任意一个约束子项,在该条规则中的结论中都有相应的子项与之匹配。如果后者约束规则集合中没有这样的约束满足这样的要求,则表示后者的约束集合不能推导出前者约束规则;54)如果对于前正在进行匹配工作的Web服务中任意一个执行前件的约束规则,都能够在当前Web服务请求执行前件约束集合中找到匹配项,则表示该服务在执行前件约束方面满足当前的Web服务请求;55)如果是执行后件与执行结果约束的匹配,则在当前正在进行匹配工作的Web服务执行后件或者执行结果约束集合中任取一个约束规则,与当前Web服务请求执行后件或者执行结果的约束规则集合进行匹配;56)任取后者集合中的一条规则,如果满足以下两个条件,则后者可以推导出前者(l)如果对于前者约束规则中的约束前件中任意一个约束子项,在该条规则中的约束前件中都有相应的子项与其匹配;(2前者约束规则中的结论中任意一个约束子项,在该条规则中的结论中都有相应的子项与之匹配。如果后者约束规则集合中没有这样的约束满足这样的要求,则表示后者的约束集合不能推导出前者约束规则;57)如果对于Web服务请求中任意一个执行后件或者执行结果的约束规则,都能够在当前正在进行匹配工作的Web服务的执行后件或者执行结果的约束集合中找到匹配项,则表示该服务在执行后件或者执行结果约束方面满足当前的Web服务请求;58)如果54)、57)都能够得到满足,则表示当前正在进行匹配工作的Web服务满足当前Web服务请求。上述步骤6)包括以下几个步骤61)首先设定一个Web服务査找结果中所含服务数目的上下限以及触发本调整过程的超过该上限或者下限次数的最小值;62)完成Web服务査找过程后,系统继续以下工作如果最终的结果中所包含的服务数目小于下限,则转到步骤63);如果最终的结果中所含的服务数目要大于上限,则转到步骤64);否则结束本次査找工作;63)将记录超过上限的次数的变量增l,并检查结果是否大于超过上限次数的最小值;如果成立,则将调整因子与减少系数相除,并将记录超过上限次数的变量复位;64)将记录超过下限的次数的变量增l,并检査结果是否大于超过下限次数的最小值;如果成立,则将调整因子与增加系数相乘,并将记录超过下限次数的变量复位。本发明利用所定义的语言SSWSDL描述Web服务请求,并将该服务请求提交给Web服务注册中心。Web服务注册中心经过一些适当的预处理,并将处理后的Web服务请求转交给服务匹配模块。匹配模块对注册中心中所有已注册的Web服务,依次进行数据类型匹配、本体概念匹配以及约束匹配,每一个匹配阶段都相当于对注册中心中的Web服务进行一次过滤。由于数据类型匹配以及本体概念匹配速度快,故而一般情况下,可以极大地减少一次匹配过程所需要的时间。与其他服务发现方法相比,该方法Web服务相关描述文档生成简单、能够在服务发现的速度和精度方面取得平衡。图1:本发明总体结构视图;图2:模拟的领域本体。具体实施例方式本
发明内容主要包括以下几个方面1.Web服务描述语言SSWSDL当前,已经存在多种Web服务描述语言,如OWL-S、DAML-S、WSDL等。不过这些语言语法复杂、难以掌握。为此,本发明提出了一种语法简明、使用简便的Web服务描述语言SSWSDL。在该语言中,Web服务被看成是由通用属性、输入、输出、执行前件约束、执行后件约束以及执行结果约束等组成的。通用属性包括服务名称、调用地址、接口名称、所属领域本体等。输入包括该输入的实际数据类型、名称、数值以及所属本体概念等,而输出在包括该输出的实际数据类型以及其所属的本体概念。约束的表达是采用语义网规则语言SWRL的子集。2.基于相似度度量函数的类型匹配本发明采用Java类型系统一个子集,并将子集中的元素组织成一个层次结构。基于该层次结构,本发明构造了一个衡量类型相似程度的度量函数。相对于单纯的字符串匹配而言,该方法更为灵活。3.基于语义网规则语言SWRL子集的约束匹配采用语义网规则语言的子集来表达约束规则,约束的匹配基于约束中各子项之间的匹配情况的综合。4.调节因子调整调节因子的引入是为了让服务发现子系统更为灵活。在本发明中,调整该因子的方法基于注册中心进行服务査找工作的历史记录。为了避免出现无穷振荡现象,本发明设置增加因子和减少因子为素数。5.存储领域本体知识的数据库模式为了避免重复加载和推理领域本体,需要将领域本体预先存储到数据库中。本发明只存储了四类领域本体知识,分别是本体概念以及属性的层次结构、概念或者属性的实例知识。本发明提供了一个原型系统,用以验证本发明的合理性。在原型系统中,包含四个部分,分别是Web服务注册中心、Web服务描述编辑支持工具、Web服务请求描述编辑支持工具以及领域本体知识注册支持工具等。图1展示了本发明为支持该服务发现方法所设计的总体结构图。其分为服务提供方、服务请求用户以及服务注册中心。服务提供方利用编辑支持工具编写Web服务描述文档,通过该工具支持的注册功能,将该Web服务注册到注册中心中去。而服务査找用户则利用编辑支持工具编写Web服务请求描述文档,通过该工具所提供的査找功能,提交该服务请到Web服务注册中心中去,最后将査找结果提交给展示模块。服务注册中心是本发明的核心部分,它以Web服务的形式对外提供Web服务的注册、査找以及领域本体知识的注册。它包括三个子系统,分别对应Web服务的注册、査找以及领域本体知识的注册。注册Web服务或者领域本体知识的子系统从预处理模块中接收到Web服务或者领域本体URI,按照预先定义的数据库模式,将Web服务或者领域本体知识相关信息存储到数据库中。Web服务査找子系统是整个发明重中之重,它从预处理模块中接收Web服务请求,并与整个注册中心已注册的所有Web服务,依次进行数据类型匹配、本体概念匹配以及约束匹配,每次匹配相当于对整个Web服务集合进行一次过滤。一般情况下,这种多阶段服务匹配方法可以极大地降低匹配过程所需要的时间。下面举例査找满足2个模拟Web服务请求的所有Web服务,服务注册中心中所有的Web服务(如表1所示)也是模拟的,领域本体(如图2所示)也是模拟的,都没有实际的意义。1、利用原型系统中的编辑支持工具,编写该模拟Web服务请求。该服务请求如表2所示。2、触发编辑工具所提供的査找功能,调用Web服务注册中心所提供的查找服务。3、最终的查找结果如表3所示。表1服务注册中心中的模拟Web服务<table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table>表2:模拟的Web服务请求<table>tableseeoriginaldocumentpage16</column></row><table>权利要求1、一种多阶段语义Web服务发现方法,其特征在于包括以下几个步骤1)注册领域本体知识到Web服务注册中心;2)构造Web服务请求描述文档并提交给Web服务注册中心,其步骤是21)填写Web服务相关的通用信息,包括服务的名称、服务调用地址、接口名称和所属领域本体;22)填写Web相关的输入输出信息,包括输入的名称、数据类型、所属领域本体概念以及输出的数据类型和所属本体概念;23)填写Web服务相关的约束规则,包括服务的执行前件约束、后件约束以及执行结果约束;3)Web服务注册中心对该中心的所有Web服务与该服务请求,进行基于相似度度量函数的类型匹配;4)Web服务注册中心对经过步骤3)过滤的Web服务集合与该服务请求,进行基于相似度度量函数的本体概念匹配;5)Web服务注册中心对经过步骤4)过滤的Web服务集合与该服务请求,进行基于语义网规则语言SWRL子集的约束匹配;6)Web服务注册中心根据本次查找的结果,基于Web服务发现历史信息的相似度,确定是否触发调节因子调整过程。2、根据权利要求l所述的多阶段语义Web服务匹配方法,其特征在于步骤l)注册领域本体知识包含以下步骤11)存储领域本体的概念层次结构和属性层次结构;12)存储领域本体概念或者属性的实例信息。3、根据权利要求1或2所述的多阶段语义Web服务发现方法,其特征在于步骤3)包括以下几个步骤31)构造数据类型的层次结构;32)构造基于步骤31)的类型层次结构,并构造相应的相似度度量函数i...............................................................(^a^htft^...........................,蹄...........................,蹄——2-掘房織鹏画蹄33)根据步骤32)所构造的函数,计算相应服务请求与服务的某个输入或者输出的相似度;34)比较Web服务请求中所包含的相似度阈值以及步骤33)中所得出的相似度,如果前者后者大,则将其保存在一个二维数组中相应的位置;35)重复步骤33)、34),得到服务请求的输入或者输出与服务的所有的输入或者输出的相似度,并均保存在二维数组中;36)根据步骤35)中所得到的二维数组,利用公式得到最佳匹配方案,该方案使得最终的服务请求与服务的输入或者输出的相似度最大;37)根据步骤36)中所得到的最大相似度,比较Web服务请求中的相似度阈值,如果前者比后者大,则表示相应的Web服务则输入或者输出方面满足该服务请求,否则表示不满足该服务请求。4、根据权利要求1或2所述的多阶段语义Web服务匹配方法,其特征在于步骤4)中包括以下几个步骤41)构造相似度度量函数<formula>formulaseeoriginaldocumentpage4</formula>42)根据步骤41)所构造的函数,计算相应服务请求与服务的某个输入或者输出的相似度;43)比较Web服务请求中所包含的相似度阈值以及步骤42)中所得出的相似度,如果前者后者大,则将其保存在一个二维数组中相应的位置;44)重复步骤42)、43),得到服务请求的输入或者输出与服务的所有的输入或者输出的相似度,并均保存在二维数组中;45)根据所步骤44)中所得到的二维数组,根据公式!=1得到最佳匹配方案,该方案使得最终的服务请求与服务的输入或者输出的相似度最大;46)根据步骤45)中所得到的最大相似度,比较Web服务请求中的相似度阈值,如果前者比后者大,则表示相应的Web服务则输入或者输出方面满足该服务请求,否则表示不满足该服务请求。5、根据权利要求l或2所述的多阶段语义Web服务匹配方法,其特征在于步骤5)包括以下步骤51)从服务请求和Web服务中提取SWRL约束字符串;52)如果是执行前件的约束,则在服务请求的约束集合中任取一个约束规则,与当前正在进行匹配工作的Web服务的执行前件约束规则集合进行匹配;53)任取后者集合中的一条规则,如果满足以下两个条件,则后者可以推导出前者(l)如果对于前者约束规则中的约束前件中任意一个约束子项,在该条规则中的约束前件中都有相应的子项与其匹配;(2)前者约束规则中的结论中任意一个约束子项,在该条规则中的结论中都有相应的子项与之匹配。如果后者约束规则集合中没有这样的约束满足这样的要求,则表示后者的约束集合不能推导出前者约束规则;54)如果对于前正在进行匹配工作的Web服务中任意一个执行前件的约束规贝U,都能够在当前Web服务请求执行前件约束集合中找到匹配项,则表示该服务在执行前件约束方面满足当前的Web服务请求;55)如果是执行后件与执行结果约束的匹配,则在当前正在进行匹配工作的Web服务执行后件或者执行结果约束集合中任取一个约束规则,与当前Web服务请求执行后件或者执行结果的约束规则集合进行匹配;56)任取后者集合中的一条规则,如果满足以下两个条件,则后者可以推导出前者(l)如果对于前者约束规则中的约束前件中任意一个约束子项,在该条规则中的约束前件中都有相应的子项与其匹配;(2前者约束规则中的结论中任意一个约束子项,在该条规则中的结论中都有相应的子项与之匹配。如果后者约束规则集合中没有这样的约束满足这样的要求,则表示后者的约束集合不能推导出前者约束规则;57)如果对于Web服务请求中任意一个执行后件或者执行结果的约束规则,都能够在当前正在进行匹配工作的Web服务的执行后件或者执行结果的约束集合中找到匹配项,则表示该服务在执行后件或者执行结果约束方面满足当前的Web服务请求;58)如果54)、57)都能够得到满足,则表示当前正在进行匹配工作的Web服务满足当前Web服务请求。6、根据权利要求1或2所述的多阶段语义Web服务匹配方法,其特征在于步骤6)包括以下几个步骤61)首先设定一个Web服务査找结果中所含服务数目的上下限以及触发本调整过程的超过该上限或者下限次数的最小值;62)完成Web服务査找过程后,系统继续以下工作如果最终的结果中所包含的服务数目小于下限,则转到步骤63);如果最终的结果中所含的服务数目要大于上限,则转到步骤64);否则结束本次査找工作;63)将记录超过上限的次数的变量增1,并检査结果是否大于超过上限次数的最小值;如果成立,则将调整因子与减少系数相除,并将记录超过上限次数的变量复位;64)将记录超过下限的次数的变量增l,并检查结果是否大于超过下限次数的最小值;如果成立,则将调整因子与增加系数相乘,并将记录超过下限次数的变量复位。全文摘要本发明公开了一种多阶段语义Web服务发现方法,本发明利用语义Web中的相关理论和技术,构造包含语义信息的Web服务描述文档。在此基础上,再利用相关的推理工具和方法,搜索满足服务请求的Web服务。总的来说,语义Web服务发现包含两种途径,分别是基于相似度度量函数以及基于约束匹配的方法。它们各有优点和缺点,前者在服务发现速度方面要好,而后者则是在服务发现精度方面有优势。本发明提出了一种融合这两种服务发现途径的多阶段语义Web服务发现方法,依次包括数据类型匹配、本体概念匹配以及约束匹配等三个匹配阶段,以及相应的匹配算法。文档编号H04L29/06GK101547218SQ20091002662公开日2009年9月30日申请日期2009年5月7日优先权日2009年5月7日发明者建吕,陶先平,陶望胜申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1