论文部分内容阅读
随着信息技术、网络技术的发展,社会进入全球互联网络时代,这对于传统的实时系统应用提出了互联、互通、可扩展性等新的要求。与此同时,为了满足大规模分布式系统应用的构建,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根据系统需要完成原子服务的管理、配置,及组合成更高层次的服务。在实时消息层,提出了基于多网络同步传输的实时消息总线模型,提供多网络并发传输、多消息分类调度、消息格式化等消息服务。基于该模型构建了原型系统应用。