当前位置: 首页 > 专利查询>云南大学专利>正文

一种面向SaaS多租户的多层模型及其构建方法技术

技术编号:17485876 阅读:31 留言:0更新日期:2018-03-17 10:18
本发明专利技术属于软件技术领域,公开了一种面向SaaS多租户的多层模型及其构建方法,根据SaaS软件成熟度模型,将SaaS软件自顶向下按照不同的粒度分为了七个不同的层次。体现SaaS软件多租户、可伸缩、可配置的特点;有色Petri网的颜色集可以代表不同租户请求,面向对象Petri体现服务的封装性,对外不可见,内部细节影响系统运行。分别借鉴有色Petri网和面向对象Petri网的思想,对Petri网进行扩展,提出了CSOP和SOP网系统。本发明专利技术为SaaS软件的建模提供了形式化的工具;本发明专利技术提出的形式化模型能够在有色Petri网工具中运行,从而可以模拟SaaS软件的运行,分析系统运行时存在的隐患。

A multi-layer model for SaaS multi tenant and its construction method

The invention belongs to the field of software technology, and discloses a multi-layer SaaS oriented multi tenant model and its construction method. According to the SaaS software maturity model, the SaaS software is divided into seven different levels according to different granularity. It embodies the characteristics of multi tenancy, scalable and configurable SaaS software. The color set of colored Petri net can represent different tenant requests, and object oriented Petri embodies the encapsulation of service, and it can't affect the operation of the system without external visibility. Based on the ideas of colored Petri net and object-oriented Petri network, the Petri network is extended, and CSOP and SOP network systems are proposed. The invention provides a formalized tool for modeling SaaS software, and the formal model proposed by this invention can run in the colored Petri net tool, so that it can simulate the operation of SaaS software and analyze the hidden trouble existing in the operation of the system.

【技术实现步骤摘要】
一种面向SaaS多租户的多层模型及其构建方法
本专利技术属于软件
,尤其涉及一种面向SaaS多租户的多层模型及其构建方法。
技术介绍
SaaS是近年来兴起的一种新的软件模式,是软件即服务(ServiceasaSoftware)的简称。它与传统的软件模式有着很大的区别。SaaS模式是指由软件服务商提供基于网络的软件服务,完全负责维护软件服务所需的软硬件平台等后台工作,而用户则采用租赁的方式租用软件服务供应商提供的软件服务,并通过网络来使用这些服务。提到SaaS人们会想到云计算(CloudComputing),云计算将提供的服务分为了三个层次:IaaS(InfrastrucureasaService)、PaaS(PlatformasaService)、SaaS。而我们经常提到的SaaS,实际上是云计算中的SaaS。作为最成功的SaaS软件提供商Salesforce.com,它的CRM(客户关系管理)解决方案对SaaS产业产生了深远的影响。目前全世界超过15000多家企业租用他们的服务。SaaS不仅改变了传统软件的商业模式,也改变了传统软件的生命周期。与传统软件相比,SaaS软件最显著的特点主要有:可伸缩性(Saleable)、多租户架构(Multi-Tenant)和可配置性(Configurable)。因此分析传统软件的方法和模型不再适用于SaaS。为了方便SaaS的分析,文献根据SaaS软件的成熟度将SaaS分为了4个等级:定制开发(多次开发);可配置(一次开发多次部署);单实例,多租户(一次开发一次部署);多实例,多租户(可伸缩)。每一层是在满足前一层的要求的基础上,再实现本层的功能。它描述了SaaS软件逐步完善的过程。SaaS软件成熟度模型不仅是业界公认的标准,更成为SaaS开发所遵循的一种规范。Petri网是一种描述软件过活动的形式化工具,但基本Petri网面对复杂系统存在状态空间爆炸的问题。有色Petri网(ColoredPetriNets)在基本Petri网的基础上进行扩展的,使用不同颜色集来描述系统状态。它能有效的折叠系统变迁,压缩状态空间。SaaS软件与传统软件相比,架构和运行情况十分复杂。尤其是SaaS软件中多租户的特点,使得SaaS软件难以描述。传统的方法把SaaS软件类比构件系统的组合关系,将SaaS软件描述为单层的服务组合关系。以基本Petri网来对它进行描述和分析。这样分析实则是分析由构件组合而成软件系统的运行情况,它依然是传统软件,SaaS软件可配置、可伸缩、多租户的特点均无从体现。如果要通过添加Petri网个数的方式来反映多租户的运行情况。首先,变迁的个数增多,使得系统的状态空间爆炸,模型的分析无从下手;同时,将不同租户的请求描述在多张Petri网中无法体现多租户之间的关系。综上所述,现有技术存在的问题是:传统软件伸缩性差、不具有多租户架构和可配置性低;而SaaS软件成熟度模型是SaaS软件业界重要的标准,同时,它逐渐成为开发SaaS所要遵循的规范,现有技术未对该模型进行支持,没有体现SaaS多租户、可伸缩、可配置的特点;尤其是SaaS软件复杂的架构和运行情况,使得传统方法面临巨大的挑战;将SaaS软件述为单层的服务组合关系,以基本Petri网来对它进行描述和分析,会存在状态空间爆炸等问题,多租户之间的关系也无法被体现。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种面向SaaS多租户的一种多层模型及其构建方法。本专利技术是这样实现的,首先,对负责的SaaS软件系统进行分层,提出SaaS软件元模型。自顶向下根据不同粒度来对每层进行描述。并对业界标准和SaaS软件的开发规范SaaS软件成熟度模型进行支持,充分体现SaaS软件可配置、多租户、可伸缩的特点。然后,以提出元模型为框架,根据不同的SaaS软件,对每层的实际内容进行填充和建模。最后将得到的模型进行分析,将CSOP放入CPNtools中进行分析,得到SaaS软件的运行状态分析结果。所述面向SaaS多租户的多层模型具体包括:应用层,用于提供SaaS软件最大的粒度,为用户提供实用价值;软件实例层:用于根据SaaS软件成熟度模型,使用多实例解决负载均衡;不同的租户被软件实例层的负载均衡器分配到不同的实例当中;一个SaaS软件拥有多个SaaS软件实例,不同的软件实例之间的相互独立,感受不到其他实例的存在,更无法相互影响;一个软件实例被描述为一个CSOP的扩展有色Petri网,不同的颜色集代表不同的租户的请求,用来直观的表示SaaS软件实例的运行过程。并能对SaaS软件的整体情况进行分析,判断是否在软件实例中存在死锁、故障等安全隐患,不同租户之间是否存在不公平的竞争关系等。不同的软件实例相互之间没有关系,也不会被影响,故将不同的软件实例描述为多个CSOP。租户层:用于表示SaaS软件中的不同租户;配置不同租户的设置,实现界面、数据、服务的可配置化;不同的租户被分配到不同的软件实例中,不同的软件实例描述不同租户的行为;表示层:用于与用户进行交互;提供用户租用的功能,用户通过租用该层的功能来满足自己的需求。而该层的功能由原子服务组合而成。业务流程层:用于提供服务的组合清单,以清单的形式配置服务的组合方式;该层能够灵活的对原子服务进行组合,添加不同的组合方式来对同一功能进行演化。使用扩展的Petri王SOP对它进行描述。服务实体层:用于提供服务的具体定义;描述了SaaS软件中包含的原子服务,以及它们的内部结构。SaaS软件中复杂的功能均由这些原子服务组合而成。它的内部被描述为一个基本Petri网,由不同的构件组合而成。基础设施层:用于提供SaaS软件储存能力、计算能力、网络连接功能,是SaaS软件的边界。进一步,所述应用层为一个三元组,表示为A={N,I,S}其中:N为该SaaS软件的唯一标识;I为SaaS软件的软件实例层,描述该SaaS包含的软件实例;S为SaaS软件的服务实体层,包含SaaS软件所有的原子服务。进一步,所述软件实例层为一个元组,软件实例层表示为I={Ii,U,CSOP,Fi},其中:Ii为实例层的唯一表示,一个Ii元素代表一个软件实例;U为SaaS软件的租户,描述租户层;CSOP一个有色的面向服务的网结构,用来描述这个SaaS软件实例的结构,其中不同的颜色代表不同的租户;Fi为Ii,U,CSOP的对应关系,表示不同的租户被分配到不同的SaaS软件实例当中,并由一个COSP表示;Ii与U之间的关系是一对多关系关系,Ii与CSOP之间的关系为一对一关系。进一步,所述租户层U为3元组,表示为U={Iu,R,Fu},其中:Iu租户的唯一标识,Iu中有多个租户,表示SaaS软件中的所有租户;SaaS软件为每个用户所配置的表示层;不同的租户拥有不同的表示层;Fu为表示层与租户的对应关系,一个租户对应一个表示层,一个表示层对应多个租户,关系为一对多关系。进一步,所述表示层R为元组,表示为R={Ir,SOP,Sr,Fr},其中:Ir为一个表示层的唯一标识,标识一个表示层;SOP为一个面向服务网;Sr为表示层中所有功能的集合;Fr为Ir、SOP、Sr的对应关系,SOP与Sr之间的关系是一对一关系,Ir与Sr之间的关系为一本文档来自技高网
...
一种面向SaaS多租户的多层模型及其构建方法

【技术保护点】
一种面向SaaS多租户的多层模型,其特征在于,所述面向SaaS多租户的多层模型,包括:应用层,用于提供SaaS软件最大的粒度,为用户提供实用价值;软件实例层,用于根据SaaS软件成熟度模型,使用多实例解决负载均衡;不同的租户被软件实例层的负载均衡器分配到不同的实例当中;一个SaaS软件拥有多个SaaS软件实例,不同的软件实例之间的相互独立,感受不到其他实例的存在,更无法相互影响;一个软件实例被描述为一个CSOP的扩展有色Petri网,不同的颜色集代表不同的租户的请求,用来直观的表示SaaS软件实例的运行过程;并能对SaaS软件的整体情况进行分析,判断是否在软件实例中存在死锁、故障的安全隐患,不同租户之间是否存在不公平的竞争关系;租户层,用于表示SaaS软件中的不同租户;配置不同租户的设置,实现界面、数据、服务的可配置化;不同的租户被分配到不同的软件实例中,不同的软件实例描述不同租户的行为;表示层,用于与用户进行交互;提供用户租用的功能;业务流程层,用于提供服务的组合清单,以清单的形式配置服务的组合方式;对原子服务进行组合,添加不同的组合方式对同一功能进行演化;服务实体层,用于提供服务的具体定义;描述SaaS软件中包含的原子服务,以及它们的内部结构;基础设施层,用于提供SaaS软件储存能力、计算能力、网络连接功能。...

【技术特征摘要】
1.一种面向SaaS多租户的多层模型,其特征在于,所述面向SaaS多租户的多层模型,包括:应用层,用于提供SaaS软件最大的粒度,为用户提供实用价值;软件实例层,用于根据SaaS软件成熟度模型,使用多实例解决负载均衡;不同的租户被软件实例层的负载均衡器分配到不同的实例当中;一个SaaS软件拥有多个SaaS软件实例,不同的软件实例之间的相互独立,感受不到其他实例的存在,更无法相互影响;一个软件实例被描述为一个CSOP的扩展有色Petri网,不同的颜色集代表不同的租户的请求,用来直观的表示SaaS软件实例的运行过程;并能对SaaS软件的整体情况进行分析,判断是否在软件实例中存在死锁、故障的安全隐患,不同租户之间是否存在不公平的竞争关系;租户层,用于表示SaaS软件中的不同租户;配置不同租户的设置,实现界面、数据、服务的可配置化;不同的租户被分配到不同的软件实例中,不同的软件实例描述不同租户的行为;表示层,用于与用户进行交互;提供用户租用的功能;业务流程层,用于提供服务的组合清单,以清单的形式配置服务的组合方式;对原子服务进行组合,添加不同的组合方式对同一功能进行演化;服务实体层,用于提供服务的具体定义;描述SaaS软件中包含的原子服务,以及它们的内部结构;基础设施层,用于提供SaaS软件储存能力、计算能力、网络连接功能。2.如权利要求1所述面向SaaS多租户的多层模型,其特征在于,所述应用层为一个三元组,表示为A={N,I,S}其中:N为该SaaS软件的唯一标识;I为SaaS软件的软件实例层,描述该SaaS包含的软件实例;S为SaaS软件的服务实体层,包含SaaS软件所有的原子服务。3.如权利要求1所述面向SaaS多租户的多层模型,其特征在于,所述软件实例层为一个元组,软件实例层表示为I={Ii,U,CSOP,Fi},其中:Ii为实例层的唯一表示,一个Ii元素代表一个软件实例;U为SaaS软件的租户,描述租户层;CSOP一个有色的面向服务的网结构,用来描述这个SaaS软件实例的结构,其中不同的颜色代表不同的租户;Fi为Ii,U,CSOP的对应关系,表示不同的租户被分配到不同的SaaS软件实例当中,并由一个COSP表示;Ii与U之间的关系是一对多关系关系,Ii与CSOP之间的关系为一对一关系。4.如权利要求1所述面向SaaS多租户的多层模型,其特征在于,所述租户层U为3元组,表示为U={Iu,R,Fu},其中:Iu租户的唯一标识,Iu中有多个租户,表示SaaS软件中的所有租户;SaaS软件为每个用户所配置的表示层;不同的租户拥有不同的表示层;Fu为表示层与租户的对应关系,一个租户对应一个表示层,一个表示层对应多个租户,关系为一对多关系。5.如权利要求1所述面向SaaS多租户的多层模型,其特征在于,所述表示层R为元组,表示为R={Ir,SOP,Sr,Fr},其中:Ir为一个表示层的唯一标识,标识一个表示层;SOP为一个面向服务网;Sr为表示层中所有功能的集合;Fr为Ir、SOP...

【专利技术属性】
技术研发人员:李响李彤谢仲文林英秦江龙莫启何云成蕾韩煦王晓芳郑交交杨真谛郑明
申请(专利权)人:云南大学
类型:发明
国别省市:云南,53

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1