论文部分内容阅读
利用智能仪器计算资源进行测试数据本地化处理的方法在网络化测试领域的应用越来越多,相较于集中式处理方法,该方法能极大地提高数据处理实时性、降低测试数据传输量,从而减小网络带宽压力,减轻测试主机工作负担。网络化测试系统具有分布性和异构性,要想在保证系统稳定可靠的前提下充分发挥智能仪器有限的本地计算能力,高效协同完成系统工作,必须合理组织、高效管理各仪器资源,根据资源状态和任务特点进行任务分配。基于上述需求,本文设计并开发了完整的计算资源管理调度系统。在广泛调研国内外网格计算和云计算领域著名资源管理调度方案的基础上,本文提出了网络化测试资源管理系统层次化的体系结构:按照功能和开发对象将其从上到下依次划分为用户层、资源管理调度层、虚拟资源层和物理层。其中资源管理调度层是系统核心,起到承上启下的作用,使得用户层和虚拟资源层相互透明。用户层具有资源查询和任务请求功能;资源管理调度层负责资源管理、任务调度,并提供任务分解归并功能;虚拟资源层主要完成智能仪器资源信息的提取、汇报及任务处理工作。各层节点之间通过开源的Zero MQ消息队列以统一的接口形式高效、可靠地进行信息传递。本文将网络化测试系统中所有智能仪器的计算资源抽象成一个虚拟资源池,进行统一管理。资源管理系统具有如下功能:对系统中各智能仪器的CPU、内存、网络带宽等资源进行统一描述,将资源信息存储于MySQL数据库中,并进行实时动态更新,能及时感知到智能仪器随机加入、主动或被动退出系统的动作并采取相应措施,且根据资源描述信息定位到实际的智能仪器节点,为用户提供较为灵活的资源查询功能。借助管理系统提供的全局资源状态信息,本文设计并开发了资源调度系统。该系统支持任务并发,可随时接收来自用户的任务请求,以统一的任务描述形式将其加入任务队列中。系统以先来先服务(FIFO,First In First Out)的规则从任务队列中选择任务,按照可行性和本地性原则将任务调度到待处理数据所在的可用资源节点上,并实时监测任务执行状态。此外,本文还设计了负载均衡及故障恢复机制,用以提高系统稳定性和可靠性。为解决测试数据在空间位置上分散,在处理逻辑上集中的矛盾,本文设计了任务分解归并系统。分解模块根据数据空间分布位置的不同将用户提交的数据综合处理任务分解成若干子任务,建立原任务与子任务的对应关系,并将子任务集提交给资源调度系统实现任务分配;归并模块定期查询子任务执行状态,当某个原始任务的最后一个子任务结果达到后即刻对该原始任务的所有子任务结果进行归并处理,得到最终计算结果。最后本文设计了实验平台,经验证,该资源管理调度系统功能完善、扩展性好、并发性强、稳定高效。相较于集中式处理模式,该系统能极大地提高测试数据处理实时性及智能仪器资源利用率,减少网络带宽压力,降低控制主机工作负载。