随着云计算的普及,软件即服务(Software as a Service,SaaS)得到了广泛的关注.SaaS应用中,需要满足客户服务等级协议(Service Level Agreement,SLA)要求、减少SLA服务违例的同时,尽量提高系统资源的利用率,这对资源分配策略提出了挑战.提出了SaaS模式下的基于SLA的资源分配策略:基于对客户请求动态变化的分析,针对"首次租用服务"和"租用服务升级"两种请求类型,提出了一种用户请求与底层资源的映射策略;提出了提高虚拟机重用度的基于SLA的资源效率优化分配算法.实验表明,该资源分配算法可以在有效保证服务质量的同时,提高资源的利用率.