An application fault analysis method and device, electronic equipment and storage medium

CN116738184BActive Publication Date: 2026-09-22BEIJING TAOYOUTIANXIA TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310869237.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-14
Publication Date
2026-09-22
Estimated Expiration
2043-07-14

AI Technical Summary

Technical Problem

[0004]但是,在实际应用场景中,经常存在多个用户共享同一个账号的情况,在这种情况下,不同的用户在使用同一个账号登录时会使用不同的移动设备,因此采用现有技术的方案往往会读取到同一个账号在多个移动设备上的工作日志数据

Benefits of technology

[0058]通过获取目标终端的标识信息,并根据目标终端的标识信息获取目标终端关于目标应用程序的工作日志数据,保证获取到的每一条工作日志数据是目标终端产生的,无需人工参与对每一条工作日志数据进行分析。同时将故障分析结果输入到预设模型中输出得到对应的解决方案,相较于现有技术的方案,不仅无需人工参与分析,节省了人力资源,且能更加快速地解决异常状况,使用户不容易流失。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116738184B_ABST
    Figure CN116738184B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide an application fault analysis method and device, electronic equipment and storage medium, and relate to the technical field of computers. The method comprises: reading a preset storage device on a terminal to obtain first identification information, and obtaining working log data about a target application; obtaining account information on the target application of the target terminal; obtaining user permissions corresponding to the account information and the keyword field in each working log data, obtaining a target application fault analysis result, inputting the fault analysis result into a preset analysis model, and outputting a solution. By obtaining the identification information of the terminal and obtaining the working log data about the target application according to the identification information, it is not necessary to manually analyze each working log data. Inputting the fault analysis result into the preset model to output the corresponding solution not only saves manpower, but also enables the abnormal condition to be solved more quickly, so that the user is less likely to be lost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and more specifically, to an application fault analysis method, apparatus, electronic device, and storage medium. Background Technology

[0002] In today's world, people's daily lives are inseparable from mobile devices (such as mobile phones and tablets). People can use apps (APPs) on mobile devices for work, communication, or entertainment. However, when users use apps on mobile devices, some abnormal situations inevitably occur, such as the app crashing or a certain function in the app not working properly. At this time, it is necessary to find out the cause of these abnormal situations and resolve them.

[0003] Since most apps currently require users to log in to their accounts to use all functions, the existing technical solution is usually to read the work log data corresponding to the user account from the server, analyze this work log data, analyze the cause of the abnormal situation, and then modify the relevant code in the app's backend to resolve the abnormal situation.

[0004] However, in real-world applications, multiple users often share the same account. In such cases, different users log in using different mobile devices. Therefore, existing solutions often retrieve log data from multiple mobile devices associated with the same account. Because the retrieved log data is large and complex, it's difficult to clearly distinguish the log data for each mobile device. This often requires a large number of testers to first categorize the retrieved log data and analyze the causes of anomalies before providing feedback to developers for code modifications. This process is labor-intensive and time-consuming. If anomalies cannot be resolved quickly, it can easily lead to user churn. Summary of the Invention

[0005] The purpose of this application is to at least solve one of the aforementioned technical defects. The technical solution provided by the embodiments of this application is as follows:

[0006] In a first aspect, embodiments of this application provide an application fault analysis method, including:

[0007] The first identification information of the target terminal is obtained based on the storage information of the preset storage device on the target terminal, and at least one working log data of the target terminal regarding the target application is obtained based on the first identification information.

[0008] Obtain account information that is logged in on the target application on the target terminal at any given time period;

[0009] The system retrieves preset keyword fields from each work log data and obtains the first fault analysis result based on each preset keyword field. It also retrieves user permissions corresponding to account information and obtains the second fault analysis result based on user permissions. Based on the first and second fault analysis results, it obtains the target application fault analysis result and inputs the target application fault analysis result into a preset analysis model to output the corresponding solution. The preset analysis model is trained based on historical fault data samples, and each historical fault data sample carries a corresponding solution label.

[0010] In one optional embodiment of this application, obtaining the first identification information of the target terminal based on the storage information of a preset storage device on the target terminal specifically includes:

[0011] When a launch trigger operation is received for the target application, the storage information of the preset storage device on the target terminal is read.

[0012] If the first identification information is found to be stored in the preset storage device, then the first identification information is used as the first identification information of the target terminal.

[0013] If the first identification information is not stored in the preset storage device, the first feature information of the target terminal is obtained, and the first identification information of the target terminal is obtained based on the first feature information.

[0014] In one optional embodiment of this application, obtaining the first identification information of the target terminal based on the first feature information specifically includes:

[0015] The first feature information is matched with the second feature information corresponding to each second identifier information stored in the first preset database; wherein, the first preset database stores each second identifier information and the second feature information corresponding to each second identifier information;

[0016] Obtain the matching degree between each second feature information and the first feature information in the first preset database, and take the second identifier information corresponding to the second feature information with the highest matching degree and the matching degree greater than the first preset threshold as the first identifier information of the target terminal.

[0017] In one optional embodiment of this application, if no second feature information with a matching degree greater than a first preset threshold exists, the first identification information of the target terminal is obtained, specifically including:

[0018] A prompt message is sent to the target terminal so that the target terminal generates third identification information based on the prompt message; wherein, the prompt message indicates that there is no second identification information matching the target terminal in the first preset database;

[0019] Obtain the third identification information and use the third identification information as the first identification information of the target terminal.

[0020] In one optional embodiment of this application, the first fault analysis result is obtained based on each preset keyword field, specifically including:

[0021] For each work log data entry containing a preset keyword field, the corresponding third fault analysis result is obtained based on the preset keyword field; where each preset keyword field has a corresponding preset third fault analysis result.

[0022] The results of the third fault analysis are combined to obtain the first fault analysis result.

[0023] In one optional embodiment of this application, obtaining user permissions corresponding to account information specifically includes:

[0024] The user type corresponding to the account information is determined from each of the second preset databases based on the account information, and the user permissions are determined based on the user type; wherein, the second preset database stores the user characteristics corresponding to each account information, and the user characteristics are used to characterize the user type.

[0025] In one optional embodiment of this application, the preset analysis model is obtained in the following way:

[0026] Obtain an initial analysis model, and iteratively perform the following training operations on the initial analysis model based on each historical fault data sample until the training loss is less than a second preset threshold, to obtain the fault location analysis model, including:

[0027] Input each historical fault data sample into the initial analysis model, and output the solution corresponding to each historical fault data sample;

[0028] Based on the solutions and solution labels of each historical fault data sample, the training loss is determined by a preset loss function.

[0029] The model parameters of the initial analysis model are adjusted using the training loss.

[0030] Secondly, embodiments of this application provide an application fault analysis apparatus, comprising:

[0031] The log data acquisition module is used to acquire the first identification information of the target terminal based on the storage information of the preset storage device on the target terminal, and to acquire at least one working log data of the target terminal about the target application in any time period based on the first identification information.

[0032] The account information acquisition module is used to acquire account information that is logged in on the target application on the target terminal at any given time period;

[0033] The fault analysis module is used to obtain preset keyword fields from each work log data, and obtain the first fault analysis result based on each preset keyword field. It also obtains the user permissions corresponding to the account information and obtains the second fault analysis result based on the user permissions. Based on the first and second fault analysis results, it obtains the fault analysis result of the target application and inputs the fault analysis result of the target application into the preset analysis model to output the corresponding solution. The preset analysis model is trained based on historical fault data samples, and each historical fault data sample carries a corresponding solution label.

[0034] In one optional embodiment of this application, the log data acquisition module is specifically used for:

[0035] When a launch trigger operation is received for the target application, the storage information of the preset storage device on the target terminal is read.

[0036] If the first identification information is found to be stored in the preset storage device, then the first identification information is used as the first identification information of the target terminal.

[0037] If the first identification information is not stored in the preset storage device, the first feature information of the target terminal is obtained, and the first identification information of the target terminal is obtained based on the first feature information.

[0038] In an optional embodiment of this application, the log data acquisition module is further configured to:

[0039] The first feature information is matched with the second feature information corresponding to each second identifier information stored in the first preset database; wherein, the first preset database stores each second identifier information and the second feature information corresponding to each second identifier information;

[0040] Obtain the matching degree between each second feature information and the first feature information in the first preset database, and take the second identifier information corresponding to the second feature information with the highest matching degree and the matching degree greater than the first preset threshold as the first identifier information of the target terminal.

[0041] In one optional embodiment of this application, the log data acquisition module can also be used for:

[0042] A prompt message is sent to the target terminal so that the target terminal generates third identification information based on the prompt message; wherein, the prompt message indicates that there is no second identification information matching the target terminal in the first preset database;

[0043] Obtain the third identification information and use the third identification information as the first identification information of the target terminal.

[0044] In one optional embodiment of this application, the fault analysis module is specifically used for:

[0045] For each work log data entry containing a preset keyword field, the corresponding third fault analysis result is obtained based on the preset keyword field; where each preset keyword field has a corresponding preset third fault analysis result.

[0046] The results of the third fault analysis are combined to obtain the first fault analysis result.

[0047] In one optional embodiment of this application, the fault analysis module may also be used for:

[0048] The user type corresponding to the account information is determined from each of the second preset databases based on the account information, and the user permissions are determined based on the user type; wherein, the second preset database stores the user characteristics corresponding to each account information, and the user characteristics are used to characterize the user type.

[0049] In an optional embodiment of this application, the fault analysis module is further configured to:

[0050] Obtain an initial analysis model, and iteratively perform the following training operations on the initial analysis model based on each historical fault data sample until the training loss is less than a second preset threshold, to obtain the fault location analysis model, including:

[0051] Input each historical fault data sample into the initial analysis model, and output the solution corresponding to each historical fault data sample;

[0052] Based on the solutions and solution labels of each historical fault data sample, the training loss is determined by a preset loss function.

[0053] The model parameters of the initial analysis model are adjusted using the training loss.

[0054] Thirdly, embodiments of this application provide an electronic device, including a memory, a processor, and a computer program stored in the memory;

[0055] The processor executes a computer program to implement the method provided in the first aspect embodiment or any alternative embodiment of the first aspect.

[0056] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the method provided in the first aspect embodiment or any optional embodiment of the first aspect.

[0057] The beneficial effects of the technical solutions provided in this application are:

[0058] By acquiring the target terminal's identification information and using this information to obtain the target terminal's work log data related to the target application, it ensures that each piece of work log data was generated by the target terminal, eliminating the need for manual analysis of each log entry. Simultaneously, the fault analysis results are input into a preset model to output corresponding solutions. Compared to existing technologies, this approach not only eliminates the need for manual analysis, saving manpower, but also resolves anomalies more quickly, reducing user churn. Attached Figure Description

[0059] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below.

[0060] Figure 1 A flowchart illustrating an application fault analysis method provided in this application embodiment;

[0061] Figure 2 This is a flowchart illustrating a method for obtaining first identification information in an example of an embodiment of this application.

[0062] Figure 3 This is a schematic diagram illustrating reading user characteristics based on account information and reading work log data based on the first identification information of the target terminal in one example of an embodiment of this application;

[0063] Figure 4 A structural block diagram of an application fault analysis device provided in this application embodiment;

[0064] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0065] The embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the embodiments described below with reference to the accompanying drawings are exemplary descriptions for explaining the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions of the embodiments of this application.

[0066] Those skilled in the art will understand that, unless specifically stated otherwise, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. It should be further understood that the terms “comprising” and “including” as used in embodiments of this application mean that the corresponding feature can be implemented as the presented feature, information, data, step, operation, element, and / or component, but do not exclude implementation as other features, information, data, step, operation, element, component, and / or combinations thereof supported by the art. It should be understood that when we say that an element is “connected” or “coupled” to another element, the one element can be directly connected or coupled to the other element, or it can mean that the one element and the other element establish a connection relationship through an intermediate element. Furthermore, “connected” or “coupled” as used herein can include wireless connection or wireless coupling. The term “and / or” as used herein indicates at least one of the items defined by the term; for example, “A and / or B” can be implemented as “A,” or as “B,” or as “A and B.”

[0067] 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.

[0068] The technical solutions of this application and their effects are described below through several exemplary embodiments. It should be noted that the following embodiments can be referenced, borrowed from, or combined with each other. Identical terms, similar features, and similar implementation steps in different embodiments will not be repeated.

[0069] Figure 1 This application provides a flowchart illustrating an application fault analysis method, the execution entity of which can be a server, such as... Figure 1 As shown, the method may include:

[0070] Step S101: Obtain the first identification information of the target terminal based on the storage information of the preset storage device on the target terminal, and obtain at least one working log data of the target terminal regarding the target application in any time period based on the first identification information.

[0071] The target terminal can be a mobile device currently being used by the user. The default storage device is the device on the target terminal used to store the identification information. For example, an Android mobile device can use an SD card (Secure Digital Memory Card) as the default storage device, while an iOS (iPhone Operating System) mobile device can use a keychain. The first identification information can also be called UDID (Unique Device Identifier), which is a unique identifier for each mobile device; that is, the first identification information of each mobile device is different and is used to locate each mobile device. The target application can be any application installed on the target terminal. The work log data can be a record of user operations and data transmission changes. The content of the work log data can include changes to the front-end interface of the target application and modifications to back-end data.

[0072] Specifically, since it is necessary to filter out the work log data related to the target terminal, the target terminal must first be identified. This solution utilizes the unique UDID (i.e., first identification information) of each mobile device. By obtaining the first identification information of the target terminal, the target terminal can be identified. After obtaining the first identification information of the target terminal, the work log data of the target terminal can be obtained based on the first identification information. Specifically, since all requests from the target terminal carry its own first identification information and write it to cookies (small text files), the work log data containing the first identification information of the target terminal can be used as the target terminal's work log data. Then, work log data for the target application is selected from the target terminal's work log data within a custom time period, thus obtaining at least one work log data entry for the target application from the target terminal within any custom time period.

[0073] Step S102: Obtain account information that is logged in on the target application of the target terminal at any given time period.

[0074] Among them, the account information can be the account information of the target application. Currently, most applications require users to log in with their own accounts. The account information contains the user's identification information. Optionally, the server can obtain the corresponding account information through the user's identification information.

[0075] Specifically, since different users may cause application failures for different reasons, it is necessary to identify the users who are using the target application on the target terminal during the same period. Specifically, this can be done by obtaining the account information of those who are logged in on the target application on the target terminal during that period.

[0076] Step S103: Obtain the preset keyword fields in each work log data, and obtain the first fault analysis result based on each preset keyword field; obtain the user permissions corresponding to the account information, and obtain the second fault analysis result based on the user permissions; obtain the target application fault analysis result based on the first and second fault analysis results, and input the target application fault analysis result into the preset analysis model to output the corresponding solution; wherein, the preset analysis model is trained based on historical fault data samples, and each historical fault data sample carries a corresponding solution label.

[0077] The preset keywords can be manually set based on potential fault causes. The first fault analysis result characterizes the fault causes represented by the work log data within the custom time period. User permissions are determined by account information; different users have different permissions based on their account information. The second fault analysis result characterizes the fault causes that user permissions may lead to. The target application fault analysis result is obtained by combining the first and second fault analysis results to determine the specific cause of the fault. The preset analysis model is used to obtain corresponding solutions based on the fault analysis results. The input of this model can be the fault analysis cause, and the output can be the solution corresponding to that fault analysis cause. Historical data samples represent historical fault analysis results, and the corresponding solution tags are the solutions corresponding to those fault analysis results.

[0078] Specifically, this embodiment can identify whether each work log data entry of the target terminal contains a preset keyword field. If it does, the corresponding first fault analysis result can be determined based on the preset keyword field. This embodiment can also obtain user permissions corresponding to account information and then determine a second fault analysis result based on those permissions. For example, when a user's credit score is insufficient, the user can be prevented from using certain credit-related functions. Then, the first fault analysis result obtained from the work log data and the second fault analysis result obtained from the user permissions are combined to obtain the final target application fault analysis result. This result is then input into a preset analysis model, which outputs a corresponding solution based on the input target application fault analysis result.

[0079] The solution provided in this application obtains the target terminal's identification information and, based on this information, retrieves the target terminal's work log data related to the target application. This ensures that each piece of work log data is generated by the target terminal, eliminating the need for manual analysis of each log entry. Simultaneously, the fault analysis results are input into a preset model to output a corresponding solution. Compared to existing solutions, this approach not only eliminates the need for manual analysis, saving manpower, but also resolves anomalies more quickly, reducing user churn.

[0080] In one optional embodiment of this application, obtaining the first identification information of the target terminal based on the storage information of a preset storage device on the target terminal specifically includes:

[0081] When a launch trigger operation is received for the target application, the storage information of the preset storage device on the target terminal is read.

[0082] If the first identification information is found to be stored in the preset storage device, then the first identification information is used as the first identification information of the target terminal.

[0083] If the first identification information is not stored in the preset storage device, the first feature information of the target terminal is obtained, and the first identification information of the target terminal is obtained based on the first feature information.

[0084] Among them, the first feature information can be used to characterize the features of the target terminal. Specifically, it can be determined by factors such as the target terminal's model, processor, and memory.

[0085] Specifically, the first identification information is generally stored in a preset storage device of the target terminal. Therefore, the existence of the first identification information of the target terminal can be determined by reading the stored information of the preset storage device. If the first identification information is stored in the preset storage device, it is directly used as the first identification information of the target terminal. At the same time, the first identification information of the target terminal can be stored (if the first identification information of the target terminal is already stored and is different from the first identification information read this time, the first identification information read this time replaces the original stored first identification information); if the first identification information is not stored in the preset storage device, the first feature information of the target terminal can be obtained from the preset storage device, and then the first identification information of the target terminal can be obtained based on the first feature information.

[0086] In one optional embodiment of this application, obtaining the first identification information of the target terminal based on the first feature information specifically includes:

[0087] The first feature information is matched with the second feature information corresponding to each second identifier information stored in the first preset database; wherein, the first preset database stores each second identifier information and the second feature information corresponding to each second identifier information;

[0088] Obtain the matching degree between each second feature information and the first feature information in the first preset database, and take the second identifier information corresponding to the second feature information with the highest matching degree and the matching degree greater than the first preset threshold as the first identifier information of the target terminal.

[0089] The second identification information can be manually input identification information of currently known mobile devices. The second feature information can be used to characterize the characteristics of currently known target terminals. The first preset database is used to store the correspondence between each piece of second identification information and each piece of feature information. The first preset threshold can characterize whether the degree of matching between the second feature information and the first feature information meets preset conditions.

[0090] Specifically, when the preset storage device does not store the first identification information, the feature information of each known mobile device stored in the first preset database can be compared one by one with the feature information of the target terminal. The identification information corresponding to the feature information of the mobile device with the closest comparison result is used as the identification information of the target terminal. Specifically, the first feature information of the target terminal can be matched with the second feature information of each mobile device stored in the first preset database. The matching degree between the second feature information and the first feature information of each mobile device can be calculated. Then, it is determined whether the highest matching degree exceeds a first preset threshold. If it exceeds the first preset threshold, it can be considered that there is a mobile device in the first preset database that is the same as the target terminal, and the second identification information corresponding to the second feature information with the highest matching degree is used as the first identification information of the target terminal.

[0091] In one optional embodiment of this application, if no second feature information with a matching degree greater than a first preset threshold exists, the first identification information of the target terminal is obtained, specifically including:

[0092] A prompt message is sent to the target terminal so that the target terminal generates third identification information based on the prompt message; wherein, the prompt message indicates that there is no second identification information matching the target terminal in the first preset database;

[0093] Obtain the third identification information and use the third identification information as the first identification information of the target terminal.

[0094] The third identification information can be generated by the target terminal itself. When it is stored in the first preset database on the same mobile device as the target terminal, the target terminal can regenerate the new identification information itself.

[0095] Specifically, if the highest matching degree does not exceed the first preset threshold, it can be assumed that there is no mobile device in the first preset database that is the same as the target terminal. Therefore, a prompt message can be sent to the target terminal that there is no mobile device in the first preset database that is the same as the target terminal. After receiving the prompt message, the target terminal can generate new third identification information, and then store the third identification information as the first identification information in the preset storage device. The server also sets a corresponding relationship between the first identification information and the target terminal and stores it.

[0096] In summary, such as Figure 2 As shown, the target terminal first identification information acquisition scheme provided in this application can be summarized as follows:

[0097] When the target terminal launches the target application, the server reads whether first identification information exists on the target terminal's preset storage device. If first identification information exists, the server updates the stored first identification information of the target terminal based on the read first identification information and uses the read first identification information as the target terminal's first identification information. If first identification information does not exist, the server obtains the terminal's first feature information and then searches the first preset database for second feature information that has the highest matching degree with the first feature information and a matching degree greater than the first preset threshold. If it exists, the server uses the second identification information corresponding to the second feature information as the target terminal's first identification information and stores it. If it does not exist, the server informs the target terminal and causes the target terminal to generate third identification information itself, and uses the third identification information as the target terminal's first identification information and stores it.

[0098] In one optional embodiment of this application, the first fault analysis result is obtained based on each preset keyword field, specifically including:

[0099] For each work log data entry containing a preset keyword field, the corresponding third fault analysis result is obtained based on the preset keyword field; where each preset keyword field has a corresponding preset third fault analysis result.

[0100] The results of the third fault analysis are combined to obtain the first fault analysis result.

[0101] The third fault analysis result has a pre-defined relationship with the preset keyword field. The corresponding third fault analysis result can be determined by obtaining the preset keyword. In this embodiment, the code contained in each third fault analysis result can be used as the preset keyword.

[0102] Specifically, since there are multiple work log data entries, preset keywords can be extracted from each work log data entry, and the third fault analysis result corresponding to each work log data entry can be determined based on the extracted preset keywords. Finally, the third fault analysis results of all work log data entries are combined to obtain the first fault analysis result.

[0103] In one optional embodiment of this application, obtaining user permissions corresponding to account information specifically includes:

[0104] The user type corresponding to the account information is determined from each of the second preset databases based on the account information, and the user permissions are determined based on the user type; wherein, the second preset database stores the user characteristics corresponding to each account information, and the user characteristics are used to characterize the user type.

[0105] User characteristics can represent the personal information of the user of the account, such as name, age, credit score, etc. The second preset database is used to store the user characteristics of each account. The user type of each account can be determined through the user characteristics. For example, if the credit score of an account is less than a certain preset value, the user type of the account can be considered as a high-risk user.

[0106] Specifically, for different accounts, the user type of the account can be determined by reading the user characteristics stored in the second preset database, and then the permissions of the account can be determined according to the user type. For example, when it is determined that the user type of an account is a high-risk user, some of the user's operation permissions can be restricted, such as prohibiting the user from making purchases or adding friends.

[0107] like Figure 3As shown, the server can read the user's identity document (ID) from the account information, and then retrieve the user characteristics of that account from various second-preset databases based on the identity document ID. The types of these second-preset databases can include, but are not limited to, MySQL (My Structured Query Language, relational database), Redis (Remote Dictionary Server), Pika (a Redis-like storage system), etc. It can also retrieve the account's work log data from Sentry (log monitoring) and ClickHouse (Click Stream, Data WareHouse, a high-performance online analytical processing database) based on the identity document ID. The server can also read the target terminal's log information from nginx (a server used for reverse proxy) or read the work log data belonging to the target terminal from ClickHouse using the target terminal's first identity document UDID.

[0108] In one optional embodiment of this application, the preset analysis model is obtained in the following way:

[0109] Obtain an initial analysis model, and iteratively perform the following training operations on the initial analysis model based on each historical fault data sample until the training loss is less than a second preset threshold, to obtain the fault location analysis model, including:

[0110] Input each historical fault data sample into the initial analysis model, and output the solution corresponding to each historical fault data sample;

[0111] Based on the solutions and solution labels of each historical fault data sample, the training loss is determined by a preset loss function.

[0112] The model parameters of the initial analysis model are adjusted using the training loss.

[0113] The initial analysis model can be an existing algorithm model; in this embodiment, for example, the Chatgpt (Chat Generative Pre-trained Transformer) model can be used. The preset loss function is used to calculate the difference between the model's output solution and the solution label during training. The training loss can be used to characterize the difference between the model's output solution and the solution label during training. The second preset threshold is used to characterize whether the difference between the model's output and the solution label after training has met the target requirements.

[0114] Specifically, the acquired historical fault data samples are sequentially input into the initial analysis model. Each time, the solution corresponding to the currently input historical fault data sample is output. Then, the solution and its corresponding label are input into a preset loss function to calculate the training loss for this training. When the training loss is less than a second preset threshold, the model obtained after this training is considered to have met the requirements, and training can stop. If the training loss is not less than the second preset threshold, the model obtained after this training is considered not to have met the requirements, and the model parameters need to be further adjusted based on the training loss obtained in this training. Then, other historical fault data samples are input into the model again for training.

[0115] Figure 4 A structural block diagram of an application fault analysis device provided in this application embodiment is shown below. Figure 4 As shown, the application fault analysis device 400 may include: a log data acquisition module 401, an account information acquisition module 402, and a fault analysis module 403, wherein,

[0116] The log data acquisition module 401 is used to acquire the first identification information of the target terminal based on the storage information of the preset storage device on the target terminal, and to acquire at least one working log data of the target terminal about the target application in any time period based on the first identification information.

[0117] The account information acquisition module 402 is used to acquire account information that is logged in on the target application of the target terminal at any given time period;

[0118] The fault analysis module 403 is used to obtain preset keyword fields in each work log data, and obtain a first fault analysis result based on each preset keyword field. It also obtains the user permissions corresponding to the account information and obtains a second fault analysis result based on the user permissions. Based on the first and second fault analysis results, it obtains the target application fault analysis result and inputs the target application fault analysis result into a preset analysis model to output the corresponding solution. The preset analysis model is trained based on historical fault data samples, and each historical fault data sample carries a corresponding solution label.

[0119] The solution provided in this application obtains the target terminal's identification information and, based on this information, retrieves the target terminal's work log data related to the target application. This ensures that each piece of work log data is generated by the target terminal, eliminating the need for manual analysis of each log entry. Simultaneously, the fault analysis results are input into a preset model to output a corresponding solution. Compared to existing solutions, this approach not only eliminates the need for manual analysis, saving manpower, but also resolves anomalies more quickly, reducing user churn.

[0120] In one optional embodiment of this application, the log data acquisition module is specifically used for:

[0121] When a launch trigger operation is received for the target application, the storage information of the preset storage device on the target terminal is read.

[0122] If the first identification information is found to be stored in the preset storage device, then the first identification information is used as the first identification information of the target terminal.

[0123] If the first identification information is not stored in the preset storage device, the first feature information of the target terminal is obtained, and the first identification information of the target terminal is obtained based on the first feature information.

[0124] In an optional embodiment of this application, the log data acquisition module is further configured to:

[0125] The first feature information is matched with the second feature information corresponding to each second identifier information stored in the first preset database; wherein, the first preset database stores each second identifier information and the second feature information corresponding to each second identifier information;

[0126] Obtain the matching degree between each second feature information and the first feature information in the first preset database, and take the second identifier information corresponding to the second feature information with the highest matching degree and the matching degree greater than the first preset threshold as the first identifier information of the target terminal.

[0127] In one optional embodiment of this application, the log data acquisition module can also be used for:

[0128] A prompt message is sent to the target terminal so that the target terminal generates third identification information based on the prompt message; wherein, the prompt message indicates that there is no second identification information matching the target terminal in the first preset database;

[0129] Obtain the third identification information and use the third identification information as the first identification information of the target terminal.

[0130] In one optional embodiment of this application, the fault analysis module is specifically used for:

[0131] For each work log data entry containing a preset keyword field, the corresponding third fault analysis result is obtained based on the preset keyword field; where each preset keyword field has a corresponding preset third fault analysis result.

[0132] The results of the third fault analysis are combined to obtain the first fault analysis result.

[0133] In one optional embodiment of this application, the fault analysis module may also be used for:

[0134] The user type corresponding to the account information is determined from each of the second preset databases based on the account information, and the user permissions are determined based on the user type; wherein, the second preset database stores the user characteristics corresponding to each account information, and the user characteristics are used to characterize the user type.

[0135] In an optional embodiment of this application, the fault analysis module is further configured to:

[0136] Obtain an initial analysis model, and iteratively perform the following training operations on the initial analysis model based on each historical fault data sample until the training loss is less than a second preset threshold, to obtain the fault location analysis model, including:

[0137] Input each historical fault data sample into the initial analysis model, and output the solution corresponding to each historical fault data sample;

[0138] Based on the solutions and solution labels of each historical fault data sample, the training loss is determined by a preset loss function.

[0139] The model parameters of the initial analysis model are adjusted using the training loss.

[0140] The following is for reference. Figure 5 It illustrates an electronic device suitable for implementing embodiments of this application (e.g., performing...). Figure 1 The diagram shows the structure of the terminal device or server 500 of the method shown. The electronic devices in the embodiments of this application may include, but are not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle terminals (e.g., vehicle navigation terminals), wearable devices, etc., as well as fixed terminals such as digital TVs, desktop computers, etc. Figure 5 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0141] The electronic device includes a memory and a processor. The memory stores a program for executing the methods described in the various method embodiments above. The processor is configured to execute the program stored in the memory. The processor may be referred to as processing device 501 as described below. The memory may include at least one of read-only memory (ROM) 502, random access memory (RAM) 503, and storage device 508 as described below, as follows:

[0142] like Figure 5 As shown, the electronic device 500 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage device 508 into a random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of the electronic device 500. The processing unit 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0143] Typically, the following devices can be connected to I / O interface 505: input devices 506 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 507 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 508 including, for example, magnetic tapes, hard disks, etc.; and communication devices 509. Communication device 509 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 5 Electronic devices with various devices are shown, but it should be understood that it is not required to implement or have all of the devices shown. More or fewer devices may be implemented or have alternatively.

[0144] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 509, or installed from storage device 508, or installed from ROM 502. When the computer program is executed by processing device 501, it performs the functions defined in the methods of embodiments of this application.

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

[0146] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

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

[0148] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to:

[0149] The system obtains the first identification information of the target terminal based on the storage information of the preset storage device on the target terminal, and obtains at least one work log data of the target application on the target terminal in any time period based on the first identification information; obtains the account information of the account that is logged in on the target application on the target terminal in any time period; obtains the preset keyword fields in each work log data, and obtains the first fault analysis result based on each preset keyword field; obtains the user permissions corresponding to the account information, and obtains the second fault analysis result based on the user permissions; obtains the fault analysis result of the target application based on the first fault analysis result and the second fault analysis result, and inputs the fault analysis result of the target application into the preset analysis model to output the corresponding solution; wherein, the preset analysis model is trained based on historical fault data samples, and each historical fault data sample carries a corresponding solution label.

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

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

[0152] The modules or units described in the embodiments of this application can be implemented in software or hardware. The names of modules or units do not necessarily limit the specific unit; for example, a first constraint acquisition module can also be described as a "module for acquiring the first constraint".

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

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

[0155] It should be understood that although the steps in the flowcharts of the accompanying figures are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the accompanying figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.

[0156] The above description is only a partial embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. An application fault analysis method, characterized in that, include: The first identification information of the target terminal is obtained based on the storage information of the preset storage device on the target terminal, and at least one working log data of the target terminal about the target application is obtained from the preset cookies based on the first identification information. Obtain account information that is logged in on the target application of the target terminal during any given time period; The system retrieves preset keyword fields from each work log data, obtains a first fault analysis result based on each preset keyword field, retrieves user permissions corresponding to the account information, obtains a second fault analysis result based on the user permissions, obtains a target application fault analysis result based on the first and second fault analysis results, inputs the target application fault analysis result into a preset analysis model, and outputs a corresponding solution. The preset analysis model is trained based on historical fault data samples, each historical fault data sample carrying a corresponding solution label. The first fault analysis result is used to characterize the fault cause represented by the work log data within any given time period; the second fault analysis result is used to characterize the fault cause caused by user permissions. The process of obtaining the first fault analysis result based on each preset keyword field specifically includes: For each work log data entry containing a preset keyword field, the corresponding third fault analysis result is obtained based on the preset keyword field; wherein, each preset keyword field has a corresponding third fault analysis result; the preset keyword field is in code form; The first fault analysis result is obtained by combining the results of each third fault analysis.

2. The method according to claim 1, characterized in that, The step of obtaining the first identification information of the target terminal based on the storage information of the preset storage device on the target terminal includes: When a launch trigger operation is received for the target application, the storage information of the preset storage device on the target terminal is read. If the first identification information is found to be stored in the preset storage device, then the first identification information is used as the first identification information of the target terminal; If the first identification information is not stored in the preset storage device, the first feature information of the target terminal is obtained, and the first identification information of the target terminal is obtained based on the first feature information.

3. The method according to claim 2, characterized in that, The step of obtaining the first identification information of the target terminal based on the first feature information includes: The first feature information is matched with the second feature information corresponding to each second identifier information stored in the first preset database; wherein, the first preset database stores each second identifier information and the second feature information corresponding to each second identifier information; Obtain the matching degree between each second feature information in the first preset database and the first feature information, and take the second identifier information corresponding to the second feature information with the highest matching degree and the matching degree greater than the first preset threshold as the first identifier information of the target terminal.

4. The method according to claim 3, characterized in that, If no second feature information with a matching degree greater than the first preset threshold exists, obtaining the first identifier information of the target terminal includes: A prompt message is sent to the target terminal so that the target terminal generates third identification information based on the prompt message; wherein, the prompt message indicates that there is no second identification information matching the target terminal in the first preset database; The third identification information is obtained and used as the first identification information of the target terminal.

5. The method according to claim 1, characterized in that, The user permissions for obtaining the account information include: Based on the account information, the user type corresponding to the account information is determined from each of the second preset databases, and the user permissions are determined based on the user type; wherein, the second preset database stores the user characteristics corresponding to each account information, and the user characteristics are used to characterize the user type.

6. The method according to claim 1, characterized in that, The preset analysis model is obtained through the following methods: Obtain an initial analysis model, and iteratively perform the following training operations on the initial analysis model based on each historical fault data sample until the training loss is less than a second preset threshold, to obtain a fault location analysis model, including: Input each historical fault data sample into the initial analysis model, and output the solution corresponding to each historical fault data sample; The training loss is determined based on the solutions and solution labels of each historical fault data sample, using a preset loss function. The model parameters of the initial analysis model are adjusted using the training loss.

7. An application fault analysis device, characterized in that, include: The log data acquisition module is used to acquire the first identification information of the target terminal based on the storage information of the preset storage device on the target terminal, and to acquire at least one working log data of the target terminal about the target application from the preset cookies based on the first identification information. The account information acquisition module is used to acquire account information that is logged in on the target application of the target terminal during any time period. The fault analysis module is used to obtain preset keyword fields from each work log data, and obtain a first fault analysis result based on each preset keyword field; obtain user permissions corresponding to the account information, and obtain a second fault analysis result based on the user permissions; obtain a target application fault analysis result based on the first fault analysis result and the second fault analysis result; input the target application fault analysis result into a preset analysis model, and output a corresponding solution; wherein, the preset analysis model is trained based on historical fault data samples, and each historical fault data sample carries a corresponding solution label; wherein, the first fault analysis result is used to characterize the fault cause represented by the work log data in any time period; the second fault analysis result is used to characterize the fault cause caused by user permissions. The fault analysis module is specifically used for: For each work log data entry containing a preset keyword field, the corresponding third fault analysis result is obtained based on the preset keyword field; wherein, each preset keyword field has a corresponding third fault analysis result; the preset keyword field is in code form; The first fault analysis result is obtained by combining the results of each third fault analysis.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1-6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Abnormality processing method and device

    CN112988441A

  • Log collection method and device and computer equipment

    CN115225472A

  • IPTV service fault diagnosis method and device

    CN116156152A