论文部分内容阅读
在开放、动态的网络环境中,分布式软件呈现出规模庞大、松散聚合、行为复杂等特点,分布式软件自身的特点、复杂多变的网络环境以及用户需求的不断更变,需要对其进行动态的适应性调整。传统的调控方法过于简单,主要依赖人工调控,不能满足大规模分布式软件的动态调控需求。针对传统调控方法的不足,本文提出了基于策略的动态调控方法,以策略驱动调控的整个过程,使软件系统能够自动的适应环境的变化和用户需求的变更。论文以基于策略的动态调控为出发点,较系统地从调控策略的表示、调控策略的部署框架、调控策略的可信预评估与执行等方面逐步展开了研究。针对分布式软件动态调控的特点,提出了适合分布式软件动态调控的调控策略概念模型,设计了调控策略的描述语言D-PDL。D-PDL语言使策略的描述更具灵活性和有效性。为了解决传统的策略部署框架不支持分布式软件动态调控服务,分析了动态调控策略部署框架的设计原则,设计了具有三层结构的策略部署框架,包括调控中心和策略执行代理两大模块。三层结构的策略部署框架提高策略实施的灵活性和动态性。针对调控策略执行的可信问题,分析了影响策略可信的因素,提出了可信预评估的贝叶斯模型。该模型利用了贝叶斯的统计分析功能,以考察调控策略过去的执行行为来预测其将来的执行行为。构建的可信预评估体系可以提高调控策略执行的成功率。为了解决同一策略事件同时触发多条调控策略而引发的策略内冲突,引入了博弈论的相关理论。将策略冲突的双方看成博弈的参与方,利用博弈论中的效用函数计算每条策略执行的期望收益,通过比较每条策略执行的期望收益来确定一条最优策略响应策略事件。基于博弈论的分析方法能够有效的解决策略内冲突。根据不同应用情形制定了不同的调控策略,并将这些策略应用到原型系统。通过对调控策略执行效果的评估和系统性能的分析,验证了调控策略相关理论的可行性和有效性。