[0025] In order to make the purposes, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments These are some embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0026] It should be noted that the embodiments in the present application and the features of the embodiments may be combined with each other if there is no conflict.
[0027] The present invention may be used in numerous general purpose or special purpose computing system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, including A distributed computing environment for any of the above systems or devices, and the like.
[0028] The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including storage devices.
[0029] Finally, it should also be noted that in this document, relational terms such as first and second are used only to distinguish one entity or operation from another, and do not necessarily require or imply these entities or there is any such actual relationship or sequence between operations. Furthermore, the terms "comprising" and "comprising" include not only those elements, but also other elements not expressly listed, or elements inherent to such a process, method, article or apparatus. Without further limitation, an element defined by the phrase "comprises" does not preclude the presence of additional identical elements in a process, method, article, or device that includes the element.
[0030] like figure 1 As shown, a network scheduling method according to an embodiment of the present invention includes:
[0031] S1, according to the historical data of the freeze ratio and slow ratio of accessing a certain video in the partition, determine the service quality level of all edge nodes serving this partition for the certain video;
[0032] S2, establishing a mapping model between the user's priority and the service quality level;
[0033] S3. Receive a request from a user in this partition to access the certain video, and determine the priority of the user;
[0034] S4. Based on the determined priority of the user and the mapping model, schedule an edge node with a corresponding quality of service level for the user.
[0035] In this embodiment, the priority of the edge nodes serving a certain video is divided according to the partition, so that the network scheduling is more pertinent; and the edge nodes of the corresponding priority are allocated according to the user's priority, which can meet the individual requirements. , thereby ensuring a better user experience.
[0036] The above-mentioned embodiment also includes that the dispatch center receives the historical data of the stutter ratio and the slow ratio of all videos accessed by all users in all partitions, and divides all historical data according to partitions first, and then divides the data in each partition. All data are divided according to the accessed video, so as to obtain the historical data of the stutter ratio and the slow ratio when all users in the partition access a certain video.
[0037] The historical data of the freeze ratio and slow ratio of accessing a certain video is the historical data of a predetermined period of time. The predetermined period of time is preferably within 3 months from the current period. The real-time data is guaranteed by using the historical data of the past three months. It also reduces the burden on the processor to process data, because the network environment and software and hardware resources in various regions are constantly being updated and upgraded, and the historical data that is too long has no reference value, so it is used for nearly three months. Of course, the data is not limited to the past three months, and can be adjusted for a long or short period according to actual needs.
[0038] In some factual manners, the user's access request information includes at least the user's geographic location information, access video information and user information, and the user information at least includes user source information, user attribute information, and network operator information. In the above-mentioned embodiment, the dispatch center judges the partition to which the user belongs according to the geographic location information, determines the video to be accessed according to the access video information, and then determines the user's priority level according to the user source information and the user attribute information; the user attribute information at least includes: Member users and non-member users, user source information at least includes smart terminals and clients;
[0039] The smart terminal can be a mobile phone (for example, a LeTV mobile phone), a portable, pocket-sized, hand-held, computer-built-in or vehicle-mounted mobile device, a PC (personal computer, personal computer), a tablet computer, etc. It can be a smart TV (eg, LeTV Super TV), a set-top box, etc. that can be connected to the Internet, so the smart terminal can realize the collection of natural information of the target to be identified.
[0040]When the user attribute is a member user (for example, a paying user), the edge node with high service quality can be preferentially obtained in the edge node scheduling. LeTV APP), edge nodes with high service quality can also be preferentially obtained in edge node scheduling, so as to ensure different services for users with different priorities, ensure service quality, and improve user experience.
[0041] like figure 2 As shown, in some embodiments, according to the historical data of the stutter ratio and slow ratio of accessing a certain video in the partition, determining the quality of service level of all edge nodes serving this partition for the certain video includes:
[0042] S11. Retrieve the historical data of the stutter ratio and the historical data of the slow ratio for accessing a certain video in the partition, and assign corresponding weights to the historical data of the stutter ratio and the historical data of the slow ratio, and perform a weighted summation , to generate a service quality evaluation value;
[0043] S12. Determine the service quality level of the edge node according to the size of the service quality evaluation value, wherein the service quality evaluation value is basically inversely proportional to the service quality.
[0044] In the above-mentioned embodiment, the service quality level of the edge node providing video service is determined by weighted summation and comparison of the historical data of the stutter ratio and the slow speed ratio when the user accesses the video; The experience data information is used to determine the quality of service of the edge node, so the obtained evaluation of the service quality of the edge node is more reliable. Even if there are other factors that affect the user experience, the final form of its impact on the user experience still falls on the stutter ratio and the slow ratio. Therefore, the service to the edge node can be obtained directly from the stutter ratio and the slow ratio. Evaluation of quality is objective and reliable.
[0045] In some embodiments, by setting the first threshold range, the second threshold range, the third threshold range, and according to which range interval the weighted sum of the stutter ratio and the slow ratio when watching the video falls Determine the quality of service of the edge node that provides the service.
[0046] Specifically, the scheduling center determines the service quality of the edge node according to the weighted sum of the stall ratio and the slow ratio, including:
[0047] When the weighted sum of the stall ratio and the slow ratio belongs to the first threshold range, determining that the edge node is a first-level edge node;
[0048] When the weighted sum of the stutter ratio and the slow ratio belongs to the second threshold range, determining that the edge node is a second-level edge node;
[0049] When the weighted sum of the stutter ratio and the slow ratio belongs to the third threshold range, the edge node is determined to be a third-level edge node.
[0050] The smaller the weighted sum of the stutter ratio and the slow ratio, the higher the quality of the service provided by the edge node.
[0051] The upper limit of the first threshold range is smaller than the lower limit of the second threshold range, and the upper limit of the second threshold range is smaller than the lower limit of the third threshold range.
[0052] The weights of the above stutter ratio and slow ratio weighting are adjustable according to actual needs. When the stutter ratio is the most serious impact on the user experience, increase the weight of the stutter ratio, and when the slow ratio is the most serious impact on the user experience. Increase the weight of the slow ratio, when the two have the same impact on the user experience, the two will go to the same weight.
[0053] It is more convenient for practical application to quantitatively rate the service quality of edge nodes. In this embodiment, three levels are set for the service quality of edge nodes, but the actual application is not limited to three levels, and can be determined according to actual needs. Any number of levels.
[0054] Since there may be multiple edge nodes serving a certain partition in the historical data, and the quality of service provided by different edge nodes may also be similar (that is, the weighted sum of the stutter ratio and the slow ratio of the served video is similar, thus fall within the same threshold range), so different edge nodes will be classified into the same level of service quality. In this case, when a user accesses a video, the dispatch center selects the edge nodes that are closer to the user in a limited way, which not only ensures the high-quality service to the user, but also reduces the burden of the edge nodes that are farther away when serving the user. Therefore, the edge nodes farther from the user can better serve the users closer to it, and the effect of making full and rational use of edge nodes is achieved.
[0055] In some embodiments, establishing a mapping model between the user's priority and the quality of service level includes:
[0056] Determine the priority of users according to user source information, user attribute information, and network service operator information;
[0057] A corresponding relationship is established between the user's priority and the service quality level of the edge node.
[0058] By establishing the mapping relationship between the user priority and the service quality level of the edge node, it is convenient for the subsequent user access to respond to the user's request information in a timely manner, so that the response speed is faster and the service is more timely, thereby ensuring service quality and improving user experience.
[0059] In any of the above embodiments, the scheduling center determines the quality of service of the edge node according to the weighted sum of the stall ratio and the slow ratio according to a preset period. Because in practical applications, the network environment is constantly changing, and the hardware and software resources and network architecture are not only improving. Therefore, the regular evaluation of the service quality of edge nodes ensures the real-time and validity of the evaluation results, so as to ensure the user quality of service.
[0060] In some implementations, determining the user's priority includes:
[0061] Determine user source information and user attribute information;
[0062] When the user source information is a designated mobile terminal or a designated client, or when the user attribute information is a member user, it is determined that the user is the first priority;
[0063] When the user attribute information is a non-member user, it is determined that the user has the second priority.
[0064] The specific scheduling of edge nodes with high quality of service for high-priority users includes:
[0065] scheduling first-level edge nodes for first-priority users;
[0066] The second-level edge node or the third-level edge node is scheduled for the second-priority user.
[0067] In this embodiment, users are classified into different priorities according to user source information and user attribute information, so as to provide them with services of different quality, and realize personalized services according to customer needs.
[0068] It should be noted that, for the sake of simple description, the foregoing method embodiments are all expressed as a series of actions combined, but those skilled in the art should know that the present invention is not limited by the described sequence of actions. As in accordance with the present invention, certain steps may be performed in other orders or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
[0069] In the above-mentioned embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.
[0070] like image 3 As shown, on the other hand, an embodiment of the present invention also provides a network scheduling system, including:
[0071] The edge node service quality rating module, according to the historical data of the freeze ratio and slow ratio of accessing a certain video in the partition, determines the service quality level of all edge nodes serving this partition for the certain video;
[0072] a mapping model generation module configured to establish a mapping model between the user's priority and the quality of service level;
[0073] an access request receiving module, configured to receive a request from a user in this partition to access the certain video;
[0074] User priority determination module, configured to determine the user's priority;
[0075] The edge node scheduling module is configured to schedule edge nodes with corresponding QoS levels for the user based on the determined priority of the user and the mapping model.
[0076] In this embodiment, the priority of the edge nodes serving a certain video is divided according to the partition, so that the network scheduling is more pertinent; and the edge nodes of the corresponding priority are allocated according to the user's priority, which can meet the individual requirements. , thereby ensuring a better user experience.
[0077] like Figure 4 As shown, in some embodiments the edge node prioritization module includes:
[0078] The historical data acquisition unit is configured to retrieve the historical data of the stutter ratio and the historical data of the slow ratio of accessing a certain video in the partition;
[0079] a service quality evaluation value calculation unit, configured to assign corresponding weights to the slow ratio historical data and the slow speed ratio historical data, perform weighted summation, and generate a service quality evaluation value;
[0080] The service quality level determination unit is configured to determine the service quality level of the edge node according to the size of the service quality evaluation value.
[0081] In the above-mentioned embodiment, the service quality level of the edge node providing video service is determined by weighted summation and comparison of the historical data of the stutter ratio and the slow speed ratio when the user accesses the video; The experience data information is used to determine the quality of service of the edge node, so the obtained evaluation of the service quality of the edge node is more reliable. Even if there are other factors that affect the user experience, the final form of its impact on the user experience still falls on the stutter ratio and the slow ratio. Therefore, the service to the edge node can be obtained directly from the stutter ratio and the slow ratio. Evaluation of quality is objective and reliable.
[0082] like Figure 5 As shown, in some embodiments, the quality of service level determination unit includes:
[0083] a service quality evaluation value comparison unit, configured to compare which of the first threshold value range, the second threshold value range and the third threshold value range the service quality evaluation value belongs to;
[0084] Class determination unit, configured with
[0085] When the quality of service evaluation value belongs to the first threshold range, determine that the edge node is a first-level edge node;
[0086] When the quality of service evaluation value belongs to the second threshold range, determining that the edge node is a second-level edge node;
[0087] When the quality of service evaluation value falls within the third threshold range, the edge node is determined to be a third-level edge node.
[0088] like Image 6 As shown, in some embodiments the mapping model generation module includes:
[0089] A user's priority determination unit, configured to determine the user's priority according to user source information, user attribute information, and network service operator information;
[0090] The mapping relationship generating unit is configured to establish a corresponding relationship between the user's priority and the service quality level of the edge node.
[0091]In any of the above-mentioned embodiments, the historical data of the stutter ratio and the slow speed ratio of a certain video is accessed to be historical data of a predetermined duration.
[0092] In the embodiment of the present invention, the relevant functional modules may be implemented by a hardware processor (hardware processor).
[0093] The method embodiments described above are only illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in One place, or it can be distributed over multiple network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment. Those of ordinary skill in the art can understand and implement it without creative effort.
[0094] From the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and certainly can also be implemented by hardware. Based on this understanding, the above-mentioned technical solutions can be embodied in the form of software products in essence or the parts that make contributions to the prior art, and the computer software products can be stored in computer-readable storage media, such as ROM/RAM, magnetic A disc, an optical disc, etc., includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform the methods described in various embodiments or some parts of the embodiments.
[0095] 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 having computer-usable program code embodied therein, including but not limited to disk storage, optical storage, and the like.
[0096] 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 in the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device produce in the process of realization Figure 1 process or processes and/or blocks Figure 1 A means for the functions specified in a block or blocks.
[0097] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions The device is implemented in the process Figure 1 process or processes and/or blocks Figure 1 the function specified in a box or boxes. These computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process such that Instructions are provided for implementing the process in Figure 1 process or processes and/or blocks Figure 1 The steps of the function specified in the box or boxes.
[0098] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, but not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that it can still be The technical solutions described in the foregoing embodiments are modified, or some technical features thereof are equivalently replaced; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.