论文部分内容阅读
Internet环境下开放、动态的本质、计算实体自身的自主性和独立性、以及网络连接的不稳定性等,均对保障软件系统可用性提出了新的要求。现在基于构件的软件系统的可用性分析和优化方法绝大多数是将用于组装软件系统的单元构件视为黑盒,其可用性是通过第三方提供的测试结果获知。此种做法的弊端是比较明显的,首先第三方提供测试结果的准确性无法验证,使用者很大程度上只能听之任之;其次第三方提供的测试结果不具有通用性,有些构件的可用性与地域或者系统环境有很大的关系,所以第三方的测试结果不一定适用于任何用户;最后出于安全或者经费的考虑,有些性能测试很难甚至无法获得。
基于这些考虑,本文提出了一种基于自主构件的保障网构软件高可用性的构件选择方法,该方法使用自主构件建模网络环境中的自主计算实体,在计算实体及其连接方式的可用性未知的情况下,通过学习,在运行一段时间后自适应地选择到其它可用性较高的自主构件并实现互连,从而构造出可用性较优的软件系统。实验表明,基于该方法构建的系统能达到较高的可用性,并能在环境发生变化时自适应地调整自身的行为。由于自主构件是在真实的使用场景中进行学习的,所以不需要第三方提供任何数据,从而很好地避开了传统方法中的弊端。
本文没有试图重新开发一套全新的自主构件运行支撑框架来实现对自主构件的运行支撑,而是使用添加截取器的方式在一个普通的构件运行支撑平台上实现了对自主构件的运行支撑。采用了这一套巧妙的机制后,现有的构件运行支撑平台被扩展为自主构件的运行支撑平台,同时又没有改变其原有的工作机制。这无疑是将构件自主化的领域大大地拓宽了。