Data traffic distribution method and apparatus, electronic device and storage medium

By acquiring the topology and business data of the content delivery network system, the data traffic allocation of the live video streaming system was optimized, solving the problem of low data distribution efficiency and improving system stability and user experience.

WO2026040483A1PCT designated stage Publication Date: 2026-02-26BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/092957
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-20
Filing Date
2025-05-06
Publication Date
2026-02-26

AI Technical Summary

Technical Problem

In existing technologies, video live streaming content distribution network systems suffer from low data distribution efficiency and are prone to data congestion and buffering because they do not consider the mutual influence of upstream and downstream links and the traffic characteristics at the business level.

Method used

By acquiring the topology of the content delivery network system, the global capacity can be determined, and available capacity can be allocated according to the business data of the target service to optimize data traffic allocation and improve data distribution efficiency.

Benefits of technology

It achieves rational allocation of data traffic and improves the data distribution efficiency of the content distribution network system, avoiding data congestion and lag during live streaming.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025092957_26022026_PF_FP_ABST
    Figure CN2025092957_26022026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present disclosure are a data traffic distribution method and apparatus, an electronic device and a storage medium. The method comprises: acquiring a content delivery network topological diagram of a content delivery network system, the content delivery network topological diagram comprising content delivery network nodes located at different hierarchical levels, the hierarchical structure of the content delivery network topological diagram representing the multi-level cache architecture of the content delivery network system, and the connection relationship between the content delivery network nodes representing transmission paths of data traffic; on the basis of the content delivery network topological diagram, obtaining the global capacity of the content delivery network system; and, on the basis of service data of a target service, distributing the global capacity so as to obtain an available capacity corresponding to the target service, the service data representing service traffic volume features of the target service.
Need to check novelty before this filing date? Find Prior Art

Description

Data traffic allocation method and device, electronic equipment and storage medium

[0001] Cross-reference to Related Applications

[0002] The present application claims priority to the Chinese patent application No. 202411147768.1, filed on August 20, 2024, and entitled "Data traffic allocation method and device, electronic equipment and storage medium", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0003] Embodiments of the present disclosure relate to the field of video live streaming, and in particular to a data traffic allocation method and device, electronic equipment and storage medium. BACKGROUND

[0004] A content delivery network (CDN) is an intelligent virtual network built on the basis of existing networks, which realizes the rapid distribution of data through distributed cache servers. For example, in the video live streaming scenario, a content delivery network system applied to video live streaming distributes live data traffic to users in different regions through cache servers, so that users in different regions can smoothly watch live content. SUMMARY

[0005] Embodiments of the present disclosure provide a data traffic allocation method and device, electronic equipment and storage medium.

[0006] In a first aspect, embodiments of the present disclosure provide a data traffic allocation method, comprising:

[0007] obtaining a content delivery network topology graph of a content delivery network system, wherein the content delivery network topology graph includes content delivery network nodes at different levels, the hierarchical structure of the content delivery network topology graph represents a multi-level cache architecture of the content delivery network system, and the connection relationship between the content delivery network nodes represents a transmission path of data traffic; obtaining a global capacity of the content delivery network system based on the content delivery network topology graph, wherein the global capacity represents the maximum data traffic that the content delivery network system can carry; and allocating the global capacity according to service data of a target service to obtain an available capacity corresponding to the target service, wherein the service data represents a service access volume feature of the target service, and the available capacity represents the maximum data traffic allocated to the target service.

[0008] In a second aspect, embodiments of the present disclosure provide a data traffic allocation device, comprising:

[0009] The acquisition module is configured to acquire a content distribution network topology of a content distribution network system, wherein the content distribution network topology comprises content distribution network nodes at different levels, a hierarchical structure of the content distribution network topology represents a multi-level cache architecture of the content distribution network system, and a connection relationship between the content distribution network nodes represents a transmission path of data traffic.

[0010] The processing module is configured to obtain a global capacity of the content distribution network system based on the content distribution network topology, wherein the global capacity represents a maximum data traffic that can be carried by the content distribution network system.

[0011] The allocation module is configured to allocate the global capacity according to service data of a target service to obtain an available capacity corresponding to the target service, wherein the service data represents a service access amount feature of the target service, and the available capacity represents a maximum data traffic allocated to the target service.

[0012] In a third aspect, an electronic device is provided, which comprises a processor and a memory.

[0013] The memory stores computer-executable instructions.

[0014] The processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the data traffic allocation method according to the first aspect and various possible designs of the first aspect.

[0015] In a fourth aspect, a computer-readable storage medium is provided, which stores computer-executable instructions. When a processor executes the computer-executable instructions, the data traffic allocation method according to the first aspect and various possible designs of the first aspect is implemented.

[0016] In a fifth aspect, a computer program product is provided, which comprises a computer program. When a processor executes the computer program, the data traffic allocation method according to the first aspect and various possible designs of the first aspect is implemented.

[0017] The data flow allocation method and device, electronic device and storage medium provided by the embodiment obtain a content distribution network topology graph of a content distribution network system, wherein the content distribution network topology graph comprises content distribution network nodes at different levels, a hierarchical structure of the content distribution network topology graph represents a multi-level cache architecture of the content distribution network system, and a connection relationship between the content distribution network nodes represents a transmission path of data flow. Based on the content distribution network topology graph, global capacity of the content distribution network system is obtained, the global capacity representing maximum data flow that can be carried by the content distribution network system. The global capacity is allocated according to service data of a target service, the service data representing service access amount characteristics of the target service, and available capacity corresponding to the target service is obtained, the available capacity representing maximum data flow allocated to the target service. BRIEF DESCRIPTION OF DRAWINGS

[0018] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure or the prior art, the drawings needed to be used in the embodiments or the prior art description will be briefly introduced. Obviously, the drawings in the following description are some embodiments of the present disclosure, and other drawings can be obtained by those skilled in the art without creative labor.

[0019] FIG. 1 is a data distribution process schematic diagram in a live broadcast process provided by an embodiment of the present disclosure;

[0020] FIG. 2 is a flowchart of a data flow allocation method provided by an embodiment of the present disclosure;

[0021] FIG. 3 is a schematic diagram of a content distribution network topology graph provided by an embodiment of the present disclosure;

[0022] FIG. 4 is a flowchart of a specific implementation of step S101 in the embodiment shown in FIG. 2;

[0023] FIG. 5 is a flowchart of a specific implementation of step S102 in the embodiment shown in FIG. 2;

[0024] FIG. 6 is a process schematic diagram of allocating global capacity provided by an embodiment of the present disclosure;

[0025] FIG. 7 is a flowchart of a data flow allocation method provided by an embodiment of the present disclosure;

[0026] FIG. 8 is a flowchart of a specific implementation of step S204 in the embodiment shown in FIG. 7;

[0027] FIG. 9 is a flowchart of a specific implementation of step S2042 in the embodiment shown in FIG. 8;

[0028] FIG. 10 is a flow chart of a specific implementation of step S2043 in the embodiment shown in FIG. 9;

[0029] FIG. 11 is a flow chart of a specific implementation of step S207 in the embodiment shown in FIG. 7;

[0030] FIG. 12 is a schematic diagram of determining available capacity corresponding to a target service according to an embodiment of the present disclosure;

[0031] FIG. 13 is a structural block diagram of a data flow allocation apparatus according to an embodiment of the present disclosure;

[0032] FIG. 14 is a structural schematic diagram of an electronic device according to an embodiment of the present disclosure;

[0033] FIG. 15 is a hardware structural schematic diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0034] To make the objectives, technical solutions, and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only some but not all of the embodiments of the present disclosure. Based on the embodiments in the present disclosure, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the protection scope of the present disclosure.

[0035] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present disclosure are all information and data authorized by the user or authorized by all parties, and the collection, use, and processing of related data need to comply with relevant laws, regulations, and standards of relevant countries and regions, and provide corresponding operation portals for users to choose authorization or refusal.

[0036] In the prior art, taking a video live streaming scenario as an example, in order to ensure the stable operation of a content distribution network system, the maximum flow of a server node in the content distribution network system usually needs to be limited to avoid the problem of flow overload, which affects the system stability.

[0037] However, since the content distribution network system applied to video live streaming has a complex multi-level cache mechanism, the scheme in the prior art has the problem of unreasonable data flow allocation, which leads to the problems of low data distribution efficiency and easy data congestion of the content distribution network system.

[0038] The embodiments of the present disclosure provide a data flow allocation method, apparatus, electronic device, and storage medium to overcome the problems of low data distribution efficiency and easy data congestion of the content distribution network system.

[0039] The application scenarios of the embodiments of the present disclosure are explained as follows:

[0040] The data flow allocation method provided by the embodiments of the present disclosure can be applied to scenarios such as video live streaming and multi-person voice call. More specifically, it can be applied to an application scenario of video live streaming through a content distribution network system. The execution subject of the present embodiment can be a content distribution network system, a management and scheduling unit in the content distribution network system, a server, or other independent electronic devices such as terminal devices. The execution subject can obtain the available capacity for a service by executing the data flow allocation method provided by the present embodiment. Then, the developer user manually configures the content distribution network system through the available capacity, or sends the available capacity to the content distribution network system and configures the content distribution network system based on the available capacity, thereby improving the stability and data transmission performance of the content distribution network system.

[0041] By combining the multi-level cache architecture and the transmission path of data flow described in the content distribution network topology graph, the global capacity of the content distribution network system is obtained, and then the global capacity is allocated based on service data to obtain the available capacity corresponding to the matching service access volume characteristics of the target service, thereby realizing flow allocation at the service level, improving the rationality of data flow allocation, improving the data distribution efficiency of the content distribution network system, and avoiding the occurrence of lag due to data congestion in the live streaming process.

[0042] By combining the content distribution network topology graph and service data for flow allocation, the rationality of data flow allocation and the data distribution efficiency of the content distribution network system are improved.

[0043] FIG. 1 is a schematic diagram of a data distribution process in a live streaming process according to an embodiment of the present disclosure. As shown in FIG. 1, taking the application scenario of video live streaming as an example, the content distribution network system is composed of a source station, a first-level cache server, a second-level cache server, and the like. Live streaming data flow is sent by the source station and is sequentially sent to the first-level cache server and the second-level cache server, and is finally received by a terminal device on the audience side, thereby realizing the step-by-step caching and distribution of live streaming data. The various cache servers described above serve as pull nodes and can be distributed in different regions and countries. In this case, the audience users in the corresponding region can quickly load the corresponding live streaming data from the second-level cache server through the terminal device, thereby smoothly watching the video live streaming content.

[0044] In some embodiments, the execution subject can implement the data flow allocation method provided by the embodiments of the present application by running various computer executable instructions or computer programs. For example, the computer executable instructions can be program-level commands, machine instructions, or software instructions. The computer program can be a native program or a software module in the operating system; it can be a local application program, i.e., a program that needs to be installed in the operating system to run, or it can be a small program embedded in any APP, i.e., a program running based on a browser environment. In summary, the above-mentioned computer executable instructions can be any form of instructions, and the above-mentioned computer programs can be any form of application programs, modules or plug-ins, and the specific implementation form can be configured as needed. Further, in some embodiments, the execution subject can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud services, cloud storage, cloud communication, cloud database, cloud computing, cloud function, network service, middleware service, domain name service, security service, content delivery network (CDN), and basic cloud computing services such as big data and artificial intelligence platform, wherein the cloud service can be an interactive processing service for calling by a terminal device.

[0045] In the prior art, in order to ensure the stable operation of the content distribution network system, the maximum flow of the server nodes in the content distribution network system needs to be limited to avoid the problem of flow overload and affect the system stability. Referring to FIG. 1, for example, the devices in the content distribution network system such as the first-level cache server and the second-level cache server, usually need to manually configure the upper limit of their flow to avoid the problem of data congestion. However, since the content distribution network system applied to video live streaming has a complex multi-level cache mechanism, the existing technology usually separately configures the data flow of the cache server without considering the flow allocation strategy globally. Since various factors of mutual influence and restriction in the upstream and downstream links are not considered, it is likely that a flow bottleneck will occur in the upstream and downstream links. At the same time, since the flow characteristics of the business (such as the video live streaming business) and the mutual influence and restriction relationship between businesses are not considered, the allocated flow cannot meet the business demand, which ultimately leads to a decrease in the data distribution efficiency of the content distribution network system and the problem of data congestion in the live streaming data distribution process, thereby causing the live streaming content watched by the user to appear to be stuck.

[0046] The embodiments of the present disclosure provide a data flow allocation method to solve the above problems.

[0047] Referring to FIG. 2, FIG. 2 is a flowchart of a data flow allocation method provided by the embodiments of the present disclosure. The method of the present embodiment can be applied in an electronic device, and the data flow allocation method comprises:

[0048] Step S101: Obtain a content distribution network topology graph of the content distribution network system, wherein the content distribution network topology graph comprises content distribution network nodes at different levels, the hierarchical structure of the content distribution network topology graph represents a multi-level cache architecture of the content distribution network system, and the connection relationship between the content distribution network nodes represents a transmission path of data traffic.

[0049] Referring to the data distribution process diagram in the live broadcast process shown in FIG. 1, taking the application scenario of video live broadcast as an example, live broadcast data is transmitted to a user terminal device through a content distribution network system, so as to realize the purpose of displaying live broadcast content on the user terminal device side. Before executing the above-mentioned live broadcast data distribution process (i.e., the live broadcast process), for example, through a management and scheduling unit in the content distribution network system or other devices capable of configuring the content distribution network system, the scheme provided in this embodiment is executed, so as to obtain the available capacity corresponding to a target service. The service can be divided based on live broadcast content, such as sports live broadcast and game live broadcast, or can be divided according to country and region, such as A region service and B region service. The available capacity corresponding to the service is the maximum data traffic upper limit allocated for this type of service. After obtaining the available capacity corresponding to the target service, the maximum data traffic upper limit of the cache server corresponding to the service in the content distribution network system can be further configured based on the available capacity.

[0050] Exemplarily, in the embodiment, taking the case that an independent terminal device (e.g., a personal computer) is taken as an execution subject of the method provided in the embodiment as an example, first, the terminal device acquires a content distribution network topology diagram of the content distribution network system, i.e., a CDN topology diagram. The content distribution network topology diagram can be pre-generated and stored in a storage medium accessible by the terminal device. The content distribution network topology diagram includes content distribution network nodes at different levels, the hierarchical structure of the content distribution network topology diagram represents the multi-level cache architecture of the content distribution network system, and the connection relationship between the content distribution network nodes represents the transmission path of data traffic. The content distribution network node, i.e., the CDN node, corresponds to a network device and a cache server in the content distribution network system for data caching, processing, and forwarding. FIG. 3 is a schematic diagram of a content distribution network topology diagram provided in the embodiment of the disclosure. As shown in FIG. 3, the start point (Start) of the content distribution network topology diagram corresponds to the traffic entrance of the content distribution network system. Live data traffic starts from the start point and is distributed level by level downward, wherein the source station #1, the source station #2, and the source station #3 (content distribution network nodes at the first level) are located at the first level, the push stream node 01, the push stream node 02, the push stream node 03, and the push stream node 04 (content distribution network nodes at the second level) are located at the second level, and below the second level, there can be a third level, a fourth level, and the like. The end point (End) of the content distribution network topology diagram is finally reached. The last level above the end point is, for example, a level representing a region. On the level, there are content distribution network nodes such as the region A, the region B, and the region C shown in the figure. The above level feature represents the multi-level cache architecture of the content distribution network system, i.e., live data is cached level by level based on the above multi-level cache architecture, and finally, live data is distributed to the user terminal device side. Further, as shown in the figure, the content distribution network nodes between different levels are connected based on specific rules. The connection relationship represents the transmission path of data traffic. For example, the source station #1 content distribution network node at the first level is connected with the push stream node 01 and the push stream node 02 content distribution network nodes at the second level, which represents that the data traffic of the source station #1 at the first level will be transmitted to the push stream node 01 and the push stream node 02 content distribution network nodes, but will not be transmitted to the push stream node 03 which is not connected therewith.

[0051] Further, the content distribution network topology graph described above is determined based on a specific content distribution strategy and resource condition. Different content distribution strategies cover different node resources, and thus form different content distribution network topology graphs. Based on the above description, in one possible implementation, the content distribution network topology graph described above can be pre-generated and read from the outside or locally by the terminal device as an execution subject; and in another possible implementation, the content distribution network topology graph can be generated in real time by the terminal device. Exemplarily, as shown in FIG. 4, the specific implementation of step S101 includes the following steps.

[0052] Step S1011: Obtain service information and resource coverage information, where the resource coverage information represents node resources covered under a live content distribution strategy corresponding to different service scenarios; and the service information represents a node resource selection scheme corresponding to a service scenario.

[0053] Step S1012: Generate a content distribution network topology graph according to the service information and the resource coverage information.

[0054] Specifically, in the above steps, the service information represents a node resource selection scheme corresponding to a service scenario. Different service scenarios have a characteristic resource selection scheme, and different service scenarios select different countries / regions / server nodes. The implementation of the service scenario has multiple modes, for example, the service scenario is divided based on a live entrance, and for another example, the service scenario is divided based on a live scale and level. The specific implementation can be set as needed. The resource coverage information represents server nodes covered under a live content distribution strategy corresponding to the service scenario. The resource coverage information has a corresponding relationship with the service scenario. For example, under service scenario A, based on the index content distribution strategy of service scenario A, the node resources covered are edge server c1, edge server c2 and edge server c3 in region #1. Under service scenario B, based on the index content distribution strategy of service scenario A, the node resources covered are edge server d1, edge server d2 and edge server d3 in region #2. Based on the above description, through the service information and the resource coverage information described above, a rule representing a data flow transmission path corresponding to a service scenario can be obtained. Then, in combination with the multi-level cache architecture represented by the live CDN architecture form, a content distribution network topology graph corresponding to the service scenario is generated.

[0055] Step S102: Obtain the global capacity of the content distribution network system based on the content distribution network topology graph, where the global capacity represents the maximum data flow that can be carried by the content distribution network system.

[0056] Exemplarily, after obtaining the content distribution network topology graph, in a possible implementation manner, the global capacity corresponding to the content distribution network topology graph can be acquired through a preset mapping relationship, for example, a mapping relationship table of different content distribution network topology graph icon identifiers and corresponding capacity values. The global capacity is pre-generated, and a specific generation manner can be based on artificial experience or other logic determination, which is not limited here. In another possible implementation manner, the node capacities of the content distribution network nodes covered in the content distribution network topology graph can be calculated first, and then the global capacity of the content distribution network system can be calculated according to the node capacities of the content distribution network nodes. Specifically, as shown in FIG. 5, the specific implementation manner of step S102 includes:

[0057] Step S1021: obtaining each content distribution network node based on the content distribution network topology graph, and acquiring the node capacity of each content distribution network node, the node capacity representing the maximum data flow that can be carried by the content distribution network node.

[0058] Step S1022: obtaining the global capacity of the content distribution network system according to the node capacities of the content distribution network nodes.

[0059] Exemplarily, first, the node capacity corresponding to each content distribution network node covered in the content distribution network topology graph is obtained, the node capacity representing the maximum data flow that can be carried by the content distribution network node. In a possible implementation manner, the node capacity of each content distribution network node can be a preconfigured fixed value, which can be determined based on experience or specific requirements and preconfigured in the management and scheduling unit in the content distribution network system, so as to limit the maximum data flow that can be carried by the content distribution network node. The specific implementation manner is not described in detail in this embodiment. Then, the global capacity of the content distribution network system can be obtained according to the node capacities of the content distribution network nodes in combination with the network maximum flow algorithm, the global capacity being the maximum data flow that can be carried by the content distribution network system.

[0060] Step S103: allocating the global capacity according to the service data of the target service to obtain the available capacity corresponding to each target service, the available capacity representing the maximum data flow allocated to the target service, and the service data representing the service access amount feature of the target service.

[0061] Exemplarily, after obtaining the global capacity of the content distribution network system, the global capacity is further allocated according to the service access amount characteristics of different target services, so that each target service obtains a traffic share in the global traffic that matches its own service access amount characteristics, that is, the available capacity of the target service. The target service is, for example, a live service, and the service access amount characteristics include, for example, the access (live viewing) number of the live service, the viewing time length, and the like, and access amount fluctuation and the like. FIG. 6 is a process diagram for allocating the global capacity provided by an embodiment of the present disclosure. As shown in FIG. 6, it is exemplarily applied to a live content distribution network system sys_1 in a video live scenario, and is used to realize the caching and distribution of live data traffic of two live services, live service A and live service B. Based on the previous steps, it is determined that the live content distribution network system sys_1 can carry a maximum data traffic (global traffic) of 100 (a preset unit) through multiple levels of data caching and transmission (shown as from a starting point Start to an ending point End in the figure). Then, according to the service access amount characteristics of the live service A and the live service B, it is determined that the traffic share corresponding to the live service A is 0.4, and the traffic share corresponding to the live service B is 0.6. Then, the global traffic 100 at the ending point is allocated according to the above traffic shares, and the available capacity corresponding to the live service A is obtained as 40, and the available capacity corresponding to the live service B is obtained as 60, so as to realize the data flow allocation at the live service level.

[0062] After obtaining the available capacity corresponding to the live service, the manufacturer or developer user of the live service can perform node resource adjustment based on the predicted available capacity, that is, adjust the content distribution network nodes supporting the live service and the available capacity of the content distribution network nodes, so as to avoid the problems of cost waste caused by resource excess or live quality decline caused by resource deficiency, and improve the resource utilization rate of the live content distribution network system. This step can be performed by other devices or functional units (for example, a management and scheduling unit of the live content distribution network system). Alternatively, the available capacity corresponding to the target live service can be only saved, and then consumed according to specific service requirements. This embodiment will not be described in detail.

[0063] In this embodiment, the content distribution network topology graph of the content distribution network system is obtained, wherein the content distribution network topology graph includes content distribution network nodes at different levels, the hierarchical structure of the content distribution network topology graph represents the multi-level cache architecture of the content distribution network system, and the connection relationship between the content distribution network nodes represents the transmission path of the data traffic. Based on the content distribution network topology graph, the global capacity of the content distribution network system is obtained, which represents the maximum data traffic that the content distribution network system can carry. The global capacity is allocated according to the service data of the target service, and the available capacity corresponding to the target service is obtained. The service data represents the service access amount feature of the target service, and the available capacity represents the maximum data traffic allocated to the target service. By combining the multi-level cache architecture and the transmission path of the data traffic described by the content distribution network topology graph, the global capacity of the content distribution network system is obtained, and then the global capacity is allocated based on the service data to obtain the available capacity corresponding to the matching service access amount feature of the target service, thereby realizing the traffic allocation at the service level, improving the rationality of the data traffic allocation, improving the data distribution efficiency of the content distribution network system, and avoiding the lag caused by data congestion in the live process.

[0064] Referring to FIG. 7, FIG. 7 is a flowchart of a data traffic allocation method provided by an embodiment of the present disclosure. In this embodiment, steps S102-S103 of the embodiment shown in FIG. 2 are further refined, and the data traffic allocation method comprises the following steps:

[0065] Step S201: obtaining a content distribution network topology graph of a content distribution network system, wherein the content distribution network topology graph includes content distribution network nodes at different levels, the hierarchical structure of the content distribution network topology graph represents a multi-level cache architecture of the content distribution network system, and the connection relationship between the content distribution network nodes represents a transmission path of data traffic.

[0066] Step S202: obtaining each content distribution network node based on the content distribution network topology graph.

[0067] Step S203: obtaining at least two node running resources of the content distribution network node, wherein the node running resource represents the resource required by the content distribution network node when processing the data traffic.

[0068] Step S204: obtaining the node capacity of the content distribution network node according to the at least two node running resources of the content distribution network node.

[0069] Exemplarily, referring to the schematic diagram of the content distribution network topology diagram shown in FIG. 3, according to the content distribution network nodes at different levels described in the content distribution network topology diagram, the content distribution network nodes covered by the content distribution network system can be obtained, specifically, for example, the node identifiers of the content distribution network nodes described above and the connection relationship between the nodes can be obtained. Then, based on the introduction in the previous embodiments, a possible implementation manner is to directly obtain the pre-generated node capacity of the content distribution network node according to the node identifier, and in another possible implementation manner, that is, the scheme provided in the embodiment, the corresponding node capacity is dynamically calculated by obtaining at least two node running resources of the content distribution network node. The node running resources of the content distribution network node can be obtained through the running data of the content distribution network node. The running data is data representing the running information of the CPU resource usage, the public network bandwidth resource usage and the like of the content distribution network node. The running data can be historical running data or real-time running data.

[0070] Specifically, the node running resources represent the resources required by the content distribution network node when processing data traffic, that is, the resource consumption amount. For example, central processing unit (CPU) resources, public network bandwidth resources, memory resources, network card bandwidth resources, transcoding computing resources and the like. In the step of the embodiment, at least two node running resources need to be obtained, therefore, the node running resources include at least two of the above implementation manners, for example, the CPU resources and the public network bandwidth resources of the content distribution network node are obtained; for another example, the CPU resources, the public network bandwidth resources and the memory resources of the content distribution network node are obtained.

[0071] After that, the node capacity of the content distribution network node is obtained according to the at least two node running resources. Specifically, the maximum data flow that can be carried by the content distribution network node is usually determined by multiple running resources. For example, first, the maximum data flow that can be carried by the content distribution network node cannot exceed the corresponding public network bandwidth, which is one of the conditions for determining the node capacity. Second, since the data flow needs to consume CPU resources during the processing, caching and forwarding process in the content distribution network node, the CPU resource consumption corresponding to the maximum data flow that can be carried by the content distribution network node cannot exceed the CPU resources corresponding to the content distribution network node, which is also one of the conditions for determining the node capacity. The memory resources, network card bandwidth resources, transcoding computing resources and other factors are similar and will not be described one by one. After comprehensive consideration of the above-mentioned multiple node running resources, a data flow value that meets the consumption requirements of the above-mentioned node running resources (does not exceed the maximum value of various node running resources) is obtained, that is, the node capacity of the content distribution network node. In specific implementation, the above-mentioned at least two node running resources can be mapped to the corresponding bearable flow, and then the smallest bearable flow among them is taken as the node capacity.

[0072] Exemplarily, in another possible implementation, the node running resources include a target running resource and at least one reference running resource, as shown in FIG. 8, the specific implementation of step S204 includes:

[0073] Step S2041: Obtain the resource quantity of the target running resource.

[0074] Step S2042: Obtain the unit resource capacity corresponding to the reference running resource according to the resource quantity of the target running resource. The unit resource quantity represents the resource usage of the reference running resource under a unit quantity of the target running resource.

[0075] Step S2043: Obtain the node capacity of the content distribution network node according to the unit resource capacity corresponding to the reference running resource.

[0076] Exemplarily, the target running resource is, for example, a CPU resource, and the reference running resource is a public network bandwidth resource, a memory resource, a network card bandwidth resource, a transcoding computing resource, etc. First, the resource quantity of the target running resource is obtained, i.e., the core quantity of the CPU is obtained; then, according to the ratio of the resource quantity of the reference running resource to the core quantity of the CPU, the unit resource capability is obtained, i.e., the resource usage quantity of the reference running resource under a unit quantity of the target running resource. For example, the unit resource capability of the public network bandwidth resource, i.e., the ratio of the public network bandwidth resource of the content distribution network node to the core quantity of the CPU. The above unit resource capability can be understood as a mapping of one resource overhead (the reference running resource) to another resource overhead (the target running resource), and after obtaining each node running resource in a certain period or at each moment through the running data of the content distribution network node, the reference running resource is mapped to the target running resource (divided by the resource quantity of the target running resource), i.e., the unit resource capability of each reference running resource is obtained. Then, according to the product of the unit resource capability of each reference running resource and the actual resource quantity of the target running resource of the content distribution network node, the actual usage quantity of the reference running resource is obtained. Further, if the actual usage quantity of each reference running resource does not exceed the preset threshold, it means that the reference running resource is not overloaded, and in this case, the actual data flow recorded in the running data can be used as the node capacity of the content distribution network node; if the actual usage quantity of at least one reference running resource exceeds the preset threshold, it means that the reference running resource is overloaded, and in this case, the actual data flow recorded in the running data is compressed as the node capacity of the content distribution network node.

[0077] Further, exemplarily, as shown in FIG. 9, the specific implementation of step S2042 includes:

[0078] Step S2042-1: Obtain the target running data of the content distribution network node, and the target running data includes the resource usage quantities of the target running resource and the reference running resource, wherein the target running resource is in a high resource usage state.

[0079] Step S2042-2: Obtain the unit resource capability corresponding to the reference running resource according to the ratio of the resource usage quantity of the reference running resource to the resource quantity of the target running resource in the target running data.

[0080] Exemplarily, the target running data can be historical running data or real-time running data of the content distribution network node, the concept of which has been introduced in the previous part and will not be repeated here. The target running data includes resource usage of the target running resource and the reference running resource, and the target running resource is in a high resource usage state. It is equivalent to obtaining the usage of other reference running resources when the target running resource is in a high load state. For example, the target running data includes the following contents: the resource usage of the CPU resource is 90%; the resource usage of the public network bandwidth resource is 20%; the resource usage of the memory resource is 30%, etc. Of course, in other possible implementation manners, the resource usage can also be represented by specific numerical values instead of percentages, for example, the resource usage of the public network bandwidth resource is 100 MB / s, and the resource usage of the memory resource is 2 GB. Then, the ratio of the resource usage of the reference running resource in the target running data to the resource quantity of the target running resource is calculated to obtain the unit resource capability corresponding to the reference running resource, for example, the resource usage of the public network bandwidth resource is b, and the core quantity of the CPU is n, and the unit resource capability of the public network bandwidth resource is b / n. This value represents the usage of the public network bandwidth resource (reference running resource) that can be driven by each CPU core when the CPU resource (target running resource) reaches the upper limit.

[0081] Further, exemplarily, the reference running resource includes the public network bandwidth resource and at least one other running resource, as shown in FIG. 10, the specific implementation manner of step S2043 includes:

[0082] Step S2043-1: obtaining the initial capacity of the content distribution network node according to the unit resource capability of the public network bandwidth resource of the content distribution network node and the resource quantity of the current target running resource of the content distribution network node.

[0083] Step S2043-2: obtaining the resource compression coefficient according to the resource usage of the at least one other running resource and the corresponding resource running threshold.

[0084] Step S2043-3: obtaining the node capacity of the content distribution network node according to the initial capacity and the resource compression coefficient.

[0085] Exemplarily, in a possible implementation, the reference running resource includes the public network bandwidth resource and at least one other running resource, for example, the reference running resource includes the public network bandwidth resource and the network card bandwidth resource, or the reference running resource includes the public network bandwidth resource and the memory resource, the network card bandwidth resource, and the transcoding computing resource. On this basis, after the unit resource capability corresponding to the public network bandwidth resource is obtained, the initial capacity of the content distribution network node is obtained according to the product of the unit resource capability of the public network bandwidth resource and the resource quantity (for example, the CPU core number) of the current target running resource of the content distribution network node. That is, in the case that the target running resource (for example, the CPU resource) reaches the upper limit, the public network bandwidth resource used by the content distribution network node. For example, then, according to the resource usage of at least one other running resource and the corresponding resource running threshold, the resource compression coefficient is obtained, for example, the unit resource capability of the public network bandwidth resource is a Mb / s, the CPU core number is b, and the initial capacity of the content distribution network node is a*b.

[0086] Then, the resource usage of each other running resource is obtained, and for example, according to the unit resource capability c of the memory resource and the product of the resource quantity (for example, the CPU core number) N of the target running resource, the resource usage of the memory resource is c*N. According to the device parameters of the content distribution network node, the corresponding resource running threshold can be obtained, for example, the resource running threshold of the memory resource is C. The resource usage c*N of the memory resource is compared with the resource running threshold C of the memory resource, if c*N is less than C, it is indicated that the memory resource is in an overload state under the condition that the CPU resource is in a high load state. If c*N is greater than C, it is indicated that the memory resource is in an overload state under the condition that the CPU resource is in a high load state, that is, before the CPU resource reaches the high resource usage state, the memory resource has appeared in an overload state, so that the CPU cannot reach the high resource usage state. In this case, the initial capacity calculated when the CPU resource reaches the high resource usage state needs to be compressed, and the corresponding resource compression coefficient can be determined according to the size or proportional relationship between the resource usage of the memory resource and the corresponding resource running threshold. The specific implementation mode of the resource compression coefficient can be set as needed. Finally, in the case that the other running resource (for example, the memory resource in the above example) is in an overload state, the initial capacity is compressed by using the resource compression coefficient to obtain a node capacity that satisfies the performance short side of the content distribution network node.

[0087] Step S205: obtaining the maximum flow link according to the maximum flow algorithm and the node capacity of each content distribution network node.

[0088] Step S206: obtaining the global capacity according to the capacity allocation result of the content distribution network node on the maximum flow link.

[0089] Exemplarily, the maximum flow algorithm is a kind of algorithm for solving the maximum flow problem, including the augmenting path algorithm, Dinic algorithm and the like. The content distribution network topology graph in the embodiment can be regarded as a kind of directed graph describing data flow direction. According to the definition of the directed graph, in the directed graph G=(V, E), there is a source point S and a sink point T. For each edge e, there is a capacity c(e) representing the maximum flow that the edge can carry. At the same time, each edge also has an actual flow f(e) satisfying f(e)≤c(e). The above maximum flow algorithm can be applied to such a directed graph to calculate the maximum flow between the source and the specified sink. In the embodiment, by using the maximum flow algorithm and the node capacity of each content distribution network node in the content distribution network topology graph, an augmenting path search can be performed to determine a directed link with one end located at the starting point of the content distribution network topology graph (equivalent to the source point) and the other end located at the ending point of the content distribution network topology graph (equivalent to the sink point), i.e. the maximum flow link. The link includes the node capacity of multiple content distribution network nodes. Then, the global capacity can be obtained according to the capacity allocation result of the content distribution network nodes on the maximum flow link.

[0090] The above process will be described in a more specific embodiment below. Taking the Dinic algorithm as an example, for each round of loop, first, a level graph is constructed, only retaining the points and part of the edges in the content distribution network topology graph, so that the directed edges can only go from high level to low level, and there cannot be edges backtracking between the same level or across levels. Then, the blocked flow is searched in the constructed level graph. After that, the residual graph is updated, the used flow in the blocked flow is deleted, and the corresponding reverse edges are added. The above process is looped, and when there is no path from the starting point to the ending point, the loop is terminated. When the loop is terminated, all the reverse edges are removed, and the idle flow on each edge is left. The initial capacity of each edge minus the idle capacity is the capacity that can be used in the maximum flow state. According to the capacity allocation of each edge in the maximum flow state, the maximum capacity of the content distribution network topology graph, i.e. the global capacity, can be calculated.

[0091] Of course, in other possible implementations, other maximum flow algorithms can also be used to obtain the global capacity. Since the maximum flow algorithm is prior art known to those skilled in the art, it will not be described in detail here.

[0092] Step S207: allocating the global capacity according to the service data of the target service to obtain the available capacity corresponding to the target service. The service data represents the service access amount feature of the target service, and the available capacity represents the maximum data flow allocated to the target service.

[0093] Exemplarily, after obtaining the global capacity of the content distribution network system, in one possible implementation, the service data includes a pre-generated configuration file in which the traffic distribution proportion corresponding to different target services is recorded. Based on the configuration file, the available capacity corresponding to each target service can be obtained. In another possible implementation, the edge node capacity of the edge content distribution network node can be determined through the service data, and then the allocation of the available capacity corresponding to the target service is realized. Specifically, in one possible implementation, as shown in FIG. 11, the specific implementation of step S207 includes:

[0094] Step S2071: determining the edge content distribution network nodes corresponding to at least two target services respectively according to the content distribution network topology graph.

[0095] Step S2072: performing capacity allocation on each edge content distribution network node according to the service data, to obtain the edge node capacity of each edge content distribution network node.

[0096] Step S2073: obtaining the available capacity corresponding to the target service according to the edge node capacity of each edge content distribution network node and the corresponding relationship between the edge content distribution network node and the target service.

[0097] Exemplarily, first, the edge content distribution network nodes corresponding to the target services are determined from the content distribution network topology graph, wherein the edge content distribution network node is the lowermost content distribution network node. Referring to the content distribution network topology graph shown in FIG. 3, the edge content distribution network node is the content distribution network node connected with the terminal point of the content distribution network topology graph, for example, the services corresponding to different countries / regions, and the target services are connected with the above edge content distribution network nodes. Then, the global capacity is allocated according to the service data, for example, combined with the historical peak data traffic proportion, the available capacity proportion of each service under the outermost resource perspective is obtained, and then combined with the global capacity, the corresponding available capacity is obtained.

[0098] FIG. 12 is a schematic diagram of determining available capacity corresponding to a target service according to an embodiment of the present disclosure. As shown in FIG. 12, for a video live streaming application scenario, target live streaming services corresponding to a live streaming content distribution network system sys_1 include live streaming service A and live streaming service B, and a global capacity (from Start to End) of the live streaming content distribution network system sys_1 is T. The live streaming service A corresponds to edge content distribution network nodes P1 and P2, and the live streaming service B corresponds to edge content distribution network node P3. According to live streaming service data, after capacity allocation is performed on the edge content distribution network nodes, the edge node capacity of the edge content distribution network node P1 is 0.2T, the edge node capacity of the edge content distribution network node P2 is 0.2T, and the edge node capacity of the edge content distribution network node P3 is 0.6T. Then, according to the correspondence between the edge content distribution network nodes and the target live streaming services, the available capacity of the live streaming service A is 0.4T, and the available capacity of the live streaming service B is 0.4T.

[0099] In this embodiment, the global capacity is obtained by combining the maximum flow algorithm, and then the global capacity is allocated according to live streaming service data to obtain available capacity of the target live streaming service matched with service access volume characteristics. In this process, upstream and downstream resource bottlenecks are considered comprehensively, and the optimal capacity value can be predicted, thereby improving the accuracy of traffic allocation and improving the operation stability of the live streaming content distribution network system.

[0100] In this embodiment, the implementation manner of step S201 is the same as that of step S101 in the embodiment shown in FIG. 2 of the present disclosure, and thus will not be described herein.

[0101] Corresponding to the data traffic allocation method of the above embodiment, FIG. 13 is a structural block diagram of a data traffic allocation apparatus according to an embodiment of the present disclosure. The method described in the above embodiments can be executed by the data traffic allocation apparatus. The apparatus can be implemented in a software and / or hardware manner, and the apparatus can be integrated in an electronic device having a certain data processing function. The electronic device can include, but is not limited to, a mobile terminal having a large data processing capability, and a fixed terminal such as a desktop computer and a supercomputer having a large data processing capability.

[0102] For ease of illustration, only parts related to the embodiments of the present disclosure are shown. Referring to FIG. 13, the data traffic allocation apparatus 3 includes:

[0103] The acquisition module 31 is configured to acquire a content distribution network topology graph of a content distribution network system. The content distribution network topology graph includes content distribution network nodes at different levels. The hierarchical structure of the content distribution network topology graph represents a multi-level cache architecture of the content distribution network system, and the connection relationship between the content distribution network nodes represents a data traffic transmission path.

[0104] The processing module 32 is configured to obtain a global capacity of the content distribution network system based on the content distribution network topology diagram, the global capacity representing a maximum data flow that the content distribution network system can carry;

[0105] The distribution module 33 is configured to distribute the global capacity according to service data of the target service to obtain available capacity corresponding to the target service, the service data representing service access amount features of the target service, and the available capacity representing a maximum data flow allocated to the target service.

[0106] According to one or more embodiments of the present disclosure, the processing module 32 is specifically configured to: obtain each content distribution network node based on the content distribution network topology diagram, and obtain node capacities of the each content distribution network node, the node capacity representing a maximum data flow that the content distribution network node can carry; and obtain the global capacity of the content distribution network system according to the node capacities of the each content distribution network node.

[0107] According to one or more embodiments of the present disclosure, when obtaining the node capacities of the each content distribution network node, the processing module 32 is specifically configured to: obtain at least two node operating resources of the content distribution network node, the node operating resource representing resources required by the content distribution network node when processing data flow; and obtain the node capacity of the content distribution network node according to the at least two node operating resources of the content distribution network node.

[0108] According to one or more embodiments of the present disclosure, the node operating resource includes one target operating resource and at least one reference operating resource; and when obtaining the node capacity of the content distribution network node according to the at least two node operating resources of the content distribution network node, the processing module 32 is specifically configured to: obtain a resource quantity of the target operating resource; obtain a unit resource capacity corresponding to the reference operating resource according to the resource quantity of the target operating resource, the unit resource quantity representing a resource usage amount of the reference operating resource under a unit quantity of the target operating resource; and obtain the node capacity of the content distribution network node according to the unit resource capacity corresponding to the reference operating resource.

[0109] According to one or more embodiments of the present disclosure, when obtaining the unit resource capacity corresponding to the reference operating resource according to the resource quantity of the target operating resource, the processing module 32 is specifically configured to: obtain target operating data of the content distribution network node, the target operating data including resource usage amounts of the target operating resource and the reference operating resource, wherein the target operating resource is in a high resource usage amount state; and obtain the unit resource capacity corresponding to the reference operating resource according to a ratio of the resource usage amount of the reference operating resource to the resource quantity of the target operating resource in the target operating data.

[0110] According to one or more embodiments of the present disclosure, the reference running resource includes public network bandwidth resource and at least one other running resource; when the processing module 32 obtains the node capacity of the content distribution network node according to the unit resource capability corresponding to the reference running resource, the processing module 32 is specifically configured to: obtain the initial capacity of the content distribution network node according to the unit resource capability of the public network bandwidth resource of the content distribution network node and the resource quantity of the current target running resource of the content distribution network node; obtain the resource compression coefficient according to the resource usage quantity of the at least one other running resource and the corresponding resource running threshold; and obtain the node capacity of the content distribution network node according to the initial capacity and the resource compression coefficient.

[0111] According to one or more embodiments of the present disclosure, the node running resource includes at least two of the following: central processing unit resource, public network bandwidth resource, memory resource, network card bandwidth resource, and transcoding computing resource.

[0112] According to one or more embodiments of the present disclosure, when the processing module 32 obtains the global capacity of the content distribution network system according to the node capacity of each content distribution network node, the processing module 32 is specifically configured to: obtain the maximum flow link according to the maximum flow algorithm and the node capacity of each content distribution network node; and obtain the global capacity according to the capacity allocation result of the content distribution network node on the maximum flow link.

[0113] According to one or more embodiments of the present disclosure, when the processing module 32 obtains the maximum flow link according to the maximum flow algorithm and the node capacity of each content distribution network node, the processing module 32 is specifically configured to:

[0114] .

[0115] According to one or more embodiments of the present disclosure, the obtaining module 31 is specifically configured to: obtain service information and resource coverage information, wherein the resource coverage information represents the covered node resources under the live content distribution strategy corresponding to different service scenarios; the service information represents the node resource selection scheme corresponding to the service scenario; and generate the content distribution network topology graph according to the service information and the resource coverage information.

[0116] According to one or more embodiments of the present disclosure, the distribution module 33 is specifically configured to: determine the edge content distribution network node corresponding to each of the at least two target services according to the content distribution network topology graph; perform capacity distribution on each edge content distribution network node according to the service data to obtain the edge node capacity of each edge content distribution network node; and obtain the available capacity corresponding to the target service according to the edge node capacity of each edge content distribution network node and the correspondence between the edge content distribution network node and the target service.

[0117] The acquisition module 31, the processing module 32 and the distribution module 33 are connected in sequence. The data flow distribution apparatus 3 provided by the embodiment can execute the technical solutions of the method embodiments, and has similar implementation principles and technical effects. Details are not described herein again.

[0118] Fig. 14 is a structural schematic diagram of an electronic device provided by an embodiment of the present disclosure. As shown in Fig. 14, the electronic device 4 includes:

[0119] a processor 41, and a memory 42 connected with the processor 41 in communication;

[0120] The memory 42 stores computer execution instructions.

[0121] The processor 41 executes the computer execution instructions stored in the memory 42 to implement the data flow distribution method in the embodiments shown in Figs. 2-12.

[0122] Optionally, the processor 41 and the memory 42 are connected through a bus 43.

[0123] The related description can be understood by referring to the related description and effects of the steps in the embodiments corresponding to Figs. 2-12. Details are not described herein again.

[0124] An embodiment of the present disclosure provides a computer readable storage medium, and the computer readable storage medium stores computer execution instructions. When the computer execution instructions are executed by a processor, the computer execution instructions are used to implement the data flow distribution method provided by any one of the embodiments corresponding to Figs. 2-12 of the present disclosure.

[0125] An embodiment of the present disclosure provides a computer program product, and the computer program product includes a computer program. When the computer program is executed by a processor, the computer program implements the data flow distribution method provided by any one of the embodiments corresponding to Figs. 2-12 of the present disclosure.

[0126] In order to implement the above-mentioned embodiments, an embodiment of the present disclosure further provides an electronic device.

[0127] Referring to FIG. 15, a structural diagram of an electronic device 900 suitable for implementing embodiments of the disclosure is shown, which can be a terminal device or a server. The terminal device can include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a Personal Digital Assistant (PDA), a Portable Android Device (PAD), a Portable Media Player (PMP), a car terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in FIG. 15 is merely an example and should not impose any limitation on the functions and use range of embodiments of the disclosure.

[0128] As shown in FIG. 15, the electronic device 900 can include a processing device (e.g., a central processor, a graphic processor, etc.) 901 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 902 or a program loaded into a Random Access Memory (RAM) 903 from a storage device 908. Various programs and data required for the operation of the electronic device 900 are also stored in the RAM 903. The processing device 901, the ROM 902, and the RAM 903 are connected to each other through a bus 904. An Input / Output (I / O) interface 905 is also connected to the bus 904.

[0129] In general, the following devices can be connected to the I / O interface 905: an input device 906 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, and the like; an output device 907 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; a storage device 908 including, for example, a magnetic tape, a hard disk, and the like; and a communication device 909. The communication device 909 can allow the electronic device 900 to communicate with other devices wirelessly or via a wire to exchange data. Although FIG. 15 shows the electronic device 900 having various devices, it should be understood that all of the shown devices are not required to be implemented or provided. More or less devices can be alternatively implemented or provided.

[0130] In particular, according to embodiments of the present disclosure, the processes described above with reference to the flowcharts can be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a computer readable medium, the computer program comprising program code for performing the methods illustrated by the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via the communication device 909, or installed from the storage device 908, or installed from the ROM 902. When the computer program is executed by the processing device 901, the above-mentioned functions defined in the methods of the embodiments of the present disclosure are performed.

[0131] Note that the computer readable medium described above in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination thereof. The computer readable storage medium may, for example, be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any suitable combination of the above. More specific examples of the computer readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, the computer readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus or device. In the present disclosure, the computer readable signal medium can include a data signal carried in a baseband or as part of a carrier wave, in which the computer readable program code is carried. Such a propagated data signal can take any of a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium can also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate or transport a program for use by or in connection with an instruction execution system, apparatus or device. The program code contained on the computer readable medium can be transmitted by any suitable medium, including but not limited to wire, cable, RF (radio frequency), or any suitable combination of the above.

[0132] The computer readable medium described above can be included in the electronic device described above; or can exist separately from the electronic device and be not assembled in the electronic device.

[0133] The computer readable medium described above carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the methods illustrated by the embodiments described above.

[0134] Computer program code for carrying out operations of the present disclosure can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0135] The computer program instructions can also be loaded onto a computer or other programmable information processing apparatus to cause a series of operations to be performed on the computer or other programmable information processing apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable information processing apparatus implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0136] The units or modules described in the embodiments of the present disclosure can be implemented by software, or by hardware. In some cases, the name of the unit or module does not constitute a limitation on the unit itself.

[0137] The functions described in the above description can be performed at least in part by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.

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

[0139] In a first aspect, according to one or more embodiments of the present disclosure, a data traffic allocation method is provided, comprising:

[0140] obtaining a content distribution network topology graph of a content distribution network system, wherein the content distribution network topology graph comprises content distribution network nodes at different levels, a hierarchical structure of the content distribution network topology graph represents a multi-level cache architecture of the content distribution network system, and a connection relationship between the content distribution network nodes represents a transmission path of data traffic; based on the content distribution network topology graph, obtaining a global capacity of the content distribution network system, the global capacity representing a maximum data traffic that the content distribution network system can carry; and allocating the global capacity according to service data of a target service to obtain an available capacity corresponding to the target service, the service data representing a service access amount feature of the target service, and the available capacity representing a maximum data traffic allocated to the target service.

[0141] According to one or more embodiments of the present disclosure, based on the content distribution network topology graph, obtaining a global capacity of the content distribution network system comprises: based on the content distribution network topology graph, obtaining each content distribution network node and acquiring a node capacity of each content distribution network node, the node capacity representing a maximum data traffic that the content distribution network node can carry; and according to the node capacity of each content distribution network node, obtaining the global capacity of the content distribution network system.

[0142] According to one or more embodiments of the present disclosure, the obtaining of the node capacity of each content distribution network node comprises: obtaining at least two node operation resources of the content distribution network node, the node operation resources representing resources required by the content distribution network node when processing data traffic; and obtaining the node capacity of the content distribution network node according to the at least two node operation resources of the content distribution network node.

[0143] According to one or more embodiments of the present disclosure, the node operation resources comprise one target operation resource and at least one reference operation resource; and the obtaining of the node capacity of the content distribution network node according to the at least two node operation resources of the content distribution network node comprises: obtaining a resource quantity of the target operation resource; obtaining a unit resource capability corresponding to the reference operation resource according to the resource quantity of the target operation resource, the unit resource quantity representing a resource usage quantity of the reference operation resource under a unit quantity of the target operation resource; and obtaining the node capacity of the content distribution network node according to the unit resource capability corresponding to the reference operation resource.

[0144] According to one or more embodiments of the present disclosure, the obtaining of the unit resource capability corresponding to the reference operation resource according to the resource quantity of the target operation resource comprises: obtaining target operation data of the content distribution network node, the target operation data comprising resource usage quantities of the target operation resource and the reference operation resource, wherein the target operation resource is in a high resource usage state; and obtaining the unit resource capability corresponding to the reference operation resource according to a ratio of the resource usage quantity of the reference operation resource to the resource quantity of the target operation resource in the target operation data.

[0145] According to one or more embodiments of the present disclosure, the reference operation resource comprises a public network bandwidth resource and at least one other operation resource; and the obtaining of the node capacity of the content distribution network node according to the unit resource capability corresponding to the reference operation resource comprises: obtaining an initial capacity of the content distribution network node according to the unit resource capability of the public network bandwidth resource of the content distribution network node and the resource quantity of the target operation resource of the content distribution network node; obtaining a resource compression coefficient according to a resource usage quantity of the at least one other operation resource and a corresponding resource operation threshold value; and obtaining the node capacity of the content distribution network node according to the initial capacity and the resource compression coefficient.

[0146] According to one or more embodiments of the present disclosure, the node operation resources comprise at least two of the following: a central processing unit resource, a public network bandwidth resource, a memory resource, a network card bandwidth resource, and a transcoding computing resource.

[0147] According to one or more embodiments of the present disclosure, the global capacity of the content distribution network system is obtained according to the node capacities of the content distribution network nodes, including: obtaining maximum flow links according to a maximum flow algorithm and the node capacities of the content distribution network nodes; and obtaining the global capacity according to capacity allocation results of the content distribution network nodes on the maximum flow links.

[0148] According to one or more embodiments of the present disclosure, the maximum flow links are obtained according to the maximum flow algorithm and the node capacities of the content distribution network nodes, including:.

[0149] According to one or more embodiments of the present disclosure, the content distribution network topology graph of the content distribution network system is obtained, including: obtaining service information and resource coverage information, wherein the resource coverage information represents node resources covered under a live content distribution strategy corresponding to different service scenarios; the service information represents a node resource selection scheme corresponding to a service scenario; and the content distribution network topology graph is generated according to the service information and the resource coverage information.

[0150] According to one or more embodiments of the present disclosure, the available capacity corresponding to a target service is obtained by allocating the global capacity according to service data of the target service, including: determining edge content distribution network nodes corresponding to at least two target services respectively according to the content distribution network topology graph; performing capacity allocation on each edge content distribution network node according to the service data to obtain an edge node capacity of each edge content distribution network node; and obtaining the available capacity corresponding to the target service according to the edge node capacities of the edge content distribution network nodes and a corresponding relationship between the edge content distribution network nodes and the target service.

[0151] In a second aspect, according to one or more embodiments of the present disclosure, a data flow allocation apparatus is provided, including:

[0152] The obtaining module is configured to obtain a content distribution network topology graph of a content distribution network system, wherein the content distribution network topology graph includes content distribution network nodes at different levels, a hierarchical structure of the content distribution network topology graph represents a multi-level cache architecture of the content distribution network system, and a connection relationship between the content distribution network nodes represents a data flow transmission path.

[0153] The processing module is configured to obtain a global capacity of the content distribution network system based on the content distribution network topology graph, wherein the global capacity represents maximum data flow that can be carried by the content distribution network system.

[0154] The allocation module is configured to allocate the global capacity according to service data of a target service to obtain available capacity corresponding to the target service, wherein the service data represents a service access amount feature of the target service, and the available capacity represents a maximum data flow allocated to the target service.

[0155] According to one or more embodiments of the present disclosure, the processing module is specifically configured to: obtain each content distribution network node based on the content distribution network topology graph, and acquire node capacity of each content distribution network node, wherein the node capacity represents a maximum data flow that can be carried by the content distribution network node; and obtain the global capacity of the content distribution network system according to the node capacity of each content distribution network node.

[0156] According to one or more embodiments of the present disclosure, when acquiring the node capacity of each content distribution network node, the processing module is specifically configured to: acquire at least two node operating resources of the content distribution network node, wherein the node operating resource represents a resource required when the content distribution network node processes data flow; and obtain the node capacity of the content distribution network node according to the at least two node operating resources of the content distribution network node.

[0157] According to one or more embodiments of the present disclosure, the node operating resource includes a target operating resource and at least one reference operating resource; and when obtaining the node capacity of the content distribution network node according to the at least two node operating resources of the content distribution network node, the processing module is specifically configured to: acquire a resource quantity of the target operating resource; obtain a unit resource capacity corresponding to the reference operating resource according to the resource quantity of the target operating resource, wherein the unit resource quantity represents a resource usage amount of the reference operating resource under a unit quantity of the target operating resource; and obtain the node capacity of the content distribution network node according to the unit resource capacity corresponding to the reference operating resource.

[0158] According to one or more embodiments of the present disclosure, when obtaining the unit resource capacity corresponding to the reference operating resource according to the resource quantity of the target operating resource, the processing module is specifically configured to: acquire target operating data of the content distribution network node, wherein the target operating data includes resource usage amounts of the target operating resource and the reference operating resource, and the target operating resource is in a high resource usage state; and obtain the unit resource capacity corresponding to the reference operating resource according to a ratio of the resource usage amount of the reference operating resource to the resource quantity of the target operating resource in the target operating data.

[0159] According to one or more embodiments of the present disclosure, the reference running resource includes public network bandwidth resource and at least one other running resource; when obtaining the node capacity of the content distribution network node according to the unit resource capability corresponding to the reference running resource, the processing module is specifically configured to: obtain the initial capacity of the content distribution network node according to the unit resource capability of the public network bandwidth resource of the content distribution network node and the resource quantity of the current target running resource of the content distribution network node; obtain the resource compression coefficient according to the resource usage quantity of the at least one other running resource and the corresponding resource running threshold; and obtain the node capacity of the content distribution network node according to the initial capacity and the resource compression coefficient.

[0160] According to one or more embodiments of the present disclosure, the node running resource includes at least two of the following: central processing unit resource, public network bandwidth resource, memory resource, network card bandwidth resource and transcoding computing resource.

[0161] According to one or more embodiments of the present disclosure, when obtaining the global capacity of the content distribution network system according to the node capacity of each content distribution network node, the processing module is specifically configured to: obtain the maximum flow link according to the maximum flow algorithm and the node capacity of each content distribution network node; and obtain the global capacity according to the capacity allocation result of the content distribution network node on the maximum flow link.

[0162] According to one or more embodiments of the present disclosure, when obtaining the maximum flow link according to the maximum flow algorithm and the node capacity of each content distribution network node, the processing module is specifically configured to:

[0163] .

[0164] According to one or more embodiments of the present disclosure, the obtaining module is specifically configured to: obtain service information and resource coverage information, wherein the resource coverage information represents the covered node resources under the live content distribution strategy corresponding to different service scenarios; the service information represents the node resource selection scheme corresponding to the service scenario; and the content distribution network topology graph is generated according to the service information and the resource coverage information.

[0165] According to one or more embodiments of the present disclosure, the allocation module is specifically configured to: determine at least two edge content distribution network nodes corresponding to each target service according to the content distribution network topology graph; perform capacity allocation on each edge content distribution network node according to the service data to obtain the edge node capacity of each edge content distribution network node; and obtain the available capacity corresponding to the target service according to the edge node capacity of each edge content distribution network node and the corresponding relationship between the edge content distribution network node and the target service.

[0166] In a third aspect, an electronic device is provided, including: at least one processor and a memory, according to one or more embodiments of the present disclosure;

[0167] The memory stores computer-executable instructions;

[0168] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the data traffic allocation method according to the first aspect and various possible designs of the first aspect.

[0169] In a fourth aspect, a computer-readable storage medium is provided, storing computer-executable instructions, which, when executed by a processor, implement the data traffic allocation method according to the first aspect and various possible designs of the first aspect.

[0170] In a fifth aspect, a computer program product is provided, including a computer program, which, when executed by a processor, implement the data traffic allocation method according to the first aspect and various possible designs of the first aspect.

[0171] The above description is merely preferred embodiments of the present disclosure and a description of the principles of the technology employed. It should be understood by those skilled in the art that the disclosed scope of the present disclosure is not limited to the technical solutions formed by the specific combinations of the above technical features, and should also cover other technical solutions formed by the combinations of the above technical features or equivalent features thereof without departing from the above disclosed concept. For example, the technical solutions formed by the mutual replacement of the above features and the technical features disclosed in the present disclosure (but not limited to) having similar functions.

[0172] In addition, although each operation is depicted in a particular order, this should not be understood as requiring the operations to be performed in the particular order shown or in sequential order. In certain circumstances, multitasking and parallel processing can be advantageous. Similarly, although several implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Certain features described in the context of separate embodiments can also be combined in a single embodiment. Conversely, various features described in the context of a single embodiment can also be separated and implemented in multiple embodiments.

[0173] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims

1. A data traffic allocation method, comprising: obtaining a content distribution network topology of a content distribution network system, wherein the content distribution network topology comprises content distribution network nodes at different levels, a hierarchical structure of the content distribution network topology represents a multi-level cache architecture of the content distribution network system, and a connection relationship between the content distribution network nodes represents a transmission path of data traffic; obtaining a global capacity of the content distribution network system based on the content distribution network topology, the global capacity representing a maximum data traffic that the content distribution network system can carry; allocating the global capacity according to service data of a target service to obtain an available capacity corresponding to the target service, the service data representing a service access amount feature of the target service, and the available capacity representing a maximum data traffic allocated to the target service.

2. The method of claim 1, wherein, The obtaining of the global capacity of the content distribution network system based on the content distribution network topology comprises: obtaining each content distribution network node based on the content distribution network topology and obtaining a node capacity of each content distribution network node, the node capacity representing a maximum data traffic that the content distribution network node can carry; obtaining the global capacity of the content distribution network system according to the node capacities of the content distribution network nodes.

3. The method of claim 2, wherein, The obtaining of the node capacities of the content distribution network nodes comprises: obtaining at least two node operating resources of the content distribution network node, the node operating resources representing resources required by the content distribution network node when processing data traffic; obtaining the node capacity of the content distribution network node according to the at least two node operating resources of the content distribution network node.

4. The method of claim 3, wherein, The node operating resources comprise a target operating resource and at least one reference operating resource. The obtaining of the node capacity of the content distribution network node according to the at least two node operating resources of the content distribution network node comprises: obtaining a resource quantity of the target operating resource; obtaining a unit resource capacity corresponding to the reference operating resource according to the resource quantity of the target operating resource, the unit resource quantity representing a resource usage amount of the reference operating resource under a unit quantity of the target operating resource; obtaining the node capacity of the content distribution network node according to the unit resource capacity corresponding to the reference operating resource.

5. The method of claim 4, wherein, The obtaining of the unit resource capacity corresponding to the reference operating resource according to the resource quantity of the target operating resource comprises: obtaining target operating data of the content distribution network node, the target operating data comprising resource usage amounts of the target operating resource and the reference operating resource, wherein the target operating resource is in a high resource usage state; obtaining the unit resource capacity corresponding to the reference operating resource according to a ratio of the resource usage amount of the reference operating resource to the resource quantity of the target operating resource in the target operating data.

6. The method of claim 4, wherein, The reference operating resource comprises a public network bandwidth resource and at least one other operating resource. The node capacity of the content distribution network node is obtained according to the unit resource capability corresponding to the reference running resource, and the node capacity of the content distribution network node comprises: An initial capacity of the content distribution network node is obtained according to the unit resource capability of the public network bandwidth resource of the content distribution network node and the resource quantity of the current target running resource of the content distribution network node; A resource compression coefficient is obtained according to the resource usage quantity of the at least one other running resource and the corresponding resource running threshold value; The node capacity of the content distribution network node is obtained according to the initial capacity and the resource compression coefficient.

7. The method of claim 3, wherein, The node running resource comprises at least two of the following: A central processing unit resource, a public network bandwidth resource, a memory resource, a network card bandwidth resource and a transcoding calculation resource.

8. The method of claim 2, wherein, The global capacity of the content distribution network system is obtained according to the node capacity of each content distribution network node, and the global capacity of the content distribution network system comprises: A maximum flow link is obtained according to a maximum flow algorithm and the node capacity of each content distribution network node; The global capacity is obtained according to the capacity allocation result of the content distribution network node on the maximum flow link.

9. The method of claim 1, wherein, The content distribution network topology graph of the content distribution network system is obtained, and the content distribution network topology graph comprises: Business information and resource coverage information are obtained, wherein the resource coverage information represents node resources covered under a live content distribution strategy corresponding to different business scenarios, and the business information represents a node resource selection scheme corresponding to a business scenario; The content distribution network topology graph is generated according to the business information and the resource coverage information.

10. The method of claim 1, wherein, The available capacity corresponding to a target business is obtained by allocating the global capacity according to business data of the target business, and the available capacity corresponding to the target business comprises: At least two edge content distribution network nodes corresponding to the target business are determined according to the content distribution network topology graph; Edge node capacities of the at least two edge content distribution network nodes are obtained by performing capacity allocation on the at least two edge content distribution network nodes according to the business data; The available capacity corresponding to the target business is obtained according to the edge node capacities of the at least two edge content distribution network nodes and a corresponding relationship between the at least two edge content distribution network nodes and the target business.

11. A data flow allocation apparatus, comprising: An acquisition module configured to acquire a content distribution network topology graph of a content distribution network system, wherein the content distribution network topology graph comprises content distribution network nodes at different levels, a hierarchical structure of the content distribution network topology graph represents a multi-level cache architecture of the content distribution network system, and a connection relationship between the content distribution network nodes represents a data flow transmission path; A processing module configured to obtain a global capacity of the content distribution network system based on the content distribution network topology graph, wherein the global capacity represents a maximum data flow that can be carried by the content distribution network system; An allocation module configured to allocate the global capacity according to business data of a target business to obtain an available capacity corresponding to the target business, wherein the business data represents a business access amount feature of the target business, and the available capacity represents a maximum data flow allocated to the target business.

12. An electronic device comprising: a processor and a memory; the memory stores computer-executed instructions; the processor executes the computer-executed instructions stored in the memory, so that the processor executes the data flow allocation method according to any one of claims 1 to 10.

13. A computer-readable storage medium, having stored therein computer-executed instructions, which, when executed by a processor, implement the data flow allocation method according to any one of claims 1 to 10.

14. A computer program product, comprising a computer program which, when executed by a processor, implements the data flow allocation method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • CDN topological structure generating method and system

    CN105847159A

  • Network slice virtual resource allocation method, system and device

    CN110768837A

  • Content distribution method and system

    CN113329050A

  • Service resource scheduling method and device

    CN118233521A

  • Method for determining system topology graph changes in a distributed computing system

    US20140122706A1