Traffic scheduling method and device
By obtaining and updating the resource allocation list, the node allocable status is determined and resource compensation is performed, which solves the problem of increased forwarding pressure on relay nodes caused by dynamic accelerated routing products in the existing technology, and achieves improvement in resource utilization and cost. of reduction.
Patent Information
- Application Number
- CN202010523927.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-06-10
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2040-06-10
AI Technical Summary
In the prior art, dynamically accelerated routing products only prioritize speed, resulting in an increase in the forwarding pressure of relay nodes, failure to effectively utilize CDN node resources, resulting in waste of costs.
By obtaining the resource allocation list, determine the allocable status of the specified layer node, record and update resource requirements, and perform resource compensation to optimize resource allocation and utilization.
It achieves speed improvement and node service stability, thereby improving resource utilization and reducing the forwarding pressure and cost of relay nodes.
Smart Images

Figure CN113316195B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of Internet technology, and in particular to a method and device for traffic scheduling. Background Art
[0002] In network acceleration technology, in order to realize core technologies such as dynamic and static resource separation, intelligent caching, routing optimization, and transmission optimization, effectively improve the access speed of dynamic and static content mixed sites, and provide high-quality network experience in all locations based on business elastic expansion without adding infrastructure, it is necessary to combine the content distribution network (Content Delivery Network, CDN) full network detection to calculate a series of optimal paths from the access point to the user's source station in real time, providing users with fast, reliable and smooth access experience without being restricted by browser, location, device or network.
[0003] However, the scales of different CDN nodes are different, and the bandwidth prices of different operators are different. As a result, in high-traffic, high-query rate (Query Per Second, QPS) scenarios, if the route is selected only based on the optimal speed, the node resources cannot be utilized to the maximum extent, resulting in node explosion and unnecessary cost consumption.
[0004] In the related technologies, access path optimization products are usually used for acceleration. There are two types of access path optimization products: centralized and distributed. Centralized products are adopted by most manufacturers because of their global resource scheduling capabilities. Related solutions all prioritize speed while taking resources into consideration. However, if the source stations deployed by customers are concentrated, for example, most customer source stations are concentrated around Beijing or Shanghai, the forwarding pressure on the relay nodes will increase immediately.
[0005] Currently, no effective solution has been proposed to address the problem that the dynamic acceleration routing products in the related technologies only prioritize speed, which may lead to increased forwarding pressure on relay nodes. Summary of the invention
[0006] The embodiments of the present invention provide a method and device for traffic scheduling, so as to at least solve the technical problem that the dynamic acceleration routing product in the related art only prioritizes speed, which easily leads to increased forwarding pressure on relay nodes.
[0007] According to one aspect of an embodiment of the present invention, a method for traffic scheduling is provided, which includes: obtaining a list of allocated resources; judging whether the to-be-allocated resources in the list of allocated resources meet the allocation requirements based on the allocatable status of the nodes in the specified layer; if the judgment result is no, recording the required to-be-allocated resources in the list of allocated resources, updating the resource requirements in the list of allocated resources and performing resource compensation; if the judgment result is yes, updating the resource requirements in the list of allocated resources and performing resource compensation.
[0008] Optionally, updating the resource requirements in the resource allocated list and performing resource compensation includes: when the allocatable status of the node at the specified layer includes the allocatable domain name query rate status, and the resource requirements include the domain name query rate requirements, updating the resource requirements in the resource allocated list according to the domain name query rate requirements, and performing corresponding resource compensation according to the type of the domain name query rate requirements, wherein the types include: increasing the query rate resources or releasing the query rate resources.
[0009] Further, optionally, performing corresponding resource compensation according to the type of domain name query rate demand includes: when the resource allocated list includes a domain name allocated query rate list, merging fragmented resources from the domain name allocated query rate list, and using the merged fragmented resources as compensation resources to compensate for the domain name query rate demand; or, releasing merged unoccupied fragmented resources, and using the released fragmented resources as compensation resources to compensate for the domain name query rate demand.
[0010] Optionally, releasing the merged unoccupied fragment resources includes: releasing the fragment resources according to the query rate sorting in the query rate list of the domain names that have been allocated.
[0011] Optionally, updating the resource requirements in the resource allocated list and performing resource compensation includes: when the allocatable status of the node at the specified layer includes the allocatable network bandwidth status, and the resource requirements include the network bandwidth requirements, updating the resource requirements in the resource allocated list according to the network bandwidth requirements, and performing corresponding resource compensation according to the type of network bandwidth requirements, wherein the types include: increasing unallocated network bandwidth resources or releasing allocated but unoccupied network bandwidth.
[0012] Optionally, updating the resource requirements in the resource allocated list and performing resource compensation includes: when the allocatable state of the node at the specified layer includes the allocatable port state, and the resource requirements include port requirements, updating the resource requirements in the resource allocated list according to the port requirements, and performing corresponding resource compensation according to the type of port requirements, wherein the types include: adding unallocated ports or releasing allocated unoccupied ports.
[0013] Optionally, the method further includes: receiving resource demand information; and performing resource allocation according to historical resource allocation records corresponding to the resource demand information.
[0014] According to one aspect of an embodiment of the present invention, a traffic scheduling device is provided, which includes: an acquisition module for acquiring a resource allocation list; a judgment module for judging whether the to-be-allocated resources in the resource allocation list meet the allocation requirements based on the allocatable status of the nodes in the specified layer; a first scheduling module for recording the required to-be-allocated resources in the resource allocation list, updating the resource requirements in the resource allocation list and performing resource compensation when the judgment result is no; and a second scheduling module for updating the resource requirements in the resource allocation list and performing resource compensation when the judgment result is yes.
[0015] According to one aspect of an embodiment of the present invention, a storage medium is provided, wherein the storage medium includes a stored program, wherein when the program is running, the device where the storage medium is located is controlled to execute the above-mentioned traffic scheduling method.
[0016] According to one aspect of an embodiment of the present invention, a processor is provided, wherein the processor is used to run a program, wherein the above-mentioned traffic scheduling method is executed when the program is running.
[0017] In an embodiment of the present invention, a resource allocation list is obtained; based on the allocatable status of the designated layer node, it is determined whether the to-be-allocated resources in the resource allocation list meet the allocation requirements; if the determination result is no, the required to-be-allocated resources are recorded in the resource allocation list, the resource requirements in the resource allocation list are updated, and resource compensation is performed; if the determination result is yes, the resource requirements in the resource allocation list are updated, and resource compensation is performed, thereby achieving the purpose of increasing speed and stabilizing node services, thereby realizing the technical effect of improving resource utilization, and further solving the technical problem that the dynamic acceleration routing products in the related technology will only prioritize speed, which may easily lead to increased forwarding pressure on relay nodes. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0019] Figure 1 It is a hardware structure block diagram of a computer terminal of a method for traffic scheduling according to an embodiment of the present invention;
[0020] Figure 2 is a flow chart of a method for traffic scheduling according to Embodiment 1 of the present invention;
[0021] Figure 3It is a schematic diagram of allocating resources according to domain name QPS requirements in a traffic scheduling method according to Embodiment 1 of the present invention;
[0022] Figure 4 is a schematic diagram of a traffic scheduling device according to the second embodiment of the present invention. DETAILED DESCRIPTION
[0023] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0024] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0025] Technical terms involved in this application:
[0026] Full-site acceleration: Implement core technologies such as dynamic and static resource separation, intelligent caching, routing optimization, and transmission optimization to effectively improve the access speed of dynamic and static content mixed sites, providing users with fast, reliable, and smooth access experience without being restricted by browsers, locations, devices, or networks. Based on business elastic expansion, high-quality network experience can be provided in all locations without adding infrastructure.
[0027] Resource planning: Project resource planning refers to the project cost management activities that analyze and identify the resource requirements of the project, determine the types of resources required for the project (including manpower, equipment, materials, funds, etc.), the amount of project resource investment and the time of project resource investment, and then formulate a project resource supply plan.
[0028] Example 1
[0029] According to an embodiment of the present invention, a method embodiment of traffic scheduling is also provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0030] The method embodiment provided in the first embodiment of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a computer terminal as an example, Figure 1 FIG. 1 is a hardware structure block diagram of a computer terminal of a method for traffic scheduling according to an embodiment of the present invention. Figure 1 As shown, the computer terminal 10 may include one or more (only one is shown in the figure) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 104 for storing data, and a transmission device 106 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.
[0031] The memory 104 can be used to store software programs and modules of application software, such as program instructions / modules corresponding to the method of traffic scheduling in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, the method of traffic scheduling of the above-mentioned application program is realized. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the computer terminal 10 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0032] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the computer terminal 10. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0033] Under the above operating environment, this application provides Figure 2 The traffic scheduling method shown. Figure 2 1 is a flow chart of a method for traffic scheduling according to Embodiment 1 of the present invention. The method for traffic scheduling provided by the embodiment of the present application includes:
[0034] Step S202, obtaining a resource allocation list;
[0035] In an achievable manner, the traffic scheduling method provided in the embodiment of the present application can be applied to the whole-station acceleration scenario, so obtaining the allocated list includes obtaining the query rate list of the domain name allocated, and also obtaining the query rate status of the node of the specified layer that can be allocated. The preset layer can be the L2 layer, that is, the data link layer.
[0036] It should be noted that the query rate list of the domain names allocated in the embodiment of the present application can be expressed as a QPS (Query Per Second, referred to as QPS) list, such as Figure 3 As shown, Figure 3 It is a schematic diagram of allocating resources according to domain name QPS requirements in the traffic scheduling method according to the first embodiment of the present invention.
[0037] Step S204, judging whether the resources to be allocated in the resource allocation list meet the allocation requirements according to the allocation status of the nodes in the designated layer;
[0038] In one achievable method, based on the domain name allocated query rate list obtained by example in step S202 and the allocatable query rate status of the specified layer node, determine whether the to-be-allocated resources in the domain name allocated query rate list meet the allocation requirements. If the judgment result is yes, execute step S208; if the judgment result is no, execute step S206.
[0039] Step S206, if the judgment result is no, record the required resources to be allocated in the resource allocated list, update the resource requirements in the resource allocated list and perform resource compensation;
[0040] In one achievable manner, L2 layer accounting is performed in the QPS list of the domain name that has been allocated based on the judgment in step S204, and when a domain name QPS requirement is received, the domain name QPS requirement is updated.
[0041] Step S208: if the judgment result is yes, update the resource requirements in the resource allocation list and perform resource compensation.
[0042] In one achievable manner, allocation is performed based on the determination in step S204 according to the resources to be allocated in the QPS list to which the domain name has been allocated.
[0043] In an embodiment of the present invention, a resource allocation list is obtained; based on the allocatable status of the designated layer node, it is determined whether the to-be-allocated resources in the resource allocation list meet the allocation requirements; if the determination result is no, the required to-be-allocated resources are recorded in the resource allocation list, the resource requirements in the resource allocation list are updated, and resource compensation is performed; if the determination result is yes, the resource requirements in the resource allocation list are updated, and resource compensation is performed, thereby achieving the purpose of increasing speed and stabilizing node services, thereby realizing the technical effect of improving resource utilization, and further solving the technical problem that the dynamic acceleration routing products in the related technology will only prioritize speed, which may easily lead to increased forwarding pressure on relay nodes.
[0044] Optionally, in step S208, updating the resource requirements in the resource allocated list and performing resource compensation include: when the allocatable state of the specified layer node includes the allocatable domain name query rate state, and the resource requirements include the domain name query rate requirements, updating the resource requirements in the resource allocated list according to the domain name query rate requirements, and performing corresponding resource compensation according to the type of the domain name query rate requirements, wherein the types include: increasing the query rate resources or releasing the query rate resources.
[0045] Further, optionally, performing corresponding resource compensation according to the type of domain name query rate demand includes: when the resource allocated list includes a domain name allocated query rate list, merging fragmented resources from the domain name allocated query rate list, and using the merged fragmented resources as compensation resources to compensate for the domain name query rate demand; or, releasing merged unoccupied fragmented resources, and using the released fragmented resources as compensation resources to compensate for the domain name query rate demand.
[0046] Optionally, releasing the merged unoccupied fragment resources includes: releasing the fragment resources according to the query rate sorting in the query rate list of the domain names that have been allocated.
[0047] In summary, the corresponding resource compensation is carried out according to the type of domain name query rate demand as follows:
[0048] Type 1: Increase query rate resources
[0049] Merge fragment resources from the query rate list of the domain name that has been allocated, and compensate the merged fragment resources as follows:
[0050] If there are L2 resources in the resource allocation list, the L2 resources in the resource allocation list are allocated first;
[0051] Merge allocation fragments (to prevent too many L2 nodes from being allocated and each node only allocates very small resources);
[0052] If there is an L2 resource with higher quality, the L2 resource with higher quality will be allocated;
[0053] Among them, priority is given to allocating large blocks of resources and merging fragments; if L2 resources exist, poorer resources will also be allocated when the resources are insufficient, and priority is given to allocating large blocks of resources to reduce fragments and merge fragments.
[0054] Type 2: Query rate resource release
[0055] If there are fragmented resources, release them first;
[0056] The L2 resource list is sorted by QPS, and high QPS resources are reduced first.
[0057] In summary, the traffic scheduling method provided in the embodiment of the present application still adopts the optimal path selection for low QPS domain names. In high QPS domain names, it is necessary to combine the QPS of the domain name, the load of the L2 node (converted into the maximum QPS that the node can bear), the real-time load (real-time QPS) and other data, and use the "transportation problem" model in operations research to reasonably allocate L2 resources to the domain name under the premise of global optimality.
[0058] Optionally, updating the resource requirements in the resource allocated list and performing resource compensation includes: when the allocatable status of the node at the specified layer includes the allocatable network bandwidth status, and the resource requirements include the network bandwidth requirements, updating the resource requirements in the resource allocated list according to the network bandwidth requirements, and performing corresponding resource compensation according to the type of network bandwidth requirements, wherein the types include: increasing unallocated network bandwidth resources or releasing allocated but unoccupied network bandwidth.
[0059] Different from the above-mentioned resource compensation scheme, the embodiment of the present application can also be applied to the case where network bandwidth resources are limited, and resource compensation is performed through the above-mentioned classification, thereby performing global acceleration.
[0060] Optionally, updating the resource requirements in the resource allocated list and performing resource compensation includes: when the allocatable state of the node at the specified layer includes the allocatable port state, and the resource requirements include port requirements, updating the resource requirements in the resource allocated list according to the port requirements, and performing corresponding resource compensation according to the type of port requirements, wherein the types include: adding unallocated ports or releasing allocated unoccupied ports.
[0061] Different from the above-mentioned resource compensation scheme, the embodiment of the present application can also be applied to the case where the hardware port or software port resources of the device are limited, and resource compensation is performed through the above-mentioned classification, thereby performing global acceleration.
[0062] Optionally, the traffic scheduling method provided in the embodiment of the present application also includes: receiving resource demand information; and performing resource allocation according to corresponding historical resource allocation records in the resource demand information.
[0063] Among them, the historical resource allocation records can be used to make global optimal planning each time according to the memory of the last resource.
[0064] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should know that the present invention is not limited by the described action sequence, because according to the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
[0065] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method of traffic scheduling according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, disk, CD), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present invention.
[0066] Example 2
[0067] According to an embodiment of the present invention, a device for implementing the above-mentioned traffic scheduling method is also provided. Figure 4 As shown, Figure 4 is a schematic diagram of a traffic scheduling device according to Embodiment 2 of the present invention. The traffic scheduling device provided by the embodiment of the present application includes:
[0068] The acquisition module 42 is used to obtain the resource allocation list; the judgment module 44 is used to judge whether the to-be-allocated resources in the resource allocation list meet the allocation requirements based on the allocatable status of the nodes in the specified layer; the first scheduling module 46 is used to record the required to-be-allocated resources in the resource allocation list when the judgment result is no, update the resource requirements in the resource allocation list and perform resource compensation; the second scheduling module 48 is used to update the resource requirements in the resource allocation list and perform resource compensation when the judgment result is yes.
[0069] It should be noted here that according to the embodiment of the present invention, the above-mentioned acquisition module 42, judgment module 44, first scheduling module 46 and second scheduling module 48 correspond to steps S202 to S208 in Example 1, and the four modules are the same as the instances and application scenarios implemented by the corresponding steps, but are not limited to the contents disclosed in the above-mentioned Example 1.
[0070] Example 3
[0071] According to one aspect of an embodiment of the present invention, a storage medium is provided, wherein the storage medium includes a stored program, wherein when the program is running, the device where the storage medium is located is controlled to execute the traffic scheduling method in the above-mentioned embodiment 1.
[0072] Example 4
[0073] According to one aspect of an embodiment of the present invention, a processor is provided, wherein the processor is used to run a program, wherein the method for traffic scheduling in the above-mentioned embodiment 1 is executed when the program is running.
[0074] Example 5
[0075] The embodiment of the present invention further provides a storage medium. Optionally, in this embodiment, the storage medium can be used to store the program code executed by the traffic scheduling method provided in the first embodiment.
[0076] Optionally, in this embodiment, the above storage medium may be located in any computer terminal in a computer terminal group in a computer network, or in any mobile terminal in a mobile terminal group.
[0077] Optionally, in this embodiment, the storage medium is configured to store program codes for executing the following steps: obtaining a resource allocated list; judging whether the resources to be allocated in the resource allocated list meet the allocation requirements based on the allocatable status of the nodes in the specified layer; if the judgment result is no, recording the required resources to be allocated in the resource allocated list, updating the resource requirements in the resource allocated list and performing resource compensation; if the judgment result is yes, updating the resource requirements in the resource allocated list and performing resource compensation.
[0078] Optionally, in this embodiment, the storage medium is configured to store a program code for executing the following steps: obtaining an allocatable query rate status of a preset layer.
[0079] Optionally, in this embodiment, the storage medium is configured to store program code for executing the following steps: updating resource requirements in the resource allocated list and performing resource compensation includes: when the allocatable state of the specified layer node includes the allocatable domain name query rate state, and the resource requirements include the domain name query rate requirements, updating the resource requirements in the resource allocated list according to the domain name query rate requirements, and performing corresponding resource compensation according to the type of the domain name query rate requirements, wherein the types include: increasing the query rate resources or releasing the query rate resources.
[0080] Further, optionally, in this embodiment, the storage medium is configured to store program code for executing the following steps: performing corresponding resource compensation according to the type of domain name query rate demand includes: when the resource allocated list includes a domain name allocated query rate list, merging fragmented resources from the domain name allocated query rate list, and using the merged fragmented resources as compensation resources to compensate for the domain name query rate demand; or, releasing merged unoccupied fragmented resources, and using the released fragmented resources as compensation resources to compensate for the domain name query rate demand.
[0081] Optionally, in this embodiment, the storage medium is configured to store program codes for executing the following steps: releasing the merged unoccupied fragment resources includes: releasing the fragment resources according to the query rate sorting in the query rate list of the domain names allocated.
[0082] Optionally, in this embodiment, the storage medium is configured to store program code for executing the following steps: updating resource requirements in the resource allocated list and performing resource compensation includes: when the allocatable state of the specified layer node includes the allocatable network bandwidth state, and the resource requirements include the network bandwidth requirements, updating the resource requirements in the resource allocated list according to the network bandwidth requirements, and performing corresponding resource compensation according to the type of network bandwidth requirements, wherein the types include: increasing unallocated network bandwidth resources or releasing allocated but unoccupied network bandwidth.
[0083] Optionally, in this embodiment, the storage medium is configured to store program code for executing the following steps: updating resource requirements in the resource allocated list and performing resource compensation includes: when the allocatable state of the node at the specified layer includes an allocatable port state, and the resource requirements include port requirements, updating the resource requirements in the resource allocated list according to the port requirements, and performing corresponding resource compensation according to the type of port requirements, wherein the types include: adding unallocated ports or releasing allocated unoccupied ports.
[0084] Optionally, in this embodiment, the storage medium is configured to store program codes for executing the following steps: receiving resource demand information; and performing resource allocation according to historical resource allocation records corresponding to the resource demand information.
[0085] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0086] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0087] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0088] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0089] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0090] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.
[0091] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A method for traffic scheduling, wherein: include: Get the resource allocation list; According to the allocatable status of the designated layer node, it is judged whether the resources to be allocated in the resource allocated list meet the allocation requirements, the allocatable status of the node includes the allocatable domain name query rate status of the designated layer node, or the allocatable network bandwidth status of the designated layer node, or the allocatable port status of the designated layer node, and the resources to be allocated are used to characterize the designated layer node resources; If the result of the judgment is no, the required resources to be allocated are recorded in the resource allocated list, the resource requirements in the resource allocated list are updated, and resource compensation is performed on the resource requirements, wherein the resource requirements include: domain name query rate requirements, or network bandwidth requirements, or port requirements; If the judgment result is yes, the resource requirements in the resource allocated list are updated and resource compensation is performed on the resource requirements.
2. The method according to claim 1, wherein: Updating the resource requirements in the resource allocated list and performing resource compensation on the resource requirements includes: In the case that the allocatable state of the designated layer node includes the allocatable domain name query rate state, and the resource demand includes the domain name query rate demand, the resource demand in the resource allocated list is updated according to the domain name query rate demand, and the domain name query rate demand is compensated for corresponding resources according to the type of the domain name query rate demand, wherein the type includes: increasing the query rate resources or releasing the query rate resources.
3. The method according to claim 2, wherein: Compensating the domain name query rate requirement with corresponding resources according to the type of the domain name query rate requirement includes: In the case where the resource allocation list includes a query rate list of domain names that have been allocated, merging fragmented resources from the query rate list of domain names that have been allocated, and using the merged fragmented resources as compensation resources to compensate for the domain name query rate requirement; or, The merged and unoccupied fragment resources are released, and the released fragment resources are used as compensation resources to compensate for the domain name query rate requirement.
4. The method according to claim 3, wherein: The releasing of the merged unoccupied fragment resources comprises: The fragment resources are released according to the query rate ranking in the query rate list allocated to the domain name.
5. The method according to claim 1, wherein: Updating the resource requirements in the resource allocated list and performing resource compensation on the resource requirements includes: When the allocatable state of the designated layer node includes the allocatable network bandwidth state, and the resource demand includes the network bandwidth demand, the resource demand in the resource allocated list is updated according to the network bandwidth demand, and the network bandwidth demand is compensated for corresponding resources according to the type of the network bandwidth demand, wherein the type includes: increasing unallocated network bandwidth resources or releasing allocated but unoccupied network bandwidth.
6. The method according to claim 1, wherein: Updating the resource requirements in the resource allocated list and performing resource compensation on the resource requirements includes: In the case that the allocatable state of the designated layer node includes the allocatable port state, and the resource demand includes the port demand, the resource demand in the resource allocated list is updated according to the port demand, and the port demand is compensated for the corresponding resources according to the type of the port demand, wherein the type includes: adding unallocated ports or releasing allocated unoccupied ports.
7. The method according to claim 1, wherein: The method further comprises: Receive resource demand information; Resource allocation is performed according to the historical resource allocation record corresponding to the resource demand information.
8. A flow scheduling device, wherein: include: The acquisition module is used to obtain the resource allocation list; A judgment module, used to judge whether the resources to be allocated in the resource allocation list meet the allocation requirements according to the allocatable status of the designated layer node, the allocatable status of the node includes the allocatable domain name query rate status of the designated layer node, or the allocatable network bandwidth status of the designated layer node, or the allocatable port status of the designated layer node, and the resources to be allocated are used to characterize the designated layer node resources; A first scheduling module is used for recording the required resources to be allocated in the resource allocated list, updating the resource requirements in the resource allocated list and performing resource compensation for the resource requirements when the judgment result is no, the resource requirements including: domain name query rate requirements, or network bandwidth requirements, or port requirements; The second scheduling module is used to update the resource requirements in the resource allocation list and perform resource compensation for the resource requirements when the judgment result is yes.
9. A storage medium, wherein: The storage medium includes a stored program, wherein when the program is executed, the device where the storage medium is located is controlled to execute the traffic scheduling method according to any one of claims 1 to 7.
10. A processor, wherein: The processor is used to run a program, wherein the program, when running, executes the traffic scheduling method described in any one of claims 1 to 7.
Citation Information
Patent Citations
A method and apparatus for resource allocation
CN109376001A
Wireless ad hoc network resource dynamic on-demand distribution method, device and system
CN110113787A