Access point dynamic scheduling method and device, electronic equipment and storage medium
By dynamically scheduling clients to edge nodes with lower loads, the problems of unbalanced load and low resource utilization in multi-terminal video communication systems are solved, thereby improving video communication quality and resource utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING ZITIAO NETWORK TECH CO LTD
- Filing Date
- 2024-11-26
- Publication Date
- 2026-05-26
AI Technical Summary
In existing technologies, edge nodes in multi-terminal video communication systems are prone to load imbalance and low resource utilization, leading to a decline in video communication quality.
After a multi-terminal video communication task is started, the system periodically acquires access information of edge nodes in the video communication network, calculates the load value based on the client identifier and quantity, and dynamically schedules clients to edge nodes with lower loads, thereby achieving load balancing and resource optimization.
It improves the resource utilization of edge nodes, enhances the quality and smoothness of multi-terminal video communication, and avoids problems such as excessive instantaneous load and resource waste of edge nodes.
Smart Images

Figure CN122093393A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of cloud computing technology, and in particular to a method, apparatus, electronic device, and storage medium for dynamic scheduling of access points. Background Technology
[0002] In multi-device video communication applications such as multi-person conferencing and multi-device live streaming, video servers need to simultaneously push and pull multiple video signals. To improve video communication quality, existing technologies typically employ a distributed communication architecture, setting up multiple edge nodes and a root video node in the video communication network. After a video communication client connects to an edge node, it pushes its video stream (uploads the video stream) through the edge node, and then distributes the uploaded video stream through the root video node. On the other hand, after the root video node distributes the video stream to the edge nodes, the client pulls the video stream through the edge nodes for playback, thus achieving the purpose of load sharing and improving the efficiency of pushing and pulling video streams, thereby improving the quality of multi-device video communication.
[0003] In existing technologies, to ensure the operational stability of edge nodes, a fixed access point capacity limit is typically configured for each edge node, such as limiting each edge node to a maximum of 200 client connections. However, in multi-terminal video communication applications, the above solutions suffer from problems such as unbalanced load and low resource utilization at the edge nodes, affecting the quality of multi-terminal video communication. Summary of the Invention
[0004] This disclosure provides a method, apparatus, electronic device, and storage medium for dynamic scheduling of access points to overcome problems such as unbalanced load and low resource utilization at edge nodes.
[0005] In a first aspect, embodiments of this disclosure provide a method for dynamic scheduling of access points, including:
[0006] After the multi-terminal video communication task is started, access information sent by each working edge node in the video communication network is periodically acquired. The video communication network is a content distribution network used to implement the multi-terminal video communication task. The access information is used to characterize the client identifier of the client accessing the working edge node, and the number of clients corresponding to each client identifier. The access load generated by clients with different client identifiers after accessing the working edge node is different. According to the access information sent by each working edge node, the load value corresponding to each working edge node is obtained. The load value characterizes the load level of the working edge node. According to the load value corresponding to each working edge node, at least one first target edge node is determined, and at least one client accessing the first target edge node is scheduled to a second target edge node in the video communication network. The load level of the first target edge node is greater than the load level of the second target edge node.
[0007] Secondly, embodiments of this disclosure provide an access point dynamic scheduling device, comprising:
[0008] The acquisition module is used to periodically acquire access information sent by each working edge node in the video communication network after the multi-terminal video communication task is started. The video communication network is a content distribution network used to implement the multi-terminal video communication task. The access information is used to characterize the client identifier of the client accessing the working edge node, and the number of clients corresponding to each client identifier. The access load generated by clients with different client identifiers after accessing the working edge node is different.
[0009] The processing module is used to obtain the load value corresponding to each of the working edge nodes based on the access information sent by each of the working edge nodes, wherein the load value represents the load level of the working edge node;
[0010] The scheduling module is used to determine at least one first target edge node based on the load value corresponding to each of the working edge nodes, and to schedule at least one client accessing the first target edge node to a second target edge node in the video communication network, wherein the load level of the first target edge node is greater than the load level of the second target edge node.
[0011] Thirdly, embodiments of this disclosure provide an electronic device, including: a processor and a memory;
[0012] The memory stores computer-executed instructions;
[0013] The processor executes computer execution instructions stored in the memory, causing the at least one processor to perform the access point dynamic scheduling method as described in the first aspect and various possible designs of the first aspect.
[0014] Fourthly, embodiments of this disclosure provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the access point dynamic scheduling method described in the first aspect and various possible designs of the first aspect.
[0015] Fifthly, embodiments of this disclosure provide a computer program product, including a computer program that, when executed by a processor, implements the access point dynamic scheduling method described in the first aspect and various possible designs of the first aspect.
[0016] The access point dynamic scheduling method, apparatus, electronic device, and storage medium provided in this embodiment periodically acquire access information sent by each working edge node in the video communication network after the multi-terminal video communication task is started. The video communication network is a content distribution network used to implement the multi-terminal video communication task. The access information is used to characterize the client identifier of the client accessing the working edge node, and the number of clients corresponding to each client identifier. The access load generated by clients with different client identifiers after accessing the working edge node is different. According to the access information sent by each working edge node, the load value corresponding to each working edge node is obtained. The load value characterizes the load level of the working edge node. According to the load value corresponding to each working edge node, at least one first target edge node is determined, and at least one client accessing the first target edge node is scheduled to a second target edge node in the video communication network. The load level of the first target edge node is greater than the load level of the second target edge node. By acquiring access information sent by each working edge node in the video communication network, and comprehensively evaluating the load level of each working edge node through the client identifier and corresponding number of clients in the access information, the load of clients from working edge nodes with higher load levels is scheduled to working edge nodes with lower load levels, thereby achieving load balancing among the edge nodes in the video communication network, improving the resource utilization of edge nodes, and thus improving the quality of multi-terminal video communication. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is an application scenario diagram of the access point dynamic scheduling method provided in the embodiments of this disclosure;
[0019] Figure 2 Flowchart of the access point dynamic scheduling method provided in the embodiments of this disclosure Figure 1 ;
[0020] Figure 3 for Figure 2 A flowchart illustrating the specific implementation of step S102 in the illustrated embodiment;
[0021] Figure 4 for Figure 2 A flowchart illustrating the specific implementation of step S103 in the illustrated embodiment;
[0022] Figure 5 This is a schematic diagram of an access point scheduling process provided in an embodiment of the present disclosure;
[0023] Figure 6 Flowchart of the access point dynamic scheduling method provided in the embodiments of this disclosure Figure 2 ;
[0024] Figure 7 for Figure 6 A flowchart illustrating the specific implementation of step S206 in the illustrated embodiment;
[0025] Figure 8 for Figure 6 A flowchart of a specific implementation of step S209 in the illustrated embodiment;
[0026] Figure 9 for Figure 6 A flowchart of another specific implementation of step S209 in the illustrated embodiment;
[0027] Figure 10 This is a structural block diagram of the access point dynamic scheduling device provided in the embodiments of this disclosure;
[0028] Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure;
[0029] Figure 12 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0030] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0031] 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 used for analysis, data stored, data displayed, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.
[0032] The application scenarios of the embodiments of this disclosure are explained below:
[0033] The access point dynamic scheduling method provided in this disclosure can be applied to multi-terminal video communication application scenarios, more specifically, such as video live streaming scenarios with multiple anchors, multi-terminal video conferencing scenarios, etc. The executing entity in this embodiment can be a control server in a distributed video communication network that implements multi-terminal video communication, or other electronic devices that perform similar functions. In some embodiments, the control server can implement the access point dynamic scheduling method provided in this disclosure by running various computer-executable instructions or computer programs. For example, computer-executable instructions can be program-level commands, machine instructions, or software instructions. Computer programs can be native programs or software modules in an operating system; they can be local applications, i.e., programs that need to be installed in the operating system to run. In summary, the aforementioned computer-executable instructions can be any form of instruction, and the aforementioned computer programs can be any form of application, module, or plugin, and the specific implementation can be configured as needed. Furthermore, in the process of implementing the access point dynamic scheduling method provided in this disclosure, the control server can execute the method by running computer-executable instructions or computer programs set locally, or by calling computer-executable instructions or computer programs set in an external server. In some embodiments, the control server may be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud storage, cloud communication, cloud database, cloud computing, cloud functions, network services, middleware services, domain name services, security services, content delivery network (CDN), and big data and artificial intelligence platforms. Among these, cloud services may be interactive processing services that can be invoked and configured by terminal devices.
[0034] Figure 1 This is an application scenario diagram of the access point dynamic scheduling method provided in the embodiments of this disclosure, with reference to... Figure 1 As shown, the video communication network (system) includes at least one root video node and multiple edge nodes. Near the user, numerous edge nodes (such as edge node A and edge node B in the diagram) are located, serving as edge servers and edge devices. The video communication client (hereinafter referred to as the client) running on the user's terminal device uses this edge node as an access point. After establishing a connection, data transmission occurs. Specifically, on one hand, the client pushes video streams through the edge nodes, i.e., uploads the video stream, which is then distributed by the root video node. On the other hand, after the root video node distributes the video stream to the edge nodes through the distribution nodes, the client pulls the video stream through the edge nodes for playback, thereby achieving load sharing and improving the efficiency of pushing and pulling video streams.
[0035] In existing technologies, to ensure the operational stability of edge nodes, a fixed access point capacity limit is typically configured for each edge node, such as limiting each edge node to a maximum of 200 client connections. However, in multi-terminal video communication applications, clients exhibit a characteristic of random access based on their identifier type. Taking a multi-terminal video conferencing scenario as an example, in a multi-terminal video conference, there are 8 "guests" who need to speak and 1000 "ordinary viewers" who do not need to speak. Clients identified as "guests" and "ordinary viewers" will randomly connect to the edge node. In this case, since the "guests" need to display video feeds, clients identified as "guests" (e.g., client #1 in the diagram) need to simultaneously push and pull video streams through the edge node (e.g., edge node A in the diagram) after connecting to the edge node; while clients identified as "ordinary viewers" (e.g., client #2 in the diagram) only need to pull video streams through the edge node. That is, clients identified as "guests" incur greater resource overhead when connecting to the edge node. Existing solutions, because they do not differentiate between client identifiers, lead to problems. When the capacity limit of the edge node is designed for all "ordinary viewer" clients, the edge node will experience high debt and resource depletion when multiple "guest" clients access it, resulting in video stuttering. On the other hand, designing the capacity limit of the edge node for all "guest" clients will result in a large waste of edge node resources.
[0036] This disclosure provides an access point dynamic scheduling method to solve the above problems.
[0037] refer to Figure 2 , Figure 2 Flowchart of the access point dynamic scheduling method provided in the embodiments of this disclosure Figure 1 The method in this embodiment can be applied to a control server. This access point dynamic scheduling method includes:
[0038] Step S101: After the multi-terminal video communication task is started, the access information sent by each working edge node in the video communication network is periodically obtained. The video communication network is a content distribution network used to realize the multi-terminal video communication task. The access information is used to characterize the client identifier of the client accessing the working edge node, as well as the number of clients corresponding to each client identifier. Among them, the access load generated by clients with different client identifiers after accessing the working edge node is different.
[0039] For example, refer to Figure 1The illustrated application scenario diagram shows that, in this embodiment, the control server, which serves as the main execution unit of the method provided, can be deployed inside or outside the video communication network. More specifically, it can be a central server located in a data center, and can communicate directly or indirectly with each edge node in the video communication network. Alternatively, it can be... Figure 1 The root video node, i.e., the root video server, in the illustrated embodiment can be configured as needed and is not limited here. A multi-terminal video communication task is, for example, a multi-terminal video conference. After the multi-terminal video conference is created, the control server creates a process that periodically acquires access information sent by each working edge node in the video communication network. For example, it periodically receives access information sent by each working edge node in the video communication network. A working edge node refers to an edge node in a working state. In one possible implementation, the video communication network also includes edge nodes in a non-working state, i.e., non-working edge nodes. Non-working edge nodes can be activated as working edge nodes in response to commands from the control server, thereby achieving dynamic expansion of the video communication network.
[0040] Furthermore, the access information sent by the working edge node represents the client identifiers of the clients accessing the working edge node, as well as the number of clients corresponding to each client identifier. For example, the access information includes the client identifier that sent the new access, the client identifier itself, and the quantity value corresponding to each type of client identifier. More specifically, for example, the access information Info_1 includes two key-value pairs, [role_1, 201] and [role_2, 8], where role_1 indicates that the client identifier is "ordinary audience," and the corresponding number of clients is 201; role_2 indicates that the client identifier is "guest," and the corresponding number of clients is 8. That is, the working edge node that sent the access information Info_1 currently has 208 "ordinary audience" clients and 8 "guest" clients connected. The access load generated by clients with different client identifiers after connecting to the working edge node is different. For example, the access load generated by "guest" clients after connecting to the working edge node is greater than that of "ordinary audience" clients.
[0041] Step S102: Based on the access information sent by each working edge node, obtain the load value corresponding to each working edge node. The load value represents the load level of the working edge node.
[0042] For example, after receiving access information from each working edge node, the control server uses each access information to assess the current load level of the corresponding working edge node. Specifically, the number of clients accessing the working edge node is the base load that determines the load level of the working edge node; that is, the larger the number of clients, the higher the load level of the working edge node is generally. Based on the previous introduction, since clients with different client identifiers generate different access loads after accessing the working edge node, i.e., the client identifier has a certain weighting effect on the load, the load level of the working edge node, i.e., the load value, can be obtained by mapping the client identifier to different weighting coefficients and weighting them with the base load determined by the number of clients. In one possible implementation, such as... Figure 3 As shown, the specific implementation of step S102 includes:
[0043] Step S1021: Based on the access information sent by the working edge node, obtain the number of clients corresponding to each client identifier;
[0044] Step S1022: Obtain the load weighting coefficient corresponding to each client identifier;
[0045] Step S1023: Based on the number of clients corresponding to each client identifier, obtain the load assessment value corresponding to each client identifier;
[0046] Step S1024: Obtain the load value corresponding to the working edge node based on the load weighting coefficient and load evaluation value corresponding to each client identifier.
[0047] For example, firstly, based on the access information, the number of clients corresponding to each client identifier is obtained. The access information may include a specific number of clients, or it may include a quantity identifier representing a range of client numbers. For example, quantity identifier A indicates a client number of 1 to 10; quantity identifier B indicates a client number of 11 to 30; and quantity identifier C indicates a client number of 31 to 60. Then, based on the number of clients corresponding to each client identifier, a load assessment value corresponding to each client identifier is obtained. For example, the load assessment value for client identifier R1 is 102; the load assessment value for client identifier R2 is 8. Here, client identifier R1 represents "guest" clients, and client identifier R2 represents "regular audience" clients; 102 and 8 are the number of clients for client identifier R1 and client identifier R2, respectively, meaning the number of clients is directly used as the load assessment value. In another possible implementation, the load assessment value for client identifier R1 is A; the load assessment value for client identifier R2 is C, where the meanings of client identifiers R1 and R2 remain unchanged: A indicates a client number of 1 to 10; and C indicates a client number of 31 to 60. Next, the load weighting coefficient corresponding to each client identifier is obtained. For example, the load weighting coefficient for client identifier R1 is 1, and the load weighting coefficient for client identifier R2 is 0.7. Then, for each client identifier, the product of the load weighting coefficient and the load assessment value is calculated to obtain the product result. Finally, the product results corresponding to each client identifier are added together to obtain the load value corresponding to the working edge node.
[0048] For cases where the load assessment value is the number of clients (numerical value), the load value corresponding to the working edge node can be obtained by directly calculating the product of the number of clients and the load weighting coefficient, and summing them for each client identifier. This will not be elaborated further. For cases where the load assessment value is a quantity identifier representing a range, a weighted quantity range can be obtained by calculating the product of the upper and lower limits of the quantity range and the load weighting coefficient. Then, for each client identifier, the upper limit of the corresponding weighted quantity range is added to obtain the load value corresponding to the working edge node. Because the access information uploaded by the working edge nodes periodically has a certain lag, there may be a discrepancy between the calculated load level (load value) of the working edge node and the actual load level (calculated lower than actual). This can lead to problems such as excessive instantaneous load on individual working edge nodes, affecting video smoothness. In the implementation scheme provided in this embodiment, the specific number of clients is categorized, and the load value is calculated based on the upper limit of each categorization. This improves the redundancy of load estimation, avoids the problem of excessive instantaneous load on individual working edge nodes due to the lag in access information, and improves video smoothness.
[0049] Step S103: Based on the load value corresponding to each working edge node, determine at least one first target edge node, and schedule at least one client accessing the first target edge node to a second target edge node in the video communication network, wherein the load level of the first target edge node is greater than the load level of the second target edge node.
[0050] Furthermore, after obtaining the load value corresponding to each working edge node, the working edge node with the larger load value is determined as the first target edge node, and the working edge node with the smaller load value is determined as the second target edge node. At least one client accessing the first target edge node is scheduled to the second target edge node in the video communication network, thereby realizing dynamic scheduling of access points and improving the load balance of each working edge node.
[0051] For example, such as Figure 4 As shown, the specific implementation of step S103 includes:
[0052] Step S1031: Based on the first load threshold and the load value corresponding to each working edge node, determine at least one candidate edge node. The candidate edge node is a working edge node whose load value is greater than the first load threshold.
[0053] Step S1032: Sort each candidate edge node based on the load value, and determine the candidate edge node with the largest target number of load values as the first target edge node.
[0054] Step S1033: Obtain a second target edge node with a load less than the first target edge node, and schedule at least one client that has accessed the first target edge node to the second target edge node in the video communication network.
[0055] For example, the first load threshold is a preset value used to evaluate the load level of working edge nodes. When the load value of a working edge node is greater than the first load threshold, the load level is considered high and adjustment is needed; otherwise, no adjustment is made. Then, all working edge nodes with load values greater than the first load threshold are sorted according to their load values, and the target number of candidate edge nodes with the highest load values is determined as the first target edge node. The target number can be determined as needed. The first target edge node determined in this step is the working edge node whose (client) access points need to be reduced to lower the load level. Then, based on the load values of the edge nodes to be accessed (working edge nodes other than the first target edge node), for example, one or more working edge nodes with the lowest load values are designated as second target edge nodes, and at least one client accessing the first target edge node is scheduled to the second target edge node in the video communication network, thereby achieving the scheduling of the access points corresponding to the clients.
[0056] Figure 5 This is a schematic diagram of an access point scheduling process provided in an embodiment of this disclosure. The following is in conjunction with... Figure 5 To further explain the above process, such as... Figure 5As shown, after a multi-terminal video conference is started, the control server periodically receives access information from each working edge node in the video communication network. For example, it receives access information from working edge nodes p1, p2, and p3. Currently, working edge node p1 has clients user_0 and user_1 connected, working edge node p2 has clients user_2 and user_3 connected, and working edge node p3 has clients user_4, user_5, and user_6 connected. Then, using the client identifiers in the access information and the number of clients corresponding to those identifiers, the load values for working edge nodes p1, p2, and p3 are calculated, which are 1oad_1 = 0.2, 1oad_2 = 0.3, and 1oad_3 = 0.6, respectively. Next, by comparing with the first load threshold th_1 = 0.5, the working edge node p3 corresponding to 1oad_3 is determined as the first target edge node, and the working edge node p1 with the smallest load value (1oad_1) is determined as the second target edge node. The first number of clients connected to the first target edge node (working edge node p3) are then scheduled to the second target edge node (working edge node p1). For example, client user_6 connected to working edge node p3 is connected to working edge node p1, changing the number of clients connected to working edge node p1 from the original clients user_0 and user_1 to clients user_0, user_1, and user_6. After scheduling, each working edge node sends access information to the control server again after one cycle. The control server calculates the load values of working edge nodes p1, p2, and p3 based on the scheduled client access status, resulting in load values 1oad_1 = 0.4, 1oad_2 = 0.3, and 1oad_3 = 0.4, respectively.
[0057] In this embodiment, after the multi-terminal video communication task is started, access information sent by each working edge node in the video communication network is periodically acquired. This access information represents the client identifier of the client accessing the working edge node, and the number of clients corresponding to each identifier. Clients with different identifiers generate different access loads after accessing the working edge node. Based on the access information sent by each working edge node, the load value corresponding to each working edge node is obtained, representing the load level of the working edge node. Based on the load values corresponding to each working edge node, at least one first target edge node is determined, and at least one client accessing the first target edge node is scheduled to a second target edge node in the video communication network. The load level of the first target edge node is greater than that of the second target edge node. By acquiring the access information sent by each working edge node in the video communication network and comprehensively evaluating the load level of each working edge node using the client identifier and the corresponding number of clients in the access information, clients from working edge nodes with higher load levels are scheduled to working edge nodes with lower load levels. This achieves load balancing among the edge nodes in the video communication network, improves the resource utilization of the edge nodes, and thus improves the quality of multi-terminal video communication.
[0058] refer to Figure 6 , Figure 6 Flowchart of the access point dynamic scheduling method provided in the embodiments of this disclosure Figure 2 This embodiment is in Figure 2 Based on the illustrated embodiment, step S102 is further refined. This access point dynamic scheduling method includes:
[0059] Step S201: After the multi-terminal video communication task is started, receive the access request sent by the client for the multi-terminal video communication task. The access request includes the default access point identifier stored locally on the client. The default access point identifier is used to indicate the default edge node in the video communication network.
[0060] Step S202: In response to the access request, connect the client to the default edge node in the video communication network.
[0061] For example, in the initial stage of a multi-terminal video communication task (e.g., a video conference), a large number of clients will connect to the corresponding edge nodes. If each client is assigned a corresponding edge node in real time through calculation, the instantaneous load on the control server will be very high, affecting the stability of the control server and the multi-terminal video communication operation. Therefore, in this embodiment, after receiving the access request for the multi-terminal video communication task sent by the client, the control server first connects the client to the corresponding default edge node. The access point identifier of the default edge node can be pre-stored locally on the client. Therefore, no calculation is required during the initial access, thereby improving the client access efficiency and task operation stability in the early stage of the multi-terminal video communication task.
[0062] Step S203: Periodically acquire access information sent by each working edge node in the video communication network. The video communication network is a content distribution network used to realize multi-terminal video communication tasks. The access information is used to characterize the client identifier of the client accessing the working edge node, as well as the number of clients corresponding to each client identifier. The access load generated by clients with different client identifiers after accessing the working edge node is different.
[0063] Step S204: Based on the access information sent by the working edge node, obtain the number of clients corresponding to each client identifier and the load weighting coefficient corresponding to each client identifier.
[0064] Step S205: Based on the number of clients corresponding to each client identifier, obtain the load assessment value corresponding to each client identifier.
[0065] Step S206: Obtain the performance weighting coefficient of the working edge node. The performance weighting coefficient is determined based on the device performance of the working edge node, wherein the device performance is inversely proportional to the performance weighting coefficient.
[0066] For example, in this embodiment, after the control server receives the access information sent by each working edge node, it uses the client identifier, the number of clients, and a performance weighting coefficient to jointly determine the load value of the working edge node in subsequent steps. The concepts of client identifier and the corresponding number of clients are explained below. Figure 2The embodiments shown have already described this, and will not be repeated here. The performance weighting coefficient of the working edge node is information used to characterize the device performance of the working edge node. This performance weighting information is inversely proportional to the device performance; that is, the higher the device performance, the lower the performance weighting coefficient. In one possible implementation, the access information also includes the device model and device identifier of the working edge node. The control server determines the mapping relationship between the device model and the performance weighting coefficient by obtaining the performance mapping information. Then, based on the device model in the access information or based on the device identifier, it determines the device signal and uses the performance mapping information to obtain the performance weighting coefficient corresponding to the device model. In another possible implementation, the access information directly includes the performance weighting coefficient, allowing the control server to determine the performance weighting coefficient based on the access information.
[0067] For example, such as Figure 7 As shown, the specific implementation of step S206 includes:
[0068] Step S2061: Periodically acquire the operating parameters sent by the working edge nodes, including CPU utilization and / or memory utilization;
[0069] Step S2062: Generate performance weighting coefficients for working edge nodes based on the operating parameters.
[0070] Furthermore, the control server periodically acquires operating parameters sent by the working edge nodes. These parameters include CPU utilization and / or memory utilization. In one possible implementation, the operating parameters are included in the access information. Upon receiving the access information, the control server uses it to obtain the operating parameters of the working edge nodes. Of course, in other implementations, the operating parameters can also be sent separately by the working edge nodes, and can be set as needed. Subsequently, the CPU utilization and / or memory utilization are used to determine a performance weighting coefficient characterizing device performance. More specifically, for example, a performance weighting coefficient can be mapped from a combination of CPU utilization and memory utilization. The specific mapping method can be determined based on prior knowledge and is not limited here.
[0071] Step S207: Based on the load weighting coefficient and load evaluation value corresponding to each client identifier, obtain the basic load value of the working edge node, and obtain the load value corresponding to the working edge node by multiplying the basic load value and the performance weighting coefficient.
[0072] Step S208: Determine at least one first target edge node based on the load value corresponding to each working edge node.
[0073] For example, the basic load value of the working edge node is obtained by first summing the product of the load weighting coefficient and the load assessment value corresponding to each client identifier. The specific calculation method of this basic load value has been described in detail in previous embodiments and will not be repeated here. Then, in this embodiment, the basic load value is further adjusted by combining a performance weighting coefficient (calculating the product of the two). The higher the device performance of the working edge node, the lower the performance weighting coefficient. Therefore, after adjusting the basic load value based on the performance weighting coefficient, the load value of high-performance working edge nodes decreases relatively, while the load value of low-performance working edge nodes increases relatively. This makes the estimated load value more accurate, and the first target edge node is then determined based on this load value. In this embodiment, by combining a performance weighting coefficient to further adjust the load value, the influence of the edge node's load capacity on device performance is considered, thus making the load value of the working edge node more accurate, thereby improving the accuracy of the first target edge node, the rationality of client access point scheduling, and the smoothness of multi-point video communication.
[0074] Step S209: Obtain the set of edge nodes to be accessed. The edge nodes to be accessed in the set are the working edge nodes in the video communication network other than the first target edge node. Determine the second target edge node based on the load value of the edge nodes to be accessed.
[0075] For example, such as Figure 8 As shown, the specific implementation of step S209 includes:
[0076] Step S2091: Obtain the first edge node in the set of edge nodes to be connected. The first edge node is the edge node with the smallest load value to be connected.
[0077] Step S2092: Obtain the access restriction parameters of the first edge node. The access restriction parameters include the query rate per second of the working edge node and / or the number of clients accessing the working edge node.
[0078] Step S2093: If the access restriction parameter is less than the parameter threshold corresponding to the restriction parameter, then the first edge node is determined as the second target edge node;
[0079] Step S2094: If the access restriction parameter is not less than the parameter threshold corresponding to the restriction parameter, then the first edge node is excluded from the set of edge nodes to be accessed, and the process returns to step S2091.
[0080] For example, in this embodiment, the control server first determines the first edge node as the first edge node based on the load value of the edge nodes to be accessed in the video communication network other than the first target edge node. Then, it detects the access restriction parameters of the first edge node to determine whether the first edge node can be used as the second target edge node for the access client. Among them, the access restriction parameters are the query rate per second (QPS) of the working edge node and / or the number of clients accessing the working edge node. That is, there are three ways to detect the access restriction parameters of the first edge node. The first possible implementation is to detect the query rate per second (QPS) of the first edge node. If it is less than the corresponding query rate threshold, the first edge node can be identified as the second target edge node. The second possible implementation is to detect the number of clients accessing the first edge node. If the number of clients is less than the admission threshold, the first edge node can be identified as the second target edge node. The third possible implementation is to detect both the query rate per second and the number of clients accessing the first edge node. If the query rate per second is less than the corresponding query rate threshold and the number of clients is less than the admission threshold, the first edge node can be identified as the second target edge node.
[0081] In this embodiment, the query rate per second and / or the number of clients are used as access restriction parameters to verify the first edge node obtained in the previous steps. If the query rate per second is less than the parameter threshold, the first edge node is then determined as the second target edge node. This avoids the problems of a large number of clients accessing the same working edge node (excessive query rate per second) and an excessive number of low-load clients accessing the same working edge node (excessive number of clients), thus improving the operational stability of the working edge node. On the other hand, if the above verification fails, the currently determined first edge node is excluded from the set of working edge nodes to be accessed (excluding the first target edge node), and the above steps are repeated until the edge node to be accessed that meets the access restriction parameters and has the smallest load value is obtained, which is then used as the second target edge node.
[0082] Furthermore, when the access restriction parameter is the query rate per second of the second target edge node, the method also includes:
[0083] Step S2090: Obtain the maximum load value of each working edge node, and determine the query rate threshold corresponding to the query rate per second based on the maximum load and the target period, wherein the target period is the period during which each working edge node in the video communication network sends access information.
[0084] For example, the maximum load value of a working edge node, that is, the upper limit of the number of clients that a working edge node can support (access), is also represented by a load value, that is, the maximum load value that the working edge node can achieve. Accordingly, the specific implementation of step S209 includes:
[0085] Step S2090: Obtain the maximum load value of each working edge node, and determine the parameter threshold corresponding to the query rate per second based on the maximum load and the target period, wherein the target period is the period during which each working edge node in the video communication network sends access information.
[0086] Step S2091: Obtain the first edge node in the set of edge nodes to be connected. The first edge node is the edge node with the smallest load value to be connected.
[0087] Step S2092A: Obtain the query rate per second of the first edge node.
[0088] Step S2093A: If the query rate per second is less than the corresponding parameter threshold, then the first edge node is determined as the second target edge node;
[0089] Step S2094: If the query rate per second is not less than the corresponding parameter threshold, then the first edge node is excluded from the set of edge nodes to be connected, and the process returns to step S2091.
[0090] For example, in one possible implementation, the maximum load value of the working edge node is a pre-configured static value, and the maximum load value of each edge node is the same; while in another possible implementation, the maximum load value is obtained by mapping and calculating according to the device model and parameters of the working edge node, and the maximum load value of each working edge node may be different, which can be set as needed.
[0091] Subsequently, for example, based on the ratio of the maximum load value to the target period, the query rate threshold corresponding to the query rate per second is obtained. That is, the query rate threshold is directly proportional to the maximum load value and inversely proportional to the target period. Specifically, the larger the maximum load value of the working edge node, the greater the number of newly connected clients allowed per unit time, i.e., the greater the access redundancy; while the shorter the target period, the more accurate the load level of the working edge node represented by the access information, and the higher the query rate threshold obtained by dividing the two. By dynamically setting the query rate threshold, while avoiding resource exhaustion caused by excessive access to the working edge node in a short period of time, the query rate threshold is increased as much as possible, thereby maximizing the utilization of the performance resources of the working edge node and improving resource utilization.
[0092] Furthermore, such as Figure 9 As shown, another possible implementation of step S209 includes:
[0093] Step S209-1: Obtain the first edge node in the set of edge nodes to be connected. The first edge node is the edge node with the smallest load value to be connected.
[0094] Step S209-2: If there is only one first edge node, then the first edge node is determined as the second target edge node.
[0095] Step S209-3: If there are multiple first edge nodes, the first edge node with the fewest connected clients among the multiple first edge nodes shall be determined as the second target edge node.
[0096] For example, in another possible implementation, after determining the edge node with the lowest load value in the video communication network, i.e., the first edge node, the number of these first edge nodes is detected. If there is only one first edge node, i.e., the first edge node is unique, then it is selected as the best choice for the second target edge node. In another case, if there is more than one first edge node, i.e., the first edge node is not unique, then the first edge node among the multiple first edge nodes is determined as the second target edge node, thereby further improving the accuracy of the determined second target edge node, achieving better balance among the edge nodes, and improving system stability.
[0097] Further, optionally, this embodiment also includes:
[0098] Step S210: Based on the load values corresponding to each working edge node, obtain the network load value of the video communication network. The network load value represents the overall load level of the video communication network.
[0099] Step S211: If the network load value is greater than the second load threshold, add at least one working edge node in the video communication network and determine the newly added working edge node as the second target edge node.
[0100] Step S212: At least one client that has accessed the first target edge node is scheduled to the second target edge node in the video communication network, wherein the load level of the first target edge node is greater than the load level of the second target edge node.
[0101] For example, in one possible implementation, the video communication network includes active edge nodes and inactive edge nodes. Before or after determining the second target edge node, a network load value is calculated based on the load values corresponding to each active edge node to characterize the overall load level of the video communication network. The network load value is, for example, the average, median, or minimum value of each active edge node. Then, if the network load value is greater than a preset second load threshold, it indicates that the video communication network is under high load. In this case, at least one new active edge node is added to the video communication network, for example, by activating an inactive edge node. This new active edge node is then designated as the second target edge node. Clients originating from the first target edge node are then connected to this second target edge node, thereby rapidly reducing the overall load level of the video communication network, achieving dynamic expansion of the video communication network, and improving the stability of multi-terminal video communication.
[0102] Optionally, after determining the first target edge node, this embodiment further includes: if the first target edge node is a default edge node, sending configuration information to the client to update the default access point identifier stored locally on the client.
[0103] For example, the first target edge node is an edge node under high load. Combined with the previous introduction of the default edge node, which is a pre-set access point to speed up client access, after determining the first target edge node, if it is the same as the default edge node, it means that when the corresponding client enters a multi-terminal video communication task, it will first access the default edge node, further increasing the load on the first target edge node and triggering frequent access point scheduling operations, ultimately leading to a choppy video communication process. Therefore, in this embodiment, if the first target edge node is the default edge node, the control server actively sends configuration information to the client to update the default access point identifier stored locally on the client, thereby changing the client's current default edge node, achieving the goal of improving client access speed and reducing the number of access point scheduling operations.
[0104] In this embodiment, the implementation methods of steps S203 and S212 are the same as those of this disclosure. Figure 2 The corresponding parts of steps S101 and S103 in the illustrated embodiment are implemented in the same way, and will not be described in detail here.
[0105] Corresponding to the access point dynamic scheduling method in the above embodiment, Figure 10This is a structural block diagram of the access point dynamic scheduling device provided in the embodiments of this disclosure. The method described in the above embodiments can be executed by this access point dynamic scheduling device, which can be implemented by software and / or hardware, and can be integrated into an electronic device with certain data processing capabilities. The electronic device may include, but is not limited to, mobile terminals with big data processing capabilities, as well as fixed terminals with big data processing capabilities such as desktop computers and supercomputers.
[0106] For ease of explanation, only the parts relevant to embodiments of this disclosure are shown. (Refer to...) Figure 10 The access point dynamic scheduling device 3 includes:
[0107] The acquisition module 31 is used to periodically acquire access information sent by each working edge node in the video communication network after the multi-terminal video communication task is started. The video communication network is a content distribution network used to realize the multi-terminal video communication task. The access information is used to characterize the client identifier of the client accessing the working edge node, as well as the number of clients corresponding to each client identifier. The access load generated by clients with different client identifiers after accessing the working edge node is different.
[0108] The processing module 32 is used to obtain the load value corresponding to each working edge node based on the access information sent by each working edge node. The load value represents the load level of the working edge node.
[0109] The scheduling module 33 is used to determine at least one first target edge node based on the load value corresponding to each working edge node, and to schedule at least one client accessing the first target edge node to a second target edge node in the video communication network, wherein the load level of the first target edge node is greater than the load level of the second target edge node.
[0110] According to one or more embodiments of this disclosure, the processing module 32 is specifically configured to: obtain the number of clients corresponding to each client identifier based on the access information sent by the working edge node; obtain the load weighting coefficient corresponding to each client identifier; obtain the load evaluation value corresponding to each client identifier based on the number of clients corresponding to each client identifier; and obtain the load value corresponding to the working edge node based on the load weighting coefficient and the load evaluation value corresponding to each client identifier.
[0111] According to one or more embodiments of this disclosure, the processing module 32 is further configured to: obtain the performance weighting coefficient of the working edge node, wherein the performance weighting coefficient is determined based on the device performance of the working edge node, and the device performance is inversely proportional to the performance weighting coefficient; when the processing module 32 obtains the load value corresponding to the working edge node according to the load weighting coefficient and load evaluation value corresponding to each client identifier, it is specifically configured to: obtain the basic load value of the working edge node according to the load weighting coefficient and load evaluation value corresponding to each client identifier; and obtain the load value corresponding to the working edge node according to the basic load value and the performance weighting coefficient.
[0112] According to one or more embodiments of this disclosure, when the processing module 32 obtains the performance weighting coefficient of the working edge node, it is specifically used to: periodically obtain the operating parameters sent by the working edge node, the operating parameters including the CPU utilization and / or memory utilization; and generate the performance weighting coefficient of the working edge node based on the operating parameters.
[0113] According to one or more embodiments of this disclosure, the scheduling module 33 is further configured to: obtain a set of edge nodes to be accessed, wherein the edge nodes to be accessed in the set of edge nodes to be accessed are working edge nodes in the video communication network other than the first target edge node; and determine a second target edge node based on the load value of the edge nodes to be accessed.
[0114] According to one or more embodiments of this disclosure, when the scheduling module 33 determines the second target edge node based on the load value of the edge node to be accessed, it is specifically configured to: obtain a first edge node in the set of edge nodes to be accessed, wherein the first edge node is the edge node to be accessed with the smallest load value; obtain access restriction parameters of the first edge node, wherein the access restriction parameters include the query rate per second of the working edge node and / or the number of clients accessing the working edge node; if the access restriction parameters are less than the parameter threshold corresponding to the restriction parameters, then the first edge node is determined as the second target edge node; if the access restriction parameters are not less than the parameter threshold corresponding to the restriction parameters, then the first edge node is excluded from the set of edge nodes to be accessed, and the process returns to the step of obtaining the first edge node in the set of edge nodes to be accessed.
[0115] According to one or more embodiments of this disclosure, when the access restriction parameter is the query rate per second of the second target edge node, the scheduling module 33 is further configured to: obtain the maximum load value of each working edge node; determine the parameter threshold corresponding to the query rate per second based on the maximum load and the target period, wherein the target period is the period during which each working edge node in the video communication network sends access information.
[0116] According to one or more embodiments of this disclosure, when the scheduling module 33 determines the second target edge node based on the load value of the edge node to be accessed, it is specifically used to: obtain a first edge node in the set of edge nodes to be accessed, wherein the first edge node is the edge node to be accessed with the smallest load value; if there is only one first edge node, then the first edge node is determined as the second target edge node; if there are multiple first edge nodes, then the first edge node with the fewest number of clients accessing the client among the multiple first edge nodes is determined as the second target edge node.
[0117] According to one or more embodiments of this disclosure, when the scheduling module 33 determines at least one first target edge node based on the load value corresponding to each working edge node, it is specifically used to: determine at least one candidate edge node based on a first load threshold and the load value corresponding to each working edge node, wherein the candidate edge node is a working edge node whose load value is greater than the first load threshold; sort the candidate edge nodes based on the load value, and determine the candidate edge node with the largest target number of load values as the first target edge node.
[0118] According to one or more embodiments of this disclosure, the scheduling module 33 is further configured to: obtain the network load value of the video communication network based on the load value corresponding to each working edge node, wherein the network load value represents the overall load level of the video communication network; if the network load value is greater than a second load threshold, then add at least one working edge node in the video communication network and determine the added working edge node as the second target edge node.
[0119] According to one or more embodiments of this disclosure, the acquisition module 31 is further configured to: receive an access request sent by a client for a multi-terminal video communication task, the access request including a default access point identifier stored locally on the client, the default access point identifier being used to indicate a default edge node in the video communication network; in response to the access request, connect the client to the default edge node in the video communication network; if the first target edge node is a default edge node, send configuration information to the client to update the default access point identifier stored locally on the client.
[0120] The acquisition module 31, processing module 32, and scheduling module 33 are connected sequentially. The access point dynamic scheduling device 3 provided in this embodiment can execute the technical solution of the above method embodiment, and its implementation principle and technical effect are similar, so it will not be described again here.
[0121] Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure, such as... Figure 11 As shown, the electronic device 4 includes:
[0122] Processor 41, and memory 42 communicatively connected to processor 41;
[0123] Memory 42 stores instructions executed by the computer;
[0124] The processor 41 executes computer execution instructions stored in the memory 42 to achieve, for example, Figures 2-9 The access point dynamic scheduling method in the illustrated embodiment.
[0125] Optionally, the processor 41 and the memory 42 are connected via a bus 43.
[0126] For relevant instructions, please refer to the corresponding text. Figures 2-9 The relevant descriptions and effects of the steps in the corresponding embodiments are understood, and will not be elaborated on here.
[0127] This disclosure provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement this disclosure. Figures 2-9 The corresponding embodiment provides a dynamic scheduling method for access points.
[0128] This disclosure provides a computer program product, including a computer program, which, when executed by a processor, implements this disclosure. Figures 2-9 The corresponding embodiment provides a dynamic scheduling method for access points.
[0129] To implement the above embodiments, this disclosure also provides an electronic device.
[0130] refer to Figure 12 The diagram illustrates a structural schematic of an electronic device 900 suitable for implementing embodiments of the present disclosure. The electronic device 900 can be a terminal device or a server. The terminal device can include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, personal digital assistants (PDAs), tablet computers, portable media players (PMPs), and in-vehicle terminals (e.g., in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 12 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0131] like Figure 12As shown, the electronic device 900 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage device 908 into a random access memory (RAM) 903. The RAM 903 also stores various programs and data required for the operation of the electronic device 900. The processing unit 901, ROM 902, and RAM 903 are interconnected via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0132] Typically, the following devices can be connected to I / O interface 905: input devices 906 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 907 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 908 including, for example, magnetic tapes, hard disks, etc.; and communication devices 909. Communication device 909 allows electronic device 900 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 12 An electronic device 900 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0133] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 909, or installed from a storage device 908, or installed from a ROM 902. When the computer program is executed by a processing device 901, it performs the functions defined in the methods of embodiments of this disclosure.
[0134] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit 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 using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0135] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0136] The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the methods shown in the above embodiments.
[0137] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0138] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0139] The units or modules described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units or modules do not necessarily limit the specific unit itself.
[0140] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0141] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0142] In a first aspect, according to one or more embodiments of this disclosure, an access point dynamic scheduling method is provided, comprising:
[0143] After the multi-terminal video communication task is started, access information sent by each working edge node in the video communication network is periodically acquired. The video communication network is a content distribution network used to implement the multi-terminal video communication task. The access information is used to characterize the client identifier of the client accessing the working edge node, and the number of clients corresponding to each client identifier. The access load generated by clients with different client identifiers after accessing the working edge node is different. According to the access information sent by each working edge node, the load value corresponding to each working edge node is obtained. The load value characterizes the load level of the working edge node. According to the load value corresponding to each working edge node, at least one first target edge node is determined, and at least one client accessing the first target edge node is scheduled to a second target edge node in the video communication network. The load level of the first target edge node is greater than the load level of the second target edge node.
[0144] According to one or more embodiments of this disclosure, obtaining the load value corresponding to each working edge node based on the access information sent by each working edge node includes: obtaining the number of clients corresponding to each client identifier based on the access information sent by the working edge node; obtaining the load weighting coefficient corresponding to each client identifier; obtaining the load evaluation value corresponding to each client identifier based on the number of clients corresponding to each client identifier; and obtaining the load value corresponding to the working edge node based on the load weighting coefficient and the load evaluation value corresponding to each client identifier.
[0145] According to one or more embodiments of this disclosure, the method further includes: obtaining a performance weighting coefficient for the working edge node, the performance weighting coefficient being determined based on the device performance of the working edge node, wherein the device performance is inversely proportional to the performance weighting coefficient; and obtaining a load value corresponding to the working edge node based on a load weighting coefficient and a load assessment value corresponding to each client identifier, comprising: obtaining a base load value for the working edge node based on a load weighting coefficient and a load assessment value corresponding to each client identifier; and obtaining the load value corresponding to the working edge node based on the base load value and the performance weighting coefficient.
[0146] According to one or more embodiments of this disclosure, obtaining the performance weighting coefficient of the working edge node includes: periodically obtaining the operating parameters sent by the working edge node, the operating parameters including CPU utilization and / or memory utilization; and generating the performance weighting coefficient of the working edge node based on the operating parameters.
[0147] According to one or more embodiments of this disclosure, the method further includes: obtaining the set of edge nodes to be accessed, wherein the edge nodes to be accessed in the set of edge nodes to be accessed are working edge nodes in the video communication network other than the first target edge node; and determining the second target edge node based on the load value of the edge nodes to be accessed.
[0148] According to one or more embodiments of this disclosure, determining the second target edge node based on the load value of the edge node to be accessed includes: obtaining a first edge node from the set of edge nodes to be accessed, wherein the first edge node is the edge node to be accessed with the smallest load value; obtaining access restriction parameters of the first edge node, wherein the access restriction parameters include the query rate per second of the working edge node and / or the number of clients accessing the working edge node; if the access restriction parameters are less than the parameter threshold corresponding to the restriction parameters, then the first edge node is determined as the second target edge node; if the access restriction parameters are not less than the parameter threshold corresponding to the restriction parameters, then the first edge node is excluded from the set of edge nodes to be accessed, and the process returns to the step of obtaining the first edge node from the set of edge nodes to be accessed.
[0149] According to one or more embodiments of this disclosure, when the access restriction parameter is the query rate per second of the second target edge node, the method further includes: obtaining the maximum load value of each of the working edge nodes; determining a parameter threshold corresponding to the query rate per second based on the maximum load and a target period, wherein the target period is the period during which each working edge node in the video communication network sends the access information.
[0150] According to one or more embodiments of this disclosure, determining the second target edge node based on the load value of the edge node to be accessed includes: obtaining a first edge node in the set of edge nodes to be accessed, wherein the first edge node is the edge node to be accessed with the smallest load value; if there is only one first edge node, then the first edge node is determined as the second target edge node; if there are multiple first edge nodes, then the first edge node with the fewest number of clients accessing the network among the multiple first edge nodes is determined as the second target edge node.
[0151] According to one or more embodiments of this disclosure, determining at least one first target edge node based on the load value corresponding to each of the working edge nodes includes: determining at least one candidate edge node based on a first load threshold and the load value corresponding to each of the working edge nodes, wherein the candidate edge node is a working edge node whose load value is greater than the first load threshold; sorting the candidate edge nodes based on the load value, and determining the candidate edge node with the largest target number of load values as the first target edge node.
[0152] According to one or more embodiments of this disclosure, the method further includes: obtaining a network load value of the video communication network based on the load value corresponding to each of the working edge nodes, wherein the network load value characterizes the overall load level of the video communication network; if the network load value is greater than a second load threshold, then adding at least one working edge node to the video communication network, and determining the added working edge node as the second target edge node.
[0153] According to one or more embodiments of this disclosure, the method further includes: receiving an access request sent by a client for the multi-terminal video communication task, the access request including a default access point identifier stored locally on the client, the default access point identifier being used to indicate a default edge node in the video communication network; in response to the access request, connecting the client to the default edge node in the video communication network; if the first target edge node is the default edge node, sending configuration information to the client to update the default access point identifier stored locally on the client.
[0154] Secondly, according to one or more embodiments of this disclosure, an access point dynamic scheduling device is provided, comprising:
[0155] The acquisition module 31 is used to periodically acquire access information sent by each working edge node in the video communication network after the multi-terminal video communication task is started. The video communication network is a content distribution network used to implement the multi-terminal video communication task. The access information is used to characterize the client identifier of the client accessing the working edge node, and the number of clients corresponding to each client identifier. The access load generated by clients with different client identifiers after accessing the working edge node is different.
[0156] Processing module 32 is used to obtain the load value corresponding to each working edge node based on the access information sent by each working edge node, wherein the load value represents the load level of the working edge node;
[0157] The scheduling module 33 is used to determine at least one first target edge node based on the load value corresponding to each of the working edge nodes, and to schedule at least one client accessing the first target edge node to a second target edge node in the video communication network, wherein the load level of the first target edge node is greater than the load level of the second target edge node.
[0158] According to one or more embodiments of this disclosure, the processing module 32 is specifically configured to: obtain the number of clients corresponding to each client identifier based on the access information sent by the working edge node; obtain the load weighting coefficient corresponding to each client identifier; obtain the load evaluation value corresponding to each client identifier based on the number of clients corresponding to each client identifier; and obtain the load value corresponding to the working edge node based on the load weighting coefficient and the load evaluation value corresponding to each client identifier.
[0159] According to one or more embodiments of this disclosure, the processing module 32 is further configured to: obtain the performance weighting coefficient of the working edge node, the performance weighting coefficient being determined based on the device performance of the working edge node, wherein the device performance is inversely proportional to the performance weighting coefficient; when the processing module 32 obtains the load value corresponding to the working edge node based on the load weighting coefficient and load evaluation value corresponding to each client identifier, it is specifically configured to: obtain the basic load value of the working edge node based on the load weighting coefficient and load evaluation value corresponding to each client identifier; and obtain the load value corresponding to the working edge node based on the basic load value and the performance weighting coefficient.
[0160] According to one or more embodiments of this disclosure, when the processing module 32 obtains the performance weighting coefficient of the working edge node, it is specifically used to: periodically obtain the operating parameters sent by the working edge node, the operating parameters including CPU utilization and / or memory utilization; and generate the performance weighting coefficient of the working edge node based on the operating parameters.
[0161] According to one or more embodiments of this disclosure, the scheduling module 33 is further configured to: obtain the set of edge nodes to be accessed, wherein the edge nodes to be accessed in the set of edge nodes to be accessed are working edge nodes in the video communication network other than the first target edge node; and determine the second target edge node based on the load value of the edge nodes to be accessed.
[0162] According to one or more embodiments of this disclosure, when the scheduling module 33 determines the second target edge node based on the load value of the edge node to be accessed, it is specifically configured to: obtain a first edge node in the set of edge nodes to be accessed, wherein the first edge node is the edge node to be accessed with the smallest load value; obtain access restriction parameters of the first edge node, wherein the access restriction parameters include the query rate per second of the working edge node and / or the number of clients accessing the working edge node; if the access restriction parameters are less than the parameter threshold corresponding to the restriction parameters, then the first edge node is determined as the second target edge node; if the access restriction parameters are not less than the parameter threshold corresponding to the restriction parameters, then the first edge node is excluded from the set of edge nodes to be accessed, and the process returns to the step of obtaining the first edge node in the set of edge nodes to be accessed.
[0163] According to one or more embodiments of this disclosure, when the access restriction parameter is the query rate per second of the second target edge node, the scheduling module 33 is further configured to: obtain the maximum load value of each of the working edge nodes; determine the parameter threshold corresponding to the query rate per second based on the maximum load and the target period, wherein the target period is the period during which each working edge node in the video communication network sends the access information.
[0164] According to one or more embodiments of this disclosure, when the scheduling module 33 determines the second target edge node based on the load value of the edge node to be accessed, it is specifically configured to: obtain a first edge node in the set of edge nodes to be accessed, wherein the first edge node is the edge node to be accessed with the smallest load value; if there is only one first edge node, then the first edge node is determined as the second target edge node; if there are multiple first edge nodes, then the first edge node with the fewest number of clients accessing the client among the multiple first edge nodes is determined as the second target edge node.
[0165] According to one or more embodiments of this disclosure, when the scheduling module 33 determines at least one first target edge node based on the load value corresponding to each of the working edge nodes, it is specifically configured to: determine at least one candidate edge node based on a first load threshold and the load value corresponding to each of the working edge nodes, wherein the candidate edge node is a working edge node whose load value is greater than the first load threshold; sort the candidate edge nodes based on the load value, and determine the candidate edge node with the largest target number of load values as the first target edge node.
[0166] According to one or more embodiments of this disclosure, the scheduling module 33 is further configured to: obtain the network load value of the video communication network based on the load value corresponding to each of the working edge nodes, wherein the network load value represents the overall load level of the video communication network; if the network load value is greater than a second load threshold, then add at least one working edge node to the video communication network and determine the added working edge node as the second target edge node.
[0167] According to one or more embodiments of this disclosure, the acquisition module 31 is further configured to: receive an access request sent by a client for the multi-terminal video communication task, the access request including a default access point identifier stored locally on the client, the default access point identifier being used to indicate a default edge node in the video communication network; in response to the access request, connect the client to the default edge node in the video communication network; if the first target edge node is the default edge node, send configuration information to the client to update the default access point identifier stored locally on the client.
[0168] Thirdly, according to one or more embodiments of the present disclosure, an electronic device is provided, comprising: at least one processor and a memory;
[0169] The memory stores computer-executed instructions;
[0170] The at least one processor executes computer execution instructions stored in the memory, causing the at least one processor to perform the access point dynamic scheduling method as described in the first aspect and various possible designs of the first aspect.
[0171] Fourthly, according to one or more embodiments of the present disclosure, a computer-readable storage medium is provided, wherein computer-executable instructions are stored therein, and when a processor executes the computer-executable instructions, the access point dynamic scheduling method described in the first aspect and various possible designs of the first aspect is implemented.
[0172] Fifthly, according to one or more embodiments of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the access point dynamic scheduling method as described in the first aspect and various possible designs of the first aspect.
[0173] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0174] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0175] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.
Claims
1. A method for dynamic scheduling of access points, characterized in that, include: After the multi-terminal video communication task is started, the access information sent by each working edge node in the video communication network is periodically acquired. The video communication network is a content distribution network used to implement the multi-terminal video communication task. The access information is used to characterize the client identifier of the client accessing the working edge node, and the number of clients corresponding to each client identifier. The access load generated by clients with different client identifiers after accessing the working edge node is different. Based on the access information sent by each of the working edge nodes, the load value corresponding to each working edge node is obtained, and the load value represents the load level of the working edge node. Based on the load value corresponding to each working edge node, at least one first target edge node is determined, and at least one client accessing the first target edge node is scheduled to a second target edge node in the video communication network, wherein the load level of the first target edge node is greater than the load level of the second target edge node.
2. The method according to claim 1, characterized in that, The step of obtaining the load value corresponding to each working edge node based on the access information sent by each working edge node includes: Based on the access information sent by the working edge node, the number of clients corresponding to each client identifier is obtained; Obtain the load weighting coefficient corresponding to each client identifier; Based on the number of clients corresponding to each client identifier, the load assessment value corresponding to each client identifier is obtained; The load value corresponding to the working edge node is obtained based on the load weighting coefficient and load evaluation value corresponding to each client identifier.
3. The method according to claim 2, characterized in that, The method further includes: Obtain the performance weighting coefficient of the working edge node, the performance weighting coefficient is determined based on the device performance of the working edge node, wherein the device performance and the performance weighting coefficient are inversely proportional; The step of obtaining the load value corresponding to the working edge node based on the load weighting coefficient and load assessment value corresponding to each client identifier includes: The basic load value of the working edge node is obtained based on the load weighting coefficient and load evaluation value corresponding to each client identifier; The load value corresponding to the working edge node is obtained based on the base load value and the performance weighting coefficient.
4. The method according to claim 3, characterized in that, The process of obtaining the performance weighting coefficients of the working edge nodes includes: The operating parameters sent by the working edge node are periodically acquired, including CPU utilization and / or memory utilization. Based on the operating parameters, the performance weighting coefficients of the working edge nodes are generated.
5. The method according to claim 1, characterized in that, The method further includes: Obtain a set of edge nodes to be accessed, wherein the edge nodes to be accessed in the set of edge nodes to be accessed are working edge nodes in the video communication network other than the first target edge node; The second target edge node is determined based on the load value of the edge node to be connected.
6. The method according to claim 5, characterized in that, The step of determining the second target edge node based on the load value of the edge node to be accessed includes: Obtain the first edge node from the set of edge nodes to be connected, wherein the first edge node is the edge node to be connected with the smallest load value; Obtain the access restriction parameters of the first edge node, the access restriction parameters including the query rate per second of the working edge node, and / or the number of clients accessing the working edge node; If the access restriction parameter is less than the parameter threshold corresponding to the restriction parameter, then the first edge node is determined as the second target edge node; if the access restriction parameter is not less than the corresponding parameter threshold, then the first edge node is excluded from the set of edge nodes to be accessed, and the process returns to the step of obtaining the first edge node in the set of edge nodes to be accessed.
7. The method according to claim 6, characterized in that, When the access restriction parameter is the query rate per second of the second target edge node, the method further includes: Obtain the maximum load value of each of the aforementioned working edge nodes; Based on the maximum load and the target period, a parameter threshold corresponding to the query rate per second is determined, wherein the target period is the period during which each working edge node in the video communication network sends the access information.
8. The method according to claim 5, characterized in that, The step of determining the second target edge node based on the load value of the edge node to be accessed includes: Obtain the first edge node from the set of edge nodes to be connected, wherein the first edge node is the edge node to be connected with the smallest load value; If there is only one first edge node, then the first edge node is determined as the second target edge node; If there are multiple first edge nodes, then the first edge node with the fewest connected clients among the multiple first edge nodes is determined as the second target edge node.
9. The method according to claim 1, characterized in that, The step of determining at least one first target edge node based on the load value corresponding to each of the working edge nodes includes: Based on the first load threshold and the load value corresponding to each working edge node, at least one candidate edge node is determined, wherein the candidate edge node is a working edge node whose load value is greater than the first load threshold; The candidate edge nodes are sorted based on their load values, and the candidate edge node with the largest target number of load values is determined as the first target edge node.
10. The method according to claim 1, characterized in that, The method further includes: The network load value of the video communication network is obtained based on the load value corresponding to each working edge node, and the network load value represents the overall load level of the video communication network. If the network load value is greater than the second load threshold, at least one new working edge node is added to the video communication network, and the newly added working edge node is determined as the second target edge node.
11. The method according to claim 1, characterized in that, The method further includes: The system receives an access request sent by the client for the multi-terminal video communication task. The access request includes a default access point identifier stored locally on the client. The default access point identifier is used to indicate the default edge node in the video communication network. In response to the access request, the client is connected to the default edge node in the video communication network; If the first target edge node is the default edge node, then configuration information is sent to the client to update the default access point identifier stored locally on the client.
12. A dynamic scheduling device for access points, characterized in that, include: The acquisition module is used to periodically acquire access information sent by each working edge node in the video communication network after the multi-terminal video communication task is started. The video communication network is a content distribution network used to implement the multi-terminal video communication task. The access information is used to characterize the client identifier of the client accessing the working edge node, and the number of clients corresponding to each client identifier. The access load generated by clients with different client identifiers after accessing the working edge node is different. The processing module is used to obtain the load value corresponding to each of the working edge nodes based on the access information sent by each of the working edge nodes, wherein the load value represents the load level of the working edge node; The scheduling module is used to determine at least one first target edge node based on the load value corresponding to each of the working edge nodes, and to schedule at least one client accessing the first target edge node to a second target edge node in the video communication network, wherein the load level of the first target edge node is greater than the load level of the second target edge node.
13. An electronic device, characterized in that, include: Processor and memory; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the access point dynamic scheduling method as described in any one of claims 1 to 11.
14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by the processor, implement the access point dynamic scheduling method as described in any one of claims 1 to 11.
15. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the access point dynamic scheduling method as described in any one of claims 1 to 11.