A method, apparatus and device for determining service traffic dependency relationship

By acquiring and analyzing relevant business traffic data, the dependencies between business traffic flows are automatically determined, solving the problem of efficient identification of business traffic dependencies in Internet platforms and improving the real-time performance and efficiency of fault prevention and control.

CN118740596BActive Publication Date: 2026-07-10ALIPAY (HANGZHOU) INFORMATION TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
Filing Date
2024-07-23
Publication Date
2026-07-10

Smart Images

  • Figure CN118740596B_ABST
    Figure CN118740596B_ABST
Patent Text Reader

Abstract

The embodiment of the specification discloses a kind of service traffic dependency relationship determination method, device and equipment.The scheme can include: by according to service traffic generation time, each service traffic of target service entity is sorted, the first association between the service traffic can be obtained;By establishing the second association between the target field with the same field value in the request traffic data and response traffic data of different service traffic, and further determining the core association field from the target field, which can be used to identify the multiple service traffic involved in the process of target service entity in handling the same service, so as to automatically and efficiently determine the dependency relationship between each service traffic of target service entity in combination with the second association between the core association field and the first association.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of traffic orchestration technology, and in particular to a method, apparatus and equipment for determining business traffic dependencies. Background Technology

[0002] With the continuous development of internet technology, people are increasingly using internet platforms to conduct business. During this process, users often interact multiple times with the service provider's server using their terminal devices, resulting in sequential and dependent relationships between various business traffic flows generated during these interactions. Currently, to promptly identify and prevent potential faults and problems during business transactions, service provider staff typically need to manually analyze the dependencies between the various business flows involved in the process. This allows them to replay the traffic based on these dependencies, thus meeting the needs for fault prevention.

[0003] Therefore, how to automatically and efficiently determine the dependencies between various business flows of business entities involved in the business process has become an urgent technical problem to be solved. Summary of the Invention

[0004] The embodiments of this specification provide a method, apparatus, and device for determining business traffic dependencies, which can automatically and efficiently determine the dependencies between various business traffic flows of business entities involved in the business processing.

[0005] To solve the above-mentioned technical problems, the embodiments in this specification are implemented as follows:

[0006] This specification provides an embodiment of a method for determining business traffic dependencies, including:

[0007] Obtain traffic-related data of each business traffic of the target business entity processed by the service provider's server within a preset time period; wherein, the traffic-related data includes: request traffic data and response traffic data;

[0008] The business traffic is sorted according to its generation time to obtain the first correlation between the business traffic.

[0009] A second association relationship is established between the request traffic data and the target field with the same field value in the response traffic data for different types of business traffic;

[0010] From the target field, determine the core association field between different business flows; wherein, the core association field is a field that can be used to identify multiple business flows involved in the same business process of the target business entity;

[0011] The dependencies between the business traffic are determined based on the second association relationship between the core association fields and the first association relationship.

[0012] This specification provides an embodiment of a service traffic dependency determination device, comprising:

[0013] The first acquisition module is used to acquire traffic-related data of each business traffic of the target business entity processed by the service provider's server within a preset time period; wherein, the traffic-related data includes: request traffic data and response traffic data;

[0014] The sorting module is used to sort the various business traffic flows according to their generation time to obtain a first correlation between the business traffic flows.

[0015] The relationship establishment module is used to establish a second association relationship between the request traffic data and the target field with the same field value in the response traffic data for different business traffic.

[0016] The first determining module is used to determine the core association field between different business flows from the target field; wherein, the core association field is a field that can be used to identify multiple business flows involved in the process of the target business entity handling the same business;

[0017] The second determining module is used to determine the dependency relationship between the business traffic based on the second association relationship between the core association fields and the first association relationship.

[0018] This specification provides an embodiment of a service traffic dependency determination device, comprising:

[0019] At least one processor; and,

[0020] A memory communicatively connected to the at least one processor; wherein,

[0021] The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enable the at least one processor to:

[0022] Obtain traffic-related data of each business traffic of the target business entity processed by the service provider's server within a preset time period; wherein, the traffic-related data includes: request traffic data and response traffic data;

[0023] The business traffic is sorted according to its generation time to obtain the first correlation between the business traffic.

[0024] A second association relationship is established between the request traffic data and the target field with the same field value in the response traffic data for different types of business traffic;

[0025] From the target field, determine the core association field between different business flows; wherein, the core association field is a field that can be used to identify multiple business flows involved in the same business process of the target business entity;

[0026] The dependencies between the business traffic are determined based on the second association relationship between the core association fields and the first association relationship.

[0027] At least one embodiment provided in this specification can achieve the following beneficial effects:

[0028] By sorting the various business traffic flows of the target business entity according to their generation time, a first association between these flows can be obtained. A second association is established between target fields with the same field value in the request and response traffic data of different business flows. Furthermore, core association fields that can identify multiple business flows involved in the same business transaction of the target business entity are determined from these target fields. By combining the second association between these core association fields and the first association, the dependencies between the various business flows of the target business entity can be automatically and efficiently determined. This solution, because it eliminates the need for manual identification and construction of dependencies between the various business flows of the target business entity, improves the efficiency of identifying and constructing dependencies. This enhances the real-time performance of traffic replay based on the dependencies between the various business flows of the target business entity, thereby improving the real-time identification of faults during business processing. Attached Figure Description

[0029] To more clearly illustrate the technical solutions in the embodiments or prior art of this specification, the drawings used in the description of the embodiments or prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0030] Figure 1 This is a schematic diagram illustrating an application scenario of a method for determining business traffic dependencies provided in the embodiments of this specification.

[0031] Figure 2A flowchart illustrating a method for determining business traffic dependencies provided in an embodiment of this specification;

[0032] Figure 3 This diagram illustrates a dependency relationship between service traffic as provided in an embodiment of this specification.

[0033] Figure 4 The embodiments provided in this specification correspond to Figure 2 A swimlane flowchart illustrating the method for determining business traffic dependencies in a given context.

[0034] Figure 5 The embodiments provided in this specification correspond to Figure 2 A schematic diagram of a device for determining business traffic dependencies;

[0035] Figure 6 The embodiments provided in this specification correspond to Figure 2 A schematic diagram of the structure of a device for determining business traffic dependencies. Detailed Implementation

[0036] To make the objectives, technical solutions, and advantages of one or more embodiments of this specification clearer, the technical solutions of one or more embodiments of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of them. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the protection scope of one or more embodiments of this specification.

[0037] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.

[0038] In existing technologies, internet platforms involve complex businesses and large user bases, making online fault prevention difficult and resulting in significant business impacts. Therefore, the demand for fault prevention is increasingly strong. Among various fault prevention capabilities, replaying orchestrated business traffic in a simulation environment is one effective method. Business traffic essentially refers to the repeated accesses of objects served by internet services. These accesses typically have dependencies in terms of sequence and information transmission. Simply randomly copying and replaying individual business traffic streams usually cannot accurately simulate production business scenarios. Therefore, how to automatically and efficiently determine the dependencies between the various business traffic streams of the business entities involved in the business process has become a pressing technical problem to be solved.

[0039] To address the shortcomings of existing technologies, this solution provides the following embodiments:

[0040] Figure 1 This is a schematic diagram illustrating an application scenario of a method for determining business traffic dependencies provided in an embodiment of this specification.

[0041] like Figure 1 As shown, service requesters can interact with the service provider's server 102 using terminal device 101 to handle business and obtain required services. Based on this, when the service provider needs to orchestrate and replay the business traffic generated during business processing, it can use target device 103 to obtain traffic-related data of each business traffic of the target business entity processed by the server 102 within a preset time period from the service provider's server 102; wherein, the traffic-related data may include: request traffic data and response traffic data. Target device 103 can also sort each business traffic according to the business traffic generation time to obtain a first association relationship between the business traffic; and establish a second association relationship between target fields with the same field value in the request traffic data and response traffic data of different business traffic; and determine the core association field between different business traffic from the target field; wherein, the core association field is a field that can be used to identify multiple business traffic involved in the same business process of the target business entity; so as to automatically determine the dependency relationship between the business traffic based on the second association relationship and the first association relationship between the core association fields.

[0042] Next, a method for determining business traffic dependencies provided in the embodiments of the specification will be described in detail with reference to the accompanying drawings:

[0043] Figure 2 This is a flowchart illustrating a method for determining business traffic dependencies provided in an embodiment of this specification. From a programming perspective, the entity executing this process can be a service provider's device, or an application installed on the service provider's device. Figure 2 As shown, the process may include the following steps:

[0044] Step 202: Obtain traffic-related data of each business traffic of the target business entity processed by the service provider's server within a preset time period; wherein, the traffic-related data includes: request traffic data and response traffic data.

[0045] In the embodiments of this specification, the business traffic of the target business entity can refer to the business requests initiated by the business entities involved in the business processing. The type of the target business entity can be set according to actual needs. For example, the target business entity can be a service provider, a service requester, a business order between two parties, or a specified process or step in the business order processing, etc., without specific limitations.

[0046] In practical applications, the business traffic typically includes HTTP messages (Hypertext Transfer Protocol messages). Since HTTP messages can include both HTTP request messages and HTTP response messages, the traffic-related data for the business traffic can include request traffic data and response traffic data. Request traffic data refers to HTTP request data sent by the user to the server to request a specified resource or service, while response traffic data refers to the response data generated by the server after processing the user's HTTP request data. Because the types of business requests involved in the processing of different businesses often vary, the specific content of the traffic-related data for each business traffic of different target business entities will also often differ; therefore, no specific limitations are imposed.

[0047] In the embodiments of this specification, due to Figure 2 The method described above must not interfere with the normal operation of the business. Therefore, the acquisition of traffic-related data for each business traffic mentioned in step 202 does not refer to moving or transferring the traffic-related data for each business traffic on the server. Rather, it refers to acquiring data consistent with the traffic-related data for each business traffic on the server while keeping the existing traffic-related data on the server unchanged. This is equivalent to generating backup data of the traffic-related data for each business traffic on the server. Similarly, Figure 2 The processing of traffic-related data for each service traffic mentioned in the subsequent steps of the solution does not involve directly processing the traffic-related data for each service traffic on the server, but rather processing the backup data obtained in step 202. This will not be elaborated further.

[0048] Step 204: Sort each of the business traffic according to the business traffic generation time to obtain the first correlation between the business traffic.

[0049] In this embodiment of the specification, since the dependency relationship between different service traffic flows is related to the generation time order of each service traffic flow, for example, service traffic flows generated later typically need to rely on data from service traffic flows generated earlier, but service traffic flows generated earlier do not need to rely on data from service traffic flows generated later. Therefore, it is necessary to sort the service traffic flows according to their respective generation times to obtain a first correlation relationship between the service traffic flows. Specifically, this first correlation relationship can be used to reflect whether any service traffic flow is earlier or later than other service traffic flows.

[0050] Step 206: Establish a second association relationship between the target fields with the same field values ​​in the request traffic data and response traffic data for different types of business traffic.

[0051] In this embodiment of the specification, since the dependencies between different service traffic flows are also related to the data that needs to be transmitted between them, if any two service traffic flows contain fields with the same value, then that field may belong to the target field used to characterize the dependency relationship between the two service traffic flows. Based on this, to ensure the comprehensiveness of the dependencies found between different service traffic flows, a second association relationship can be established in advance between target fields with the same value in the request traffic data and response traffic data of different service traffic flows. Specifically, the second association relationship can be used to reflect the target field that needs to be transmitted between any two service traffic flows.

[0052] Step 208: Determine the core association field between different business flows from the target field; wherein the core association field is a field that can be used to identify multiple business flows involved in the same business process of the target business entity.

[0053] In the embodiments of this specification, since some fields in the traffic-related data of business traffic have highly generalizable values, such as enumeration values ​​like true / false, 0 / 1, or unique identifiers of products / services that users need to obtain; and since the traffic-related data of business traffic also contains some fields that do not need to be transmitted, such as timestamp information, it is necessary to further identify from the target fields the core association fields that can be used to identify multiple business traffic involved in the same business transaction by the target business entity. This is to ensure the accuracy and conciseness of the established dependency relationships when establishing dependencies between different business traffic based on the core association fields, and to improve the running efficiency when performing traffic replay based on the dependency relationships.

[0054] Step 210: Determine the dependency relationship between the business traffic based on the second association relationship between the core association fields and the first association relationship.

[0055] In this embodiment of the specification, the dependency relationship between business traffic is generated by combining the second dependency relationship between core associated fields and the first dependency relationship between different business traffic. The first dependency relationship can be used to reflect the generation time order between various business traffic, and the second dependency relationship can be used to reflect the core associated fields that need to be transmitted between various business traffic involved in the process of handling the same business. Therefore, based on the dependency relationship between business traffic, accurate traffic orchestration can be achieved for various business traffic involved in the process of handling the same business, which facilitates traffic playback of the process of handling the business and timely identification of possible faults and problems in the process of handling such business.

[0056] Figure 2 The method described above, because it eliminates the need for manual identification and construction of dependencies between various business traffic flows of the target business entity, is conducive to improving the efficiency of identifying and constructing dependencies between various business traffic flows of the target business entity. This, in turn, improves the real-time performance of traffic replay based on the dependencies between various business traffic flows of the target business entity, and further improves the real-time performance of identifying faults that exist during business processing.

[0057] based on Figure 2 In addition to the method described in the embodiments of this specification, some specific implementation schemes of the method are also provided, which will be described below.

[0058] Since, under normal circumstances, the request traffic data of business traffic generated at a later time will contain some fields from the response traffic data of business traffic generated at an earlier time, the business traffic may include: a first business traffic and a second business traffic, and the business traffic generation time of the first business traffic is earlier than the traffic generation time of the second business traffic.

[0059] Correspondingly, step 206: Establishing a second association between the target fields with the same field values ​​in the request traffic data and response traffic data for different service traffic types may specifically include:

[0060] A second association relationship is established between the response traffic data of the first service traffic and the target field with the same field value in the request traffic data of the second service traffic.

[0061] In addition, since the request traffic data of some business traffic generated at a later time may also contain some fields from the request traffic data of earlier time business traffic, step 206 may also include: establishing a second association relationship between the target fields with the same field values ​​in the request traffic data of the first business traffic and the request traffic data of the second business traffic.

[0062] In addition, there may be cases where the response traffic data of some business traffic generated later needs to include some fields from the request traffic data and response traffic data of earlier business traffic. Based on this, step 206 may further include: establishing a second association relationship between target fields with the same field value in the request traffic data of the first business traffic and the response traffic data of the second business traffic, and / or establishing a second association relationship between target fields with the same field value in the response traffic data of the first business traffic and the response traffic data of the second business traffic. Further details are omitted.

[0063] In the embodiments described in this specification, brute-force enumeration is a simple and straightforward algorithmic approach, also known as exhaustive search. Its basic idea is to try all possible scenarios of a problem one by one and find a solution that meets the given conditions. Because it can simply and directly consider all possible situations, it is generally suitable for solving problems with relatively small data volumes. Therefore, when it is necessary to initially establish a relatively comprehensive set of relationships between business traffic flows, the brute-force enumeration algorithm can be used.

[0064] Specifically, establishing a second association between the response traffic data of the first service traffic and the target field with the same field value in the request traffic data of the second service traffic may include:

[0065] For each first field in the response traffic data of the first service traffic, generate each first key-value pair; wherein, the first field corresponds one-to-one with the first key-value pair, the key data in the first key-value pair is the field name of the first field, and the value data in the first key-value pair is the field value of the first field.

[0066] For each second field in the request traffic data of the second service traffic, generate each second key-value pair; wherein, the second field corresponds one-to-one with the second key-value pair, the key data in the second key-value pair is the field name of the second field, and the value data in the second key-value pair is the field value of the second field.

[0067] Using a brute-force enumeration algorithm, a consistency match is performed between the value data in each of the first key-value pairs and each of the second key-value pairs to obtain the matching results.

[0068] If the matching result indicates that the value data in any first key-value pair is consistent with the value data in any second key-value pair, then a second association relationship is established between the key data in any first key-value pair and the key data in any second key-value pair.

[0069] In the embodiments of this specification, the response traffic data and the request traffic data typically contain pairs of field names and field values. The field names reflect the data type and meaning, while the field values ​​reflect the specific values ​​of a certain type of data. Since the key data (key) in a key-value pair can be used as an index of an element, and the value data (value) represents the value of the stored and retrieved element, it has advantages such as simplicity, small size, strong versatility, and good scalability, making it suitable for scenarios requiring fast data lookup and updates. Based on this, to improve the efficiency of the solution, the first field in the response traffic data of the first business traffic can be converted into a first key-value pair, and the second field in the request traffic data of the second business traffic can be converted into a second key-value pair, thereby enabling brute-force enumeration of multiple key data with the same value in the first and second key-value pairs.

[0070] When converting the first field into the first key-value pair, the field name of the first field is used as the key (key1) and the field value of the first field is used as the value (value1). Similarly, the field name of the second field can be used as the key (key2) and the field value of the second field can be used as the value (value2); this will not be elaborated further. If a brute-force enumeration algorithm identifies that a certain first key-value pair and a certain second key-value pair have the same value (i.e., value1 = value2), then a second association relationship can be established between key1 corresponding to value1 and key2 corresponding to value2.

[0071] It is understandable that although the value data of the first key-value pair and the second key-value pair are the same, there may be differences between their key data. For example, suppose there is a first key-value pair indicating "whether the user has successfully paid", with its corresponding value data using 1 / 0 to represent success / failure, and a second key-value pair indicating "whether the user is making a purchase for the first time", with its corresponding field value using 1 / 0 to represent yes / no. In this case, although the value data of the first key-value pair and the second key-value pair may be the same (e.g., both are 0, or both are 1), the meaning of the key data of the first key-value pair and the second key-value pair is not consistent (one indicates whether the user has successfully paid, and the other indicates whether the user is making a purchase for the first time). In this case, the second association relationship established based on the key data of the first key-value pair and the second key-value pair should generally not be used to establish a dependency relationship between traffic data. Therefore, other methods are needed to filter out this interfering second association relationship.

[0072] In addition, in other scenarios, even if the values ​​of the first and second key-value pairs are identical, and the meanings of their keys are also the same, their key data may still differ. For example, one key might be "name" and the other "name"; or one key might be "session object identifier" and the other "session," etc. Subsequently, a second association can be established based on the key data of both the first and second key-value pairs to improve the complexity of the second association. Alternatively, the key data of the first key-value pair corresponding to the response traffic data of the first business traffic can be prioritized to establish the second association, reducing the data volume. No specific limitations are imposed on this approach.

[0073] Similarly, when it is necessary to establish a second association between the response traffic data of the first business traffic and the response traffic data of the second business traffic, or when it is necessary to establish a second association between the request traffic data of the first business traffic and the request / response traffic data of the second business traffic, the same principle can be used, which will not be elaborated further.

[0074] In the embodiments of this specification, since the processing of a single business often involves multiple business entities, in actual applications, there may be a need to replay each business traffic involved in a single business entity individually, or there may be a need to replay the business traffic of multiple business entities involved in a single business collaboratively.

[0075] Based on this, the number of target business entities can be equal to 1, in which case the first business traffic and the second business traffic can belong to the same business entity; or, the number of target business entities can be greater than 1, in which case the first business traffic and the second business traffic can belong to the same business entity, and / or, the first business traffic and the second business traffic can belong to different business entities.

[0076] In the embodiments of this specification, when it is only necessary to determine the dependency relationship between the various business traffic of a single target business entity, it is obvious that regardless of whether the business traffic is generated earlier or later, the first business traffic and the second business traffic can belong to the same business entity. In this case, the second association relationship represents the data that may need to be transmitted between the business traffic of a single target business entity.

[0077] When it is necessary to determine the dependencies between the various business traffic of multiple target business entities, in addition to identifying the dependencies between the various business traffic of the same target business entity, it is often also necessary to identify the dependencies between the business traffic of different target business entities. Based on this, the first business traffic and the second business traffic can belong to the same business entity, or they can belong to different business entities. This allows the second association relationship to also characterize the data that may need to be transmitted between the business traffic of multiple target business entities. This will not be elaborated further.

[0078] Because service providers' servers often take different amounts of time to respond to different business requests, there may be situations where the request traffic data for one business traffic is generated earlier than the request traffic data for another business traffic, but the response traffic data for the first business traffic is generated later than the response traffic data for the second business traffic. However, since the various stages / steps of a business process have a fixed execution order, and the various request traffic data generated during the business process correspond to the respective stages / steps of the business process, the generation time of each request traffic data can more accurately reflect the dependencies between the corresponding business traffic.

[0079] Based on this, step 204: Sort each of the service traffic according to the service traffic generation time to obtain the first correlation between the service traffic, which may specifically include:

[0080] Obtain the timestamp information carried in the request traffic data of each of the aforementioned business traffic flows.

[0081] The service traffic is sorted according to the timestamp information of each service traffic in ascending order to obtain the first association relationship between the service traffic.

[0082] In the embodiments of this specification, the timestamp information carried in the request traffic data is typically used to reflect the initiation time or generation time of the corresponding business request. Since in practical applications, it is usually necessary to replay each business traffic in ascending order of initiation / generation time, the business traffic can be sorted according to the timestamp information in the request traffic data of each business traffic in ascending order to obtain the first association relationship between the business traffic. Alternatively, the business traffic can also be sorted according to the timestamp information in the request traffic data of each business traffic in ascending order to obtain the first association relationship between the business traffic; this will not be elaborated upon further.

[0083] In practical applications, in order to make the process of determining the dependencies between business traffic simpler and clearer, the first association relationship is often established first between the various business traffic of a single target business entity.

[0084] Based on this, if the number of target business entities is greater than or equal to 1, then sorting the business traffic according to the timestamp information of each business traffic in ascending order to obtain the first association relationship between the business traffic may specifically include:

[0085] For any target business entity, the service traffic initiated by the target business entity is sorted according to the timestamp information of each service traffic initiated by the target business entity from earliest to latest, to obtain a first association relationship between the service traffic initiated by the target business entity.

[0086] In addition, the step of sorting the various service traffic flows according to their timestamp information from earliest to latest to obtain the first association relationship between the service traffic flows may further include:

[0087] For any two target business entities, determine whether the timestamp information of each business traffic initiated by one target business entity is earlier than the timestamp information of each business traffic initiated by the other target business entity.

[0088] If so, a first association relationship is established between the latest business traffic initiated by one of the target business entities and the earliest business traffic initiated by the other target business entity.

[0089] In this embodiment, the generation order of each service traffic of different target business entities can be determined without establishing a first association relationship between any two service traffic flows of different target business entities, which is convenient and efficient. Of course, when the number of target business entities is greater than 1, a corresponding first association relationship can also be established between each pair of service traffic flows of different target business entities, which will not be elaborated on here.

[0090] In this embodiment, to simplify the dependencies between business traffic, it is necessary to screen out the most critical fields that must be transmitted between business traffic from the target fields and use them as core association fields. This allows for the establishment of dependencies between business traffic based on the second association relationship between these core association fields. For ease of understanding, an implementation method for obtaining the core association fields is provided here.

[0091] Specifically, step 208: Determining the core correlation fields between different business traffic flows from the target fields may include:

[0092] For any of the target fields, based on the consistency between the historical field values ​​of the target field, determine whether the target field belongs to the core association field; and / or,

[0093] For any of the target fields, based on the consistency between the actual field value of the target field in the business traffic and the simulated field value of the target field, it is determined whether the target field belongs to the core associated field.

[0094] In the embodiments of this specification, since the core association field can be used to identify multiple business flows involved in the process of a target business entity handling a certain business, the field values ​​of the core association field corresponding to each business are usually different, that is, the field values ​​of the core association field are usually unique.

[0095] Therefore, if the consistency of the target field values ​​across different historical traffic flows is good, it indicates that the target field values ​​are the same across multiple historical traffic flows, meaning the target field value is not unique, and thus it can be determined that the target field does not belong to the core associated field. Conversely, if the target field values ​​are different across multiple historical traffic flows, it indicates that the target field may belong to the core associated field.

[0096] Alternatively, since the values ​​of the core associated fields are typically unique, often due to a degree of randomness in their values, even when replaying the same business traffic in a simulation environment, or processing the same business traffic multiple times using the same server, the values ​​of the core associated fields in the resulting business traffic data are usually not the same. Therefore, the actual and simulated values ​​of the target field can be compared. If they match, the target field's value is neither random nor unique, and thus it can be determined that the target field does not belong to the core associated fields. If they do not match, it indicates that the target field may belong to the core associated fields.

[0097] In practical applications, determining whether a target field belongs to the core association field based on the consistency between historical field values ​​of the target field can specifically include:

[0098] Obtain historical traffic-related data that belongs to the same category as the historical traffic belonging to the target field.

[0099] Determine whether the compression ratio of the target field value in the historical traffic-related data is greater than a first threshold; wherein, the field value compression ratio is the quotient of the number of types of field values ​​of the target field in the historical traffic-related data to the total number of types; or,

[0100] Determine whether the degree of difference in the distribution of the target field value in the historical traffic-related data within different time periods is greater than a second threshold.

[0101] In the embodiments of this specification, since the meaning and value taking principle of the same field of the same type of business traffic are consistent, when it is necessary to determine whether the target field obtained in step 202 belongs to the core associated field with uniqueness, it is necessary to obtain the historical traffic related data of the historical business traffic belonging to the same type as the business traffic to which the target field belongs.

[0102] If the target field's value is unique, then the number of different types of values ​​for that target field in the historical traffic data of N historical business traffic flows should be N. In this case, the quotient of the number of different types of target field values ​​in the historical business traffic flows to the total number of values ​​is N / N. However, if the target field's value is not unique, there are often multiple historical business traffic flows with the same target field value. In this case, the number of different types of target field values ​​M in the historical traffic data of N historical business traffic flows is usually less than N. In this case, the quotient of the number of different types of target field values ​​in the historical business traffic flows to the total number of values ​​is M / N. By comparison, if the quotient of the number of different types of target field values ​​in the historical business traffic flows to the total number of values ​​is larger, it usually indicates that the target field's value is unique. In this case, the target field may be a core related field.

[0103] Therefore, the quotient of the number of types of field values ​​for the target field in historical business traffic to the total number of types can be used as the field value compression ratio of the target field. If the field value compression ratio of the target field is greater than a first threshold, the target field is allowed to be used as a core associated field; conversely, if the field value compression ratio of the target field is less than the first threshold, the target field is prohibited from being used as a core associated field. Furthermore, when the field value compression ratio of the target field is equal to the first threshold, a decision can be made on whether to allow the target field to be used as a core associated field based on actual needs, without specific limitations.

[0104] In the embodiments of this specification, if the field value of the target field is unique, the distribution of the field value of the target field carried by historical business traffic generated in different time periods usually varies significantly. Conversely, if the field value of the target field is not unique, the distribution of the field value of the target field carried by historical business traffic generated in different time periods usually varies less. Therefore, if the degree of difference in the distribution of the field value of the target field in different time periods is greater than a second threshold, the target field can be allowed as a core associated field; if the degree of difference in the distribution of the field value of the target field in different time periods is less than the second threshold, the target field can be prohibited from being used as a core associated field. Furthermore, when the degree of difference in the distribution of the field value of the target field in different time periods is equal to the second threshold, a decision on whether to allow the target field to be used as a core associated field can be made based on actual needs, without specific limitations.

[0105] In practical applications, determining whether a target field belongs to the core associated field based on the consistency between the actual field value and the simulated field value of the target field in the business traffic can specifically include:

[0106] Obtain the simulation field value of the target field from the business simulation testing platform; wherein, the simulation field value is the field value of the target field in the synchronized data obtained by the business simulation testing platform from the server of the service provider, and / or, the simulation field value is the field value of the target field obtained by using the business simulation testing platform to perform traffic replay processing on the business traffic to which the target field belongs.

[0107] Obtain the actual field value of the target field from the traffic-related data of the business traffic.

[0108] Determine whether there is a difference between the actual field value of the target field and the simulated field value of the target field.

[0109] In the embodiments of this specification, a business simulation test platform for traffic replay can be built. This business simulation test platform usually synchronizes the basic business data on the server of the service provider, thereby ensuring the consistency between the business simulation test platform and the server when processing the same business traffic, so that the traffic replay results generated by the business simulation test platform can be aligned with the traffic processing results generated in the real production environment.

[0110] Because traffic-related data in business traffic may contain some basic business data, such as basic user information and basic product / service information, this information is highly generalized and usually cannot be used to identify multiple business traffic flows involved in the same transaction by a target business entity. Therefore, such fields are generally not used as core association fields. Based on this, when using a business simulation testing platform to perform traffic replay processing on the business traffic, if the simulated field value of the target field is obtained from the synchronized data at the business simulation testing platform, and the simulated field value of the target field is consistent with the actual field value of the target field, then the target field can be prohibited from being used as a core association field.

[0111] In addition, when using the business simulation testing platform to perform traffic replay processing on the business traffic, if the simulated field value of the target field is data generated by the business simulation testing platform based on the request traffic data, and there is a difference between the simulated field value of the target field and the actual field value of the target field, the target field can be allowed to be used as the core associated field; when the two are consistent, the target field can be prohibited from being used as the core associated field.

[0112] In the embodiments of this specification, in addition to establishing a second association relationship to reflect the data to be transmitted between different business traffic using the above embodiments, it is also possible to manually configure preset field information to be transmitted between the business traffic of different target business entities as a third association relationship between business traffic, which is highly flexible.

[0113] Specifically, if the number of target business entities is greater than 1, then before determining the dependency relationship between the business traffic based on the second association relationship and the first association relationship between the core association fields, the process may further include:

[0114] Obtain relationship configuration information for a third association between at least a portion of the service traffic for different target service entities; the relationship configuration information is used to configure preset field information to be transmitted between the service traffic of different target service entities.

[0115] Correspondingly, determining the dependency relationship between the business traffic based on the second association relationship between the core association fields and the first association relationship may specifically include:

[0116] The dependencies between the business traffic are determined based on the second association relationship, the first association relationship, and the third association relationship between the core association fields.

[0117] In the embodiments of this specification, the relationship configuration information can typically be set based on experience, and the preset field information can also be determined according to actual needs, without specific limitations. In practical applications, the preset field information can be the field information that needs to be passed to the business traffic generated at a later time, contained in the business traffic generated earlier. Alternatively, the field information that needs to be passed can be combined with the specified field information that needs to fill the above field information in the business traffic generated at a later time, without specific limitations. By determining the dependency relationship between the business traffic based on the second association relationship, the first association relationship, and the third association relationship between the core association fields, it is beneficial to ensure the accuracy and comprehensiveness of the determined dependency relationship between the business traffic.

[0118] For ease of understanding, Figure 3 This is a schematic diagram illustrating the dependencies between service traffic flows as provided in an embodiment of this specification. Figure 3As shown, assuming a buyer places a business order with a merchant and needs a third party to pay for it, this business transaction can involve three target business entities: the merchant, the buyer, and the third party. If the merchant has the "Place Order" business traffic, the buyer has the "Page Rendering" and "Payment Request" business traffic, and the third party has the "Page Rendering," "Payment," and "View Payment Result" business traffic, then the first association relationship indicates that the generation times of these six business traffic flows increase sequentially. The second and third association relationships indicate that: the order number field in the "Place Order" business traffic needs to be passed to the buyer's "Page Rendering" business traffic; the first session identifier field in the buyer's "Page Rendering" business traffic needs to be passed to the "Payment Request" business traffic; the payment order number field in the buyer's "Payment Request" business traffic needs to be passed to the third party's "Page Rendering" business traffic; and the second session identifier field in the third party's "Page Rendering" business traffic needs to be passed to the "Payment" and "View Payment Result" business traffic. Understandable Figure 3 This example illustrates the dependencies between certain business flows involved in payment scenarios and should not be construed as a specific limitation on the claims. Furthermore, the fields that need to be transmitted between different business flows can be one or more, and no specific limitation is made in this regard.

[0119] Traffic mirroring, also known as request mirroring, works by capturing a copy of inbound traffic in the data plane and forwarding that copy to a mirroring service without interference. This allows for the acquisition of mirrored traffic data that is consistent with the original traffic without affecting its normal flow. Based on this, traffic mirroring technology can be used to obtain traffic-related data about a target business entity's business traffic from the service provider's servers.

[0120] Specifically, step 202: Obtain traffic-related data of each business traffic of the target business entity processed by the service provider's server within a preset time period, which may include:

[0121] Using traffic mirroring technology, traffic-related data of mirrored traffic corresponding to each business traffic processed by the service provider's server within a preset time period are obtained.

[0122] Based on the business traffic replay requirements, determine the type of the target business entity.

[0123] Based on the type information of the target business entity, the traffic-related data of the mirrored traffic is divided to obtain the traffic-related data of each business traffic of each target business entity.

[0124] In the embodiments of this specification, the business traffic replay requirement information is typically determined by the service provider based on the actual business traffic replay scenario and the actual business operation. Furthermore, the business traffic replay requirement information can at least reflect the type information of each target business entity to which the business traffic to be replayed belongs. For example, the business traffic replay requirement information can reflect target business entities such as merchants, buyers, and payment agents for transaction businesses; or it can include target business entities such as product orders, payment orders, and payment orders. Alternatively, the business traffic replay requirement information can also reflect target business entities such as message publishers and message readers for social businesses. No specific limitations are imposed in this regard.

[0125] Specifically, the step of dividing the traffic-related data of the mirrored traffic according to the type information of the target business entity to obtain the traffic-related data of each business traffic of each target business entity may include:

[0126] Based on the type information of the target business entity, determine the specified field to which the entity's unique identifier belongs.

[0127] Based on the field value of the specified field in the traffic-related data of the mirrored traffic, the traffic-related data of the mirrored traffic is divided to obtain the traffic-related data of each service traffic of each target service entity; wherein, the field value of the specified field in the traffic-related data of any target service entity is consistent.

[0128] In the embodiments of this specification, since the traffic-related data of each service traffic usually contains fields used to uniquely identify each target service entity, in order to better manage the service traffic of each target service entity, after the type of the target service entity is determined, a specified field used to uniquely identify each type of target service entity can be further determined from the traffic-related data. If the field value of the specified field in the traffic-related data of multiple service traffic is consistent, it can be indicated that these service traffic belongs to the same target service entity. Therefore, the service traffic obtained in step 202 can be divided based on the field value of the specified field, which will not be elaborated further.

[0129] In this embodiment of the specification, after determining the dependencies between the service traffic, step 210 may further include:

[0130] The dependency relationships between the service traffic are sent to the service simulation test platform; the service simulation test platform is used to orchestrate the service traffic according to the dependency relationships between the service traffic, and to replay the service traffic according to the orchestration results.

[0131] Wherein, the time difference between the server processing the service traffic and the service simulation test platform replaying the service traffic is less than a threshold.

[0132] In the embodiments of this specification, when performing traffic replay, it is usually necessary to ensure that each service traffic is replayed step by step in the correct business order, and that necessary field data is transmitted between different steps. This process of ensuring the correct business order and transmitting necessary field data can be called traffic orchestration.

[0133] Because traffic mirroring technology can be used to obtain real-time traffic-related data for various business traffic at the service provider's servers, it is possible to utilize... Figure 2 The schemes in the embodiments determine the dependencies between various service traffic in real time, so as to complete the traffic orchestration and playback of each service traffic in real time based on the dependencies between various service traffic, which is convenient and fast.

[0134] In the embodiments of this specification, since the interval between the generation time of the service traffic and the playback time is small, it is possible to achieve the effect of "real-time" alignment of the playback processing of each service traffic by the service simulation test platform with the real generation environment under the premise of ultra-large-scale service volume. In addition to improving the real-time performance of fault identification, it also improves the technical effect of improving the accuracy of fault identification due to the good matching between the traffic-related data of the service traffic and the synchronous data at the service simulation test platform.

[0135] Figure 4 The embodiments provided in this specification correspond to Figure 2 A swimlane flowchart illustrating the method for determining business traffic dependencies. (Example) Figure 4 As shown, the process for determining business traffic dependencies may involve execution entities such as the service provider's servers, target devices, and business simulation testing platforms.

[0136] During the dependency determination phase, the service provider's server can process the acquired request traffic data to obtain response traffic data. The service provider's target device can then utilize traffic mirroring technology to obtain traffic-related data for the mirrored traffic corresponding to each service traffic processed by the server within a preset time period. This traffic-related data can include both request and response traffic data.

[0137] Subsequently, on the one hand, the various service flows can be sorted according to the timestamp information in the request traffic data of each service flow from earliest to latest to obtain a first association relationship between the service flows. On the other hand, a second association relationship can be established between the target fields with the same field value in the response traffic data of the first service flow and the request traffic data of the second service flow; wherein, the first service flow is the service flow whose service flow generation time is earlier than that of the second service flow.

[0138] In addition, the target device can also obtain historical traffic-related data of historical service traffic belonging to the same category as the service traffic to which the target field belongs, as well as the simulated field value of the target field. If the compression ratio of the target field value in the historical traffic-related data is greater than a first threshold, and the distribution difference of the target field value in the historical traffic-related data within different time periods is greater than a second threshold, and there is a difference between the actual field value of the target field and the simulated field value of the target field, then the target field can be identified as a core associated field. This facilitates the determination of the dependency relationship between the service traffic based on the second association relationship and the first association relationship between the core associated fields.

[0139] During the traffic replay phase, the target device can send the dependencies between the service traffic to the service simulation test platform, so that the service simulation test platform can orchestrate the traffic of each service traffic according to the dependencies between the service traffic, and replay the service traffic according to the traffic orchestration results.

[0140] Based on the same idea, embodiments of this specification also provide apparatus corresponding to the above methods. Figure 5 The embodiments provided in this specification correspond to Figure 2 A schematic diagram of a device for determining business traffic dependencies. (Example) Figure 5 As shown, the device may include:

[0141] The first acquisition module 502 is used to acquire traffic-related data of each business traffic of the target business entity processed by the service provider's server within a preset time period; wherein, the traffic-related data includes: request traffic data and response traffic data.

[0142] The sorting module 504 is used to sort each of the service traffic according to the service traffic generation time to obtain the first correlation relationship between the service traffic.

[0143] The relationship establishment module 506 is used to establish a second association relationship between the request traffic data and the target field with the same field value in the response traffic data for different business traffic.

[0144] The first determining module 508 is used to determine the core association field between different business flows from the target field; wherein the core association field is a field that can be used to identify multiple business flows involved in the process of the target business entity handling the same business.

[0145] The second determining module 510 is used to determine the dependency relationship between the business traffic based on the second association relationship between the core association fields and the first association relationship.

[0146] based on Figure 5 The embodiments of this specification also provide some specific implementations of the device, which will be described below.

[0147] Optionally, the service traffic may include a first service traffic and a second service traffic, and the service traffic generation time of the first service traffic is earlier than the service traffic generation time of the second service traffic.

[0148] Correspondingly, the relationship establishment module 506 may include:

[0149] The relationship establishment unit is used to establish a second association relationship between the response traffic data of the first service traffic and the target field with the same field value in the request traffic data of the second service traffic.

[0150] Optionally, the relationship-establishing unit can be specifically used for:

[0151] For each first field in the response traffic data of the first service traffic, generate each first key-value pair; wherein, the first field corresponds one-to-one with the first key-value pair, the key data in the first key-value pair is the field name of the first field, and the value data in the first key-value pair is the field value of the first field.

[0152] For each second field in the request traffic data of the second service traffic, generate each second key-value pair; wherein, the second field corresponds one-to-one with the second key-value pair, the key data in the second key-value pair is the field name of the second field, and the value data in the second key-value pair is the field value of the second field.

[0153] Using a brute-force enumeration algorithm, a consistency match is performed between the value data in each of the first key-value pairs and each of the second key-value pairs to obtain the matching results.

[0154] If the matching result indicates that the value data in any first key-value pair is consistent with the value data in any second key-value pair, then a second association relationship is established between the key data in any first key-value pair and the key data in any second key-value pair.

[0155] Optionally, the sorting module 504 may include:

[0156] The first acquisition unit is used to acquire the timestamp information carried in the request traffic data of each of the service traffic flows;

[0157] The sorting unit is used to sort the various service traffic flows according to the timestamp information of each service traffic flow from earliest to latest, so as to obtain the first association relationship between the service traffic flows.

[0158] Optionally, the number of target business entities is greater than or equal to 1; the sorting unit can specifically be used for:

[0159] For any target business entity, the service traffic initiated by the target business entity is sorted according to the timestamp information of each service traffic initiated by the target business entity from earliest to latest, to obtain a first association relationship between the service traffic initiated by the target business entity.

[0160] Optionally, the first determining module 508 may include:

[0161] The first judgment unit is used to determine, for any one of the target fields, whether the target field belongs to the core association field based on the consistency between the historical field values ​​of the target field; and / or,

[0162] The second judgment unit is used to determine, for any target field, whether the target field belongs to the core associated field based on the consistency between the actual field value of the target field in the business traffic and the simulated field value of the target field.

[0163] Optionally, the first determination unit may be specifically used for:

[0164] Obtain historical traffic-related data that belongs to the same category as the historical traffic belonging to the target field.

[0165] Determine whether the compression ratio of the target field value in the historical traffic-related data is greater than a first threshold; wherein, the field value compression ratio is the quotient of the number of types of field values ​​of the target field in the historical traffic-related data to the total number of types; or,

[0166] Determine whether the degree of difference in the distribution of the target field value in the historical traffic-related data within different time periods is greater than a second threshold.

[0167] The second judgment unit can specifically be used for:

[0168] Obtain the simulation field value of the target field from the business simulation testing platform; wherein, the simulation field value is the field value of the target field in the synchronized data obtained by the business simulation testing platform from the server of the service provider, and / or, the simulation field value is the field value of the target field obtained by using the business simulation testing platform to perform traffic replay processing on the business traffic to which the target field belongs.

[0169] Obtain the actual field value of the target field from the traffic-related data of the business traffic.

[0170] Determine whether there is a difference between the actual field value of the target field and the simulated field value of the target field.

[0171] Optionally, the number of target business entities can be greater than 1; Figure 5 The device may further include:

[0172] The second acquisition module is used to acquire relationship configuration information of a third association relationship between at least a portion of the service traffic for different target service entities; the relationship configuration information is used to configure preset field information to be transmitted between the service traffic of different target service entities.

[0173] The second determining module 510 can be specifically used to: determine the dependency relationship between the business traffic based on the second association relationship, the first association relationship and the third association relationship between the core association fields.

[0174] Optionally, the first acquisition module 502 may include:

[0175] The second acquisition unit is used to acquire traffic-related data of mirrored traffic corresponding to each business traffic processed by the service provider's server within a preset time period using traffic mirroring technology.

[0176] The determination unit is used to determine the type information of the target business entity based on the business traffic playback requirement information.

[0177] The segmentation unit is used to segment the traffic-related data of the mirrored traffic according to the type information of the target business entity, so as to obtain the traffic-related data of each business traffic of each target business entity.

[0178] Optionally, the partitioning unit can be specifically used for:

[0179] Based on the type information of the target business entity, determine the specified field to which the entity's unique identifier belongs.

[0180] Based on the field value of the specified field in the traffic-related data of the mirrored traffic, the traffic-related data of the mirrored traffic is divided to obtain the traffic-related data of each service traffic of each target service entity; wherein, the field value of the specified field in the traffic-related data of any target service entity is consistent.

[0181] Optional, Figure 5 The apparatus described herein may further include:

[0182] The sending module is used to send the dependency relationship between the service traffic to the service simulation test platform; the service simulation test platform is used to orchestrate the service traffic according to the dependency relationship between the service traffic, and to replay the service traffic according to the orchestration result.

[0183] Wherein, the time difference between the server processing the service traffic and the service simulation test platform replaying the service traffic is less than a threshold.

[0184] Based on the same idea, this specification also provides devices corresponding to the above methods in its embodiments.

[0185] Figure 6 The embodiments provided in this specification correspond to Figure 2 A schematic diagram illustrating the structure of a device to determine its business traffic dependencies. For example... Figure 6 As shown, device 600 may include:

[0186] At least one processor 610; and,

[0187] Memory 630 communicatively connected to the at least one processor; wherein,

[0188] The memory 630 stores instructions 620 that can be executed by the at least one processor 610, the instructions being executed by the at least one processor 610 to enable the at least one processor 610 to:

[0189] Obtain traffic-related data of each business traffic of the target business entity processed by the service provider's server within a preset time period; wherein, the traffic-related data includes: request traffic data and response traffic data.

[0190] The business traffic is sorted according to its generation time to obtain the first correlation between the business traffic.

[0191] A second association relationship is established between the request traffic data and the target field with the same field value in the response traffic data for different types of business traffic.

[0192] The core association field between different business flows is determined from the target field; wherein the core association field is a field that can be used to identify multiple business flows involved in the same business process of the target business entity.

[0193] The dependencies between the business traffic are determined based on the second association relationship between the core association fields and the first association relationship.

[0194] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on its differences from other embodiments. In particular, for... Figure 6 As the device shown is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0195] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages ​​and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.

[0196] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.

[0197] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0198] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.

[0199] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0200] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0201] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0202] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0203] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0204] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0205] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0206] It should also be noted that 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. Without further limitation, 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 said element.

[0207] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0208] This application can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0209] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for determining business traffic dependencies, comprising: Obtain traffic-related data of each business traffic of the target business entity processed by the service provider's server within a preset time period; wherein, the traffic-related data includes: request traffic data and response traffic data; The business traffic is sorted according to its generation time to obtain the first correlation between the business traffic. A second association relationship is established between the request traffic data and the target field with the same field value in the response traffic data for different types of business traffic; From the target field, determine the core association field between different business flows; wherein, the core association field is a field that can be used to identify multiple business flows involved in the same business process of the target business entity; the core association field represents a field in the target field with different field values ​​in multiple historical business flows; or, the core association field represents a field in the target field where the actual field value is inconsistent with the simulated field value; The dependencies between the business traffic are determined based on the second association relationship between the core association fields and the first association relationship.

2. The method as described in claim 1, wherein the service traffic includes first service traffic and second service traffic, and the service traffic generation time of the first service traffic is earlier than the service traffic generation time of the second service traffic; The establishment of a second association between the request traffic data and the target field with the same field value in the response traffic data for different service traffic types specifically includes: A second association relationship is established between the response traffic data of the first service traffic and the target field with the same field value in the request traffic data of the second service traffic.

3. The method as described in claim 2, wherein establishing a second association relationship between the target field having the same field value in the response traffic data for the first service traffic and the request traffic data for the second service traffic specifically includes: For each first field in the response traffic data of the first service traffic, generate each first key-value pair; wherein, the first field corresponds one-to-one with the first key-value pair, the key data in the first key-value pair is the field name of the first field, and the value data in the first key-value pair is the field value of the first field. For each second field in the request traffic data of the second service traffic, generate each second key-value pair; wherein, the second field corresponds one-to-one with the second key-value pair, the key data in the second key-value pair is the field name of the second field, and the value data in the second key-value pair is the field value of the second field; Using a brute-force enumeration algorithm, a consistency match is performed between the value data of each first key-value pair and each second key-value pair to obtain the matching results; If the matching result indicates that the value data in any first key-value pair is consistent with the value data in any second key-value pair, then a second association relationship is established between the key data in any first key-value pair and the key data in any second key-value pair.

4. The method as described in claim 2, wherein the number of target business entities is equal to 1, and the first business traffic and the second business traffic belong to the same business entity; or, The number of target business entities is greater than 1, the first business traffic and the second business traffic belong to the same business entity, and / or the first business traffic and the second business traffic belong to different business entities.

5. The method as described in claim 1, wherein sorting the various service traffic flows according to their generation time to obtain a first correlation between the service traffic flows specifically includes: Obtain the timestamp information carried in the request traffic data of each of the aforementioned business traffic flows; The service traffic is sorted according to the timestamp information of each service traffic in ascending order to obtain the first association relationship between the service traffic.

6. The method as described in claim 5, wherein the number of the target business entities is greater than or equal to 1; The step of sorting the service traffic according to the timestamp information of each service traffic in ascending order to obtain the first association relationship between the service traffic specifically includes: For any target business entity, the service traffic initiated by the target business entity is sorted according to the timestamp information of each service traffic initiated by the target business entity from earliest to latest, to obtain a first association relationship between the service traffic initiated by the target business entity.

7. The method as described in claim 1, wherein determining the core correlation field between different service traffic flows from the target field specifically includes: For any of the target fields, determine whether the target field belongs to the core associated field based on the consistency between the historical field values ​​of the target field; And / or, For any of the target fields, based on the consistency between the actual field value of the target field in the business traffic and the simulated field value of the target field, it is determined whether the target field belongs to the core associated field.

8. The method as described in claim 7, wherein determining whether the target field belongs to the core association field based on the consistency between the historical field values ​​of the target field specifically includes: Obtain historical traffic-related data that belongs to the same category as the historical traffic belonging to the target field; Determine whether the compression ratio of the target field value in the historical traffic-related data is greater than a first threshold; wherein, the field value compression ratio is the quotient of the number of types of field values ​​of the target field in the historical traffic-related data to the total number of types; or, Determine whether the degree of difference in the distribution of the target field value in the historical traffic-related data within different time periods is greater than a second threshold.

9. The method as described in claim 7, wherein determining whether the target field belongs to the core associated field based on the consistency between the actual field value of the target field and the simulated field value of the target field in the business traffic specifically includes: Obtain the simulation field value of the target field from the business simulation testing platform; wherein, the simulation field value is the field value of the target field in the synchronized data obtained by the business simulation testing platform from the server of the service provider, and / or, the simulation field value is the field value of the target field obtained by using the business simulation testing platform to perform traffic replay processing on the business traffic to which the target field belongs; Obtain the actual field value of the target field from the traffic-related data of the business traffic; Determine whether there is a difference between the actual field value of the target field and the simulated field value of the target field.

10. The method of claim 1, wherein the number of target business entities is greater than 1; Before determining the dependency relationship between the business traffic based on the second association relationship between the core association fields and the first association relationship, the method further includes: Obtain relationship configuration information for a third association between at least a portion of the service traffic for different target service entities; the relationship configuration information is used to configure preset field information to be transmitted between the service traffic of different target service entities; The step of determining the dependency relationship between the business traffic based on the second association relationship between the core association fields and the first association relationship specifically includes: The dependencies between the business traffic are determined based on the second association relationship, the first association relationship, and the third association relationship between the core association fields.

11. The method as described in claim 1, wherein obtaining traffic-related data of each business traffic of the target business entity processed by the service provider's server within a preset time period specifically includes: Using traffic mirroring technology, traffic-related data of mirrored traffic corresponding to each business traffic processed by the service provider's server within a preset time period are obtained; Based on the business traffic replay requirements, determine the type information of the target business entity; Based on the type information of the target business entity, the traffic-related data of the mirrored traffic is divided to obtain the traffic-related data of each business traffic of each target business entity.

12. The method as described in claim 11, wherein dividing the traffic-related data of the mirrored traffic according to the type information of the target business entity to obtain the traffic-related data of each business traffic of each target business entity specifically includes: Based on the type information of the target business entity, determine the specified field to which the entity unique identifier of the target business entity belongs; Based on the field value of the specified field in the traffic-related data of the mirrored traffic, the traffic-related data of the mirrored traffic is divided to obtain the traffic-related data of each service traffic of each target service entity; wherein, the field value of the specified field in the traffic-related data of any target service entity is consistent.

13. The method according to any one of claims 1-12, wherein after determining the dependencies between the service traffic flows, it further comprises: Send the dependencies between the aforementioned service traffic to the service simulation test platform; The business simulation test platform is used to orchestrate the traffic of each business based on the dependency relationship between the business traffic, and to replay the business traffic based on the traffic orchestration result; Wherein, the time difference between the server processing the service traffic and the service simulation test platform replaying the service traffic is less than a threshold.

14. A device for determining business traffic dependencies, comprising: The first acquisition module is used to acquire traffic-related data of each business traffic of the target business entity processed by the service provider's server within a preset time period; wherein, the traffic-related data includes: request traffic data and response traffic data; The sorting module is used to sort the various business traffic flows according to their generation time to obtain a first correlation between the business traffic flows. The relationship establishment module is used to establish a second association relationship between the request traffic data and the target field with the same field value in the response traffic data for different business traffic. The first determining module is used to determine the core association field between different business traffic from the target field; wherein, the core association field is a field that can be used to identify multiple business traffic involved in the same business process of the target business entity; the core association field represents a field in the target field with different field values ​​in multiple historical business traffic; or, the core association field represents a field in the target field whose actual field value is inconsistent with the simulated field value; The second determining module is used to determine the dependency relationship between the business traffic based on the second association relationship between the core association fields and the first association relationship.

15. The apparatus of claim 14, wherein the service traffic includes a first service traffic and a second service traffic, and the service traffic generation time of the first service traffic is earlier than the service traffic generation time of the second service traffic; The relationship establishment module includes: The relationship establishment unit is used to establish a second association relationship between the response traffic data of the first service traffic and the target field with the same field value in the request traffic data of the second service traffic.

16. The apparatus of claim 15, wherein the relationship-establishing unit is specifically used for: For each first field in the response traffic data of the first service traffic, generate each first key-value pair; wherein, The first field corresponds one-to-one with the first key-value pair. The key data in the first key-value pair is the field name of the first field, and the value data in the first key-value pair is the field value of the first field. For each second field in the request traffic data of the second service traffic, generate each second key-value pair; wherein, the second field corresponds one-to-one with the second key-value pair, the key data in the second key-value pair is the field name of the second field, and the value data in the second key-value pair is the field value of the second field; Using a brute-force enumeration algorithm, a consistency match is performed between the value data of each first key-value pair and each second key-value pair to obtain the matching results; If the matching result indicates that the value data in any first key-value pair is consistent with the value data in any second key-value pair, then a second association relationship is established between the key data in any first key-value pair and the key data in any second key-value pair.

17. The apparatus of claim 14, wherein the sorting module comprises: The first acquisition unit is used to acquire the timestamp information carried in the request traffic data of each of the service traffic flows; The sorting unit is used to sort the various service traffic flows according to the timestamp information of each service traffic flow from earliest to latest, so as to obtain the first association relationship between the service traffic flows.

18. The apparatus of claim 17, wherein the number of the target business entities is greater than or equal to 1; The sorting unit is specifically used for: For any target business entity, the service traffic initiated by the target business entity is sorted according to the timestamp information of each service traffic initiated by the target business entity from earliest to latest, to obtain a first association relationship between the service traffic initiated by the target business entity.

19. The apparatus of claim 14, wherein the first determining module comprises: The first judgment unit is used to determine, for any target field, whether the target field belongs to the core associated field based on the consistency between the historical field values ​​of the target field; And / or, The second judgment unit is used to determine, for any target field, whether the target field belongs to the core associated field based on the consistency between the actual field value of the target field in the business traffic and the simulated field value of the target field.

20. The apparatus of claim 19, wherein the first determining unit is specifically configured to: Obtain historical traffic-related data that belongs to the same category as the historical traffic belonging to the target field; Determine whether the compression ratio of the target field value in the historical traffic-related data is greater than a first threshold; wherein, The field value compression ratio is the quotient of the number of types of field values ​​for the target field in the historical traffic-related data and the total number of such values; or, Determine whether the degree of difference in the distribution of the target field value in the historical traffic-related data within different time periods is greater than a second threshold; The second judgment unit is specifically used for: Obtain the simulation field value of the target field from the business simulation testing platform; wherein, the simulation field value is the field value of the target field in the synchronized data obtained by the business simulation testing platform from the server of the service provider, and / or, the simulation field value is the field value of the target field obtained by using the business simulation testing platform to perform traffic replay processing on the business traffic to which the target field belongs; Obtain the actual field value of the target field from the traffic-related data of the business traffic; Determine whether there is a difference between the actual field value of the target field and the simulated field value of the target field.

21. The apparatus of claim 14, wherein the number of the target business entities is greater than 1; The device further includes: The second acquisition module is used to acquire relationship configuration information of at least a portion of the service traffic for different target service entities; The relationship configuration information is used to configure the preset field information that needs to be transmitted between the service traffic of different target service entities; The second determining module is specifically used for: The dependencies between the business traffic are determined based on the second association relationship, the first association relationship, and the third association relationship between the core association fields.

22. The apparatus of claim 14, wherein the first acquisition module comprises: The second acquisition unit is used to acquire traffic-related data of the mirrored traffic corresponding to each business traffic processed by the server of the service provider within a preset time period using traffic mirroring technology. The determination unit is used to determine the type information of the target business entity based on the business traffic replay requirement information; The segmentation unit is used to segment the traffic-related data of the mirrored traffic according to the type information of the target business entity, so as to obtain the traffic-related data of each business traffic of each target business entity.

23. The apparatus of claim 22, wherein the dividing unit is specifically used for: Based on the type information of the target business entity, determine the specified field to which the entity unique identifier of the target business entity belongs; Based on the field values ​​of the specified fields in the traffic-related data of the mirrored traffic, the traffic-related data of the mirrored traffic is divided to obtain the traffic-related data of each service traffic of each target service entity; wherein, The field values ​​of the specified fields in the traffic-related data of any of the target business entities are consistent.

24. The apparatus according to any one of claims 14-23, further comprising: The sending module is used to send the dependencies between the service traffic to the service simulation test platform; The business simulation test platform is used to orchestrate the traffic of each business based on the dependency relationship between the business traffic, and to replay the business traffic based on the traffic orchestration result; Wherein, the time difference between the server processing the service traffic and the service simulation test platform replaying the service traffic is less than a threshold.

25. A device for determining business traffic dependencies, comprising: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enable the at least one processor to: Obtain traffic-related data of each business traffic of the target business entity processed by the service provider's server within a preset time period; wherein, the traffic-related data includes: request traffic data and response traffic data; The business traffic is sorted according to its generation time to obtain the first correlation between the business traffic. A second association relationship is established between the request traffic data and the target field with the same field value in the response traffic data for different types of business traffic; From the target field, determine the core association field between different business flows; wherein, the core association field is a field that can be used to identify multiple business flows involved in the same business process of the target business entity; the core association field represents a field in the target field with different field values ​​in multiple historical business flows; or, the core association field represents a field in the target field where the actual field value is inconsistent with the simulated field value; The dependencies between the business traffic are determined based on the second association relationship between the core association fields and the first association relationship.