Time delay abnormity troubleshooting method, computer equipment, storage medium and program product
By obtaining the user's query request and obtaining segmented delay data from the preset database, and performing delay exception analysis, the problem of low efficiency in delay exception detection in object storage services is solved, and fast positioning and efficient troubleshooting are achieved.
Patent Information
- Application Number
- CN202411771467.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-04
- Publication Date
- 2025-02-28
AI Technical Summary
In object storage services, when users access it through the Software Development Toolkit (SDK), when delay exceptions occur, it is difficult for the existing technology to quickly locate the links where the exception is located, resulting in low query efficiency.
Provide a delay abnormality troubleshooting method. By obtaining the user's query request, obtaining segmented delay data from the user side and the service side from the preset database, and performing delay abnormality analysis based on these data to obtain the troubleshooting results.
This method improves the query efficiency of delay abnormalities, reduces the dependence of operation and maintenance personnel, improves the convenience and efficiency of the user-side inspection, and reduces labor costs.
Smart Images

Figure CN119537439A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a method for troubleshooting delay anomalies, a computer device, a storage medium, and a program product. Background Art
[0002] Object storage service is a form of massive storage specifically for cloud computing, big data and unstructured data. It provides unlimited storage services for unstructured data (images, audio and video, text and other file formats) through the Simple Storage Service (S3) protocol and standard service interfaces. Users can access the object storage service through different network interfaces such as the public network, virtual private cloud (VPC), and dedicated lines.
[0003] Traditionally, when users access object storage services through the Software Development Kit (SDK) and encounter latency anomalies, operation and maintenance personnel are required to check the gateway, storage cluster, network, user machine and other links for anomalies in turn. The entire troubleshooting process is cumbersome and it is impossible to quickly locate which link causes the anomaly. Therefore, the query efficiency of latency anomalies is low. Summary of the invention
[0004] Based on this, it is necessary to provide a method, device, computer equipment, computer-readable storage medium and computer program product for troubleshooting latency anomalies that can efficiently query latency anomalies in response to the above technical problems.
[0005] In a first aspect, the present application provides a method for troubleshooting delay anomalies, which is applied to a user side and includes:
[0006] Obtaining a query request input by a user from a query interface corresponding to a target business process; the query request includes an identifier of the data to be queried and a query time period;
[0007] According to the query request, the to-be-queried data corresponding to the query request is obtained from a preset database corresponding to the target service process; the to-be-queried data includes the first segment delay data of the user side and / or the second segment delay data of the service side;
[0008] Perform latency anomaly analysis based on the data to be queried to obtain troubleshooting results.
[0009] In one embodiment, the preset database includes a first database on the user side and a second database on the service side. According to the query request, the to-be-queried data corresponding to the query request is obtained from the preset database corresponding to the target business process, including at least one of the following:
[0010] Acquire first segment delay data from a first database according to the query request;
[0011] The query request is forwarded to the service side, and the second segment delay data returned by the service side is received; the second segment delay data is obtained by the service side from the second database.
[0012] In one embodiment, the method of acquiring the first database includes:
[0013] Collecting first interaction data of a first request of a preset type received by a user side; the preset type includes at least an upload type and a download type;
[0014] Determine, according to the first interaction data of the first request and the preset first delay storage format, first segment delay data of the first request; the first segment delay data of the first request is used to characterize the data transmission delay of the user side;
[0015] The first segment delay data of the first request is stored in the first database.
[0016] In one embodiment, the first time delay storage format includes:
[0017] At least one of the following: request sequence number, request timestamp, request index, total request time, number of file IO operations, total file IO operation time, file IO time P99 index, file IO time P90 index, file IO time P50 index, number of network data transmissions, total network data transmission time, network data transmission time P99 index, network data transmission time P90 index, network data transmission time P50 index;
[0018] The request index is obtained based on the bucket name, object name, and method name corresponding to the request.
[0019] In a second aspect, the present application provides a method for troubleshooting latency anomalies, which is applied to the service side, including:
[0020] Upon receiving the query request sent by the user side, obtaining the second segment delay data from the second database on the service side;
[0021] The second segment delay data is sent to the user side to instruct the user side to perform delay anomaly analysis based on the first segment delay data on the user side and / or the second segment delay data on the service side to obtain a troubleshooting result.
[0022] In one embodiment, the second database is obtained by:
[0023] Collecting second interaction data of a second request of a preset type received by the service side; the preset type includes at least an upload type and a download type;
[0024] Determine the second segment delay data of the second request according to the second interaction data of the second request and the preset second delay storage format; the second segment delay data of the second request is used to characterize the data transmission delay of the service side and the interaction delay between the service side and the storage cluster;
[0025] The second segment delay data of the second request is stored in the second database.
[0026] In one embodiment, the second time delay storage format includes:
[0027] At least one of the following: request sequence number, request timestamp, request index, total request time, number of network data transmissions, total network data transmission time, network data transmission time P99 indicator, network data transmission time P90 indicator, network data transmission time P50 indicator, total time spent interacting with the metadata pool, time spent interacting with the metadata pool, total number of interactions with the data pool, total time spent interacting with the data pool, P99 indicator of interaction delay with the data pool, P90 indicator of interaction delay with the data pool, and P50 indicator of interaction delay with the data pool;
[0028] The request index is obtained based on the bucket name, object name and method name corresponding to the request; the metadata pool includes at least user information, bucket information and object information.
[0029] In a third aspect, the present application also provides a device for troubleshooting abnormal latency, which is applied to the user side and includes:
[0030] A first acquisition module is used to acquire a query request input by a user from a query interface corresponding to a target business process; the query request includes an identifier of the data to be queried and a query time period;
[0031] A second acquisition module is used to acquire, according to the query request, the to-be-queried data corresponding to the query request from a preset database corresponding to the target business process; the to-be-queried data includes the first segment delay data of the user side and / or the second segment delay data of the service side;
[0032] The analysis module is used to perform latency anomaly analysis based on the data to be queried and obtain troubleshooting results.
[0033] In a fourth aspect, the present application further provides a device for troubleshooting abnormal latency, which is applied to the service side and includes:
[0034] An acquisition module, configured to acquire the second segment delay data from a second database on the service side when receiving a query request sent by the user side;
[0035] The sending module is used to send the second segment delay data to the user side to instruct the user side to perform delay anomaly analysis based on the first segment delay data on the user side and / or the second segment delay data on the service side to obtain a troubleshooting result.
[0036] In a fifth aspect, the present application further provides a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the method for troubleshooting delay anomalies in the first aspect are implemented.
[0037] In a sixth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method for troubleshooting delay anomalies in the first aspect are implemented.
[0038] In a seventh aspect, the present application further provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the method for troubleshooting latency anomalies in the first aspect.
[0039] The above-mentioned delay anomaly troubleshooting method, device, computer equipment, storage medium and computer program product obtain a query request input by a user from a query interface corresponding to a target business process, wherein the query request includes an identifier of the data to be queried and a query time period; then, according to the query request, the data to be queried corresponding to the query request is obtained from a preset database corresponding to the target business process, including the first segmented delay data on the user side and / or the second segmented delay data on the service side; finally, a delay anomaly analysis is performed based on the data to be queried to obtain a troubleshooting result. That is to say, the troubleshooting method proposed in the embodiment of the present application not only provides a management solution for segmented delays, and performs segmented delay statistics from the user side and the service side respectively, but also provides a convenient query interface to the user side, so that the user can directly query the delay anomaly of the target business process quickly through the query interface, thereby realizing rapid troubleshooting of delay anomalies; that is, by adopting this method, there is no need to rely on operation and maintenance personnel to perform anomaly troubleshooting for different devices at different stages, which not only improves the convenience of delay anomaly troubleshooting on the user side, but also improves the troubleshooting efficiency of delay anomalies; in addition, it can also reduce the user's manual operations, reduce labor costs, and improve the intelligence and flexibility of delay anomaly troubleshooting. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0041] FIG1 is an application environment diagram of a method for troubleshooting delay anomalies in one embodiment;
[0042] FIG2 is a flow chart of a method for troubleshooting abnormal latency on a user side in one embodiment;
[0043] FIG3 is a schematic diagram of a process of obtaining a first database in one embodiment;
[0044] FIG4 is a schematic diagram of the structure of a delay processing module on the user side in one embodiment;
[0045] FIG5 is a flow chart of a method for troubleshooting delay anomalies on the service side in one embodiment;
[0046] FIG6 is a schematic diagram of a process of obtaining a second database in one embodiment;
[0047] FIG7 is a schematic diagram of the structure of a delay processing module on the service side in one embodiment;
[0048] FIG8 is a structural block diagram of a device for troubleshooting abnormal delay on the user side in one embodiment;
[0049] FIG9 is a structural block diagram of a device for troubleshooting delay anomalies on the service side in one embodiment;
[0050] FIG10 is a diagram showing the internal structure of a computer device on the user side in one embodiment;
[0051] FIG. 11 is a diagram showing the internal structure of a computer device on the service side in one embodiment. DETAILED DESCRIPTION
[0052] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0053] Object storage service is a mass storage form specifically for cloud computing, big data and unstructured data. It provides unlimited storage service for unstructured data (such as pictures, audio and video, text and other format files) through S3 protocol and standard service interface. Users can access object storage service through different network planes such as public network, virtual private cloud (VPC), dedicated line, etc. Due to the involvement of multiple components such as client, public network, intranet, gateway, storage cluster, etc., when users access object storage through software development kit (SDK) and encounter latency anomaly, they cannot quickly locate which link causes the anomaly. In related technologies, operation and maintenance personnel can only check the logs on the gateway first, eliminate the anomalies of storage cluster and gateway, then check the network, and finally check the user machine, and analyze the latency bottleneck in combination with the usage of resources (CPU, disk, etc.) of the user machine. The whole process is cumbersome and the efficiency of delay anomaly troubleshooting is extremely low.
[0054] Based on this, an embodiment of the present application proposes a management solution for end-to-end segment latency in a CEPH-based object storage system, wherein CEPH is a unified, distributed file system designed for excellent performance, reliability, and scalability.
[0055] The delay anomaly troubleshooting method provided in the embodiment of the present application can be applied to the application environment shown in Figure 1. The terminal device 102 on the user side communicates with the service device 104 on the service side through the network, and the data storage system can store data that the service device 104 needs to process, including but not limited to data uploaded by the terminal device 102. The data storage system can be integrated on the service device 104, or placed on the cloud or other service devices.
[0056] For example, the terminal device 102 may be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, IoT devices, and portable wearable devices. IoT devices may be smart speakers, smart TVs, smart air conditioners, smart car devices, etc. Portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc. The service device 104 may include, but is not limited to, one or more devices such as public network devices, intranet devices, gateway devices, storage cluster devices, etc.
[0057] In an exemplary embodiment, as shown in FIG2 , a method for troubleshooting delay anomalies is provided, which is described by taking the method applied to the user-side terminal device in FIG1 as an example, and includes the following steps 202 to 206. Among them:
[0058] Step 202: obtaining a query request input by a user from a query interface corresponding to a target business process; the query request includes an identifier of the data to be queried and a query time period.
[0059] In the terminal device, a corresponding business process can be set for each business, and each business process is used to process the relevant business events of the corresponding business. Taking one of the businesses, such as the target business, as an example, in the process of the target business process processing the target business, if the business processing efficiency is low and the business processing time is slow, the target business can be checked for delay anomalies. Exemplarily, the user can input a query request for the target business in the query interface corresponding to the target business process for the target business. The query request is used to obtain the processing data of the target business process when executing the relevant business events of the target business, that is, the data to be queried; optionally, the processing data may include but is not limited to the time-consuming data of each request and / or response during the processing.
[0060] Exemplarily, the user may input the identifier of the data to be queried and the query time period, wherein the identifier of the data to be queried may be the request type identifier of the data to be queried, such as in the field of object storage, the request type identifier may include but is not limited to upload, download, etc. In addition, the query time period may be determined by a start time and an end time, and may be used to indicate a business processing time period in which a delay anomaly occurs.
[0061] Step 204: According to the query request, obtain the to-be-queried data corresponding to the query request from the preset database corresponding to the target business process; the to-be-queried data includes the first segment delay data on the user side and / or the second segment delay data on the service side.
[0062] Exemplarily, the preset database may include a first database set on the user side, that is, a local database of the terminal device on the user side, and may also include a second database set on the service side, that is, a remote database in the service device on the service side; of course, the preset database may also include the first database on the user side and the second database on the service side.
[0063] In a first optional implementation, when the preset database only includes a first database on the user side, the first database may store first segmented delay data on the user side, and the first segmented delay data may be time-consuming data for processing the target service collected and stored by the terminal device during the processing of the target service, including but not limited to at least one of interaction data between the terminal device and the service device, processing data inside the terminal device, etc.; for example: when the target service is an upload service (such as uploading a file), the first segmented delay data on the user side may include time-consuming data for the terminal device to process the upload service, such as reading time data when the terminal device reads the file locally, sending time data when the terminal device sends the file to the service device, etc.
[0064] Optionally, the first database may also store second segment delay data of the service side, which may be time-consuming data collected by the service device during the processing of the target service. After collecting the second segment delay data, the service device may send it to the terminal device so that the terminal device stores the second segment delay data in the local first database. Continuing with the above-mentioned upload service as an example, the second segment delay data of the service side may include time-consuming data when the service side processes the upload service, such as the reception time data of the file sent by the terminal device, the writing time data when the service side stores the received file in the storage cluster, etc.
[0065] Exemplarily, in the case where the first segment delay data on the user side and the second segment delay data on the service side are stored in the first database on the user side, the terminal device can obtain the first segment delay data and the second segment delay data matching the query request from the first database based on the query request, that is, extract the first segment delay data and the second segment delay data that are identifiers of the data to be queried within the query time period from the first database. Of course, it should be noted that, in the case where the first database only includes the first segment delay data, the terminal device can obtain the first segment delay data on the user side from the first database based on the query request.
[0066] In a second optional implementation, when the preset database only includes the second database on the service side, the second database may store the second segment delay data on the service side, and of course, may also store the first segment delay data on the user side sent by the terminal device; illustratively, when the second database only includes the second segment delay data on the service side, the terminal device may send the query request to the service device on the service side to obtain the second segment delay data on the service side that matches the query request from the service device. Optionally, when the first segment delay data on the user side and the second segment delay data on the service side are stored in the second database on the service side, the terminal device may send the query request to the service device on the service side to obtain the first segment delay data and the second segment delay data that match the query request from the service device.
[0067] The specific implementation means of the second implementation method can refer to the relevant content description of the first implementation method mentioned above, and will not be repeated here.
[0068] In a third optional implementation, the preset database includes a first database on the user side and a second database on the service side, wherein the first database on the user side stores first segment delay data on the user side, and the second database on the service side stores second segment delay data on the service side; based on this, after the terminal device obtains the query request input by the user, on the one hand, it can obtain the first segment delay data from the first database according to the query request; on the other hand, it can forward the query request to the network device on the service side, and receive the second segment delay data returned by the network device on the service side, wherein the second segment delay data is obtained by the network device on the service side from the second database according to the query request.
[0069] Step 206: Perform delay anomaly analysis based on the data to be queried to obtain a troubleshooting result.
[0070] Exemplarily, after obtaining the data to be queried corresponding to the query request, the terminal device can automatically analyze the data to be queried, such as using a delay anomaly analysis algorithm to perform delay anomaly analysis on the data to be queried, thereby obtaining a troubleshooting result; wherein the troubleshooting result may include but is not limited to at least one of the data of the delay anomaly, the processing stage of the delay anomaly, the cause of the delay anomaly, and the solution to the delay anomaly.
[0071] Exemplarily, the terminal device can also output the data to be queried to the user so that the user can perform delay anomaly analysis on the data to be queried, thereby obtaining a troubleshooting result. In other implementations, user interaction and automatic analysis can also be combined to implement semi-automatic delay anomaly analysis, thereby obtaining a delay anomaly troubleshooting result.
[0072] In the above-mentioned delay anomaly troubleshooting method, the user side obtains the query request input by the user from the query interface corresponding to the target business process, and the query request includes the identifier of the data to be queried and the query time period; then, according to the query request, the data to be queried corresponding to the query request is obtained from the preset database corresponding to the target business process, including the first segment delay data on the user side and / or the second segment delay data on the service side; finally, the delay anomaly analysis is performed based on the data to be queried to obtain the troubleshooting result. That is to say, in the troubleshooting method proposed in the embodiment of the present application, not only a segment delay management scheme is provided, and segment delay statistics are performed from the user side and the service side respectively, but also a convenient query interface is provided to the user side, so that the user can directly query the delay anomaly of the target business process through the query interface quickly, thereby realizing the rapid troubleshooting of the delay anomaly; that is, by adopting this method, there is no need to rely on operation and maintenance personnel to perform anomaly troubleshooting of different devices at different stages, which not only improves the convenience of delay anomaly troubleshooting on the user side, but also improves the troubleshooting efficiency of delay anomaly; in addition, it can also reduce the manual operation of the user, reduce labor costs, and improve the intelligence and flexibility of delay anomaly troubleshooting.
[0073] In an exemplary embodiment, as shown in FIG3 , the first database may be used to store the first segment delay data of the user side, and the acquisition method of the first database may include steps 302 to 306. Among them:
[0074] Step 302: Collect first interaction data of a first request of a preset type received by the user side; the preset type includes at least an upload type and a download type.
[0075] Step 304: determine first segment delay data of the first request according to the first interaction data of the first request and a preset first delay storage format; the first segment delay data of the first request is used to characterize the data transmission delay on the user side.
[0076] Step 306: Store the first segment delay data of the first request in the first database.
[0077] Exemplarily, the first delay storage format may include: request sequence number, request timestamp, request index, total request time, number of file IO operations, total file IO operation time, file IO time P99 indicator, file IO time P90 indicator, file IO time P50 indicator, number of network data transmissions, total network data transmission time, network data transmission time P99 indicator, network data transmission time P90 indicator, and at least one of the network data transmission time P50 indicator; wherein the request index is obtained based on the bucket name, object name, and method name corresponding to the request.
[0078] Exemplarily, in a terminal device, for each business process, there may be an SDK corresponding to each business process, and in each SDK, a delay processing module may be added on the basis of the original business processing module. The delay processing module may include three sub-modules, namely, a delay acquisition sub-module, a delay storage sub-module and a delay query sub-module, as shown in FIG4 , for realizing the collection, storage and query of delay data on the user side; wherein the delay query sub-module may provide a query interface so that the user can input a query request through the query interface.
[0079] It should be noted that SDK is a development kit provided to the user side. Users use SDK to interact with the object storage service side to complete data storage, access and management.
[0080] Taking the target business process as an example, the above three sub-modules are added to the SDK corresponding to the target business process. The following describes these three sub-modules in detail.
[0081] First, the delay storage submodule stores the first segment delay data.
[0082] Exemplarily, an embedded memory database (i.e., the first database mentioned above) can be used within the target business process to implement storage of the first segmented delay data on the user side; taking into account the hardware differences of the user's business host machine, a default data size can be provided, such as retaining only the delay data of the most recent 10,000 requests by default, and the number of requests can be dynamically set through a Restful interface so that users can flexibly adjust and modify it according to their needs.
[0083] Referring to Table 1, it shows the table name used in the first delay storage format of the first segment delay data: tb_request_latency, and the structure is as follows:
[0084] Table 1
[0085]
[0086] Among them, the field id is the request sequence number. For example, the life cycle of the latency data in the memory can be managed in a cyclic coverage manner. The basis for the cyclic coverage is the first field id in Table 1. A global counter can be maintained inside the target business process. The id of each request of the target business process is generated by the counter. When the counter reaches the number of reserved entries configured by the user, the counter is reset and the id is calculated again. Among them, the request can include at least an upload request and a download request.
[0087] Exemplarily, when the counter is cleared, all the delay data of a preset number of requests that have been stored in the first database can be deleted, and the delay data of the latest request can be saved again; or after the counter is cleared, the delay data of the old request corresponding to the old count can be replaced by the delay data of the new request corresponding to the new count, so as to ensure that the delay data of the most recent preset number of requests are always retained in the first database.
[0088] In addition, the field create_time is the request timestamp; the field request_id is the request index; the field total_latency is the total request time, that is, the total time required for all execution operations of a request on the user side; the field file_io_counts is the number of file IO operations, that is, the number of file read and write operations corresponding to a request, that is, the number of input / output (IO) operations; for example, if the size of the file to be uploaded corresponding to an upload request is 10M, and a data block is read from the file each time, and the size of the data block is 1M, then 10 IO operations are required to read the entire file to be uploaded; the field file_io_counts is the total file IO operation time, such as the total time to perform 10 IO operations; the field file_io_latency_p99 is the file IO time P99 indicator, which means the time corresponding to the 99th IO operation, such as the time used for the 99th IO operation out of 100 IO operations; the field file_io_latency_p90 is the file I O time consumption P90 indicator, that is, the time consumption corresponding to the 90th IO operation; field file_io_latency_p50 is the file IO time consumption P50 indicator, that is, the time consumption corresponding to the 50th IO operation; field net_io_counts is the number of network data transmissions, that is, the number of network data transmissions between a request and the service side. For example, for an upload request, the size of the file to be uploaded is 10M, and the user side sends a 1M data block to the service side each time, then a total of 10 transmissions are required; field file_io_latency_sum is the total network data transmission time consumption, such as the total time consumption for executing 10 sending operations; field net_io_latency_p99 is the network data transmission time consumption P99 indicator, that is, the time consumption corresponding to the 99th sending operation; field net_io_latency_p90 is the network data transmission time consumption P90 indicator, that is, the time consumption corresponding to the 90th sending operation; field net_io_latency_p50 is the network data transmission time consumption P50 indicator, that is, the time consumption corresponding to the 50th IO operation.
[0089] Second, the delay collection submodule collects the delay data of the first segment. It can mainly collect the delay data of upload and download requests, and take the form of system call logging for file operations and network operations to count the time consumption of each system. The logging means recording the timestamp information before performing a certain operation, and recording the timestamp information after the operation is performed after the operation is performed, so as to determine the time consumption of performing the operation based on the timestamp information before the operation is performed and the timestamp information after the operation is performed.
[0090] For example, when a user uploads an object using the SDK, there are two ways to upload:
[0091] First, the local file path to be uploaded (such as the file storage path input by the query interface) is passed to the SDK, and the SDK completes the file reading and network sending internally. For this method, the delay acquisition submodule needs to record the reading time (IO time) and sending time (network transmission time) of each data block in the memory, and calculate the corresponding P99 / P90 / P50 indicators and store them in the first database.
[0092] Second, the data block in the memory (such as the query interface input data) is passed to the SDK, and the SDK completes the network transmission. For this method, the delay acquisition submodule only needs to record the transmission time of each data block in the memory (network transmission time), and calculate the corresponding P99 / P90 / P50 indicators, and store them in the first database. It should be noted that in this method, the values of various fields related to file IO in the first segment delay data corresponding to the request can be set to default values, such as 0 or null.
[0093] For example, when a user uses the SDK to download an object, there are also two downloading methods:
[0094] First, the local file path to be generated is passed to the SDK, and the SDK completes the network reception of the file content and the generation of the local file. For this method, the delay collection submodule needs to record the reception time and disk writing time of each data block in the memory, and calculate the corresponding P99 / P90 / P50 indicators and store them in the first database.
[0095] Secondly, the memory address is passed to the SDK, and the SDK completes the network reception of the file data block. For this method, the delay collection submodule only needs to record the reception time of each data block in the memory, and calculate the corresponding P99 / P90 / P50 indicators and store them in the first database.
[0096] Third, the delay query submodule queries the delay data of the first segment.
[0097] For example, an Http service can be integrated into the SDK, and a Restful interface can be opened to users to provide latency data query; for requests with high latency, users can query latency data at different stages through the query interface, where the query request can include information such as bucket, object, method, start time (start_time), end time (end_time), etc., to query in the first database, and return the query results in JSON format. The query logic can be:
[0098] First, calculate the MD5 value based on bucket / object / method as the query index of the first database, that is, request_id.
[0099] Next, start_time / end_time is used as the left and right intervals of create_time. After receiving the query request, the latency query submodule can generate an SQL query statement based on the query request, such as:
[0100] select * from tb_request_latency where request_id = xxx and create_time >= start_time and create_time <= end_time;
[0101] Based on the SQL query statement, the data to be queried that meets the identification of the data to be queried within the create_time query time period is extracted from the first database, wherein the identification of the data to be queried may include a bucket, an object, and a method, or may be a query index (MD5 value) generated based on the bucket, the object, and the method.
[0102] For users, each business process is assigned a query port, such as the http address + port number corresponding to the business process, which is usually recorded in the user manual or usage log. Users can enter query requests through the query port corresponding to the business process to realize data query; illustratively, the format of the query request can be: http address + port number + bucket + object + method + start time + end time.
[0103] In this embodiment, a method for establishing a first database is provided, and a storage scheme for segment delay data on the user side is described in detail, thereby improving the feasibility of segment delay management.
[0104] In an exemplary embodiment, as shown in FIG5 , a method for troubleshooting delay anomalies is provided, which is described by taking the method applied to the service device on the service side in FIG1 as an example, and includes the following steps 502 to 504. Among them:
[0105] Step 502: upon receiving a query request sent by the user side, obtaining second segment delay data from a second database on the service side.
[0106] The query request may include an identifier of the data to be queried and a query time period.
[0107] Exemplarily, for the service device on the service side, it can also set a corresponding business process for each business. After the target business process on the user side triggers a query request, the query request can be sent to the service device on the service side so that the corresponding target business process in the service device can process the query request.
[0108] Exemplarily, in the target business process on the service side, a second database corresponding to the target business can be set up, and the second database can store second segment delay data related to the target business; when a query request is received from a terminal device on the user side, the second segment delay data corresponding to the query request can be extracted from the second database according to the query request.
[0109] Step 504: Send the second segment delay data to the user side to instruct the user side to perform delay anomaly analysis based on the first segment delay data on the user side and / or the second segment delay data on the service side to obtain a troubleshooting result.
[0110] Exemplarily, after the service device obtains the second segment delay data corresponding to the query request from the second database according to the query request, the second segment delay data can be fed back to the terminal device on the user side, so that the terminal device can perform delay anomaly analysis based on the first segment delay data and the second segment delay data obtained from the first database on the user side, thereby obtaining the delay anomaly troubleshooting result; exemplarily, the troubleshooting result may include but is not limited to at least one of the delay anomaly data, the delay anomaly processing stage, the delay anomaly cause, the delay anomaly solution, etc.
[0111] In the above-mentioned delay anomaly troubleshooting method, when the service side receives the query request sent by the user side, it can obtain the second segment delay data from the second database of the service side, and send the second segment delay data to the user side, so as to instruct the user side to perform delay anomaly analysis based on the first segment delay data of the user side and / or the second segment delay data of the service side to obtain the troubleshooting result. That is to say, in the troubleshooting method proposed in the embodiment of the present application, not only a management scheme for segment delay is provided, and segment delay statistics are performed from the user side and the service side respectively, but also a convenient query interface is provided to the user side, so that the user can directly query the delay anomaly of the target business process through the query interface quickly, thereby realizing the rapid troubleshooting of delay anomalies; that is, by adopting this method, there is no need to rely on operation and maintenance personnel to perform anomaly troubleshooting of different devices at different stages, which not only improves the convenience of delay anomaly troubleshooting on the user side, but also improves the troubleshooting efficiency of delay anomalies; in addition, it can also reduce the manual operation of users, reduce labor costs, and improve the intelligence and flexibility of delay anomaly troubleshooting.
[0112] In an exemplary embodiment, as shown in FIG6 , the second database may be used to store the second segment delay data of the service side, and the acquisition method of the second database may include steps 602 to 606. Among them:
[0113] Step 602: Collect second interaction data of a second request of a preset type received by the service side; the preset type includes at least an upload type and a download type.
[0114] Step 604, determining the second segmented delay data of the second request according to the second interaction data of the second request and the preset second delay storage format; the second segmented delay data of the second request is used to characterize the data transmission delay of the service side and the interaction delay between the service side and the storage cluster.
[0115] Step 606: Store the second segment delay data of the second request in the second database.
[0116] Exemplarily, the second delay storage format may include: request sequence number, request timestamp, request index, total request time, number of network data transmissions, total network data transmission time, network data transmission time P99 indicator, network data transmission time P90 indicator, network data transmission time P50 indicator, total time spent interacting with the metadata pool, time details for interacting with the metadata pool, total number of interactions with the data pool, total time spent interacting with the data pool, delay P99 indicator for interacting with the data pool, delay P90 indicator for interacting with the data pool, and at least one of the delay P50 indicator for interacting with the data pool; wherein the request index is obtained based on the bucket name, object name and method name corresponding to the request; the metadata pool includes at least user information, bucket information and object information.
[0117] Exemplarily, for a service device, it may include at least a gateway and a storage cluster, and the delay analysis on the service side may include at least the service side analyzing the data transmission delay of the network and the service side analyzing the interaction delay between the network and the data storage cluster. For example, in the gateway, a delay processing module is added on the basis of the original business processing module. The delay processing module may include three submodules, namely, a delay acquisition submodule, a delay storage submodule and a delay query submodule, as shown in FIG7 , for realizing the collection, storage and query of the delay data on the service side. Exemplarily, the delay query submodule on the service side may also provide a query interface, which can facilitate the operation and maintenance personnel to input query requests through the query interface on the one hand, and on the other hand, it can also receive query requests sent by the user side to realize automatic query.
[0118] The three sub-modules on the service side are described in detail below.
[0119] First, the delay storage submodule stores the second segment delay data.
[0120] Exemplarily, an embedded memory database (i.e., the second database mentioned above) can be used inside the gateway process to implement storage of the second segmented delay data on the service side. Also, taking into account the hardware differences of the private cloud cluster, a default data size can be provided. For example, by default, only the delay data of the most recent 10,000 requests is retained. The number of retained requests can be dynamically adjusted through the command line tool so that users / operation and maintenance personnel can flexibly adjust and modify them according to their needs.
[0121] Referring to Table 2, it shows the table name used in the second delay storage format of the second segment delay data: tb_request_latency, and the structure is as follows:
[0122] Table 2
[0123]
[0124] The field id is the request sequence number. For example, a loop coverage method can be used to manage the life cycle of the latency data in the memory. The basis for the loop coverage is the first field id in Table 2. A global counter can be maintained inside the target business process. The id of each request of the target business process is generated by the counter. When the counter reaches the number of reserved entries configured by the user, the counter is reset and the id is calculated again. The request can include at least an upload request and a download request.
[0125] Exemplarily, when the counter is cleared, all the delay data of a preset number of requests that have been stored in the first database can be deleted, and the delay data of the latest request can be saved again; or after the counter is cleared, the delay data of the old request corresponding to the old count can be replaced by the delay data of the new request corresponding to the new count, so as to ensure that the delay data of the most recent preset number of requests are always retained in the first database.
[0126] In addition, the field create_time is the request timestamp; the field request_id is the request index; the field total_latency is the total request time, that is, the total time required for all execution operations of a request on the user side; the field net_io_latency_sum is the number of network data transmissions, that is, the number of network data transmissions between a request and the user side. For example, for a download request, the size of the file to be downloaded is 10M, and the service side sends a 1M data block to the user side each time, then a total of 10 transmissions are required; the field net_io_counts is the total network data transmission time, such as the total time required to perform 10 sending operations; the field net_io_latency_p99 is the P99 indicator of the network data transmission time, that is, the time corresponding to the 99th sending operation; the field net_io_latency_p90 is the P90 indicator of the network data transmission time. That is, the time consumption corresponding to the 90th sending operation; the field net_io_latency_p50 is the P50 indicator of the network data transmission time consumption, that is, the time consumption corresponding to the 50th IO operation; the field rados_index_latency_sum is the total time consumption for interacting with the metadata pool, that is, the total time consumption required for all execution operations between the gateway corresponding to a request and the metadata pool in the storage cluster, where the metadata pool can be used to store at least one of user information, bucket information and object information; the field rados_index_latency_detail is the time consumption details for interacting with the metadata pool, indicating the specific operations and time consumption between the service side and the metadata pool corresponding to a request; the field rados_data_counts is the total number of interactions with the data pool, that is, the number of read and write operations between the gateway corresponding to a request and the data pool in the storage cluster; the field rados_data _latency_sum is the total time consumed for interaction with the data pool, that is, the total time consumed for all execution operations between the gateway corresponding to a request and the data pool in the storage cluster, where the data pool is used to store at least object data; the field rados_data _latency_p99 is the P99 indicator of the interaction latency with the data pool, that is, the time consumed corresponding to the 99% interaction operation with the data pool; the field rados_data _latency_p90 is the P90 indicator of the interaction latency with the data pool, that is, the time consumed corresponding to the 90% interaction operation with the data pool; the field rados_data _latency_p50 is the P50 indicator of the interaction latency with the data pool, that is, the time consumed corresponding to the 50% interaction operation with the data pool.
[0127] Second, the delay collection submodule collects the delay data of the second segment. It collects the data transmission delay of its network and the delay of interaction with the storage cluster. For the data transmission delay, it takes the form of system call tracking for network operations and counts the time consumed by each system. For the delay collection of the storage cluster, it takes the form of interface call tracking and counts the time consumed by each interface call.
[0128] For example, for upload requests, the service side mainly collects latency data of three parts:
[0129] First, interaction with the metadata pool
[0130] This part mainly includes the query and update of user information, the query and update of bucket information, the query and update of object information, etc. The rados_index_latency_sum field in the above Table 2 is the sum of all delays for interacting with the metadata pool, and the rados_index_latency_detail field is the specific operation and time consumption of the metadata pool, which can be stored in json format.
[0131] Second, receive data blocks from the network
[0132] This part mainly collects the delay data of receiving data blocks from the user side, records the receiving time of each data block in the memory, calculates the data of three dimensions of P99, P90 and P50, and saves them in the second database.
[0133] Third, write the data block to the data storage cluster
[0134] This part mainly analyzes the latency data of the interaction with the data pool, records the time taken to write each data block into the data pool in the memory, calculates the data in three dimensions: P99, P90, and P50, and saves them in the second database.
[0135] For example, for download requests, the service side mainly collects three parts of latency data:
[0136] First, interaction with the metadata pool
[0137] This part mainly includes the query and update of user information, the query and update of bucket information, the query of object information, etc. The rados_index_latency_sum in the table field represents the sum of all delays in interacting with the metadata cluster, and rados_index_latency_detail represents the specific operations and time consumption of the metadata pool, which are stored in json format.
[0138] Second, send data blocks over the network
[0139] This part mainly analyzes the delay from sending data to the client, records the sending time of each data block in the memory, calculates the data in three dimensions of P99, P90, and P50, and saves them in the second database.
[0140] Third, read data from the data cluster
[0141] This part mainly analyzes the delay of interaction with the data pool, records the time taken to read each object from the data cluster to the gateway process memory in the memory, calculates the data in three dimensions: P99, P90, and P50, and saves them in the second database.
[0142] Third, the delay query submodule queries the delay data of the second segment.
[0143] Exemplarily, a Restful interface can be opened to provide operation and maintenance personnel with latency data queries. For requests with high latency, the latency data of different stages can be queried through the query interface, wherein the query request can include bucket, object, method, start time (start_time), end time (end_time) and other information to query in the second database, and the query results are returned in JSON format.
[0144] Exemplarily, the query interface may also automatically link to the user side, that is, receive a query request sent by the user side, thereby extracting the second segment delay data corresponding to the query request from the second database according to the query request, and feeding it back to the user side.
[0145] In this embodiment, a method for establishing a second database is provided, and a storage scheme for segment delay data on the service side is described in detail, thereby improving the feasibility of segment delay management.
[0146] The delay anomaly troubleshooting methods provided in the above embodiments can have the following technical advantages and effects:
[0147] 1. In the SDK on the user side, three sub-modules are added: segmented delay collection, segmented delay storage, and segmented delay query. The time consumption of each system call is counted in the form of disk file operations and network operating system calls, and then the P99 / P90 / P50 indicators are calculated. The latency analysis data of disk operations and network operations in a complete upload and download request can be provided to users for analyzing latency bottlenecks.
[0148] 2. The latency analysis on the service side mainly analyzes the data transmission latency of the network from the gateway and the latency analysis data of the interaction between the gateway and the storage cluster. Three sub-modules of latency data storage, collection, and query are added to the gateway service. For the latency analysis of data transmission, the system call dot method of network operations is adopted to count the time consumption of each system, and then calculate the P99 / P90 / P50 indicators. For the latency analysis of the storage cluster, the interface call dot method is adopted to count the time consumption of each interface call, and then calculate the P99 / P90 / P50 indicators. These data analysis data are provided through the http interface to analyze the latency bottleneck.
[0149] Based on this, when users encounter requests with high upload or download latency, they can first query the segmented latency analysis results from the user side to eliminate the performance bottleneck of the file system. In addition, for the operation and maintenance personnel on the service side, they can quickly define where the latency is consumed based on the latency analysis results on the service side, and then conduct targeted analysis and troubleshooting.
[0150] In addition, for the service side, it can also provide alarm capabilities based on the latency analysis results of the service side to prompt the operation and maintenance personnel to make architectural or configuration adjustments to the entire network or part of the network with abnormal operations, so as to improve the operation capacity and efficiency of the entire network.
[0151] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0152] Based on the same inventive concept, the embodiment of the present application also provides a device for troubleshooting delay anomalies for implementing the above-mentioned method for troubleshooting delay anomalies. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above-mentioned method, so the specific limitations in the embodiments of one or more devices for troubleshooting delay anomalies provided below can refer to the limitations of the method for troubleshooting delay anomalies above, and will not be repeated here.
[0153] In an exemplary embodiment, as shown in FIG8 , a delay anomaly troubleshooting device is provided, which is applied to a user side and includes: a first acquisition module 802, a second acquisition module 804 and an analysis module 806, wherein:
[0154] The first acquisition module 802 is used to acquire a query request input by a user from a query interface corresponding to a target business process; the query request includes an identifier of the data to be queried and a query time period.
[0155] The second acquisition module 804 is used to obtain the data to be queried corresponding to the query request from the preset database corresponding to the target business process according to the query request; the data to be queried includes the first segment delay data on the user side and / or the second segment delay data on the service side.
[0156] The analysis module 806 is used to perform latency anomaly analysis based on the data to be queried to obtain a troubleshooting result.
[0157] In one embodiment, the preset database includes a first database on the user side and a second database on the service side, and the second acquisition module 804 includes a first acquisition unit and a second acquisition unit, wherein:
[0158] A first acquisition unit, configured to acquire first segment delay data from a first database according to a query request;
[0159] The second acquisition unit is used to forward the query request to the service side and receive the second segment delay data returned by the service side; the second segment delay data is acquired by the service side from the second database.
[0160] In one embodiment, the device further includes a third acquisition module, the third acquisition module is used to acquire the first database, the third acquisition module includes a collection unit, a determination unit and a storage unit, wherein:
[0161] A collecting unit, configured to collect first interaction data of a first request of a preset type received by a user side; the preset type includes at least an upload type and a download type;
[0162] A determination unit, configured to determine first segment delay data of the first request according to first interaction data of the first request and a preset first delay storage format; the first segment delay data of the first request is used to characterize the data transmission delay on the user side;
[0163] The storage unit is used to store the first segment delay data of the first request into the first database.
[0164] In one of the embodiments, the first delay storage format includes: at least one of request sequence number, request timestamp, request index, total request time, number of file IO operations, total file IO operation time, file IO time P99 indicator, file IO time P90 indicator, file IO time P50 indicator, number of network data transmissions, total network data transmission time, network data transmission time P99 indicator, network data transmission time P90 indicator, and network data transmission time P50 indicator; wherein the request index is obtained based on the bucket name, object name, and method name corresponding to the request.
[0165] In an exemplary embodiment, as shown in FIG. 9 , a delay anomaly troubleshooting device is provided, which is applied to a service side and includes: a first acquisition module 902 and a sending module 904, wherein:
[0166] The first acquisition module 902 is used to acquire the second segment delay data from the second database of the service side when receiving the query request sent by the user side.
[0167] The sending module 904 is used to send the second segment delay data to the user side to instruct the user side to perform delay anomaly analysis based on the first segment delay data of the user side and / or the second segment delay data of the service side to obtain a troubleshooting result.
[0168] In one embodiment, the device further includes a second acquisition module, which is used to acquire a second database; the second acquisition module includes a collection unit, a determination unit and a storage unit, wherein:
[0169] A collecting unit, used for collecting second interaction data of a second request of a preset type received by the service side; the preset type includes at least an upload type and a download type;
[0170] A determination unit, configured to determine second segment delay data of the second request according to second interaction data of the second request and a preset second delay storage format; the second segment delay data of the second request is used to characterize the data transmission delay of the service side and the interaction delay between the service side and the storage cluster;
[0171] The storage unit is used to store the second segment delay data of the second request into the second database.
[0172] In one of the embodiments, the second delay storage format includes: request sequence number, request timestamp, request index, total request time, number of network data transmissions, total network data transmission time, network data transmission time P99 indicator, network data transmission time P90 indicator, network data transmission time P50 indicator, total time spent interacting with the metadata pool, time details for interacting with the metadata pool, total number of interactions with the data pool, total time spent interacting with the data pool, delay P99 indicator for interacting with the data pool, delay P90 indicator for interacting with the data pool, and at least one of the delay P50 indicator for interacting with the data pool; wherein the request index is obtained based on the bucket name, object name, and method name corresponding to the request; and the metadata pool includes at least user information, bucket information, and object information.
[0173] Each module in the above-mentioned delay anomaly troubleshooting device can be implemented in whole or in part by software, hardware, or a combination thereof. Each of the above-mentioned modules can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each of the above modules.
[0174] In an exemplary embodiment, a computer device is provided, which may be a terminal device on the user side, and its internal structure diagram may be shown in FIG10. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. The processor, the memory, and the input / output interface are connected via a system bus, and the communication interface, the display unit, and the input device are connected to the system bus via the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner may be implemented through WIFI, a mobile cellular network, near field communication (NFC) or other technologies. When the computer program is executed by the processor, a method for troubleshooting delay anomalies is implemented. The display unit of the computer device is used to form a visually visible picture, which may be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.
[0175] Those skilled in the art will understand that the structure shown in FIG. 10 is merely a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0176] In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the steps of the delay anomaly troubleshooting method in any of the above-mentioned user-side embodiments are implemented.
[0177] In an exemplary embodiment, a computer device is provided, which may be a service device on the service side, and its internal structure diagram may be shown in FIG11. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store object data. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a method for troubleshooting delay anomalies is implemented.
[0178] Those skilled in the art will understand that the structure shown in FIG. 11 is merely a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0179] In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the steps of the delay anomaly troubleshooting method in any of the above-mentioned service side embodiments are implemented.
[0180] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the delay anomaly troubleshooting method in any of the above-mentioned user-side and service-side embodiments are implemented.
[0181] In one embodiment, a computer program product is provided, including a computer program, which, when executed by a processor, implements the steps of the delay anomaly troubleshooting method in any of the above-mentioned user-side and service-side embodiments.
[0182] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0183] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0184] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0185] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A method for troubleshooting abnormal delay, characterized in that: Applied to the user side, the method includes: Obtaining a query request input by a user from a query interface corresponding to a target business process; the query request includes an identifier of the data to be queried and a query time period; According to the query request, obtaining the to-be-queried data corresponding to the query request from a preset database corresponding to the target service process; the to-be-queried data includes the first segment delay data of the user side and / or the second segment delay data of the service side; A delay anomaly analysis is performed based on the data to be queried to obtain a troubleshooting result.
2. The method according to claim 1, characterized in that The preset database includes a first database on the user side and a second database on the service side, and acquiring the to-be-queried data corresponding to the query request from the preset database corresponding to the target business process according to the query request includes at least one of the following: According to the query request, acquiring the first segment delay data from the first database; The query request is forwarded to the service side, and the second segment delay data returned by the service side is received; the second segment delay data is obtained by the service side from the second database.
3. The method according to claim 2, characterized in that The method of obtaining the first database includes: Collecting first interaction data of a first request of a preset type received by the user side; the preset type includes at least an upload type and a download type; Determine, according to the first interaction data of the first request and the preset first delay storage format, first segment delay data of the first request; the first segment delay data of the first request is used to characterize the data transmission delay of the user side; The first segment delay data of the first request is stored in the first database.
4. The method according to claim 3, characterized in that The first time delay storage format includes: At least one of the following: request sequence number, request timestamp, request index, total request time, number of file IO operations, total file IO operation time, file IO time P99 index, file IO time P90 index, file IO time P50 index, number of network data transmissions, total network data transmission time, network data transmission time P99 index, network data transmission time P90 index, network data transmission time P50 index; The request index is obtained based on the bucket name, object name and method name corresponding to the request.
5. A method for troubleshooting abnormal delay, characterized in that: Applied to the service side, the method includes: Upon receiving the query request sent by the user side, acquiring the second segment delay data from the second database of the service side; The second segment delay data is sent to the user side to instruct the user side to perform delay anomaly analysis based on the first segment delay data of the user side and / or the second segment delay data of the service side to obtain a troubleshooting result.
6. The method according to claim 5, characterized in that The method of acquiring the second database includes: Collecting second interaction data of a second request of a preset type received by the service side; the preset type includes at least an upload type and a download type; Determine, according to the second interaction data of the second request and the preset second delay storage format, the second segment delay data of the second request; the second segment delay data of the second request is used to characterize the data transmission delay of the service side and the interaction delay between the service side and the storage cluster; The second segment delay data of the second request is stored in the second database.
7. The method according to claim 6, characterized in that The second time delay storage format includes: At least one of the following: request sequence number, request timestamp, request index, total request time, number of network data transmissions, total network data transmission time, network data transmission time P99 indicator, network data transmission time P90 indicator, network data transmission time P50 indicator, total time spent interacting with the metadata pool, time spent interacting with the metadata pool, total number of interactions with the data pool, total time spent interacting with the data pool, P99 indicator of interaction delay with the data pool, P90 indicator of interaction delay with the data pool, and P50 indicator of interaction delay with the data pool; The request index is obtained based on the bucket name, object name and method name corresponding to the request; the metadata pool includes at least user information, bucket information and object information.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.