Configuration information processing method and device, equipment, storage medium and product

By providing a method of visual configuration model editing and management in applications, using protobuf encoding and configuration information processing technology, the problem of difficult configuration in the existing technology is solved, and configuration management with high expressiveness, strong constraint capabilities and low complexity is achieved.

CN119576318APending Publication Date: 2025-03-07TENCENT TECH (CHENGDU) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311136589.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-05
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

In the prior art, the configuration of the application is difficult to edit in a visual and structured manner, and cannot support complex constraints and extension basic types, resulting in insufficient expressiveness, weak constraint capabilities and high usage complexity.

Method used

By providing a configuration information processing method, using protobuf encoding to describe the configuration model, and supporting a visual editing interface, including field identification information, constraint information, type information, display information, default information and description information configuration controls, the modeling of the configuration model and editing and management of configuration information are realized.

Benefits of technology

It realizes the editing of configuration models and configuration information in a visual way, supports complex constraints and extends basic types, improves expressiveness and constraint capabilities, and reduces the complexity of use.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119576318A_ABST
    Figure CN119576318A_ABST
Patent Text Reader

Abstract

The invention discloses a configuration information processing method and device, equipment, a storage medium and a product, and belongs to the technical field of computers. According to the configuration information processing method, modeling of the configuration model and editing management of the configuration information are achieved in a visual mode, complex constraints can be supported through modeling of the configuration model, basic types can be expanded, and the strong constraint capacity is provided. The editing of the configuration model and the configuration information supports visualization, the method has the remarkable advantages of being high in expressive force and easy to use, the effects of supporting complex constraints and supporting extended basic types are achieved, and the high expressive force, the high constraint capacity and the reduction of the use complexity are both considered. The configuration structure and the effectiveness of the field are described through the extension field of protobuf, so that the configuration model obtained based on editing ensures that the field configured in the loading stage corresponding to the configuration model is effective. Through the reflection characteristic of protobuf, the configuration result is automatically analyzed into the configuration object, the use efficiency of a user is high, and specific service configuration rules are supported.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a configuration information processing method, device, equipment, storage medium and product. Background Art

[0002] Applications in related technologies often need to record some structured information in a configuration manner. The structured information is configuration information, and the objects described by the structured information are configuration objects.

[0003] At present, the related technology usually implements the configuration of the application through unconstrained text type configuration or JsonSchema-based configuration. The former configuration method is to edit and load the configuration data in the form of unstructured text. The latter configuration method is to edit the configuration data in JSON form, but the configuration fields are still subject to the validity rules of JsonSchema.

[0004] Both of the above configuration schemes are difficult to edit in a visual and structured manner. In addition, both configuration schemes have the problem of not being able to support complex constraints and extend basic types, and cannot achieve a balance between high expressiveness, strong constraint capabilities, and reduced usage complexity. Summary of the invention

[0005] The embodiments of the present application provide a configuration information processing method, apparatus, device, storage medium and product, which can realize the modeling of configuration models and the editing and management of configuration information in a visual way. The modeling configuration model can support complex constraints and can also extend the basic types to provide strong constraint capabilities. The editing of configuration models and configuration information supports visualization, and has the significant advantages of high expressiveness and simple use, thereby achieving the effect of supporting complex constraints and supporting the extension of basic types, achieving a balance between high expressiveness, strong constraint capabilities and reduced complexity of use.

[0006] According to one aspect of an embodiment of the present application, a configuration information processing method is provided, the method comprising:

[0007] Display a configuration model editing interface, the configuration model editing interface including a field configuration control, the field configuration control including a field identification information configuration control and at least one of the following controls: a constraint information configuration control, a type information configuration control, a display information configuration control, a default information configuration control, and a description information configuration control;

[0008] Describing the information in the configuration model editing interface in protobuf encoding to generate a configuration model;

[0009] Display a configuration data editing interface, the configuration data editing interface includes a field value configuration control and a corresponding field value model information display control, the field value model information control is used to indicate the structure information of the corresponding field in the configuration model, the structure information includes at least one of the following: type information, constraint information;

[0010] A configuration file is generated according to the editing result of the field value configuration control.

[0011] According to one aspect of an embodiment of the present application, a configuration information processing device is provided, the device comprising:

[0012] A configuration model processing module is used to display a configuration model editing interface, wherein the configuration model editing interface includes a field configuration control, wherein the field configuration control includes a field identification information configuration control and at least one of the following controls: a constraint information configuration control, a type information configuration control, a display information configuration control, a default information configuration control, and a description information configuration control; and to describe the information in the configuration model editing interface in a protobuf encoding manner to generate a configuration model;

[0013] A configuration file processing module is used to display a configuration data editing interface, wherein the configuration data editing interface includes a field value configuration control and a corresponding field value model information display control, wherein the field value model information control is used to indicate the structural information of the corresponding field in the configuration model, wherein the structural information includes at least one of the following: type information, constraint information; and, based on the editing result of the field value configuration control, a configuration file is generated.

[0014] According to one aspect of an embodiment of the present application, a computer device is provided, comprising a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the above-mentioned configuration information processing method.

[0015] According to one aspect of an embodiment of the present application, a computer-readable storage medium is provided, in which at least one instruction, at least one program, a code set or an instruction set is stored, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement the above-mentioned configuration information processing method.

[0016] According to one aspect of the embodiments of the present application, a computer program product is provided, the computer program product comprising computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes to implement the above configuration information processing method.

[0017] The technical solution provided in the embodiments of the present application can bring the following beneficial effects:

[0018] The embodiment of the present application provides a configuration information processing method, which can realize the modeling of the configuration model and the editing and management of the configuration information in a visual way. The modeling configuration model can support complex constraints, and can also extend the basic type to provide strong constraint capabilities. The editing of the configuration model and the configuration information both support visualization, and have the significant advantages of high expressiveness and simple use, thereby achieving the effect of supporting complex constraints and supporting the extension of basic types, achieving a balance between high expressiveness, strong constraint capabilities and reduced usage complexity.

[0019] Specifically, the embodiment of the present application describes the validity of the structure and fields of the configuration through the extended fields of protobuf, thereby ensuring that the fields configured in the corresponding loading phase are valid based on the configuration model obtained by editing. In addition, the embodiment of the present application can automatically and uniformly parse the configuration results into configuration objects through the reflection characteristics of protobuf, and the user efficiency is high. The configuration model modeling scheme based on protobuf can also support the extension of the configuration basic type at the same time, and support configuration rules according to business. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0021] Figure 1 It is a schematic diagram of an application program running environment related to a method provided by an embodiment of the present application;

[0022] Figure 2 is a flowchart of a configuration information processing method provided by an embodiment of the present application;

[0023] Figure 3 This is a schematic diagram of a configuration model editing interface provided by an embodiment of the present application;

[0024] Figure 4 This is a schematic diagram of a Proto description file provided by an embodiment of the present application;

[0025] Figure 5 This is a schematic diagram of a configuration data editing interface provided by an embodiment of the present application;

[0026] Figure 6 It is a schematic diagram of file information of a configuration model provided by an embodiment of the present application;

[0027] Figure 7 This is a schematic diagram of the configuration object parsing and loading process provided by an embodiment of the present application;

[0028] Figure 8 This is a code diagram of a validity determination method provided by an embodiment of the present application;

[0029] Fig. 9 is a schematic diagram of a configuration object reading method provided by an embodiment of the present application;

[0030] Fig.10 This is a flow chart of a configuration pool management method provided by an embodiment of the present application;

[0031] Fig.11 is a block diagram of a configuration information processing device provided by an embodiment of the present application;

[0032] Fig.12 It is a structural block diagram of a computer device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0033] Before introducing the method embodiments provided in the present application, a brief introduction is first given to the relevant terms or nouns that may be involved in the method embodiments of the present application to facilitate understanding by technicians in the field of the present application.

[0034] Artificial Intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that machines have the functions of perception, reasoning and decision-making.

[0035] Artificial intelligence technology is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics and other technologies. Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.

[0036] Machine Learning (ML) is a multi-disciplinary subject that involves probability theory, statistics, approximation theory, convex analysis, algorithm complexity theory and other disciplines. It specializes in studying how computers simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental way to make computers intelligent. Its applications are spread across all areas of artificial intelligence. Machine learning and deep learning usually include artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and self-learning.

[0037] Deep learning: The concept of deep learning originates from the study of artificial neural networks. A multi-layer perceptron with multiple hidden layers is a deep learning structure. Deep learning discovers distributed feature representations of data by combining low-level features to form more abstract high-level representations of attribute categories or features.

[0038] Cloud technology refers to a hosting technology that unifies hardware, software, network and other resources in a wide area network or local area network to achieve data computing, storage, processing and sharing. Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. It can form a resource pool, which is used on demand and is flexible and convenient. Cloud computing technology will become an important support. The background services of technical network systems require a large amount of computing and storage resources, such as video websites, picture websites and more portal websites. With the high development and application of the Internet industry, in the future, each item may have its own identification mark, and all need to be transmitted to the background system for logical processing. Data of different levels will be processed separately. All kinds of industry data require strong system backing support, which can only be achieved through cloud computing.

[0039] Configuration model: A model that describes the structure of a configuration object and the valid rules for its fields.

[0040] Configuration data: The text content formed by the information in the configuration object.

[0041] Validity constraint: information used to constrain configuration data. The text content of the configuration data should meet the structural requirements of the configuration model, and the field value of the text content of the configuration data should meet the validity rules of the corresponding field.

[0042] JSON (JavaScript Object Notation) is a lightweight data exchange format. It uses a text format that is completely independent of programming languages ​​to store and represent data. The simplicity and clear hierarchical structure make JSON an ideal data exchange language. It is easy for humans to read and write, and it is also easy for machines to parse and generate, and it effectively improves network transmission efficiency.

[0043] JsonSchema: It is used to describe the data format of specific JSON data. JsonSchema (application / schema + JSON) has many uses, one of which is instance validation. The validation process can be interactive or non-interactive. In many cases, JsonSchema can be used to validate JSON data before submitting the data to the business layer. JsonSchema can also be used for JSON-based data configuration.

[0044] ini file: the full name is "initialization" file, the file suffix is ​​.ini, so it is also called ini file. The ini file format is used to save the configuration information of the application. INI files are often used for system configuration items or software feature configuration under the Windows operating system, including similar font information, startup parameters, etc. It mainly includes the following structural contents: sections, keys (properties\keys), and values.

[0045] Xml language: the full name is eXtensible Markup Language, which is an extensible markup language or a subset of standard generalized markup language. It is a simple data storage language. Xml language uses a series of simple tags to describe data, and these tags can be established in a convenient way. Although the space occupied by the extensible markup language is more than that of binary data, the extensible markup language is extremely simple and easy to master and use. The simplicity of Xml makes it easy to read and write data in any application, which makes Xml quickly become a common language for data exchange, which means that applications can more easily combine with various generated information, and then it can be easy to load Xml data into the application and analyze it, and output the results in Xml format.

[0046] uint64 is an unsigned 64-bit integer data type used in computers to represent integers ranging from 0 to 18,446,744,073,709,551,615. uint64 only represents non-negative integers, eliminating the consideration of negative numbers and making the data range larger. In some cases, using uint64 can improve computing efficiency. In most programming languages, you can use the keyword uint64 to declare and use variables of type uint64.

[0047] Bit (BIT, Binary digit), a computer term, is a unit of information volume, which is a transliteration of the English word BIT. It is also a bit in a binary number, a unit of measurement for information volume, and the smallest unit of information volume.

[0048] Protobuf is a lightweight and efficient structured data storage format proposed by Google. It is often used for the serialization of structured data. It is language-independent, platform-independent, and scalable. It is often used in communication protocols and server-side data exchange scenarios. The basic principle of protobuf is to describe the data structure as a message format, and then serialize the message format to generate a binary file or transmit it over the network. The protobuf file usually has the suffix .proto. The core content of protobuf includes: defining messages: the structure of the message, identified by message, and defining interfaces: interface paths and parameters, identified by service. Through the mechanism provided by protobuf, servers only need to pay attention to the interface method name (service) and parameters (message) to communicate with each other, without having to pay attention to cumbersome link protocols and field parsing, which reduces the design and development costs of the server.

[0049] In order to support complex data structures and implement various constraints on data, protobuf has built-in its own set of rules and grammar. When there are special scenario requirements, you can refer to the protobuf developer documentation.

[0050] Protobuf has significant advantages such as type safety, ease of use, good serialization / deserialization performance, good compatibility, and the ability to define not only structures but also service interfaces. However, the disadvantage of protobuf is poor readability. Unlike protobuf, JSON, as another common means of data exchange, has disadvantages such as poor serialization / deserialization performance and encoding problems leading to parsing failures.

[0051] Json2pb: Json2pb is a command-line tool that can convert JSON objects to protobuf encoding.

[0052] Before describing the embodiments of the present application in detail, the relevant technical background related to the embodiments of the present application is introduced to facilitate understanding by those skilled in the art in the field of the present application.

[0053] Applications in related technologies often need to record some structured information in a configuration manner. The structured information is configuration information, and the objects described by the structured information are configuration objects.

[0054] At present, the related technology realizes the configuration of the application through unconstrained text type configuration or JsonSchema-based configuration. The former configuration method is to edit and load the configuration data in the form of unstructured text. The latter configuration method is to edit the configuration data in JSON form, but the configuration fields are still subject to the validity rules of JsonSchema.

[0055] The unconstrained text type configuration method has the following problems:

[0056] First, the validity of the fields cannot be guaranteed. The configuration file formed by this configuration method cannot guarantee the validity of each field, and mismatches may cause application failures.

[0057] Second, poor expressiveness and readability. For example, ini files can only represent data at the configuration item level, and developers can only define parsing and serialization for complex business structures.

[0058] Third, it is prone to errors. For example, if you use semi-structured configurations such as JSON or XML, changes to the configuration may cause the entire configuration format to fail to parse.

[0059] Fourth, heterogeneous environment ID conflicts. For example, if a developer wants to configure a list of documents, each document must have its own document ID. When developers write a document ID, they use the last ID in the current configuration plus 1. If different developers use the same configuration in multiple development environments, two different documents will have the same document ID, which results in a heterogeneous environment ID conflict.

[0060] The configuration scheme based on JsonSchema constraints has the following problems:

[0061] First, it cannot support complex constraints: it cannot build its own constraint rules. For example, it cannot automatically determine whether a certain ID is the ID of a certain company.

[0062] Second, the basic type cannot be extended. In some scenarios, if the application has a lot of switch information, multiple switch information is stored in a variable of type uint64. If each bit in uint64 represents a switch information, then this uint64 type forms a new type, but this type cannot be used in the configuration solution based on JsonSchema constraints.

[0063] Third, it is complex to use. In addition to defining custom JsonSchema to describe the configuration structure in the application software, you also need to define Class to describe the configuration structure. The upper-level business uses Class to access, which is complex to use. The reason for this phenomenon is that the upper-level business of the application is developed in C++ and other development languages. The operation objects of C++ and other development languages ​​are instantiated objects of the class described by Class. Therefore, developers need to define C++ classes themselves to read the JsonSchema information in the configuration, which is a complicated process.

[0064] In fact, when using the above two configuration schemes, it is difficult to edit the configuration content in a visual and structured manner, and both configuration schemes have the problem of not being able to support complex constraints and not being able to extend the basic types, and cannot achieve a balance between high expressiveness, strong constraint capabilities and reduced complexity of use. In view of this, the application embodiment provides a configuration information processing method that can realize the modeling of the configuration model and the editing and management of the configuration information in a visual manner. The configuration model can support complex constraints through modeling, and can also extend the basic types to provide strong constraint capabilities. The editing of the configuration model and the configuration information both support visualization, and have the significant advantages of high expressiveness and simple use, thereby achieving the effect of supporting complex constraints and supporting the extension of basic types, and achieving a balance between high expressiveness, strong constraint capabilities and reduced complexity of use.

[0065] Specifically, the embodiment of the present application describes the validity of the structure and fields of the configuration through the extended fields of protobuf, thereby ensuring that the fields configured in the corresponding loading phase are valid based on the configuration model obtained by editing. In addition, the embodiment of the present application can automatically and uniformly parse the configuration results into configuration objects through the reflection characteristics of protobuf, and the user efficiency is high. The configuration model modeling scheme based on protobuf can also support the extension of the configuration basic type at the same time, and support configuration rules according to business.

[0066] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0067] Please refer to Figure 1, which shows a schematic diagram of an application program running environment related to a method provided by an embodiment of the present application. The application program running environment may include: a terminal 10 and a server 20.

[0068] The terminal 10 includes, but is not limited to, electronic devices such as mobile phones, computers, intelligent voice interaction devices, smart home appliances, vehicle-mounted terminals, game consoles, e-book readers, multimedia playback devices, wearable devices, etc. The terminal 10 may be installed with a client of an application program.

[0069] In an embodiment of the present application, the above-mentioned application can be any application that can provide configuration information processing services. Typically, the application is a video application. Of course, in addition to video applications, other types of applications can also provide services that rely on configuration information processing. For example, news applications, social applications, interactive entertainment applications, browser applications, shopping applications, content sharing applications, virtual reality (VR) applications, augmented reality (AR) applications, etc., are not limited to this in the embodiment of the present application. This is not limited in the embodiment of the present application. Optionally, a client of the above-mentioned application is running in the terminal 10.

[0070] The server 20 is used to provide background services for the client of the application in the terminal 10. For example, the server 20 can be the background server of the above application. The server 20 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as artificial intelligence services, cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. Optionally, the server 20 provides background services for applications in multiple terminals 10 at the same time.

[0071] Optionally, the terminal 10 and the server 20 may communicate with each other via a network 30. The terminal 10 and the server 20 may be directly or indirectly connected via wired or wireless communication, which is not limited in the present application.

[0072] Please refer to Figure 2 , which shows a flowchart of a configuration information processing method provided by an embodiment of the present application. The method can be applied to a computer device, which refers to an electronic device with data calculation and processing capabilities. For example, the execution subject of each step can be Figure 1The server 20 in the application running environment shown. The method may include the following steps:

[0073] S201. Display a configuration model editing interface, wherein the configuration model editing interface includes a field configuration control, wherein the field configuration control includes a field identification information configuration control and at least one of the following controls: a constraint information configuration control, a type information configuration control, a display information configuration control, a default information configuration control, and a description information configuration control.

[0074] The configuration model refers to an abstract expression of information that can constrain the content of the configuration information and record the structure of the configuration information. The configuration model may include at least one field, and each field may be configured using a field configuration control. Each field should have a corresponding identifier, so the field configuration control includes a field identifier information configuration control. In addition, the field may also have the following information: constraint information, type information, display information, default information, and description information. Accordingly, the field configuration control includes at least one of the following controls: constraint information configuration control, type information configuration control, display information configuration control, default information configuration control, and description information configuration control. The significance of step S201 is that the configuration model can be edited in a visual manner. In a specific business scenario, business developers need to edit the configuration model before adding configuration. Of course, the configuration model can also be edited and managed visually in subsequent business links. The configuration model can not only constrain the editing process of the configuration information in the setting link of the corresponding configuration information, but also verify whether the configuration information in the configuration file is available and valid when the configuration information is entered and the configuration file is obtained.

[0075] Please refer to Figure 3 , which shows a schematic diagram of the configuration model editing interface provided by an embodiment of the present application. The controls for editing fields corresponding to id=1 all belong to the field configuration controls corresponding to the field with id=1. The field configuration controls can configure the field's name, Chinese description, type, primary key constraint, text constraint, default value, and display information.

[0076] S202. Describe the information in the configuration model editing interface in protobuf encoding to generate a configuration model.

[0077] After step S201 is completed, the information in the configuration model editing interface can be described in protobuf encoding to generate a configuration model, that is, to obtain a Proto description file. The amount of information in the Proto description file is equivalent to the interface information. Please refer to Figure 4 , which shows a schematic diagram of the Proto description file provided in the embodiment of the present application. Figure 4It can be seen that there is a one-to-one correspondence between the Proto description file and the information in the visual configuration model editing interface, that is, the information in the Proto description file and the configuration model editing interface can be converted into each other in equal amounts.

[0078] S203. Display the configuration data editing interface, the configuration data editing interface includes a field value configuration control and a corresponding field value model information display control, the field value model information control is used to indicate the structural information of the corresponding field in the configuration model, the structural information includes at least one of the following: type information, constraint information.

[0079] On the basis of obtaining the configuration model, a configuration data editing interface can be displayed based on the configuration model. In the configuration data editing interface, the field values ​​corresponding to the fields in the configuration model can be edited. Therefore, the configuration data editing interface includes a field value configuration control. The field value configuration control used to edit the field value corresponding to a certain field is also associated with a field value model information display control. The above-mentioned field value model information control is used to indicate the structural information of the corresponding field in the above-mentioned configuration model. The above-mentioned structural information includes at least one of the following: type information, constraint information. Specifically, in the case where the above-mentioned field value model information display control includes a type indication control, when the above-mentioned type indication control is triggered, the type information of the corresponding field in the above-mentioned configuration model is displayed; in the case where the above-mentioned field value model information display control includes a constraint indication control, when the above-mentioned constraint indication control is triggered, the constraint information of the corresponding field in the above-mentioned configuration model is displayed.

[0080] Please refer to Figure 5 , which shows a schematic diagram of the configuration data editing interface provided by the embodiment of the present application. Figure 5 Each control in is used to edit the field value of the corresponding field. Taking the "Total Cache Length" field as an example, it can be seen that the field value model information display control corresponding to the field value in the configuration data display interface reflects that the field value is a 64-bit integer type of data, and by clicking the corresponding "Constraint" constraint indicator control, the specific constraint content can be displayed. Taking the "Function Use Cache Switch" field as an example, it can be seen that the field value model information display control corresponding to the field value in the configuration data display interface reflects that the field value is an array-text type of data, and by clicking the corresponding "Constraint" constraint indicator control, the specific constraint content can be displayed, including four text constraint information.

[0081] In specific business scenarios, business developers edit configuration data through the configuration data editing interface during configuration. The visual interface will have information such as name, type, and constraints, which is highly readable and convenient for subsequent maintenance. When editing field values, they will be constrained by the corresponding configuration model. Fields that do not meet the validity cannot be changed, thus ensuring that the edited data is valid.

[0082] S204. Generate a configuration file based on the editing result of the above field value configuration control.

[0083] In the embodiment of the present application, when the field value in the above-mentioned editing result matches the constraint information of the field corresponding to the above-mentioned field value in the above-mentioned configuration model, the above-mentioned configuration file can be generated according to the above-mentioned field value; when the field value in the above-mentioned editing result does not match the constraint information of the field corresponding to the above-mentioned field value in the above-mentioned configuration model, the corresponding modification prompt information is displayed, and the above-mentioned configuration file is generated according to the modified field value. The embodiment of the present application does not limit the modification prompt information. For example, the constraint information of the field corresponding to the field value can be displayed as the modification prompt information. The developer can judge where the field value does not meet the requirements of the configuration model based on the constraint information, and thus modify the field value.

[0084] In the embodiment of the present application, the above configuration model is described as a file obtained based on the message extension field of protobuf, and the above configuration file is a file obtained based on JSON. Figure 6 , which shows a schematic diagram of the file information of the configuration model in this application. The configuration model is implemented through the extended field of the Proto Message. The basic rules can be extended according to business needs.

[0085] In the embodiment of the present application, the configuration model can be modeled in the Proto manner, and the specific configuration process can be guided based on the configuration model, which can reduce the risk of configuration mismatch due to operational errors and improve the security of the application. From the perspective of configuration editing, the configurator has a visual interface to model the configuration model and enter configuration information. The meaning of the fields is relatively clear and maintainable. From the perspective of the configuration user, the developer no longer needs to develop parsing logic for the configuration results, thereby improving development efficiency.

[0086] In a specific business scenario, the business side can directly use the configuration model combined with the configuration file to parse the configuration objects available to the business layer. A copy of the configuration object is cached throughout the process and can be directly taken out of the memory when needed. In an exemplary embodiment, the configuration object is loaded using a lazy loading method, and only the configuration objects used in the business are loaded into the memory when they are first used. In an exemplary embodiment, the pseudo code for loading the configuration object is as follows:

[0087] auto p_wwconfig=

[0088] wwconfig::WwConfigPool::GetInstance().GetConfig<wwconfig_model::WWCacheConfig> ("cache_config_filename");

[0089] Among them: WwConfigPool represents the memory configuration pool, singleton mode.

[0090] wwconfig_model::WWCacheConfig represents the Proto model (configuration model) generated by the visual configuration model editing interface.

[0091] In one embodiment, based on the reflection mechanism of protobuf and the above configuration model, a first configuration object can be obtained; the above configuration file is reversed from JSON to protobuf to obtain a second configuration object; if there is an adaptation relationship between the above first configuration object and the above second configuration object, the above second configuration object is loaded. Please refer to Figure 7 , which shows a schematic diagram of the configuration object parsing and loading process provided by an embodiment of the present application. Each configuration file is bound to a unique configuration model in the configuration system. If the user edits any configuration file or configuration model, it will cause the content of the configuration system to change, because the configuration system includes the configuration model and the corresponding configuration file. In the configuration object loading link, you can obtain the configuration file and the configuration model (Proto constraint model), generate a configuration object (first configuration object) based on the Proto reflection mechanism, and then use the Json2Pb method to reverse the configuration file to obtain the second configuration object, and then use the Proto field description to determine whether the field value in the second configuration object is legal. As long as one field is illegal, the entire second configuration object is considered illegal. Please refer to Figure 8 , which shows a code schematic diagram of a legality judgment or validity judgment provided by an embodiment of the present application. The code schematic diagram is used to judge whether a field value of an Int type is valid.

[0092] In an exemplary embodiment, the loading of the second configuration object includes: loading the second configuration object into a configuration pool in the memory, the configuration pool including at least one configuration object, an address associated with each configuration object, and an address management object corresponding to each configuration object, the address management object being used to manage the correspondence between the configuration object and the address associated with the configuration object. In a specific embodiment, the address management object may be a preset class or structure, or a pointer. In some business scenarios, the business layer will frequently read configuration objects. For example, the business layer may use configuration objects more than 10,000 times per second, but the loading of configuration objects is more resource-intensive. On the other hand, the frequency of configuration object changes is relatively low. Therefore, a configuration pool can be opened in memory to cache configuration objects, and support the logic of timed loading of configuration objects.

[0093] Please refer to Fig. 9 , which shows a schematic diagram of a configuration object reading method provided by an embodiment of the present application. The method includes:

[0094] S901. When a configuration read request issued by a target thread is obtained, a locking operation is performed on the configuration pool.

[0095] The target thread refers to any user thread that issues a configuration read request, and the configuration read request carries the identifier of the configuration object to be read. In one embodiment, the configuration objects in the configuration pool need to be updated frequently to prevent the expiration of information in the configuration object from adversely affecting the thread using the configuration object. Therefore, in one embodiment, the target configuration object can be limited to a configuration object whose identifier matches the above-mentioned configuration read request and exists in the above-mentioned configuration pool for a period of time less than the first duration threshold. Of course, the embodiment of the present application does not limit the first duration threshold, for example, it can be ten minutes or 1 hour.

[0096] Please refer to Fig.10 , which shows a flow chart of a configuration pool management method provided by an embodiment of the present application. User thread 1 is the target thread, and "request to read configuration A" corresponds to a configuration read request. After receiving the configuration read request, the configuration pool is locked. In a specific business scenario, the thread of the business layer (target thread) reads the configuration object. Because the configuration object is placed in the memory and its corresponding index (address) may also be updated, the configuration pool should be locked.

[0097] S902. Read the target address corresponding to the configuration object pointed to by the above configuration read request.

[0098] The target address refers to the address obtained by searching the address management object according to the identifier carried in the configuration read request.

[0099] S903. When a target configuration object is read based on the target address, the configuration information corresponding to the target configuration object is returned to the target thread.

[0100] In this case, the lock can be released directly after step S903 is completed. Please refer to Fig.10 , read the configuration A pointer, which is "the address obtained by searching the address management object according to the identifier carried in the configuration read request". After obtaining the target address, the configuration lock A can be found, and then the configuration pool lock can be released.

[0101] S904. In the case that the target configuration object is not read based on the target address, a target new address is requested in the configuration pool, the target configuration object is loaded in the target new address, and the configuration information corresponding to the target configuration object is returned to the target thread.

[0102] If the configuration object under the target address is expired or there is no configuration object under the target address, step S904 is executed. In this case, the target configuration object is reloaded. In simple terms, the so-called reloading is to open up a new address (target new address), load the target configuration object under the new address, and rebuild the corresponding relationship after loading. After the target configuration object is loaded, the configuration information corresponding to the above-mentioned target configuration object can be returned to the above-mentioned target thread. The embodiment of the present application does not limit the order of returning the configuration information corresponding to the target configuration object and rebuilding the corresponding relationship.

[0103] In a specific implementation, when the configuration object corresponding to the target address is not used by other threads, the correspondence between the target configuration object and the target newly added address can be rebuilt based on the address management object corresponding to the target configuration object, and the memory space corresponding to the target address can be released; when the configuration object corresponding to the target address is used by other threads, after waiting for the other threads to release the configuration object corresponding to the target address, the correspondence between the target configuration object and the target newly added address can be rebuilt based on the address management object corresponding to the target configuration object, and the memory space corresponding to the target address can be released.

[0104] Please refer to Fig.10, where the shared pointer is the address management object. If the configuration object A does not exist at the target address pointed to by the configuration A pointer or the configuration object A times out and needs to be reloaded, the configuration lock A is locked to ensure that multiple threads do not reload the configuration object A together. Open up a new address, that is, the address corresponding to A2, and reload the target configuration object, that is, the new configuration A (A2) at this address. After A2 is loaded, if other threads use the configuration object A (A1) before reloading, wait for A1 to be released, and then modify the shared pointer A1 to point to A2, thereby completing the corresponding relationship reconstruction and releasing the storage space corresponding to A1.

[0105] S905: Release the lock on the configuration pool.

[0106] In order to ensure that each configuration object in the configuration pool can be updated in a timely manner, the configuration object can be reloaded when the duration of any configuration object in the configuration pool is greater than or equal to the second duration threshold; or, when the preset timed reload time is reached, each configuration object in the configuration pool is reloaded. Of course, the embodiment of the present application does not limit the second duration threshold, which can be greater than or equal to the first duration threshold. The present application does not limit the reloading method of the configuration object, and the reloading process of the configuration object A in the previous text can be referred to. In short, if the configuration object B1 needs to be reloaded, a new address can be opened, the address corresponding to B2, and the configuration object, that is, the new configuration B (B2), can be reloaded at this address. After B2 is loaded, if other threads use the configuration object B (B1) before reloading, then after waiting for B1 to be released, the shared pointer B1 is modified to point to B2, thereby completing the corresponding relationship reconstruction and releasing the storage space corresponding to B1.

[0107] In a specific implementation, the configuration objects in the embodiments of the present application are all managed by SDK, which maintains a configuration pool in memory for managing configuration objects. SDK is a software development kit, also known as Software Development Kit. Software development kits are generally a collection of development tools used by software engineers to build application software for specific software packages, software frameworks, hardware platforms, operating systems, etc. The configuration read request in the embodiments of the present application is a request sent by a specific thread to the SDK to request the loading of a certain configuration object.

[0108] The SDK can first determine whether there is a smart pointer to the configuration object in the global configuration pool. The smart pointer can be understood as the address management object of the configuration object. If there is no such smart pointer, the configuration object needs to be reloaded from the external memory. Of course, any operation in the global configuration pool must be locked to prevent errors caused by concurrency. If the smart pointer exists, it is necessary to determine whether the configuration object corresponding to the smart pointer is expired and needs to be reloaded. For example, the file corresponding to the configuration object is set to a protection period of no more than 3 minutes from the last load. Even if the last load failed, it will not be reloaded during the protection period.

[0109] If reloading is required, a new smart pointer is generated. The new smart pointer is used to add the newly changed configuration. After loading, the original smart pointer of the configuration object in the memory pool is replaced. The old configuration object and smart pointer are automatically released after the business is used. If data anomalies occur during the loading process, or the validity is not met, the state of the configuration object in the configuration pool can be returned to the most recent configuration object.

[0110] The following is an embodiment of the device of the present application, which can be used to execute the embodiment of the method of the present application. For details not disclosed in the embodiment of the device of the present application, please refer to the embodiment of the method of the present application.

[0111] Please refer to Fig.11 , which shows a block diagram of a configuration information processing device provided by an embodiment of the present application. The device has the function of implementing the above configuration information processing method, and the above function can be implemented by hardware, or by hardware executing corresponding software. The device can be a computer device, or can be set in a computer device. The device may include:

[0112] The configuration model processing module 1101 is used to display a configuration model editing interface, wherein the configuration model editing interface includes a field configuration control, wherein the field configuration control includes a field identification information configuration control and at least one of the following controls: a constraint information configuration control, a type information configuration control, a display information configuration control, a default information configuration control, and a description information configuration control; and to describe the information in the configuration model editing interface in a protobuf encoding manner to generate a configuration model;

[0113] The configuration file processing module 1102 is used to display a configuration data editing interface, wherein the configuration data editing interface includes a field value configuration control and a corresponding field value model information display control, wherein the field value model information control is used to indicate the structural information of the corresponding field in the configuration model, wherein the structural information includes at least one of the following: type information, constraint information; and, based on the editing result of the field value configuration control, a configuration file is generated.

[0114] In one embodiment, the configuration file processing module 1102 is used to perform the following operations:

[0115] In the case where the field value in the editing result matches the constraint information of the field corresponding to the field value in the configuration model, generating the configuration file according to the field value;

[0116] When the field value in the above editing result does not match the constraint information of the field corresponding to the above field value in the above configuration model, the corresponding modification prompt information is displayed, and the above configuration file is generated according to the modified field value.

[0117] In one embodiment, the configuration file processing module 1102 is used to perform the following operations:

[0118] In the case where the field value model information display control includes a type indication control, when the type indication control is triggered, the type information of the corresponding field in the configuration model is displayed;

[0119] In the case where the field value model information display control includes a constraint indication control, when the constraint indication control is triggered, the constraint information of the corresponding field in the configuration model is displayed.

[0120] In one embodiment, the configuration model is described as a file obtained based on the message extension field of protobuf, the configuration file is a file obtained based on JSON, and the configuration file processing module 1102 is used to perform the following operations:

[0121] Based on the reflection mechanism of protobuf and the above configuration model, the first configuration object is obtained;

[0122] Decode the above configuration file from JSON to protobuf to obtain the second configuration object;

[0123] In the case that there is an adaptation relationship between the first configuration object and the second configuration object, the second configuration object is loaded.

[0124] In one embodiment, the configuration file processing module 1102 is used to perform the following operations:

[0125] The second configuration object is loaded into a configuration pool in memory, wherein the configuration pool includes at least one configuration object, an address associated with each configuration object, and an address management object corresponding to each configuration object, wherein the address management object is used to manage the correspondence between the configuration object and the address associated with the configuration object.

[0126] In one embodiment, the configuration file processing module 1102 is used to perform the following operations:

[0127] When a configuration read request from a target thread is obtained, the configuration pool is locked;

[0128] Read the target address corresponding to the configuration object pointed to by the above configuration read request;

[0129] In the case where a target configuration object is read based on the target address, the configuration information corresponding to the target configuration object is returned to the target thread;

[0130] If the target configuration object is not read based on the target address, request a target new address in the configuration pool, load the target configuration object in the target new address, and return the configuration information corresponding to the target configuration object to the target thread;

[0131] Release the lock on the above configuration pool.

[0132] In one embodiment, the configuration file processing module 1102 is used to perform the following operations:

[0133] When the target configuration object is loaded in the target newly added address, the corresponding relationship is rebuilt, and the rebuilt corresponding relationship includes:

[0134] In the case where the configuration object corresponding to the target address is not used by other threads, rebuilding the correspondence between the target configuration object and the target newly added address based on the address management object corresponding to the target configuration object, and releasing the memory space corresponding to the target address;

[0135] In the case that the configuration object corresponding to the target address is used by other threads, after waiting for the other threads to release the configuration object corresponding to the target address, the correspondence between the target configuration object and the target newly added address is rebuilt based on the address management object corresponding to the target configuration object, and the memory space corresponding to the target address is released.

[0136] In one embodiment, the target configuration object is a configuration object whose identifier matches the configuration read request and whose existence in the configuration pool is less than a first duration threshold.

[0137] In one embodiment, the configuration file processing module 1102 is used to perform the following operations:

[0138] When any configuration object in the configuration pool exists in the configuration pool for a period greater than or equal to a second period threshold, reloading the configuration object;

[0139] or,

[0140] When the preset timed reload time is reached, each configuration object of the configuration pool is reloaded.

[0141] It should be noted that the device provided in the above embodiment, when implementing its functions, is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the device and method embodiments provided in the above embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.

[0142] Please refer to Fig.12 , which shows a structural block diagram of a computer device provided by an embodiment of the present application. The computer device may be a server, for executing the above configuration information processing method. Specifically:

[0143] The computer device 1000 includes a central processing unit (CPU) 1001, a system memory 1004 including a random access memory (RAM) 1002 and a read only memory (ROM) 1003, and a system bus 1005 connecting the system memory 1004 and the central processing unit 1001. The computer device 1000 also includes a basic input / output system (I / O (Input / Output) system) 1006 for facilitating information transmission between various components in the computer, and a large-capacity storage device 1007 for storing an operating system 1013, application programs 1014, and other program modules 1015.

[0144] The basic input / output system 1006 includes a display 1008 for displaying information and an input device 1009 such as a mouse and a keyboard for user inputting information. The display 1008 and the input device 1009 are connected to the central processing unit 1001 through an input / output controller 1010 connected to the system bus 1005. The basic input / output system 1006 may also include an input / output controller 1010 for receiving and processing inputs from a plurality of other devices such as a keyboard, a mouse, or an electronic stylus. Similarly, the input / output controller 1010 also provides output to a display screen, a printer, or other types of output devices.

[0145] The mass storage device 1007 is connected to the central processing unit 1001 through a mass storage controller (not shown) connected to the system bus 1005. The mass storage device 1007 and its associated computer readable medium provide non-volatile storage for the computer device 1000. That is, the mass storage device 1007 may include a computer readable medium (not shown) such as a hard disk or a CD-ROM (Compact Disc Read-Only Memory) drive.

[0146] Without loss of generality, computer readable media may include computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented by any method or technology for storing information such as computer readable instructions, data structures, program modules or other data. Computer storage media include RAM, ROM, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), flash memory or other solid-state storage technologies, CD-ROM, DVD (Digital Video Disc) or other optical storage, cassettes, magnetic tapes, disk storage or other magnetic storage devices. Of course, those skilled in the art will appreciate that computer storage media are not limited to the above. The above-mentioned system memory 1004 and mass storage device 1007 can be collectively referred to as memory.

[0147] According to various embodiments of the present application, the computer device 1000 can also be connected to a remote computer on the network through a network such as the Internet. That is, the computer device 1000 can be connected to the network 1012 through the network interface unit 1011 connected to the system bus 1005, or the network interface unit 1011 can be used to connect to other types of networks or remote computer systems (not shown).

[0148] The memory also includes a computer program, which is stored in the memory and configured to be executed by one or more processors to implement the configuration information processing method.

[0149] In an exemplary embodiment, a computer-readable storage medium is also provided, in which at least one instruction, at least one program, a code set or an instruction set is stored. When the at least one instruction, the at least one program, the code set or the instruction set is executed by a processor, the configuration information processing method is implemented.

[0150] Specifically, the configuration information processing method includes:

[0151] Display a configuration model editing interface, wherein the configuration model editing interface includes a field configuration control, wherein the field configuration control includes a field identification information configuration control and at least one of the following controls: a constraint information configuration control, a type information configuration control, a display information configuration control, a default information configuration control, and a description information configuration control;

[0152] Describe the information in the configuration model editing interface in protobuf encoding to generate a configuration model;

[0153] Display a configuration data editing interface, the configuration data editing interface includes a field value configuration control and a corresponding field value model information display control, the field value model information control is used to indicate the structure information of the corresponding field in the configuration model, the structure information includes at least one of the following: type information, constraint information;

[0154] Generate a configuration file based on the editing results of the above field value configuration controls.

[0155] In one embodiment, the generating of the configuration file according to the editing result of the field value configuration control includes:

[0156] In the case where the field value in the editing result matches the constraint information of the field corresponding to the field value in the configuration model, generating the configuration file according to the field value;

[0157] When the field value in the above editing result does not match the constraint information of the field corresponding to the above field value in the above configuration model, the corresponding modification prompt information is displayed, and the above configuration file is generated according to the modified field value.

[0158] In one embodiment, the display configuration data editing interface includes:

[0159] In the case where the field value model information display control includes a type indication control, when the type indication control is triggered, the type information of the corresponding field in the configuration model is displayed;

[0160] In the case where the field value model information display control includes a constraint indication control, when the constraint indication control is triggered, the constraint information of the corresponding field in the configuration model is displayed.

[0161] In one embodiment, the configuration model is described as a file obtained based on the message extension field of protobuf, the configuration file is a file obtained based on JSON, and the method further includes:

[0162] Based on the reflection mechanism of protobuf and the above configuration model, the first configuration object is obtained;

[0163] Decode the above configuration file from JSON to protobuf to obtain the second configuration object;

[0164] In the case that there is an adaptation relationship between the first configuration object and the second configuration object, the second configuration object is loaded.

[0165] In one embodiment, the loading of the second configuration object includes:

[0166] The second configuration object is loaded into a configuration pool in memory, wherein the configuration pool includes at least one configuration object, an address associated with each configuration object, and an address management object corresponding to each configuration object, wherein the address management object is used to manage the correspondence between the configuration object and the address associated with the configuration object.

[0167] In one embodiment, the above method further comprises:

[0168] When a configuration read request from a target thread is obtained, the configuration pool is locked;

[0169] Read the target address corresponding to the configuration object pointed to by the above configuration read request;

[0170] In the case where a target configuration object is read based on the target address, the configuration information corresponding to the target configuration object is returned to the target thread;

[0171] If the target configuration object is not read based on the target address, request a target new address in the configuration pool, load the target configuration object in the target new address, and return the configuration information corresponding to the target configuration object to the target thread;

[0172] Release the lock on the above configuration pool.

[0173] In one embodiment, before performing the lock release operation on the configuration pool, the method further includes:

[0174] When the target configuration object is loaded in the target newly added address, the corresponding relationship is rebuilt, and the rebuilt corresponding relationship includes:

[0175] In the case where the configuration object corresponding to the target address is not used by other threads, rebuilding the correspondence between the target configuration object and the target newly added address based on the address management object corresponding to the target configuration object, and releasing the memory space corresponding to the target address;

[0176] In the case that the configuration object corresponding to the target address is used by other threads, after waiting for the other threads to release the configuration object corresponding to the target address, the correspondence between the target configuration object and the target newly added address is rebuilt based on the address management object corresponding to the target configuration object, and the memory space corresponding to the target address is released.

[0177] In one embodiment, the target configuration object is a configuration object whose identifier matches the configuration read request and whose duration of existence in the configuration pool is less than a first duration threshold.

[0178] In one embodiment, the above method further comprises:

[0179] When any configuration object in the configuration pool exists in the configuration pool for a period greater than or equal to a second period threshold, reloading the configuration object;

[0180] or,

[0181] When the preset timed reload time is reached, each configuration object of the configuration pool is reloaded.

[0182] Optionally, the computer-readable storage medium may include: ROM (Read Only Memory), RAM (Random Access Memory), SSD (Solid State Drives) or an optical disk, etc. Among them, the random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).

[0183] In an exemplary embodiment, a computer program product or a computer program is also provided, the computer program product or the computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above configuration information processing method.

[0184] It should be understood that the "multiple" mentioned in this article refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. In addition, the step numbers described in this article only illustrate a possible execution sequence between the steps. In some other embodiments, the above steps may not be executed in the order of the numbers, such as two steps with different numbers are executed at the same time, or two steps with different numbers are executed in the opposite order to the diagram. The embodiments of the present application are not limited to this.

[0185] In addition, in the specific implementation of this application, related data such as user information is involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.

[0186] The above description is only an exemplary embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.

Claims

1. A configuration information processing method, characterized in that: The method comprises: Display a configuration model editing interface, the configuration model editing interface including a field configuration control, the field configuration control including a field identification information configuration control and at least one of the following controls: a constraint information configuration control, a type information configuration control, a display information configuration control, a default information configuration control, and a description information configuration control; Describing the information in the configuration model editing interface in protobuf encoding to generate a configuration model; Display a configuration data editing interface, the configuration data editing interface includes a field value configuration control and a corresponding field value model information display control, the field value model information control is used to indicate the structure information of the corresponding field in the configuration model, the structure information includes at least one of the following: type information, constraint information; A configuration file is generated according to the editing result of the field value configuration control.

2. The method according to claim 1, characterized in that The generating of the configuration file according to the editing result of the field value configuration control includes: In the case where the field value in the editing result matches the constraint information of the field corresponding to the field value in the configuration model, generating the configuration file according to the field value; When the field value in the editing result does not match the constraint information of the field corresponding to the field value in the configuration model, corresponding modification prompt information is displayed, and the configuration file is generated according to the modified field value.

3. The method according to claim 1 or 2, characterized in that: The display configuration data editing interface includes: In the case where the field value model information display control includes a type indication control, when the type indication control is triggered, the type information of the corresponding field in the configuration model is displayed; In the case where the field value model information display control includes a constraint indication control, when the constraint indication control is triggered, the constraint information of the corresponding field in the configuration model is displayed.

4. The method according to claim 1, characterized in that: The configuration model is described as a file obtained based on the message extension field of protobuf, the configuration file is a file obtained based on JSON, and the method further includes: Based on the reflection mechanism of protobuf and the configuration model, a first configuration object is obtained; Perform a reverse operation on the configuration file from JSON to protobuf to obtain a second configuration object; In the case that there is an adaptation relationship between the first configuration object and the second configuration object, the second configuration object is loaded.

5. The method according to claim 4, characterized in that The loading of the second configuration object comprises: The second configuration object is loaded into a configuration pool in memory, wherein the configuration pool includes at least one configuration object, an address associated with each configuration object, and an address management object corresponding to each configuration object, wherein the address management object is used to manage the correspondence between the configuration object and the address associated with the configuration object.

6. The method according to claim 5, characterized in that The method further comprises: When a configuration read request issued by a target thread is obtained, locking the configuration pool; Read the target address corresponding to the configuration object pointed to by the configuration read request; In the case where a target configuration object is read based on the target address, returning configuration information corresponding to the target configuration object to the target thread; If the target configuration object is not read based on the target address, request a target new address in the configuration pool, load the target configuration object in the target new address, and return configuration information corresponding to the target configuration object to the target thread; A lock release operation is performed on the configuration pool.

7. The method according to claim 6, characterized in that Before performing the lock release operation on the configuration pool, the method further includes: When the target configuration object is loaded into the target newly added address, the corresponding relationship is rebuilt, and the rebuilt corresponding relationship includes: If the configuration object corresponding to the target address is not used by other threads, rebuild the correspondence between the target configuration object and the target newly added address based on the address management object corresponding to the target configuration object, and release the memory space corresponding to the target address; In the case that the configuration object corresponding to the target address is used by other threads, after waiting for the other threads to release the configuration object corresponding to the target address, the corresponding relationship between the target configuration object and the target newly added address is rebuilt based on the address management object corresponding to the target configuration object, and the memory space corresponding to the target address is released.

8. The method according to claim 6, characterized in that The target configuration object is a configuration object whose identifier matches the configuration read request and whose duration of existence in the configuration pool is less than a first duration threshold.

9. The method according to claim 8, characterized in that The method further comprises: When any configuration object in the configuration pool exists in the configuration pool for a period greater than or equal to a second period threshold, reloading the configuration object; or, When a preset timed reload time is reached, each configuration object of the configuration pool is reloaded.

10. A configuration information processing device, characterized in that: The device comprises: A configuration model processing module is used to display a configuration model editing interface, wherein the configuration model editing interface includes a field configuration control, wherein the field configuration control includes a field identification information configuration control and at least one of the following controls: a constraint information configuration control, a type information configuration control, a display information configuration control, a default information configuration control, and a description information configuration control; and to describe the information in the configuration model editing interface in a protobuf encoding manner to generate a configuration model; A configuration file processing module is used to display a configuration data editing interface, wherein the configuration data editing interface includes a field value configuration control and a corresponding field value model information display control, wherein the field value model information control is used to indicate the structural information of the corresponding field in the configuration model, wherein the structural information includes at least one of the following: type information, constraint information; and, based on the editing result of the field value configuration control, a configuration file is generated.

11. A computer device, characterized in that: The computer device includes a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the configuration information processing method as described in any one of claims 1 to 9.

12. A computer-readable storage medium, characterized in that: The storage medium stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the configuration information processing method as described in any one of claims 1 to 9.