论文部分内容阅读
北京谱仪Ⅲ (BESⅢ)高能物理实验产生PB量级的实验数据,海量数据的处理和分析对计算资源和存储资源提出了强大的挑战。为此,中科院高能物理研究所于2011年开始搭建BESⅢ分布式计算环境,以整合异构计算资源,解决现存资源短缺的问题。BESⅢ分布式计算通过元数据检索千万数量级的分布式文件。为了有效管理和使用元数据,实现对所需文件存储地址的定位,本文对元数据管理进行了研究。主要研究内容如下:(1)根据BESⅢ实验和用户需求,综合考虑分布式计算的整体结构和系统性能等因素,得出系统的基本功能需求。根据功能需求,对文件的元数据模型及系统的整体架构进行设计,并基于中间件软件,采用树型目录结构、动态构建物理文件名和虚拟数据集等技术实现了系统的各功能模块。该系统已被应用于实验数据分析和处理,测试结果表明其性能能够满足实验需求。(2)针对用户对文件的访问具有区域集中性的特点,提出了一种基于MySQL的内存存储引擎提高元数据查询性能的方案。该方案将拥有较高访问量的热点元数据冗余地存储在内存表中。然后根据查询条件和内存表数据的有效性,使热点元数据的查询在内存表中进行,以减少磁盘读写时间。实验结果表明,该方案能在一定程度上提升元数据查询的性能。(3)提出了一种双元数据库高可用性设计方案,以解决元数据库单点故障,提升元数据库的可用性。该方案利用MySQL的复制功能搭建双元数据库主主复制结构,同时采用主主复制管理工具实现元数据库的工作状态监控和故障切换,并利用虚拟IP技术和最少连接优先策略使用户读、写请求分别访问不同元数据库,以达到均衡元数据库间负载的目的。功能测试结果表明该方案的各部分功能良好,可以应用到实际中。