节点文献
实时SOA中的服务调度关键问题研究
Research on Key Issues of Service Scheduling in Real-Time Soa
【作者】 杜立新;
【导师】 孟祥旭;
【作者基本信息】 山东大学 , 计算机软件与理论, 2012, 博士
【摘要】 随着信息技术、网络技术的发展,社会进入全球互联网络时代,这对于传统的实时系统应用提出了互联、互通、可扩展性等新的要求。与此同时,为了满足大规模分布式系统应用的构建,SOA (Service Oriented Architecture)逐渐得到了学术界和工业界的广泛重视,已经成为构建新一代分布式系统指导架构思想。因此,将SOA松耦合、高互操作性的特点用于实时系统应用的构建成为实时系统构建今后的发展方向。与此同时,实时SOA业已成为当前学术界研究的热点问题之一由于实时系统中资源有限,实时任务带有时间限制,因此调度问题一直是实时系统领域的主要研究问题之一。在实时SOA中,服务成为新的系统资源,传统的针对物理资源(CPU、内存、网络等)的调度方法对于服务不再适用,因此针对实时SOA中调度问题进行研究,提出适合的调度方法对于今后实时系统应用的发展具有重要意义。目前,有关实时SOA中调度问题的相关研究中,有一个非常重要的问题需要解决:在服务提供者对其所提供的服务并发响应能力有限的情况下,如果请求者的请求数量太多,超过服务提供者并发响应能力,应当如何调度来满足尽量多的请求?这个问题对于实时SOA来讲特别重要,实时系统的关键特点就是要保证实时性,因此请求不能无限期等待下去,必须要进行合理调度。问题的解决,必须要考虑被请求的服务是原子服务还是组合服务,不同的类型服务的调度方法、难度不同,同时还要考虑如何对服务的实时运行状态建模,发现运行中的请求冲突,以方便进行调度分析。本文结合国家课题以及社会上常见的分布式控制系统所面临的问题,以服务计算相关技术和方法为理论基础,结合控制调度理论和Petri网等理论工具,对实时SOA中存在的上述调度关键问题进行了深入研究。论文的主要工作和创新点如下:1、针对原子服务提出了基于历史相似服务请求的服务调度方法原子服务是指本身不再请求其他服务的结果。实时SOA中原子服务的服务能力有限,尤其是封装了物理设备操作逻辑的原子服务。当其面临的请求数目超出提供者服务能力情况下,如何实现响应请求数量最大化成为系统调度必须解决的问题。为了实现响应成功的请求数量最大化,应当尽量减少对可能失败的请求进行响应,以节省服务提供者的资源来提供给那些执行结果成功的服务请求。如果对某个请求提供者进行响应并执行,结果由于各种原因服务执行失败,对于提供者来讲这次响应请求所耗费的资源全部浪费,这种情况应尽量避免出现。通过对服务历史请求的服务方法、服务参数、服务结果等的分析,从历史请求中找出当前请求的相似请求;通过对相似历史请求结果成功率的统计,对当前服务请求的结果成功概率进行预测,优先调度成功概率较高的请求执行。2、提出了基于Petri网的组合服务运行时模型实时SOA系统运行过程中,组合服务也会面临服务请求超出服务能力的情况,此时多个组合服务可能会同时请求相同的子服务而发生冲突。为了发现并解决冲突,需要建立多个组合服务运行时(runtime)模型。基于有色时间Petri网提出了动态有色时间Petri网模型,使用该模型对系统多组合、多服务同时运行的实时运行状态进行建模。模型中位置表达服务,变迁表达服务执行,有向弧表达服务预约信息、服务执行信息以及服务组合、调用关系;通过弧的动态加入与撤除表达实时SOA中服务不断组合、执行、终止等的过程。对模型的运算规则进行了说明,给出模型的可达性、有界性、可激发性、可调度性、冲突等特性分析,并给出模型构建算法。3、提出了基于动态有色时间Petri网的组合服务调度方法基于动态有色时间Petri网模型,提出实时SOA中组合服务运行时服务预约方法。通过服务预约、预约冲突监测等实现在服务数量、服务能力有限情况下的服务冲突尽早发现。针对运行时发现的组合冲突,提出了面向组合服务截止期的冲突调整算法,算法基于随机思想,通过对组合服务中未执行子服务的预约开始时间、截止期等的动态调整,实现尽量多组合服务预约无冲突、尽量减少由于子服务冲突而造成组合服务请求失败,进而实现组合服务成功请求响应成功数量的最大化,达到调度目标要求。经过冲突调整,还是无法消除冲突的情况,提出基于最多冲突请求丢弃、关键冲突请求丢弃、组合完成度的请求丢弃等多种请求丢弃方法,通过多种不同丢弃策略的组合实现请求丢弃对系统的影响最小。4、提出了面向分布式控制系统的实时SOA模型针对分布式控制系统的特点,提出了以实时服务层为中心的、包括物理层、实时消息层和应用层等四层架构的实时SOA模型。实时服务层以服务调度中心SSC为核心,结合准入安全控制器ASC、服务使用调度器SUC、服务配置管理器SCM等统一协调各服务的预约、执行。ASC实现请求准入控制与安全验证;SUC与其它服务引擎协作实现对各服务的请求排队、请求调度、服务执行环境及结果详细记录;SCM根据系统需要完成原子服务的管理、配置,及组合成更高层次的服务。在实时消息层,提出了基于多网络同步传输的实时消息总线模型,提供多网络并发传输、多消息分类调度、消息格式化等消息服务。基于该模型构建了原型系统应用。
【Abstract】 With the developments of information technology and network technology, our society entered the era of global Internet. These make new requirements for conventional real-time system application with interconnection, interoperability and scalability. At the same time, for meeting large-scale distributed system application construction, service oriented architecture (SOA) has been got much extensive attention gradually both in academia and industry. It has become the guiding ideology to build new generation of distributed system applications. Therefore, Building real-time system applications with the loose-coupled and interoperability of SOA become the future development direction. Also real-time SOA has been a hot issue in academic research.Due to limited resources in real-time systems, real-time tasks are given time constraints which often be called "deadline". The scheduling problem is an important issue in the field of real-time system research. Service has been a new resource in real-time SOA. Conventional scheduling strategies for physical resources in computer (such as CPU, RAM and network) will not fit for real-time services. So we giving deep study on the service scheduling problem in real-time SOA, and proposing new suitable method for it, will get great significance in development of future real-time applications.There is a very important problem to be solved in real-time SOA scheduling research, that is "How to schedule for fulfill as many requests as possible when much more requests arrived overstep the service provider’s capacity?" This problem is particularly important for real-time SOA. Real-time is the key characteristics of real-time systems, so requests should not wait for a long time. There need a reasonable scheduling. Different service types such as atomic service or composite service will be considered respectively. We should give sufficient consideration on service runtime model, discovery runtime conflicts, and try to solve the conflicts. In this paper, we give a deep study on such scheduling issues in distributed control systems and our National863project with service computing technologies, combined with scheduling theory and Petri net model. Main works and innovations of this paper are as follows.1、 Put forward a service scheduling strategy based on historical similar requests for atomic service.Atomic service is a service does not request other services. The atomic service has limited capability, it always encapsulate operation logic of physical equipments. When requests overstep provider’s capability, how to get maximum success requests (MSR) become a key problem must to solve. To achieve the MSR goal, requests maybe fail should not get response to release resources for other requests with high success probability. If the provider gives response to a request, but it executes failure for some reason, it is a waste response for provider that no one gets profits from this execution. The provider should try to avoid this situation. By deep analysing service request’s historical similar requests, the provider should get the success rate of request’s historical similar requests, and get the success probability of target requests. Then request has highest success probability will be scheduled to execute.2> Put forward a runtime model for composite service based on petri net.Composite service will get the same problem as atomic service that maybe some sub services receive much more request than its capabilities in real-time SOA runtime. Multiple composite services may request the same atomic service to execute at the same time and they get conflicting. To solve this problem, a composite service runtime model is needed to construct. For petri net is very suitable to express these concurrent time constrained system, we give a dynamic colored timed petri net (DCTPN) to describe real-time SOA runtime base on petri net model. In DCTPN, places indicate services, transitions indicate service execution, and service execution reservation will be expressed by arc. Arcs join and removal express services composite continuously. Computation rules of DCTPN will be introduced in this paper, and some characteristic such as reachability, boundedness, firing, schedulability and conflict will be discussed too. 3、 Put forward a composite service scheduling algorithm based on DCTPN.In this chapter, we will show scheduling algorithms for composite service. These algorithms include service reservation algorithm (SRA), conflict monitor algorithm (CMA), random conflict solving algorithm (RCSA), key services searching algorithm (KSSA), etc. SRA and CMA are used to detect the conflict early. KSSA decompose the deadline of composite service into sub service deadline. RCSA try to solve conflicts by changing service’s start time, deadline randomly. Those conflicts which could not be eliminate, will be discarded with some strategies. Strategies include most conflict discard, key conflict discard and composite service finish degree discard.4、 Put forward a real-time SOA model for distributed automation system.With the characteristics of distributed control system, we proposed a layered real-time SOA model including Physical Layer, Message Layer, Service Layer and Application Layer. Service Scheduler Center (SSC) is the core of Service Layer. It includes several controller as service utilization scheduler, service configuration&manager, admission security control. These controllers work collaboratively. In message layer, we show a multiple network transform strategy, and give deep discuss in message format, message scheduling, etc. Finally, we show a prototype application base on the real-time SOA model.
【Key words】 Real-time SOA; Service scheduling; Petri; Similar requests; Service reservation;