论文部分内容阅读
以SaaS方式交付的软件服务正成为越来越多企业的选择。多租户技术,作为SaaS应用其中一项核心技术,该技术的运用使得多个租赁相同或类似软件服务的租户可以共用一个软件实例,提高资源的共享程度,降低SaaS服务提供商的支出。目前,用于支撑SaaS应用数据服务,需要实现多租户技术的多租户数据库面临着两个问题。第一、租户自定义数据的存储问题;第二、如何满足租户复杂存储需求的问题。这两个问题亟待得到解决。 本文通过提出一个多级块折叠表数据模型解决租户异构自定义数据存储问题,通过提出一个基于数据模型热转换技术的多租户数据库框架解决满足租户复杂存储需求的问题。本文的主要工作以及成果包括以下几点。 首先,本文对现有的若干种可共享存储租户自定义数据的数据模型进行了介绍、对比以及分析,对块折叠表数据模型进行了拓展,提出了一个多级块折叠表数据模型。 然后,本文提出了一个基于数据模型热转换技术的多租户数据库框架,该框架可根据租户的复杂存储需求,使用数据模型热转换技术,合理完成租户数据的的放置以及租户数据在不同数据模型数据表间的迁移。框架的核心是本文提出的一个数据模型转换策略。该策略可根据租户细粒度的存储需求,为租户挑选合适的数据模型。为完成租户数据在不同数据模型数据表间的迁移,本文提出了一个适用于不同数据模型的数据热迁移方法。该方法可在不同或相同的数据模型数据表间迁移租户数据。方法为需要迁移的数据设置迁移标记状态,在顺序迁移租户数据的过程中,根据迁移状态处理租户的查询请求,使得迁移过程中数据库依然可用。 最后,本文以一个SaaS多租户课程平台的课程管理功能为背景,对本文提出的多级块折叠表数据模型,适用于不同数据模型的数据热迁移方法以及基于数据模型热转换技术的多租户数据库框架设置并完成了实验,验证了其有效性。 本文提出的基于数据模型热转换技术的多租户数据库框架对于多租户数据库的搭建具有一定的指导意义。