[go: up one dir, main page]

CN106201506A - Functional assembly based on many tenants pattern and method for customizing - Google Patents

Functional assembly based on many tenants pattern and method for customizing Download PDF

Info

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
menu
management platform
application management
function
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
Application number
CN201610532479.2A
Other languages
Chinese (zh)
Other versions
CN106201506B (en
Inventor
李东
庄坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201610532479.2A priority Critical patent/CN106201506B/en
Publication of CN106201506A publication Critical patent/CN106201506A/en
Application granted granted Critical
Publication of CN106201506B publication Critical patent/CN106201506B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version 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

本发明公开了一种基于多租户模式的功能装配与定制方法,包括以下步骤:S1:元数据配置端将目标应用的整体功能拆分为原子功能,并将原子功能配置为功能包和包括一个或多个功能包的销售包;S2:应用管理平台将S1中的上传至应用管理平台的数据进行解析;S3:租户端通过应用管理平台定制销售包、向用户分配一个或多个功能包;S4:用户端从应用管理平台获取当前请求页面的菜单元数据和页面元素元数据,并显示用户端所分配得到的功能包中原子功能关联的菜单和页面元素。本发明的目的在于提供一种通用的功能装配方法,同时还公开了一种基于多租户模式的功能装配与定制系统。

The invention discloses a function assembly and customization method based on a multi-tenant mode, which includes the following steps: S1: the metadata configuration end splits the overall function of the target application into atomic functions, and configures the atomic functions into function packages and includes a or a sales package of multiple function packages; S2: the application management platform analyzes the data uploaded to the application management platform in S1; S3: the tenant customizes the sales package through the application management platform, and assigns one or more function packages to the user; 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. The purpose of the present invention is to provide a general function assembly method, and also discloses a function assembly and customization system based on a multi-tenant mode.

Description

Functional assembly based on many tenants pattern and method for customizing
Technical field
The present invention relates to SaaS application, a kind of functional assembly based on many tenants pattern and customization side Method and system.
Background technology
SaaS pattern is the current a kind of software application pattern innovated completely risen, and SaaS the most truly should Configurable and the requirement of high-performance multi-tenant architecture should be met, effectively to reduce hardware cost and the maintenance of SaaS application with framework Cost.Configurability makes SaaS application more generally applicable, and client only need to can meet the personalization of self by simple configuration Demand.In enterprise's SaaS environment, tenant may correspond to certain particular organization, organizes and uses service by custom application, no It is the owner of application program;Weave connection is the user of SaaS application program to a group member work user, employee user.Tenant According to the on-demand order of configurable characteristic of SaaS application, obtain the software service that SaaS application provides;And SaaS is each tenant The copy of a application program, the data of isolation tenant are provided.That SaaS application is more broadly is tool SaaS, such as video council The main SaaS application such as view is rented, enterprise's mailbox.
Summary of the invention
The problem to be solved in the present invention, is to propose a kind of functional assembly based on many tenants pattern and method for customizing, should Method is applicable to the product expecting to be converted into SaaS many tenants application.The present invention proposes functional assembly specification based on XML, root According to the systemic-function of specification decomposition goal application, combination atomic function is functional packet, and is packaged as functional packet facilitating tenant fixed The sale bag of system.After tenant's on-demand customization function, according to self needing to be again assigned to function the employee user of specific role. The invention also discloses a kind of functional assembly based on many tenants pattern and custom-built system.
The concrete technical scheme of the present invention is: a kind of functional assembly based on many tenants pattern and method for customizing, described Method include metadata configurations end, application management platform, tenant's end and user side, it comprises the following steps:
S1: the allomeric function of intended application is split as atomic function by metadata configurations end, and is configured to by atomic function Functional packet and the sale bag including one or more functional packet;And by menu metadata, page elements metadata, atomic function, Relatedness, functional packet and sale between atomic function and menu metadata and page elements metadata are wrapped and are reached application management Platform;
The data being uploaded to application management platform in S1 are resolved by S2: application management platform;
S3: tenant's end is sold bag by application management platform building, is distributed one or more functional packet to user;
S4: user side obtains menu metadata and the page elements metadata of the current request page from application management platform, And show menu and the page elements of functional packet Atom function association that user side is distributed to be obtained.
In above-mentioned functional assembly based on many tenants pattern with method for customizing, described S1 specifically includes:
S11: at metadata configurations end, the allomeric function of intended application is split as atomic function, and identifies dish unit number According to page elements metadata;
S12: between metadata configurations end definition atomic function, atomic function and menu metadata, atomic function and page Relatedness between surface element metadata;
S13: atomic function is configured to functional packet and the sale including one or more functional packet at metadata configurations end Bag;And by the atomic function in S11, menu metadata and page elements metadata, the relatedness in S12, the functional packet in S13 Wrap with sale and reach application management platform.
In above-mentioned functional assembly based on many tenants pattern with method for customizing, described S4 specifically includes:
After S41: user side login intended application, transmission authentication connection request is to application management platform, from application management Platform is verified;
S42: obtain from application management platform after being verified and access token;
S43: according to accessing the token menu metadata from the application management platform acquisition current request page and page elements Metadata;
S44: when intended application often represents a page, the menu associated by atomic function that display tenant's end is distributed And page elements, hide and do not have related menu and page elements.
In above-mentioned functional assembly based on many tenants pattern with method for customizing, described menu metadata, the page are first Primitive element data, functional packet, sale Bao Jun are with metadata specification document definition.
In above-mentioned functional assembly based on many tenants pattern with method for customizing, user side distributes the functional packet institute obtained Menu and the metadata of page elements associated by the atomic function comprised and this atomic function are all labeled as having customized, and bag Contain the keyword of the atomic function of association.
In above-mentioned functional assembly based on many tenants pattern with method for customizing, described menu metadata includes menu Id, pad name, menu path, menu identification symbol, menu identification identifier value, parent menu id;
Described page elements metadata includes: page elements id, page elements title, page elements path, page unit Element identifier, page elements identifier value, built-in pad name, built-in menu path, built-in menu identification symbol, built-in menu mark Note identifier value;
Relatedness between atomic function refers to the dependence between atomic function.
The invention also discloses a kind of for realizing above-mentioned functional assembly based on many tenants pattern and customization side simultaneously The system of method, including metadata configurations end, application management platform, tenant's end and user side;
Metadata configurations end is used for, for configuration person, the allomeric function of intended application is split as atomic function, and by atom merit Functional packet can be configured to and include the sale bag of one or more functional packet;And by menu metadata, page elements metadata, former Relatedness, functional packet and sale between subfunction, atomic function and menu metadata and page elements metadata are wrapped and are reached Application management platform;
Described application management platform is for resolving the data that metadata configurations end is uploaded;
Described tenant's end is for being sold bag by application management platform building, distributed one or more function to user Bag;
Described user side for obtaining menu metadata and the page elements of the current request page from application management platform Metadata, and show menu and the page elements of functional packet Atom function association that user side is distributed to be obtained.
In above-mentioned functional assembly based on many tenants pattern with custom-built system, described application management platform includes:
Metadata analyzing sub-module, for resolving the data being uploaded to application management platform;
Customizing functions and distribution sub module, for selling bag for the customization of tenant's end, and distribute one for tenant's end to user side Individual or multiple functional packet;
Metadata Service submodule, for the access token according to user side by corresponding menu metadata and page unit Primitive element data send to user side.
In above-mentioned functional assembly based on many tenants pattern with custom-built system, described user side includes following submodule Block:
Checking submodule, for sending authentication connection request after intended application to application management platform logging in, from Application management platform is verified, authentication connection request obtains the data of passback after being verified, and is access token;
Metadata obtains submodule, for according to accessing the token dish from the application management platform acquisition current request page Cell data and page elements metadata;
Display sub-module, for when intended application often represents a page, shows the atomic function that tenant's end is distributed Associated menu and page elements, hide and do not have related menu and page elements.
In above-mentioned functional assembly based on many tenants pattern with custom-built system, described application management platform also wraps Include:
Data isolation submodule, for isolating the data of tenant customization;
Application management submodule: be used for registering tenant, registration application.
Compared with prior art, the beneficial effects of the present invention is:
Versatility;Functional assembly specification, application management platform are applicable to the application of different language exploitation.
Reduce intended application transformation complexity, thus reduce improvement cost and reduce the transformation time cycle.
Data isolation, the tenant data isolation of mainly application data and each application.
Loose coupling;Mainly intended application and metadata parsing, customizing functions and distribution, tenant customization data isolation, rent The modules such as family management, Metadata Service are individually present, if the binding of intended application expansion module, then can revert to non-SaaS should With.
Accompanying drawing explanation
Fig. 1 is the flow chart of the embodiment of the present invention 1 and 2;
Fig. 2 is the flow chart of the embodiment of the present invention 2;
Fig. 3 is the flow chart of the embodiment of the present invention 2;
Fig. 4 is the block diagram of the embodiment of the present invention 3;
Fig. 5 is the block diagram of the embodiment of the present invention 4;
Fig. 6 is the flow chart of the embodiment of the present invention 4;
Fig. 7 is the flow chart of the embodiment of the present invention 4;
Fig. 8 is the schematic diagram of the embodiment of the present invention 4.
Detailed description of the invention
Below in conjunction with detailed description of the invention, technical scheme is described in further detail, but do not constitute right Any restriction of the present invention.
Embodiment 1
As it is shown in figure 1, a kind of functional assembly based on many tenants pattern and method for customizing, described method includes metadata Configuring end, application management platform, tenant's end and user side, it comprises the following steps:
S1: the allomeric function of intended application is split as atomic function by metadata configurations end, and is configured to by atomic function Functional packet and the sale bag including one or more functional packet;And by menu metadata, page elements metadata, atomic function, Relatedness, functional packet and sale between atomic function and menu metadata and page elements metadata are wrapped and are reached application management Platform;
The data being uploaded to application management platform in S1 are resolved by S2: application management platform;
S3: tenant's end is sold bag by application management platform building, is distributed one or more functional packet to user;
S4: user side obtains menu metadata and the page elements metadata of the current request page from application management platform, And show menu and the page elements of functional packet Atom function association that user side is distributed to be obtained.
By above-mentioned steps, tenant can be made freely to customize function, reduce user's transformation difficulty for intended application, merit Can assemble specification, application management platform is applicable to the application that different language is developed.
Embodiment 2:
As shown in Figures 1 to 3, a kind of functional assembly based on many tenants pattern and method for customizing, described method includes unit Data configuration end, application management platform, tenant's end and user side, it comprises the following steps:
The allomeric function of intended application is split as atomic function at metadata configurations end by S1: configuration person, and by atom merit Functional packet can be configured to and include the sale bag of one or more functional packet;And by menu metadata, page elements metadata, former Relatedness, functional packet and sale between subfunction, atomic function and menu metadata and page elements metadata are wrapped and are reached Application management platform;
Specifically, as in figure 2 it is shown, described step S1 includes following sub-step:
S11: at metadata configurations end, the allomeric function of intended application is split as atomic function, and identifies dish unit number According to page elements metadata;Metadata configurations end can be the automatic configuration system that a whole set of is complete, it is also possible to be artificial Intended application is split.
Described menu metadata include menu id, pad name, menu path, menu identification symbol, menu identification identifier value, Parent menu id.The target of menu metadata assembling Specification Design is that intended application run duration uniquely can be identified by metadata Go out the menu object of correspondence.
Described page elements metadata includes: page elements id, page elements title, page elements path, page unit Element identifier, page elements identifier value, built-in pad name, built-in menu path, built-in menu identification symbol, built-in menu mark Note identifier value.The target of page elements metadata assembling Specification Design is that intended application run duration uniquely can be identified by metadata Go out the page elements object of correspondence.
By metadata specification file, menu and page elements being defined both sides purpose, one is according to menu With menu and the page that page elements metadata can identify intended application, two is that menu and page elements metadata definition can To be associated with atomic function.Metadata referred to herein is the data obtained by metadata specification document definition.
S12: between metadata configurations end definition atomic function, atomic function and menu metadata, atomic function and page Relatedness between surface element metadata;
Specifically, before each new page of intended application represents, menu and page elements that meeting accession page is corresponding are first Data, are wherein logged the menu associated by the atomic function that user is assigned to and page elements metadata can be marked as " Customization ".Page elements metadata assembling specification is to the effect that: menu id associated by page id, page path, the page, Page elements id associated by the page.
The design concept of atomic function is " user's value driving ", only encapsulates function significant to user.Atomic function Between independently of one another, the set of atomic function is the repertoire of intended application.Atomic function metadata assembles the main of specification Content is: function id, function title, function declaration, function keyword, associated menu id, association page id, relied on function id.One function may rely on one or one group of function, it is also possible to does not rely on other functions.
S13: atomic function is configured to functional packet and the sale including one or more functional packet at metadata configurations end Bag;And by the atomic function in S11, menu metadata and page elements metadata, the relatedness in S12, the functional packet in S13 Wrap with sale and reach application management platform.
The mentality of designing of functional packet mainly considers three aspects: customer service, possesses the atomic function of dependency, possess and depend on The atomic function of the relation of relying.Selling bag is the further encapsulation to functional packet, and object-oriented is tenant.Functional packet/sale Bao Yuan Data assemble specification to the effect that: the atomic function that functional packet id, functional packet title, functional packet describe, functional packet comprises Functional packet id that id, functional packet comprise.After tenant customization sells bag, can be distributed to certain by selling the functional packet comprised Role, and allocation result is performed the dependency inspection of atomic function.
The data being uploaded to application management platform in S1 are resolved by S2: application management platform;
Specifically, application management platform provides special parsing class for each type of metadata, in order to resolve rule The data of model essay part.
S3: tenant's end is sold bag by application management platform building, is distributed one or more functional packet to user;
Specifically, tenant can customize user role, on-demand point of the functional packet set sale of customization comprised Join certain role.After role is assigned part or all of functional packet authority, this role can perform functional check, function is examined Look into and the functional packet being assigned to is disassembled into atomic function set, and analyze the dependence between atomic function, as A depends on B; If finding that some atomic function that there is dependence is not assigned to, inform examiner.Tenant is use by user's management Affiliated role is specified at family, then this user has the functional packet authority that this role is assigned to.Application management platform uses data stock Store up atomic function or the id of functional packet and type.
S4: user side obtains menu metadata and the page elements metadata of the current request page from application management platform, And show menu and the page elements of functional packet Atom function association that user side is distributed to be obtained.
Specifically, as it is shown on figure 3, described S4 includes following sub-step:
After S41: user side login intended application, transmission authentication connection request is to application management platform, from application management Platform is verified;
S42: obtain from application management platform after being verified and access token;
S43: according to accessing the token menu metadata from the application management platform acquisition current request page and page elements Metadata;
S44: when intended application often represents a page, the menu associated by atomic function that display tenant's end is distributed And page elements, hide and do not have related menu and page elements.
In actual applications, the data access of Metadata Service is encapsulated as http request by application management platform, it is provided that The access stencil of restful style.When user logs in intended application, intended application sends http request and connects application management platform Metadata Service module carry out authentication, obtain after good authentication access token.Hereafter intended application uses token to obtain Take login user spendable atomic function collective data, in order to check corresponding to the menu in the page and the built-in menu of the page Atomic function availability.Before each webpage representation, intended application sends http request according to token and page path and carries out page Face request of data accesses, and Metadata Service module is according to the atomic function of database purchase or functional packet information and metadata literary composition The analysis result of part, parses menu and the page elements of target pages association, and parses user and can use atomic function collection Menu associated by conjunction and page elements, the data that both labellings occur simultaneously are for " customizing " and return all menus and page elements Data.Disabled (not being customized) menu and page elements are hidden by intended application, and menu is carried out click event Binding and the binding of corresponding atomic function keyword.When menu is clicked, the most permissible according to keyword query atomic function Using, if unavailable, prompting user does not has operating right.
By aforesaid operations, specification is to menu, page elements, the page, atomic function, functional packet (pin in a unified format Sell bag) it is defined;Meanwhile, application management platform is developed: application management platform is unified is responsible for metadata parsing module, function Customization and distribution module, tenant customization data isolation module, tenant manage module and Metadata Service module etc.;Wherein, unit's number It is responsible for the http request that object-oriented application package metadata accesses according to service module.Intended application expansion is service data Isolation module, page parsing module, event intercept module, functional verification module, request proxy module, and these modules can be packed For the library file that application is relevant, can be introduced directly into library file with the application of type language development and be extended, retrofit work is more Lightweight.
Solving in conventional art to an application be converted into SaaS many tenants application, needing again to transform on a large scale Original application, and on original application foundation, develop metadata parsing module, customizing functions and distribution module, tenant customization number Manage module according to isolation module, tenant, Metadata Service module, service data isolation module, page parsing module, event are intercepted Module, functional verification module, request proxy module etc., the problem of produced substantial amounts of workload.
Embodiment 3
Present embodiment illustrates the system corresponding to embodiment 1 and 2, specifically: as shown in Figure 4, join including metadata Put end 1, application management platform 2, tenant's end 3 and user side 4;
Metadata configurations end 1 is used for, for configuration person, the allomeric function of intended application is split as atomic function, and by atom Functional configuration is functional packet and the sale bag including one or more functional packet;And by menu metadata, page elements metadata, Biography is wrapped in relatedness, functional packet and sale between atomic function, atomic function and menu metadata and page elements metadata To application management platform 2;
Described application management platform 2 is for resolving the data that metadata configurations end 1 is uploaded;
Described application management platform 2 includes:
Metadata analyzing sub-module 21, for resolving the data being uploaded to application management platform 2;It is joined each Put unit and all devise the parsing class of correspondence, according to configuration unit cannonical format design class object to preserve analysis result, provide simultaneously Access interface, calls to obtain document analysis result for other module.Analysis result is cached by metadata parsing module.
Customizing functions and distribution sub module 22, for selling bag for tenant's end 3 customization, and for tenant's end 3 to user side 4 points Join one or more functional packet;Its tenant being logged on being substantially carried out carries out customizing functions, Role Management, user's management, angle The work such as the distribution of color function and functional check.Wherein, the function that user has is the function that role belonging to it is assigned to.
Metadata Service submodule 23, for the access token according to user side 4 by corresponding menu metadata and the page Element metadata sends to user side 4;It is responsible for visiting user login validation, atomic function data access, page request data The http request being encapsulated as restful style such as ask, call for intended application.When the user of intended application logs in, carry login Person's information sends http request, and user identity is verified by Metadata Service module, and if good authentication, passback accesses token To intended application, and by token write into Databasce, caches user information simultaneously.Intended application is passed through when sending subsequent request Token carries out data access, if token lost efficacy, Metadata Service module first reads user's letter according to token from data base Breath.
Data isolation submodule 24, for isolating the data of tenant customization;It is mainly responsible for application data isolation With tenant customization data isolation, the application of each registration can use the module service of application management platform 2, it is therefore desirable to right The data that each application relates to are isolated, it is ensured that the data of each application do not interfere with each other, the tenant data under certain application It is also required to independently of one another.The data-selected scheme that this application management platform 2 uses is " shared data bank, shared data framework ".
Application management submodule 25: be used for registering tenant, registration application.One can be obtained uniquely after successful registration application appid.The application of each registration can use the module service of application management platform 2.Application configuration person registers on after application Passing configuration meta file, application management module air exercise is wrapped the metadata specification file of biography and is decompressed.Can obtain according to appid Take the meta data file content under this application.Each application can design a tenant manager, in order to manage the tenant of this application.
Tenant manages module 26, mainly tenant manager and is responsible for all tenants of application-specific, mainly includes note Volume tenant and the work of deletion tenant.
Described tenant's end 3 is for being sold bag by application management platform 2 customization, distributed one or more function to user Bag;
Described user side 4 for obtaining menu metadata and the page unit of the current request page from application management platform 2 Primitive element data, and show menu and the page of functional packet Atom function association that user side 4 is distributed to be obtained.
Described user side 4 includes following submodule:
Checking submodule 41, for transmission authentication connection request after logging in intended application to application management platform 2, Verifying from application management platform 2, authentication connection request obtains the data of passback after being verified, be access token;
Metadata obtains submodule 42, for obtaining the current request page according to access token from application management platform 2 Menu metadata and page elements metadata;
Display sub-module 43, for when intended application often represents a page, shows the atom merit that tenant's end 3 is distributed Menu associated by energy and page elements, hide and do not have related menu and page elements.
Native system has the advantage that
Versatility;Functional assembly specification, application management platform 2 are applicable to the application of different language exploitation.
Reduce intended application transformation complexity, thus reduce improvement cost and reduce the transformation time cycle.
Data isolation, the tenant data isolation of mainly application data and each application.
Loose coupling;Mainly intended application and metadata parsing, customizing functions and distribution, tenant customization data isolation, rent The modules such as family management, Metadata Service are individually present, if the binding of intended application expansion module, then can revert to non-SaaS should With.
Embodiment 4
Such as Fig. 5-8, a video conferencing system based on flex exploitation, with it as example, to the cooperation between each module Work relationship is described as follows, such as Fig. 5: 1, video conferencing system configuration person according to the allomeric function of video conferencing system, write dish List, the page, the page, atomic function, functional packet metadata specification file.2, video conferencing system configuration person is in application management module Registration application, obtains application appid.3, video conferencing system configuration person enters the administration interface of above-mentioned application, metadata is advised The packing of model essay part is uploaded, and registers a tenant manager, in order to manage the tenant of this application.4, tenant manager logs in tenant Management module, registers tenant's information of this application.5, the customization of registered tenant's login feature and distribution module, carry out function fixed The work such as system, Role Management, user's management, role function distribution, wherein customizing functions, role function distribution can pass through metadata Parsing module acquires metadata analysis result.6, the tenant data under the data of each application, each application passes through data isolation Module isolated storage.7, the http request that Metadata Service module accesses towards intended application package metadata, passes through metadata Parsing module acquires metadata analysis result.
Functional assembly flow process such as Fig. 6, configuration unit Normalization rule xml document is described, and different assembling objects are at specification lattice Keep consistent in formula, resolve it is thus possible to design consistent data structure and safeguard, and read conveniently.Make a concrete analysis of as follows:
Assembling menu: menu and page elements are inherently the elements of the page.In order to distinguish, click event can be triggered Element is here classified as menu, and such as the element such as panel, list is classified as page elements.It is possible that you wish also to have in list editor Button, so: page elements also can have the element that can trigger click event, we term it built-in menu.Menu metadata Assemble specification to the effect that: menu id, pad name, menu path, menu identification symbol, menu identification identifier value, parent dish Single id;The target of menu metadata assembling Specification Design is that intended application run duration can uniquely identify correspondence by metadata Menu object.
Assembling page elements: page elements metadata assembles specification to the effect that: page elements id, page elements name Title, page elements path, page elements identifier, page elements identifier value, built-in pad name, built-in menu path, interior Put menu identification symbol, built-in menu mark identifier value.The target of page elements metadata assembling Specification Design is that intended application is run Period can uniquely identify the page elements object of correspondence by metadata.
The assembling page: before each new page of intended application represents, menu and page elements that meeting accession page is corresponding are first Data, are wherein logged the menu associated by the atomic function that user is assigned to and page elements metadata can be marked as " Customization ".Page elements metadata assembling specification is to the effect that: menu id associated by page id, page path, the page, Page elements id associated by the page.
Assembling atomic function: the design concept of atomic function is " user's value driving ", only encapsulation is significant to user Function.Between atomic function independently of one another, the set of atomic function is the repertoire of intended application.Atomic function metadata fills Join specification to the effect that: function id, function title, function declaration, function keyword, associated menu id, the association page are first Element id, the id of relied on function.One function may rely on one or one group of function, it is also possible to does not rely on other functions.
Assembling function bag and sell bag: the mentality of designing of functional packet mainly considers three aspects: customer service, possess relevant The atomic function of property, possesses the atomic function of dependence.Selling bag is the further encapsulation to functional packet, and object-oriented is to rent Family.Functional packet/sale bag metadata assembles specification to the effect that: functional packet id, functional packet title, functional packet describe, merit Can functional packet id that comprises of the atomic function id that comprise, functional packet.After tenant customization sells bag, can be comprised selling Functional packet distribute to certain role, and allocation result is performed the dependency inspection of atomic function.
Tenant's customizing functions and function allocation flow such as Fig. 7, after application configuration person uploads assembling file, the tenant of application steps on Record is obtained by metadata parsing module sell bag related content to customizing functions and distribution module, the latter, and tenant is the most customizable Sell bag.Data isolation module ensures the data of each tenant of physical isolation so that it is do not interfere with each other.
Intended application is converted into operational process such as Fig. 8 after SaaS many tenants application, and the intended application that the present invention takes is base In flex exploitation video conferencing system, extend request proxy module, page parsing module, event intercepts module, function is tested Card module and tenant's service data isolation module.User logs in video conferencing system according to tenant's information and userspersonal information Time, request proxy module sends the Metadata Service module of http request access application management platform and carries out authentication, passback Access token.Before each webpage representation, page parsing module relies on request proxy module and sends page request, request agency Module is called rest api according to token and page path and is carried out page data request access, return requests for page menu and Page elements data;Wherein, user is assigned to the leaf menu corresponding to atomic function and page elements have been bound Atomic function keyword, can be used for functional check.Disabled menu and page elements are hidden by page parsing module, and Transfer all leaf menus to event intercept module carry out event binding corresponding with menu atomic function keyword binding.Menu Time clicked, whether can use function according to keyword to functional verification module polls, functional verification module is then according to keyword Whether can use with useful life's query function, unavailable, prompting user does not has operating right and stopping successor detectaphone to hold OK.Intended application will carry out data isolation from the angle of tenant to user data at program run duration.
Above-described be only presently preferred embodiments of the present invention, all made in the range of the spirit and principles in the present invention appoint What amendment, equivalent and improvement etc., should be included within the scope of the present invention.

Claims (10)

1. a functional assembly based on many tenants pattern and method for customizing, it is characterised in that described method includes metadata Configuring end, application management platform, tenant's end and user side, it comprises the following steps:
S1: the allomeric function of intended application is split as atomic function by metadata configurations end, and atomic function is configured to function Wrap and include the sale bag of one or more functional packet;And by menu metadata, page elements metadata, atomic function, atom Relatedness, functional packet and sale between function and menu metadata and page elements metadata wrap reach application management put down Platform;
The data being uploaded to application management platform in S1 are resolved by S2: application management platform;
S3: tenant's end is sold bag by application management platform building, is distributed one or more functional packet to user;
S4: user side obtains menu metadata and the page elements metadata of the current request page from application management platform, and shows Show menu and the page elements of the functional packet Atom function association that user side is distributed to be obtained.
Functional assembly based on many tenants pattern the most according to claim 1 and method for customizing, it is characterised in that described S1 specifically includes:
S11: the allomeric function of intended application is split as atomic function at metadata configurations end, and identify menu metadata and Page elements metadata;
S12: between metadata configurations end definition atomic function, atomic function and menu metadata, atomic function and page unit Relatedness between primitive element data;
S13: atomic function is configured to functional packet and the sale bag including one or more functional packet at metadata configurations end;And By the atomic function in S11, menu metadata and page elements metadata, the relatedness in S12, the functional packet in S13 and pin Sell to wrap and reach application management platform.
Functional assembly based on many tenants pattern the most according to claim 1 and method for customizing, it is characterised in that described S4 specifically includes:
After S41: user side login intended application, transmission authentication connection request is to application management platform, from application management platform Verify;
S42: obtain from application management platform after being verified and access token;
S43: according to accessing the token menu metadata from the application management platform acquisition current request page and page elements unit number According to;
S44: when intended application often represents a page, the display menu associated by atomic function that distributed of tenant's end and page Surface element, hides and does not has related menu and page elements.
4., according to the arbitrary described functional assembly based on many tenants pattern of claims 1 to 3 and method for customizing, its feature exists In, described menu metadata, page elements metadata, functional packet, sale Bao Jun are with metadata specification document definition.
5., according to the arbitrary described functional assembly based on many tenants pattern of claims 1 to 3 and method for customizing, its feature exists Menu associated by atomic function that the functional packet obtained in the distribution of, user side is comprised and this atomic function and page elements Metadata be all labeled as having customized, and contain the keyword of the atomic function of association.
6., according to the arbitrary described functional assembly based on many tenants pattern of claims 1 to 3 and method for customizing, its feature exists In, described menu metadata includes menu id, pad name, menu path, menu identification symbol, menu identification identifier value, parent Menu id;
Described page elements metadata includes: page elements id, page elements title, page elements path, page elements mark Know symbol, page elements identifier value, built-in pad name, built-in menu path, built-in menu identification symbol, built-in menu mark symbol Value;
Relatedness between atomic function refers to the dependence between atomic function.
7. one kind is used for realizing the functional assembly based on many tenants pattern as described in claim 1 to 6 is arbitrary and method for customizing System, it is characterised in that include metadata configurations end, application management platform, tenant's end and user side;
Metadata configurations end for being split as atomic function for configuration person by the allomeric function of intended application, and is joined by atomic function It is set to functional packet and includes the sale bag of one or more functional packet;And by menu metadata, page elements metadata, atom merit Can, relatedness, functional packet and sale between atomic function and menu metadata and page elements metadata wrap and reach application Management platform;
Described application management platform is for resolving the data that metadata configurations end is uploaded;
Described tenant's end is for being sold bag by application management platform building, distributed one or more functional packet to user;
Described user side for obtaining menu metadata and the page elements unit number of the current request page from application management platform According to, and show menu and the page elements of functional packet Atom function association that user side is distributed to be obtained.
Functional assembly based on many tenants pattern the most according to claim 7 and custom-built system, it is characterised in that described Application management platform includes:
Metadata analyzing sub-module, for resolving the data being uploaded to application management platform;
Customizing functions and distribution sub module, for for tenant's end customization sell bag, and for tenant's end to user side distribute one or Multiple functional packet;
Metadata Service submodule, for the access token according to user side by corresponding menu metadata and page elements unit Data send to user side.
Functional assembly based on many tenants pattern the most according to claim 7 and custom-built system, it is characterised in that described User side includes following submodule:
Checking submodule, for after logging in intended application, transmission authentication connection request is to application management platform, from application Management platform is verified, authentication connection request obtains the data of passback after being verified, and is access token;
Metadata obtains submodule, for according to accessing the token menu unit from the application management platform acquisition current request page Data and page elements metadata;
Display sub-module, for when intended application often represents a page, the atomic function that display tenant's end is distributed is closed The menu of connection and page elements, hide and do not have related menu and page elements.
Functional assembly based on many tenants pattern the most according to claim 7 and custom-built system, it is characterised in that described Application management platform also include:
Data isolation submodule, for isolating the data of tenant customization;
Application management submodule: be used for registering tenant, registration application.
CN201610532479.2A 2016-07-07 2016-07-07 Functional assembly and method for customizing based on multi-tenant mode Active CN106201506B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610532479.2A CN106201506B (en) 2016-07-07 2016-07-07 Functional assembly and method for customizing 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 Functional assembly and method for customizing 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 Functional assembly and method for customizing based on multi-tenant mode

Country Status (1)

Country Link
CN (1) CN106201506B (en)

Cited By (16)

* Cited by examiner, † Cited by third party
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, apparatus, 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 for arranging program and electronic equipment
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
WO2025246999A1 (en) * 2024-05-25 2025-12-04 华为技术有限公司 Application management method and system

Citations (5)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
刘定书等: "基于SaaS的功能可配置的产业集群信息化平台建设", 《中国科技信息》 *
翟岳辉: "基于SaaS模式的企业管理服务平台设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
齐少蕾等: "一种适应SaaS多租户模式的数据迁移方法", 《计算机工程与应用》 *

Cited By (23)

* Cited by examiner, † Cited by third party
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 for arranging program and electronic equipment
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, apparatus, 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
WO2025246999A1 (en) * 2024-05-25 2025-12-04 华为技术有限公司 Application management method and system

Also Published As

Publication number Publication date
CN106201506B (en) 2019-11-22

Similar Documents

Publication Publication Date Title
CN106201506A (en) Functional assembly based on many tenants pattern and method for customizing
USRE50696E1 (en) System and method for tracking web interactions with real time analytics
US11936760B2 (en) Method and system of generating generic protocol handlers
CN108920494B (en) Isolated access method of multi-tenant database, server and storage medium
US8793804B2 (en) Computer implemented method, computer system and nontransitory computer readable storage medium having HTTP module
Groth et al. Preserv: Provenance recording for services
US20130218947A1 (en) System and method for resolving customer communications
CN105760192B (en) Registration method and device for service module of system server
CN104283875A (en) Cloud disk authority management method
CA2801659A1 (en) Identity management system and method including architecture for the same
CN106980501A (en) A kind of software package management method, device and system
US7873534B2 (en) Collecting CRM data for feedback
Livenson et al. Towards transparent integration of heterogeneous cloud storage platforms
Yu et al. A practical architecture of cloudification of legacy applications
Renzel et al. MobSOS-a testbed for mobile multimedia community services
CN111045928B (en) Interface data testing method, device, terminal and storage medium
CN108073638A (en) Data diagnosis method and device
Bouras et al. Application on demand system over the Internet
Liu Web information transfer between android client and server
WO2010119628A1 (en) System and method for environment information aggregation
Zhou A Design-by-Privacy Framework for End-User Data Controls
US20120089989A1 (en) Systems and methods for executing and implementing computer processes in process environments
Jaekel et al. Test of the industrial internet of things: opening the black box
CN115705435A (en) Data processing method, device, equipment and medium for cloud service
CN111367797A (en) Comprehensive test data generation method and device, electronic equipment and storage medium

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