A method and device for generating transmission chain information
The intermediate communication device receives and generates transmission chain information in a complex network environment, and solves the problems of incomplete transmission chain information and poor real-time performance in the prior art, and realizes efficient and real-time transmission chain information generation.
Patent Information
- Application Number
- CN202011003661.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-22
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2040-09-22
AI Technical Summary
The prior art is difficult to generate complete transmission chain information in complex network environments, and the transmission chain information generation method occupies a large amount of network resources and is not real-time.
The intermediate communication device receives the transmission chain information sent by the upstream communication device, generates and transmits its own transmission chain information, avoids reporting link information to the cloud server, reduces network resource occupation and improves real-time.
It realizes efficient generation of complete transmission chain information in complex network environments, reduces the deployment and maintenance costs of cloud servers, and improves the real-time information generation.
Smart Images

Figure CN114302249B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a method and device for generating transmission link information. Background Art
[0002] Call chain technology is currently a commonly used method to monitor and observe the process of collaboration among multiple machines.
[0003] At present, each communication device in the transmission chain can send the call information generated by the communication device to the cloud server by wired or wireless means, wherein the call information can be the relevant description information of the link generated by each communication device for the same service. Accordingly, the cloud server generates complete transmission chain information according to the call information of each communication device.
[0004] However, the network environment is complex and changeable, and some communication devices will inevitably fail to upload call information, resulting in incomplete transmission chain information generated by the cloud server. In addition, this method of generating transmission chain information requires each communication device in the transmission chain to report the call information to the cloud server for aggregation, which occupies a large amount of network resources and is not real-time.
[0005] Therefore, there is an urgent need for a method to efficiently generate complete transmission chain information to adapt to complex network environments. Summary of the invention
[0006] The present application provides a transmission chain information generation method and device, which are used to get rid of the requirement that the call information of each communication device needs to be fully uploaded to the cloud server.
[0007] In a first aspect, the present application provides a method for generating transmission chain information, which can be implemented by a network device or by a component of the network device, such as a processing device, circuit, chip, or other component in a terminal device or network device. The method includes: an intermediate communication device receives first transmission chain information sent by an upstream communication device, the first transmission chain information includes link information of a link used by the upstream communication device to transmit first service data; the intermediate communication device generates second transmission chain information, the second transmission chain information includes link information used by the intermediate communication device to transmit the first service data; the intermediate communication device sends the first transmission chain information and the second transmission chain information to a downstream service device.
[0008] In the above method, the intermediate service device transmits the link information related to the first business data generated by the upstream service device and the link information related to the first business data generated by itself to the downstream service device, without reporting the link information to the server, thereby reducing the deployment and maintenance costs of the cloud server and also reducing the occupation of network resources. Furthermore, in the above method, the downstream service device aggregates the transmission chain information related to the first business data of the upstream service device and the intermediate service device, which is more real-time than the link information of each device aggregated by the cloud.
[0009] In one possible implementation method, the first transmission chain information includes link information of links for transmitting first service data generated by the first communication device and the second communication device respectively, the first communication device is the upstream communication device of the second communication device, and the second communication device is the upstream communication device of the intermediate communication device.
[0010] Through the above method, the number of upstream communication devices of the communication device is not limited. Therefore, the transmission chain information generation method provided by the embodiment of the present application can be applied to complex network environments, simplifying the complex transmission chain information generation method and having strong applicability.
[0011] In a possible implementation method, the second transmission chain information includes: a first link identifier and a second link identifier; wherein the first link identifier is used to indicate a link through which the intermediate communication device sends the first service data; and the second link identifier is used to indicate a link through which the intermediate communication device receives the first service data.
[0012] In a possible implementation method, the first link identifier includes one or more of the following: a first timestamp, an identifier of an intermediate communication device, an identifier of a first process, or an identifier of a first request information; a first timestamp, an identifier of an intermediate communication device, an identifier of a first process, or an identifier of a first request information; wherein the first timestamp is determined by the intermediate communication device according to the time when the first request information is received; the first process is a process that receives the first request information; the identifier of the first request information is a sequence number for receiving the first request information determined based on the request information accumulated by the first process; the first request message is used by a downstream communication device to request first service data.
[0013] Through the above method, the link identifier can be identified by time dimension, machine dimension, process dimension, business request message dimension and other dimensions, so as to generate a globally unique link identifier and avoid link identifier conflicts.
[0014] In a possible implementation method, the intermediate communication device has a corresponding relationship between an identifier of the first service data and a link identifier of a link used to transmit the data of the first service.
[0015] In a possible implementation method, the first transmission chain information and / or the second transmission chain information is carried in the media meta information.
[0016] By using the above method, when the transmission chain information generated by each communication device is transmitted through the service channel, as long as the service system operates normally, the complete transmission chain information can be generated, thereby avoiding the problem that any service device or cloud server fails in the existing method of generating transmission chain information by reporting to the cloud server, resulting in the inability to generate transmission chain information. It should be understood that the existing method of generating transmission chain information through the cloud server is separated from the service system, and it may happen that the service system operates normally but the complete transmission chain information cannot be generated.
[0017] In a possible implementation method, after the intermediate communication device receives the first transmission chain information sent by the upstream communication device and before the intermediate communication device generates the second transmission chain information, it also includes: the intermediate communication device determines that the link included in the first transmission chain information is a normal link; wherein the intermediate communication device determines whether the link is a normal link in the following manner: the intermediate communication device determines the number of links used by each communication device in the upstream communication device to transmit the first business data based on the first transmission chain information; if the number of links of the communication device is greater than a set threshold, the link is determined to be an abnormal link; otherwise, the link is determined to be a normal link.
[0018] Through the above method, the intermediate communication device can determine whether the transmission chain constructed by the upstream communication device generates a link abnormality, such as a link loop, based on the first transmission chain information. If a link loop occurs, the communication device will enter an infinite loop and will not be able to obtain business data normally. Through the above method, the process can be exited when it is confirmed that a link loop has occurred, or the scheduling system can be reported to indicate a link abnormality to avoid waste of resources. After confirming that the current transmission chain is abnormal, a new transmission chain can be quickly established to shorten the delay of business data.
[0019] In a possible implementation method, in the first transmission chain information, link information of the link used by the first communication device to transmit the first service data and link information of the link used by the second communication device to transmit the first service data are arranged in the transmission order of the first service data.
[0020] By using the above method, the link identifiers of the links that the business data will pass through are sorted according to the transmission order of the business data, which can reflect the order between the links included in the transmission chain and improve the real-time performance of the transmission chain information.
[0021] In a second aspect, the present application provides a method for generating transmission chain information, which can be implemented by a terminal device or a network device, or by a component of the terminal device or the network device, such as a processing device, a circuit, a chip, or other components in the terminal device or the network device. The method includes: a source communication device generates first transmission chain information, the first transmission chain information includes link information of the source communication device, and the link information is used to indicate a link for the source communication device to transmit first service data; the source communication device sends the first transmission chain information to a downstream communication device.
[0022] In a possible implementation method, the first transmission chain information is carried in the media meta information.
[0023] In one possible implementation method, the first transmission chain information includes link information of links for transmitting first service data generated by the first communication device and the second communication device respectively, the first communication device is the upstream communication device of the second communication device, and the second communication device is the upstream communication device of the intermediate communication device.
[0024] In a possible implementation method, the first transmission chain information link information includes: a first link identifier and a second link identifier; wherein the first link identifier is used to indicate the link through which the source communication device sends the first service data; and the second link identifier is used to indicate the link through which the source communication device receives the first service data.
[0025] In a possible implementation method, the first transmission chain information is carried in the media meta information.
[0026] In a possible implementation method, the link information of the source communication device included in the first transmission link information is arranged according to the transmission order of the first service data.
[0027] In a possible implementation method, the source communication device has a corresponding relationship between an identifier of the first service data and a link identifier of a link used to transmit the data of the first service.
[0028] The technical effects that can be achieved by any possible design of the second aspect mentioned above can refer to the technical effects that can be achieved by the first aspect mentioned above, and will not be repeated here.
[0029] In a third aspect, the present application provides a method for generating transmission chain information, which can be implemented by a terminal device or a network device, or by a component of the terminal device or the network device, such as a processing device, a circuit, a chip, or other components in the terminal device or the network device. The method includes: an edge communication device receives first transmission chain information sent by an upstream communication device, the first transmission chain information includes link information of a link used by the upstream communication device to transmit first service data; the edge communication device generates second transmission chain information, the second transmission chain information includes the first transmission chain information and link information used by the edge communication device to transmit the first service data.
[0030] In a possible implementation method, the edge communication device sends the second transmission chain information to the scheduling system to instruct the scheduling system to generate a load profile of the transmission chain according to the second transmission chain information.
[0031] In a possible implementation method, the first transmission chain information and / or the second transmission chain information is carried in the media meta information.
[0032] In one possible implementation method, the first transmission chain information includes link information of links for transmitting first service data generated by the first communication device and the second communication device respectively, the first communication device is the upstream communication device of the second communication device, and the second communication device is the upstream communication device of the intermediate communication device.
[0033] In a possible implementation method, the link information of the edge communication device includes: a first link identifier, or a first link identifier and a second link identifier; wherein the first link identifier is used to indicate the link through which the edge communication device sends the first service data; and the second link identifier is used to indicate the link through which the edge communication device receives the first service data.
[0034] In a possible implementation method, the first transmission chain information is carried in the media meta information.
[0035] In a possible implementation method, in the first transmission chain information, link information of the link used by the first communication device to transmit the first service data and link information of the link used by the second communication device to transmit the first service data are arranged in the transmission order of the first service data.
[0036] In a possible implementation method, the edge communication device has a corresponding relationship between an identifier of the first service data and a link identifier of a link used to transmit the data of the first service.
[0037] The technical effects that can be achieved by any possible design of the third aspect mentioned above can refer to the technical effects that can be achieved by the first aspect mentioned above, and will not be repeated here.
[0038] In a fourth aspect, an embodiment of the present application provides a communication device, which has the function of implementing the method of the first aspect, and the function can be implemented by hardware, or by software, or by hardware executing corresponding software. The device includes one or more modules corresponding to the above functions, such as a processing unit and a communication unit.
[0039] In one possible design, the device may be a chip or an integrated circuit.
[0040] In one possible design, the device includes a memory, a processor and a transceiver, the transceiver is used to receive and send data, the memory is used to store programs or instructions executed by the processor, and when the program or instructions are executed by the processor, the device can execute the methods involved in the above-mentioned first aspect and various possible designs of the first aspect.
[0041] In one possible design, the apparatus may be a network device.
[0042] In a fifth aspect, an embodiment of the present application provides a communication device, which has the function of implementing the method described in the second aspect, and the function can be implemented by hardware, or by software, or by hardware executing corresponding software. The device includes one or more modules corresponding to the above functions, such as a processing unit and a communication unit.
[0043] In one possible design, the device may be a chip or an integrated circuit.
[0044] In one possible design, the device includes a memory, a processor and a transceiver, the transceiver is used to receive and send data, and the memory is used to store programs or instructions executed by the processor. When the program or instructions are executed by the processor, the device can execute the methods involved in the above-mentioned first aspect and various possible designs of the first aspect.
[0045] In one possible design, the apparatus may be a terminal device or a network device.
[0046] In a sixth aspect, an embodiment of the present application provides a communication device, which has the function of implementing the method described in the third aspect, and the function can be implemented by hardware, or by software, or by hardware executing corresponding software. The device includes one or more modules corresponding to the above functions, such as a processing unit and a communication unit.
[0047] In one possible design, the device may be a chip or an integrated circuit.
[0048] In one possible design, the device includes a memory, a processor and a transceiver, the transceiver is used to receive and send data, and the memory is used to store programs or instructions executed by the processor. When the program or instructions are executed by the processor, the device can execute the methods involved in the above-mentioned first aspect and various possible designs of the first aspect.
[0049] In one possible design, the apparatus may be a terminal device or a network device.
[0050] In the seventh aspect, an embodiment of the present application provides a device, wherein the communication device includes a processor and an interface circuit, wherein the interface circuit is used to receive a program or instruction code and transmit it to the processor; the processor runs the program or instruction code to execute the method involved in the first aspect and various possible designs thereof, or execute the method involved in the second aspect and various possible designs thereof, or execute the method involved in the third aspect and various possible designs thereof.
[0051] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, which is used to store programs or instructions. When the program or instructions are executed, the methods involved in the first aspect and its various possible designs in the first aspect, or the methods involved in the second aspect and its various possible designs in the second aspect, or the methods involved in the third aspect and its various possible designs in the third aspect are implemented.
[0052] In the ninth aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when executed, enables the methods involved in the first aspect and its various possible designs in the first aspect, or the methods involved in the second aspect and its various possible designs in the second aspect, or the methods involved in the third aspect and its various possible designs in the third aspect to be implemented.
[0053] In the tenth aspect, an embodiment of the present application provides a communication system, which includes: a source communication device and an edge communication device, or the communication system includes: a source communication device, an intermediate communication device and an edge communication device. Among them, the intermediate communication device can perform the corresponding functions in the above-mentioned first aspect or any possible implementation of the first aspect, the source communication device can perform the corresponding functions in the above-mentioned second aspect or any possible implementation of the second aspect, and the edge communication device can perform the corresponding functions in the above-mentioned third aspect or any possible implementation of the third aspect. Please refer to the detailed description in the method example for details, which will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Figure 1 A possible system architecture diagram provided for an embodiment of the present application;
[0055] Figure 2 It is a schematic diagram of an example of a business system;
[0056] Figure 3 It is a transmission chain diagram corresponding to a business system;
[0057] Figure 4 A schematic diagram of a flow chart corresponding to a transmission chain generation method provided in an embodiment of the present application;
[0058] Figure 5 A schematic diagram of a flow chart corresponding to a complete method of a transmission chain provided in an embodiment of the present application;
[0059] Figure 6 It is a schematic diagram of the interaction process between a service device and a scheduling system;
[0060] Figure 7 It is a schematic diagram of a transmission process of code stream data;
[0061] Figure 8a A schematic diagram of another transmission chain provided in an embodiment of the present application;
[0062] Figure 8b A schematic diagram of a link loop;
[0063] Fig. 9 One of the schematic diagrams of an application scenario provided in an embodiment of the present application;
[0064] Fig.10 A second schematic diagram of an application scenario provided in an embodiment of the present application;
[0065] Fig.11 A third schematic diagram of an application scenario provided for an embodiment of the present application;
[0066] Fig.12 A fourth schematic diagram of an application scenario provided in an embodiment of the present application;
[0067] Fig.13 A schematic diagram of a real-time load profile provided in an embodiment of the present application;
[0068] Fig.14 A schematic diagram of the structure of a communication device provided in an embodiment of the present application;
[0069] Fig.15 A schematic diagram of the structure of another communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0070] The embodiment of the present application can be applied to scenarios such as live broadcast services, live video conferencing services, etc. Taking the live broadcast service as an example, a system architecture of the embodiment of the present application is introduced.
[0071] See also Figure 1 , which is a schematic diagram of a system architecture that may be applicable to an embodiment of the present application. The system includes an anchor end, a business system, and a playback end. Among them, the anchor end includes an anchor client, the business system includes at least one service device, and the playback end includes a user client, and the user can be understood as an audience watching the live broadcast. Among them, the anchor client is used to generate live broadcast business data (including audio and video data streams). Exemplarily, the anchor client includes a video acquisition device (such as a camera) and an audio acquisition device (such as a microphone), wherein the video acquisition device is used to acquire video frame images, and the audio acquisition device is used to acquire audio data. The anchor client generates an audio and video data stream based on the data collected by the video acquisition device and the audio acquisition device, and sends the audio and video data stream to one or more service devices in the business system. In this field, the operation of this communication device (such as an anchor client) sending live broadcast business data to other communication devices (such as a source service device) can also be called streaming.
[0072] It should be understood that the above introduction to the anchor end is only an example, and the anchor end can also include more or fewer devices. For example, the anchor end can also include a processing device for processing the video frame images captured by the video acquisition device, such as adding watermarks, beauty and special effects filters.
[0073] The playback end includes a user client, which is used to send a live broadcast service request to the service device and to receive live broadcast service data fed back by the service device. Here, the user client can be a terminal device, such as a mobile phone, a tablet computer, a notebook, a desktop computer, etc., which is not specifically limited here. In a specific embodiment, the user can make a service request through a browser or an application on the user client. Correspondingly, the service device can be a browser service device, an application service device, a web page service device, etc., which is not specifically limited here.
[0074] The business system is used to transmit business data and may include one or more service devices. According to the transmission path of the business data, the service devices may be divided into source service devices, intermediate service devices and edge service devices.
[0075] Among them, the source service device is used to receive the live broadcast service data pushed by the anchor terminal;
[0076] The edge service device is used to receive service requests from user clients and send live service data to the user clients. In this field, the operation of this communication device (such as the user client) requesting live service data from other communication devices (such as the edge service device) can also be called pulling streams or returning to the source.
[0077] The intermediate service device includes one or more service devices through which the live service data passes, between the source service device and the edge service device during the transmission of the live service data.
[0078] It should be noted that Figure 1 The system architecture shown is only an example, and the system may include Figure 1 More or fewer devices as shown, for example, the service device end may include only the source service device, or include the source service device and the edge service device. For another example, the system may also include a scheduling system ( Figure 1 The scheduling system is used to guide users to access edge service devices and guide access scheduling between service devices, which will be described in detail below and will not be repeated here.
[0079] In summary, a business can be proposed by a user client and implemented in a business system. A business can be implemented by calling multiple services. The relationship between multiple services can be called a call relationship. The call relationship can reflect the call sequence between multiple services in the business. One or more services can be deployed in the same communication device. For the sake of convenience, the following description takes the deployment of one service in one communication device as an example.
[0080] like Figure 2 As shown, the calling relationship can be: 1) the user sends a first service request to service device a through the user client, the first service request is used to request a certain live broadcast service data, and illustratively, the first service request includes the identifier of the live broadcast service data; 2) service device a determines that there is no such live broadcast service data, and calls service device b to request the same live broadcast service data; 3) when service device b determines that there is no such live broadcast service data, it continues to call service device c. Exemplarily, each service device sequentially transmits the identifier of the live broadcast service data to request the same live broadcast service data.
[0081] Subsequently, 4) after receiving the service request from service device b, service device c sends a response to service device b. If service device c has the live broadcast service data, the response may be the live broadcast service data; if service device c does not have the live broadcast service data, the response may be indication information for indicating that service device c does not have the live broadcast service data. 5) Service device b receives the response sent by service device c, and sends a response to service device a based on the response. For example, if the response sent by service device c is the live broadcast service data, service device b may assume that the response sent by service device a is also the live broadcast service data. 6) Live broadcast device a sends a response to the user client.
[0082] by Figure 2For example, according to the transmission order of business data, the anchor client is the upper-level communication device of service device c, and correspondingly, service device c is the lower-level communication device of the anchor client; service device c is the upper-level communication device of service device b, and correspondingly, service device b is the lower-level communication device of service device a; service device b is the upper-level communication device of service device a, and correspondingly, service device a is the lower-level communication device of service device b; service device a is the upper-level communication device of the user client, and correspondingly, the user client is the lower-level communication device of service device a, and so on.
[0083] In the embodiment of the present application, the upstream communication device may include one or more communication devices, which refers to all communication devices before the communication device in a transmission chain according to the transmission order of the service data. Similarly, the downstream communication device may include one or more communication devices, which refers to all communication devices after the communication device in a transmission chain according to the transmission order of the service data.
[0084] Continue to refer to Figure 2 , an example is given to illustrate the upstream communication device and the downstream communication device: according to the transmission order of business data, the anchor client, service device c and service device b are the upstream communication devices of service device a, and the user client is the downstream communication device of service device a; the anchor client and service device c are the upstream communication devices of service device b, and the user client and service device a are the downstream communication devices of service device b; and so on.
[0085] It should be noted that the communication device in the embodiment of the present application may be a host client, a user client or a service device. Alternatively, the communication device may also refer only to the service device included in the business system, and accordingly, the upstream communication device and the downstream communication device do not include the host client and the user client. For ease of introduction, the following description is based on the example of a communication device including a host client and a user client.
[0086] The calling relationship between the business system and the service device can be represented by a transmission chain. Figure 2 As an example, the transmission chain corresponding to the system can be Figure 3 As shown, Figure 2 Each communication device in may correspond to a communication device on the transmission chain, specifically, Figure 2 The user client, service device a, service device b, service device c and anchor client can correspond to Figure 3 The user client, service device a, service device b, service device c and anchor client. In addition, Figure 2 The calling relationship between two adjacent communication devices in can correspond to Figure 3The line between two adjacent communication devices in the communication apparatus. The line can also represent a link between two communication devices, wherein each link includes two endpoint identifiers, and the two endpoint identifiers can be identifiers of the link generated by the two communication devices for the same link. For example, refer to Figure 3 The identifier of the link 11 generated by the user client is a1, the identifier of the link 11 generated by the service device a is a2, the identifier of the link 12 generated by the service device a is a3, and the identifier of the link 12 generated by the service device b is b1.
[0087] The link can be used for communication interaction. For example, as mentioned above, the customer service end can send a service request to the service device a through the link 11, and the service device a can send a response to the user client through the link 11. In the service request and the response, the link identifier of the sender can also be carried respectively. For example, when the user client sends a service request to the service device a through the link 11, the service request can carry the link identifier a1; when the service device a sends a response to the client through the link 11, the response message can carry the link identifier a2.
[0088] In the embodiment of the present application, the transmission chain may refer to a combination of related links of all communication devices that pass through during the service data transmission process. Figure 3 The transmission chain shown includes link d1 (representing the link identified by link identifier d1 on the anchor client)→link c2→link c1→link b2→link b1→link a3→link a2→link a1.
[0089] Currently, the way to generate a transmission chain is:
[0090] 1) Each communication device generates call information (span), which includes the link identifier of the communication device and the link identifiers of the links adjacent to the link.
[0091] Exemplarily, the call information includes a link identifier on the service device and one or two link identifiers adjacent to the link identifier, wherein the link identifiers included in the call information can be arranged in the order from the source service device to the edge service device (recorded as arrangement method 1), or can be arranged in the order from the edge service device to the source service device (recorded as arrangement method 2). The following takes arrangement method 1 as an example to introduce the call information.
[0092] For example, combining Figure 2As shown, the calling information of service device a may include: span1 (b1, a3, a2) and span2 (a3, a2, a1); the calling information of service device b may include: span3 (c1, b2, b1) and span4 (b2, b1, a3); the calling information of service device c may include: span5 (d1, c2, c1) and span6 (c2, c1, b2).
[0093] 2) Each communication device sends the call information generated by itself to the cloud server. Correspondingly, the cloud server receives the call information sent by each service device on the business system, and concatenates the link identifiers in sequence according to the arrangement order of the link identifiers in the call information to restore the complete transmission chain.
[0094] For example, Figure 2 Taking the business system shown in FIG. 1 as an example, the cloud server determines b1 as the previous link identifier of a3 according to span1 reported by service device a, determines b2 as the previous link identifier of b1 according to span4 reported by service device b, determines c1 as the previous link identifier of b2 according to span3, determines c2 as the previous link identifier of c1 according to span6 reported by service device c, and determines d1 as the previous link identifier of c2 according to span5, thereby restoring the following: Figure 3 The transmission chain corresponding to the business system shown.
[0095] In summary, currently, each communication device needs to report its own call information to the cloud server. However, the network environment is complex and changeable, and some service devices will inevitably fail to upload call information, which will cause the transmission chain information generated by the cloud server to be incomplete. In addition, this method of generating transmission chain information requires each service device in the transmission chain to report the call information to the cloud server for aggregation, which occupies a large amount of network resources and is not real-time. Therefore, there is an urgent need for a method to efficiently generate complete transmission chain information to adapt to complex network environments.
[0096] In view of this, an embodiment of the present application provides a method for generating transmission chain information, in which an intermediate communication device receives first transmission chain information sent by an upper-level communication device, the first transmission chain information includes link information of a link used by an upstream communication device of the intermediate communication device to transmit first business data, the intermediate communication device generates second transmission chain information, the second transmission chain information includes link information of a link used by the intermediate communication device to transmit first business data, and sends the first transmission chain information and the second transmission chain information to the next-level communication device, and so on, until the edge communication device generates complete transmission chain information, and the complete transmission chain information is used to describe the complete transmission chain. The method of generating transmission chain information in the embodiment of the present application does not rely on a cloud server, that is, each communication device does not need to report call information to a cloud server, and the real-time performance of generating a transmission chain is higher. In addition, since there is no need to deploy an additional cloud server, cost overhead is saved at the same time.
[0097] The technical solution provided by the embodiments of the present application is introduced below in conjunction with specific drawings.
[0098] See also Figure 4 , which is a flow chart of a transmission chain information generation method according to an embodiment of the present application, and the method can be applied to Figure 1 or Figure 2 In the system architecture shown, it is assumed that in the method, the transmission chain is used to transmit the first service data, such as Figure 4 As shown, the method comprises the following steps:
[0099] Step 401: The source communication device sends first transmission chain information to the next-stage communication device.
[0100] In an embodiment of the present application, if the complete transmission chain includes a user client and a host client, the source communication device may be a host client, the edge communication device may be a user client, the intermediate communication device may be a source service device or an intermediate service device or an edge service device, and the edge communication device may be a user client. If the complete transmission chain only includes a service device and does not embody a client, the source communication device may be a source service device, the intermediate communication device may be an intermediate service device, and the edge communication device may be an edge service device. In addition, the service device included in the transmission chain may be one or more, which is not limited in the embodiment of the present application. The following is an example in which the complete transmission chain includes a user client and a host client, and the service device includes a source service device, an edge service device, and at least one intermediate service device.
[0101] Here, the next-level communication device of the source communication device is an intermediate communication device. Correspondingly, the intermediate communication device receives the first transmission chain information from the previous-level communication device (source communication device).
[0102] Specifically, the first transmission chain information is used to describe the first transmission chain, including the link information of the link used by the upstream communication device of the intermediate communication device to transmit the first service data, that is, including the link information of the link related to the transmission of the first service data by each communication device in the first transmission chain. Exemplarily, the link information of each communication device includes a first link identifier and / or a second link identifier, the first link identifier is used to identify the link for receiving the first service data, and the second link identifier is used to identify the link for sending the first service data. For example, in combination with Figure 3 As shown, the link information of the anchor client includes a link identifier d1, where d1 is used to identify the link for sending the first service data to the service device c; the link information of the service device c includes c2 and c1, where c2 is used to identify the link for receiving the first service data from the anchor terminal, and c1 is used to identify the link for sending the first service data to the next-level service device, and so on. The method of generating link information will be specifically described below and will not be repeated here.
[0103] Here, the first transmission link information includes link information of a link used by the source communication device to transmit the first service data.
[0104] Step 402: The intermediate communication device generates second transmission chain information.
[0105] The second transmission link information includes link information of a link used by the intermediate communication device itself to transmit the first service data.
[0106] Step 403: The intermediate communication device sends the first transmission chain information and the second transmission chain information to the next-level communication device. Correspondingly, the next-level communication device receives the first transmission chain information and the second transmission chain information sent by the previous-level communication device.
[0107] In a given scenario, the next-level communication device of the intermediate communication device is an edge communication device.
[0108] Step 404: The edge communication device generates complete transmission chain information.
[0109] For example, the intermediate communication device may encapsulate the transmission chain information generated by itself and the transmission chain information of the upper-level communication device in the same message. Figure 3For example, the anchor client generates transmission chain information 1, which includes the link information of the anchor client (i.e., d1). The anchor client sends transmission chain information 1 to service device c, and service device c places its own link information after transmission chain information 1 to generate transmission chain information 2, which includes the link information of the anchor client and the link information of service device c (i.e., d1, c2, c1). Service device c sends transmission chain information 2 to service device b, and service device b places its own link information after transmission chain information 2 to generate transmission chain information 3, which includes the link information of the anchor client, the link information of service device c, and the link information of service device b (i.e., d1, c2, c1, b2, b1). Service device b sends transmission chain information 3 to service device a, and so on, service device a generates transmission chain information 4, which includes link information of the anchor client, link information of service device c, link information of service device b, and link information of service device a (i.e., d1, c2, c1, b2, b1, a3, and a2); service device a sends transmission chain information 4 to the user client, and the user client generates complete transmission chain information (i.e., d1, c2, c1, b2, b1, a3, a2, and a1). It should be understood that the above-mentioned link information refers to the link information of the link used to transmit the first service data.
[0110] Exemplarily, each communication device can carry the transmission chain information generated by the communication device in the media meta-information, wherein, that is, transmission chain information 1, transmission chain information 2, transmission chain information 3, transmission chain information 4, etc. can all be carried in the media meta-information for transmission. In one implementation, the media meta-information is used to describe the relevant information of the service data, which will be described in detail below. It should be noted that the above-mentioned method of carrying the transmission chain information through the media meta-information is only an example. The embodiment of the present application can also transmit the transmission chain information through other methods, and the embodiment of the present application is not limited to this.
[0111] Next, the technical solution of the present application is described in detail through specific embodiments.
[0112] In general, in the embodiment of the present application, the complete process of generating transmission chain information can be summarized into two aspects: the first aspect is the transmission chain establishment stage; in this stage, each communication device will generate a series of requests associated with the same service, including service requests between the user client and the service device, and service requests between service devices. The group of requests is used to request the same service data and establish a link according to the request. For example, the client sends a service request to the service device, requesting the service device to provide service data for the client, and the service device sends a service request to other service devices according to the service request to request the same service data, and so on. For a group of requests associated with the same service, all the service devices involved constitute the service system of the service, and the link established for the group of requests is the transmission chain corresponding to the service system. In a specific example of the present application, the transmission chain can refer to the combination of all links involved in the service data transmission process. The second aspect is the transmission chain information generation stage, in which the source communication device generates the transmission chain information and transmits it to the next-level communication device. The communication device sends the transmission chain information of the previous-level communication device and its own link information to the next-level communication device, and so on, until the complete transmission chain information is generated.
[0113] The above two aspects are described in detail below.
[0114] See also Figure 5 , is a complete generation method of transmission chain information provided by an embodiment of the present application, which can be applied Figure 1 or Figure 2 In the system shown in FIG. 5 , steps 500 to 513 are used to describe the content of the first aspect, and steps 514 to 518 are used to describe the content of the second aspect. Figure 3 Provide explanation.
[0115] like Figure 5 As shown, the method comprises the following steps:
[0116] Step 500: The user client receives a user-triggered request to watch a live broadcast, and the user client determines an edge service device (such as Figure 3 Service device a).
[0117] The user client receives a request operation triggered by the user, for example, after the user triggers an operation of requesting to watch a live broadcast through a browser or application on the user client, it requests the service data of the live broadcast from the service device.
[0118] It should be understood that before the user client requests the service device for the business data of the live broadcast, it can determine which service device to send the service request to through the scheduling system. Exemplarily, the process may include: the user client sends relevant information requesting the live broadcast business data to the scheduling system, such as the identifier of the live broadcast business, which is used to uniquely identify the live broadcast business. Correspondingly, the scheduling system determines one or more service devices and sends the address information of the determined one or more service devices to the user client. The user client can send a service request to the one or more service devices based on the address information of the one or more service devices to request the business data of the live broadcast.
[0119] Exemplarily, the scheduling system has equipment information of multiple service devices, such as geographical distribution information, load information and transmission chain information of each service device. The scheduling information can determine one or more service devices for the user client based on information such as the distance between the service device and the user client, the network load status, etc. The one or more service devices may have the first business data or may not have the first business data. When the scheduling system indicates multiple service devices, the user client can select one of the multiple service devices to issue a business request. When the response fed back by the service device indicates that the service device does not have the first business data, the user client selects a new service device from the remaining service devices to issue a business request until the first business data is requested or all service devices indicate that there is no first business data. For ease of presentation, the following description will be based on the example of the scheduling system indicating one service device at a time.
[0120] See also Figure 6 , is a schematic diagram of the interaction process between the scheduling system and the user client. Figure 6 As shown, the user client sends a service query request to the scheduling system, and the scheduling system returns the address information of the service device to the user client. As mentioned above, the communication interaction between the user client and the service device is based on a link. For example, the link can be a tcp / ip link or a udp / ip link. Therefore, the address information can be the IP address and port number of the service device.
[0121] Here, it is assumed that the scheduling system indicates to the user client the address information of the service device a, and the user client can send a service request to the service device a based on the address information. Figure 3 As shown, the address information fed back by the scheduling system to the user client is the IP address and port number corresponding to the link 11 on the service device a.
[0122] It should be understood that the above method of determining the service device through the scheduling system is only an example and the embodiments of the present application are not limited to this.
[0123] The user client establishes a link 11 with the service device a according to the address information of the service device a, and generates a link identifier of the link 11, which is recorded as a1. The method of generating the link identifier will be described in detail below.
[0124] Step 501: The user client sends a service request to the service device a. Correspondingly, the service device a receives the service request sent by the user client.
[0125] Continue to refer to Figure 3 , the user client sends a service request to the service device a through the link 11. Correspondingly, the service device a receives the service request sent by the user client. Exemplarily, the service request may include an identifier of the first service data, which is used to request the first service data.
[0126] If service device a does not have the first business data, in one implementable manner, service device a may directly send a response to the user client, and the response carries indication information for indicating that service device a does not have the first business data. In another implementable manner, service device a may continue to request the scheduling system to determine a new service device (for example, service device b), and subsequently, service device a sends a service request to service device b to request the first business data. In the following, when the service device determines that there is no first business data, the scheduling system may determine a new service device to request the business data, and similar content will not be repeated in the following. In addition, the interaction process between the service device and the scheduling system can be referred to. Figure 6 The specific interaction steps between the user client and the scheduling system will not be repeated here.
[0127] Exemplarily, service device a receives a service request sent by a user client through the IP address and port number corresponding to link 11. It should be understood that the IP address and port number belong to the physical layer of the link. Subsequently, service device a will construct other protocol layer resources corresponding to link 11. Here it can be understood that service device a establishes link 11.
[0128] Step 502: Service device a generates a link identifier (a2) of link 11.
[0129] The link identifier of the generated link 11 is recorded as a2 for the convenience of description. Figure 5 In the figure, link a2 represents link 11 established by service device a.
[0130] The link identifier in the embodiment of the present application may include, but is not limited to: a timestamp, an identifier of a service device, a process identifier, and an identifier of a service request.
[0131] The following is an explanation of the above information:
[0132] 1) Timestamp, which can be the time when the service device receives the service request.
[0133] 2) The identification of the service device is used to uniquely identify the service device. For example, the identification of the service device may be composed of the name of the computer room where the service device is located and the number of the service device in the computer room. The computer room is generally named by the name of the geographical area where it is located. For example, if the name of the computer room is hebeilangfang (Hebei Langfang), then the identification of the service device in the computer room may be hebeilangfang-number. The number may be compiled according to the number of all service devices in the computer room. For example, a service device is assigned the number 0, and the numbers of the remaining service devices are incremented by 1. For example, if there are 5 service devices in the computer room, the numbers of the 5 service devices may be 0, 1, 2, 3, and 4.
[0134] 3) Process ID, which can be the ID of the process used by the service device to receive the service request. It should be understood that the application in the computer runs based on the process, and the process is used to interact with the outside world. For example, service device a can receive the service request sent by the user client through a process, and send the service request to service device b. In one achievable method, multiple processes can be run on the computer, and unique identifiers are assigned to the multiple running processes. For example, the computer assigns a unique identifier to each running process based on a preset identifier range and the startup order of the process. For example, the process range is 0-99999. The computer can determine an initial identifier, and the identifier of the next started process is incremented by 1. Please refer to the numbering method of the above-mentioned service device, which will not be repeated here.
[0135] For example, the service device a receives the service request sent by the user client through the first process, and the process identifier included in the link identifier c2 is the identifier of the first process.
[0136] 4) An identifier of a service request, which is used to identify the service request received by the service device a from the user client. For example, if the service request is received through the first process, then the identifier of the service request may be a number customized for the service request according to the order of messages received on the first process. For example, if the first process receives message 1 for the first time, the identifier of message 1 may be 1; if message 2 is subsequently received on the first process, the identifier of message 2 may be 2.
[0137] In a specific example, the link identifier a2 may be 200324042743_guangzhou10_12143_06461395, where 200324042743 is a timestamp, guangzhou10 is an identifier of the service device a, 12143 is a process identifier, and 06461395 is an identifier of the service request. It should be understood that the link identifier generated in the above manner is globally unique.
[0138] If the service device a receives the service request from the user client and determines that it does not have the first service data, it may continue to request the first service data from other service devices.
[0139] Step 503: Service device a may determine the address information of service device b through the scheduling system, and establish a link 12 with service device b according to the address information of service device b.
[0140] Step 504: the service device a generates a link identifier a3 of the link 12, and generates an association relationship between the first service data and the relevant link identifier.
[0141] The link identifier a3 may include, but is not limited to: a timestamp, an identifier of the service device a, a process identifier, and an identifier of the service request. Exemplarily, the timestamp may be the time when the service device a requests to establish the link a3, and the process identifier is the identifier of the process by which the service device a requests to establish the link a3, and the process may be the same process as the process by which the service device a receives the service request from the user client. The identifier of the service request is the number of the request information for requesting to create the link a3 on the process. As another example, the link identifier a3 may also be generated after the service device a sends a service request to the service device b, wherein the timestamp may be the time when the service device sends the service request, the process identifier is the process that sends the service request, and the identifier of the service request is the number of the service request on the process. For the customization method of the identifier and number, please refer to the relevant description of the above step 502, which will not be repeated here.
[0142] The service device a associates the identifier of the first service data, the link identifier a2, and the link identifier a3, and stores the association relationship among the identifier of the first service data, the link identifier a2, and the link identifier a3, so that when the service device a receives a message from the link a3, the link identifier a2 associated with the link identifier a3 can be determined according to the association relationship. For example, when the service device a receives the first service data from the link a3, the link a2 is used to send the first service data.
[0143] It should be noted that the user client and the service device have a corresponding relationship between the link identifier and the address information of the identified link, and the address information includes an IP address and a port number. For example, the address information of the link identified by the link identifier a1 is 192.168.0.0, port number 0; the address information of the link identified by the link identifier a2 is 192.168.0.1, port number 1. When the service device a receives information through 192.168.0.0, port number 0, it can be determined that the link receiving the information is link a1. In addition, it should be understood that the service device a can also store the link identifier, the address information of the link identified by the link identifier, and the address information of the link on the opposite device. For example, for link 11, the service device a can store the following corresponding relationship: link identifier a2, address information of link 11 on the service device a, and address information of link a1 on the user client; wherein, the address information of link a1 can be determined according to the service request sent by the user client. It is known to those skilled in the art that the service request of the user client contains the IP address and port number of the user client.
[0144] When service device a receives a message through link a3, it can determine link identifier a2 associated with link identifier a3 according to the local association relationship (the aforementioned association relationship between link identifier a2 and link identifier a3), and then determine the IP address and port number of the user client according to link a2 to send the first service data to the user client. Similar contents involved between service devices will not be repeated below.
[0145] Step 505: Service device a sends a service request to service device b through the link 12 to request the first service data. Correspondingly, service device b receives the service request sent by service device a.
[0146] Step 506 : The service device b establishes the link 12 , and generates a link identifier b1 of the link 12 .
[0147] Step 507: Service device b determines the address information of service device c through the scheduling system, and establishes a link 13 with service device c according to the address information of service device c.
[0148] Step 508: the service device b generates a link identifier b2 of the link 13, and generates an association relationship between the first service data and the link identifier related to the first service data.
[0149] Similarly, the service device b associates the identifier of the first service data, the link identifier b2, and the link identifier b1, and saves the association relationship among the identifier of the first service data, the link identifier b2, and the link identifier b1.
[0150] Step 509: Service device b sends a service request to service device c through link 13 to request the first service data. Correspondingly, service device c receives the service request sent by service device b.
[0151] Step 510 : The service device c establishes the link 13 , and generates a link identifier c1 of the link 13 .
[0152] The service device c associates the identifier of the first service data with the link identifier c1, and saves the association relationship between the identifier of the first service data and the link identifier c1.
[0153] Step 511: The anchor client determines the address information of the service device c through the scheduling system, establishes a link 14 with the service device c, generates a link identifier d1 of the link 14, and then sends the first service data transmission chain information 1 to the service device c through the link 14. Correspondingly, the service device c receives the first service data and the transmission chain information 1 from the anchor end.
[0154] Exemplarily, in the embodiment of the present application, the live broadcast service data includes audio and video media information. The audio and video media information includes media meta information and audio and video stream data. The media meta information is used to describe the audio and video stream information, such as video resolution, encoding format and other information.
[0155] See also Figure 7 , which is a schematic diagram of the transmission process of audio and video media information. Among them, the anchor client receives the push stream signaling sent by the scheduling system. The push stream information contains the address information of the service device to be pushed (such as service device c), and the anchor client sends media meta information and audio and video code stream data to service device c. Correspondingly, service device c receives the media meta information and audio and video code stream data sent by the anchor terminal. When service device c receives a service request from service device b, service device c forwards the media meta information and audio and video code stream data to service device b, and so on.
[0156] Subsequently, the anchor client sends the audio and video code stream data corresponding to the first business data to the service device c in real time. At the same time, the service device c synchronously forwards the received code stream data to the service device b.
[0157] It should be noted that if the media source (such as the anchor client) remains unchanged, the media source does not need to repeatedly send media meta information to the source service device. When the media source changes or the link between the media source and the source service device is disconnected, if the media source needs to push the stream to the source service device again, the media source will send the media meta information to the source service device again. And thereafter, when the source service device requests to return to the source service device, the source service device will resend the media meta information.
[0158] It should be noted that the above is only an example of the anchor client actively pushing the first business data to the service device c. In the embodiment of the present application, the service device c may also obtain the first business data after pulling the stream to the anchor client, and the embodiment of the present application is not limited to this.
[0159] The embodiments of the present application can transmit transmission chain information through a service channel. For example, the transmission chain information generated by each service device is carried by media meta-information. Each communication device encapsulates the link information related to the first service data in the media meta-information, and sends the media meta-information to the next-level communication device. The next communication device then adds its own link information related to the first service data to the media meta-information, generates new media meta-information, and transmits it to the next-level service device of the service device, and so on, until the edge service device generates complete transmission chain information.
[0160] The embodiments of the present application can transmit the transmission chain information generated by each communication device through a service channel. For example, the transmission chain information generated by each communication device is transmitted through media meta-information. Each communication device encapsulates the link information related to the first service data in the media meta-information, and sends the media meta-information to the next-level communication device. The next-level communication device then adds its own link information related to the first service data to the media meta-information, generates new media meta-information, and transmits it to the next-level communication device of this service device, and so on, until the edge communication service device generates complete transmission chain information.
[0161] The above method can generate complete transmission chain information as long as the business system runs normally, avoiding the problem that any service device or cloud server fails in the existing method of generating transmission chain information by reporting to the cloud server, resulting in the inability to generate transmission chain information. It should be understood that the existing method of generating transmission chain information through the cloud server is separated from the business system, and it may happen that the business system runs normally but the complete transmission chain information cannot be generated.
[0162] Exemplarily, the anchor client generates transmission chain information 1, and the transmission chain information 1 includes a link identifier d1. Exemplarily, the anchor client can place the transmission chain information 1 in the media meta-information. Specifically, the media meta-information can include a header and a data part, and the data part can include the transmission chain information 1. Exemplarily, the media meta-information can be true, that is, the media meta-information also includes description information related to the first business data. Another exemplary embodiment, the media meta-information can also be false, that is, the header of the media meta-information includes an identifier of the media meta-information, and the identifier is used to indicate that the type of the message is media meta-information, and the data part can only include the transmission chain information 1.
[0163] Step 512: The service device c receives the first service data and the transmission chain information 1 sent by the anchor client, and generates a link identifier c2 of the link 14.
[0164] When the service device c receives the first service data through the link 14, it generates an association relationship between the first service data and the link related to the first service data. Specifically, the service device c associates the identifier of the first service data with the link identifier c2 and the link identifier c1, and saves the association relationship among the identifier of the first service data, the link identifier c2 and the link identifier c1.
[0165] It should be noted that 1) regarding the steps of determining the address information of the service device through the scheduling system (such as step 503, step 507 and step 511), please refer to the relevant description of step 500, which will not be repeated here. 2) Regarding the steps of generating link identifiers (such as step 505, step 506, step 508, step 510, step 511 and step 512), please refer to the relevant description of step 502, which will not be repeated here. 3) The above steps are only examples. The embodiments of the present application do not limit the execution order of step 511 and step 512. Step 511 and step 512 can be executed before step 500, or after any step between step 500 and step 510.
[0166] Step 514: The service device c generates transmission chain information 2, which includes the link identifier d1, the link identifier c2 and the link identifier c1, and sends the transmission chain information 2 to the service device b.
[0167] Specifically, after receiving the first service data, service device c queries the link information related to the first service data. For example, service device c determines that link identifier c2 and link identifier c1 are related to the first service data based on the association relationship about the first service data stored locally. Service device c sends transmission chain information 1 and link identifier c2 and link identifier c1 to service device b.
[0168] Exemplarily, the service device c receives media meta information from the anchor client, and obtains the transmission chain information 1 from the media meta information. The service device c determines its own link information related to the first service data, and places the link information after the transmission chain information 1, generates new media meta information, and sends the new media meta information to the service device b. The link identifiers contained in the media meta information can be sorted according to the transmission order of the first service data. For example, the transmission path of the first service data is from the anchor client → source service device c → source service device b → source service device a → user client. Then, the order of the link identifiers in the transmission chain information 2 can be link identifier d1 → link identifier c2 → link identifier c1, or the order of the link identifiers in the transmission chain information 2 can be link identifier c1←link identifier c2←link identifier d1.
[0169] As mentioned above, the service device c stores the correspondence between the link identifier c1, the address information of the link c1, and the address information of the link b2 of the service device b. Thus, the service device c can send the transmission chain information 2 to the service device b through the link c1.
[0170] Step 515: The service device b generates transmission chain information 3, and sends the transmission chain information 3 to the service device a.
[0171] Exemplarily, after service device b receives media meta-information from service device c and obtains transmission chain information 2 from the media meta-information, service device b places the link identifier of service device b itself related to the first business data after transmission chain information 2, generates new media meta-information, and sends the new media meta-information to service device a.
[0172] Similarly, the service device b determines the link identifier associated with the first service data according to the association relationship about the first service data stored locally, and generates the transmission chain information 3 according to the transmission chain information 2 and the link identifier associated with the first service data. For example, the service device b stores the association relationship between the identifier of the first service data, the link identifier b2 and the link identifier b1. When the service device receives the first service data or the transmission chain information (for example, carried in the media meta-information) through the link b2, the link identifier b1 associated with the link b2 can be determined according to the locally stored association relationship. After the service device b receives the transmission chain information 2 through the link b2, the link identifier b2 and the link identifier b1 are sequentially added to the transmission chain information 2 to obtain the transmission chain information 3. For example, the transmission chain information 3 includes: link identifier d1→link identifier c2→link identifier c1→link identifier b2→link identifier b1, or the transmission chain information 3 includes: link identifier b1←link identifier b2←link identifier c1←link identifier c2←link identifier d1.
[0173] Similarly, service device b stores the correspondence between link identifier b1, address information of link b1, and address information of link a3 of service device a. Thus, service device b can send transmission chain information 3 to service device a via link b1.
[0174] Step 516: The service device a generates transmission chain information 4.
[0175] Exemplarily, the transmission chain information 4 includes the transmission chain information 3 and a link identifier related to the first service data on the service device a.
[0176] In an implementable manner, the user client can carry the link identifier a1 in the service request and send it to the service device a. The service device a saves the link identifier a1 in the association relationship of the first service data, that is, the service device a saves the association relationship between the identifier of the first service data, the link identifier a1, the link identifier a2 and the link identifier a3. When receiving the transmission chain information 4, the service device a generates the complete transmission chain information according to the transmission chain information 4, the link identifier a1, the link identifier a2 and the link identifier a3. The complete transmission chain information (transmission chain information 4) includes: link identifier c2→link identifier c1→link identifier b2→link identifier b1→link identifier a3→link identifier a2→link identifier a3, or the order of the link identifiers in the transmission chain information 4 is link identifier a3←link identifier a2←link identifier a3←link identifier b1←link identifier b2←link identifier c1←link identifier c2.
[0177] In another practicable manner, the service device a may send the transmission chain information 4 to the user client, and the user client generates the complete transmission chain information. In this example, the transmission chain information 4 includes: link identifier c2→link identifier c1→link identifier b2→link identifier b1→link identifier a3→link identifier a2, or the order of the link identifiers in the transmission chain information 4 is link identifier a3←link identifier a2←link identifier a3←link identifier b1←link identifier b2←link identifier c1←link identifier c2.
[0178] In a possible scenario, a service device may receive service requests from multiple different communication devices, for example, Figure 8a As shown, in Figure 3 Based on the process shown, the service device a receives the service request of the first service data sent by the user client 2, and establishes a link with the user client 2. The service device a generates a link identifier a5 of the link.
[0179] Service device a associates the identifier of the first business data, link identifier a3, link identifier a2, and link identifier a5. And identifies link identifier a2 and link identifier a5 as links for sending the first business data. When service device a receives the transmission chain information 3 of service device b through link a3, link identifier a2 and link identifier a5 associated with link identifier a3 are determined according to the association relationship. It should be understood that the branches on service device a correspond to two transmission chains, namely, a transmission chain corresponding to the anchor client, service device c, service device b, service device a and user client 1, and a transmission chain corresponding to the anchor client, service device c, service device b, service device a and user client 2.
[0180] Correspondingly, service device a generates transmission chain information 31, which includes link identifier c2→link identifier c1→link identifier b2→link identifier b1→link identifier a3→link identifier a2, and sends the transmission chain information 31 to user client 1 through link a2. Service device a generates transmission chain information 32, which includes link identifier c2→link identifier c1→link identifier b2→link identifier b1→link identifier a3→link identifier a5, and sends the transmission chain information 32 to user client 1 through link a5.
[0181] Step 517: The user client receives the transmission chain information 4 sent by the service device a, and generates complete transmission chain information.
[0182] It should be noted that step 517 is an optional step. If the complete transmission chain information is generated by the service device a, the service device a may also send the complete transmission chain information to the user client, for example, by sending it to the user client through media meta information. The user client may monitor each link in the transmission chain according to the transmission chain information. For subsequent maintenance, for example, the user client may record the transmission chain information. If the transmission chain indicated by the transmission chain information has a high frequency of change, it may be determined that the transmission chain is unstable, and the communication device included in the transmission chain may be optimized later. The embodiment of the present application does not limit the operations performed by the user client according to the transmission chain information.
[0183] It should be noted that (1) the ordering method of the link identifiers in the transmission chain information generated by each service device can be preset and the same for each service device. For example, if the service device adds its own link information after the upper-level service device, then the downstream service devices will add their own link information after the upper-level service device. For another example, if the service device adds its own link information before the upper-level service device, then the downstream service devices will add their own link information before the upper-level service device, and the order of the links in the transmission chain obtained is the link order of the code stream transmission. (2) Figure 2The system shown is only an example. In practice, there may be multiple intermediate service devices, such as 2 or more than 2. If there are multiple intermediate service devices, the operation of each intermediate service device can refer to Figure 5 The specific execution steps of the service device b are not described here. (3) The above only introduces the process of the communication device sending the transmission chain information, wherein each communication device can also transmit the first service data, which is not described here.
[0184] In an implementable manner, the service device may also determine whether the current transmission link is an abnormal link, for example, a link loop, which may be caused by a scheduling system failure, see Figure 8b , is a schematic diagram of a link loop, such as Figure 8b As shown, the user client requests business data from service device a, service device a requests business data from service device b, service device b requests business data from service device c, and service device c requests business data from service device a. In this case, none of the devices has the first business data, and therefore cannot provide the first business data to the user client.
[0185] The specific process of the service device determining whether the current transmission link is an abnormal link is introduced below.
[0186] Generally, in a transmission chain, there are at most two links belonging to the same process of the same communication device, one of which is used to receive code stream data, and the other is used to send code stream data. If the communication device determines that the number of links of a certain communication device in the current transmission chain information is greater than 2, a link loop may occur. For example, service device a includes link a2 for sending code streams to user clients, and link a3 for receiving code streams from service device b. If service device c requests a code stream from service device a again, service device a may also create another link to send a code stream to service device c. Here, there are 3 links on service device a. For example, service device a receives transmission chain information 3 from service device b. If the number of link identifiers of a certain communication device included in transmission chain information 3 is greater than 2, it is determined that a link loop occurs in the current transmission chain.
[0187] If the communication device determines that the current transmission chain generates a link loop, it can exit the process without generating new transmission chain information or sending the transmission chain information to the next-level communication device. After exiting the process, it can also request the address information of the new service device from the scheduling system and re-initiate the service request. The embodiments of the present application are not limited to this.
[0188] In another possible implementation, see Fig. 9After the communication device generates new transmission chain information, on the one hand, the link identifier of each link, the log information corresponding to the link (for example, information on the business data transmitted by the link, the operation track information and business status information of the link), the transmission chain information related to the link identifier (such as Fig. 9 The second transmission chain information in the link is bound to generate a link identifier, log information corresponding to the link, and a corresponding relationship between the transmission chain information related to the link identifier, and the above corresponding relationship is written into the local log through the log reporting module. Among them, the information of the business data can be the frame rate, bit rate, audio and video format, etc. of the audio and video code stream data corresponding to the business data, the running track information includes the jump information of the program related to the link, and the business status information can include the throughput of the business data transmitted by the link, etc.
[0189] Exemplarily, the local log is stored in a local disk, and is used to query the log information associated with the link locally through the link identifier, as well as the link identifiers of other links associated with the link in the transmission chain.
[0190] On the other hand, the log reporting module can also send the log information and transmission chain information corresponding to each link to the cloud log search system. The cloud log search system can be used for operation and maintenance, monitoring the transmission chain, such as fault location, link optimization, etc.
[0191] For example, Fig.10 As shown, the communication device can write the log information and transmission chain information corresponding to each link into their respective local disks. After the user logs in to the local communication device, he can view the transmission chain information corresponding to a certain link through the local log, so that the transmission chain information corresponding to the link can quickly obtain other related links. Fig.11 It should be understood that other links associated with a link can also be queried through the cloud log search system. The search method is the same as the search method through the local log, and will not be repeated here.
[0192] On the other hand, the log reporting module can send the transmission chain information to the scheduling system, and the scheduling system generates a real-time load profile of the transmission chain.
[0193] In the embodiment of the present application, multiple communication devices can report transmission chain information to the scheduling system, such as Fig.12 As shown, each edge communication device can send the generated complete transmission chain information to the scheduling system, and the scheduling system generates a real-time load profile corresponding to each transmission chain, see Fig.13, which is a schematic diagram of a load profile provided in an embodiment of the present application. The scheduling system guides users to access, retweet, return to the source and other operations based on the real-time load profile. For example, the scheduling system generates a real-time load profile corresponding to the transmission chain (including the anchor client, service device c, service device b, service device a and user client) based on the transmission chain information reported by the edge communication device. If other service devices such as service device e request the first business data from the scheduling system later, the scheduling system can return the address information of service device b to service device e based on the existing load profile. The address information is the address information of the link identified by link b1 on service device b.
[0194] In the above embodiments provided by the present application, the methods provided by the embodiments of the present application are introduced from the perspective of the interaction between various devices. In order to realize the various functions in the methods provided by the above embodiments of the present application, the cloud server and the roadside server may include a hardware structure and / or a software module to realize the above functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. Whether one of the above functions is executed in the form of a hardware structure, a software module, or a hardware structure plus a software module depends on the specific application and design constraints of the technical solution.
[0195] The division of modules in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional module in each embodiment of the present application may be integrated into a processor, or may exist physically separately, or two or more modules may be integrated into one module. The above-mentioned integrated modules may be implemented in the form of hardware or in the form of software functional modules.
[0196] Same as above idea, Fig.14 As shown, the embodiment of the present application also provides a device 1400 for implementing the functions of the cloud server or the roadside server in the above method. For example, the device can be a software module or a chip system. In the embodiment of the present application, the chip system can be composed of a chip, or it can include a chip and other discrete devices. The device 1400 may include: a communication unit 1401 and a processing unit 1402.
[0197] In the embodiment of the present application, the communication unit may also be referred to as a transceiver unit, and may include a sending unit and / or a receiving unit, which are respectively used to execute the sending and receiving steps of the cloud server or the roadside server in the above method embodiment.
[0198] The following, combined Figure 14 to Figure 15 The communication device provided in the embodiment of the present application is described in detail. It should be understood that the description of the device embodiment corresponds to the description of the method embodiment, so the contents not described in detail can be referred to the method embodiment above, and will not be repeated here for the sake of brevity.
[0199] In one possible design, the device 1400 may implement steps or processes executed by the source communication device in the above method embodiment, which are described below respectively.
[0200] Exemplarily, when the device 1400 implements the function of the source communication device in the previous process:
[0201] A receiving unit, configured to receive first transmission link information sent by an upstream communication device, wherein the first transmission link information includes link information of a link used by the upstream communication device to transmit first service data;
[0202] The processing unit 1402 is configured to generate second transmission chain information, where the second transmission chain information includes link information of a link used by the intermediate communication device to transmit the first service data;
[0203] The sending unit is used to send the first transmission chain information and the second transmission chain information to a downstream communication device, and the downstream communication device is used to transmit the first service data.
[0204] In a possible implementation, the first transmission chain information includes link information of links for transmitting first service data generated by the first communication device and the second communication device respectively, the first communication device is an upstream communication device of the second communication device, and the second communication device is an upstream communication device of the intermediate communication device.
[0205] In a possible implementation, the second transmission chain information includes: a first link identifier and a second link identifier; wherein the first link identifier is used to indicate a link through which the device sends the first service data; and the second link identifier is used to indicate a link through which the device receives the first service data.
[0206] In a possible implementation, the first link identifier includes one or more of the following: a first timestamp, an identifier of a device, an identifier of a first process, or an identifier of a first request information; wherein, the first timestamp, the identifier of an intermediate communication device, the identifier of a first process, or an identifier of a first request information; wherein, the first timestamp is determined by the intermediate communication device according to the time when the first request information is received; the first process is a process that receives the first request information; the identifier of the first request information is a sequence number for receiving the first request information determined based on the request information accumulated by the first process; and the first request message is used by a downstream communication device to request first service data.
[0207] In a possible implementation manner, the first transmission chain information and / or the second transmission chain information is carried in the media meta information.
[0208] In a possible implementation, the processing unit 1402 is also used to: determine whether the link included in the first transmission chain information is a normal link; wherein the processing unit 1402 determines whether the link is a normal link in the following manner: determine the number of links used by each communication device in the upstream communication device to transmit the first service data based on the first transmission chain information; if the number of links of the communication device is greater than a set threshold, determine that the link is an abnormal link; otherwise, determine that the link is a normal link.
[0209] In a possible implementation, in the first transmission chain information, link information of a link used by the first communication device to transmit the first service data and link information of a link used by the second communication device to transmit the first service data are arranged in a transmission order of the first service data.
[0210] In another possible design, the device 1400 may implement the steps or processes executed by the intermediate communication device in the above method embodiment, which are described below respectively.
[0211] Exemplarily, when the device 1400 implements the function of the intermediate communication device in the previous process:
[0212] The processing unit 1402 is configured to generate first transmission link information, where the first transmission link information includes link information of a link used by the device to transmit the first service data;
[0213] The sending unit is used to send the first transmission chain information to the downstream communication device.
[0214] In a possible implementation manner, the first transmission chain information is carried in the media meta information.
[0215] In another possible design, the device 1400 may implement steps or processes corresponding to those performed by the edge communication device in the above method embodiment, which are described below respectively.
[0216] Exemplarily, when the device 1400 implements the function of the edge communication device in the previous process:
[0217] A receiving unit, configured to receive first transmission link information sent by an upstream communication device, wherein the first transmission link information includes link information of a link used by the upstream communication device to transmit first service data;
[0218] The processing unit 1402 is used to generate second transmission link information, where the second transmission link information includes link information of a link used by the device to transmit the first service data.
[0219] In a possible implementation manner, the sending unit is used to send the second transmission chain information to the scheduling system to instruct the scheduling system to generate a load profile of the second transmission chain according to the second transmission chain information.
[0220] In a possible implementation, the first transmission chain information includes link information of links for transmitting first service data generated by the first communication device and the second communication device respectively, the first communication device is an upstream communication device of the second communication device, and the second communication device is an upstream communication device of the intermediate communication device.
[0221] In a possible implementation manner, the first transmission chain information is carried in the media meta information.
[0222] In a possible implementation, the processing unit 1402 is also used to: determine whether the link included in the first transmission chain information is a normal link; wherein the processing unit 1402 determines whether the link is a normal link in the following manner: determine the number of links used by each communication device in the upstream communication device to transmit the first service data based on the first transmission chain information; if the number of links of the communication device is greater than a set threshold, determine that the link is an abnormal link; otherwise, determine that the link is a normal link.
[0223] In a possible implementation manner, the link information of the link used by each communication device to transmit the first service data included in the first transmission chain information is determined according to the transmission order of the first service data.
[0224] like Fig.15 The device 1500 provided in an embodiment of the present application is shown. Fig.15 The device shown can be Fig.14 A hardware circuit implementation of the device shown in FIG. Figure 4 or Figure 5 In the flowchart shown, the functions of the source communication device, the intermediate communication device or the edge communication device in the above method embodiment are performed. For ease of explanation, Fig.15 Only the main components of the communication device are shown.
[0225] Fig.15 The device 1500 shown includes at least one processor 1520, which is used to implement the embodiment of the present application. Figure 4 or Figure 5 Any of the methods.
[0226] The device 1500 may also include at least one memory 1530 for storing program instructions and / or data. The memory 1530 is coupled to the processor 1520. The coupling in the embodiment of the present application is an indirect coupling or communication connection between devices, units or modules, which may be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules. The processor 1520 may operate in conjunction with the memory 1530. The processor 1520 may execute program instructions stored in the memory 1530. At least one of the at least one memory may be included in the processor.
[0227] In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in a processor or an instruction in the form of software. The steps of the method disclosed in conjunction with the embodiment of the present application can be embodied as being executed by a hardware processor, or being executed by a combination of hardware and software modules in a processor. The software module can be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in conjunction with its hardware. To avoid repetition, it is not described in detail here.
[0228] It should be noted that the processor in the embodiment of the present application can be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method embodiment can be completed by the hardware integrated logic circuit or software instructions in the processor. The above processor can be a general processor, a digital signal processing circuit (digitalsignal processor, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC), a field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application can be embodied as a hardware decoding processor to perform, or a combination of hardware and software modules in the decoding processor to perform. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0229] It can be understood that the memory in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0230] The device 1500 may also include a communication interface 1510 for communicating with other devices via a transmission medium, so that the device used in the device 1500 can communicate with other devices. In the embodiment of the present application, the communication interface may be a transceiver, a circuit, a bus, a module, or other types of communication interfaces. In the embodiment of the present application, when the communication interface is a transceiver, the transceiver may include an independent receiver, an independent transmitter; or a transceiver with integrated transceiver functions, or an interface circuit.
[0231] The device 1500 may further include a communication line 1540. The communication interface 1510, the processor 1520, and the memory 1530 may be interconnected via the communication line 1540; the communication line 1540 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The communication line 1540 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.15 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0232] Exemplarily, when the device 1500 implements the function of the circular communication device in the previous process:
[0233] The communication interface 1510 is used to receive first transmission chain information sent by an upstream communication device, wherein the first transmission chain information includes link information of a link used by the upstream communication device to transmit first business data; the processor 1520 is used to generate second transmission chain information, wherein the second transmission chain information includes link information of a link used by the intermediate communication device to transmit the first business data; the communication interface 1510 is also used to send the first transmission chain information and the second transmission chain information to a downstream communication device, wherein the downstream communication device is used to transmit the first business data.
[0234] Other methods performed by the processor 1520 and the communication interface 1510 can be referred to Figure 4 or Figure 5 The description in the method flow shown will not be repeated here.
[0235] As another example, when the device 1500 implements the function of the intermediate communication device in the previous process:
[0236] The processor 1520 is used to generate first transmission chain information, wherein the first transmission chain information includes link information of a link used by the device to transmit first service data; the communication interface 1510 is used to send the first transmission chain information to a downstream communication device.
[0237] As another example, when the device 1500 implements the function of the edge communication device in the previous process:
[0238] The communication interface 1510 is used to receive first transmission chain information sent by an upstream communication device, wherein the first transmission chain information includes link information of a link used by the upstream communication device to transmit first business data; the processor 1520 is used to generate second transmission chain information, wherein the second transmission chain information includes link information of a link used by the device to transmit the first business data.
[0239] It should be noted that in the embodiments of the present application, the processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0240] Optionally, the computer-executable instructions in the embodiments of the present application may also be referred to as application code, which is not specifically limited in the embodiments of the present application.
[0241] Those of ordinary skill in the art will appreciate that the various digital numbers such as the first and second involved in this application are only for the convenience of description, and are not used to limit the scope of the embodiments of this application, and also represent the order of precedence. "And / or" describes the association relationship of the associated objects, indicating that there may be three relationships, for example, A and / or B, which can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one" refers to one or more. At least two refers to two or more. "At least one", "any one" or similar expressions refer to any combination of these items, including any combination of single items (individuals) or plural items (individuals). For example, at least one item (individuals, kinds) of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple. "Multiple" refers to two or more, and other quantifiers are similar. In addition, when the singular forms “a,” “an,” and “the” appear, they do not mean “one or only one,” but rather “one or more than one,” unless the context clearly dictates otherwise. For example, “a device” means one or more of such devices.
[0242] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server, data center, etc. that includes one or more available media integrated. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.
[0243] The various illustrative logic units and circuits described in the embodiments of the present application can be implemented or operated by a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic, a discrete hardware component, or the design of any combination of the above functions. The general-purpose processor can be a microprocessor, and optionally, the general-purpose processor can also be any traditional processor, controller, microcontroller or state machine. The processor can also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a digital signal processor core, or any other similar configuration to implement.
[0244] The steps of the method or algorithm described in the embodiments of the present application can be directly embedded in the software unit executed by the hardware, the processor, or a combination of the two. The software unit can be stored in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable disk, a CD-ROM or other storage media of any form in the art. Exemplarily, the storage medium can be connected to the processor so that the processor can read information from the storage medium and can write information to the storage medium. Alternatively, the storage medium can also be integrated into the processor. The processor and the storage medium can be arranged in an ASIC.
[0245] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0246] Although the present application has been described in conjunction with specific features and embodiments thereof, it is obvious that various modifications and combinations may be made thereto without departing from the spirit and scope of the present application. Accordingly, this specification and the drawings are merely exemplary illustrations of the present application as defined by the appended claims, and are deemed to have covered any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, a person skilled in the art may make various modifications and variations to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A method for generating transmission chain information, characterized in that: include: The intermediate communication device receives the audio and video code stream and media meta information of the audio and video code stream sent by the upstream communication device, wherein the media meta information is used to describe the audio and video code stream, and the media meta information includes first transmission chain information, and the first transmission chain information includes link information of a link used by the upstream communication device to transmit the audio and video code stream; The intermediate communication device determines that the link is a normal link based on the first transmission chain information, and if the number of links used by each upstream communication device in the first transmission chain information to transmit the audio and video code stream is less than or equal to a set threshold, then the link is a normal link; The intermediate communication device generates second transmission link information, wherein the second transmission link information includes link information of a link used by the intermediate communication device to transmit the audio and video code stream; The intermediate communication device sends the audio and video code stream and the updated media meta information to the downstream communication device; The updated media meta information includes the first transmission chain information and the second transmission chain information.
2. The method according to claim 1, characterized in that The first transmission chain information includes link information of links for transmitting audio and video code streams generated by the first communication device and the second communication device respectively, the first communication device is an upstream communication device of the second communication device, and the second communication device is an upstream communication device of the intermediate communication device.
3. The method according to claim 1 or 2, characterized in that The second transmission chain information includes: a first link identifier and a second link identifier; wherein the first link identifier is used to indicate the link through which the intermediate communication device sends the audio and video code stream; and the second link identifier is used to indicate the link through which the intermediate communication device receives the audio and video code stream.
4. The method according to claim 3, characterized in that The first link identifier includes one or more of the following: a first timestamp, an identifier of the intermediate communication device, an identifier of the first process or an identifier of the first request information; wherein, the first timestamp is determined by the intermediate communication device according to the time when the first request information is received; the first process is the process that receives the first request information; the identifier of the first request information is a sequence number for receiving the first request information determined based on the request information accumulated by the first process; the first request information is used by the downstream communication device to request an audio or video stream.
5. The method according to claim 2, characterized in that In the first transmission chain information, the link information of the link used by the first communication device to transmit the audio and video code stream and the link information of the link used by the second communication device to transmit the audio and video code stream are arranged according to the transmission order of the audio and video code streams.
6. A method for generating transmission chain information, characterized in that: include: The source communication device generates first transmission link information, wherein the first transmission link information includes link information of a link used by the source communication device to transmit audio and video code streams; The source communication device sends the audio and video code stream and the media meta-information of the audio and video code stream to the downstream communication device, the media meta-information is used to describe the audio and video code stream, the media meta-information includes the first transmission chain information, and the first transmission chain information is used by the downstream communication device to determine whether the link is a normal link; if the number of links used by each upstream communication device to transmit the audio and video code stream in the first transmission chain information is less than or equal to a set threshold, then the link is a normal link.
7. A method for generating transmission chain information, characterized in that: include: The edge communication device receives an audio and video code stream and media meta information of the audio and video code stream sent by an upstream communication device, wherein the media meta information is used to describe the audio and video code stream, and the media meta information includes first transmission link information, and the first transmission link information includes link information of a link used by the upstream communication device to transmit the audio and video code stream; The edge communication device determines that the link is a normal link based on the first transmission chain information; if the number of links used by each upstream communication device to transmit the audio and video code stream in the first transmission chain information is less than or equal to a set threshold, then the link is a normal link; The edge communication device generates second transmission link information, where the second transmission link information includes the first transmission link information and link information of a link used by the edge communication device to transmit the audio and video code stream.
8. The method according to claim 7, characterized in that The method further comprises: The edge communication device sends the second transmission chain information to the scheduling system to instruct the scheduling system to generate a load profile of the second transmission chain according to the second transmission chain information.
9. An intermediate communication device, characterized in that: The device comprises: A receiving module, configured to receive an audio and video code stream and media meta information of the audio and video code stream sent by an upstream communication device, wherein the media meta information is used to describe the audio and video code stream, and the media meta information includes first transmission link information, wherein the first transmission link information includes link information of a link used by the upstream communication device to transmit the audio and video code stream; A determination module, configured to determine that the link is a normal link based on the first transmission chain information; if the number of links used by each upstream communication device to transmit the audio and video code stream in the first transmission chain information is less than or equal to a set threshold, then the link is a normal link; A processing module, configured to generate second transmission chain information, wherein the second transmission chain information includes link information of a link used by the intermediate communication device to transmit the audio and video code stream; The sending module is used to send the audio and video code stream and the second media meta information of the audio and video code stream to a downstream communication device, where the second media meta information includes the first transmission chain information and the second transmission chain information.
10. The device according to claim 9, characterized in that The first transmission chain information includes link information of links for transmitting audio and video code streams generated by the first communication device and the second communication device respectively, the first communication device is an upstream communication device of the second communication device, and the second communication device is an upstream communication device of the intermediate communication device.
11. The device according to claim 9 or 10, characterized in that The second transmission chain information includes: a first link identifier and a second link identifier; wherein the first link identifier is used to indicate the link through which the device sends the audio and video code stream; and the second link identifier is used to indicate the link through which the device receives the audio and video code stream.
12. The device according to claim 11, characterized in that The first link identifier includes one or more of the following: a first timestamp, an identifier of the device, an identifier of a first process, or an identifier of first request information; a first timestamp, an identifier of the intermediate communication device, an identifier of a first process or an identifier of a first request information; wherein, the first timestamp is determined by the intermediate communication device according to the time when the first request information is received; the first process is a process that receives the first request information; the identifier of the first request information is a sequence number for receiving the first request information determined based on the accumulated request information received by the first process; the first request information is received by the device from the downstream communication device, and the first request information is used to request the audio and video code stream.
13. The device according to claim 9 or 10, characterized in that The link information of each link of the upstream communication device used to transmit the audio and video code stream contained in the first transmission chain information is determined according to the transmission order of the audio and video code stream.
14. A communication device, characterized in that: The device comprises: A processing module, configured to generate first transmission link information, wherein the first transmission link information includes link information of a link used by the device to transmit audio and video code streams; A sending module is used to send an audio and video code stream and media meta information of the audio and video code stream to a downstream communication device, wherein the media meta information is used to describe the audio and video code stream, and the media meta information includes the first transmission chain information, and the first transmission chain information is used by the downstream communication device to determine whether the link is a normal link; if the number of links used by each upstream communication device to transmit the audio and video code stream in the first transmission chain information is less than or equal to a set threshold, then the link is a normal link.
15. A communication device, characterized in that: The device comprises: A receiving module, configured to receive an audio and video code stream and media meta information of the audio and video code stream sent by an upstream communication device, wherein the media meta information is used to describe the audio and video code stream, and the media meta information includes first transmission link information, wherein the first transmission link information includes link information of a link used by the upstream communication device to transmit the audio and video code stream; A determination module, configured to determine that the link is a normal link based on the first transmission chain information; if the number of links used by each upstream communication device to transmit the audio and video code stream in the first transmission chain information is less than or equal to a set threshold, then the link is a normal link; The processing module is used to generate second transmission chain information, wherein the second transmission chain information includes the first transmission chain information and the link information of the link used by the device to transmit the audio and video code stream.
16. The device according to claim 15, characterized in that The device further includes a sending module, wherein the sending module is configured to: The second transmission chain information is sent to a scheduling system to instruct the scheduling system to generate a load profile of the second transmission chain according to the second transmission chain information.
17. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which, when executed on a computer, enables the computer to execute the method according to any one of claims 1 to 5, or enables the computer to execute the method according to claim 6, or enables the computer to execute the method according to claim 7 or 8.
18. A communication device, characterized in that: The communication device comprises: A memory for storing a readable program; At least one processor is used to call and run the readable program from the memory, so that the communication device implements the method according to any one of claims 1 to 5, or causes the communication device to execute the method according to claim 6, or causes the communication device to execute the method according to claim 7 or 8.
19. A computer program product, characterized in that The computer program product includes a computer program, which, when executed on a computer, enables the computer to execute the method according to any one of claims 1 to 5, or enables the computer to execute the method according to claim 6, or enables the computer to execute the method according to claim 7 or 8.
20. A transmission chain information generation system, characterized in that: including a source communication device, an intermediate communication device and an edge communication device; The intermediate communication device is a device according to any one of claims 9 to 13; The source communication device is the device according to claim 14; The edge communication device is the device described in claim 15 or 16.
Citation Information
Patent Citations
Method, means, device and storage medium for discovering call link
CN109923847A
Subscription performance tracking system for multi-robot operating system environment
CN111221659A