Server configuration debugging method, system, device, medium and computer program product

CN117441160BActive Publication Date: 2026-10-09LILITH TECH (SHANGHAI) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202280039134.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-28
Publication Date
2026-10-09
Estimated Expiration
2042-02-28

AI Technical Summary

Technical Problem

由于配置参数变更后会立即生效,一旦配置参数内容有问题,会造成所有业务服务节点受到影响,可能会造成生产级事故,乃至导致重大经济损失

Benefits of technology

[0042] In this invention, the receiving step involves receiving a debug configuration release message, which includes a debug configuration entry comprising a key, a value, and an activation rule; the query step involves querying whether a predetermined key exists in the debug configuration entry; the judgment step involves determining whether the activation rule is satisfied if the predetermined key is found; and the reading step involves reading the value if the activation rule is satisfied. This allows for debugging and verification of configuration parameters within a very small scope. When configuration parameters are problematic, it significantly reduces risk and prevents a wider impact. In practical applications, it greatly improves operational security and reduces operational accidents.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117441160B_ABST
    Figure CN117441160B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of server, and particularly relates to a server configuration debugging method, system, device, medium and computer program product.The server configuration debugging method comprises the following steps: a receiving step, receiving a debugging configuration publishing message, wherein the debugging configuration publishing message comprises a debugging configuration entry, the debugging configuration entry comprises a key, a value and an effective rule; a querying step, querying whether there is a predetermined key in the debugging configuration entry; a judging step, in the case of querying the predetermined key, judging whether the effective rule is satisfied; and a reading step, in the case of satisfying the effective rule, reading the value.The debugging verification can be carried out in a very small range, and when the configuration is problematic, the risk can be greatly reduced to avoid causing a wider range of influence.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of server technology, and in particular to server configuration and debugging methods, systems, devices, media, and computer program products. Background Technology

[0002] In the server technology field, container technology, represented by Docker, has advantages such as high deployment efficiency and automatic scaling. With the popularity of containerization, more and more game servers are being deployed in containers, making game server deployment increasingly convenient and faster. Generally, game server deployment consists of two parts: the game server program and the game server configuration file. Releasing a new game version typically involves updating the game server program; adjusting server parameters requires modifying the server configuration file. In actual operation, it is often necessary to modify the configuration of all game server nodes, as well as individual game server nodes. In traditional non-containerized deployment methods, the conventional solution to achieve this is:

[0003] 1) Modify the final game server configuration file locally;

[0004] 2) Publish the new version of the game server configuration file to each server;

[0005] 3) Reload by calling the game server's API to reload the configuration file.

[0006] However, when using containerized deployment, the game server program and game server configuration files are packaged into a container image, and then the server downloads the container image to run. This will cause the image to be repackaged and the game server to be restarted when the server configuration parameters are modified, which will increase the complexity of the overall configuration update process and may also have the impact of server downtime for players.

[0007] Especially in distributed architectures, the number of service nodes increases significantly, and each service node loads its corresponding configuration file upon startup. In scenarios requiring hot updates to service configurations, any change to the configuration file will cause the service nodes to immediately adopt the new configuration parameters for processing. Because configuration parameter changes take effect immediately, any errors in the configuration parameters can affect all service nodes, potentially leading to production-level incidents and even significant economic losses. Summary of the Invention

[0008] The purpose of this invention is to provide server configuration and debugging methods, systems, devices, media, and computer program products that can debug and verify configuration parameters within a very small scope. When there are problems with the configuration parameters, the risks can be greatly reduced, and a wider range of impacts can be avoided.

[0009] An embodiment of the present invention discloses a server configuration and debugging method, the method comprising:

[0010] The receiving step involves receiving a debug configuration release message, which includes debug configuration entries, including keys, values, and effective rules.

[0011] The query steps involve checking if the debug configuration entry contains a predefined key.

[0012] The judgment step is to determine whether the validity rules are met if the pre-defined key is found.

[0013] The reading process involves reading the value if the effective rule is met.

[0014] Optionally, the effective rules include probability-based effective rules, time-limited effective rules, and specific effective rules; among which,

[0015] Probability-based rules allow debug configuration entries to be read with a predetermined probability;

[0016] Time-sensitive rules allow debug configuration entries to be read within a predetermined timeframe;

[0017] The specificity-based rules respond to read requests carrying a predefined ID, allowing debug configuration entries to be read.

[0018] Optionally, the method further includes:

[0019] Receive a debug configuration deletion message, which includes debug configuration deletion fields;

[0020] The delete key is the debug configuration entry for the field to be deleted in this debug configuration.

[0021] Optionally, the method further includes:

[0022] If the predefined key cannot be found or the effective rules are not met, the value of the original configuration entry with that key is read.

[0023] Optionally, the receiving step further includes:

[0024] Store debug configuration entries.

[0025] An embodiment of the present invention discloses a server configuration and debugging system, including a configuration and debugging platform and one or more service nodes. Each service node includes a service module and a configuration and debugging module, wherein:

[0026] The configuration and debugging platform is used to receive debugging configuration release messages, which include debugging configuration entries, including keys, values, and effective rules; and the configuration and debugging platform sends the debugging configuration release message to the configuration and debugging module of the business service node specified in the debugging configuration release message.

[0027] The configuration debug module stores the received debug configuration entries, and

[0028] Based on the instructions from the business module, query the debug configuration entries to see if there is a predefined key.

[0029] If the reserved key is found, determine whether the validity rules are met.

[0030] If the activation rules are met, the value of the debug configuration entry is read and returned to the business module.

[0031] Optionally, the effective rules include probability-based effective rules, time-limited effective rules, and specific effective rules; among which,

[0032] Probability-based rules allow debug configuration entries to be read with a predetermined probability;

[0033] Time-sensitive rules allow debug configuration entries to be read within a predetermined timeframe;

[0034] The specificity-based rules respond to read requests carrying a predefined ID, allowing debug configuration entries to be read.

[0035] Optionally, the configuration debugging platform is also used to receive a debug configuration deletion message, which includes a debug configuration deletion field; and the configuration debugging platform sends the debug configuration deletion message to the configuration debugging module of the business service node specified in the debug configuration deletion message.

[0036] After the configuration debugging module receives the debug configuration deletion message, the deletion key is the debug configuration entry whose debug configuration deletion field is deleted.

[0037] Optionally, if the configuration debugging module cannot find the predetermined key or does not meet the effective rules, it reads the value of the original configuration entry with that key.

[0038] An embodiment of the present invention discloses a computer device, which includes a memory storing computer-executable instructions and a processor. When the instructions are executed by the processor, the device implements a server configuration and debugging method according to an embodiment of the present invention.

[0039] An embodiment of the present invention discloses a computer storage medium storing instructions that, when executed on a computer, cause the computer to perform a server configuration and debugging method according to an embodiment of the present invention.

[0040] An embodiment of the present invention discloses a computer program product, including computer-executable instructions, which are executed by a processor to implement a server configuration and debugging method according to an embodiment of the present invention.

[0041] The main differences and effects of the embodiments of the present invention compared with the prior art are as follows:

[0042] In this invention, the receiving step involves receiving a debug configuration release message, which includes a debug configuration entry comprising a key, a value, and an activation rule; the query step involves querying whether a predetermined key exists in the debug configuration entry; the judgment step involves determining whether the activation rule is satisfied if the predetermined key is found; and the reading step involves reading the value if the activation rule is satisfied. This allows for debugging and verification of configuration parameters within a very small scope. When configuration parameters are problematic, it significantly reduces risk and prevents a wider impact. In practical applications, it greatly improves operational security and reduces operational accidents.

[0043] In this invention, the activation rules include probabilistic activation rules, time-sensitive activation rules, and specific activation rules. The probabilistic activation rules allow debugging configuration entries to be read with a predetermined probability; the time-sensitive activation rules allow debugging configuration entries to be read within a predetermined time period; and the specific activation rules, in response to a read request carrying a predetermined ID, allow debugging configuration entries to be read. This can further narrow the impact of debugging while satisfying configuration parameter verification. It solves the problem of the significant risks arising from erroneous updates to configuration parameters, keeping the risks within a controllable range.

[0044] In this invention, the method further includes: receiving a debug configuration deletion message, the debug configuration deletion message including a debug configuration deletion field; the deletion key is the debug configuration entry of the debug configuration deletion field. Once a problem is found in the configuration content, the configuration parameters of these nodes can be quickly rolled back without reloading the configuration file or fetching it again from the configuration center. This rapid emergency handling after a risk occurs further reduces the impact of configuration update problems. Attached Figure Description

[0045] Figure 1 This is a block diagram of an exemplary server configuration and debugging system according to an embodiment of this application.

[0046] Figure 2 This is a flowchart of a server configuration and debugging method according to an embodiment of this application.

[0047] Figure 3 This is a hardware structure block diagram of a computer device for implementing server configuration and debugging according to an embodiment of the present invention. Detailed Implementation

[0048] The present application will be further described below with reference to specific embodiments and accompanying drawings. It is to be understood that the specific embodiments described herein are merely for explaining the present application and not for limiting it. Furthermore, for ease of description, the accompanying drawings show only the parts relevant to the present application, and not all of the structures or processes. It should be noted that in this specification, similar reference numerals and letters denote similar items in the following drawings.

[0049] It should be understood that although the terms "first," "second," etc., may be used herein to describe various features, these features should not be limited by these terms. The use of these terms is merely for distinction and should not be construed as indicating or implying relative importance. For example, without departing from the scope of the exemplary embodiments, a first feature may be referred to as a second feature, and similarly, a second feature may be referred to as a first feature.

[0050] In the description of this application, it should also be noted that, unless otherwise explicitly specified and limited, the terms "set up," "connected," and "linked" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this embodiment based on the specific circumstances.

[0051] The illustrative embodiments of this application include, but are not limited to, server configuration and debugging methods, systems, devices, media, and computer program products.

[0052] Various aspects of the illustrative embodiments will be described using terminology commonly employed by those skilled in the art to convey the essence of their work to others skilled in the art. However, it will be apparent to those skilled in the art that some alternative embodiments will be practiced using the features partially described. Specific figures and configurations are set forth for purposes of explanation in order to provide a more thorough understanding of the illustrative embodiments. However, it will be apparent to those skilled in the art that alternative embodiments may be practiced without specific details. In some other instances, well-known features have been omitted or simplified herein to avoid obscuring the illustrative embodiments of this application.

[0053] Furthermore, the various operations will be described as multiple separate operations in a manner most conducive to understanding the illustrative embodiments; however, the order of description should not be construed as implying that these operations must depend on the order of description, and many of these operations may be performed in parallel, concurrently, or simultaneously. Moreover, the order of the operations may also be rearranged. The process may be terminated when the described operations are completed, but may also include additional steps not included in the figures. The process may correspond to a method, function, procedure, subroutine, subroutine, etc.

[0054] References to "an embodiment," "embodiment," "illustrative embodiment," etc., in this specification indicate that the described embodiment may include specific features, structures, or properties; however, each embodiment may or may not necessarily include specific features, structures, or properties. Furthermore, these phrases are not necessarily directed to the same embodiment. Additionally, when specific features are described in conjunction with specific embodiments, the knowledge of those skilled in the art can influence the combination of these features with other embodiments, whether or not those embodiments are explicitly described.

[0055] Unless the context otherwise specifies, the terms “comprising,” “having,” and “including” are synonyms. The phrase “A and / or B” means “(A), (B), or (A and B).”

[0056] As used herein, the term "module" may refer to, as part of, or include: a memory (shared, dedicated, or grouped), an application-specific integrated circuit (ASIC), electronic circuitry and / or a processor (shared, dedicated, or grouped), combinational logic circuitry, and / or other suitable components that provide the said functionality for running one or more software or firmware programs.

[0057] In the accompanying drawings, some structural or methodological features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order is not necessary. Rather, in some embodiments, these features may be illustrated in a manner and / or order different from that shown in the illustrative drawings. Furthermore, the inclusion of structural or methodological features in a particular drawing does not mean that all embodiments need to include such features; in some embodiments, these features may be omitted or may be combined with other features.

[0058] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0059] To address the configuration update issues encountered in existing technologies during containerized deployments, embodiments of this application provide a server configuration debugging system, such as... Figure 1As shown, an exemplary service configuration debugging system 100 according to an embodiment of this application includes: business service nodes 101 and 102, object storage service node 103, configuration center service node 104, and configuration debugging platform 105.

[0060] Service nodes 101 and 102 can be game servers running in different containers, providing services to players. In a distributed system, the number of service nodes can be deployed as needed. The containers can be Docker-based solutions, forming the foundation for running the game servers. When the game server is released, a container image containing the game server program and configuration files is packaged. This container image is then run in the production environment's container service to operate the game server.

[0061] The containers mentioned above can be Docker containers. During the use of a Docker container, data files are generated, and these data files disappear when the Docker container is shut down. For data persistence, making data completely independent of the container's lifecycle, Docker container volumes can be used. Docker container volumes are a way to persist data during container runtime. A volume is a specified directory or file that can be shared between one or more containers; it is a data mount point within the container (mounted to the container by Docker). Data volumes are not part of the Union File System (the technical foundation for Docker images; it's a lightweight, high-performance layered file system that supports committing and layering changes within the file system, allowing images to be implemented and inherited through layering. It also supports mounting different directories under the same virtual file system), thus bypassing the Union File System and providing useful features for persisting or sharing data. The data provided by a data volume can also be shared between the host machine and containers, or between multiple containers.

[0062] Docker container volumes also have the following characteristics: 1) Data volumes can be shared or reused between containers; 2) Changes to data volumes can take effect directly without rebuilding the image; 3) Changes to data volumes are not included in updates to the image; 4) When a container is deleted, Docker does not delete the data volumes mounted on that container, and the lifecycle of a data volume continues until no container uses it.

[0063] Object storage service node 103 is a cloud service, independent of the business service nodes deployed in containers. It can be used to store various types of files, and can be used to store static configuration files that the game server depends on. Object storage service node 103 can be configured as a mount point for containers (i.e., the Docker container data volume mentioned above) through container services. This allows the game server (business service nodes 101 and 102) within the container to load the static configuration files from object storage service node 103. Business service nodes 101 and 102 will load this static configuration file by default upon startup.

[0064] This invention employs container mounting (Docker container data volume) technology to allow containers to access configuration files in external object storage service nodes, thereby enabling dynamic updates.

[0065] Configuration center service node 104 is used for centralized management of server configuration and provides functions such as query, subscription, and push. When the game server starts up, it first queries and subscribes to the required configuration parameters from configuration center service node 104. When the configuration parameters of configuration center service node 104 are modified, the changed content will be pushed to the game server immediately, thereby realizing dynamic and fast configuration modification of the game server.

[0066] The configuration and debugging platform 105 provides a UI interface for operations and maintenance administrators, who can easily create debugging configuration entries, select business service nodes for publishing, and delete debugging configuration entries.

[0067] The business service node 101 includes a business module 1011, a static configuration loading module 1012, and a configuration debugging module 1013.

[0068] Business module 1011 is used to provide specific business services, such as game server programs.

[0069] The container of business service node 101 loads the static configuration files from object storage service node 103 into the container's file system. The static configuration loading module 1012 loads the static configuration files from this file system into memory (e.g., when the game server starts). After being loaded into memory, the static configuration files form a static configuration data set 1014. This static configuration data set 1014 is provided to the game server logic code. When the game server logic code needs to query a certain configuration, it queries this static configuration data set 1014. The static configuration data set 1014 includes many configuration entries, each containing a key and a value. For example, the static configuration data set 1014 includes entries c and d, where entry c contains the value c for key c, and entry d contains the value d for key b. The business module 1011 uses the key to query the corresponding value for business processing. The static configuration data set 1014 contains various configurations for the operation of business service node 101 (the game server), such as database connection information, game external port information, and player request rate limiting configurations. In addition, the static configuration loading module 1012 provides a reload API for operation and maintenance administrators to call. When the operation and maintenance administrator calls the API, the static configuration loading module 1012 will reload the static configuration file into the static configuration data set 1014.

[0070] The configuration debugging module 1013 includes an API call module 1015 for the configuration debugging platform 105 and a configuration reading module 1016 for the business module 1011.

[0071] API call module 1015 provides two API interfaces: Publish Debug Configuration API and Delete Debug Configuration API, for the configuration debugging platform 105 to call. Specifically, 1) the configuration debugging platform 105 can call the Publish Debug Configuration API to set the configuration debugging entries (such as entry a or entry b) from the parameters of the Publish Debug Configuration API into the debug static configuration data set 1017 within the corresponding business service node (e.g., business service node 101 or 102). The debug static configuration data set 1017 is configuration data that exists only in memory during the debugging phase; it is also a type of static configuration data set. The entry fields of the debug static configuration data set 1017 have one more field than the static configuration data set 1014: an effectiveness rule field. This effectiveness rule field is used to determine whether the debug configuration is effective. For example, the debug static configuration data set 1017 includes entry a and entry b. Entry a includes key a, value a, and effectiveness rule a; entry b includes key b, value b, and effectiveness rule b. 2) The configuration debugging platform 105 can call the API to delete debugging configuration entries, removing the entry corresponding to the key from the debugging static configuration data set 1017. Through the coordinated operation of the configuration debugging platform 105 and the API call module 1017, maintenance personnel can easily modify server configuration parameters within a small scope, improving debugging efficiency and reducing the impact of the debugging process.

[0072] The configuration reading module 1016 can seamlessly connect to the traditional configuration data reading method in a proxy manner. The business module 1011 can read the value of the corresponding entry based on the configuration key through the configuration reading module 1016. If there is no entry corresponding to the key in the debug static configuration data set 1017, the value corresponding to the key is directly read from the static configuration data set 1014 and returned to the business module 1011. If there is an entry corresponding to the key in the debug static configuration data set 1017 (meaning that debug configuration exists), it is determined whether the entry's activation rules are met. If the activation rules are met, the value of the entry is returned to the business module 1011 for use in debug configuration. If the activation rules are not met, the value of the entry corresponding to the key is read from the static configuration data set 1014 and returned to the business module 1011.

[0073] The business service node 101 also includes a dynamic configuration loading module 1018. Unlike the static configuration loading module 1012, the dynamic configuration loading module 1018 connects to the configuration center service node 104 and queries and subscribes to the dynamic configuration data set 1019 from the configuration center service node 104. Furthermore, the dynamic configuration loading module 1018 can receive change pushes from the configuration center service node 104 and modify the dynamic configuration data set 1019 in real time. The dynamic configuration data set 1019 differs from the static configuration data set 1014; the static configuration data set 1014 is used for configurations that do not change frequently, while the dynamic configuration data set 1019 is used for configurations that change frequently. Based on the dynamic configuration loading module 1018, dynamic configuration parameter updates across all business service nodes are achieved.

[0074] Similar to business service node 101, business service node 102 includes a business module 1021, a static configuration loading module 1022, a configuration debugging module 1023 (including an API call module 1025 and a configuration reading module 1026), a static configuration data set 1024, a debug static configuration data set 1027, a dynamic configuration loading module 1028, and a dynamic configuration data set 1029. The functions of these modules in business service node 102 are the same as those of their corresponding modules in business service node 101, and will not be repeated here. It is understood that although this example includes business service nodes 101 and 102, the number of business service nodes can actually be arbitrary.

[0075] Based on the above server configuration and system debugging, the following will combine... Figure 1 The workflow of the server configuration and debugging system is described. This system includes a configuration and debugging platform and one or more business service nodes. Each business service node includes a business module and a configuration and debugging module. For example, Figure 1 The server configuration and debugging system 100 includes a configuration and debugging platform 105 and business service nodes 101 and 102. Business service node 101 includes a business module 1011 and a configuration and debugging module 1013.

[0076] The configuration debugging platform is used to receive debug configuration release messages. These messages include debug configuration entries, which consist of keys, values, and activation rules. For example... Figure 1 The configuration debugging platform 105 receives the debugging configuration release message input by the operation and maintenance management personnel. The debugging configuration release message includes debugging configuration entry a (including key a, value a, and effective rule a) and debugging configuration entry b (including key b, value b, and effective rule b).

[0077] Furthermore, the configuration and debugging platform sends the debug configuration release message to the configuration and debugging module of the business service node specified in the debug configuration release message, for example, Figure 1 The configuration debugging platform 105 sends debugging configuration entry a and debugging configuration entry b to the configuration debugging module 1013 of the business service node 101 specified in the debugging configuration release message;

[0078] The configuration debug module stores the received debug configuration entries, for example, Figure 1 The configuration debugging module 1013 stores the received debugging configuration entry a and debugging configuration entry b into the debugging static configuration data set 1017; and

[0079] The configuration debugging module checks whether a predefined key exists in the debugging configuration entries based on the instructions from the business module.

[0080] If the reserved key is found, determine whether the validity rules are met.

[0081] If the activation rules are met, read the value of the debug configuration entry and return it to the business module; for example, Figure 1 When the business module 1011 needs to read configuration data, the configuration debugging module 1013 first queries the debugging static configuration data set 1017 to see if there is an entry with a specific key.

[0082] If the configuration debugging module 1013 does not find an entry for the specific key (such as key a) in the debug static configuration data set 1017, then the configuration debugging module 1013 reads the entry for the specific key from the static configuration data set 1014 and returns the value of the entry to the business module 1011.

[0083] If the configuration debugging module 1013 finds an entry for that specific key in the debug static configuration data set 1017, it then determines whether the validity rules for that specific key entry are met.

[0084] If the effective rules are not met, the configuration debugging module 1013 reads the entry for the specific key in the static configuration data set 1014 and returns the value of the entry to the business module 1011.

[0085] If the validity rules are met, the configuration debugging module 1013 reads the entry for the specific key from the debugging static configuration data set 1017 and returns the value of the entry to the business module 1011. This invention introduces configuration center technology, which allows all business service nodes to immediately receive configuration change notifications when the configuration is uniformly modified at the configuration center service node 104, thereby enabling rapid modification of configuration parameters.

[0086] This invention can meet the various configuration modification needs of operation and maintenance administrators in the daily operation and maintenance process of games, greatly improving the efficiency of operation and maintenance. When applied to the field of game servers, it can ensure that configuration modifications have no impact on players, improve the operability of game operation, and help the game operation achieve better results.

[0087] This invention can also perform configuration debugging and verification within a very small scope. When there are problems with the configuration parameters to be updated, it can greatly reduce the risk and avoid causing a wider range of impacts. In practical applications, it can greatly improve the operational safety of maintenance and reduce maintenance accidents.

[0088] Figure 2 This is a flowchart of a server configuration and debugging method according to an embodiment of this application, which is described below in conjunction with... Figure 1 and Figure 2 An example of a server configuration debugging method is described, method 200 includes:

[0089] Step 202 involves receiving a debug configuration release message. This message includes debug configuration entries, each containing a key, value, and an effective rule. For example, an operations administrator receives a configuration adjustment request from operations or development personnel. The request might be to change the user request rate limit from 100 to 10. In this case, entry d in the static configuration data set 1014 of business service node 101 would be:

[0090] Key=request_limits, Value=100;

[0091] The Value=100 needs to be changed to Value=10. In this case, the debugging configuration release message input by the operation and maintenance personnel is received through the configuration debugging platform 105. That is, the operation and maintenance administrator creates a debugging configuration entry b by calling the release debugging configuration API of the API call module 1015 in the configuration debugging platform 105. Entry b has the same key as entry d. Entry b is:

[0092] Key = request_limits, Value = 10, the effective rule;

[0093] In some embodiments of this application, the effectiveness rules include full effectiveness rules, probabilistic effectiveness rules, time-limited effectiveness rules, and specific effectiveness rules; wherein,

[0094] i. The "full effectiveness" rule means that the debug configuration entry will remain effective during the debugging phase. In this case, for a key, if an entry corresponding to this key exists in both the debug static configuration data set 1017 and the static configuration data set 1014, the business module 1011 will only read the value (debug configuration) of the entry corresponding to this key in the debug static configuration data set 1017, and will not be able to read the value (original configuration) of the entry corresponding to this key in the static configuration data set 1014.

[0095] The probability-based activation rule allows debug configuration entries to be read with a predetermined probability. To further reduce the risk of configuration errors, a probability-based activation rule, such as a 0.1 probability, can be adopted. In this case, for a key, if an entry corresponding to this key exists in both debug static configuration data set 1017 and static configuration data set 1014, then business module 1011 will read the value (debug configuration) of the entry corresponding to this key in debug static configuration data set 1017 in 10% of cases, and will read the value (original configuration) of the entry corresponding to this key in static configuration data set 1014 in 90% of cases.

[0096] iii. Time-sensitive rules allow debug configuration entries to be read within a predetermined time. That is, in addition to full-effect and probabilistic-effect rules, time-sensitive rules can be superimposed. For example, if the rule only applies for 1 minute, the debug configuration entry may only take effect within 1 minute. After 1 minute, the debug configuration entry will not take effect, thereby further reducing the risk of configuration errors.

[0097] iv. Specific rules respond to read requests carrying a predetermined ID, allowing debug configuration entries to be read. Specific rules can be superimposed on the three types of rules mentioned above. For example, if a rule applies to a specific user ID, the debug configuration entry will only be used during business processing for requests from that user; requests from other users will not use the debug configuration entry. This type of rule is often used by quality management (QA) personnel to perform tests on specific user IDs (such as test-specific IDs) to avoid affecting normal users; it can reduce the probability of configuration errors to almost zero.

[0098] In step 204, the query checks whether the debug configuration entry contains a predefined key. For example, when the business module 1011 (game server program) needs to read the user request rate limiting configuration, the configuration reading module 1016 first queries whether the debug static configuration data set 1017 contains an entry with Key = request_limits.

[0099] In step 206a, determine whether the predefined key has been found; that is, determine whether there is an entry with Key = request_limits among all entries in the debug static configuration data set 1017.

[0100] If the predetermined key is not found, the value of the original configuration entry with the key is read in reading step 208a; for example, if the above entry b is not added to the debug static configuration data set 1017, and the configuration reading module 1016 does not find the entry with Key = request_limits in the debug static configuration data set 1017, then the configuration reading module 1016 reads the entry (entry d) with Key = request_limits in the static configuration data set 1014.

[0101] If the predefined key is found, then in step 206b, it is determined whether the validity rule is met. For example, if the above entry b is added to the debug static configuration data set 1017, and the configuration reading module 1016 finds the entry (entry b) with Key = request_limits in the debug static configuration data set 1017, then it is determined whether the validity rule of entry b is met.

[0102] If the effective rules are not met, the value of the original configuration entry with that key is read in reading step 208a; for example, configuration reading module 1016 reads the entry (entry d) with Key = request_limits in static configuration data set 1014.

[0103] If the validity rules are met, then step 208b is read, which reads the value of the debug configuration entry corresponding to the key. For example, the configuration reading module 1016 reads the entry (entry b) with Key = request_limits in the debug static configuration data set 1017.

[0104] The embodiments of this application can be configured and debugged within a very small scope. When there is a problem with the configuration parameters to be updated, the risk can be greatly reduced and a wider range of impacts can be avoided. In practical applications, it can greatly improve the operational safety of maintenance and reduce maintenance accidents.

[0105] Similarly, the operations and maintenance administrator can selectively add entry b to the debug static configuration data set of business service node 102 or more other business service nodes in the same manner, and set corresponding activation rules. Business service node 102 or more other business service nodes will implement similar functions as business service node 101. This can further narrow the impact of debugging while satisfying configuration verification. It addresses the significant risks arising from incorrect configuration updates, keeping the risks within a controllable range.

[0106] According to some embodiments of this application, the server configuration and debugging method further includes:

[0107] The system receives a debug configuration deletion message, which includes the debug configuration deletion field. For example, after publishing the aforementioned debug configuration entry (entry b), quality management personnel will conduct configuration testing during a meeting. If a configuration problem is found, the system will notify the operations administrator to quickly operate the configuration debugging platform 105 to delete the debug configuration entry (entry b) and quickly roll back the configuration. Specifically, the operations administrator inputs the configuration deletion message into the delete debug configuration API of the API call module 1015 of the business service node 101 on the configuration debugging platform 105. The configuration deletion message includes the deletion field request_limits.

[0108] The deletion key is the debug configuration entry for the field to be deleted in this debug configuration. For example, API call module 1015 deletes the entry with key "request_limits" (entry b) from debug static configuration data set 1017. This way, business service node 101 will no longer read entry b (the debug configuration) subsequently, enabling a fast rollback.

[0109] In this application, once a problem is found in the configuration content, the configuration of these nodes can be quickly rolled back without reloading the configuration file or pulling it again from the configuration center. This rapid emergency handling after a risk occurs further reduces the impact of configuration update problems.

[0110] After publishing the aforementioned debug configuration entry (entry b), if the quality management (QA) personnel test it and the debug test passes, the operations administrator modifies the configuration file in object storage service node 103 or the dynamic configuration data set in configuration center service node 104 to apply the value of debug configuration entry (entry b). Then, each business service node reloads the corresponding configuration items, making the configuration permanent. This can be seamlessly integrated with traditional configuration management solutions, helping developers quickly integrate it into existing systems.

[0111] Figure 3 This is a hardware structure block diagram of a computer device for implementing server configuration and debugging according to an embodiment of the present invention.

[0112] like Figure 3 As shown, the computer device 300 may include one or more processors 302, a system motherboard 308 connected to at least one of the processors 302, system memory 304 connected to the system motherboard 308, non-volatile memory (NVM) 306 connected to the system motherboard 308, and a network interface 310 connected to the system motherboard 308.

[0113] Processor 302 may include one or more single-core or multi-core processors. Processor 302 may include any combination of general-purpose processors and special-purpose processors (e.g., graphics processors, application processors, baseband processors, etc.). In embodiments of the invention, processor 302 may be configured to perform operations according to... Figure 2 One or more embodiments of the various embodiments shown.

[0114] In some embodiments, the system motherboard 308 may include any suitable interface controller to provide any suitable interface to at least one of the processors 302 and / or any suitable device or component communicating with the system motherboard 308.

[0115] In some embodiments, system motherboard 308 may include one or more memory controllers to provide an interface to system memory 304. System memory 304 may be used to load and store data and / or instructions. In some embodiments, system memory 304 of electronic device 300 may include any suitable volatile memory, such as suitable dynamic random access memory (DRAM).

[0116] The NVM 306 may include one or more tangible, non-transitory computer-readable media for storing data and / or instructions. In some embodiments, the NVM 306 may include any suitable non-volatile memory such as flash memory and / or any suitable non-volatile storage device, such as at least one of an HDD (Hard Disk Drive), a CD (Compact Disc) drive, or a DVD (Digital Versatile Disc) drive.

[0117] NVM 306 may include a portion of the storage resources on a device installed on electronic device 300, or it may be accessible by the device, but is not necessarily part of the device. For example, NVM 306 may be accessed over a network via network interface 310.

[0118] Specifically, system memory 304 and NVM 306 may each include a temporary copy and a permanent copy of instruction 320, respectively. Instruction 320 may include, when executed by at least one of processors 302, causing electronic device 300 to perform, as Figure 2 The instructions for the method shown. In some embodiments, the instructions 320, hardware, firmware and / or their software components may additionally / alternatively be located in the system motherboard 308, network interface 310 and / or processor 302.

[0119] Network interface 310 may include a transceiver for providing a radio interface to electronic device 300, thereby enabling communication with any other suitable device (e.g., front-end module, antenna, etc.) via one or more networks. In some embodiments, network interface 310 may be integrated into other components of electronic device 300. For example, network interface 310 may be integrated into at least one of processor 302, system memory 304, NVM 306, and firmware device (not shown) with instructions, wherein electronic device 300 implements [the desired functionality] when at least one of processor 302 executes the instructions. Figure 2 One or more embodiments of the various embodiments shown.

[0120] The network interface 310 may further include any suitable hardware and / or firmware to provide a multiple-input multiple-output radio interface. For example, the network interface 310 may be a network adapter, a wireless network adapter, a telephone modem, and / or a wireless modem.

[0121] In one embodiment, at least one of the processors 302 may be packaged together with one or more controllers for the system motherboard 308 to form a system-in-package (SiP). In another embodiment, at least one of the processors 302 may be integrated on the same die with one or more controllers for the system motherboard 308 to form a system-on-a-chip (SoC).

[0122] The computer device 300 may further include an input / output (I / O) device 312 connected to the system motherboard 308. The I / O device 312 may include a user interface enabling a user to interact with the electronic device 300; the peripheral component interface is designed to allow peripheral components to also interact with the electronic device 300. In some embodiments, the electronic device 300 may also include sensors for determining at least one type of environmental condition and location information related to the electronic device 300.

[0123] In some embodiments, I / O device 312 may include, but is not limited to, a display (e.g., a liquid crystal display, a touch screen display, etc.), a speaker, a microphone, one or more cameras (e.g., a still image camera and / or a video camera), a flashlight (e.g., an LED flash) and a keyboard.

[0124] In some embodiments, the peripheral component interface may include, but is not limited to, a non-volatile memory port, an audio jack, and a power interface.

[0125] In some embodiments, the sensor may include, but is not limited to, a gyroscope sensor, an accelerometer, a proximity sensor, an ambient light sensor, and a positioning unit. The positioning unit may also be part of or interact with the network interface 310 to communicate with components of the positioning network (e.g., Global Positioning System (GPS) satellites).

[0126] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the computer device 300. In other embodiments of this application, the computer device 300 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0127] Program code can be applied to input instructions to perform the functions described in this invention and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, a system for processing instructions including processor 302 includes any system having a processor such as a digital signal processor (DSP), microcontroller, application-specific integrated circuit (ASIC), or microprocessor.

[0128] The program code can be implemented using a high-level procedural language or an object-oriented programming language to communicate with the processing system. Assembly language or machine language can also be used when needed. In fact, the mechanisms described in this invention are not limited to any particular programming language. In either case, the language can be a compiled language or an interpreted language.

[0129] One or more aspects of at least one embodiment can be implemented by instructions stored on a computer-readable storage medium, which, when read and executed by a processor, enable an electronic device to implement the methods of the embodiments described in this invention.

[0130] According to some embodiments of this application, a computer storage medium is disclosed, on which instructions are stored, which, when executed on a computer, cause the computer to perform any of the possible methods of the first embodiment described above.

[0131] The first embodiment is a method embodiment corresponding to this embodiment, and this embodiment can be implemented in conjunction with the first embodiment. The relevant technical details mentioned in the first embodiment remain valid in this embodiment, and will not be repeated here to avoid repetition. Correspondingly, the relevant technical details mentioned in this embodiment can also be applied to the first embodiment.

[0132] According to some embodiments of this application, a computer program product is disclosed, including computer-executable instructions that are executed by a processor to implement a server configuration and debugging method according to an embodiment of the present invention.

[0133] The first embodiment is a method embodiment corresponding to this embodiment, and this embodiment can be implemented in conjunction with the first embodiment. The relevant technical details mentioned in the first embodiment remain valid in this embodiment, and will not be repeated here to avoid repetition. Correspondingly, the relevant technical details mentioned in this embodiment can also be applied to the first embodiment.

[0134] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions or programs carried or stored on one or more transient or non-transient machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors, etc. When the instructions or program are run by a machine, the machine may perform the various methods described above. For example, the instructions may be distributed via a network or other computer-readable media. Therefore, machine-readable media may include, but are not limited to, any mechanism for storing or transmitting information in a machine-readable (e.g., computer-readable) form, such as floppy disks, optical disks, optical disc read-only memories (CD-ROMs), magneto-optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable read-only memories (EPROMs), electronically erasable programmable read-only memories (EEPROMs), magnetic cards or optical cards, or flash memory or tangible machine-readable storage for transmitting network information via electrical, optical, acoustic, or other forms of signals (e.g., carrier waves, infrared signals, digital signals, etc.). Therefore, machine-readable media includes any form of machine-readable medium suitable for storing or transmitting electronic instructions or machine (e.g., computer) readable information.

[0135] The embodiments of this application have been described in detail above with reference to the accompanying drawings. However, the use of the technical solutions of this application is not limited to the various applications mentioned in the embodiments of this patent. Various structures and modifications can be easily implemented with reference to the technical solutions of this application to achieve the various beneficial effects mentioned herein. Within the scope of knowledge possessed by those skilled in the art, all changes made without departing from the spirit of this application should be considered within the scope of this patent application.

Claims

1. A server configuration and debugging method, characterized in that, The method is applied to a server configuration and debugging system, which includes a configuration and debugging platform and one or more business service nodes. Each business service node includes a business module and a configuration and debugging module. The method includes: The configuration and debugging platform receives a debugging configuration release message, which includes a debugging configuration entry, the entry including a key, a value, and an effective rule; and sends the debugging configuration release message to the configuration and debugging module of the service node specified in the message. The configuration debugging module: stores the received debugging configuration entries into a debugging static configuration data set, and queries the debugging static configuration data set for a predetermined key according to the instructions of the business module; if the predetermined key is found, it determines whether the activation rule is satisfied; if the activation rule is satisfied, it reads the value of the debugging configuration entry with the predetermined key and returns the value to the business module; if the predetermined key is not found or the activation rule is not satisfied, it reads the value of the original configuration entry with the predetermined key from the static configuration data set.

2. The method according to claim 1, characterized in that, The effective rules include probability-based effective rules, time-sensitive effective rules, and specific effective rules; among them... The probability-based activation rule allows the debug configuration entry to be read with a predetermined probability; The time-sensitive activation rule allows the debug configuration entry to be read within a predetermined time. The specificity-based activation rule, in response to a read request carrying a predetermined ID, allows the debug configuration entry to be read.

3. The method according to claim 1, characterized in that, The method further includes: Receive a debug configuration deletion message, wherein the debug configuration deletion message includes a debug configuration deletion field; The delete key is the debug configuration entry in the debug configuration delete field.

4. A server configuration and debugging system, characterized in that, This includes a configuration and debugging platform and one or more business service nodes. Each business service node includes a business module and a configuration and debugging module, wherein: The configuration debugging platform is used to receive a debugging configuration release message, the debugging configuration release message including a debugging configuration entry, the debugging configuration entry including a key, a value and an effective rule; and the configuration debugging platform sends the debugging configuration release message to the configuration debugging module of the business service node specified in the debugging configuration release message. The configuration debugging module stores the received debugging configuration entries into the debugging static configuration data set, and Based on the instructions from the business module, query whether the predetermined key exists in the debug static configuration data set. If the pre-defined key is found, determine whether the activation rule is met. If the activation rules are met, the value of the debug configuration entry with the predetermined key is read and the value is returned to the business module. If the configuration debugging module cannot find the predetermined key or does not meet the activation rule, it reads the value of the original configuration entry with the predetermined key from the static configuration data set.

5. The system according to claim 4, characterized in that, The effective rules include probability-based effective rules, time-sensitive effective rules, and specific effective rules; among them... The probability-based activation rule allows the debug configuration entry to be read with a predetermined probability; The time-sensitive activation rule allows the debug configuration entry to be read within a predetermined time. The specificity-based activation rule, in response to a read request carrying a predetermined ID, allows the debug configuration entry to be read.

6. The system according to claim 4, characterized in that, The configuration debugging platform is also used to receive a debug configuration deletion message, the debug configuration deletion message including a debug configuration deletion field; and the configuration debugging platform sends the debug configuration deletion message to the configuration debugging module of the business service node specified in the debug configuration deletion message; After receiving the debug configuration deletion message, the configuration debugging module deletes the debug configuration entry whose deletion key is the debug configuration deletion field.

7. A computer device, characterized in that, The device includes a memory storing computer-executable instructions and a processor, which, when executed by the processor, cause the device to implement the server configuration and debugging method according to any one of claims 1-3.

8. A computer storage medium, characterized in that, The computer storage medium stores instructions that, when executed on the computer, cause the computer to perform the server configuration and debugging method according to any one of claims 1-3.

9. A computer program product comprising computer-executable instructions, characterized in that, The instructions are executed by the processor to implement the server configuration and debugging method according to any one of claims 1-3.

Citation Information

Patent Citations

  • Software gray release method, proxy server, configuration center and system

    CN110045964A