论文部分内容阅读
云计算的兴起正在逐渐地改变整个计算机产业界和学术界。云计算将大量硬件资源、软件资源和信息资源链接在一起,形成一个规模巨大的虚拟的共享资源池,为远程计算机终端用户提供“召之即来,挥之即去”,并且似乎是“能力无限”的各种服务。云计算中的服务可分为3个层次:基础设施即服务(IaaS),平台即服务(PaaS),软件即服务(SaaS)。软件即服务SaaS将软件和基础设施的运营、管理、维护及软件所有权等由用户转向外部运营商,用户不直接拥有软件和添置硬件,而是通过互联网以付费方式租赁和使用软件服务。SaaS软件交付模式将应用软件以服务的形式提供给用户,用户通过租用软件减少构造、使用和维护软件应用的成本,增强业务变化的灵活性。数据中心是云计算的基础,随着数据中心规模的扩展,能量消耗已经成为数据中心运营和维护的最大成本。日益显露的能耗问题严重阻碍了云计算技术的普及和发展。许多云计算厂商都在积极研究绿色节能技术,通过快速抢占节能技术领域的制高点来攫取最大利益。云计算中的关键技术主要有:MapReduce编程模式、大规模数据的分布式存储及管理技术、虚拟化技术、云计算平台管理技术等。云计算和群体智能算法(如蚁群算法、粒子群算法、遗传算法等)有着天然的联系,云计算MapReduce编程模式中的Map和Reduce单元起源于智能领域;群体智能算法,如蚁群算法、遗传算法、模拟退火算法等,因为大量采用Monto Carlo方法,具有很高的并行性,可以在云计算系统中实现分布式并行计算,并行计算可以充分发挥云计算平台中强大的运算、存储等处理能力,智能算法将会在云计算平台中得到很好的应用。蚁群算法具有自组织性、正反馈性,很强的通用性、鲁棒性和高的隐含并行性。为此,本文研究云计算环境下面向SaaS服务的蚁群算法及其在SaaS平台中的应用,包括在多租户服务定制问题中的应用和在能量感知的服务放置问题中的应用。论文研究的主要内容和创新点如下。1、研究云计算环境下的蚁群算法。融合云计算的关键技术和蚁群算法,设计出云计算环境下分布式并行化的蚁群算法,提出了基于MapReduce的改进背包问题蚁群算法(MIAM)。研究该算法求解问题的一般思路、方法、特点、框架及性能,充分发挥云计算平台强大的计算能力、分布式存储和管理能力,为问题的分布式、并行化和智能化求解以及云计算平台的科学化、智能化管理提供新的思路和方法。应用MapReduce编程模式实现蚁群优化算法的并行化计算,应用轮盘赌、交叉、变异等方法来改进蚁群算法,通过改变概率计算时机等来降低蚁群算法的计算复杂度。并应用该算法在云计算环境中分布式并行地求解大规模多维背包问题。2、将云计算环境下的蚁群算法应用于解决SaaS平台中多租户服务定制问题。多租户服务定制能够满足租户不断变化的个性化服务需求,也是实现灵活的SaaS多租户软件体系结构的核心技术之一。研究SaaS中多租户服务的有关理论、关键技术和实现方法,给出多租户服务定制的层次结构图和定制流程,拓宽蚁群算法在SaaS中的智能应用,提高SaaS平台的服务质量与效益,具有理论意义和实际应用价值。提出了基于MapReduce和多目标蚁群算法的多租户服务定制算法(MSCMA)。MSCMA算法从众多业务流程和海量服务中为租户定制出最适合的业务流程和优化的服务组合。MSCMA算法设计了多目标蚁群算法,应用MapReduce云计算技术,在云计算环境中分布式并行地运行优化任务,并采用优良解保持策略和解多样性保持策略。仿真实验结果表明,MSCMA算法在求解多租户个性化服务定制问题时表现出良好的收敛性和扩展性;该算法具有处理海量数据和大规模问题的能力。3、将云计算环境下的蚁群算法应用于解决能量感知的服务放置问题。设计SaaS平台中服务的分组部署策略及部署算法,来产生闲置服务器,使用户的服务请求能分发到数据中心适量的服务器上,通过关闭不用的服务器来减少能耗,降低数据中心的运维成本,具有重要的应用价值,符合云计算的低碳经济与绿色计算的发展理念及总体发展趋势。设计服务部署算法,提出了基于MapReduce和蚁群算法的服务部署算法。SDMA融合装箱问题的装箱策略、蚁群算法、MapReduce、HDFS等云计算技术,将服务部署到尽可能少的服务器上,来进一步实现节能目标,同时考虑了部署代价最小目标、服务器负载均衡目标。SDMA运行在云计算环境中分布式并行地求解海量服务的部署问题,并且能适用不同场景的服务部署问题。