论文部分内容阅读
在计算机虚拟化技术推动下,云计算中包括虚拟机在内的计算资源急剧增加,通常需要在大量的计算资源上动态地部署或反部署软件,以构建不同的计算环境满足用户不断变化的需求。虽然现有的软件部署方法可以实现部分的软件部署,但是不能解决Windows系统中图形化交互式软件和Linux系统中依赖软件的部署问题。面向云计算的计算环境动态部署系统有效地解决了上述问题。部署Windows系统中图形化交互式软件的基本思路是:通过分析图形化交互式软件安装包在Windows系统中部署的特征及进程信息,将其自动重构成基于命令行模式的软件安装包;为了提高效率,采用多机并发部署调度算法,将生成的软件安装包并发地传输到目标机器,通过命令行对软件进行动态部署。部署Linux系统中具有依赖关系软件的基本思路是:分析Linux软件的运行环境及依赖关系并生成该软件的部署描述文档;根据部署描述文档对目标环境进行自动检测以筛选符合要求的目标环境;采用基于工作流的依赖软件部署算法,对该软件及其依赖软件进行动态部署,并采用多机并发部署调度算法传输软件包,从而提高部署效率。为了保证部署的完整性,Windows系统和Linux系统分别采用基于进程匹配、I/O匹配的方法对部署的软件进行正确性验证。软件的反部署是部署的逆过程,通过部署记录将目标机器还原为部署之前的状态。基于Windows、Linux操作系统和Apache平台,采用C++、PHP等语言及Web2.0技术,实现了该系统。功能测试表明:对于Windows系统中图形化交互式软件和Linux系统中具有依赖关系的软件,动态部署功能正常。性能测试表明:并发部署的加速比整体上与并发数N成正比,在100Mbps局域网内,4台、8台、12台、16台计算机并发部署100MB软件包的加速比分别为1.09、1.68、2.24、2.47,有效地提高了部署的效率。