在面向服务的体系结构(service oriented architecture,SOA)中,服务组合是一种极有前景的创建新服务的方式.然而,服务组合技术尚有一些瓶颈在阻碍着其广泛运用.组合服务提供商面临的一个难题是如何跨越多个不同的自治网络和商业域选择一组服务实例来实现组合服务,并且向用户提供端到端的服务质量(quality of service,QoS)保障.文中提出一种迭代选择算法用于质量驱动的服务组合.该算法运行于一个P2P(peer-to-peer)的服务执行环境-分布式智能服务执行(distributed intelligent service execution,DISE)环境.该迭代选择算法最显著的特点是既可以运行于中心式的QoS注册系统,也可以运行于分布式的QoS注册系统.在文中的QoS模型中,网络状态作为可选项在选择算法中考虑.由于该算法按照组合服务逻辑执行顺序迭代的选择服务,所以该算法可以在组合服务执行之前或者组合服务运行时执行,不需要作任何更改.在分布式服务执行环境上的一系列实验表明,文中提出的算法可以提供极好的选择结果,并且具有很好的性能.