CN108681452A - 一种多租户环境下租户和应用模型的初始化方法 - Google Patents
一种多租户环境下租户和应用模型的初始化方法 Download PDFInfo
- Publication number
- CN108681452A CN108681452A CN201810438824.5A CN201810438824A CN108681452A CN 108681452 A CN108681452 A CN 108681452A CN 201810438824 A CN201810438824 A CN 201810438824A CN 108681452 A CN108681452 A CN 108681452A
- Authority
- CN
- China
- Prior art keywords
- tenant
- role
- application
- masterplate
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种多租户环境下租户和应用模型的初始化方法,包括:在应用下分别配置角色模版、用户模版和应用参数,其中,所述角色模版包括权限,所述用户模版拥有应用下的所述角色模版;租户开通所述应用时,根据所述角色模版创建相应的角色,创建的角色包括所述角色模版的所述权限;根据所述用户模版为所述租户创建相应的用户,赋予所述用户所述角色模版相应的角色;根据所述应用参数为所述租户创建相应的租户参数。
Description
技术领域
本发明涉及云计算技术领域,具体来说,涉及一种多租户环境下租户和应用模型的初始化方法。
背景技术
随着虚拟化和云计算技术的日益完善,SaaS(SoftwareasaService,即软件及服务)这种全新的应用模式逐步被广泛接收和使用。SaaS是一种通过Internet提供软件的模式,软件厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向软件厂商支付费用,并通过互联网获得软件厂商提供的服务。用户不用再购买软件,而改用向软件厂商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护。软件厂商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。
对于面向企业的SaaS系统,多租户是其主要特性之一。多租户技术或称多重租赁技术,是一种软件架构技术,可以实现在同一套软件部署下,满足不同企业用户的需求,并且可以保证企业之间数据的隔离性。
SaaS系统提供多种服务,可以灵活组合多个服务来满足客户的某种业务需求。租户可根据自身需求选择开通所需的服务。租户开通了某项服务后,还需完成初始化操作才能使用服务,如配置参数,创建角色,创建用户,关联用户和角色等。如何构建模型来实现这种需求,以及如何初始化租户成为值得研究的课题。
发明内容
针对相关技术中存在的问题,本发明提出一种多租户环境下租户和应用模型的初始化方法。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种多租户环境下租户和应用模型的初始化方法,包括:
在应用下分别配置角色模版、用户模版和应用参数,其中,角色模版包括权限,用户模版拥有应用下的角色模版;
租户开通应用时,根据角色模版创建相应的角色,创建的角色包括角色模版的权限;
根据用户模版为租户创建相应的用户,赋予用户角色模版相应的角色;
根据应用参数为租户创建相应的租户参数。
在一个实施例中,初始化方法还包括:定义应用套件包括一组应用,租户通过获得应用套件来开通一组应用。
在一个实施例中,其中,应用参数包括默认值参数和无默认值参数;租户开通应用时,对于默认值参数,租户使用默认参数值或使用自定义参数值;对于无默认值参数,租户使用指定参数值。
在一个实施例中,其中,角色与权限的关系是多对多关系。
在一个实施例中,其中,用户与角色的关系是多对多关系。
在一个实施例中,其中,角色模版与权限的关系是多对多关系。
在一个实施例中,其中,用户模版与角色模版的关系是多对多关系。
在一个实施例中,其中,应用与用户模版的关系、应用与角色模版、应用与应用参数的关系、以及应用与权限的关系均是一对多关系。
在一个实施例中,其中,租户与角色的关系、租户与用户的关系、租户与租户参数的关系均是一对多关系;租户与应用套件的关系是多对多关系。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的多租户环境下租户和应用模型的初始化方法的流程图;
图2是根据本发明实施例的多租户环境下定义的模型、以及模型之间的关系;
图3是描述模型的属性、以及模型之间关系的UML的类图示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,根据本发明实施例,提供了一种多租户环境下租户和应用模型的初始化方法,包括以下步骤:
S102,在应用下分别配置角色模版、用户模版和应用参数,其中,角色模版包括权限,用户模版拥有应用下的角色模版;
S104,租户开通应用时,根据角色模版创建相应的角色,创建的角色包括角色模版的权限;
S106,根据用户模版为租户创建相应的用户,赋予用户角色模版相应的角色;
S108,根据应用参数为租户创建相应的租户参数。
在上述方法中,可以定义包括一组应用的应用套件,租户通过获得应用套件来开通一组应用。
在一个实施例中,上述的应用参数包括默认值参数和无默认值参数;租户开通应用时,对于默认值参数,租户使用默认参数值或使用自定义参数值;对于无默认值参数,租户使用指定参数值。
具体的,图2示出了本发明定义的模型、以及模型之间的关系。结合图2所示,可定义应用(app)为一个软件服务,租户(tenant)开通一个应用后就可使用该软件服务。定义应用套件(suite)为一组应用,租户通过购买一个应用套件来开通应用套件所包含的所有应用。一个应用下可配置多个角色模板(role template),一个角色模板包含多个权限(privilege)。租户开通一个应用时,根据应用所包含的角色模板创建相应的角色(role),创建的角色包含与角色模板相同的权限。一个应用下可配置多个用户模板(usertemplate),一个用户模板拥有多个该应用下的角色模板。租户开通一个应用时,根据应用所包含的用户模板,为该租户创建相应的用户(user),并赋予用户模板拥有的角色模板所对应的角色。一个应用下可配置多个应用参数(app param),租户开通一个应用时,为该租户创建对应的租户参数(tenant param)。应用参数分为有默认值参数和无默认值参数。租户开通一个应用时,对于有默认值参数,可以使用默认参数值,也可以自定义参数值;对于无默认值参数,则必须指定参数值。因此,租户购买一个应用套件时,开通了该套件所包含的所有应用,同时相应的角色、用户、以及参数都已经创建好。
图3用UML的类图描述了模型的属性,以及模型之间的关系。以下结合图2和图3所示,对本发明的租户和应用模型的初始化方法进行具体说明。
具体的,Privilege表示一个权限,uuid属性表示权限的唯一标识;name属性表示权限的名称。
Role表示一个角色,id属性表示角色的唯一标识;name属性表示角色的名称;privileges属性是一组Privilege,表示该角色所包含的所有权限。Role与Privilege之间的关系是多对多关系,即一个角色可以包含多个权限,一个权限也可被多个角色包含。
User表示一个用户,id属性表示用户的唯一标识;name属性表示用户的名称;roles属性是一组Role,表示该用户所拥有的所有角色。用户拥有了某个角色,即拥有了该角色所包含的所有权限。User与Role之间的关系是多对多关系,即一个用户可以拥有多个角色,一个角色也可被多个用户拥有。
TenantParam表示一个租户参数,id属性表示租户参数的唯一标识;key属性表示该租户参数的键值;value属性表示该租户参数的值。
RoleTemplate表示一个角色模板,id属性表示角色模板的唯一标识;name属性是角色模板的名称,创建相应角色时,使用该属性作为角色的名称;privileges属性是一组Privilege,表示该角色模板包含的所有权限,创建相应角色时,角色也包含同样的权限。RoleTemplate与Privilege之间的关系是多对多关系,即一个角色模板可以包含多个权限,一个权限也可被多个角色模板包含。
UserTemplate表示一个用户模板,id属性表示用户模板的唯一标识;name属性是用户模板的名称,创建相应用户时,使用该属性作为用户的名称;roleTemplates属性是一组RoleTemplate,表示该用户模板包含的所有角色模板,创建相应用户时,用户也拥有由这些角色模板创建的相应的角色。UserTemplate与RoleTemplate之间的关系是多对多关系,即一个用户模板可以包含多个角色模板,一个角色模板也可被多个用户模板包含。
AppParam表示一个应用参数,id属性表示应用参数的唯一标识;key属性表示该应用参数的键值;
defaultValue属性表示该应用参数的默认值,defaultValue不为空时表示该应用参数的默认值,否则,表示没有默认值。
App表示一个应用,uuid属性表示应用的唯一标识;name属性表示应用的名称;roleTemplates属性是一组RoleTemplate,表示该应用所包含的所有角色模板;userTemplates属性是一组UserTemplate,表示该应用所包含的所有用户模板;params属性是一组AppParam,表示该应用所包含的所有应用参数;privileges属性是一组Privilege,表示该应用定义的所有权限。App与RoleTemplate的关系是一对多关系,即一个应用可以包含多个角色模板,一个角色模板只能属于一个应用;App与UserTemplate的关系是一对多关系,即一个应用可以包含多个用户模板,一个用户模板只能属于一个应用;App与AppParam的关系是一对多关系,即一个应用可以包含多个应用参数,一个应用参数只能属于一个应用;App与Privilege的关系是一对多关系,即一个应用可以定义多个权限,一个权限只能属于一个应用。
Suite表示一个应用套件,id属性表示应用套件的唯一标识;name属性是应用套件的名称;apps属性是一组App,表示该应用套件包含的所有应用。租户开通一个应用套件,则开通了该应用包含的所有应用。
Tenant表示一个租户,id属性表示租户的唯一标识;name属性是租户的名称;roles属性是一组Role,表示该租户下的所有角色;users属性是一组User,表示该租户下的所有用户;params属性是一组TenantParam,表示该租户下的所有参数;suites属性是一组Suite,表示该租户购买的所有应用套件。Tenant与Role的关系是一对多关系,即一个租户可以有多个角色,一个角色只能属于一个租户;Tenant与User的关系是一对多关系,即一个租户可以有多个用户,一个用户只能属于一个租户;Tenant与TenantParam的关系是一对多关系,即一个租户可以有多个租户参数,一个租户参数只能属于一个租户;Tenant与Suite的关系是多对多关系,即一个租户可以购买多个应用套件,一个应用套件也能被多个租户购买。
创建一个角色模板时,需要指定角色模板名称和选择该角色模板所包含的权限。创建一个用户模板时,需要指定用户模板名称和选择角色模板。创建一个应用套件时,需要指定应用套件的名称和选择所包含的应用。
当租户购买一个应用套件时,系统后台的处理逻辑如下:
1)查询该应用套件包含的所有应用,并遍历所有应用;
2)查询每个应用下的角色模板,为租户创建相应的角色,角色名称使用角色模板名称,角色包含的权限和角色模板包含的权限想用;
3)查询每个应用下的用户模板,为租户创建相应的用户,用户名称使用用户模板名称,将第二步中相同应用下创建的角色分配给该用户;
4)查询每个应用下的应用参数,为租户创建租户参数,如有默认值则使用默认值,如没有默认值,则从开通应用时输入的参数值中获取。
通过以上步骤,就完成了租户购买应用套件,开通应用的初始化操作。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种多租户环境下租户和应用模型的初始化方法,其特征在于,包括:
在应用下分别配置角色模版、用户模版和应用参数,其中,所述角色模版包括权限,所述用户模版拥有应用下的所述角色模版;
租户开通所述应用时,根据所述角色模版创建相应的角色,创建的角色包括所述角色模版的所述权限;
根据所述用户模版为所述租户创建相应的用户,赋予所述用户所述角色模版相应的角色;
根据所述应用参数为所述租户创建相应的租户参数。
2.根据权利要求1所述的初始化方法,其特征在于,还包括:
定义应用套件包括一组应用,租户通过获得所述应用套件来开通所述一组应用。
3.根据权利要求1所述的初始化方法,其特征在于,其中,
所述应用参数包括默认值参数和无默认值参数;
租户开通应用时,对于所述默认值参数,租户使用默认参数值或使用自定义参数值;对于无默认值参数,租户使用指定参数值。
4.根据权利要求1所述的初始化方法,其特征在于,其中,
所述角色与所述权限的关系是多对多关系。
5.根据权利要求1所述的初始化方法,其特征在于,其中,
所述用户与所述角色的关系是多对多关系。
6.根据权利要求1所述的初始化方法,其特征在于,其中,
所述角色模版与所述权限的关系是多对多关系。
7.根据权利要求1所述的初始化方法,其特征在于,其中,
所述用户模版与所述角色模版的关系是多对多关系。
8.根据权利要求1所述的初始化方法,其特征在于,其中,
所述应用与所述用户模版的关系、所述应用与所述角色模版、所述应用与所述应用参数的关系、以及所述应用与所述权限的关系均是一对多关系。
9.根据权利要求2所述的初始化方法,其特征在于,其中,
所述租户与所述角色的关系、所述租户与所述用户的关系、所述租户与所述租户参数的关系均是一对多关系;
所述租户与所述应用套件的关系是多对多关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810438824.5A CN108681452A (zh) | 2018-05-09 | 2018-05-09 | 一种多租户环境下租户和应用模型的初始化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810438824.5A CN108681452A (zh) | 2018-05-09 | 2018-05-09 | 一种多租户环境下租户和应用模型的初始化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108681452A true CN108681452A (zh) | 2018-10-19 |
Family
ID=63806032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810438824.5A Pending CN108681452A (zh) | 2018-05-09 | 2018-05-09 | 一种多租户环境下租户和应用模型的初始化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108681452A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448593A (zh) * | 2020-07-31 | 2021-09-28 | 心医国际数字医疗系统(大连)有限公司 | 诊疗系统平台应用的自动部署方法、装置及电子设备 |
CN113839942A (zh) * | 2021-09-22 | 2021-12-24 | 上海妙一生物科技有限公司 | 一种用户权限管理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007142849A1 (en) * | 2006-05-30 | 2007-12-13 | Microsoft Corporation | Translating role-based access control policy to resource authorization policy |
CN102571821A (zh) * | 2012-02-22 | 2012-07-11 | 浪潮电子信息产业股份有限公司 | 一种云安全访问控制模型 |
-
2018
- 2018-05-09 CN CN201810438824.5A patent/CN108681452A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007142849A1 (en) * | 2006-05-30 | 2007-12-13 | Microsoft Corporation | Translating role-based access control policy to resource authorization policy |
CN102571821A (zh) * | 2012-02-22 | 2012-07-11 | 浪潮电子信息产业股份有限公司 | 一种云安全访问控制模型 |
Non-Patent Citations (2)
Title |
---|
朱养鹏: "SaaS平台访问控制研究", 《计算机工程与应用》 * |
韩敏: "产业链协同SaaS平台多租户权限管理技术", 《计算机系统应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448593A (zh) * | 2020-07-31 | 2021-09-28 | 心医国际数字医疗系统(大连)有限公司 | 诊疗系统平台应用的自动部署方法、装置及电子设备 |
CN113839942A (zh) * | 2021-09-22 | 2021-12-24 | 上海妙一生物科技有限公司 | 一种用户权限管理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200358775A1 (en) | System and method for managing electronic interactions based on defined relationships | |
CN104050401B (zh) | 用户权限管理方法及系统 | |
EP2510473B1 (en) | Unified user login for co-location facilities | |
CN104838630B (zh) | 基于策略的应用程序管理 | |
US8935764B2 (en) | Network system for implementing a cloud platform | |
US20080244736A1 (en) | Model-based access control | |
US20080201191A1 (en) | Dynamic workflow resource authentication and discovery | |
KR20090069280A (ko) | 웹 서비스 환경에서 동기화된 정책을 제어하는 방법 및 컴퓨터 구현 방법과 컴퓨터 판독가능 기록 매체 | |
WO2020135492A1 (zh) | 软件分层管理系统 | |
CN101395632A (zh) | 权利的管理和应用 | |
US11621961B2 (en) | Method for managing a cloud computing system | |
US10135876B2 (en) | Security compliance framework usage | |
CN108681452A (zh) | 一种多租户环境下租户和应用模型的初始化方法 | |
Linthicum | Chapter 1: Service oriented architecture (soa) | |
US10547506B2 (en) | Determining identities for executing cloud processing and approvers of the executing | |
CN109214207A (zh) | 多用户访问的网络中权限的管理方法和装置 | |
Wolf et al. | A model for content-dependent access control for Web-based services with role-based approach | |
CN111818090B (zh) | 一种SaaS平台上的权限管理方法和系统 | |
US9571564B2 (en) | Network system for implementing a cloud platform | |
US20150381743A1 (en) | System and Method for Dynamic Creation of Distribution Network Software Applications | |
Madani et al. | Access control in a collaborative session in multi tenant environment | |
Ruo-Fei et al. | A united access control model for systems in collaborative commerce | |
US20230153413A1 (en) | User centric system and method for interaction between humans and devices | |
KR102438067B1 (ko) | 클라우드 인프라 구축 자동화 및 시각화 서비스 방법을 지원하는 시스템 | |
US11934817B2 (en) | Systems and methods for deploying federated infrastructure as code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181019 |