WO2023065848A1 - 业务调度方法、装置、设备及计算机可读存储介质 - Google Patents

业务调度方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
WO2023065848A1
WO2023065848A1 PCT/CN2022/116540 CN2022116540W WO2023065848A1 WO 2023065848 A1 WO2023065848 A1 WO 2023065848A1 CN 2022116540 W CN2022116540 W CN 2022116540W WO 2023065848 A1 WO2023065848 A1 WO 2023065848A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
port
label
network
target
Prior art date
Application number
PCT/CN2022/116540
Other languages
English (en)
French (fr)
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 WO2023065848A1 publication Critical patent/WO2023065848A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Definitions

  • the present application relates to the technical field of cloud computing, and in particular to a business scheduling method, device, equipment, and computer-readable storage medium.
  • the cloud network deployed by the cloud vendor is usually based on the border gateway protocol (border gateway protocol, BGP) and the Internet service provider deployed by the operator
  • BGP border gateway protocol
  • ISP Internet service provider
  • the solution adopted by cloud vendors is to detect the network quality of the communication lines between the cloud network and each ISP network, and determine the line with better network quality , and then use this line to provide cloud services to customers.
  • the problem with this solution is: in the case of congestion in the above-mentioned lines or shortage of network capacity, all services can only be provided to customers through alternative lines, that is to say, high-level services and low-level services pass through the same line. If alternative lines are provided to customers, then for high-level services, the customer's network experience will be degraded.
  • the application discloses a service scheduling method, device, equipment and computer-readable storage medium, which can provide customers with better network quality.
  • the present application provides a service scheduling method, which includes: receiving service configuration information input by a user, where the service configuration information includes network service levels required by the service.
  • the first service message is obtained.
  • the first service message carries the content of the service and a target level label, and the target level label is used to identify the network service level required by the service.
  • match the target level label with multiple level labels in the first routing table and the first routing table includes the above multiple level labels and the port label corresponding to each level label.
  • the target level label matches any one of the above multiple level labels, the target port label is determined according to the matched level label, and the target port label is used to identify the target port of the point of presence (POP). .
  • POP point of presence
  • the above service configuration information also includes the port number of the server port
  • the above acquisition of the first service message includes: receiving the second service message sent by the server through the server port, the second service message is The message generated by the server in response to the service request of the above services sent by the client. Then, according to the port number of the server port, the above-mentioned second service message is marked with a target class label to obtain the above-mentioned first service message.
  • the user notifies the server of the network service level required by the service by configuring the port number of the server port, so as to label the second service message with a corresponding target level.
  • the service configuration information further includes the port number of the server port
  • the acquiring the first service packet includes: sending the service configuration information to the server, so that the server uses the port number of the server port Labeling the second service message with a target level, the second service message is a message generated by the server in response to the service request of the above service sent by the client. Then, the first service message sent by the server through the server port is received, and the first service message is a second service message tagged with a target level label.
  • the server can determine the port for sending the second service message based on the port number of the service port configured by the user, so that the device receiving the second service message can determine the network service level required by the service.
  • the above-mentioned controlling POP to send the first service message from the target port to the client includes: labeling the first service message with a target port label; sending to the POP, so that the POP sends the first service packet from the target port to the client according to the target port label.
  • the above method before matching the target level label with multiple level labels in the first routing table, further includes: detecting the network segment to which the client belongs under multiple ports of the POP performance, where multiple ports are connected to multiple Internet service provider (ISP) networks. Select M ports from multiple ports according to the network service level required by the first service, where M is an integer greater than 1. It is determined that the network performance of the above-mentioned network segment under the target port among the M ports is the best, and then the target port label corresponding to the target port is obtained, and the target port label and the target level label are associated and stored in the first routing table. In this way, network resources can be dynamically allocated to services according to actual conditions, so that services requiring better network resources are always sent to the client through the high-level network.
  • ISP Internet service provider
  • the above method before detecting the network performance of the network segment to which the client belongs under multiple ports of the POP, the above method further includes: collecting traffic of the network segment, and determining that the traffic of the network segment is greater than a threshold. In this way, the cost of detecting the network performance of the network segment can be reduced.
  • the above method further includes: when the target level label does not match multiple level labels, forwarding the first service packet to the POP according to the second routing table, wherein the second routing The table includes a next-hop address, and the next-hop address is an Internet Protocol (internet protocol, IP) address of the POP.
  • IP Internet Protocol
  • the present application provides a service scheduling device, which includes a service management unit and a forwarding unit.
  • the service management unit is used for receiving the service configuration information input by the user, and the service configuration information includes the network service level required by the service.
  • the forwarding unit is used to obtain a first service message, the first service message carries the content of the service and a target level label, and the target level label is used to identify the network service level required by the service, and then the The target level label is matched with multiple level labels in a first routing table, and the first routing table includes the multiple level labels and a port label corresponding to each level label, where the target level label matches the When any one of the multiple class labels matches, the target port label is determined according to the matched level label, and the target port label is used to identify the target port of the POP, and then the POP is controlled to transfer the first A service packet is sent from the target port to the client.
  • the above service configuration information also includes the port number of the server port, and the forwarding unit is used to receive the second service message sent by the server through the server port, and the second service message is sent by the server in response to the client. Then, according to the port number of the server port, the second service message is marked with a target class label to obtain the first service message.
  • the above configuration information also includes the port number of the server port
  • the service management unit is used to send the service configuration information to the server, so that the server can mark the second service packet with the port number of the server port.
  • the target level label, the second service message is a message generated by the server in response to the service request of the above service sent by the client.
  • the forwarding unit is used for receiving the first service message sent by the server through the server port, and the first service message is the second service message tagged with the target level label.
  • the forwarding unit is configured to label the first service message with a target port label, and send the first service message with the target port label to the POP, so that the POP sends the first service message according to the target port label
  • the packet is sent from the destination port to the client.
  • the above-mentioned device further includes a data acquisition unit, which is used to detect the network performance of the network segment to which the client belongs under the multiple ports of the POP, wherein the multiple ports are associated with multiple Internet service Provider ISP network connection.
  • the service management unit is also used to select M ports from multiple ports according to the network service level required by the first service, where M is an integer greater than 1, and then determine the network performance of the network segment in the M ports under the target port Optimally, after that, for the target port label corresponding to the target port, the target port label and the target level label are associated and stored in the first routing table.
  • the data collection unit is further configured to collect the traffic of the above network segment.
  • the service management unit is further configured to determine that the traffic of the above network segment is greater than a threshold.
  • the forwarding unit is further configured to forward the first service packet to Forwarding to the POP, wherein the second routing table includes a next-hop address, and the next-hop address is the Internet Protocol IP address of the POP.
  • the present application provides a computing device, the computing device includes a processor and a memory, the memory stores computer instructions, and the processor executes the above computer instructions, so that the above computing device performs any of the foregoing first aspect or the first aspect.
  • One implementation describes the method.
  • the present application provides a computer-readable storage medium, the computer-readable storage medium stores computer instructions, and when the computer instructions are executed by a computing device, the computing device executes any one of the aforementioned first aspect or the first aspect. The method described in an implementation.
  • FIG. 1 is a schematic diagram of a scenario in which service scheduling is implemented based on BGP provided by the present application
  • Fig. 2 is a schematic structural diagram of a service system provided by the present application.
  • FIG. 3 is a schematic flow diagram of a service scheduling method provided by the present application.
  • Fig. 4 is a schematic diagram of a user interface provided by the present application.
  • FIG. 5 is a schematic diagram of a user configuration service provided by the present application.
  • FIG. 6 is a schematic diagram of a new service configured by a user provided by the present application.
  • FIG. 7 is a schematic structural diagram of a service scheduling device provided by the present application.
  • FIG. 8 is a schematic structural diagram of a computing device provided by the present application.
  • FIG. 9 is a schematic structural diagram of a computing device system provided by the present application.
  • the ISP network is deployed by the operator and can provide services such as dial-up Internet access, online browsing, file download, sending and receiving e-mail, etc. It is the entrance and bridge for network end users to enter the Internet.
  • BGP is a routing protocol that can achieve reachability between different autonomous systems (autonomous systems, AS).
  • AS autonomous systems
  • an AS is a collection of networks that use the same routing policy under the jurisdiction of an entity (for example: cloud vendors, operators). Therefore, the network deployed by the cloud provider (hereinafter referred to as the cloud network) and the ISP network can be interconnected based on BGP.
  • a BGP neighbor relationship is established between the cloud network and multiple ISP networks (including ISP1, ISP2, and ISP3). , storage resources and network resources), the user's client can obtain cloud services from the above-mentioned leased resources through multiple ISP networks. That is to say, the cloud provider can allocate appropriate network resources for the user's client according to the network quality of the communication lines between the cloud network and each ISP network (line 1, line 2, and line 3 shown in Figure 1), In this way, better network quality is provided for the user's client. In Figure 1, the network quality of line 1 is better than that of lines 2 and 3. Therefore, the cloud provider will provide cloud services to clients through the ISP1 network. In addition, if the ISP1 network fails, the cloud provider can also allocate other ISP networks (such as ISP2 in Figure 1) to the client, thereby providing users with network redundancy protection.
  • ISP1, ISP2, and ISP3 ISP2, and ISP3
  • this application provides a business system, in which users can configure the required network service level (that is, the business level) by themselves, and then the system can configure the corresponding service level for the business according to the network service level required by the business.
  • Network resources so that different levels of business can be sent to the client through different network resources, so that high-level services can enjoy high-quality network resources.
  • FIG. 2 shows a schematic structural diagram of a service system provided by the present application.
  • the system includes a server 100, a service scheduling device 200, a POP 300 and a client 400.
  • the server 100 After the client 400 sends a service request to the server 100 , the server 100 generates a corresponding service message according to the service request, and sends the service message to the service scheduling device 200 .
  • the service scheduling device 200 receives the service message, and allocates corresponding network resources to the service message according to the network service level required by the service, so as to guide the POP 300 to send the service message to the client 400. In this way, the client 400 can obtain the services provided by the server 100 .
  • the server 100 is a resource (including computing resources, storage resources, and network resources) purchased by the user from the cloud vendor.
  • the server 100 may specifically include multiple devices (including computing devices, storage devices, and network devices). Multiple devices in the center (data center, DC), multiple devices in the computer room, etc.
  • a user refers to a user who has registered a cloud account and purchased resources from a cloud provider.
  • the server 100 is used to provide cloud services to the client 400, and the client 400 may include a mobile phone, a portable computer, a tablet computer, and the like.
  • the client 400 purchases the cloud service of the video-on-demand business from the cloud manufacturer, and the client 400 includes the following two types: the anchor client and the viewer client.
  • the cloud service provided by the server 100 to the client 400 Including: the anchor client can upload the prepared short video to the server 100 for caching, and the audience client can obtain the above short video from the server 100 .
  • the server 100 may provide cloud services to the client 400 in the form of business messages, then the server 100 is specifically configured to receive the service request sent by the client 400, and generate a service message carrying business content based on the service request . It should be understood that since the service message carries the service content, after receiving the service message, the client 400 can obtain the corresponding service content, thereby obtaining the cloud service.
  • the service system provided by this application includes the service scheduling device 200 .
  • the server 100 is also used to send service packets to the service scheduling device 200 .
  • the service scheduling device 200 is used to receive the service message sent by the server 100, and allocate corresponding network resources to the service message according to the network service level required by the service, so as to guide the POP 300 to send the service message to the client 400 . specifically:
  • the service scheduling apparatus 200 is configured to receive service configuration information input by a user, wherein the service configuration information includes network service levels required by the service.
  • the service scheduling device 200 is also used to send the above configuration information to the server 100, and the server 100 is also used to label the generated service packets with corresponding grade labels according to the above configuration information, and label the graded The tagged service packets are sent to the service scheduling device 200 .
  • the service scheduling apparatus 200 is further configured to receive the service message sent by the server 100, and label the service message with the above-mentioned class label according to the above-mentioned configuration information.
  • the service scheduling device 200 is also used to collect network data of the cloud network, and the network data includes but not limited to: network performance of multiple network segments, traffic of multiple network segments, and route monitoring information.
  • the network segment refers to the network segment to which the client 400 belongs.
  • the performance of the network segment includes but is not limited to the following parameters: packet loss rate, delay, and the packet loss rate refers to the number of data packets transmitted through the network segment.
  • the ratio of the number of data packets to the total number of data packets transmitted, and the delay refers to the time consumed when transmitting a single data packet through the network segment.
  • the routing monitoring information includes border gateway protocol monitoring protocol (border gateway protocol monitoring protocol, BMP) routing information stored in the POP 300, that is, all BGP routing information received by the POP 300 from the BGP peer and the withdrawn BGP routing information.
  • BMP border gateway protocol monitoring protocol
  • the BGP peer of the POP 300 is an ISP network that establishes a connection with the POP 300 based on BGP.
  • the routing monitoring information also includes the BGP routing information selected by the POP 300 from the above BMP routing information according to the BGP routing principle.
  • the service scheduling device 200 is further configured to calculate different routing table entries for services requiring different network services according to the above network data and the above service configuration information, so as to obtain the first routing table.
  • the first routing table includes a plurality of level labels and port labels corresponding to each level label, the level label is used to identify the network service level required by the business (ie, the level of business), and the port label corresponding to the level label is used for Identifies the port on the POP 300.
  • the service scheduling device 200 is also used to match the class label carried by the service message with multiple class labels in the first routing table. If the match is successful, the service message is marked with a corresponding port label, and the port label The service packets are sent to POP 300.
  • POP 300 is the local access point of the cloud network, and the cloud network is a network resource leased by users.
  • the POP 300 may be a router, switch, server or other data communication equipment, which is not limited in this application.
  • the POP 300 is used to establish a communication connection between the cloud network and multiple ISP networks (such as ISP1, ISP2, and ISP3 in Figure 2 ), so that the client 400 can access the cloud network, thereby obtaining the cloud service provided by the server 100.
  • ISP networks such as ISP1, ISP2, and ISP3 in Figure 2
  • the POP 300 includes multiple ports, and one port is connected to an ISP network.
  • the "port connected to the ISP network on the POP 300" can have different names, for example, different standards, different names of the same standard Versions, different manufacturers, and different application scenarios may have different names for the "port on the POP 300 connected to the ISP network".
  • "the port on the POP 300 connected to the ISP network” may sometimes be called an "exit line”.
  • each of the above-mentioned multiple ports corresponds to a port label, wherein the port label of the port can be preset by the user, or can be defined by the POP 300.
  • the POP 300 is also used to store the corresponding relationship between the port and the port label, and send the port label to the service scheduling device 200, so that the service scheduling device 200 can configure the above-mentioned first routing table.
  • the POP 300 is also used to receive the service message carrying the port label sent by the service scheduling device 200, and send the service message to the client 400 from the port indicated by the port label.
  • the business system provided by this application can configure corresponding network resources for the business according to the network service level required by the business, so that different levels of business can be sent to the client through different network resources .
  • the network resources of a certain ISP network are in short supply, priority can be given to ensuring that high-level services use high-quality network resources.
  • FIG. 3 shows a schematic flow diagram of a service scheduling method provided by the present application, which includes but is not limited to the following steps:
  • the service scheduling apparatus 200 receives service configuration information input by a user.
  • the service configuration information includes the network service level required by the service.
  • the network service level is used to indicate the network quality.
  • the service scheduling apparatus 200 provides the user with various network service levels for the user to choose.
  • the service configuration information further includes the port number of the server port A, and the server port A is a port of the server 100 .
  • service packets of different services may be transmitted using different ports.
  • hypertext transfer protocol hypertext transfer protocol, HTTP
  • HTTP hypertext transfer protocol
  • live streams of live video services may be transmitted via port 8080.
  • Port 1935 can be used for transmission.
  • the service configuration information also includes user identification information.
  • the user identification may be an elastic public network (elastic IP, EIP) address purchased by the user.
  • EIP elastic public network
  • the service scheduling apparatus 200 provides a user interface (user interface, UI), and the user completes input of service configuration information by operating on the UI interface.
  • the UI includes a menu bar and an input interface
  • the menu bar includes three items, which are user identification information, server port number, and network service level.
  • the network service level includes high-quality network and ordinary network
  • the network service level of the high-quality network is higher than that of the ordinary network, that is, the network quality of the high-quality network is better than that of the ordinary network.
  • the EIP address purchased by the user from the cloud vendor is 1.1.1.1
  • the cloud service purchased is a live video service. Therefore, the identification information of the user is 1.1.1.1, and the port number of the server port is 1935.
  • the network service level configured by the user for the live video service can be a high-quality network.
  • the service scheduling apparatus 200 acquires the first service message.
  • the first service message carries the content of the above service and a target level label
  • the target level label is used to identify the network service level required by the above service.
  • the service scheduling apparatus 200 acquiring the first service packet includes: the service scheduling apparatus 200 receiving the second service packet sent by the server 100 .
  • the server 100 in response to the service request of the above-mentioned service sent by the client 400, the server 100 generates a second service message according to the service request, wherein the second service message carries the content of the above-mentioned service.
  • the server 100 receives the service configuration information sent by the service scheduling device 200, and labels the second service message with a target level label according to the service configuration information to obtain the first service message.
  • the server 100 stores correspondences between port numbers of multiple server ports and multiple level labels, the port numbers of the multiple server ports include the port number of server port A, and the multiple level labels include the target level label. Then, the server 100 labels the service message with a target level according to the service configuration information, including: the server 100 listens to the server port A, and when it is determined to send the service message from the server port A, the server 100 determines the target level label according to the above correspondence , and label the second service packet with a target level.
  • the differentiated services code point (differentiated services code point, DSCP) value in the Internet protocol (internet protocol, IP) message header can be used to distinguish different priorities
  • this embodiment of the application proposes: Use different DSCP values as different class labels.
  • the target level label can be a DSCP value, eg, 12, 16, etc.
  • the target level label can also be a combination of letters, character strings, numbers and letters, etc., and the target level label can be added at the head of the service message, or at the end of the service message or at the end of the service message , this application is not limited.
  • the service scheduling apparatus 200 acquiring the first service packet includes: the service scheduling apparatus 200 receiving the second service packet sent by the server 100 . Then, the service scheduling apparatus 200 labels the second service message with a target level according to the above service configuration information to obtain the first service message.
  • the service scheduling device 200 stores correspondences between port numbers of multiple server ports and multiple level labels, the port numbers of the multiple server ports include the port number of server port A, and the multiple level labels include the target level Label.
  • the service scheduling device 200 labels the second service message with a target level according to the service configuration information, including: after the service scheduling device 200 receives the second service message sent from the service port A, the service scheduling device 200 determines according to the above correspondence a target level label, and label the second service message with a target level label.
  • the service scheduling device 200 matches the target class label carried in the first service message with multiple class labels in the first routing table, and if the target class label matches any one of the multiple class labels, then Execute S104-S105 and S108, and execute S106-S108 if the target level label does not match any of the multiple level labels.
  • the service scheduling device 200 stores a first routing table, and the first routing table includes a plurality of class labels and port labels corresponding to each class label, wherein the plurality of class labels include target class labels, and each The port label corresponding to each level label is used to identify the port of the POP 300.
  • the service scheduling device 200 may configure the above-mentioned first routing table through the following steps:
  • Step 1 The service scheduling device 200 detects the network performance of multiple network segments.
  • the multiple network segments include the network segment to which the client 400 belongs.
  • the network performance of the network segment includes but is not limited to the following parameters: packet loss rate, delay, the packet loss rate refers to the ratio of the number of lost data packets to the total number of transmitted data packets in the data packets transmitted through the network segment, and the time Latency is the time it takes to transmit a single packet of data across a network segment.
  • the service scheduling device 200 collects routing information sent to the POP 300 by multiple ISP networks, determines multiple network segments according to the routing information, and detects the network performance of these network segments. It should be understood that in practical applications, in order to ensure that the client 400 can access the server 100, the client 400 sends routing information to the server 100 via the ISP network and POP 300 before sending a service request to the server 100, and then implements the server 100 according to the above routing information. Forwarding of business requests.
  • POP 300 is connected to multiple ISP networks, so POP 300 will receive routing information reported by multiple ISP networks.
  • the service scheduling device 200 can obtain multiple source IP address segments according to the collected routing information.
  • the IP address segments are multiple network segments where the service scheduling apparatus 200 needs to detect network performance.
  • the POP 300 after receiving the routing information reported by multiple ISP networks, the POP 300 periodically sends the routing information to the service scheduling device 200, so that the service scheduling device 200 obtains the above routing information.
  • the service scheduling device 200 can also monitor the port of the POP 300, and when the port of the POP 300 receives the routing information reported by the ISP network, it controls the POP 300 to send the above routing information to the service scheduling device 200.
  • the service dispatching device 200 can detect the network performance of a plurality of network segments in the following manner, take the service dispatching device 200 to detect the network performance of a network segment as an example: the service dispatching device 200 controls the POP 300 from multiple ports to the subordinate The client on this network segment sends detection message (for example, ping message), then, determines the network performance of this network segment under each port according to the detection response message that POP 300 receives.
  • detection message for example, ping message
  • the network performance of a network segment under a port refers to: sending a probe message from a port of the POP 300 to a client belonging to the network segment, and then the port will receive the probe response returned by the client Packet loss rate and delay are obtained by analyzing the detection packets sent from the port and the detection response packets received, which are used as the network performance of the network segment under the port. Therefore, in the embodiment of the present application, the network performance of a network segment under a port may be understood as the network performance of the ISP network corresponding to the port.
  • the network performance of a network segment under a port can be obtained as follows: business The scheduling device 200 sends detection packets from one port to multiple clients belonging to the same network segment, obtains multiple corresponding detection response packets, and then obtains multiple network performances according to the multiple detection response packets, and The above multiple network performances are superimposed, and the superimposed network performance is used as the network performance of the network segment under one port.
  • the network performance of a network segment includes at least one of the packet loss rate and delay. Therefore, multiple network performances can be superimposed in the following ways: calculate the average value of multiple packet loss rates, calculate multiple time The average value of delay, and then the average value of multiple packet loss rates and the average value of multiple delays are used as the superimposed network performance.
  • the service scheduling device 200 controls the POP 300 to send ping messages from the port 1 to the client 1 and the client 2 respectively, to obtain the network performance 1 and the network performance 2.
  • the service scheduling device 200 also controls the POP 300 to send ping messages from the port 2 to the client 1 and the client 2, respectively, to obtain network performance 3 and network performance 4.
  • the service scheduling device 200 superimposes the above-mentioned network performance 1 and network performance 2, and uses the superimposed network performance as the network performance of the network segment A under port 1, and the service scheduling device 200 superimposes the network performance 3 and the network performance 4, Use the superimposed network segment performance as the network performance of network segment A under port 2.
  • the service scheduling device 200 Considering that in practical applications, there are a large number of clients accessing the server 100 at a time or within a period of time, and the network segments to which these clients belong may be different, therefore, after obtaining a large number of network segments, the service scheduling device 200 , if a network probe is performed on each network segment, it will consume a lot of cost. Considering that in the above-mentioned large number of network segments, clients belonging to some network segments rarely access the server 100, therefore, in order to reduce the cost of detecting the network performance of the network segments, the service scheduling device 200 detects multiple network segments Before the performance of the network, S1032 may also be executed.
  • step 2 the service scheduling device 200 collects the traffic of multiple network segments, and detects the network performance of the network segments whose traffic is greater than a threshold.
  • the port of POP 300 is equipped with a network stream (NetStream) protocol. Based on NetStream, the export traffic of the port can be monitored in real time, and the traffic sent to different network segments can be analyzed, and then the information obtained by the above analysis can be sent to Service scheduling device 200. In this way, the service scheduling apparatus 200 can determine the traffic of each network segment. Afterwards, the service scheduling apparatus 200 determines the network segment whose traffic is greater than the threshold among the plurality of network segments, and detects the network performance of the network segment whose traffic is greater than the threshold.
  • NetStream network stream
  • Step 3 The service scheduling device 200 collects routing monitoring information to determine multiple ports of the POP 300.
  • the routing monitoring information includes border gateway protocol monitoring protocol (border gateway protocol monitoring protocol, BMP) routing information stored in the POP 300, that is, all BGP routing information and revoked BGP routing information received by the POP 300 from the BGP peer,
  • BMP border gateway protocol monitoring protocol
  • the BGP peer of POP 300 is the ISP network that establishes a connection with POP 300 based on BGP.
  • the routing monitoring information also includes the BGP routing information selected by the POP 300 from the above BMP routing information according to the BGP routing principle.
  • POP 300 can regularly send routing monitoring information to service scheduling device 200, and service scheduling device 200 can also monitor the port of POP 300, when POP 300 receives the BGP routing information sent by ISP network, or BGP routing update message , the control POP 300 sends the above-mentioned BGP routing information or BGP routing update message to the service scheduling device 200.
  • the service scheduling device 200 After the service scheduling device 200 obtains the routing monitoring information, it can determine a plurality of ISP networks connected to the POP 300 according to the routing monitoring information, and the port connected to each ISP network on the POP 300.
  • step 4 the service scheduling device 200 obtains the port labels of multiple ports of the POP 300.
  • the POP 300 includes multiple ports, and each port has a port label.
  • the port label can be defined by the POP300 or set by the user, which is not limited here.
  • the POP 300 sends the port labels of the above-mentioned multiple ports to the service scheduling device 200, so that the service scheduling device 200 can obtain the port labels of the above-mentioned multiple ports.
  • step 5 the service scheduling device 200 allocates M ports to the service according to the service configuration information, where M is an integer greater than 1.
  • the service scheduling device 200 obtains the network service level required by the service according to the service configuration information, and then selects M ports from the above-mentioned multiple ports according to the network service level required by the service, as the ports for transmitting the service packets of the above-mentioned service. port.
  • the service scheduling device 200 can allocate more ports for the service, so that the service message of the service can be sent to the client 400 through multiple ports, and also That is to say, the network with the best network performance can be selected from multiple ISP networks to send the service packet of the service to the client 400, so that the client 400 requesting the service can obtain a better service experience.
  • POP 300 includes 3 ports, port 1, port 2 and port 3. Among them, port 1 is used to connect to the ISP network deployed by operator A, port 2 is used to connect to the ISP network deployed by operator B, and port 3 is used to connect to the ISP network deployed by operator C. Then, when the network service level required by the user to configure the service is a high-quality network, the ports allocated by the service scheduling apparatus 200 to the service include port 1 , port 2 and port 3 . When the network service level required by the user to configure the service is a common network, the ports allocated to the service by the service scheduling apparatus 200 include port 1 .
  • the embodiment of the present application does not limit the execution order of each step in the above S1031, S1033, and S1034, that is, the execution order of each step in the above S1031, S1033, and S1034 can be interchanged or executed simultaneously.
  • step 6 the service scheduling device 200 determines the port corresponding to the optimal network performance of each network segment among the M ports and its port label according to the network performance of multiple network segments detected in S1031 above.
  • the service scheduling device The 200 may determine which of the above M ports has the best network performance of the network segment according to the network performance of the network segment on multiple ports, so as to use the port to transmit service packets.
  • the service scheduling apparatus 200 detects the network performance of the network segment A on port 1, port 2 and port 3 respectively. Among them, the network performance of network segment A on port 3 > the network performance of network segment A on port 1 > the network performance of network segment A on port 2.
  • the M ports include port 1 and port 3 .
  • the service scheduling device 200 selects port 3 from port 1 and port 3 as the port for transmitting service packets according to the network performance of network segment A under port 1 and port 3 .
  • Step 7 The service scheduling device 200 obtains the above-mentioned first routing table according to the class label corresponding to the network service class required by the service in the service configuration information, the prefixes of multiple network segments, and the multiple port labels determined in the above-mentioned S1035.
  • the first routing table includes multiple level labels, multiple network segment prefixes, multiple port labels, and multiple next-hop addresses.
  • Multiple level labels correspond to various network service levels, and multiple level labels include the above-mentioned target level labels;
  • the prefixes of multiple network segments are the prefixes of the network segments to which the destination IP address belongs, and the prefixes of multiple network segments include the above-mentioned customers requesting services
  • the prefix of the network segment to which the end belongs; multiple port labels include the target port label; multiple next-hop addresses are the IP addresses of the POP 300.
  • the port labels in the first routing table are determined by the service scheduling device 200 according to the network service level required by the business and the network performance of different network segments on different ports, the port labels in the first routing table correspond to The prefix and level label of the network segment.
  • the prefix of the network segment (prefix) port label next hop address G1 1.1.1.0/24 P1 IP address of POP 300 G1 2.2.2.0/24 P2 IP address of POP 300 ... ... ... ... G2 1.1.1.0/24 P5 IP address of POP 300
  • the service scheduling apparatus 200 determines the target port label according to the matched class label. Wherein, the target port label is used to identify the first port of the POP 300.
  • the service scheduling device 200 controls the POP 300 to send the first service packet to the client 400 from the first port.
  • the service scheduling device 200 controls the POP 300 to send the first service message from the first port to the client 400, including: the service scheduling device 200 labels the first service message with a target port label, and then sends The first service message marked with the target port label is sent to the POP 300. After the POP 300 receives the first service packet marked with the target port label, it sends the first service packet from the first port to the client 400 according to the target port label.
  • the service scheduling device 200 forwards the first service packet to the POP 300 according to the second routing table.
  • the service scheduling device 200 also stores a second routing table, the second routing table includes prefixes of multiple network segments and multiple next-hop addresses, similar to the above-mentioned first routing table Yes, the prefixes of multiple network segments include the prefix of the network segment to which the client requesting the service belongs, and the multiple next-hop addresses are all IP addresses of POP 300.
  • the service scheduling device 200 can still forward the first service message to the POP 300, so that the client 400 may obtain the first service packet.
  • the service scheduling apparatus 200 may also execute the above S1032. If the service scheduling device 200 executes the above S1032, the first routing table does not include the prefixes of some network segments (that is, the prefixes of the network segments whose traffic is less than the threshold), resulting in the destination IP addresses of some service packets not belonging to the first routing table If there is a prefix of any network segment in the network, then this part of the service packets cannot be forwarded according to the first routing table. For this reason, the second routing table can also include the prefix of the network segment whose traffic is less than the threshold and the corresponding next-hop address (i.e. the IP address of POP 300), so that the service scheduling device 200 can forward the above-mentioned service message to the POP 300, so that clients belonging to the network segment whose traffic is less than the threshold can obtain service packets.
  • the prefixes of some network segments that is, the prefixes of the network segments whose traffic is less than the threshold
  • the second routing table can also include the prefix of
  • the service scheduling device 200 may adopt a pipeline model to design the first routing table and the second routing table, wherein the first routing table is used as a first-level routing table, and the second routing table is used as a second-level routing table .
  • the service scheduling device 200 can first match the target class label and the destination IP address in the first service message with the first routing table, and if the matching is not successful, then the The destination IP address in the first service packet is matched with the second routing table, so that the first service packet is sent to the POP 300.
  • the POP 300 sends the first service packet to the client 400 through the second port.
  • the second port and the first port may be the same port or different ports.
  • the POP 300 determines the second port according to the BGP routing principle, and then sends the first service packet to the client 400 through the second port.
  • the POP 300 detects the network quality of the communication lines between the cloud network and multiple ISP networks, determines the line with the best network quality, thereby determines the second port, and then forwards the first service packet to Sent to client 400 from the second port.
  • the client 400 receives the first service message sent by the POP 300, and obtains the content of the requested service according to the first service message.
  • the service scheduling device 200 can send the service packets of the video-on-demand service to the client through the common network.
  • the configuration information of the live video service includes: user identification information (here is the EIP address of the EIP service purchased by the user, namely 1.1.1.1), the port number of the server port (1935), and the required network service level (boutique network) .
  • the service scheduling device 200 can send the service packets of the live video service to the client through the high-quality network.
  • the service scheduling device 200 can provide different levels of network resources for different services, and when a user develops a new service, the user does not need to re-purchase a new service for the new service.
  • EIP service Specifically, the user can directly configure the service configuration information of the new service on the basis of the purchased EIP service. In this way, the service scheduling device 200 can use the service configuration information of the new service to allocate corresponding network resources to the new service.
  • the client provides new services.
  • the deployment of the service scheduling apparatus 200 is flexible, and specifically, it may be deployed in a cloud environment.
  • the cloud environment is an entity in which cloud vendors use basic resources to provide cloud services to users under the cloud computing model.
  • the cloud environment includes cloud data centers and cloud service platforms. Cloud data centers include a large number of basic resources (including computing resources, storage resources and web resources).
  • the service scheduling device 200 may be a server in the cloud data center for implementing service scheduling, or a virtual machine created in the cloud data center for implementing service scheduling, or a server deployed in the cloud data center or a A software device on a virtual machine, the software device is used to implement service scheduling.
  • the software device can be independently deployed on a server or a virtual machine in a cloud data center.
  • the service dispatching device 200 When the service dispatching device 200 is a software device, the service dispatching device 200 can be logically divided into multiple parts, and each part has different functions (multiple parts can refer to a plurality of functional units shown in FIG. related introduction). Therefore, the service scheduling device 200 can also be deployed distributedly on multiple servers in the cloud data center, or distributedly deployed on multiple virtual machines in the cloud data center, or distributedly deployed on virtual machines in the cloud data center and on the server.
  • the business scheduling device 200 is abstracted by the cloud vendor on the cloud service platform into a business scheduling cloud service and provided to the cloud tenant. Settlement based on usage conditions), the cloud environment uses the service scheduling device 200 deployed in the cloud data center to provide cloud tenants with service scheduling cloud services.
  • the service scheduling cloud service the user can input service configuration information through the UI and upload it to the service scheduling device 200 in the cloud environment.
  • the service scheduling device 200 completes the configuration of the first routing table according to the received service configuration information and collected network data (including network performance of multiple network segments, route monitoring information, etc.), and then, when the service scheduling device 200 obtains the first After the service message, the forwarding of the first service message can be completed according to the target level label carried in the first service message.
  • FIG. 7 shows a schematic structural diagram of a service scheduling device 200 provided in this application. It should be understood that what is shown in FIG. 7 is only an exemplary structural division of the service scheduling device 200 according to functions, and the present application does not limit the specific structural division of the service scheduling device 200 .
  • the service scheduling device 200 includes a service management unit 210 , a forwarding unit 220 and a data collection unit 230 .
  • the service management unit 210, the forwarding unit 220, and the data collection unit 230 work together to implement the steps performed by the service scheduling apparatus 200 in the foregoing method embodiments.
  • the service management unit 210 is used to perform the above S101, and the above steps S1035-S1037; The step of matching multiple level labels in the table, and the steps of S104-S106; the data collection unit 230 is used to execute the above-mentioned S1031-S1034.
  • the forwarding unit 220 may be deployed on a server or a virtual machine in a cloud environment, or may be deployed on a switch (for example, a P4 programmable switch).
  • FIG. 8 shows a schematic diagram of a hardware structure of a computing device 500 deployed with the service scheduling apparatus 200 .
  • the computing device 500 includes a memory 510 , a processor 520 , a communication interface 530 and a bus 540 .
  • the memory 510 , the processor 520 , and the communication interface 530 are connected to each other through the bus 540 .
  • the memory 510 may be a read only memory (read only memory, ROM), a static storage device, a dynamic storage device or a random access memory (random access memory, RAM).
  • the memory 510 may store computer instructions, for example, computer instructions in the business management unit 210, computer instructions in the forwarding unit 220, computer instructions in the data collection unit 230, and the like.
  • the processor 520 and the communication interface 530 are used to execute part or all of the methods described in the above steps S101-S106.
  • the memory 510 may also store data, for example: intermediate data or result data generated by the processor 520 during execution, for example, service configuration information input by the user, target level label, target port label, and the like.
  • the processor 520 may adopt a general-purpose central processing unit (central processing unit, CPU), a microprocessor, an application specific integrated circuit (application specific integrated circuit, ASIC), a graphics processing unit (graphics processing unit, GPU) or one or more integrated circuit.
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • GPU graphics processing unit
  • the processor 520 may also be an integrated circuit chip, which has a signal processing capability. During implementation, part or all of the functions of the above-mentioned service scheduling device 200 can be implemented by an integrated logic circuit of hardware in the processor 520 or instructions in the form of software.
  • the processor 520 can also be a general-purpose processor, a data signal processor (digital signal process, DSP), a field programmable logic gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • DSP data signal process
  • FPGA field programmable gate array
  • the general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc., and the steps of the method disclosed in conjunction with the embodiments of the present application can be directly embodied as a hardware decoding processor to execute and complete, or use decoding processing
  • the combination of hardware and software modules in the device is completed.
  • the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
  • the storage medium is located in the memory 510, and the processor 520 reads the information in the memory 510, and completes part or all of the functions of the above-mentioned service scheduling device 200 in combination with its hardware.
  • Communication interface 530 enables communication between computing device 500 and other devices or communication networks using means such as, but not limited to, transceivers.
  • the service configuration information input by the user may be obtained through the communication interface 530, or the first service message or the first service message tagged with the target level label may be sent to the POP 300.
  • Bus 540 may comprise a pathway for communicating information between various components in computing device 500 (eg, memory 510 , processor 520 , communication interface 530 ).
  • FIG. 9 shows a schematic diagram of a hardware structure of a computing device system deployed with the service scheduling apparatus 200 .
  • the computing device system includes multiple computing devices 600 , and the multiple computing devices 600 in the computing device system can implement the functions of the service scheduling apparatus 200 cooperatively through internal processors executing computer instructions.
  • each computing device 600 includes a memory 610 , a processor 620 , a communication interface 630 and a bus 640 .
  • the memory 610 , the processor 620 , and the communication interface 630 are connected to each other through the bus 640 .
  • Memory 610 may be ROM, RAM, static storage, or dynamic storage.
  • the memory 610 may store computer instructions. When the computer instructions stored in the memory 610 are executed by the processor 620, the processor 620 and the communication interface 630 are used to execute part of the methods described in steps S101-S106 above.
  • the memory 610 may also store data, for example: intermediate data or result data generated by the processor 620 during execution, for example, service configuration information input by the user, target level label, target port label, and the like.
  • the processor 620 may adopt a general-purpose CPU, GPU, ASIC, microprocessor, or one or more integrated circuits.
  • the processor 620 may also be an integrated circuit chip, which has a signal processing capability.
  • part or all of the functions of the service scheduling device 200 of the present application can be implemented by an integrated logic circuit of hardware in the processor 620 or instructions in the form of software.
  • Processor 620 may also be a DSP, FPGA, other programmable logic device, general purpose processor, discrete gates, discrete hardware components, or transistor logic devices.
  • the methods, steps and logic block diagrams disclosed in the embodiments of the present application can be realized or executed.
  • the general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc., and the steps in combination with the method disclosed in this application can be directly embodied as a hardware decoding processor to execute and complete, or use the decoding processor
  • the combination of hardware and software modules is completed.
  • the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
  • the storage medium is located in the memory 610, and the processor 620 reads the information in the memory 610, and completes part of the functions of the above-mentioned service scheduling device 200 in combination with its hardware.
  • the communication interface 630 uses a transceiver module such as but not limited to a transceiver to implement communication between the computing device 600 and other devices or communication networks.
  • a transceiver module such as but not limited to a transceiver to implement communication between the computing device 600 and other devices or communication networks.
  • the first routing table calculated by other computing devices may be obtained through the communication interface 630, or the first service packet or the first service packet tagged with the target level label may be sent to the POP 300.
  • Bus 640 may include pathways for communicating information between various components of computing device 600 (eg, memory 610 , processor 620 , communication interface 630 ).
  • a communication path is established between each of the aforementioned computing devices 600 through a communication network.
  • a part of the service scheduling apparatus 200 runs on each computing device 600 (for example, running one or more of the service management unit 210 , the forwarding unit 220 , and the data collection unit 230 in the service scheduling apparatus 200 ).
  • all or part may be implemented by software, hardware or a combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product provided by the business scheduling device 200 includes one or more computing instructions executed by the business scheduling device 200. When these computer program instructions are loaded and executed on the computer, all or part of the process according to the embodiment of the present application will be generated. or function.
  • the above-mentioned computers may be general-purpose computers, special-purpose computers, computer networks, or other programmable devices.
  • the above-mentioned computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. (eg, coaxial cable, optical fiber, twisted pair, or wireless (eg, infrared, wireless, microwave), etc.) to another website site, computer, server, or data center.
  • the above-mentioned computer-readable storage medium stores computer program instructions for providing the service scheduling apparatus 200 .
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more media.
  • the above-mentioned usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, an optical disk), or a semiconductor medium (for example, a solid state disk (solid state disk, SSD)).
  • a magnetic medium for example, a floppy disk, a hard disk, or a magnetic tape
  • an optical medium for example, an optical disk
  • a semiconductor medium for example, a solid state disk (solid state disk, SSD)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种业务调度方法、装置、设备及计算机可读存储介质,能够给不同的业务提供不同的网络资源,从而为客户提供更优的网络质量。其中,该方法包括:接收用户输入的业务配置信息,业务配置信息包括业务所需的网络服务等级。获取第一业务报文,第一业务报文携带了业务的内容和目标等级标签,目标等级标签用于标识业务所需的网络服务等级。之后,将目标等级标签与第一路由表中的多个等级标签进行匹配。在目标等级标签与上述多个等级标签中的任意一个等级标签匹配的情况下,根据匹配得到的等级标签确定目标端口标签。最后,控制上述入网点将第一业务报文从目标端口标签指示的目标端口发送至客户端。

Description

业务调度方法、装置、设备及计算机可读存储介质
本申请要求于2021年10月18日提交中国专利局、申请号为202111211896.4、申请名称为“业务调度方法、装置、设备及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云计算技术领域,特别涉及一种业务调度方法、装置、设备及计算机可读存储介质。
背景技术
在云计算的趋势下,大量的客户选择向云厂商购买云服务。为了令客户获得好的服务体验(例如:更优的网络质量、冗余保护),云厂商部署的云网络通常会基于边界网关协议(border gateway protocol,BGP)与运营商部署的互联网服务提供商(internet service provider,ISP)网络建立BGP邻居,以此来达到通信的目的。
由于基于BGP选路原则确定的路由可能不是实现通信的最优路由,为此,云厂商采用的方案是:探测云网络与各个ISP网络之间通信线路的网络质量,确定网络质量更好的线路,然后利用该线路向客户提供云服务。但是,该方案存在的问题是:在上述线路发生拥塞或者网络容量紧张的情况下,只能将所有的业务通过备选线路提供给客户,也就是说,高等级业务和低等级业务通过同一条备选线路提供给客户,那么对于高等级业务来说,客户的网络体验下降。
因此,如何为客户提供更优的网络质量仍然是当前亟需解决的问题。
发明内容
本申请公开了一种业务调度方法、装置、设备及计算机可读存储介质,能够为客户提供更优的网络质量。
第一方面,本申请提供了一种业务调度方法,该方法包括:接收用户输入的业务配置信息,业务配置信息包括业务所需的网络服务等级。获取第一业务报文,第一业务报文携带了业务的内容和目标等级标签,目标等级标签用于标识业务所需的网络服务等级。之后,将目标等级标签与第一路由表中的多个等级标签进行匹配,第一路由表包括上述多个等级标签以及每个等级标签对应的端口标签。在目标等级标签与上述多个等级标签中的任意一个等级标签匹配的情况下,根据匹配得到的等级标签确定目标端口标签,目标端口标签用于标识入网点(point of presence,POP)的目标端口。最后,控制上述POP将第一业务报文从目标端口发送至客户端。
实施第一方面提供的方法,基于用户自行配置的业务所需的网络服务等级,给该业务配置相应的网络资源,从而使得需求不同网络资源的业务可以通过不同的网络资源发送至客户端,达到高等级业务享有高质量网络资源的目的。
在一种可能的实现方式中,上述业务配置信息还包括服务器端口的端口号,上述获取第一业务报文,包括:接收服务器通过服务器端口发送的第二业务报文,第二业务报文为服务 器响应于客户端发送的上述业务的业务请求而生成的报文。然后,根据服务器端口的端口号给上述第二业务报文打上目标等级标签,得到上述第一业务报文。
实施上述实现方式,用户通过配置服务器端口的端口号来告知服务器业务所需的网络服务等级,从而给第二业务报文打上对应的目标等级标签。
在另一种可能的实现方式中,上述业务配置信息还包括服务器端口的端口号,上述获取第一业务报文,包括:将上述业务配置信息发送至服务器,以使得服务器根据服务器端口的端口号给第二业务报文打上目标等级标签,第二业务报文为服务器响应于客户端发送的上述业务的业务请求而生成的报文。然后,接收服务器通过服务器端口发送的第一业务报文,第一业务报文为打上目标等级标签的第二业务报文。
实施上述实现方式,服务器可以基于用户配置服务端口的端口号来确定发送第二业务报文的端口,从而使得接收到第二业务报文的设备确定业务所需的网络服务等级。
在一种可能的实现方式中,上述控制POP将第一业务报文从目标端口发送至客户端,包括:给第一业务报文打上目标端口标签;将打上目标端口标签的第一业务报文发送至POP,以使得POP根据目标端口标签将第一业务报文从目标端口发送至客户端。
实施上述实现方式,通过给第一业务报文打上目标端口标签的方式来控制POP的转发,POP无需配置复杂的转发策略或者配置新增协议,从而可以简化POP的配置以及POP的转发业务报文的方式。
在一种可能的实现方式中,在将目标等级标签与第一路由表中的多个等级标签进行匹配之前,上述方法还包括:探测客户端隶属的网段在POP的多个端口下的网络性能,其中,多个端口与多个互联网服务提供商ISP网络连接。根据第一业务所需的网络服务等级,从多个端口中选择M个端口,M为大于1的整数。确定M个端口中上述网段在目标端口下的网络性能最优,然后获得目标端口对应的目标端口标签,将目标端口标签与目标等级标签关联存储至第一路由表。如此,可以根据实际情况动态的给业务配置网络资源,从而使得需求更优网络资源的业务始终通过高等级网络发送至客户端。
在一种可能的实现方式中,在探测客户端隶属的网段在POP的多个端口下的网络性能之前,上述方法还包括:采集上述网段的流量,确定该网段的流量大于阈值。如此,可以减少探测网段的网络性能的成本。
在一种可能的实现方式中,上述方法还包括:在目标等级标签与多个等级标签均不匹配的情况下,根据第二路由表将第一业务报文转发至POP,其中,第二路由表包括下一跳地址,所述下一跳地址为POP的网际互联协议(internet protocol,IP)地址。如此,可以保证客户端请求的业务报文可以到达客户端。
第二方面,本申请提供了一种业务调度装置,该装置包括业务管理单元和转发单元。其中,业务管理单元用于接收用户输入的业务配置信息,所述业务配置信息包括业务所需的网络服务等级。转发单元用于获取第一业务报文,所述第一业务报文携带了所述业务的内容和目标等级标签,所述目标等级标签用于标识所述业务所需的网络服务等级,然后将所述目标等级标签与第一路由表中的多个等级标签进行匹配,所述第一路由表包括所述多个等级标签以及每个等级标签对应的端口标签,在所述目标等级标签与所述多个等级标签中的任意一个等级标签匹配的情况下,根据匹配得到的等级标签确定目标端口标签,所述目标端口标签用于标识POP的目标端口,之后,控制所述POP将所述第一业务报文从所述目标端口发送至客户端。
在一种可能的实现方式中,上述业务配置信息还包括服务器端口的端口号,转发单元用 于接收服务器通过服务器端口发送的第二业务报文,第二业务报文为服务器响应于客户端发送的上述业务的业务请求而生成的报文,然后根据服务器端口的端口号给第二业务报文打上目标等级标签,得到第一业务报文。
在另一种可能的实现方式中,上述配置信息还包括服务器端口的端口号,业务管理单元用于将业务配置信息发送至服务器,以使得服务器根据服务器端口的端口号给第二业务报文打上目标等级标签,第二业务报文为服务器响应于客户端发送的上述业务的业务请求而生成的报文。转发单元用于接收服务器通过服务器端口发送的第一业务报文,第一业务报文为打上目标等级标签的第二业务报文。
在一种可能的实现方式中,转发单元用于给第一业务报文打上目标端口标签,并打上目标端口标签的第一业务报文发送至POP,以使得POP根据目标端口标签将第一业务报文从目标端口发送至客户端。
在一种可能的实现方式中,上述装置还包括数据采集单元,数据采集单元用于探测客户端隶属的网段在POP的多个端口下的网络性能,其中,多个端口与多个互联网服务提供商ISP网络连接。业务管理单元还用于根据第一业务所需的网络服务等级,从多个端口中选择M个端口,M为大于1的整数,然后,确定M个端口中网段在目标端口下的网络性能最优,之后,目标端口对应的目标端口标签,将目标端口标签与目标等级标签关联存储至第一路由表。
在一种可能的实现方式中,数据采集单元还用于采集上述网段的流量。业务管理单元还用于确定上述网段的流量大于阈值。
在一种可能的实现方式中,所述转发单元,还用于在所述目标等级标签与所述多个等级标签均不匹配的情况下,根据第二路由表将所述第一业务报文转发至所述POP,其中,所述第二路由表包括下一跳地址,所述下一跳地址为所述POP的网际互联协议IP地址。
第三方面,本申请提供了一种计算设备,该计算设备包括处理器和存储器,存储器存储计算机指令,处理器执行上述计算机指令,以使上述计算设备执行前述第一方面或第一方面的任意一种实现方式所描述的方法。
第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当计算机指令被计算设备执行时,计算设备执行前述第一方面或第一方面的任意一种实现方式所描述的方法。
附图说明
图1是本申请提供的一种基于BGP实现业务调度的场景示意图;
图2是本申请提供的一种业务系统的结构示意图;
图3是本申请提供的一种业务调度方法的流程示意图;
图4是本申请提供的一种用户界面的示意图;
图5是本申请提供的一种用户配置业务的示意图;
图6是本申请提供的一种用户配置新增业务的示意图;
图7是本申请提供的一种业务调度装置的结构示意图;
图8是本申请提供的一种计算设备的结构示意图;
图9是本申请提供的一种计算设备系统的结构示意图。
具体实施方式
下面将结合附图,对本申请提供的技术方案进行描述。
为了使本申请提供的技术方案更清晰,在具体描述本申请提供的技术方案之前,首先介绍本申请涉及的相关术语。
ISP网络是运营商部署的、能够提供拨号上网服务、网上浏览、下载文件、收发电子邮件等服务,是网络最终用户进入因特网(internet)的入口和桥梁。
BGP是一种可以实现不同自治系统(autonomous system,AS)之间路由可达的路由协议。在互联网中,一个AS是一个实体(例如:云厂商、运营商)管辖下的使用相同路由策略的网络集合。因此,云厂商部署的网络(以下称为云网络)与ISP网络之间可以基于BGP实现互连。
在基于BGP实现业务调度的场景中,如图1所示,云网络与多个ISP网络(包括ISP1、ISP2和ISP3)之间建立BGP邻居,这样,当用户向云厂商租用资源(包括计算资源、存储资源和网络资源)后,用户的客户端就可以通过多个ISP网络从上述租用的资源处获取云服务。也就是说,云厂商可以根据云网络与各个ISP网络之间的通信线路(如图1示出的线路1、线路2和线路3)的网络质量来为用户的客户端分配合适的网络资源,从而为用户的客户端提供更优的网络质量。图1中,线路1的网络质量优于线路2和线路3,因此,云厂商将通过ISP1网络向客户端提供云服务。另外,如果ISP1网络出现故障,云厂商还可以为客户端分配其他的ISP网络(如图1中的ISP2),从而为用户提供网络冗余保护。
随着业务访问量的逐渐增多,网络拥塞成为影响用户获得云服务的主要问题。因此,本申请提供了一种业务系统,该系统中用户可以自行配置业务所需的网络服务等级(即业务的等级),之后,该系统可以根据业务所需的网络服务等级给该业务配置相应的网络资源,从而使得不同等级的业务可以通过不同的网络资源发送至客户端,达到高等级业务享有高质量网络资源的目的。
请参见图2,图2示出了本申请提供的一种业务系统的结构示意图。如图2所示,该系统包括服务器100、业务调度装置200、POP 300以及客户端400。本申请实施例中,当客户端400向服务器100发送业务请求后,服务器100根据业务请求生成相应的业务报文,并将该业务报文发送至业务调度装置200。业务调度装置200接收该业务报文,并根据业务所需的网络服务等级给该业务报文分配对应的网络资源,以此来指导POP 300将该业务报文发送至客户端400。这样,客户端400便可以获得服务器100提供的业务。
下面对业务系统的各个部分进行简要介绍。
服务器100是用户向云厂商购买的资源(包括计算资源、存储资源、网络资源),服务器100具体可以包括多个设备(包括计算设备、存储设备、网络设备),例如,云厂商自建的数据中心(data center,DC)中的多个设备、机房中的多个设备等。本申请实施例中,用户是指注册有云账号,向云厂商购买资源的用户。
服务器100用于向客户端400提供云服务,客户端400可以包括手机、便携电脑、平板电脑等。以用户是视频平台为例:视频平台向云厂商购买了视频点播业务的云服务,客户端400包括以下2类:主播客户端和观众客户端,那么,服务器100向客户端400提供的云服务包括:主播客户端可以将制作好的短视频上传至服务器100进行缓存,观众客户端可以从服务器100获取上述短视频。
可选的,服务器100可以以业务报文的形式向客户端400提供云服务,那么,服务器100具体用于接收客户端400发送的业务请求,并基于业务请求生成携带有业务内容的业务报文。 应理解,由于业务报文中携带了业务内容,那么,当客户端400接收到业务报文后,就可以获得相应的业务内容,从而获得云服务。
考虑到实际应用中,用户可能购买了针对多种业务的云服务,不同的业务对网络资源的需求不同,例如,视频直播业务对时延的要求高于视频点播业务对时延的要求,因此,视频直播业务对网络资源的需求高于视频点播业务对网络资源的需求,那么,在向客户端400提供视频直播业务的过程中就需要提供更优的网络资源。因此,本申请提供的业务系统中包括了业务调度装置200。服务器100还用于将业务报文发送至业务调度装置200。
业务调度装置200用于接收服务器100发送的业务报文,根据业务所需的网络服务等级给该业务报文分配相应的网络资源,以此来指导POP 300将该业务报文发送至客户端400。具体地:
业务调度装置200用于接收用户输入的业务配置信息,其中,业务配置信息包括业务所需的网络服务等级。在一种可能的实现方式中,业务调度装置200还用于将上述配置信息发送至服务器100,服务器100还用于根据上述配置信息给生成的业务报文打上相应的等级标签,并将打上等级标签的业务报文发送至业务调度装置200。在另一种可能的实现方式中,业务调度装置200还用于接收服务器100发送的业务报文,并根据上述配置信息给业务报文打上上述等级标签。
业务调度装置200还用于采集云网络的网络数据,网络数据包括但不限于:多个网段的网络性能、多个网段的流量以及路由监控信息。其中,网段是指客户端400隶属的网段,网段的网段性能包括但不限于以下参数:丢包率、时延,丢包率是指经由该网段传输的数据包中,丢失的数据包的数量与传输的数据包总量的比值,时延是指经由该网段传输单个数据包时所消耗的时间。路由监控信息包括POP 300中存储的边界网关协议监控协议(border gateway protocol monitoring protocol,BMP)路由信息,即POP 300从BGP对等体接收到的所有BGP路由信息和撤销的BGP路由信息,本申请实施例中,POP 300的BGP对等体是与POP 300基于BGP建立连接的ISP网络。可选的,路由监控信息还包括POP 300根据BGP选路原则从上述BMP路由信息中选择出的BGP路由信息。
业务调度装置200还用于根据上述网络数据和上述业务配置信息,为需要不同网络服务的业务计算不同的路由表项,从而得到第一路由表。其中,第一路由表包括多个等级标签以及与每个等级标签对应的端口标签,等级标签用于标识业务所需的网络服务等级(即业务的等级),与等级标签对应的端口标签用于标识POP 300上的端口。业务调度装置200还用于将业务报文携带的等级标签与第一路由表中的多个等级标签进行匹配,如果匹配成功,则给该业务报文打上对应的端口标签,并将打上端口标签的业务报文发送至POP 300。
POP 300是云网络的本地接入点,云网络是用户租用的网络资源。可选的,POP 300可以是路由器、交换机、服务器或其他数据通信设备,本申请不作限定。POP 300用于建立云网络与多个ISP网络(如图2中的ISP1、ISP2、ISP3)之间的通信连接,使得客户端400能够接入云网络,从而获取服务器100提供的云服务。
可选的,POP 300包括多个端口,一个端口连接一个ISP网络,值得注意的一点是,“POP 300上与ISP网络连接的端口”可以具有不同的名称,例如,不同标准、同一标准的不同版本、不同厂商、不同应用场景对“POP 300上与ISP网络连接的端口”可以具有不同的称呼,例如,“POP 300上与ISP网络连接的端口”有时也可以被称为“出口线路”。
本申请实施例中,上述多个端口中的每个端口对应一个端口标签,其中,端口的端口标签可以是用户预先设置的,也可以是POP 300定义的。POP 300还用于存储端口与端口标签 之间的对应关系,并将端口标签发送至业务调度装置200,以使得业务调度装置200能够配置上述第一路由表。
POP 300还用于接收业务调度装置200发送的携带端口标签的业务报文,并将该业务报文从端口标签指示的端口发送至客户端400。
正是由于上述各个部分的功能,使得本申请提供的业务系统能够根据业务所需的网络服务等级给该业务配置相应的网络资源,从而使得不同等级的业务可以通过不同的网络资源发送至客户端。而且,当某个ISP网络的网络资源紧张时,可以优先保证高等级业务使用高质量的网络资源。
下面结合图3,对上述业务系统实现业务调度的过程进行更详细的介绍。
请参见图3,图3示出了本申请提供的一种业务调度方法的流程示意图,该方法包括但不限于如下步骤:
S101:业务调度装置200接收用户输入的业务配置信息。
其中,业务配置信息包括业务所需的网络服务等级。网络服务等级用于表示网络质量,本申请实施例中,业务调度装置200向用户提供多种网络服务等级,以供用户进行选择。
可选的,业务配置信息还包括服务器端口A的端口号,服务器端口A是服务器100的一个端口。应理解,不同业务的业务报文可以采用不同的端口进行传输,比如说,上网业务的超文本传输协议(hyper text transfer protocol,HTTP)报文可以采用端口8080进行传输,视频直播业务的直播流可以采用端口1935进行传输。
可选的,业务配置信息还包括用户的标识信息,本申请实施例中,用户的标识可以是该用户购买的弹性公网(elastic IP,EIP)地址。
在一具体的实施例中,业务调度装置200向用户提供用户界面(user interface,UI),用户通过在UI界面上操作来完成业务配置信息的输入。如图4所示,UI包括菜单栏和输入界面,菜单栏包括3个项目,分别是用户的标识信息、服务器端口的端口号以及网络服务等级。其中,网络服务等级包括精品网络和普通网络,精品网络的网络服务等级高于普通网络的网络服务等级,即精品网络的网络质量优于普通网络的网络质量。假设用户向云厂商购买的EIP地址为1.1.1.1,购买的云服务为视频直播业务。因此,用户的标识信息为1.1.1.1,服务器端口的端口号为1935,考虑到视频直播业务对时延的要求较高,因此,用户为视频直播业务配置的网络服务等级可以是精品网络。
S102:业务调度装置200获取第一业务报文。
其中,第一业务报文携带了上述业务的内容和目标等级标签,目标等级标签用于标识上述业务所需的网络服务等级。
在一个示例中,业务调度装置200获取第一业务报文,包括:业务调度装置200接收服务器100发送的第二业务报文。具体地,响应于客户端400发送的上述业务的业务请求,服务器100根据业务请求生成第二业务报文,其中,第二业务报文携带了上述业务的内容。服务器100接收业务调度装置200发送的业务配置信息,并根据业务配置信息给第二业务报文打上目标等级标签,得到第一业务报文。
更具体地,服务器100存储有多个服务器端口的端口号和多个等级标签之间的对应关系,多个服务器端口的端口号包括服务器端口A的端口号,多个等级标签包括目标等级标签。那么,服务器100根据业务配置信息给业务报文打上目标等级标签,包括:服务器100监听服务器端口A,当确定将业务报文从服务器端口A发送出去时,服务器100根据上述对应关 系确定目标等级标签,并给第二业务报文打上目标等级标签。
进一步地,考虑到网际互连协议(internet protocol,IP)报文头部里的差分服务代码点(differentiated services code point,DSCP)值可用于区分不同的优先级,因此,本申请实施例提出:利用不同的DSCP值作为不同的等级标签。那么,目标等级标签可以是一个DSCP值,例如,12、16等。可选的,目标等级标签还可以是字母、字符串、数字和字母的组合等,而且,目标等级标签可以添加在业务报文的头部、也可以添加在业务报文的尾部或者业务报文中,本申请不作限定。
在另一个示例中,业务调度装置200获取第一业务报文,包括:业务调度装置200接收服务器100发送的上述第二业务报文。然后,业务调度装置200根据上述业务配置信息给第二业务报文打上目标等级标签,得到第一业务报文。
更具体地,业务调度装置200存储有多个服务器端口的端口号和多个等级标签之间的对应关系,多个服务器端口的端口号包括服务器端口A的端口号,多个等级标签包括目标等级标签。业务调度装置200根据业务配置信息给第二业务报文打上目标等级标签,包括:当业务调度装置200接收到从服务端口A发送的第二业务报文后,业务调度装置200根据上述对应关系确定目标等级标签,并给第二业务报文打上目标等级标签。
S103:业务调度装置200将第一业务报文中携带的目标等级标签与第一路由表中的多个等级标签进行匹配,如果目标等级标签与多个等级标签中的任意一个等级标签匹配,则执行S104-S105以及S108,如果目标等级标签与多个等级标签中的所有等级标签均不匹配,则执行S106-S108。
在一具体的实施例中,业务调度装置200存储有第一路由表,第一路由表包括多个等级标签和每个等级标签对应的端口标签,其中,多个等级标签包括目标等级标签,每个等级标签对应的端口标签用于标识POP 300的端口。
在一具体的实施例中,业务调度装置200可以通过以下步骤配置上述第一路由表:
步骤①、业务调度装置200探测多个网段的网络性能。
其中,多个网段包括客户端400隶属的网段。网段的网络性能包括但不限于以下参数:丢包率、时延,丢包率是指经由网段传输的数据包中,丢失的数据包的数量与传输的数据包总量的比值,时延是指经由网段传输单个数据包时所消耗的时间。
具体地,业务调度装置200采集多个ISP网络发送至POP 300的路由信息,根据上述路由信息确定多个网段,并探测这些网段的网络性能。应理解,在实际应用中,为了保证客户端400能够访问服务器100,客户端400在向服务器100发送业务请求之前,先经由ISP网络和POP 300向服务器100发送路由信息,之后根据上述路由信息实现业务请求的转发。本申请实施例中,POP 300与多个ISP网络连接,因此POP 300会接收到多个ISP网络上报的路由信息。由于路由信息包括源IP地址段,客户端400的IP地址隶属于上述源IP地址段,因此,业务调度装置200可以根据采集到的路由信息获得多个源IP地址段,此处的多个源IP地址段即为业务调度装置200需要探测网络性能的多个网段。
在一具体的实施例中,POP 300接收到多个ISP网络上报的路由信息后,定期将这些路由信息发送至业务调度装置200,以使得业务调度装置200获得上述路由信息。或者,业务调度装置200也可以POP 300的端口进行监控,当POP 300的端口接收到ISP网络上报的路由信息后,控制POP 300向业务调度装置200发送上述路由信息。
可选的,业务调度装置200可以通过以下方式探测多个网段的网络性能,以业务调度装置200探测一个网段的网络性能为例:业务调度装置200控制POP 300从多个端口分别向隶 属于该网段的客户端发送探测报文(例如,ping报文),然后,根据POP 300接收到的探测响应报文确定该网段在每个端口下的网络性能。需要说明的是,网段在一个端口下的网络性能是指:从POP 300的一个端口向隶属于该网段的客户端发送探测报文,之后,该端口会接收到客户端返回的探测响应报文,通过分析从该端口发送出去的探测报文与接收到的探测响应报文获得丢包率和时延,以此作为该网段在该端口下的网络性能。因此,本申请实施例中,网段在一个端口下的网络性能可以理解为该端口对应的ISP网络的网络性能。
应理解,在上述探测网段的网络性能的过程中,由于隶属于一个网段的客户端可能有多个,在这种情况下,一个网段在一个端口下的网络性能可以这样得到:业务调度装置200从一个端口分别向隶属于同一个网段的多个客户端发送探测报文,得到相应的多个探测响应报文,然后根据上述多个探测响应报文获得多个网络性能,并将上述多个网络性能进行叠加,并将叠加后的网络性能作为该网段在一个端口下的网络性能。由前文可知,网段的网络性能包括丢包率和时延中的至少一种,因此,可以通过以下方式将多个网络性能进行叠加:计算多个丢包率的平均值,计算多个时延的平均值,然后将多个丢包率的平均值和多个时延的平均值作为叠加后的网络性能。
举例说明,假设POP 300有2个端口,分别是端口1和端口2,客户端1和客户端2都隶属于网段A。那么,业务调度装置200控制POP 300从端口1分别向客户端1和客户端2发送ping报文,得到网络性能1和网络性能2。业务调度装置200还控制POP 300从端口2分别向客户端1和客户端2发送ping报文,得到网络性能3和网络性能4。之后,业务调度装置200将上述网络性能1、网络性能2进行叠加,将叠加后的网络性能作为端口1下网段A的网络性能,业务调度装置200将网络性能3和网络性能4进行叠加,将叠加后的网段性能作为端口2下网段A的网络性能。
考虑到实际应用中,在一个时刻或一个时间段内,存在大量的客户端访问服务器100,而这些客户端隶属的网段可能并不相同,因此,业务调度装置200在获得大量的网段后,如果对每个网段都进行网络探测,会耗费大量的成本。又考虑到在上述大量的网段中,隶属于某些网段的客户端几乎很少访问服务器100,因此,为了减少探测网段的网络性能的成本,业务调度装置200在探测多个网段的网络性能之前,还可以执行S1032。
步骤②、业务调度装置200采集多个网段的流量,并对流量大于阈值的网段进行网络性能的探测。
本申请实施例中,POP 300的端口上部署有网络流(NetStream)协议,基于NetStream可以对端口的出口流量进行实时监控,分析发送至不同网段的流量,然后将上述分析得到的信息发送至业务调度装置200。这样,业务调度装置200便可以确定每个网段的流量。之后,业务调度装置200确定多个网段中流量大于阈值的网段,并对流量大于阈值的网段进行网络性能的探测。
步骤③、业务调度装置200采集路由监控信息,确定POP 300的多个端口。
其中,路由监控信息包括POP 300中存储的边界网关协议监控协议(border gateway protocol monitoring protocol,BMP)路由信息,即POP 300从BGP对等体接收到的所有BGP路由信息和撤销的BGP路由信息,本申请实施例中,POP 300的BGP对等体是与POP 300基于BGP建立连接的ISP网络。可选的,路由监控信息还包括POP 300根据BGP选路原则从上述BMP路由信息中选择出的BGP路由信息。
具体实现中,POP 300可以定期向业务调度装置200发送路由监控信息,业务调度装置200也可以对POP 300的端口进行监控,当POP 300接收到ISP网络发送的BGP路由信息, 或BGP路由更新消息时,控制POP 300向业务调度装置200发送上述BGP路由信息或BGP路由更新消息。当业务调度装置200获得路由监控信息后,可以根据路由监控信息确定与POP300连接的多个ISP网络,以及POP 300上与每个ISP网络连接的端口。
步骤④、业务调度装置200获得POP 300的多个端口的端口标签。
由前文可知,POP 300包括多个端口,每个端口具有一个端口标签,端口标签可以是POP300定义的,也可以是用户设置的,此处不作限定。POP 300将上述多个端口的端口标签发送至业务调度装置200,这样,业务调度装置200便可以获得上述多个端口的端口标签。
步骤⑤、业务调度装置200根据业务配置信息给业务分配M个端口,M为大于1的整数。
具体地,业务调度装置200根据业务配置信息获得业务所需的网络服务等级,之后根据业务所需的网络服务等级从上述多个端口中选择M个端口,以作为传输上述业务的业务报文的端口。
本申请实施例中,业务所需的网络服务等级越高,业务调度装置200可以为该业务分配更多的端口,如此,该业务的业务报文可以通过多个端口发送至客户端400,也就是说,可以从多个ISP网络中选择出网络性能最优的网络来将该业务的业务报文发送至客户端400,从而使得请求该业务的客户端400获得更优的服务体验。
举例说明,假设云厂商可以提供2种网络服务,一种是精品网络,另一种是普通网络。POP 300包括3个端口,分别是端口1、端口2以及端口3。其中,端口1用于与运营商A部署的ISP网络连接,端口2用于与运营商B部署的ISP网络连接,端口3用于与运营商C部署的ISP网络连接。那么,当用户配置业务所需的网络服务等级为精品网络时,业务调度装置200可以给该业务分配的端口包括端口1、端口2以及端口3。当用户配置业务所需的网络服务等级为普通网络时,业务调度装置200给该业务分配的端口包括端口1。
需要说明的是,本申请实施例并不限定上述S1031、S1033、S1034中每个步骤的执行顺序,即上述S1031、S1033、S1034中各个步骤的执行顺序可以互换,也可以同时执行。
步骤⑥、业务调度装置200根据上述S1031探测得到的多个网段的网络性能,确定M个端口中每个网段的最优网络性能对应的端口及其端口标签。
以一个网段为例,由于该网段在不同端口下可能具有不同的网络性能,为了令请求业务的客户端能够获得更好的服务(例如,更快地获得业务报文),业务调度装置200可以根据该网段在多个端口下的网络性能,确定该网段在上述M个端口中的哪个端口下的网络性能最优,从而利用该端口来传输业务报文。
举例说明,业务调度装置200分别在端口1、端口2以及端口3探测了网段A的网络性能。其中,网段A在端口3的网络性能>网段A在端口1的网络性能>网段A在端口2的网络性能。M个端口包括端口1和端口3。业务调度装置200根据网段A在端口1和端口3下的网络性能,从端口1和端口3中选择端口3作为传输业务报文的端口。
步骤⑦、业务调度装置200根据业务配置信息中业务所需的网络服务等级对应的等级标签、多个网段的前缀、以及上述S1035确定的多个端口标签配置得到上述第一路由表。
其中,第一路由表包括多个等级标签、多个网段的前缀、多个端口标签以及多个下一跳地址。多个等级标签对应多种网络服务等级,多个等级标签包括上述目标等级标签;多个网段的前缀是目的IP地址隶属的网段的前缀,多个网段的前缀包括上述请求业务的客户端隶属的网段的前缀;多个端口标签包括目标端口标签;多个下一跳地址均为POP 300的IP地址。例如,表1示出的第一路由表。应理解,由于第一路由表中的端口标签是业务调度装置200根据业务所需的网络服务等级以及不同网段在不同端口下的网络性能确定的,因此,第一路 由表中的端口标签对应于网段的前缀以及等级标签。
表1.第一路由表
等级标签 网段的前缀(prefix) 端口标签 下一跳地址
G1 1.1.1.0/24 P1 POP 300的IP地址
G1 2.2.2.0/24 P2 POP 300的IP地址
G2 1.1.1.0/24 P5 POP 300的IP地址
S104:业务调度装置200根据匹配得到的等级标签确定目标端口标签。其中,目标端口标签用于标识POP 300的第一端口。
S105:业务调度装置200控制POP 300将第一业务报文从第一端口发送至客户端400。
在一具体的实施例中,业务调度装置200控制POP 300将第一业务报文从第一端口发送至客户端400,包括:业务调度装置200给第一业务报文打上目标端口标签,然后将打上目标端口标签的第一业务报文发送至POP 300。POP 300接收到上述打上目标端口标签的第一业务报文后,根据目标端口标签将第一业务报文从第一端口发送至客户端400。
S106:业务调度装置200根据第二路由表将第一业务报文转发至POP 300。
应理解,在实际应用中,可能存在以下情况:业务报文携带的等级标签与第一路由表中的每个等级标签均不匹配。为了在上述情况下实现业务报文的转发,业务调度装置200还存储有第二路由表,第二路由表包括多个网段的前缀和多个下一跳地址,与上述第一路由表类似的,多个网段的前缀包括上述请求业务的客户端隶属的网段的前缀,多个下一跳地址均为POP 300的IP地址。这样,当第一业务报文携带的目标等级标签与第一路由表中的每个等级标签均不匹配时,业务调度装置200仍然可以将第一业务报文转发至POP 300,从而使得客户端400可以获得第一业务报文。
另外,由前文可知,为了减少探测网段的网络性能所耗费的成本,业务调度装置200还可以执行上述S1032。如果业务调度装置200执行了上述S1032,第一路由表中不包括一部分网段的前缀(即流量小于阈值的网段的前缀),从而导致一部分业务报文的目的IP地址不属于第一路由表中的任意一个网段的前缀,那么,这一部分业务报文将无法根据第一路由表进行转发。为此,第二路由表还可以包括上述流量小于阈值的网段的前缀以及对应的下一跳地址(即POP 300的IP地址),这样,业务调度装置200可以将上述业务报文转发至POP 300,从而使得隶属于流量小于阈值的网段的客户端可以获得业务报文。
可选的,业务调度装置200可以采用管道(pipeline)模型来设计第一路由表和第二路由表,其中,第一路由表作为第一级路由表,第二路由表作为第二级路由表。这样,当业务调度装置200获得第一业务报文后,业务调度装置200可以先将第一业务报文中的目标等级标签以及目的IP地址与第一路由表进行匹配,如果不匹配成功再将第一业务报文中的目的IP地址与第二路由表进行匹配,从而将第一业务报文发送至POP 300。
S107:POP 300将第一业务报文从第二端口发送至客户端400。
可选的,第二端口与第一端口可以是同一个端口,也可以是不同的端口。在一种可能的实现方式中,POP 300根据BGP选路原则确定第二端口,然后将第一业务报文从第二端口发送至客户端400。在另一种可能的实现方式中,POP 300探测云网络与多个ISP网络之间的通信线路的网络质量,确定网络质量最优的线路,从而确定第二端口,然后将第一业务报文从第二端口发送至客户端400。
S108:客户端400接收POP 300发送的第一业务报文,并根据第一业务报文获得请求的 业务的内容。
下面将通过一个具体的例子,来进一步介绍上述业务调度方法。
假设,用户购买了云厂商提供的EIP服务,以用于对外提供视频点播业务。利用本申请提供的业务调度方法,用户可以在业务调度装置200提供的UI上输入视频点播业务的配置信息,如图5所示,视频点播业务的配置信息包括:用户的标识信息(此处为用户购买的EIP服务的EIP地址,即1.1.1.1)、服务器端口的端口号(ALL,即服务器100的所有端口)以及所需的网络服务等级(普通网络)。之后,业务调度装置200便可以将视频点播业务的业务报文通过普通网络发送至客户端。
一段时间后,用户又拓展了视频直播业务,并且期望视频直播业务可以使用更优质的网络资源。利用本申请提供的方法,用户可以在图5所示的UI上继续创建新的业务配置信息,如图6所示,用户点击UI上的“创建”选项,并输入视频直播业务的配置信息。视频直播业务的配置信息包括:用户的标识信息(此处为用户购买的EIP服务的EIP地址,即1.1.1.1)、服务器端口的端口号(1935)以及所需的网络服务等级(精品网络)。之后,业务调度装置200便可以将视频直播业务的业务报文通过精品网络发送至客户端。
可以看出,利用本申请提供的业务调度方法,业务调度装置200可以为不同的业务提供不同等级的网络资源,并且,当用户拓展新的业务时,用户可以无需针对的新的业务重新购买新的EIP服务。具体地,用户可以直接在已购买的EIP服务基础上,配置新业务的业务配置信息,这样,业务调度装置200便可以利用新业务的业务配置信息,给新业务分配对应的网络资源,从而向客户端提供新业务。
上文中结合图3-图6,详细描述了根据本申请提供的业务调度方法,下面将结合图7-图9,描述根据本申请提供的业务调度装置200和计算设备。
本申请实施例中,业务调度装置200的部署灵活,具体可以部署在云环境中。云环境是云计算模式下云厂商利用基础资源向用户提供云服务的实体,云环境包括云数据中心和云服务平台,云数据中心包括云服务提供上拥有的大量基础资源(包括计算资源、存储资源和网络资源)。业务调度装置200可以是云数据中心中的用于实现业务调度的服务器,也可以是创建在云数据中心中的用于实现业务调度的虚拟机,还可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置用于实现业务调度。该软件装置可以独立地部署在云数据中心中的服务器或虚拟机上。当业务调度装置200为软件装置时,业务调度装置200可以在逻辑上分成多个部分,每个部分具有不同的功能(多个部分可以参考后文中的图7示出的多个功能单元及其相关介绍)。因此,业务调度装置200还可以分布式地部署在云数据中心的多个服务器上、或者分布式地部署在云数据中心的多个虚拟机上、或者分布式地部署在云数据中心的虚拟机和服务器上。
在一些实施例中,业务调度装置200由云厂商在云服务平台抽象成一种业务调度云服务提供给云租户,云租户在云服务平台购买该项云服务后(可预充值再根据最终资源的使用情况进行结算),云环境利用部署在云数据中心的业务调度装置200向云租户提供业务调度云服务。在使用业务调度云服务时,用户可以通过UI输入业务配置信息,并上传至云环境中的业务调度装置200。业务调度装置200根据接收到的业务配置信息以及采集的网络数据(包括多个网段的网络性能、路由监控信息等),完成第一路由表的配置,之后,当业务调度装置200获得第一业务报文后,可以根据第一业务报文携带的目标等级标签完成第一业务报文的 转发。
请参见图7,图7示出了本申请提供的一种业务调度装置200的结构示意图。应理解,图7所示的仅仅是根据功能对上述业务调度装置200的一种示例性的结构划分方式,本申请并不对业务调度装置200的结构的具体划分方式进行限定。如图7所示,业务调度装置200包括业务管理单元210、转发单元220以及数据采集单元230。业务管理单元210、转发单元220以及数据采集单元230协同工作,以实现上述方法实施例中业务调度装置200执行的步骤。具体地,业务管理单元210用于执行上述S101,以及上述S1035-S1037的步骤;转发单元220用于执行上述S102,以及S103中将将第一业务报文中携带的目标等级标签与第一路由表中的多个等级标签进行匹配的步骤,以及S104-S106的步骤;数据采集单元230用于执行上述S1031-S1034。
值得注意的一点是,本申请实施例中,转发单元220可以部署在云环境中的服务器或虚拟机上,也可以部署在交换机(例如,P4可编程交换机)上。
当业务调度装置200单独地部署在云环境中的一个计算设备上时,部署有业务调度装置200的计算设备可以是如图8所示的计算设备。如图8所示,图8示出了部署有业务调度装置200的计算设备500的硬件结构示意图。其中,计算设备500包括存储器510、处理器520、通信接口530以及总线540。其中,存储器510、处理器520、通信接口530通过总线540实现彼此之间的通信连接。
存储器510可以是只读存储器(read only memory,ROM),静态存储设备、动态存储设备或者随机存取存储器(random access memory,RAM)。存储器510可以存储计算机指令,例如,业务管理单元210中的计算机指令、转发单元220中的计算机指令、数据采集单元230中的计算机指令等。当存储器510中存储的程序被处理器520执行时,处理器520和通信接口530用于执行上述步骤S101-S106所述的部分或全部方法。存储器510还可以存储数据,例如:处理器520在执行过程中产生的中间数据或结果数据,例如,用户输入的业务配置信息、目标等级标签、目标端口标签等。
处理器520可以采用通用的中央处理器(central processing unit,CPU),微处理器,专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路。
处理器520还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述业务调度装置200的部分或全部功能可用通过处理器520中的硬件的集成逻辑电路或者软件形式的指令完成。处理器520还可以是通用处理器、数据信号处理器(digital signal process,DSP)、现场可编程逻辑门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件,分立门或者晶体管逻辑器件,分立硬件组件。可以实现或者执行本申请实施例中公开的方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器510,处理器520读取存储器510中的信息,结合其硬件完成上述业务调度装置200的部分或全部功能。
通信接口530使用例如但不限于收发器一类的手法模块,来实现计算设备500与其他设 备或通信网络之间的通信。例如,可以通过通信接口530获取用户输入的业务配置信息,或者将第一业务报文或者打上目标等级标签的第一业务报文发送至POP 300。
总线540可以包括在计算设备500中的各个部件(例如,存储器510、处理器520、通信接口530)之间传送信息的通路。
当业务调度装置200中的各个部分分布式地部署在云环境中的多个计算设备上时,部署有业务调度装置200的多个计算设备可以构成如图9所示的计算设备系统。如图9所示,图9示出了部署有业务调度装置200的计算设备系统的硬件结构示意图。其中,计算设备系统包括多个计算设备600,计算设备系统中的多个计算设备600可以通过内部处理器执行计算机指令协同地实现业务调度装置200的功能。
如图9所示,每个计算设备600包括存储器610、处理器620、通信接口630以及总线640。其中,存储器610、处理器620、通信接口630通过总线640实现彼此之间的通信连接。
存储器610可以是ROM、RAM、静态存储设备或者动态存储设备。存储器610可以存储计算机指令,当存储器610中存储的计算机指令被处理器620执行时,处理器620和通信接口630用于执行上述步骤S101-S106所述的部分方法。存储器610还可以存储数据,例如:处理器620在执行过程中产生的中间数据或结果数据,例如,用户输入的业务配置信息、目标等级标签、目标端口标签等。
处理器620可以采用通用的CPU、GPU、ASIC、微处理器或者一个或多个集成电路。处理器620还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的业务调度装置200的部分或全部功能可用通过处理器620中的硬件的集成逻辑电路或者软件形式的指令完成。处理器620还可以是DSP、FPGA、其他可编程逻辑器件、通用处理器、分立门、分立硬件组件或者晶体管逻辑器件。可以实现或者执行本申请实施例中公开的方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,结合本申请所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器610,处理器620读取存储器610中的信息,结合其硬件完成上述业务调度装置200的部分功能。
通信接口630使用例如但不限于收发器一类的收发模块,来实现计算设备600与其他设备或通信网络之间的通信。例如,可以通过通信接口630获取其他计算设备计算得到的第一路由表,或者将第一业务报文或者打上目标等级标签的第一业务报文发送至POP 300。
总线640可包括在计算设备600各个部件(例如,存储器610、处理器620、通信接口630)之间传送信息的通路。
上述每个计算设备600间通过通信网络建立通信通路。每个计算设备600上运行业务调度装置200中的一部分(例如:运行业务调度装置200中的业务管理单元210、转发单元220、数据采集单元230中的一个或多个)。
上述各个附图对应的流程的描述各有侧重,某个流程中没有详细描述的部分,可以参见其他流程的相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件或者其组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。提供业务调度装置200的计算机程 序产品包括一个或多个由业务调度装置200执行的计算指令,在计算机上加载和执行这些计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、双绞线或无线(例如,红外、无线、微波)等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质存储有提供业务调度装置200的计算机程序指令。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,光盘)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))。

Claims (16)

  1. 一种业务调度方法,其特征在于,包括:
    接收用户输入的业务配置信息,所述业务配置信息包括业务所需的网络服务等级;
    获取第一业务报文,所述第一业务报文携带了所述业务的内容和目标等级标签,所述目标等级标签用于标识所述业务所需的网络服务等级;
    将所述目标等级标签与第一路由表中的多个等级标签进行匹配,所述第一路由表包括所述多个等级标签以及每个等级标签对应的端口标签;
    在所述目标等级标签与所述多个等级标签中的任意一个等级标签匹配的情况下,根据匹配得到的等级标签确定目标端口标签,所述目标端口标签用于标识POP的目标端口;
    控制所述POP将所述第一业务报文从所述目标端口发送至客户端。
  2. 根据权利要求1所述的方法,其特征在于,所述业务配置信息还包括服务器端口的端口号,所述获取第一业务报文,包括:
    接收所述服务器通过所述服务器端口发送的第二业务报文,所述第二业务报文为所述服务器响应于所述客户端发送的所述业务的业务请求而生成的报文;
    根据所述服务器端口的端口号给所述第二业务报文打上所述目标等级标签,得到所述第一业务报文。
  3. 根据权利要求1所述的方法,其特征在于,所述业务配置信息还包括服务器端口的端口号,所述获取第一业务报文,包括:
    将所述业务配置信息发送至所述服务器,以使得所述服务器根据所述服务器端口的端口号给第二业务报文打上目标等级标签,所述第二业务报文为所述服务器响应于所述客户端发送的所述业务的业务请求而生成的报文;
    接收所述服务器通过所述服务器端口发送的所述第一业务报文,所述第一业务报文为打上所述目标等级标签的所述第二业务报文。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述控制所述POP将所述第一业务报文从所述目标端口发送至客户端,包括:
    给所述第一业务报文打上所述目标端口标签;
    将打上所述目标端口标签的所述第一业务报文发送至所述POP,以使得所述POP根据所述目标端口标签将所述第一业务报文从所述目标端口发送至所述客户端。
  5. 根据权利要求4所述的方法,其特征在于,在将所述目标等级标签与第一路由表中的多个等级标签进行匹配之前,所述方法还包括:
    探测所述客户端隶属的网段在所述POP的多个端口下的网络性能,所述多个端口与多个互联网服务提供商ISP网络连接;
    根据所述业务所需的网络服务等级,从所述多个端口中选择M个端口,M为大于1的整数;
    确定所述M个端口中所述网段在所述目标端口下的网络性能最优;
    获得所述目标端口对应的所述目标端口标签,将所述目标端口标签与所述目标等级标签关联存储至所述第一路由表。
  6. 根据权利要求5所述的方法,其特征在于,在所述探测所述客户端隶属的网段在所述POP的多个端口下的网络性能之前,所述方法还包括:
    采集所述网段的流量,确定所述网段的流量大于阈值。
  7. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    在所述目标等级标签与所述多个等级标签均不匹配的情况下,根据第二路由表将所述第一业务报文转发至所述POP,其中,所述第二路由表包括下一跳地址,所述下一跳地址为所述POP的网际互联协议IP地址。
  8. 一种业务调度装置,其特征在于,包括:
    业务管理单元,用于接收用户输入的业务配置信息,所述业务配置信息包括业务所需的网络服务等级;
    转发单元,用于获取第一业务报文,所述第一业务报文携带了所述业务的内容和目标等级标签,所述目标等级标签用于标识所述业务所需的网络服务等级;将所述目标等级标签与第一路由表中的多个等级标签进行匹配,所述第一路由表包括所述多个等级标签以及每个等级标签对应的端口标签;在所述目标等级标签与所述多个等级标签中的任意一个等级标签匹配的情况下,根据匹配得到的等级标签确定目标端口标签,所述目标端口标签用于标识POP的目标端口;控制所述POP将所述第一业务报文从所述目标端口发送至客户端。
  9. 根据权利要求8所述的装置,其特征在于,所述业务配置信息还包括服务器端口的端口号,
    所述转发单元,用于接收所述服务器通过所述服务器端口发送的第二业务报文,所述第二业务报文为所述服务器响应于所述客户端发送的所述业务的业务请求而生成的报文;根据所述服务器端口的端口号给所述第二业务报文打上目标等级标签,得到所述第一业务报文。
  10. 根据权利要求8所述的装置,其特征在于,所述业务配置信息还包括服务器端口的端口号,
    所述业务管理单元,用于将所述业务配置信息发送至所述服务器,以使得所述服务器根据所述服务器端口的端口号给第二业务报文打上目标等级标签,所述第二业务报文为所述服务器响应于所述客户端发送的所述业务的业务请求而生成的报文;
    所述转发单元,用于接收所述服务器通过所述服务器端口发送的所述第一业务报文,所述第一业务报文为打上所述目标等级标签的所述第二业务报文。
  11. 根据权利要求8-10任一项所述的装置,其特征在于,
    所述转发单元,用于给所述第一业务报文打上所述目标端口标签,将打上所述目标端口标签的所述第一业务报文发送至所述POP,以使得所述POP根据所述目标端口标签将所述第一业务报文从所述目标端口发送至所述客户端。
  12. 根据权利要求11所述的装置,其特征在于,所述装置还包括数据采集单元,
    所述数据采集单元,用于探测所述客户端隶属的网段在所述POP的多个端口下的网络性能,所述多个端口与多个互联网服务提供商ISP网络连接;
    所述业务管理单元,还用于根据所述业务所需的网络服务等级,从所述多个端口中选择M个端口,M为大于1的整数;确定所述M个端口中所述网段在所述目标端口下的网络性能最优;获得所述目标端口对应的所述目标端口标签,将所述目标端口标签与所述目标等级标签关联存储至所述第一路由表。
  13. 根据权利要求12所述的装置,其特征在于,
    所述数据采集单元,还用于采集所述网段的流量;
    所述业务管理单元,还用于确定所述网段的流量大于阈值。
  14. 根据权利要求8所述的装置,其特征在于,
    所述转发单元,还用于在所述目标等级标签与所述多个等级标签均不匹配的情况下,根 据第二路由表将所述第一业务报文转发至所述POP,其中,所述第二路由表包括下一跳地址,所述下一跳地址为所述POP的网际互联协议IP地址。
  15. 一种计算设备,其特征在于,包括处理器和存储器,所述存储器存储计算机指令,所述处理器执行所述计算机指令,以使所述计算设备执行前述权利要求1-7任一项权利要求所述的方法。
  16. 一种计算机可读存储介质,其特征在于,存储有计算机指令,当所述计算机指令被计算设备执行时,所述计算设备执行前述权利要求1-7任一项权利要求所述的方法。
PCT/CN2022/116540 2021-10-18 2022-09-01 业务调度方法、装置、设备及计算机可读存储介质 WO2023065848A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111211896.4A CN115996188A (zh) 2021-10-18 2021-10-18 业务调度方法、装置、设备及计算机可读存储介质
CN202111211896.4 2021-10-18

Publications (1)

Publication Number Publication Date
WO2023065848A1 true WO2023065848A1 (zh) 2023-04-27

Family

ID=85992823

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/116540 WO2023065848A1 (zh) 2021-10-18 2022-09-01 业务调度方法、装置、设备及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN115996188A (zh)
WO (1) WO2023065848A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116455846A (zh) * 2023-06-14 2023-07-18 杭州海康威视数字技术股份有限公司 跨vlan网络获取设备信息的方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301244B1 (en) * 1998-12-11 2001-10-09 Nortel Networks Limited QoS-oriented one-to-all route selection method for communication networks
CN105337894A (zh) * 2014-06-24 2016-02-17 华为技术有限公司 一种为业务报文提供服务质量QoS的装置、系统和方法
CN109150576A (zh) * 2017-06-28 2019-01-04 华为技术有限公司 一种内容数据传输方法及设备
CN110177054A (zh) * 2019-05-22 2019-08-27 新华三技术有限公司 一种端口队列调度方法、装置、网络控制器及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301244B1 (en) * 1998-12-11 2001-10-09 Nortel Networks Limited QoS-oriented one-to-all route selection method for communication networks
CN105337894A (zh) * 2014-06-24 2016-02-17 华为技术有限公司 一种为业务报文提供服务质量QoS的装置、系统和方法
CN109150576A (zh) * 2017-06-28 2019-01-04 华为技术有限公司 一种内容数据传输方法及设备
CN110177054A (zh) * 2019-05-22 2019-08-27 新华三技术有限公司 一种端口队列调度方法、装置、网络控制器及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116455846A (zh) * 2023-06-14 2023-07-18 杭州海康威视数字技术股份有限公司 跨vlan网络获取设备信息的方法、装置及电子设备
CN116455846B (zh) * 2023-06-14 2023-11-14 杭州海康威视数字技术股份有限公司 跨vlan网络获取设备信息的方法、装置及电子设备

Also Published As

Publication number Publication date
CN115996188A (zh) 2023-04-21

Similar Documents

Publication Publication Date Title
US10348571B2 (en) Methods and apparatus for accessing dynamic routing information from networks coupled to a wide area network (WAN) to determine optimized end-to-end routing paths
US9461923B2 (en) Performance-based routing in software-defined network (SDN)
CN111682952B (zh) 针对体验质量度量的按需探测
US10148492B2 (en) Data center bridging network configuration and management
CN105991430B (zh) 跨多个自治网络系统的数据路由
JP4774357B2 (ja) 統計情報収集システム及び統計情報収集装置
US20050188073A1 (en) Transmission system, delivery path controller, load information collecting device, and delivery path controlling method
CN110178342A (zh) Sdn网络的可扩缩应用级别监视
CN105122748A (zh) 实现链路聚合组的对话敏感收集的方法和系统
JP2000049858A (ja) 通信システム
EP3449600A1 (en) A data driven intent based networking approach using a light weight distributed sdn controller for delivering intelligent consumer experiences
US10630579B1 (en) Ensuring separate paths for network traffic between source devices and a destination device
US10411742B2 (en) Link aggregation configuration for a node in a software-defined network
JP7313480B2 (ja) スライスベースネットワークにおける輻輳回避
WO2018028346A1 (zh) 用于访问网站的方法和装置
JP4041038B2 (ja) 高位レイヤ処理方法及びシステム
Xie et al. Supporting seamless virtual machine migration via named data networking in cloud data center
WO2018223825A1 (zh) 数据流的处理方法和设备
WO2023065848A1 (zh) 业务调度方法、装置、设备及计算机可读存储介质
JP7388533B2 (ja) ゲートウェイ装置、方法及びプログラム
US11336549B2 (en) Systems and methods for dynamically optimizing TCP flow in WAN networks
Mohammadi et al. Taxonomy of traffic engineering mechanisms in software-defined networks: a survey
Bays et al. Flow based load balancing: Optimizing web servers resource utilization
CA3227381A1 (en) Systems and methods for determining energy efficiency quotients
CN115622935A (zh) 基于网络的路径处理方法、系统和存储介质

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: 22882464

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022882464

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022882464

Country of ref document: EP

Effective date: 20240419

NENP Non-entry into the national phase

Ref country code: DE