CN106201506A - Function assembly and customization method based on multi-tenant mode - Google Patents
Function assembly and customization method based on multi-tenant mode Download PDFInfo
- Publication number
- CN106201506A CN106201506A CN201610532479.2A CN201610532479A CN106201506A CN 106201506 A CN106201506 A CN 106201506A CN 201610532479 A CN201610532479 A CN 201610532479A CN 106201506 A CN106201506 A CN 106201506A
- Authority
- CN
- China
- Prior art keywords
- metadata
- function
- menu
- management platform
- application management
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
技术领域technical field
本发明涉及SaaS应用领域,具体地说是一种基于多租户模式的功能装配与定制方法和系统。The present invention relates to the field of SaaS application, in particular to a function assembly and customization method and system based on a multi-tenant model.
背景技术Background technique
SaaS模式是当前兴起的一种完全创新的软件应用模式,通常真正意义上的SaaS应用架构应满足可配置和高性能多租户架构的要求,以有效降低SaaS应用的硬件成本和维护成本。可配置性使得SaaS应用更为通用,客户只需通过简单的配置,即可满足自身的个性化需求。企业SaaS环境中,租户可对应于某个特定组织,组织通过定制应用程序使用服务,不是应用程序的所有者;组织关联到一组员工用户,员工用户是SaaS应用程序的使用者。租户根据SaaS应用的可配置特性按需订购,获取SaaS应用提供的软件服务;而SaaS为每个租户提供一份应用程序的副本,隔离租户的数据。SaaS应用更广义的是工具化SaaS,比如视频会议租用、企业邮箱等主要的SaaS应用。The SaaS model is a completely innovative software application model currently emerging. Usually, the real SaaS application architecture should meet the requirements of configurable and high-performance multi-tenant architecture to effectively reduce the hardware cost and maintenance cost of SaaS applications. Configurability makes SaaS applications more versatile, and customers can meet their individual needs through simple configuration. In an enterprise SaaS environment, a tenant can correspond to a specific organization, and the organization uses the service through a customized application, and is not the owner of the application; the organization is associated with a group of employee users, and the employee user is the user of the SaaS application. Tenants order on-demand according to the configurable features of the SaaS application to obtain the software services provided by the SaaS application; and SaaS provides each tenant with a copy of the application to isolate the tenant's data. SaaS applications are more broadly defined as instrumental SaaS, such as video conference rental, corporate mailboxes and other major SaaS applications.
发明内容Contents of the invention
本发明要解决的问题,在于提出一种基于多租户模式的功能装配与定制方法,该方法适用于期待转化为SaaS多租户应用的产品。本发明提出了基于XML的功能装配规范,根据规范分解目标应用的系统功能,组合原子功能为功能包,并将功能包打包为方便租户定制的销售包。租户按需定制功能后,根据自身需要将功能再次分配给特定角色的员工用户。本发明还公开了一种基于多租户模式的功能装配与定制系统。The problem to be solved by the present invention is to propose a function assembly and customization method based on a multi-tenant model, which is suitable for products expected to be transformed into SaaS multi-tenant applications. The invention proposes an XML-based functional assembly specification, decomposes system functions of target applications according to the specification, combines atomic functions into function packages, and packages the function packages into sales packages that are convenient for tenants to customize. After the tenant customizes the functions according to their needs, they can reassign the functions to employee users with specific roles according to their own needs. The invention also discloses a multi-tenant mode-based function assembly and customization system.
本发明的具体的技术方案为:一种基于多租户模式的功能装配与定制方法,所述的方法包括元数据配置端、应用管理平台、租户端和用户端,其包括以下步骤:The specific technical solution of the present invention is: a function assembly and customization method based on a multi-tenant mode, the method includes a metadata configuration terminal, an application management platform, a tenant terminal and a user terminal, which includes the following steps:
S1:元数据配置端将目标应用的整体功能拆分为原子功能,并将原子功能配置为功能包和包括一个或多个功能包的销售包;并将菜单元数据、页面元素元数据、原子功能、原子功能与菜单元数据和页面元素元数据之间的关联性、功能包和销售包上传至应用管理平台;S1: The metadata configuration end splits the overall function of the target application into atomic functions, and configures the atomic functions as a function package and a sales package including one or more function packages; Functions, associations between atomic functions and menu metadata and page element metadata, function packages and sales packages are uploaded to the application management platform;
S2:应用管理平台将S1中的上传至应用管理平台的数据进行解析;S2: The application management platform analyzes the data uploaded to the application management platform in S1;
S3:租户端通过应用管理平台定制销售包、向用户分配一个或多个功能包;S3: The tenant customizes the sales package through the application management platform, and assigns one or more function packages to the user;
S4:用户端从应用管理平台获取当前请求页面的菜单元数据和页面元素元数据,并显示用户端所分配得到的功能包中原子功能关联的菜单和页面元素。S4: The user terminal obtains the menu metadata and page element metadata of the currently requested page from the application management platform, and displays the menu and page elements associated with the atomic functions in the function package allocated by the user terminal.
在上述的基于多租户模式的功能装配与定制方法中,所述的S1具体包括:In the above-mentioned function assembly and customization method based on the multi-tenant mode, the S1 specifically includes:
S11:在元数据配置端将目标应用的整体功能拆分为原子功能,并识别出菜单元数据和页面元素元数据;S11: Split the overall function of the target application into atomic functions at the metadata configuration end, and identify menu metadata and page element metadata;
S12:在元数据配置端定义原子功能之间、原子功能和菜单元数据、原子功能和页面元素元数据之间的关联性;S12: Define the correlation between atomic functions, atomic functions and menu metadata, atomic functions and page element metadata at the metadata configuration side;
S13:在元数据配置端将原子功能配置为功能包和包括一个或多个功能包的销售包;并将S11中的原子功能、菜单元数据和页面元素元数据,S12中的关联性,S13中的功能包和销售包上传至应用管理平台。S13: At the metadata configuration end, configure the atomic function as a function package and a sales package including one or more function packages; combine the atomic function, menu metadata and page element metadata in S11, the association in S12, and S13 Upload the function package and sales package in the application management platform.
在上述的基于多租户模式的功能装配与定制方法中,所述的S4具体包括:In the above-mentioned function assembly and customization method based on the multi-tenant mode, the S4 specifically includes:
S41:用户端登录目标应用后发送身份验证连接请求至应用管理平台,从应用管理平台进行验证;S41: After the client logs in to the target application, it sends an identity verification connection request to the application management platform, and verifies from the application management platform;
S42:验证通过后从应用管理平台获取访问token;S42: Obtain an access token from the application management platform after the verification is passed;
S43:根据访问token从应用管理平台获取当前请求页面的菜单元数据和页面元素元数据;S43: Obtain menu metadata and page element metadata of the currently requested page from the application management platform according to the access token;
S44:当目标应用每展现一个页面时,显示租户端所分配的原子功能所关联的菜单和页面元素,隐藏没有关联的菜单和页面元素。S44: When each page is displayed by the target application, display menus and page elements associated with atomic functions assigned by the tenant, and hide menus and page elements that are not associated.
在上述的基于多租户模式的功能装配与定制方法中,所述的菜单元数据、页面元素元数据、功能包、销售包均以元数据规范文件定义。In the above multi-tenant-based function assembly and customization method, the menu metadata, page element metadata, function package, and sales package are all defined in a metadata specification file.
在上述的基于多租户模式的功能装配与定制方法中,用户端分配得到的功能包所包含的原子功能以及该原子功能所关联的菜单和页面元素的元数据均标注为已定制,且包含了关联的原子功能的关键字。In the above method of function assembly and customization based on the multi-tenant model, the atomic functions contained in the function package allocated by the client and the metadata of the menu and page elements associated with the atomic functions are marked as customized, and include Keyword for the associated atomic function.
在上述的基于多租户模式的功能装配与定制方法中,所述的菜单元数据包括菜单id、菜单名称、菜单路径、菜单标识符、菜单标识符值、父级菜单id;In the above-mentioned function assembly and customization method based on multi-tenant mode, the menu metadata includes menu id, menu name, menu path, menu identifier, menu identifier value, parent menu id;
所述的页面元素元数据包括:页面元素id、页面元素名称、页面元素路径、页面元素标识符、页面元素标识符值、内置菜单名称、内置菜单路径、内置菜单标识符、内置菜单标记符值;The page element metadata includes: page element id, page element name, page element path, page element identifier, page element identifier value, built-in menu name, built-in menu path, built-in menu identifier, built-in menu marker value ;
原子功能之间的关联性是指原子功能之间的依赖关系。The correlation between atomic functions refers to the dependency relationship between atomic functions.
同时本发明还公开了一种用于实现上述的基于多租户模式的功能装配与定制方法的系统,包括元数据配置端、应用管理平台、租户端和用户端;At the same time, the present invention also discloses a system for realizing the above-mentioned function assembly and customization method based on the multi-tenant mode, including a metadata configuration terminal, an application management platform, a tenant terminal and a user terminal;
元数据配置端用于供配置者将目标应用的整体功能拆分为原子功能,并将原子功能配置为功能包和包括一个或多个功能包的销售包;并将菜单元数据、页面元素元数据、原子功能、原子功能与菜单元数据和页面元素元数据之间的关联性、功能包和销售包上传至应用管理平台;The metadata configuration end is used for the configurator to split the overall function of the target application into atomic functions, and configure the atomic functions into function packages and sales packages including one or more function packages; Data, atomic functions, associations between atomic functions and menu metadata and page element metadata, function packages and sales packages are uploaded to the application management platform;
所述的应用管理平台用于将元数据配置端上传的数据进行解析;The application management platform is used to analyze the data uploaded by the metadata configuration terminal;
所述的租户端用于通过应用管理平台定制销售包、向用户分配一个或多个功能包;The tenant terminal is used to customize the sales package through the application management platform, and distribute one or more function packages to the user;
所述的用户端用于从应用管理平台获取当前请求页面的菜单元数据和页面元素元数据,并显示用户端所分配得到的功能包中原子功能关联的菜单和页面元素。The client is used to obtain the menu metadata and page element metadata of the currently requested page from the application management platform, and display the menu and page elements associated with the atomic functions in the function package allocated by the client.
在上述的基于多租户模式的功能装配与定制系统中,所述的应用管理平台包括:In the above-mentioned functional assembly and customization system based on multi-tenant mode, the application management platform includes:
元数据解析子模块,用于对上传至应用管理平台的数据进行解析;The metadata analysis sub-module is used to analyze the data uploaded to the application management platform;
功能定制和分配子模块,用于供租户端定制销售包,并供租户端向用户端分配一个或多个功能包;The function customization and distribution sub-module is used for the tenant to customize the sales package, and for the tenant to distribute one or more function packages to the user;
元数据服务子模块,用于根据用户端的访问token将对应的菜单元数据和页面元素元数据发送至用户端。The metadata service sub-module is used to send the corresponding menu metadata and page element metadata to the client according to the access token of the client.
在上述的基于多租户模式的功能装配与定制系统中,所述的用户端包括以下子模块:In the above-mentioned functional assembly and customization system based on multi-tenant mode, the client includes the following submodules:
验证子模块,用于在登录目标应用后发送身份验证连接请求至应用管理平台,从应用管理平台进行验证,身份验证连接请求验证通过后获得回传的数据,即为访问token;The verification sub-module is used to send an identity verification connection request to the application management platform after logging in to the target application, and perform verification from the application management platform. After the identity verification connection request is verified, the returned data is obtained, which is the access token;
元数据获取子模块,用于根据访问token从应用管理平台获取当前请求页面的菜单元数据和页面元素元数据;The metadata acquisition sub-module is used to acquire the menu metadata and page element metadata of the currently requested page from the application management platform according to the access token;
显示子模块,用于当目标应用每展现一个页面时,显示租户端所分配的原子功能所关联的菜单和页面元素,隐藏没有关联的菜单和页面元素。The display sub-module is used to display the menu and page elements associated with the atomic functions assigned by the tenant when the target application displays each page, and hide the menu and page elements that are not associated.
在上述的基于多租户模式的功能装配与定制系统中,所述的应用管理平台还包括:In the above-mentioned functional assembly and customization system based on the multi-tenant mode, the application management platform further includes:
数据隔离子模块,用于对租户定制的数据进行隔离;The data isolation sub-module is used to isolate the data customized by the tenant;
应用管理子模块:用于注册租户、注册应用。Application management sub-module: used to register tenants and register applications.
与现有技术相比,本发明的有益效果在于:Compared with prior art, the beneficial effect of the present invention is:
通用性;功能装配规范、应用管理平台适用于不同语言开发的应用。Versatility; functional assembly specifications and application management platform are suitable for applications developed in different languages.
降低目标应用改造复杂度,从而降低改造成本和减少改造时间周期。Reduce the complexity of the target application transformation, thereby reducing the transformation cost and the transformation time period.
数据隔离,主要是应用数据和每个应用的租户数据隔离。Data isolation is mainly the isolation of application data and tenant data of each application.
松耦合;主要是目标应用与元数据解析、功能定制及分配、租户定制数据隔离、租户管理、元数据服务等模块独立存在,目标应用如果扩展模块绑定,则可恢复为非SaaS应用。Loose coupling: Mainly, the target application and metadata analysis, function customization and distribution, tenant customization data isolation, tenant management, metadata service and other modules exist independently. If the target application is bound with the extension module, it can be restored to a non-SaaS application.
附图说明Description of drawings
图1为本发明实施例1和2的流程图;Fig. 1 is the flowchart of embodiment 1 and 2 of the present invention;
图2为本发明实施例2的流程图;Fig. 2 is the flowchart of embodiment 2 of the present invention;
图3为本发明实施例2的流程图;Fig. 3 is the flowchart of embodiment 2 of the present invention;
图4为本发明实施例3的结构方框图;Fig. 4 is the structural block diagram of embodiment 3 of the present invention;
图5为本发明实施例4的结构方框图;Fig. 5 is a structural block diagram of Embodiment 4 of the present invention;
图6为本发明实施例4的流程图;Fig. 6 is the flowchart of embodiment 4 of the present invention;
图7为本发明实施例4的流程图;Fig. 7 is the flowchart of embodiment 4 of the present invention;
图8为本发明实施例4的原理图。Fig. 8 is a schematic diagram of Embodiment 4 of the present invention.
具体实施方式detailed description
下面结合具体实施方式,对本发明的技术方案作进一步的详细说明,但不构成对本发明的任何限制。The technical solutions of the present invention will be further described in detail below in conjunction with specific embodiments, but this does not constitute any limitation to the present invention.
实施例1Example 1
如图1所示,一种基于多租户模式的功能装配与定制方法,所述的方法包括元数据配置端、应用管理平台、租户端和用户端,其包括以下步骤:As shown in Figure 1, a function assembly and customization method based on multi-tenant mode, the method includes a metadata configuration terminal, an application management platform, a tenant terminal and a user terminal, which includes the following steps:
S1:元数据配置端将目标应用的整体功能拆分为原子功能,并将原子功能配置为功能包和包括一个或多个功能包的销售包;并将菜单元数据、页面元素元数据、原子功能、原子功能与菜单元数据和页面元素元数据之间的关联性、功能包和销售包上传至应用管理平台;S1: The metadata configuration end splits the overall function of the target application into atomic functions, and configures the atomic functions as a function package and a sales package including one or more function packages; Functions, associations between atomic functions and menu metadata and page element metadata, function packages and sales packages are uploaded to the application management platform;
S2:应用管理平台将S1中的上传至应用管理平台的数据进行解析;S2: The application management platform analyzes the data uploaded to the application management platform in S1;
S3:租户端通过应用管理平台定制销售包、向用户分配一个或多个功能包;S3: The tenant customizes the sales package through the application management platform, and assigns one or more function packages to the user;
S4:用户端从应用管理平台获取当前请求页面的菜单元数据和页面元素元数据,并显示用户端所分配得到的功能包中原子功能关联的菜单和页面元素。S4: The user terminal obtains the menu metadata and page element metadata of the currently requested page from the application management platform, and displays the menu and page elements associated with the atomic functions in the function package allocated by the user terminal.
通过上述步骤,可以使租户自由定制功能,降低用户对于目标应用的改造难度,功能装配规范、应用管理平台适用于不同语言开发的应用。Through the above steps, tenants can freely customize functions, reduce the difficulty of users' transformation of target applications, and the functional assembly specifications and application management platform are suitable for applications developed in different languages.
实施例2:Example 2:
如图1至3所示,一种基于多租户模式的功能装配与定制方法,所述的方法包括元数据配置端、应用管理平台、租户端和用户端,其包括以下步骤:As shown in Figures 1 to 3, a function assembly and customization method based on a multi-tenant mode, the method includes a metadata configuration terminal, an application management platform, a tenant terminal and a user terminal, which includes the following steps:
S1:配置者在元数据配置端将目标应用的整体功能拆分为原子功能,并将原子功能配置为功能包和包括一个或多个功能包的销售包;并将菜单元数据、页面元素元数据、原子功能、原子功能与菜单元数据和页面元素元数据之间的关联性、功能包和销售包上传至应用管理平台;S1: The configurator splits the overall function of the target application into atomic functions at the metadata configuration end, and configures the atomic functions into function packages and sales packages including one or more function packages; Data, atomic functions, associations between atomic functions and menu metadata and page element metadata, function packages and sales packages are uploaded to the application management platform;
具体来说,如图2所示,所述的步骤S1包括以下子步骤:Specifically, as shown in Figure 2, the step S1 includes the following sub-steps:
S11:在元数据配置端将目标应用的整体功能拆分为原子功能,并识别出菜单元数据和页面元素元数据;元数据配置端可以为一整套完整的自动化配置系统,也可以是人工对目标应用进行拆分。S11: Split the overall function of the target application into atomic functions at the metadata configuration end, and identify menu metadata and page element metadata; the metadata configuration end can be a complete set of automatic configuration system, or manual The target application is split.
所述的菜单元数据包括菜单id、菜单名称、菜单路径、菜单标识符、菜单标识符值、父级菜单id。菜单元数据装配规范设计的目标是目标应用运行期间能通过元数据唯一识别出对应的菜单对象。The menu metadata includes menu id, menu name, menu path, menu identifier, menu identifier value, parent menu id. The goal of the design of the menu metadata assembly specification is to uniquely identify the corresponding menu object through the metadata during the running of the target application.
所述的页面元素元数据包括:页面元素id、页面元素名称、页面元素路径、页面元素标识符、页面元素标识符值、内置菜单名称、内置菜单路径、内置菜单标识符、内置菜单标记符值。页面元素元数据装配规范设计的目标是目标应用运行期间能通过元数据唯一识别出对应的页面元素对象。The page element metadata includes: page element id, page element name, page element path, page element identifier, page element identifier value, built-in menu name, built-in menu path, built-in menu identifier, built-in menu marker value . The goal of the page element metadata assembly specification design is to uniquely identify the corresponding page element object through the metadata during the running of the target application.
通过元数据规范文件对菜单和页面元素进行定义有两方面的目的,一是根据菜单和页面元素元数据可以识别出目标应用的菜单和页面,二是菜单和页面元素元数据定义可以关联到原子功能。本文中所指的元数据为通过元数据规范文件定义得到的数据。There are two purposes for defining menu and page elements through the metadata specification file. One is to identify the menu and page of the target application according to the metadata of the menu and page elements, and the other is to associate the definition of menu and page element metadata with atoms. Features. The metadata referred to in this article refers to the data defined by the metadata specification file.
S12:在元数据配置端定义原子功能之间、原子功能和菜单元数据、原子功能和页面元素元数据之间的关联性;S12: Define the correlation between atomic functions, atomic functions and menu metadata, atomic functions and page element metadata at the metadata configuration side;
具体来说,目标应用的每个新页面展现前,会访问页面对应的菜单和页面元素元数据,其中被登录用户分配到的原子功能所关联的菜单和页面元素元数据会被标记为“已定制”。页面元素元数据装配规范的主要内容是:页面id、页面路径、页面所关联的菜单id、页面所关联的页面元素id。Specifically, before each new page of the target application is displayed, the menu and page element metadata corresponding to the page will be accessed, and the menu and page element metadata associated with the atomic function assigned to the logged-in user will be marked as "already custom made". The main contents of the page element metadata assembly specification are: page id, page path, menu id associated with the page, and page element id associated with the page.
原子功能的设计理念是“用户价值驱动”,只封装对用户有意义的功能。原子功能之间彼此独立,原子功能的集合是目标应用的全部功能。原子功能元数据装配规范的主要内容是:功能id、功能名称、功能说明、功能关键字、关联菜单id、关联页面id、所依赖功能的id。一个功能可能依赖一个或者一组功能,也可能没有依赖其他功能。The design concept of atomic functions is "user value driven", and only encapsulates functions that are meaningful to users. Atomic functions are independent of each other, and the collection of atomic functions is the entire function of the target application. The main contents of the atomic function metadata assembly specification are: function id, function name, function description, function keyword, associated menu id, associated page id, and dependent function id. A feature may depend on one feature or set of features, or may not depend on other features.
S13:在元数据配置端将原子功能配置为功能包和包括一个或多个功能包的销售包;并将S11中的原子功能、菜单元数据和页面元素元数据,S12中的关联性,S13中的功能包和销售包上传至应用管理平台。S13: At the metadata configuration end, configure the atomic function as a function package and a sales package including one or more function packages; combine the atomic function, menu metadata and page element metadata in S11, the association in S12, and S13 Upload the function package and sales package in the application management platform.
功能包的设计思路主要考虑三个方面:用户业务、具备相关性的原子功能、具备依赖关系的原子功能。销售包是对功能包的进一步封装,面向对象是租户。功能包/销售包元数据装配规范的主要内容是:功能包id、功能包名称、功能包描述、功能包包含的原子功能id、功能包包含的功能包id。租户定制了销售包后,可将销售包所包含的功能包分配给某个角色,并对分配结果执行原子功能的依赖性检查。The design idea of the function package mainly considers three aspects: user business, atomic functions with dependencies, and atomic functions with dependencies. The sales package is a further encapsulation of the function package, and object-oriented is the tenant. The main contents of the function package/sales package metadata assembly specification are: function package id, function package name, function package description, atomic function id contained in the function package, and function package id contained in the function package. After the tenant customizes the sales package, he can assign the function package contained in the sales package to a certain role, and perform atomic function dependency check on the assignment result.
S2:应用管理平台将S1中的上传至应用管理平台的数据进行解析;S2: The application management platform analyzes the data uploaded to the application management platform in S1;
具体来说,应用管理平台针对每种类型的元数据提供专门的解析类,用以解析规范文件的数据。Specifically, the application management platform provides a special parsing class for each type of metadata to parse the data of the specification file.
S3:租户端通过应用管理平台定制销售包、向用户分配一个或多个功能包;S3: The tenant customizes the sales package through the application management platform, and assigns one or more function packages to the user;
具体来说,租户可自定义用户角色,将定制的销售包所包含的功能包集合按需分配某个角色。当角色被分配了部分或全部功能包权限后,可对该角色执行功能检查,功能检查将分配到的功能包拆解为原子功能集合,并分析原子功能之间的依赖关系,如A依赖于B;如若发现某些存在依赖关系的原子功能未被分配到,告知检查者。租户通过用户管理为用户指定所属角色,则该用户拥有该角色分配到的功能包权限。应用管理平台使用数据库存储原子功能或功能包的id和类型。Specifically, tenants can customize user roles, and assign a certain role to the set of function packages included in the customized sales package as needed. When a role is assigned some or all of the function package permissions, a function check can be performed on the role. The function check will disassemble the assigned function package into a collection of atomic functions and analyze the dependencies between atomic functions. For example, A depends on B; If it is found that some atomic functions with dependencies are not assigned, inform the inspector. The tenant specifies the role for the user through user management, and the user has the function package permissions assigned to the role. The application management platform uses a database to store the id and type of atomic functions or function packages.
S4:用户端从应用管理平台获取当前请求页面的菜单元数据和页面元素元数据,并显示用户端所分配得到的功能包中原子功能关联的菜单和页面元素。S4: The user terminal obtains the menu metadata and page element metadata of the currently requested page from the application management platform, and displays the menu and page elements associated with the atomic functions in the function package allocated by the user terminal.
具体来说,如图3所示,所述的S4包括以下子步骤:Specifically, as shown in Figure 3, the S4 includes the following sub-steps:
S41:用户端登录目标应用后发送身份验证连接请求至应用管理平台,从应用管理平台进行验证;S41: After the client logs in to the target application, it sends an identity verification connection request to the application management platform, and verifies from the application management platform;
S42:验证通过后从应用管理平台获取访问token;S42: Obtain an access token from the application management platform after the verification is passed;
S43:根据访问token从应用管理平台获取当前请求页面的菜单元数据和页面元素元数据;S43: Obtain menu metadata and page element metadata of the currently requested page from the application management platform according to the access token;
S44:当目标应用每展现一个页面时,显示租户端所分配的原子功能所关联的菜单和页面元素,隐藏没有关联的菜单和页面元素。S44: When each page is displayed by the target application, display menus and page elements associated with atomic functions assigned by the tenant, and hide menus and page elements that are not associated.
在实际应用中,应用管理平台将元数据服务的数据访问封装为http请求,提供restful风格的访问格式。用户登录目标应用时,目标应用发送http请求连接应用管理平台的元数据服务模块进行身份验证,成功验证后得到访问token。此后目标应用使用token获取登录用户可使用的原子功能集合数据,用以检查页面内的菜单和页面内置菜单所对应的原子功能可用性。每一个页面展现前,目标应用根据token和页面路径发送http请求进行页面数据请求访问,元数据服务模块根据数据库存储的原子功能或功能包信息以及元数据文件的解析结果,解析出目标页面关联的菜单和页面元素,并解析出用户可使用原子功能集合所关联的菜单和页面元素,标记两者交集的数据为“已定制”并返回所有菜单和页面元素数据。目标应用对不可用的(未被定制的)菜单和页面元素进行隐藏,对菜单进行点击事件绑定和对应的原子功能关键字绑定。当菜单被点击时,根据关键字查询原子功能是否可以使用,如果不可用则提示用户没有操作权限。In practical application, the application management platform encapsulates the data access of the metadata service into an http request, and provides a restful access format. When a user logs in to the target application, the target application sends an http request to connect to the metadata service module of the application management platform for identity verification, and obtains an access token after successful verification. Afterwards, the target application uses the token to obtain the atomic function collection data available to the logged-in user to check the availability of the atomic functions corresponding to the menus in the page and the built-in menus on the page. Before each page is displayed, the target application sends an http request according to the token and page path to request page data access, and the metadata service module parses out the information associated with the target page based on the atomic function or function package information stored in the database and the analysis result of the metadata file Menu and page elements, and parse out the menu and page elements associated with the atomic function set that the user can use, mark the intersection data of the two as "customized" and return all menu and page element data. The target application hides unavailable (uncustomized) menus and page elements, and binds click events and corresponding atomic function keywords to menus. When the menu is clicked, check whether the atomic function can be used according to the keyword, and if it is not available, it will prompt the user that there is no operation permission.
通过上述操作,以统一的格式规范对菜单、页面元素、页面、原子功能、功能包(销售包)进行定义;同时,开发了应用管理平台:应用管理平台统一负责元数据解析模块、功能定制及分配模块、租户定制数据隔离模块、租户管理模块和元数据服务模块等;其中,元数据服务模块负责面向目标应用封装元数据访问的http请求。目标应用扩展部分是运行数据隔离模块、页面解析模块、事件侦听模块、功能验证模块、请求代理模块,这几个模块可打包为应用相关的库文件,同类型语言开发的应用可直接引入库文件进行扩展,改造工作更加轻量化。Through the above operations, menus, page elements, pages, atomic functions, and function packages (sales packages) are defined in a unified format; at the same time, an application management platform is developed: the application management platform is responsible for the metadata analysis module, function customization and Allocation module, tenant customized data isolation module, tenant management module and metadata service module, etc. Among them, the metadata service module is responsible for encapsulating http requests for metadata access for target applications. The target application extension part is the running data isolation module, page parsing module, event listening module, function verification module, and request proxy module. These modules can be packaged into application-related library files, and applications developed in the same type of language can be directly imported into the library The file is expanded, and the transformation work is more lightweight.
解决了传统技术中为了将一个应用转化为SaaS多租户应用,需要大规模重新改造原有应用,并在原有应用基础上开发出元数据解析模块、功能定制及分配模块、租户定制数据隔离模块、租户管理模块、元数据服务模块、运行数据隔离模块、页面解析模块、事件侦听模块、功能验证模块、请求代理模块等,所产生的大量的工作量的问题。It solves the problem that in traditional technology, in order to transform an application into a SaaS multi-tenant application, it is necessary to remodel the original application on a large scale, and develops a metadata analysis module, a function customization and distribution module, a tenant customization data isolation module, Tenant management module, metadata service module, operation data isolation module, page parsing module, event listening module, function verification module, request proxy module, etc., generate a lot of workload problems.
实施例3Example 3
本实施例示出了实施例1和2所对应的系统,具体来说:如图4所示,包括元数据配置端1、应用管理平台2、租户端3和用户端4;This embodiment shows the system corresponding to Embodiments 1 and 2. Specifically, as shown in FIG. 4 , it includes a metadata configuration terminal 1, an application management platform 2, a tenant terminal 3 and a user terminal 4;
元数据配置端1用于供配置者将目标应用的整体功能拆分为原子功能,并将原子功能配置为功能包和包括一个或多个功能包的销售包;并将菜单元数据、页面元素元数据、原子功能、原子功能与菜单元数据和页面元素元数据之间的关联性、功能包和销售包上传至应用管理平台2;The metadata configuration terminal 1 is used for the configurator to split the overall function of the target application into atomic functions, and configure the atomic functions into function packages and sales packages including one or more function packages; Metadata, atomic functions, associations between atomic functions and menu metadata and page element metadata, function packages and sales packages are uploaded to the application management platform 2;
所述的应用管理平台2用于将元数据配置端1上传的数据进行解析;The application management platform 2 is used to analyze the data uploaded by the metadata configuration terminal 1;
所述的应用管理平台2包括:Described application management platform 2 comprises:
元数据解析子模块21,用于对上传至应用管理平台2的数据进行解析;其对每个配置元都设计了对应的解析类,根据配置元规范格式设计类对象以保存解析结果,同时提供访问接口,供其它模块调用以获取文件解析结果。元数据解析模块对解析结果进行缓存。The metadata parsing sub-module 21 is used for parsing the data uploaded to the application management platform 2; it has designed a corresponding parsing class for each configuration element, and designed class objects according to the configuration element specification format to save the parsing results, and provide Access interface for calling by other modules to obtain file parsing results. The metadata parsing module caches the parsing results.
功能定制和分配子模块22,用于供租户端3定制销售包,并供租户端3向用户端4分配一个或多个功能包;其主要进行的是登录的租户进行功能定制、角色管理、用户管理、角色功能分配和功能检查等工作。其中,用户拥有的功能为其所属角色被分配到的功能。The function customization and distribution sub-module 22 is used for the tenant terminal 3 to customize the sales package, and for the tenant terminal 3 to distribute one or more function packages to the user terminal 4; it mainly performs function customization, role management, User management, role function assignment and function check, etc. Wherein, the functions owned by the user are the functions assigned to the role to which the user belongs.
元数据服务子模块23,用于根据用户端4的访问token将对应的菜单元数据和页面元素元数据发送至用户端4;其负责将用户登录验证、原子功能数据访问、页面请求数据访问等封装为restful风格的http请求,供目标应用调用。目标应用的用户登录时,携带登录者信息发送http请求,元数据服务模块对用户身份进行验证,成功验证的话回传访问token给目标应用,并将token写入数据库,同时缓存用户信息。目标应用发送后续请求时通过token进行数据访问,如果token失效,元数据服务模块先根据token从数据库读取用户信息。The metadata service sub-module 23 is used to send the corresponding menu metadata and page element metadata to the client 4 according to the access token of the client 4; it is responsible for user login verification, atomic function data access, page request data access, etc. Encapsulated as a restful http request for the target application to call. When a user of the target application logs in, an http request is sent with the registrant information, and the metadata service module verifies the user's identity. If the verification is successful, the access token is returned to the target application, and the token is written into the database, and the user information is cached at the same time. When the target application sends subsequent requests, it uses the token for data access. If the token fails, the metadata service module first reads user information from the database based on the token.
数据隔离子模块24,用于对租户定制的数据进行隔离;其主要负责应用数据隔离和租户定制数据隔离,每个注册的应用都可以使用应用管理平台2的模块服务,因此需要对每个应用涉及的数据进行隔离,确保每个应用的数据彼此互不干扰,某应用下的租户数据也需要彼此独立。本应用管理平台2采用的数据方案是“共享数据库、共享数据架构”。The data isolation sub-module 24 is used to isolate tenant-customized data; it is mainly responsible for application data isolation and tenant-customized data isolation, and each registered application can use the module service of the application management platform 2, so each application needs to be The data involved is isolated to ensure that the data of each application does not interfere with each other, and the tenant data under an application also needs to be independent of each other. The data scheme adopted by the application management platform 2 is "shared database, shared data structure".
应用管理子模块25:用于注册租户、注册应用。成功注册应用后会得到一个唯一的appid。每个注册的应用都可以使用应用管理平台2的模块服务。应用配置者注册应用后上传配置元文件,应用管理模块对打包上传的元数据规范文件进行解压缩。根据appid即可获取该应用下的元数据文件内容。每个应用会设计一个租户管理者,用以管理该应用的租户。Application management sub-module 25: for registering tenants and registering applications. After successfully registering the application, you will get a unique appid. Each registered application can use the module services of the application management platform 2 . The application configurator uploads the configuration metadata file after registering the application, and the application management module decompresses the packaged and uploaded metadata specification file. The content of the metadata file under the application can be obtained according to the appid. Each application will design a tenant manager to manage the application's tenants.
租户管理模块26,主要是租户管理者负责管理特定应用的所有租户,主要包括注册租户和删除租户的工作。The tenant management module 26 is mainly a tenant manager responsible for managing all tenants of a specific application, mainly including the work of registering tenants and deleting tenants.
所述的租户端3用于通过应用管理平台2定制销售包、向用户分配一个或多个功能包;The tenant terminal 3 is used to customize the sales package through the application management platform 2, and distribute one or more function packages to the user;
所述的用户端4用于从应用管理平台2获取当前请求页面的菜单元数据和页面元素元数据,并显示用户端4所分配得到的功能包中原子功能关联的菜单和页面。The client 4 is used to obtain the menu metadata and page element metadata of the currently requested page from the application management platform 2, and display the menu and pages associated with the atomic functions in the function package allocated by the client 4.
所述的用户端4包括以下子模块:Described user end 4 comprises following submodule:
验证子模块41,用于在登录目标应用后发送身份验证连接请求至应用管理平台2,从应用管理平台2进行验证,身份验证连接请求验证通过后获得回传的数据,即为访问token;The verification sub-module 41 is used to send an identity verification connection request to the application management platform 2 after logging in to the target application, and perform verification from the application management platform 2. After the identity verification connection request is verified, the returned data is obtained, which is the access token;
元数据获取子模块42,用于根据访问token从应用管理平台2获取当前请求页面的菜单元数据和页面元素元数据;The metadata obtaining sub-module 42 is used to obtain menu metadata and page element metadata of the currently requested page from the application management platform 2 according to the access token;
显示子模块43,用于当目标应用每展现一个页面时,显示租户端3所分配的原子功能所关联的菜单和页面元素,隐藏没有关联的菜单和页面元素。The display sub-module 43 is configured to display menus and page elements associated with atomic functions assigned by the tenant terminal 3 and hide unrelated menus and page elements when the target application presents a page.
本系统具有以下优点:This system has the following advantages:
通用性;功能装配规范、应用管理平台2适用于不同语言开发的应用。Versatility; function assembly specification, application management platform 2 is suitable for applications developed in different languages.
降低目标应用改造复杂度,从而降低改造成本和减少改造时间周期。Reduce the complexity of the target application transformation, thereby reducing the transformation cost and the transformation time period.
数据隔离,主要是应用数据和每个应用的租户数据隔离。Data isolation is mainly the isolation of application data and tenant data of each application.
松耦合;主要是目标应用与元数据解析、功能定制及分配、租户定制数据隔离、租户管理、元数据服务等模块独立存在,目标应用如果扩展模块绑定,则可恢复为非SaaS应用。Loose coupling: Mainly, the target application and metadata analysis, function customization and distribution, tenant customization data isolation, tenant management, metadata service and other modules exist independently. If the target application is bound with the extension module, it can be restored to a non-SaaS application.
实施例4Example 4
如图5-8,一个基于flex开发的视频会议系统,以其为例子,对各模块之间的配合工作关系描述如下,如图5:1、视频会议系统配置者根据视频会议系统的整体功能,编写菜单、页面、页面、原子功能、功能包元数据规范文件。2、视频会议系统配置者在应用管理模块注册应用,获取应用appid。3、视频会议系统配置者进入上述应用的管理界面,将元数据规范文件打包上传,并注册一个租户管理者,用以管理该应用的租户。4、租户管理者登录租户管理模块,注册该应用的租户信息。5、已注册的租户登录功能定制及分配模块,进行功能定制、角色管理、用户管理、角色功能分配等工作,其中功能定制、角色功能分配会通过元数据解析模块获取得到元数据解析结果。6、各应用的数据、各应用下的租户数据通过数据隔离模块隔离存储。7、元数据服务模块面向目标应用封装元数据访问的http请求,通过元数据解析模块获取得到元数据解析结果。As shown in Figure 5-8, a video conferencing system developed based on flex, taking it as an example, describes the cooperative working relationship between various modules as follows, as shown in Figure 5: 1. The video conferencing system configurator bases on the overall function of the video conferencing system , Write menu, page, page, atomic function, function package metadata specification files. 2. The video conferencing system configurator registers the application in the application management module and obtains the application appid. 3. The video conferencing system configurator enters the management interface of the above application, packages and uploads the metadata specification file, and registers a tenant manager to manage the tenants of the application. 4. The tenant manager logs in to the tenant management module and registers the tenant information of the application. 5. Registered tenants log in to the function customization and allocation module to perform functions such as function customization, role management, user management, and role function allocation. Among them, the function customization and role function allocation will be obtained through the metadata analysis module to obtain metadata analysis results. 6. The data of each application and the tenant data under each application are isolated and stored through the data isolation module. 7. The metadata service module encapsulates the http request for metadata access to the target application, and obtains the metadata analysis result through the metadata analysis module.
功能装配流程如图6,配置元规范使用xml文件进行描述,不同装配对象在规范格式上保持一致,从而能设计一致的数据结构进行解析和维护,且阅读方便。具体分析如下:The functional assembly process is shown in Figure 6. The configuration element specification is described in an xml file, and different assembly objects are consistent in the specification format, so that a consistent data structure can be designed for parsing and maintenance, and it is easy to read. The specific analysis is as follows:
装配菜单:菜单和页面元素本质上都是页面的元素。为了区分,会触发点击事件的元素在这里归为菜单,而诸如面板、列表等元素归为页面元素。可能你希望列表中也有编辑按钮,所以:页面元素也可拥有会触发点击事件的元素,我们称之为内置菜单。菜单元数据装配规范的主要内容是:菜单id、菜单名称、菜单路径、菜单标识符、菜单标识符值、父级菜单id;菜单元数据装配规范设计的目标是目标应用运行期间能通过元数据唯一识别出对应的菜单对象。Assembling menus: Menus and page elements are essentially elements of the page. In order to distinguish, elements that trigger click events are classified as menus here, while elements such as panels and lists are classified as page elements. Maybe you want to have an edit button in the list too, so: page elements can also have elements that trigger click events, we call them built-in menus. The main contents of the menu metadata assembly specification are: menu id, menu name, menu path, menu identifier, menu identifier value, and parent menu id; the goal of the menu metadata assembly specification design is that the target application can pass metadata Uniquely identifies the corresponding menu object.
装配页面元素:页面元素元数据装配规范的主要内容是:页面元素id、页面元素名称、页面元素路径、页面元素标识符、页面元素标识符值、内置菜单名称、内置菜单路径、内置菜单标识符、内置菜单标记符值。页面元素元数据装配规范设计的目标是目标应用运行期间能通过元数据唯一识别出对应的页面元素对象。Assembling page elements: The main contents of the page element metadata assembly specification are: page element id, page element name, page element path, page element identifier, page element identifier value, built-in menu name, built-in menu path, built-in menu identifier , the built-in menu marker value. The goal of the page element metadata assembly specification design is to uniquely identify the corresponding page element object through the metadata during the running of the target application.
装配页面:目标应用的每个新页面展现前,会访问页面对应的菜单和页面元素元数据,其中被登录用户分配到的原子功能所关联的菜单和页面元素元数据会被标记为“已定制”。页面元素元数据装配规范的主要内容是:页面id、页面路径、页面所关联的菜单id、页面所关联的页面元素id。Assembly page: Before each new page of the target application is displayed, the menu and page element metadata corresponding to the page will be accessed, and the menu and page element metadata associated with the atomic function assigned to the logged-in user will be marked as "customized ". The main contents of the page element metadata assembly specification are: page id, page path, menu id associated with the page, and page element id associated with the page.
装配原子功能:原子功能的设计理念是“用户价值驱动”,只封装对用户有意义的功能。原子功能之间彼此独立,原子功能的集合是目标应用的全部功能。原子功能元数据装配规范的主要内容是:功能id、功能名称、功能说明、功能关键字、关联菜单id、关联页面元素id、所依赖功能的id。一个功能可能依赖一个或者一组功能,也可能没有依赖其他功能。Assembling atomic functions: The design concept of atomic functions is "user value driven", and only encapsulates functions that are meaningful to users. Atomic functions are independent of each other, and the collection of atomic functions is the entire function of the target application. The main contents of the atomic function metadata assembly specification are: function id, function name, function description, function keyword, associated menu id, associated page element id, and dependent function id. A feature may depend on one feature or set of features, or may not depend on other features.
装配功能包和销售包:功能包的设计思路主要考虑三个方面:用户业务、具备相关性的原子功能、具备依赖关系的原子功能。销售包是对功能包的进一步封装,面向对象是租户。功能包/销售包元数据装配规范的主要内容是:功能包id、功能包名称、功能包描述、功能包包含的原子功能id、功能包包含的功能包id。租户定制了销售包后,可将销售包所包含的功能包分配给某个角色,并对分配结果执行原子功能的依赖性检查。Assembling function packages and sales packages: The design idea of function packages mainly considers three aspects: user business, atomic functions with dependencies, and atomic functions with dependencies. The sales package is a further encapsulation of the function package, and object-oriented is the tenant. The main contents of the function package/sales package metadata assembly specification are: function package id, function package name, function package description, atomic function id contained in the function package, and function package id contained in the function package. After the tenant customizes the sales package, he can assign the function package contained in the sales package to a certain role, and perform atomic function dependency check on the assignment result.
租户功能定制与功能分配流程如图7,应用配置者上传装配文件后,应用的租户登录到功能定制及分配模块,后者通过元数据解析模块获取销售包相关内容,租户即可定制销售包。数据隔离模块保证物理隔离每个租户的数据,使其互不干扰。The tenant function customization and function allocation process is shown in Figure 7. After the application configurator uploads the assembly file, the application tenant logs in to the function customization and allocation module, which obtains the relevant content of the sales package through the metadata analysis module, and the tenant can customize the sales package. The data isolation module ensures that the data of each tenant is physically isolated so that they do not interfere with each other.
目标应用转化为SaaS多租户应用后运行流程如图8,本发明采取的目标应用是基于flex开发的视频会议系统,扩展了请求代理模块、页面解析模块、事件侦听模块、功能验证模块和租户运行数据隔离模块。用户根据租户信息和用户个人信息登录视频会议系统时,请求代理模块发送http请求访问应用管理平台的元数据服务模块进行身份验证,回传访问token。每一个页面展现前,页面解析模块依赖请求代理模块发送页面请求,请求代理模块根据token和页面路径调用rest api进行页面数据请求访问,返回请求页面的菜单和页面元素数据;其中,用户被分配到的原子功能所对应的叶子菜单和页面元素已经绑定了原子功能关键字,可用于功能检查。页面解析模块对不可用的菜单和页面元素进行隐藏,并移交所有叶子菜单到事件侦听模块进行事件绑定和菜单对应的原子功能关键字绑定。菜单被点击时,根据关键字向功能验证模块查询是否可使用功能,功能验证模块则根据关键字和使用期限查询功能是否可用,不可用则提示用户没有操作权限且停止后续事件侦听器执行。目标应用将在程序运行期间从租户的角度对用户数据进行数据隔离。After the target application is transformed into a SaaS multi-tenant application, the operation process is shown in Figure 8. The target application adopted by the present invention is a video conferencing system developed based on flex, which extends the request agent module, page analysis module, event listening module, function verification module and tenant Run the data isolation module. When a user logs in to the video conferencing system based on tenant information and user personal information, the request agent module sends an http request to access the metadata service module of the application management platform for identity verification, and returns the access token. Before each page is displayed, the page parsing module relies on the request proxy module to send a page request, and the request proxy module calls the rest api to request access to page data according to the token and page path, and returns the menu and page element data of the requested page; among them, the user is assigned to The leaf menu and page elements corresponding to the atomic functions have been bound with atomic function keywords, which can be used for function checking. The page parsing module hides unavailable menus and page elements, and transfers all leaf menus to the event listening module for event binding and atomic function keyword binding corresponding to the menu. When the menu is clicked, the function verification module is inquired whether the function is available according to the keyword, and the function verification module is inquired whether the function is available according to the keyword and the expiration date. The target application will perform data isolation on user data from the perspective of the tenant during the running of the program.
以上所述的仅为本发明的较佳实施例,凡在本发明的精神和原则范围内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。The above are only preferred embodiments of the present invention, and any modifications, equivalent replacements and improvements made within the spirit and scope of the present invention shall be included within the protection scope of the present invention.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610532479.2A CN106201506B (en) | 2016-07-07 | 2016-07-07 | Function assembly and customization method based on multi-tenant mode |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610532479.2A CN106201506B (en) | 2016-07-07 | 2016-07-07 | Function assembly and customization method based on multi-tenant mode |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106201506A true CN106201506A (en) | 2016-12-07 |
| CN106201506B CN106201506B (en) | 2019-11-22 |
Family
ID=57472479
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201610532479.2A Active CN106201506B (en) | 2016-07-07 | 2016-07-07 | Function assembly and customization method based on multi-tenant mode |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106201506B (en) |
Cited By (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106371832A (en) * | 2016-08-29 | 2017-02-01 | 石化盈科信息技术有限责任公司 | SaaS (Software As A Service) function customization system and method based on metadata driving |
| CN107329739A (en) * | 2017-06-08 | 2017-11-07 | 石化盈科信息技术有限责任公司 | Page menus method for customizing and device |
| CN108052318A (en) * | 2018-01-03 | 2018-05-18 | 上海火杉信息科技有限公司 | It is a kind of that collaborative platform is knitted based on the multigroup of SaaS patterns |
| CN109241150A (en) * | 2018-09-18 | 2019-01-18 | 中轻国环(北京)环保科技有限公司 | A kind of wastewater treatment data analysis visualization interactive system based on SaaS mode |
| CN110968858A (en) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | User authority control method and system |
| CN111314491A (en) * | 2020-03-27 | 2020-06-19 | 北京尚医智信健康管理有限公司 | Cross-tenant data interaction method and device, server cluster and medium |
| CN111429223A (en) * | 2020-03-26 | 2020-07-17 | 中国建设银行股份有限公司 | Configuration method and device based on multi-tenant platform |
| CN111512286A (en) * | 2017-12-29 | 2020-08-07 | 华为技术有限公司 | Method and electronic device for programming |
| CN111641675A (en) * | 2020-04-28 | 2020-09-08 | 深圳壹账通智能科技有限公司 | Multi-tenant access service implementation method, device, equipment and storage medium |
| CN111709050A (en) * | 2020-05-21 | 2020-09-25 | 四川虹美智能科技有限公司 | Method and device for initializing permission configuration parameters |
| CN112015411A (en) * | 2020-08-14 | 2020-12-01 | 深圳市卓智荟教育科技有限公司 | Education application interface configuration method and device based on SAAS and readable storage medium |
| CN112966292A (en) * | 2021-05-19 | 2021-06-15 | 北京仁科互动网络技术有限公司 | Metadata access authority control method, system, electronic equipment and storage medium |
| CN113467817A (en) * | 2021-07-14 | 2021-10-01 | 广域铭岛数字科技有限公司 | Application management method, system, medium and electronic terminal |
| CN114971791A (en) * | 2022-05-26 | 2022-08-30 | 深圳市飞铭达信息技术有限公司 | An e-commerce system based on SaaS service |
| CN115146205A (en) * | 2022-07-26 | 2022-10-04 | 四川虹美智能科技有限公司 | Menu permission initialization method and device, equipment and medium |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101794226A (en) * | 2010-03-08 | 2010-08-04 | 山东大学 | Service software construction method and system adapting to multiple business abstraction levels |
| CN102609271A (en) * | 2012-02-20 | 2012-07-25 | 山东大学 | Metadata-driven visual SaaS (Software as a Service) application customizing method and metadata-driven visual SaaS application customizing system |
| CN103744960A (en) * | 2014-01-06 | 2014-04-23 | 河海大学 | Metadata indexing module and method based on cloud platform |
| US20150019855A1 (en) * | 2013-07-11 | 2015-01-15 | Insyde Software Corp. | System Platform Supporting Infrared Receiver/Transmitter and Operation Method Thereof |
| KR20150111177A (en) * | 2014-03-25 | 2015-10-05 | 김창대 | System for managing mobile application and method for managing the same |
-
2016
- 2016-07-07 CN CN201610532479.2A patent/CN106201506B/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101794226A (en) * | 2010-03-08 | 2010-08-04 | 山东大学 | Service software construction method and system adapting to multiple business abstraction levels |
| CN102609271A (en) * | 2012-02-20 | 2012-07-25 | 山东大学 | Metadata-driven visual SaaS (Software as a Service) application customizing method and metadata-driven visual SaaS application customizing system |
| US20150019855A1 (en) * | 2013-07-11 | 2015-01-15 | Insyde Software Corp. | System Platform Supporting Infrared Receiver/Transmitter and Operation Method Thereof |
| CN103744960A (en) * | 2014-01-06 | 2014-04-23 | 河海大学 | Metadata indexing module and method based on cloud platform |
| KR20150111177A (en) * | 2014-03-25 | 2015-10-05 | 김창대 | System for managing mobile application and method for managing the same |
Non-Patent Citations (3)
| Title |
|---|
| 刘定书等: "基于SaaS的功能可配置的产业集群信息化平台建设", 《中国科技信息》 * |
| 翟岳辉: "基于SaaS模式的企业管理服务平台设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
| 齐少蕾等: "一种适应SaaS多租户模式的数据迁移方法", 《计算机工程与应用》 * |
Cited By (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106371832A (en) * | 2016-08-29 | 2017-02-01 | 石化盈科信息技术有限责任公司 | SaaS (Software As A Service) function customization system and method based on metadata driving |
| CN107329739A (en) * | 2017-06-08 | 2017-11-07 | 石化盈科信息技术有限责任公司 | Page menus method for customizing and device |
| CN111512286A (en) * | 2017-12-29 | 2020-08-07 | 华为技术有限公司 | Method and electronic device for programming |
| US11204681B2 (en) | 2017-12-29 | 2021-12-21 | Huawei Technologies Co., Ltd. | Program orchestration method and electronic device |
| CN108052318B (en) * | 2018-01-03 | 2021-03-23 | 上海火杉信息科技有限公司 | Multi-organization collaboration platform based on software as a service (SaaS) mode |
| CN108052318A (en) * | 2018-01-03 | 2018-05-18 | 上海火杉信息科技有限公司 | It is a kind of that collaborative platform is knitted based on the multigroup of SaaS patterns |
| CN109241150A (en) * | 2018-09-18 | 2019-01-18 | 中轻国环(北京)环保科技有限公司 | A kind of wastewater treatment data analysis visualization interactive system based on SaaS mode |
| CN110968858A (en) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | User authority control method and system |
| CN110968858B (en) * | 2018-09-30 | 2022-04-01 | 北京国双科技有限公司 | User authority control method and system |
| CN111429223A (en) * | 2020-03-26 | 2020-07-17 | 中国建设银行股份有限公司 | Configuration method and device based on multi-tenant platform |
| CN111314491A (en) * | 2020-03-27 | 2020-06-19 | 北京尚医智信健康管理有限公司 | Cross-tenant data interaction method and device, server cluster and medium |
| CN111314491B (en) * | 2020-03-27 | 2022-07-08 | 北京尚医智信健康管理有限公司 | Cross-tenant data interaction method and device, server cluster and medium |
| CN111641675A (en) * | 2020-04-28 | 2020-09-08 | 深圳壹账通智能科技有限公司 | Multi-tenant access service implementation method, device, equipment and storage medium |
| CN111709050A (en) * | 2020-05-21 | 2020-09-25 | 四川虹美智能科技有限公司 | Method and device for initializing permission configuration parameters |
| CN112015411A (en) * | 2020-08-14 | 2020-12-01 | 深圳市卓智荟教育科技有限公司 | Education application interface configuration method and device based on SAAS and readable storage medium |
| CN112015411B (en) * | 2020-08-14 | 2021-04-20 | 深圳市卓智荟教育科技有限公司 | Education application interface configuration method and device based on SAAS and readable storage medium |
| CN112966292A (en) * | 2021-05-19 | 2021-06-15 | 北京仁科互动网络技术有限公司 | Metadata access authority control method, system, electronic equipment and storage medium |
| CN113467817A (en) * | 2021-07-14 | 2021-10-01 | 广域铭岛数字科技有限公司 | Application management method, system, medium and electronic terminal |
| CN113467817B (en) * | 2021-07-14 | 2022-11-15 | 广域铭岛数字科技有限公司 | Application management method, system, medium and electronic terminal |
| CN114971791A (en) * | 2022-05-26 | 2022-08-30 | 深圳市飞铭达信息技术有限公司 | An e-commerce system based on SaaS service |
| CN114971791B (en) * | 2022-05-26 | 2025-03-21 | 深圳市飞铭达信息技术有限公司 | An e-commerce system based on SaaS service |
| CN115146205A (en) * | 2022-07-26 | 2022-10-04 | 四川虹美智能科技有限公司 | Menu permission initialization method and device, equipment and medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106201506B (en) | 2019-11-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106201506B (en) | Function assembly and customization method based on multi-tenant mode | |
| CN112612629B (en) | Method and system for realizing component type data interface | |
| US9734468B2 (en) | System and method for resolving customer communications | |
| EP2548137B1 (en) | Distributed event system for relational models | |
| CN110084033B (en) | User identity management method, system and computer readable storage medium | |
| CN103077024B (en) | A kind of device and method supporting the on-demand customization of SaaS application flow and operation | |
| CN113934832B (en) | Interactive processing method, device, equipment, medium and program product based on session | |
| CN105760192B (en) | Registration method and device for service module of system server | |
| WO1999026153A2 (en) | Method for establishing a communication connection between two or more users via a network of interconnected computers | |
| CN104769607B (en) | Filter views using predefined queries | |
| JP2014506359A (en) | How to provide assistance to end users of software applications | |
| CN101262377A (en) | User identity information integration management framework and method | |
| US9350738B2 (en) | Template representation of security resources | |
| CN112286985B (en) | Clinical research statistical analysis system based on cloud computing | |
| CN101853152A (en) | A method and system for generating a graphical user interface | |
| CN114726632A (en) | Login method, device, storage medium and processor | |
| CN105827873A (en) | Method and device for solving limitation in service handling of nonlocal customers | |
| CN111736807B (en) | Tenant function customization method and device and tenant-based office system | |
| CN109472473A (en) | Management method, device and the computer readable storage medium of retail shop's information | |
| CN120223750A (en) | A cloud resource management method, device, medium and equipment | |
| CN113467891B (en) | Service processing method, device and storage medium | |
| CN114254278A (en) | User account merging method and device, computer equipment and storage medium | |
| CN102739427B (en) | Internet encyclopedia user management system, producing method thereof, and access method of applications | |
| CN105354891A (en) | Attendance checking management method and system | |
| CN116760900A (en) | An enterprise office portal integration platform |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |