用户名: 密码: 验证码:
面向SaaS应用的租户多级定制模型研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着经济全球化的发展,软件即服务(Software as a Service,简称SaaS)作为一种新的商业模式被提出。SaaS的出现彻底改变了人们对软件的观念,它将软件的所有权、基础设施的运营和管理由客户转向外部供应商,客户不直接拥有软件,而是通过Internet付费方式获得使用权。
     伴随着SaaS应用软件的多元化和SaaS租户的专业化,对SaaS软件的定制能力也提出了新的需求。首先,一个租户可能需要对所租赁的同一个SaaS应用定制出多个满足不同具体业务需求的应用系统,开启多个业务应用。然而,传统SaaS应用只能为租户的一次租赁维护一份定制内容。按照传统方式,租户需要租赁并定制多次。其次,租户对租赁的同一个SaaS应用所定制出的多个满足不同具体业务需求的应用系统之间存在很多共同的定制特征。多次定制时,会出现很多重复定制操作以及重复的定制元数据。基于此,新的SaaS应用应该实现对租户所租赁的一个SaaS应用的多份定制维护,满足租户内定制元数据的共享,减少重复定制,方便租户统一管理自己的机构、用户、角色、代码、业务应用、业务数据、费用等。
     本文首先解决的问题是对面向SaaS应用的租户多级定制模型的描述。作为SaaS应用的一种新定制模式,多级定制模型更符合当前SaaS应用软件多元化和SaaS租户专业化的发展趋势。多级定制模型不同于SaaS应用的传统定制模式,它能够实现租户内所组建定制的业务应用系统之间的定制元数据共享,减少重复定制,方便租户统一管理自己的机构、用户、角色、代码、业务应用、业务数据、费用等。
     接下来,本文的研究重点是对面向SaaS应用的租户多级定制模型的数据存储映射架构的实现以及针对该数据存储映射架构的查询优化机制的技术研究。数据存储映射架构是基于普通关系数据库来实现SaaS应用数据存储的关键,而面向SaaS应用的租户多级定制模型必须有相应的数据存储映射架构作为基础才能得以实现。另外,SaaS应用的查询性能是SaaS应用程序得以被用户认可的关键,在SaaS应用多级定制模型中,普通的数据查询优化机制不足以实现SaaS应用的性能优势,本文基于SaaS应用多级定制数据存储存储架构,对数据查询优化技术进行研究。
     本文主要的工作如下:
     1.提出面向SaaS应用的租户多级定制策略,定义了SaaS应用多级定制的形式化模型,并通过SaaS应用多级定制模型的数学分析来验证该模型的有效性,论证了该模型能够实现同一个SaaS应用在租户内所组建定制的业务应用系统之间定制元数据的共享,减少租户冗余的业务定制,方便租户对业务系统的定制管理。
     2.设计并实现SaaS应用多级定制数据存储映射架构。数据存储映射架构采用多租户共享架构模式,能够匹配常见的多租户数据映射模式,满足租户不同的业务需求,实现SaaS应用多级定制模型的数据存储。
     3.基于多级定制模型的特点,深入研究了多级定制数据存储架构下的数据查询优化机制,采用元数据传递闭包表策略,以及面向多租户的两级内存缓冲策略和基于租户缓存内替换代价模型的“查询代价最小的最近最少使用”的缓存替换算法(Min-QT-LRU算法)来提高系统架构的查询性能,并提供多租户缓存定制能力来满足不同租户的业务性能需求。
Along with the development of global economic, the Software as a Service (SaaS) as a new business model was proposed. The emergence of SaaS changed the software concept thoroughly.
     With the diversity of SaaS software applications and the specialization of SaaS tenants, new requirements for customization capabilities have been also put forward. First, a tenant demands to customize with a SaaS application out of more than one virtualized application and run multiple business applications simultaneously. However, according to the traditional way, there is only a virtualized application for a tenant and present SaaS application does not support a tenant renting only once to make multiple customizations. Secondly, these different business applications in the same tenant area have many common customization features. Traditionally, the tenant performs customization separately for different business applications, which brings about many repeated custom operations and much duplication of custom metadata.. Based on this, new SaaS software application should maintain serveral different virtualized applications for the same tenant and support customization sharing among different virtualized applications in a tenant domain, which can reduce duplication of customization, and facilitate unified management of a tenant's institutions, users, roles, code, business applications, business data, etc.
     This paper mainly studied on multilevel customization model for tenants based on saas applications. In this paper, we focused on the research of data storage mapping architecture to realize the multilevel customization model. In addition, based on the data storage mapping architecture, we studied on data query optimization technique of SaaS application SaaS.
     On the basis of the defects mentioned above, we mainly bring the following new ideas:
     1. Multilevel customization strategy. This paper put forwards the novel multilevel customization model, defined the multilevel customization model, and present a mathematical analysis of the multilevel customization model to verify the validity of the model. The multilevel customization model can implement sharing of custom metadata, reduce redundant customization, and be convenient to manange the business systems for tenants.
     2. Design metadata-driven schema-sharing data storage architecture to implement the multilevel customizaiton model. In this paper, we adopted multi-tenant sharing schema to implement multilevel customization model.
     3. Research on data query optimization technique for the performance of SaaS aplications. Based on the characteristics of multilevel customization model, we studied deeply on data query optimization technique for SaaS applications. In this paper, we adopted transitive closure table to maintain the relationship among all customized applications, and we adopted two-stage memory buffer and Min-QT -LRU replacement algorithm to improve the query performance of SaaS applications. In addition, we provided cache customization capability to meet businesss performance requirements of different tenants.
引文
[1]Frederick Chong, Gianpaolo Carraro, "Architecture strategies for catching the long tail",http://msdn2.microsoft.com/zh-cn/architecture/aa479069.aspx,2006.4.
    [2]Frederick Chong, Gianpaolo Carraro, and Roger Wolte, "Multi-Tenant Data Architecture", June 2006, Microsoft Corporation.
    [3]Frederick Chong, Gianpaolo Carraro, Eugenio Pace, Matt Baldwin, "ISVs are from Mars, and Hosters are from Venus", http://msdn2.microsoft.com/en-us/library/bb891759.aspx,2007.11.
    [4]Salesforce AppExchange. http://www.salesforce.com.
    [5]Google Apps. http://www.google.com/apps/intl/zh-CN/group/index.html
    [6]Microsoft Corporation. http://msdn.microsoft.com/zh-cn/architecture/
    [7]Software as a Service (SaaS). http://www.ibm.com/partnerworld/saas
    [8]Oracle Platform for SaaS. http://www.oracle.com/us/technologies/saas/index.html
    [9]八百客.http://www.800app.com/
    [10]Chang Zhongzuo, Xu Yue, Dai Gang, "The multi-tenant data architecture study based on the SaaS model for the public service platform", Computer Systems & Applications,2008.2:7-11.
    [11]George Lawton, "Developing Software Online with Platform-as-a-Service Technology"
    [12]世资讯CCW Research),2010年中国软件运营服(?)(SaaS)与云计算市场发展状况白皮书,2010.
    [13]世资讯CCW Research),2009--2010年中国软件运营服务(SaaS)市场研究报告,2010.
    [14]D. Jacobs and S. Aulbach, "Ruminations on multi-tenant databases", in BTW Vol.103GI (2007), pp.514-521.
    [15]昌中作,徐瑞,戴刚,“基于SaaS模式公共服务平台多用户数据结构的研究”,计算机系统应用,2008.2,7-11.
    [16]林海略,韩燕波,“多租户应用的性能管理关键问题研究”,计算机学报,Vol.33,No.10,2010.
    [17]Zhi Hu Wang, Chang Jie Guo, Bo Gao, Wei Sun, Zhen Zhang, Wen Hao An, "A study and performance evaluation of the multi-tenant data tier design patterns for service oriented computing", IEEE International Conference on E-Business Engineering, IEEE CS 2008:94-101,2008.
    [18]Kaminski Halina, Perry Mark Source, "SLA negotiation system design based on business rules", SCC2008, pp.609-612.
    [19]Fen huang, Shunyan Wang, "Active Service Implementation on Technology Based on SaaS Model" http://cdmd.cnki.com.cn/Article/CDMD-10497-2009106931.htm,2009.6.
    [20]Mei Hui, Dawei Jiang, Guoliang Li and Yuan Zhou, "Supporting Database Applications as a Service", in Proceedings of the 2009 IEEE International Conference on Data Engineering (ICDE09), pp.832-843.
    [21]Wei Sun, Xin Zhang, Chang Jie Guo, Pei Sun, "Software as a Service: Configuration and Customization Perspectives.2008 IEEE Congress on Service Part II.18-25.
    [22]M. Ralph, "Using Variability Descriptors to Describe Customizable SaaS Application Templates", Institute of Architecture of Application Systems, January 18,2008, pp.1-27.
    [23]K. Michiel, "VxBPEL:Supporting variability for Web services in BPEL" Information and Software Technology,2008, pp.1-12.
    [24]Kuo ZHANG, Xin ZHANG, Wei SUN, Haiqi LIANG, Ying HUANG, "A Policy-Driven Approach for Software-as-Services Customization", The 9th IEEE International Conference on E-Commerce Technology and The 4th IEEE International Conference on Enterprise Computing,2007.7, pp 123-130.
    [25]Yuliang Shi, Shuai Luan, Qingzhong Li, Haiyang Wang, "A flexible business process customization framework for SaaS", ICIE2009, p350-353.
    [26]昌中作,“基于SaaS模式的公共物流服务平台关键技术的研究”,硕士学位论文,北京交通大学,2008
    [27]曹健,张申生,李明禄,“基于目标驱动和过程重用的Web服务客户化定制模型”,计算机学报,2005,28(4).
    [28]房俊,虎崇林,韩燕波,刘晨,“一种支持业务端过程的服务虚拟化机制VINCA-VM",计算机学报,2005,28(4),549-557.
    [29]E. Chu and J. Naughton., "The Case for a Wide-Table Approach to Manage Sparse Relational DataSets", in SIGMOD'07:Proceedings of the 2007 ACM SIGMOD internationalconference on Management of data, pp.821-832.
    [30]S. Aulbach, T. Grust, D. Jacobs, A. Kemper, and J. Rittinger, "Multi-Tenant Databases for Software as a Service:Schema-Mapping Techniques", in SIGMOD'08:Proceedings of the 2008 ACM SIGMOD international conference on Management of data, pp.1195-1206.
    [31]S. Aulbach, D. Jacobs, A. Kemper, and M. Seibold, "A Comparison of Flexible Schemas for Software as a Service", in SIGMOD'09:Proceedings of the 2009 ACM SIGMOD international conference on Management of data, pp.881-888.
    [32]Franclin. S. Foping, Ioannis. M. Dokas, John Feehan and Syed Imran, "A New Hybrid Schema-Sharing Technique for Multitenant Applications", in Proceedings of ICDIM 2009:International Conference on Digital Information Management, pp.211-216.
    [33]M. Grund, M. Schapranow, J. Krueger, J. Schaffner, and A. Bog, "Shared Table Access Pattern Analysis for Multi-Tenant Applications", Sept.2008.
    [34]Craig D Weissman, The Design of the Force.com Multitenant Internet Application Development Platform//SIGMOD, Providence, Rhode Island, USA, 2009, ACM 2009:889-896.
    [35]黄敏,蔡志刚,“缓存替换算法研究综述”,计算机科学,Vol.33No.12,2006.
    [36]马治国,郑洪源,丁秋林,“基于工作仓库的OLAM缓存替换算法”,计算机应用,Vol.29 No.1,2009.
    [37]李文中,陈道蓄,陆桑璐,“分布式缓存系统中一种优化缓存部署的图算法”软件学报,Vol.21, No.7, July 2010, pp.1524-1535.
    [38]F. S. Foping, I. M. Dokas, J. Feehan, and S. Imran, "On Using Software as a Service to Deploy an Early Warning Service', in International Conference on Enterprise Information Systems and Web Technologies, pp.161-168.
    [39]K. Thomas, N. Thao and L. Linh, "A Software as a Service with Multi-tenancy Support for an Electronic Contract Management Application", IEEE Computer Society, SCC 2008, pp.179-186.
    [40]http://en.wikipedia.org/wiki/Equivalence_class.
    [41]李洪波,“多租户环境下的数据存储模式和映射机制研究”,山东大学硕士论文,2010.
    [42]栾帅,“规则驱动的SaaS流程定制及验证技术研究”,山东大学硕士论文,2010.
    [43]孔兰菊,李庆忠,史玉良,王学,“面向SaaS应用基于键值对模式的多租户索引研究”,计算机学报,2010年12期.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700