首页> 中国专利> 一种面向组合的语义web服务发现方法

一种面向组合的语义web服务发现方法

摘要

本发明属于计算机处理技术的服务发现与组合领域,具体涉及一种面向组合的语义web服务发现方法,包括以下步骤:A、解析原子服务;B、在服务注册中心中获取与原子服务相对应的复合服务的控制信息;C、根据获取的复合服务控制信息,形成一系列原子服务单次执行的可用服务集;D、在I/O匹配器中完成匹配操作;E、构建网状图;F、获取候选服务链集。本发明将组合思想融入到服务发现中,其所形成的候选服务链集,能够作为服务组合研究的数据集,具有很好的通用性。

著录项

  • 公开/公告号CN102413114A

    专利类型发明专利

  • 公开/公告日2012-04-11

    原文格式PDF

  • 申请/专利权人 华南理工大学;

    申请/专利号CN201110230454.4

  • 发明设计人 刘发贵;徐磊;林跃东;张杨;

    申请日2011-08-12

  • 分类号H04L29/06;H04L29/08;

  • 代理机构广州粤高专利商标代理有限公司;

  • 代理人何淑珍

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2023-12-18 04:59:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-09-10

    授权

    授权

  • 2012-05-23

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20110812

    实质审查的生效

  • 2012-04-11

    公开

    公开

说明书

技术领域

本发明属于计算机处理技术的服务发现与组合领域,具体涉及一种面向组合的语义web服务发现方法。

背景技术

面向服务的计算(Service oriented computing,SOC)是当前备受关注的主题,以标准的方式支持系统的开发性,进而使相关技术与系统具有长久的生命力是面向服务的计算研究的重点。面向服务的体系结构(Service oriented architecture,SOA)和面向服务的计算技术是标识分布式系统和软件集成领域技术进步的一个里程碑。服务作为一种自治、开放以及与平台无关的网络化构件,可使分布式应用具有更好的复用性、灵活性和可增长性。基于服务组织计算资源所具有的松耦合特征会给企业带来许多好处:遵从SOA的企业IT架构不仅可以有效保护企业投资,促进遗留系统的复用,而且可以支持企业随需应变的敏捷性和先进的软件外包管理模式。企业在把其关键功能服务化后,可以使企业间的电子商务以更高效、灵活的方式开展。Web服务技术是当前SOA的主流实现方式。

当前服务计算所面临的主要挑战是如何发现和组合web服务来建立一个复合的应用,在开发软件应用的过程中,服务作为一个基本元素来对待,作为服务计算(service-oriented computing SOC)的一个新的有前途的计算领域,服务的组合发现极具研究价值。

当前的web服务框架是以:WSDL(w3c 2001c)——基于xml描述的关于服务是什么以及该如何调用服务;SOAP(w3c 2001a)——通过HTTP在应用层交换消息的标准协议;UDDI(UDDI 2000)——提供了一个机制,以一种有效的方式来浏览,发现web服务; 以及它们之间的相互作用为基础的。

但这样的服务框架有两个限制:不支持服务组合,不包含语义信息。一方面,假定对请求的单个的存在的服务,当前框架是能很好的满足,但在很多情况下,不存在满足用户请求的单个服务,因此由不同的服务提供的功能组合或许才能更好的满足一个用户的请求。另一方面,语义信息也必须包含在服务发现和组合中去,从而使得web服务能够更好的自动化推理、发现与组合,但遗憾的是,WSDL不包括语义信息来描述服务的功能也不包括行为信息来表达服务间的相互关系。

目前,web服务发现的研究主要集中于如何在服务注册中心发现满足用户请求的服务,其共同的局限性事仅发现单一完全满足要求的服务,而没有对服务组合提供支持,并且语义web服务发现更多是纯语义的发现,缺乏对服务行为过程的支持;而对于web的服务组合的研究主要集中于对已有的服务进行组合,对组合方法的研究,忽略了服务发现在服务组合中的作用,而且组合多是根据服务的行为过程信息来进行组合,缺乏对语义的支持。但在语义web服务中,服务的发现和组合是密不可分的。

发明内容

针对现有技术的缺点,本发明的目的提供一种将组合思想融入到服务发现中的面向组合的语义web服务发现方法。本发明的发现所形成的候选服务链集,能够作为服务组合研究的数据集,具有很好的通用性。

为实现上述目的,本发明的技术方案为:

一种面向组合的语义web服务发现方法,包括以下步骤:

A、解析原子服务;接收来自外部的语义Web服务匹配请求文件,所述语义Web服务为原子服务,所述语义Web服务匹配请求文件为owls服务文件,解析该owls服务文件,获取该原子服务的输入/输出信息;

B、在服务注册中心中获取与原子服务相对应的复合服务的控制信息; C、根据获取的复合服务控制信息,对从服务注册中心获得的每个原子服务过程进行剖析,形成一系列原子服务单次执行的可用服务集,所述可用服务集中包含原子服务每个单次执行所必须的输入和输出信息;

D、在I/O匹配器中,通过本体概念树,运用I/O匹配算法,对任意两个单次执行的输入/输出信息完成匹配操作;

E、构建网状图:根据I/O匹配结果和构图算法将匹配获得的服务添加到图结构中,形成完整的网状图;

F、获取候选服务链集:根据构建的网状图,遍历该图,从遍历轨迹中获取候选服务链集作为服务组合的数据。

所述原子服务就是由原子过程形成的服务,原子过程连接输入和输出信息,是服务中的唯一过程,可以被用户直接调用使用。

复合服务就是由复合过程形成的服务,主要是通过如下控制结构连接原子过程:sequence,choice,split,split+join,if-then-else,any-order,iterate,repeat-while,repeat-until.这些结构的具体含义如下:

Sequence:过程处理序列,顺序执行所有的过程;

Choice:对过程处理集,只有一个过程被选择做处理;

Split:对过程处理集,过程可以同时发生;

split+join:对过程处理集,过程同时发生然后合并

if-then-else:两个过程,其中一个会被执行

any-order:对包含的过程处理集,任意顺序执行;

iterate:对过程处理集,顺序执行,不需要执行所有过程;

repeat-while:一个过程将循环执行,直到执行条件变为假;

repeat-until:一个过程循环执行至少一次,直到条件变真。

本发明通过基于语义本体概念的I/O匹配、owls服务文件解析和owls服务控制过程分析的语义web服务数据流关联关系,提取服务请求中服务的单次执行过程形成可用服务集,针对服务的某此执行,自动构造面相服务组合的服务发现的候选服务集组成的网状图以及从网状图中自动获取候选服务链集,来实现面向组合的服务片段发现,这样就为后续的服务组合操作提供满足功能需求的候选服务链集,避免服务组合过程中重复选择候选服务的繁琐操作。

上述方案中,步骤B具体为:

B1、将语义Web服务的输入/输出信息传送至服务注册中心;

B2、从服务注册中心中读取所有服务;

B3、利用owls规则对服务注册中心的所有服务进行分析;

B4、获取与原子服务相对应的复合服务的控制信息,所述复合服务的信息包括复合服务的原子过程信息、该原子过程中的输入/输出信息和复合服务的控制过程信息。

上述方案中,所述步骤D具体为:

D1、根据可用服务集中任意两个单次执行的输入/输出信息从本体库中读取对应的owl本体文件;

本体库是由一系列的本体数据,也就是一系列的本体文件构成的集合;本体文件就是本体概念以语义网标准格式写成的文本信息,在该文本中对本体概念以及这些概念之间的关系进行描述,通常将同一类型的本体概念放入一个本体文件中。

D2、获取owl本体文件中的本体概念以及本体概念之间的关系,根据所述本体概念之间的关系建立本体概念树,再根据本体概念树中本体概念之间的关系和几何距离获得本体概念的相似度;所述相似度的计算公式为:                                               

的数学意义是,Y对于X的相似程度,即为一个本体概念对于另一个本体概念的相似度,该相似度是一个[0,1]之间的数值,数值越大说明连个概念越相似,是一个调节参数,; 

     D3、根据获得的相似度得到所述任意两个单次执行的输入/输出信息之间的I/O匹配结果。

上述方案中,步骤E中的网状图包括根节点部分、叶子节点部分和服务节点部分,根节点部分中包含有根节点,根节点中包含有原子服务的输出信息,该输出信息就是用户提供的请求条件,叶子节点部分包含有叶子节点,叶子节点中包含有原子服务的输入信息,该输入信息就是用户的请求结果,服务节点部分包含有节点,节点代表可用服务集中的一个原子服务单次执行,其包含有该单次执行所必须的输入/输出信息。

上述方案中,步骤E具体为:

E1、初始化当前图结果,读取当前图中的叶子节点,根据叶子节点获取原子服务的初始请求信息,形成请求集;若请求集为空,则构图成功,否则进入E2;

E2、读取图中根节点,获取根节点中的输出信息;

E3、根据I/O匹配结果,依次判断每个请求信息是否能从可用服务集中进行循环匹配,如果请求信息能够从可用服务集得到与其匹配的服务则跳入E4;否则跳到E7;

 E4、判断所匹配的服务是否为根节点,如果是则执行E5、如果不是跳转到E6;

E5、将该匹配得到的服务与请求信息连接,在可用服务集中移走该匹配的服务,更新可用服务集;然后查看可用服务集中是否还有可用匹配服务,如果有则重复E4,否则跳到E8;

E6、将匹配得到的服务与请求进行在图中连接,然后在可用服务集中移走该匹配的服务,更新可用服务集;然后查看可用服务集中是否还有可用匹配服务,如果有则重复E4,否则跳到E8;

E7、查看服务注册中心中的服务,如果还有可用服务,则跳到E8,否则构图结束;

E8、从服务注册中心中得到的服务数据集,将请求信息与服务数据集进行匹配,如果所有服务数据集均不可被匹配则跳到E10,否则进行E9;

E9、该匹配的服务作为新的节点添加到图结构中,进入E10;

E10.将该匹配的服务服务从当前过程中删除,并将该匹配的服务的输入信息作为新的请求信息添加到请求集中,将该匹配服务作为可用服务添加到可用服务集中,为后续其他服务准备,进入E7,否则返回E1中判断请求集是否为空。

注册库中的服务数据集是指当前匹配时,系统可用的服务集合,初始状态是与注册中心的服务等同,在每次有服务被匹配后会将匹配到的服务移入可用数据集中;

可用数据集是指在匹配的过程中已经用到的服务集,将这些服务集提取出来做为可用数据集主要是基于如下考虑,被匹配到的服务很有可能被再次使用,这样可以提高匹配的速度,不用每次都从注册中心找服务;

服务注册中心的服务是指所有服务提供商提供的所有可用服务。

上述方案中,所述步骤F具体为:

F.1. 从构造好的网状图中读取叶子节点的输入信息,以叶子节点的输入信息作为初始化的请求集,然后进入步骤F.2; 

F.2. 当请求集为空时跳到步骤6,当请求集不为空时,从请求集中获取一个输入信息,然后进入步骤F.3.;

F.3.根据获取的输入信息得到与之连接的下一组节点,将下一组节点作为新的输入请求节点,分别对下一组节点中每个节点对应的每个输入信息查找与每个输入信息对应的节点,然后进入步骤F.4;

F.4.根据查找到到的节点获取该节点的输入信息,返回F.3,直到所得到的节点为根节点或是没有下一个节点才进入步骤F.5;

F.5.返回F.2.分别对请求集中的每个输入做同样过程操作,得到服务数据集,然后进入步骤F.6;

F.6.对服务数据集进行整理,对服务数据集中的每个输入信息对应的通路,逐个进行检查,是否可以到达根节点,如果是则保留该通路,否则丢弃,然后进入步骤F.7;

F.7.所有输入信息处理完成后,将保留有通路的输入信息存储在服务数据集中,并将所保留的通路汇总分组形成候选服务链。

与现有技术相比,本发明具有如下有益效果:

本发明通过各种概念的综合信息组建新的网状图结构,实现面向组合的语义web服务发现。本发明的发现所形成的候选服务链集,能够作为服务组合研究的数据集,具有很好的通用性。

附图说明

图1为实现本发明面向组合的语义web服务发现方法的总体架构逻辑示意图;

图2本发明中原子服务解析流程图;

图3 本发明中获取可用服务集的分析过程图;

图4 本发明中步骤D进行I/O匹配的过程图;

图5 本发明的网状图结构;

图6 本发明中的构建网状图流程图;

图7a和7b为本发明中的获取候选服务链集流程图。

其中,图5中,WS表示服务部分的节点,Root表示根节点,Leaf表示叶子节点,表示上一个节点中的输出信息是与下一结点的输入信息匹配,图中虚线表示在构图过程经过若干过程。 

具体实施方式

以下结合附图和实施例对本发明进行详细的描述。

如图1至图6、图7a和7b所示,本发明的一种面向组合的语义web服务发现方法,包括以下步骤:

A、解析原子服务;接收来自外部的语义Web服务匹配请求文件,所述语义Web服务为原子服务,所述语义Web服务匹配请求文件为owls服务文件,解析该owls服务文件,获取该原子服务的输入/输出信息;

B、在服务注册中心中获取与原子服务相对应的复合服务的控制信息; C、根据获取的复合服务控制信息,对从服务注册中心获得的每个原子服务过程进行剖析,形成一系列原子服务单次执行的可用服务集,所述可用服务集中包含原子服务每个单次执行所必须的输入和输出信息;

D、在I/O匹配器中,通过本体概念树,运用I/O匹配算法,对任意两个单次执行的输入/输出信息完成匹配操作;

E、构建网状图:根据I/O匹配结果和构图算法将匹配获得的服务添加到图结构中,形成完整的网状图。

F、获取候选服务链集:根据构建的网状图,遍历该图,从遍历轨迹中获取候选服务链集作为服务组合的数据。

如图3所示,步骤B具体为:

B1、将语义Web服务的输入/输出信息传送至服务注册中心;

B2、从服务注册中心中读取所有服务;

B3、利用owls规则对服务注册中心的所有服务进行分析;

B4、获取与原子服务相对应的复合服务的控制信息,所述复合服务的信息包括复合服务的原子过程信息、该原子过程中的输入/输出信息和复合服务的控制过程信息。

如图4所示,步骤D具体为:

D1、根据可用服务集中任意两个单次执行的输入/输出信息从本体库中读取对应的owl本体文件;

D2、获取owl本体文件中的本体概念以及本体概念之间的关系,根据所述本体概念之间的关系建立本体概念树,再根据本体概念树中本体概念之间的关系和几何距离获得本体概念的相似度;所述相似度的计算公式为:

的数学意义是,Y对于X的相似程度,即为一个本体概念对于另一个本体概念的相似度,该相似度是一个[0,1]之间的数值,数值越大说明连个概念越相似,是一个调节参数,; 

     D3、根据获得的相似度得到所述任意两个单次执行的输入/输出信息之间的I/O匹配结果。

如图5所示,步骤E中的网状图包括根节点部分、叶子节点部分和服务节点部分,根节点部分中包含有根节点,根节点中包含有原子服务的输出信息,该输出信息就是用户提供的请求条件,叶子节点部分包含有叶子节点,叶子节点中包含有原子服务的输入信息,该输入信息就是用户的请求结果,服务节点部分包含有节点,节点代表可用服务集中的一个原子服务单次执行,其包含有该单次执行所必须的输入/输出信息。网状图中的节点之间的边总共有两类,一类是一对多的模式,另一类是多对一的模式,前者表示该服务的输出信息可以被另外多个服务的输入信息所匹配,后者表示该服务的输入信息被多个服务的输出所匹配。该网状图的起始点为从用户请求即原子服务中提取输入信息,该网状图的终结点为从用户请求即原子服务中提取输出信息。

如图6所示,步骤E具体为:

E1、初始化当前图结果,读取当前图中的叶子节点,根据叶子节点获取原子服务的初始请求信息,形成请求集;若请求集为空,则构图成功,否则进入E2;

E2、读取图中根节点,获取根节点中的输出信息;

E3、根据I/O匹配结果,依次判断每个请求信息是否能从可用服务集中进行循环匹配,如果请求信息能够从可用服务集得到与其匹配的服务则跳入E4;否则跳到E7;

 E4、判断所匹配的服务是否为根节点,如果是则执行E5、如果不是跳转到E6;

E5、将该匹配得到的服务与请求信息连接,在可用服务集中移走该匹配的服务,更新可用服务集;然后查看可用服务集中是否还有可用匹配服务,如果有则重复E4,否则跳到E8;

E6、将匹配得到的服务与请求进行在图中连接,然后在可用服务集中移走该匹配的服务,更新可用服务集;然后查看可用服务集中是否还有可用匹配服务,如果有则重复E4,否则跳到E8;

E7、查看服务注册中心中的服务,如果还有可用服务,则跳到E8,否则构图结束;

E8、从服务注册中心中得到的服务数据集,将请求信息与服务数据集进行匹配,如果所有服务数据集均不可被匹配则跳到E10,否则进行E9;

E9、该匹配的服务作为新的节点添加到图结构中,进入E10;

E10.将该匹配的服务服务从当前过程中删除,并将该匹配的服务的输入信息作为新的请求信息添加到请求集中,将该匹配服务作为可用服务添加到可用服务集中,为后续其他服务准备,进入E7,否则返回E1中判断请求集是否为空。

如图7a和图7b所示,步骤F具体为:

F.1. 从构造好的网状图中读取叶子节点的输入信息,以叶子节点的输入信息作为初始化的请求集,然后进入步骤F.2; 

F.2. 当请求集为空时跳到步骤6,当请求集不为空时,从请求集中获取一个输入信息,然后进入步骤F.3.;

F.3.根据获取的输入信息得到与之连接的下一组节点,将下一组节点作为新的输入请求节点,分别对下一组节点中每个节点对应的每个输入信息查找与每个输入信息对应的节点,然后进入步骤F.4;

F.4.根据查找到到的节点获取该节点的输入信息,返回F.3,直到所得到的节点为根节点或是没有下一个节点才进入步骤F.5;

F.5.返回F.2.分别对请求集中的每个输入做同样过程操作,得到服务数据集,然后进入步骤F.6;

F.6.对服务数据集进行整理,对服务数据集中的每个输入信息对应的通路,逐个进行检查,是否可以到达根节点,如果是则保留该通路,否则丢弃,然后进入步骤F.7;

F.7.所有输入信息处理完成后,将保留有通路的输入信息存储在服务数据集中,并将所保留的通路汇总分组形成候选服务链。

其中,图1中所示的服务组合和服务匹配为依赖本发明内容的后续工作,将不在本发明中进行阐述。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号