Back-to-source processing method and device, electronic equipment and storage medium

By using a consistent hashing algorithm to determine the target node in the upper-level node of the next layer of the streaming media center platform, the live stream back-to-origin processing between nodes at the same layer is realized, which solves the problem of bandwidth resource waste in the live streaming system, reduces the bandwidth cost of the streaming media center platform, and prevents the back-to-origin loop.

CN116489417BActive Publication Date: 2025-12-19BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310376442.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-10
Publication Date
2025-12-19
Estimated Expiration
2043-04-10

AI Technical Summary

Technical Problem

In existing live streaming systems, when viewers request live streaming media resources, it causes excessive bandwidth consumption and serious resource waste on the streaming media center platform.

Method used

In the upper-level nodes of the next layer of the streaming media center platform, the target upper-level node is determined by the consistent hashing algorithm, so as to realize the back-to-origin processing of live streams between nodes of the same layer and avoid all nodes from backing to the streaming media center platform.

Benefits of technology

It effectively reduces the bandwidth cost of the streaming media center platform and prevents closed loops in the back-to-origin process, ensuring the normal operation of live streaming services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116489417B_ABST
    Figure CN116489417B_ABST
Patent Text Reader

Abstract

The present disclosure provides a method and device for processing source return, electronic equipment and storage medium, which relates to the field of artificial intelligence, specifically to cloud computing, cloud storage and content distribution technology, and can be applied in the intelligent cloud scenario. The specific implementation scheme comprises: determining the information of a target upper node responsible for processing the first live stream source return in the current upper node layer based on the first live stream identifier in the received first source return request; forwarding the first source return request to the target upper node based on the information of the target upper node, to obtain the first live stream corresponding to the first live stream identifier from the target upper node. The technology of the present disclosure can effectively reduce the bandwidth cost of the streaming media resource platform.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of artificial intelligence, in particular to cloud computing, cloud storage and content distribution technology, which can be applied in the intelligent cloud scenario. In particular, it relates to a back-to-source processing method and device, electronic equipment and storage medium. BACKGROUND

[0002] With the rapid development of the live broadcast industry, the live broadcast audience group is continuously expanding, and various live broadcasts have emerged in various industries and various fields.

[0003] In the prior art, during live broadcast, the host uploads the live stream to the push stream edge node through the host client, and then the push stream edge node pushes the live stream to the streaming media center platform. When the audience watches the live broadcast, the audience client is used to request the streaming media resource of the live stream from the nearest pull stream edge node. If the streaming media resource is not available on the pull stream edge node, the streaming media resource of the live stream can be pulled from the streaming media center platform. The process of requesting the streaming media resource when the audience watches the live broadcast can be referred to as back-to-source. SUMMARY

[0004] The present disclosure provides a back-to-source processing method, device, electronic equipment and storage medium.

[0005] According to an aspect of the present disclosure, a back-to-source processing method is provided, comprising:

[0006] Based on the first live stream identifier in the received first back-to-source request, determining the information of the target upper layer node in the current upper layer node layer responsible for processing the back-to-source of the first live stream;

[0007] Based on the information of the target upper layer node, forwarding the first back-to-source request to the target upper layer node to obtain the first live stream corresponding to the first live stream identifier from the target upper layer node.

[0008] According to another aspect of the present disclosure, a back-to-source processing device is provided, comprising:

[0009] A determination module is configured to determine, based on a first live stream identifier in a received first back-to-source request, information of a target upper layer node in a current upper layer node layer responsible for processing back-to-source of the first live stream;

[0010] A sending module is configured to forward, based on the information of the target upper layer node, the first back-to-source request to the target upper layer node to obtain the first live stream corresponding to the first live stream identifier from the target upper layer node.

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

[0012] at least one processor; and

[0013] a memory in communication with the at least one processor; wherein

[0014] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of the aspects and any possible implementation manners as described above.

[0015] According to yet another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, the computer instructions being used to cause the computer to perform the method of the aspects and any possible implementation manners as described above.

[0016] According to still another aspect of the present disclosure, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the method of the aspects and any possible implementation manners as described above.

[0017] According to the technology of the present disclosure, the bandwidth cost of the streaming media resource platform can be effectively reduced.

[0018] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0019] The accompanying drawings are used to better understand the present scheme and do not limit the present disclosure. Among them:

[0020] Figure 1 is a live broadcast architecture schematic diagram provided by an embodiment of the present disclosure;

[0021] Figure 2 is another live broadcast architecture schematic diagram provided by an embodiment of the present disclosure;

[0022] Figure 3 is a schematic diagram according to a first embodiment of the present disclosure;

[0023] Figure 4 is a schematic diagram according to a second embodiment of the present disclosure;

[0024] Figure 5 is a schematic diagram according to a third embodiment of the present disclosure;

[0025] Figure 6 is a schematic diagram according to a fourth embodiment of the present disclosure;

[0026] Figure 7 is a schematic diagram according to a fifth embodiment of the present disclosure;

[0027] Figure 8 is a schematic diagram according to a sixth embodiment of the disclosure;

[0028] Figure 9 is a block diagram of an electronic device for implementing the method of the embodiments of the disclosure. DETAILED DESCRIPTION

[0029] Exemplary embodiments of the disclosure are described herein with reference to the accompanying drawings, which are included to provide a thorough understanding of embodiments of the disclosure by a person of ordinary skill in the art, and should be considered in conjunction with the Disclosure. It will be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the disclosure, and thus, within the scope of the disclosure. In addition, for clarity and conciseness, descriptions of well-known functions and constructions are omitted from the following description.

[0030] Obviously, the described embodiments are part of the embodiments of the disclosure, rather than all the embodiments. Based on the embodiments in the disclosure, all other embodiments obtained by a person of ordinary skill in the art without creative labor are within the scope of protection of the disclosure.

[0031] It should be noted that the terminal device involved in the embodiments of the disclosure can include, but is not limited to, a mobile phone, a personal digital assistant (PDA), a wireless handheld device, a tablet computer, and the like. The display device can include, but is not limited to, a personal computer, a television, and the like.

[0032] In addition, the term "and / or" in this paper is only to describe the association relationship between the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent the existence of A alone, the existence of A and B, and the existence of B alone. In addition, the character " / " in this paper generally represents an "or" relationship between the associated objects before and after it.

[0033] Figure 1 is a live broadcast architecture schematic diagram provided by an embodiment of the disclosure, as shown in Figure 1 In the live broadcast architecture, at least one layer of node layer can be arranged between the client layer and the streaming media center platform. The client layer includes a host client and a viewer client. In order to more clearly show the live broadcast architecture, Figure 1 arranged between the client layer and the streaming media center platform, for example, the edge node layer in which the push stream edge node and the pull stream edge node are located, and the upper node layer in which the upper node is located. The upper node layer is the nearest neighbor layer below the streaming media center platform. The nodes in the same layer in this embodiment can also be referred to as nodes at the same level, that is, nodes at the same level in the live broadcast architecture.

[0034] As shown in Figure 1 , the upper node layer where the upper node 1, the upper node 2, and the upper node 3 are located is the nearest node layer to the live streaming center platform. In an actual application scenario, there can be at least one intermediate node layer between the edge node layer where the push stream edge node is located and the upper node layer where the upper node 1 is located, or there can be no intermediate node layer. Figure 1 In the architecture shown in , the push stream edge node, the pull stream edge node, the nodes in the intermediate layer, and the upper node are implemented by using a content delivery network (CDN) node.

[0035] Moreover, in an actual application, the edge node layer and the upper node layer can be the same layer. At this time, as shown in Figure 2 , a live streaming architecture diagram is obtained, and as shown in Figure 2 , at this time, the live streaming architecture can only include three layers, such as a client layer, an edge node layer, and a live streaming center platform. At this time, the push stream edge node and the pull stream edge node are the nearest node layer to the live streaming center platform, that is, in the live streaming architecture, the edge node layer is also the upper node layer.

[0036] In the architecture shown in Figure 1 , during live streaming, the anchor uploads a live stream to the nearest push stream edge node through an anchor client, and then the push stream edge node pushes the live stream to the upper node 1 through the nodes in the intermediate layer, and the upper node 1 pushes the live stream to the live streaming center platform.

[0037] On the audience side, taking two audiences requesting to watch the live stream of the same anchor as an example, for example, the audience client 1 initiates a source request to the nearest pull stream edge node 1 to pull the live stream of the live broadcast. If there is no resource of the live stream in the pull stream edge node 1, the source request is continuously requested to the upper node, until the source request is sent to the upper node 2, the upper node 2 pulls the live stream of the anchor from the live streaming center platform, and then transmits it back to the pull stream edge node 1. Similarly, the audience client 2 initiates a source request to the nearest pull stream edge node 2 to pull the live stream of the live broadcast. If there is no resource of the live stream in the pull stream edge node 2, the source request is continuously requested to the upper node, until the source request is sent to the upper node 3, the upper node 3 pulls the live stream of the anchor from the live streaming center platform, and then transmits it back to the pull stream edge node 1.

[0038] Figure 1 In the architecture shown in Figure 1For each audience's back-to-source request, the architecture shown finally pulls the live stream from the streaming center platform by the corresponding upper layer node. Even for the same live stream, the streaming resource needs to transmit many times to multiple upper layer nodes of the next layer, resulting in a very large bandwidth consumption of the streaming platform.

[0039] Figure 3 is a schematic diagram according to the first embodiment of the present disclosure; as Figure 3 shown, the embodiment provides a back-to-source processing method, which is specifically applied in the upper layer node of the next layer of the streaming center platform, for example, can be applied in any upper layer node in the upper layer node layer of the next layer of the streaming center platform in Figure 1 or Figure 2 . The back-to-source processing method of the embodiment can specifically include the following steps:

[0040] S301, based on the first live stream identifier in the received first back-to-source request, determining the information of the target upper layer node in the current upper layer node layer responsible for processing the back-to-source of the first live stream;

[0041] S302, based on the information of the target upper layer node, forwarding the first back-to-source request to the target upper layer node to obtain the first live stream corresponding to the first live stream identifier from the target upper layer node.

[0042] In the embodiment, a certain technical means can be used to configure a corresponding target upper layer node for each live stream identifier in the upper layer node layer. For example, based on the first live stream identifier, the information of the target upper layer node in the upper layer node layer responsible for processing the back-to-source of the first live stream can be determined; and then based on the information of the target upper layer node layer, the first back-to-source request can be forwarded to the target upper layer node to obtain the first live stream corresponding to the first live stream identifier from the target upper layer node, so that the back-to-source in the same layer node is realized, and the back-to-source of all nodes to the streaming center platform is avoided, thereby causing the excessive consumption of the bandwidth resources of the streaming center platform.

[0043] The back-to-source processing method of the embodiment can realize the back-to-source in the same layer node by using the above-mentioned manner, which can effectively avoid the back-to-source of all nodes to the streaming center platform, and thereby can effectively reduce the cost of the bandwidth resources of the streaming center platform.

[0044] Figure 4 is a schematic diagram according to the second embodiment of the present disclosure; the embodiment provides a back-to-source processing method, which is based on the technical solution of the above-mentioned Figure 3 embodiment, and further describes the technical solution of the present disclosure in more detail. As Figure 4 shown, the back-to-source processing method of the embodiment can specifically include the following steps:

[0045] S401, the current upper node receives the first live stream identifier in the first source return request;

[0046] S402, the current upper node performs a consistent hash calculation based on the first live stream identifier to determine the identifier of the target upper node responsible for processing the first live stream source return in the upper node layer where the current upper node is located;

[0047] For example, the first live stream identifier is identified by a string of numbers. If the upper node layer where the current upper node is located includes M upper nodes. The algorithm used in the consistent hash calculation can be to divide the first live stream identifier by M to obtain the corresponding remainder. Based on the remainder, the first live stream identifier is allocated to the identifier of the target upper node responsible for processing the first live stream source return. The remainders 0 to M-1 correspond to M upper nodes, and each remainder corresponds to an upper node. In this way, the identifier of the target upper node responsible for processing the first live stream source return can be determined very accurately and efficiently.

[0048] S403, the current upper node detects whether the target upper node is the current upper node itself; if not, step S404 is performed; if yes, step S405 is performed;

[0049] S404, the current upper node forwards the first source return request to the target upper node based on the identifier of the target upper node to obtain the first live stream corresponding to the first live stream identifier from the target upper node, and ends.

[0050] For example, the address information of the target upper node can be obtained according to the identifier of the target upper node, and then the first source return request is forwarded to the target upper node based on the address information of the target upper node. For example, in the live architecture, the address information of each node in each layer of the architecture can be configured, which can be directly obtained.

[0051] S405, the current upper node forwards the first source return request to the streaming media center platform to obtain the first live stream corresponding to the first live stream identifier from the streaming media center platform, and ends.

[0052] In this embodiment, the source return processing method is introduced in the granularity of nodes.

[0053] The source return processing method of this embodiment can realize source return in the nodes in the same layer, which can effectively avoid all nodes returning to the streaming media center platform, and thus can effectively reduce the cost of bandwidth resources of the streaming media center platform.

[0054] Figure 5 is a schematic diagram according to the third embodiment of the present disclosure; the present embodiment provides a source return processing method, which is based on the above Figure 3 or Figure 4The technical solutions of the embodiments are described in detail based on the technical solutions of the embodiments. Figure 5 As shown, the source return processing method of the embodiments can specifically include the following steps:

[0055] S501, control the current service process receiving the first source return request to determine the identifier of the target service process responsible for processing the first live stream source return in the current upper layer node based on the first live stream identifier;

[0056] Different from the above Figure 3 The embodiments differ from the above

[0057] Specifically, in the embodiments, the current service process in the current upper layer node receives the first source return request as an example.

[0058] Specifically, in the embodiments, the current service process in the current upper layer node receives the first source return request as an example.

[0059] For example, the first live stream identifier of the embodiments can be identified by a string of numbers. Assuming that the number of service processes in the current upper layer node is n, the algorithm used for consistency hash calculation can be to divide the first live stream identifier by n to obtain the corresponding remainder. Based on the remainder, the target service process responsible for processing the first live stream source return is allocated an identifier. The remainders 0 to n-1 correspond to n service processes, and each remainder corresponds to a service process. In this way, the identifier of the target service process responsible for processing the first live stream source return can be accurately and efficiently determined.

[0060] S502, control the current service process to detect whether the target service process is itself based on the identifier of the target service process; if not, perform step S503; if yes, perform step S508;

[0061] S503, control the current service process to forward the first source return request to the target service process based on the identifier of the target service process; perform step S504;

[0062] S504, control the target service process to determine the identifier of the target upper layer node responsible for processing the first live stream source return in the current upper layer node based on the first live stream identifier; perform step S505;

[0063] Specifically, the above step S402 can be used to achieve this. In this way, the identifier of the target upper layer node responsible for processing the first live stream source return can be accurately and efficiently determined.

[0064] S505, forwarding, by the target service process, the first source returning request to the target upper node based on the identifier of the target upper node, to obtain the first live stream corresponding to the first live stream identifier from the target upper node;

[0065] S506, establishing an auxiliary channel between the target service process and the current service process; and performing step S507;

[0066] S507, controlling the target service process to return the forwarding information of the first source returning request to the current service process through the auxiliary channel, the forwarding information carrying the information of the target upper node; and performing step S510;

[0067] That is, through the auxiliary channel, the target service process can inform the current service process that the first source returning request currently requested by the current service process is sent to the target upper node in the same layer by the target service process, and the target upper node is responsible for processing the source returning of the first live stream of the first source returning request.

[0068] S508, controlling the current service process to determine the identifier of the target upper node responsible for processing the source returning of the first live stream in the upper node layer where the current service process is located based on the first live stream identifier; and performing step S509;

[0069] Specifically, the above step S402 can be used to achieve this. According to this method, the identifier of the target upper node responsible for processing the source returning of the first live stream can be accurately and efficiently determined.

[0070] S509, controlling the current service process to forward the first source returning request to the target upper node based on the identifier of the target upper node, to obtain the first live stream corresponding to the first live stream identifier from the target upper node; and ending.

[0071] In the embodiment, after the current service process forwards the first source returning request to the target upper node, the process in the current upper node ends, but the entire source returning process does not end. In the target upper node, the target upper node is taken as the current upper node to execute the technical solution of the embodiment, so that accurate source returning can be ensured.

[0072] For the current service process of the current upper node, after the first source returning request is forwarded, the subsequent waiting for the target upper node to return the streaming media resource of the first live stream based on the first source returning request can be performed.

[0073] S510, if the current service process receives a second source return request carrying the second live stream identifier and the information of the sending end, the current service process is controlled to detect whether the second live stream identifier is the first live stream identifier being requested; if yes, step S511 is executed; if no, step S501 is returned; the second source return request is processed according to the processing mode of the above-mentioned first source return request; that is, the first source return request is replaced by the second source return request, and the processing is continued.

[0074] Specifically, detecting whether the second live stream identifier is the first live stream identifier being requested is equivalent to detecting whether the second live stream identifier in the received second source return request is same as the first live stream identifier in the first source return request being requested.

[0075] In this step, the current service process is taken as an example of requesting the first live stream, and in actual application, the current service process needs to detect whether the currently received second source return request is same as each source return request being requested.

[0076] S511, the current service process is controlled to detect whether the sending end of the second source return request is the target upper node to which the first source return request corresponding to the first live stream identifier being requested is forwarded; if yes, step S512 is executed; if no, the process is ended.

[0077] If the current service process detects that the second live stream identifier is the first live stream identifier being requested, but the sending end of the second source return request is not the target upper node to which the first source return request corresponding to the first live stream identifier being requested is forwarded, it can be determined that the closed loop does not occur. Only it can be indicated that the other upper node sends the first source return request to the current service process of the current upper node. Since the current service process has forwarded the first source return request, it is not necessary to repeat the processing at this time, and the first live stream corresponding to the first source return request being requested can be obtained.

[0078] S512, the current service process is controlled to return a source return message to the sending end, the source return message being used to indicate the message for the sending end to request the first live stream from the streaming media center platform; step S513 is executed.

[0079] S513, the current service process is controlled to disconnect the connection with the sending end, and the process is ended.

[0080] If the current service process detects that the second live stream identifier is the first live stream identifier being requested, and the sending end of the second source return request is the target upper node to which the first source return request corresponding to the first live stream identifier being requested is forwarded, it can be determined that the closed loop occurs. Therefore, the sending end needs to be informed to request the first live stream from the streaming media center platform, and the connection between the current service process and the sending end is disconnected, which can effectively ensure the accurate execution of the source return.

[0081] By adopting the steps S510-S513, the situation that a closed loop is generated in the source returning process and the live stream cannot be acquired can be prevented, and the accurate execution of the source returning can be effectively ensured, and the normal progress of the live service is ensured.

[0082] It should be noted that in actual application, the same layer nodes in the live architecture are not always fixed. For example, for the upper layer nodes, some of the upper layer nodes can be faulty in use. For example, for the same live stream identifier, when the consistent hash calculation is performed, the number of the upper layer nodes participating in the calculation is different, the target upper layer node determined to process the source returning of the live stream can also be different, and thus the source returning closed loop as described above can be caused.

[0083] In the embodiment, the source returning processing method is described by taking the current process as an example. In actual application, the current process can be any process in any upper layer node of the upper layer nodes. That is, each process in each upper layer node needs to perform detection according to the scheme of the embodiment, which can effectively avoid the closed loop in the source returning of the nodes in the same layer, and cannot acquire the live stream, and can ensure the acquisition of the live stream and the progress of the live service. Figure 5 The scheme of the embodiment can effectively avoid the closed loop in the source returning of the nodes in the same layer, and cannot acquire the live stream, and can ensure the acquisition of the live stream and the progress of the live service.

[0084] The source returning processing method of the embodiment can achieve the source returning processing by taking the process in the upper layer node as a granularity, which can not only achieve the source returning of the nodes in the same layer, and can effectively avoid the source returning of all the nodes to the streaming media center platform, and can effectively reduce the cost of the bandwidth resources of the streaming media center platform. Moreover, the technical scheme of the embodiment can effectively avoid the source returning closed loop and the situation that the live stream cannot be acquired, and can ensure the acquisition of the live stream and the progress of the live service.

[0085] Figure 6 is a schematic view according to the fourth embodiment of the present disclosure; as Figure 6 is shown, CDN node A and CDN node B in the next layer of the streaming media center platform are taken as examples, and the node layer in the next layer of the streaming media center platform also includes other CDN nodes, which are not shown in the figure.

[0086] As Figure 6 shown, the service process 1 of the CDN node A can receive the source returning request of the client, and the source returning request carries the identifier of the live stream, which is used to request the source returning of the live stream. As the client client1 sends the source returning request to the service process 1 through the link 1. Based on the identifier of the live stream, the service process 1 performs the detection according to the scheme of the embodiment, and the service process 1 can determine the target upper layer node to process the source returning of the live stream. Figure 5The consistent hash calculation of the illustrated embodiment can control the service process to detect and determine that the service process 2 in the CDN node A is responsible for processing the live stream source, so the service process 1 can be controlled to forward the source request to the service process 2. As shown in Figure 6 The service process 1 forwards the source request to the service process 2 through the link 2. The service process 2 can be controlled to determine that the CDN node B in the same layer is responsible for the live stream source according to Figure 5 The scheme of the illustrated embodiment detects and determines that the CDN node B in the same layer is responsible for the live stream source. Therefore, the service process 2 can be controlled to forward the source request to the service process 3 of the CDN node B, for example, through the link 5. Similarly, in the CDN node B, the service process 3 can also be controlled to detect and determine that the service process 4 in the CDN node B processes the live stream source. Therefore, the service process 3 can be controlled to forward the source request to the service process 4 through the link 6.

[0087] The service process 4 can also be controlled to use the consistent hash calculation, but since the service process 2 of the CDN node A and the service process 4 of the CDN node B perform the consistent hash calculation at different times, when the service process 4 performs the consistent hash calculation, a part of the CDN nodes in the same layer may fail, causing the service process 4 to determine that the CDN node A is responsible for the live stream source in the CDN node layer in the same layer. Therefore, the service process 4 can be controlled to forward the source request to the CDN node A again, for example, through the link 7 to the service process 1. In addition, in the CDN node B, the service process 3 also receives the source request of the same live stream identifier of the client 2 through the link 3. Similarly, the service process 5 can be controlled to perform the consistent hash calculation and determine that the service process 4 processes the live stream source. The service process 4 is forwarded through the link 4.

[0088] At this time, since the service process 1 has learned through the auxiliary channel between the service process 1 and the service process 2 that the source request is forwarded to the CDN node B, and the source request from the CDN node B is received again, it can be determined that a source loop occurs. At this time, the service process 1 can return the source message to the service process 4 of the CDN node B to instruct the service process 4 of the CDN node B to request the source from the streaming media center platform and disconnect the link 7.

[0089] The technical scheme of the embodiment not only can realize the source between the CDN nodes in the same layer to reduce the bandwidth cost of the streaming media center, but also can prevent the source between the CDN nodes in the same layer from forming a loop to cause the resource to be unable to be obtained, and can effectively ensure the normal operation of the live broadcast service.

[0090] Figure 7 is a schematic diagram according to the fifth embodiment of the present disclosure; as Figure 7As shown, this embodiment provides a source-following processing device 700, which is applied in any upper-layer node below the streaming media center of the live streaming framework, including:

[0091] The determination module 701 is used to determine, based on the first live stream identifier in the received first back-to-origin request, the information of the target upper-layer node in the current upper-layer node layer that is responsible for processing the first live stream back-to-origin request;

[0092] The sending module 702 is used to forward the first back-to-origin request to the target upper-layer node based on the information of the target upper-layer node, so as to obtain the first live stream corresponding to the first live stream identifier from the target upper-layer node.

[0093] The source processing device 700 in this embodiment can be applied to any upper-layer node below the streaming media center platform in the live broadcast architecture.

[0094] The source return processing device 700 in this embodiment achieves the same implementation principle and technical effect as the above-mentioned related method embodiments by using the above-mentioned modules. For details, please refer to the description of the above-mentioned related method embodiments, which will not be repeated here.

[0095] Figure 8 This is a schematic diagram according to the sixth embodiment of this disclosure; as shown Figure 8 As shown, this embodiment provides a source recovery processing device 800, including: the above-mentioned... Figure 7 The modules with the same name and function shown are: determination module 801 and sending module 802.

[0096] In this embodiment, the determining module 801 is used for:

[0097] Based on the first live stream identifier, a consistent hash calculation is performed to determine the identifier of the target upper-layer node responsible for processing the first live stream back-to-origin processing within the current upper-layer node layer. In one embodiment of this disclosure, the determining module 801 is further configured to:

[0098] Determine that the target upper-level node is not the current upper-level node. In one embodiment of this disclosure, the sending module 802 is further configured to:

[0099] If the target upper-layer node is the current upper-layer node, the first origin request is forwarded to the streaming media center platform to obtain the first live stream corresponding to the first live stream identifier from the streaming media center platform. In one embodiment of this disclosure, the determining module 801 is further used for

[0100] The current service process that receives the first back-to-origin request determines the identifier of the target service process responsible for handling the back-to-origin of the first live stream within the current upper-layer node based on the first live stream identifier; the sending module 802 is also used to control the current service process to forward the first back-to-origin request to the target service process based on the identifier of the target service process.

[0101] In one embodiment of this disclosure, the determining module 801 is configured to:

[0102] Control the target service process, and based on the first live stream identifier, determine the identifier of the target upper-layer node in the current upper-layer node layer that is responsible for processing the first live stream back to the source;

[0103] Transmitting module 802 is used for:

[0104] The target service process is controlled to forward the first origin request to the target upper-layer node based on the identifier of the target upper-layer node.

[0105] In one embodiment of this disclosure, the determining module 801 is configured to:

[0106] The current service process is controlled to determine that the target service process is not itself.

[0107] In one embodiment of this disclosure, the determining module 801 is configured to:

[0108] The current service process is controlled to perform a consistent hash calculation based on the first live stream identifier to determine the identifier of the target service process within the current upper-layer node responsible for processing the first live stream origin. For example... Figure 8 As shown, in one embodiment of this disclosure, the source back-to-source processing device 800 further includes:

[0109] Establishment module 803 is used to establish an auxiliary channel between the target service process and the current service process; sending module 802 is used to control the target service process to return the forwarding information of the first origin request to the current service process through the auxiliary channel, wherein the forwarding information carries the information of the target upper-layer node.

[0110] like Figure 8 As shown, in one embodiment of this disclosure, the source back-to-source processing device 800 further includes:

[0111] The detection module 804 is used to control the current service process to detect whether the second live stream identifier is the first live stream identifier that is being requested when the current service process receives a second back-to-origin request carrying the second live stream identifier and the information of the sending end.

[0112] The detection module 804 is further configured to, if so, control the current service process to detect whether the sending end of the second origin request is the target upper-layer node to which the first origin request corresponding to the first live stream identifier being requested is forwarded.

[0113] The sending module 802 is also configured to, if so, control the current service process to return a return-to-origin message to the sending end, the return-to-origin message being used to instruct the sending end to request the first live stream from the streaming media center platform;

[0114] The disconnect module 805 is used to control the current service process to disconnect from the sending end.

[0115] The source return processing device 800 in this embodiment achieves the same implementation principle and technical effect as the above-mentioned related method embodiments by using the above-mentioned modules. For details, please refer to the description of the above-mentioned related method embodiments, which will not be repeated here.

[0116] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0117] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0118] Figure 9 A schematic block diagram of an example electronic device 900 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0119] like Figure 9 As shown, device 900 includes a computing unit 901, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 902 or a computer program loaded from storage unit 908 into random access memory (RAM) 903. RAM 903 may also store various programs and data required for the operation of device 900. The computing unit 901, ROM 902, and RAM 903 are interconnected via bus 904. Input / output (I / O) interface 905 is also connected to bus 904.

[0120] A plurality of components in the device 900 are connected to the I / O interface 905, including: an input unit 906, such as a keyboard, a mouse, etc.; an output unit 907, such as various types of displays, speakers, etc.; a storage unit 908, such as a magnetic disk, an optical disk, etc.; and a communication unit 909, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 909 allows the device 900 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.

[0121] The computing unit 901 can be various general and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 901 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 901 performs various methods and processes described above, such as the above-described methods of the present disclosure. For example, in some embodiments, the above-described methods of the present disclosure can be implemented as a computer software program, which is tangibly embodied in a machine-readable medium, such as the storage unit 908. In some embodiments, part or all of the computer program can be loaded and / or installed onto the device 900 via the ROM 902 and / or the communication unit 909. When the computer program is loaded onto the RAM 903 and executed by the computing unit 901, one or more steps of the above-described methods of the present disclosure described above can be performed. Alternatively, in other embodiments, the computing unit 901 can be configured to perform the above-described methods of the present disclosure by any other appropriate means, such as by means of firmware.

[0122] Various implementations of the systems and techniques described above herein can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a complex programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0123] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces the functions / operations specified in the flowcharts and / or block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine as a standalone software package, or entirely on a remote machine or server.

[0124] In the context of the present disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium will include one or more lines of electrical connections, portable computer disks, hard disk drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), optical fibers, portable compact disc read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0125] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0126] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0127] The computer system can include clients and servers. This relationship can be. The servers are typically remote from the clients with the interactions between them occurring over a communication network. The relationship between client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The servers can be cloud servers, servers of a distributed system, or servers incorporating blockchain.

[0128] It should be understood that the steps shown in the various forms above can be reordered, added to, or removed. For example, the steps described in the present disclosure can be performed in parallel, in series, or in a different order, as long as the desired results of the present disclosure are achieved, and are not limited herein.

[0129] The specific embodiments described above are not intended to be limiting, and persons skilled in the art will appreciate that various modifications, combinations, sub-combinations and alternatives can be made to the specific embodiments without departing from the spirit and principles of the disclosure. Any further modifications, equivalents and / or alternatives thereof are also encompassed within the scope of the present disclosure.

Claims

1. A source-following processing method, applied to any upper-level node in the upper-level node layer of the next layer of a streaming media center platform, comprising: Based on the first live stream identifier in the first back-to-origin request received, determine the information of the target upper-level node in the current upper-level node layer that is responsible for processing the first live stream back-to-origin request; Based on the information of the target upper-layer node, the first back-to-origin request is forwarded to the target upper-layer node to obtain the first live stream corresponding to the first live stream identifier from the target upper-layer node; The method further includes: Based on the first live stream identifier, the current service process that receives the first back-to-origin request determines the identifier of the target service process responsible for handling the first live stream back-to-origin request within the current upper-layer node. The current service process is controlled to forward the first origin request to the target service process based on the identifier of the target service process; If the current service process receives a second origin request carrying a second live stream identifier and information of the sending end, it controls the current service process to detect and determine that the second live stream identifier is the first live stream identifier that is being requested; The current service process is controlled to detect and determine the sending end of the second origin request, which is the target upper-layer node to which the first origin request corresponding to the first live stream identifier being requested is forwarded; The current service process is controlled to return a source return message to the sending end, and the source return message is used to instruct the sending end to request the first live stream from the streaming media center platform; And control the current service process to disconnect from the sending end.

2. The method according to claim 1, wherein, Based on the first live stream identifier in the received first origin request, determine the information of the target upper-level node in the current upper-level node layer that is responsible for processing the first live stream origin request, including: Based on the first live stream identifier, a consistent hash calculation is performed to determine the identifier of the target upper-layer node in the current upper-layer node layer that is responsible for processing the first live stream back to the source.

3. The method according to claim 1, wherein, Based on the first live stream identifier in the received first origin request, after determining the information of the target upper-level node responsible for processing the first live stream origin request in the current upper-level node layer, and before forwarding the first origin request to the target upper-level node based on the information of the target upper-level node, the method further includes: It is determined that the target upper-level node is not the current upper-level node.

4. The method according to claim 3, wherein, The method further includes: If the target upper-level node is the current upper-level node, forward the first origin request to the streaming media center platform to obtain the first live stream corresponding to the first live stream identifier from the streaming media center platform.

5. The method according to claim 1, wherein, Based on the first live stream identifier in the received first origin request, determine the information of the target upper-level node in the current upper-level node layer that is responsible for processing the first live stream origin request, including: Control the target service process, and based on the first live stream identifier, determine the identifier of the target upper-layer node in the current upper-layer node layer that is responsible for processing the first live stream back to the source; Specifically, forwarding the first origin request to the target upper-layer node based on the information of the target upper-layer node includes: The target service process is controlled to forward the first origin request to the target upper-layer node based on the identifier of the target upper-layer node.

6. The method according to claim 1, wherein, Before controlling the current service process that receives the first origin pull request to determine the identifier of the target service process responsible for handling the first live stream origin pull within the current upper-layer node based on the first live stream identifier, and before controlling the current service process to forward the first origin pull request to the target service process based on the identifier of the target service process, the method further includes: The current service process is controlled to determine that the target service process is not itself.

7. The method according to claim 1, wherein, Based on the first live stream identifier, the current service process that receives the first origin request determines the identifier of the target service process within the current upper-layer node responsible for handling the first live stream origin request, including: Control the current service process, perform consistent hash calculation based on the first live stream identifier, and determine the identifier of the target service process responsible for processing the first live stream back to the source within the current upper-layer node.

8. The method according to claim 5, wherein, After controlling the target service process to forward the first origin request to the target upper-layer node based on the identifier of the target upper-layer node, the method further includes: Establish an auxiliary channel between the target service process and the current service process; The target service process is controlled to return the forwarding information of the first origin request to the current service process through the auxiliary channel, and the forwarding information carries the information of the target upper-layer node.

9. A source-following processing device, applied in any upper-level node of the upper-level node layer below the streaming media center platform, comprising: The determination module is used to determine the information of the target upper-layer node responsible for processing the first live stream return to the source in the current upper-layer node layer based on the first live stream identifier in the received first return to source request. The sending module is used to forward the first back-to-origin request to the target upper-layer node based on the information of the target upper-layer node, so as to obtain the first live stream corresponding to the first live stream identifier from the target upper-layer node; The determining module is further configured to: Based on the first live stream identifier, the current service process that receives the first back-to-origin request determines the identifier of the target service process responsible for handling the first live stream back-to-origin request within the current upper-layer node. The current service process is controlled to forward the first origin request to the target service process based on the identifier of the target service process; The detection module is used for: If the current service process receives a second origin request carrying a second live stream identifier and information of the sending end, it controls the current service process to detect and determine that the second live stream identifier is the first live stream identifier that is being requested; The current service process is controlled to detect and determine the sending end of the second origin request, which is the target upper-layer node to which the first origin request corresponding to the first live stream identifier being requested is forwarded; The sending module is also configured to control the current service process to return a source return message to the sending end, the source return message being used to instruct the sending end to request the first live stream from the streaming media center platform; The disconnect module is used to control the current service process to disconnect from the sending end.

10. The apparatus according to claim 9, wherein, The determining module is used for: Based on the first live stream identifier, a consistent hash calculation is performed to determine the identifier of the target upper-layer node in the current upper-layer node layer that is responsible for processing the first live stream back to the source.

11. The apparatus according to claim 9, wherein, The determining module is further configured to: It is determined that the target upper-level node is not the current upper-level node.

12. The apparatus according to claim 11, wherein, The sending module is further configured to: If the target upper-level node is the current upper-level node, forward the first origin request to the streaming media center platform to obtain the first live stream corresponding to the first live stream identifier from the streaming media center platform.

13. The apparatus according to claim 9, wherein, The determining module is used for: Control the target service process, and based on the first live stream identifier, determine the identifier of the target upper-layer node in the current upper-layer node layer that is responsible for processing the first live stream back to the source; The sending module is used for: The target service process is controlled to forward the first origin request to the target upper-layer node based on the identifier of the target upper-layer node.

14. The apparatus according to claim 9, wherein, The determining module is used for: The current service process is controlled to determine that the target service process is not itself.

15. The apparatus according to claim 9, wherein, The determining module is used for: Control the current service process, perform consistent hash calculation based on the first live stream identifier, and determine the identifier of the target service process responsible for processing the first live stream back to the source within the current upper-layer node.

16. The apparatus according to claim 13, wherein, The device further includes: A module is established to create an auxiliary channel between the target service process and the current service process. The sending module is used to control the target service process to return the forwarding information of the first origin request to the current service process through the auxiliary channel, wherein the forwarding information carries the information of the target upper-layer node.

17. An electronic device comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-8.

18. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-8.

19. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-8.

Citation Information

Patent Citations

  • Pull stream control method, pull stream control device, readable storage medium and stream media server

    CN107302525A

  • Stream service node scheduling method and device, and scheduling node

    CN108307198A

  • Live broadcast stream acquisition method and device

    CN114501053A