论文部分内容阅读
随着云计算技术的发展,SaaS运营模式开始逐渐被企业所采用。当前SaaS模式的网络管理系统的研究还不够成熟,并且现有的基于关系型数据库的数据层方案不但在存储容量方面,而且在可定制性和时间性能方面已不能满足租户的需求,因此急切需要一种更好的方案来实现SaaS网管系统的数据层。本文研究SaaS模式下网络管理系统的多租户数据管理问题,主要围绕以下3个方面展开研究:(1)针对SaaS网管系统如何随着租户规模的变化而进行弹性伸缩存储问题,基于Walraven等人提出的多租户架构思想,扩展典型的云应用架构,设计了一个基于SMTDM的多租户数据管理框架,实现了可伸缩存储。并基于该框架对SaaS网管系统多租户数据的可伸缩存储进行了设计,验证了其有效性。(2)研究SaaS网管系统的数据隔离和定制化机制。对比传统的关系型数据库,对非关系型的MongoDB数据库下的三种数据隔离模式进行详细研究,即独立数据库、独立Schema和共享Schema模式。在考虑SaaS网管系统需求的基础上,本文采用共享Schema的数据隔离模式。并分析了Mongo DB下多租户数据定制化的高效性。(3)对SaaS网管的数据层进行详细设计和原型系统的实现。基于对SaaS网管系统多租户数据的可伸缩存储机制、数据隔离和定制化机制的研究,以及SaaS网管系统数据层的需求分析,分别基于MySQL数据库和MongoDB数据库对SaaS网管的数据库和表进行详细的设计和实现。并进行了对比实验,验证了MongoDB数据库的并发插入操作速度要比MySQL快6倍。最后,进行了SaaS网管原型系统的开发实现。