论文部分内容阅读
大亚湾反应堆中微子物理实验离线分析软件原使用Gaudi框架为核心。经过一段时间对Gaudi的使用后,发现用于对撞机物理的Gaudi框架并不适用于反应堆物理。主要问题是:运行效率低、使用困难、实现物理模块代码量大。我们发现Gaudi支持的功能很少--主要是缺少增、删、改、查功能,以及不能很好的支持面向对象思想。于是,我们着手研究开发新的物理分析软件框架,将它用于反应堆物理实验分析和暗物质物理实验分析。测试表明,新框架可以胜任这些要求。
新型分析框架的核心是持久层框架。为了找到合适的持久层框架,我们曾经尝试了两种方法:使用传统数据库,或使用ORM(object relationship-table mapping)框架。但是这两种方法也不能满足我们的需求。其中,ORM框架比Gaudi和传统数据库都要好,基本符合需求,但是它不能适用于海量数据处理。而大亚湾反应堆中微子物理离线分析软件需要处理TB级的数据量。故ORM框架和传统数据库也不合用。
最终,我们决定开发新型的通用持久层框架。以云存储为底层,用ORM思想,和对象序列化接口,三者的优点相结合。开发出首个“对象/键-值对存储池映射”框架,即OPM(objectkey-value pair mapping)。经过测试,OPM在功能、速度、易用性、和总容量四方面均大大胜过工业界通用软件hibernate。
本文前半部分以大亚湾离线分析软件系统工作为例,说明OPM框架的使用方法,比较了OPM框架和Gaudi框架以及hibernate框架。本文后半部分讲解了OPM的部分实现细节。