论文部分内容阅读
随着大数据的来临,网络技术和数据管理技术的快速发展,不同的行业,不同的部门都积累了大量应用和数据等资源。位于CERN的大型强子对撞机上的CMS实验,每年产生6PB的数据的同时将新累积1TB的元数据。数据量大,类型多,数据之间的关系复杂,这就意味数据的索引元数据信息也越来越多,为用户提供相同数据的不同角度的索引,因此,研究与开发性能高效的、界面友好的查询系统,帮助物理学家发现感兴趣的信息是非常重要的研究课题。 论文详尽分析了物理学家需求,研究了在CMS实验的异构分布式的网格环境下,改进用户数据发现方式的解决方案,提出了一个数据发现模型,并基于此模型设计和实现了CMS实验的数据发现框架。该框架的核心是一个面向数据聚集的缓存中间层,它将来自用户的基于实体的关键词查询映射为一系列的面向现有数据服务的API调用,通过对获取数据的聚合提供给用户一个准确的查询结果。本文重点关注了其中的关键词查询到结果的映射、缓存系统的优化和数据服务API的补充三个关键问题。论文主要有以下贡献: (1)针对用户对CMS实验领域内实体的理解,提供一个基于实体的查询语言,将用户的数据发现转化为依据实体间关联的查询。将数据服务的API表示为实体间的关联节点,同实体一起构成了一个实体关系图。用户的数据发现最终变成了在该实体关系图上的路径查询。 (2)对用户的历史查询进行了统计分析,提出了基于历史统计的缓存策略,提高缓存的命中率,改进用户的查询体验。并且在提高用户查询效率的同时,降低对数据服务的开销。 (3)针对核心元数据服务(存储方式为关系型数据库)结构及查询方式复杂的情况,提供了一个关键词的查询接口,它可以为数据聚集工作提供丰富的API。针对提供关系数据库之上的关键词查询的问题,采用了模式图查询来将关键词查询翻译为SQL语言的解决方案,提出了两个算法:模式图的分析算法(可以应对模式图的更改)和连接动态生成算法。 论文基于提出的数据发现框架,实现了一个CMS实验的数据聚集系统,该系统现已提供给上千的物理学家进行数据查询服务;设计和实现了该数据聚集系统的分析服务器,应用基于历史统计的缓存策略,命中率可以达到90%以上。实现了一个关系数据库的关键词查询系统,并在CMS实验的数据库上进行了部署实验。同时,将其作为插件为CMS实验关键元数据服务(DBS)提供了关键词查询接口。经测试,对于相同的查询,该查询接口和常规的查询API相比没有性能上的损失。