Data storage method and device for calling link
By analyzing the clustering degree and frequency of call links and dynamically adjusting the storage strategy, the problem of duplicate storage of similar data in distributed link tracing technology is solved, achieving efficient data management and resource optimization, and improving the system's data storage efficiency and resource utilization.
Patent Information
- Application Number
- CN202511094991.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-06
- Publication Date
- 2025-11-11
AI Technical Summary
Existing distributed tracing technology has shortcomings in deduplication mechanisms, resulting in a large amount of similar data being stored repeatedly, wasting resources and reducing system operating efficiency.
By analyzing the degree of clustering and frequency of calls in the call chain, the data storage strategy is dynamically determined. For links with a clustering degree higher than a preset threshold, the entire data is stored. For links with a low degree of clustering but a high call frequency, the data is stored based on stability information.
It achieves efficient data management and resource optimization, improves the system's data storage efficiency, ensures the integrity of analysis across critical links, and reduces overall storage costs.
Smart Images

Figure CN120929018A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data storage technology, and in particular to a data storage method and apparatus for a call chain. Background Technology
[0002] In the current era of accelerated digital transformation, the complexity of software system architectures is growing at an unprecedented rate. While cloud-native and multi-cloud deployments bring convenience, they also make the operating environment more complex and volatile. The refinement of microservice architectures improves development efficiency, but the resulting surge in service instance data leads to a significant increase in maintenance costs. Simultaneously, as business volume continues to increase, user demands for experience are also rising. To address these challenges, the importance of observability platforms, especially distributed tracing capabilities, is becoming increasingly apparent.
[0003] Currently, some open-source software, such as SkyWalking, exists in the industry and can implement distributed tracing functionality. In monitoring scenarios for large-scale business systems, it is recommended to use non-relational databases such as Elasticsearch to support data storage. However, existing technologies have shortcomings in deduplication mechanisms; SkyWalking's default deduplication function is relatively weak. When faced with a large amount of similar but not identical tracing data, additional custom development is often required to improve deduplication accuracy. Furthermore, in common software development, timestamps and UUIDs (Universally Unique Identifiers) are often added to interfaces to avoid cache hits, but existing solutions are ineffective at deduplication in such cases, resulting in a large amount of tracing data being stored repeatedly. This not only wastes resources but also affects the overall system efficiency, thereby reducing the overall value and benefits of the monitoring platform. Summary of the Invention
[0004] This application provides a data storage method and apparatus for call links to solve the technical problem that existing distributed link tracing technology has shortcomings in deduplication mechanisms, resulting in a large amount of similar data being stored repeatedly, thereby wasting resources and reducing system operating efficiency.
[0005] To solve the above-mentioned technical problems, this application is implemented as follows:
[0006] In a first aspect, embodiments of this application provide a data storage method for a call chain, the method comprising:
[0007] Determine the degree of aggregation for each call chain in at least one call chain;
[0008] Determine whether the degree of aggregation is greater than a preset threshold;
[0009] If the degree of aggregation is greater than the preset threshold, then the data of the corresponding call chain is fully stored;
[0010] If the degree of aggregation is less than or equal to the preset threshold, then determine whether the call frequency of the corresponding call chain is greater than the current link call frequency threshold;
[0011] If the call frequency is greater than the current link call frequency threshold, then analyze the stability information of the fields of the call links whose aggregation degree is less than or equal to the preset threshold, and store the data of the corresponding call links according to the stability information.
[0012] Optionally, the degree of aggregation for each call chain in at least one call chain can be determined, including:
[0013] The current statistical period for determining the aggregation degree of the call chain is determined, and the total service request volume and peak total service request volume of the call chain are determined, wherein the peak total service request volume is the sum of the number of service requests of the call chain during all peak periods within the statistical period, and the total service request volume is the sum of the number of all service requests of the call chain within the statistical period;
[0014] The degree of aggregation is determined based on the proportion of the peak total service request volume in the total service request volume of the period.
[0015] The peak period is defined as the period in which the number of service requests exceeds the peak determination threshold. The peak determination threshold is determined based on a preset peak coefficient and the average number of service requests. The average number of service requests is the quotient of the total number of service requests in a period and a preset unit time period.
[0016] Optionally, the current statistical period can be dynamically adjusted based on the historical aggregation degree of the call chain; the greater the historical aggregation degree of the call chain, the smaller the current statistical period.
[0017] Optionally, before determining whether the call frequency of the corresponding call chain is greater than the current call frequency threshold, the method further includes:
[0018] Based on the resource status of the system where the call link is located, the hierarchical analysis method, and the fuzzy evaluation method, the current link call frequency threshold is determined, wherein the resource status includes at least one of the following: CPU utilization, memory utilization, storage IO utilization, and storage space quantity.
[0019] Optionally, the current call frequency threshold is determined based on the resource status of the system where the call chain resides, the hierarchical analysis method, and the fuzzy evaluation method, including:
[0020] Based on the analytic hierarchy process, a weight value is set for each resource state in the at least one resource state.
[0021] Based on the fuzzy evaluation method, the membership value of each resource state is calculated;
[0022] Construct a fuzzy evaluation matrix based on the membership values;
[0023] Based on the fuzzy evaluation matrix and the weight values, fuzzy comprehensive operation is performed to obtain the fuzzy comprehensive evaluation result;
[0024] The fuzzy comprehensive evaluation results are defuzzified to obtain the evaluation score;
[0025] The adjustment method for the link call frequency threshold is determined based on the evaluation score, and the current link call frequency threshold is determined based on the adjustment method.
[0026] Optionally, analyzing the stability information of fields in the data of call chains with a aggregation degree less than or equal to the preset threshold, and storing the data of the corresponding call chains based on the stability information includes:
[0027] Identify the call chain to be analyzed, and extract the corresponding sub-graph sketch data based on the call chain to be analyzed;
[0028] The subgraph sketch data is input into a preset dynamic graph network model to obtain the output of the dynamic graph network model. The output is used as a predicted value of the change probability of the fields of the data of the call chain to be analyzed.
[0029] Based on the predicted value of the change probability, the stability information of the field is determined;
[0030] If the stability information indicates that the field remains stable in future calls, then the field is stored once.
[0031] If the stability information indicates that the field may change in future calls, then the field is incrementally stored.
[0032] Secondly, embodiments of this application provide a data storage device for a call chain, the device comprising:
[0033] The determination module is used to determine the degree of aggregation of each call chain in at least one call chain;
[0034] The execution module is used to determine whether the aggregation degree is greater than a preset threshold;
[0035] If the degree of aggregation is greater than the preset threshold, then the data of the corresponding call chain is fully stored;
[0036] If the degree of aggregation is less than or equal to the preset threshold, then determine whether the call frequency of the corresponding call chain is greater than the current link call frequency threshold;
[0037] If the call frequency is greater than the current link call frequency threshold, then analyze the stability information of the fields of the call links whose aggregation degree is less than or equal to the preset threshold, and store the data of the corresponding call links according to the stability information.
[0038] Thirdly, embodiments of this application provide a network device, including: a processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, it implements the steps of a data storage method for a call link as described in the first aspect.
[0039] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of a data storage method for a call chain as described in the first aspect.
[0040] Fifthly, embodiments of this application provide a computer program product, including computer instructions, which, when executed by a processor, implement the steps of a data storage method for a call chain as described in the first aspect.
[0041] In this embodiment, by analyzing the clustering degree and call frequency of the call links, a data storage strategy is dynamically determined. For links with a clustering degree higher than a preset threshold, full data storage is performed; while for links with a low clustering degree but high call frequency, storage is based on stability information, thereby achieving efficient data management and resource optimization. This improves the system's data storage efficiency and achieves optimal observability of link tracing data. Attached Figure Description
[0042] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0043] Figure 1 A flowchart illustrating a data storage method for a call chain, as provided in an embodiment of this application;
[0044] Figure 2 A flowchart illustrating a data storage method for a call chain, as provided in an embodiment of this application;
[0045] Figure 3 A structural block diagram of a data storage device for a call chain provided in an embodiment of this application;
[0046] Figure 4 A structural block diagram of a data storage device for a call chain provided in an embodiment of this application;
[0047] Figure 5 This is a structural block diagram of a network device provided in an embodiment of this application. Detailed Implementation
[0048] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0049] Figure 1 This application illustrates a data storage method for a call chain according to an embodiment of the present application, such as... Figure 1 As shown, the method includes:
[0050] Step S101: Determine the degree of aggregation of each call chain in at least one call chain;
[0051] Step S102: Determine whether the degree of aggregation is greater than a preset threshold;
[0052] Step S103: If the aggregation degree is greater than the preset threshold, then the data of the corresponding call chain is fully stored.
[0053] Step S104: If the aggregation degree is less than or equal to the preset threshold, determine whether the call frequency of the corresponding call link is greater than the current link call frequency threshold; if the call frequency is greater than the current link call frequency threshold, analyze the stability information of the fields of the data of the call links whose aggregation degree is less than or equal to the preset threshold, and store the data of the corresponding call links according to the stability information.
[0054] It should be noted that the main factors affecting the overall storage efficiency of business system tracing data are as follows:
[0055] 1. The actual call aggregation degree of a single call chain (i.e., the aggregation degree in step S101) requires statistical analysis of historical data before the incremental storage granularity of metrics and chain data can be determined. The actual call aggregation degree of a single call chain determines the optimal length of the historical data statistical period; a statistical period that is too short or too long will negatively impact overall efficiency. The minimum period for calculating call chain data needs to be dynamically adjusted based on the aggregation degree to facilitate automated dynamic adjustment in response to data changes and achieve the optimal solution.
[0056] 2. Call frequency of a single call chain: In the method shown in the embodiments of this application, the minimum unit of data analysis is a single business system call chain. The actual call frequency of each chain varies greatly. For example, some chains may be called tens of millions or even hundreds of millions of times per day, while others may only be called once or twice per day. Call chains with too low a call frequency are not suitable for incremental updates and aggregate queries, which can easily lead to a waste of computing resources.
[0057] 3. Complexity of a single call chain (which can be understood as related to stability information): In the method shown in the embodiments of this application, the minimum unit for analyzing data is a single business system call chain. The actual call length and nodes of the same call chain may differ due to differences in input parameters or context information such as users. This poses a significant challenge to refined analysis by performing single-time storage of duplicate data, incremental storage of personalized data, and aggregate queries. Incremental storage with too small a granularity can lead to overcomputation and reduced overall performance, while granularity with too large a granularity can lead to wasted resources due to duplicate storage. For example, the actual call chain length of an order placement interface may vary from 10 to 50 due to differences in user type, product type, marketing strategy, and other factors. If each chain is stored separately, many nodes, metrics, and data will be stored repeatedly; if each field is stored separately, it will lead to overcomputation, resulting in slow operation during incremental updates and aggregate queries. Finding an overall optimal critical point is key to solving this problem.
[0058] It should be noted that, Figure 1 The method described first requires calculating the clustering degree of each call chain (at least one) that needs to be monitored. This clustering degree represents the concentration of the chain on a certain point of interest. Next, the calculated clustering degree of each chain is compared with a preset threshold. If the clustering degree of a chain is found to be greater than this preset threshold, it means that the chain has a significant anomaly or a high concentration of key points of interest, indicating high importance. Therefore, the system will directly store all data for that call chain in its entirety, preserving all detailed information for subsequent in-depth analysis.
[0059] However, if the clustering degree of a certain call chain is less than or equal to a preset threshold, it indicates that it currently appears relatively stable or non-critical, but this does not mean it can be completely ignored. At this point, a more detailed assessment is taken: the call frequency of that call chain is examined. The system compares this call frequency with a dynamic current call frequency threshold for the current call chain. If the call frequency is very high (greater than the threshold), it indicates that although the clustering degree of this call chain is not high, it is frequently used. For such call chains, the process further analyzes the stability information of the fields of each data within that call chain. The stability information reflects the drasticness and regularity of field data changes. Ultimately, the system uses this stability information to guide the targeted storage of data for that call chain, such as prioritizing the storage of important fields with high stability, or sampling and storing fields with low stability, rather than unconditionally storing the entire dataset as is done for highly clustered call chains.
[0060] Therefore, by analyzing the degree of clustering, the most likely problematic or critical links can be identified, and full storage can be prioritized to ensure complete information. For less clustered links, further filtering is performed based on usage frequency (call frequency). More detailed field stability analysis is conducted on high-frequency links, and optimized storage strategies are implemented based on the analysis results (stability information). This approach ensures that the data analysis needs of critical and high-frequency links are met while significantly reducing overall storage costs and improving efficiency.
[0061] In one possible implementation, the aggregation degree of each call link in at least one call link is determined by: determining the current statistical period for the aggregation degree of the call link, and determining the total business request volume and peak total business request volume of the call link, wherein the peak total business request volume is the sum of the number of business requests during all peak periods of the call link within the statistical period, and the total business request volume of the call link is the sum of the number of all business requests during the statistical period; determining the aggregation degree based on the proportion of the peak total business request volume in the total business request volume of the period; wherein the peak period is the period when the corresponding business request volume is greater than the peak judgment threshold, the peak judgment threshold is determined based on a preset peak coefficient and the average business request volume, and the average business request volume is the quotient of the total business request volume of the period and a preset unit period.
[0062] It should be noted that this possible implementation details how to quantify the clustering degree of a single call chain. Its core logic is achieved by analyzing the concentrated characteristics of business request volume over time. First, a clear current statistical period needs to be defined for the analysis, which forms the basis for observing the time range of business requests in the call chain. Within this period, the system needs to calculate two key indicators: "Total Business Request Volume of the Period": the sum of all business request counts for the call chain within the complete current statistical period; and "Total Peak Business Request Volume": its calculation relies on the identification of peak periods. The system first calculates the average business request volume (i.e., the average number of requests per unit time period) based on the total periodic business request volume and a preset unit time period. Then, a dynamic peak judgment threshold is determined based on the product of a preset peak coefficient and this average value. Any period with a business request volume exceeding this threshold is defined as a peak period, and the "Total Peak Business Request Volume" is the cumulative sum of the number of business requests within all identified peak periods. Finally, the clustering degree is directly determined by the percentage ratio of the "Total Peak Business Request Volume" to the "Total Periodic Business Request Volume". The higher the ratio, the more concentrated the business requests are during periods of high load, and the greater the imbalance and potential pressure on the link.
[0063] Specifically, the degree of data aggregation can be abstractly represented by the proportion of highly aggregated data to the total data volume, and this proportion can be used to represent its temporal distribution and focus. This allows for different data statistical analysis cycles to be applied to call chains with varying degrees of aggregation.
[0064] If we construct a two-dimensional quadrant, with the horizontal axis representing time and the vertical axis representing the number of business requests, then the degree of clustering of a single call chain can be abstractly represented by dividing the peak area by the total area. A larger ratio indicates a higher degree of clustering. The peak area can be represented by summing the number of requests within multiple units of time that meet the conditions (see the PR formula calculation process below), while the total area is represented by summing the number of requests within all units of time. The peak area typically refers to the area occupied by the peak in a function, curve, or distribution, and can be used to measure the concentration or skewness of a specific region. The peak usually refers to a local maximum point of a function or curve, representing the region with a maximum value near that point.
[0065] "pro" represents the degree of data aggregation in the request volume of this business interface, which is abstractly expressed by dividing the peak area by the total data area. The calculation formula is as follows:
[0066]
[0067] pro min This represents the lower limit of the range of values for `pro`. An initial value needs to be set, preferably no less than 50%, and then continuously optimized based on actual conditions.max This indicates the upper limit of the range of values for 'pro'. Based on the initial value, it is recommended not to exceed 80%, and then continuously optimize it according to the actual situation.
[0068]
[0069] This represents the average number of requests per unit time (e.g., per minute) within a given time period (e.g., one day), where k represents the number of unit time periods (e.g., the total number of minutes) within that time period.
[0070] 'a' represents the 'a'th data peak that meets the criteria within that time period (e.g., one day); 'm' represents the total number of data peaks; A a This represents the area of the *a*th data peak that meets the criteria within a given time period (e.g., one day). The criteria for determining a data peak are data segments that are more than F times the average for that time period (a constant, set according to the actual business system, e.g., 1.5 times the average for that time period). The area of this data peak can be represented by the sum of data from individual peak regions, calculated using the following formula: d represents the d-th data point in a single data peak, with a total of r data points. This represents the average number of requests per unit of time (e.g., per minute).
[0071] The clustering degree results here are generally negatively correlated with the analysis cycle of single storage of duplicate data plus incremental storage of personalized data. The higher the clustering degree, the shorter the data analysis cycle should be, so as to adapt to changes in data and achieve the optimal solution of the system.
[0072] It should be noted that, in order to prevent over-design, it is necessary to perform storage granularity analysis only for single call chains with relatively high frequency of calls (referring to call chains with a degree of aggregation less than or equal to a preset threshold), while other call chains are stored in full directly.
[0073] Therefore, by calculating the concentration of business requests during peak hours within a statistical period (the proportion of peak total business requests to total business requests within the period), the uneven distribution of business pressure can be quantified, thereby accurately identifying high-risk links with high aggregation. Based on the dual judgment of aggregation degree and call frequency, full storage can be implemented for critical links to ensure the integrity of the analysis, while differentiated storage strategies can be implemented for high-frequency but low-aggregation links based on field stability information. Ultimately, storage resource utilization can be significantly optimized while ensuring the integrity of key data.
[0074] In one possible implementation, the current statistical period can be dynamically adjusted based on the historical aggregation level of the call chain; the greater the historical aggregation level of the call chain, the smaller the current statistical period.
[0075] It's important to note that the system will intelligently adjust based on the historical performance of the target call chain. Specifically, the historical clustering degree of the call chain is a key factor in adjusting the length of the current statistical period. A higher historical clustering degree indicates a more significant peak concentration trend in business request volume within the past statistical period. To more accurately capture and respond to real-time fluctuations and potential sudden changes in such chains, the system will automatically configure a shorter current statistical period. Conversely, a lower historical clustering degree will result in a relatively longer statistical period. This dynamic period setting mechanism ensures that the observation window matches the actual business pressure characteristics of the chain.
[0076] In one possible implementation, before determining whether the call frequency of the corresponding call chain is greater than the current call frequency threshold, the method further includes: determining the current call frequency threshold based on the resource status of the system where the call chain is located, the hierarchical analysis method, and the fuzzy evaluation method. The resource status includes at least one of the following: CPU (Central Processing Unit) utilization, memory utilization, storage IO (Input / Output) utilization, and storage space quantity.
[0077] It's important to note that CPU utilization refers to the percentage of a server's total CPU computing power actually being used within a specific time period. High utilization indicates a heavy CPU load, while low utilization suggests the CPU may be idle. CPU utilization is a key indicator for evaluating server processing power; excessively high CPU utilization can lead to performance bottlenecks, affecting system responsiveness and processing capabilities. Memory utilization refers to the ratio of actual server memory usage to total memory. High utilization indicates a heavy memory load, while low utilization indicates insufficient memory utilization. Memory utilization directly impacts application performance. Excessively high memory utilization can lead to frequent disk swapping, thus affecting system performance. Storage I / O utilization represents the percentage of I / O bandwidth used by the server when reading from and writing to storage devices. High utilization indicates the storage system is under significant I / O pressure. Storage I / O utilization affects data read and write speeds. Overly busy I / O operations can become a system performance bottleneck, causing data access delays. Storage space quantity refers to the total amount of storage devices available to the server. Storage space can be expressed in terms of capacity (e.g., TB) or quantity (e.g., number of hard drives). The amount of storage space affects data storage capacity and system scalability. Insufficient storage space may limit data storage and system expansion.
[0078] It should be noted that the current threshold for link call frequency is not a fixed value, but a dynamic parameter that integrates real-time system load and intelligent assessment. Before determining whether the call frequency of a link exceeds this threshold, the system determines the threshold based on three factors: First, it collects the resource status of the system to which the link belongs in real time, specifically covering at least one core indicator among CPU utilization, memory utilization, storage I / O utilization, and storage space quantity. These indicators directly reflect the current physical resource load level of the system. Second, it uses the Analytic Hierarchy Process (AHP), a structured decision-making method, to perform hierarchical weight calculations on multi-dimensional resource status indicators, quantifying the contribution of different resources to the overall system pressure. Third, it combines fuzzy evaluation to handle the uncertainty and boundary ambiguity of resource status, mapping the continuous changes in resource utilization to a comprehensive assessment of the system's carrying capacity. Through the collaborative calculation of the above methods, a scientifically reasonable current link call frequency threshold that closely matches the real-time health of the system is finally output.
[0079] In one possible implementation, such as Figure 2 As shown, based on the resource status of the system where the call chain resides, the analytic hierarchy process (AHP), and the fuzzy evaluation method, the current call frequency threshold for the link is determined as follows:
[0080] Step S201: Based on the analytic hierarchy process, set the weight value of each resource state in at least one resource state;
[0081] Step S202: Calculate the membership value of each resource state based on the fuzzy evaluation method;
[0082] Step S203: Construct a fuzzy evaluation matrix based on the membership values;
[0083] Step S204: Perform fuzzy comprehensive operation based on the fuzzy evaluation matrix and weight values to obtain the fuzzy comprehensive evaluation result;
[0084] Step S205: Defuzzify the fuzzy comprehensive evaluation results to obtain the evaluation score;
[0085] Step S206: Determine the adjustment method for the link call frequency threshold based on the evaluation score, and determine the current link call frequency threshold based on the adjustment method.
[0086] It should be noted that the system first uses the analytic hierarchy process (AHP) to structurally analyze the impact of each dimension of "resource status" (including at least one of CPU utilization, memory utilization, storage I / O utilization, and storage space quantity) on the overall system load, assigning a scientifically quantified "weight value" to each resource status. Then, a fuzzy evaluation method is used to map the actual value of each resource status to a "membership value" representing its load severity, eliminating the absolute boundary problem in traditional threshold judgment. A fuzzy evaluation matrix is constructed based on the membership values of all resource statuses, representing the overall fuzzy characteristics of the system's resource status. This matrix and the weight values of each resource status are then input into a fuzzy comprehensive calculation model to obtain a fuzzy comprehensive evaluation result that comprehensively reflects the system's resource pressure. Furthermore, the fuzzy comprehensive evaluation result is defuzzified, converting it into a concrete and usable evaluation score. Finally, based on the numerical range of this evaluation score, the system triggers a preset adjustment method for the link call frequency threshold, thereby generating a current link call frequency threshold that strictly matches the current system health.
[0087] Therefore, this mechanism quantifies resource weights using the analytic hierarchy process (AHP) and transforms resource states such as CPU utilization into a comprehensive score of system stress using fuzzy evaluation, thereby automatically adjusting the link call frequency threshold. This allows storage policies to adapt to system load in real time, lowering thresholds to ensure core link analysis when resources are scarce, and relaxing thresholds to optimize computational overhead when resources are plentiful, ultimately achieving a dynamic balance between storage decisions and hardware health.
[0088] The following details the possible implementation. A threshold M is set for the call frequency of a single call chain. If the total number of actual calls to a single chain within a unit of time (e.g., daily) is lower than this value, incremental storage is not performed; otherwise, intelligent analysis is required for incremental storage and aggregated queries. The initial value M is positively correlated with factors such as CPU utilization, memory utilization, storage I / O utilization, and storage space quantity of the entire monitoring system. The threshold M can be continuously adjusted based on specific analysis of these factors and the specific problems encountered. Regarding the adjustment of the threshold M (e.g., an initial value of 5000), a system health metric model can be constructed to provide data support for determining whether the M value needs adjustment. To quantify the parameters positively correlated with server CPU utilization, memory utilization, storage I / O utilization, and storage space usage, a system health metric model is constructed. This model integrates these key indicators into a single indicator, and the results of this indicator are analyzed to determine whether the threshold M for the single call chain is set reasonably.
[0089] For example, consider whether using the Analytic Hierarchy Process (AHP) for weight allocation analysis is reasonable, and combine it with the fuzzy comprehensive evaluation method to analyze the uncertainty and diversity in actual scenarios, ultimately determining whether the M value setting needs to be adjusted. The specific implementation scheme is as follows:
[0090] First, we will use the Analytic Hierarchy Process (AHP) to perform weight allocation analysis:
[0091] 1. Construct the judgment matrix
[0092] Assume there are four factors: CPU utilization (U Cpu ), memory utilization (U Memory Storage I / O utilization (U) IO ) and storage space quantity (U Storage For example, the constructed judgment matrix A is as follows:
[0093] factor <![CDATA[U Cpu ]]> <![CDATA[U Memory ]]> <![CDATA[U IO ]]> <![CDATA[U Storage ]]> <![CDATA[U Cpu ]]> 1 2 1 / 3 4 <![CDATA[U Memory ]]> 1 / 2 1 1 / 5 3 <![CDATA[U IO ]]> 3 5 1 6 <![CDATA[U Storage ]]> 1 / 4 1 / 3 1 / 6 1
[0094] Among them, the 1 on the diagonal: each factor is 1 in importance to itself.
[0095] aij > 1: The i-th factor is more important than the j-th factor. For example, CPU utilization is twice as important as memory utilization. aij < 1: The i-th factor is less important than the j-th factor. For example, memory utilization is less important than CPU utilization, with a value of 1 / 2.
[0096] 2. Calculate the eigenvalues and eigenvectors of the matrix.
[0097] For an n×n matrix A, the eigenvalues λ and eigenvectors x satisfy the following relationship:
[0098] Ax = λx, where λ is the eigenvalue and x is the corresponding eigenvector.
[0099] (1) The steps to calculate the eigenvalues of matrix A are as follows:
[0100] Construct the feature matrix A-λI, for example:
[0101]
[0102] Calculate the determinant
[0103]
[0104] The calculation of this determinant is quite complex and is usually solved using computational tools (such as MATLAB or Python). Assume the calculated maximum eigenvalue λmax is 4.05.
[0105] (2) Calculate the eigenvectors
[0106] Substituting the eigenvalue λmax = 4.05:
[0107]
[0108] Solving (A-4.05I)x = 0 yields the eigenvector x. Assume the calculated eigenvector is as follows:
[0109]
[0110] After normalization:
[0111] Weight vector
[0112] 3. Consistency check
[0113] (1) Calculate the Consistency Index (CI): Select the largest eigenvalue λmax and calculate the consistency index CI:
[0114] Where n = 4 (the dimension of the matrix)
[0115] For n = 4 and λmax = 4.05,
[0116] (2) Calculate the consistency ratio (CR):
[0117]
[0118] Wherein, RI is the random consistency index. For the case of n=4, RI≈0.90 ((find the RI value in the standard table).
[0119] Since CR is less than 0.1, the consistency of the matrix is acceptable.
[0120] Judgment criteria: If CR ≤ 0.1, the consistency of the judgment matrix is accepted, and the next step can be performed. If CR > 0.1, the judgment matrix needs to be adjusted to ensure consistency.
[0121] Secondly, a comprehensive evaluation will be conducted using the fuzzy comprehensive evaluation method. This method applies fuzzy logic to multi-factor evaluation, making it particularly suitable for handling complex problems involving fuzziness and uncertainty. We will use this method to evaluate four factors: CPU utilization, memory utilization, storage I / O utilization, and storage space quantity. We need to define the evaluation level and membership function for each factor, calculate the membership degree of each factor based on actual data, and finally obtain the final evaluation result through a weighted comprehensive evaluation.
[0122] 1. Define evaluation level and membership function
[0123] First, define the evaluation level (low, medium, high) and corresponding membership function for each factor. These functions map the actual data to fuzzy levels to reflect the degree of matching between the data and each evaluation level. Low (L): Indicates the factor is below a certain threshold. Medium (M): Indicates the factor is in the medium range, between low and high. High (H): Indicates the factor is above a certain threshold.
[0124] Membership function definition (the specific value can be adjusted according to the actual situation):
[0125] The membership function is a core concept in fuzzy sets, used to represent the degree to which an element belongs to a fuzzy set. The membership value ranges from 0 to 1, where 0 indicates not belonging to the set and 1 indicates full membership. Membership functions are typically piecewise linear functions used to map real-world data to fuzzy levels.
[0126] Here is an example illustrating the formula for calculating CPU utilization:
[0127] Low: μ_low(x)=max(0,min(1,(70-x) / 20))
[0128] Medium: μ_medium(x)=max(0,min(1,(x-60) / 10,(80-x) / 10))
[0129] High: μ_high(x)=max(0,min(1,(x-70) / 20))
[0130] The formulas for calculating memory utilization and I / O utilization are the same as those for calculating CPU utilization.
[0131] Here is an example illustrating the formula for calculating the amount of storage space (GB):
[0132] Low: μ_low(x)=max(0,min(1,(200-x) / 100))
[0133] Medium: μ_medium(x)=max(0,min(1,(x-100) / 100,(300-x) / 100))
[0134] High: μ_high(x)=max(0,min(1,(x-300) / 100))
[0135] 2. Map actual data to fuzzy membership degrees
[0136] Suppose we have the following actual data: CPU utilization = 75%, memory utilization = 65%, storage I / O utilization = 55%, and storage space = 200GB. Calculate the membership value for each actual data point:
[0137] CPU utilization (75%):
[0138] Low: μ_low(75)=max(0,min(1,(70-75) / 20))=max(0,min(1,-5 / 20))=max(0,min(1,-0.25))=0
[0139] Medium: μ_medium(75)=max(0,min(1,(75-60) / 10,(80-75) / 10))=max(0,min(1,15 / 10,5 / 10))=max(0,min(1,1.5,0.5))=0.5
[0140] High: μ_high(75)=max(0,min(1,(75-70) / 20))=max(0,min(1,5 / 20))=max(0,min(1,0.25))=0.25
[0141] Memory utilization (65%)
[0142] Low: μ_low(65)=max(0,min(1,(70-65) / 20))=max(0,min(1,5 / 20))=max(0,min(1,0.25))=0.25
[0143] Medium: μ_medium(65)=max(0,min(1,(65-60) / 10,(80-65) / 10))=max(0,min(1,5 / 10,15 / 10))=max(0,min(1,0.5,1.5))=0.5
[0144] High: μ_high(65)=max(0,min(1,(65-70) / 20))=max(0,min(1,-5 / 20))=max(0,min(1,-0.25))=0
[0145] Storage I / O utilization (55%)
[0146] Low: μ_low(55)=max(0,min(1,(70-55) / 20))=max(0,min(1,15 / 20))=max(0,min(1,0.75))=0.75
[0147] Medium: μ_medium(55)=max(0,min(1,(55-60) / 10,(80-55) / 10))=max(0,min(1,-5 / 10,25 / 10))=max(0,min(1,-0.5,2.5))=0
[0148] High: μ_high(55)=max(0,min(1,(55-70) / 20))=max(0,min(1,-15 / 20))=max(0,min(1,-0.75))=0
[0149] Storage space (200GB)
[0150] Low: μ_low(200)=max(0,min(1,(200-200) / 100))=max(0,min(1,0 / 100))=max(0,min(1,0))=0
[0151] Medium: μ_medium(200)=max(0,min(1,(200-100) / 100,(300-200) / 100))=max(0,min(1,100 / 100,100 / 100))=max(0,min(1,1,1))=1
[0152] High: μ_high(200)=max(0,min(1,(200-300) / 100))=max(0,min(1,-100 / 100))=max(0,min(1,-1))=0
[0153] 3. Construct a fuzzy evaluation matrix
[0154] The fuzzy evaluation matrix R is used to represent the fuzzy evaluation of each indicator by different evaluation levels. The rows of the matrix represent the evaluation levels, and the columns represent the fuzzy values of the evaluation indicators. Assuming there are four evaluation indicators, the fuzzy evaluation matrix R is:
[0155]
[0156] Wherein: Column 1 (“High”): R11, R12, R13, R14 represent the fuzzy numbers of the four indicators at the “High” level. Column 2 (“Medium”): R21, R22, R23, R24 represent the fuzzy numbers of the four indicators at the “Medium” level. Column 3 (“Low”): R31, R32, R33, R34 represent the fuzzy numbers of the four indicators at the “Low” level.
[0157] Fill the membership values into the fuzzy evaluation matrix (F):
[0158]
[0159] 4. Perform fuzzy synthesis calculations
[0160] Assume the weight vector (W) is:
[0161] W = [0.4 0.3 0.2 0.1]
[0162] Fuzzy comprehensive calculation using the weighted average method:
[0163] F = R * W, the calculation result is as follows:
[0164] F_low=(0.4*0)+(0.3*0.25)+(0.2*0.75)+(0.1*0)=0+0.075+0.15+0=0.225
[0165] F_medium=(0.4*0.5)+(0.3*0.5)+(0.2*0)+(0.1*1)=0.2+0.15+0+0.1=0.45
[0166] F_high=(0.4*0.25)+(0.3*0)+(0.2*0)+(0.1*1)=0.1+0+0+0.1=0.2
[0167] The final fuzzy comprehensive evaluation result F is: F = [0.225 0.45 0.2]
[0168] 5. Deblurring process
[0169] The results of the fuzzy comprehensive evaluation can be defuzzified, for example, by using a weighted average method:
[0170] The formula for defuzzing is: P = F_defuzz = (F_low * 1) + (F_medium * 2) + (F_high * 3)
[0171] Example calculation: P = F_defuzz = (0.225 * 1) + (0.45 * 2) + (0.2 * 3) = 0.225 + 0.9 + 0.6 = 1.725
[0172] Third, determine the adjustment method for the call frequency threshold based on the deblurring result. Specifically, first set evaluation indicators (which can be analyzed and adjusted according to the actual situation). For example: a high P-value (blurring result > 2.5) indicates good server performance, the single call chain call frequency threshold M is reasonably set, and no adjustment is needed. A medium P-value (2.5 = <blurring result > 1.5) indicates average server performance, possibly with some bottlenecks, requiring further analysis and adjustment of the single call chain call frequency threshold or server hardware configuration. A low P-value (blurring result = < 1.5) indicates poor server performance, requiring a reduction in the single call chain call frequency threshold M or an increase in server hardware configuration.
[0173] Example result analysis: In this example, P=1.725 is in the medium P value range, indicating that the current server performance is average and there may be some problems, which need to be continuously observed and analyzed.
[0174] Therefore, the system can adjust the frequency judgment "threshold" in real time based on the actual hardware load capacity. When resource utilization is high (such as CPU, memory, storage I / O, or space constraints), the system automatically generates a more conservative (i.e., lower) frequency threshold, thereby triggering fine-grained storage analysis of high-frequency links earlier and more strictly, avoiding increased system pressure due to data storage operations under high load. Conversely, when resources are abundant, the threshold is appropriately relaxed to optimize computing resource allocation. This effectively ensures that the execution of the storage strategy does not become a bottleneck for system performance, achieving a balance between resource sensitivity and storage decision accuracy, and improving the overall system robustness and resource utilization efficiency.
[0175] In one possible implementation, analyzing the stability information of fields in call chains with a clustering degree less than or equal to a preset threshold, and storing the corresponding call chain data based on the stability information includes: determining the call chain to be analyzed; extracting corresponding subgraph sketch data from the call chain to be analyzed; inputting the subgraph sketch data into a preset dynamic graph network model to obtain the output of the dynamic graph network model, and using the output as the predicted value of the change probability of the fields in the call chain data to be analyzed; determining the stability information of the fields based on the predicted value of the change probability, wherein if the stability information indicates that the field remains stable in future calls, the field is stored once; if the stability information indicates that the field may change in future calls, the field is stored incrementally.
[0176] It should be noted that the system first selects the call chain to be analyzed and extracts structured data (i.e., subgraph sketch data) representing key dependencies and call sequences from its call relationships. This data is input into a pre-defined dynamic graph network model, which learns and infers the dynamic evolution patterns of field values in the chain, outputting a predicted probability value (i.e., a predicted value of the probability of change) for each field in the future. Based on this prediction value, the system assigns explicit stability information to the field: if the predicted value shows that the field content remains constant or fluctuates very little, it is marked as stable; if the predicted value indicates that the field content changes frequently, it is marked as changing. The storage strategy is directly related to this information—single-time storage is performed on fields marked as stable (i.e., only one copy of the latest value is retained to avoid redundant records), while incremental storage is performed on fields marked as changing (i.e., all historical change sequences of the field are continuously recorded), thereby achieving fine-grained management of the data lifecycle.
[0177] The following details this possible implementation. To improve the storage efficiency of the entire monitoring system for link tracing data, incremental updates and aggregate queries are considered for data from individual call links. Determining the granularity of incremental updates is crucial; that is, which fields are stored fixedly, which fields are updated incrementally, and how the fixed-stored fields and incrementally updated data are aggregated into a complete query result. Granularity that is too large or too small will negatively impact overall efficiency. Too large a granularity will waste computing resources and cause slow operation, while too small a granularity will waste storage resources.
[0178] Consider using a graph neural network algorithm to solve this problem. The overall steps are as follows:
[0179] 1. Construct a basic graph analysis model for the call chain. This model integrates the various elements of the business call chain into a basic graph data structure model. Each node in the graph represents an application instance, and each edge represents a call relationship between two adjacent application instances. Statistical data for relevant fields, such as average response time, error rate, and average resource utilization per unit time, are labeled on the nodes and edges.
[0180] 2. Representative Data Sampling: The data sampling strategy involves sampling representative subgraph sketches from the large-scale call chain graph analysis model. These sketches should contain key data such as different call patterns and dynamic information. The purpose of representative data sampling is to reduce the amount of data processing while preserving the structural information and dynamic characteristics of the call chain.
[0181] The criteria for representative data are as follows:
[0182] Data diversity: Different call types: Select call chains that cover different types and business functions to ensure they represent different business scenarios. This can be achieved by combining the above-mentioned clustering calculation results to determine different business scenarios. Different load conditions: Include high-load and low-load scenarios to capture the system's performance under different pressures.
[0183] Data Distribution: Traffic Distribution: Selecting call chains that account for different proportions of traffic in the system to ensure that the analysis results represent the actual situation of the entire system. Time Distribution: Including data from different time periods, such as peak and off-peak periods, to reflect changes in the system.
[0184] Anomalous Data: Boundary Cases: Includes anomalous or extreme cases, such as request timeouts or faulty links, to test the system's robustness. Duplicate Cases: Highly frequent duplicate data points in the sampled data to understand the actual impact of data redundancy.
[0185] 3. Graph Neural Network Model Selection: The selection of a graph neural network model requires consideration of several factors, including: Graph Characteristics: Choose a model capable of handling the heterogeneity, directed connections, and dynamic changes of a graph. Node and Edge Features: Select a model that effectively integrates node and edge feature information for a better understanding of the graph's semantics. Learning Capability: Choose a model with strong representation learning capabilities to capture the complex structure of the graph and the relationships between nodes. Computational Efficiency: Choose a model with moderate computational complexity to ensure effective operation even in resource-constrained environments. Scalability: Choose a model that easily scales to large graph datasets, capable of handling large-scale graph learning and inference tasks. Training and Optimization: Choose a model that is easy to train, has good convergence, and can be fine-tuned using effective optimization algorithms.
[0186] The above considerations help ensure that the GNN model can effectively process call chain data while maintaining high storage and computational efficiency. Taking all factors into account, a Dynamic Graph Neural Network (DGNN) model is chosen because call chain data may evolve over time, and DGNN can adapt to this dynamic change, helping to maintain the timeliness and accuracy of the link data. Furthermore, since efficiency was already considered in the basic graph analysis model, representative subgraph sketches were selected as representative data; here, the focus is more on good adaptability to dynamically changing data. Using representative subgraph sketch data as input, a multi-layer GNN is used to compute the identifier vectors of nodes and edges, capturing their structural and dynamic characteristics within the link graph.
[0187] 4. Predicting changes in incremental storage fields
[0188] The GNN output is used to predict which fields are likely to change in future calls and which are likely to remain stable. Based on the prediction results and actual business needs, fields predicted to remain stable are stored only once to prevent data duplication; fields predicted to change are stored incrementally; and when complete data is needed, it is retrieved separately and aggregated for querying. This process is adjusted once per data analysis cycle.
[0189] 5. Periodic adjustments and optimizations
[0190] Based on the data analysis cycle calculated according to the actual call aggregation degree of a single call chain, call chains with a call frequency greater than or equal to the predetermined call frequency are periodically retrained to adapt to changes in call patterns and business requirements and achieve the optimal solution.
[0191] As a result, this mechanism significantly improves the storage efficiency and data value density of low-cluster call links: by accurately predicting the changing trends of fields through a dynamic graph network model, stability information is used as the basis for judging storage operations, thereby avoiding the repeated storage of static fields and occupying resources. At the same time, the historical trajectory of highly variable fields is fully recorded to meet the needs of traceability analysis. Ultimately, while ensuring that key data evolution information is not lost, the overall storage cost is effectively reduced and query performance is accelerated.
[0192] It should also be noted that the methods shown in the above embodiments can be applied to... Figure 3 The device shown consists of the following parts: a console (platform visualization page), a control plane (platform components), and a data plane (agent probes in the business system). The most crucial part is the control plane (platform components): the data intelligent analysis and processing component, the data storage and retrieval component, and the data acquisition component. The agent probes on the data plane automatically collect business indicator data and link call data according to preset rules and report them to the data acquisition component on the control plane. Then, after analysis and processing by the data storage and retrieval component, the data is reported back to the data storage and retrieval component and stored in the database. The console (platform visualization page) reads the data through the data intelligent analysis and processing component and issues configuration information.
[0193] In summary, this application proposes a method based on certain rules and graph neural network algorithms to dynamically adjust the granularity of stored data according to the complexity, frequency, and aggregation degree of the call chain, thereby achieving automated incremental updates and aggregate queries of link tracing data. This improves the overall storage efficiency of the monitoring system and achieves optimal observability of link tracing data at a lower cost. Compared with the prior art, the solution shown in this application has the following advantages:
[0194] Customized dynamic graph processing: The self-designed GNN model can be customized according to specific business needs and data characteristics, better adapting to the dynamic changes of link tracing data, while open source solutions may be limited in flexibility.
[0195] Optimized data storage strategy: Using AI (Artificial Intelligence) algorithms to determine which data fields are stored once and which fields are updated incrementally can reduce redundant storage and improve storage efficiency. This strategy may not have been fully optimized in open source solutions.
[0196] Improve computational efficiency: Through carefully designed model structures and algorithms, computational efficiency can be improved while maintaining accuracy, which is especially important for processing large-scale link tracing data.
[0197] Reduce resource waste: Incremental updates to storage can reduce unnecessary data copying and storage, thereby saving computing and storage resources.
[0198] Adaptability and scalability: Custom-designed solutions can more easily adapt to future business changes and data growth, providing better scalability.
[0199] Figure 4 This application illustrates a data storage device for a call chain according to an embodiment of the present application. The device 40 includes:
[0200] The determination module 401 is used to determine the degree of aggregation of each call chain in at least one call chain;
[0201] Execution module 402 is used to determine whether the degree of aggregation is greater than a preset threshold;
[0202] If the aggregation level exceeds a preset threshold, the data of the corresponding call chain will be fully stored.
[0203] If the degree of aggregation is less than or equal to the preset threshold, then determine whether the call frequency of the corresponding call chain is greater than the current call frequency threshold.
[0204] If the call frequency is greater than the current link call frequency threshold, analyze the stability information of the fields of the call links whose aggregation degree is less than or equal to the preset threshold, and store the data of the corresponding call links according to the stability information.
[0205] In one possible implementation, the execution module 402 is further configured to determine the current statistical period of the aggregation degree of the call chain, and to determine the total number of business requests in the period and the total number of peak business requests in the call chain, wherein the total number of peak business requests is the sum of the number of business requests in all peak periods of the call chain in the statistical period, and the total number of business requests in the period is the sum of the number of all business requests in the call chain in the statistical period.
[0206] The degree of clustering is determined based on the proportion of peak total business request volume to the total business request volume of the cycle.
[0207] The peak period is defined as the period in which the number of business requests exceeds the peak threshold. The peak threshold is determined based on a preset peak coefficient and the average number of business requests. The average number of business requests is the quotient of the total number of business requests in a period and a preset unit time period.
[0208] In one possible implementation, the current statistical period can be dynamically adjusted based on the historical aggregation level of the call chain; the greater the historical aggregation level of the call chain, the smaller the current statistical period.
[0209] In one possible implementation, the execution module 402 is further configured to determine the current link call frequency threshold based on the resource status of the system where the call link is located, the hierarchical analysis method, and the fuzzy evaluation method before determining whether the call frequency of the corresponding call link is greater than the current link call frequency threshold. The resource status includes at least one of the following: CPU utilization, memory utilization, storage IO utilization, and storage space quantity.
[0210] In one possible implementation, the execution module 402 is further configured to set a weight value for each resource state in at least one resource state based on the analytic hierarchy process.
[0211] Based on the fuzzy evaluation method, the membership value of each resource state is calculated;
[0212] Construct a fuzzy evaluation matrix based on membership values;
[0213] Based on the fuzzy evaluation matrix and weight values, fuzzy comprehensive operation is performed to obtain the fuzzy comprehensive evaluation result;
[0214] The fuzzy comprehensive evaluation results are defuzzified to obtain the evaluation score;
[0215] The adjustment method for the link call frequency threshold is determined based on the evaluation score, and the current link call frequency threshold is determined based on the adjustment method.
[0216] In one possible implementation, the execution module 402 is further configured to determine the call chain to be analyzed, and extract the corresponding subgraph sketch data from the call chain to be analyzed.
[0217] The subgraph sketch data is input into the preset dynamic graph network model to obtain the output of the dynamic graph network model. The output is used as the predicted value of the change probability of the fields of the data in the call chain to be analyzed.
[0218] Based on the predicted values of the probability of change, determine the stability information of the field;
[0219] If the stability information indicates that the field will remain stable in future calls, then the field will be stored once; if the stability information indicates that the field may change in future calls, then the field will be stored incrementally.
[0220] In summary, this embodiment analyzes the clustering degree and call frequency of call links to dynamically determine the data storage strategy. Links with a clustering degree exceeding a preset threshold are stored in their entirety; while links with a low clustering degree but high call frequency are stored based on stability information. This achieves efficient data management and resource optimization, improves system data storage efficiency, and ensures optimal observability of link tracing data.
[0221] This application provides a network device 50, such as... Figure 5 As shown, the network device 50 includes a processor 501, a memory 502, and a program stored in the memory 502 and executable on the processor 501. When the program is executed by the processor 501, it implements the steps of a data storage method for a call link as shown in the above embodiment.
[0222] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the steps of a data storage method for a call chain as shown in the above embodiments, achieving the same technical effect. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0223] This application also provides a computer program product, including computer instructions. When executed by a processor, the computer instructions implement the steps of the data storage method for a call chain shown in the above embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0224] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0225] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0226] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A data storage method for a call chain, characterized in that, The method includes: Determine the degree of aggregation for each of the at least one call chain; Determine whether the degree of aggregation is greater than a preset threshold; If the degree of aggregation is greater than the preset threshold, then the data of the corresponding call chain is fully stored; If the degree of aggregation is less than or equal to the preset threshold, then determine whether the call frequency of the corresponding call chain is greater than the current link call frequency threshold; If the call frequency is greater than the current link call frequency threshold, then analyze the stability information of the fields of the call links whose aggregation degree is less than or equal to the preset threshold, and store the data of the corresponding call links according to the stability information.
2. The method according to claim 1, characterized in that, In each of at least one call chain, the degree of aggregation of each call chain includes: The current statistical period for determining the aggregation level of the call chain is determined, and the total service request volume and peak total service request volume of the call chain are determined, wherein the peak total service request volume is the sum of the number of service requests of the call chain during all peak periods within the statistical period, and the total service request volume is the sum of the number of all service requests of the call chain within the statistical period; The degree of aggregation is determined based on the proportion of the peak total service request volume in the total service request volume of the period. The peak period is defined as the period in which the number of service requests exceeds the peak determination threshold. The peak determination threshold is determined based on a preset peak coefficient and the average number of service requests. The average number of service requests is the quotient of the total number of service requests in a period and a preset unit time period.
3. The method according to claim 2, characterized in that, The current statistical period can be dynamically adjusted based on the historical aggregation degree of the call chain. The greater the historical aggregation degree of the call chain, the smaller the current statistical period.
4. The method according to claim 1, characterized in that, Before determining whether the call frequency of the corresponding call chain is greater than the current call frequency threshold, the method further includes: Based on the resource status of the system where the call link is located, the hierarchical analysis method, and the fuzzy evaluation method, the current link call frequency threshold is determined, wherein the resource status includes at least one of the following: CPU utilization, memory utilization, storage IO utilization, and storage space quantity.
5. The method according to claim 4, characterized in that, Based on the resource status of the system where the call chain resides, the hierarchical analysis method, and the fuzzy evaluation method, the current call frequency threshold for the link is determined as follows: Based on the analytic hierarchy process, a weight value is set for each resource state in the at least one resource state. Based on the fuzzy evaluation method, the membership value of each resource state is calculated; Construct a fuzzy evaluation matrix based on the membership values; Based on the fuzzy evaluation matrix and the weight values, fuzzy comprehensive operation is performed to obtain the fuzzy comprehensive evaluation result; The fuzzy comprehensive evaluation results are defuzzified to obtain the evaluation score; The adjustment method for the link call frequency threshold is determined based on the evaluation score, and the current link call frequency threshold is determined based on the adjustment method.
6. The method according to claim 1, characterized in that, Analyzing the stability information of fields in the data of call chains with a aggregation degree less than or equal to the preset threshold, and storing the corresponding call chain data based on the stability information includes: The call chain to be analyzed is determined, and the corresponding subgraph sketch data is extracted from the call chain to be analyzed. The subgraph sketch data is input into a preset dynamic graph network model to obtain the output of the dynamic graph network model. The output is used as a predicted value of the change probability of the fields of the data of the call chain to be analyzed. Based on the predicted value of the change probability, the stability information of the field is determined; If the stability information indicates that the field remains stable in future calls, then the field is stored once. If the stability information indicates that the field may change in future calls, then the field is incrementally stored.
7. A data storage device for a call chain, characterized in that, The device includes: The determination module is used to determine the degree of aggregation of each of the at least one call chain; The execution module is used to determine whether the aggregation degree is greater than a preset threshold; If the degree of aggregation is greater than the preset threshold, then the data of the corresponding call chain is fully stored; If the degree of aggregation is less than or equal to the preset threshold, then determine whether the call frequency of the corresponding call chain is greater than the current link call frequency threshold; If the call frequency is greater than the current link call frequency threshold, then analyze the stability information of the fields of the call links whose aggregation degree is less than or equal to the preset threshold, and store the data of the corresponding call links according to the stability information.
8. A network device, characterized in that, include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of a data storage method for a call chain as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of a data storage method for a call chain as described in any one of claims 1 to 6.
10. A computer program product, characterized in that, It includes computer instructions that, when executed by a processor, implement the steps of a data storage method for a call chain as described in any one of claims 1 to 6.