Performance data monitoring method, device, medium and electronic equipment

By scanning and merging the multi-dimensional performance data of the game client, the problems of redundant alarms and duplicate alarms are solved, and accurate and efficient monitoring and alarms of the game client performance data are achieved.

CN113486065BActive Publication Date: 2025-01-10NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110784655.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-07-12
Publication Date
2025-01-10
Estimated Expiration
2041-07-12

AI Technical Summary

Technical Problem

The prior art is difficult to accurately and efficiently monitor and alarm the performance data of game clients, especially in multi-dimensional and multi-level conditions, which are prone to redundant alarms and duplicate alarm problems.

Method used

By obtaining the multi-dimensional performance data reported by the game client, scanning and determining the redundant alarm data according to the preset alarm rules, using layer-by-layer traversal and time period merging processing, deduplication and merging alarm data, and modifying the alarm status Avoid redundant alarms.

Benefits of technology

It realizes accurate and efficient monitoring of the performance data of the game client, avoids redundant alarms, quickly obtains key alarm data, and ensures effective monitoring and alarm of performance data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113486065B_ABST
    Figure CN113486065B_ABST
Patent Text Reader

Abstract

The disclosed embodiments provide a performance data monitoring method, device, medium and electronic device. The method includes: obtaining performance data of each dimension in multiple dimensions reported by a game client; scanning the performance data according to a preset alarm rule to obtain alarm data of each dimension that satisfies the preset alarm rule; determining redundant alarm data in the alarm data, and merging the redundant alarm data. According to the technical solution of the disclosed embodiments, the performance data of the game client can be accurately and efficiently monitored and alarmed.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] At present, the performance of game clients is one of the most concerned issues in the game development and testing process. Taking mobile device games as an example, the models and configurations of mobile devices vary greatly, and the performance conditions are also different. In order to monitor the performance of real players' game clients, it is necessary to collect the performance indicators of all players' game clients and analyze the performance indicators.

[0003] In the relevant technical scheme, after the dimensions of the performance data of the game client are determined, the performance data under each dimension are aggregated and analyzed to obtain the performance indicators under each dimension, so as to judge whether the performance data of the dimension meets the standards based on the performance indicators. If it does not meet the standards, an alarm needs to be issued.

[0004] Therefore, how to accurately and efficiently monitor the performance data of the game client and issue an alarm has become a technical problem that needs to be solved urgently.

[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention

[0006] The purpose of the embodiments of the present disclosure is to provide a performance data monitoring method, a performance data monitoring device, a computer-readable medium and an electronic device, so as to accurately and efficiently monitor and alarm the performance data of a game client at least to a certain extent.

[0007] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by the practice of the present disclosure.

[0008] According to a first aspect of an embodiment of the present disclosure, a performance data monitoring method for a game client is provided, the method comprising: obtaining performance data of each dimension of multiple dimensions reported by the game client; scanning the performance data according to preset alarm rules to obtain alarm data of each dimension that satisfies the preset alarm rules; determining redundant alarm data in the alarm data, and merging the redundant alarm data.

[0009] According to the first aspect, in some example embodiments, the redundant alarm data includes identical alarm data in at least two dimensions, the at least two dimensions having a dimensional containment relationship, and the determining of the redundant alarm data in the alarm data and merging the redundant alarm data include: determining the alarm data of the previous layer of the alarm data of the current layer in a bottom-up traversal manner according to the hierarchical relationship of the multiple dimensions; determining the identical alarm data between the alarm data of the current layer and the alarm data of the previous layer; and deduplicating the identical alarm data.

[0010] According to the first aspect, in some example embodiments, the redundant alarm data includes the same alarm data of multiple time periods in the same dimension, and the determining of the redundant alarm data in the alarm data and merging the redundant alarm data include: determining the total continuous existence time of the alarm data according to whether the alarm data of the same dimension exists in the previous time period of the current time period; and merging the same alarm data of the same dimension within the total continuous existence time.

[0011] According to the first aspect, in some example embodiments, merging the same alarm data of the same dimension within the total persistence time includes: modifying the alarm state of the same alarm data of the same dimension within the total persistence time to a multi-time period merged state.

[0012] According to the first aspect, in some example embodiments, the alarm status of the alarm data also includes one or more of a system shielding status, an unprocessed status, and an ignored status, wherein the system shielding status indicates that the alarm data is shielded; the unprocessed status indicates that the alarm data requires alarm processing; and the ignored status indicates that the alarm data has been ignored.

[0013] According to the first aspect, in some example embodiments, the alarm status of the alarm data includes a system shielding status and an unprocessed status, and the method further includes: if the alarm status of the alarm data is a system shielding status, and the total duration of the alarm data is greater than a predetermined threshold, then the alarm status of the alarm data is modified to the unprocessed status.

[0014] According to the first aspect, in some example embodiments, the alarm status of the alarm data includes an unprocessed status and an ignored status, and the method further includes: determining a plurality of identical predetermined alarm data that are in an unprocessed status and an ignored status within a predetermined time, determining predetermined alarm data of the same dimension in the plurality of identical predetermined alarm data; and merging the predetermined alarm data of the same dimension.

[0015] According to the first aspect, in some example embodiments, the performance data is scanned according to preset alarm rules to obtain alarm data of various dimensions that satisfy the preset alarm rules, including: scanning the performance data in a performance data table according to preset alarm rules in a preset alarm rule table; and obtaining alarm data corresponding to various dimensions that satisfy the preset alarm rules according to the scanning results.

[0016] According to the first aspect, in some example embodiments, obtaining the performance data of each of the multiple dimensions reported by the game client includes: periodically obtaining the performance data of each of the multiple dimensions reported by the client in a predetermined time period; and calculating the average value of the performance data in each dimension in the predetermined time period.

[0017] According to a second aspect of an embodiment of the present disclosure, a performance data monitoring device for a game client is provided, the device comprising: a performance data acquisition module, used to acquire performance data of each dimension of multiple dimensions reported by the game client; an alarm data determination module, used to scan the performance data according to preset alarm rules to obtain alarm data of each dimension that satisfies the preset alarm rules; and a merging processing module, used to determine redundant alarm data in the alarm data and merge the redundant alarm data.

[0018] According to the second aspect, in some example embodiments, the redundant alarm data includes identical alarm data in at least two dimensions, and the at least two dimensions have a dimensional inclusion relationship, and the merging processing module is further used to: determine the alarm data of the previous layer of the alarm data of the current layer by traversing layer by layer from bottom to top according to the hierarchical relationship of the multiple dimensions; determine the identical alarm data between the alarm data of the current layer and the alarm data of the previous layer; and deduplicate the identical alarm data.

[0019] According to the second aspect, in some example embodiments, the redundant alarm data includes the same alarm data of multiple time periods in the same dimension, and the merging processing module is also used to: determine the total continuous existence time of the alarm data according to whether the alarm data of the same dimension exists in the previous time period of the current time period; and merge the same alarm data of the same dimension within the total continuous existence time.

[0020] According to the second aspect, in some example embodiments, merging the same alarm data of the same dimension within the total persistence time includes: modifying the alarm state of the same alarm data of the same dimension within the total persistence time to a multi-time period merged state.

[0021] According to the second aspect, in some example embodiments, the alarm status of the alarm data also includes one or more of a system shielding status, an unprocessed status, and an ignored status, wherein the system shielding status indicates that the alarm data is shielded; the unprocessed status indicates that the alarm data requires alarm processing; and the ignored status indicates that the alarm data has been ignored.

[0022] According to the second aspect, in some example embodiments, the alarm status of the alarm data includes a system shielding status and an unprocessed status, and the device further includes: a status modification module, which is used to modify the alarm status of the alarm data to the unprocessed status if the alarm status of the alarm data is the system shielding status and the total duration of the alarm data is greater than a predetermined threshold.

[0023] According to the second aspect, in some example embodiments, the alarm status of the alarm data includes an unprocessed status and an ignored status, and the device further includes: a same dimension data determination module, used to determine multiple identical predetermined alarm data that are in an unprocessed status and an ignored status within a predetermined time, and determine the predetermined alarm data of the same dimension in the multiple identical predetermined alarm data; a same dimension data processing module, used to merge the predetermined alarm data of the same dimension.

[0024] According to the second aspect, in some example embodiments, the alarm data determination module is further used to: scan the performance data in the performance data table according to preset alarm rules in the preset alarm rule table; and obtain the alarm data corresponding to each dimension that satisfies the preset alarm rules according to the scanning results.

[0025] According to the second aspect, in some example embodiments, the performance data acquisition module is further used to: periodically acquire performance data of each dimension in multiple dimensions reported by the client in a predetermined time period; and calculate the average value of the performance data in each dimension in the predetermined time period.

[0026] According to a third aspect of an embodiment of the present disclosure, a computer-readable medium is provided, on which a computer program is stored. When the program is executed by a processor, the performance data monitoring method as described in the first aspect of the above embodiment is implemented.

[0027] According to the fourth aspect of an embodiment of the present disclosure, there is provided an electronic device, comprising: one or more processors; a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the performance data monitoring method as described in the first aspect of the above embodiment.

[0028] The technical solution provided by the embodiments of the present disclosure may have the following beneficial effects:

[0029] In some embodiments of the present disclosure, on the one hand, the multi-dimensional performance data reported by the game client is scanned according to preset alarm rules to obtain alarm data of each dimension, and all alarm data in the multi-dimensional dimensions can be obtained, thereby enabling accurate and efficient monitoring of the performance data; on the other hand, redundant alarm data in the alarm data is determined and merged, which can not only avoid frequent alarms due to the same problem, but also quickly obtain key alarm data, thereby enabling accurate and efficient alarms.

[0030] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] The drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:

[0032] Figure 1 A schematic diagram showing an application scenario of the performance data monitoring method in an exemplary embodiment of the present disclosure;

[0033] Figure 2 A schematic diagram showing a flow chart of a performance data monitoring method according to some example embodiments of the present disclosure is shown;

[0034] Figure 3 A schematic diagram showing a flow chart of a performance data monitoring method according to some other example embodiments of the present disclosure;

[0035] Figure 4 A schematic diagram showing the structure of a performance data monitoring device according to some example embodiments of the present disclosure is shown;

[0036] Figure 5 A schematic diagram of the structure of a performance data monitoring device according to an embodiment of the present disclosure is shown;

[0037] Figure 6 A schematic structural diagram of an electronic device in an exemplary embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0038] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be more comprehensive and complete and will fully convey the concept of the example embodiments to those skilled in the art.

[0039] In addition, the described features, structures or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced without one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known methods, devices, implementations or operations are not shown or described in detail to avoid blurring the various aspects of the present disclosure.

[0040] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0041] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.

[0042] In order to clearly illustrate the technical solutions in the embodiments of the present disclosure, before specifically describing the embodiments of the present disclosure, some terms used in the embodiments are first described.

[0043] Performance data: The dimensions of performance data include but are not limited to: country, region, system platform, model, game quality rating, game scene, game engine version, game resource version, etc. There is a hierarchical relationship between the dimensions. For example, the country dimension is the upper dimension of the region dimension, the system dimension is the upper dimension of the model dimension, and the model dimension is the upper dimension of the game quality rating dimension, the game scene dimension, and the game engine version dimension. Preset alarm rules: Preset alarm rules are rules that require alarms when performance data exceeds the normal data range. Preset alarm rules include alarm conditions for performance data such as FPS less than 15, network delay greater than a predetermined duration such as 0.5s, or memory usage greater than 80%.

[0044] Alarm data: also known as alarm problems, which refers to performance data that meets the alarm conditions in the preset alarm rules, such as performance data with an FPS less than 15.

[0045] Sampling point: the number of logs reported at predetermined time points, for example, the number of logs reported every 3 minutes.

[0046] In the related technical solution, when the dimension of the performance data of the game client is determined, the performance data under each determined dimension is aggregated and analyzed to obtain the performance indicators under each dimension. However, this technical solution limits the dimension of the aggregate analysis, and can only perform aggregate analysis under the current dimension, and cannot drill down to the next dimension of the dimension. If all sub-dimensions of the current dimension are aggregated and analyzed on the basis of the current dimension, a lot of easy alarm data will be generated. For example, the alarm data or alarm problems of the sub-dimension have been included in the parent dimension; or the alarm data under the same dimension is consistent for multiple time periods, resulting in multiple duplicate alarm data.

[0047] Based on the above content, the embodiments of the present disclosure provide a performance data monitoring method, a performance data monitoring device, a computer-readable medium, and an electronic device.

[0048] The performance data monitoring method in the exemplary embodiment of the present disclosure is described in detail below with reference to the accompanying drawings.

[0049] Figure 1 A schematic diagram of an application scenario provided according to some embodiments of the present disclosure is shown. The application scenario may include: a client 110 and a server 120. The client 110 may be, for example, a mobile phone, a PC (Personal Computer), a tablet computer, an electronic game console, an MP4 (Moving Picture Experts Group Audio Layer IV) player, and the like.

[0050] The client 110 may be installed with a game application client, such as a shooting game application client, and the shooting game application may be any one of an FPS (First Person Shooting) game application, a TPS (Third-Prisonal Shooting) game application, a MOBA (Multiplayer Online Battle Arena) game application, a multiplayer gunfight survival game application, and the like.

[0051] Taking FPS games as an example, the server 120 obtains the performance data of each dimension in multiple dimensions reported by multiple game clients of the FPS game; scans the performance data according to the preset alarm rules to obtain the alarm data of each dimension that meets the preset alarm rules; determines the redundant alarm data in the alarm data, and merges the redundant alarm data. Furthermore, the merged alarm data can be provided to the monitoring platform of the alarm system.

[0052] The server 120 is used to provide background services for the client of the application (such as a game application) in the client 110. For example, the server 120 can be a background server of the above application (such as a game application). The server 120 can be a single server, a server cluster composed of multiple servers, or a cloud computing service center.

[0053] The client 110 and the server 120 can communicate with each other via a network 130. The network 130 can be a wired network or a wireless network, and the network 130 can be a PSTN (Public Switched Telephone Network) or the Internet.

[0054] Figure 2 The flowchart of the performance data monitoring method according to some example embodiments of the present disclosure is shown. The execution subject of the performance data monitoring method provided by the embodiment of the present disclosure may be a computing device with computing processing functions, such as Figure 1 The performance data monitoring method includes steps S210 to S230. The performance data monitoring method in an exemplary embodiment is described in detail below with reference to the accompanying drawings.

[0055] Reference Figure 2 As shown, in step S210, performance data of each dimension of multiple dimensions reported by the game client is obtained.

[0056] In an example embodiment, the dimensions of performance data may include: country, region, system platform, model, image quality, scene, engine version, etc., and there is a hierarchical relationship between the dimensions, for example, the country dimension is the upper dimension of the region dimension, the system dimension is the upper dimension of the model dimension, and the model dimension is the upper dimension of the image quality dimension, the scene dimension, and the engine version dimension. The performance data corresponding to the dimension mainly includes FPS (Frames Per Second), memory, network latency, etc.

[0057] Furthermore, the game client periodically reports a performance data log to the server 120, and the performance data log includes dimension information and performance data. The server 120 periodically captures a performance data log of a predetermined time, for example, 10 minutes.

[0058] In step S220, the performance data is scanned according to the preset alarm rules to obtain alarm data of various dimensions that meet the preset alarm rules.

[0059] In an example embodiment, the preset alarm rules are rules that require an alarm when performance data exceeds the normal data range. The preset alarm rules include alarm conditions for performance data such as FPS less than 15, network delay greater than a predetermined time period such as 0.5s, or memory usage greater than 80%.

[0060] Furthermore, the performance data in the performance data table is scanned according to the preset alarm rules. If the performance data meets the alarm conditions in the preset alarm rules, such as FPS is less than 15, the performance data meeting the alarm conditions is used as the alarm data of the corresponding dimension.

[0061] In step S230, redundant alarm data in the alarm data is determined, and the redundant alarm data is merged.

[0062] In an example embodiment, the redundant alarm data includes multiple identical alarm data in multiple dimensions or multiple identical alarm data in multiple time periods in the same dimension. The alarm data in multiple dimensions are traversed to determine the redundant alarm data in the alarm data, and the redundant alarm data are deduplicated or merged.

[0063] according to Figure 2 According to the technical solution in the example embodiment, on the one hand, the performance data of multiple dimensions reported by the game client are scanned according to preset alarm rules to obtain alarm data of each dimension, and all alarm data under multiple dimensions can be obtained, so that the performance data can be monitored accurately and efficiently; on the other hand, redundant alarm data in the alarm data is determined and merged, which can not only avoid frequent alarms due to the same problem, but also quickly obtain key alarm data, so that alarms can be made accurately and efficiently.

[0064] Figure 3 A schematic flow chart of a performance data monitoring method according to some other example embodiments of the present disclosure is shown.

[0065] Reference Figure 3 As shown, in step S310, the game client periodically reports performance data logs to the server.

[0066] In an example embodiment, the performance data includes dimension information and performance indicators, and the dimension information includes but is not limited to country, region, system platform, model, image quality, scene, engine version, etc. The performance indicators include but are not limited to FPS, memory usage, network latency, etc.

[0067] In step S320, the performance data logs of a predetermined time period are periodically intercepted, and the average value of the performance data in each dimension in the predetermined time period is calculated.

[0068] In an example embodiment, performance data logs are periodically intercepted at intervals of a predetermined time period, the average value of each performance indicator of the permutations and combinations of different options under each dimension and the number of reported logs are calculated, and an aggregated wide table of each dimension, such as a performance data table, is generated.

[0069] In step S330, a preset alarm rule is determined, where the preset alarm rule includes an alarm condition that each performance indicator needs to meet.

[0070] In an example embodiment, the preset alarm rules include alarm conditions of performance data such as FPS less than 15, network delay greater than a predetermined duration such as 0.5s, or memory usage greater than 80%, etc. Further, the minimum number of logs required to generate an alarm when the alarm condition is met.

[0071] In step S340, the alarm data satisfying the alarm condition is screened out from the performance data table, and the alarm data is merged.

[0072] In an example embodiment, performance data that meets the alarm condition is screened in an aggregated wide table of performance data, and redundant alarm data is merged. The redundant alarm data includes alarm data with dimension inclusion relationships and alarm data of the same dimension at multiple time points.

[0073] In step S350, the merged alarm data is provided to an alarm monitoring platform so as to monitor performance indicators of different dimensions.

[0074] according to Figure 3 According to the technical solution in the example embodiment, on the one hand, the performance data log of a predetermined time period is periodically intercepted, and the average value of the performance data in each dimension in the predetermined time period is calculated, so as to obtain the average index of the performance data in the predetermined time period; on the other hand, the performance data is scanned according to the preset alarm rules to obtain the alarm data of each dimension, so as to obtain all the alarm data in multiple dimensions; on the other hand, the redundant alarm data in the alarm data is determined, and the redundant alarm data is merged and processed, which can not only avoid the situation of frequent alarms due to the same problem, but also quickly obtain the key alarm data.

[0075] Figure 4 A schematic diagram of the structure of a performance data monitoring device according to some example embodiments of the present disclosure is shown.

[0076] Reference Figure 4As shown, the performance data monitoring device 400 includes: a timed task module 410, a database module 420 and an alarm processing module 430. The following describes these three modules in detail in conjunction with the accompanying drawings.

[0077] There are mainly three types of tables stored in the database module 420. The first is the performance data table 422 of each game project, the second is the alarm rule table 424 of the game project, and the third is the alarm table 426 of the game project. The performance data of each game project can be stored in a performance data table 422. The performance data table 422 mainly includes two parts: dimensions and indicators. The dimensions mainly include country, region, system platform, model, image quality, scene, engine version, etc., and the indicators mainly include FPS, memory, network delay, etc. In addition, there is also the time when each data is marked. In this system, every 10 minutes of data is divided into a batch for processing.

[0078] The alarm rule table 424 is used to record the alarm rules configured by the game team. The alarm processing module 430 will scan according to the alarm rules in the alarm rule table 424. For example, if the FPS is configured to be less than 15 and the cnt (sampling point) is greater than 10, the system will scan the performance data that meets these two conditions in each dimension. At the same time, the alarm rule table 424 can also be configured to drill down dimensions. For example, if the game project team specifies the system platform as Android and the region as China, the alarm processing module 430 will scan the performance data of all regions in China under the Android platform. The alarm rule table 424 can also be configured to have a duration for problem viewing. If a problem in a certain dimension continues to occur within these consecutive times, the alarm processing module 430 will provide the alarm data of the dimension to the alarm system.

[0079] The alarm table 426 records the alarm data or alarm problems of all game items. The alarm processing module 430 performs combined processing based on the alarm data of the alarm table 426.

[0080] The alarm processing module 430 includes: an alarm data scanning unit 432 and an alarm data merging unit 434. The processing of the alarm data scanning unit 432 and the alarm data merging unit 434 will be described below with examples.

[0081] The scanning process of the alarm data scanning unit 432:

[0082] Take the requirements of a scheduled game project as an example: suppose the platform dimension includes IOS and Android platforms; the scene dimension includes scenes numbered 101, 104, 105, 112, etc. The scenes can be game scenes of different game maps, and the numbers can be game map numbers; the image quality level dimension includes 0-5 levels; the frame rate dimension includes high and low modes, as well as other dimensions, and the alarm rule is FPS<15 alarm. In the specific implementation, the expanded check items of the scene are:

[0083] Scenario = 101, other dimensions = all; Scenario = 104, other dimensions = all; Scenario = 105, other dimensions = all; Scenario = 106, other dimensions = all.

[0084] The scanning process is mainly divided into the following two steps:

[0085] Step 1: Read out all performance data that meet the alarm conditions at the current time point. If there is no performance data that meets the alarm conditions, that is, alarm data, exit directly; if there is alarm data, go to step 2;

[0086] Step 2: According to the hierarchical relationship of the alarm data, determine the alarm data of the previous layer of the alarm data of the current layer by traversing layer by layer from bottom to top; if there is alarm data in the previous layer, repeat step 2, and terminate the upload if there is no alarm data.

[0087] The following example illustrates this: suppose that each dimension of a piece of performance data that meets the alarm condition is represented by a number representing the nth option, and 0 is used to identify all data under this dimension. Suppose there are three dimensions: platform, game project, and scene.

[0088] Assume that the performance data that meets the alarm conditions in the previous step is: 111 (platform, game project, scene), 121 (platform, game project, scene), 111 means that the platform dimension, game project dimension and scene dimension are the first platform, game project or scene; 121 means that the platform dimension is the first option such as iOS platform, the game project dimension is the second game project, and the scene dimension is the first scene.

[0089] Then the upper layer of performance data of the two performance data is: 011, 101, 110, 021, 101, 120, among which 011 represents the first scene of the first game project on all platforms; 101 represents the first scene of all game projects on the first platform; 110 represents all scenes of the first game project on the first platform; 021 represents the first scene of the second game project on all platforms; 120 represents all scenes of the second game project on the first platform, among which there are two 101s.

[0090] The performance data after deduplication is: 011, 101, 110, 021, 120

[0091] According to the preset alarm rules, the data under the above dimensions are traversed. Assume that the data that meets the alarm conditions are: 011, 110, 021,

[0092] The performance data after the next round of traversal is: 001, 010, 010, 100, 001, 020.

[0093] After removing duplicates, it becomes 001, 010, 100, 020.

[0094] The merging process of the alarm data merging unit 434: Considering that the same problem at multiple time points will continue to alarm, multiple time point alarm merging is added:

[0095] (1) Alarm data or alarm problems occurring in the current time period, A1, A2, ..., An (including system-shielded alarm problems, i.e., alarm data in the system-shielded state);

[0096] (2) Check in sequence whether there is a problem with the alarm problem Ai in the previous time period (including the problem of system shielding). If there is a problem, the duration of the alarm problem Ai = the duration of the previous time period of Ai + the interval time, and the continuous sampling points = the duration of the previous time period of Ai + the interval time. At the same time, the problem status of the previous time period of Ai is changed to multi-time merging. If the status of the problem Ai is system shielding and the continuous sampling points are greater than 2*minimum sampling points, the status is changed to unprocessed; if there is no problem, go to step 3;

[0097] (3) To prevent the performance index from fluctuating near the threshold, making it difficult to merge repeated or redundant alarm problems, all the same alarm problems that are in the (unprocessed, ignored) state within half an hour of the current alarm problem Ai are searched to see if they are the same dimension problem as the alarm problem Ai. If so, the duration of the alarm problem Ai = the duration of the previous time period of Ai + the interval time, and the continuous sampling points = the continuous sampling points of the previous time period of Ai + the current sampling points. At the same time, the alarm status of the alarm problem of the same dimension is changed to multi-time merging; if not, it ends.

[0098] (4) Scheduled task module 410 The scheduled task module 410 is mainly responsible for interacting with the database module 420 and the alarm processing module 430 .

[0099] In the example embodiment, each game project starts a scheduled task separately. The scheduled task will read the alarm rules of the corresponding game project from the database and scan the alarm data or alarm problems under each alarm rule. Then the scheduled task module 410 interacts with the alarm processing module 430, and transmits the drill-down dimensions, indicators, thresholds and other information configured in the alarm rules to the alarm processing module 430. After the alarm processing module 430 is executed, the result returned by the alarm processing module 430 (i.e., alarm data or alarm problem) will be received, and the alarm data will be written into the database.

[0100] After the alarm problem scan is completed, the timing task module 410 will call the alarm data merging unit 434 in the alarm processing module 430 again to merge the alarm data in the time period scanned previously to obtain the final alarm data or alarm problem.

[0101] according to Figure 4 The technical solution in the example embodiment can meet the quasi-real-time requirements of the game development team. The performance data monitoring device 400 opens a thread for each game project. Each thread is responsible for periodically scanning the performance data log uploaded by the game client of the corresponding game project, and executing the alarm algorithm to scan out the problematic dimensions and corresponding sampling points and other information. The game development team can see the scanned results through the front-end page.

[0102] At the same time, the performance data monitoring device 400 can also meet the game team's requirements for the configurability of alarm rules. The performance data monitoring device 400 has a special scanning rule adding and editing module, which can configure information such as drill-down dimensions and scanning thresholds; at the same time, the performance data monitoring device 400 also supports the configuration of multiple alarm rules, and can set whether the alarm rule is enabled. Only when it is enabled, the thread will scan the performance data according to this alarm rule and generate an alarm problem.

[0103] The performance data monitoring device 400 supports the merging of alarm data with dimension inclusion relationships. The alarm scan of the performance data monitoring device 400 obtains the dimension information of the highest level that needs to be alarmed. If there is no alarm problem in the top level of a certain dimension, it does not mean that there is no problem in its lower level; similarly, if there is a problem in a certain bottom-level dimension, there may also be a problem in its upper-level dimension. Therefore, if there are problems in the lower level and the lower-lower level of a certain dimension, and there is no problem in the current dimension, then the last dimension to alarm is the lower-level dimension.

[0104] The performance data monitoring device 400 supports merging alarm data of the same dimension at multiple times. Since some dimensions may have problems for multiple consecutive time periods, and alarms for these consecutive time periods are not representative, many redundant alarms will appear. Therefore, the performance data monitoring device 400 will merge these consecutive alarms, and what you see in the end is the merged alarm information, that is, the alarm problem at the last time point in the consecutive moments.

[0105] It should be noted that the above figures are only schematic illustrations of the processes included in the method according to the exemplary embodiment of the present disclosure, and are not intended to be limiting. It is easy to understand that the processes shown in the above figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.

[0106] The following introduces an embodiment of the device of the present disclosure, which can be used to execute the above-mentioned performance data monitoring method of the present disclosure.

[0107] Figure 5 A schematic structural diagram of a performance data monitoring device according to an embodiment of the present disclosure is shown.

[0108] Reference Figure 5 As shown, the performance data monitoring device 500 for a game client includes: a performance data acquisition module 510, used to acquire the performance data of each dimension of multiple dimensions reported by the game client; an alarm data determination module 520, used to scan the performance data according to preset alarm rules to obtain the alarm data of each dimension that satisfies the preset alarm rules; and a merging processing module 530, used to determine redundant alarm data in the alarm data and merge the redundant alarm data.

[0109] In some example embodiments, the redundant alarm data includes identical alarm data in at least two dimensions, and the at least two dimensions have a dimensional containment relationship. The merging processing module 530 is also used to: determine the alarm data of the previous layer of the alarm data of the current layer by traversing layer by layer from bottom to top according to the hierarchical relationship of the multiple dimensions; determine the identical alarm data between the alarm data of the current layer and the alarm data of the previous layer; and deduplicate the identical alarm data.

[0110] In some example embodiments, the redundant alarm data includes the same alarm data of multiple time periods in the same dimension, and the merging processing module 530 is also used to: determine the total continuous existence time of the alarm data according to whether the alarm data of the same dimension exists in the previous time period of the current time period; and merge the same alarm data of the same dimension within the total continuous existence time.

[0111] In some example embodiments, the merging of the same alarm data of the same dimension within the total continuous existence time includes: modifying the alarm state of the same alarm data of the same dimension within the total continuous existence time to a multi-time period merged state.

[0112] In some example embodiments, the alarm status of the alarm data also includes one or more of a system shielding status, an unprocessed status, and an ignored status, wherein the system shielding status indicates that the alarm data is shielded; the unprocessed status indicates that the alarm data requires alarm processing; and the ignored status indicates that the alarm data has been ignored.

[0113] In some example embodiments, the alarm status of the alarm data includes a system shielding status and an unprocessed status, and the device 500 further includes: a status modification module, which is used to modify the alarm status of the alarm data to the unprocessed status if the alarm status of the alarm data is the system shielding status and the total duration of the alarm data is greater than a predetermined threshold.

[0114] In some example embodiments, the alarm status of the alarm data includes an unprocessed status and an ignored status, and the device 500 further includes: a same dimension data determination module, used to determine multiple identical predetermined alarm data that are in an unprocessed status and an ignored status within a predetermined time, and determine the predetermined alarm data of the same dimension in the multiple identical predetermined alarm data; a same dimension data processing module, used to merge the predetermined alarm data of the same dimension.

[0115] In some example embodiments, the alarm data determination module 520 is further used to: scan the performance data in the performance data table according to preset alarm rules in the preset alarm rule table; and obtain the alarm data corresponding to each dimension that satisfies the preset alarm rules according to the scanning results.

[0116] In some example embodiments, the performance data acquisition module 510 is further used to: periodically acquire performance data of each dimension in multiple dimensions reported by the client in a predetermined time period; and calculate the average value of the performance data in each dimension in the predetermined time period.

[0117] Since the various functional modules of the performance data monitoring device of the example embodiment of the present disclosure correspond to the steps of the example embodiment of the performance data monitoring method described above, for details not disclosed in the embodiment of the device of the present disclosure, please refer to the embodiment of the performance data monitoring method described above in the present disclosure.

[0118] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0119] In addition, although the steps of the method in the present disclosure are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.

[0120] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the implementation of the present disclosure.

[0121] In the exemplary embodiments of the present disclosure, a computer storage medium capable of implementing the above method is also provided. A program product capable of implementing the above method of the present specification is stored thereon. In some possible embodiments, various aspects of the present disclosure may also be implemented in the form of a program product, which includes a program code. When the above program product is run on a terminal device, the above program code is used to enable the above terminal device to execute the steps according to various exemplary embodiments of the present disclosure described in the above “Exemplary Method” section of the present specification.

[0122] The program product may be in a portable compact disk read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.

[0123] The above program product can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but not limited to, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0124] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0125] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.

[0126] Program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0127] In addition, in an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.

[0128] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods or program products. Therefore, various aspects of the present disclosure may be specifically implemented in the following forms, namely: complete hardware implementation, complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as "circuits", "modules" or "systems".

[0129] Refer to the following Figure 6 The electronic device 600 according to this embodiment of the present disclosure is described. Figure 6 The electronic device 600 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0130] like Figure 6As shown, the electronic device 600 is in the form of a general computing device. The components of the electronic device 600 may include but are not limited to: at least one processing unit 610, at least one storage unit 620, and a bus 630 connecting different system components (including the storage unit 620 and the processing unit 610).

[0131] The storage unit stores program codes, which can be executed by the processing unit 610, so that the processing unit 610 executes the steps described in the "Exemplary Method" section of the present specification according to various exemplary embodiments of the present disclosure. For example, the processing unit 610 can execute the following steps: Figure 2 As shown in: Step S210, obtaining performance data of each dimension of multiple dimensions reported by the game client; Step S220, scanning the performance data according to the preset alarm rules to obtain the alarm data of each dimension that meets the preset alarm rules; Step S230, determining the redundant alarm data in the alarm data, and merging the redundant alarm data.

[0132] Exemplarily, the processing unit 610 may also execute the performance data monitoring method in the above-mentioned embodiment.

[0133] The storage unit 620 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 6201 and / or a cache memory unit 6202 , and may further include a read-only memory unit (ROM) 6203 .

[0134] The storage unit 620 may also include a program / utility 6204 having a set (at least one) of program modules 6205, such program modules 6205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0135] Bus 630 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0136] The electronic device 600 may also communicate with one or more external devices 690 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 600, and / or communicate with any device that enables the electronic device 600 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 650. Furthermore, the electronic device 600 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 660. As shown, the network adapter 660 communicates with other modules of the electronic device 600 via a bus 630. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.

[0137] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation of the present disclosure.

[0138] In addition, the above-mentioned figures are only schematic illustrations of the processes included in the method according to the exemplary embodiments of the present disclosure, and are not intended to be limiting. It is easy to understand that the processes shown in the above-mentioned figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.

[0139] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary technical means in the art that are not disclosed in the present disclosure. The specification and examples are to be considered as exemplary only, and the true scope and spirit of the present disclosure are indicated by the claims.

Claims

1. A performance data monitoring method for a game client, characterized in that: The method comprises: Obtaining performance data of each of the multiple dimensions reported by the game client, the dimensions of the performance data including but not limited to: country, region, system platform, model, game image quality classification, game scene, game engine version, game resource version, and there is a hierarchical relationship between the dimensions; the performance data of each dimension including but not limited to: transmission frame rate per second, memory usage, network delay; Scan the performance data according to the preset alarm rules to obtain alarm data of various dimensions that meet the preset alarm rules; The alarm data of each dimension in the multiple dimensions are traversed to determine the redundant alarm data in the alarm data, and the redundant alarm data are merged or deduplicated; the redundant alarm data includes multiple identical alarm data in the multiple dimensions or multiple identical alarm data in multiple time periods of the same dimension.

2. The method according to claim 1, characterized in that The redundant alarm data includes the same alarm data in at least two dimensions, the at least two dimensions have a dimension inclusion relationship, and the determining the redundant alarm data in the alarm data and merging the redundant alarm data includes: According to the hierarchical relationship of the multiple dimensions, the alarm data of the previous layer of the alarm data of the current layer is determined by traversing layer by layer from bottom to top; Determine the same alarm data in the alarm data of the current layer and the alarm data of the previous layer; Deduplication processing is performed on the identical alarm data.

3. The method according to claim 1, characterized in that The redundant alarm data includes the same alarm data in multiple time periods of the same dimension, and the determining the redundant alarm data in the alarm data and merging the redundant alarm data includes: Determine the total duration of the alarm data according to whether the alarm data of the same dimension exists in the previous time period of the current time period; The same alarm data of the same dimension within the total persistence time are merged and processed.

4. The method according to claim 3, characterized in that The merging of the same alarm data of the same dimension within the total persistence time includes: The alarm status of the same alarm data in the same dimension within the total persistence time is modified to a multi-time period merged state.

5. The method according to claim 4, characterized in that The alarm status of the alarm data also includes one or more of a system shielding status, an unprocessed status, and an ignored status. The system shielding status indicates that the alarm data is shielded; the unprocessed status indicates that the alarm data needs to be processed; and the ignored status indicates that the alarm data has been ignored.

6. The method according to claim 5, characterized in that The alarm status of the alarm data includes a system shielding state and an unprocessed state, and the method further includes: If the alarm state of the alarm data is a system shielding state, and the total duration of the alarm data is greater than a predetermined threshold, the alarm state of the alarm data is modified to the unprocessed state.

7. The method according to claim 5, characterized in that The alarm status of the alarm data includes an unprocessed state and an ignored state, and the method further includes: Determine a plurality of identical predetermined alarm data that are in an unprocessed state and an ignored state within a predetermined time; Determining predetermined alarm data of the same dimension among the plurality of identical predetermined alarm data; The scheduled alarm data of the same dimension are merged and processed.

8. The method according to any one of claims 1 to 7, characterized in that The scanning of the performance data according to the preset alarm rules to obtain the alarm data of various dimensions satisfying the preset alarm rules includes: Scan the performance data in the performance data table according to the preset alarm rules in the preset alarm rule table; The alarm data corresponding to each dimension that meets the preset alarm rule is obtained according to the scanning result.

9. The method according to any one of claims 1 to 7, characterized in that The obtaining performance data of each dimension of the multiple dimensions reported by the game client includes: Periodically obtain performance data of each dimension in multiple dimensions reported by the client in a predetermined time period; The average value of the performance data in each dimension during the predetermined time period is calculated.

10. A performance data monitoring device for a game client, characterized in that: The device comprises: A performance data acquisition module is used to acquire performance data of each dimension in multiple dimensions reported by the game client, wherein the dimensions of the performance data include but are not limited to: country, region, system platform, machine type, game image quality classification, game scene, game engine version, game resource version, and there is a hierarchical relationship between the dimensions; the performance data of each dimension include but are not limited to: transmission frame rate per second, memory usage, and network delay; An alarm data determination module, used to scan the performance data according to preset alarm rules to obtain alarm data of various dimensions that meet the preset alarm rules; A merging and processing module is used to traverse the alarm data of each dimension in the multiple dimensions, determine the redundant alarm data in the alarm data, and merge or deduplicate the redundant alarm data; the redundant alarm data includes multiple identical alarm data under the multiple dimensions or multiple identical alarm data in multiple time periods of the same dimension.

11. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the performance data monitoring method according to any one of claims 1 to 9 is implemented.

12. An electronic device, characterized in that: include: one or more processors; A storage device for storing one or more programs, which, when executed by the one or more processors, enables the one or more processors to implement the performance data monitoring method as described in any one of claims 1 to 9.

Citation Information

Patent Citations

  • Data processing method and device, electronic equipment and storage medium

    CN109448859A

  • Application user track and performance monitoring method and device, equipment and medium

    CN110825604A

  • Business-based monitoring method and device, electronic equipment and storage medium

    CN112235162A