论文部分内容阅读
分布计算技术、计算机技术及网络技术的飞速发展,使以网络互连形成的分布式系统的应用日益广泛。网络化测控技术与具备网络功能的新型仪器为组建分布式测控系统提供了优异的技术条件。分布式测控系统对于完成复杂、远程(异地)和范围较大的测控任务具有良好的优越性。任务调度是分布式测控系统中的一项关键技术,而任务迁移是其核心内容之一。本文针对分布式测控系统任务的特点,对任务调度展开研究,提出了新的任务调度方法,从而有效地提高了系统效率,实现了负载均衡的目标。 本文首先对分布式测控系统中各状态可以预知的测控任务进行了研究,提出了一种基于遗传算法的分布式测控系统静态任务分配与调度算法。在分布式测控系统中,实现最优的静态任务分配与调度是一个 NP 完全问题,遗传算法能有效地求解此类问题。分布式测控系统静态任务分配与调度算法实现了全局优化搜索,不仅保证了任务的相关性,而且保证了任务分配与调度方案的最优。文中论述了分布式测控系统静态任务分配与调度中任务粒度与系统性能的关系。 在分布式测控系统中,更大量测控任务的产生与运行是不可预知的,每个节点的负载大小是动态变化的。本文提出了两种分布式测控系统动态任务调度算法,算法根据系统当前各节点机的负载状态,动态地调度任务,使任务尽可能地并行执行,提高了系统效率,达到了负载均衡的目标。 为了有效地实施动态任务调度,需要对分布式测控系统中的每一个任务进行命名与定位。即:为每一个任务分配一个名字,用以唯一的识别它们,并且当某一个任务被调度到其它机器上去运行时,能够根据名字准确地定位其任务。本文基于面向对象技术提出了一种新的、全局的、与位置无关的类对象命名法 CON,实现了对分布式测控系统任务的命名与定位,并且采用 Java 语言实现了该方法。 分布式测控系统动态任务调度算法实现的前提是有效地获取各节点机的负载状态。本文对分布式测控系统各节点机的异构性特点进行了深入地研究,提出了一种新的负载状态指标:Load=<LoadC,LoadM>。根据该指标,可以判定各节点机的负载状态。本文通过一个负载监控程序来获取和计算主机的负载状态指标。 Java 技术具有简单性、分布性、安全性、面向对象、体系结构中立、可移植性、多线程机制等一系列特性。本文在对 Java 技术进行深入研究的基础上,提出了一种分布式测控系统动态任务调度算法。该算法利用 Java 的对象序列化机制、多线程机制、RMI 技术,实现了将重载机上的任务迁移至轻载机上执行,从而根据系统当前各主机的负载状态,动态地调度任务。文中对 Java 安全体系结构进行了分析,说明Java 有能力为迁移任务提供安全保障。