Method for determining quality of service of service link, probe end and aggregation end

CN116455786BActive Publication Date: 2026-09-22CHINA CONSTRUCTION BANK +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310486159.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-04
Publication Date
2026-09-22
Estimated Expiration
2043-05-04

AI Technical Summary

Technical Problem

[0004]然而,上述进程心跳监控方案所检测的是健康检测设备与各微服务所在的进程之间的链路,该链路与需要被检测服务质量的业务链路并非同一个,因此前者的健康数据是无法精准的用于表征后者的服务质量的

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116455786B_ABST
    Figure CN116455786B_ABST
Patent Text Reader

Abstract

The application relates to the field of data processing and discloses a service link service quality determination method, a detection terminal and an aggregation terminal. The detection terminal generates a link detection unique identifier according to indication information of detection on a to-be-detected service link. The detection terminal constructs a link detection message based on an asynchronous call link list of the to-be-detected service link and the link detection unique identifier. The detection terminal acquires a first subject of a first message queue in the to-be-detected service link from the asynchronous call link list and sends the link detection message to the first message queue according to the first subject. The detection terminal receives a link detection result sent by the aggregation terminal. The detection terminal determines the service quality of the to-be-detected service link according to the link detection result. The method can accurately determine the service quality of the service link.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing, and in particular to a method for determining the quality of service in a business link, a detection terminal, and an aggregation terminal. Background Technology

[0002] With the development of internet and computer technology, more and more businesses can implement their functions through a microservices architecture. For example, for a business system, some or all of its business modules can be designed to be implemented using a microservices architecture as needed. That is, the processing of business is transformed into processing by a series of microservices. Specifically, after receiving a business message, the upstream microservice processes the received business message according to its pre-configured business logic and sends the processing result to the downstream microservice through a message queue with a specific topic. After receiving the processing result, the downstream microservice processes the received processing result according to its pre-configured business logic and sends the processing result to the next downstream microservice through a message queue with another topic. This cycle continues until the business message is processed by the last microservice in the current business chain pre-configured by the technical staff, indicating that the current business has been completed.

[0003] For a business link formed by multiple microservices linked together as described above, monitoring the service quality (i.e., availability) of the business link is of great significance to business processing. Therefore, a process heartbeat monitoring scheme has been designed. This scheme involves sending heartbeats to the processes of each microservice in the business link whose service quality needs to be monitored via a dedicated health monitoring device. The heartbeat mechanism is used to detect the service quality of the business link.

[0004] However, the aforementioned process heartbeat monitoring scheme detects the link between the health monitoring device and the process where each microservice resides. This link is not the same as the business link whose service quality needs to be monitored. Therefore, the health data of the former cannot be accurately used to characterize the service quality of the latter.

[0005] Therefore, there is an urgent need for a method to accurately determine the service quality of the business chain. Summary of the Invention

[0006] This application provides a method for determining the service quality of a business link, a probe end, and an aggregation end, for accurately determining the service quality of a business link.

[0007] In a first aspect, embodiments of this application provide a method for determining the service quality of a business link. The method includes: a probe end generating a unique link detection identifier based on indication information for probing the business link to be probed; the probe end constructing a link detection message based on an asynchronous call link list of the business link to be probed and the unique link detection identifier; the asynchronous call link list is created based on the microservices and message queues of various topics within the business link to be probed, the business link to be probed is a chained connection of multiple microservices to implement business functions, and the upstream microservice transmits business messages to the downstream microservice through a message queue with a defined topic; the link detection message includes the chain... The generation time of the link probe message; the probe end obtains the first topic of the first message queue in the service link to be probed from the asynchronous call link list, and sends the link probe message to the first message queue according to the first topic; the probe end receives the link probe result sent by the aggregation end; the link probe result is determined by the aggregation end according to the generation time of the link probe message and the arrival time of the link probe message to the last message queue in the service link to be probed, the arrival time is determined by the aggregation end after listening to the link probe message in the last message queue; the probe end determines the service quality of the service link to be probed according to the link probe result.

[0008] In the above scheme, the probe creates a link probe message based on the asynchronous link call list corresponding to the business link to be probed. This link probe message is sent to the message queue at the top of the business link to be probed. The downstream microservice will then receive the link probe message, but the microservice will not process the received link probe message. Instead, it only needs to send the received link probe message to the next downstream microservice through the message queue of a specific subject. This process is repeated until the link probe message is received by the aggregator. Since the link probe message runs through the entire business link to be probed, the aggregator that receives the link probe message can determine the link probe result of the business link to be probed. That is, it needs to determine the time taken for the link probe message to be transmitted in the current business link and feed back the determined link probe result to the probe. Thus, the probe can clearly understand the service quality of the business link to be probed that it needs to evaluate, thereby facilitating business decision-making.

[0009] In one possible implementation, the probe end constructs a link probe message based on the asynchronous call link list of the service link to be probed and the link probe unique identifier, including: the probe end obtains the target partition number of the first message queue and the partition identifier of each partition from the asynchronous call link list; the probe end constructs a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the target partition number and the partition identifier of the partition.

[0010] The above scheme specifically describes the structure of the link probe message for probing the service link to be probed. During the link probe process, in order to ensure the comprehensiveness of the probe, this scheme designs a separate link probe message for each partition of the first message queue in the service link to be probed. At the same time, by writing the number of partitions of the first message queue in the service link to be probed into each link probe message, before the aggregation end receives the link probe message and determines the link probe result of the service link to be probed, it can first verify whether the link probe message sent by the probe end for each partition of the first message queue has been received by itself (referring to the aggregation end). In this way, the aggregation end will determine the link probe result more accurately and meaningfully when the link probe message has been received.

[0011] In one possible implementation, the probe end constructs a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition. This includes: the probe end determining a fixed-point message queue from the service links to be probed; the fixed-point message queue is any one of the message queues with various topics in the service links to be probed; the probe end constructs a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the number of target partitions, the partition identifier of the partition, and a second topic of the fixed-point message queue; the second topic instructs the aggregation end to send the link probe result to the fixed-point message queue based on the second topic after receiving the link probe message for the partition; the probe end receiving the link probe result sent by the aggregation end includes: the probe end obtaining the link probe result from the fixed-point message queue.

[0012] The above scheme further clarifies the structure of the link probe message. In order for the aggregator to send back the link probe results of the service link to be probed, as determined by the aggregator, the probe can include the topic of the fixed-point message queue (i.e., the second topic) in the link probe message. After the aggregator determines the link probe results, it can send the link probe results data to the fixed-point message queue in the form of a message (which must include the unique identifier of this link probe). The probe can then obtain the link probe results data from the fixed-point message queue to determine the service quality of the service link to be probed.

[0013] Secondly, embodiments of this application provide a method for determining the service quality of a business link. The method includes: an aggregation end obtaining a link detection message from the last message queue of the business link to be detected, and recording the arrival time of the link detection message at the last message queue; the link detection message is constructed by the detection end based on the asynchronous call link list and the unique link detection identifier of the business link to be detected, wherein the unique link detection identifier is generated by the detection end according to indication information for detecting the business link to be detected, and the asynchronous call link list is based on the microservices and topics of the business link to be detected. The queue is created whereby the business link to be probed is a chained connection of multiple microservices to implement business functions, and the upstream microservice transmits business messages to the downstream microservice through a message queue with a defined topic; the link probe message includes the generation time of the link probe message; the aggregation end determines the link probe result of the business link to be probed based on the generation time and arrival time of the link probe message; the aggregation end sends the link probe result to the probe end; the link probe result is used by the probe end to determine the service quality of the business link to be probed based on the link probe result.

[0014] In the above scheme, the aggregator receives link probe messages sent by the prober, and simultaneously records the arrival time of the link probe messages at the aggregator. Since the link probe messages received by the aggregator record the generation time of the link probe messages, the aggregator can determine the link probe result of the business link to be probed through the link probe message based on the generation time and arrival time of the received link probe messages. Finally, the aggregator sends the determined link probe result to the prober, so that the prober can clearly understand the service quality of a business link to be probed that it needs to evaluate, thereby facilitating business decision-making.

[0015] In one possible implementation, the link probe message is constructed by the probe end based on the first topic, the number of target partitions, and the partition identifiers of each partition in the first message queue of the service link to be probed, obtained from the asynchronous call link list. The probe end is used to construct a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition. The first topic instructs the probe end to send the link probe messages for each partition to the first message queue of the service link to be probed, and the partition identifier of the partition instructs the probe end to send the link probe messages for each partition to the service link to be probed. Each partition in the first message queue of the link sends a link probe message for the partition corresponding to its partition identifier; the aggregation end obtains the link probe message from the last message queue of the service link to be probed, including: the aggregation end listens for the link probe messages of each partition in the last message queue of the service link to be probed; for any partition's link probe message that the aggregation end listens for, if it is determined that the partition identifier of the link probe message of the partition and the partition identifiers of the link probe messages of each partition stored locally by the aggregation end satisfy the target number of partitions in the link probe message of the partition, then the link probe message of the partition is used as the link probe message obtained from the last message queue of the service link to be probed.

[0016] In the above scheme, since a message queue for a topic actually has multiple partitions, in order to ensure comprehensiveness during link probing, this scheme designs a separate link probing message for each partition of the first message queue in the service link to be probed. Simultaneously, to ensure the accuracy of service quality probing for the service link to be probed, before determining the probe quality result for the service link to be probed, the aggregator needs to determine the probe quality result based on the arrival time of the last link probing message sent by the prober for each partition of the first message queue in the service link to be probed. To achieve this, this application includes the number of partitions of the first message queue in the service link to be probed in each link probing message. Therefore, before the aggregator receives the link probing message and determines the link probing result for the service link to be probed, it can first verify whether it (the aggregator) has received all the link probing messages sent by the prober for each partition of the first message queue. Obviously, the link probing result determined in this way will be more accurate and meaningful. In one possible implementation, the link probe message includes a second topic of a fixed-point message queue; the aggregation end sends the link probe result to the probe end, including: the aggregation end sends the link probe result to the fixed-point message queue according to the second topic in the link probe message; the fixed-point message queue is a message queue determined by the probe end from the message queues of various topics of the service link to be probed.

[0017] The above scheme describes how the aggregation end feeds back the link detection results of the identified service links to the probing end. This is mainly achieved by including a topic (i.e., a second topic) for a fixed-point message queue in the link detection message. The aggregation end can then send the identified link detection results to the fixed-point message queue according to the second topic specified by the probing end. This facilitates the retrieval of the link detection results from the fixed-point message queue during the probing process and the determination of the service quality of the identified service links. In one possible implementation, if the aggregation end determines that the link detection messages for any monitored partition exist in its local storage, it ignores storing the link detection messages for that partition.

[0018] The above scheme describes how, when the aggregator receives link probe messages, if it encounters a situation where the same link probe message is sent repeatedly, it only needs to ignore this situation; that is, only one link probe message with the same partition number needs to be retained in the local storage. In one possible implementation, for any monitored link probe message from any partition, if the aggregator determines that within a set time period after the link probe message from that partition arrives at the last message queue, it has not received a link probe message with the same unique link probe identifier as the link probe message from that partition, then it clears all link probe messages from the local storage for each partition with the same unique link probe identifier.

[0019] The above solution describes a scenario where the aggregator has not fully collected all link probe messages, and the aggregator also encounters the problem of not receiving a new link probe message for a long time. In this case, the aggregator can terminate the collection of link probe messages for the service link to be probed, that is, the aggregator will not determine the link probe result for the service link to be probed.

[0020] Thirdly, embodiments of this application provide a detection terminal, which includes: a link detection unique identifier generation unit, used to generate a link detection unique identifier based on indication information for detecting the business link to be detected; and a link detection message construction unit, used to construct a link detection message based on the asynchronous call link list of the business link to be detected and the link detection unique identifier; the asynchronous call link list is created based on the microservices and message queues of the topics of the business link to be detected, the business link to be detected is a chained connection of multiple microservices to implement business functions, and the upstream microservice transmits business messages to the downstream microservice through a message queue of a set topic; the link detection message includes the link The system includes: a detection message generation time; a sending unit, configured to obtain the first topic of the first message queue in the business link to be detected from the asynchronous call link list, and send the link detection message to the first message queue according to the first topic; a receiving unit, configured to receive the link detection result sent by the aggregation end; the link detection result is determined by the aggregation end based on the generation time of the link detection message and the arrival time of the link detection message to the last message queue in the business link to be detected, wherein the arrival time is determined by the aggregation end after listening to the link detection message in the last message queue; and a business link service quality determination unit, configured to determine the service quality of the business link to be detected based on the link detection result.

[0021] In the above scheme, the probe creates a link probe message based on the asynchronous link call list corresponding to the business link to be probed. This link probe message is sent to the message queue at the top of the business link to be probed. The downstream microservice will then receive the link probe message, but the microservice will not process the received link probe message. Instead, it only needs to send the received link probe message to the next downstream microservice through the message queue of a specific subject. This process is repeated until the link probe message is received by the aggregator. Since the link probe message runs through the entire business link to be probed, the aggregator that receives the link probe message can determine the link probe result of the business link to be probed. That is, it needs to determine the time taken for the link probe message to be transmitted in the current business link and feed back the determined link probe result to the probe. Thus, the probe can clearly understand the service quality of the business link to be probed that it needs to evaluate, thereby facilitating business decision-making.

[0022] In one possible implementation, the link probe message construction unit is specifically used to: obtain the number of target partitions and the partition identifier of each partition from the asynchronous call link list; and for any partition of the first message queue, construct a link probe message for the partition based on the link probe unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition.

[0023] The above scheme specifically describes the structure of the link probe message for probing the service link to be probed. During the link probe process, in order to ensure the comprehensiveness of the probe, this scheme designs a separate link probe message for each partition of the first message queue in the service link to be probed. At the same time, by writing the number of partitions of the first message queue in the service link to be probed into each link probe message, before the aggregation end receives the link probe message and determines the link probe result of the service link to be probed, it can first verify whether the link probe message sent by the probe end for each partition of the first message queue has been received by itself (referring to the aggregation end). In this way, the aggregation end will determine the link probe result more accurately and meaningfully when the link probe message has been received.

[0024] In one possible implementation, the link probe message construction unit is specifically configured to: determine a fixed-point message queue from the service link to be probed; the fixed-point message queue is any one of the message queues with various topics in the service link to be probed; for any partition of the first message queue, construct a link probe message for the partition based on the link probe unique identifier, the first topic, the number of target partitions, the partition identifier of the partition, and the second topic of the fixed-point message queue; the second topic is used to instruct the aggregation end to send the link probe result to the fixed-point message queue according to the second topic after receiving the link probe message of the partition; the receiving unit is specifically configured to: obtain the link probe result from the fixed-point message queue.

[0025] The above scheme further clarifies the structure of the link probe message. In order for the aggregator to send back the link probe results of the service link to be probed, as determined by the aggregator, the probe can include the topic of the fixed-point message queue (i.e., the second topic) in the link probe message. After the aggregator determines the link probe results, it can send the link probe results data to the fixed-point message queue in the form of a message (which must include the unique identifier of this link probe). The probe can then obtain the link probe results data from the fixed-point message queue to determine the service quality of the service link to be probed.

[0026] Fourthly, embodiments of this application provide an aggregation terminal, which includes: a processing unit, configured to obtain link detection messages from the last message queue in a service link to be detected, and record the arrival time of the link detection messages upon arrival at the last message queue; the link detection messages are constructed by the detection terminal based on the asynchronous call link list and the unique link detection identifier of the service link to be detected, the unique link detection identifier being generated by the detection terminal according to indication information for detecting the service link to be detected, and the asynchronous call link list being created based on the message queues of each microservice and each topic of the service link to be detected. The business link to be probed is a chained connection of multiple microservices to implement business functions, and the upstream microservices transmit business messages to the downstream microservices through a message queue with a defined topic; the link probe message includes the generation time of the link probe message; the link probe result determination unit is used to determine the link probe result of the business link to be probed based on the generation time and arrival time of the link probe message; the sending unit is used to send the link probe result to the probe end; the link probe result is used by the probe end to determine the service quality of the business link to be probed.

[0027] In the above scheme, the aggregator receives link probe messages sent by the prober, and simultaneously records the arrival time of the link probe messages at the aggregator. Since the link probe messages received by the aggregator record the generation time of the link probe messages, the aggregator can determine the link probe result of the business link to be probed through the link probe message based on the generation time and arrival time of the received link probe messages. Finally, the aggregator sends the determined link probe result to the prober, so that the prober can clearly understand the service quality of a business link to be probed that it needs to evaluate, thereby facilitating business decision-making.

[0028] In one possible implementation, the link probe message is constructed by the probe end based on the first topic, the number of target partitions, and the partition identifiers of each partition in the first message queue of the service link to be probed, obtained from the asynchronous call link list. The probe end is used to construct a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition. The first topic is used to instruct the probe end to send link probe messages for each partition to the first message queue of the service link to be probed. The partition identifier of the partition is used for... The probing end is instructed to send link probe messages of the corresponding partition identifier to each partition of the first message queue in the service link to be probed; the processing unit is specifically used to: listen to the link probe messages of each partition in the last message queue in the service link to be probed; for any monitored link probe message of a partition, if it is determined that the partition identifier of the link probe message of the partition and the partition identifier of the link probe messages of each partition stored locally by the aggregation end satisfy the target number of the link probe message of the partition, then the link probe message of the partition is used as the link probe message obtained from the last message queue in the service link to be probed.

[0029] In the above scheme, since a message queue for a topic actually has multiple partitions, in order to ensure comprehensiveness during link probing, this scheme designs a separate link probing message for each partition of the first message queue in the service link to be probed. Simultaneously, to ensure the accuracy of service quality probing for the service link to be probed, before determining the probe quality result for the service link to be probed, the aggregator needs to determine the probe quality result based on the arrival time of the last link probing message sent by the prober for each partition of the first message queue in the service link to be probed. To achieve this, this application includes the number of partitions of the first message queue in the service link to be probed in each link probing message. Therefore, before the aggregator receives the link probing message and determines the link probing result for the service link to be probed, it can first verify whether it (the aggregator) has received all the link probing messages sent by the prober for each partition of the first message queue. Obviously, the link probing result determined in this way will be more accurate and meaningful.

[0030] In one possible implementation, the link probe message includes a second topic of a fixed-point message queue; the sending unit is specifically configured to: send the link probe result to the fixed-point message queue according to the second topic in the link probe message; the fixed-point message queue is a message queue determined by the probe end from the message queues of various topics of the service link to be probed.

[0031] The above scheme describes how the aggregation end feeds back the link detection results of the identified service links to the probing end. This is mainly achieved by writing the topic of the fixed-point message queue, i.e., the second topic, into the link detection message. The aggregation end can then send the identified link detection results to the fixed-point message queue according to the second topic specified by the probing end. This facilitates the acquisition of the link detection results of the service links to be detected from the fixed-point message queue during the detection process and the determination of the service quality of the service links to be detected.

[0032] In one possible implementation, the processing unit is further configured to: for any detected link probe message of any partition, if it is determined that the link probe message of the partition exists in local storage, then ignore the storage of the link probe message of the partition.

[0033] The above scheme describes that if the same link probe message is sent repeatedly when the aggregation end receives the link probe message, it only needs to ignore the situation. That is, only one link probe message with the partition number needs to be kept in the local storage.

[0034] In one possible implementation, the processing unit is further configured to: for any monitored link probe message of any partition, if it is determined that no link probe message with the same unique link probe identifier as the link probe message of the partition is received within a set time period after the link probe message of the partition arrives at the last message queue, then clear the link probe messages of each partition with the same unique link probe identifier from the local storage.

[0035] The above solution describes a scenario where the aggregator has not fully collected all link probe messages, and the aggregator also encounters the problem of not receiving a new link probe message for a long time. In this case, the aggregator can terminate the collection of link probe messages for the service link to be probed, that is, the aggregator will not determine the link probe result for the service link to be probed.

[0036] Fifthly, embodiments of this application provide a computing device, including:

[0037] Memory, used to store program instructions;

[0038] A processor is configured to invoke program instructions stored in the memory and execute either the first aspect or the second aspect of the implementation method according to the obtained program.

[0039] In a sixth aspect, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions for causing a computer to perform any of the implementation methods of the first and sixth aspects.

[0040] In a seventh aspect, embodiments of this application provide a computer program product, the computer program product including computer-executable instructions, the computer-executable instructions being used to cause a computer to perform any of the implementation methods of the first and second aspects. Attached Figure Description

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

[0042] Figure 1 A schematic diagram of a business link provided for an embodiment of this application;

[0043] Figure 2 A possible architecture diagram provided for an embodiment of this application;

[0044] Figure 3This is a schematic diagram of the structure of a link probe message provided in an embodiment of this application;

[0045] Figure 4 A schematic diagram of a link probe message provided in an embodiment of this application;

[0046] Figure 5 A schematic diagram illustrating a method for determining the quality of service in a business link, as provided in an embodiment of this application;

[0047] Figure 6 A schematic diagram illustrating a method for determining the quality of service in a business link, as provided in an embodiment of this application;

[0048] Figure 7 A schematic diagram of a probe end provided in an embodiment of this application;

[0049] Figure 8 A schematic diagram of an aggregation end provided in an embodiment of this application;

[0050] Figure 9 This is a schematic diagram of a computing device provided in an embodiment of this application. Detailed Implementation

[0051] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0052] For current business chains consisting of interconnected microservices and message queues for communication, process heartbeat monitoring solutions, when used to assess the service quality of this type of business chain, fail to do so because they are monitoring the service quality of the link between the microservice's process and the health monitoring device, not the entire business chain. Therefore, the monitoring results cannot directly indicate the service quality of the business chain. In summary, current process heartbeat monitoring solutions are inaccurate in determining the service quality of business chains.

[0053] To address the aforementioned technical problems, this application provides a method for determining the quality of service (QoS) of a business link. It should be noted that the acquisition, storage, use, and processing of data required for the method in this application all comply with relevant national laws and regulations.

[0054] like Figure 1The diagram shown is a schematic of a business link provided in an embodiment of this application. This business link includes a requester, two microservices (denoted as microservice s1 and microservice s2), and three message queues for different topics (denoted as message queue for topic T1, message queue for topic T2, and message queue for topic T3). In actual operation, to meet the requirements of message concurrency, a message queue for a topic may include multiple partitions. When messages are transmitted on the message queue, they are actually transmitted through the partitions in the message queue, as shown in this application. Figure 1 In the business chain shown, the message queue of topic T1 has three partitions, which are denoted as partition P1, partition P2 and partition P3 respectively; the message queue of topic T2 has two partitions, which are denoted as partition P4 and partition P5 respectively; and the message queue of topic T3 has one partition, which is denoted as partition P6.

[0055] based on Figure 1 The business chain shown below will be further described in terms of its business processing mode:

[0056] The requester sends a business message, which instructs the processing of the business specified in the message. The business message is transmitted to microservice s1 through a message queue with topic T1. After receiving the business message from the message queue with topic T1, microservice s1 processes the business message according to its pre-configured business processing logic. Let the processing result be result1. After microservice s1 processes the business message and generates result1, it also needs to transmit result1 as a message to microservice s2 through a message queue with topic T2. After receiving the request message from the message queue with topic T2, microservice s2 processes the request message according to its pre-configured business processing logic. Let the processing result be result2. After microservice s2 processes the request message and generates result2, it also needs to send result2 as a message back to the requester through a message queue with topic T3. Thus, the requester can know the processing result of its business message in the current business chain.

[0057] It should be noted that the above Figure 1 The business link described is merely an example and does not constitute a limitation on the method for determining the service quality of the business link proposed in this application.

[0058] Furthermore, the method for determining the service quality of the business link described below is based on... Figure 1The business chain shown is expanded.

[0059] In order to accurately determine Figure 1 Regarding the service quality of the business link shown, this application proposes to use link probe messages. By embedding link probe messages throughout the business link, the service quality of the business link can be accurately determined based on the time difference between when the link probe message enters the business link and when it leaves the business link.

[0060] like Figure 2 The diagram shown is a possible architecture provided in an embodiment of this application. This architecture is based on... Figure 1 This architecture, derived from the business links shown, allows for accurate determination of the service quality of the business links.

[0061] See Figure 2 The architecture diagram includes a probe end, microservices s1 and s2, message queues for topics T1, T2, and T3, and an aggregation end. The probe end, located before the message queue of topic T1, is used to send link probe messages. The aggregation end, located after the message queue of topic T3, is used to receive link probe messages from the probe end and determine the link probe results for the service link to be probed. The aggregation end sends the link probe results back to the probe end, which can then determine the service quality of the service link to be probed based on the results.

[0062] The following will combine Figure 2 The architecture shown provides a detailed description of the method for determining the service quality of the business link proposed in this application.

[0063] First, after receiving an instruction to perform a service quality probe on a certain service link, the probe end will generate a unique link probe identifier for the service link that needs to be probed.

[0064] It should be noted that this unique identifier for link detection is only valid during the current service quality detection process for that service link.

[0065] For example, after the probe receives the instruction to perform a service quality probe on service link A at time Time1, let the unique link probe identifier generated by the probe for service link A be identifier A1.

[0066] Therefore, the concept of validity can be interpreted in the following two ways:

[0067] (1) If the probe receives an instruction to perform a service quality probe on service link A at Time2, then the unique link probe identifier generated by the probe for service link A can be identifier A2, but not identifier A1.

[0068] (2) At the same time as the probe end receives the instruction information to perform a service quality probe on the service link B at the time of Time1, the unique link probe identifier generated by the probe end for the service link B can be identifier B1, and cannot be identifier A1.

[0069] Then, the probe will construct a link probe message based on the asynchronous call link list corresponding to the business link and the generated link probe unique identifier.

[0070] by Figure 2 For example, the asynchronous call chain list corresponding to a business link is the information that the business link will pass through the message queues of topic T1, microservice s1, topic T2, microservice s2, and topic T3 when processing business messages. The asynchronous call chain list also includes the partition information of each topic's message queue; that is, the asynchronous call chain list includes partitions P1, P2, and P3 for topic T1, partitions P4 and P5 for topic T2, and partition P6 for topic T3. The asynchronous call chain list for each business link is generated when the technical staff configures the business link. In other words, for a business link, it is actually configured and implemented by the technical staff based on a pre-configured asynchronous call chain list.

[0071] based on Figure 2 The illustrated business chain shows that, in this scenario, after the requester sends a business message, it is transmitted to microservice s1 via the message queue of topic T1. The message queue of topic T1 contains three partitions: P1, P2, and P3. This means that the business message sent by the requester could potentially reach microservice s2 via any of the partitions P1, P2, or P3 within the message queue of topic T1. Therefore, to achieve comprehensive detection of the service quality of the business chain, this application specifically addresses... Figure 2 As shown in the business link diagram, this application requires the construction of three link probe messages, which will be sent to one partition in the message queue of topic T1, respectively. For example... Figure 3 The diagram shown is a structural schematic of a link probe message provided in an embodiment of this application. This link probe message is based on... Figure 1 The business link shown is constructed. The link probe message includes the following:

[0072] (1) Link Probe Unique Identifier. This link probe unique identifier is used to indicate that the link probe message constructed this time is only for [specific target]. Figure 1 The service quality probe shown is effective for the business link. Therefore, if it is necessary to continue probing the service quality again next time... Figure 1 If the business link shown is subjected to a new service quality probe, the unique identifier of the link probe message constructed in the next probe will be different from the unique identifier of the link probe message constructed in the current probe; or, if the probe is currently probing the service quality of the business link... Figure 1 While probing the service quality of the shown business links, the probe also probes the service quality of another / some other business links. So, what are the probe's targets for...? Figure 1 The unique identifier for link detection determined by the business link shown will also be different from the unique identifier for link detection determined by the probe for one or more other business systems.

[0073] (2) The topic of the first message queue. For example, for... Figure 1 The business chain shown will have its first message queue topic denoted as T1.

[0074] (3) The partition identifier of the first message queue. For example, for... Figure 1 The business chain shown will have partition identifiers P1, P2 and P3 for the first message queue.

[0075] (4) The number of partitions in the first message queue. For example, for... Figure 1 In the aforementioned business chain, the number of partitions in the first message queue is the same as the number of partitions in the message queue of topic T1, which is 3.

[0076] (5) The topic of the fixed-point message queue. By writing the topic of the fixed-point message queue into the link probe message, the aggregation end can determine the topic. Figure 1 After receiving the link detection results of the business link shown, the aggregation end can use the determined link detection results as a message and pass the link detection results to the corresponding topic's fixed message queue through the topic of the pre-written fixed message queue in the link detection message. Thus, the detection end can obtain the link detection results of the business link from the fixed message queue of that topic, and determine the service quality of the business link based on the obtained link detection results.

[0077] (6) Generation time of the link probe message. Based on the generation time and the arrival time of the link probe message in the last message queue of the business link, the aggregation end can determine the time it takes for the link probe message to travel through the business link. This time includes the time it takes for the link probe information to be sent to the message queue after it is generated, the time it takes to be transmitted in the message queue, and the time it takes to be transmitted in the microservice. Therefore, based on the time it takes for the link probe message to travel through the business link, the service quality of the business link can be determined.

[0078] like Figure 4 The diagram shown is a schematic representation of a link probe message provided in an embodiment of this application. This diagram is based on... Figure 1 The business links shown are defined. See also... Figure 4 There are three link probe messages. The difference between these three messages lies in the partition identifier of their first message queue. For example, looking at these three link probe messages from top to bottom, the partition identifier of the first message queue is partition P1, meaning that after this link probe message is generated, it needs to be sent by the probed end to partition P1 of the message queue for topic T1; the partition identifier of the second link probe message is partition P2, meaning that after this link probe message is generated, it needs to be sent by the probed end to partition P2 of the message queue for topic T1; and the partition identifier of the third link probe message is partition P3, meaning that after this link probe message is generated, it needs to be sent by the probed end to partition P3 of the message queue for topic T1. Apart from this difference, the content of these three link probe messages is identical.

[0079] Then, the probe will send the constructed link probe message to the business link whose service quality needs to be probed.

[0080] for example, Figure 4 The first link probe message shown is sent to partition P1 of the message queue for topic T1, the second link probe message is sent to partition P2 of the message queue for topic T1, and the third link probe message is sent to partition P3 of the message queue for topic T1. After receiving these three link probe messages, microservice s1 does not perform any business processing on them. Instead, it simply selects a partition from the message queue of topic T2 and sends it to microservice s2. The partition selected by microservice s1 for each of the three link probe messages when sending it to microservice s2 through the message queue of topic T2 is determined by microservice s1 itself, and this is not relevant to this application and will not be described further.

[0081] Following the same logic as microservice s1 in processing received link probe messages, microservice s2 will not perform any business processing on the link probe messages it receives. Instead, it will simply select a partition in the message queue of topic T3 and send it to the aggregation end.

[0082] When evaluating the service quality of a business link, the main consideration is the time it takes for a business message to be sent and for the processed result to arrive at the last message queue in the business link. Therefore, in this application, the aggregator needs to obtain the time when the link probe message is sent to the first message queue of the business link (i.e., the generation time of the link probe message) and the time when the link probe message arrives at the last message queue of the business link (i.e., the arrival time of the link probe message). The time difference between these two times can be used as the link probe result of the business link. Since the link probe message already records the generation time, the aggregator can successfully obtain the generation time of the link probe message after receiving it. As for how the aggregator obtains the arrival time of the link probe message, this application proposes to control the aggregator to subscribe to the link probe message in the last message queue of the business link. When a link probe message arrives in the last message queue, the aggregator is automatically triggered to obtain the arrival time of the link probe message in the last message queue, thus enabling the aggregator to successfully obtain the arrival time of the link probe message.

[0083] For link probe messages with the same unique link probe identifier, the aggregator can determine the link probe result of the current service link based on the generation and arrival times of the link probe message. After determining the link probe result of the current service link, the aggregator can send the link probe result data as a message (containing the unique link probe identifier of this link probe) to the fixed-point message queue according to the topic in the link probe message. This allows the probe end to easily obtain the link probe result data for the current service link from the fixed-point message queue and determine the service quality of the current service link.

[0084] For the final step, the aggregator calculates the time difference based on the arrival time of the last of the three link probe messages to reach the message queue of the T3 topic. Specifically, the aggregator can determine whether it has collected the three link probe messages sent by the prober in the following way:

[0085] The aggregator monitors the message queue of topic T3 to determine if messages have been sent to that topic. If a message has been sent, the aggregator records the arrival time of the message. Simultaneously, the aggregator checks the message to determine if it is a link probe message. If it is, it retrieves the unique link probe identifier from the message. (The last sentence appears to be incomplete and possibly refers to a different topic.) Figure 1 The signal is issued to perform service quality probing on the business link shown, and the unique identifier obtained from the link probing is for... Figure 1 The service link shown is used to perform service quality detection, and a unique identifier for the link detection is set; then, the number of partitions in the first message queue of the link detection message is obtained, based on... Figure 1 The business link shown has a message queue partition count of 3 in the first message. It also determines which partition of the message queue in topic T1 the initial probe message was sent to. For example, if the obtained partition identifier is partition P1 in the message queue of topic T1, the aggregator can use the obtained unique link probe identifier to search the locally stored link probe messages to determine if a link probe message with the same unique identifier and sent to partition P1 in the message queue of topic T1 has already been stored locally. If the search determines that the link probe message has not been stored locally, it is stored; otherwise, it is ignored, ensuring that only one record is retained locally for link probe messages with the same unique identifier and targeting the same partition. Following the same logic, the aggregator will listen for messages received in the message queue of topic T3 until a message is received targeting... Figure 1 If the last of the three link probe messages with a unique identifier set for the service quality detection of the business link shown is detected by the aggregator, then the aggregator can record the arrival time of the last link probe message to the message queue of topic T3.

[0086] It should be noted that if the aggregator does not listen to a link probe message with the same unique link probe identifier within a set time period after listening to a link probe message with the same unique link probe identifier in the message queue of the T3 topic, the aggregator will abandon listening to the link probe message with the unique link probe identifier in the message queue of the T3 topic. In other words, the aggregator will not determine the link probe result for the business link to be probed this time.

[0087] After the aggregation end obtains the arrival time of the last link probe message arriving at the message queue of topic T3, it takes the difference between the arrival time and the generation time of the link probe message in the link probe message, and uses the obtained time difference as the link probe result of the business link to be probed.

[0088] After the aggregator determines the link probe result of the service link to be probed, it can send the link probe result data of the service link to be probed to the message queue (i.e., the fixed-point message queue) with the topic in the link probe message. The prober can then obtain the link probe result data of the service link to be probed from the message queue (i.e., the fixed-point message queue) with that topic. After obtaining the link probe result of the service link to be probed, i.e., the time difference, the prober can compare this time difference with the value corresponding to the set service quality level of the service link to obtain the service quality level of the service link to be probed.

[0089] For the embodiments described above regarding how to determine the service quality of a business link, this application can correspondingly propose a method for determining the service quality of a business link. For example... Figure 5 The diagram illustrates a method for determining the quality of service (QS) of a business link according to an embodiment of this application. The method includes the following steps:

[0090] Step 501: The probe generates a unique identifier for the link probe based on the instruction information for probing the service link to be probed.

[0091] Step 502: The probe end constructs a link probe message based on the asynchronous call link list of the service link to be probed and the link probe unique identifier.

[0092] The asynchronous call chain list is created based on the microservices and message queues of the business chain to be probed. The business chain to be probed is a chain of multiple microservices to realize business functions, and the upstream microservice transmits business messages to the downstream microservice through the message queue of the set topic. The link probe message includes the generation time of the link probe message.

[0093] Step 503: The probe obtains the first topic of the first message queue in the business link to be probed from the asynchronous call link list, and sends the link probe message to the first message queue according to the first topic.

[0094] Step 504: The probe receives the link probe results sent by the aggregation end.

[0095] The link detection result is determined by the aggregation end based on the generation time of the link detection message and the arrival time of the link detection message to the last message queue in the service link to be detected. The arrival time is determined by the aggregation end after listening to the link detection message in the last message queue.

[0096] Step 505: The detection end determines the service quality of the service link to be detected based on the link detection results.

[0097] In one implementation of step 501 above, the probe end constructs a link probe message based on the asynchronous call link list of the service link to be probed and the link probe unique identifier, including: the probe end obtains the target partition number of the first message queue and the partition identifier of each partition from the asynchronous call link list; the probe end constructs a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the target partition number and the partition identifier of the partition.

[0098] In some embodiments of this application, the probe end constructs a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition. This includes: the probe end determining a fixed-point message queue from the service link to be probed; the fixed-point message queue is any one of the message queues with various topics in the service link to be probed; the probe end constructs a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the number of target partitions, the partition identifier of the partition, and the second topic of the fixed-point message queue; the second topic is used to instruct the aggregation end to send the link probe result to the fixed-point message queue based on the second topic after receiving the link probe message for the partition; the probe end receiving the link probe result sent by the aggregation end includes: the probe end obtaining the link probe result from the fixed-point message queue.

[0099] For the embodiments described above in this application on how to determine the service quality of a business link, this application can correspondingly propose another method for determining the service quality of a business link, such as... Figure 6 The diagram illustrates a method for determining the quality of service (QS) of a business link according to an embodiment of this application. The method includes the following steps:

[0100] Step 601: The aggregation end obtains the link detection message from the last message queue in the service link to be detected, and records the arrival time of the link detection message to the last message queue.

[0101] The link detection message is constructed by the detection end based on the asynchronous call link list and the unique link detection identifier of the business link to be detected. The unique link detection identifier is generated by the detection end according to the indication information for detecting the business link to be detected. The asynchronous call link list is created based on the microservices and message queues of the topics of the business link to be detected. The business link to be detected is a chained connection of multiple microservices to realize business functions, and the upstream microservice transmits business messages to the downstream microservice through the message queue of the set topic. The link detection message includes the generation time of the link detection message.

[0102] Step 602: The aggregation end determines the link detection result of the service link to be detected based on the generation time and arrival time of the link detection message in the link detection message.

[0103] Step 603: The aggregation end sends the link detection result to the probing end; the link detection result is used by the probing end to determine the service quality of the service link to be probed. In one implementation of step 601 above, the link detection message is constructed by the probing end based on the first topic, the number of target partitions, and the partition identifiers of each partition in the first message queue of the service link to be probed, obtained from the asynchronous call link list. The probing end is used to construct a link detection message for any partition of the first message queue based on the link detection unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition. The first topic is used to instruct the probing end to send the link detection messages of each partition to the first message queue of the service link to be probed, and the partition identifier of the partition is used to instruct the probing end to send the link detection messages of each partition to the first message queue of the service link to be probed. Each partition in the first message queue of the service link sends a link probe message corresponding to its partition identifier; the aggregation end obtains the link probe message from the last message queue of the service link to be probed, including: the aggregation end listens for the link probe messages of each partition in the last message queue of the service link to be probed; for any partition's link probe message that the aggregation end listens for, if it is determined that the partition identifier of the link probe message of the partition and the partition identifier of each partition's link probe message stored locally by the aggregation end satisfy the target number of partitions in the link probe message of the partition, then the link probe message of the partition is used as the link probe message obtained from the last message queue of the service link to be probed.

[0104] In some embodiments of this application, the link probe message includes a second topic of a fixed-point message queue; the aggregation end sending the link probe result to the probe end includes: the aggregation end sending the link probe result to the fixed-point message queue according to the second topic in the link probe message; the fixed-point message queue is a message queue determined by the probe end from the message queues of various topics of the service link to be probed.

[0105] In some embodiments of this application, if the aggregation end determines that the link probe message of any partition exists in local storage, it ignores storing the link probe message of that partition.

[0106] In some implementations of this application, if the aggregation end determines that within a set time period after the link probe message of any partition arrives at the last message queue, it does not receive a link probe message with the same unique link probe identifier as the link probe message of the partition, then it clears the link probe messages of each partition with the same unique link probe identifier from the local storage.

[0107] Based on the same concept, embodiments of this application provide a detection end, such as... Figure 7 The diagram shown is a schematic of a probe terminal provided in an embodiment of this application. The probe terminal includes a link probe unique identifier generation unit 701, a link probe message construction unit 702, a sending unit 703, a receiving unit 704, and a service link service quality determination unit 705.

[0108] The link detection unique identifier generation unit 701 is used to generate a link detection unique identifier based on the indication information for detecting the service link to be detected.

[0109] The link detection message construction unit 702 is used to construct a link detection message based on the asynchronous call link list of the business link to be detected and the unique identifier of the link detection; the asynchronous call link list is created according to the microservices and message queues of the topics of the business link to be detected, the business link to be detected is to implement business functions by chaining multiple microservices together, and the upstream microservice transmits business messages to the downstream microservice through the message queue of the set topic; the link detection message includes the generation time of the link detection message;

[0110] Sending unit 703 is used to obtain the first topic of the first message queue in the business link to be probed from the asynchronous call link list, and send the link probe message to the first message queue according to the first topic;

[0111] The receiving unit 704 is used to receive the link detection result sent by the aggregation end; the link detection result is determined by the aggregation end based on the generation time of the link detection message and the arrival time of the link detection message to the last message queue in the service link to be detected, and the arrival time is determined by the aggregation end after listening to the link detection message in the last message queue.

[0112] The service link quality determination unit 705 is used to determine the service quality of the service link to be detected based on the link detection results.

[0113] Furthermore, for this device, the link probe message construction unit 702 is specifically used to: obtain the number of target partitions of the first message queue and the partition identifier of each partition from the asynchronous call link list; and construct a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition.

[0114] Furthermore, for this device, the link detection message construction unit is specifically used to: determine a fixed-point message queue from the service link to be detected; the fixed-point message queue is any one of the message queues with various topics in the service link to be detected; for any partition of the first message queue, construct a link detection message for the partition according to the link detection unique identifier, the first topic, the number of target partitions, the partition identifier of the partition and the second topic of the fixed-point message queue; the second topic is used to instruct the aggregation end to send the link detection result to the fixed-point message queue according to the second topic after receiving the link detection message of the partition; the receiving unit 704 is specifically used to: obtain the link detection result from the fixed-point message queue.

[0115] Based on the same concept, embodiments of this application provide an aggregation terminal, such as... Figure 8 The diagram shown is a schematic of an aggregation terminal provided in an embodiment of this application. The aggregation terminal includes a processing unit 801, a link detection result determination unit 802, and a sending unit 803.

[0116] Processing unit 801 is configured to obtain a link detection message from the last message queue in the business link to be detected, and record the arrival time of the link detection message to the last message queue; the link detection message is constructed by the probe end based on the asynchronous call link list and the link detection unique identifier of the business link to be detected, the link detection unique identifier is generated by the probe end according to the indication information for probing the business link to be detected, the asynchronous call link list is created based on the message queues of each microservice and each topic of the business link to be detected, the business link to be detected is a chained connection of multiple microservices to realize business functions, and the upstream microservice transmits business messages to the downstream microservice through the message queue of the set topic; the link detection message includes the generation time of the link detection message.

[0117] The link detection result determination unit 802 is used to determine the link detection result of the service link to be detected based on the generation time and arrival time of the link detection message in the link detection message;

[0118] The sending unit 803 is used to send the link detection result to the detection end; the link detection result is used by the detection end to determine the service quality of the service link to be detected.

[0119] Furthermore, for this device, the link probe message is constructed by the probe end based on the first topic, the number of target partitions, and the partition identifiers of each partition in the first message queue of the service link to be probed, obtained from the asynchronous call link list. The probe end is used to construct a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition. The first topic is used to instruct the probe end to send the link probe messages for each partition to the first message queue of the service link to be probed. The partition identifier of the partition is used to indicate... The detection end sends link detection messages of the corresponding partition identifier to each partition of the first message queue in the service link to be detected; the processing unit 801 is specifically used to: listen to the link detection messages of each partition of the last message queue in the service link to be detected; for any monitored link detection message of a partition, if it is determined that the partition identifier of the link detection message of the partition and the partition identifier of the link detection messages of each partition stored locally by the aggregation end satisfy the target number of the link detection message of the partition, then the link detection message of the partition is used as the link detection message obtained from the last message queue in the service link to be detected.

[0120] Furthermore, for this device, the link detection message includes a second topic of a fixed-point message queue; the sending unit 803 is specifically used to: send the link detection result to the fixed-point message queue according to the second topic in the link detection message; the fixed-point message queue is a message queue determined by the detection end from the message queues of each topic of the service link to be detected.

[0121] Furthermore, for this device, the processing unit 801 is also configured to: for any detected link probe message of any partition, if it is determined that the link probe message of the partition exists in local storage, then ignore the storage of the link probe message of the partition.

[0122] Furthermore, for this device, the processing unit 801 is also configured to: for any monitored link probe message of any partition, if it is determined that no link probe message with the same link probe unique identifier as the link probe message of the partition is received within a set time period after the link probe message of the partition arrives at the last message queue, then clear the link probe messages of each partition with the same link probe unique identifier from the local storage.

[0123] This application also provides a computing device, which may specifically be a desktop computer, portable computer, smartphone, tablet computer, personal digital assistant (PDA), etc. The computing device may include a central processing unit (CPU), memory, input / output devices, etc. Input devices may include a keyboard, mouse, touchscreen, etc., and output devices may include display devices, such as liquid crystal displays (LCDs) and cathode ray tubes (CRTs).

[0124] The memory may include read-only memory (ROM) and random access memory (RAM), and provides the processor with program instructions and data stored in the memory. In the embodiments of this application, the memory may be used to store program instructions for a method of determining the quality of service of a service link;

[0125] The processor is used to call program instructions stored in the memory and execute the service quality determination method of the business link according to the obtained program.

[0126] like Figure 9 The diagram shown is a schematic representation of a computing device provided in an embodiment of this application. The computing device includes:

[0127] The processor 901, memory 902, transceiver 903, and bus interface 904 are included; wherein the processor 901, memory 902, and transceiver 903 are connected via bus 905.

[0128] The processor 901 is used to read the program in the memory 902 and execute the above-mentioned method for determining the service quality of the business link.

[0129] Processor 901 can be a central processing unit (CPU), a network processor (NP), or a combination of a CPU and an NP. It can also be a hardware chip. The aforementioned hardware chip can be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0130] The memory 902 is used to store one or more executable programs and can store data used by the processor 901 when performing operations.

[0131] Specifically, the program may include program code, which includes computer operation instructions. Memory 902 may include volatile memory, such as random-access memory (RAM); memory 902 may also include non-volatile memory, such as flash memory, hard disk drive (HDD), or solid-state drive (SSD); memory 902 may also include combinations of the above types of memory.

[0132] Memory 902 stores the following elements: executable modules or data structures, or subsets thereof, or extended sets thereof:

[0133] Operation instructions: This includes various operation instructions used to perform various operations.

[0134] Operating system: includes various system programs used to implement various basic business functions and handle hardware-based tasks.

[0135] The 905 bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be divided into address buses, data buses, control buses, etc. For ease of representation, Figure 9 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0136] Bus interface 904 can be a wired communication interface, a wireless bus interface, or a combination thereof. The wired bus interface can be, for example, an Ethernet interface. The Ethernet interface can be an optical interface, an electrical interface, or a combination thereof. The wireless bus interface can be a WLAN interface.

[0137] This application also provides a computer-readable storage medium storing computer-executable instructions for causing a computer to perform a method for determining the quality of service of a business link.

[0138] This application also provides a computer program product, which includes computer-executable instructions for causing a computer to execute a method for determining the quality of service of a business system.

[0139] Those skilled in the art will understand that embodiments of this application can be provided as methods 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.

[0140] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. 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... Figure 1One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

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

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

[0143] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.

[0144] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A method for determining the quality of service (QoS) of a business link, characterized in that, include: The detection end generates a unique identifier for the detection link based on the indication information for detecting the service link to be detected; The link detection unique identifier is either globally unique or currently unique. The detection end constructs a link detection message based on the asynchronous call link list of the service link to be detected and the unique identifier of the link detection; The asynchronous call chain list is created based on the microservices and message queues of the business chain to be probed. The business chain to be probed is a chain of multiple microservices to realize business functions, and the upstream microservice transmits business messages to the downstream microservice through the message queue of the set topic. The chain probe message includes the generation time of the chain probe message. The probe obtains the first topic of the first message queue in the business link to be probed from the asynchronous call link list, and sends the link probe message to the first message queue according to the first topic; The link probe message is constructed based on the second topic of the fixed-point message queue; wherein, the second topic is used to instruct the aggregation end to send the link probe result to the fixed-point message queue according to the second topic after receiving the link probe message, and the fixed-point message queue is any one of the message queues with various topics of the service link to be probed; The probe receives the link probe result sent by the aggregator; the link probe result is determined by the aggregator based on the generation time of the link probe message and the arrival time of the link probe message in the last message queue of the service link to be probed, and the arrival time is determined by the aggregator after listening to the link probe message in the last message queue; The detection terminal determines the quality of service of the service link to be detected based on the link detection results.

2. The method as described in claim 1, characterized in that, The detection terminal constructs a link detection message based on the asynchronous call link list of the service link to be detected and the unique identifier of the link detection, including: The probe obtains the number of target partitions of the first message queue and the partition identifier of each partition from the asynchronous call chain list; The probe end constructs a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition.

3. The method as described in claim 2, characterized in that, The probe end, for any partition of the first message queue, constructs a link probe message for that partition based on the link probe unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition, including: The detection end determines the fixed message queue from the service link to be detected; The probe end constructs a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the number of target partitions, the partition identifier of the partition, and the second topic of the fixed-point message queue; the probe end receives link probe results sent by the aggregation end, including: The probe obtains the link probe results from the fixed-point message queue.

4. A method for determining the quality of service in a business link, characterized in that, The aggregator retrieves link detection messages from the last message queue in the business link to be detected and records the arrival time of the link detection messages to the last message queue. The link detection messages are constructed by the aggregator based on the asynchronous call link list and the unique link detection identifier of the business link to be detected. The unique link detection identifier is generated by the aggregator based on the indication information for probing the business link to be detected. The asynchronous call link list is created based on the message queues of each microservice and each topic of the business link to be detected. The business link to be detected is a chained connection of multiple microservices to implement business functions, and the upstream microservice transmits business messages to the downstream microservice through a message queue with a defined topic. The link detection messages include the generation time of the link detection messages. The unique link detection identifier has global uniqueness or current detection uniqueness. The link detection messages are constructed based on a second topic of a fixed-point message queue. The second topic instructs the aggregator to send the link detection results to the fixed-point message queue after receiving the link detection messages, and the fixed-point message queue is any one of the message queues of each topic of the business link to be detected. The aggregation terminal determines the link detection result of the service link to be detected based on the generation time and arrival time of the link detection message in the link detection message; The aggregation end sends the link detection result to the detection end; the link detection result is used by the detection end to determine the service quality of the service link to be detected.

5. The method as described in claim 4, characterized in that, The link probe message is constructed by the probe end based on the first topic, the number of target partitions, and the partition identifiers of each partition in the first message queue of the service link to be probed, obtained from the asynchronous call link list. The probe end is used to construct a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition. The first topic is used to instruct the probe end to send the link probe messages of each partition to the first message queue of the service link to be probed. The partition identifier of the partition is used to instruct the probe end to send the link probe messages of the partition corresponding to the partition identifier to each partition of the first message queue of the service link to be probed. The aggregation terminal obtains link detection messages from the last message queue in the service link to be detected, including: The aggregation terminal listens for link probe messages in each partition of the last message queue in the business chain to be probed; If the aggregation end determines that the partition identifier of the link probe message of any partition and the partition identifier of the link probe messages of each partition stored locally by the aggregation end satisfy the target partition number in the link probe message of the partition, then the link probe message of the partition is used as the link probe message obtained from the last message queue in the service link to be probed.

6. The method as described in claim 4, characterized in that, The link probe message includes a second topic in the fixed-point message queue; The aggregation end sends the link detection results to the probing end, including: The aggregation end sends the link detection result to the fixed message queue according to the second topic in the link detection message; the fixed message queue is a message queue determined by the detection end from the message queues of each topic of the service link to be detected.

7. The method as described in claim 5, characterized in that, The method further includes: If the aggregation end determines that the link probe message for any partition exists in the local storage, it will ignore storing the link probe message for that partition.

8. The method as described in claim 5, characterized in that, The method further includes: If the aggregation end determines that, within a set time period after the link probe message of any partition is received, no link probe message with the same unique link probe identifier as the link probe message of the partition is received, then the link probe messages of each partition with the same unique link probe identifier are cleared from the local storage.

9. A detection terminal, characterized in that, include: The link detection unique identifier generation unit is used to generate a link detection unique identifier based on the indication information for detecting the service link to be detected. The link detection unique identifier is either globally unique or currently unique. The link detection message construction unit is used to construct a link detection message based on the asynchronous call link list of the business link to be detected and the link detection unique identifier; The asynchronous call chain list is created based on the microservices and message queues of the business chain to be probed. The business chain to be probed is a chain of multiple microservices to realize business functions, and the upstream microservice transmits business messages to the downstream microservice through the message queue of the set topic. The chain probe message includes the generation time of the chain probe message. The sending unit is configured to obtain the first topic of the first message queue in the business link to be probed from the asynchronous call link list, and send the link probe message to the first message queue according to the first topic; The link probe message is constructed based on the second topic of the fixed-point message queue; wherein, the second topic is used to instruct the aggregation end to send the link probe result to the fixed-point message queue according to the second topic after receiving the link probe message, and the fixed-point message queue is any one of the message queues with various topics of the service link to be probed; A receiving unit is configured to receive the link detection result sent by the aggregation end; the link detection result is determined by the aggregation end based on the generation time of the link detection message and the arrival time of the link detection message in the last message queue of the service link to be detected, wherein the arrival time is determined by the aggregation end after listening to the link detection message in the last message queue; The service link quality determination unit is used to determine the service quality of the service link to be detected based on the link detection results.

10. The detection end as described in claim 9, characterized in that, The link probe message construction unit is specifically used for: Obtain the target partition number of the first message queue and the partition identifier of each partition from the asynchronous call chain list; For any partition of the first message queue, a link probe message for that partition is constructed based on the link probe unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition.

11. The detection end as described in claim 10, characterized in that, The link probe message construction unit is specifically used for: The fixed-point message queue is determined from the service links to be detected; For any partition of the first message queue, a link probe message for that partition is constructed based on the unique identifier of the link probe, the first topic, the number of target partitions, the partition identifier of the partition, and the second topic of the fixed-point message queue. The receiving unit is specifically used for: The link detection results are obtained from the fixed-point message queue.

12. A polymerization end, characterized in that, include: The processing unit is configured to obtain link detection messages from the last message queue in the business link to be detected, and record the arrival time of the link detection messages to the last message queue. The link detection messages are constructed by the detection end based on the asynchronous call link list and the unique identifier of the link detection for the business link to be detected. The unique identifier is generated by the detection end based on the indication information for detecting the business link to be detected. The asynchronous call link list is created based on the message queues of each microservice and each topic of the business link to be detected. The business link to be detected is a chained connection of multiple microservices to implement business functions, and the upstream microservice transmits business messages to the downstream microservice through a message queue with a set topic. The link detection messages include the generation time of the link detection messages. The unique identifier of the link detection has global uniqueness or current detection uniqueness. The link detection messages are constructed based on a second topic of a fixed-point message queue. The second topic is used to instruct the aggregation end to send the link detection results to the fixed-point message queue according to the second topic after receiving the link detection messages. The fixed-point message queue is any one of the message queues of each topic of the business link to be detected. The link detection result determination unit is used to determine the link detection result of the service link to be detected based on the generation time and arrival time of the link detection message in the link detection message. A sending unit is used to send the link detection result to the detection end; the link detection result is used by the detection end to determine the quality of service of the service link to be detected.

13. The polymerization end as described in claim 12, characterized in that, The link probe message is constructed by the probe end based on the first topic, the number of target partitions, and the partition identifiers of each partition in the first message queue of the service link to be probed, obtained from the asynchronous call link list. The probe end is used to construct a link probe message for any partition of the first message queue based on the link probe unique identifier, the first topic, the number of target partitions, and the partition identifier of the partition. The first topic is used to instruct the probe end to send the link probe messages of each partition to the first message queue of the service link to be probed. The partition identifier of the partition is used to instruct the probe end to send the link probe messages of the partition corresponding to the partition identifier to each partition of the first message queue of the service link to be probed. The processing unit is specifically used for: Listen for link probe messages in each partition of the last message queue in the service chain to be probed; For any detected link probe message of a partition, if it is determined that the partition identifier of the link probe message of the partition and the partition identifier of the link probe messages of each partition stored locally at the aggregation end satisfy the target partition number in the link probe message of the partition, then the link probe message of the partition is used as the link probe message obtained from the last message queue in the service link to be probed.

14. The polymerization end as described in claim 12, characterized in that, The link probe message includes a second topic in the fixed-point message queue; The transmitting unit is specifically used for: Based on the second topic in the link probe message, the link probe result is sent to the fixed-point message queue; the fixed-point message queue is a message queue determined by the probe end from the message queues of each topic of the service link to be probed.

15. The polymerization end as described in claim 13, characterized in that, The processing unit is further configured to: If a link probe message for any partition is detected, and it is determined that the link probe message for that partition exists in local storage, then the storage of the link probe message for that partition is ignored.

16. The polymerization end as described in claim 13, characterized in that, The processing unit is further configured to: For any detected link probe message from any partition, if it is determined that no link probe message with the same unique link probe identifier as the link probe message of the partition is received within a set time after the link probe message of the partition arrives at the last message queue, then the link probe messages of each partition with the same unique link probe identifier are cleared from the local storage.

17. A computer device, characterized in that, include: Memory, used to store computer programs; A processor is configured to invoke a computer program stored in the memory and execute the method as described in any one of claims 1-3 and 4-8 according to the obtained program.

18. A computer-readable storage medium, characterized in that, The storage medium stores computer-executable instructions for causing a computer to perform the method as described in any one of claims 1-3 and 4-8.

19. A computer program product, characterized in that, The computer program product includes computer-executable instructions for causing a computer to perform the method as described in any one of claims 1-3 and 4-8.

Citation Information

Patent Citations

  • Business system state detection method, system and device and computer readable medium

    CN109120691A