System configuration method, device, equipment and storage mediumTechnical Field
Embodiments of the present disclosure relate to computer technologies, and in particular, to a system configuration method, apparatus, device, and storage medium.
Background
With the rise of internet cloud Service, Software-as-a-Service (SaaS) has become the mainstream of enterprise information Service systems. The SaaS system architecture of multiple tenants is a commonly adopted architecture form in the industry, namely, SaaS services are provided for multiple tenants through a set of public cloud systems, all data are stored in a set of database clusters, and each tenant uses the SaaS cloud services as an independent system through a logic isolation mode.
Like a conventional software system, there is also much system configuration information in the SaaS system. In the traditional software system, only the data of the enterprise is arranged in the system, so that the configuration of the system only influences the enterprise. However, in the multi-tenant SaaS system, since a plurality of tenants share the entire public cloud system, the configuration of the system may affect all tenants. For example, when the system common functions are upgraded, the configuration of all tenants needs to be upgraded; when a tenant modifies configuration information, the system configuration of the tenant only needs to be influenced; when a user modifies configuration information according to personal preferences, the system configuration of the user only needs to be affected. That is, in the multi-tenant SaaS system, the effective range of the system configuration is different, which is a place more complicated than the conventional software system.
The system configuration of the existing SaaS system is implemented according to the design of a conventional software system, and the system configuration at the system level and the system configuration at the tenant level are designed to be functionally distinguished, that is, the system configuration and the tenant configuration are regarded as different parts, one is to act on a "system" and the other is to act on a "user". According to the implementation mode, if the system configuration at the user level is added, a configuration function design is added, so that three independent system configuration functions exist in the SaaS system. Moreover, each time a tenant is added to the system, a system configuration function of a corresponding tenant level needs to be added to the tenant, and a system configuration function of a corresponding user level needs to be added to a real user under the tenant.
However, the above system configuration implementation method cannot exert the advantage of the SaaS system, and the multi-tenant architecture is regarded as an independent enterprise application, and when one tenant is added, a complete system configuration needs to be performed for the tenant once, so that the implementation cost is high. And aiming at the same function, a plurality of function realization designs exist in the system, the complexity of the system design is increased, the work of repeated logic development also exists, code logics are crossed, but the function logics are independent, so that the system is disordered and is easy to make mistakes.
Disclosure of Invention
The present disclosure provides a system configuration method, apparatus, device, and storage medium to more efficiently implement personalized system configuration in a target system that implements a software service through a network, and to reduce system complexity and improve system scalability.
In a first aspect, an embodiment of the present disclosure provides a system configuration method, including:
responding to an access request of a target visitor for accessing application software in a target system, and determining a target visitor identifier of at least one preset access level corresponding to the target visitor, wherein the target visitor is a person with any one preset access level;
based on each target visitor identifier, calling a shared system configuration service, and determining a target configuration parameter corresponding to the target visitor from a shared configuration table, wherein the shared configuration table records a mapping relation among an access level identifier, a configuration item, a configuration parameter and a visitor identifier;
and completing the adaptation of the system configuration of the target visitor according to the target configuration parameters.
In a second aspect, an embodiment of the present disclosure further provides a system configuration apparatus, where the apparatus includes:
the target visitor identification determining module is used for responding to an access request of a target visitor for accessing application software in a target system, and determining at least one target visitor identification with a preset access level corresponding to the target visitor, wherein the target visitor is a person with any preset access level;
a target configuration parameter determining module, configured to invoke a common system configuration service based on each target visitor identifier, and determine a target configuration parameter corresponding to the target visitor from a common configuration table, where a mapping relationship among an access level identifier, a configuration item, a configuration parameter, and a visitor identifier is recorded in the common configuration table;
and the system configuration module is used for completing the adaptation of the system configuration of the target visitor according to the target configuration parameters.
In a third aspect, an embodiment of the present disclosure further provides an electronic device, where the electronic device includes:
one or more processors;
a storage device for storing one or more programs,
when the one or more programs are executed by the one or more processors, the one or more processors are caused to implement the system configuration method provided by any embodiment of the present disclosure.
In a fourth aspect, the embodiments of the present disclosure further provide a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the system configuration method provided in any embodiment of the present disclosure.
The embodiment of the disclosure converges the functions of the common system configuration corresponding to different preset access levels in the application software of the target system for realizing the software service through the network into a set of logic to form a common system configuration service, and meanwhile, a common configuration table is maintained in the target system to store the system configuration parameter information of different preset access levels, thereby providing a software foundation for subsequent system configuration, simplifying the realization logic of the system configuration, reducing the development complexity, and improving the system expandability based on the expandability of the common configuration table. Determining a target visitor identifier of at least one preset access level corresponding to a target visitor by responding to an access request of the target visitor for accessing application software in a target system; calling a shared system configuration service based on each target visitor identifier, and determining a target configuration parameter corresponding to the target visitor from a shared configuration table; and completing the adaptation of the system configuration of the target visitor according to the target configuration parameters. When the user accesses the application software of the target system, the configuration parameters adapted to the user are determined according to at least one preset access level corresponding to the user, the system configuration is completed, and the realization convenience and efficiency of the personalized system configuration of the application software in the target system are improved.
Drawings
The above and other features, advantages and aspects of various embodiments of the present disclosure will become more apparent by referring to the following detailed description when taken in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numbers refer to the same or similar elements. It should be understood that the drawings are schematic and that elements and features are not necessarily drawn to scale.
Fig. 1 is a flow chart of a system configuration method in one embodiment of the present disclosure;
fig. 2 is a schematic diagram of a system configuration logical relationship of multiple preset access levels in a second embodiment of the disclosure;
fig. 3 is a flowchart of a system configuration method in a second embodiment of the disclosure
Fig. 4 is a schematic structural diagram of a system configuration apparatus according to a third embodiment of the disclosure;
fig. 5 is a schematic structural diagram of an electronic device in a fourth embodiment of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order, and/or performed in parallel. Moreover, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "include" and variations thereof as used herein are open-ended, i.e., "including but not limited to". The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions for other terms will be given in the following description.
It should be noted that the terms "first", "second", and the like in the present disclosure are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence relationship of the functions performed by the devices, modules or units.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
Example one
The system configuration method provided by the embodiment is applicable to system configuration of application software in a system (such as a SaaS system) for realizing software services through a network, and is particularly applicable to system configuration for distinguishing commonalities of different user levels. The method may be performed by a system configuration apparatus of a software-as-a-service system, which may be implemented by software and/or hardware, and the apparatus may be integrated in an electronic device, such as a supercomputer, a server, or a server cluster, which mounts a SaaS system. Referring to fig. 1, the method of the present embodiment includes:
s110, responding to an access request of a target visitor for accessing application software in the target system, and determining a target visitor identifier of at least one preset access level corresponding to the target visitor.
Wherein the target visitor is a person with any preset access level. The target system is a system capable of realizing a software service via a network, for example, a SaaS system, and the target system will be described as the SaaS system. The preset access level refers to an access level of a preset visitor in the system, and may be set according to a service requirement of the application software, for example, the preset access level may be a system level, a tenant level, a group level, a user level, and the like. By way of example, tenants, groups, and users herein may be understood as companies, company departments, and employees. The target visitor may be a person at a system level, a person at a tenant level, a person at a team level or a user level, or the like. The visitor identification refers to the code number of the visitor in the system, which may be a name, abbreviation or number. The system sets visitor identification for each visitor with a preset access level in advance. For example, the system level visitor identification needs to characterize that it does not belong to any tenant, e.g., may be set to "all"; the visitor identification at the tenant level may be set to a two-digit number, such as "11"; the visitor identification at the user level may be set to a four digit number, such as "1101". The target visitor identification refers to a visitor identification corresponding to the target visitor.
Since a plurality of preset access levels exist in the SaaS system, and the preset access levels necessarily have the action range, that is, there is a priority difference between the preset access levels. Therefore, for the same configuration item, the problems of data default supplement and data coverage exist among the configuration parameters corresponding to the preset access levels with different priorities. Based on this, if an accessor with a certain preset access level accesses the system, the system responds to the access request of the target accessor and determines the priority corresponding to the preset access level and at least one preset access level corresponding to each priority below the preset access level. For example, in the case where the target visitor is at the user level and the user level is the highest priority, four preset access levels, i.e., a system level, a tenant level, a group level, and a user level, may be determined. Then, target visitor identifiers corresponding to the target visitor identifier at different preset access levels are determined, for example, a total of 4 target visitor identifiers may be determined.
And S120, calling a shared system configuration service based on the identification of each target visitor, and determining target configuration parameters corresponding to the target visitor from a shared configuration table.
The shared system configuration service is a service for implementing various system configuration functions in the system, and is applicable to system configuration at each preset access level. The characteristics of the multi-tenant SaaS system determine that there is a common configuration between tenants, that is, a whole set of cloud platform applications can be configured in the SaaS system, so that all tenants on the platform take effect, which is very convenient for some general configurations. However, strict data isolation is required between tenants, and the system configuration of the tenants cannot affect other tenants. The real users on the tenants can also set some personalized configurations, such as theme colors and user avatars, and can set on the system according to personal preferences. Due to the characteristics of the SaaS system, data is stored in a centralized manner, so that the three types of configuration can be converged into a set of logic, and the logic of the system configuration forms a single functional logic, so that a set of common system configuration service can be designed to realize the system configuration of each preset access level.
The common configuration table is a data table used for storing configuration parameters and related information of various system configurations in application software, each application software in the SaaS system has one and only one common configuration table, and the common configuration table is suitable for system configurations of preset access levels. Illustratively, the mapping relationship among the access level identifier, the configuration item, the configuration parameter and the visitor identifier is recorded in the common configuration table. The access level identifier is an identifier of a preset access level, and may be a name, an abbreviation, a number, or the like of the preset access level. Since the common configuration table is shared by all visitors with preset access levels, the access level identification and the visitor identification need to be recorded therein to distinguish the access levels from the visitors. Meanwhile, the configuration items and the configuration parameters corresponding to each configuration item (i.e. the contents of the configuration items) should also be recorded in the common configuration table.
Taking the preset access level including the system level, the tenant level, and the user level as an example, a common configuration table as shown in table 1 below may be obtained. The record id represents the table number of each record, the access level identifiers are system (system level), tenant (tenant level) and user (user level), and the tenant id and the user id are the visitor identifiers. Each preset access level may be set for the same configuration item. For example, for the configuration item of "total page theme color", the configuration parameter corresponding to the system level (i.e., tenant id is "all") is set to "gray", which means that the total page theme color effective for all tenants on the application software in the SaaS system is gray; the configuration parameter corresponding to the tenant with the tenant id of 11 is set to be blue, which means that all users under the tenant see blue when accessing the portal page; the configuration parameter corresponding to the user whose user id is "11001" in the tenant id "11" is set to "red", which indicates that the user sees red when accessing the portal page.
Table 1 common configuration table example
After the target visitor identifiers are determined, the common system configuration service configservice needs to be called to search the configuration parameters of the configuration items corresponding to the target visitor identifiers from the common configuration table, and data overlay processing needs to be performed on the configuration parameters of the same configuration items, so that each configuration item only retains one configuration parameter (namely, a target configuration parameter) adapted to the target visitor.
The way in which the common system configuration service look-up table is associated with the record content and structure of the common configuration table. For example, when the common configuration table is shown in table 1, in which the configuration parameters of all configuration items of the system level are recorded, but for the tenant level and the user level, it records only the configuration parameters of configuration items that are personally modified by the tenant and the user. For such a common configuration table, the common system configuration service needs to obtain the configuration parameters of the corresponding configuration items according to the identifiers of the target visitors, and then, overwrite the configuration parameters of the same configuration items. If a whole set of configuration items and configuration parameters are copied for each visitor identifier in each preset access level in the common configuration table, the common system configuration service only needs to directly read the configuration parameters of each configuration item corresponding to a target visitor identifier of the preset access level corresponding to the target visitor according to the target visitor identifier of the preset access level corresponding to the target visitor.
Illustratively, the common configuration table is created in advance by: and if the application software is online, initializing the common configuration table according to the system level identification, each configuration item, the preset configuration parameters of the corresponding configuration item and the system visitor identification. The preset configuration parameters are default parameter values preset for each configuration item in the application software. The system visitor identification is the visitor identification corresponding to the system level, e.g., "all". The common configuration table only stores the default configuration parameters of the system of each configuration item as the bottom-of-pocket configuration parameters of each configuration item, the design is completed in the development stage of the application software, and the initialization is completed through the operation of the script along with the online of the application software. Only data records with tenant id of "all" are in the common configuration table at this time.
S130, completing the adaptation of the system configuration of the target visitor according to the target configuration parameters.
After determining the target configuration parameters adapted to the target visitor, the SaaS system configures the configuration items in the application software according to the target configuration parameters, thereby completing the personalized system configuration of the target visitor.
According to the technical scheme of the embodiment, the common system configuration functions corresponding to different preset access levels in application software of the SaaS system are converged into a set of logic to form a common system configuration service, and a common configuration table is maintained in the SaaS system to store system configuration parameter information of different preset access levels, so that a software basis is provided for subsequent system configuration, the implementation logic of the system configuration is simplified, the development complexity is reduced, the characteristics and advantages of the multi-tenant SaaS system are fully exerted, and the system expandability is improved based on the expandability of the common configuration table. Determining a target visitor identifier of at least one preset access level corresponding to a target visitor by responding to an access request of the target visitor for accessing application software in a target system; calling a shared system configuration service based on each target visitor identifier, and determining a target configuration parameter corresponding to the target visitor from a shared configuration table; and completing the adaptation of the system configuration of the target visitor according to the target configuration parameters. When the user accesses the application software of the SaaS system, the configuration parameters adaptive to the user are determined according to at least one preset access level corresponding to the user, the system configuration is completed, and the realization convenience and efficiency of the personalized system configuration of the application software in the SaaS system are improved.
On the basis of the technical scheme, under the condition that the system level in the preset access levels is the lowest priority, if the function of the application software is upgraded, the shared system configuration service is called based on the system level identification, the upgrade configuration item, the upgrade configuration parameter and the system visitor identification, the upgrade configuration data is added into the shared configuration table, and the shared configuration table is updated.
The upgrade configuration item refers to a configuration item corresponding to an upgraded function of the application software. The upgrade configuration parameters refer to system default parameters corresponding to the upgrade configuration items. The upgrade configuration data refers to a table record corresponding to the upgraded function.
In the related art, after each time of upgrading the functions of the cloud service system, if the upgrading in the aspect of system configuration is involved, the configuration information needs to be updated for each tenant, and the operation and maintenance cost is high. However, in the present disclosure, the system level is set as the lowest priority as the bottom-of-pocket configuration of the whole application software, and each preset access level shares one common system configuration service and a common configuration table, so that if the function of the application software is upgraded, as long as the common configuration table has a corresponding upgrade configuration item and upgrade configuration parameters, the normal operation of the upgrade function can be ensured, and thus, the system configuration upgrade in the function upgrade process can be realized by adding upgrade configuration data corresponding to the upgraded function in the common configuration table. In specific implementation, the shared system configuration service is called, the system level identifier, the upgrade configuration item, the upgrade configuration parameter and the system visitor identifier are used as an upgrade configuration data and added to the shared configuration table to update the shared configuration table and complete configuration upgrade in the function upgrade process, so that all tenants on the SaaS system can normally use new upgraded functions without respectively configuring and setting each tenant, the architecture advantage of the multi-tenant SaaS system is better played, and the maintenance cost of system configuration is reduced.
Based on the above description, the configuration data of the preset access level corresponding to the lowest priority level only needs to be added to the common configuration table during configuration upgrade. Then, if a new preset access level is added to the system configuration, it is only necessary to add configuration data such as configuration items and configuration parameters to the new preset access level in the common configuration table, so that the access level of the system configuration can be expanded. Similarly, if a new access level priority is defined in the system configuration, since only one set of common system configuration services is provided, only a new hierarchical definition needs to be added to meet the requirements without modifying the entire service and table structure. Therefore, the technical scheme disclosed by the invention improves the expandability of the system configuration in the SaaS system.
Example two
In this embodiment, based on the first embodiment, further optimization is performed on "call the shared system configuration service based on the identifier of each target visitor, and determine the target configuration parameters corresponding to the target visitor from the shared configuration table". On the basis, the related steps of modifying the configuration parameters can be further added. Wherein explanations of the same or corresponding terms as those of the above embodiments are omitted.
In this embodiment, the preset access level includes a system level, a tenant level, and a user level; the preset access level priority includes a system level being a lowest priority, a tenant level being a medium priority, and a user level being a highest priority. The logical relationship of the preset access levels in this priority order is shown in fig. 2. This priority order means that in reading configuration parameters, progressive overrides of data are required in the order of user level → tenant level → system level.
Referring to fig. 3, the system configuration method of the software as a service system provided in this embodiment includes:
s210, responding to an access request of a target visitor for accessing application software in the target system, and determining a target visitor identifier of at least one preset access level corresponding to the target visitor.
S220, calling a shared system configuration service according to the target visitor identifications, and acquiring configuration items and configuration parameters corresponding to the target visitor identifications from a shared configuration table.
And calling a shared system configuration service to realize that all related configuration items and configuration parameters in the shared configuration table are required to be extracted for each target visitor identifier when the data in the shared configuration table is read according to each target visitor identifier.
The extraction process may be that, according to the priority of the preset access level corresponding to each target visitor identifier (i.e., the preset access level priority), configuration data with a high priority is extracted first, and if the configuration data does not exist, the priority is sequentially reduced to extract configuration data corresponding to the corresponding priority. If configuration data of a certain priority is read, reading of configuration data of a lower priority is not continued. For example, for a configuration item of "portal page theme color", the configuration parameter at the user level is read first, and then "red" is read, so that the configuration item determines that the target configuration parameter is "red". For the configuration item of the login password complexity, the configuration parameter of the user level is read first, when the data is not read, the configuration parameter of the tenant level is continuously read, and when the 12-bit character (number + letter + special character) "is read, the configuration item determines that the target configuration parameter is the 12-bit character (number + letter + special character)". For configuration items only having default configuration parameters of the system, the user level and the tenant level need to be read in sequence, and finally the configuration parameters of the system level need to be read as target configuration parameters of the configuration items.
The extraction process may be a parallel data reading method in addition to the serial data reading method described above. Illustratively, S220 includes: and calling the shared system configuration service in parallel according to each target visitor identifier so as to simultaneously acquire the configuration item and the configuration parameter corresponding to each target visitor identifier from the shared configuration table. In order to improve the reading efficiency of the configuration data and further improve the determination efficiency of the subsequent target configuration parameters, in this embodiment, the configuration data corresponding to each target visitor identifier may be read in parallel. During specific implementation, calling a common system configuration service, and reading each configuration item and configuration parameters thereof corresponding to a target visitor identifier (namely, a tenant id is 'all') of a system level from a common configuration table; meanwhile, reading each configuration item corresponding to the target visitor identifier of the tenant level (namely, the tenant id is '11') and the configuration parameters thereof from the common configuration table; meanwhile, each configuration item and its configuration parameters corresponding to the target visitor identification of the user level (i.e. tenant id is "11", and user id is "11001") are read from the common configuration table. It should be noted that if a piece of configuration data contains both tenant id and user id, then this piece of record is read at the user level. Therefore, data query of priority level by priority level does not exist, data are read all at once, implementation logic in system configuration can be further simplified, and data processing efficiency is improved.
And S230, combining the configuration parameters according to the configuration items and the preset access level priority to generate target configuration parameters.
In this embodiment, the priority of the preset access level is set according to a specific service requirement, and the priority order from the user level → the tenant level → the system level from high to low is taken as an example, that is, the priority of the system level is the lowest, and is the bottom-of-pocket parameter or the default parameter of all configuration items.
And after all the configuration items and the configuration parameters are acquired, screening out all the repeated configuration items according to the configuration items. And then, according to the preset access level priority, covering the data with low priority by the data with high priority, namely covering the configuration parameters corresponding to the tenant level and the system level by the configuration parameters corresponding to the user level, and covering the configuration parameters corresponding to the system level by the configuration parameters corresponding to the tenant level. This allows for the merging of configuration parameters for duplicate configuration items. Finally, the combined configuration parameters and the configuration parameters corresponding to the unrepeated configuration items are combined to form all the target configuration parameters of the target visitor. Therefore, the aim of setting the personalized setting of the prior user can be achieved.
S240, completing the adaptation of the system configuration of the target visitor according to the target configuration parameters.
And S250, if the target visitor triggers the configuration parameter modification operation, judging whether the configuration data corresponding to each target visitor identifier and the configuration item to be modified exist in the common configuration table.
After the application software is run, if a target visitor wants to modify the configuration parameters of a certain item or several configuration items, the target visitor triggers a configuration parameter modification operation through an interactive interface. Through this triggering operation, the system can determine the configuration items to be modified. The system then needs to query the common configuration table for the presence of the corresponding configuration parameters. For example, when the target visitor is a person at the user level, the configuration parameters are searched according to the configuration item to be modified, the tenant id and the user id. If the data is found, it indicates that the configuration parameters of the configuration item to be modified exist in the common configuration table, and then only the configuration parameters need to be modified, that is, S270 is executed. If no data is found, it indicates that there is no configuration parameter of the configuration item to be modified in the common configuration table, and then a new piece of configuration data needs to be added, i.e. S260 is executed.
And S260, if not, calling a shared system configuration service based on the preset access level corresponding to the target visitor, the identification of each target visitor, the configuration item to be modified and the modification configuration parameter, adding configuration data into the shared configuration table, and updating the shared configuration table.
The process of adding data records to the common configuration table is: calling a shared system configuration service, and adding a preset access level (such as a user) corresponding to a target visitor, an identifier (such as a tenant id of 11 and a user id of 11002), a configuration item to be modified (such as a portal page theme color) and a modification configuration parameter (such as green) of each target visitor as modified configuration data to a shared configuration table so as to update the shared configuration table and complete one-time personalized setting of the target visitor.
And S270, if yes, calling a shared system configuration service based on the identification of each target visitor, the configuration item to be modified and the modified configuration parameters, covering the original configuration parameters in the configuration data with the modified configuration parameters, and updating the shared configuration table.
The data record process in the modification common configuration table is as follows: calling a common system configuration service, uniquely positioning a piece of configuration data according to each target visitor identifier (such as tenant id of 11 and user id of 11001) and a configuration item to be modified (such as portal page theme color), then replacing an original configuration parameter (such as red) with a modified configuration parameter (such as pink), completing the modification of the configuration data, updating a common configuration table, and completing one-time personalized setting of the target visitor.
According to the technical scheme of the embodiment, the shared system configuration service is called according to the target visitor identification, and the configuration item and the configuration parameter corresponding to each target visitor identification are obtained from the shared configuration table; and combining the configuration parameters according to the configuration items and the preset access level priority to generate target configuration parameters. The hierarchical configuration management of the system configuration based on the preset access level priority is realized, the personalized setting corresponding to the target visitor can be rapidly displayed through the step-by-step coverage of the configuration parameters, and the flexibility of the personalized setting of the application software in the SaaS system is improved. If the target visitor triggers the configuration parameter modification operation, judging whether configuration data corresponding to each target visitor identifier and the configuration item to be modified exist in the common configuration table; if not, calling a shared system configuration service based on the preset access level corresponding to the target visitor, the identification of each target visitor, the configuration item to be modified and the modification configuration parameter, adding configuration data into the shared configuration table, and updating the shared configuration table; if yes, calling the shared system configuration service based on the target visitor identification, the configuration item to be modified and the modification configuration parameter, covering the original configuration parameter in the configuration data with the modification configuration parameter, and updating the shared configuration table. The modification of the personalized setting of the application software in the SaaS system is realized, and the convenience and the flexibility of the personalized setting of the application software in the SaaS system are further improved.
EXAMPLE III
The present embodiment provides a system configuration device of a software as a service system, and referring to fig. 3, the device specifically includes:
a target visitoridentifier determining module 410, configured to determine, in response to an access request of a target visitor to access application software in a target system, a target visitor identifier of at least one preset access level corresponding to the target visitor, where the target visitor is a person at any preset access level;
a target configurationparameter determining module 420, configured to invoke a common system configuration service based on each target visitor identifier, and determine a target configuration parameter corresponding to the target visitor from a common configuration table, where a mapping relationship among the access level identifier, the configuration item, the configuration parameter, and the visitor identifier is recorded in the common configuration table;
and thesystem configuration module 430 is configured to complete adaptation of the system configuration of the target visitor according to the target configuration parameters.
Optionally, the target configurationparameter determining module 420 includes:
the configuration parameter acquisition submodule is used for calling a shared system configuration service according to each target visitor identifier and acquiring a configuration item and a configuration parameter corresponding to each target visitor identifier from a shared configuration table;
and the target configuration parameter generation submodule is used for combining the configuration parameters according to the configuration items and the preset access level priority to generate the target configuration parameters.
The preset access level comprises a system level, a tenant level and a user level;
the preset access level priority includes a system level being a lowest priority, a tenant level being a medium priority, and a user level being a highest priority.
Further, the configuration parameter obtaining sub-module is specifically configured to:
and calling the shared system configuration service in parallel according to each target visitor identifier, and simultaneously acquiring the configuration item and the configuration parameter corresponding to each target visitor identifier from the shared configuration table.
Optionally, on the basis of the foregoing apparatus, the apparatus further includes a configuration parameter modification module, configured to:
if the target visitor triggers the configuration parameter modification operation, judging whether configuration data corresponding to each target visitor identifier and the configuration item to be modified exist in the common configuration table;
if not, calling a shared system configuration service based on the preset access level corresponding to the target visitor, the identification of each target visitor, the configuration item to be modified and the modification configuration parameter, adding configuration data into the shared configuration table, and updating the shared configuration table;
if yes, calling the shared system configuration service based on the target visitor identification, the configuration item to be modified and the modification configuration parameter, covering the original configuration parameter in the configuration data with the modification configuration parameter, and updating the shared configuration table.
Optionally, on the basis of the above apparatus, the apparatus further includes a system function upgrading module, configured to:
and under the condition that the system level in the preset access levels is the lowest priority, if the function of the application software is upgraded, calling the shared system configuration service based on the system level identification, the upgrade configuration item, the upgrade configuration parameter and the system visitor identification, adding upgrade configuration data into the shared configuration table, and updating the shared configuration table.
Optionally, on the basis of the apparatus, the apparatus further includes a common configuration table creating module, configured to create the common configuration table in advance by:
and if the application software is online, initializing the common configuration table according to the system level identification, each configuration item, the preset configuration parameters of the corresponding configuration item and the system visitor identification.
By the system configuration device of the software-as-a-service system according to the third embodiment of the present disclosure, the functions of common system configuration corresponding to different preset access levels in application software of the SaaS system are converged into a set of logic to form a common system configuration service, and a common configuration table is maintained in the SaaS system to store system configuration parameter information of different preset access levels, thereby providing a software basis for subsequent system configuration, simplifying the logic for implementing system configuration, reducing development complexity, and improving system expandability based on the expandability of the common configuration table. Meanwhile, when the user accesses the application software of the SaaS system, the configuration parameters adapted to the user are determined according to at least one preset access level corresponding to the user, the system configuration is completed, and the realization convenience and efficiency of the personalized system configuration of the application software in the SaaS system are improved.
The system configuration device of the software-as-a-service system provided by the embodiment of the disclosure can execute the system configuration method of the software-as-a-service system provided by any embodiment of the disclosure, and has the corresponding functional modules and beneficial effects of the execution method.
It should be noted that, in the embodiment of the system configuration device of the software-as-a-service system, the included units and modules are only divided according to functional logic, but are not limited to the above division as long as the corresponding functions can be implemented; in addition, specific names of the functional units are only used for distinguishing one functional unit from another, and are not used for limiting the protection scope of the present disclosure.
Example four
Referring to FIG. 5, a schematic structural diagram of an electronic device (e.g., a supercomputer or server) 500 suitable for use in implementing embodiments of the present disclosure is shown. The electronic device shown in fig. 5 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 5,electronic device 500 may include a processing means (e.g., central processing unit, graphics processor, etc.) 501 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)502 or a program loaded from a storage means 506 into a Random Access Memory (RAM) 503. In theRAM 503, various programs and data necessary for the operation of theelectronic apparatus 500 are also stored. Theprocessing device 501, the ROM502, and theRAM 503 are connected to each other through abus 504. An input/output (I/O)interface 505 is also connected tobus 504.
In general,input devices 506 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.,output devices 507 including, for example, a liquid crystal display (L CD), speaker, vibrator, etc.,storage devices 508 including, for example, magnetic tape, hard disk, etc., andcommunication devices 509. thecommunication devices 509 may allow theelectronic device 500 to communicate wirelessly or wiredly with other devices to exchange data.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer readable storage medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 509, or installed from the storage means 508, or installed from theROM 502. The computer program performs the above-described functions defined in the system configuration method of the software-as-a-service system of the embodiment of the present disclosure when executed by theprocessing device 501.
EXAMPLE five
The present embodiment provides a computer-readable storage medium having stored thereon a computer program for executing a system configuration method of a software-as-a-service system when the computer program is executed by a processor.
It should be noted that the computer readable storage medium of the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable storage medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable storage medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network protocol, such as HTTP (HyperText transfer protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communications network). examples of communications networks include local area networks ("L AN"), wide area networks ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
The computer-readable storage medium may be included in the electronic device; or may exist separately without being assembled into the electronic device.
The computer readable storage medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: responding to an access request of a target visitor for accessing application software in a target system, and determining at least one target visitor identifier with a preset access level corresponding to the target visitor, wherein the target visitor is a person with any preset access level; calling a shared system configuration service based on each target visitor identifier, and determining a target configuration parameter corresponding to the target visitor from a shared configuration table, wherein the shared configuration table records a mapping relation among an access level identifier, a configuration item, a configuration parameter and a visitor identifier; and completing the adaptation of the system configuration of the target visitor according to the target configuration parameters.
Of course, the computer-readable storage medium provided by the embodiments of the present disclosure has computer-executable instructions that are not limited to the above method operations, and may also perform related operations in the system configuration method of the software-as-a-service system provided by any embodiments of the present disclosure.
Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, including but not limited to AN object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of a unit does not in some cases constitute a limitation of the unit itself, for example, a system configuration unit may also be described as a "configure system parameters unit".
For example, without limitation, exemplary types of hardware logic that may be used include Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CP L D), and so forth.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
According to one or more embodiments of the present disclosure, [ example one ] there is provided a system configuration method of a software as a service system, including:
responding to an access request of a target visitor for accessing application software in a target system, and determining at least one target visitor identifier with a preset access level corresponding to the target visitor, wherein the target visitor is a person with any preset access level;
calling a shared system configuration service based on each target visitor identifier, and determining a target configuration parameter corresponding to the target visitor from a shared configuration table, wherein the shared configuration table records a mapping relation among an access level identifier, a configuration item, a configuration parameter and a visitor identifier;
and completing the adaptation of the system configuration of the target visitor according to the target configuration parameters.
According to one or more embodiments of the present disclosure, [ example two ] there is provided a system configuration method of a software as a service system, further comprising:
optionally, invoking a common system configuration service based on each target visitor identifier, and determining a target configuration parameter corresponding to the target visitor from the common configuration table includes:
calling a shared system configuration service according to each target visitor identifier, and acquiring a configuration item and a configuration parameter corresponding to each target visitor identifier from a shared configuration table;
and combining the configuration parameters according to the configuration items and the preset access level priority to generate target configuration parameters.
According to one or more embodiments of the present disclosure, [ example three ] there is provided a system configuration method of a software as a service system, further comprising:
the preset access level comprises a system level, a tenant level and a user level;
the preset access level priority includes a system level being a lowest priority, a tenant level being a medium priority, and a user level being a highest priority.
According to one or more embodiments of the present disclosure, [ example four ] there is provided a system configuration method of a software as a service system, further comprising:
calling a shared system configuration service according to each target visitor identifier, and acquiring a configuration item and a configuration parameter corresponding to each target visitor identifier from a shared configuration table comprises the following steps:
and calling the shared system configuration service in parallel according to each target visitor identifier so as to simultaneously acquire the configuration item and the configuration parameter corresponding to each target visitor identifier from the shared configuration table.
According to one or more embodiments of the present disclosure, [ example five ] there is provided a system configuration method of a software as a service system, further comprising:
if the target visitor triggers the configuration parameter modification operation, judging whether configuration data corresponding to each target visitor identifier and the configuration item to be modified exist in the common configuration table;
if not, calling a shared system configuration service based on the preset access level corresponding to the target visitor, the identification of each target visitor, the configuration item to be modified and the modification configuration parameter, adding configuration data into the shared configuration table, and updating the shared configuration table;
if yes, calling the shared system configuration service based on the target visitor identification, the configuration item to be modified and the modification configuration parameter, covering the original configuration parameter in the configuration data with the modification configuration parameter, and updating the shared configuration table.
According to one or more embodiments of the present disclosure, [ example six ] there is provided a system configuration method of a software as a service system, further comprising:
in the case that a system level among the preset access levels is a lowest priority, the method further includes:
if the function of the application software is upgraded, calling the shared system configuration service based on the system level identification, the upgrade configuration item, the upgrade configuration parameter and the system visitor identification, adding upgrade configuration data into the shared configuration table, and updating the shared configuration table.
According to one or more embodiments of the present disclosure, [ example seven ] there is provided a system configuration method of a software as a service system, further comprising:
the common configuration table is created in advance by:
and if the application software is online, initializing the common configuration table according to the system level identification, each configuration item, the preset configuration parameters of the corresponding configuration item and the system visitor identification.
According to one or more embodiments of the present disclosure, [ example eight ] there is provided a system configuration apparatus of a software as a service system, the apparatus including:
the target visitor identification determining module is used for responding to an access request of a target visitor for accessing application software in a target system and determining at least one target visitor identification with a preset access level corresponding to the target visitor, wherein the target visitor is a person with any preset access level;
the target configuration parameter determining module is used for calling a shared system configuration service based on each target visitor identifier and determining a target configuration parameter corresponding to the target visitor from a shared configuration table, wherein the shared configuration table records the mapping relation among the access level identifier, the configuration item, the configuration parameter and the visitor identifier;
and the system configuration module is used for completing the adaptation of the system configuration of the target visitor according to the target configuration parameters.
According to one or more embodiments of the present disclosure, [ example nine ] there is provided an electronic device comprising:
one or more processors;
a storage device for storing one or more programs,
when the one or more programs are executed by the one or more processors, the one or more processors implement the system configuration method of the software-as-a-service system provided in any embodiment of the present disclosure.
According to one or more embodiments of the present disclosure, [ example ten ] there is provided a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements a system configuration method of a software as a service system provided in any embodiment of the present disclosure.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the disclosure herein is not limited to the particular combination of features described above, but also encompasses other embodiments in which any combination of the features described above or their equivalents does not depart from the spirit of the disclosure. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.
Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.