硕士学位论文面向SAAS应用的多租户数据管理系统研究与实现RESEARCHANDIMPLEMENTATIONOFMULTI-TENANCYDATAMANAGEMENTSYSTEMFORSAASAPPLICATION罗日新哈尔滨工业大学2012年6月国内图书分类号:TP315学校代码:10213国际图书分类号:004.45密级:公开硕士学位论文面向SaaS应用的多租户数据管理系统研究与实现硕士研究生:罗日新导师:臧天仪教授申请学位:工学硕士学科:计算机科学与技术所在单位:计算机科学与技术学院答辩日期:2012年6月授予学位单位:哈尔滨工业大学ClassifiedIndex:TP315U.D.C:004.45DissertationfortheMasterDegreeRESEARCHANDIMPLEMENTATIONOFMULTI-TENANCYDATAMANAGEMENTSYSTEMFORSAASAPPLICATIONCandidate:LuoRixinSupervisor:Prof.ZangTianyiAcademicDegreeAppliedfor:MasterofEngineeringSpeciality:ComputerScienceandTechnologyAffiliation:SchoolofComputerScienceandTechnologyDateofDefence:June,2012Degree-Conferring-Institution:HarbinInstituteofTechnology哈尔滨工业大学工学硕士学位论文-I-摘要随着云计算技术的发展,软件即服务(Softwareasaservice,SaaS)作为一种新型的软件交付模式被提出。SaaS模式丰富了应用软件的使用方式。人们无需再自己架设服务器、购买软件授权、部署和维护软件应用的方式来使用软件。SaaS模式下,客户按照自己的需求从软件服务提供商处租赁服务,通过互联网的方式来使用软件。SaaS软件应用通过单一实例来为多个租户提供服务。各个租户之间所存储的数据模式形态各异,租户间的业务需求多种多样,相同需求下的应用存在着参数和流程的不同。本文主要对SaaS应用中多租户数据的共享存储和面向不同租户的业务流程定制进行了研究,开发了面向SaaS应用的多租户数据管理系统,在脑卒中的电子健康档案管理系统中进行了验证,并通过实验进行了分析。具体工作包括如下几部分:分析了SaaS应用开发过程中数据管理的模型,提出了面向SaaS应用的多租户数据管理分层模型,通过租户无关的应用数据模型为开发者屏蔽了多租户数据管理的具体实现。针对数据管理分层模型中底层数据的存储,分析了SaaS应用中多租户数据的存储机制和数据扩展模型,提出了多通用表的数据存储方式和基于键值对的数据模式定制方法。研究了租户对业务个性化需求,提出了基于配置描述符的流程定制方法。通过配置描述符来描述应用程序模板中的可配置部分,并可以通过选择相应的值来进行配置。基于配置描述符,提出了定制流程模型生成方法,用来指导客户的业务定制。最后,本文设计并实现了面向SaaS应用的多租户数据管理系统,并将该系统应用于脑卒中电子健康档案管理系统的开发。实验结果表明该数据存储模型有着较高的存储密度,能够有效地支持租户的数据模式的定制。数据的整体查询和写入有着较好的性能。关键词:SaaS;多租户数据管理模型;多租户数据存储;业务定制;哈尔滨工业大学工学硕士学位论文-II-AbstractWiththedevelopmentofcloudcomputingtechnology,softwareasaservice(Softwareasaservice,SaaS),havebeenproposedasanewsoftwaredeliverymodel.SaaSmodelhasenrichedapplicationsoftwareusagemode.Peoplenolongerneedtosetuptheirownserver,purchasesoftwarelicenses,deploymentandmaintenanceofsoftwareapplicationstousethesoftware.InSaaSmodel,customersusesoftwarethroughtheInternetaccordingtheirownneeds,whichisleasedfromsoftwareservicesprovider.SaaSsoftwareapplicationsservemultipletenantsbyusingasingleinstance.InSaaSapplication,varioustenantshavetheirowndatamodel;differenttenantshavedifferentbusinessrequirement;some-timestenantshavethesamerequirementfortheapplications,butthereexistthedifferentparametersandprocessesbetweentenant’sapplications.Inthispaper,sharedstorageformulti-tenantSaaSapplicationdataandbusinessprocesscustomizationfordifferenttenantsareresearched;multi-tenancydatamanagementsystemforSaaSapplicationaredesignedanddeveloped.Wedeveloptheelectronichealthrecordsmanagementsystemforintracerebralhemorrhagepatientbyusingthemulti-tenancydatamanagersystem,andverifythequeryefficiencythroughexperiments.Specificworkincludesthefollowingsections:AnalysisofthedatamanagementmodelinSaaSapplicationdevelopmentprocess,ahierarchicalmodelofdatamanagementformulti-tenantSaaSapplicationsisproposed.Themodelshieldstheconcreterealizationofthemulti-tenantdatamanagementbytenantindependentdataaccessmethod.Fortheconcretedatastoragewayofthemulti-tenancydatainthehierarchicalmodelofdatamanagement,weanalyzedatastoragemechanismandtheextendedmodel,adatastoragemethodbasedonmulti-universaldatatableandtenantdatamodelcustomizedapproachbasedonkey-valuepairdatamodelisproposed.Inordertosatisfythetenant’sindividualrequirements,processcustomizationmethodbasedonthevariabilitydescriptor.Weusevariabilitydescriptortodescribetheconfigurationsectionintheapplicationtemplate,anditcanbeconfiguredbyselcetingalternativevalues.Basedonthevariabilitydescriptor,agenerationmethodofcustomizationprocessesmodelwhichcanguidebusinesscustomizationisproposed.Atlast,thepaperdesignsandimplementsthemulti-tenantdatamanagementsystemforSaaSapplication,andweusethesystemusedtodevelopelectronichealthrecordsmanagementsystemintracerebralhemorrhagepatient.Experimentalresultsshowthatthedatastoragemodelhasahighstoragedensity,caneffectivelysupportthecustomizationofthedatamodelofthetenants.Thedataqueryingandwritinghasabetterperformance.哈尔滨工业大学工学硕士学位论文-III-Keywords:SaaS,Multi-tenancyDataManagementModel,Multi-tenancyDataStorage,BusinessCustomization哈尔滨工业大学工学硕士学位论文-IV-目录摘要.......................................................................................................................IAbstract...................................................................................................................II第1章绪论.............................................................................................................11.1课题来源及研究目的与意义.....................................................................11.1.1课题来源..........................................................................................11.1.2课题研究目的与意义.......................................................................11.2课题相关技术的国内外研究现状.............................................................21.2.1SaaS模式..........................................................................................21.2.2SaaS软件成熟度模型.......................................................................41.3SaaS应用中数据库架构方案.....................................................................61.3.1独立数据库架构方案..........