论文部分内容阅读
云计算作为一种新的计算范式在商业上取得了巨大成功,软件即服务(Software as a Service)已经成为云计算对外提供服务的重要形式,而数据存储模式映射机制是实现多租户SaaS应用的重要支撑技术。在传统的扩展表模式映射机制中,SaaS应用数据的公共部分存储在基本表中,使数据存取可以获得较高的存取效率,租户对SaaS应用数据的扩展部分存储在扩展表中,使应用数据具有较好的可扩展性,但数据查询和更新等操作的复杂性一定程度上影响了SaaS应用的性能,该数据存储模式映射机制仍然存在一定的优化空间。独立软件供应商无论如何优秀也无法在设计SaaS应用时一蹴而就,随着租户对SaaS应用的长期使用,在使用过程中还需要根据租户的实际需求对SaaS应用进行必要的版本升级。一旦新版本的SaaS应用要上线运行,租户应该可以灵活的选择使用旧版本的SaaS应用还是新版本的SaaS应用,在选择新版本的SaaS应用时应该能够实现在线升级而无需宕机升级,这就要求SaaS应用数据存储模式映射机制的设计还应该支持版本演化。为此,本文中我们提出了一种聚类分组扩展表多租户数据存储模式映射机制,利用租户之间模式和数据之间存在的相似性进行聚类分组的技术方法对扩展表映射机制进行优化,进一步提升了SaaS应用的存储效率和性能。同时,本文对如何在这种多租户数据存储模式映射机制下实现对多版本SaaS应用的管理进行了研究讨论。本文主要工作如下:(1)在SaaS应用多租户数据存储模式方面开展相关研究,在扩展表映射机制的基础上进行改进。针对扩展表等模式映射机制进行深入分析,利用各租户存储模式和数据之间存在的相似性等特点,采用根据相似性进行聚类分组的技术方法对模式映射机制进行优化。在满足可扩展性和可伸缩性要求的基础上,使SaaS应用在存储空间和应用性能方面得到进一步提升。(2)随着大量租户对SaaS应用的长期使用,在使用过程中还需要根据租户的实际需求对SaaS应用进行必要的版本升级。本文对SaaS应用版本升级的需求及其对SaaS应用设计开发带来的新问题进行了深入分析,对如何在这种多租户数据存储模式映射机制下更好的支持多版本SaaS应用进行了研究讨论。