Model service-oriented information management method, medium and electronic device

CN122802370APending Publication Date: 2026-09-22BEIJING VOLCANO ENGINE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610956812.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-29
Publication Date
2026-09-22

AI Technical Summary

Benefits of technology

[0009]通过上述技术方案,通过生成不同第一租户标识对应的第一配置文件,从而隔离不同第一租户的专属配置,在此基础上,生成与第二租户标识对应的第二配置文件,第二配置文件中的第一配置信息可以视为供所有第一租户共享的相同配置,这样,对于配置平台而言,无需为所有租户创建完整的配置,可以通过更新第二配置文件,即可实现所有租户相同配置的更新,无需一一更新第一租户的专属配置,从而提升配置的更新效率,同时解决了因重复配置所有租户相同配置导致配置冗余的问题。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122802370A_ABST
    Figure CN122802370A_ABST
Patent Text Reader

Abstract

A model service-oriented information management method, medium and electronic equipment, relating to the field of computers, the model service-oriented information management method can include: in response to a first configuration operation, generating a first configuration file corresponding to a first tenant identifier, the first tenant identifier corresponding to a first tenant, the first configuration file of different first tenants being isolated by different first tenant identifiers; in response to a second configuration operation, generating a second configuration file corresponding to a second tenant identifier, the second configuration file including first configuration information, the first configuration information being shareable by different first tenants, the first configuration file and the first configuration information being used to support a client querying second configuration information of the first tenant, the second configuration information being used at least to implement a model service, without one-by-one updating exclusive configurations of the first tenant, thereby improving the updating efficiency of the configurations, and at the same time solving the problem of configuration redundancy caused by repeatedly configuring the same configurations for all tenants.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This content relates to the field of computer technology, specifically to an information management method, medium, and electronic device oriented towards model services. Background Technology

[0002] In the SaaS (Software as a Service) architecture, the configuration platform is a key infrastructure for achieving dynamic and refined operations. It is responsible for managing the operating parameters of business or model services in different environments or at different stages, so that the performance of business or model services on the corresponding client of the tenant can be adjusted without recompiling or redeploying.

[0003] In multi-tenant scenarios, it is necessary to provide business or model services to a large number of tenants. Each tenant may have different configuration requirements for business or model services. Therefore, it is necessary to isolate the configurations between tenants. Summary of the Invention

[0004] This content section is provided to briefly introduce the concepts, which will be described in detail in the examples section later. This content section is not intended to identify key or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.

[0005] Firstly, a model-service-oriented information management method is provided, executed by a configuration platform, the method comprising: In response to the first configuration operation, a first configuration file corresponding to the first tenant identifier is generated. The first tenant identifier corresponds to the first tenant, and the first configuration files of different first tenants are isolated through different first tenant identifiers. In response to the second configuration operation, a second configuration file corresponding to the second tenant identifier is generated. The second configuration file includes first configuration information, which can be shared by different first tenants. The first configuration information in the first configuration file and the second configuration file is used to support the client to query the second configuration information of the first tenant. The second configuration information is used to implement model services at least.

[0006] Secondly, a model-service-oriented information management method is provided, executed by a client, the method comprising: In response to a request, second configuration information is queried from a first configuration file corresponding to a first tenant identifier. The first tenant identifier corresponds to a first tenant, and the first configuration files of different first tenants are isolated by different first tenant identifiers. The second configuration information is used at least to implement the model service. In response to the failure to find the second configuration information in the first configuration file, the second configuration information is retrieved from the second configuration file corresponding to the second tenant identifier. The second configuration file includes the first configuration information, which can be shared by different first tenants. The first configuration file and the second configuration file are generated by the configuration platform.

[0007] Thirdly, a computer-readable medium is provided having a computer program stored thereon, wherein the computer program, when executed by a processing device, implements the steps of the method described in the first aspect, or implements the steps of the method described in the second aspect.

[0008] Fourthly, an electronic device is provided, comprising: A storage device on which computer programs are stored; A processing device for executing the computer program in the storage device to implement the steps of the method of the first aspect, or to implement the steps of the method of the second aspect.

[0009] The above technical solution generates a first configuration file corresponding to different first tenant identifiers, thereby isolating the exclusive configurations of different first tenants. Based on this, a second configuration file corresponding to the second tenant identifier is generated. The first configuration information in the second configuration file can be regarded as the same configuration shared by all first tenants. In this way, for the configuration platform, it is not necessary to create complete configurations for all tenants. By updating the second configuration file, the same configuration of all tenants can be updated without updating the exclusive configuration of each first tenant. This improves the efficiency of configuration updates and solves the problem of configuration redundancy caused by repeatedly configuring the same configuration of all tenants.

[0010] Other features and advantages of the technical solution will be described in detail in the following examples section. Attached Figure Description

[0011] The above and other features, advantages, and aspects of the technical solution will become more apparent when considered in conjunction with the accompanying drawings and the following examples. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale. In the drawings: Figure 1 This is a schematic diagram illustrating the application environment of a model-service-oriented information management method, based on certain scenarios. Figure 2 This is a flowchart illustrating a model-oriented information management method based on certain scenarios; Figure 3 This is a schematic diagram illustrating a model-oriented information management method based on certain scenarios. Figure 4This is another flowchart illustrating a model-oriented service-based information management approach, based on certain scenarios. Figure 5 This is a block diagram of an information management device for model-oriented services, shown according to certain circumstances. Figure 6 This is another block diagram of a model-oriented information management device, shown according to certain circumstances; Figure 7 This is a schematic diagram of the structure of an electronic device shown under certain circumstances. Detailed Implementation

[0012] The technical solution will now be described in more detail with reference to the accompanying drawings. Although certain scenarios are shown in the drawings, it should be understood that the technical solution can be implemented in various forms and should not be construed as limited to the scenarios described herein. Rather, these scenarios are provided to provide a more thorough and complete understanding of the technical solution. It should be understood that the accompanying drawings and the scenarios described are for illustrative purposes only and are not intended to limit the scope of protection of the technical solution.

[0013] It should be understood that the steps described in the method implementation may be performed in different orders and / or in parallel. Furthermore, the method implementation may include additional steps and / or omit the steps shown. The scope of the technical solution is not limited in this respect.

[0014] The term "comprising" and its variations as used herein can be open-ended, meaning "including but not limited to". The term "based on" can mean "at least partially based on". The term "one case" means "at least one case"; the term "another case" means "at least one additional case"; the term "some cases" means "at least some cases". Definitions of other terms will be given in the following description.

[0015] It should be noted that the concepts of "first" and "second" mentioned here are only used to distinguish different devices, modules or units, and are not used to limit the order of the functions performed by these devices, modules or units or their interdependencies.

[0016] It should be noted that the terms "one" and "more" used here are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0017] The names of messages or information exchanged between the multiple devices in the implementation are for illustrative purposes only and are not intended to limit the scope of these messages or information.

[0018] It is understandable that before using the technical solutions provided here, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in accordance with relevant laws and regulations, and their authorization should be obtained through appropriate means.

[0019] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose, based on the prompt message, whether to provide personal information to the software or hardware such as electronic devices, applications, servers, or storage media performing the operations described herein.

[0020] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0021] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of the technical solution. Other methods that comply with relevant laws and regulations may also be applied to the implementation of the technical solution.

[0022] At the same time, it is understood that the data involved in the technical solution (including but not limited to the data itself, the acquisition or use of the data) should comply with the requirements of relevant laws, regulations and related provisions.

[0023] In related technologies, configurations of different tenants are isolated using unique identifiers. This involves creating an independent and unique identifier for each tenant. When a new tenant joins, the configuration platform assigns it a unique identifier. Operations personnel then configure the tenant's information under this identifier. When the corresponding client starts up, it requests the appropriate configuration information based on the tenant's identifier to enable the startup or operation of the required model services. While this method effectively isolates configurations between different tenants, it has at least the following drawbacks: First, when there are many identical configurations and only a few different configurations among different tenants, creating a complete configuration for each tenant would lead to a great deal of data redundancy. Second, when it is necessary to publish a default configuration for a new feature to all tenants, it is necessary to iterate through and modify the configuration under the corresponding identifier of each tenant, which is tedious and easy to miss.

[0024] Therefore, the related technologies suffer from problems such as high management costs and data redundancy.

[0025] In view of this, an information management method, device, medium, system, electronic device and program product for model services are provided. The following explanation and description of the solution are provided in conjunction with the accompanying drawings.

[0026] The application environment of the model-service-oriented information management method can include a configuration platform and a client, with the configuration platform and client communicating together. The configuration platform can configure different configuration files for different first tenants. These configuration files can be cached in a local cache held by the client. When the client uses a corresponding model service for a first tenant, it can retrieve the configuration file corresponding to that first tenant from the cached configuration file, thereby providing the first tenant with the model service configured accordingly based on the configuration file.

[0027] Figure 1 This is a schematic diagram illustrating the application environment of a model-service-oriented information management method, based on certain scenarios. (Refer to...) Figure 1 , refer to Figure 1 The configuration platform 101 can be a distributed architecture, meaning it can include N servers, where N is an integer greater than 2. Each server can store a first configuration file corresponding to the first tenant's first tenant identifier and a second configuration file corresponding to the second tenant's second tenant identifier. The client 102 can obtain the corresponding first and second configuration files through communication with the servers and cache them, thereby providing a data foundation for implementing the corresponding model service on the client 102. For example, the model service could be an intelligent question-answering service.

[0028] The configuration platform 101 can also provide a configuration interface or API (Application Programming Interface) to generate a first configuration file or a second configuration file. After generating the first configuration file or the second configuration file, the database in the configuration platform 101 is updated and the local cache held by each server is updated to update the corresponding configuration file.

[0029] Client 102 can obtain the first configuration file or the second configuration file from each server and cache them, so that client 102 can obtain the second configuration information from the cache.

[0030] Figure 2 This is a flowchart illustrating a model-service-oriented information management method based on certain scenarios. This model-service-oriented information management method can be executed by a configuration platform, see [reference]. Figure 2 The information management method for model services may include steps S110 and S120.

[0031] In step S110, the configuration platform responds to the first configuration operation and generates a first configuration file corresponding to the first tenant identifier. The first tenant identifier corresponds to the first tenant, and the first configuration files of different first tenants are isolated through different first tenant identifiers.

[0032] In step S120, the configuration platform responds to the second configuration operation and generates a second configuration file corresponding to the second tenant identifier. The second configuration file includes first configuration information, which can be shared by different first tenants. The first configuration information in the first configuration file and the second configuration file is used to support the client to query the second configuration information of the first tenant. The second configuration information is used to implement the model service at least.

[0033] The above scheme generates a first configuration file corresponding to different first tenant identifiers, thereby isolating the exclusive configurations of different first tenants. Based on this, a second configuration file corresponding to the second tenant identifier is generated. The first configuration information in the second configuration file can be regarded as the same configuration for all first tenants. The first configuration information can be shared by all first tenants. In this way, for the configuration platform, there is no need to create complete configurations for all tenants. By updating the second configuration file, the same configuration for all tenants can be updated without updating the exclusive configurations of each first tenant. This improves the efficiency of configuration updates and solves the problem of configuration redundancy caused by repeatedly configuring the same configuration for all tenants.

[0034] When a client needs to obtain the second configuration information of the corresponding model service under a target tenant, it can first query the first configuration file in its own cache to obtain the second configuration information. If the second configuration information cannot be obtained from the first configuration file, it can query the first configuration information in the second configuration file to obtain the second configuration information. Here, the target tenant can be any of the first tenants, that is, the second configuration information can come from either the first or the second configuration file. In this way, the model service can be implemented by preferentially using the target tenant's exclusive configuration. If the target tenant's exclusive configuration cannot be obtained, a fallback approach is adopted to obtain the same configuration shared by all first tenants in the second configuration file to implement the model service. In other words, the first configuration information can be the configuration provided by the configuration platform to all first tenants.

[0035] In some cases, the second configuration information can also be used to implement business functions, and the model service can be a feature provided within the business. For example, the business could be an office-related function that supports employee attendance and meeting functions, while also providing related model services, such as a model service that automatically converts meeting recordings into text.

[0036] The above methods can be used to isolate the configurations of different first tenants in the business.

[0037] In some cases, the first and second configuration operations can be triggered by the operators of the configuration platform. The configuration platform can provide a configuration interface through which operators can perform management operations such as creating, updating, and deleting configuration files, thereby triggering configuration operations to manage the configuration files corresponding to the first tenant identifier. When creating or updating configuration files, the first or second configuration operation can be triggered accordingly, thereby generating the first or second configuration file corresponding to the first tenant identifier. When deleting configuration files, the third configuration operation can be triggered accordingly to delete the configuration file targeted by the third configuration operation.

[0038] In some cases, the first and second configuration operations can be triggered by external systems of the configuration platform. These external systems can be systems granted permissions by the configuration platform to manage configuration files within the platform. In other words, the configuration platform can grant external systems permission to manage configuration files for the first tenant. This management can refer to adding, modifying, or deleting configuration files. For example, the configuration platform can provide an API, allowing the terminal corresponding to the first tenant to perform configuration operations such as creating, updating, and deleting files, thereby triggering the first, second, and third configuration operations. The details of the third configuration operation can be found above.

[0039] In some cases, the second profile can be independent of the configuration platform. In this way, the second tenant identifier can be directed to all first tenants, meaning the second profile can only include the first configuration information shared by all first tenants.

[0040] By using the above method, the same configuration for all first tenants is maintained in a separate file.

[0041] In some cases, the second tenant identifier may be directed to the configuration platform, that is, the second tenant identifier may correspond to the second tenant, and the second tenant may be the configuration platform. Thus, the second configuration file may also include third configuration information, which is used to characterize the configuration information of the configuration platform. The third configuration information is prohibited from being shared by the first tenant. In the second configuration file, the first configuration information and the third configuration information are configured with different tags.

[0042] As an example, the third configuration information is a configuration exclusive to the configuration platform, which only takes effect on the logic of the configuration platform itself (such as the on / off switch of the functions held by the configuration platform). The configuration exclusive configuration of the configuration platform will not be inherited by the first tenant, that is, the first tenant cannot share the configuration information of the configuration platform.

[0043] As an example, configuration information in the second configuration file (such as first or third configuration information) can be marked by the values ​​of preset fields, thereby distinguishing between first and third configuration information in the second configuration file. For instance, if the value of a preset field in the configuration information is 0, it can be determined that the configuration information is first configuration information; if the value of a preset field in the configuration information is 1, it can be determined that the configuration information is third configuration information. Preset fields can also be considered as attribute fields of configuration information.

[0044] Through the above technical solution, by adding markers to the second configuration file of the configuration platform to distinguish between the first configuration information and the second configuration information, the configuration information of the configuration platform and the same configuration of all first tenants can be coupled in the same configuration file. In this way, the development of the configuration platform can be simplified, and by using different markers to distinguish between the first configuration information and the third configuration information, the first tenants are prevented from obtaining the configuration information of the configuration platform when querying the second configuration information in the second configuration file, thereby improving the security of the configuration information of the configuration platform.

[0045] In some cases, where the second configuration file includes both the first and third configuration information, the second configuration operation can be triggered solely by the operators of the configuration platform. This prevents external systems from gaining access to the configuration information of the configuration platform and enhances the security of the configuration platform.

[0046] In some cases, different third configuration files belong to different modules, and the third configuration file includes at least one of the first configuration file and the second configuration file.

[0047] For example, a module here can refer to a model service, the business associated with the model service, or a function within the business (such as the attendance system mentioned above).

[0048] The third configuration file can include multiple configuration items, which can be understood as the first and second configuration information mentioned above. These configuration items can be divided into the same module and thus configured in the same configuration file. The configuration information in the same module has the same attributes. Here, the attributes can refer to the module to which it belongs and the tenant to which it belongs. The tenant can be the first tenant or the second tenant.

[0049] By using the above approach to manage the first or second configuration file in a modular manner, clients can directly obtain batches of configuration items (i.e., configuration information) based on modules, thereby improving the efficiency of obtaining configuration information.

[0050] In some cases, configuration items in a third-party configuration file may also carry at least one of the following fields, which are used to describe the properties of the configuration item. For example, these include at least one of the following fields: The first field is used to enhance the security of configuration items; The second field is used to configure the data type of the value corresponding to the configuration item.

[0051] The third field is used to configure the lifecycle of the configuration item; The fourth field, which can be understood as the aforementioned preset field, is used to distinguish between the first configuration information and the third configuration information; The fifth field is used to configure the creation information of the first configuration file that belongs to the same module and has the same tenant identifier as the third configuration file. This creation information may include the creator and the creation time. The sixth field is used to configure the creation information of the third configuration file, which includes the creator and the creation time; The seventh field is used to configure the status of the third configuration file, which includes an active status and an inactive status.

[0052] The eighth field is used to configure the name of the third configuration file.

[0053] For the first field, its value can be 1. Therefore, the configuration center can encrypt configuration items with a first field value of 1, and the client needs to decrypt it to obtain the value when sending the configuration item, ensuring the security of encrypted configuration information. Conversely, the first field can also be 0. Therefore, the configuration center does not need to encrypt configuration items with a first field value, and the client does not need to decrypt it to obtain the value, suitable for configuration information that does not require encryption.

[0054] For the second field, the value can be a string, an integer, or a JSON object, etc., serving as a contract for subsequent type conversion. For example, if the value of the configuration item is 100 and the value of the second field carried by the configuration item is a string, then 100 needs to be converted to the string 100 instead of the integer 100, thereby ensuring the safety of the type conversion of the configuration item's value.

[0055] As for the third field, its value serves as the lifecycle of the corresponding configuration item, providing timeliness and lifecycle management for the configuration item. It can be used to implement features such as switching temporary functions on and off.

[0056] The fourth field is used to distinguish between the first and third configuration information. For example, a configuration item with a fourth field value of 0 indicates it is first configuration information, while a configuration item with a fourth field value of 1 indicates it is third configuration information. Therefore, for the configuration platform, to publish the same default configuration for all tenants, it only needs to add a configuration item with a fourth field value of 0 to the configuration file corresponding to the second tenant identifier, thus generating a second configuration file. This allows for updating the same default configuration for all tenants with a single operation. To configure a unique configuration for the first tenant, it only needs to add a configuration item to the configuration file corresponding to the first tenant identifier, thus generating a first configuration file.

[0057] By using the above method, multiple fields representing various configuration items (such as the first configuration information) can be set, thereby improving the scalability of the configuration.

[0058] In some cases, to alleviate the pressure of a large number of clients accessing the configuration platform, the configuration platform can be set up as a distributed architecture. That is, the configuration platform can include multiple servers, and clients can access the configuration platform through each server. This access is for caching and updating configuration files on the client to obtain the latest secondary configuration information.

[0059] As an example, the configuration platform may include a first server and a second server. In this case, the above-described information management method for model services may further include the following steps: The first server responds to the generation of a third configuration file; the first server determines the version number of the third configuration file, the third configuration file including either the first configuration file or the second configuration file, the version number of the third configuration file being different from the version number of a fourth configuration file, the fourth configuration file being located in a database, and the fourth configuration file and the third configuration file belonging to the same module and the same tenant; the first server updates the database and a first local cache based on the third configuration file and its version number, the first local cache being held by the first server; an update message is generated based on publisher information, the publisher information including the version number of the third configuration file, the module identifier of the module to which the third configuration file belongs, and the tenant identifier of the tenant to which the third configuration file belongs; the update message is broadcast; the second server receives the update message, obtains the third configuration file based on the publisher information in the update message, and updates a second local cache based on the obtained third configuration file and its version number, the second local cache being held by the second server, each local cache being used to support the client in obtaining the second configuration information.

[0060] The client can retrieve the third configuration file from the local cache of any server in the configuration center (such as the first or second server mentioned above) and update its own local cache accordingly. This allows the client to retrieve the corresponding second configuration information from its own local cache, accelerating the retrieval process. Therefore, each server in the configuration platform needs to ensure that the third configuration file in its local cache is up-to-date. Thus, if the first server successfully updates its database and its own local cache based on the newly generated third configuration file and its version number, it can generate an update message and broadcast it through the configuration platform. This allows other servers (such as the second server) to receive the broadcast update message and update their own local caches accordingly.

[0061] The database can be a database maintained by the configuration platform, accessible to all servers, and capable of persistently storing data (i.e., configuration files). During the process of updating the database and the first local cache on the first server, the database can be updated first, and then the first local cache held by the first server can be updated after the database update is successful.

[0062] When updating the database based on the third configuration file and its version number, if the fourth configuration file does not exist in the database, it indicates that the third configuration file is a newly created configuration file for the module and its identifier. In this case, the third configuration file and its version number can be directly created in the database to update the database. If the fourth configuration file exists in the database, it indicates that the third configuration file is updating an existing configuration file for the module and its identifier in the database. In this case, the third configuration file can be used to overwrite the fourth configuration file in the database, and the version number of the third configuration file can be used to overwrite the version number of the fourth configuration file in the database to update the database. Creating a new version number or overwriting the version number of the fourth configuration file in the database provides the data basis for updating the configuration files cached on the client. For information on updating client-cached configuration files, please refer to the following content.

[0063] When updating the first local cache based on the third configuration file and its version number, if the fourth configuration file does not exist in the database, it indicates that the third configuration file is a newly created configuration file for the module and its identifier to which the third configuration file belongs. In this case, the third configuration file and its version number can be directly created in the first local cache to update the first local cache. If the fourth configuration file exists in the database, it indicates that the third configuration file is an update to an existing configuration file in the database for the module and its identifier to which the third configuration file belongs. In this case, the third configuration file can be used to directly overwrite the fourth configuration file in the first local cache, and the version number of the third configuration file can be used to overwrite the version number of the fourth configuration file in the first local cache to update the first local cache.

[0064] The version number of the third configuration file can be determined by an incrementing condition. Specifically, the determined version number must satisfy an incrementing condition. For configuration files of the same module and tenant, from a numerical perspective, the previously determined version number can be less than the currently determined version number. This means the previously determined version number is the version number of the fourth configuration file, and the currently determined version number is the version number of the third configuration file. This ensures that the version numbers of the third and fourth configuration files can be different. For example, the version number of the third configuration file can be determined by the integer corresponding to the current timestamp; this integer naturally satisfies the incrementing condition. As another example, the version number can also be a hash value obtained from the third configuration file, and this hash value also needs to satisfy the incrementing condition.

[0065] Update messages can be generated by the first server, which can respond to updates in its own local cache and generate corresponding update messages; or they can be generated by the configuration platform, which can respond to database updates and generate corresponding update messages.

[0066] The update message can carry the version number of the third configuration file, the module identifier of the module to which the third configuration file belongs, and the tenant identifier of the tenant to which the third configuration file belongs. As can be seen from the above, the tenant identifier here can be either the first tenant identifier or the second tenant identifier. The second server can retrieve the third configuration file that needs to be updated to the second server from the database based on the version number, module identifier, and tenant identifier in the update message.

[0067] Similar to the above update, if a configuration file with the same module and tenant identifier as the third configuration file exists in the second local cache, the corresponding configuration file and version number in the second local cache are updated by overwriting. If no configuration file with the same module and tenant identifier as the third configuration file exists in the second local cache, the second local cache is updated by creating a new configuration file.

[0068] By using the above method, when the configuration center includes multiple servers, a synchronization mechanism is set up to ensure that the configuration files and version numbers in each server remain consistent, thus providing a reliable data foundation for communication between the client and each server.

[0069] In some cases, the local cache of each server can be either memory or disk.

[0070] In some cases, the configuration platform can maintain a message queue to store initiated update messages. The update messages are then broadcast by consuming the update messages in the message queue through the configuration platform.

[0071] By using the above method, message queues are used to maintain high-traffic update messages, thus avoiding overwhelming the servers instantly.

[0072] In some cases, the steps described above—responding to the generation of a third configuration file via the first server, determining the version number of the third configuration file via the first server, updating the database and the first local cache via the first server based on the third configuration file and its version number, and generating an update message via the first server based on the publisher information—can be encapsulated within a single database transaction. A complete database transaction is a set of indivisible operations within the database; either all operations succeed or all are rolled back, without any intermediate states. Therefore, encapsulating this series of operations within a single database transaction ensures data persistence and the atomicity of version number updates, which is the foundation for the subsequent consistency between the configuration file and the version number between the second server and the client.

[0073] In some cases, the publisher information also includes the server identifier of the first server. Receiving the update message through the second server, obtaining the third configuration file based on the publisher information in the update message, and updating the second local cache based on the obtained third configuration file and its version number includes: receiving the update message through the second server, and determining whether to obtain the third configuration file based on the server identifier in the update message and the server identifier of the second server; in response to determining to obtain the third configuration file, obtaining the third configuration file based on its version number, module identifier, and tenant identifier in the update message, and updating the second local cache based on the obtained third configuration file and its version number.

[0074] It should be noted that each server identifier uniquely corresponds to one server. Since the broadcast of update messages is performed by the configuration platform, the server that triggered the update message generation can also receive it. That is, the second server can be the first server itself. Therefore, the server identifier of the server that triggered the update message can be included in the update message. After receiving the update message, the second server can first determine whether the update message was triggered by itself based on the server identifier in the update message and the server identifier of the second server, thereby determining whether it needs to further retrieve the third configuration file to update its local cache.

[0075] It's understandable that if the server identifier in the update message is the same as the server identifier of the second server, it means the update message received by the second server was triggered by the second server. In reality, the second server has already updated its local cache based on the third configuration file. Therefore, to avoid duplicate updates to the second server's local cache, if the server identifier in the update message is the same as the server identifier of the second server, it can be determined that there is no need to retrieve the third configuration file. Thus, the second server does not need to repeatedly update its second local cache based on the update message. Conversely, if the server identifier in the update message is different from the server identifier of the second server, it means the update message received by the second server was triggered by another server. The second server needs to retrieve the third configuration file and update its own second local cache based on the retrieved third configuration file and its version number to maintain consistency with the latest version number of the configuration file. The version number of the third configuration file can be directly obtained from the update message.

[0076] It should be noted that the server that triggers the generation of the update message can be understood as the first server mentioned above. The server that triggers the generation of the update message has already completed the update of the third configuration file and the version number of the third configuration file in its local cache.

[0077] The second server can obtain the third configuration file from the local cache held by the server corresponding to the server identifier in the update message, or it can directly obtain the third configuration file from the database.

[0078] In this way, if the server identifier in the update message is the same as the server identifier of the second server in the received update message, the second server can ignore the update message to reduce redundant caching operations.

[0079] In some cases, the second server can retrieve the third configuration file from either the database or the first server's local cache. For example, the second server can first retrieve the third configuration file from the first server's local cache; if it cannot be found in the local cache, it can then retrieve it from the database, thus improving the efficiency of the third configuration file retrieval. It is understood that the update message carries the server identifier of the first server; therefore, the second server can locate the first server based on the server identifier and access its local cache to obtain the third configuration information.

[0080] In some cases, the configuration platform's database can be configured with a first configuration table. This first configuration table maintains all the latest versions of configuration files. Therefore, when updating the database based on the third configuration file, the first configuration table can be updated. If the third configuration file is the first configuration file generated for a specific tenant and module, a new third configuration file can be created in the first configuration table, thus updating the first configuration table. However, if the third configuration file is not the first configuration file generated for a specific tenant and module, the fourth configuration file matching the third configuration file in the first configuration table is replaced with the third configuration file. The fourth configuration file must belong to the same module and tenant as the third configuration file. The fourth configuration file matching the third configuration file in the first configuration table can be determined based on the module identifier and tenant identifier.

[0081] In some cases, the configuration platform's database can be configured with a second configuration table. This second configuration table maintains the version numbers of the third configuration files in the first configuration table. Therefore, the second configuration table can be updated based on the version numbers of the third configuration files to provide a data foundation for maintaining consistency of configuration files on subsequent clients.

[0082] As an example, the second configuration table may include version information of each configuration file in the database. This version information may include an identifier and a version number corresponding to the identifier. The identifier may include a module identifier and a tenant identifier. It can be understood that the target identifier with the same identifier as the identifier of the third configuration file (including the module identifier and the tenant identifier) ​​can be found in the second configuration table, and the version number of the target identifier in the second configuration table can be replaced with the version number of the third configuration file to achieve the update of the version number.

[0083] In some cases, in addition to the correspondence between the configuration identifier and the version number corresponding to that identifier, the second configuration table may also include at least one of the following fields: The ninth field is used to configure the name of the version information; The tenth field is used to configure the creation information of the first configuration file of the module and tenant corresponding to the version information, which includes the creator and creation time; The eleventh field, the tenth field, is used to configure the creation information of the configuration file corresponding to the version information, which includes the creator and the creation time.

[0084] In some cases, the configuration platform includes a third server. This third server can be a first server, a second server, or other servers within the configuration platform. Each server's local cache supports the client in caching the fifth configuration file to the third local cache. This third local cache is held by the client, and the cached fifth configuration file supports the client in obtaining the second configuration information. In this case, the above-described method for managing information for model services may further include: receiving a polling request through the third server, the polling request supporting the client in obtaining the latest version of the fifth configuration file; determining, through the third server, whether the fifth configuration file has been updated based on the version number of the fifth configuration file and the version number corresponding to the sixth configuration file in the polling request, wherein the fifth configuration file and the sixth configuration file belong to the same module and the same tenant; responding to the polling request by determining that the fifth configuration file has been updated through the third server, providing a first response to the client through the third server, the first response including the sixth configuration file and its version number, the first response supporting the client in updating the third local cache.

[0085] When the client starts, it sends a pull request to the server (e.g., a third-party server or a first-party server). This pull request can include the tenant identifier and module identifier corresponding to the configuration file to be pulled. This request is used to obtain the configuration file and its version number corresponding to the tenant identifier (e.g., the first or second tenant identifier) ​​and module identifier that the client wants to pull. The server responds to this pull request, returning the version number of the requested configuration file to the client, allowing the client to cache these configuration files and their version numbers in its third-party local cache. For example, the server can retrieve the version number of the requested configuration file from its local cache or access a database.

[0086] After completing the initial fetch, the client immediately sends a polling request to the third-party server. The polling request may include a list storing all the configuration files cached by the client and their corresponding version numbers; each configuration file can be considered a fifth configuration file.

[0087] The sixth configuration file can be a file retrieved from the local cache held by the third server, or a file retrieved from the database. The third server compares the version number of the fifth configuration file with the version number of the sixth configuration file in the polling request. If the version numbers of the fifth and sixth configuration files are the same, it indicates that the fifth configuration file has not been updated. If the version numbers of the fifth and sixth configuration files are different, it indicates that the fifth configuration file has been updated, and the third server can then generate the corresponding first response.

[0088] As described above, the server can obtain the same sixth configuration file as the fifth configuration file based on the module identifier and tenant identifier in the polling request. Furthermore, the polling request also carries the version number of the fifth configuration file. It's worth noting that when the list of polling requests contains multiple fifth configuration files, the third-party server needs to compare the version number of each fifth configuration file with the version number of its corresponding sixth configuration file. The first response includes the sixth configuration files corresponding to all updated fifth configuration files, along with their version numbers.

[0089] After receiving the first response, the client can overwrite the fifth configuration file and its version number in the third local cache based on the sixth configuration file and its version number in the first response, thereby updating the third local cache.

[0090] In other examples, after the client receives the first response, the client compares the version number of the sixth configuration file with the version number of the fifth configuration file in the first response. If the comparison results are different, the client overwrites the version numbers of the fifth configuration file and the fifth configuration file in the third local cache according to the version numbers of the sixth configuration file and the sixth configuration file in the first response, thereby updating the third local cache held by the client.

[0091] By using the version number comparison mechanism described above, the configuration file on the client side is updated. In this way, when the client retrieves the second configuration information from its own third local cache, it can obtain the latest second configuration information. In addition, the version number is updated synchronously on the client, which provides a reliable data basis for whether the client has updated the configuration file, thus achieving consistency of configuration information between the client and the server.

[0092] In some cases, the above-described method for information management of model services may further include: suspending the polling request in response to determining, through the third server, that the fifth configuration file is not updated; determining, through the third server, that the fifth configuration file is updated during the suspension of the polling request; waking up and responding to the polling request to provide the first response to the client through the third server.

[0093] As can be seen from the above, the second server needs to consume the update messages broadcast by the configuration platform. That is, the third server can be the second server. Therefore, when the third server consumes the update messages, it can determine whether the fifth configuration file has been updated by using the module identifier, tenant identifier, and version number carried in the update messages. Thus, when the third server determines that the fifth configuration file has been updated by using the update messages, it will immediately respond to the suspended polling request based on the configuration file and its corresponding version number, thereby speeding up the efficiency of updating the client-side configuration file and version number. The configuration file and its version number can be determined based on the update messages.

[0094] A polling request suspension indicates that the request is temporarily paused, neither continuing nor completely failing, and remains in a standby state. As an example, a polling request suspension can be maintained for a preset duration, such as 30 seconds. If the third-party server does not determine that the fifth configuration file has been updated within 30 seconds, it can provide a second response to the client. The explanation and description of the second response can be found below.

[0095] In this way, once the configuration file changes, the suspended polling request will be immediately woken up and responded to, thereby reducing the latency of updating the configuration file in the client. In addition, for most of the time when the configuration has not changed, there is no invalid data transmission between the client and the server, saving network resources and CPU (Central Processing Unit) resources.

[0096] In some cases, the above-described method for information management of model-oriented services may further include: resending the polling request after receiving a response to the polling request.

[0097] As an example, the response includes any of the following: The first response includes the fifth configuration file and its version number, and is used to support the client in updating the third local cache. The second response indicates that the fourth configuration file has not been updated. The third response is used to indicate that a network anomaly has occurred. After receiving the third response, the client will resend the polling request.

[0098] In some cases, the server and client can establish a persistent connection. In this case, the server can proactively send a change message for the fourth configuration file to the client. The client can then compare the version number of the fourth configuration file in the change message with the version number of the fifth configuration file. If the comparison results are inconsistent, the client can overwrite the fifth configuration file and its version number in the third local cache based on the changes to the fourth configuration file (including the modified configuration file and its corresponding version number), thereby updating the third local cache. For an explanation of the fourth and fifth configuration files, please refer to the above content.

[0099] Figure 3 This is a process diagram illustrating a model-service-oriented information management method based on certain scenarios, such as... Figure 3 As shown, the configuration platform performs a release or modification upon generating a third configuration file. Release refers to the initial publication of the configuration text corresponding to the module and tenant associated with the third configuration file. Modification refers to the third configuration file updating the existing configuration files of the module and tenant. The first server can respond to this release or modification (i.e., the generation of the third configuration file), updating the first and second configuration tables in the database, and updating its own local cache (i.e., the first local cache). Explanations and descriptions of the first and second configuration tables can be found above.

[0100] Continue to refer to Figure 3 After the first server updates its local cache, it can publish the update message to the configuration platform. The configuration platform can cache the change message in the message queue and broadcast it.

[0101] Continue to refer to Figure 3 The second server can receive update messages broadcast by the configuration platform. Based on the server identifier in the update message, it determines whether it needs to obtain the third configuration file. If it determines that it needs to obtain the third configuration file, the second server can obtain the third configuration file from the database and update its local cache (i.e., the second local cache) based on the obtained third configuration file and its version number.

[0102] Continue to refer to Figure 3The second server can act as the aforementioned third server. The client can initiate a polling request to the second server. The explanation and description of this polling request can be found above. The second server decides to suspend the polling request, and during the suspension process, it determines that the fifth configuration file has been updated. The second server then provides a first response to the client, enabling the client to update its local cache (i.e., the third local cache) based on the first response.

[0103] Figure 4 This is another flowchart illustrating a model-service-oriented information management method, which is executed by the client and includes the following steps: In step S410, the client responds to the acquisition request by querying the second configuration information from the first configuration file corresponding to the first tenant identifier. The first tenant identifier corresponds to the first tenant, and the first configuration files of different first tenants are isolated by different first tenant identifiers. The second configuration information is used to implement the model service at least. In step S420, in response to not finding the second configuration information in the first configuration file, the client queries the second configuration information from the second configuration file corresponding to the second tenant identifier. The second configuration file includes first configuration information, which can be shared by different first tenants. The first configuration file and the second configuration file are generated by the configuration platform.

[0104] In obtaining the second configuration information, the client can access the client's third local cache based on the first tenant identifier, module identifier, and configuration item identifier of the first tenant that it wants to obtain. That is, it determines the matching configuration file from the third local cache based on the first tenant identifier and module identifier of the first tenant, and then obtains the matching second configuration information from the configuration file based on the identifier of the configuration item. The second configuration information can be understood as the value corresponding to the configuration item in the configuration file.

[0105] Through the above technical solution, when a client needs to obtain the second configuration information of the model service under the first tenant, it can first query the first configuration file in the client's own cache to obtain the second configuration information. If the second configuration information cannot be obtained from the first configuration file, it can query the first configuration information in the second configuration file to obtain the second configuration information. In other words, the second configuration information can originate from either the first or the second configuration file. In this way, it is possible to prioritize the use of the tenant's unique configuration to implement the model service, and if the tenant's unique configuration cannot be obtained, a fallback approach can be adopted to obtain the same configuration for all tenants in the second configuration file to implement the model service.

[0106] In addition, the above content covers features such as updating configuration files implemented on the client side.

[0107] Figure 5 This is a block diagram of a model-service-oriented information management device 500, shown according to certain circumstances. This model-service-oriented information management device 500 corresponds to a configuration platform and includes: The first generation module 501 is used to generate a first configuration file corresponding to a first tenant identifier in response to a first configuration operation. The first tenant identifier corresponds to a first tenant, and the first configuration files of different first tenants are isolated by different first tenant identifiers. The second generation module 502 is used to generate a second configuration file corresponding to the second tenant identifier in response to the second configuration operation. The second configuration file includes first configuration information, which can be shared by different first tenants. The first configuration information in the first configuration file and the second configuration file is used to support the client to query the second configuration information of the first tenant. The second configuration information is used to implement model services at least.

[0108] In some cases, the second configuration file also includes third configuration information, which is used to characterize the configuration information of the configuration platform. The third configuration information is prohibited from being shared by the first tenant. In the second configuration file, the first configuration information and the third configuration information are configured with different tags.

[0109] In some cases, different third configuration files belong to different modules, and the third configuration file includes the first configuration file and / or the second configuration file.

[0110] In some cases, the configuration platform includes a first server and a second server, and the information management device 500 for model services further includes: The first determining module is used to respond to the generation of a third configuration file by the first server and determine the version number of the third configuration file by the first server. The third configuration file includes the first configuration file or the second configuration file. The version number of the third configuration file is different from the version number of the fourth configuration file. The fourth configuration file is located in the database. The fourth configuration file and the third configuration file belong to the same module and the same tenant. The first update module is used to update the database and the first local cache through the first server according to the third configuration file and the version number of the third configuration file, wherein the first local cache is held by the first server; The third generation module is used to generate update messages based on publisher information, which includes the version number of the third configuration file, the module identifier of the module to which the third configuration file belongs, and the tenant identifier of the tenant to which the third configuration file belongs. The broadcast module is used to broadcast the update message; The second update module is used to receive the update message through the second server, obtain the third configuration file according to the publisher information in the update message, and update the second local cache according to the obtained third configuration file and the version number of the third configuration file. The second local cache is held by the second server, and each local cache is used to support the client to obtain the second configuration information.

[0111] In some cases, the publisher information also includes the server identifier of the first server, and the second update module is further used for: The update message is received by the second server, and the server identifier in the update message and the server identifier of the second server are used to determine whether to obtain the third configuration file. The second server responds to the determination to obtain the third configuration file, obtains the third configuration file according to the version number, module identifier, and tenant identifier of the third configuration file in the update message, and updates the second local cache according to the obtained third configuration file and the version number of the third configuration file.

[0112] In some cases, the configuration platform includes a third server, and the local cache of each server is used to support the client in caching the fifth configuration file to the third local cache. The third local cache is held by the client, and the fifth configuration file cached by the client is used to support the client in obtaining the second configuration information. The information management device 500 for model services further includes: A receiving module is configured to receive polling requests through the third server, the polling requests being used to support the client in obtaining the latest version of the fifth configuration file; The second determining module is used to determine, through the third server, whether the fifth configuration file has been updated based on the version number of the fifth configuration file and the version number of the sixth configuration file in the polling request, wherein the fifth configuration file and the sixth configuration file belong to the same module and the same tenant; The first response module is configured to respond to the polling request in response to the third server determining that the fifth configuration file has been updated, and to provide a first response to the client through the third server. The first response includes the sixth configuration file and the version number of the sixth configuration file. The first response is used to support the client in updating the third local cache.

[0113] In some cases, the model-oriented information management device 500 further includes: The suspension module is used to suspend the polling request in response to the third server determining that the fifth configuration file has not been updated. The third determining module is used to determine, in response to the process of suspending the polling request by the third server, that the fifth configuration file has been updated; A wake-up module is used to wake up and respond to the polling request in order to provide the first response to the client through the third server.

[0114] Among them, regarding Figure 5 The implementation principles of each module in the model-service-oriented information management device 500 shown can be referred to the above content, and the model-service-oriented information management device 500 has the same technical effect as the model-service-oriented information management method described above.

[0115] Figure 6 This is another block diagram of a model-service-oriented information management device 600, shown according to certain circumstances. This model-service-oriented information management device 600 corresponds to a client and includes: The second response module 601 is used to respond to the acquisition request by querying the second configuration information from the first configuration file corresponding to the first tenant identifier. The first tenant identifier corresponds to the first tenant, and the first configuration files of different first tenants are isolated by different first tenant identifiers. The second configuration information is used to implement the model service at least. The third response module 602 is used to query the second configuration information from the second configuration file corresponding to the second tenant identifier in response to the failure to find the second configuration information from the first configuration file. The second configuration file includes first configuration information, which can be shared by different first tenants. The first configuration file and the second configuration file are generated by the configuration platform.

[0116] Among them, regarding Figure 6 The implementation principles of each module in the model-service-oriented information management device 600 shown can be referred to the above content, and the model-service-oriented information management device 600 has the same technical effect as the above-mentioned model-service-oriented information management method.

[0117] A computer-readable medium is provided that stores a computer program thereon, wherein when the computer program is executed by a processing device, it implements the steps of the above-described method, and the computer-readable medium has the technical effects that can be achieved by implementing the above-described related methods, the technical effects of which can be referred to the above content.

[0118] A computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, it implements the steps of the above-described method, and the computer program product has the technical effects achievable by implementing the above-described related methods, the technical effects of which can be referred to the above content.

[0119] An electronic device is provided, comprising: A storage device on which computer programs are stored; A processing device is used to execute the computer program in the storage device to implement the steps of the above method, and the electronic device has the technical effects that can be achieved by implementing the above-mentioned related methods, and the technical effects can be referred to the above content.

[0120] The following is for reference. Figure 7 It shows an electronic device suitable for implementing the above-mentioned technical solution (e.g. Figure 1 The diagram shows the structure of the client or server in the 700. Terminal devices can include, but are not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Tablet Personal Computers), PMPs (Portable Media Players), in-vehicle terminals (such as in-vehicle navigation terminals), and fixed terminals such as digital TVs (Televisions), desktop computers, etc. Figure 7 The electronic device shown is merely an example and should not be construed as limiting its functionality or scope of use.

[0121] like Figure 7As shown, the electronic device 700 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703. The RAM 703 also stores various programs and data required for the operation of the electronic device 700. The processing unit 701, the ROM 702, and the RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0122] Typically, the following devices can be connected to the input / output interface 705: input devices 706 including, for example, a touchscreen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 707 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 708 including, for example, magnetic tape, hard disk, etc.; and communication devices 709. Communication device 709 allows electronic device 700 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 7 An electronic device 700 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.

[0123] In particular, depending on certain circumstances, the processes described in the flowchart above can be implemented as computer software programs. For example, a computer program product is provided, comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowchart. This computer program can be downloaded and installed from a network via communication device 709, or installed from storage device 708, or installed from read-only memory 702. When the computer program is executed by processing device 701, it performs the functions defined in the above-described methods.

[0124] It should be noted that the aforementioned computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM, or flash memory), optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In one case, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In another case, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. The transmitted data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (Radio Frequency), etc., or any suitable combination thereof.

[0125] In some implementations, the client and server can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol), and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (LANs), wide area networks (WANs), 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.

[0126] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0127] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: generate a first configuration file corresponding to a first tenant identifier in response to a first configuration operation, wherein the first tenant identifier corresponds to a first tenant, and the first configuration files of different first tenants are isolated by different first tenant identifiers; and generate a second configuration file corresponding to a second tenant identifier in response to a second configuration operation, wherein the second configuration file includes first configuration information that can be shared by different first tenants, and the first configuration information in the first configuration file and the second configuration file is used to support clients in querying the second configuration information of the first tenant, and the second configuration information is used at least to implement model services.

[0128] Alternatively, the aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: in response to a request, query second configuration information from a first configuration file corresponding to a first tenant identifier, wherein the first tenant identifier corresponds to a first tenant, and first configuration files of different first tenants are isolated by different first tenant identifiers, and the second configuration information is used at least to implement model services; and in response to not finding the second configuration information from the first configuration file, query the second configuration information from a second configuration file corresponding to a second tenant identifier, wherein the second configuration file includes first configuration information that can be shared by different first tenants, and the first configuration file and the second configuration file are generated by a configuration platform.

[0129] Computer program code for performing the above operations can be written in one or more programming languages ​​or a combination thereof. These programming languages ​​include, but are not limited to, object-oriented programming languages, as well as conventional procedural programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0130] The flowcharts and block diagrams in the accompanying figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products under various scenarios. In this respect, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the figures. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0131] The modules mentioned above can be implemented in software or hardware. In some cases, the name of a module does not constitute a limitation on the module itself. For example, the first generation module can also be described as "a module that generates a first configuration file corresponding to the first tenant identifier in response to a first configuration operation".

[0132] The functions described above can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field-Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application-Specific Standard Parts (ASSPs), Systems on Chips (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0133] In this context, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0134] The above description is merely illustrative and explains the technical principles employed. Those skilled in the art should understand that the scope of the technical solution is not limited to specific combinations of the above-described technical features, but also includes other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above concept. For example, technical solutions formed by substituting the above-described features with (but not limited to) technical features provided herein that have similar functions.

[0135] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. Multitasking and parallel processing may be advantageous in certain environments. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limitations on the scope of the technical solution. Certain features described in the context of a single example can also be implemented in combination in a single example. Conversely, various features described in the context of a single example can also be implemented individually or in any suitable sub-combination in multiple examples.

[0136] Although the technical solution has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims. Regarding the aforementioned apparatus, the specific manner in which each module performs its operation has already been described in detail in the section concerning the method, and will not be elaborated upon here.

Claims

1. An information management method for model services, executed by a configuration platform, the method comprising: In response to the first configuration operation, a first configuration file corresponding to the first tenant identifier is generated. The first tenant identifier corresponds to the first tenant, and the first configuration files of different first tenants are isolated through different first tenant identifiers. In response to the second configuration operation, a second configuration file corresponding to the second tenant identifier is generated. The second configuration file includes first configuration information, which can be shared by different first tenants. The first configuration information in the first configuration file and the second configuration file is used to support the client to query the second configuration information of the first tenant. The second configuration information is used to implement model services at least.

2. The method according to claim 1, wherein the second configuration file further includes third configuration information, the third configuration information being used to characterize the configuration information of the configuration platform, the third configuration information being prohibited from being shared by the first tenant, and in the second configuration file, the first configuration information and the third configuration information are respectively configured with different tags.

3. The method according to claim 1, wherein different third configuration files belong to different modules, and the third configuration files include the first configuration file and / or the second configuration file.

4. The method according to claim 3, wherein the configuration platform includes a first server and a second server, and the method further includes: The first server responds to generate a third configuration file, and the first server determines the version number of the third configuration file. The third configuration file includes the first configuration file or the second configuration file. The version number of the third configuration file is different from the version number of the fourth configuration file. The fourth configuration file is located in the database. The fourth configuration file and the third configuration file belong to the same module and the same tenant. The first server updates the database and the first local cache according to the third configuration file and the version number of the third configuration file. The first local cache is held by the first server. An update message is generated based on the publisher information, which includes the version number of the third configuration file, the module identifier of the module to which the third configuration file belongs, and the tenant identifier of the tenant to which the third configuration file belongs. The update message was broadcast. The second server receives the update message, obtains the third configuration file based on the publisher information in the update message, and updates the second local cache based on the obtained third configuration file and its version number. The second local cache is held by the second server, and each local cache is used to support the client in obtaining the second configuration information.

5. The method according to claim 4, wherein the publisher information further includes the server identifier of the first server, and the step of receiving the update message through the second server, obtaining the third configuration file according to the publisher information in the update message, and updating the second local cache according to the obtained third configuration file and the version number of the third configuration file includes: The update message is received by the second server, and the server identifier in the update message and the server identifier of the second server are used to determine whether to obtain the third configuration file. The second server responds to the determination to obtain the third configuration file, obtains the third configuration file according to the version number, module identifier, and tenant identifier of the third configuration file in the update message, and updates the second local cache according to the obtained third configuration file and the version number of the third configuration file.

6. The method according to claim 3, wherein the configuration platform includes a third server, the local cache of each server is used to support the client in caching the fifth configuration file to the third local cache, the third local cache is held by the client, and the fifth configuration file cached by the client is used to support the client in obtaining the second configuration information, the method further comprising: The third server receives polling requests, which are used to enable the client to obtain the latest version of the fifth configuration file. The third server determines whether the fifth configuration file has been updated based on the version number of the fifth configuration file and the version number of the sixth configuration file in the polling request. The fifth configuration file and the sixth configuration file belong to the same module and the same tenant. In response to the third server determining that the fifth configuration file has been updated, the polling request is responded to by providing a first response to the client through the third server. The first response includes the sixth configuration file and its version number. The first response is used to support the client in updating the third local cache.

7. The method according to claim 6, further comprising: In response to the third server determining that the fifth configuration file has not been updated, the polling request is suspended; In response to the third server determining that the fifth configuration file has been updated during the process of suspending the polling request; The server wakes up and responds to the polling request to provide the first response to the client via the third server.

8. An information management method for model services, executed by a client, the method comprising: In response to a request, second configuration information is queried from a first configuration file corresponding to a first tenant identifier. The first tenant identifier corresponds to a first tenant, and the first configuration files of different first tenants are isolated by different first tenant identifiers. The second configuration information is used at least to implement the model service. In response to the failure to find the second configuration information in the first configuration file, the second configuration information is retrieved from the second configuration file corresponding to the second tenant identifier. The second configuration file includes the first configuration information, which can be shared by different first tenants. The first configuration file and the second configuration file are generated by the configuration platform.

9. A computer-readable medium having a computer program stored thereon, wherein, When executed by a processing device, the computer program implements the steps of the method according to any one of claims 1-7, or the steps of the method according to claim 8.

10. An electronic device, comprising: A storage device on which computer programs are stored; A processing apparatus for executing the computer program in the storage device to implement the steps of the method according to any one of claims 1-7, or to implement the steps of the method according to claim 8.