Display method and apparatus for delay visualization result, storage medium, and device

By receiving and classifying topic messages from video service nodes, the system generates and displays the latency results of the video stream at each node, solving the problem of inaccurate latency analysis in existing technologies and improving the accuracy of analysis and the intuitiveness of display.

WO2025217862A1PCT designated stage Publication Date: 2025-10-23BOE TECHNOLOGY GROUP CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/088475
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-18
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

Existing latency analysis methods cannot determine the latency of a video stream at each different video service node, resulting in low accuracy of the analysis results and an inability to directly display the latency of the video stream at each different video service node.

Method used

By receiving the topic messages pushed by the video service node based on the message push interface, classifying and sorting them, the delay display results of the target video stream in the video service node are generated, including calculating the delay duration and drawing a line chart for display.

Benefits of technology

It enables the determination of latency of video stream at each video service node, improves the accuracy of analysis results, and can directly display latency, facilitating troubleshooting and optimization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024088475_23102025_PF_FP_ABST
    Figure CN2024088475_23102025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present invention relate to the technical field of computers, and relate to a display method and apparatus for a delay visualization result, a storage medium, and a device. The method comprises: receiving theme messages pushed by a video service node on the basis of a message push interface, and classifying the theme messages to obtain message classification results; sorting the message classification results to obtain a time-series sequence of a target video stream when flowing through the video service node; and on the basis of the time-series sequence, generating a delay visualization result of the target video stream in the video service node, and displaying the delay visualization result. The present invention implements direct display of a delay result.
Need to check novelty before this filing date? Find Prior Art

Description

Display method and device of latency display result, storage medium, and equipment TECHNICAL FIELD

[0001] Embodiments of the present disclosure relate to the technical field of computer, in particular to a display method of latency display result, a display device of latency display result, a computer readable storage medium and an electronic device. BACKGROUND

[0002] In the existing latency analysis method, the total time difference of a video stream from a video pushing end to a video playing end is counted to analyze. However, this way cannot determine the latency of the video stream in each different video service node, and thus the accuracy of the analysis result of the latency reason is low; and the latency of the video stream in each different video service node cannot be directly displayed.

[0003] It should be noted that the information disclosed in the above background section is only used to strengthen the understanding of the background of the present disclosure, and thus can include information that does not constitute prior art known to those of ordinary skill in the art.

[0004] SUMMARY

[0005] The present disclosure aims to provide a display method of latency display result, a display device of latency display result, a computer readable storage medium and an electronic device, and thus at least to some extent, overcome the problem of low accuracy of the analysis result of the latency reason caused by the limitations and defects of the related art.

[0006] According to one aspect of the present disclosure, a display method of latency display result is provided, comprising:

[0007] receiving a topic message pushed by a video service node based on a message pushing interface, and classifying the topic message to obtain a message classification result;

[0008] sorting the message classification result to obtain a time sequence sequence of a target video stream when flowing through the video service node;

[0009] generating a latency display result of the target video stream in the video service node according to the time sequence sequence, and displaying the latency display result.

[0010] In an exemplary embodiment of the present disclosure, generating a latency display result of the target video stream in the video service node based on the time sequence sequence comprises:

[0011] calculating the length of the latency of the target video stream when flowing through the video service node based on the start timestamp and the end timestamp corresponding to the video service node in the time sequence sequence;

[0012] According to the time delay length, the video stream identifier, and the node name of the video service node, a time delay display result of the target video stream in the video service node is generated.

[0013] In an example embodiment of the present disclosure, according to the time delay length, the video stream identifier, and the node name of the video service node, a time delay display result of the target video stream in the video service node is generated, including:

[0014] According to the time delay length, a length of a polyline corresponding to the video service node is determined;

[0015] According to the start timestamp and the end timestamp, a start point and an end point of the polyline corresponding to the video service node are determined;

[0016] According to the length of the polyline, the start point, and the end point of the polyline, the polyline corresponding to the video service node is drawn, and the polyline is identified based on the video stream identifier and the node name, so as to obtain the time delay display result of the target video stream in the video service node.

[0017] In an example embodiment of the present disclosure, according to the time delay length, a length of a polyline corresponding to the video service node is determined, including:

[0018] It is judged whether the time delay length is greater than a first preset length threshold, and when it is determined that the time delay length is greater than the first preset length threshold, a preset length value is taken as the length of the polyline corresponding to the video service node;

[0019] When it is determined that the time delay length is less than the first preset length threshold, the time delay length is taken as the length of the polyline corresponding to the video service node.

[0020] In an example embodiment of the present disclosure, the display method of the time delay display result further includes:

[0021] Based on the time delay display result, a video service node with abnormal time delay is located, and performance adjustment is performed on the video service node with abnormal time delay.

[0022] In an example embodiment of the present disclosure, based on the time delay display result, a video service node with abnormal time delay is located, including:

[0023] From the time delay display result, a polyline with the longest length is extracted as a target polyline, and it is judged whether the length of the target polyline is greater than a second preset length threshold;

[0024] When it is determined that the length of the target fold line is greater than a second preset length threshold, it is determined that the time delay length corresponding to the target fold line is an abnormal time delay, and the video service node corresponding to the abnormal time delay is located.

[0025] In an exemplary embodiment of the present disclosure, the video service node receives a topic message pushed by a message push interface, including:

[0026] Determine the video flow path required for the target video stream to flow from video generation to video playback, and determine the video service nodes included in the video flow path;

[0027] Deploy a message push interface in the video service node, and receive a topic message pushed by the video service node based on the message push interface.

[0028] In an exemplary embodiment of the present disclosure, the video service node includes at least one of a push stream service node, a cache service node, a pull stream service node, a transcoding service node, and a video playback node.

[0029] In an exemplary embodiment of the present disclosure, a message collection component is deployed in the video service node, including:

[0030] Parse the message queue receiving the topic message to obtain address information, token information, and type information of the message queue;

[0031] According to the type information of the message queue, specify the video service node that needs to execute the message push interface deployment;

[0032] Based on the queue interface of the message queue, a communication link between the video service node and the message queue is established;

[0033] Based on the communication link, the address information and the token information are sent to the video service node, and the message push interface is deployed in the video service node.

[0034] In an exemplary embodiment of the present disclosure, the video service node receives a topic message pushed by a message push interface, including:

[0035] Start a message receiving thread in the message queue, and receive a topic message pushed by a video service node based on a message push interface based on the message receiving thread.

[0036] In an exemplary embodiment of the present disclosure, the topic message is generated in the following way:

[0037] finding a video stream identifier of a target video stream and a time node of a first time of arrival of the video stream identifier in the video service node, and encapsulating the video stream identifier and the time node of the first time of arrival to obtain a first message object;

[0038] finding a time node of a first time of departure of the video stream identifier from the video service node in the video service node, and encapsulating the video stream identifier and the time node of the first time of departure to obtain a second message object;

[0039] serializing the first message object and the second message object to obtain a topic message corresponding to the video service node.

[0040] In an example embodiment of the present disclosure, the encapsulating the video stream identifier and the time node of the first time of arrival to obtain the first message object comprises:

[0041] generating a start timestamp according to the time node of the first time of arrival, and encapsulating the start timestamp, the video stream identifier, a unique node identifier of the video service node, and a node name to obtain the first message object.

[0042] In an example embodiment of the present disclosure, the classifying the topic message to obtain a message classification result comprises:

[0043] deserializing the topic message to obtain a target message object in the topic message;

[0044] classifying the topic message according to a video stream identifier of a target video stream included in the target message object to obtain a message classification result.

[0045] In an example embodiment of the present disclosure, the deserializing the topic message to obtain a target message object in the topic message comprises:

[0046] deserializing the target message object to obtain a first message object and a second message object in the topic message;

[0047] fusing the first message object and the second message object to obtain a target message object; wherein the target message object includes at least one of a start timestamp, a terminal timestamp corresponding to a time node of a first time of departure, a video stream identifier, a unique node identifier of a video service node, and a node name.

[0048] In an example embodiment of the present disclosure, the classifying the topic message according to a video stream identifier of a target video stream included in the target message object to obtain a message classification result comprises:

[0049] performing validity detection on the target message object to determine whether the target message object comprises a video stream identifier of a target video stream;

[0050] when it is determined that the target message object comprises the video stream identifier, determining a keyword of the video service node according to the video stream identifier;

[0051] determining a value of the video service node according to information in the target message object other than the video stream identifier, and constructing a key-value pair of the video service node according to the keyword and the value of the video service node;

[0052] storing the key-value pair into a preset identifier dictionary, and classifying key-value pairs with the same video stream identifier in the identifier dictionary to obtain the message classification result.

[0053] In an exemplary embodiment of the present disclosure, the message classification result is time-sequentially sorted to obtain a time-sequential sequence of the target video stream when flowing through the video service node, comprising:

[0054] extracting a unique node identifier in the key-value pair in the same message classification result, and time-sequentially sorting the key-value pair corresponding to the theme message based on the unique node identifier to obtain the time-sequential sequence of the target video stream when flowing through the video service node.

[0055] According to an aspect of the present disclosure, a display device for latency display result is provided, comprising:

[0056] a theme message classification module configured to receive a theme message pushed by a video service node based on a message pushing interface, and to classify the theme message to obtain a message classification result;

[0057] a message classification result sorting module configured to sort the message classification result to obtain a time-sequential sequence of a target video stream when flowing through a video service node;

[0058] a latency display result display module configured to generate a latency display result of the target video stream in the video service node according to the time-sequential sequence, and to display the latency display result.

[0059] According to an aspect of the present disclosure, a computer readable storage medium having a computer program stored thereon is provided, the computer program being executed by a processor to implement the display method of the latency display result as described above.

[0060] According to an aspect of the present disclosure, an electronic device is provided, comprising:

[0061] a processor; and

[0062] a memory for storing executable instructions of the processor;

[0063] The processor is configured to execute the display method of the time delay display result by executing the executable instructions.

[0064] In the display method of the time delay display result provided by the embodiments of the present disclosure, on one hand, the subject message pushed by the video service node based on the message push interface is received, and the subject message is classified to obtain a message classification result; then the message classification result is sorted to obtain a time sequence of the target video stream when passing through the video service node; finally, the time delay display result of the target video stream in the video service node is generated according to the time sequence; since the time delay of the video stream in each different video service node can be determined based on the time delay display result, the problem that the accuracy of the analysis result of the time delay reason is low due to the inability to determine the time delay of the video stream in each different video service node in the prior art can be solved; on the other hand, since the time delay display result can be directly displayed, the problem that the time delay of the video stream in each different video service node cannot be directly displayed in the prior art can be solved.

[0065] It should be understood that the foregoing general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. BRIEF DESCRIPTION OF DRAWINGS

[0066] The accompanying drawings, which are incorporated into and form part of the specification, illustrate an embodiment consistent with the present disclosure and, together with the specification, serve to explain the principles of the present disclosure. Obviously, the drawings in the following description are only some embodiments of the present disclosure, and other drawings can be obtained from these drawings without creative labor for those skilled in the art.

[0067] FIG. 1 schematically shows a flowchart of a display method of a time delay display result according to an example embodiment of the present disclosure.

[0068] FIG. 2 schematically shows a structural example diagram of a display system of a time delay display result according to an example embodiment of the present disclosure.

[0069] FIG. 3 schematically shows a method flowchart of a specific generation process of a subject message according to an example embodiment of the present disclosure.

[0070] FIG. 4 schematically shows a structural example diagram of a message body of a subject message according to an example embodiment of the present disclosure.

[0071] FIG. 5 schematically shows a specific scenario diagram of deploying a message push interface in a video service node according to an example embodiment of the present disclosure.

[0072] FIG. 6 schematically shows a scenario example diagram of configuration resolution of a message queue according to an example embodiment of the present disclosure.

[0073] FIG. 7 schematically shows an example diagram of a resulting message classification result according to an example embodiment of the present disclosure.

[0074] FIG. 8 schematically shows an example diagram of a resulting timing sequence according to an example embodiment of the present disclosure.

[0075] FIG. 9 schematically shows an example diagram of a resulting latency presentation result according to an example embodiment of the present disclosure.

[0076] FIG. 10 schematically shows a scenario example diagram of display of a latency presentation result according to an example embodiment of the present disclosure.

[0077] FIG. 11 schematically shows a structure example diagram of a display device of a latency presentation result according to an example embodiment of the present disclosure.

[0078] FIG. 12 schematically shows an electronic device for implementing a display method of a latency presentation result according to an example embodiment of the present disclosure. DETAILED DESCRIPTION

[0079] Example implementations are now described with reference to the drawings; however, these implementations are merely examples of implementations and are not intended to limit the scope of what is described herein. For example, singular forms are intended to include the plural forms as well, unless the context clearly indicates otherwise. Furthermore, to the extent that the terms "includes," "containing," "has," "having," or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term "comprising." Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. The materials, methods, and examples provided herein are illustrative only and are not intended to be limiting.

[0080] In addition, the drawings are only schematic and the dimensions of the various features are not necessarily to scale. Like reference numerals are intended to denote like parts throughout the various figures. Individual features can be labelled by the same reference numerals in different figures, in which case those features have the same or similar function(s). Some of the blocks in the drawings can be functional blocks that do not necessarily have a corresponding physical structure or implementation. These blocks can be implemented in software, hardware, firmware or any combination thereof. In some embodiments, some of the blocks can be implemented via one or more hardware modules or integrated circuits.

[0081] In a live streaming system, the video stream picture recorded by a camera needs to pass through some links from the camera to the terminal of the end user, such as a signaling service, a push streaming service, a cache service, a pull streaming service and the like; and the video stream picture will generate a delay at each link; therefore, displaying the flow path of the video stream picture and the time consumed between the links is beneficial to finding out the problem of the video stream picture at which link and the most consumed time; however, the prior art does not involve any solution for displaying the time delay of each link.

[0082] Based on this, the example embodiments of the present disclosure provide a display method of a time delay display result, which analyzes the flow path of a live stream and the delay size generated in each service by subscribing to the messages of a message queue through designing a service independently running; meanwhile, the display method of the time delay display result provided by the example embodiments of the present disclosure can also display the video service nodes through which the live stream flows by the points in the point-line and display the length of the delay by the length of the broken line in the point-line.

[0083] In an example embodiment, since the links passed through by different live streaming systems are not the same, a message queue needs to be introduced in the actual application process, and the mechanism of subscribing to the messages is used to achieve the purpose of separate design, so as to avoid the invasion of the original business; meanwhile, the point-line is dynamically generated, which can correspond to different service numbers and delays; in an example embodiment, the display method of the time delay display result recorded by the example embodiments of the present disclosure aims to design a simple and fast display of the business flow direction of the live stream and the time consumption between the services, so as to facilitate the user to intuitively see the dynamics of the video stream and improve the transparency of the underlying service to the outside; meanwhile, it is also convenient for the developer to troubleshoot problems and optimize the delay. And since the customer's requirement for live streaming delay is very high and very clear, but some delays in the actual application scenario are not caused by the links through which the live stream flows, such as the camera has a large delay when pushing the stream, the customer's playback end is improperly handled to cause a large playback delay and the like; under this premise, the display method of the time delay display result recorded by the example embodiments of the present disclosure can well solve the above problems; and through the point-line chart, the different business services through which the live stream flows and the delay time length in each service can be clearly seen, thereby enhancing the participation and experience of the user.

[0084] In an example embodiment, the display method of the time delay display result recorded by the example embodiments of the present disclosure can run on a server, a server cluster or a cloud server and the like; of course, the person skilled in the art can also run the method of the present disclosure on other platforms according to the requirement, which is not specially limited in the example embodiments. Specifically, referring to FIG. 1, the display method of the time delay display result can include the following steps:

[0085] Step S110. The video service node receives the topic message pushed based on the message push interface, and classifies the topic message to obtain a message classification result;

[0086] Step S120. The message classification result is sorted to obtain a time sequence of the target video stream when flowing through the video service node;

[0087] Step S130. The time delay display result of the target video stream in the video service node is generated according to the time sequence, and the time delay display result is displayed.

[0088] In the display method of the time delay display result, on the one hand, the topic message pushed by the video service node based on the message push interface is received, and the topic message is classified to obtain a message classification result; then the message classification result is sorted to obtain a time sequence of the target video stream when flowing through the video service node; finally, the time delay display result of the target video stream in the video service node is generated according to the time sequence; since the time delay of the video stream in each different video service node can be determined based on the time delay display result, the problem that the accuracy of the analysis result of the time delay reason is low due to the inability to determine the time delay of the video stream in each different video service node in the prior art can be solved; on the other hand, since the time delay display result can be directly displayed, the problem that the time delay of the video stream in each different video service node cannot be directly displayed in the prior art can be solved.

[0089] In the following, the display method of the time delay display result disclosed in the example embodiments of the present disclosure will be explained and described in detail in combination with the accompanying drawings.

[0090] First, the technical implementation principle of the example embodiments of the present disclosure is explained and described. Specifically, in the implementation process of the display method of the time delay display result provided by the example embodiments of the present disclosure, the following matters need to be noted: on the one hand, in the actual application process, when the video stream picture flows through multiple video service nodes, the data flow between the video service nodes is time-sequenced, but the video stream identification of the video stream picture (i.e. the target video stream) is not the same, so each video stream needs to be counted. The counted data can include but is not limited to service name, ID, inflow time, outflow time, module name, etc. On the other hand, the present disclosure relates to the display of the call chain, such as the service name and the module name within the service through which the live stream ID flows, and the page is drawn every time a live stream is accessed. At the same time, the time granularity of the present disclosure is millisecond, and the inflow and outflow granularity between the modules within the service requires to be finer. On the other hand, the present disclosure mainly counts the delay between services or modules, and the delay data needs to be updated in real time when flowing through the services or modules. Moreover, although the present disclosure does not involve the design and implementation of the streaming media service, nor the design and implementation of the player, when the delay data of the streaming media or the player needs to be displayed through the time delay display result provided by the present disclosure, the message push interface recorded in the present disclosure or the protocol conforming to the present disclosure needs to be introduced before it can be reflected on the page displayed by the present disclosure, that is, the call chain and real-time delay data of the accessed service or module.

[0091] In an example embodiment, the display method of the time delay display result recorded in the example embodiments of the present disclosure can include three parts: one part is message subscription; another part is ID dictionary and message time sequence array; and the other part is point line display data preprocessing array. Among them, the message subscription requires the integration of at least one common message queue service client SDK, which requires an adaptation layer to facilitate the extension of other message queues; the ID dictionary is used for the first classification of the received messages, each message has an ID belonging to which live stream, and this ID is the Key of the array; the time sequence array is the Value of the ID dictionary, and the messages entering the array need to be sorted according to the time they carry, which is convenient for subsequent business processing; the point line preprocessing array is a further business processing of the time sequence array, and the purpose is that after the array is called by the UI side, the point line chart and the service name and delay size through which the live stream flows can be drawn according to the data content in the array. Moreover, based on the above-mentioned three parts, it can be known that the present disclosure needs to focus on analyzing the delay problem in the field of video live stream, and through the intuitive chart display, it is convenient for the developer to troubleshoot the problem and for the user to understand the business service through which the live stream flows, which can also be integrated as a functional point into the user interface of the user for display.

[0092] In an example embodiment, the display method of the time delay display result disclosed in the example embodiment of the present disclosure can not only be used for analyzing the time delay reason of a video stream, but also be used for analyzing other time delay reasons, such as data processing time delay reason, communication time delay reason, data transmission time delay reason, model training time delay reason, alarm message transmission time delay reason, and the like, which are not specially limited in the present example; meanwhile, the display method of the time delay display result disclosed in the example embodiment of the present disclosure can achieve the pushing of the theme message by adding the message pushing business in the corresponding code, and then perform experimental analysis based on the theme message, so that the invasiveness of the whole scheme to the video processing system is extremely low. Further, taking the alarm message transmission time delay reason as an example, an alarm message is generated from an alarm system, and then pushed to a business distribution system, a notification system, a business processing system, and the like.

[0093] Secondly, the display system of the time delay display result involved in the example embodiment of the present disclosure is explained and described. Specifically, referring to FIG. 2, the display system of the time delay display result can include a message producer 210, a message queue 220, a message queue adaptation layer 230, a time delay analysis service 240, and a UI interface display 250. The message producer is in communication connection with the message queue adaptation layer, the message queue is in communication connection with the message queue adaptation layer, and the message queue adaptation layer, the time delay analysis service, and the UI interface display are sequentially in communication connection. The message producer refers to a service or a module that needs to be counted for delay collecting relevant state data at a specified position and pushing it to the message queue, and each service or module at least pushes 2 messages to identify the start and end points of the state; the message producer recorded herein is also a video service node; the message queue adaptation layer is an adaptation layer reserved for subsequent expansion of other message queue services, and a general interface is mainly defined in this layer, and the subscription, initialization, and the like of the message are all achieved by calling the interface to finally instantiate the message queue object; the main functions of the time delay analysis service can include but are not limited to: on the one hand, message queue configuration initialization, instance loading, and subscription of a specified TOPIC; on the other hand, the received message is deserialized and classified, such as an ID dictionary; on the other hand, the message is stored in the time sequence array of the ID dictionary in time sequence; on the other hand, the ID dictionary is traversed, and the time sequence array corresponding to each ID is formatted to generate a time sequence queue; the UI interface display can draw the UI according to the time sequence queue data taken from the time delay analysis service; and the specific session process is: calling the time delay analysis service to obtain the time sequence queue data; traversing the time sequence queue data and displaying it on the UI according to certain rules; and the message queue can be used to receive the theme message.

[0094] The display system of the delay display result disclosed by the example embodiments of the present disclosure firstly provides sufficient flexibility for adapting to user scenarios, and needs to be laid out in advance in terms of compatibility of the message queue; secondly, when defining the TOPIC and the message body of the message queue, a unified definition needs to be adopted and the exclusive purpose needs to be clear.

[0095] In the following, the specific generation process of the topic message will be explained and described in combination with FIG. 3. Specifically, referring to FIG. 3, the specific generation process of the topic message can include the following steps:

[0096] In step S310, the video stream identifier of the target video stream and the arrival time node of the video stream identifier received for the first time are found in the video service node, and the video stream identifier and the arrival time node are encapsulated to obtain a first message object.

[0097] In step S320, the departure time node of the video stream identifier from the video service node is found in the video service node, and the video stream identifier and the departure time node are encapsulated to obtain a second message object.

[0098] In step S330, the first message object and the second message object are serialized to obtain a topic message corresponding to the video service node.

[0099] In an example embodiment, the video stream identifier and the arrival time node are encapsulated to obtain the first message object, which can be implemented in the following manner: a start timestamp is generated according to the arrival time node, and the start timestamp, the video stream identifier, the unique node identifier of the video service node, and the node name are encapsulated to obtain the first message object.

[0100] In the following, the specific generation process of the topic message will be further explained and described. Specifically, the topic message disclosed herein has different topics in different application scenarios; for example, in the process of video stream pushing, the corresponding topic is the video stream topic; in the scenario of alarm message transmission, the corresponding topic is the alarm message topic. The topic message disclosed by the example embodiments can be divided into two parts: topic and topic message. The topic corresponds to the topic in different scenarios, and the topic message refers to the message generated by performing the corresponding operation under the topic. The example embodiments take the message generated in the video stream pushing scenario as an example for explanation and description.

[0101] Further, in the actual application process, before pushing the topic message, the message pushing interface in the video service node needs to be initialized first; then, the object identifier (i.e., the video stream identifier) and the first position receiving the video stream identifier are found and the message object S1 corresponding to the identifier is encapsulated, that is, the arrival time node of the video service node receiving the video stream identifier for the first time is determined, and then the video stream identifier and the arrival time node are encapsulated to obtain the first message object S1; further, in the process of encapsulating the video stream identifier and the arrival time node, first, the start timestamp is generated according to the arrival time node, and then the start timestamp and the video stream identifier, the unique node identifier and the node name of the video service node are encapsulated to obtain the first message object S1; similarly, the last position of the video stream identifier leaving the video service node is also found and the second message object S2 corresponding to the video stream identifier is encapsulated; in the specific encapsulation process of the second message object, first, the end timestamp can be generated according to the leaving time node, and then the end timestamp and the video stream identifier, the unique node identifier and the node name of the video service node are encapsulated to obtain the second message object S2; finally, the first message object S1 and the second message object S2 are serialized to obtain the topic message corresponding to the video service node, and the topic message is pushed to the message queue based on the message pushing interface deployed in the video service node. The specific structure of the message body of the topic message recorded here can be referred to FIG. 4.

[0102] It needs to be further supplemented here that in the actual application process, the video service node implements the specific message pushing process, and a message pushing interface is set to push the generated topic message to the message queue to generate the corresponding time delay display result.

[0103] In the following, the display method of the time delay display result shown in FIG. 1 will be further explained and described in combination with FIGS. 2-4. Specifically:

[0104] In step S110, the topic message pushed by the video service node based on the message pushing interface is received, and the topic message is classified to obtain a message classification result.

[0105] In the example embodiment, first, the receiving video service node receives the topic message pushed by the message push interface; specifically, the following method can be used: first, determine the video streaming path required for the target video stream from video generation to video playback, and determine the video service nodes included in the video streaming path; wherein the video service nodes described herein can include a push streaming service node, a cache service node, a pull streaming service node, a transcoding service node, and a video playback node; second, deploy the message push interface in the video service node, and receive the topic message pushed by the video service node based on the message push interface. That is, in actual application, in order to successfully receive the topic message pushed by the video service node, it is necessary to first deploy the message push interface in the video service node; specifically, the specific scene diagram of deploying the message push interface in the video service node can be referred to Figure 5. For example, in the example diagram shown in Figure 5, the message push interface can be deployed in the push streaming service node, the cache service node, the pull streaming service node, the transcoding service node, and the video playback node in sequence; wherein the message push interface is deployed in the video service node in the form of SDK (Software Development Kit). It should be noted that in actual application, different application scenarios correspond to different service nodes, and the example does not make special restrictions on this.

[0106] In an example embodiment, deploying the message collection component in the video service node can be implemented in the following manner: first, parsing the message queue receiving the topic message to obtain address information, token information and type information of the message queue; second, specifying the video service node that needs to execute the message push interface deployment according to the type information of the message queue; third, establishing a communication link between the video service node and the message queue based on the queue interface of the message queue; and fourth, sending the address information and the token information to the video service node based on the communication link, and deploying the message push interface into the video service node. Specifically, referring to FIG. 6, in actual application, in order to accurately deploy the message push interface into the corresponding video service node, first, the message queue needs to be configured and parsed, and the parsed results can include address information, Token (i.e. token information), type information, connection timeout time, and abnormal reconnection times of the message queue, etc. The address information is used to indicate the address of the message queue; the token information is used to indicate the verification information that needs to be carried when interacting with the message queue; the type information is used to indicate the type of the topic message that needs to be pushed; the connection timeout time is used to indicate that the video service node fails to push the topic message based on the message push interface when the time exceeds; the abnormal reconnection times are used to indicate that the video service node fails to push the topic message based on the message push interface when the number of reconnections exceeds; further, message queue adaptation is needed; and the specific adaptation process is to select the initialized specified message queue client (i.e. video service node) based on the type information of the message queue, establish the communication connection between the message queue and each video service node, and start a message receiving thread A in the message queue to receive the topic message pushed by the video service node.

[0107] In an example embodiment, receiving the topic message pushed by the video service node based on the message push interface can be implemented in the following manner: starting a message receiving thread in the message queue, and receiving the topic message pushed by the video service node based on the message push interface based on the message receiving thread. That is, in actual application, the message receiving thread A waits for the arrival of the topic message M after being started, and when the topic message M is received, it is pushed to the message service location of the message queue according to the specified TOPIC (DELAY_STATUS_MESSAGE), and then returns to the position of waiting for the message M to continue waiting, and the cycle is repeated.

[0108] Secondly, after receiving the theme message, the theme message can be classified to obtain a message classification result. Specifically, the classification process of the theme message can be implemented in the following way: firstly, the theme message is deserialized to obtain a target message object in the theme message; secondly, the theme message is classified according to the video stream identifier of the target video stream included in the target message object to obtain a message classification result.

[0109] In an example embodiment, the deserialization of the theme message to obtain the target message object in the theme message can be implemented in the following way: the theme message object is deserialized to obtain a first message object and a second message object in the theme message; the first message object and the second message object are fused to obtain the target message object; wherein the target message object includes a start timestamp, a terminal timestamp corresponding to a departure time node, a video stream identifier, a unique node identifier of a video service node, and a node name, etc. Specifically, since the theme message is obtained by serializing the first message object S1 and the second message object S2, in order to obtain the target message object, firstly, the first message object and the second message object in the theme message are deserialized, and then the first message object and the second message object are fused to obtain the target message object; at the same time, in the specific fusion process, since the difference between the first message object and the second message object is only the difference in the timestamp, the terminal timestamp can be directly merged into the first message object to obtain the target message object S3, or the start timestamp can be directly merged into the second message object to obtain the target message object S3, and this example does not make special limitation.

[0110] In an example embodiment, the message classification result is obtained by classifying the target message object according to a video stream identifier of a target video stream included in the target message object. The classification can be implemented in the following manner. First, validity of the target message object is detected to determine whether the target message object includes the video stream identifier of the target video stream. Second, when it is determined that the target message object includes the video stream identifier, a keyword of the video service node is determined according to the video stream identifier. Third, a value of the video service node is determined according to information other than the video stream identifier in the target message object, and a key-value pair of the video service node is constructed according to the keyword and the value of the video service node. Finally, the key-value pair is stored in a preset identifier dictionary, and key-value pairs with the same video stream identifier in the identifier dictionary are classified to obtain the message classification result. That is, in actual application, validity of the target message object needs to be detected first. Specifically, in the process of validity detection, the video stream identifier field (Trace ID) of the target message object can be directly extracted, and it is determined whether the video stream identifier field is empty. If it is empty, no further classification is performed. If it is not empty, classification can be performed directly based on the video stream identifier in the video stream identifier field. It should be noted that the target message object needs to be detected for validity because only when it is ensured that the target message object is valid (i.e., the target message object includes the video stream identifier), the subsequent classification process can be performed based on the video stream identifier, otherwise the specific classification process cannot be performed.

[0111] It should be further noted that the classification is performed to classify the first message object and the second message object with the same video stream identifier into the same dictionary corresponding to the video stream identifier. Meanwhile, in the process of classification, the number of classification results is consistent with the number of video stream identifiers.

[0112] In a possible example embodiment, when it is determined that the target message object is valid, a key-value pair corresponding to the target message object is generated, and the target message object is classified based on the key-value pair. That is, the video stream identifier field (Trace ID) can be stored as Key in the preset identifier dictionary, and other information can be stored as Value in the preset identifier dictionary. Value is an array with a variable length. The obtained message classification result can be specifically referred to FIG. 7.

[0113] In step S120, the message classification result is sorted to obtain a time sequence of the target video stream when flowing through the video service node.

[0114] Specifically, the message classification result is sorted to obtain the time sequence of the target video stream when flowing through the video service node, which can be achieved by extracting the unique node identifier in the key-value pair in the same message classification result, and sorting the key-value pair corresponding to the topic message based on the unique node identifier to obtain the time sequence of the target video stream when flowing through the video service node. Specifically, in the actual application process, since the positions of each video service node in the video stream path of the target video stream are fixed, and the node unique identifier of each video service node is also fixed and unique, the values in the key-value pair can be sorted directly based on the position of the video service node in the video stream path and the node unique identifier to obtain the time sequence; or the sorting can be performed according to the order of the start time stamp or the end time stamp in the message classification result, which is not specially limited in this example. The obtained time sequence can refer to FIG. 8. Of course, in the sorting process, the sorting process can be implemented based on the sorting thread in the message queue, and the corresponding time sequence can be generated.

[0115] In step S130, the time delay display result of the target video stream in the video service node is generated according to the time sequence, and the time delay display result is displayed.

[0116] In the embodiment of the present example, first, the time delay display result of the target video stream in the video service node is generated based on the time sequence. Specifically, the time delay display result of the target video stream in the video service node can be generated in the following manner: first, the time delay length of the target video stream when flowing through the video service node is calculated based on the start timestamp and the end timestamp corresponding to the video service node in the time sequence; and then, the time delay display result of the target video stream in the video service node is generated according to the time delay length, the video stream identifier, and the node name of the video service node. Specifically, the time delay display result of the target video stream in the video service node can be generated in the following manner: first, the length of the broken line corresponding to the video service node is determined according to the time delay length; second, the start point and the end point of the broken line corresponding to the video service node are determined according to the start timestamp and the end timestamp; then, the broken line corresponding to the video service node is drawn according to the length of the broken line, the start point, and the end point of the broken line, and the broken line is identified based on the video stream identifier and the node name to obtain the time delay display result of the target video stream in the video service node. That is, in the generation process of the time delay display result, first, the difference between the timestamps of the first message object and the second message object in the target message object is determined to obtain the time delay length of the target video stream when flowing through the video service node; then, the video stream identifier (Trace ID) is used as the unique identifier of each row of point broken lines, the start timestamp in the first message object and the end timestamp in the second message object in each video service node are used as the start point and the end point respectively, the time delay length is used as the length of the broken line between the two points, and the video service node is used as the name of each section of the broken line to generate the time delay display result. The obtained time delay display result can be referred to FIG. 9.

[0117] In an example embodiment, the length of the polyline corresponding to the video service node according to the time delay length can be determined by judging whether the time delay length is greater than a first preset length threshold, and when it is determined that the time delay length is greater than the first preset length threshold, a preset length value is used as the length of the polyline corresponding to the video service node; when it is determined that the time delay length is less than the first preset length threshold, the time delay length is used as the length of the polyline corresponding to the video service node. That is, in the process of generating the time delay display result, it can be first judged whether the time delay length is greater than the first preset length threshold; if it is greater than the first preset length threshold, a preset polyline length can be used to replace the time delay length as the length of the polyline corresponding to the video service node; otherwise, the time delay length is directly used as the length of the polyline. Of course, in the process of determining the length of the polyline, since the time delay length is in units of milliseconds, there can be a mapping relationship here, for example, one millisecond corresponds to one millimeter, or one centimeter, etc., which can be set according to actual needs in actual application, and the present example does not make special limitations thereto.

[0118] Further, after obtaining the time delay display result, the time delay display result can be displayed on the UI interface, so as to facilitate the developer or the operation and maintenance personnel to view the time delay display result.

[0119] Further, the video service node with abnormal delay can be located based on the delay display result, and the video service node with abnormal delay can be adjusted in performance. The video service node with abnormal delay can be located by the following method: extracting a longest broken line from the delay display result as a target broken line, and determining whether the length of the target broken line is greater than a second preset length threshold; when it is determined that the length of the target broken line is greater than the second preset length threshold, it is determined that the delay length corresponding to the target broken line is an abnormal delay, and the video service node corresponding to the abnormal delay is located. For example, the longest broken line can be extracted from the delay display result as a target broken line, and it is determined whether the length of the target broken line is greater than a second preset length threshold; when it is determined that the target broken line is greater than the second preset length threshold, it is determined that the delay length is an abnormal delay, and the video service node is located as an abnormal service node. It should be noted that it is necessary to determine whether the target broken line is greater than the second preset length threshold, because in some special cases, the delay length corresponding to the video service node is the longest, which may be within a reasonable delay range, so the video service node is not an abnormal service node. Of course, in another example embodiment, there can be multiple abnormal service nodes, and the lengths of the broken lines can be compared one by one to extract all broken lines greater than the second preset length threshold as target broken lines. In actual application, it can be determined according to actual needs, and the example does not make special limitations.

[0120] Further, in the process of adjusting the performance of the video service node with abnormal delay, the specific adjustment method can include but is not limited to adjusting bandwidth resources, adjusting memory resources, adjusting computing power resources, etc., and the example does not make special limitations. For example, assuming that the video service node with the longest delay is a transcoding service node, the memory resources and computing power resources of the transcoding server can be adjusted; for another example, assuming that the video service node with the longest delay is a player service node, the bandwidth resources of the terminal device corresponding to the player can be adjusted, etc.

[0121] In the following, the display method of the delay display result disclosed in the example embodiment of the present disclosure will be further explained and described in combination with FIG. 10. Specifically, referring to FIG. 10, the display method of the delay display result can be implemented based on the following method:

[0122] S1001, the video cloud initiates a GB28181 push stream instruction, which mainly includes SIP (Session initialization Protocol) protocol authentication, service port negotiation, etc. Specifically, the following methods can be used: when the signaling is initiated, an S1 message is generated; after the signaling verification is successful, an S2 message is generated, at which time the camera pushes the live stream T to the push stream server;

[0123] S1002, push stream service; specifically, the following methods can be used: when T is received, an S1 message is generated; after the received T is encapsulated as necessary, it is pushed to the cache service, at which time an S2 message is generated;

[0124] S1003, cache service; specifically, the following methods can be used: when T is received, an S1 message is generated; when T is distributed to the pull stream service or directly discarded without the pull stream service, an S2 message is generated;

[0125] S1004, pull stream service; specifically, the following methods can be used: when T is received, an S1 message is generated; when T is distributed, an S2 message is generated;

[0126] S1005, transcoding service; specifically, the following methods can be used: when T is received, an S1 message is generated; when T is distributed, an S2 message is generated;

[0127] S1006, play service; specifically, the following methods can be used: when T is received, an S1 message is generated; after T is pushed to the player, an S2 message is generated;

[0128] S1007, message subscription; specifically, the following methods can be used: waiting to receive messages; message deserialization operation, classified into ID dictionary;

[0129] S1008, ID dictionary and time sequence queue;

[0130] S1009, UI display.

[0131] Repeat the above S1001-S1009 until the live stream stops.

[0132] Thus, the display method of the time delay display result disclosed in the example embodiments of the present disclosure has been fully implemented. Based on the foregoing disclosure, it can be known that the display method of the time delay display result disclosed in the example embodiments of the present disclosure has the following advantages: on the one hand, it has strong versatility, and services or modules requiring statistical delay in various industries can be accessed; and different message queues can also be accessed, and it has good scalability; on the other hand, it has good intuitiveness, and problems are easy to locate, and the delay size and flowing position of each module or service can be well reflected through the UI; and the method disclosed in the example embodiments of the present disclosure can be applied in scenarios where the user needs to statistically delay the service or module and the message flowing through the module, such as video cloud, streaming media, signaling system and different business systems.

[0133] The following is a device embodiment of the present disclosure, which can be used to execute the method embodiments of the present disclosure. For details not disclosed in the device embodiments of the present disclosure, please refer to the method embodiments of the present disclosure.

[0134] The example embodiments of the present disclosure also provide a display device of a time delay display result. Specifically, referring to FIG. 11, the display device of the time delay display result can include a theme message classification module 1110, a message classification result sorting module 1120, and a time delay display result display module 1130. Among them:

[0135] The theme message classification module 1110 can be used to receive a theme message pushed by a video service node based on a message pushing interface, and perform classification processing on the theme message to obtain a message classification result;

[0136] The message classification result sorting module 1120 can be used to sort the message classification result to obtain a time sequence sequence of a target video stream flowing through the video service node;

[0137] The time delay display result display module 1130 can be used to generate a time delay display result of the target video stream in the video service node according to the time sequence sequence, and display the time delay display result.

[0138] In an example embodiment of the present disclosure, generating the time delay display result of the target video stream in the video service node based on the time sequence sequence includes: calculating a time delay length of the target video stream flowing through the video service node based on a start timestamp and an end timestamp corresponding to the video service node in the time sequence sequence; and generating the time delay display result of the target video stream in the video service node according to the time delay length, a video stream identifier, and a node name of the video service node.

[0139] In an example embodiment of the present disclosure, the time delay display result of the target video stream in the video service node is generated according to the time delay length, the video stream identifier, and the node name of the video service node, including: determining the length of the broken line corresponding to the video service node according to the time delay length; determining the start point and the end point of the broken line corresponding to the video service node according to the start timestamp and the end timestamp; drawing the broken line corresponding to the video service node according to the length of the broken line, the start point of the broken line, and the end point of the broken line, and identifying the broken line based on the video stream identifier and the node name to obtain the time delay display result of the target video stream in the video service node.

[0140] In an example embodiment of the present disclosure, the length of the broken line corresponding to the video service node is determined according to the time delay length, including: determining whether the time delay length is greater than a first preset length threshold, and taking a preset length value as the length of the broken line corresponding to the video service node when it is determined that the time delay length is greater than the first preset length threshold; taking the time delay length as the length of the broken line corresponding to the video service node when it is determined that the time delay length is less than the first preset length threshold.

[0141] In an example embodiment of the present disclosure, the display device of the time delay display result further includes:

[0142] The abnormal time delay positioning module can be used to position the video service node with abnormal time delay based on the time delay display result, and perform performance adjustment on the video service node with abnormal time delay.

[0143] In an example embodiment of the present disclosure, the video service node with abnormal time delay is positioned based on the time delay display result, including: extracting the broken line with the longest length from the time delay display result as a target broken line, and determining whether the length of the target broken line is greater than a second preset length threshold; determining that the time delay length corresponding to the target broken line is an abnormal time delay when it is determined that the length of the target broken line is greater than the second preset length threshold, and positioning the video service node corresponding to the abnormal time delay.

[0144] In an example embodiment of the present disclosure, the subject message pushed by the video service node based on the message push interface is received, including: determining the video flow path through which the target video stream needs to flow from video generation to video playing, and determining the video service nodes included in the video flow path; deploying the message push interface in the video service nodes, and receiving the subject message pushed by the video service nodes based on the message push interface.

[0145] In an exemplary embodiment of the present disclosure, the video service node includes at least one of a streaming service node, a caching service node, a streaming service node, a transcoding service node, and a video playback node.

[0146] In an exemplary embodiment of the present disclosure, deploying a message collection component in the video service node includes: parsing a message queue receiving the topic message to obtain address information, token information, and type information of the message queue; specifying a video service node on which message push interface deployment is required based on the type information of the message queue;

[0147] A communication link is established between the video service node and the message queue based on the queue interface of the message queue; the address information and token information are sent to the video service node based on the communication link, and the message push interface is deployed in the video service node.

[0148] In an exemplary embodiment of the present disclosure, receiving the topic message pushed by the video service node based on the message push interface includes: starting a message receiving thread in the message queue, and receiving the topic message pushed by the video service node based on the message push interface based on the message receiving thread.

[0149] In an exemplary embodiment of the present disclosure, the subject message is generated in the following manner: searching for the video stream identifier of the target video stream and the arrival time node when the video stream identifier is first received in the video service node, and encapsulating the video stream identifier and the arrival time node to obtain a first message object; searching for the departure time node when the video stream identifier leaves the video service node in the video service node, and encapsulating the video stream identifier and the departure time node to obtain a second message object; serializing the first message object and the second message object to obtain a subject message corresponding to the video service node.

[0150] In an exemplary embodiment of the present disclosure, the video stream identifier and the arrival time node are encapsulated to obtain a first message object, including: generating a start timestamp according to the arrival time node, and encapsulating the start timestamp, the video stream identifier, the unique node identifier of the video service node, and the node name to obtain the first message object.

[0151] In an exemplary embodiment of the present disclosure, the subject message is classified and processed to obtain a message classification result, including: deserializing the subject message to obtain a target message object in the subject message; and classifying the subject message according to the video stream identifier of the target video stream included in the target message object to obtain a message classification result.

[0152] In an example embodiment of the present disclosure, the deserialization of the topic message obtains a target message object in the topic message, including: deserializing the topic message object to obtain a first message object and a second message object in the topic message; fusing the first message object and the second message object to obtain the target message object; and the target message object includes at least one of a start timestamp, a terminal timestamp corresponding to a leaving time node, a video stream identifier, a unique node identifier of a video service node, and a node name.

[0153] In an example embodiment of the present disclosure, the classification of the topic message according to the video stream identifier of the target video stream included in the target message object obtains a message classification result, including: performing validity detection on the target message object to determine whether the target message object includes the video stream identifier of the target video stream; determining a keyword of the video service node according to the video stream identifier when it is determined that the target message object includes the video stream identifier; determining a value of the video service node according to other information in the target message object except the video stream identifier, and constructing a key-value pair of the video service node according to the keyword and the value of the video service node; storing the key-value pair into a preset identifier dictionary, and classifying the key-value pairs with the same video stream identifier in the identifier dictionary to obtain the message classification result.

[0154] In an example embodiment of the present disclosure, the time sequence sorting of the message classification result obtains a time sequence of the target video stream when flowing through the video service node, including: extracting the unique node identifier in the key-value pair in the same message classification result, and performing time sequence sorting on the key-value pair corresponding to the topic message based on the unique node identifier to obtain the time sequence of the target video stream when flowing through the video service node.

[0155] The specific details of each module in the display device of the above delay display result have been described in detail in the corresponding display method of the delay display result, and therefore will not be described here.

[0156] It should be noted that although several modules or units of the device for action execution are mentioned in the above detailed description, such division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units.

[0157] Moreover, although individual steps of the methods in the present disclosure are described in a particular order in the figures, this is not required or implied as to the order of execution of the steps, nor is it required that all of the steps be executed to achieve the desired result. Additionally or alternatively, certain steps can be omitted, multiple steps can be combined into a single step, a single step can be broken into multiple steps, etc.

[0158] In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.

[0159] Those skilled in the art can understand that various aspects of the present disclosure can be implemented as a system, a method or a program product. Therefore, various aspects of the present disclosure can be embodied as a whole hardware implementation, a whole software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, which can be collectively referred to as "circuitry", "module" or "system" herein.

[0160] The electronic device 1200 according to this embodiment of the present disclosure will be described below with reference to FIG. 12. FIG. 12 shows the electronic device 1200 only as an example, and should not bring any limitation to the functions and use range of the embodiments of the present disclosure.

[0161] As shown in FIG. 12, the electronic device 1200 is in the form of a general computing device. The components of the electronic device 1200 can include, but are not limited to, the above-mentioned at least one processing unit 1210, the above-mentioned at least one storage unit 1220, a bus 1230 connecting different system components (including the storage unit 1220 and the processing unit 1210), and a display unit 1240.

[0162] The storage unit stores program code which can be executed by the processing unit 1210, so that the processing unit 1210 performs the steps according to various exemplary embodiments of the present disclosure described in the above "Exemplary Method" section of the present specification. For example, the processing unit 1210 can perform the steps shown in FIG. 1, such as step S110 of receiving a topic message pushed by a video service node based on a message push interface and performing classification processing on the topic message to obtain a message classification result; step S120 of sorting the message classification result to obtain a time sequence of a target video stream when flowing through the video service node; and step S130 of generating a time delay display result of the target video stream in the video service node according to the time sequence and displaying the time delay display result.

[0163] Storage 1220 can include a readable medium in the form of volatile memory, such as random access memory (RAM) 12201 and / or cache memory 12202, and can further include read only memory (ROM) 12203.

[0164] Storage 1220 can also include program / utility 12204 having a set of programs / modules 12205, including an operating system, one or more application programs, other program modules, and program data, each of which or a combination thereof, can include implementation of a network environment as in each of these examples or some combination thereof.

[0165] Bus 1230 can represent one or more of several types of bus structures, including a storage bus or bus controller, peripheral bus, graphics bus, processor or local bus using any of a variety of bus architectures.

[0166] Electronic device 1200 can also communicate with one or more external devices 1300 such as a keyboard or pointing device, using one or more communication interfaces 1250. Communication interfaces 1250 can also enable electronic device 1200 to communicate with one or more devices that enable user interaction with electronic device 1200 (for example, remote presentation devices) and / or communication with one or more other computing devices using any protocol. Communication interfaces 1250 can include a modem, a network interface card, a communication port, or any other suitable interface. For example, communication interfaces 1250 can enable electronic device 1200 to communicate with an audio device, a video device, a display screen, a television, a monitor, a printer, a scanner, a facsimile machine, a digital camera, a digital camcorder, a digital audio player, a handheld device, a wearable device, a global positioning system (GPS) device, a cellular telephone, a smartphone, a tablet computer, a personal digital assistant (PDA), a handheld game console, a handheld media player, a handheld computer, a handheld device, a wearable device, a remote presentation device, or any other suitable device. Communication interfaces 1250 can also enable electronic device 1200 to communicate with one or more networks (for example, a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) using any protocol.

[0167] Those skilled in the art will readily recognize that the example embodiments described herein can be implemented using software and / or software in combination with necessary hardware. Thus, the technical solutions according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash disk, a mobile hard disk, or the like) or a network, and includes a number of instructions to make a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) execute the methods according to the embodiments of the present disclosure.

[0168] In the exemplary embodiments of the present disclosure, a computer readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification is also provided. In some possible implementations, various aspects of the present disclosure can also be implemented in the form of a program product including a program code for causing an end device to perform the steps described in the above "Exemplary Method" section according to various exemplary embodiments of the present disclosure when the program product is run on the end device.

[0169] The program product for implementing the above-described method according to the embodiments of the present disclosure can take a portable compact disc read-only memory (CD-ROM) and include a program code, and can be run on an end device such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in the present document, a readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus or device.

[0170] The program product can take any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium, for example, can be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any combination thereof. More specific examples (non-exhaustive list) of the readable storage medium include an electrical connection having one or more wires, a portable disc, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0171] The computer readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, in which readable program code is borne. Such propagated data signal can take various forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination thereof. The readable signal medium can also be any readable medium that is not a readable storage medium and that can transmit, propagate or transport for use by or in connection with an instruction execution system, apparatus or device program.

[0172] The program code contained on the readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.

[0173] The program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, and the like, as well as conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0174] Furthermore, the above-mentioned figures are merely illustrative of the processes included in the methods according to exemplary embodiments of the present disclosure and are not intended to be limiting. It is readily understood that the processes illustrated in the above-mentioned figures do not indicate or limit the temporal order of these processes. Furthermore, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.

[0175] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow from the general principles of the present disclosure and include common knowledge or customary techniques in the art not invented herein. The specification and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the claims.

Claims

1. A display method of a time-lapse display result, characterized by, The method comprises the following steps: receiving a topic message pushed by a video service node based on a message pushing interface, and performing classification processing on the topic message to obtain a message classification result; sorting the message classification result to obtain a time sequence of a target video stream when flowing through the video service node; generating a time delay display result of the target video stream in the video service node according to the time sequence, and displaying the time delay display result.

2. The display method of claim 1, wherein, Generating a time delay display result of the target video stream in the video service node based on the time sequence comprises: calculating the time delay length of the target video stream when flowing through the video service node based on the start timestamp and the end timestamp corresponding to the video service node in the time sequence; generating the time delay display result of the target video stream in the video service node according to the time delay length, the video stream identifier, and the node name of the video service node.

3. The display method of claim 2, wherein, Generating a time delay display result of the target video stream in the video service node according to the time delay length, the video stream identifier, and the node name of the video service node comprises: determining the length of a polyline corresponding to the video service node according to the time delay length; determining the start point and the end point of the polyline corresponding to the video service node according to the start timestamp and the end timestamp; drawing the polyline corresponding to the video service node according to the length of the polyline, the start point and the end point of the polyline, and identifying the polyline based on the video stream identifier and the node name to obtain the time delay display result of the target video stream in the video service node.

4. The display method of latency display results according to claim 3, wherein, Determining the length of the polyline corresponding to the video service node according to the time delay length comprises: determining whether the time delay length is greater than a first preset length threshold, and taking a preset length value as the length of the polyline corresponding to the video service node when it is determined that the time delay length is greater than the first preset length threshold; taking the time delay length as the length of the polyline corresponding to the video service node when it is determined that the time delay length is less than the first preset length threshold.

5. The display method of claim 1, wherein, The display method of the time delay display result further comprises: locating the video service node with abnormal time delay based on the time delay display result, and performing performance adjustment on the video service node with abnormal time delay.

6. The display method of latency display results according to claim 5, wherein, Locating the video service node with abnormal time delay based on the time delay display result comprises: extracting the longest polyline from the time delay display result as a target polyline, and determining whether the length of the target polyline is greater than a second preset length threshold; determining that the time delay length corresponding to the target polyline is an abnormal time delay when it is determined that the length of the target polyline is greater than the second preset length threshold, and locating the video service node corresponding to the abnormal time delay.

7. The display method of claim 1, wherein Receiving a topic message pushed by a video service node based on a message pushing interface comprises: determining a video flowing path through which a target video stream needs to flow from video generation to video playing, and determining the video service nodes included in the video flowing path; deploying a message pushing interface in the video service node, and receiving a topic message pushed by the video service node based on the message pushing interface.

8. The display method of latency display results according to claim 7, wherein, The video service node comprises at least one of a push service node, a cache service node, a pull service node, a transcoding service node and a video playing node.

9. The display method of claim 7, wherein, A message collection component is deployed in the video service node, comprising: Parsing a message queue receiving the topic message to obtain address information, token information and type information of the message queue; Specifying a video service node requiring message push interface deployment according to type information of the message queue; Establishing a communication link between the video service node and the message queue based on a queue interface of the message queue; Sending the address information and the token information to the video service node based on the communication link and deploying the message push interface into the video service node.

10. The display method of latency display results according to claim 9, wherein, Receiving the topic message pushed by the video service node based on the message push interface, comprising: Starting a message receiving thread in the message queue and receiving the topic message pushed by the video service node based on the message push interface based on the message receiving thread.

11. The display method of latency display results according to claim 1, wherein, The topic message is generated by: Finding a video stream identifier of a target video stream and an arrival time node of the video stream identifier received for the first time in the video service node and encapsulating the video stream identifier and the arrival time node to obtain a first message object; Finding a leaving time node of the video stream identifier leaving the video service node in the video service node and encapsulating the video stream identifier and the leaving time node to obtain a second message object; Serializing the first message object and the second message object to obtain the topic message corresponding to the video service node.

12. The display method of latency display results according to claim 11, wherein, Encapsulating the video stream identifier and the arrival time node to obtain the first message object, comprising: Generating a start timestamp according to the arrival time node and encapsulating the start timestamp, the video stream identifier, a unique node identifier of the video service node and a node name to obtain the first message object.

13. The display method of latency display results according to claim 1, wherein, Classifying the topic message to obtain a message classification result, comprising: Deserializing the topic message to obtain a target message object in the topic message; Classifying the topic message according to a video stream identifier of a target video stream included in the target message object to obtain a message classification result.

14. The display method of latency display results according to claim 13, wherein, Deserializing the topic message to obtain a target message object in the topic message, comprising: Deserializing the topic message object to obtain a first message object and a second message object in the topic message; Fusing the first message object and the second message object to obtain a target message object; wherein the target message object includes at least one of a start timestamp, a terminal timestamp corresponding to a leaving time node, a video stream identifier, a unique node identifier of a video service node and a node name.

15. The display method of latency display results according to claim 13, wherein, Classifying the topic message according to a video stream identifier of a target video stream included in the target message object to obtain a message classification result, comprising: performing validity detection on the target message object to determine whether the target message object includes a video stream identifier of a target video stream; when it is determined that the target message object includes the video stream identifier, determining a keyword of the video service node according to the video stream identifier; determining a value of the video service node according to other information in the target message object except the video stream identifier, and constructing a key-value pair of the video service node according to the keyword and the value of the video service node; storing the key-value pair into a preset identifier dictionary, and classifying key-value pairs with the same video stream identifier in the identifier dictionary to obtain the message classification result.

16. The display method of latency display results according to claim 1, wherein, performing time sequence sorting on the message classification result to obtain a time sequence sequence of the target video stream when flowing through the video service node, including: extracting a unique node identifier in the key-value pair in the same message classification result, and performing time sequence sorting on the key-value pair corresponding to the theme message based on the unique node identifier to obtain the time sequence sequence of the target video stream when flowing through the video service node.

17. A display device for displaying a latency result, characterized by including: a theme message classification module, configured to receive a theme message pushed by a video service node based on a message pushing interface, and perform classification processing on the theme message to obtain a message classification result; a message classification result sorting module, configured to sort the message classification result to obtain a time sequence sequence of a target video stream when flowing through a video service node; a time delay display result display module, configured to generate a time delay display result of the target video stream in the video service node according to the time sequence sequence, and display the time delay display result.

18. A computer readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by a processor to implement the display method of the time delay display result in any one of claims 1-16.

19. An electronic device, comprising: including: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the display method of the time delay display result in any one of claims 1-16 by executing the executable instructions.

Citation Information

Patent Citations

  • Information processing method and device, storage medium and computer program product

    CN114546817A

  • Time delay display method and device

    CN115842756A

  • Distributed architecture multi-node message tracking system and method

    CN117201372A

  • Time sequence service topology generation method, system and device and storage medium

    CN117596147A

  • Processing of a message stream

    US20210055976A1