互联网上Web服务资源具有自治性和动态性,单个资源的可用性不尽确定.汇聚同类资源、提升抽象层次,并且在运行时动态绑定至具体资源的方式是提升可用性的基本手段之一.文中通过业务服务抽象汇聚相似功能的具体服务,并在此基础上提出了运行时请求拆分和动态切换技术以提升服务的可用性,同时给出了相应的业务服务执行算法.此方法较传统的基于服务副本的方式能够避免单个服务的不可用问题,然而由于服务的可用性状态以及它们在业务能力上的差异,用户请求可能需要通过多个服务的执行才能得以满足,故此方法也带来了服务选择时的额外服务调用开销,因此进而在业务服务执行算法的基础上提出了基于实时可用性更新和服务对用户请求覆盖程度的运行时服务选择算法以提高业务服务的执行效率、减小实现代价.最后使用案例和仿真实验对上述方法进行了评价.
The Web services on the Internet are all autonomous and dynamic in nature,so the availability of a single service cannot be always guaranteed.Clustering resources of the same category and abstracting the resources to a higher level,and dynamically routing to suitable resource at runtime is a common approach to improve availability.In this paper the authors use business service model to cluster services with similar functionalities,and propose an approach combining the request splitting and dynamic switching methods at runtime to improve the service availability.The authors also give the corresponding implementation of the approach.Although by using proposed approach the drawbacks of traditional replication approaches,the possible unavailability status of a single service,have been overcome,extra costs have been introduced because of the services' availability statuses and their different capabilities of covering the business functionality.So the authors propose a service selection algorithm,called SelectIndex,based on services' capability of covering users' requests and an availability calculation method combining real time and historical availability reflection to improve the business service's efficiency and reduce its execution cost.Finally the authors evaluate the above work by case study and simulation experiment.