论文部分内容阅读
近年来,随着计算机软硬件技术的高速发展和互联网产业的不断壮大,网络化的应用大量涌现。Web应用作为互联网上的典型应用之一,在得到迅速的普及和广泛的应用的同时,也面临着许多挑战。这些挑战主要表现在这样两个方面:一是Web应用系统的软硬件复杂度不断提高;另外,一个Web应用面对的用户群也日趋庞大,这对系统的性能和服务质量提出了越来越高的要求。在这种情况下,传统的主要依靠人工干预的方式逐渐地不能满足需要。软件自适应技术是应对这些挑战的有效方法之一。
然而,构建自适应的Web应用常须克服多方面的技术困难。从软件方法和架构设计的角度看,主要的难点包括:自适应系统的软件体系结构如何设计;自适应需求以及相应的适应性调整策略如何在这个控制系统中被恰当的表达和执行;如何在既有第三方部件乃至既有遗产系统基础上构建自适应系统;如何控制外加自适应行为对应用系统可能造成的不利影响等。此外,在实现层面还需考虑相关技术和工具如何实现、如何选择等。
本文在相关工作的基础上,提出了一种构建基于软件体系结构的Web应用自适应系统的技术方法,并对其中若干关键技术问题进行了探讨。进而,设计并实现了一个具有一定的自适应能力的系统原型,展示了如何使用该方法,构建具体的自适应Web应用系统,初步说明了该方法的可行性。本文的主要工作总结如下:
1.针对Web应用系统的特点,提出了一种构建基于软件体系结构的Web应用自适应系统的方法。该方法以Web应用系统的体系结构为中心,通过对系统各类组件运行状况的探查得出对问题的认识,并结合对系统软件体系结构的分析决定适应性演化的内容,最后通过支持软件体系结构动态演化的支撑系统完成应用系统的演化,从而达到应用系统自适应的目标。
2.对上述方法实施中有关监控、决策以及演化运行等主要环节中的若干关键技术进行了研究,主要包括:
(1)针对Web应用适应性调整策略的表达和处理问题,本文使用基于规则的自适应调整策略知识库,并在其基础上尝试引入模糊控制技术,将调整策略中的非精确知识用模糊规则来表达,并借助模糊控制引擎完成对这一部分策略的处理。
(2)针对外加自适应控制给Web应用系统带来的性能开销问题,本文提出了支持动态调整的分级监控技术,通过自适应控制模块在运行时刻对监控体系的动态调整以及相应的支撑平台的支持,使得自适应的开销被尽可能的降低。
(3)针对外加自适应给应用系统可能带来的不稳定性,本文提出了控制系统快照与独立部署的技术,使得控制系统可以在运行时刻被重启或替换,而不必影响应用系统的运行以及相应的自适应过程。
(4)针对Web应用中的异构资源监管问题,本文提出了基于统一接口的组件封装技术,向上层自适应系统屏蔽了底层组件的异构性,简化了上层的决策过程和演化方案的表达。
3.使用上述方法和技术,设计并实现了一个Web应用的自适应原型支撑框架,并在其基础上开发了一个具有自适应能力的水雨情信息系统作为实验例证。通过这个实例应用初步展示了本文提出的解决方案的有效性和可行性。