服务因其灵活的应用机制,逐渐成为软件开发过程中的主要载体.面对网络中涌现出的大量功能相同或相似而QoS(quality of service)不同的服务群体,如何快速、准确地定位到所需要的服务个体,仍是一项十分具有挑战性的工作.基于服务对功能的封装特性,提出一种基于服务功能规约的服务选择方法,将功能相关的抽象服务规约为一个粒度更大的服务级的抽象服务;然后,针对规约后的大粒度抽象服务完成服务发现和组合优化的过程.由于规约操作能够有效减少参与服务组合优化的抽象服务的个数以及相应的候选服务的个数,从而使算法的执行效率得到有效提升.实验结果表明:该算法与传统的启发式算法相比执行效率更高,并且对服务组合规模及候选服务规模表现出更好的扩展性.
Service is becoming the main carrier of the software development because of its flexible application mechanism. Since the emergence of a large number of services with the same or similar functionalities but different QoS (quality of service), how to quickly and accurately locate the right services user need remains a very challenging task. In this paper, a service selection approach based on the folding of service functionality is proposed. Abstract services with associated functions are folded into a coarse-grained service-level abstract service, based on which the service discovery and combinatorial optimization are performed. The efficiency of the algorithm is improved dramatically because of the reduced number of both abstract services and candidate services. Experimental results show that the presented approach is more efficient than other traditional heuristic algorithms, and exhibits better scalability on the scale of abstract services and candidate services.