Jackrabbit以MongoDB为底层存储系统架构的设计与应用

被引量 : 3次 | 上传用户:nie492195407
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网的普及和计算机科技的迅速发展,造成了大量网络数据的堆积,这些海量数据信息包括结构化数据和非结构化数据,对这些异构海量数据的存储和管理已经成为一个不可忽视的问题。目前,内容管理系统厂商可以通过Java内容仓库标准规范接口以中立的方式访问各自的内容仓库;然而目前Java内容仓库标准规范的底层存储介质还不支持MongoDB等NoSQL数据库。在这样的环境背景下,本文研究并分析了Apache Jackrabbit的内部组件,其能支持的底层存储介质,对底层存储的封装过程,以及如何使用MongoDB构建高可用的分布式集群。在Jackrabbit封装MongoDB的设计中,Jackrabbit中节点及其属性的信息和小的二进制文件存放在PersistenceManager里,大的二进制文件存放在DataStore中。所以对于PersistenceManager的封装采用直接存储在MongoDB BSON文档中,而对于大的二进制文件的存取采用MongoDB中GridFS存储机制解决封装Datastore的问题。通过测试来确定大小二进制文件的分界点,以便于系统能够获得最佳的存储性能。封装MongoDB后的Jackrabbit系统架构改善了使用Java内容仓库规范接口对海量数据高效存储的性能。MongoDB采用Sharding和Replica Set技术的结合构建了高可用分布式集群。分布式集群使系统具有高可用性,扩展性以及灵活性。分布式集群中设置了三个mongos路由服务器,三个配置服务器,三个shard分片,每个shard分片中都是一个Replica Set副本集。在每个副本集中配置了一个主节点,一个副节点和一个仲裁节点。副本集中如果主节点挂掉,则由仲裁节点根据Bully算法选举出一个副节点作为主节点继续提供服务。并且数据的写操作只作用在主节点上,而副节点也可以提供数据读操作,这样就实现了数据的并发读写。如此搭建的分布式集群可以通过增加分片的个数来提高系统的存储能力,增加副节点来提高系统的可靠性。文章主要内容包括Jackrabbit封装MongoDB的具体设计与实现以及封装MongoDB后的Jackrabbit底层存储架构在高校网站内容管理系统中的应用。第一章主要概述了本文研究内容的来源和研究的科技发展背景。第二章主要对本文内容研究中用到的核心技术作了简单介绍。第三章主要说明了系统架构的需求分析。第四、五章是本论文的重点章节,详细描述了Jackrabbit对MongoDB的封装过程,和封装中使用到的核心接口,还有封装后的系统架构在高校内容管理系统中的应用。第六章是对本文的总结和下一步工作的展望。
其他文献
随着经济全球化和贸易自由化的飞速发展,国际贸易与国际劳工标准问题越来越成为国际贸易领域关注的焦点之一。文章通过分析国际劳工标准对我国外贸产生的正反两方面的影响,在
信息时代的到来和软件产业的蓬勃发展,使得各类软件企业的发展规模不断壮大。软件企业在面对其软件产品的规模及复杂度与日俱增的情况下,通过引入复用思想,在帮助提高生产效
对福建柏和杉木的凋落物分解和N、P、K养分动态进行了为期 75 0d的研究 ,结果表明 :两树种的落叶和落枝分解速率与时间呈指数关系 ,第 1年干重损失率分别为 83 4 7%和 19 4 3
目的研究黄连、黄芩、大黄三味中药不同提取方法及不同配伍对牙周炎主要致病菌的抗菌疗效。方法采用醇提和水提两种制备方法提取不同配伍中药,采用体外液稀释法测定细菌敏感
对菌根的作用及其荒漠化对其影响 ,以及菌根在荒漠化土地恢复中的应用进行了探讨 ,指出菌根不仅能够促进植物个体养分的吸收 ,提高植物光合作用 ,增强植物抗旱、抗盐性 ,而且
介绍了现代家具的四大基本特性,即功能性、艺术性、工艺性和经济性,并根据家具这一工业产品的基本特性讲述了几种适用于家具的营销策略。
研究生血宝颗粒治疗缺铁性贫血的药理作用基础。采用低铁饲料饲养加失血方法制备大鼠缺铁性贫血模型,以硫酸亚铁所含铁元素为标准,使生血宝颗粒各组含有与硫酸亚铁组等量的铁
为提升人工影响天气地面作业数据收集上报的时效性和准确性,解决高射炮和火箭作业信息完全依赖人工采集录入的瓶颈,该文基于声学探测技术,利用地面作业数据采集传输仪对我国
区域游戏活动是幼儿园实现教育目标的重要途径,是教师根据幼儿的发展水平、实际需要,有目的、有计划地投放材料的过程与幼儿自主选择、操作与摆弄材料的过程融合起来进行的。