CN115250358A - Stream pulling method, stream pulling device, storage medium and electronic equipment - Google Patents

Stream pulling method, stream pulling device, storage medium and electronic equipment Download PDF

Info

Publication number
CN115250358A
CN115250358A CN202110452531.4A CN202110452531A CN115250358A CN 115250358 A CN115250358 A CN 115250358A CN 202110452531 A CN202110452531 A CN 202110452531A CN 115250358 A CN115250358 A CN 115250358A
Authority
CN
China
Prior art keywords
node
stream
pull
preset
data transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110452531.4A
Other languages
Chinese (zh)
Inventor
赵彦青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202110452531.4A priority Critical patent/CN115250358A/en
Publication of CN115250358A publication Critical patent/CN115250358A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities

Abstract

The present disclosure relates to the field of live broadcast technologies, and in particular, to a stream pulling method, apparatus, storage medium, and electronic device, where the method includes: acquiring video playing positions and data transmission quality parameters of other nodes connected with the stream pulling node; selecting at least one target node which meets a preset stream pulling condition from other nodes based on the video playing position and the data transmission quality parameter of each of the other nodes, wherein the preset stream pulling condition comprises that the data transmission quality parameter of the node is greater than a preset transmission quality parameter threshold value, and the video playing position of the node leads the video playing position of the stream pulling node; and acquiring slice data required by the pull flow node from the at least one target node. The embodiment of the disclosure can improve the transmission efficiency of the shared slice data, so that the overall sharing rate of the node resources is higher.

Description

Stream pulling method, stream pulling device, storage medium and electronic equipment
Technical Field
The present disclosure relates to the field of live broadcast technologies, and in particular, to a stream pulling method, a stream pulling apparatus, a computer-readable storage medium for implementing the stream pulling method, and an electronic device.
Background
With the development of network technology, live webcasting is more and more popular, and various social activities can be propagated by means of live webcasting.
As a combination of Peer-to-Peer (P2P) network technology and network multimedia services, P2P video live broadcasting has become one of the most popular services of the internet at present. In practical use, if resources of the P2P nodes watching the same program can be effectively integrated by P2P live video, the resources can be reasonably shared, and the method has positive significance for improving the video playing quality of the nodes on the whole and relieving the transmission pressure of the P2P flow to the whole internet to a certain extent. Currently, a general resource sharing process of nodes in P2P video live broadcasting is as follows: and the pull flow node registers to the P2P cluster server and acquires other node lists, then initiates a request for establishing communication connection to other nodes, interacts with each other after the connection is successfully established, for example, the slice information which can be shared is sent to other nodes, then sends a data request to other nodes, continues to initiate a new request after receiving the slice data returned by other nodes, and the process is circulated.
However, the current node resource sharing method has some potential problems, for example, whether slice information available for sharing is interacted timely or not, data transmission efficiency of other nodes is difficult to guarantee to be always good, the other nodes do not necessarily have slices required by the stream pulling node at a certain moment, and the like, which causes the current node resource sharing method to have some unnecessary or invalid interaction processes and data processing processes, and causes the overall sharing rate of node resources to be low to a certain extent.
Disclosure of Invention
In order to solve the technical problem or at least partially solve the technical problem, embodiments of the present disclosure provide a stream pulling method, a stream pulling apparatus, a computer-readable storage medium and an electronic device implementing the stream pulling method.
In a first aspect, an embodiment of the present disclosure provides a stream pulling method, which is applied to a stream pulling node of a live video system, and the method includes:
acquiring video playing positions and data transmission quality parameters of other nodes connected with the stream pulling node;
selecting at least one target node which meets a preset pull stream condition from the other nodes based on the video playing position and the data transmission quality parameter of each node in the other nodes, wherein the preset pull stream condition comprises that the data transmission quality parameter of the node is greater than a preset transmission quality parameter threshold value, and the video playing position of the node leads the video playing position of the pull stream node; and acquiring slice data required by the pull flow node from the at least one target node.
In some embodiments of the present disclosure, the data transmission quality parameter includes at least a data transmission speed and/or a data transmission duty ratio; the data transmission ratio represents the ratio of the data transmission amount of one node to the total data transmission amount of the other nodes in a historical preset time.
In some embodiments of the disclosure, the method further comprises:
acquiring communication quality parameters of a target node connected with the pull flow node;
and when the communication quality parameters meet the preset communication quality parameter conditions, sending a cancellation request to the target node, wherein the cancellation request indicates that the target node does not perform flow pushing and returns the sliced data any more.
In some embodiments of the present disclosure, the communication quality parameters include at least one or more of a communication link status parameter, a duration of time for which no slice data is returned by the target node.
In some embodiments of the disclosure, after sending the cancellation request to the target node, the method further comprises:
and forwarding the pull flow request which is sent to the target node by the pull flow node to other target nodes, wherein the pull flow request is used for requesting to acquire the slice data required by the pull flow node from the target node.
In some embodiments of the present disclosure, the method further comprises:
acquiring the service type of a live video at the current moment of the video live broadcasting system;
configuring the preset transmission quality parameter threshold value based on the service type; wherein, different service types correspond to different preset transmission quality parameter thresholds.
In some embodiments of the present disclosure, the method further comprises:
when a refusing request sent by the target node is received, no pulling request is sent to the target node; the rejection request is generated by the target node when the load of the target node is greater than a preset load threshold, and the preset load threshold is related to at least one of the number of pull stream nodes supported by the target node and the type of service of the live video.
In a second aspect, an embodiment of the present disclosure provides a stream pulling apparatus, which is applied to a stream pulling node of a live video system, and the apparatus includes:
the parameter acquisition module is used for acquiring video playing positions and data transmission quality parameters of other nodes connected with the stream pulling node;
a node selection module, configured to select, based on a video playing position and a data transmission quality parameter of each of the other nodes, at least one target node that meets a preset pull stream condition from the other nodes, where the preset pull stream condition includes that the data transmission quality parameter of a node is greater than a preset transmission quality parameter threshold, and the video playing position of the node leads the video playing position of the pull stream node;
and the data acquisition module is used for acquiring the slice data required by the pull flow node from the at least one target node.
In a third aspect, the present disclosure provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps of the pull flow method in any one of the foregoing embodiments.
In a fourth aspect, an embodiment of the present disclosure provides an electronic device, including:
a processor; and
a memory for storing a computer program;
wherein the processor is configured to perform the steps of the pull flow method of any of the above embodiments via execution of the computer program.
Compared with the prior art, the technical scheme provided by the embodiment of the disclosure has the following advantages:
in the stream pulling method, the apparatus, the medium, and the electronic device provided by the embodiments of the present disclosure, a stream pulling node acquires video playing positions and data transmission quality parameters of other nodes connected to the stream pulling node, and then selects at least one target node that meets a preset stream pulling condition from the other nodes based on the video playing position and the data transmission quality parameters of each of the other nodes, where the preset stream pulling condition includes that the data transmission quality parameters of the nodes are greater than a preset transmission quality parameter threshold, and the video playing position of the node leads the video playing position of the stream pulling node; and then acquiring slice data required by the pull flow node from the at least one target node. Therefore, in the embodiment, the video playing positions and the data transmission quality parameters of the other nodes connected with the stream pulling node are obtained, then the target nodes meeting the preset stream pulling condition are screened based on the video playing positions and the data transmission quality parameters of the other nodes, and finally the target nodes interact with the target nodes to obtain the slice data, so that the screened target nodes can be ensured to have the slice data required by the stream pulling node, and the data transmission quality of the target nodes is ensured to a certain extent, some unnecessary or invalid interaction processes and/or data processing processes in the node resource sharing process are avoided, the transmission efficiency of the shared slice data is improved, the overall sharing rate of the node resources is higher, the video playing quality of the nodes can be improved, and the transmission pressure of P2P flow on the whole network is relieved to a certain extent.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure.
In order to more clearly illustrate the embodiments or technical solutions in the prior art of the present disclosure, the drawings used in the embodiments or technical solutions in the prior art description will be briefly described below, and it is obvious for those skilled in the art that other drawings can be obtained according to these drawings without inventive labor.
FIG. 1 is a flow chart of a method for pulling a flow according to an embodiment of the disclosure;
fig. 2 is a schematic view of a video live broadcast system architecture according to an embodiment of the present disclosure;
FIG. 3 is a flow chart of a method for pulling a stream according to another embodiment of the present disclosure;
FIG. 4 is a flow chart of a method for pulling a flow according to another embodiment of the present disclosure;
FIG. 5 is a schematic view of a flow pulling apparatus according to an embodiment of the present disclosure;
fig. 6 is a schematic view of an electronic device implementing a stream pulling method according to an embodiment of the present disclosure.
Detailed Description
In order that the above objects, features and advantages of the present disclosure may be more clearly understood, aspects of the present disclosure will be further described below. It should be noted that the embodiments and features of the embodiments of the present disclosure may be combined with each other without conflict.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure, but the present disclosure may be practiced in other ways than those described herein; it is to be understood that the embodiments disclosed in the specification are only a few embodiments of the present disclosure, and not all embodiments.
It is to be understood that, hereinafter, "at least one" means one or more, "a plurality" means two or more. "and/or" is used to describe the association relationship of the associated object, and indicates that there may be three relationships, for example, "a and/or B" may indicate: only A, only B and both A and B are present, wherein A and B may be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of the singular or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", wherein a, b and c may be single or plural.
Fig. 1 is a flowchart of a stream pulling method shown in an embodiment of the present disclosure, where the stream pulling method may be applied to, for example, stream pulling nodes, such as node 1, of a video live broadcast system shown in fig. 2, where each node, such as nodes 1 to node N, may specifically be, for example, a P2P live broadcast client, the live broadcast clients are in communication connection with each other and with a P2P cluster scheduling server, and the scheduling server may manage joining, leaving, and the like of each live broadcast client, such as a live broadcast client, in a cluster. A pull node, such as node 1, may obtain node information, such as node IP addresses, node names, etc., for other nodes, such as nodes 2-N, from the dispatch server. The pull flow node such as the node 1 sends a connection establishment request based on the acquired node information to establish a communication connection with other nodes such as the nodes 2-N, and then the information can be exchanged. Specifically, the stream pulling method may include the following steps:
step S101: and acquiring video playing positions and data transmission quality parameters of other nodes connected with the stream pulling node.
Illustratively, the data transmission quality parameter is used to indicate the data transmission quality of a node, and the larger the data transmission quality parameter is, the better the data transmission quality is. The video playing position may be determined by a playing time when a node plays a video or a video frame identifier, such as a unique ID, but is not limited thereto.
Specifically, after the stream pulling node, such as node 1, successfully establishes a communication connection with all or part of the other nodes, such as nodes 2-N, the video playing position and the data transmission quality parameter of the other nodes in communication connection with the stream pulling node may be interactively obtained.
Step S102: and selecting at least one target node which meets a preset pull stream condition from the other nodes based on the video playing position and the data transmission quality parameter of each node in the other nodes. The preset stream pulling condition comprises that the data transmission quality parameter of the node is larger than a preset transmission quality parameter threshold value, and the video playing position of the node leads the video playing position of the stream pulling node.
For example, the video playing position of the node in the preset pull stream condition leads the video playing position of the pull stream node, that is, for example, the video playing progress of the node a is greater than the video playing progress of the pull stream node, which means that the slice data of the live video obtained by the node a is greater than the slice data of the pull stream node.
Specifically, the stream pulling node determines whether the video playing position and the data transmission quality parameter of each of the other nodes satisfy the preset stream pulling condition, and determines the node satisfying the preset stream pulling condition as a target node, for example, determines the node 4 and the node 5 as target nodes.
Step S103: and acquiring slice data required by the pull flow node from the at least one target node.
Specifically, the pull flow node may generate a pull flow request, and send the pull flow request to each target node, where the pull flow request carries identification information of a slice required by the pull flow node.
In one example, after determining the target node, the pull flow node generates a pull flow request and sends the pull flow request to each of the target nodes, such as node 4 and node 5, where the pull flow request carries identification information, such as an index number, of a slice required by the pull flow node. For example, the identification information of the required slice may be an identification of the slice data, such as an index number, etc., for example, if the slice data currently obtained by the pull flow node is the slice data with index numbers 2, 4, 6, 8, 10, the required slice, i.e., the still worse slice, is the slice data with index numbers 1, 3, 5, 7, 9, the pull flow request will carry the index numbers of the required slices, such as 1, 3, 5, 7, 9.
Specifically, after each target node receives the pull flow request, the pull flow request is responded, and the slice data of the target node is returned to the pull flow node. For example, node 4 returns slice data with index numbers 1, 3, and 5, and node 5 returns slice data with index numbers 7 and 9.
According to the stream pulling method provided by the embodiment of the disclosure, the video playing positions and the data transmission quality parameters of the other nodes connected with the stream pulling node are obtained, then the target nodes meeting the preset stream pulling condition are screened based on the video playing positions and the data transmission quality parameters of the other nodes, and finally the slice data are obtained by interacting with the target nodes, so that the screened target nodes can be ensured to have the slice data required by the stream pulling node, and the data transmission quality of the target nodes is ensured to a certain extent, some unnecessary or invalid interaction processes and/or data processing processes in the node resource sharing process are avoided, the transmission efficiency of the shared slice data is improved, the overall sharing rate of the node resources is higher, the video playing quality of the nodes can be improved, and the transmission pressure of the P2P flow to the whole network is relieved to a certain extent.
Optionally, in some embodiments of the present disclosure, the data transmission quality parameter may include, but is not limited to, at least a data transmission speed and/or a data transmission ratio. The data transmission ratio represents the ratio of the data transmission amount of one node to the data transmission amount of the other nodes in a historical preset time. Correspondingly, when the pull flow node determines whether the data transmission quality parameter of each of the other nodes meets the preset pull flow condition in step S102, the node in which the data transmission speed is greater than the preset data transmission speed threshold and/or the data transmission ratio is greater than the preset data transmission ratio threshold in each node is determined as the target node. The preset data transmission ratio threshold and the preset data transmission speed threshold may be set according to specific situations, and the preset data transmission ratio threshold may be, for example, 50%, which is not particularly limited in this embodiment. Through the embodiment, the data transmission quality of the screened target node can be further improved, the transmission efficiency of the shared slice data is further improved, and the overall sharing rate of the node resources is further improved.
Optionally, on the basis of the above embodiments, in some embodiments of the present disclosure, with reference to fig. 3, the method may further include the following steps:
step S301: and acquiring the communication quality parameters of the target node connected with the stream pulling node.
For example, in some embodiments of the present disclosure, the communication quality parameter may include at least one or more of, but is not limited to, a communication link status parameter, a duration of time for which the target node has not returned slice data. The communication link status parameter may be "0" (indicating that the link is down) or "1" (indicating that the link is normal), but is not limited to this form. The duration that the target node does not return the sliced data, that is, the data is not returned after time out, indicates that the communication quality of the target node is poor, and the duration may be set according to needs, which is not limited in this embodiment.
Specifically, the stream pulling node may obtain a communication quality parameter of a target node in communication connection with the stream pulling node, such as a communication link state parameter, and a duration of the slice data not returned by the target node.
Step S302: and when the communication quality parameters meet the preset communication quality parameter conditions, sending a cancellation request to the target node, wherein the cancellation request indicates that the target node does not carry out stream pushing and returns the sliced data any more.
For example, the condition that the preset communication quality parameter is satisfied may be that the communication link state parameter is "0", or the communication link state parameter is "1" and the duration T that the target node does not return the slice data is greater than a preset maximum duration Tmax, which may be specifically set, which is not limited in this embodiment.
Specifically, when the obtained communication quality parameter of the target node meets the preset communication quality parameter condition, the stream pulling node sends a cancellation request to the target node to indicate that the target node does not perform stream pushing any more and returns slice data. For example, if the communication quality parameter of the target node, such as the node 4, meets the preset communication quality parameter condition, a cancellation request is sent to the node 4 to indicate that the node 4 no longer performs the push flow and returns the sliced data.
According to the scheme, the cancellation request can be sent to the target node which does not meet the communication quality requirement in time, so that unnecessary data interaction and data processing processes are avoided, the transmission efficiency of shared slice data is improved, and the overall sharing rate of node resources is improved to a certain extent.
Optionally, on the basis of the foregoing embodiment, in some embodiments of the present disclosure, after the cancellation request is sent to the target node in step S103, the method may further include the following steps: and forwarding a pull flow request which is sent to the target node by the pull flow node to other target nodes, wherein the pull flow request is used for requesting to acquire the slice data required by the pull flow node from the target node.
Specifically, for example, the pull flow node sends a cancel request to a target node, such as the node 4, which indicates that the communication quality of the target node is degraded, and then sends the pull flow request a, which was sent to the node 4 by the pull flow node, to another target node, such as the node 5, again. The pull flow node may then receive the slice data returned by node 5 in response to pull flow request a.
By the scheme of the embodiment, after the cancellation request is sent to the target node which does not meet the communication quality requirement, the slice data can be obtained from other target nodes in time, the slice data sharing efficiency is improved to a certain extent, and the overall sharing rate of node resources is further improved.
Optionally, on the basis of the foregoing embodiments, referring to fig. 4, in some embodiments of the present disclosure, the method may further include the following steps:
step S401: and acquiring the service type of the live video at the current moment of the video live broadcast system.
Illustratively, the service type may be a live video service with high real-time requirement, such as live news, or a live service with low real-time requirement, but is not limited thereto. The service types can also be divided according to the clear height of the live pictures. The stream pulling node can acquire the parameter information of the service type of the current live video from the scheduling server, and the service type can be determined based on the parameter information.
Step S402: configuring the preset transmission quality parameter threshold value based on the service type; wherein, different service types correspond to different preset transmission quality parameter thresholds.
Illustratively, the mapping relationship between different service types and corresponding different preset transmission quality parameter thresholds can be preset, so that parameter configuration can be conveniently realized. Specifically, after determining the service type of the current live video, the stream node configures a preset transmission quality parameter threshold in a preset stream pulling condition based on the service type, and then may jump to execute step S101.
In this embodiment, the preset transmission quality parameter threshold in the preset pull-stream condition may be adjusted according to different live broadcast service types, so that the screened target node more matches the corresponding live broadcast service, thereby reducing the potential influence on the live broadcast service, further improving the transmission efficiency of node shared slice data, and making the overall sharing rate of node resources higher.
Optionally, on the basis of the foregoing embodiments, in some embodiments of the present disclosure, the method may further include the following steps: and when a refusal request sent by the target node is received, the pull flow request is not sent to the target node. The rejection request is generated by the target node when the load of the target node is greater than a preset load threshold, and the preset load threshold is related to at least one of the number of pull stream nodes supported by the target node and the type of service of the live video.
Specifically, the target node may determine whether to support the new pull request according to a load condition of the target node, and if the load is too large, the target node may not support the new pull request, and at this time, the target node may change state information of the target node in time, and send a reject request to the pull node, and reject the new pull request.
Illustratively, the target node generates the reject request when its own load is greater than a preset load threshold. The preset load threshold may be determined by the number of pull stream nodes supported by the target node and/or the service type of the live video, but is not limited thereto, and may be flexibly set according to the need, which is not limited in this embodiment. For example, a target node only supports the pull requests of two pull nodes, and when a third pull node sends a pull request, the pull request of the third pull node is rejected. When the real-time requirement of the service type of live video is high, the preset load threshold may be set to a first value, and when the real-time requirement is low, the preset load threshold may be set to a second value, where the second value is greater than the first value, and the first value may be set according to specific needs, which is not limited in this embodiment.
In this embodiment, video playing positions and data transmission quality parameters of other nodes connected to the stream pulling node are obtained, then a target node meeting a preset stream pulling condition is screened based on the video playing positions and the data transmission quality parameters of the other nodes, and finally slice data is obtained by interacting with the target node, so that it can be ensured that the screened target node has slice data required by the stream pulling node, and the data transmission quality of the target node has certain guarantee, some unnecessary or invalid interaction processes and/or data processing processes in a node resource sharing process are avoided, the transmission efficiency of shared slice data is improved, the overall sharing rate of node resources is higher, the video playing quality of the node can be improved, and the transmission pressure of P2P traffic on the whole network is relieved to a certain extent.
It should be noted that although the steps of the methods of the present disclosure are depicted in the drawings in a particular order, this does not require or imply that the steps must be performed in this particular order or that all of the depicted steps must be performed to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken into multiple step executions, etc. Additionally, it will also be readily appreciated that these steps may be performed synchronously or asynchronously, e.g., among multiple modules/processes/threads.
Based on the same inventive concept, corresponding to the stream pulling method in the foregoing embodiments, an embodiment of the present disclosure further provides a stream pulling apparatus, which is applied to a stream pulling node of a live video system, as shown in fig. 5, the apparatus may include a parameter obtaining module 501, a node selecting module 502, and a data obtaining module 503, where:
a parameter obtaining module 501, configured to obtain video playing positions and data transmission quality parameters of other nodes connected to the stream pulling node.
A node selecting module 502, configured to select, based on the video playing position and the data transmission quality parameter of each of the other nodes, at least one target node that meets a preset pull stream condition from the other nodes, where the preset pull stream condition includes that the data transmission quality parameter of a node is greater than a preset transmission quality parameter threshold, and the video playing position of the node precedes the video playing position of the pull stream node.
A data obtaining module 503, configured to obtain slice data required by the pull flow node from the at least one target node.
The stream pulling device provided by the above embodiment of the present disclosure obtains the video playing positions and the data transmission quality parameters of the other nodes connected to the stream pulling node, then screens the target nodes meeting the preset stream pulling condition based on the video playing positions and the data transmission quality parameters of the other nodes, and finally interacts with the target nodes to obtain the slice data, so that it can be ensured that the screened target nodes have the slice data required by the stream pulling node certainly, and the data transmission quality of the target nodes has a certain guarantee, some unnecessary or invalid interaction processes and/or data processing processes in the node resource sharing process are avoided, the transmission efficiency of the shared slice data is improved, the overall sharing rate of the node resources is higher, further, the video playing quality of the nodes can be improved, and the transmission pressure of the P2P traffic on the whole network is relieved to a certain extent.
Optionally, in some embodiments of the present disclosure, the data transmission quality parameter may include, but is not limited to, at least a data transmission speed and/or a data transmission ratio. The data transmission ratio represents the ratio of the data transmission amount of one node to the total data transmission amount of the other nodes in a historical preset time.
Optionally, in some embodiments of the present disclosure, the apparatus may further include a node control module, configured to acquire communication quality parameters of other nodes connected to the pull flow node, and send a cancellation request to the target node when the communication quality parameters meet a preset communication quality parameter condition, where the cancellation request indicates that the target node does not perform push flow and returns slice data.
Optionally, in some embodiments of the present disclosure, the communication quality parameter may include at least one or more of, but is not limited to, a communication link status parameter, and a duration of time for which the target node has not returned slice data.
Optionally, in some embodiments of the present disclosure, the apparatus may further include a request forwarding module, configured to forward, after the node control module sends the cancellation request to the target node, a pull request sent by the pull node to the target node to another target node, where the pull request is used to request, from the target node, to acquire the slice data required by the pull node.
Optionally, in some embodiments of the present disclosure, the apparatus may further include a parameter configuration module, configured to obtain a service type of a live video of the video live broadcasting system at the current time; configuring the preset transmission quality parameter threshold value based on the service type; wherein, different service types correspond to different preset transmission quality parameter thresholds.
Optionally, in some embodiments of the present disclosure, the apparatus may further include a request control module, configured to, when receiving the rejection request sent by the target node, no longer send the pull request to the target node. The reject request is generated by the target node when the load of the target node is greater than a preset load threshold, where the preset load threshold is related to at least one of the number of pull streaming nodes supported by the target node and a service type of live video, but is not limited thereto.
The specific manner in which the above-mentioned embodiments of the apparatus, and the corresponding technical effects brought about by the operations performed by the respective modules, have been described in detail in the embodiments related to the method, and will not be described in detail herein.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units. The components shown as modules or units may or may not be physical units, i.e. may be located in one place or may also be distributed over a plurality of network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the wood-disclosed scheme. One of ordinary skill in the art can understand and implement it without inventive effort.
The embodiments of the present disclosure also provide a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps of the stream pulling method according to any one of the embodiments.
By way of example, and not limitation, such readable storage media can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable storage medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable storage medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
An embodiment of the present disclosure further provides an electronic device, as shown in fig. 6, the electronic device includes a processor 601 and a memory 602, and the memory 602 is used for storing a computer program. Wherein the processor 601 is configured to perform the steps of the pull stream method in any of the above embodiments via execution of the computer program.
The various aspects, implementations, or features of the described embodiments can be used alone or in any combination. Aspects of the described embodiments may be implemented by software, hardware, or a combination of software and hardware. The described embodiments may also be embodied by a computer-readable medium having computer-readable code stored thereon, the computer-readable code comprising instructions executable by at least one computing device. The computer readable medium can be associated with any data storage device that can store data which can be read by a computer system. Exemplary computer readable media can include read-only memory, random-access memory, CD-ROMs, HDDs, DVDs, magnetic tape, and optical data storage devices, among others. The computer readable medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
The above description of the technology may refer to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration embodiments in which the described embodiments may be practiced. These embodiments, while described in sufficient detail to enable those skilled in the art to practice them, are non-limiting; other embodiments may be utilized and changes may be made without departing from the scope of the described embodiments. For example, the order of operations described in a flowchart is non-limiting, and thus the order of two or more operations illustrated in and described in accordance with the flowchart may be altered in accordance with several embodiments. As another example, in several embodiments, one or more operations illustrated in and described with respect to the flowcharts are optional or may be eliminated. Additionally, certain steps or functions may be added to the disclosed embodiments, or two or more steps may be permuted in order. All such variations are considered to be included in the disclosed embodiments and in the claims.
It is noted that, in this document, relational terms such as "first" and "second," and the like, may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising a," "8230," "8230," or "comprising" does not exclude the presence of additional like elements in a process, method, article, or apparatus that comprises the element.
The foregoing are merely exemplary embodiments of the present disclosure, which enable those skilled in the art to understand or practice the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A stream pulling method is applied to a stream pulling node of a video live broadcast system, and comprises the following steps:
acquiring video playing positions and data transmission quality parameters of other nodes connected with the stream pulling node;
selecting at least one target node which meets a preset pull stream condition from the other nodes based on the video playing position and the data transmission quality parameter of each of the other nodes, wherein the preset pull stream condition comprises that the data transmission quality parameter of the node is greater than a preset transmission quality parameter threshold value, and the video playing position of the node leads the video playing position of the pull stream node;
and acquiring slice data required by the pull flow node from the at least one target node.
2. The pull flow method according to claim 1, wherein the data transmission quality parameter at least comprises a data transmission speed and/or a data transmission ratio; the data transmission ratio represents the ratio of the data transmission amount of one node to the total data transmission amount of the other nodes in a historical preset time.
3. The method of claim 1, further comprising:
acquiring communication quality parameters of a target node connected with the stream pulling node;
and when the communication quality parameters meet the preset communication quality parameter conditions, sending a cancellation request to the target node, wherein the cancellation request indicates that the target node does not carry out stream pushing and returns the sliced data any more.
4. The pull flow method of claim 3, wherein the communication quality parameters include at least one or more of communication link state parameters, and duration of time for which no sliced data is returned by the target node.
5. The pull flow method according to claim 3 or 4, wherein after sending the cancel request to the target node, the method further comprises:
and forwarding the pull flow request which is sent to the target node by the pull flow node to other target nodes, wherein the pull flow request is used for requesting to acquire the slice data required by the pull flow node from the target node.
6. The method of pulling flow according to any one of claims 1 to 4, further comprising:
acquiring the service type of the live video at the current moment of the video live broadcasting system;
configuring the preset transmission quality parameter threshold value based on the service type; wherein, different service types correspond to different preset transmission quality parameter thresholds.
7. The method of pulling flow according to any one of claims 1 to 4, further comprising:
when a refusing request sent by the target node is received, no pulling request is sent to the target node; the rejection request is generated by the target node when the load of the target node is greater than a preset load threshold, and the preset load threshold is related to at least one of the number of pull stream nodes supported by the target node and the type of service of the live video.
8. A stream pulling device is characterized in that the stream pulling device is applied to a stream pulling node of a video live broadcast system, and the device comprises:
the parameter acquisition module is used for acquiring video playing positions and data transmission quality parameters of other nodes connected with the stream pulling node;
a node selection module, configured to select, based on a video playing position and a data transmission quality parameter of each of the other nodes, at least one target node that meets a preset pull stream condition from the other nodes, where the preset pull stream condition includes that the data transmission quality parameter of a node is greater than a preset transmission quality parameter threshold, and the video playing position of the node leads the video playing position of the pull stream node;
and the data acquisition module is used for acquiring the slice data required by the pull flow node from the at least one target node.
9. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the method of pulling a stream as set forth in any one of claims 1 to 7.
10. An electronic device, comprising:
a processor; and
a memory for storing a computer program;
wherein the processor is configured to perform the steps of the pull method of any one of claims 1 to 7 via execution of the computer program.
CN202110452531.4A 2021-04-26 2021-04-26 Stream pulling method, stream pulling device, storage medium and electronic equipment Pending CN115250358A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110452531.4A CN115250358A (en) 2021-04-26 2021-04-26 Stream pulling method, stream pulling device, storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110452531.4A CN115250358A (en) 2021-04-26 2021-04-26 Stream pulling method, stream pulling device, storage medium and electronic equipment

Publications (1)

Publication Number Publication Date
CN115250358A true CN115250358A (en) 2022-10-28

Family

ID=83696427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110452531.4A Pending CN115250358A (en) 2021-04-26 2021-04-26 Stream pulling method, stream pulling device, storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN115250358A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101959054A (en) * 2009-07-14 2011-01-26 中国电信股份有限公司 Integrated P2P (Peer-To-Peer) VOD (Video-On-Demand) system and partner node selecting method
CN107241398A (en) * 2017-05-24 2017-10-10 中广热点云科技有限公司 A kind of method for downloading video based on content distributing network
CN109525869A (en) * 2018-11-14 2019-03-26 广州虎牙信息科技有限公司 Draw the method, apparatus and live broadcast system of stream
CN110636339A (en) * 2019-09-30 2019-12-31 北京字节跳动网络技术有限公司 Scheduling method and device based on code rate and electronic equipment
CN112087644A (en) * 2020-09-21 2020-12-15 北京金山云网络技术有限公司 Pull stream request processing method, device, system, electronic equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101959054A (en) * 2009-07-14 2011-01-26 中国电信股份有限公司 Integrated P2P (Peer-To-Peer) VOD (Video-On-Demand) system and partner node selecting method
CN107241398A (en) * 2017-05-24 2017-10-10 中广热点云科技有限公司 A kind of method for downloading video based on content distributing network
CN109525869A (en) * 2018-11-14 2019-03-26 广州虎牙信息科技有限公司 Draw the method, apparatus and live broadcast system of stream
CN110636339A (en) * 2019-09-30 2019-12-31 北京字节跳动网络技术有限公司 Scheduling method and device based on code rate and electronic equipment
CN112087644A (en) * 2020-09-21 2020-12-15 北京金山云网络技术有限公司 Pull stream request processing method, device, system, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
EP3595268B1 (en) Streaming media resource distribution method, system, edge node and central dispatching system
CN101540775B (en) Method and device for distributing contents and network system for distributing contents
CN102281190B (en) Networking method for load balancing apparatus, server and client access method
US7673318B2 (en) Channel merging method for VOD system
US20150317583A1 (en) Business Scheduling Method and Apparatus and Convergence Device
US20120226797A1 (en) Active Load Distribution for Control Plane Traffic Using a Messaging and Presence Protocol
US8812718B2 (en) System and method of streaming data over a distributed infrastructure
US20100174806A1 (en) Data Processing Method, Apparatus And System
CN103201984B (en) For the system and method for the dynamic-configuration of the overlay network based on ISN memory
JP4944211B2 (en) Method and apparatus for providing network resources to a content provider
KR102233894B1 (en) Network function and method for processing request using the same
JP6993399B2 (en) Methods and equipment for bandwidth distribution in networks
CN109729397A (en) A kind of plug-flow method, system and server
US9553790B2 (en) Terminal apparatus and method of controlling terminal apparatus
EP2163071A2 (en) Method for automatically determining a group of pairs located close to another pair in a communication network and associated server, analysis device and communication device
CN114338769A (en) Access request processing method and device
CN113382065A (en) File downloading method, device, system, equipment and storage medium
US20110191418A1 (en) Method for downloading segments of a video file in a peer-to-peer network
US9596309B2 (en) Method and apparatus for parameterized promotion and delivery of data
CN115250358A (en) Stream pulling method, stream pulling device, storage medium and electronic equipment
CN112925946B (en) Service data storage method and device and electronic equipment
SG178407A1 (en) Method and apparatus for constructing seed group in peer-to-peer application and method for using seed group
EP2790362B1 (en) Network load control method and registration server
WO2017071524A1 (en) Multimedia resource publishing method and apparatus
US11849163B2 (en) Redundant video stream generation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination