论文部分内容阅读
面向服务的架构(Service-Oriented Architecture,简称为SOA)是一个新兴的软件工程范例,用来开发动态演进的Web应用。服务的提供者和服务的使用者可以通过公共的服务注册机构发布和搜索服务,各个服务可以被组合成复杂的Web服务组合,服务之间通过消息传递进行交互。Web服务组合是分布的、动态演进的、自治的,组合设计者不拥有整个服务,从而导致在基于服务的系统中,服务组合的正确性容易被笫三方参与者和与系统交互的机构所影响。通过静态测试、验证等技术能够保证服务组合过程的正确性,但其运行时行为仍可能会与服务组合的各种属性要求不一致,因而有必要实施Web服务运行时监控。在实践中,一般会部署持续性的监控方法在系统运行时对整个服务组合进行监控,来保证系统的运行时行为能够遵守某些特定的属性。但是,大多数已有的成果只关注了与系统控制过程相关的属性的监控,只关注消息的名称或者不同服务之间的信息交互顺序正确与否。这样便导致了许多动态的属性不能被监控,从而不能了解所感兴趣的信息数据是如何在不同的参与者之间交互的。临时属性是指在系统运行过程中,根据系统行为的不同,能够动态绑定不同数据的属性。这类属性需要在系统运行的过程中对事件的执行顺序和事件的参数值均进行实时监控,是保证以数据为中心的、基于服务的系统的正确性的有效方法。本课题研究了临时属性运行时的监控问题,提出了一套完整的、有效的、非入侵的在线监控方法,来动态地分析包含多参与者的面向服务应用的运行时临时属性首先,本文阐述了以属性模式系统为基础的、对临时属性做半形式化的描述的临时属性描述语膏规约,对该规约的每一部分做出详细的解释,并以北京市路侧停车系统中的两个核心属性为例,使用该语言对其进行描述。随后,介绍了现有的Web服务临时属性监控模型,在其后详细介绍了本课题提出的改进的监控模型。该模型提出了预测的思想,包括事件过滤、事件分发和异常处理三个阶段,能够实现临时属性所监控事件的预测和检测。采用哈希表,预测列表,反向列表等数据结构实现了临时属性中被监控事件的快速定位,利用有限自动机表达了临时属性状态的改变,实现了一套算法来完整的描述该临时属性监控模型。最后实现了路侧停车系统的核心功能,以该系统为测试对象,通过实现该监控模型以及其他现有临时属性监控方法,测试他们在实际案例中的运行结果,并对结果进行分析。由实验分析能够看到,本课题提出的方法性能优良,反应迅速,对原系统造成的负载非常有限,对临时属性的监控效果非常显著。