论文部分内容阅读
随着服务计算理论与技术的发展,单个Web服务往往因为服务颗粒度的限制而不能很好地满足用户复杂的业务需求,因此这势必会要求Web服务组合及相关技术的出现。而Web服务的真正潜力也正是在于它的服务组合。目前关于Web服务组合的技术有很多,这其中不乏基于Petri网的解决方案。但大多数方法不能很好地自动生成Web服务组合的Petri网模型,不能在线式地分析与协同调度各种结构关系中的Web服务。其主要原因在于这些方法在分析Petri网时很难实时地控制状态可达的复杂性,而该过程又可能导致状态爆炸的出现。此外,这些研究工作缺乏相对灵活简单的Petri网模型,且没有可以统一描述Web服务结构关系的符号序列化形式,因此这两方面原因共同导致了大多数基于Petri网的Web服务研究只是简单地停留于Web服务建模与离线式分析的层次上,不能真正的做到实时地、有效地去调度Web服务,因而降低了服务的执行效率。针对以上研究问题,本文首先采用语义标记的Petri网作为Web服务模型。每个Web服务都会以PNML(Petri net Markup Language)+OWL(Ontology Web Language)文档的形式去描述各自的Petri网。基于此,通过引入相关领域的语义信息,为Web服务间建立起必要的语义关联。以此为契机,通过Petri网间的共享合成算法将多Web服务进行组合,得到Web服务组合的Petri网。其次,Web服务组合或者复合服务的Petri网,虽可描述各服务间的关系,但正是由于其内部关系的复杂性,导致了Web服务在协同调度时的低效率。为此,本文着重分析了Web服务间的结构关系,包括基本结构关系(顺序关系、并发关系与选择关系)、同步关系以及含有控制条件的结构关系,同时本文提出了Web服务可执行序列的概念以及基于Petri网的Web服务可执行规划算法,以此作为多Web服务协同调度与故障恢复的依据。最后,针对Web服务的各种结构关系,分别给出了相应的执行调度策略;分析了PNML+OWL文档中的的语义关联,结合Web服务可执行序列,提出了基于Petri网的Web服务可执行调用算法,该方法实现了Web服务组合与复合服务的自动协调调度;同时结合基于Petri网的Web服务组合执行框架与系统,进一步验证了Petri网理论应用于实际Web服务组合与调度的可行性与有效性。