CN115842810A - Live sub-stream sharing method and device - Google Patents

Live sub-stream sharing method and device Download PDF

Info

Publication number
CN115842810A
CN115842810A CN202110949077.3A CN202110949077A CN115842810A CN 115842810 A CN115842810 A CN 115842810A CN 202110949077 A CN202110949077 A CN 202110949077A CN 115842810 A CN115842810 A CN 115842810A
Authority
CN
China
Prior art keywords
sub
user
users
stream
target
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
CN202110949077.3A
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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN202110949077.3A priority Critical patent/CN115842810A/en
Publication of CN115842810A publication Critical patent/CN115842810A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses a method and a device for sharing a live sub-stream, wherein the method comprises the following steps: when a new user is monitored, acquiring a target sub-stream with the least number of users from the N sub-streams; allocating the new user to the target sub-stream to enable the new user to acquire the target sub-stream so as to obtain corresponding video data; determining a target user from each sub-stream except the target sub-stream, wherein the number of the target users is N-1; and recommending the N-1 target users to the new user so that the new user can obtain the sub-streams corresponding to the N-1 target users. The sharing process of the invention abandons the traditional central grouping mode, and the formed sharing model adopts the publishing and subscribing technology, so that a loose and dynamic sharing network can be constructed among users, the strong coupling relation among the users is avoided by adopting the central grouping mode, and the sharing stability and the whole sharing rate are improved.

Description

Live sub-stream sharing method and device
Technical Field
The invention relates to the technical field of network live broadcasting, in particular to a live sub-stream sharing method and device.
Background
A common technical scheme of live P2P (Peer-to-Peer) is to cut a video stream into small files according to a certain rule, and users playing the same live video acquire different small slice files from a CDN (Content Delivery Network), and then share the small slice files with each other, if there is any intercommunication, so as to achieve the purpose of P2P sharing. Broadcast users in regions close to operators are dispatched to the same user management service, which is called Tracker service. The Tracker service is responsible for the connection pairing among users to form a mutual sharing relationship. The way of dividing viewing users into a sharing unit is currently a central grouping mode. In the central grouping mode, a Tracker service divides users on the central grouping mode into a plurality of groups according to the fixed maximum number of people; when a new user joins in, searching a group with the largest number of people but not the number of people from the currently existing groups, and classifying the new user into the group; if all the groups are full, a group is newly created, and the new user is classified into the newly created group. Members classified into the same group are punched to establish sharing channels, and the punching may fail, so that an incomplete pairwise connectivity graph is formed among N members. The Tracker polls to distribute the current latest slice downloading task to different members, and after the members download the slices, the slices are shared by other members. In the current central grouping mode, an incomplete pairwise connectivity graph is formed after the hole punching fails, so that the sharing rate of users is reduced; when a user exits, new group members cannot be supplemented in time, and the number of people is insufficient and the sharing rate is reduced.
In summary, the current central grouping mode has the disadvantages of poor stability and low sharing rate.
Disclosure of Invention
In view of the above problems, the present invention provides a method and an apparatus for sharing a live sub-stream, which avoid forming a strong coupling relationship between users by using a central grouping mode, and improve sharing stability and overall sharing rate.
In a first aspect, the present application provides the following technical solutions through an embodiment:
a method of live sub-stream sharing, comprising:
when a new user is monitored, acquiring a target sub-stream with the least number of users from the N sub-streams; allocating the new user to the target sub-stream, so that the new user can acquire the target sub-stream; determining a target user from each sub-stream except the target sub-stream, wherein the number of the target users is N-1; recommending the N-1 target users to the new user so that the new user can obtain the sub-streams corresponding to the N-1 target users.
Optionally, determining a target user from each of the sub-streams other than the target sub-stream includes:
aiming at any sub-flow except the target sub-flow, acquiring online time length data and connection data of each user corresponding to the sub-flow; determining the sharing capacity value of each user based on the online duration data and the connection data; and determining the user with the maximum sharing capacity value as the target user of the sub-stream.
Optionally, when a new user is monitored, before acquiring a target sub-stream with the minimum number of users from the N sub-streams, the method further includes:
acquiring a user corresponding to each sub-stream in the N sub-streams; grouping users corresponding to the sub-streams aiming at any sub-stream in the N sub-streams to obtain seed users and non-seed users; the seed user acquires the sub-flow from the CDN node; recommending the seed user to the non-seed user so that the non-seed user acquires the sub-stream from the seed user.
Optionally, the ratio range of the seed user and the non-seed user is
Figure BDA0003217757980000021
Optionally, the grouping, for any sub-stream of the N sub-streams, users corresponding to the sub-streams to obtain seed users and non-seed users includes:
aiming at any sub-flow in the N sub-flows, acquiring online duration data and connection data of each user corresponding to the sub-flow; determining the sharing capacity value of each user based on the online duration data and the connection data; and grouping users corresponding to the sub-streams based on the sharing capacity value to obtain seed users and non-seed users.
Optionally, the allocating the new user to the target sub-stream includes:
and allocating the new user to the target sub-stream, and determining that the new user is a non-seed user.
Optionally, the value of N is 4 to 10.
In a second aspect, based on the same inventive concept, the present application provides the following technical solutions through an embodiment:
a live sub-stream sharing apparatus, comprising:
the acquisition module is used for acquiring a target sub-stream with the least number of users from the N sub-streams when a new user is monitored; the allocation module is used for allocating the new user to the target sub-stream so that the new user can acquire the target sub-stream; the determining module is used for determining a target user from each substream except the target substream, and the number of the target users is N-1; and the recommending module is used for recommending the N-1 target users to the new user so that the new user can acquire the sub-streams corresponding to the N-1 target users.
In a third aspect, based on the same inventive concept, the present application provides the following technical solutions through an embodiment:
a server comprising a processor and a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the server to perform the steps of the method of any of the first aspects above.
In a fourth aspect, based on the same inventive concept, the present application provides the following technical solutions through an embodiment:
a computer-readable storage medium, having stored thereon a computer program which, when being executed by a processor, carries out the steps of the method of any of the first aspects.
The embodiment of the invention provides a live streaming sharing method and a live streaming sharing device, wherein when a new user is monitored, a target streaming with the least number of users is obtained from N streaming; then, distributing the new user to the target sub-stream to enable the new user to obtain the target sub-stream, thereby obtaining corresponding video data; then, determining a target user from each substream except the target substream, wherein the number of the target users is N-1; and finally, recommending the N-1 target users to the new user so that the new user can acquire the sub-streams corresponding to the N-1 target users. The sharing process of the invention abandons the traditional central grouping mode, the formed sharing model adopts the publishing and subscribing technology, a loose and dynamic sharing network can be constructed among users, the strong coupling relation among the users is avoided by adopting the central grouping mode, and the sharing stability and the whole sharing rate are improved.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on the drawings without creative efforts. In the drawings:
fig. 1 is a flowchart illustrating a method for sharing a live sub-stream according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating another live sub-stream sharing method according to an embodiment of the present invention;
fig. 3 shows a schematic structural diagram of a live sub-stream sharing device.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The live sub-stream sharing method and device can be applied to the field of live broadcasting. In particular, the method can be applied to a live broadcast server and a Tracker server. When the method is applied to the Tracker server, the Tracker server can poll the current online users and monitor the current user change condition in real time. E.g., new user comes online, watching user goes offline, etc. When the state of the user changes, the Tracker server allocates the user to ensure that the video substreams are completely shared among the users. The method and the apparatus for live sub-stream sharing according to the present invention are described in detail with reference to the following embodiments.
Referring to fig. 1, in an embodiment of the present invention, a method for sharing a live sub-stream is provided, including:
step S10: and when a new user is monitored, acquiring a target sub-flow with the least number of users from the N sub-flows.
In step 10, the sub-streams are video sub-streams. In practical application, different paths of sub-streams can be set according to requirements, for example, N in this embodiment can set 4 to 10 paths of sub-streams, and when the number of sub-streams is less than 4, the problem of serious reduction of the sharing rate occurs; when the number of sub-streams is greater than 10, although a higher sharing rate can be guaranteed, sharing integrity problems are likely to occur. Therefore, in this embodiment, 4 to 10 sub-streams are preferred. Further, N in this embodiment may be 6, that is, 6 sub-streams, which may ensure higher sharing efficiency and avoid the problem of sharing integrity when users are too few. Initially, the number of users corresponding to each sub-stream is 0. Distributing users to each path of sub-flow, wherein the users corresponding to each path of sub-flow can download and share the path of sub-flow to the users corresponding to other paths of sub-flows; that is, users of other sub-flows can obtain the current sub-flow by subscribing to the user of the current sub-flow.
For example, after a live video is generated into a video slice by the CDN node, a user or a part of users corresponding to each of the 6 sub-streams may download their corresponding sub-streams from the CDN node. If the serial numbers of the video slices are 1, 2, 3, 4, 5, 6 and 7 \8230; the first of the 6 sub-streams can continuously download the video slices numbered 1, 7, 13, 19 \8230, and so on. That is, the number of the sub-streams of the video slice number S is equal to the number of the sub-streams of the video slice number (S% N = = m), and the sub-streams are shared with the subscribing users, so that network transmission is facilitated, and the packet loss rate during transmission is reduced; where S is the slice number and m is the substream number. Therefore, users in the 6 sub-streams subscribe to each other to complete the complete sharing of the live video.
In this embodiment, when it is monitored that a new user is online, there may be a plurality of sub-streams with the least number of users in the N sub-streams. Therefore, it is necessary to determine a target sub-stream from the plurality of sub-streams of the same number of users, and the method can be implemented based on the following steps: firstly, aiming at the sub-streams with the same number of users, acquiring the average online time of the user of each sub-stream and the average number of times of connection; then, obtaining an evaluation value based on the average online time and the average pause times; the evaluation value can be obtained by
Figure BDA0003217757980000051
Obtaining, wherein c is an evaluation value, a is average online time length, and b is average stuck times; finally, the substream with the smallest evaluation value among the substreams of the same number of users can be used as the target substream.
Step S20: and allocating the new user to the target sub-flow so that the new user can acquire the target sub-flow.
In step S20, adding 1 to the number of users of the target substream by supplementing the new user to the minimum substream of the user; otherwise, if a user in a sub-stream goes offline, the number of users in the sub-stream is decreased by one. The sub-stream with the least number of users can be ensured to have higher sharing rate, and the sub-stream can be ensured to be normally shared.
If more than two substreams with the same user number are present, the new user can be assigned to the target substream with the smallest evaluation value among the substreams with the same user number. The user quality corresponding to one path of sub-stream can be accurately reflected through the average online time corresponding to each failure of connection, so that accurate user allocation response is made. The minimum evaluation value of a certain sub-stream indicates that the stability of the existing user in the sub-stream is poor, and when a new user is allocated to other sub-streams, the failure probability of the new user for acquiring the sub-stream is high, which is not beneficial to subscribing the sub-stream; if the new user is allocated to the sub-flow, the new user may download the sub-flow from the CDN node, or subscribe to a user with a higher quality corresponding to the sub-flow. The method for determining the target sub-stream not only ensures that the new user can acquire the target sub-stream, but also increases the sharing nodes corresponding to the target sub-stream, and improves the sharing rate of the target sub-stream.
Step S30: and determining a target user from each sub-flow except the target sub-flow, wherein the number of the target users is N-1.
In step S30, the target user corresponding to each sub-stream is the user with the best quality. In this embodiment, the process of acquiring the target user may refer to the following:
step S31: and acquiring online time length data and connection data of each user corresponding to the sub-streams aiming at any sub-stream except the target sub-stream.
In step S31, the online duration data of the user may be the total time from when the user is online and watches the current live video to the current time, or the average online duration after each online time of the user; the connection data may include the number of caltons the user has connected, bandwidth data, processor performance, disk performance, etc.
Step S32: and determining the sharing capacity value of each user based on the online duration data and the connection data.
In step S32, the online duration data and the connection data may be weighted and summed to obtain a sharing capability value; the larger the duration data is, the more stable the state of the user watching the current live video is. The less the number of calton times in the connection data, the larger the bandwidth data, the better the processor performance, the better the disk performance, which indicates that the user can accept the larger load. For comparison, the time length data and the connection data can be normalized and then weighted and summed to obtain the sharing capability value. For example, the duration data can be given a weight of 0.5-0.7, the connection data can be given a weight of 0.3-0.5, and the sum of the weight of the duration data and the weight of the connection data is 1, so that the online stability of the user can be ensured, and the calculation burden of rescheduling of the server can be reduced. The Normalization process can be performed by conventional methods, such as Min-Max Normalization (Min-Max Normalization), Z-score Normalization, etc. In a possible implementation manner, when the live broadcast resolution is larger, a larger weight may be assigned to the connection data, and a smaller weight may be assigned to the duration data, so as to ensure the stability of the live video broadcast. Conversely, when the live broadcast resolution is lower, the connection data can be assigned with smaller weight, and the duration data can be assigned with larger weight, so that the scheduling calculation burden of the server is reduced.
Step S33: and determining the user with the maximum sharing capacity value as the target user of the sub-stream.
In step S33, the user with the largest sharing capability value is the most stable user corresponding to the current sub-stream. And the corresponding target users can be respectively determined in the N-1 sub-streams except the target sub-stream, and the N-1 target users are recommended to the new user for subscription, so that the stability of sub-stream sharing can be ensured, and higher sharing rate can be ensured. Further, in order to ensure the stability of sharing, a subscription upper limit may be set for each user. If the subscribed number of the target users in a certain sub-stream reaches the subscription upper limit; the users reaching the subscription upper limit can be excluded when the sharing ability value is obtained, so that the phenomenon that the sharing stability is reduced due to the fact that a certain user is subscribed in too large quantity is avoided.
Step S40: recommending the N-1 target users to the new user so that the new user can obtain the sub-streams corresponding to the N-1 target users.
In step S40, for the new user, the corresponding sub-streams can be obtained from the other N-1 sub-streams almost simultaneously, so as to obtain the current complete live video data. Similarly, for any user in each sub-stream, the corresponding sub-stream can be obtained from the other N-1 sub-streams almost simultaneously, so as to obtain the current complete live video data. Because the sharing rate is: 100% -k, wherein k is the ratio of the video data volume downloaded from the CDN node to the complete video data volume; therefore, the theoretical value of the sharing rate can reach (N-1)/N for the new user.
In the embodiment, a traditional central grouping mode is abandoned, a formed sharing model is adopted, a loose and dynamic sharing network can be constructed among users by adopting a publish-subscribe technology, a strong coupling relation among the users by adopting the central grouping mode is avoided, and the overall sharing rate is improved.
Referring to fig. 2, another embodiment of the present invention further provides a live sub-stream sharing method, which is different from the foregoing embodiment in that before step S10, users corresponding to sub-streams are further grouped to form a seed user and a non-seed user, so as to establish a sharing network in a targeted manner. The specific steps are as follows, and before the step S10, the method comprises the following steps:
step S101: and acquiring a user corresponding to each substream in the N substreams.
Step S102: grouping users corresponding to the sub-streams aiming at any sub-stream in the N sub-streams to obtain seed users and non-seed users; and the seed user acquires the sub-flow from the CDN node.
In steps S101 to S102, the seed user should be a good user to ensure stable sharing.
Specifically, the seed user may be determined as follows:
for any sub-stream in the N sub-streams, online duration data and connection data of each user corresponding to the sub-stream may be acquired. Then, determining the sharing capacity value of each user based on the online duration data and the connection data; and finally, grouping the users corresponding to the sub-streams based on the sharing capacity value to obtain seed users and non-seed users. The online duration data, the connection data, and the sharing capability value have been described in the foregoing embodiments, and are not described herein again. The larger the sharing ability value is, the more stable the user is. Therefore, in this embodiment, for a sub-stream, a part of users with larger sharing capability values among all users corresponding to the sub-stream can be selected; the ratio of seed users to non-seed users ranges from
Figure BDA0003217757980000081
The ratio range can ensure the sharing reliability among users in the sub-streams and avoid the overload of seed users. If the number of seed users is too many, the high-quality users cannot be well screened out, and the subscription stability of other sub-stream users is reduced; if the number of seed users is too small, the burden of each seed user may be too heavy, and the sharing stability of the seed users is reduced. For example, a ratio of a seed user to a non-seed user may be determined to be ≧>
Figure BDA0003217757980000082
The number of users who directly download the data slices from the CDN node can be effectively controlled, and the bandwidth and performance requirements of the CDN node are reduced.
Step S103: recommending the seed user to the non-seed user so that the non-seed user acquires the sub-stream from the seed user.
In step S103, when recommending a seed user to a non-seed user, a number threshold for each seed user to be subscribed to may be preset; recommending the seed users to the non-seed users from big to small according to the sharing ability value, ending recommendation of the users with the maximum sharing ability value after the subscribed number of the users reaches a number threshold value, and removing the users with the maximum sharing ability value. Then, continuing to recommend the user with the largest sharing ability value in the remaining seed users to the remaining non-seed users; and so on until all non-seed users subscribe to the seed user. In one path of sub-streams, the sub-stream to which the non-seed user belongs comes from the share of the seed user, so that all video data of the non-seed user comes from the share of other users, and the share rate of the non-seed user can reach 100%; therefore, based on the definition of the sharing rate, it can be determined that the theoretical sharing rate of the sharing model based on the seed users and the non-seed users is 1- (1/N × 1/M), N is generally 6, M is the non-seed users, and the ratio of the seed users to the non-seed users is generally 2, so that the sharing rate is improved by more than 2 times compared with the effect of simply increasing the number of the sub-streams.
Can be used based on seedsThe ratio of users to non-seed users determines a threshold number of each seed user. In particular, the quantifiable threshold may be determined as
Figure BDA0003217757980000091
p is a non-seed user, q is a seed user; the number threshold may ensure that each non-seed user can subscribe to a seed user and that each seed user can share.
At this time, if the new user is online, the new user may be allocated to the target sub-stream, and the new user is determined to be a non-seed user, and the seed user with the subscribed number not reaching the number threshold is promoted to the new user. However, when there are users on line, the number of seed users sharing will reach the upper limit; at this time, the seed users of the target sub-stream can be newly added as follows:
firstly, the sharing capability value of the non-seed user corresponding to the target sub-flow is obtained. Then, the user with the largest sharing capability value in the non-seed users is determined as the seed user, and the target sub-flow subscribed to the seed user is adjusted to be downloaded from the CDN node. Therefore, the sharing number of the seed users in the target sub-stream is ensured to reach the upper limit, and the seed users can be automatically updated; meanwhile, the proportion between the seed user and the non-seed user is unchanged, the sharing stability is improved, and the formation of an excessively deep sharing tree is also avoided.
In this embodiment, on the basis of the single-layer sub-stream mode, users belonging to the sub-stream in the same path, for example, the target sub-stream, are divided into seed users and non-seed users according to their sharing capabilities. And determining the users with strong sharing ability as seed users, and determining the users with relatively weak sharing ability as non-seed users. The seed user shares the target sub-stream data for the non-seed user, and simultaneously can also share the data for other sub-streams, and the single-layer subscription sharing model is expanded into a two-layer tree type sharing model. Therefore, all sub-stream data of the user corresponding to the target sub-stream originally come from the CDN are converted into a small part of sub-stream data from the CDN, and the large part of sub-stream data comes from the share of the seed user in the target sub-stream, so that the P2P share rate of the live video is greatly improved.
In summary, in the live sub-stream sharing method provided in the embodiment of the present invention, when a new user is monitored, a target sub-stream with the least number of users is obtained from N sub-streams; then, distributing the new user to the target sub-stream to enable the new user to obtain the target sub-stream, thereby obtaining corresponding video data; then, determining a target user from each sub-stream except the target sub-stream, wherein the number of the target users is N-1; and finally, recommending the N-1 target users to the new user so that the new user can acquire the sub-streams corresponding to the N-1 target users. The sharing process of the invention abandons the traditional central grouping mode, the formed sharing model adopts the publishing and subscribing technology, a loose and dynamic sharing network can be constructed among users, the strong coupling relation among the users is avoided by adopting the central grouping mode, and the sharing stability and the whole sharing rate are improved.
Referring to fig. 3, based on the same inventive concept, another embodiment of the present invention further provides a live sub-stream sharing apparatus 300. The live sub-stream sharing apparatus 300 includes:
an obtaining module 301, configured to obtain a target sub-stream with a minimum number of users from the N sub-streams when a new user is monitored; an allocating module 302, configured to allocate the new user to the target sub-stream, so that the new user acquires the target sub-stream; a determining module 303, configured to determine a target user from each sub-stream other than the target sub-stream, where N-1 target users are total; a recommending module 304, configured to recommend the N-1 target users to the new user, so that the new user obtains the sub-streams corresponding to the N-1 target users.
As an optional implementation manner, the determining module 303 is specifically configured to:
aiming at any sub-flow except the target sub-flow, acquiring online time length data and connection data of each user corresponding to the sub-flow; determining the sharing capacity value of each user based on the online duration data and the connection data; and determining the user with the maximum sharing capacity value as a target user of the sub-flow.
As an optional implementation manner, the method further includes, before the acquiring, when a new user is monitored, a target sub-stream with a minimum number of users from the N sub-streams:
acquiring a user corresponding to each sub-stream in the N sub-streams; grouping users corresponding to the sub-streams aiming at any sub-stream in the N sub-streams to obtain seed users and non-seed users; the seed user acquires the sub-flow from the CDN node; recommending the seed user to the non-seed user so that the non-seed user acquires the sub-stream from the seed user.
As an optional implementation, the ratio of the seed user to the non-seed user ranges from
Figure BDA0003217757980000111
As an optional implementation manner, the configuration module is further specifically configured to:
aiming at any sub-flow in the N sub-flows, acquiring online duration data and connection data of each user corresponding to the sub-flow; determining the sharing capacity value of each user based on the online duration data and the connection data; and grouping users corresponding to the sub-streams based on the sharing capacity value to obtain seed users and non-seed users.
As an optional implementation manner, the allocating module 302 is specifically configured to:
and allocating the new user to the target sub-stream, and determining that the new user is a non-seed user.
As an optional implementation manner, the value of N is 4 to 10.
It should be noted that, the implementation and technical effects of the live sub-stream sharing device 300 provided in the embodiment of the present invention are the same as those of the foregoing method embodiment, and for a brief description, reference may be made to corresponding contents in the foregoing method embodiment for the part of the embodiment of the device that is not mentioned.
Based on the same inventive concept, yet another embodiment of the present invention further provides a server comprising a processor and a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the server to perform the steps of the method of any of the preceding method embodiments.
It should be noted that, in the server provided in the embodiment of the present invention, when the instructions are executed by the processor, the specific implementation and the resulting technical effect of each step are the same as those of the foregoing method embodiment, and for a brief description, reference may be made to corresponding contents in the foregoing method embodiment for what is not mentioned in the present embodiment.
Based on the same inventive concept, yet another embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, implements the steps of the method of any one of the preceding method embodiments.
It should be noted that, in the computer-readable storage medium provided by the embodiment of the present invention, when the program is executed by the processor, the specific implementation and the resulting technical effect of each step are the same as those of the foregoing method embodiment, and for a brief description, reference may be made to corresponding contents in the foregoing method embodiment for what is not mentioned in the present embodiment.
The term "and/or" appearing herein is merely one type of association that describes an associated object, meaning that three relationships may exist, e.g., a and/or B, may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship; the word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means can be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (10)

1. A method for sharing a live sub-stream, comprising:
when a new user is monitored, acquiring a target sub-stream with the least number of users from the N sub-streams;
allocating the new user to the target sub-stream, so that the new user can acquire the target sub-stream;
determining a target user from each sub-stream except the target sub-stream, wherein the number of the target users is N-1;
recommending the N-1 target users to the new user so that the new user can obtain the sub-streams corresponding to the N-1 target users.
2. The method of claim 1, wherein determining a target user from each of the sub-streams other than the target sub-stream comprises:
aiming at any sub-flow except the target sub-flow, acquiring online time length data and connection data of each user corresponding to the sub-flow;
determining the sharing capacity value of each user based on the online duration data and the connection data;
and determining the user with the maximum sharing capacity value as a target user of the sub-flow.
3. The method according to claim 1, wherein before the obtaining the target sub-stream with the least number of users from the N sub-streams when a new user is monitored, the method further comprises:
acquiring a user corresponding to each sub-stream in the N sub-streams;
grouping users corresponding to the sub-streams aiming at any sub-stream in the N sub-streams to obtain seed users and non-seed users; the seed user acquires the sub-flow from the CDN node;
recommending the seed user to the non-seed user so that the non-seed user acquires the sub-stream from the seed user.
4. The method of claim 3, wherein the ratio of the seed user to the non-seed user ranges from
Figure FDA0003217757970000011
5. The method according to claim 3, wherein the grouping users corresponding to the sub-streams into groups for any sub-stream of the N sub-streams to obtain seed users and non-seed users comprises:
aiming at any sub-flow in the N sub-flows, acquiring online duration data and connection data of each user corresponding to the sub-flow;
determining the sharing capacity value of each user based on the online duration data and the connection data;
and grouping users corresponding to the sub-streams based on the sharing capacity value to obtain seed users and non-seed users.
6. The method of claim 3, wherein said assigning the new user to the target sub-stream comprises:
and allocating the new user to the target sub-stream, and determining that the new user is a non-seed user.
7. The method of any one of claims 1-6, wherein N is from 4 to 10.
8. A live sub-stream sharing apparatus, comprising:
the acquisition module is used for acquiring a target sub-flow with the least number of users from the N sub-flows when a new user is monitored;
the allocation module is used for allocating the new user to the target sub-stream so that the new user can acquire the target sub-stream;
the determining module is used for determining a target user from each substream except the target substream, and the number of the target users is N-1;
and the recommending module is used for recommending the N-1 target users to the new user so that the new user can obtain the sub-streams corresponding to the N-1 target users.
9. A server comprising a processor and a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the server to perform the steps of the method of any of claims 1-7.
10. 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 according to any one of claims 1 to 7.
CN202110949077.3A 2021-08-18 2021-08-18 Live sub-stream sharing method and device Pending CN115842810A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110949077.3A CN115842810A (en) 2021-08-18 2021-08-18 Live sub-stream sharing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110949077.3A CN115842810A (en) 2021-08-18 2021-08-18 Live sub-stream sharing method and device

Publications (1)

Publication Number Publication Date
CN115842810A true CN115842810A (en) 2023-03-24

Family

ID=85574071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110949077.3A Pending CN115842810A (en) 2021-08-18 2021-08-18 Live sub-stream sharing method and device

Country Status (1)

Country Link
CN (1) CN115842810A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143672A1 (en) * 2003-01-07 2004-07-22 Microsoft Corporation System and method for distributing streaming content through cooperative networking
WO2013072283A1 (en) * 2011-11-18 2013-05-23 Peerialism AB Method and device for peer arrangement in single substream upload p2p overlay networks
CN103188279A (en) * 2011-12-27 2013-07-03 中国电信股份有限公司 Method and device for downloading file from neighbor nodes through peer-to-peer network
CN107277134A (en) * 2017-06-19 2017-10-20 网宿科技股份有限公司 A kind of data transmission method and system based on peer-to-peer network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143672A1 (en) * 2003-01-07 2004-07-22 Microsoft Corporation System and method for distributing streaming content through cooperative networking
WO2013072283A1 (en) * 2011-11-18 2013-05-23 Peerialism AB Method and device for peer arrangement in single substream upload p2p overlay networks
CN103188279A (en) * 2011-12-27 2013-07-03 中国电信股份有限公司 Method and device for downloading file from neighbor nodes through peer-to-peer network
CN107277134A (en) * 2017-06-19 2017-10-20 网宿科技股份有限公司 A kind of data transmission method and system based on peer-to-peer network

Similar Documents

Publication Publication Date Title
CN104394441B (en) A kind of dispatching method, the apparatus and system of video content distribution
EP3439239B1 (en) Data transmission method and system based on peer-to-peer network
CN108521856A (en) Dispatching method in content distributing network and equipment
CN110460879B (en) Video request scheduling method, device, server and storage medium
CN108156257B (en) Information pushing method and device
CN104735044A (en) Streaming media live broadcast method and system
US9591070B2 (en) Multiple requests for content download in a live streaming P2P network
CN115421930B (en) Task processing method, system, device, equipment and computer readable storage medium
CN109951723B (en) Method, device and storage medium for adjusting root node in peer-to-peer network live broadcast system
CN110035128B (en) Live broadcast scheduling method and device, live broadcast system and storage medium
EP2359612B1 (en) Method and apparatus for enabling services and media in a communication network
CN115842810A (en) Live sub-stream sharing method and device
US9680926B2 (en) Nearest peer download request policy in a live streaming P2P network
CN103179191B (en) P2P network control device and P2P network managing and control system
CN109413117A (en) Distributed data calculation method, device, server and computer storage medium
CN116668364A (en) Route planning method and device for real-time audio and video network
Rocha et al. On client interactive behaviour to design peer selection policies for BitTorrent-like protocols
Izhak-Ratzin et al. Online learning in BitTorrent systems
EP2936778B1 (en) Nearest peer download request policy in a live streaming p2p network
RU2465638C1 (en) Method of distributing multimedia information by peer-to-peer decentralised network deployment and decentralised network for realising said method
US9544366B2 (en) Highest bandwidth download request policy in a live streaming P2P network
CA2896198C (en) Highest bandwidth download request policy in a live streaming p2p network
CN108093273B (en) Data sorting method, device and system
Alsaleem et al. Mathematical models of peer to peer networks for stream IPTV transmission
CN112954074B (en) Block chain network connection method and device

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