SaaS应用交付平台中多租户云数据管理关键技术研究

来源 :山东大学 | 被引量 : 0次 | 上传用户:voyager4032
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着云计算的发展及应用软件的成熟,软件即服务(Software as a Service,SaaS)作为云计算的一种应用形式,越来越受到重视,已逐渐成为中小企业应用先进技术的重要途径。SaaS应用交付平台推动了SaaS模式的蓬勃发展,越来越多的个人或机构通过SaaS平台租赁各种形式的应用,这些应用正在覆盖人们生活的各个领域,通过应用及应用之间的协同工作,完成搜索、事务管理以及分析等。目前,成熟的SaaS服务提供商多采用一对多的软件交付模式,成千上万租户共享一个应用,业务数据存储在服务提供商的共享数据库中,最终用户感受不到所使用的实例在同一时间也为其他客户所共享。支持租户定制的多租户共享存储架构,实现了从操作系统到数据结构等各个级别的资源共享,充分利用了硬件、数据库等资源,然而单个节点所能支持的租户数量受到硬件限制,当租户需要更多存储空间和更高服务质量时,需要采用升级硬件的方式实现,难以实现规模的动态扩展。随着SaaS交付平台租户数目及信息数据量呈几何曲线性增长,SaaS交付平台数据管理正处于由单数据节点往云中多数据节点转变的必然阶段,而相应地对SaaS应用交付平台数据管理能力的期望值也越来越高。本文致力于SaaS应用交付平台中多租户云数据管理关键技术的研究,目标在于最大限度地支持快速开发与交付,保障SaaS应用多租户的高效运行。SaaS应用交付平台多租户云数据管理具有自身的特点,现有云数据管理方法不能有效解决以下问题:(1)SaaS平台租户数据弹性扩展问题。SaaS应用交付平台涉及到大量的SaaS应用,各应用业务领域不同,数据模式必然千差万别;每个SaaS应用拥有众多的租户,租户在同一应用下的模式类似,但业务又不尽相同;即便是同一租户在不同的发展阶段,数据模式也会有各自的特点。因此,平台要支持数据存储模型的弹性扩展,同时,还要解决因为数据管理复杂度的增加而导致的性能下降问题,保证应用的高效运转。(2)现有云数据放置策略未引入SaaS特征。面对SaaS交付平台的海量数据,云数据库分配云中的多个数据节点为其提供服务,所有SaaS应用所有租户的数据作为一个整体被分割放置到各个节点上,由于SaaS平台租户共享存储的特点,云数据库无法根据数据模式对其进行虚拟化,租户做为独立个体的特征往往被忽略,从而导致多租户数据的混合放置以及单个租户数据的分散,增加了租户数据访问及应用之间数据共享的代价,因此,需要在云数据管理中引入平台租户数据的特征,才能有效进行SaaS平台数据分割及云数据管理的弹性伸缩。(3)缺少多级别、细粒度的SaaS平台租户索引支持。现有的云数据管理机制针对每个用户建立一个虚拟数据库,意识不到SaaS应用交付平台中的应用租户,无法精确的定位到租户数据节点上;同时,在租户数据共享存储的局部节点上,传统的索引机制已经失效,无法提供有效的租户逻辑索引,使得租户的随机数据操作变的困难。本文以SaaS应用交付平台中多租户云数据管理为目标,对SaaS平台数据模型、云中放置策略、租户索引等进行了深入研究,主要贡献概括如下:1.提出一种SaaS平台多租户虚拟化方式及高效映射转换的数据分层模型,通过租户无关的应用数据模型为开发商屏蔽多租户云数据管理技术细节,通过租户逻辑模型支持租户按需定制数据模式以及各业务系统数据之间的共享关系,通过逻辑存储模型为平台运营商屏蔽了云中数据节点伸缩技术,解决了SaaS应用生命周期云数据管理技术瓶颈问题。针对SaaS平台“共享数据库、单实例多租赁、多数据节点”的需求,以及SaaS应用开发存在技术瓶颈的问题,本文建立了SaaS平台多租户虚拟化模型及数据分层模型,支持开发商面向标准SQL(Structured Query Language)编程,由平台支撑SaaS应用的按需定制及运行,能有效支持租户自主定制,数据统一管理,方便应用之间的数据共享,数据权限模型管理以及事务管理,也方便保证平台数据节点在云中的伸缩。通过原型系统验证,该多租户虚拟化模型及分层数据模型具有较高的独立性,支持开发商使用标准SQL编程;通过模式映射感知多种多租户共享存储方式,并根据元数据在各多租户存储模型之间进行切换;支持数据节点的弹性伸缩,为SaaS交付平台提供了友好数据访问模式、高一致性、高可伸缩性、高可用性。2.提出一种多稀疏表与键值对相结合的多租户数据逻辑存储模型,以及支持租户多级定制的元数据存储模型,从根本上解决了稀疏表定制能力受限以及数据操作粒度较大的问题,降低了元数据的冗余存储,简化了租户定制过程,增强了租户按需变更能力,同时,该逻辑模型便于进行数据的分割与放置,为租户数据在云中的存储奠定了模式基础。本文针对多租户共享存储模式下数据稀疏,进而导致存取性能下降的问题,以及租户定制能力受限、定制数据冗余存储的问题,通过划分多个稀疏表,提高了稀疏表的密集程度,避免了SaaS平台稀疏表中众多空值导致的存储空间浪费、存取性能下降及关系连接效率不高的情况,通过键值对的扩展存储机制提高了租户存储模型的定制能力,通过元数据的多级存储模型,解决了元数据冗余存储的问题,同时提高了定制效率。通过SaaS平台描述的租户信息,方便建立元数据驱动的数据分布策略。实验结果表明,本方案在用户视图列数呈正态分布的情况下,数据密集程度平均提高20%,关系连接效率随着元组数量增大而显著提高;定制数据冗余存储减少达56.7%,是一种行之有效的存储模型。3.提出一种面向SaaS应用交付平台的云中多租户数据分割模型及动态同步迁移策略,解决了共享存储模式下无法识别SaaS应用租户,难以使用快照、日志等数据库技术进行租户数据迁移的问题,通过SaaS平台数据层面的同步迁移策略,完成租户数据的动态移植,保证云中各数据节点的负载均衡及良好的用户体验。在云中为SaaS平台创建一个虚拟数据库,租户数据共享存储,使得云数据库无法以SaaS应用租户为单位进行数据管理,如分割、迁移、备份等。为实现数据节点的弹性伸缩,本文基于租户个体数据量较小,总体数据海量的特征,通过SaaS平台元数据驱动的租户数据分割机制,保证租户事务性操作能在单个数据节点完成,尽最大可能避免了分布式事务的处理;从数据层面构建平台的数据迁移策略,通过独立的迁移进程移植租户数据,通过数据引擎对源节点和目标节点当前事务进行同步操作,降低了宕机时间和迁移负载,保证了云中数据节点的伸缩性以及平台的整体性能。实验结果表明,本方案在数据节点数据量达到阂值50%的情况下发起数据迁移,迁移过程中租户的访问请求未受显著影响,迁移后租户的访问代价降低,平台整体性能得到了提高。4.提出一种SaaS平台多级别、细粒度索引模型,通过SaaS交付平台租户的位置编码,迅速定位到租户所属数据节点,解决了云数据管理无法识别SaaS应用租户的问题;在租户数据节点上,建立了基于键值对模式的租户逻辑索引,解决共享表存储模式下租户索引失效、定制能力不足等问题,提高了平台数据服务的响应速度。针对租户数据尚无有效的多级别、细粒度的索引支持的问题,本文通过SaaS平台租户节点索引、租户逻辑索引、关系数据库物理索引三部分构成了租户多级索引模型。通过租户节点索引解决了无法随机访问相关数据节点的问题,通过租户逻辑索引满足了租户索引定制、隔离等需求,通过关系数据库物理索引为逻辑索引提供高效访问机制,保证了较高的查询性能。针对租户逻辑索引,本文提出一种基于键值对存储方式的租户逻辑索引机制,基于键值对存储方式,提出元数据驱动的映射表索引模型,该模型根据租户定制需求,为租户业务数据形成各自的索引元数据,通过元数据驱动实现了索引数据的隔离及定制效果;给出索引的维护策略,根据租户数据访问请求进行索引切片,以逐渐细化的索引切片作为数据访问的基本单位,快速返回租户结果集。实验结果表明,本方案在数据访问分布均衡的情况下,索引维护及数据访问具有较好的总体性能。
其他文献
目前收费的网络报大多是个性化的报纸,其支付方式主要有免费、付费、按数量收费等多种方式。网络报的收费环境、技术和市场逐渐变化,导致收费成为网络报的发展趋势。但目前国
针对煤层气井传统的固井水泥密度较大,在固井过程中产生较大压差,影响半径较大,且滤液成分矿化度较高,持续对储层产生伤害的问题,通过对比渤海钻探所使用的低密度固井水泥浆(
煤层气压裂返排过程中产出的煤粉影响煤层气解吸运移,易造成煤层渗透率的永久伤害,降低气井产气量。采用自主研发的压裂液裂缝返排实验装置,模拟一定煤粉粒径配比关系下,采用
新版《循环经济法》与《德国资源效率计划》是德国循环经济法律制度的主要组成部分,两者之间存在双向促进与互为依存的关系。2012年6月,新版《循环经济法》取代94版《循环经
<正>本期上架:《小狐狸买手套》[日]新美南吉/著周龙梅彭懿/译贵州人民出版社2008年6月出版一个孩子,总要慢慢长大,慢慢进入成人的世界,去领略人生的百般滋味。可是,假如他无
脂肪酶是一种重要的工业酶制剂,在脂质代谢中发挥着重要作用。它在食品加工、饲料、洗涤剂、制药、精细化工、有机合成、生物传感器和生物柴油合成等领域具有广泛的应用。由
基于主保护不平衡电流有效值的同步发电机励磁绕组匝间短路监测原理解决了依靠单一谐波检测所带来的一系列问题,能够最大限度地提取故障特征量。通过仿真计算,分析了该监测方
马克思哲学的形成建立在对费尔巴哈思想的扬弃基础上,因而理清两者的思想差异有助于更好地理解并廓清马克思思想的批判性维度及其基本视域。而目前国内在对费尔巴哈思想的研
针对淮南潘谢矿区新生界下含松散孔隙水与石炭系太原组石灰岩岩溶裂隙水水质接近的特殊情况,提出了基于GIS和水质水温的矿井突水水源快速判别方法。该法是利用测温钻孔的温度
数字出版是"云终端+云服务"移动学习的典型应用模式之一。如何实现资源的有效管理和高效共享,以满足海量资源下用户的个性化需求是数字出版领域中的核心问题。细粒度、对象化