论文部分内容阅读
随着Internet的发展,Web服务(Web Services)作为一种新兴的分布式计算技术和一种开放的业务提供方式,得到了工业界和学术界的广泛关注,成为一个研究热点。另一方面,用户的需求是千变万化的,怎样为用户提供个性化的、可定制的服务,满足用户不同等级、不同质量的服务请求,是Web服务的研究人员和开发人员必须面对的课题。这一点只能通过Web服务的自动协商实现。但是,到目前为止,对Web服务的研究主要集中于服务发现和服务组合,对服务协商的研究相对比较少。服务协商是Web服务交互过程中的一个关键环节。在服务发现的过程完成以后,服务提供者和服务请求者通过服务协商,对服务的各个方面,尤其是服务的非功能方面,达成一致的意见并形成一个正式的服务合约,用这个合约来规范服务交付的过程。服务协商对服务提供者和请求者都具有重要的意义。通过服务协商,服务请求者能够详细地表达自己的约束和偏好,严格按照自己的需求去定制服务;服务提供者能够剪裁自己提供的服务,合理地使用资源,在满足各种层次和等级的服务请求的同时,实现自己的利益最大化;多个服务提供者可以有效地协调与合作,去满足一个单靠自身无法满足的复杂的服务请求。服务协商是实现为用户提供个性化的、可定制的服务的关键技术。在Internet环境中,面对信息不完全性和潜在的多个交互对象,如何进行Web服务的自动协商,是本文的研究要解决的主要问题。围绕这一中心问题,本论文分3个部分分别分析与探讨了服务协商协议,服务的双边协商模型和服务选择场景中的一对多协商模型,并取得了以下几个方面的成果:1.基于会话策略(Conversation Policy)的Web服务协商协议表示和描述方法。为了适应Internet这个开放、动态的环境,必须抛弃传统的“硬编码”方法,采用描述性的语言来描述和发布Web服务协商协议。基于言语动作(speech act)表示Web服务协商协议的个体消息,使用会话策略来描述消息的交换流程和对协商过程的约束,进而表示和描述一个服务协商协议。通过这种描述性的方法,协商参与者的通信模块与协商协议被解耦合,可以支持任何协商协议,极大的提高了灵活性和适应性。2.Web服务双边协商模型。通过双边协商,一个服务提供者和一个服务请求者逐步地就服务提供的细节尤其是服务的非功能属性达成一致意见,形成一个服务合约。在这个模型中,利用模糊命题表示协商参与者对服务的约束,这些约束是非数值化的;使用效用函数表示对数值化的服务非功能属性的偏好,采用二者相结合的方法建模对服务非功能属性的偏好选择。这个偏好结构也成为协商参与者的建议评价(Proposal Evaluation)机制的基础。考虑到Internet的动态性和信息的不完全性,协商参与者的建议产生(Proposal Generation)机制采用了启发式算法:在每个协商回合,算法首先检查几个环境因素,包括时间,资源,以及协商对手的反应,然后给出相应的让步幅度。实验证明,这些自适应的建议产生机制能够在保证较高协商成功率的同时,提高协商参与者的效用和利益。3.Web服务协商的一对多模型。对一个服务请求者来说,可能存在多个服务提供者都能提供所需的功能,但是它们的服务质量又是不一样的。反过来,对一个服务提供者来说,可能收到多个用户的服务请求,因为资源的有限性,它不能同时满足所有用户的需求,必须有选择地提供服务。因此,对服务请求者和服务提供者来说,都存在一个“面对多个潜在的合作伙伴如何进行选择”的问题。本文提出了一个一对多协商的模型来解决这个问题。具体地,这个模型包括一个协调器(coordinator)和多个子协商参与者(sub-negotiator),每个sub-negotiator都代表协商参与者发起一个双边协商,称之为一个协商线程:Coordinator则利用模糊规则和模糊推理机制动态地协调各协商线程。实验表明,这种基于模糊推理的协调机制能够较好地适应动态多变的环境,在缩短协商时间的同时,大幅度地提高协商参与者获得的效用,具有较高的性能。