(计算机应用技术专业论文)异构服务组装平台中服务监控模型及关键技术研究.pdf_第1页
(计算机应用技术专业论文)异构服务组装平台中服务监控模型及关键技术研究.pdf_第2页
(计算机应用技术专业论文)异构服务组装平台中服务监控模型及关键技术研究.pdf_第3页
(计算机应用技术专业论文)异构服务组装平台中服务监控模型及关键技术研究.pdf_第4页
(计算机应用技术专业论文)异构服务组装平台中服务监控模型及关键技术研究.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机应用技术专业论文)异构服务组装平台中服务监控模型及关键技术研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着网络技术的飞速发展,因特网上涌现出大量可以重用的服 务,如何有效利用这些异构的服务资源搭建应用程序,成为软件工程 的研究热点。以此为目的,研制了一种面向应用需求的异构服务组装 平台。该平台旨在为普通用户提供应用程序开发环境。服务组装运行 监控模块作为平台的重要组成部分,为系统稳定、可靠的运行提供了 重要保障。 首先,在分析现有服务组装技术的基础上,阐述了异构服务组装 平台的总体架构。针对平台运行过程中缺乏动态监控支持的现状,提 出服务组装运行监控目标、结构和待解决的关键问题。 其次,根据平台特点指出了服务监控的对象和事件,采用代理技 术对服务实例状态数据进行动态采集,通过定义流程状态推断规则与 流程状态转换规则,进行组装流程运行状态的快速判断,并动态分析 该组装流程的数据流与控制流的正确性。 最后,分析组装服务运行中可能出现的异常,根据异常类型建立 服务控制规则,着重论述控制规则中的服务匹配方法。该方法采用相 似度函数计算被替换服务与候选服务的功能相似度与非功能相似度, 用实验证明该方法能有效平衡服务查找的查全率与查准率。 这些研究成果实现了异构服务组装运行的动态监测和控制,为平 台中面向应用需求的分析与流程定义,以及服务执行引擎的调度执行 提供了重要保证,具有良好的理论意义与应用前景。 关键词异构服务,服务组装,服务监控,服务匹配 a b s t r a c t w i t hr a p i dd e v e l o p m e n to fn e t w o r kt e c h n o l o g y , i n t e m e te m e 唱e si n al a r g en u m b e ro fr e u s a b l es e r v i c e s h o wt ou s et h e s eh e t e r o g e n e o u s s e r v i c e st ob u i l d a p p l i c a t i o n s ,h a sb e c o m ea ne m e r g e n c yp r o b l e mi n s o f t w a r ee n g i n e e r i n g f o rt h i sp u r p o s e ,o u ru n i v e r s i t yd e s i g n e dh s c p ( h e t e r o g e n e o u s s e r v i c e s c o m p o s i t i o np l a t f o r m ) ,w h i c h b a s e do n n e t w o r ka n do r i e n t e d u s e r s a p p l i c a t i o nd e m a n d s a sa ni m p o r t a n t c o m p o n e n to ft h ep l a t f o r m ,t h es e r v i c e sc o m p o s i t i o n sm o n i t o r i n ga n d c o n t r o l l i n gm o d u l ee n s u r e ss y s t e m sr e l i a b i l i t ya n ds t a b i l i t y f i r s t l y , i nt h i st h e s i s ,t h ee x i s t i n gs e r v i c e sc o m p o s i t i o nt e c h n o l o g i e s a r ea n a l y z e da n ds t r u c t u r eo ft h eh s c pi sp r o p o s e d a st h ep l a t f o r ml a c k o fd y n a m i cs e r v i c e sm o n i t o r i n ga n dc o n t r o l l i n gm e t h o d ,t h es e r v i c e s c o m p o s i t i o nm o n i t o r i n ga n dc o n t r o l l i n go b j e c t i v e s ,s t r u c t u r ea n dk e y i s s u e st ob er e s o l v e da r ep r e s e n t e d s e c o n d l y , m o n i t o r e do b j e c t sa n de v e n t sa r ei n d i c a t e da c c o r d i n gt o t h ep l a t f o r m sc h a r a c t e r i s t i c s u s i n ga g e n tt e c h n o l o g y , s e r v i c e s s t a t ed a t a a r eg a t h e r e dd y n a m i c a l l y t h r o u g hd e f i n i n gw o r k f l o w ss t a t ed e d u c e r u l e sa n dc o n v e r s er u l e s ,w ec a nj u d g et h es e r v i c e sc o m p o s i t i o nf l o w s s t a t eq u i c k l y i nt h i sp r o c e s s ,t h ec o r r e c t n e s so fc o n t r o lf l o wa n dd a t a f l o wa r ev a l i d a t e d f i n a l l y , e x c e p t i o n sw h i c hm a y b eh a p p e nw h e nt h ea p p l i c a t i o nb e g i n t or u na r ea n a l y z e d s e r v i c e sc o n t r o l l i n gr u l e sa r ed e f i n e db yt h et y p e so f t h e s ee x c e p t i o n s i nt h er u l e s ,t h es e r v i c e sm a t c h i n gm e t h o da r em a i n l y d i s c u s s e d s i m u l a t ef u n c t i o n sa r ep r o p o s e dt oc o m p u t et h es e r v i c e s f u n c t i o na n du n f u n c t i o ns i m i l a r i t y e x p e r i m e n t a lr e s u l t sd e m o n s t r a t et h a t t h ea l g o r i t h m sc a nb a l a n c et h er a t eo ft h er e c a l la n dp r e c i s i o nw h e n s e a r c hs e r v i c e s a na p p r o a c hf o r d y n a m i cm o n i t o r i n ga n dc o n t r o l l i n gs e r v i c e s c o m p o s i t i o nf l o wi si m p l e m e n t e di nt h i sw o r k i tp r o v i d e sf o u n d a t i o nf o r o r i e n t e du s e r s a p p l i c a t i o nd e m a n d sa n a l y s i s ,p r o c e s sd e f i n i t i o n s ,a n d e x e c u t i o ni n h e t e r o g e n e o u s s e r v i c e s c o m p o s i t i o np l a t f o r m i t h a s p r o g r e s s i v es i g n i f i c a n c ei na p p l i c a t i o na n dt h e o r y i i k e y w o r d sh e t e r o g e n e o u ss e r v i c e s ,s e r v i c e s c o m p o s i t i o n ,s e r v i c e s m o n i t o r , s e r v i c e sm a t c h i n g 1 1 1 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得中南 大学或其他单位的学位或证书而使用过的材料。与我共同工作的同志对本 研究所作的贡献均已在论文中作了明确的说明。 作者签名:日期:趁受年月卫日 学位论文版权使用授权书 本人了解中南大学有关保留、使用学位论文的规定,即:学校有权 保留学位论文并根据国家或湖南省有关部门规定送交学位论文,允许学位 论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以采用 复印、缩印或其它手段保存学位论文。同时授权中国科学技术信息研究所 将本学位论文收录到中国学位论文全文数据库,并通过网络向社会公 众提供信息服务。 作者签名: 导师签名隧日期:丝年月坐日 硕士学位论文第一章绪论 1 1 引言 1 1 1 课题研究背景 第一章绪论弟一早 三百v 匕 软件工程技术的发展经历了结构化程序设计、面向对象程序设计、软件复用 等几个阶段【i j 。近年来,以构件为基础的软件复用技术得到了蓬勃发展。采用构 件作为应用系统的组成部分,使得应用系统的开发不再是“从零开始”,而是以已 有的工作为基础,充分利用了过去应用系统开发中积累的知识和经验【2 ,3 1 。正因 为如此,以软件复用为基础的软件开发方法能有效地降低开发成本,提高软件生 产力和质量,是解决软件危机的一个有效途径。 i n t e m e t 的发展为我们提供了一个超大型的资源计算平台,同时,也为我们 提供了一个使用跨地域、跨网络的异构服务资源进行大型应用开发的契机。这些 异构服务资源以j a v a b e a n e j b 、c o m d c o m 、c o r b a 和w e b 服务为代表,并 越来越呈现多样化的趋势。如何有效地整合这些网络中大量可复用的资源,使其 高效、可信地为所有用户服务,成为软件工程研究的热点问题【4 1 。 随着市场竞争越来越激烈,特别是软件外包模式的发展成熟,越来越多的企 业希望更加专注于其核心业务,并开始将非核心业务分离出来,这给服务组装提 供了极大的需求刺激。面向服务的架构【5 8 】基于开放的协议标准,用松散方式组 装传统的分布式组件,极大的增强了软件的互操作和协同能力,但同时它也带来 了新的不确定性,并且对系统的部署、性能、事务、监控、访问控制、语义基础 设施与元数据管理、生命周期管理的方式提出了诸多挑战性要求。针对这一情况, 本课题主要研究的是网格环境下面向应用需求的异构服务组装技术。而服务监控 技术的研究是此课题的子课题,是异构服务组装技术的重要组成部分。它为异构 服务组装提供性能数据,是处理组装服务执行过程中各种异常,保证组装服务顺 利运行的有效手段。 1 1 2 研究的目的及意义 基于网络面向应用需求的异构服务组装平台旨在把网络中的各种异构服务 资源集成起来,为用户提供使用这些服务资源开发和运行应用软件的接口。而服 务监控就是对这些应用软件的开发和运行过程进行监测,必要时对其进行控制。 硕士学位论文 第一章绪论 在整个过程中,服务监控起到很重要的作用,是应用软件开发和运行的基础:一 方面,要为应用软件找到合适的服务资源,这必须有提供描述服务资源特性的性 能数据;另一方面,网络及网络服务动态性大,这必须有一种实时反映服务资源 当前状态的机制。此外,用户在提交应用需求后,期望能及时了解应用软件的运 行状态,预测应用完成时间,必要时中止应用运行等。所以说,服务监控是服务 组装平台开发和运行应用软件的基础,是用户应用顺利执行的保障。 本课题的研究为有效的整合已有的本地资源和网络上的多标准资源,实现软 件复用的目的,研究和开发种网格环境下( 跨平台) 面向应用需求、面向普通 用户( 即只需对软件开发与设计有基础的认识) 、基于异构服务组装并能驱动执 行的应用软件开发技术和实用工具提供了参考。对提高软件的开发效率和可靠 性、促进信息产业的高效和低成本发展具有很好的理论意义,对促进软件企业的 发展具有极重大的社会和经济意义。 1 2 国内外研究现状 1 2 1 服务资源标准 目前网络中可供复用的服务标准主要有以下几种: 1 w 3 c 方式:w e bs e r v i c e s 9 】 w e bs e r v i c e s 由w 3 c 联盟制定的一系列标准组成。它是一个基于网络的、 分布式的、自描述的、模块化的组件,执行特定的任务,遵循一定的技术规范, 提供面向i n t e m e t 应用的统一服务注册、发现、绑定和集成机制i l 。 w e bs e r v i c e s 架构模型1 1 】是一个概念性框架,其中包括了三个角色:服务提 供者、服务请求者和服务注册中心。它们之间的交互主要通过发布、查找和绑定 三个操作来完成,如图1 1 所示: 图1 - 1w e b 服务体系结构 服务提供者提供可以通过网络访问的软件模块,定义w e b 服务的服务描述, 并把它们发布到服务请求者或者注册中心。服务请求者使用查找操作从本地或服 2 硕士学位论文第一章绪论 务注册中心查找服务描述,找到该描述后,将其与服务提供者绑定,并调用该 w e b 服务,同它进行交互。w e b 服务体系使用一系列标准和协议实现相关的功 能。如使用w s d l ( w 曲s e r v i c ed e s c r i p t i o nl a n g u a g e ) 1 1 2 】来描述服务,使用 u d d i ( u n i v e r s a ld e s c r i p t i o n ,d i s c o v e r y , i n t e g r a t i o n ) 1 3 , 1 4 来发布和查找服务,使用 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) ”1 来执行服务调用。 2 o m g 方式:c o r b a 1 6 】 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 分布计算技术是o m g 组织基于众多开放系统平台厂商提交的分布对象互操作内容的基础上制定的公 共对象请求代理体系规范。它是为了解决分布式、异构的软件和硬件环境下对象 之间的互操作问题而首次提出来的,基于中间件的构件技术【1 7 j 。 c o r b a 体系的主要内容包括对象请求代理o r b ( o b j e c tr e q u e s tb r o k e r ) 、对 象服务( o b j e c ts e r v i c e s ) 、公共设施( c o m m o nf a c i l i t i t e s ) 、应用接1 2 1 ( a p p l i c a t i o n i n t e r f a c e s ) 、领域接d ( d o m a i ni n t e r f a c e s ) 。o r b 负责对象在分布环境中透明地收 发请求和响应,它是构建分布对象应用、在异构或同构环境下实现应用间互操作 的基础。o b j e c ts e r v i c e s 为使用和实现对象而提供的基本对象集合,这些服务应 独立于应用领域。主要的c o r b a 服务有:名录服务( n a m i n gs e r v i c e ) 、事件服务 ( e v e n ts e r v i c e ) 、生命周期服务( l i f ec y c l es e r v i c e ) 、关系服务( r e l a t i o n s h i p s e r v i c e ) 、事务服务( t r a n s a c t i o ns e r v i c e ) 等。这些服务几乎包括分布系统和面向对 象系统的各个方面,每个组成部分都非常复杂。c o m m o nf a c i l i t i t e s 向终端用户 提供一组共享服务接口,例如系统管理、组合文档和电子邮件等。a p p l i c a t i o n i n t e r f a c e s 由销售商提供的可控制其接口的产品,相应于传统的应用层表示,处 于参考模型的最高层。领域接口为应用领域服务而提供的接口。如o m g 组织为 p d m 系统制定的规范。 c o r b a 将面向对象的概念引入到分布计算中,使得c o r b a 规范成为开放 的、基于客户服务器模式的、面向对象的分布计算的工业标准。 3 s u n 方式:e j b 1 8 】 e j b ( e n t e r p r i s ej a v ab e a n ) 是s u n 公司提出的基于j a v a 的面向对象的组件标 准。e j b 技术定义了一组可重用的组件e n t e r p r i s eb e a n s ,利用这些组件可以建立 分布式应用程序。 e n t e r p r i s eb e a n 配置在e j b 服务器的容器中,容器在客户端和b e a n 之间,起 协调、管理的作用。在配置时,容器自动为每个b e a n 实例生成一个h o m e 接口 和o b j e c t 接口,h o m e 接口对应每个b e a n 类,完成创建、查找和删除等管理b e a n 实例的功能;o b j e c t 接口作为b e a n 的方法的访问接口。所有客户发往h o m e 接 口和o b j e c t 接口的请求,经容器解释并辅以生命周期管理、事务处理、状态管 硕士学位论文第一章绪论 理、安全服务和持久服务等。客户和服务器之间以r m i 或i i o p 协议交互。 e j b 给出了系统的服务器端分布构件规范,这包括了构件、构件容器的接口 规范以及构件打包、构件配置等的标准规范内容。e j b 技术的推出,使得用j a v a 基于构件方法开发服务器端分布式应用成为可能。 4 m i c r o s o f t 方式:c o m d c o m c o m + 1 1 9 1 c o m ( c o m p o n e n to b j e c tm o d e l ) 是由m i c r o s o f t 公司推出的组件之间相互接口 的规范,是o l e ( o b j e c tl i n k i n ga n de m b e d d i n g ) 和a c t i v e x 共同的基础,其作用 是使各种软件构件和应用软件能够用一种统一的标准方式进行交互。c o m 中定 义了一个所有组件都必须支持的特殊接口i u n k n o w n ,它提供了三个基本的操 作:q u e r y i n t e r f a c e 、a d d r e f , r e l e a s e ,其它接口必须从这个接口继承。当一个 c o m 对象与另一个c o m 对象进行通讯时,需要通过调用另一个对象的接口指 针来调用接口方法。 d c o m ( d i s t r i b u t ec o m ,分布式构件对象模型) 是基于分布式环境下的c o m 。 d c o m 是a c t i v e x 的基础,它实现了c o m 对象与远程计算机上的另一个对象之 间直接进行交互。d c o m 接口是逻辑上和语义上相关联的函数集。服务器对象 通过d c o m 接口为客户对象提供服务,客户对象不需了解服务器对象的内部数 据表示。接口可以看成两个软件构件之间的一种协议,协议表明服务器对象为客 户对象提供一种且仅此一种服务。接口采用全局唯一标识符( g u i d ) 来保证服 务的唯一性。通常的d c o m 构件提供多种服务,服务器对象为每一种服务实现 一个接口。由于接口的定义和功能保持不变,d c o m 构件开发者可以改变接口 功能、为对象增加新功能、用更好的对象来代替原有对象,而建立在构件基础上 的应用程序几乎不用修改,大大提高了代码的重用性。 c o m + 是c o m 的新发展,也是c o m 更高层次上的应用。c o m + 的底层结 构仍然以c o m 为基础,它几乎包容了c o m 的所有内容。它综合了c o m 、d c o m 和m t s 这些技术要素。更重要的一点是,c o m + 倡导了一种新的概念,它把c o m 组件软件提升到应用层而不再是底层的软件结构,它通过操作系统的各种支持, 使组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统。 1 2 2 服务组装相关技术方面 随着服务技术的不断成熟,越来越多的稳定可靠的服务共享在网络上面。而 单个的网络服务已经不能满足越来越复杂的应用需要,这使得服务组装成为解决 这一问题的最佳办法。 目前国内外对服务组装方法进行了大量研究1 2 5 1 。这些服务组装方法主要 有两种方式:一种是静态组装。静态组装意味着服务请求者应该在组装计划实施 4 硕士学位论文第一章绪论 前创建一个抽象的过程模型。抽象的过程模型应该包括任务的集合以及任务间的 相互依赖关系,每个任务包含一个查询子句用来查找完成任务的真正的服务。另 一种是动态组装。动态服务组装不仅自动地选择和绑定服务,更重要的是动态地 创建过程模型。 现有的服务组装方式可以分为四个层次:硬编码模式、用特定的服务组装定 义语言定义组装服务的模式、模型驱动模式和根据目标推理服务组装方案模式。 硬编码模式将服务组装以硬编码方式实现,是组装服务最原始的方法,也最不灵 活,形成的组装适应性差。服务是动态变化且自治的,当某一服务产生错误时, 需要修改形成的组装服务工作量大,另一方面,该方法也不能适应应用需求的动 态变化。 目前比较主流的服务组装方式有以下几种: 1 基于b p e l 4 w s 的w 曲服务组装 b p e l 4 w s ( b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g ef o rw e bs e r v i c e s ,w e b 服务 的商业流程执行语言) 是专为整合w e b 服务而制定的一项规范标准1 2 6 1 。 b p e l 4 w s 是将一套现有的w e b 服务整合起来,从而定义一个新的w e b 服务。 它能够将w e b 服务调用、操作数据、抛出故障或终止一个流程等不同的活动连 接起来,从而创造出复杂的流程。b p e l 4 w s 是建立在x m l 基础上的。 b p e l 4 w s 流程是一个流程图,用来表达特定业务的处理逻辑和算法,流程 的每一步称为一个活动。b p e l 4 w s 主要利用w s d l 使得服务的动态绑定成为可 能,但它没有提供具体方式来选取动态绑定时需要调用的服务,并且b p e l 4 w s 不支持在应用运行时的流程模型的调整。 与类似b p e l 4 w s 这样来表达业务流程的还有b p e l 等。查找w e b 服务时需 要搜索巨大的服务空间,比较、匹配满足条件的服务,因此用来组建组装服务的 方法复杂、动态以致难以手工处理。为了自动地开发组装服务,需要同软件开发 方法一样的系统的方法来分析需求,将需求所涉及的活动模型化。 2 模型驱动的服务组装 在用特定语言定义组装服务的基础上,提出用模型驱动的方法来开发、管理 动态服务组装,模型驱动方法【27 j 将软件开发方法学应用到服务组装中。该方法 最大的特点是将组装逻辑与组装规范相分离开,使用u m l 描述服务组装,使得 能在更抽象的层次将w e b 服务组装模型化,该组装定义随后可自动地映射到特 定的规范如b p e l 4 w s 上,进而再关联到实际具体的w e b 服务上。模型驱动w 曲 服务组装分为以下五步: ( 1 ) 定义抽象组装。定义抽象组装服务包括指定组装服务的需求信息、约束 条件、组成组装服务的w e b 服务组件及执行中可能发生的意外行为。 硕士学位论文 第一章绪论 ( 2 ) 调度组装。决定怎样、何时运行服务,通过信息关联来表达数据间的依 赖关系,赋予各w e b 服务活动的执行优先权。该阶段产生可供选择的服务调度 组装方案,由应用开发者来选择。 ( 3 ) 创建组装。创建可执行的服务组装,输入调度组装的方案,输出可执行 的模式,如b p e l 4 w s 表示的可执行的流程。 ( 4 ) 映射为可执行的组装。系统将可执行的流程转换为编程语言中可以具体 实现的对象,运行服务。 ( 5 ) 监视组装的执行。系统监视执行流程,确保上述步骤的正确性。 模型驱动法描述业务流程建立在u m l 基础之上,不依赖特定的规范,适用范 围广。但是该方法面向单一的w e bs e r v i c e ,不支持对多标准的服务进行组装, 且系统面向的用户是熟练使用u m l 进行系统建模的程序员,不便于普通用户的 使用。 3 基于a i 规划的服务组装 o w l s 1 2 8 】的出现,为基于a l 的服务组装提供了可能。将服务看成是a i 中的 动作,通过输入输出参数、前提和结果等来描述服务。在服务组装时,只要将服 务的这些描述映射为动作形式化描述,在服务空间中以构造服务组装为目标,通 过形式化的推理来得到服务组装的序列,动态形成服务组装方案,同时也能保证 规划结果的正确性和完整性。这种基于a i 的服务组装能动态地生成服务组装方 案,链接具体实现的w e b 服务,且适应w e b 服务的动态变化,更能满足业务不断 变化的需求。但如何高效、准确地在服务空间中查找适合的服务,以及如何评价 生成的服务组装方案是否与用户需求吻合,等一系列问题都需要进一步的研究 【2 9 1 。此外,采用o w l s 的方式对服务描述,不支持除w 曲s e r v i c e 以外服务资源 的整合。 1 2 3 服务监控技术方面 异构服务组装监控是实现服务组装的保障。通常情况下,对异构服务组装监 控包含对组成应用系统的原子服务进行状态监控以及对整个应用软件执行流程 进监控。 目前对服务组装监控还处于起步阶段,一些网格系统对服务监控做了部分研 究,实现了部分功能。网格研究的主要组织g l o b a lg r i df o n m a 提出了网格监控体 系结构g m a l 3 0 j ,它采用生产者消费者模型,和事件订阅的数据传送方式获取网 格资源状态信息。但是,g m a 目前还不成熟,有关的实现还不完整。国内外有 很多研究机构和学者都是在g m a 的框架下提出了具体的网格监控系统的实现方 案【3 卜3 6 j ,并对g m a 进行了改进。如美国a r g o n n e 家实验室开发的g l o b u s 已经实 6 硕+ 学位论文第一章绪论 现了对网格资源的监控,其监控工具m d s 能够获取网格平台主机的c p u 、内存、 进程状态等信息,但它对应用服务的运行状态监控研究较少,且不支持对整个服 务组装流程的监控。m u e h l e n 和r o s e m a n n 等人在c o n g o 项引3 7 】中进行了流程监 控方面的研究工作,他们将工作流监控分为技术监控( t e c h n i c a lm o n i t o r i n g ) 和组 织监控( o r g a n i z a t i o n a lm o n i t o r i n g ) 。技术监控主要用于系统性能的测定;组织监控 主要用于组织的效率测定。为此,将工作流监控划分为三类视图,分别是过程视图 ( p r o c e s sv i e w ) 、资源视图( r e s o u r c ev i e w ) 和对象视图( o b j e c tv i e w ) 。b a s t i n 等人 提出一个基于多a g e n t 的工作流监控方法【3 8 1 :使用嵌入到系统中的a g e n t 对系统进 行监控,所使用的a g e n t 分为三类,分别是监督a g e n t 、控锘1 a g e n t 和管理a g e m 、 监督a g e n t 对过程或活动进行监控,同时对比相似活动的资源效率;控带l j a g e n t 则不断发现异常并通知管理a g e n t ;管n a g e m 贝1 启动合适的动作进行处理。这两 种方法对服务组装流程监控的研究起到了很大的推进作用,但是,它们都没有考 虑当组装流程执行过程或服务执行受阻时如何调整的问题。它是属于一种静态的 监控方法。c u i 等人给出一种动态监控方式,但没有进一步研究流程或服务执行 受阻时的调整策略【3 9 j 。国内,于万钧等人对提出了一种基于实例状态的工作流 系统监控方法,该方法由一组状态转换原语和过程实例转换算法组成,能验证流 程模型的正确性和过程实例的一致性【4 0 1 。但仍然未进一步研究流程异常时的动 态调整问题。总之,目前异构服务组装监控技术还比较薄弱,在这方面的研究有 着广阔的天空。 1 2 4 存在的问题 对已存在的服务组装技术以及服务组装监控技术的研究表明,现有的研究成 果和平台工具中仍存在以下瓶颈问题: 1 这些技术和工具大部分只能在自己的专用网内组装单一标准的构件或服 务,而不能组装网络中大量存在的异构构件或服务,导致不能充分共享网上资源 和满足各个领域的应用需求。 2 这些技术和工具所面向的用户大部分为具有计算机专业知识的程序员, 需要他们从需求、设计到组装全过程的技术支持。因而,无法为各专业领域的普 通用户提供面向应用需求的快速开发方法和工具,限制了利用网络资源进行应用 开发的用户。 3 这些技术和工具在性能上尚不适应网络及网络资源的动态性和异步性。 当服务提供者退出网络或由于网络原因变得不可用时,缺少一种相应的机制来完 成服务组装的动念调整。 总之,在当前研究成果中,缺乏一个可行的、有效的网格环境下( 跨平台) 7 硕士学位论文 第一章绪论 面向应用需求,面向普通用户( 即只需对软件开发与设计有基础的认识) ,基于 异构服务组装并能驱动执行,实时监控的应用软件开发技术和实用工具。 1 3 研究目标和内容 针对上述服务组装技术以及监控技术中存在的问题,本课题需要设计一个基 于网络面向应用需求的异构服务组装平台( 中间件) 。该平台能有效整合网络上的 多标准服务资源,为用户提供一个使用这些服务资源的抽象接口。通过该接口, 普通用户能方便地进行应用系统的按需开发,并驱动组装流程为其提供服务。在 整个应用软件运行过程中,平台提供及时准确的执行数据给用户,帮助用户了解 应用完成情况,为用户决策提供参考。本文作为异构服务组装技术的重要组成部 分,完成对异构服务组装过程的实时监控。因此,课题的研究目标在于设计支持 上述平台的异构服务组装监控系统。该系统能及时准确地监测服务组装运行过程 中的状态数据,当流程发生异常时,能快速有效地对流程进行动态控制,保证应 用软件的正常运行。 为实现上述目标,本研究中应主要包含以下两点内容: 1 服务监测方法研究。包含对服务组装流程中服务实例运行状态的动态监 测以及服务组装流程监测。 2 控制模型和算法设计。对于服务组装运行过程中的异常,应有一套行之 有效的控制策略,当异常发生时,能及时调整流程状态,保证应用软件的顺利运 行。 总之,本文的研究重点是对异构服务组装平台中,服务组装过程进行实时监 测,为用户提供系统运行数据和决策参考,在异常发生时,及时采用有效的控制 手段,保证服务组装顺利执行。 1 4 本文的组织形式 根据论文的研究目标,本论文共分五章,各章的主要内容如下: 第一章讨论异构服务组装平台( 中间件) 的研究背景、目的和意义,在对 国内外研究现状分析的基础上,总结目前在异构服务组装技术及服务监控技术方 面存在的问题,提出本文的研究目标和内容,并制定了研究思路。 第二章在分析异构服务组装平台( 中问件) 开发目的、系统应达到的功能 要求的基础上,提出异构服务组装平台( 中间件) 的总体框架和系统工作流程, 以及系统实现的主要技术。着重论述异构服务组装平台监控子系统的目标、结构 和待解决的关键问题。 8 硕士学位论文第一章绪论 第三章分析异构服务组装监测对象和事件,提出了异构服务组装流程动态 监测方法,并给出方法的详细说明。 第四章分析异构服务组装流程运行过程中可能出现的异常,根据异常类型 设计出一种支持动态演化的控制模型,并对服务替换时采用的服务匹配模型和算 法进行了详细研究。 第五章总结本文的研究工作和创新点,并展望了本领域今后的研究方向。 9 硕士学位论文第二章异构服务组装平台 第二章异构服务组装平台 2 1 异构服务组装平台简介 异构服务组装平台( h e t e r o g e n e o u ss e r v i c ec o m p o s i t i o np l a t f o r m ,以下简称 h s c p ) 是由中南大学研制并设计开发的基于网络面向应用需求的应用软件开发 平台。该平台能整合分布于网络中的异构服务资源,提供统一抽象接口,支持用 户透明访问。通过该平台工具,即使是非计算机专业用户也可以方便地使用网络 服务资源进行大型应用软件的开发。h s c p 平台提供一系列服务组装、绑定、驱 动执行的机制,可以实现对网络服务的组装、调度,并对系统运行过程进行动态 监控,及时准确地将监控数据返回给用户。 面向服务体系结构的提出旨在无约束地连接分布的网络服务资源,并实现这 些服务资源的数据和功能的共享。这种共享是以不对服务资源本身作大的修改为 前提条件的。以此为基础的h s c p 平台利用服务组装技术、结合组装的支撑环境, 根据需求分析和业务流程将异构服务资源组装成为一个应用软件,并完成整个应 用软件的执行、监控过程。 总的来说,本平台的设计和开发存在如下几个约束条件: 1 支持“实体能自主,结构能演化,行为白适应”的网构软件开发。 2 基于网络环境( 固定网格) 。 3 基于异构、自治、分布的服务实体,即服务的结构、描述、运行环境可 以不同。 4 面向应用需求的应用程序开发。 5 面向最终用户( 非计算机专业用户) ,终端用户编程。 根据异构服务组装平台的特性和约束条件,本章对其进行了总体设计,并对 该平台的四个组成部分,即用户界面层、应用逻辑层、资源层、监控部分的功能、 流程和关键技术进行了详细介绍。 2 2 异构服务组装流程 异构服务组装平台工作流程如图2 1 所示: l o 硕士学位论文第二章异构服务组装平台 图2 1 异构服务组装流程图 用户通过平台界面提交应用需求,平台使用需求理解工具进行需求分解,形 成软件结构,再根据软件结构从服务注册库中搜索出与模块功能匹配的服务集, 进行服务选择,建立功能节点与服务实例的映射,形成服务组装结构。通过对服 务适配,控制信息的定义,得到异构服务组装流程。平台根据组装流程生成服务 组装描述文档,将文档载入到执行引擎当中,实现对异构服务的调用和流程的驱 动以完成用户应用的一次运行。整个过程中由服务监控工具完成对整个流程运行 状态的动态监控。具体流程如下: 1 在网上搜索、发现各类“服务”,并将异构的描述转换为统一标准的描 述,存入本地服务库( 注册库) 。 2 对应用需求进行需求分析,自动或半自动转换成软件结构( 程序流程) 。 3 根据程序流程中各结点的功能、性能要求,在本地服务库中查找、评估、 选择合适的服务和备用服务,产生软件的服务组装结构,用统一文本描述。缺省 的服务以及服务之间的适配接口、转换等应自定制。 4 将组装描述中的各个服务与选择的服务实体进行绑定,对服务进行实例 化装配,并用远程调用等技术驱动服务运行。 5 监控服务的运行,根据运行状态,对软件结构动态演化,服务切换、调 整运行流程。 2 3 异构服务组装平台结构 异构服务组装平台结构由四个部分组成,分别为用户界面层、应用逻辑层、 资源层和监控部分。资源层实现对网络服务资源的查找、注册和管理,屏蔽服务 资源的异构性,为平台提供支持。在资源层的支撑下,用户界面层完成用户需求 的理解、分析,服务查找,并最终形成服务组装流程结构。应用逻辑层驱动整个 硕士学位论文第二章异构服务组装平台 应用流程运行。监控部分获取整个流程执行过程中的服务状态数据,并及时反馈 给用户。其总体结构如图2 2 所示: 图2 - 2 异构服务组装平台总体结构 以下各节将对这四个部分做详细介绍。 2 3 1 用户界面层 用户界面层是用户与组装平台交互的窗口,是用户提交需求,并进行需求分 析的工具【4 。它提供面向特定领域、特定行业的基于s o a 架构的应用快速构建 的解决方案。用户界面层的主要功能包括: 1 用户任务的获取,包括接收用户提交的需求文档,将需求文档转换成平 台可以理解的文档结构。 2 对抽象需求逐步细化分析,自动或半自动产生和演化用户应用的软件结 构。 3 对软件结构中元素及其关系进行描述,从注册库中查找、评估、选择相 应服务和备用服务。 4 自定义服务之间的连接,必要时自动生成连接子,形成软件的组装结构 及其描述。 5 采用多维的图形化方式描述目标,节点和节点之间的逻辑关系和语义关 系,通过人工拖拽或自动化技术建立和调整各节点之间的关系,用建模方法构建 或改进软件结构和组装结构。 用户界面层完成从用户需求提交到服务组装流程定义的整个过程。其流程如图 1 2 硕士学位论文第二章异构服务组装平台 2 3 所示: 服务 注册库 剩徘绷务俐嚣h 族 一一j 一模糊一描述。 ill 图2 3 用户需求分析流程 软件模 型描述 文档 求精并集成 用户界面层采用的关键技术: 1 普通用户对应用软件的需求可能是模糊的、不确定的、变化的,对需求 的理解、分析往往采用用例、特征或目标驱动的需求分析方法,利用树结构的自 顶向下、逐层分解,既有利于人机交互,又符合多数人的思维方式。参照服务注 册库目录,往往能使功能分解的粒度与已有服务对应。 2 采用图形化建模方法和树结构转换算法实现较快地自动或半自动的建立 软件体系结构模型,并对软件元素的功能、性能等用统一方式进行描述。 3 用标准模板自定义( 自制) 服务之间接口,或没有服务与之匹配的软件 元素的构件。 4 基于软件结构,用找到的服务和自定义构件构造服务组装结构,并用统 一的描述语言和模板建立服务组装描述文本,用表格等形式描述其领域、功能、 参数及运行约束等属性。 2 - 3 2 应用逻辑层 应用逻辑层接收用户界面层形成的流程定义文档,将可执行的组装流程转变 为程序语言中的具体对象,实现对具体服务的绑定,并根据服务实例的调度信息 驱动其执行,它主要有以下几个功能: 1 解析组装描述文档,建立工作流模型,将流程节点与服务实例进行逐个 绑定。 2 组装的服务实例化后,采用运行引擎、远程调用等技术执行组装后的程 序,并监控和调整服务的运行。 3 资源绑定时应实现:平衡负载( 选择低负载资源) ;支持容错、动态演化、 动态切换( 故障时自动切换到备用服务) ;支持访问的相关性( 匹配、时延、效 率等) ;支持并行应用。 硕士学位论文第二章异构服务组装平台 应用逻辑层完成用户应用的运行,其过程如图2 4 所示: 图2 4 组装服务调度执行流程 应用逻辑层采用的关键技术: 1 依据描述中的流程和属性,绑定( 实例化) 网络中满足运行条件的服务 实体,包括i p 地址,驱动方式,并执行服务调度【4 3 1 等。 2 依据不同的服务运行要求,采用不同的调用命令驱动服务运行。对于 w e bs e r v i c e ,采用a x i s 工具建立请求服务框架实例,通过该框架实例生成一个 维护调用的实例,对该实例采用s o a p 通信协议绑定具体服务并驱动执行;对于 e j b ,平台生成客户端存根,通过r e m o t e 接口调用e j b 定义的商务方法,这个 过程一般就是r m i 协议,或者是扩展的r m i - - i i o p 协议;对于c o r b a ,平台 启动o r b ,创建n a m i n g c o n t e x t 对象,使用n a m i n g c o n t e x t 对象的r e s o l v e 方法 找到需要调用的服务,通过该服务对象调用服务的方法;对于c o m d c o m 组件, 采用o r p c 协议和j n i 技术,实现对c o m d c o m 组件的访问。 2 3 3 资源层 资源层对网络中的服务资源搜索、注册、管理。其主要有以下几个功能: 1 4 硕二仁学位论文 第一二章异构服务组装平台 1 为平台系统提供资源支持,包括可川的各类服务( 服务库) 、数据( 数 据库) 、知识规则( 知识库) 等。 2 各类资源必须虚拟化,虚拟化是指将资源( 服务) 的属性用统的标准 拙述( 语言、格式、模板) 。封装底层数据传输和平台相关的a p i 等技术细节, 隐藏和抽象资源的异构、异步及动态自治性【4 1 l 。 3 建立基于语义的索引机制,标注注册资源,明确资源之间的领域和相似 关系,提高语义查找和动态维护的效率。 资

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论