多租户架构设计方法

文档序号:6378970阅读:1011来源:国知局
专利名称:多租户架构设计方法
多租户架构设计方法技术领域
本发明属于数字信息的传输技术领域,特别涉及一种将企业遗留软件升级为SaaS 应用的多租户架构设计方法。
背景技术
武钢作为我国特大型企业,在矿产资源、高新技术、钢材深加工、贸易物流、现代城市服务、资源综合利用等相关产业的发展,迫切需要借鉴钢铁主业信息化的成功实践,并已出台了钢铁相关产业信息化“十二五”发展规划。原有的企业信息化架构已无法适应云服务的新模式,需要利用钢铁主业的遗产软件,开发多元化、个性化的SaaS (Software as a Service,软件即服务)应用,并建立钢铁相关产业的云服务平台,为企业跨越式发展,提供信息化支撑,从而推动企业转型。
云计算作为一种基于互联网的、大众参与的、以服务方式提供的新型计算模式,其计算资源是动态、可伸缩、且被虚拟化的[1]。SaaS作为云计算的一种重要模式,通过互联网为用户提供其所需的服务,在这种模式下用户无须再购买软件,而是向服务提供商按需租赁,根据使用时间或使用量付费。在软件和信息技术服务业加快向网络化、服务化、体系化和融合化方向发展的大背景下,武钢正处在旧信息系统面临终结的转型时期。对于钢铁相关产业的子(分)公司来说,SaaS能尽可能消除购买、构建和维护基础设施和应用程序的需要,有效地减少IT运营的成本;对于武钢这样的特大型企业来说,将正在使用中的遗留软件(legacy software)升级为SaaS应用,并逐步向云计算平台演进,是一条低风险的采用先进技术实施可持续发展的途径。
著名的SaaS应用提供商Salesforce,将多租户(multi-tenancy)技术应用于其客户关系管理等服务,大获成功。简单而言,多租户是指一个单独的软件实例可以为多个用户 /组织服务的模式。多租户技术作为SaaS应用区别于传统软件的重要标志,主要探讨与实现如何在大量用户的环境下共用相同的软件或其组件,并仍可确保不同组织/用户数据的隔离性和安全性[2]。租户所能使用的服务可供I个或多个(取决于多租户程度)终端用户同时使用。为了尽可能地共享软硬件资源,支持多租户模式的SaaS应用不仅要对其软件架构(architecture)、数据库结构做相应的修改,而且在安全和数据隔离等方面也要进行特殊设计,与此相关的探索是目前多租户技术理论研究的热点[3]
Mietzner等人提出了一个面向云应用的、可配置的和可定制化的通用框架M,对数据和配置信息进行虚拟分区,使每个租户都能使用一个单独的虚拟实例,并可以对这个虚拟实例进行个性化定制。对于业务流程驱动的应用而言,满足不同租户个性化的业务服务需求意味着需要建立有效的租户业务流程定制机制,史玉良等人利用动作的时态逻辑 (TLA, Temporal Logic of Actions)进行建模和形式化验证[5],确保全局定制行为的正确性。进一步地,林海略等人从运行性能的角度出发,在业务逻辑层和数据处理层提出不同的调度算法Μ来提高系统的运行效率,针对典型的Web应用TPC-W的实验结果表明,该方法能在维持较高的资源利用率的同时为各个租户提供一定的性能指标保障。
利用尽可能少的IT资源,为尽可能多的用户/组织进行按需服务,是多租户技术的主旨[7]。为构造适用于不同业务领域的SaaS应用,如电子合同管理M、授权管理系统[9] 等,一些用于特定情境和主题的多租户架构的设计方法被相继提出。另一方面,服务提供商如Salesforce等也通过定制化手段_,对通用的解决方案进行裁剪和改进,从而在不增加开发成本的情况下快速推出适合客户需求的SaaS应用。
到目前为止,软件工程领域的研究人员已经提出了一些各具特色的需求建模方法,如面向企业组织的需求建模方法[11],面向目标的需求建模方法[12]、基于本体 (ontology)的需求建模方法[13’14]、面向特征(feature)的需求建模方法[15]等。面向企业组织的需求建模方法强调在软件开发前首先理解所处的组织结构,明确完成操作的相关业务规则,组织成员的目标、任务和责任,以及需要处理的数据。这种方法通常与面向目标的需求建模方法相结合,后者用于帮助开发者理解领域中不同角色的动机和期望,形成完备的、 无冗余的需求规范。面向特征的需求建模方法是一种广泛采用的对领域或软件产品线进行建模的方法,可以明确地对领域中的共性和变化性知识进行适应性建模和管理。基于本体的建模方法近年来被广泛用于领域建模和需求建模中,以提供在不同的利益相关方之间达成一致的术语约定,避免二义性。
[I]中国电子学会云计算专家委员会.云计算技术发展报告[M].北京科学出版社,2011.
[2]Guo C,Sun Wj Huang Y,et al.A Framework for Native Mul t i-Tenancy Application Development and Management [C]. In:Proceedings of the9th IEEE International Conference on E-Commerce Technology and the4th IEEE International Conference on Enterprise Computing, 2007,pp.551 558.
[3]Candan K S,Li W-Sj Phan T,et al. Frontiers in Information and Software as Services[C]· In:Proceedings of the25th IEEE International Conference on Data Engineering, 2009,pp. 1761 1768.
[4] Mietzner R,Unger Tj Leymann F. Cafe : A Generic Configurable Customizable Composite Cloud Application Framework[C]. Lecture Notes in Computer Science,2009,5870:357 364.
[5]史玉良,栾帅,李庆,等.基于TLA的SaaS业务流程定制及验证机制研究 [J]·计算机学报,2010,33(11) :2055 2067.
[6]林海略,韩燕波.多租户应用的性能管理关键问题研究[J].计算机学报,2010,33 (10): 1881 1895.
[7]Motahari-Nezhad H Rj Stephenson B,and Singhal S. Outsourcing Business to Cloud Computing Services:Opportunities and Challenges[R]. HP Laboratories:Technical Report(No. HPL-2009-23),2009.
[8] Kwok Tj Nguyen T,and Lam LA Software as a Service with Multi-tenancy Support for an Electronic Contract Management Application[C]. In:Proceedings of the2008IEEE International Conference on Services Comput ing, 2008,Vol.2,pp.179 186.
[9] Calero J M A, Edwards Nj Kirschnick J,et al. Toward a Mul ti-TenancyAuthorizati on System for Cloud Services[J]. IEEE Security&Privacy, 2010, 8(6):48 55.
[10]Miiller J ,Kriiger J, Enderlein S, e t al. Customizing Enterprise Software as a Service Applicat ions:Back-End Extens ion in a Multi-tenancy Environment[C].Lecture Notes in Business Information Processing, 2009, Vol. 24, Part 1:66 77.
[11] Bezemer C-P, Zaidman A, Platzbeecker B, et al. Enab I ing multi-tenancy:An industrial experience report[C]. In:Proceedings of the26th IEEE International Conference on Software Maintenance, 2010, pp. I 8.
[12] Loucopoulos P and Kavakl i E. Enterprise Model ing and the Teleological Approach to Requirements Engineering[J]. International Journal of Intelligent and Cooperative Information Systems, 1995, 4(1):45 79.
[13]Lamsweerde A V. Goal-oriented Requirements Engineering:a Guided Tour[C]· In:Proceedings of the5th IEEE International Sympos ium on Requirements Engineering, 2001, pp. 249 263.
[14]Falbo R A, Guizzardi G, and Duarte K C. An Ontological Approach to Domain Engineering[C]. In:Proceedings of the2002International Conference on Software Engineering and Knowledge Engineering, 2002, pp. 351 358.
[15]金芝,陆汝钤.多范例自动需求建模和分析一种基于本体的方法[J].中国科学(E 辑),2003,33 (4) : 297 312.
[16]张伟,梅宏.一种面向特征的领域模型及其建模过程[J].软件学报,2003,14(8):1345-1356.
[17]王健.网络式软件的需求元建模框架及关键技术研究[D].武汉武汉大学,2008.发明内容
本发明所要解决的技术问题是如何设计合理的软件架构来满足大规模用户多变的个性化需求,即如何实现从大众需求(多角色、多目标、复杂的业务流程)到支持多租户模式的软件架构的平滑过渡。因此,需要提供一种将企业遗留软件升级为SaaS应用的多租户架构设计方法,可根据遗留软件使用者的角色及意图、涉及的业务流程和常用的功能,构造可裁剪和可定制的多租户架构,支持通过服务组合和动态配置快速形成个性化的SaaS应用,并确保不同租户数据的隔离性和安全性。
为解决上述技术问题,本发明提供了一种多租户架构设计方法,包括构建企业的组织结构和角色体系模型;解析所述企业的组织结构和角色体系模型,从关系数据库管理系统中获取软件中用户的相关信息;分析遗留软件中用户的使用日志,挖掘用户常用的功能模块;利用角色划分和功能聚类两种方法,获取共性的服务功能;组织租户所能提供的基本服务,将所述基本服务配置为个性化服务;对租户的SaaS应用和数据进行隔离,采用基于角色权限的方式确保访问安全。
本发明提供的多租户架构设计方法具有以下有益效果
I、通过分析企业遗留软件使用者的角色及意图、涉及的业务流程和常用的功能, 能够获取不同类型的共性需求及对应的需求者,有助于更好地利用现有的IT资源来组织租户所能使用的服务,提高多租户程度,进一步降低运营和维护成本。
2、在可裁剪和可定制的多租户架构支持下,根据共性需求能够方便地将遗留软件拆分和按需重组,快速构建租户所需的公共服务,并可进一步利用规模化定制手段,将其配置为符合个性化需求的定制服务。


图I为本发明提供的将软件升级为SaaS应用的多租户架构设计方法的总体流程图。
图2为本发明实施例提供的根据IS0/IEC19763-8标准设计企业组织结构和角色体系模型元模型示意图。
图3为本发明实施例提供的基于WordNet的概念相似度计算公式示例示意图。
图4为本发明实施例提供的租户基本服务的按需功能配置示例示意图。
图5为本发明实施例提供的数据隔离方式的示例示意图。
具体实施方式
参见图1,本发明提供的一种将企业遗留软件升级为SaaS应用的多租户架构设计方法,包括以下步骤
步骤10、构建所在企业的组织结构和角色体系模型。
首先,从部门、岗位和角色三个维度对企业的组织结构和角色体系进行分析,即 一个企业有哪些主要部门,每个部门有哪些工作岗位,每个岗位的承担者扮演什么角色;然后,依据IS0/IEC19763-8标准(角色和目标注册元模型),对涉及的角色进行分类细化,明确其职能目标,例如公交车司机和小车司机虽然都属于司机的角色,但是两者的应聘条件和服务对象却是不同的;最后,将与部门、岗位和角色相关的概念以本体的方式进行组织,形成企业组织结构和角色体系模型,符合W3C组织(World Wide Web Consortium)发布的OWL (Web Ontology Language)规范。
步骤20、解析步骤10形成的企业组织结构和角色体系模型,从关系数据库管理系统中获取遗留软件所有用户的相关信息
本体是共享的概念模型的形式化的规范说明,它明确和形式化定义概念及概念间的关系,提供了术语含义无歧义理解的公共语义基础,因而便于机器处理和正确理解。例如,番茄和西红柿是蔬菜本体中的两个概念,可以定义番茄和西红柿是语义等价的关系, 这样机器就能自动识别这两个语法上不同的概念。使用软件工具Jena (http://jena. sourceforge. net/)解析OWL格式的企业组织结构和角色体系模型,得到部门、职位、角色等预先定义好的重要概念及其实例。针对采用C/S (Client/Server)或B/S (Browser/ Server)模式的企业遗留软件,根据上述概念生成标准的SQL (Structured Query Language)查询语句,以管理员身份从关系数据库管理系统(如SQL Server、Oracle、MySQL 等)中获取所有用户的相关信息。
步骤30、分析遗留软件的使用日志,挖掘用户常用的功能模块。
遗留的软件服务器的日志记录了服务器端软件被访问的全过程,包括什么时间到什么时间有哪些用户访问过,在此期间使用过哪些功能模块,以及软件的整体性能情况等。 使用开源软件dom4j (http://dom4j. sourceforge. net/)打开存储在软件服务器端的以 txt或xml格式保存的日志文件,以用户的ID (identity)为关键字利用信息检索技术搜索每个用户在设定时间内使用过的功能模块实例,通过统计分析挖掘出哪些功能模块是用户常用的。这里,常用的量化指标可由用户自定义,如I周之内不少于5天,或者I月之内不少于20天,超过使用次数阈值的即可作为常用的功能模块。
步骤40、利用角色划分和功能聚类两种方法,获取共性的服务功能。
针对挖掘出的每个用户的常用功能模块,获取共性的服务功能有两种方式角色划分和功能聚类。前者基于用户角色的相似性,即角色相同或相近的用户会倾向于使用相同或类似的功能模块;后者基于功能模块实现目标的相似性,即具有相同或相似实现目标的功能模块可以被看成是一类。这里,相似性的数值是基于WordNet术语库的概念相似度计算得到的,计算公式为
权利要求
1.一种多租户架构设计方法,其特征在于,包括构建企业的组织结构和角色体系模型;解析所述企业的组织结构和角色体系模型,从关系数据库管理系统中获取软件中用户的相关信息;分析遗留软件中用户的使用日志,挖掘用户常用的功能模块;利用角色划分和功能聚类两种方法,获取共性的服务功能;组织租户所能提供的基本服务,将所述基本服务配置为个性化服务;对租户的SaaS应用和数据进行隔离,采用基于角色权限的方式确保访问安全。
2.根据权利要求I所述的方法,其特征在于,所述构建企业的组织结构和角色体系模型包括从部门、岗位和角色三个维度对企业的组织结构和角色体系进行分析;依据IS0/IEC19763-8标准,对涉及的角色进行分类细化,明确其职能目标;将与部门、岗位和角色相关的概念以本体的方式进行组织,形成企业组织结构和角色体系t吴型;所述本体是共享的概念模型的形式化的规范说明,遵循W3C组织的OWL规范。
3.根据权利要求2所述的方法,其特征在于,所述解析企业组织结构和角色体系模型, 获取软件中用户的相关信息包括使用软件工具Jena解析所述企业组织结构和角色体系模型,得到部门、职位、角色预先定义好的重要概念;将上述重要概念生成标准的SQL查询语句;以管理员身份从关系数据库管理系统中获取所有用户的相关信息。
4.根据权利要求3所述的方法,其特征在于,所述分析遗留软件中用户使用日志,找出用户常用的功能模块包括所述的遗留软件采用传统的C/S或B/S模式运行;使用开源软件dom4j打开存储在软件服务器终端以txt或xml格式保存的日志文件; 以用户的identity为关键字搜索每个用户在设定时间内使用过的功能模块实例; 通过统计分析找出用户常用的所述功能模块。
5.根据权利要求4所述的方法,其特征在于,所述利用角色划分和功能聚类两种方法, 获取共性的服务功能包括通过角色划分获取所述功能模块共性的服务功能,所述角色划分是基于用户角色的相似性;通过功能聚类获取所述功能模块共性的服务功能,所述功能聚类是基于功能模块实现目标的相似性; 所述相似性的数值计算公式为
6.根据权利要求5所述的方法,其特征在于,所述组织租户所能提供的基本服务,通过定制化手段将所述基本服务配置为个性化服务包括根据上述所获取的共性服务功能,拆分和重组软件的功能模块,将其组织成租户所能提供的基本服务;将上述基本服务装配成个性化服务,并以符合W3C组织的WSDL规范或RESTful Web API规范的SaaS应用的方式交付。
7.根据权利要求6所述的方法,其特征在于,所述对租户的SaaS应用和数据进行隔离, 访问模式采用角色权限的方式进行访问包括通过进程或是支持多应用程序同时运行的装载环境来做进程间的隔离;将所有租户的数据都存储在同一个数据库中,每个租户有各自独立的方案及其对应的表,用户自行添加或修改表的列;根据所述企业组织结构和角色体系模型来对不同的角色赋予不同的访问权限。
全文摘要
本发明公开了一种多租户架构设计方法,包括构建企业的组织结构和角色体系模型;解析所述企业的组织结构和角色体系模型,从关系数据库管理系统中获取软件中用户的相关信息;分析遗留软件中用户的使用日志,挖掘用户常用的功能模块;利用角色划分和功能聚类两种方法,获取共性的服务功能;组织租户所能提供的基本服务,将所述基本服务配置为个性化服务;对租户的SaaS应用和数据进行隔离,采用基于角色权限的方式确保访问安全。该方法能够获取不同类型的共性需求及对应的需求者,同时能快速构建租户所需的公共服务,并可进一步利用规模化定制手段,将其配置为符合个性化需求的定制服务。
文档编号G06F9/445GK102937901SQ20121039494
公开日2013年2月20日 申请日期2012年10月17日 优先权日2012年10月17日
发明者胡星, 马于涛, 李永兵, 刘智平, 王坚 申请人:武汉钢铁(集团)公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1