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

文档序号:7939957阅读:149来源:国知局
专利名称:一种面向组合的语义web服务发现方法
技术领域
本发明属于计算机处理技术的服务发现与组合领域,具体涉及一种面向组合的语义web服务发现方法。
背景技术
面向服务的计算(Service oriented computing,S0C)是当前备受关注的主题,以标准的方式支持系统的开发性,进而使相关技术与系统具有长久的生命力是面向服务的计算研究的重点。面向服务的体系结构(Service oriented architecture,S0A)和面向服务的计算技术是标识分布式系统和软件集成领域技术进步的一个里程碑。服务作为一种自治、开放以及与平台无关的网络化构件,可使分布式应用具有更好的复用性、灵活性和可增长性。基于服务组织计算资源所具有的松耦合特征会给企业带来许多好处遵从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 一个过程循环执行至少一次,直到条件变真。本发明通过基于语义本体概念的1/0匹配、owls服务文件解析和owls服务控制过程分析的语义web服务数据流关联关系,提取服务请求中服务的单次执行过程形成可用服务集,针对服务的某此执行,自动构造面相服务组合的服务发现的候选服务集组成的网状图以及从网状图中自动获取候选服务链集,来实现面向组合的服务片段发现,这样就为后续的服务组合操作提供满足功能需求的候选服务链集,避免服务组合过程中重复选择候选服务的繁琐操作。上述方案中,步骤B具体为Bi、将语义Web服务的输入/输出信息传送至服务注册中心;
B2、从服务注册中心中读取所有服务;
B3、利用owls规则对服务注册中心的所有服务进行分析;
B4、获取与原子服务相对应的复合服务的控制信息,所述复合服务的信息包括复合服务的原子过程信息、该原子过程中的输入/输出信息和复合服务的控制过程信息。上述方案中,所述步骤D具体为
D1、根据可用服务集中任意两个单次执行的输入/输出信息从本体库中读取对应的 owl本体文件;
本体库是由一系列的本体数据,也就是一系列的本体文件构成的集合;本体文件就是本体概念以语义网标准格式写成的文本信息,在该文本中对本体概念以及这些概念之间的关系进行描述,通常将同一类型的本体概念放入一个本体文件中。D2、获取owl本体文件中的本体概念以及本体概念之间的关系,根
据所述本体概念之间的关系建立本体概念树,再根据本体概念树中本体概念
之间的关系和几何距离获得本体概念的相似度;所述相似度的计算公式为
权利要求
1.一种面向组合的语义web服务发现方法,其特征在于,包括以下步骤A、解析原子服务;接收来自外部的语义Web服务匹配请求文件,所述语义Web服务为原子服务,所述语义Web服务匹配请求文件为owls服务文件,解析该owls服务文件,获取该原子服务的输入/输出信息;B、在服务注册中心中获取与原子服务相对应的复合服务的控制信息;C、根据获取的复合服务控制信息,对从服务注册中心获得的每个原子服务过程进行剖析,形成一系列原子服务单次执行的可用服务集,所述可用服务集中包含原子服务每个单次执行所必须的输入和输出信息;D、在I/O匹配器中,通过本体概念树,运用I/O匹配算法,对任意两个单次执行的输入 /输出信息完成匹配操作;E、构建网状图根据I/O匹配结果和构图算法将匹配获得的服务添加到图结构中,形成完整的网状图;F、获取候选服务链根据构建的网状图,遍历该图,从遍历轨迹中获取候选服务链作为服务组合的数据。
2.根据权利要求1所述的面向组合的语义web服务发现方法,其特征在于,步骤B具体为Bi、将语义Web服务的输入/输出信息传送至服务注册中心;B2、从服务注册中心中读取所有服务;B3、利用owls规则对服务注册中心的所有服务进行分析;B4、获取与原子服务相对应的复合服务的控制信息,所述复合服务的信息包括复合服务的原子过程信息、该原子过程中的输入/输出信息和复合服务的控制过程信息。
3.根据权利要求1所述的面向组合的语义web服务发现方法,其特征在于,所述步骤D 具体为D1、根据可用服务集中任意两个单次执行的输入/输出信息从本体库中读取对应的 owl本体文件;D2、获取owl本体文件中的本体概念以及本体概念之间的关系,根据所述本体概念之间的关系建立本体概念树,再根据本体概念树中本体概念之间的关系和几何距离获得本体概念的相似度;所述相似度的计算公式为
4.根据权利要求1所述的面向组合的语义web服务发现方法,其特征在于,步骤E中的网状图包括根节点部分、叶子节点部分和服务节点部分,根节点部分中包含有根节点,根节点中包含有原子服务的输出信息,该输出信息就是用户提供的请求条件,叶子节点部分包含有叶子节点,叶子节点中包含有原子服务的输入信息,该输入信息就是用户的请求结果, 服务节点部分包含有节点,节点代表可用服务集中的一个原子服务单次执行,其包含有该单次执行所必须的输入/输出信息。
5.根据权利要求4所述的面向组合的语义web服务发现方法,其特征在于,步骤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,否则返回El中判断请求集是否为空。
6.根据权利要求5所述的面向组合的语义web服务发现方法,其特征在于,所述步骤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服务发现方法,包括以下步骤A、解析原子服务;B、在服务注册中心中获取与原子服务相对应的复合服务的控制信息;C、根据获取的复合服务控制信息,形成一系列原子服务单次执行的可用服务集;D、在I/O匹配器中完成匹配操作;E、构建网状图;F、获取候选服务链集。本发明将组合思想融入到服务发现中,其所形成的候选服务链集,能够作为服务组合研究的数据集,具有很好的通用性。
文档编号H04L29/08GK102413114SQ20111023045
公开日2012年4月11日 申请日期2011年8月12日 优先权日2011年8月12日
发明者刘发贵, 张杨, 徐磊, 林跃东 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1