A live sub-stream sharing method and device

By selecting the target subflow with the smallest number of users from N subflows in the live P2P network to allocate new users and recommending target users of other subflows, the problem of strong coupling between users in the central grouping mode is solved, and sharing stability and sharing rate are improved.

CN115842810BActive Publication Date: 2025-05-30武汉斗鱼鱼乐网络科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110949077.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-08-18
Publication Date
2025-05-30
Estimated Expiration
2041-08-18

AI Technical Summary

Technical Problem

The existing central packet mode leads to strong coupling relationships between users in the live broadcast P2P network, resulting in poor sharing stability and low sharing rate, especially when users join or exit, they cannot be adjusted in time.

Method used

When monitoring new users, the target subflow with the smallest number of users is obtained from N subflows, the new users are allocated to the subflow, and the N-1 target users are recommended to the new users from other subflows, and a loose and dynamic sharing network is built.

Benefits of technology

It avoids strong coupling relationships between users in the central grouping mode, improves sharing stability and overall sharing rate, and ensures dynamic adjustment capabilities when users join or exit.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115842810B_ABST
    Figure CN115842810B_ABST
Patent Text Reader

Abstract

The present invention discloses a live sub-stream sharing method and device. The method includes: when a new user is detected, obtaining a target sub-stream with the least number of users from N sub-streams; allocating the new user to the target sub-stream so that the new user obtains the target sub-stream and thus obtains corresponding video data; determining a target user from each sub-stream other than the target sub-stream, with a total of N-1 target users; and recommending 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. The above sharing process of the present invention abandons the traditional central grouping mode, and the formed sharing model adopts the publish-subscribe technology, which can construct a loose and dynamic sharing network among users, avoids forming a strong coupling relationship among users by adopting the central grouping mode, and improves the sharing stability and the overall sharing rate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of network live broadcast, and particularly to a method and device for sharing live sub-streams. Background Art

[0002] The common technical solution of live P2P (Peer-to-Peer) is to cut a video stream into small files according to a certain rule. Users who play the same live video obtain different small slice files from the CDN (Content Delivery Network), and then share with each other to achieve the purpose of P2P sharing. Users with similar regions and operators will be scheduled to the same user management service, which is called the Tracker service. The Tracker service is responsible for pairing users to form a mutual sharing relationship. The method of dividing which viewing users into a mutual sharing unit currently often adopts the central grouping mode. In the central grouping mode, the Tracker service divides the users on it into several groups according to a fixed maximum number of people; when a new user joins, it searches for the group with the largest number of people but not full from the existing groups and assigns the new user to this group; if all groups are full, a new group is created and the new user is assigned to the newly created group. Members assigned to the same group will establish a sharing channel by punching holes with each other, and the punching may fail. In this way, among N members, an incomplete pairwise connected graph is formed. The Tracker will poll and assign the current latest slice download task to different group members. After the group members download the slice, they will share the slice with other group members. The current central grouping mode will form an incomplete pairwise connected graph after the punching fails, which will lead to a decrease in the sharing rate of users; when a user exits, new group members cannot be added in time, which will also cause insufficient number of people and a decrease in the sharing rate.

[0003] In summary, the current central grouping mode has the disadvantages of poor stability and low sharing rate. Summary of the Invention

[0004] In view of the above problems, the present invention provides a method and device for sharing live sub-streams, which avoid forming a strong coupling relationship among users by adopting the central grouping mode, and improve the sharing stability and overall sharing rate.

[0005] In a first aspect, the present application provides the following technical solution through an embodiment:

[0006] A method for sharing live sub-streams, comprising:

[0007] When a new user is detected, obtain the target sub - stream with the least number of users from N sub - streams; assign the new user to the target sub - stream so that the new user obtains the target sub - stream; determine one target user from each sub - stream outside the target sub - stream, for a total of N - 1 target users; 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.

[0008] Optionally, determining one target user from each sub - stream outside the target sub - stream includes:

[0009] For any sub - stream outside the target sub - stream, obtain the online duration data and connection data of each user corresponding to the sub - stream; based on the online duration data and the connection data, determine the sharing ability value of each user; determine the user with the maximum sharing ability value as the target user of the sub - stream.

[0010] Optionally, before obtaining the target sub - stream with the least number of users from N sub - streams when a new user is detected, it further includes:

[0011] Obtain the users corresponding to each of the N sub - streams; for any one of the N sub - streams, group the users corresponding to the sub - stream to obtain seed users and non - seed users; where the seed users obtain the sub - stream from the CDN node; recommend the seed users to the non - seed users so that the non - seed users obtain the sub - stream from the seed users.

[0012] Optionally, the ratio range of the seed users to the non - seed users is

[0013] Optionally, for any one of the N sub - streams, grouping the users corresponding to the sub - stream to obtain seed users and non - seed users includes:

[0014] For any one of the N sub - streams, obtain the online duration data and connection data of each user corresponding to the sub - stream; based on the online duration data and the connection data, determine the sharing ability value of each user; group the users corresponding to the sub - stream based on the sharing ability value to obtain seed users and non - seed users.

[0015] Optionally, assigning the new user to the target sub - stream includes:

[0016] Assign the new user to the target sub - stream and determine that the new user is a non - seed user.

[0017] Optionally, the value of N ranges from 4 to 10.

[0018] In a second aspect, based on the same inventive concept, the present application provides the following technical solution through an embodiment:

[0019] A live sub-stream sharing device, comprising:

[0020] An acquisition module, configured to, when a new user is detected, acquire a target sub-stream with the least number of users from N sub-streams; an allocation module, configured to allocate the new user to the target sub-stream, so that the new user acquires the target sub-stream; a determination module, configured to determine a target user from each sub-stream other than the target sub-stream, with a total of N-1 target users; a recommendation module, configured to recommend the N-1 target users to the new user, so that the new user acquires the sub-streams corresponding to the N-1 target users.

[0021] In a third aspect, based on the same inventive concept, the present application provides the following technical solution through an embodiment:

[0022] A server, comprising a processor and a memory, the memory being coupled to the processor, the memory storing instructions that, when executed by the processor, cause the server to perform the steps of the method according to any one of the above first aspects.

[0023] In a fourth aspect, based on the same inventive concept, the present application provides the following technical solution through an embodiment:

[0024] A computer-readable storage medium, having stored thereon a computer program that, when executed by a processor, implements the steps of the method according to any one of the above first aspects.

[0025] An embodiment of the present invention provides a live sub-stream sharing method and device. When a new user is detected, a target sub-stream with the least number of users is acquired from N sub-streams; then, the new user is allocated to the target sub-stream, so that the new user acquires the target sub-stream, thereby obtaining corresponding video data; then, a target user is determined from each sub-stream other than the target sub-stream, with a total of N-1 target users; finally, the N-1 target users are recommended to the new user, so that the new user acquires the sub-streams corresponding to the N-1 target users. The above sharing process of the present invention abandons the traditional central grouping mode, and the formed sharing model adopts the publish-subscribe technology, which can construct a loose and dynamic sharing network among users, avoids forming a strong coupling relationship among users by adopting the central grouping mode, and improves the sharing stability and the overall sharing rate.

[0026] The above description is only an overview of the technical solution of the present invention. In order to be able to understand the technical means of the present invention more clearly, it can be implemented according to the content of the specification. And in order to make the above and other objects, features and advantages of the present invention more obvious and understandable, the following specifically illustrates the specific embodiments of the present invention. Description of the Drawings

[0027] To more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the accompanying drawings required for the description of the embodiments. Obviously, the accompanying drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can be obtained based on these drawings. In the accompanying drawings:

[0028] Figure 1 It shows a flowchart of a live sub-stream sharing method provided by an embodiment of the present invention;

[0029] Figure 2 It shows a flowchart of another live sub-stream sharing method provided by an embodiment of the present invention;

[0030] Figure 3 It shows a structural schematic diagram of a live sub-stream sharing device. Detailed implementation manners

[0031] The following will describe the exemplary embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided so that the present disclosure can be more thoroughly understood and the scope of the present disclosure can be completely conveyed to those skilled in the art.

[0032] A live sub-stream sharing method and device of the present invention can be applied to the live broadcast field. Specifically, it can be applied to a live server and a Tracker server. When applied to the Tracker server, the Tracker server polls the currently online users and monitors the current user changes in real time. For example, a new user logs in, a viewing user logs out, and so on. When the user's status changes, the Tracker server will allocate the users to ensure the complete sharing of video sub-streams among users. The following will elaborate on the live sub-stream sharing method and device of the present invention through detailed embodiments.

[0033] Please refer to Figure 1 , in an embodiment of the present invention, a live sub-stream sharing method is provided, and the method includes:

[0034] Step S10: When a new user is detected, obtain the target sub-stream with the least number of users from N sub-streams.

[0035] In step 10, the sub-stream is a video sub-stream. In practical applications, different numbers of sub-streams can be set according to requirements. For example, in this embodiment, N can be set to 4 to 10 sub-streams. When the number of sub-streams is less than 4, there will be a serious problem of decreasing sharing rate; when the number of sub-streams is greater than 10, although a high sharing rate can be ensured, there is an easy problem of sharing integrity. Therefore, in this embodiment, choosing 4 to 10 sub-streams is a better option. Further, in this embodiment, N can be 6, that is, 6 sub-streams, which can ensure a high sharing efficiency and avoid the problem of sharing integrity when there are too few users. Initially, the number of users corresponding to each sub-stream is 0. Users are allocated to each sub-stream, and the users corresponding to each sub-stream can download and share this sub-stream to the users corresponding to other sub-streams; that is, the users of other sub-streams can subscribe to the users of the current sub-stream to obtain the current sub-stream.

[0036] For example, when the live video is sliced into video segments by the CDN node, the users corresponding to each of the 6 sub-streams or a part of the users can download the corresponding sub-stream from the CDN node. If the video segment numbers are 1, 2, 3, 4, 5, 6, 7... in sequence; then the first sub-stream among the 6 sub-streams can continuously download the video segments with numbers 1, 7, 13, 19... and so on. That is, the video segment number S modulo the number of sub-streams is equal to the segment number of its sub-stream (S % N == m), and this segment is shared with its subscribed users, which is beneficial for network transmission and reduces the packet loss rate during transmission; where S is the segment number and m is the sub-stream number. Thus, the complete sharing of the live video is completed through the mutual subscription of users in the 6 sub-streams.

[0037] In this embodiment, when a new user goes online is detected, there may be multiple sub-streams with the least number of users among the N sub-streams. Therefore, it is necessary to determine a target sub-stream from these multiple sub-streams with the same number of users, which can be implemented based on the following method: First, for these sub-streams with the same number of users, obtain the average online duration and the average number of connection freezes of the users of each sub-stream; then, based on the average online duration and the average number of connection freezes, obtain an evaluation value; this evaluation value can be obtained through where c is the evaluation value, a is the average online duration, and b is the average number of connection freezes; finally, the sub-stream with the smallest evaluation value among the sub-streams with the same number of users can be used as the target sub-stream.

[0038] Step S20: Allocate the new user to the target sub-stream so that the new user can obtain the target sub-stream.

[0039] In step S20, by adding a new user to the sub - flow with the fewest users, the number of users in the target sub - flow of this path is incremented by 1; conversely, if a user in a certain sub - flow goes offline, the number of users in that sub - flow is decremented by 1. This ensures that the sub - flow with the fewest users has a higher sharing rate, guaranteeing that the sub - flow can be shared normally.

[0040] If there are more than two sub - flows with the same number of users, the new user can be assigned to the target sub - flow with the lowest evaluation value among the sub - flows with the same number of users. By connecting the average online duration corresponding to each failure, the user quality corresponding to a sub - flow can be accurately reflected, thus enabling an accurate user assignment response. The lowest evaluation value of a certain sub - flow indicates that the existing users in this sub - flow have poor stability. When a new user is assigned to other sub - flows, the failure probability of this new user obtaining this sub - flow will be relatively high, which is not conducive to subscribing to this sub - flow; if the new user is assigned to this sub - flow, the new user can download this sub - flow from the CDN node or subscribe to the relatively high - quality users corresponding to this sub - flow. The above - mentioned method of determining the target sub - flow not only ensures that the new user can obtain the target sub - flow but also increases the sharing nodes corresponding to the target sub - flow, improving the sharing rate of the target sub - flow.

[0041] Step S30: Determine a target user from each sub - flow outside the target sub - flow, for a total of N - 1 target users.

[0042] In step S30, the target user corresponding to each sub - flow is the user with the best quality. The process of obtaining the target user in this embodiment can be referred to as follows:

[0043] Step S31: For any sub - flow outside the target sub - flow, obtain the online duration data and connection data of each user corresponding to this sub - flow.

[0044] In step S31, the online duration data of the user can be the total time from when the user goes online and watches the current live video to the current moment, or the average online duration after each time the user goes online; the connection data can include the number of freezes, bandwidth data, processor performance, disk performance, etc. after the user connects.

[0045] Step S32: Based on the online duration data and the connection data, determine the sharing ability value of each user.

[0046] In step S32, the online duration data and connection data can be weighted and summed to obtain the sharing ability value. The larger the duration data, the more stable the user's state of watching the current live video. The fewer the number of freezes in the connection data, the larger the bandwidth data, the better the processor performance, and the better the disk performance, indicating that the greater the load the user can accept. For the convenience of comparison, the duration data and connection data can also be normalized and then weighted and summed to obtain the sharing ability value. For example, the duration data can be given a weight of 0.5 - 0.7, and the connection data can be given a weight value of 0.3 - 0.5. The sum of the weight values of the duration data and connection data is 1, which can ensure the online stability of the user and reduce the computational burden of server rescheduling. The normalization method can adopt existing common methods, such as min-max normalization (Min-Max Normalization), Z-score normalization method, etc. In a possible implementation, when the live video resolution is larger, a larger weight can be assigned to the connection data and a smaller weight to the duration data to ensure the stability of the video live stream. Conversely, when the live video resolution is smaller, a smaller weight can be assigned to the connection data and a larger weight to the duration data to reduce the scheduling computational burden of the server.

[0047] Step S33: Determine the user with the largest sharing ability value as the target user of the sub-stream.

[0048] In step S33, the user with the largest sharing ability value is the most stable user corresponding to the current sub-stream. Among the N - 1 sub-streams other than the target sub-stream, the corresponding target users can be determined respectively. Recommending the N - 1 target users to the new user for subscription can ensure the stability of sub-stream sharing and a high sharing rate. Further, to ensure the stability of sharing, a subscription limit can be set for each user. If the number of subscriptions of the target user in a certain sub-stream reaches the subscription limit, then when obtaining the sharing ability value, this user who reaches the subscription limit can be excluded to avoid the situation where a certain user is subscribed too many times, resulting in a decrease in sharing stability.

[0049] Step S40: Recommend 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.

[0050] In step S40, for the new user, 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, 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. Since the sharing rate is: 100% - k, where k is the ratio of the video data volume downloaded from the CDN node to the complete video data volume; therefore, for the new user, the theoretical sharing rate can reach (N - 1) / N.

[0051] In this embodiment, the traditional central grouping mode is abandoned, and the formed sharing model adopts the publish-subscribe technology, which can build a loose and dynamic sharing network among users, avoid forming a strong coupling relationship among users by adopting the central grouping mode, and improve the overall sharing rate.

[0052] Please refer to Figure 2 , in another embodiment of the present invention, a live sub-stream sharing method is further provided. The difference between this method and the above embodiment is that before step S10, the users corresponding to each sub-stream are grouped to form seed users and non-seed users, so as to establish a sharing network targeted. The specific steps are as follows. Before step S10, it includes:

[0053] Step S101: Obtain the users corresponding to each of the N sub-streams.

[0054] Step S102: For any one of the N sub-streams, group the users corresponding to the sub-stream to obtain seed users and non-seed users; among them, the seed users obtain the sub-stream from the CDN node.

[0055] In steps S101 - S102, the seed users should be high-quality users to ensure the stability of sharing.

[0056] Specifically, the determination method of the seed users can be as follows:

[0057] For any one of the N sub-streams, the online duration data and connection data of each user corresponding to the sub-stream can be obtained. Then, based on the online duration data and connection data, the sharing ability value of each user is determined; finally, based on the sharing ability value, the users corresponding to the sub-stream are grouped to obtain seed users and non-seed users. Among them, the online duration data, connection data, and sharing ability value have been described in the above embodiments and will not be elaborated here. The larger the sharing ability value of the user, the more stable. Therefore, in this embodiment, for one sub-stream, a part of the users with larger sharing ability values among all the users corresponding to the sub-stream can be selected; the ratio range of the seed users to the non-seed users is This ratio range can ensure the sharing reliability among users within the sub-stream and avoid overloading the seed users. If there are too many seed users, it is not possible to effectively screen out high-quality users, reducing the subscription stability of other sub-stream users; if there are too few seed users, the burden on each seed user may be too heavy, reducing the sharing stability of the seed users. For example, the ratio of seed users to non-seed users can be determined as It can effectively control the number of users directly downloading data slices from the CDN node, reducing the bandwidth and performance requirements of the CDN node.

[0058] Step S103: Recommend the seed users to the non-seed users so that the non-seed users can obtain the sub-stream from the seed users.

[0059] In step S103, when recommending seed users to non-seed users, a subscription quantity threshold for each seed user can be preset; the seed users are recommended to non-seed users in descending order of sharing ability value. When the subscription quantity of the user with the largest sharing ability value reaches the quantity threshold, the recommendation of this user ends, and this user with the largest sharing ability value is removed. Then, continue to recommend the user with the largest sharing ability value among the remaining seed users to the remaining non-seed users; and so on, until all non-seed users have subscribed to seed users. In a sub-stream, the sub-stream to which the non-seed user belongs comes from the sharing of the seed user, so all video data of this non-seed user comes entirely from the sharing of other users, and the sharing rate of this 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 seed users and non-seed users is 1-(1 / N*1 / M), where N is generally taken as 6, M is the number of non-seed users, and the ratio of non-seed users to seed users is generally taken as 2. Compared with simply increasing the number of sub-streams, the sharing rate is increased by more than 2 times.

[0060] The quantity threshold for each seed user can be determined based on the ratio of seed users to non-seed users. Specifically, the quantity threshold can be determined as p is the non-seed user, q is the seed user; this quantity threshold can ensure that each non-seed user can subscribe to a seed user, and each seed user can achieve sharing.

[0061] At this time, when a new user goes online, the new user can be assigned to the target sub-stream, and it is determined that this new user is a non-seed user, and the seed users whose subscribed quantity has not reached the quantity threshold are recommended to this new user. However, when continuous users go online, the sharing quantity of the existing seed users will reach the upper limit; at this time, the seed users of the target sub-stream can be added in the following manner:

[0062] First, obtain the sharing ability values of non-seed users corresponding to the target sub-stream. Then, determine the user with the maximum sharing ability value among the non-seed users as the seed user, and adjust it from subscribing to the target sub-stream of the seed user to downloading the target sub-stream from the CDN node. This ensures that when the number of seed users sharing in the target sub-stream reaches the upper limit, it can be automatically updated; at the same time, it ensures that the ratio between seed users and non-seed users remains unchanged, improves sharing stability, and also avoids forming an overly deep sharing tree.

[0063] In this embodiment, based on the single-layer sub-stream mode, users belonging to the same path sub-stream, such as the target sub-stream, are divided into seed users and non-seed users according to their sharing abilities. Users with strong sharing abilities are determined as seed users, and users with relatively weak sharing abilities are determined as non-seed users. The seed users share the target sub-stream data for non-seed users and can also share data for other path sub-streams, expanding the single-layer subscription sharing model to a two-layer tree-shaped sharing model. Thus, the sub-stream data of the users corresponding to the target sub-stream is converted from originally all coming from the CDN to a small part coming from the CDN and most coming from the sharing of seed users in the target sub-stream, greatly improving the P2P sharing rate of the live video.

[0064] In summary, in the live sub-stream sharing method provided in the embodiment of the present invention, when a new user is detected, the target sub-stream with the least number of users is obtained from N sub-streams; then, the new user is assigned to the target sub-stream so that the new user can obtain the target sub-stream and thus obtain the corresponding video data; next, a target user is determined from each sub-stream outside the target sub-stream, with a total of N - 1 target users; finally, the N - 1 target users are recommended to the new user so that the new user can obtain the sub-streams corresponding to the N - 1 target users. The above sharing process of the present invention abandons the traditional central grouping mode, and the formed sharing model adopts the publish-subscribe technology, which can build a loose and dynamic sharing network among users, avoiding the formation of a strong coupling relationship among users in the central grouping mode, and improving sharing stability and the overall sharing rate.

[0065] Please refer to FIG. 3. Based on the same inventive concept, another embodiment of the present invention further provides a live sub-stream sharing device 300. The live sub-stream sharing device 300 includes:

[0066] An obtaining module 301, configured to obtain the target sub-stream with the least number of users from N sub-streams when a new user is detected; an assigning module 302, configured to assign the new user to the target sub-stream so that the new user can obtain the target sub-stream; a determining module 303, configured to determine a target user from each sub-stream outside the target sub-stream, with a total of N - 1 target users; a recommending module 304, configured to recommend 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.

[0067] As an alternative implementation, the determining module 303 is specifically configured to:

[0068] For any sub - stream other than the target sub - stream, obtain the online duration data and connection data of each user corresponding to the sub - stream; based on the online duration data and the connection data, determine the sharing ability value of each user; and determine the user with the maximum sharing ability value as the target user of the sub - stream.

[0069] As an alternative implementation, it further includes a configuration module, which is used before obtaining the target sub - stream with the least number of users from N sub - streams when a new user is detected:

[0070] Obtain the users corresponding to each sub - stream among the N sub - streams; for any sub - stream among the N sub - streams, group the users corresponding to the sub - stream to obtain seed users and non - seed users; where the seed users obtain the sub - stream from the CDN node; and recommend the seed users to the non - seed users so that the non - seed users obtain the sub - stream from the seed users.

[0071] As an alternative implementation, the ratio range of the seed users to the non - seed users is

[0072] As an alternative implementation, the configuration module is further specifically configured to:

[0073] For any sub - stream among the N sub - streams, obtain the online duration data and connection data of each user corresponding to the sub - stream; based on the online duration data and the connection data, determine the sharing ability value of each user; and group the users corresponding to the sub - stream based on the sharing ability value to obtain seed users and non - seed users.

[0074] As an alternative implementation, the allocation module 302 is specifically configured to:

[0075] Allocate the new user to the target sub - stream and determine that the new user is a non - seed user.

[0076] As an alternative implementation, the value of N is 4 - 10.

[0077] It should be noted that for a live sub - stream sharing device 300 provided in an embodiment of the present invention, its specific implementation and the technical effects generated are the same as those in the foregoing method embodiment. For the sake of brief description, for the parts not mentioned in the device embodiment, reference may be made to the corresponding content in the foregoing method embodiment.

[0078] Based on the same inventive concept, another embodiment of the present invention further provides a server, including a processor and a memory. The memory is coupled to the processor, and the memory stores instructions. When the instructions are executed by the processor, the server is caused to execute the steps of any one of the foregoing method embodiments.

[0079] It should be noted that in the server provided by the embodiment of the present invention, when the instructions are executed by the processor, the specific implementation and the resulting technical effects of each of the above steps are the same as those in the foregoing method embodiments. For the sake of brief description, the corresponding content in the foregoing method embodiments may be referred to for the parts not mentioned in this embodiment.

[0080] Based on the same inventive concept, another embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the program is executed by a processor, the steps of any one of the foregoing method embodiments are implemented.

[0081] 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 effects of each of the above steps are the same as those in the foregoing method embodiments. For the sake of brief description, the corresponding content in the foregoing method embodiments may be referred to for the parts not mentioned in this embodiment.

[0082] As used herein, the term "and / or" merely describes an association relationship of associated objects and indicates that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " herein generally represents an "or" relationship between the associated objects before and after; the word "comprising" does not exclude the existence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the existence of a plurality of such elements. The present invention may be implemented by means of hardware including several different elements and by means of a properly programmed computer. In the unit claims listing several devices, several of these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc. does not denote any order. These words may be interpreted as names.

[0083] Those skilled in the art should understand that the embodiments of the present invention may be provided as a method, a system, or a computer program product. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0084] The present invention is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present invention. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the functions specified in one flow Figure 1 one flow or more flows and / or blocks Figure 1 or more blocks.

[0085] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including instruction means that implement the functions specified in one flow Figure 1 one flow or more flows and / or blocks Figure 1 or more blocks.

[0086] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one flow Figure 1 one flow or more flows and / or blocks Figure 1 or more blocks.

[0087] Although the preferred embodiments of the present invention have been described, those skilled in the art can make additional changes and modifications once they know the basic creative concepts. Therefore, the appended claims are intended to be construed to include the preferred embodiments and all changes and modifications falling within the scope of the present invention.

[0088] Obviously, those skilled in the art can make various changes and variations to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalent technologies, the present invention is also intended to include these changes and variations.

Claims

1. A live sub-stream sharing method, characterized in that, it includes: When a new user is detected, obtain the target sub-stream with the least number of users from N sub-streams; Assign the new user to the target sub-stream so that the new user can obtain the target sub-stream; Determine a target user from each sub-stream outside the target sub-stream, with a total of N - 1 target users; Recommend 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; Determine a target user from each sub-stream outside the target sub-stream, including: For any sub-stream outside the target sub-stream, obtain the online duration data and connection data of each user corresponding to the sub-stream; Based on the online duration data and the connection data, determine the sharing ability value of each user; Determine the user with the maximum sharing ability value as the target user of the sub-stream; Before the step of "When a new user is detected, obtain the target sub-stream with the least number of users from N sub-streams", it further includes: Obtain the users corresponding to each sub-stream among the N sub-streams; For any one of the N sub-streams, group the users corresponding to the sub-stream to obtain seed users and non-seed users; wherein, the seed users obtain the sub-stream from the CDN node; Recommend the seed users to the non-seed users so that the non-seed users can obtain the sub-stream from the seed users; The ratio range of the described seed users to the described non-seed users is The step of "For any one of the N sub-streams, group the users corresponding to the sub-stream to obtain seed users and non-seed users" includes: For any one of the N sub-streams, obtain the online duration data and connection data of each user corresponding to the sub-stream; Based on the online duration data and the connection data, determine the sharing ability value of each user; Group the users corresponding to the sub-stream based on the sharing ability value to obtain seed users and non-seed users; The step of "Assign the new user to the target sub-stream" includes: Assign the new user to the target sub-stream and determine that the new user is a non-seed user; The value of N ranges from 4 to 10.

2. A server, characterized in that, it includes a processor and a memory, the memory is coupled to the processor, and the memory stores instructions, which when executed by the processor cause the server to execute the method described in claim 1.

3. A computer-readable storage medium, on which a computer program is stored, characterized in that, when the program is executed by a processor, it implements the method described in claim 1.

Citation Information

Patent Citations

  • Data transmission method based on peer-to-peer network

    CN107277134A

  • System and method for distributing streaming content through cooperative networking

    US20040143672A1