WO2021139273A1 - Cdn scheduling method and apparatus based on pareto algorithm, and computer device and storage medium - Google Patents

Cdn scheduling method and apparatus based on pareto algorithm, and computer device and storage medium Download PDF

Info

Publication number
WO2021139273A1
WO2021139273A1 PCT/CN2020/118921 CN2020118921W WO2021139273A1 WO 2021139273 A1 WO2021139273 A1 WO 2021139273A1 CN 2020118921 W CN2020118921 W CN 2020118921W WO 2021139273 A1 WO2021139273 A1 WO 2021139273A1
Authority
WO
WIPO (PCT)
Prior art keywords
cdn
candidate
vendor
objective function
manufacturer
Prior art date
Application number
PCT/CN2020/118921
Other languages
French (fr)
Chinese (zh)
Inventor
张安发
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2021139273A1 publication Critical patent/WO2021139273A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Definitions

  • This application relates to the field of artificial intelligence technology, and in particular to a CDN scheduling method, device, computer equipment, and storage medium based on the Pareto algorithm.
  • CDN Content Delivery Network
  • IP network IP network
  • CDN Content Delivery Network
  • the scheduling system As the core part of the CDN system, the scheduling system, its scheduling strategy has always been the focus of people's research. As a converged CDN, it not only involves the scheduling between node lines within a single CDN vendor, but also the scheduling between multiple CDN vendors, which undoubtedly increases the complexity of scheduling. How to formulate high-quality and low-cost scheduling strategies has become the focus of various integrated CDN vendors.
  • the traditional converged CDN vendor scheduling strategy is generally determined in advance based on the service quality and service price of each vendor, and the subsequent manual adjustment of the strategy according to the service situation, but the network service is a fluctuating process. How to formulate a good scheduling strategy to achieve the most economical benefits is one of the main goals, and the service quality of various CDN vendors at different moments will also fluctuate. How to maximize the service quality under the economically optimal goal becomes another An important goal.
  • the embodiments of the present application provide a CDN scheduling method, device, computer equipment, and storage medium based on the Pareto algorithm, aiming to solve the problem that the existing CDN scheduling method relies on manual scheduling and cannot balance economy and service quality.
  • an embodiment of the present application provides a CDN scheduling method based on the Pareto algorithm, which includes:
  • the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal concentration.
  • an embodiment of the present application also provides a CDN scheduling device based on the Pareto algorithm, which includes:
  • the first obtaining unit is used to obtain access quality data and usage cost data of each candidate CDN vendor
  • the second acquiring unit is configured to respectively acquire the quality objective function value of each candidate CDN manufacturer according to the preset quality objective function and the access quality data of each candidate CDN manufacturer;
  • the third obtaining unit is configured to obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer;
  • the fourth obtaining unit is configured to obtain the Pareto optimal set according to the preset Pareto algorithm and the quality objective function value of each candidate CDN manufacturer and the cost objective function value of each candidate CDN manufacturer;
  • the first judgment unit is used to judge whether the selected target CDN manufacturer is in the Pareto optimal concentration
  • the first scheduling unit is configured to schedule the CDN connection of the terminal to the candidate CDN vendors in the Pareto optimal set if the target CDN vendor is not in the Pareto optimal set.
  • an embodiment of the present application also provides a computer device, the computer device includes a memory and a processor, the memory stores a computer program, and the processor is used to run the computer program to perform the following steps :
  • the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal concentration.
  • the embodiments of the present application also provide a computer-readable storage medium that stores a computer program, wherein when the computer program is executed by a processor, the processor executes the following steps :
  • the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal concentration.
  • FIG. 1 is a schematic diagram of an application scenario of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application;
  • FIG. 2 is a schematic flowchart of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application;
  • FIG. 3 is a schematic diagram of a sub-flow of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application;
  • FIG. 4 is a schematic diagram of a sub-flow of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application;
  • FIG. 5 is a schematic diagram of a sub-flow of a CDN scheduling method based on the Pareto algorithm according to an embodiment of the application;
  • FIG. 6 is a schematic diagram of a sub-flow of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application;
  • FIG. 7 is a schematic flowchart of a CDN scheduling method based on the Pareto algorithm according to another embodiment of the application.
  • FIG. 8 is a schematic block diagram of a CDN scheduling device based on the Pareto algorithm according to an embodiment of the application.
  • Fig. 9 is a schematic block diagram of a first obtaining unit of a CDN scheduling device based on the Pareto algorithm according to an embodiment of the application;
  • FIG. 10 is a schematic block diagram of a first scheduling unit of a CDN scheduling device based on the Pareto algorithm according to an embodiment of the application;
  • FIG. 11 is a schematic block diagram of a first scheduling unit and a second scheduling unit of a CDN scheduling device based on the Pareto algorithm according to an embodiment of the application;
  • FIG. 12 is a schematic block diagram of a first scheduling unit and a third scheduling unit of a CDN scheduling device based on the Pareto algorithm according to an embodiment of the application;
  • FIG. 13 is a schematic block diagram of a CDN scheduling device based on the Pareto algorithm according to another embodiment of the application.
  • FIG. 14 is a schematic block diagram of a computer device provided by an embodiment of this application.
  • the term “if” can be interpreted as “when” or “once” or “in response to determination” or “in response to detection” depending on the context .
  • the phrase “if determined” or “if detected [described condition or event]” can be interpreted as meaning “once determined” or “in response to determination” or “once detected [described condition or event]” depending on the context ]” or “in response to detection of [condition or event described]”.
  • FIG. 1 is a schematic diagram of an application scenario of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application.
  • Fig. 2 is a schematic flowchart of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application.
  • the CDN scheduling method based on the Pareto algorithm proposed in this application is applied to the terminal 10.
  • the terminal 10 selects the candidate CDN vendor 20 (CDN server) according to the preset Pareto algorithm, and schedules its CDN connection to the selected candidate CDN vendor 20 .
  • CDN vendor 20 CDN vendor
  • Fig. 2 is a schematic flowchart of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the present application.
  • This application can be applied to smart government affairs/smart city management/smart communities/smart security/smart logistics/smart healthcare/smart education/smart environmental protection/smart transportation scenarios to promote the construction of smart cities.
  • the method includes the following steps S1-S6.
  • CDN systems adopt a method of integrating multiple CDN vendors, that is, a CDN system contains multiple CDN vendors (CDN servers) for users to choose from.
  • CDN vendors CDN servers
  • all CDN vendors of the CDN system are regarded as candidate CDN vendors.
  • the access quality data and usage cost data of each candidate CDN vendor are obtained.
  • the access quality data is used to characterize the service quality of the candidate CDN vendor.
  • the access quality data may be the access delay of the candidate CDN vendor.
  • the usage cost data is used to characterize the usage cost of the candidate CDN manufacturer.
  • the usage cost data may be the price of the candidate CDN manufacturer.
  • the above step S1 specifically includes the following steps S11-S14.
  • each candidate CDN vendor includes multiple nodes. Obtain the access delay of each node of the candidate CDN vendor respectively. Specifically, the access delay of the node can be obtained by measuring the network speed of the node.
  • S12 Calculate the average value of the access delay of each node of the candidate CDN vendor.
  • the average access delay can reflect the overall service quality of the candidate CDN vendors.
  • the access quality data is the average access delay.
  • a price query request is sent to the server of the candidate CDN manufacturer.
  • the server of the candidate CDN manufacturer After receiving the price query request, the server of the candidate CDN manufacturer will return a price response message to the terminal, and the price response message contains the bandwidth unit price of the candidate CDN manufacturer.
  • a price response message returned by the server of the candidate CDN vendor is received, where the price response message includes the bandwidth unit price of the candidate CDN vendor.
  • the terminal obtains the bandwidth unit price of the candidate CDN manufacturer according to the price response message.
  • the usage cost data is the bandwidth unit price.
  • steps S11-S12 and steps S13-S14 are not executed sequentially. Alternatively, steps S11-S12 and steps S13-S14 can be executed in parallel.
  • the quality objective function value of each candidate CDN vendor is obtained according to the preset quality objective function and the access quality data of each candidate CDN vendor.
  • the access quality data of the candidate CDN manufacturer is input into a preset quality objective function to obtain the quality objective function value of the candidate CDN manufacturer.
  • the cost objective function value of each candidate CDN manufacturer is obtained according to the preset cost objective function and the cost data of each candidate CDN manufacturer.
  • the cost data of the candidate CDN manufacturer is input into a preset cost objective function to obtain the cost objective function value of the candidate CDN manufacturer.
  • steps S2 and S3 are not executed sequentially. Alternatively, step S2 and step S3 can be executed in parallel.
  • Pareto algorithm also known as Pareto optimal solution algorithm, is a resource optimization algorithm.
  • Non-inferior solution x1, x2 ⁇ X, if r ⁇ 1,2,...m ⁇ , satisfying f k (x1) ⁇ f k (x2) and f r (x1) ⁇ f r (x2), then x1 and x2 are called non-inferior solutions to each other, which can be described as x1
  • Pareto optimal set The set composed of Pareto optimal solutions is called Pareto optimal set.
  • x1, x2...xn respectively represent the candidate CDN vendors.
  • f k (x) is the quality objective function
  • f r (x) is the cost objective function. Then obtain the Pareto optimal set according to the above definition 1 to definition 4.
  • the Pareto optimal set can be stored in the blockchain to ensure data security and non-tampering.
  • the CDN vendor currently selected by the terminal is taken as the target CDN vendor.
  • the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal set.
  • the above step S6 specifically includes S61-S63.
  • S61 Acquire a scheduling mode preset by the user, where the scheduling mode includes a quality priority mode and a price priority mode.
  • the scheduling mode preset by the user is obtained.
  • the candidate CDN vendor with the smallest value of the Pareto optimal centralized quality objective function (that is, the candidate CDN vendor with the best Pareto optimal centralized network connection quality) is obtained )
  • the candidate CDN vendor with the best Pareto optimal centralized network connection quality is obtained )
  • the above step S62 specifically includes S621-S622.
  • S621 Acquire the node with the smallest access delay from the first target CDN vendor as the first target node.
  • the node with the smallest access delay from the first target CDN vendor is acquired as the first target node.
  • the access delay of the first target node is the smallest, and the quality of service will be the best.
  • S622 Schedule the CDN connection of the terminal to the first target node.
  • the CDN connection of the terminal is scheduled to the first target node to increase the network connection rate.
  • S63 If the scheduling mode preset by the user is the price priority mode, obtain the candidate CDN manufacturer with the smallest value of the Pareto optimal centralized cost objective function as the second target CDN manufacturer, and schedule the CDN connection of the terminal to the second target CDN manufacturer. 2. Among the target CDN vendors.
  • the candidate CDN vendor with the smallest value of the Pareto optimal centralized cost objective function ie the candidate CDN vendor with the lowest Pareto optimal centralized cost
  • the second target CDN manufacturer schedules the CDN connection of the terminal to the second target CDN manufacturer.
  • step S63 specifically includes S631-S632.
  • S631 Acquire the node with the smallest access delay from the second target CDN vendor as the second target node.
  • the node with the smallest access delay from the second target CDN vendor is acquired as the second target node.
  • the access delay of the second target node is the smallest, and the quality of service will be the best.
  • S632 schedules the CDN connection of the terminal to the second target node.
  • the CDN connection of the terminal is scheduled to the second target node to increase the network connection rate.
  • the access quality data and usage cost data of each candidate CDN manufacturer are obtained; each of the candidate CDN manufacturers is obtained according to the preset quality objective function and the access quality data of each candidate CDN manufacturer.
  • Select the quality objective function value of the CDN manufacturer obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer;
  • According to the preset Pareto algorithm and each The quality objective function value of the candidate CDN vendor and the cost objective function value of each candidate CDN vendor obtain the Pareto optimal set; determine whether the target CDN vendor is in the Pareto optimal set; if the target CDN vendor is not In the Pareto optimal concentration, the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal concentration, so that the CDN scheduling can be automatically realized without manual operation by the user, and the scheduling efficiency is high; at the same time, the Pareto optimal concentration
  • the excellent concentration of candidate CDN vendors can take into account the economy and service quality of the
  • FIG. 7 is a schematic flowchart of a CDN scheduling method based on the Pareto algorithm according to another embodiment of the present application. As shown in Figure 7, the CDN scheduling method based on the Pareto algorithm of this embodiment includes steps S71-S78.
  • time node is set by those skilled in the art based on experience. For example, set to every hour of the day. Since the network conditions of the candidate CDN vendors change over time, it is necessary to obtain the access quality data of the candidate CDN vendors regularly.
  • CDN system adopts the method of integrating multiple CDN vendors, that is, a CDN system contains multiple CDN vendors for users to choose from.
  • CDN vendors of the CDN system are regarded as candidate CDN vendors.
  • the access quality data and usage cost data of each candidate CDN vendor are obtained.
  • the access quality data is used to characterize the service quality of the candidate CDN vendor.
  • the access quality data may be the access delay of the candidate CDN vendor.
  • the usage cost data is used to characterize the usage cost of the candidate CDN manufacturer.
  • the usage cost data may be the price of the candidate CDN manufacturer.
  • S73 Acquire the quality objective function value of each candidate CDN vendor according to the preset quality objective function and the access quality data of each candidate CDN vendor.
  • the quality objective function value of each candidate CDN vendor is obtained according to the preset quality objective function and the access quality data of each candidate CDN vendor.
  • the access quality data of the candidate CDN manufacturer is input into a preset quality objective function to obtain the quality objective function value of the candidate CDN manufacturer.
  • the cost objective function value of each candidate CDN manufacturer is obtained according to the preset cost objective function and the cost data of each candidate CDN manufacturer.
  • the cost data of the candidate CDN manufacturer is input into a preset cost objective function to obtain the cost objective function value of the candidate CDN manufacturer.
  • Pareto algorithm also known as Pareto optimal solution algorithm, is a resource optimization algorithm.
  • Non-inferior solution x1, x2 ⁇ X, if r ⁇ 1,2,...m ⁇ , satisfying f k (x1) ⁇ f k (x2) and f r (x1) ⁇ f r (x2), then x1 and x2 are called non-inferior solutions to each other, which can be described as x1
  • Pareto optimal set The set composed of Pareto optimal solutions is called Pareto optimal set.
  • x1, x2...xn respectively represent the candidate CDN vendors.
  • f k (x) is the quality objective function
  • f r (x) is the cost objective function. Then obtain the Pareto optimal set according to the above definition 1 to definition 4.
  • the CDN vendor currently selected by the terminal is taken as the target CDN vendor.
  • the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal set.
  • the target CDN manufacturer is in the Pareto optimal concentration, there is no need to schedule CDN connections, and the CDN connection of the terminal is kept in the target CDN manufacturer to avoid frequent scheduling of CDN connections to cause network fluctuations to users.
  • FIG. 8 is a schematic block diagram of a CDN scheduling device 70 based on the Pareto algorithm according to an embodiment of the present application.
  • the present application also provides a CDN scheduling device 70 based on the Pareto algorithm.
  • the Pareto algorithm-based CDN scheduling device 70 includes a unit for executing the above-mentioned Pareto algorithm-based CDN scheduling method.
  • the Pareto algorithm-based CDN scheduling device 70 can be configured in a desktop computer, a tablet computer, a laptop computer, and other terminals.
  • the CDN system includes multiple candidate CDN vendors. Please refer to FIG. 8.
  • the CDN scheduling device 70 based on the Pareto algorithm includes a first obtaining unit 71, a second obtaining unit 72, a third obtaining unit 73, and a fourth obtaining unit.
  • the first obtaining unit 71 is configured to obtain access quality data and usage cost data of each candidate CDN vendor.
  • the second obtaining unit 72 is configured to obtain the quality objective function value of each candidate CDN vendor according to the preset quality objective function and the access quality data of each candidate CDN vendor.
  • the third obtaining unit 73 is configured to obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer.
  • the fourth obtaining unit 74 is configured to obtain the Pareto optimal set according to the preset Pareto algorithm, the quality objective function value of each candidate CDN manufacturer, and the cost objective function value of each candidate CDN manufacturer.
  • the first judging unit 75 is used to judge whether the selected target CDN manufacturer is in the Pareto optimal concentration.
  • the first scheduling unit 76 is configured to, if the target CDN vendor is not in the Pareto optimal set, schedule the CDN connection of the terminal to the candidate CDN vendors in the Pareto optimal set.
  • the first obtaining unit 71 includes a fifth obtaining unit 711, a calculating unit 712, a sending unit 713 and a receiving unit 714.
  • the fifth obtaining unit 711 is configured to obtain the access delay of each node of the candidate CDN vendor respectively.
  • the calculation unit 712 is configured to calculate the average value of the access delay of each node of the candidate CDN vendor.
  • the sending unit 713 is configured to send a price query request to the server of the candidate CDN manufacturer.
  • the receiving unit 714 is configured to receive a price response message returned by the server of the candidate CDN manufacturer, where the price response message includes the bandwidth unit price of the candidate CDN manufacturer.
  • the first scheduling unit 76 includes a sixth obtaining unit 761, a second scheduling unit 762, and a third scheduling unit 763.
  • the sixth acquiring unit 761 is configured to acquire a scheduling mode preset by the user, and the scheduling mode includes a quality priority mode and a price priority mode.
  • the second scheduling unit 762 is configured to, if the user preset scheduling mode is the quality priority mode, obtain the candidate CDN vendor with the smallest value of the Pareto optimal centralized quality objective function as the first target CDN vendor, and set the CDN of the terminal The connection is scheduled to the first target CDN vendor.
  • the third scheduling unit 763 is configured to, if the scheduling mode preset by the user is the price priority mode, obtain the candidate CDN manufacturer with the smallest value of the Pareto optimal centralized cost objective function as the second target CDN manufacturer, and set the CDN of the terminal The connection is scheduled to the second target CDN vendor.
  • the second scheduling unit 762 includes a seventh obtaining unit 7621 and a fourth scheduling unit 7622.
  • the seventh acquiring unit 7621 is configured to acquire the node with the smallest access delay among the first target CDN vendors as the first target node.
  • the fourth scheduling unit 7622 is configured to schedule the CDN connection of the terminal to the first target node.
  • the third scheduling unit 763 includes an eighth obtaining unit 7631 and a fifth scheduling unit 7632.
  • the eighth obtaining unit 7631 is configured to obtain the node with the smallest access delay among the second target CDN vendors as the second target node.
  • the fifth scheduling unit 7632 is configured to schedule the CDN connection of the terminal to the second target node.
  • FIG. 13 is a schematic block diagram of a CDN scheduling device 70 based on the Pareto algorithm according to another embodiment of the present application.
  • the CDN scheduling apparatus 70 based on the Pareto algorithm of this embodiment adds a second judgment unit 77 and a holding unit 78 on the basis of the foregoing embodiment.
  • the second judging unit 77 is used to judge whether the current time has reached a preset time node.
  • the first obtaining unit 71 is specifically configured to perform the steps of obtaining access quality data and usage cost data of each candidate CDN vendor if the current time reaches a preset time node.
  • the maintaining unit 78 is configured to maintain the CDN connection of the terminal in the target CDN manufacturer if the target CDN manufacturer is in the Pareto optimal concentration.
  • CDN scheduling device 70 based on the Pareto algorithm and the specific implementation process of each unit can refer to the corresponding description in the foregoing method embodiment, for the convenience and conciseness of the description. , I won’t repeat it here.
  • the above-mentioned CDN scheduling apparatus based on the Pareto algorithm may be implemented in the form of a computer program, and the computer program may run on the computer device as shown in FIG. 14.
  • FIG. 14 is a schematic block diagram of a computer device according to an embodiment of the present application.
  • the computer device 500 is a terminal, and the terminal may be an electronic device with communication functions such as a smart phone, a tablet computer, a notebook computer, a desktop computer, a personal digital assistant, and a wearable device.
  • the computer device 500 includes a processor 502, a memory, and a network interface 505 connected through a system bus 501, where the memory may include a non-volatile storage medium 503 and an internal memory 504.
  • the non-volatile storage medium 503 can store an operating system 5031 and a computer program 5032.
  • the processor 502 can execute a CDN scheduling method based on the Pareto algorithm.
  • the processor 502 is used to provide calculation and control capabilities to support the operation of the entire computer device 500.
  • the internal memory 504 provides an environment for the operation of the computer program 5032 in the non-volatile storage medium 503.
  • the processor 502 can make the processor 502 execute a CDN scheduling method based on the Pareto algorithm.
  • the network interface 505 is used for network communication with other devices.
  • the structure shown in FIG. 14 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device 500 to which the solution of the present application is applied.
  • the specific computer device 500 may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
  • the processor 502 is configured to run a computer program 5032 stored in a memory to implement the CDN scheduling method based on the Pareto algorithm of the present application.
  • the processor 502 may be a central processing unit (Central Processing Unit, CPU), and the processor 502 may also be other general-purpose processors, digital signal processors (Digital Signal Processors, DSPs), Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor.
  • the computer program may be stored in a storage medium, and the storage medium is a computer-readable storage medium.
  • the computer program is executed by at least one processor in the computer system to implement the process steps of the foregoing method embodiment.
  • the storage medium may be a computer-readable storage medium.
  • the storage medium stores a computer program.
  • the processor executes the CDN scheduling method based on the Pareto algorithm of the present application.
  • the storage medium is a physical, non-transitory storage medium, such as a U disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a magnetic disk, or an optical disk, etc., which can store program codes. medium.
  • the computer-readable storage medium may be non-volatile or volatile.
  • the disclosed device and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of each unit is only a logical function division, and there may be other division methods in actual implementation.
  • multiple units or components can be combined or integrated into another system, or some features can be omitted or not implemented.
  • the steps in the method in the embodiment of the present application can be adjusted, merged, and deleted in order according to actual needs.
  • the units in the devices in the embodiments of the present application may be combined, divided, and deleted according to actual needs.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • 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 storage medium.
  • the technical solution of this application is essentially or the part that contributes to the existing technology, 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. It includes several instructions to make a computer device (which may be a personal computer, a terminal, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Disclosed are a CDN scheduling method and apparatus based on a Pareto algorithm, and a computer device and a storage medium, relating to the field of artificial intelligence. The method comprises: acquiring access quality data and usage cost data of each CDN manufacturer to be selected; acquiring a quality objective function value and a cost objective function value of each said CDN manufacturer; acquiring a Pareto optimal set according to a preset Pareto algorithm, the quality objective function value of each said CDN manufacturer and the cost objective function value of each said CDN manufacturer; determining whether a selected objective CDN manufacturer is in the Pareto optimal set; and if not, scheduling a CDN connection of a terminal to said CDN manufacturers in the Pareto optimal set.

Description

基于Pareto算法的CDN调度方法、装置、计算机设备及存储介质CDN scheduling method, device, computer equipment and storage medium based on Pareto algorithm
本申请要求于2020年7月28日提交中国专利局、申请号为202010740112.6、发明名称为“基于Pareto算法的CDN调度方法、装置、计算机设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office, the application number is 202010740112.6, and the invention title is "Pareto algorithm-based CDN scheduling method, device, computer equipment and storage medium" on July 28, 2020, all of which The content is incorporated in this application by reference.
技术领域Technical field
本申请涉及人工智能技术领域,尤其涉及一种基于Pareto算法的CDN调度方法、装置、计算机设备及存储介质。This application relates to the field of artificial intelligence technology, and in particular to a CDN scheduling method, device, computer equipment, and storage medium based on the Pareto algorithm.
背景技术Background technique
CDN(Content Delivery Network,内容分发网络),是一种新型网络内容服务体系,其基于IP网络而构建,基于内容访问与应用的效率要求、质量要求和内容秩序而提供内容的分发和服务。CDN (Content Delivery Network, Content Delivery Network) is a new type of network content service system, which is based on IP network and provides content distribution and services based on the efficiency requirements, quality requirements and content order of content access and application.
调度系统作为CDN系统的核心部分,其调度策略一直是人们研究的重点。作为融合CDN,其不仅涉及到单个CDN厂商内节点线路之间的调度,还涉及到多个CDN厂商之间的调度,这无疑增加了调度的复杂性。如何制定高质量且成本小的调度策略成为各个融合CDN厂商关注的焦点。As the core part of the CDN system, the scheduling system, its scheduling strategy has always been the focus of people's research. As a converged CDN, it not only involves the scheduling between node lines within a single CDN vendor, but also the scheduling between multiple CDN vendors, which undoubtedly increases the complexity of scheduling. How to formulate high-quality and low-cost scheduling strategies has become the focus of various integrated CDN vendors.
传统的融合CDN厂商调度策略一般是根据各个厂商的服务质量以及服务价格提前确定,后续会根据服务情况人工调整策略,但是网络服务是一个波动的过程。如何制定出好的调度策略以达到经济最实惠是其中一个主要目标,且各个CDN厂商在不同时刻的服务质量也会产生波动,如何在经济最优的目标下最大限度的提高服务质量成为了另外一个重要目标。The traditional converged CDN vendor scheduling strategy is generally determined in advance based on the service quality and service price of each vendor, and the subsequent manual adjustment of the strategy according to the service situation, but the network service is a fluctuating process. How to formulate a good scheduling strategy to achieve the most economical benefits is one of the main goals, and the service quality of various CDN vendors at different moments will also fluctuate. How to maximize the service quality under the economically optimal goal becomes another An important goal.
发明人发现,目前的融合CDN调度系统一般难以动态且实时的调整调度策略,以同时兼顾经济性和服务质量。同时,调度系统频繁的人工介入调整调度策略也大大增加了人工维护成本,且效率低下。The inventor found that it is generally difficult for the current converged CDN scheduling system to dynamically and real-time adjust the scheduling strategy in order to take into account economy and service quality at the same time. At the same time, the frequent manual intervention of the scheduling system to adjust the scheduling strategy also greatly increases the manual maintenance cost and is inefficient.
发明内容Summary of the invention
本申请实施例提供了一种基于Pareto算法的CDN调度方法、装置、计算机设备及存储介质,旨在解决现有CDN调度方法依赖人工调度且无法兼顾经济性和服务质量的问题。The embodiments of the present application provide a CDN scheduling method, device, computer equipment, and storage medium based on the Pareto algorithm, aiming to solve the problem that the existing CDN scheduling method relies on manual scheduling and cannot balance economy and service quality.
第一方面,本申请实施例提供了一种基于Pareto算法的CDN调度方法,其包括:In the first aspect, an embodiment of the present application provides a CDN scheduling method based on the Pareto algorithm, which includes:
获取各待选CDN厂商的访问质量数据以及使用成本数据;Obtain access quality data and usage cost data of each candidate CDN vendor;
根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值;Respectively acquiring the quality objective function value of each candidate CDN manufacturer according to the preset quality objective function and the access quality data of each candidate CDN manufacturer;
根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值;Obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer;
根据预设的Pareto算法以及各所述待选CDN厂商的质量目标函数值以及各所述待选CDN厂商的成本目标函数值获取Pareto最优集;Obtaining the Pareto optimal set according to the preset Pareto algorithm, the quality objective function value of each candidate CDN manufacturer and the cost objective function value of each candidate CDN manufacturer;
判断选定的目标CDN厂商是否在所述Pareto最优集中;Judge whether the selected target CDN manufacturer is in the Pareto optimal concentration;
若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。If the target CDN vendor is not in the Pareto optimal concentration, the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal concentration.
第二方面,本申请实施例还提供了一种基于Pareto算法的CDN调度装置,其包括:In the second aspect, an embodiment of the present application also provides a CDN scheduling device based on the Pareto algorithm, which includes:
第一获取单元,用于获取各待选CDN厂商的访问质量数据以及使用成本数据;The first obtaining unit is used to obtain access quality data and usage cost data of each candidate CDN vendor;
第二获取单元,用于根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值;The second acquiring unit is configured to respectively acquire the quality objective function value of each candidate CDN manufacturer according to the preset quality objective function and the access quality data of each candidate CDN manufacturer;
第三获取单元,用于根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值;The third obtaining unit is configured to obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer;
第四获取单元,用于根据预设的Pareto算法以及各所述待选CDN厂商的质量目标函数值以及各所述待选CDN厂商的成本目标函数值获取Pareto最优集;The fourth obtaining unit is configured to obtain the Pareto optimal set according to the preset Pareto algorithm and the quality objective function value of each candidate CDN manufacturer and the cost objective function value of each candidate CDN manufacturer;
第一判断单元,用于判断选定的目标CDN厂商是否在所述Pareto最优集中;The first judgment unit is used to judge whether the selected target CDN manufacturer is in the Pareto optimal concentration;
第一调度单元,用于若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。The first scheduling unit is configured to schedule the CDN connection of the terminal to the candidate CDN vendors in the Pareto optimal set if the target CDN vendor is not in the Pareto optimal set.
第三方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器用于运行所述计算机程序,以执行如下步骤:In a third aspect, an embodiment of the present application also provides a computer device, the computer device includes a memory and a processor, the memory stores a computer program, and the processor is used to run the computer program to perform the following steps :
获取各待选CDN厂商的访问质量数据以及使用成本数据;Obtain access quality data and usage cost data of each candidate CDN vendor;
根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值;Respectively acquiring the quality objective function value of each candidate CDN manufacturer according to the preset quality objective function and the access quality data of each candidate CDN manufacturer;
根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值;Obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer;
根据预设的Pareto算法以及各所述待选CDN厂商的质量目标函数值以及各所述待选 CDN厂商的成本目标函数值获取Pareto最优集;Obtain the Pareto optimal set according to the preset Pareto algorithm, the quality objective function value of each candidate CDN manufacturer and the cost objective function value of each candidate CDN manufacturer;
判断选定的目标CDN厂商是否在所述Pareto最优集中;Judge whether the selected target CDN manufacturer is in the Pareto optimal concentration;
若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。If the target CDN vendor is not in the Pareto optimal concentration, the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal concentration.
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时使所述处理器执行以下步骤:In a fourth aspect, the embodiments of the present application also provide a computer-readable storage medium that stores a computer program, wherein when the computer program is executed by a processor, the processor executes the following steps :
获取各待选CDN厂商的访问质量数据以及使用成本数据;Obtain access quality data and usage cost data of each candidate CDN vendor;
根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值;Respectively acquiring the quality objective function value of each candidate CDN manufacturer according to the preset quality objective function and the access quality data of each candidate CDN manufacturer;
根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值;Obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer;
根据预设的Pareto算法以及各所述待选CDN厂商的质量目标函数值以及各所述待选CDN厂商的成本目标函数值获取Pareto最优集;Obtaining the Pareto optimal set according to the preset Pareto algorithm, the quality objective function value of each candidate CDN manufacturer and the cost objective function value of each candidate CDN manufacturer;
判断选定的目标CDN厂商是否在所述Pareto最优集中;Judge whether the selected target CDN manufacturer is in the Pareto optimal concentration;
若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。If the target CDN vendor is not in the Pareto optimal concentration, the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal concentration.
附图说明Description of the drawings
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to explain the technical solutions of the embodiments of the present application more clearly, the following will briefly introduce the drawings used in the description of the embodiments. Obviously, the drawings in the following description are some embodiments of the present application. Ordinary technicians can obtain other drawings based on these drawings without creative work.
图1为本申请实施例提供的一种基于Pareto算法的CDN调度方法的应用场景示意图;FIG. 1 is a schematic diagram of an application scenario of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application;
图2为本申请实施例提供的一种基于Pareto算法的CDN调度方法的流程示意图;2 is a schematic flowchart of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application;
图3为本申请实施例提供的一种基于Pareto算法的CDN调度方法的子流程示意图;FIG. 3 is a schematic diagram of a sub-flow of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application;
图4为本申请实施例提供的一种基于Pareto算法的CDN调度方法的子流程示意图;4 is a schematic diagram of a sub-flow of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application;
图5为本申请实施例提供的一种基于Pareto算法的CDN调度方法的子流程示意图;FIG. 5 is a schematic diagram of a sub-flow of a CDN scheduling method based on the Pareto algorithm according to an embodiment of the application;
图6为本申请实施例提供的一种基于Pareto算法的CDN调度方法的子流程示意图;6 is a schematic diagram of a sub-flow of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application;
图7为本申请另一实施例提供的一种基于Pareto算法的CDN调度方法的流程示意图;FIG. 7 is a schematic flowchart of a CDN scheduling method based on the Pareto algorithm according to another embodiment of the application;
图8为本申请实施例提供的一种基于Pareto算法的CDN调度装置的示意性框图;FIG. 8 is a schematic block diagram of a CDN scheduling device based on the Pareto algorithm according to an embodiment of the application;
图9为本申请实施例提供的一种基于Pareto算法的CDN调度装置的第一获取单元的示 意性框图;Fig. 9 is a schematic block diagram of a first obtaining unit of a CDN scheduling device based on the Pareto algorithm according to an embodiment of the application;
图10为本申请实施例提供的一种基于Pareto算法的CDN调度装置的第一调度单元的示意性框图;10 is a schematic block diagram of a first scheduling unit of a CDN scheduling device based on the Pareto algorithm according to an embodiment of the application;
图11为本申请实施例提供的一种基于Pareto算法的CDN调度装置的第一调度单元的第二调度单元的示意性框图;11 is a schematic block diagram of a first scheduling unit and a second scheduling unit of a CDN scheduling device based on the Pareto algorithm according to an embodiment of the application;
图12为本申请实施例提供的一种基于Pareto算法的CDN调度装置的第一调度单元的第三调度单元的示意性框图;12 is a schematic block diagram of a first scheduling unit and a third scheduling unit of a CDN scheduling device based on the Pareto algorithm according to an embodiment of the application;
图13为本申请另一实施例提供的一种基于Pareto算法的CDN调度装置的示意性框图;FIG. 13 is a schematic block diagram of a CDN scheduling device based on the Pareto algorithm according to another embodiment of the application;
图14为本申请实施例提供的一种计算机设备的示意性框图。FIG. 14 is a schematic block diagram of a computer device provided by an embodiment of this application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be described clearly and completely in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all of them. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of this application.
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。It should be understood that when used in this specification and appended claims, the terms "including" and "including" indicate the existence of the described features, wholes, steps, operations, elements and/or components, but do not exclude one or The existence or addition of multiple other features, wholes, steps, operations, elements, components, and/or collections thereof.
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。It should also be understood that the terms used in the specification of this application are only for the purpose of describing specific embodiments and are not intended to limit the application. As used in the specification of this application and the appended claims, unless the context clearly indicates other circumstances, the singular forms "a", "an" and "the" are intended to include plural forms.
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。It should be further understood that the term "and/or" used in the specification and appended claims of this application refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations .
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。As used in this specification and the appended claims, the term "if" can be interpreted as "when" or "once" or "in response to determination" or "in response to detection" depending on the context . Similarly, the phrase "if determined" or "if detected [described condition or event]" can be interpreted as meaning "once determined" or "in response to determination" or "once detected [described condition or event]" depending on the context ]" or "in response to detection of [condition or event described]".
请参阅图1和图2,图1为本申请实施例提供的基于Pareto算法的CDN调度方法的应用场景示意图。图2为本申请实施例提供的基于Pareto算法的CDN调度方法的示意性流程图。本申请提出的基于Pareto算法的CDN调度方法应用于终端10中,终端10根据预设的Pareto 算法选择待选CDN厂商20(CDN服务器),并将其CDN连接调度到选中的待选CDN厂商20。Please refer to FIG. 1 and FIG. 2. FIG. 1 is a schematic diagram of an application scenario of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application. Fig. 2 is a schematic flowchart of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the application. The CDN scheduling method based on the Pareto algorithm proposed in this application is applied to the terminal 10. The terminal 10 selects the candidate CDN vendor 20 (CDN server) according to the preset Pareto algorithm, and schedules its CDN connection to the selected candidate CDN vendor 20 .
图2是本申请实施例提供的基于Pareto算法的CDN调度方法的流程示意图。本申请可应用于智慧政务/智慧城管/智慧社区/智慧安防/智慧物流/智慧医疗/智慧教育/智慧环保/智慧交通场景中,从而推动智慧城市的建设。如图所示,该方法包括以下步骤S1-S6。Fig. 2 is a schematic flowchart of a CDN scheduling method based on the Pareto algorithm provided by an embodiment of the present application. This application can be applied to smart government affairs/smart city management/smart communities/smart security/smart logistics/smart healthcare/smart education/smart environmental protection/smart transportation scenarios to promote the construction of smart cities. As shown in the figure, the method includes the following steps S1-S6.
S1,获取各待选CDN厂商的访问质量数据以及使用成本数据。S1. Obtain access quality data and usage cost data of each candidate CDN vendor.
目前,CDN系统大多采用融合多CDN厂商的方式,即一个CDN系统中包含多个CDN厂商(CDN服务器)供用户选择。本申请实施例中,将CDN系统的所有CDN厂商均作为待选CDN厂商。At present, most CDN systems adopt a method of integrating multiple CDN vendors, that is, a CDN system contains multiple CDN vendors (CDN servers) for users to choose from. In the embodiment of this application, all CDN vendors of the CDN system are regarded as candidate CDN vendors.
具体实施中,获取各待选CDN厂商的访问质量数据以及使用成本数据。In the specific implementation, the access quality data and usage cost data of each candidate CDN vendor are obtained.
访问质量数据用于表征待选CDN厂商的服务质量,例如访问质量数据可为待选CDN厂商的访问延迟。The access quality data is used to characterize the service quality of the candidate CDN vendor. For example, the access quality data may be the access delay of the candidate CDN vendor.
使用成本数据用于表征待选CDN厂商的使用成本,例如使用成本数据可为待选CDN厂商的价格。The usage cost data is used to characterize the usage cost of the candidate CDN manufacturer. For example, the usage cost data may be the price of the candidate CDN manufacturer.
如图3所示,在一实施例中,以上步骤S1具体包括如下步骤S11-S14。As shown in FIG. 3, in an embodiment, the above step S1 specifically includes the following steps S11-S14.
S11,分别获取所述待选CDN厂商的各节点的访问延迟。S11: Obtain respectively the access delays of each node of the candidate CDN vendor.
具体实施中,每一待选CDN厂商均包括多个节点。分别获取所述待选CDN厂商的各节点的访问延迟。具体地,节点的访问延迟可通过对节点进行网络测速得到。In specific implementation, each candidate CDN vendor includes multiple nodes. Obtain the access delay of each node of the candidate CDN vendor respectively. Specifically, the access delay of the node can be obtained by measuring the network speed of the node.
S12,计算所述待选CDN厂商的各节点的访问延迟均值。S12: Calculate the average value of the access delay of each node of the candidate CDN vendor.
具体实施中,在获取了所述待选CDN厂商的各节点的访问延迟后,计算所述待选CDN厂商的各节点的访问延迟均值,即所述待选CDN厂商的各节点的访问延迟的均值。In specific implementation, after obtaining the access delay of each node of the candidate CDN vendor, calculate the average value of the access delay of each node of the candidate CDN vendor, that is, the average value of the access delay of each node of the candidate CDN vendor Mean.
访问延迟均值能体现待选CDN厂商的整体服务质量。本实施例中,访问质量数据即为所述访问延迟均值。The average access delay can reflect the overall service quality of the candidate CDN vendors. In this embodiment, the access quality data is the average access delay.
S13,向所述待选CDN厂商的服务器发送价格查询请求。S13: Send a price query request to the server of the candidate CDN manufacturer.
具体实施中,向所述待选CDN厂商的服务器发送价格查询请求。In specific implementation, a price query request is sent to the server of the candidate CDN manufacturer.
待选CDN厂商的服务器在接收到价格查询请求后,将向终端返回价格应答消息,所述价格应答消息包含所述待选CDN厂商的带宽单价。After receiving the price query request, the server of the candidate CDN manufacturer will return a price response message to the terminal, and the price response message contains the bandwidth unit price of the candidate CDN manufacturer.
S14,接收所述待选CDN厂商的服务器返回的价格应答消息,所述价格应答消息包含所述待选CDN厂商的带宽单价。S14: Receive a price response message returned by the server of the candidate CDN vendor, where the price response message includes the bandwidth unit price of the candidate CDN vendor.
具体实施中,接收所述待选CDN厂商的服务器返回的价格应答消息,所述价格应答消 息包含所述待选CDN厂商的带宽单价。终端根据所述价格应答消息获得待选CDN厂商的带宽单价。In specific implementation, a price response message returned by the server of the candidate CDN vendor is received, where the price response message includes the bandwidth unit price of the candidate CDN vendor. The terminal obtains the bandwidth unit price of the candidate CDN manufacturer according to the price response message.
本实施例中,使用成本数据即为所述带宽单价。In this embodiment, the usage cost data is the bandwidth unit price.
需要说明的是,以上步骤S11-S12与步骤S13-S14没有先后执行顺序。或者,步骤S11-S12与步骤S13-S14可并行执行。It should be noted that the above steps S11-S12 and steps S13-S14 are not executed sequentially. Alternatively, steps S11-S12 and steps S13-S14 can be executed in parallel.
S2,根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值。S2: Obtain the quality objective function value of each candidate CDN vendor according to the preset quality objective function and the access quality data of each candidate CDN vendor.
具体实施例中,根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值。In a specific embodiment, the quality objective function value of each candidate CDN vendor is obtained according to the preset quality objective function and the access quality data of each candidate CDN vendor.
具体地,将所述待选CDN厂商的访问质量数据输入到预设的质量目标函数中,以得到所述待选CDN厂商的质量目标函数值。Specifically, the access quality data of the candidate CDN manufacturer is input into a preset quality objective function to obtain the quality objective function value of the candidate CDN manufacturer.
在一实施例中,质量目标函数为f k(x)=dt,dt为待选CDN厂商的访问延迟均值,x为待选CDN厂商。 In one embodiment, the quality objective function is f k (x)=dt, dt is the average access delay of the candidate CDN vendor, and x is the candidate CDN vendor.
S3,根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值。S3: Obtain the cost objective function value of each candidate CDN vendor according to the preset cost objective function and the cost data of each candidate CDN vendor.
具体实施例中,根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值。In a specific embodiment, the cost objective function value of each candidate CDN manufacturer is obtained according to the preset cost objective function and the cost data of each candidate CDN manufacturer.
具体地,将所述待选CDN厂商的成本数据输入到预设的成本目标函数中,以得到所述待选CDN厂商的成本目标函数值。Specifically, the cost data of the candidate CDN manufacturer is input into a preset cost objective function to obtain the cost objective function value of the candidate CDN manufacturer.
在一实施例中,成本目标函数为f r(x)=pr*bw,其中,pr表示待选CDN厂商的带宽单价,bw表示用户所选用的带宽的大小,x表示待选CDN厂商。 In one embodiment, the cost objective function is fr (x)=pr*bw, where pr represents the bandwidth unit price of the candidate CDN vendor, bw represents the bandwidth selected by the user, and x represents the candidate CDN vendor.
需要说明的是,以上步骤S2与步骤S3没有先后执行顺序。或者,步骤S2与步骤S3可并行执行。It should be noted that the above steps S2 and S3 are not executed sequentially. Alternatively, step S2 and step S3 can be executed in parallel.
S4,根据预设的Pareto算法以及各所述待选CDN厂商的质量目标函数值以及各所述待选CDN厂商的成本目标函数值获取Pareto最优集。S4: Obtain the Pareto optimal set according to the preset Pareto algorithm, the quality objective function value of each candidate CDN manufacturer and the cost objective function value of each candidate CDN manufacturer.
Pareto算法,又称为Pareto最优解算法,是一种资源优化算法。Pareto algorithm, also known as Pareto optimal solution algorithm, is a resource optimization algorithm.
其中,Pareto算法核心定义如下:Among them, the core definition of Pareto algorithm is as follows:
定义1(Pareto占优):x1,x2∈X,如果
Figure PCTCN2020118921-appb-000001
使其满足f k(x1)≤f k(x2),而且
Figure PCTCN2020118921-appb-000002
满足f r(x1)<f r(x2),则称x1相较于x2是Pareto占优的,可描述为
Figure PCTCN2020118921-appb-000003
Figure PCTCN2020118921-appb-000004
Definition 1 (Pareto dominates): x1, x2 ∈ X, if
Figure PCTCN2020118921-appb-000001
So as to satisfy f k (x1) ≤f k ( x2), and
Figure PCTCN2020118921-appb-000002
Satisfying f r (x1)<f r (x2), then it is said that x1 is Pareto dominant compared to x2, which can be described as
Figure PCTCN2020118921-appb-000003
Figure PCTCN2020118921-appb-000004
定义2(非劣解):x1,x2∈X,如果
Figure PCTCN2020118921-appb-000005
r∈{1,2,…m},满足f k(x1)≥f k(x2)且f r(x1)≤f r(x2),则称x1和x2互为非劣解,可描述为x1||x2。
Definition 2 (non-inferior solution): x1, x2 ∈ X, if
Figure PCTCN2020118921-appb-000005
r∈{1,2,...m}, satisfying f k (x1)≥f k (x2) and f r (x1)≤f r (x2), then x1 and x2 are called non-inferior solutions to each other, which can be described as x1||x2.
定义3(Pareto最优解):对于x1∈X,如果在X中没有任何一个解能占优于x1,则称x1为Pareto最优解。Definition 3 (Pareto optimal solution): For x1 ∈ X, if there is no solution in X that can be better than x1, then x1 is called the Pareto optimal solution.
定义4(Pareto最优集):由Pareto最优解组成的集合称为Pareto最优集。Definition 4 (Pareto optimal set): The set composed of Pareto optimal solutions is called Pareto optimal set.
具体实施中,x1、x2……xn分别表示各待选CDN厂商。f k(x)为质量目标函数,f r(x)为成本目标函数。则根据以上定义1到定义4获取Pareto最优集。 In specific implementation, x1, x2...xn respectively represent the candidate CDN vendors. f k (x) is the quality objective function, and f r (x) is the cost objective function. Then obtain the Pareto optimal set according to the above definition 1 to definition 4.
同时,可将Pareto最优集储存到区块链中,以保证数据的安全性以及不可篡改性。At the same time, the Pareto optimal set can be stored in the blockchain to ensure data security and non-tampering.
S5,判断选定的目标CDN厂商是否在所述Pareto最优集中。S5: Determine whether the selected target CDN manufacturer is in the Pareto optimal concentration.
具体实施中,将终端当前选定的CDN厂商作为目标CDN厂商。In specific implementation, the CDN vendor currently selected by the terminal is taken as the target CDN vendor.
在获取了Pareto最优集后,选定的目标CDN厂商是否在所述Pareto最优集中。After obtaining the Pareto optimal set, whether the selected target CDN manufacturer is in the Pareto optimal set.
S6,若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。S6: If the target CDN vendor is not in the Pareto optimal set, schedule the terminal's CDN connection to the candidate CDN vendors in the Pareto optimal set.
具体实施中,若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。In specific implementation, if the target CDN vendor is not in the Pareto optimal set, the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal set.
具体地,若所述Pareto最优集中只有一个待选CDN厂商,则调度到该待选CDN厂商中。Specifically, if there is only one candidate CDN vendor in the Pareto optimal set, it is scheduled to the candidate CDN vendor.
若所述Pareto最优集中有多个待选CDN厂商,则调度到Pareto最优集的其中一个待选CDN厂商中。If there are multiple candidate CDN vendors in the Pareto optimal set, it is scheduled to one of the candidate CDN vendors in the Pareto optimal set.
如图4所示,在一实施例中,以上步骤S6具体包括S61-S63。As shown in FIG. 4, in an embodiment, the above step S6 specifically includes S61-S63.
S61,获取用户预设的调度模式,所述调度模式包括质量优先模式以及价格优先模式。S61: Acquire a scheduling mode preset by the user, where the scheduling mode includes a quality priority mode and a price priority mode.
具体实施中,获取用户预设的调度模式。本申请中,共有有两种调度模式供用户选择,分别为质量优先模式以及价格优先模式。In specific implementation, the scheduling mode preset by the user is obtained. In this application, there are two scheduling modes for users to choose, namely the quality priority mode and the price priority mode.
S62,若用户预设的调度模式为质量优先模式,则获取所述Pareto最优集中质量目标函数值最小的待选CDN厂商作为第一目标CDN厂商,并将终端的CDN连接调度到所述第一目标CDN厂商中。S62: If the scheduling mode preset by the user is the quality priority mode, acquire the candidate CDN vendor with the smallest value of the Pareto optimal centralized quality objective function as the first target CDN vendor, and schedule the CDN connection of the terminal to the first target CDN vendor. One of the target CDN vendors.
具体实施中,如果用户预设的调度模式为质量优先模式,则获取所述Pareto最优集中质量目标函数值最小的待选CDN厂商(即Pareto最优集中网络连接质量最好的待选CDN厂商)作为第一目标CDN厂商,并将终端的CDN连接调度到所述第一目标CDN厂商中。In specific implementation, if the user preset scheduling mode is the quality priority mode, the candidate CDN vendor with the smallest value of the Pareto optimal centralized quality objective function (that is, the candidate CDN vendor with the best Pareto optimal centralized network connection quality) is obtained ) As the first target CDN vendor, and schedule the terminal's CDN connection to the first target CDN vendor.
如图5所示,在一实施例中,以上步骤S62具体包括S621-S622。As shown in FIG. 5, in an embodiment, the above step S62 specifically includes S621-S622.
S621,获取所述第一目标CDN厂商中访问延迟最小的节点作为第一目标节点。S621: Acquire the node with the smallest access delay from the first target CDN vendor as the first target node.
具体实施中,获取所述第一目标CDN厂商中访问延迟最小的节点作为第一目标节点。第一目标节点的访问延迟最小,服务质量也将最好。In specific implementation, the node with the smallest access delay from the first target CDN vendor is acquired as the first target node. The access delay of the first target node is the smallest, and the quality of service will be the best.
S622,将终端的CDN连接调度到所述第一目标节点中。S622: Schedule the CDN connection of the terminal to the first target node.
具体实施中,将终端的CDN连接调度到所述第一目标节点中,以提高网络连接速率。In specific implementation, the CDN connection of the terminal is scheduled to the first target node to increase the network connection rate.
S63,若用户预设的调度模式为价格优先模式,则获取所述Pareto最优集中成本目标函数值最小的待选CDN厂商作为第二目标CDN厂商,并将终端的CDN连接调度到所述第二目标CDN厂商中。S63: If the scheduling mode preset by the user is the price priority mode, obtain the candidate CDN manufacturer with the smallest value of the Pareto optimal centralized cost objective function as the second target CDN manufacturer, and schedule the CDN connection of the terminal to the second target CDN manufacturer. 2. Among the target CDN vendors.
具体实施中,如果用户预设的调度模式为价格优先模式,则获取所述Pareto最优集中成本目标函数值最小的待选CDN厂商(即Pareto最优集中成本最低的的待选CDN厂商)作为第二目标CDN厂商,并将终端的CDN连接调度到所述第二目标CDN厂商中。In specific implementation, if the scheduling mode preset by the user is the price priority mode, the candidate CDN vendor with the smallest value of the Pareto optimal centralized cost objective function (ie the candidate CDN vendor with the lowest Pareto optimal centralized cost) is obtained as The second target CDN manufacturer, and schedules the CDN connection of the terminal to the second target CDN manufacturer.
如图6所示,在一实施例中,以上步骤S63具体包括S631-S632。As shown in FIG. 6, in an embodiment, the above step S63 specifically includes S631-S632.
S631,获取所述第二目标CDN厂商中访问延迟最小的节点作为第二目标节点。S631: Acquire the node with the smallest access delay from the second target CDN vendor as the second target node.
具体实施中,获取所述第二目标CDN厂商中访问延迟最小的节点作为第二目标节点。In specific implementation, the node with the smallest access delay from the second target CDN vendor is acquired as the second target node.
第二目标节点的访问延迟最小,服务质量也将最好。The access delay of the second target node is the smallest, and the quality of service will be the best.
S632将终端的CDN连接调度到所述第二目标节点中。S632 schedules the CDN connection of the terminal to the second target node.
具体实施中,将终端的CDN连接调度到所述第二目标节点中,以提高网络连接速率。In specific implementation, the CDN connection of the terminal is scheduled to the second target node to increase the network connection rate.
通过应用本申请实施例的技术方案,获取各待选CDN厂商的访问质量数据以及使用成本数据;根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值;根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值;根据预设的Pareto算法以及各所述待选CDN厂商的质量目标函数值以及各所述待选CDN厂商的成本目标函数值获取Pareto最优集;判断目标CDN厂商是否在所述Pareto最优集中;若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中,从而无需用户手动操作,即可自动实现CDN调度,调度效率高;同时选择调度到Pareto最优集中的待选CDN厂商,能够兼顾待选CDN厂商的经济性和服务质量,极大地提高了用户的使用体验。By applying the technical solutions of the embodiments of the present application, the access quality data and usage cost data of each candidate CDN manufacturer are obtained; each of the candidate CDN manufacturers is obtained according to the preset quality objective function and the access quality data of each candidate CDN manufacturer. Select the quality objective function value of the CDN manufacturer; obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer; According to the preset Pareto algorithm and each The quality objective function value of the candidate CDN vendor and the cost objective function value of each candidate CDN vendor obtain the Pareto optimal set; determine whether the target CDN vendor is in the Pareto optimal set; if the target CDN vendor is not In the Pareto optimal concentration, the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal concentration, so that the CDN scheduling can be automatically realized without manual operation by the user, and the scheduling efficiency is high; at the same time, the Pareto optimal concentration The excellent concentration of candidate CDN vendors can take into account the economy and service quality of the candidate CDN vendors, which greatly improves the user experience.
图7是本申请另一实施例提供的一种基于Pareto算法的CDN调度方法的流程示意图。如图7所示,本实施例的基于Pareto算法的CDN调度方法包括步骤S71-S78。FIG. 7 is a schematic flowchart of a CDN scheduling method based on the Pareto algorithm according to another embodiment of the present application. As shown in Figure 7, the CDN scheduling method based on the Pareto algorithm of this embodiment includes steps S71-S78.
S71,判断当前时间是否到达预设的时间节点。S71: Determine whether the current time reaches a preset time node.
具体实施中,判断当前时间是否到达预设的时间节点。In specific implementation, it is determined whether the current time reaches the preset time node.
需要说明的是,时间节点是由本领域技术人员根据经验设定的。例如,设定为每天的每个整点。由于待选CDN厂商的网络状况是随着时间变化的,因此需要定时获取待选CDN厂商的访问质量数据。It should be noted that the time node is set by those skilled in the art based on experience. For example, set to every hour of the day. Since the network conditions of the candidate CDN vendors change over time, it is necessary to obtain the access quality data of the candidate CDN vendors regularly.
若当前时间未达到预设的时间节点,则继续判断当前时间是否到达预设的时间节点,如此循环,直到当前时间到达预设的时间节点为止。If the current time has not reached the preset time node, continue to determine whether the current time has reached the preset time node, and so on, until the current time reaches the preset time node.
S72,若当前时间达到预设的时间节点,获取各待选CDN厂商的访问质量数据以及使用成本数据。S72: If the current time reaches a preset time node, obtain access quality data and usage cost data of each CDN vendor to be selected.
目前,CDN系统大多采用融合多CDN厂商的方式,即一个CDN系统中包含多个CDN厂商供用户选择。本申请实施例中,将CDN系统的所有CDN厂商均作为待选CDN厂商。At present, most of the CDN system adopts the method of integrating multiple CDN vendors, that is, a CDN system contains multiple CDN vendors for users to choose from. In the embodiment of this application, all CDN vendors of the CDN system are regarded as candidate CDN vendors.
具体实施中,获取各待选CDN厂商的访问质量数据以及使用成本数据。In the specific implementation, the access quality data and usage cost data of each candidate CDN vendor are obtained.
访问质量数据用于表征待选CDN厂商的服务质量,例如访问质量数据可为待选CDN厂商的访问延迟。The access quality data is used to characterize the service quality of the candidate CDN vendor. For example, the access quality data may be the access delay of the candidate CDN vendor.
使用成本数据用于表征待选CDN厂商的使用成本,例如使用成本数据可为待选CDN厂商的价格。The usage cost data is used to characterize the usage cost of the candidate CDN manufacturer. For example, the usage cost data may be the price of the candidate CDN manufacturer.
S73,根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值。S73: Acquire the quality objective function value of each candidate CDN vendor according to the preset quality objective function and the access quality data of each candidate CDN vendor.
具体实施例中,根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值。In a specific embodiment, the quality objective function value of each candidate CDN vendor is obtained according to the preset quality objective function and the access quality data of each candidate CDN vendor.
具体地,将所述待选CDN厂商的访问质量数据输入到预设的质量目标函数中,以得到所述待选CDN厂商的质量目标函数值。Specifically, the access quality data of the candidate CDN manufacturer is input into a preset quality objective function to obtain the quality objective function value of the candidate CDN manufacturer.
在一实施例中,质量目标函数为f k(x)=dt,dt为待选CDN厂商的访问延迟均值,x为待选CDN厂商。 In one embodiment, the quality objective function is f k (x)=dt, dt is the average access delay of the candidate CDN vendor, and x is the candidate CDN vendor.
S74,根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值。S74: Obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer.
具体实施例中,根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值。In a specific embodiment, the cost objective function value of each candidate CDN manufacturer is obtained according to the preset cost objective function and the cost data of each candidate CDN manufacturer.
具体地,将所述待选CDN厂商的成本数据输入到预设的成本目标函数中,以得到所述待选CDN厂商的成本目标函数值。Specifically, the cost data of the candidate CDN manufacturer is input into a preset cost objective function to obtain the cost objective function value of the candidate CDN manufacturer.
在一实施例中,成本目标函数为f r(x)=pr*bw,其中,pr表示待选CDN厂商的带宽单价,bw表示用户所选用的带宽的大小,x表示待选CDN厂商。 In one embodiment, the cost objective function is fr (x)=pr*bw, where pr represents the bandwidth unit price of the candidate CDN vendor, bw represents the bandwidth selected by the user, and x represents the candidate CDN vendor.
S75,根据预设的Pareto算法以及各所述待选CDN厂商的质量目标函数值以及各所述待选CDN厂商的成本目标函数值获取Pareto最优集。S75: Obtain the Pareto optimal set according to the preset Pareto algorithm, the quality objective function value of each candidate CDN manufacturer, and the cost objective function value of each candidate CDN manufacturer.
Pareto算法,又称为Pareto最优解算法,是一种资源优化算法。Pareto algorithm, also known as Pareto optimal solution algorithm, is a resource optimization algorithm.
其中,Pareto算法核心定义如下:Among them, the core definition of Pareto algorithm is as follows:
定义1(Pareto占优):x1,x2∈X,如果
Figure PCTCN2020118921-appb-000006
使其满足f k(x1)≤f k(x2),而且
Figure PCTCN2020118921-appb-000007
满足f r(x1)<f r(x2),则称x1相较于x2是Pareto占优的,可描述为
Figure PCTCN2020118921-appb-000008
Figure PCTCN2020118921-appb-000009
Definition 1 (Pareto dominates): x1, x2 ∈ X, if
Figure PCTCN2020118921-appb-000006
So as to satisfy f k (x1) ≤f k ( x2), and
Figure PCTCN2020118921-appb-000007
Satisfying f r (x1)<f r (x2), then it is said that x1 is Pareto dominant compared to x2, which can be described as
Figure PCTCN2020118921-appb-000008
Figure PCTCN2020118921-appb-000009
定义2(非劣解):x1,x2∈X,如果
Figure PCTCN2020118921-appb-000010
r∈{1,2,…m},满足f k(x1)≥f k(x2)且f r(x1)≤f r(x2),则称x1和x2互为非劣解,可描述为x1||x2。
Definition 2 (non-inferior solution): x1, x2 ∈ X, if
Figure PCTCN2020118921-appb-000010
r∈{1,2,...m}, satisfying f k (x1)≥f k (x2) and f r (x1)≤f r (x2), then x1 and x2 are called non-inferior solutions to each other, which can be described as x1||x2.
定义3(Pareto最优解):对于x1∈X,如果在X中没有任何一个解能占优于x1,则称x1为Pareto最优解。Definition 3 (Pareto optimal solution): For x1 ∈ X, if there is no solution in X that can be better than x1, then x1 is called the Pareto optimal solution.
定义4(Pareto最优集):由Pareto最优解组成的集合称为Pareto最优集。Definition 4 (Pareto optimal set): The set composed of Pareto optimal solutions is called Pareto optimal set.
具体实施中,x1、x2……xn分别表示各待选CDN厂商。f k(x)为质量目标函数,f r(x)为成本目标函数。则根据以上定义1到定义4获取Pareto最优集。 In specific implementation, x1, x2...xn respectively represent the candidate CDN vendors. f k (x) is the quality objective function, and f r (x) is the cost objective function. Then obtain the Pareto optimal set according to the above definition 1 to definition 4.
S76,判断选定的目标CDN厂商是否在所述Pareto最优集中。S76: Determine whether the selected target CDN vendor is in the Pareto optimal concentration.
具体实施中,将终端当前选用的CDN厂商作为目标CDN厂商。In specific implementation, the CDN vendor currently selected by the terminal is taken as the target CDN vendor.
在获取了Pareto最优集后,判断目标CDN厂商是否在所述Pareto最优集中。After obtaining the Pareto optimal set, it is judged whether the target CDN manufacturer is in the Pareto optimal set.
S77,若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。S77: If the target CDN vendor is not in the Pareto optimal set, schedule the terminal's CDN connection to the candidate CDN vendors in the Pareto optimal set.
具体实施中,若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。In specific implementation, if the target CDN vendor is not in the Pareto optimal set, the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal set.
具体地,若所述Pareto最优集中只有一个待选CDN厂商,则调度到该待选CDN厂商中。Specifically, if there is only one candidate CDN vendor in the Pareto optimal set, it is scheduled to the candidate CDN vendor.
若所述Pareto最优集中有多个待选CDN厂商,则调度到Pareto最优集的其中一个待选CDN厂商中。If there are multiple candidate CDN vendors in the Pareto optimal set, it is scheduled to one of the candidate CDN vendors in the Pareto optimal set.
S78,若所述目标CDN厂商在所述Pareto最优集中,保持终端的CDN连接在所述目标CDN厂商中。S78: If the target CDN vendor is in the Pareto optimal concentration, keep the CDN connection of the terminal in the target CDN vendor.
具体实施中,如果所述目标CDN厂商在所述Pareto最优集中,则无需调度CDN连接,保持终端的CDN连接在所述目标CDN厂商中,以避免频繁调度CDN连接给用户带来网络波动。In specific implementation, if the target CDN manufacturer is in the Pareto optimal concentration, there is no need to schedule CDN connections, and the CDN connection of the terminal is kept in the target CDN manufacturer to avoid frequent scheduling of CDN connections to cause network fluctuations to users.
图8是本申请实施例提供的一种基于Pareto算法的CDN调度装置70的示意性框图。如 图8所示,对应于以上基于Pareto算法的CDN调度方法,本申请还提供一种基于Pareto算法的CDN调度装置70。该基于Pareto算法的CDN调度装置70包括用于执行上述基于Pareto算法的CDN调度方法的单元,该基于Pareto算法的CDN调度装置70可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,CDN系统中包含多个待选CDN厂商,请参阅图8,该基于Pareto算法的CDN调度装置70包括第一获取单元71、第二获取单元72、第三获取单元73、第四获取单元74、第一判断单元75以及第一调度单元76。FIG. 8 is a schematic block diagram of a CDN scheduling device 70 based on the Pareto algorithm according to an embodiment of the present application. As shown in FIG. 8, corresponding to the above CDN scheduling method based on the Pareto algorithm, the present application also provides a CDN scheduling device 70 based on the Pareto algorithm. The Pareto algorithm-based CDN scheduling device 70 includes a unit for executing the above-mentioned Pareto algorithm-based CDN scheduling method. The Pareto algorithm-based CDN scheduling device 70 can be configured in a desktop computer, a tablet computer, a laptop computer, and other terminals. Specifically, the CDN system includes multiple candidate CDN vendors. Please refer to FIG. 8. The CDN scheduling device 70 based on the Pareto algorithm includes a first obtaining unit 71, a second obtaining unit 72, a third obtaining unit 73, and a fourth obtaining unit. The unit 74, the first judging unit 75, and the first scheduling unit 76.
第一获取单元71,用于获取各待选CDN厂商的访问质量数据以及使用成本数据。The first obtaining unit 71 is configured to obtain access quality data and usage cost data of each candidate CDN vendor.
第二获取单元72,用于根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值。The second obtaining unit 72 is configured to obtain the quality objective function value of each candidate CDN vendor according to the preset quality objective function and the access quality data of each candidate CDN vendor.
第三获取单元73,用于根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值。The third obtaining unit 73 is configured to obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer.
第四获取单元74,用于根据预设的Pareto算法以及各所述待选CDN厂商的质量目标函数值以及各所述待选CDN厂商的成本目标函数值获取Pareto最优集。The fourth obtaining unit 74 is configured to obtain the Pareto optimal set according to the preset Pareto algorithm, the quality objective function value of each candidate CDN manufacturer, and the cost objective function value of each candidate CDN manufacturer.
第一判断单元75,用于判断选定的目标CDN厂商是否在所述Pareto最优集中。The first judging unit 75 is used to judge whether the selected target CDN manufacturer is in the Pareto optimal concentration.
第一调度单元76,用于若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。The first scheduling unit 76 is configured to, if the target CDN vendor is not in the Pareto optimal set, schedule the CDN connection of the terminal to the candidate CDN vendors in the Pareto optimal set.
在一实施例中,如图9所示,所述第一获取单元71包括第五获取单元711、计算单元712、发送单元713以及接收单元714。In an embodiment, as shown in FIG. 9, the first obtaining unit 71 includes a fifth obtaining unit 711, a calculating unit 712, a sending unit 713 and a receiving unit 714.
第五获取单元711,用于分别获取所述待选CDN厂商的各节点的访问延迟。The fifth obtaining unit 711 is configured to obtain the access delay of each node of the candidate CDN vendor respectively.
计算单元712,用于计算所述待选CDN厂商的各节点的访问延迟均值。The calculation unit 712 is configured to calculate the average value of the access delay of each node of the candidate CDN vendor.
发送单元713,用于向所述待选CDN厂商的服务器发送价格查询请求。The sending unit 713 is configured to send a price query request to the server of the candidate CDN manufacturer.
接收单元714,用于接收所述待选CDN厂商的服务器返回的价格应答消息,所述价格应答消息包含所述待选CDN厂商的带宽单价。The receiving unit 714 is configured to receive a price response message returned by the server of the candidate CDN manufacturer, where the price response message includes the bandwidth unit price of the candidate CDN manufacturer.
在一实施例中,如图10所示,所述第一调度单元76包括第六获取单元761、第二调度单元762以及第三调度单元763。In an embodiment, as shown in FIG. 10, the first scheduling unit 76 includes a sixth obtaining unit 761, a second scheduling unit 762, and a third scheduling unit 763.
第六获取单元761,用于获取用户预设的调度模式,所述调度模式包括质量优先模式以及价格优先模式。The sixth acquiring unit 761 is configured to acquire a scheduling mode preset by the user, and the scheduling mode includes a quality priority mode and a price priority mode.
第二调度单元762,用于若用户预设的调度模式为质量优先模式,则获取所述Pareto最优集中质量目标函数值最小的待选CDN厂商作为第一目标CDN厂商,并将终端的CDN连接调度到所述第一目标CDN厂商中。The second scheduling unit 762 is configured to, if the user preset scheduling mode is the quality priority mode, obtain the candidate CDN vendor with the smallest value of the Pareto optimal centralized quality objective function as the first target CDN vendor, and set the CDN of the terminal The connection is scheduled to the first target CDN vendor.
第三调度单元763,用于若用户预设的调度模式为价格优先模式,则获取所述Pareto最优集中成本目标函数值最小的待选CDN厂商作为第二目标CDN厂商,并将终端的CDN连接调度到所述第二目标CDN厂商中。The third scheduling unit 763 is configured to, if the scheduling mode preset by the user is the price priority mode, obtain the candidate CDN manufacturer with the smallest value of the Pareto optimal centralized cost objective function as the second target CDN manufacturer, and set the CDN of the terminal The connection is scheduled to the second target CDN vendor.
在一实施例中,如图11所示,所述第二调度单元762包括第七获取单元7621以及第四调度单元7622。In an embodiment, as shown in FIG. 11, the second scheduling unit 762 includes a seventh obtaining unit 7621 and a fourth scheduling unit 7622.
第七获取单元7621,用于获取所述第一目标CDN厂商中访问延迟最小的节点作为第一目标节点。The seventh acquiring unit 7621 is configured to acquire the node with the smallest access delay among the first target CDN vendors as the first target node.
第四调度单元7622,用于将终端的CDN连接调度到所述第一目标节点中。The fourth scheduling unit 7622 is configured to schedule the CDN connection of the terminal to the first target node.
在一实施例中,如图12所示,第三调度单元763包括第八获取单元7631以及第五调度单元7632。In an embodiment, as shown in FIG. 12, the third scheduling unit 763 includes an eighth obtaining unit 7631 and a fifth scheduling unit 7632.
第八获取单元7631,用于获取所述第二目标CDN厂商中访问延迟最小的节点作为第二目标节点。The eighth obtaining unit 7631 is configured to obtain the node with the smallest access delay among the second target CDN vendors as the second target node.
第五调度单元7632,用于将终端的CDN连接调度到所述第二目标节点中。The fifth scheduling unit 7632 is configured to schedule the CDN connection of the terminal to the second target node.
图13是本申请另一实施例提供的一种基于Pareto算法的CDN调度装置70的示意性框图。如图13所示,本实施例的基于Pareto算法的CDN调度装置70是上述实施例的基础上增加了第二判断单元77以及保持单元78。FIG. 13 is a schematic block diagram of a CDN scheduling device 70 based on the Pareto algorithm according to another embodiment of the present application. As shown in FIG. 13, the CDN scheduling apparatus 70 based on the Pareto algorithm of this embodiment adds a second judgment unit 77 and a holding unit 78 on the basis of the foregoing embodiment.
第二判断单元77,用于判断当前时间是否到达预设的时间节点。The second judging unit 77 is used to judge whether the current time has reached a preset time node.
第一获取单元71,具体用于若当前时间到达预设的时间节点,则执行所述获取各待选CDN厂商的访问质量数据以及使用成本数据的步骤。The first obtaining unit 71 is specifically configured to perform the steps of obtaining access quality data and usage cost data of each candidate CDN vendor if the current time reaches a preset time node.
保持单元78,用于若所述目标CDN厂商在所述Pareto最优集中,保持终端的CDN连接在所述目标CDN厂商中。The maintaining unit 78 is configured to maintain the CDN connection of the terminal in the target CDN manufacturer if the target CDN manufacturer is in the Pareto optimal concentration.
需要说明的是,所属领域的技术人员可以清楚地了解到,上述基于Pareto算法的CDN调度装置70和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。It should be noted that those skilled in the art can clearly understand that the above-mentioned CDN scheduling device 70 based on the Pareto algorithm and the specific implementation process of each unit can refer to the corresponding description in the foregoing method embodiment, for the convenience and conciseness of the description. , I won’t repeat it here.
上述基于Pareto算法的CDN调度装置可以实现为一种计算机程序的形式,该计算机程序可以在如图14所示的计算机设备上运行。The above-mentioned CDN scheduling apparatus based on the Pareto algorithm may be implemented in the form of a computer program, and the computer program may run on the computer device as shown in FIG. 14.
请参阅图14,图14是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500是终端,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。Please refer to FIG. 14, which is a schematic block diagram of a computer device according to an embodiment of the present application. The computer device 500 is a terminal, and the terminal may be an electronic device with communication functions such as a smart phone, a tablet computer, a notebook computer, a desktop computer, a personal digital assistant, and a wearable device.
参阅图14,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络 接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。Referring to FIG. 14, the computer device 500 includes a processor 502, a memory, and a network interface 505 connected through a system bus 501, where the memory may include a non-volatile storage medium 503 and an internal memory 504.
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行一种基于Pareto算法的CDN调度方法。The non-volatile storage medium 503 can store an operating system 5031 and a computer program 5032. When the computer program 5032 is executed, the processor 502 can execute a CDN scheduling method based on the Pareto algorithm.
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。The processor 502 is used to provide calculation and control capabilities to support the operation of the entire computer device 500.
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种基于Pareto算法的CDN调度方法。The internal memory 504 provides an environment for the operation of the computer program 5032 in the non-volatile storage medium 503. When the computer program 5032 is executed by the processor 502, the processor 502 can make the processor 502 execute a CDN scheduling method based on the Pareto algorithm.
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。The network interface 505 is used for network communication with other devices. Those skilled in the art can understand that the structure shown in FIG. 14 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device 500 to which the solution of the present application is applied. The specific computer device 500 may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本申请的基于Pareto算法的CDN调度方法。Wherein, the processor 502 is configured to run a computer program 5032 stored in a memory to implement the CDN scheduling method based on the Pareto algorithm of the present application.
应当理解,在本申请实施例中,处理器502可以是中央处理单元(Central Processing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。It should be understood that in this embodiment of the application, the processor 502 may be a central processing unit (Central Processing Unit, CPU), and the processor 502 may also be other general-purpose processors, digital signal processors (Digital Signal Processors, DSPs), Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor may be a microprocessor or the processor may also be any conventional processor.
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。Those of ordinary skill in the art can understand that all or part of the processes in the methods of the foregoing embodiments may be implemented by computer programs instructing relevant hardware. The computer program may be stored in a storage medium, and the storage medium is a computer-readable storage medium. The computer program is executed by at least one processor in the computer system to implement the process steps of the foregoing method embodiment.
因此,本申请还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行本申请的基于Pareto算法的CDN调度方法。Therefore, this application also provides a storage medium. The storage medium may be a computer-readable storage medium. The storage medium stores a computer program. When the computer program is executed by the processor, the processor executes the CDN scheduling method based on the Pareto algorithm of the present application.
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。所述计算机可读存储介质可以是非易失性,也可以是易失性。The storage medium is a physical, non-transitory storage medium, such as a U disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a magnetic disk, or an optical disk, etc., which can store program codes. medium. The computer-readable storage medium may be non-volatile or volatile.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算 法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。A person of ordinary skill in the art may be aware that the units and algorithm steps of the examples described in the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both, in order to clearly illustrate the hardware and software Interchangeability, in the above description, the composition and steps of each example have been generally described in accordance with the function. Whether these functions are executed by hardware or software depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。In the several embodiments provided in this application, it should be understood that the disclosed device and method may be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of each unit is only a logical function division, and 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 omitted or not implemented.
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。The steps in the method in the embodiment of the present application can be adjusted, merged, and deleted in order according to actual needs. The units in the devices in the embodiments of the present application may be combined, divided, and deleted according to actual needs. In addition, the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。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 storage medium. Based on this understanding, the technical solution of this application is essentially or the part that contributes to the existing technology, 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. It includes several instructions to make a computer device (which may be a personal computer, a terminal, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。In the above-mentioned embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in an embodiment, reference may be made to related descriptions of other embodiments.
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,尚且本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。Obviously, those skilled in the art can make various changes and modifications to the application without departing from the spirit and scope of the application. In this way, even if these modifications and variations of this application fall within the scope of the claims of this application and their equivalent technologies, this application also intends to include these modifications and variations.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above are only specific implementations of this application, but the protection scope of this application is not limited to this. Anyone familiar with the technical field can easily think of various equivalents within the technical scope disclosed in this application. Modifications or replacements, these modifications or replacements shall be covered within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.

Claims (20)

  1. 一种基于Pareto算法的CDN调度方法,CDN系统中包含多个待选CDN厂商,所述基于Pareto算法的CDN调度方法包括:A CDN scheduling method based on the Pareto algorithm. The CDN system includes multiple CDN vendors to be selected. The CDN scheduling method based on the Pareto algorithm includes:
    获取各待选CDN厂商的访问质量数据以及使用成本数据;Obtain access quality data and usage cost data of each candidate CDN vendor;
    根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值;Respectively acquiring the quality objective function value of each candidate CDN manufacturer according to the preset quality objective function and the access quality data of each candidate CDN manufacturer;
    根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值;Obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer;
    根据预设的Pareto算法以及各所述待选CDN厂商的质量目标函数值以及各所述待选CDN厂商的成本目标函数值获取Pareto最优集;Obtaining the Pareto optimal set according to the preset Pareto algorithm, the quality objective function value of each candidate CDN manufacturer and the cost objective function value of each candidate CDN manufacturer;
    判断选定的目标CDN厂商是否在所述Pareto最优集中;Judge whether the selected target CDN manufacturer is in the Pareto optimal concentration;
    若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。If the target CDN vendor is not in the Pareto optimal concentration, the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal concentration.
  2. 根据权利要求1所述的基于Pareto算法的CDN调度方法,其中,所述获取各待选CDN厂商的访问质量数据以及使用成本数据,包括:The CDN scheduling method based on the Pareto algorithm according to claim 1, wherein said obtaining access quality data and usage cost data of each candidate CDN vendor includes:
    分别获取所述待选CDN厂商的各节点的访问延迟;Respectively acquiring the access delays of each node of the candidate CDN vendor;
    计算所述待选CDN厂商的各节点的访问延迟均值。Calculate the average value of the access delay of each node of the candidate CDN vendor.
  3. 根据权利要求2所述的基于Pareto算法的CDN调度方法,其中,所述获取各待选CDN厂商的访问质量数据以及使用成本数据,还包括:The CDN scheduling method based on the Pareto algorithm according to claim 2, wherein said obtaining access quality data and usage cost data of each candidate CDN vendor further comprises:
    向所述待选CDN厂商的服务器发送价格查询请求;Sending a price query request to the server of the candidate CDN manufacturer;
    接收所述待选CDN厂商的服务器返回的价格应答消息,所述价格应答消息包含所述待选CDN厂商的带宽单价。Receive a price response message returned by the server of the candidate CDN vendor, where the price response message includes the bandwidth unit price of the candidate CDN vendor.
  4. 根据权利要求1所述的基于Pareto算法的CDN调度方法,其中,所述将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中,包括:The CDN scheduling method based on the Pareto algorithm according to claim 1, wherein the scheduling the CDN connection of the terminal to the candidate CDN vendors in the Pareto optimal set comprises:
    获取用户预设的调度模式,所述调度模式包括质量优先模式以及价格优先模式;Acquiring a scheduling mode preset by the user, the scheduling mode including a quality priority mode and a price priority mode;
    若用户预设的调度模式为质量优先模式,则获取所述Pareto最优集中质量目标函数值最小的待选CDN厂商作为第一目标CDN厂商,并将终端的CDN连接调度到所述第一目标CDN厂商中;If the scheduling mode preset by the user is the quality priority mode, the candidate CDN vendor with the smallest value of the Pareto optimal centralized quality objective function is obtained as the first target CDN vendor, and the CDN connection of the terminal is scheduled to the first target Among CDN vendors;
    若用户预设的调度模式为价格优先模式,则获取所述Pareto最优集中成本目标函数值最小的待选CDN厂商作为第二目标CDN厂商,并将终端的CDN连接调度到所述第二目标CDN 厂商中。If the scheduling mode preset by the user is the price priority mode, the candidate CDN vendor with the smallest value of the Pareto optimal centralized cost objective function is obtained as the second target CDN vendor, and the CDN connection of the terminal is scheduled to the second target Among CDN vendors.
  5. 根据权利要求4所述的基于Pareto算法的CDN调度方法,其中,所述将终端的CDN连接调度到所述第一目标CDN厂商中,包括:The CDN scheduling method based on the Pareto algorithm according to claim 4, wherein the scheduling the CDN connection of the terminal to the first target CDN vendor comprises:
    获取所述第一目标CDN厂商中访问延迟最小的节点作为第一目标节点;Acquiring the node with the smallest access delay in the first target CDN vendor as the first target node;
    将终端的CDN连接调度到所述第一目标节点中;Scheduling the CDN connection of the terminal to the first target node;
    所述将终端的CDN连接调度到所述第二目标CDN厂商中,包括:The scheduling the CDN connection of the terminal to the second target CDN vendor includes:
    获取所述第二目标CDN厂商中访问延迟最小的节点作为第二目标节点;Acquiring the node with the smallest access delay in the second target CDN vendor as the second target node;
    将终端的CDN连接调度到所述第二目标节点中。The CDN connection of the terminal is scheduled to the second target node.
  6. 根据权利要求1所述的基于Pareto算法的CDN调度方法,其中,所述获取各待选CDN厂商的访问质量数据以及使用成本数据之前,所述方法还包括:The CDN scheduling method based on the Pareto algorithm according to claim 1, wherein before said obtaining access quality data and usage cost data of each candidate CDN vendor, the method further comprises:
    判断当前时间是否到达预设的时间节点;Determine whether the current time has reached the preset time node;
    若当前时间到达预设的时间节点,则执行所述获取各待选CDN厂商的访问质量数据以及使用成本数据的步骤。If the current time reaches the preset time node, the steps of obtaining access quality data and usage cost data of each candidate CDN vendor are executed.
  7. 根据权利要求1所述的基于Pareto算法的CDN调度方法,其中,所述判断选定的目标CDN厂商是否在所述Pareto最优集中之后,所述方法还包括:The CDN scheduling method based on the Pareto algorithm according to claim 1, wherein after the determining whether the selected target CDN vendor is in the Pareto optimal concentration, the method further comprises:
    若所述目标CDN厂商在所述Pareto最优集中,保持终端的CDN连接在所述目标CDN厂商中。If the target CDN vendor is in the Pareto optimal concentration, keep the CDN connection of the terminal in the target CDN vendor.
  8. 根据权利要求1所述的基于Pareto算法的CDN调度方法,其中,质量目标函数为f k(x)=dt,dt为待选CDN厂商的访问延迟均值,x为待选CDN厂商。 The CDN scheduling method based on the Pareto algorithm according to claim 1, wherein the quality objective function is f k (x)=dt, dt is the average access delay of the CDN vendor to be selected, and x is the CDN vendor to be selected.
  9. 根据权利要求1所述的基于Pareto算法的CDN调度方法,其中,成本目标函数为f r(x)=pr*bw,其中,pr表示待选CDN厂商的带宽单价,bw表示用户所选用的带宽的大小,x表示待选CDN厂商。 The CDN scheduling method based on the Pareto algorithm according to claim 1, wherein the cost objective function is fr (x)=pr*bw, where pr represents the bandwidth unit price of the candidate CDN manufacturer, and bw represents the bandwidth selected by the user The size of, x represents the candidate CDN vendor.
  10. 一种基于Pareto算法的CDN调度装置,CDN系统中包含多个待选CDN厂商,所述基于Pareto算法的CDN调度装置包括:A CDN scheduling device based on the Pareto algorithm. The CDN system includes multiple candidate CDN vendors. The CDN scheduling device based on the Pareto algorithm includes:
    第一获取单元,用于获取各待选CDN厂商的访问质量数据以及使用成本数据;The first obtaining unit is used to obtain access quality data and usage cost data of each candidate CDN vendor;
    第二获取单元,用于根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值;The second acquiring unit is configured to respectively acquire the quality objective function value of each candidate CDN manufacturer according to the preset quality objective function and the access quality data of each candidate CDN manufacturer;
    第三获取单元,用于根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值;The third obtaining unit is configured to obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer;
    第四获取单元,用于根据预设的Pareto算法以及各所述待选CDN厂商的质量目标函数 值以及各所述待选CDN厂商的成本目标函数值获取Pareto最优集;The fourth obtaining unit is configured to obtain the Pareto optimal set according to the preset Pareto algorithm, the quality objective function value of each candidate CDN manufacturer, and the cost objective function value of each candidate CDN manufacturer;
    第一判断单元,用于判断选定的目标CDN厂商是否在所述Pareto最优集中;The first judgment unit is used to judge whether the selected target CDN manufacturer is in the Pareto optimal concentration;
    第一调度单元,用于若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。The first scheduling unit is configured to schedule the CDN connection of the terminal to the candidate CDN vendors in the Pareto optimal set if the target CDN vendor is not in the Pareto optimal set.
  11. 一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器用于运行所述计算机程序,以执行如下步骤:A computer device includes a memory and a processor, the memory stores a computer program, and the processor is used to run the computer program to perform the following steps:
    获取各待选CDN厂商的访问质量数据以及使用成本数据;Obtain access quality data and usage cost data of each candidate CDN vendor;
    根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值;Respectively acquiring the quality objective function value of each candidate CDN manufacturer according to the preset quality objective function and the access quality data of each candidate CDN manufacturer;
    根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选CDN厂商的成本目标函数值;Obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer;
    根据预设的Pareto算法以及各所述待选CDN厂商的质量目标函数值以及各所述待选CDN厂商的成本目标函数值获取Pareto最优集;Obtaining the Pareto optimal set according to the preset Pareto algorithm, the quality objective function value of each candidate CDN manufacturer and the cost objective function value of each candidate CDN manufacturer;
    判断选定的目标CDN厂商是否在所述Pareto最优集中;Judge whether the selected target CDN manufacturer is in the Pareto optimal concentration;
    若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。If the target CDN vendor is not in the Pareto optimal concentration, the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal concentration.
  12. 根据权利要求11所述的计算机设备,其中,所述获取各待选CDN厂商的访问质量数据以及使用成本数据的步骤,包括:11. The computer device according to claim 11, wherein the step of obtaining access quality data and usage cost data of each candidate CDN vendor comprises:
    分别获取所述待选CDN厂商的各节点的访问延迟;Respectively acquiring the access delays of each node of the candidate CDN vendor;
    计算所述待选CDN厂商的各节点的访问延迟均值。Calculate the average value of the access delay of each node of the candidate CDN vendor.
  13. 根据权利要求12所述的计算机设备,其中,所述获取各待选CDN厂商的访问质量数据以及使用成本数据的步骤,还包括:The computer device according to claim 12, wherein the step of obtaining access quality data and usage cost data of each candidate CDN vendor further comprises:
    向所述待选CDN厂商的服务器发送价格查询请求;Sending a price query request to the server of the candidate CDN manufacturer;
    接收所述待选CDN厂商的服务器返回的价格应答消息,所述价格应答消息包含所述待选CDN厂商的带宽单价。Receive a price response message returned by the server of the candidate CDN vendor, where the price response message includes the bandwidth unit price of the candidate CDN vendor.
  14. 根据权利要求11所述的计算机设备,其中,所述将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中的步骤,包括:The computer device according to claim 11, wherein the step of scheduling the CDN connection of the terminal to the candidate CDN vendor in the Pareto optimal set comprises:
    获取用户预设的调度模式,所述调度模式包括质量优先模式以及价格优先模式;Acquiring a scheduling mode preset by the user, the scheduling mode including a quality priority mode and a price priority mode;
    若用户预设的调度模式为质量优先模式,则获取所述Pareto最优集中质量目标函数值最小的待选CDN厂商作为第一目标CDN厂商,并将终端的CDN连接调度到所述第一目标CDN 厂商中;If the scheduling mode preset by the user is the quality priority mode, the candidate CDN vendor with the smallest value of the Pareto optimal centralized quality objective function is obtained as the first target CDN vendor, and the CDN connection of the terminal is scheduled to the first target Among CDN vendors;
    若用户预设的调度模式为价格优先模式,则获取所述Pareto最优集中成本目标函数值最小的待选CDN厂商作为第二目标CDN厂商,并将终端的CDN连接调度到所述第二目标CDN厂商中。If the scheduling mode preset by the user is the price priority mode, the candidate CDN vendor with the smallest value of the Pareto optimal centralized cost objective function is obtained as the second target CDN vendor, and the CDN connection of the terminal is scheduled to the second target Among CDN vendors.
  15. 根据权利要求14所述的计算机设备,其中,所述将终端的CDN连接调度到所述第一目标CDN厂商中的步骤,包括:The computer device according to claim 14, wherein the step of scheduling the CDN connection of the terminal to the first target CDN vendor comprises:
    获取所述第一目标CDN厂商中访问延迟最小的节点作为第一目标节点;Acquiring the node with the smallest access delay in the first target CDN vendor as the first target node;
    将终端的CDN连接调度到所述第一目标节点中;Scheduling the CDN connection of the terminal to the first target node;
    所述将终端的CDN连接调度到所述第二目标CDN厂商中,包括:The scheduling the CDN connection of the terminal to the second target CDN vendor includes:
    获取所述第二目标CDN厂商中访问延迟最小的节点作为第二目标节点;Acquiring the node with the smallest access delay in the second target CDN vendor as the second target node;
    将终端的CDN连接调度到所述第二目标节点中。The CDN connection of the terminal is scheduled to the second target node.
  16. 根据权利要求11所述的计算机设备,其中,所述获取各待选CDN厂商的访问质量数据以及使用成本数据之前,所述处理器还执行如下步骤:11. The computer device according to claim 11, wherein before said acquiring access quality data and usage cost data of each candidate CDN vendor, said processor further executes the following steps:
    判断当前时间是否到达预设的时间节点;Determine whether the current time has reached the preset time node;
    若当前时间到达预设的时间节点,则执行所述获取各待选CDN厂商的访问质量数据以及使用成本数据的步骤。If the current time reaches the preset time node, the steps of obtaining access quality data and usage cost data of each candidate CDN vendor are executed.
  17. 根据权利要求1所述的计算机设备,其中,所述判断选定的目标CDN厂商是否在所述Pareto最优集中之后,所述处理器还执行如下步骤:3. The computer device according to claim 1, wherein after said determining whether the selected target CDN vendor is in the Pareto optimal concentration, the processor further executes the following steps:
    若所述目标CDN厂商在所述Pareto最优集中,保持终端的CDN连接在所述目标CDN厂商中。If the target CDN vendor is in the Pareto optimal concentration, keep the CDN connection of the terminal in the target CDN vendor.
  18. 根据权利要求11所述的计算机设备,其中,质量目标函数为f k(x)=dt,dt为待选CDN厂商的访问延迟均值,x为待选CDN厂商。 11. The computer device according to claim 11, wherein the quality objective function is f k (x) = dt, dt is the average access delay of the candidate CDN vendor, and x is the candidate CDN vendor.
  19. 根据权利要求11所述的计算机设备,其中,成本目标函数为f r(x)=pr*bw,其中,pr表示待选CDN厂商的带宽单价,bw表示用户所选用的带宽的大小,x表示待选CDN厂商。 The computer device according to claim 11, wherein the cost objective function is fr (x)=pr*bw, where pr represents the bandwidth unit price of the candidate CDN manufacturer, bw represents the bandwidth selected by the user, and x represents Candidate CDN vendors.
  20. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时使所述处理器执行以下步骤:A computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the processor executes the following steps:
    获取各待选CDN厂商的访问质量数据以及使用成本数据;Obtain access quality data and usage cost data of each candidate CDN vendor;
    根据预设的质量目标函数以及各所述待选CDN厂商的访问质量数据分别获取各所述待选CDN厂商的质量目标函数值;Respectively acquiring the quality objective function value of each candidate CDN manufacturer according to the preset quality objective function and the access quality data of each candidate CDN manufacturer;
    根据预设的成本目标函数以及各所述待选CDN厂商的成本数据分别获取各所述待选 CDN厂商的成本目标函数值;Obtain the cost objective function value of each candidate CDN manufacturer according to the preset cost objective function and the cost data of each candidate CDN manufacturer;
    根据预设的Pareto算法以及各所述待选CDN厂商的质量目标函数值以及各所述待选CDN厂商的成本目标函数值获取Pareto最优集;Obtaining the Pareto optimal set according to the preset Pareto algorithm, the quality objective function value of each candidate CDN manufacturer and the cost objective function value of each candidate CDN manufacturer;
    判断选定的目标CDN厂商是否在所述Pareto最优集中;Judge whether the selected target CDN manufacturer is in the Pareto optimal concentration;
    若所述目标CDN厂商不在所述Pareto最优集中,将终端的CDN连接调度到所述Pareto最优集中的待选CDN厂商中。If the target CDN vendor is not in the Pareto optimal concentration, the CDN connection of the terminal is scheduled to the candidate CDN vendors in the Pareto optimal concentration.
PCT/CN2020/118921 2020-07-28 2020-09-29 Cdn scheduling method and apparatus based on pareto algorithm, and computer device and storage medium WO2021139273A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010740112.6 2020-07-28
CN202010740112.6A CN111901425B (en) 2020-07-28 2020-07-28 CDN scheduling method and device based on Pareto algorithm, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2021139273A1 true WO2021139273A1 (en) 2021-07-15

Family

ID=73183718

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/118921 WO2021139273A1 (en) 2020-07-28 2020-09-29 Cdn scheduling method and apparatus based on pareto algorithm, and computer device and storage medium

Country Status (2)

Country Link
CN (1) CN111901425B (en)
WO (1) WO2021139273A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114268672B (en) * 2021-12-20 2024-01-12 北京字节跳动网络技术有限公司 CDN node distribution method, CDN node distribution device, electronic equipment, medium and program product

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100274760A1 (en) * 2007-12-11 2010-10-28 Christophe Diot Device and method for optimizing access to contents by users
CN107465708A (en) * 2016-06-02 2017-12-12 腾讯科技(深圳)有限公司 A kind of CDN bandwidth scheduling systems and method
US20190140920A1 (en) * 2017-01-22 2019-05-09 Huawei Technologies Co., Ltd. Scheduling Method for Content Delivery Network, and Device
CN110198344A (en) * 2019-05-05 2019-09-03 网宿科技股份有限公司 A kind of resource regulating method and system
CN110418356A (en) * 2019-06-18 2019-11-05 深圳大学 A kind of calculating task discharging method, device and computer readable storage medium
CN111381950A (en) * 2020-03-05 2020-07-07 南京大学 Task scheduling method and system based on multiple copies for edge computing environment

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080040500A1 (en) * 2006-08-11 2008-02-14 Veodia, Inc. Method and apparaatus for distributing a media stream
CN102868542B (en) * 2011-07-04 2018-02-16 中兴通讯股份有限公司 The control method and system of service quality in a kind of service delivery network
CN103701619B (en) * 2013-10-22 2016-09-07 上海交通大学 The internet content distribution method dynamically selected based on CDN and data center
TW201728124A (en) * 2014-09-16 2017-08-01 科勞簡尼克斯股份有限公司 Flexibly defined communication network controller based control, operations and management of networks
US10447616B2 (en) * 2015-04-24 2019-10-15 At&T Intellectual Property I, L.P. Broadcast services platform and methods for use therewith
CN108874548B (en) * 2018-07-11 2021-04-02 深圳市东微智能科技股份有限公司 Data processing scheduling method and device, computer equipment and data processing system
CN109408211A (en) * 2018-09-28 2019-03-01 桂林电子科技大学 A kind of equity network flow medium system data scheduling algorithm of multiple-objection optimization
CN110225493B (en) * 2019-06-05 2022-04-15 山东师范大学 D2D routing method, system, device and medium based on improved ant colony
CN110944061A (en) * 2019-12-06 2020-03-31 北京博睿宏远数据科技股份有限公司 Content distribution network scheduling method and device, computer equipment and storage medium
CN111144023B (en) * 2019-12-31 2023-06-02 华能如东八仙角海上风力发电有限责任公司 Reliability optimization distribution method based on improved Pareto artificial bee colony algorithm

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100274760A1 (en) * 2007-12-11 2010-10-28 Christophe Diot Device and method for optimizing access to contents by users
CN107465708A (en) * 2016-06-02 2017-12-12 腾讯科技(深圳)有限公司 A kind of CDN bandwidth scheduling systems and method
US20190140920A1 (en) * 2017-01-22 2019-05-09 Huawei Technologies Co., Ltd. Scheduling Method for Content Delivery Network, and Device
CN110198344A (en) * 2019-05-05 2019-09-03 网宿科技股份有限公司 A kind of resource regulating method and system
CN110418356A (en) * 2019-06-18 2019-11-05 深圳大学 A kind of calculating task discharging method, device and computer readable storage medium
CN111381950A (en) * 2020-03-05 2020-07-07 南京大学 Task scheduling method and system based on multiple copies for edge computing environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YIN HAO, ZHANG XU, ZHAN TONGYU, ZHANG YING, MIN GEYONG, WU DAPENG OLIVER: "NetClust: A Framework for Scalable and Pareto-Optimal Media Server Placement", IEEE TRANSACTIONS ON MULTIMEDIA, vol. 15, no. 8, 1 December 2013 (2013-12-01), US, pages 2114 - 2124, XP055827574, ISSN: 1520-9210, DOI: 10.1109/TMM.2013.2280557 *

Also Published As

Publication number Publication date
CN111901425B (en) 2021-05-28
CN111901425A (en) 2020-11-06

Similar Documents

Publication Publication Date Title
CN111027736B (en) Micro-service combined deployment and scheduling method under multi-objective optimization
WO2020199487A1 (en) Method, apparatus and device for responding to access request, and storage medium
CN112506619B (en) Job processing method, job processing device, electronic equipment and storage medium
US20210014074A1 (en) Prioritize raise hand operation in a conference for efficient and time bound conference solution
WO2014071971A1 (en) Pre-buffering of content data items to be rendered at a mobile terminal
CN115134368A (en) Load balancing method, device, equipment and storage medium
WO2021139273A1 (en) Cdn scheduling method and apparatus based on pareto algorithm, and computer device and storage medium
CN110650209A (en) Method and device for realizing load balance
CN114500339B (en) Node bandwidth monitoring method and device, electronic equipment and storage medium
WO2021000694A1 (en) Method for deploying services and scheduling apparatus
CN116382892B (en) Load balancing method and device based on multi-cloud fusion and cloud service
US20180288226A1 (en) High performance distributed computer work assignment engine
CN113765966A (en) Load balancing method and device
CN110930253A (en) Intelligent contract internal main key generation method and device, computer equipment and storage medium
CN112667368A (en) Task data processing method and device
CN115567597A (en) Message request forwarding method and device of payment settlement system
CN110381168B (en) Prediction period determining method, prediction content pushing method, device and system
CN114448838B (en) System reliability evaluation method
TWI766387B (en) Reverse proxy method and storage device with delay sensing and load balancing
CN115208900A (en) Multi-cloud-architecture cloud service resource scheduling method based on block chain and game model
CN107707383B (en) Put-through processing method and device, first network element and second network element
CN111858019B (en) Task scheduling method and device and computer readable storage medium
US10887381B1 (en) Management of allocated computing resources in networked environment
US11233847B1 (en) Management of allocated computing resources in networked environment
CN113760178A (en) Cache data processing method and device, electronic equipment and computer readable medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20911855

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20911855

Country of ref document: EP

Kind code of ref document: A1