WO2022218304A1 - 报文转发方法、装置及系统、计算机可读存储介质 - Google Patents

报文转发方法、装置及系统、计算机可读存储介质 Download PDF

Info

Publication number
WO2022218304A1
WO2022218304A1 PCT/CN2022/086359 CN2022086359W WO2022218304A1 WO 2022218304 A1 WO2022218304 A1 WO 2022218304A1 CN 2022086359 W CN2022086359 W CN 2022086359W WO 2022218304 A1 WO2022218304 A1 WO 2022218304A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
message
application service
service node
application
Prior art date
Application number
PCT/CN2022/086359
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 华为技术有限公司
Priority to EP22787527.5A priority Critical patent/EP4319310A1/en
Priority to BR112023020974A priority patent/BR112023020974A2/pt
Priority to JP2023563070A priority patent/JP2024514643A/ja
Publication of WO2022218304A1 publication Critical patent/WO2022218304A1/zh
Priority to US18/486,253 priority patent/US20240048477A1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/803Application aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/084Load balancing or load distribution among network function virtualisation [NFV] entities; among edge computing entities, e.g. multi-access edge computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/20Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a message forwarding method, device, and system, and a computer-readable storage medium.
  • the construction of wireless communication network is centered on the data center (DC).
  • DC data center
  • Each data center is managed by distributed cloud technology, forming a hierarchical network system of edge cloud and central cloud.
  • the application server (application server) provided by the data center for user equipment (UE) is deployed on each edge cloud, enabling application services to be deployed closer to the user equipment, reducing service latency and meeting latency-sensitive services. demand.
  • the infrastructure platform used to implement edge cloud deployment can be referred to as a mobile edge computing (MEC) site.
  • MEC mobile edge computing
  • the same application service is usually deployed on multiple MEC sites. Since different MEC sites work independently, for the same application service, the load of the application service on some MEC sites may be too heavy, while the resources of the application service on other MEC sites are idle.
  • computing first network (CFN) technology can be used to achieve load balancing of the same application service among multiple MEC sites.
  • CFN computing first network
  • the basic idea of the CFN technology is to perceive the computing power information of the application service deployed on the MEC site through the network, and schedule the tasks corresponding to the application service based on the computing power information of the same application service deployed on multiple MEC sites.
  • application service A is deployed on both MEC site 1 and MEC site 2.
  • the computing resources allocated by MEC site 1 to application service A are 2-core central processing units (CPU), and MEC site 2 to application service A. If the allocated computing resources are 1-core CPU, the tasks corresponding to application service A can be scheduled to MEC site 1 and MEC site 2 according to the 2:1 load sharing ratio.
  • the current task scheduling only considers the computing power information of the application services deployed on the MEC site, the MEC site cannot provide differentiated application services to different user equipments, and the task scheduling flexibility is low.
  • the present application provides a message forwarding method, device and system, and a computer-readable storage medium, which can solve the problem of low flexibility in current task scheduling.
  • a packet forwarding method includes: the first device receives a message sent by the second device, where the message includes indication information and an application service identifier.
  • the first device determines the target service node according to the indication information and the application service identifier, the service capability of the target service node matches the indication information, and the target application service corresponding to the application service identifier is deployed in the target service node.
  • the first device sends a message to the target service node.
  • the second device is a user equipment or a network device located between the user equipment and the first device.
  • the first device can send the packet to the application service corresponding to the application service identifier deployed , and the service node whose service capability matches the indication information realizes the provision of differentiated application services for devices of different levels, enables devices with different levels to enjoy application services that match the level, and improves packet forwarding. flexibility, thereby improving the flexibility of task scheduling.
  • the second device is a user equipment
  • the indication information includes a user service level corresponding to the second device
  • the first device stores the computing resource level and user level of application services deployed in multiple service nodes. Correspondence between service levels.
  • the first device determines the implementation process of the target service node according to the indication information and the application service identifier, including: the first device, based on the corresponding relationship, deploys the target application service, and the computing resource level of the target application service corresponds to the second device.
  • the service node whose service level matches is determined as the target service node.
  • the first device can Send the message to the service node where the application service is deployed and the computing resource level of the application service matches the user service level, so as to provide differentiated application services to user equipment of different user service levels, and forward the message
  • the flexibility is high, thereby improving the flexibility of task scheduling.
  • the indication information includes a computing resource level corresponding to the second device
  • the first device stores computing resource levels of application services deployed in multiple service nodes.
  • the first device determines the implementation process of the target service node according to the indication information and the application service identifier, including: the first device deploys the target application service, and the computing resource level of the target application service is the same as the computing resource level corresponding to the second device.
  • the service node is determined as the target service node.
  • the first A device can send the message to a service node where the application service is deployed and the computing resource level of the application service is the same as the computing resource level corresponding to the second device, so as to provide differentiated services to devices of different levels.
  • Application service the flexibility of packet forwarding is high, thus improving the flexibility of task scheduling.
  • the first device further receives a first message sent by multiple service nodes, where the first message includes the computing resource level of the application service deployed in the corresponding service node.
  • the first message is a border gateway protocol (border gateway protocol, BGP) update (update) message
  • BGP border gateway protocol
  • update update
  • the first message further includes the application service identifier of the application service deployed in the service node and the Internet Protocol IP address of the instance of the application service deployed in the service node.
  • the first message further includes an anycast IP address corresponding to the application service deployed in the service node.
  • the indication information includes computing resource requirement information of the second device.
  • the first device determines the implementation process of the target service node according to the indication information and the application service identifier, including: the first device deploys the target application service, and the computing power information of the target application service meets the requirements of the computing power resource requirement information of the second device.
  • the service node of the demand is determined as the target service node.
  • the first device can send the message to a service that meets the computing resource requirement of the second device.
  • differentiated application services are provided to devices with different computing resource requirements, which improves the flexibility of task scheduling.
  • the first device further receives a second message sent by the service node, where the second message includes computing power information of the application service deployed in the service node.
  • the computing power resource requirement information includes one or more of the required quantity of computing power resources, the maximum allowable computing power resource utilization rate, or the maximum allowable delay of request processing.
  • the computing power information of the application service includes the number of computing resources allocated by the application service, the computing resource utilization rate of the application service, the request processing delay of the application service, the number of device connections of the application service, or the heavy and light load status of the application service. one or more of.
  • the packet further includes the content requested to be processed.
  • the first device also receives the content-oriented processing result sent by the target computing node.
  • the first device sends the processing result to the second device.
  • the message is a computing request message, an online request message, or a storage request message.
  • the message is an IPv6 message
  • the indication information is carried in a hop-by-hop extension header or a segment routing header of the IPv6 message.
  • another packet forwarding method includes: a service node generates a first message, where the first message includes a computing resource level of an application service deployed in the service node.
  • the service node sends the first message to the first device.
  • the first message is a BGP update message
  • the computing resource level is carried in a routing attribute field in the BGP update message.
  • the first message further includes the application service identifier of the application service deployed in the service node and the Internet Protocol IP address of the instance of the application service deployed in the service node.
  • the first message further includes an anycast IP address corresponding to the application service deployed in the service node.
  • the service node further receives a message sent by the first device, where the message includes the content requested to be processed. After processing the content, the service node sends a processing result for the content to the first device.
  • a message forwarding apparatus applied to the first device, and the apparatus includes:
  • a receiving unit configured to receive a message sent by the second device, where the message includes indication information and an application service identifier
  • a processing unit configured to determine the target service node according to the indication information and the application service identifier, the service capability of the target service node matches the indication information, and the target application service corresponding to the application service identifier is deployed in the target service node;
  • the sending unit is used to send the message to the target service node.
  • the second device is user equipment
  • the indication information includes a user service level corresponding to the second device
  • the device stores a correspondence between the computing resource level of the application service deployed in the multiple service nodes and the user service level
  • the processing unit is configured to, based on the corresponding relationship, determine a service node where the target application service is deployed and the computing resource level of the target application service matches the user service level corresponding to the second device, as the target service node.
  • the indication information includes a computing resource level corresponding to the second device, and the device stores computing resource levels of application services deployed in multiple service nodes;
  • the processing unit is configured to determine a service node where the target application service is deployed and the computing resource level of the target application service is the same as the computing resource level corresponding to the second device, as the target service node.
  • the receiving unit is further configured to receive a first message sent by multiple service nodes, where the first message includes the computing resource level of the application service deployed in the corresponding service node.
  • the first message is a BGP update message
  • the computing resource level is carried in a routing attribute field in the BGP update message.
  • the first message also includes the application service identifier of the application service deployed in the service node and the Internet Protocol IP address of the instance of the application service deployed in the service node;
  • the first message further includes an anycast IP address corresponding to the application service deployed in the service node.
  • the indication information includes computing resource requirement information of the second device
  • the processing unit is configured to determine a service node where the target application service is deployed and the computing power information of the target application service meets the requirements indicated by the computing power resource requirement information of the second device as the target service node.
  • the receiving unit is further configured to receive a second message sent by the service node, where the second message includes computing power information of the application service deployed in the service node.
  • the computing power resource demand information includes one or more of the required quantity of computing power resources, the maximum allowable computing power resource utilization rate, or the maximum allowable delay of request processing;
  • the computing power information of the application service includes the number of computing resources allocated by the application service, the computing resource utilization rate of the application service, the request processing delay of the application service, the number of device connections of the application service, or the heavy and light load status of the application service. one or more of.
  • the message further includes the content of the request for processing
  • a receiving unit further configured to receive a processing result for the content sent by the target computing node
  • the sending unit is further configured to send the processing result to the second device.
  • the message is a computing request message, an online request message, or a storage request message.
  • the message is an IPv6 message
  • the indication information is carried in a hop-by-hop extension header or a segment routing header of the IPv6 message.
  • a message processing device which is applied to a service node, and the device includes:
  • a processing unit configured to generate a first message, where the first message includes the computing resource level of the application service deployed in the service node;
  • a sending unit configured to send the first message to the first device.
  • the first message is a BGP update message
  • the computing resource level is carried in a routing attribute field in the BGP update message.
  • the first message further includes the application service identifier of the application service deployed in the service node and the Internet Protocol IP address of the instance of the application service deployed in the service node;
  • the first message further includes an anycast IP address corresponding to the application service deployed in the service node.
  • the apparatus further includes: a receiving unit;
  • a receiving unit configured to receive a message sent by the first device, where the message includes the content requested to be processed
  • the sending unit is further configured to send a processing result for the content to the first device after the processing unit processes the content.
  • a device including: a processor and a memory;
  • the memory for storing a computer program, the computer program including program instructions
  • the processor is configured to invoke the program instruction to implement the packet forwarding method according to any one of the first aspect.
  • a service node including: a processor and a memory;
  • the memory for storing a computer program, the computer program including program instructions
  • the processor is configured to invoke the program instructions to implement the packet forwarding method according to any one of the second aspect.
  • a seventh aspect provides a message forwarding system, the system includes: a first device and at least one service node, the first device includes the device according to any one of the third aspect, and the service node includes any one of the fourth aspect. said device.
  • a computer-readable storage medium is provided, and instructions are stored on the computer-readable storage medium, and when the instructions are executed by the processor of the device, the message according to any one of the first aspect is implemented.
  • a chip in a ninth aspect, includes a programmable logic circuit and/or program instructions, and when the chip is running, the method for forwarding a message as described in any one of the first aspect or as described in any one of the second aspect is implemented. message forwarding method.
  • a tenth aspect provides a computer program product, including a computer program, which, when executed by a processor, implements the packet forwarding method described in any one of the first aspect or any one of the second aspect. Packet forwarding method.
  • FIG. 1 is a schematic diagram of an application scenario involved in a packet forwarding method provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of a deployment architecture of a computing power priority network provided by an embodiment of the present application
  • FIG. 3 is a schematic structural diagram of a hierarchical network system of an edge cloud and a central cloud provided by an embodiment of the present application;
  • FIG. 4 is a schematic flowchart of a message forwarding method provided by an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a first message obtained by extending a BGP update message according to an embodiment of the present application
  • FIG. 6 is a schematic structural diagram of another first message obtained based on the BGP update message extension provided by an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a BGP message field for revoking a route provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a hop-by-hop extension header obtained based on the next header extension of the IPv6 header provided by an embodiment of the present application;
  • FIG. 9 is a schematic structural diagram of a first device provided by an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of another first device provided by an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of another first device provided by an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of still another first device provided by an embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of a service node provided by an embodiment of the present application.
  • FIG. 14 is a schematic structural diagram of another service node provided by an embodiment of the present application.
  • FIG. 15 is a schematic structural diagram of another service node provided by an embodiment of the present application.
  • FIG. 16 is a schematic structural diagram of still another service node provided by an embodiment of the present application.
  • FIG. 17 is a schematic structural diagram of a message forwarding system provided by an embodiment of the present application.
  • FIG. 1 is a schematic diagram of an application scenario involved in a packet forwarding method provided by an embodiment of the present application.
  • the application scenario includes: user equipment 101, network devices 102A-102C (collectively referred to as network devices 102), and service nodes 103A-103C (collectively referred to as service nodes 103).
  • the user equipment 101 is a device deployed on the user side
  • the network device 102 and the service node 103 may be devices deployed on the application service provider side
  • the user equipment 101 and the network device 102 communicate through the operator network.
  • the network device 102 may be a device deployed on the operator side, that is, the network device 102 may be a device in the operator network, and the service node 103 may be a device deployed on the application service provider side.
  • both the network device 102 and the service node 103 may be devices deployed on the operator side.
  • the number and connection manner of each device in FIG. 1 are only used for exemplary description, and are not intended to limit the application scenarios involved in the methods provided in the embodiments of the present application.
  • a client is installed on the user equipment 101 .
  • the user equipment 101 can initiate a request based on the client installed thereon to enjoy the corresponding application service.
  • application services refer to: services provided to user equipment through various types of applications (application, APP), such as computing processing services (especially intensive computing services), application online services, content storage services, etc. .
  • the network device 102 may be a router, a switch, a gateway (GW), or the like.
  • the network devices 102 can be divided into network devices 102A close to the user equipment 101 and network devices 102B and 102C far away from the user equipment 101 .
  • the network device 102A close to the user equipment 101 may be used as a scheduling node for, after receiving a packet from the user equipment 101, determine a target service node that processes the packet, and send the packet to the target service node.
  • the network device 102A close to the user equipment 101 may also be referred to as an entry node for connecting the user equipment 101 to the application service provider network.
  • other network devices 102 on the application service provider side may also be used as scheduling nodes, which are not limited in this embodiment of the present application.
  • the network device 102 has computing power perception capability, and can perceive the computing capability of the application service deployed in the service node 103 .
  • the application service provider network is also the computing power priority network.
  • FIG. 2 is a schematic diagram of a deployment architecture of a computing power priority network provided by an embodiment of the present application.
  • the computing power priority network includes network devices 0-N, network device 0 is connected to user equipment through the operator network, network device 0 is also connected to network devices 1-N respectively, network device 1 -N is connected to a service node respectively, N is an integer greater than 1.
  • This embodiment of the present application does not limit the deployment mode of the computing power priority network.
  • the service node 103 may be deployed in one server or in a server cluster composed of multiple servers.
  • the service node 103 is used to provide a service platform for the application.
  • At least one instance is deployed in each service node 103 , and the instance is used to provide application services for the user equipment 101 .
  • An instance refers to a specific application where an application service is deployed on different service nodes. Therefore, an application service can correspond to multiple instances.
  • the application service may be deployed on multiple service nodes 103 in a distributed manner. For example, in the application scenario shown in FIG. 1 , the first instance is deployed in the service node 103A, the second instance is deployed in the service node 103B, and the third instance is deployed in the service node 103C. The first instance, the second instance The instance and the third instance are instances of the same application service (target application service).
  • the application service is deployed in the service node, that is, the instance of the application service is deployed in the service node.
  • Different service nodes 103 may be configured with computing resources and storage resources of different scales (which may be collectively referred to as computing resources).
  • the computing resources include CPU resources and/or graphics processing unit (graphics processing unit, GPU) resources, etc.
  • the storage resources include memory resources and/or disk resources, and the like.
  • the computing resources allocated for the same application service may be different. For example, the first instance in the service node 103A is assigned a 2-core CPU, the second instance in the service node 103B is assigned a 4-core CPU, and the third instance in the service node 103C is assigned a 1-core CPU.
  • the service node 103 may store the application service identifier of the application service deployed in the service node 103 .
  • the application service identifier is used to uniquely identify the corresponding application service to distinguish different application services.
  • an application service identifier that can uniquely identify the application service may be uniformly allocated to each application service.
  • the application service identifier may be in the form of an Internet Protocol (Internet Protocol, IP) address, or may also be in other forms, which are not limited in this embodiment of the present application.
  • IP Internet Protocol
  • An instance of each application service also has an instance ID.
  • the instance identifier is used to uniquely identify the corresponding instance to distinguish different instances of the same application service. That is, different instances of the same application service have the same application service identifier but different instance identifiers.
  • the instance identifier may be in the form of the IP address of the instance, or may also be in other forms, which are not limited in this embodiment of the present application. It should be noted that, when both the application service identifier and the instance identifier are in the form of IP addresses, the sender and/or the receiver can distinguish the two through different fields in the message.
  • the sender and the receiver mutually agree that the first field of the message is the application service identifier, and the second field is the instance identifier
  • the sender sends a message to the receiver, it can use the first field of the message in the message.
  • the field sets the IP address of the application service
  • the second field of the packet sets the IP address of the instance.
  • the receiving end can parse out the IP address of the application service and the IP address of the instance from the corresponding fields.
  • the network device 102 may be a data center gateway, and the service node 103 may be deployed on the edge cloud, for example, the service node 103 may be an MEC site.
  • FIG. 3 is a schematic structural diagram of a hierarchical network system of an edge cloud and a central cloud provided by an embodiment of the present application.
  • the cloud deployment scenario shown in FIG. 3 corresponds to the application scenario shown in FIG. 1 , wherein the network device 102 in FIG. 1 is mapped as the data center gateway (DCGW) in FIG. 3 , and the service node 103 in FIG. 1 is mapped as The edge cloud or central cloud in Figure 3.
  • DCGW data center gateway
  • the user service level can be divided into gold users, silver users, bronze users and ordinary users from high to low. The higher the user service level, the better the application service the user should enjoy.
  • the current task scheduling only considers the computing power information of the application service deployed on the service node, and the tasks under different user service levels are treated equally and cannot be targeted for different User service level provides differentiated application services for different users.
  • FIG. 4 is a schematic flowchart of a packet forwarding method provided by an embodiment of the present application. The method can be applied to any of the application scenarios shown in FIG. 1 to FIG. 3 . As shown in Figure 4, the method includes:
  • Step 401 The second device sends a message to the first device, where the message includes indication information and an application service identifier.
  • the first device is a network device for forwarding packets, for example, the network device 102A shown in FIG. 1 , the network device 0 shown in FIG. 2 , or the DCGW shown in FIG. 3 .
  • the second device is user equipment, such as user equipment 101 shown in FIG. 1 .
  • the second device may also be a device located between the user equipment and the first device. The second device sends the packet to the first device, and the second device may directly send the packet to the first device, or the second device may indirectly send the packet to the first device through another device.
  • the indication information in the message is used to indicate the service capability required by the service node that processes the message.
  • the service capability of the service node is measured by the granularity of the application service.
  • the service capability of the service node for an application service may be determined based on the computing power information of the application service deployed in the service node.
  • the computing power information of the application service deployed in the service node includes the number of computing power resources allocated by the application service, the computing power resource utilization rate of the application service, the request processing delay of the application service, and the equipment of the application service. One or more of the number of connections or the heavy and light load status of this application service.
  • the number of computing resources allocated by the application service may include the number of CPU cores and/or the number of GPU cores allocated to the application service in the service node, etc.
  • the service node allocates 2 Core CPU, 4 core GPU.
  • the computing resource utilization rate of the application service may include the utilization rate of the CPU and/or the utilization rate of the GPU, etc. allocated by the service node to the application service.
  • the request processing delay of the application service may include the average processing delay, the maximum processing delay and/or the minimum processing delay of the message in a certain period of time by the instance of the application service in the service node.
  • the number of device connections of the application service refers to the number of terminals accessing the application service in the service node, and the terminals accessing the application service in the service node are served by the instance of the application service in the service node.
  • the heavy and light load status of the application service is used to indicate whether the instance of the application service in the service node is in the heavy load state or the light load state.
  • the indication information includes a user service level corresponding to the second device, a computing resource level corresponding to the second device, or computing resource requirement information of the second device.
  • the application service identifier in the packet is used to indicate the application service requested to be accessed by the packet.
  • the packet further includes the content of the request for processing.
  • the packet is a calculation request packet, the calculation request packet includes the content to be calculated, and the calculation request packet is used for requesting to perform calculation processing on the content contained in the calculation request packet.
  • the message is an online request message, the online request message includes authentication information, and the online request message is used to request the application to go online.
  • the message is a storage request message, the storage request message includes the content to be stored, and the storage request message is used to request that the included content be stored in the service node.
  • the message may also be another service message, and the embodiment of the present application does not limit the type of the message.
  • Step 402 The first device determines a target service node according to the indication information and the application service identifier.
  • the service capability of the target service node matches the indication information, and the target application service corresponding to the application service identifier is deployed in the target service node. That is, the target service node is a service node where the target application service corresponding to the application service identifier is deployed, and the service capability of the target application service matches the indication information.
  • Step 403 The first device sends the message to the target service node.
  • the first device sends the message to the target service node, which may be the first device to directly send the message to the target service node.
  • the first device is the network device 102A
  • the target service node is If the service node 103A is used, the network device 102A directly sends the message to the service node 103A.
  • the first device sends a message to the target service node, or the first device sends a message to the target service node indirectly through other devices.
  • the first device is a network device 102A
  • the target service node is the service node 103B
  • the network device 102A indirectly sends the message to the service node 103A through the network device 102B.
  • the message includes content requested to be processed.
  • the target service node may also perform the following steps 404 to 405 .
  • Step 404 The target service node processes the content of the request processing contained in the packet.
  • the packet is a calculation request packet
  • the target service node processes the content in the packet, which may be to calculate the content to be calculated in the calculation request packet.
  • the message is an online request message
  • the target service node processes the content of the message, and may perform application online authentication based on the authentication information in the online request message.
  • the message is a storage request message, and the target service node processes the content in the message, which may be to store the content to be stored in the storage request message.
  • Step 405 The target service node sends the processing result for the content to the first device.
  • the packet sent by the first device to the target service node is a calculation request packet, and the processing result may be a calculation result.
  • the message sent by the first device to the target service node is an online request message, and the processing result may be an indication for indicating whether to allow the application to go online.
  • the message sent by the first device to the target service node is a storage request message, and the processing result may be a storage success indication or a storage failure indication.
  • Step 406 The first device sends the processing result to the second device.
  • the first device by carrying the indication information and the application service identifier in the packet sent by the second device, after receiving the packet, the first device can send the packet to the device where the application service identifier is deployed.
  • the service node that applies the service and the service capability matches the indication information realizes the provision of differentiated application services for devices of different levels, so that devices with different levels can enjoy the application services that match the level, which improves reporting.
  • the flexibility of text forwarding improves the flexibility of task scheduling.
  • the present application further describes the implementation process of the foregoing message forwarding method in the following three optional embodiments respectively.
  • the second device is a user equipment
  • the indication information in the packet includes a user service level corresponding to the second device
  • the first device stores the deployment of multiple service nodes.
  • the implementation process of the above step 402 includes: based on the corresponding relationship, the first device determines the service node that is deployed with the target application service and the computing resource level of the target application service matches the user service level corresponding to the second device as target service node.
  • the number of user service levels divided for different users may be the same as the number of computing resource levels divided for different service nodes, and multiple user service levels are in one-to-one correspondence with multiple computing resource levels.
  • the user service levels include gold, silver, bronze and ordinary
  • the computing resource levels include L1, L2, L3, and L4.
  • L1 corresponds to gold
  • L2 corresponds to silver
  • L3 corresponds to bronze
  • L4 corresponds to ordinary, that is Yes
  • gold medal users correspond to L1 level application services
  • silver medal users correspond to L2 level application services
  • bronze medal users correspond to L3 level application services
  • ordinary users correspond to L4 level application services.
  • the number of user service levels divided for different users may be different from the number of computing resource levels divided for different service nodes, and one user service level may correspond to one computing resource level, or multiple The user service level may correspond to one computing resource level, or, one user service level may correspond to multiple computing resource levels.
  • the user service levels include gold, silver, bronze and ordinary
  • the computing resource levels include L1, L2, and L3, where L1 corresponds to gold, L2 corresponds to silver, and L3 corresponds to bronze and ordinary, that is, gold users Corresponding to L1-level application services, silver users correspond to L2-level application services, and bronze users and ordinary users correspond to L3-level application services.
  • Table 1 shows the correspondence between the computing resource level of the application service deployed in the multiple service nodes stored in the first device and the user service level.
  • the first device may determine service node 2 as the target service node.
  • the first device by dividing the computing resource level of the same application service deployed in multiple service nodes, and carrying the user service level corresponding to the user equipment in the message sent by the user equipment, the first device The message can be sent to the service node where the application service is deployed and the computing resource level of the application service matches the user service level, so as to provide differentiated application services to user equipment of different user service levels.
  • the forwarding flexibility is high, thereby improving the flexibility of task scheduling.
  • the indication information in the message includes a computing resource level corresponding to the second device, and the first device stores computing resources of application services deployed in multiple service nodes grade.
  • the implementation process of the above step 402 includes: the first device determines a service node that is deployed with the target application service and has the same computing resource level as the computing resource level corresponding to the second device as the target service node.
  • Table 2 shows the computing resource levels of application services deployed in multiple service nodes stored in the first device.
  • the first device may determine service node 2 as the target service node.
  • the first device can send the message to a service node where the application service is deployed and the computing resource level of the application service is the same as the computing resource level corresponding to the second device, so as to provide differentiated services to devices of different levels It provides high flexibility in packet forwarding, thus improving the flexibility of task scheduling.
  • the first device before the first device determines the target service node according to the indication information and the application service identifier in the message, the first device also receives the data sent by multiple service nodes. A first message, where the first message includes the computing resource level of the application service deployed in the corresponding service node. Then, the first device determines a target service node among the plurality of service nodes according to the indication information and the application service identifier in the message.
  • the computing resource level of the application service deployed in the service node is determined by the operation and maintenance personnel.
  • Operation and maintenance personnel can manage multiple service nodes in a unified manner through controllers or network management devices, and assign computing resource levels to the application services deployed in each service node.
  • the closer to the service node of the first device (scheduling node) the higher the level of computing resources allocated by the operation and maintenance personnel to the application service deployed therein.
  • the operation and maintenance personnel can also consider the deployment location of the service node. For example, more computing power can be allocated to the application service in the service node that is closer to the first device.
  • the higher the computing resource level of the application service deployed in the service node the closer the service node is to the user and the more computing resources are allocated to the instance of the application service deployed in the service node.
  • high concurrency scenarios can also be considered, so that the ratio of the computing resources allocated to the instance of the application service with the higher computing resource level to the peak number of user equipments accessing the instance is larger, that is, the instance that the user equipment accesses.
  • the higher the computing power resource level of the user equipment the more the minimum average computing power resources that can be allocated to the user equipment, so as to ensure that user equipment with a high user service level can enjoy more computing power resources in high concurrency scenarios.
  • redundant computing resources may be allocated to the instance with the highest computing resource level on the service node of the same application service, so as to fully guarantee the service quality of high-level users and make them meet the promised service level agreement (service level agreement).
  • level agreement, SLA service level agreement
  • Table 3 shows the computing resource levels of multiple application services deployed in a service node.
  • the first message is a BGP update message.
  • the computing resource level of the application service deployed in the service node is carried in the route attribute (path attributes) field in the BGP update message.
  • FIG. 5 and FIG. 6 are respectively schematic structural diagrams of a first message obtained by extending a BGP update message based on an embodiment of the present application.
  • the BGP update message includes an Ethernet header (Ethernet header), an IP header (IP header), a Transmission Control Protocol (Transmission Control Protocol, TCP) header (TCP header), BGP data Packet and frame check sequence (FCS).
  • the BGP data packet includes a BGP header and a BGP message field.
  • the BGP header includes a maker field, a length field, and a type field (not shown in the figure).
  • FIG. 5 shows the format of a BGP message field for publishing routes defined in a request for comments (RFC) (abbreviation: RFC 4271) document numbered 4271.
  • the BGP message fields include a withdrawn routes length field, an withdrawn routes field, a total path attribute length field, a route attribute field, and a network layer field.
  • Figure 6 shows the format of the BGP message field for publishing routes as defined in the RFC 4760 document.
  • the BGP message field includes an address family identifier (address family identifier) field, a subsequent address family identifier (subsequent address family identifier) field, and a next hop network address length (length of next hop network address) field. , the next hop network address field, the reserved field, the NLRI field, and the routing attribute field.
  • the communication scenario in the embodiments of the present application is not a virtual private network (virtual private network, VPN) scenario, and the interactive routing and next hop information between different devices are all internet protocol version 4 (IPv4) type
  • IPv4 internet protocol version 4
  • the computing resource level of the application service deployed in the service node may be coded by a type-length-value (TLV) or type-value (TV) and carried in the routing attribute field.
  • TLV type-length-value
  • TV type-value
  • it can be extended in the routing attribute field: a flag field with a length of 1 byte, a type field with a length of 1 byte, a length field with a length of 1 byte, and a length field with a length of 1 byte.
  • a payload (value) field with a length of 1 byte. This flag bit field is used to mark routing attributes.
  • the payload field is used to carry the computing resource level.
  • the type field is used to indicate that the content carried by the payload field is the computing resource level.
  • the first message further includes the application service identifier of the application service deployed in the service node and the IP address of the instance of the application service deployed in the service node. That is, the first message may include the application service identifier of the application service deployed in the service node, the IP address of the instance of the application service deployed in the service node, and the computing power of the application service deployed in the service node. resource level. Since the IP addresses of the instances of the same application service deployed in different service nodes are different, combined with the application service identifier, it is possible to distinguish which application service the instance under the IP address specifically provides, and realize the directional addressing function.
  • the application service identifier of the application service deployed in the service node is carried in the routing attribute field in the BGP update message, and the IP address of the instance of the application service deployed in the service node is carried in the NLRI field in the BGP update message.
  • the application service identifier of the application service deployed in the service node may be encoded in TLV or TV and borne in the routing attribute field. For example, it can be extended in the routing attribute field: a flag field with a length of 1 byte, a type field with a length of 1 byte, a length field with a length of 1 byte, and a payload field with a length of 4 bytes . This flag bit field is used to mark routing attributes.
  • the payload field is used to carry the application service identifier.
  • the type field is used to indicate that the content carried by the payload field is the application service identifier.
  • the first message further includes an anycast IP address corresponding to the application service deployed in the service node. That is, the first message may include the anycast IP address corresponding to the application service deployed in the service node and the computing resource level of the application service deployed in the service node.
  • the anycast IP addresses corresponding to different application services are different, and the anycast IP addresses corresponding to instances of the same application service deployed in different service nodes are the same.
  • the anycast IP address corresponding to the application service deployed in the service node is carried in the NLRI field in the BGP update message.
  • the service node may also send a route revocation instruction to the first device, where the route revocation instruction includes the anycast IP address corresponding to the application service to be revoked,
  • the route withdrawal indication is used to instruct the service node to no longer provide the application service.
  • the message type of the route withdrawal indication may be a BGP update message.
  • the route withdrawal instruction may use the BGP update message defined in the RFC 4760 document, and the anycast IP address of the application service to be withdrawn may be carried in the withdrawn routes field of the BGP message.
  • FIG. 7 is a schematic structural diagram of a BGP message field for revoking a route provided by an embodiment of the present application.
  • the BGP message fields include an address family identifier field, a subsequent address family identifier field, and a withdraw route field.
  • the route revocation instruction can also use the BGP update message defined in the RFC 4271 document (as shown in Figure 5), and the anycast IP address of the application service to be revoked can be carried in the unreachable route field of the BGP message.
  • the first device may further generate a routing table entry.
  • the first message includes the application service identifier of the application service deployed in the service node, the IP address of the instance of the application service deployed in the service node, and the application service deployed in the service node.
  • the routing table entry generated by the first device may be as shown in Table 4.
  • the computing power value is a measure of the computing power of the instance.
  • the computing power measure value of an instance may be a fusion value calculated based on computing power indicators such as the CPU usage rate, GPU usage rate, and/or number of device connections of the instance.
  • the magnitude of the computing power of the instance is positively correlated with the CPU usage of the instance, positively correlated with the GPU usage of the instance, and positively correlated with the number of device connections of the instance.
  • the smaller the computing power of the instance the lower the load of the instance.
  • the first device When the first device selects the target service node for sending the message, if there are multiple service nodes that satisfy the forwarding condition, the first device may perform load balancing on the multiple service nodes according to the computing power value of the instance. For example, referring to Table 4, assuming that the message sent by the second device includes the computing power resource level "L2" and the application service identifier "application service A", and both service node 2 and service node 3 meet the forwarding conditions, the first device can compare The size of the computing power measurement value m12 of the instance of application service A in service node 2 and the computing power measurement value m13 of the instance of application service A in service node 3, if m12 ⁇ m13, the first device determines service node 2 as the target service node.
  • the first device may calculate the computing power magnitude value of the instance of the application service in the service node.
  • the above routing table entry may not include a computing power value, which is not limited in this embodiment of the present application.
  • the first device determines the calculation corresponding to the user service level based on Table 1 after receiving the message sent by the second device. and then send the message to the target service node based on the routing table entry shown in Table 4.
  • Table 1 and Table 4 may be stored separately in the first device, or Table 1 and Table 4 may be stored in combination.
  • the indication information in the packet includes the computing resource level corresponding to the second device, after receiving the packet sent by the second device, the first device sends the packet to the target service node based on the routing table entry shown in Table 4 .
  • the first message includes the anycast IP address corresponding to the application service deployed in the service node and the computing resource level of the application service deployed in the service node, and the routing table entry generated by the first device. can be shown in Table 5.
  • the next hop refers to the next device to which the packet whose destination IP address is the corresponding anycast IP address needs to be forwarded.
  • the next hop of the first device may be connected to multiple service nodes that deploy application services corresponding to the application service identifier in the packet. After receiving the packet, the next hop may continue to follow the instructions in the packet. and the application service identifier to determine the next hop until the packet reaches the service node.
  • the device between the first device and the service node may also store routing table entries such as those shown in Table 5, and details are not described herein again in this embodiment of the present application.
  • the first device determines the calculation corresponding to the user service level based on Table 1 after receiving the message sent by the second device. resource level, and then send the packet to the next hop based on the routing table entry shown in Table 5.
  • Table 1 and Table 5 may be stored separately in the first device, or Table 1 and Table 5 may be stored in combination.
  • the indication information in the packet includes the computing resource level corresponding to the second device
  • the first device after receiving the packet sent by the second device, the first device sends the packet to the following device based on the routing entries shown in Table 5.
  • the destination IP address in the packet sent by the second device is the anycast IP address corresponding to the target application service.
  • the anycast IP address of the target application service can also be used as the application service identifier of the target application service.
  • the indication information in the packet includes computing resource requirement information of the second device.
  • the implementation process of the above step 402 includes: the first device determines the service node that is deployed with the target application service and the computing power information of the target application service meets the demand indicated by the computing power resource demand information of the second device as the target service node. .
  • the computing power resource requirement information includes one or more of the required quantity of computing power resources, the maximum allowable computing power resource utilization rate, or the maximum allowable delay of request processing.
  • the computing resource requirement information of the second device includes an 8-core CPU and the CPU utilization rate does not exceed 50%
  • the number of CPU cores allocated by the second device to the deployed target application service is not less than 8 cores and the utilization rate of the CPU is not less than 8 cores. No more than 50% of service nodes are determined as target service nodes.
  • the first device stores computing power information of application services deployed in multiple service nodes.
  • the first device may first determine, according to the application service identifier in the message, among multiple service nodes, a service node to be selected where the target application service corresponding to the application service identifier is deployed, Then, a service node whose computing power information of the target application service deployed in the service node to be selected meets the requirements indicated by the computing power resource requirement information in the message is determined as a target service node.
  • only high-level devices can be set to carry computing resource demand information in the sent message, and low-level devices can be set to not carry computing resource demand information in sent messages, so that the first device can Send packets from high-level devices to service nodes that meet the computing resource requirements of the device, and use load balancing to send packets from low-level devices to service nodes.
  • Computational resources are used to process packets from higher-level devices and best-effort processing of packets from lower-level devices.
  • the first device can send the message to a device that meets the computing resource requirement of the second device.
  • differentiated application services are provided to devices with different computing resource requirements, which improves the flexibility of task scheduling.
  • the first device before the first device determines the target service node according to the indication information and the application service identifier in the message, the first device further receives second messages sent by multiple service nodes, the second message Including the computing power information of the application service deployed in the corresponding service node. Then, the first device determines a target service node among the plurality of service nodes according to the indication information and the application service identifier in the message.
  • the service node periodically sends the computing power information of each application service deployed in the service node to the first device. Or, whenever the computing power information of the application service deployed by the service node changes, the service node sends the changed computing power information of the application service to the first device.
  • the second message further includes the application service identifier of the application service deployed in the service node and the IP address of the instance of the application service deployed in the service node.
  • the second message further includes the anycast IP address corresponding to the application service deployed in the service node.
  • the first device may further generate a routing table entry.
  • the first device When the second message includes the application service identifier of the application service deployed in the service node, the IP address of the instance of the application service deployed in the service node, and the computing power information of the application service deployed in the service node, the first device generates
  • the routing table entry can be as shown in Table 6.
  • the first device After the first device receives the message sent by the second device, it determines which service node provides which application service according to the computing resource requirement information and the application service identifier in the message, and then sends the message to the service node based on the routing table entries shown in Table 6. The corresponding IP address sends the packet.
  • the routing table entry generated by the first device may be as shown in Table 7 .
  • IP1 IP3.1 m11 service node 2 IP1 (application service A) IP3.1 m12 service node 3 IP1 (application service A) IP3.2 m13 service node 1 IP2 (App Service B) IP4.1 m21 service node 2 IP2 (App Service B) IP5.1 m22 ... ... ... ... ...
  • the first device After the first device receives the message sent by the second device, it determines which service node provides which application service according to the computing resource requirement information and the application service identifier in the message, and then uses the routing table entries shown in Table 7 to determine which application service is provided.
  • the packet is sent to the next hop.
  • the destination IP address in the packet sent by the second device is the anycast IP address corresponding to the target application service.
  • the anycast IP address of the target application service can also be used as the application service identifier of the target application service.
  • the message sent by the second device is an IPv6 message
  • the indication information may be carried in a hop by hop extension header or a segment routing header (Segment Routing Header, SRH) of the IPv6 message.
  • the indication information can be encoded in TLV or TV and carried in the hop-by-hop extension header or SRH.
  • the next header field of the IPv6 header can be extended to carry the hop-by-hop extension header.
  • FIG. 8 is a structure of a hop-by-hop extension header based on the next header extension of the IPv6 header provided by the embodiment of the present application. Schematic.
  • the hop-by-hop extension header includes the next header, a header extend length field, an option type field, an optional data length field, and an optional data field. (option data) field and padding field.
  • the length of the next header is 1 byte
  • the length of the header extension length field is 1 byte
  • the length of the optional type field is 1 byte
  • the length of the optional data length field is 1 word section
  • the length of the optional data field is 1 byte
  • the length of the padding field is variable. Indicative information may be carried in optional data fields.
  • the second device carries the user service level in the sent packet.
  • the first device schedules the packet to the service node in a load balancing manner, and the service node uses the user service level carried in the packet.
  • the packets in the service node are processed in the order of user service level from high to low, that is, the service node has a higher priority for processing packets from user equipment with high user service
  • the processing priority of the packets of the user equipment of different user service levels is low, which realizes the differential processing of the packets from the user equipment of different user service levels, and further realizes the provision of differentiated application services to the user equipment of different user service levels.
  • the embodiments of the present application will not be repeated here.
  • FIG. 9 is a schematic structural diagram of a first device provided by an embodiment of the present application, which can implement the functions of the first device in the embodiment shown in FIG. 4 .
  • the first device 900 includes: a receiving unit 901 , a processing unit 902 and a sending unit 903 . These units may perform corresponding functions of the first device in the above method embodiments.
  • the receiving unit 901 is used to support the first device to perform steps 401 (receive the message sent by the second device) and step 405 (receive the processing result of the content requested in the message sent by the target service node) in FIG. 4 .
  • the receiving unit 901 is configured to perform various information reception performed by the first device in the above method embodiments
  • the processing unit 902 is configured to perform other processing except the information sending and receiving actions by the first device in the above method embodiments
  • sending The unit 903 is configured to perform various information sending performed by the first device in the foregoing method embodiments.
  • the receiving unit 901 is configured to receive a packet sent by the second device, where the packet includes indication information and an application service identifier.
  • the processing unit 902 is configured to determine a target service node according to the indication information and the application service identifier, the service capability of the target service node matches the indication information, and the target application service corresponding to the application service identifier is deployed in the target service node.
  • the sending unit 903 is configured to send a message to the target service node.
  • each functional unit in the embodiments of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the receiving unit and the transmitting unit may be the same unit, or may be different units.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • FIG. 10 shows another possible schematic structural diagram of the first device involved in the above embodiment.
  • the first device 1000 can also implement the functions of the first device in the embodiment shown in FIG. 4 .
  • the first device 1000 includes: a storage unit 1001 , a processing unit 1002 and a communication unit 1003 .
  • the communication unit 1003 is used to support the communication between the first device 1000 and other network entities, such as the communication with the second device or the service node shown in FIG. 4 , for example, the communication unit 1003 is used to support the first device 1000 Step 401 , step 403 , step 405 and step 406 in FIG. 4 are performed.
  • the processing unit 1002 is configured to control and manage the actions of the first device 1000, for example, the processing unit 1002 is configured to support the first device 1000 to perform step 402 in FIG. other processes.
  • the storage unit 1001 is used for storing program codes and data of the first device 1000 .
  • For the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 4 , which will not be repeated here.
  • the processing unit 1002 may be a processor, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (application-specific integrated circuit, ASIC), field programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logical blocks, modules and circuits described in connection with the disclosure of the embodiments of this application.
  • the processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.
  • the communication unit 1003 may be a transceiver, and the storage unit 1001 may be a memory.
  • the processing unit 1002 is a processor
  • the communication unit 1003 is a transceiver
  • the storage unit 1001 is a memory
  • the first device involved in this embodiment of the present application may be the first device 1100 shown in FIG. 11 .
  • the first device 1100 includes: a processor 1102 , a transceiver 1103 , a memory 1101 and a bus 1104 .
  • the processor 1102, the transceiver 1103 and the memory 1101 are connected to each other through a bus 1104; the bus 1104 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus Wait.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, only one thick line is used in FIG. 11, but it does not mean that there is only one bus or one type of bus.
  • the first device 1100 may implement the functions of the first device in the embodiment shown in FIG. 4 .
  • the processor 1102 and the transceiver 1103 may perform the corresponding functions of the first device in the above method examples.
  • the transceiver 1103 is used to support the first device 1100 to perform steps 401, 403, 405 and 406 in FIG. 4 .
  • the processor 1102 is configured to support the first device 1100 to perform step 402 in FIG. 4, and/or other processes performed by the first device in the techniques described herein.
  • the memory 1101 is used to store program codes and data of the first device 1100 .
  • For the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 4 , which will not be repeated here.
  • FIG. 12 is a schematic structural diagram of still another first device provided by an embodiment of the present application.
  • the first device 1200 may be a router, a switch, a gateway, or a network device with a forwarding function, and the network device 1200 can implement the functions of the first device in the foregoing method embodiments.
  • the first device 1200 includes: a main control board 1201 and an interface board 1202 .
  • the main control board 1201 includes: a processor 1203 and a memory 1204 .
  • the interface board 1202 includes: a processor 1205, a memory 1206 and an interface card 1207.
  • the main control board 1201 and the interface board 1202 are coupled.
  • the memory 1206 can be used to store the program code of the interface board 1202, and the processor 1205 can be used to call the program code in the memory 1206 to trigger the interface card 1207 to execute the first method in the above method embodiment.
  • a device performs various information reception and transmission.
  • the processor 1205 invokes the program code in the memory 1206 to trigger the interface card 1207 to support the first device 1200 to perform steps 401, 403, 405 and 406 in FIG. 4 .
  • the processor 1205 is further configured to send the service identifier to the main control board 1201 .
  • the memory 1204 can be used to store program codes of the main control board 1201, and the processor 1203 is used to call the program codes in the memory 1204 to execute other processing of the first device in the above method embodiments except for information sending and receiving.
  • the processor 1203 is configured to support the first device 1200 to perform step 402 in FIG. 4, and/or other processes performed by the first device in the techniques described herein.
  • the memory 1204 is used to store program codes and data of the main control board 1201 .
  • For the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 4 , which will not be repeated here.
  • an IPC control channel is established between the main control board 1201 and the interface board 1202, and the main control board 1201 and the interface board 1202 communicate using the IPC control channel.
  • FIG. 13 is a schematic structural diagram of a service node provided by an embodiment of the present application, which can implement the functions of the service node in the embodiment shown in FIG. 4 .
  • the service node 1300 includes: a receiving unit 1301 , a processing unit 1302 and a sending unit 1303 . These units may perform the corresponding functions of the service nodes in the above method embodiments.
  • the receiving unit 1301 is used to support the service node to perform step 403 in FIG. 4 (receive the message sent by the first device);
  • the processing unit 1302 is used to support the service node to perform step 404 in FIG. 4 and the techniques described herein Other processes performed by the service node in FIG.
  • the sending unit 1303 is configured to support the service node to perform step 405 in FIG. 4 .
  • the receiving unit 1301 is used to perform various information reception performed by the service node in the above method embodiments; the processing unit 1302 is used to perform other processing except the information sending and receiving actions by the service node in the above method embodiments; the sending unit 1303 , which is used to perform various information sending performed by the service node in the above method embodiments.
  • the receiving unit 1301 is configured to receive a packet sent by the first device.
  • the processing unit 1302 is configured to generate a first message, where the first message includes the computing resource level of the application service deployed in the service node.
  • the sending unit 1303 is configured to send the first message to the first device.
  • the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 4 , which will not be repeated here.
  • each functional unit in the embodiments of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the receiving unit and the transmitting unit may be the same unit, or may be different units.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • FIG. 14 shows another possible schematic structural diagram of the service node involved in the above embodiment.
  • the service node 1400 can also implement the function of the service node in the embodiment shown in FIG. 4 .
  • the service node 1400 includes: a storage unit 1401 , a processing unit 1402 and a communication unit 1403 .
  • the communication unit 1403 is used to support the communication between the service node 1400 and other network entities, such as the communication with the service node shown in FIG. 4 , for example, the communication unit 1403 is used to support the service node 1400 to perform the steps in FIG. 4 403 and step 405.
  • the processing unit 1402 is used to control and manage the actions of the service node 1400.
  • the processing unit 1402 is used to support the service node 1400 to perform step 404 in FIG. 4, and/or other processes performed by the service node in the techniques described herein.
  • the storage unit 1401 is used to store program codes and data of the service node 1400 .
  • For the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 4 , which will not be repeated here.
  • the processing unit 1402 may be a processor, such as a CPU, a general-purpose processor, a DSP, an ASIC, an FPGA, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logical blocks, modules and circuits described in connection with the disclosure of the embodiments of this application.
  • the processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.
  • the communication unit 1403 may be a transceiver, and the storage unit 1401 may be a memory.
  • the service node involved in this embodiment of the present application may be the service node 1500 shown in FIG. 15 .
  • the service node 1500 includes: a processor 1502 , a transceiver 1503 , a memory 1501 and a bus 1504 .
  • the processor 1502, the transceiver 1503 and the memory 1501 are connected to each other through a bus 1504; the bus 1504 may be a PCI bus or an EISA bus.
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in FIG. 15, but it does not mean that there is only one bus or one type of bus.
  • the service node 1500 may implement the functions of the service node in the embodiment shown in FIG. 4 .
  • the processor 1502 and the transceiver 1503 may perform the corresponding functions of the service node in the above method examples.
  • the transceiver 1503 is used to support the service node 1500 to perform steps 403 and 405 in FIG. 4 .
  • the processor 1502 is configured to support the service node 1500 in performing step 404 in FIG. 4, and/or other processes performed by the service node in the techniques described herein.
  • the memory 1501 is used to store program codes and data of the service node 1500 .
  • For the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 4 , which will not be repeated here.
  • FIG. 16 is a schematic structural diagram of still another service node provided by an embodiment of the present application.
  • the service node 1600 may be a router, a switch, a gateway, or a network device with a forwarding function, and the network device 1600 can implement the function of the service node in the foregoing method embodiments.
  • the service node 1600 includes: a main control board 1601 and an interface board 1602 .
  • the main control board 1601 includes: a processor 1603 and a memory 1604 .
  • the interface board 1602 includes: a processor 1605 , a memory 1606 and an interface card 1607 .
  • the main control board 1601 and the interface board 1602 are coupled.
  • the memory 1606 can be used to store the program codes of the interface board 1602, and the processor 1605 can be used to call the program codes in the memory 1606 to trigger the interface card 1607 to execute the services in the above method embodiments.
  • the processor 1605 invokes the program code in the memory 1606 to trigger the interface card 1607 to support the service node 1600 to perform steps 403 and 405 in FIG. 4 .
  • the processor 1605 is further configured to send the service identifier to the main control board 1601 .
  • the memory 1604 may be used to store the program code of the main control board 1601, and the processor 1603 is used to call the program code in the memory 1604 to execute other processing of the service node in the above method embodiments except for information sending and receiving.
  • the processor 1603 is used to support the service node 1600 in performing step 404 in FIG. 4, and/or other processes performed by the service node in the techniques described herein.
  • the memory 1604 is used to store program codes and data of the main control board 1601 .
  • For the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 4 , which will not be repeated here.
  • an IPC control channel is established between the main control board 1601 and the interface board 1602, and the main control board 1601 and the interface board 1602 communicate using the IPC control channel.
  • FIG. 17 is a schematic structural diagram of a message forwarding system provided by an embodiment of the present application.
  • the system is used to implement the packet forwarding method in the foregoing method embodiments.
  • the system includes: a first device 1701 and a service node 1702 .
  • the first device 1701 and the service node 1702 can respectively implement the functions of the first device and the service node in the embodiment shown in FIG. 4 .
  • the first device performs steps 402, 403, and 406 in FIG. 4, and/or other processes performed by the first device for use in the techniques described herein.
  • the service node 1702 performs steps 404 and 405 in FIG. 4, and/or other processes performed by the service node for use in the techniques described herein.
  • Embodiments of the present application further provide a computer-readable storage medium, where instructions are stored on the computer-readable storage medium, and when the instructions are executed by the processor of the device, the report according to any one of the first aspect is implemented. or, when the instruction is executed by the processor of the service node, the packet forwarding method according to any one of the second aspect is implemented.
  • any device embodiments described above are only schematic, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be A physical unit, which can be located in one place or distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines. Those of ordinary skill in the art can understand and implement it without creative effort.
  • the steps of the method or algorithm described in the disclosure of the embodiments of the present application may be implemented in a hardware manner, or may be implemented in a manner in which a processor executes software instructions.
  • Software instructions can be composed of corresponding software modules, and software modules can be stored in random access memory (RAM), flash memory, read only memory (ROM), erasable programmable read only memory (erasable programmable ROM, EPROM), electrically erasable programmable read-only memory (electrically EPROM, EEPROM), hard disk, removable hard disk, optical disk or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and storage medium may reside in an ASIC.
  • the ASIC may be located in the core network interface device.
  • the processor and the storage medium may also exist in the core network interface device as discrete components.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了一种报文转发方法、装置及系统、计算机可读存储介质,属于通信技术领域。第一设备在接收到第二设备发送的报文后,根据报文中的指示信息和应用服务标识确定目标服务节点,该目标服务节点的服务能力与指示信息匹配,且该目标服务节点中部署有应用服务标识对应的目标应用服务。然后第一设备向目标服务节点发送报文。通过在设备发送的报文中携带指示信息,使得转发设备能够将该报文发送至服务能力与该指示信息匹配的服务节点,实现了针对不同等级的设备提供差异化的应用服务,任务调度灵活性较高。

Description

报文转发方法、装置及系统、计算机可读存储介质
本申请要求于2021年04月15日提交的申请号为202110406331.5、发明名称为“报文转发方法、装置及系统、计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种报文转发方法、装置及系统、计算机可读存储介质。
背景技术
无线通信网络的建设是以数据中心(data center,DC)为中心的。各数据中心使用分布式云技术进行管理,形成边缘云(edge cloud)加中心云(central cloud)的分级网络系统。数据中心为用户设备(user equipment,UE)提供的应用服务(application server)部署在各边缘云上,使得应用服务部署到更靠近用户设备的位置,降低了服务时延,可以满足时延敏感业务的需求。用于实现边缘云部署的基础设施平台可称为移动边缘计算(mobile edge computing,MEC)站点。
同一应用服务通常部署在多个MEC站点上。由于不同MEC站点之间独立工作,因此对于同一应用服务,可能会出现一些MEC站点上该应用服务的负载过大,而另一些MEC站点上该应用服务的资源闲置的现象。
目前可以采用算力优先网络(computing first network,CFN)技术来实现同一应用服务在多个MEC站点之间的负载均衡。CFN技术的基本思想是:通过网络感知MEC站点上部署的应用服务的算力信息,并基于多个MEC站点上部署的同一应用服务的算力信息,对该应用服务对应的任务进行调度。例如,MEC站点1和MEC站点2上均部署有应用服务A,MEC站点1给应用服务A分配的算力资源为2核中央处理器(central processing unit,CPU),MEC站点2给应用服务A分配的算力资源为1核CPU,那么可以按照2:1的负载分担比例向MEC站点1和MEC站点2调度应用服务A对应的任务。
但是,目前的任务调度只考虑了MEC站点上部署的应用服务的算力信息,MEC站点无法向不同用户设备提供差异化的应用服务,任务调度灵活性较低。
发明内容
本申请提供了一种报文转发方法、装置及系统、计算机可读存储介质,可以解决目前任务调度灵活性较低的问题。
第一方面,提供了一种报文转发方法。该方法包括:第一设备接收第二设备发送的报文,该报文包括指示信息和应用服务标识。第一设备根据指示信息和应用服务标识确定目标服务节点,目标服务节点的服务能力与指示信息匹配,目标服务节点中部署有应用服务标识对应的目标应用服务。第一设备向目标服务节点发送报文。
可选地,第二设备为用户设备或者为位于用户设备与第一设备之间的网络设备。
本申请中,通过在第二设备发送的报文中携带指示信息和应用服务标识,第一设备在接收到该报文后,能够将该报文发送给部署有该应用服务标识对应的应用服务、且服务能力与该指示信息匹配的服务节点,实现了针对不同等级的设备提供差异化的应用服务,使具有不同等级的设备能够享受到与该等级相匹配的应用服务,提高了报文转发的灵活性,从而提高了任务调度的灵活性。
在第一种实现方式中,第二设备为用户设备,指示信息包括第二设备对应的用户服务等级,第一设备中存储有多个服务节点中所部署的应用服务的算力资源等级与用户服务等级的对应关系。第一设备根据指示信息和应用服务标识确定目标服务节点的实现过程,包括:第一设备基于对应关系,将部署有目标应用服务、且目标应用服务的算力资源等级与第二设备对应的用户服务等级相匹配的服务节点,确定为目标服务节点。
本实现方式中,通过对多个服务节点中所部署的同一应用服务进行算力资源等级的划分,并在用户设备发送的报文中携带该用户设备对应的用户服务等级,使得第一设备能够将该报文发送至部署有该应用服务且该应用服务的算力资源等级与该用户服务等级匹配的服务节点上,实现向不同用户服务等级的用户设备提供差异化的应用服务,报文转发灵活性较高,从而提高了任务调度的灵活性。
在第二种实现方式中,指示信息包括第二设备对应的算力资源等级,第一设备中存储有多个服务节点中所部署的应用服务的算力资源等级。第一设备根据指示信息和应用服务标识确定目标服务节点的实现过程,包括:第一设备将部署有目标应用服务、且目标应用服务的算力资源等级与第二设备对应的算力资源等级相同的服务节点,确定为目标服务节点。
本实现方式中,通过对多个服务节点中所部署的同一应用服务进行算力资源等级的划分,并在第二设备发送的报文中携带该第二设备对应的算力资源等级,使得第一设备能够将该报文发送至部署有该应用服务且该应用服务的算力资源等级与该第二设备对应的算力资源等级相同的服务节点上,实现向不同等级的设备提供差异化的应用服务,报文转发灵活性较高,从而提高了任务调度的灵活性。
可选地,第一设备还接收多个服务节点发送的第一消息,第一消息包括对应的服务节点中所部署的应用服务的算力资源等级。
可选地,第一消息为边界网关协议(border gateway protocol,BGP)更新(update)消息,算力资源等级承载于BGP更新消息中的路由属性字段。
可选地,第一消息还包括服务节点中所部署的应用服务的应用服务标识以及服务节点中所部署的应用服务的实例的互联网协议IP地址。或者,第一消息还包括服务节点中所部署的应用服务对应的任播IP地址。
在第三种实现方式中,指示信息包括第二设备的算力资源需求信息。第一设备根据指示信息和应用服务标识确定目标服务节点的实现过程,包括:第一设备将部署有目标应用服务、且目标应用服务的算力信息满足第二设备的算力资源需求信息所指示的需求的服务节点,确定为目标服务节点。
本实现方式中,通过在第二设备发送的报文中携带该第二设备的算力资源需求信息,使得第一设备能够将该报文发送至满足该第二设备的算力资源需求的服务节点上,实现向有不同算力资源需求的设备提供差异化的应用服务,提高了任务调度的灵活性。
可选地,第一设备还接收服务节点发送的第二消息,第二消息包括服务节点中所部署的应用服务的算力信息。
可选地,算力资源需求信息包括算力资源的需求数量、最大允许算力资源利用率或请求处理最大允许时延中的一个或多个。应用服务的算力信息包括应用服务所分配到的算力资源的数量、应用服务的算力资源利用率、应用服务的请求处理时延、应用服务的设备连接数或应用服务的重轻载状态中的一个或多个。
可选地,报文还包括请求处理的内容。第一设备还接收目标计算节点发送的针对内容的处理结果。第一设备向第二设备发送该处理结果。
可选地,该报文为计算请求报文、上线请求报文或存储请求报文。
可选地,报文为IPv6报文,指示信息承载于IPv6报文的逐跳扩展头或分段路由头中。
第二方面,提供了另一种报文转发方法,该方法包括:服务节点生成第一消息,该第一消息包括服务节点中所部署的应用服务的算力资源等级。服务节点向第一设备发送第一消息。
可选地,第一消息为BGP更新消息,算力资源等级承载于BGP更新消息中的路由属性字段。
可选地,第一消息还包括服务节点中所部署的应用服务的应用服务标识以及服务节点中所部署的应用服务的实例的互联网协议IP地址。或者,第一消息还包括服务节点中所部署的应用服务对应的任播IP地址。
可选地,服务节点还接收第一设备发送的报文,该报文包括请求处理的内容。服务节点在处理内容后,向第一设备发送针对内容的处理结果。
第三方面,提供了一种报文转发装置,应用于第一设备,该装置包括:
接收单元,用于接收第二设备发送的报文,报文包括指示信息和应用服务标识;
处理单元,用于根据指示信息和应用服务标识确定目标服务节点,目标服务节点的服务能力与指示信息匹配,目标服务节点中部署有应用服务标识对应的目标应用服务;
发送单元,用于向目标服务节点发送报文。
可选地,第二设备为用户设备,指示信息包括第二设备对应的用户服务等级,装置中存储有多个服务节点中所部署的应用服务的算力资源等级与用户服务等级的对应关系;
处理单元,用于基于对应关系,将部署有目标应用服务、且目标应用服务的算力资源等级与第二设备对应的用户服务等级相匹配的服务节点,确定为目标服务节点。
可选地,指示信息包括第二设备对应的算力资源等级,装置中存储有多个服务节点中所部署的应用服务的算力资源等级;
处理单元,用于将部署有目标应用服务、且目标应用服务的算力资源等级与第二设备对应的算力资源等级相同的服务节点,确定为目标服务节点。
可选地,接收单元,还用于接收多个服务节点发送的第一消息,第一消息包括对应的服务节点中所部署的应用服务的算力资源等级。
可选地,第一消息为BGP更新消息,算力资源等级承载于BGP更新消息中的路由属性字段。
可选地,第一消息还包括服务节点中所部署的应用服务的应用服务标识以及服务节点中 所部署的应用服务的实例的互联网协议IP地址;
或者,第一消息还包括服务节点中所部署的应用服务对应的任播IP地址。
可选地,指示信息包括第二设备的算力资源需求信息;
处理单元,用于将部署有目标应用服务、且目标应用服务的算力信息满足第二设备的算力资源需求信息所指示的需求的服务节点,确定为目标服务节点。
可选地,接收单元,还用于接收服务节点发送的第二消息,第二消息包括服务节点中所部署的应用服务的算力信息。
可选地,算力资源需求信息包括算力资源的需求数量、最大允许算力资源利用率或请求处理最大允许时延中的一个或多个;
应用服务的算力信息包括应用服务所分配到的算力资源的数量、应用服务的算力资源利用率、应用服务的请求处理时延、应用服务的设备连接数或应用服务的重轻载状态中的一个或多个。
可选地,报文还包括请求处理的内容;
接收单元,还用于接收目标计算节点发送的针对内容的处理结果;
发送单元,还用于向第二设备发送处理结果。
可选地,报文为计算请求报文、上线请求报文或存储请求报文。
可选地,报文为IPv6报文,指示信息承载于IPv6报文的逐跳扩展头或分段路由头中。
第四方面,提供了一种报文处理装置,应用于服务节点,装置包括:
处理单元,用于生成第一消息,第一消息包括服务节点中所部署的应用服务的算力资源等级;
发送单元,用于向第一设备发送第一消息。
可选地,第一消息为BGP更新消息,算力资源等级承载于BGP更新消息中的路由属性字段。
可选地,第一消息还包括服务节点中所部署的应用服务的应用服务标识以及服务节点中所部署的应用服务的实例的互联网协议IP地址;
或者,第一消息还包括服务节点中所部署的应用服务对应的任播IP地址。
可选地,装置还包括:接收单元;
接收单元,用于接收第一设备发送的报文,报文包括请求处理的内容;
发送单元,还用于在处理单元处理内容后,向第一设备发送针对内容的处理结果。
第五方面,提供了一种设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述程序指令,实现如第一方面任一所述的报文转发方法。
第六方面,提供了一种服务节点,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述程序指令,实现如第二方面任一所述的报文转发方法。
第七方面,提供了一种报文转发系统,该系统包括:第一设备和至少一个服务节点,第一设备包括如第三方面任一所述的装置,服务节点包括如第四方面任一所述的装置。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被设备的处理器执行时,实现如第一方面任一所述的报文转发方法;或者,当所述指令被服务节点的处理器执行时,实现如第二方面任一所述的报文转发方法。
第九方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现如第一方面任一所述的报文转发方法或者如第二方面任一所述的报文转发方法。
第十方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如第一方面任一所述的报文转发方法或者如第二方面任一所述的报文转发方法。
附图说明
图1是本申请实施例提供的一种报文转发方法涉及的应用场景的示意图;
图2是本申请实施例提供的一种算力优先网络的部署架构示意图;
图3是本申请实施例提供的一种边缘云加中心云的分级网络系统的结构示意图;
图4是本申请实施例提供的一种报文转发方法的流程示意图;
图5是本申请实施例提供的一种基于BGP更新消息扩展得到的第一消息的结构示意图;
图6是本申请实施例提供的另一种基于BGP更新消息扩展得到的第一消息的结构示意图;
图7是本申请实施例提供的一种用于撤销路由的BGP消息字段的结构示意图;
图8是本申请实施例提供的一种基于IPv6报头的下一个头部扩展得到的逐跳扩展头的结构示意图;
图9是本申请实施例提供的一种第一设备的结构示意图;
图10是本申请实施例提供的另一种第一设备的结构示意图;
图11是本申请实施例提供的又一种第一设备的结构示意图;
图12是本申请实施例提供的还一种第一设备的结构示意图;
图13是本申请实施例提供的一种服务节点的结构示意图;
图14是本申请实施例提供的另一种服务节点的结构示意图;
图15是本申请实施例提供的又一种服务节点的结构示意图;
图16是本申请实施例提供的还一种服务节点的结构示意图;
图17是本申请实施例提供的一种报文转发系统的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种报文转发方法涉及的应用场景的示意图。如图1所示,该应用场景包括:用户设备101,网络设备102A-102C(统称为网络设备102),以及服务节 点103A-103C(统称为服务节点103)。其中,用户设备101为部署在用户侧的设备,网络设备102和服务节点103可以为部署在应用服务提供商侧的设备,则用户设备101与网络设备102之间通过运营商网络进行通信。或者,网络设备102可以为部署在运营商侧中的设备,即网络设备102为运营商网络中的设备,服务节点103可以为部署在应用服务提供商侧的设备。又或者,网络设备102和服务节点103都可以为部署在运营商侧的设备。图1中各个设备的数量和连接方式仅用作示例性说明,不作为对本申请实施例所提供方法涉及的应用场景的限制。
用户设备101上安装有客户端。用户设备101能够基于其上安装的客户端发起请求,以享用对应的应用服务。本申请实施例中,应用服务指:通过各个类型的应用(application,APP)为用户设备提供的服务,比如计算处理服务(尤其是密集型计算服务),应用上线服务,内容存储服务,等等。
网络设备102可以是路由器、交换机或网关(gateway,GW)等。在如图1所示的应用场景中,根据相对于用户设备101的部署位置,可以将网络设备102分为靠近用户设备101的网络设备102A以及远离用户设备101的网络设备102B和网络设备102C。
本申请实施例中,靠近用户设备101的网络设备102A可以用作调度节点,用于在接收到来自用户设备101的报文后,确定处理该报文的目标服务节点,并将该报文发送至该目标服务节点。其中,靠近用户设备101的网络设备102A也可称为将用户设备101接入应用服务提供商网络的入口节点。或者,应用服务提供商侧的其它网络设备102也可以用作调度节点,本申请实施例对此不做限定。
可选地,网络设备102具备算力感知能力,能够感知服务节点103中所部署的应用服务的计算能力。这种情况下,应用服务提供商网络也即是算力优先网络。算力优先网络的部署方式可以有多种。例如,图2是本申请实施例提供的一种算力优先网络的部署架构示意图。如图2所示,该算力优先网络(CFN)中包括网络设备0-N,网络设备0通过运营商网络与用户设备连接,网络设备0还分别与网络设备1-N连接,网络设备1-N分别与一个服务节点连接,N为大于1的整数。本申请实施例对算力优先网络的部署方式不做限定。
服务节点103可以部署在一个服务器中,或者部署在由多个服务器组成的服务器集群中。服务节点103用于给应用提供服务平台。每个服务节点103中部署有至少一个实例,该实例用于为用户设备101提供应用服务。实例指的是一个应用服务部署在不同的服务节点上的具体的应用。因此,一个应用服务可以对应多个实例。本申请实施例中,应用服务可以分布式地部署在多个服务节点103上。例如,在如图1所示的应用场景中,服务节点103A中部署有第一实例,服务节点103B中部署有第二实例,服务节点103C中部署有第三实例,该第一实例、第二实例和第三实例为同一应用服务(目标应用服务)的实例。本申请实施例中,服务节点中部署有应用服务,也即是指服务节点中部署有该应用服务的实例。
不同的服务节点103可能配置有不同规模的计算资源和存储资源(可统称为算力资源)。其中,计算资源包括CPU资源和/或图形处理器(graphics processing unit,GPU)资源等,存储资源包括内存资源和/或磁盘资源等。在不同的服务节点103中,为同一应用服务分配的算力资源可能不同。例如,服务节点103A中的第一实例分配有2核CPU,服务节点103B中的第二实例分配有4核CPU,服务节点103C中的第三实例分配有1核CPU。
服务节点103中可以存储有该服务节点103中所部署的应用服务的应用服务标识。应用 服务标识用于唯一标识对应的应用服务,以将不同的应用服务区分开。本申请实施例中,可以统一为每个应用服务分配能够唯一标识该应用服务的应用服务标识。应用服务标识可以是互联网协议(Internet Protocol,IP)地址的形式,或者也可以是其它的形式,本申请实施例对此不做限定。
每个应用服务的实例还具有实例标识。实例标识用于唯一标识对应的实例,以将同一应用服务的不同实例区分开。也即是,同一应用服务的不同实例,其应用服务标识相同,但实例标识不同。实例标识可以是实例的IP地址的形式,或者也可以是其它的形式,本申请实施例对此不做限定。需要说明的是,当应用服务标识与实例标识均为IP地址的形式时,发送端和/或接收端可通过报文中的不同字段对两者进行区分。比如,发送端与接收端互相约定报文的第一个字段为应用服务标识,第二个字段为实例标识,则发送端在向接收端发送报文时,可以在该报文的第一个字段设置应用服务的IP地址,在该报文的第二个字段设置实例的IP地址。接收端在接收到该报文后,则能够从相应的字段中解析出应用服务的IP地址以及实例的IP地址。
可选地,在边缘云部署场景下,网络设备102可以是数据中心网关,服务节点103可以部署在边缘云上,例如服务节点103可以是MEC站点。例如,图3是本申请实施例提供的一种边缘云加中心云的分级网络系统的结构示意图。图3示出的云部署场景与图1示出的应用场景相对应,其中,图1中的网络设备102映射为图3中的数据中心网关(DCGW),图1中的服务节点103映射为图3中的边缘云或中心云。
由于不同用户针对同一应用服务的用户服务等级可能不同,例如根据用户的不同缴费,可以将用户服务等级由高至低分为金牌用户、银牌用户、铜牌用户和普通用户。用户服务等级越高,用户理应享受到越好的应用服务,但是目前的任务调度只考虑了服务节点上所部署的应用服务的算力信息,对不同用户服务等级下的任务一视同仁,无法针对不同用户服务等级为不同用户提供差异化的应用服务。
在本申请实施例提供的报文转发方法中,通过在来自用户设备的报文中携带指示信息和应用服务标识,网络设备在接收到该报文后,能够将该报文发送给部署有该应用服务标识对应的应用服务、且服务能力与该指示信息匹配的服务节点,实现了针对不同等级的用户设备提供差异化的应用服务,使具有不同等级的用户设备能够享受到与该等级相匹配的应用服务。图4是本申请实施例提供的一种报文转发方法的流程示意图。该方法可以应用于如图1至图3任一所示的应用场景中。如图4所示,该方法包括:
步骤401、第二设备向第一设备发送报文,该报文包括指示信息和应用服务标识。
第一设备为用于转发报文的网络设备,例如可以是图1示出的网络设备102A,图2示出的网络设备0或图3示出的DCGW。可选地,第二设备为用户设备,例如可以是图1示出的用户设备101。或者,第二设备也可以是位于用户设备与第一设备之间的设备。第二设备向第一设备发送报文,可以是第二设备直接向第一设备发送报文,或者也可以是第二设备通过其它设备间接向第一设备发送报文。
报文中的指示信息用于指示处理该报文的服务节点所需具备的服务能力。本申请实施例中,服务节点的服务能力是以应用服务的粒度来衡量的。服务节点针对一个应用服务的服务能力,可以基于该服务节点中所部署的该应用服务的算力信息确定。服务节点中所部署的应 用服务的算力信息包括该应用服务所分配到的算力资源的数量、该应用服务的算力资源利用率、该应用服务的请求处理时延、该应用服务的设备连接数或该应用服务的重轻载状态中的一个或多个。其中,应用服务所分配到的算力资源的数量可以包括服务节点中分配给该应用服务的CPU的核数和/或GPU的核数等,例如,服务节点中给某个应用服务分配了2核CPU,4核GPU。应用服务的算力资源利用率可以包括服务节点分配给该应用服务的CPU的利用率和/或GPU的利用率等。应用服务的请求处理时延可以包括服务节点中该应用服务的实例在一段时间内对报文的平均处理时延、最大处理时延和/或最小处理时延。应用服务的设备连接数指接入服务节点中该应用服务的终端的数量,接入服务节点中该应用服务的终端由服务节点中该应用服务的实例提供服务。应用服务的重轻载状态用于指示服务节点中该应用服务的实例处于重载状态还是轻载状态,重载状态反映实例的负载较大,轻载状态反映实例的负载较小。
可选地,指示信息包括第二设备对应的用户服务等级、第二设备对应的算力资源等级或第二设备的算力资源需求信息。
报文中的应用服务标识用于指示该报文所请求访问的应用服务。
可选地,该报文还包括请求处理的内容。例如,该报文为计算请求报文,该计算请求报文中包括待计算的内容,该计算请求报文用于请求对其所包含的内容进行计算处理。又例如,该报文为上线请求报文,该上线请求报文中包括认证信息,上线请求报文用于请求应用上线。又例如,该报文为存储请求报文,该存储请求报文中包括待存储的内容,该存储请求报文用于请求将其所包含的内容存储在服务节点中。该报文还可以是其它业务报文,本申请实施例对报文的类型不作限定。
步骤402、第一设备根据该指示信息和该应用服务标识确定目标服务节点。
目标服务节点的服务能力与该指示信息匹配,目标服务节点中部署有该应用服务标识对应的目标应用服务。也即是,目标服务节点为部署有该应用服务标识对应的目标应用服务、且该目标应用服务的服务能力与指示信息匹配的服务节点。
步骤403、第一设备向目标服务节点发送该报文。
第一设备向目标服务节点发送报文,可以是第一设备向目标服务节点直接发送报文,例如,在如图1所示的应用场景中,第一设备为网络设备102A,目标服务节点为服务节点103A,则网络设备102A向服务节点103A直接发送报文。或者,第一设备向目标服务节点发送报文,也可以是第一设备通过其它设备向目标服务节点间接发送报文,例如,在如图1所示的应用场景中,第一设备为网络设备102A,目标服务节点为服务节点103B,则网络设备102A通过网络设备102B向服务节点103A间接发送报文。
可选地,报文包括请求处理的内容。目标服务节点在接收到报文后,还可以执行以下步骤404至步骤405。
步骤404、目标服务节点处理该报文中包含的请求处理的内容。
例如,该报文为计算请求报文,目标服务节点处理该报文中的内容,可以是对计算请求报文中待计算的内容进行计算。又例如,该报文为上线请求报文,目标服务节点处理该报文中的内容,可以是基于上线请求报文中的认证信息进行应用上线认证。又例如,该报文为存储请求报文,目标服务节点处理该报文中的内容,可以是对存储请求报文中待存储的内容进行存储。
步骤405、目标服务节点向第一设备发送针对该内容的处理结果。
例如,第一设备向目标服务节点发送的报文为计算请求报文,该处理结果可以为计算结果。又例如,第一设备向目标服务节点发送的报文为上线请求报文,该处理结果可以为用于指示是否允许应用上线的指示。又例如,第一设备向目标服务节点发送的报文为存储请求报文,该处理结果可以是存储成功指示或存储失败指示。
步骤406、第一设备向第二设备发送该处理结果。
本申请实施例中,通过在第二设备发送的报文中携带指示信息和应用服务标识,第一设备在接收到该报文后,能够将该报文发送给部署有该应用服务标识对应的应用服务、且服务能力与该指示信息匹配的服务节点,实现了针对不同等级的设备提供差异化的应用服务,使具有不同等级的设备能够享受到与该等级相匹配的应用服务,提高了报文转发的灵活性,从而提高了任务调度的灵活性。
可选地,针对报文中携带不同的指示信息,本申请在以下三个可选实施例中,对上述报文转发方法的实现过程分别进行进一步说明。
在本申请的第一个可选实施例中,第二设备为用户设备,报文中的指示信息包括该第二设备对应的用户服务等级,第一设备中存储有多个服务节点中所部署的应用服务的算力资源等级与用户服务等级的对应关系。则上述步骤402的实现过程包括:第一设备基于该对应关系,将部署有目标应用服务、且目标应用服务的算力资源等级与第二设备对应的用户服务等级相匹配的服务节点,确定为目标服务节点。
对于一个应用服务,针对不同用户划分的用户服务等级的数量与针对不同服务节点划分的算力资源等级的数量可以相同,多个用户服务等级与多个算力资源等级一一对应。例如,对于应用服务A,用户服务等级包括金牌、银牌、铜牌和普通,算力资源等级包括L1、L2、L3和L4,L1对应金牌,L2对应银牌,L3对应铜牌,L4对应普通,也即是,金牌用户对应L1级别的应用服务,银牌用户对应L2级别的应用服务,铜牌用户对应L3级别的应用服务,普通用户对应L4级别的应用服务。
或者,对于一个应用服务,针对不同用户划分的用户服务等级的数量与针对不同服务节点划分的算力资源等级的数量也可以不同,一个用户服务等级可以对应一个算力资源等级,或者,多个用户服务等级可以对应一个算力资源等级,或者,一个用户服务等级可以对应多个算力资源等级。例如,对于应用服务B,用户服务等级包括金牌、银牌、铜牌和普通,算力资源等级包括L1、L2和L3,L1对应金牌,L2对应银牌,L3对应铜牌和普通,也即是,金牌用户对应L1级别的应用服务,银牌用户对应L2级别的应用服务,铜牌用户和普通用户对应L3级别的应用服务。
例如,表1示出了第一设备中存储的多个服务节点中所部署的应用服务的算力资源等级与用户服务等级的对应关系。
表1
Figure PCTCN2022086359-appb-000001
Figure PCTCN2022086359-appb-000002
参见表1,假设第二设备发送的报文中包括用户服务等级“银牌”和应用服务标识“应用服务A”,则第一设备可以将服务节点2确定为目标服务节点。
在本实施例中,通过对多个服务节点中所部署的同一应用服务进行算力资源等级的划分,并在用户设备发送的报文中携带该用户设备对应的用户服务等级,使得第一设备能够将该报文发送至部署有该应用服务且该应用服务的算力资源等级与该用户服务等级匹配的服务节点上,实现向不同用户服务等级的用户设备提供差异化的应用服务,报文转发灵活性较高,从而提高了任务调度的灵活性。
在本申请的第二个可选实施例中,报文中的指示信息包括第二设备对应的算力资源等级,第一设备中存储有多个服务节点中所部署的应用服务的算力资源等级。则上述步骤402的实现过程包括:第一设备将部署有目标应用服务、且目标应用服务的算力资源等级与第二设备对应的算力资源等级相同的服务节点,确定为目标服务节点。
例如,表2示出了第一设备中存储的多个服务节点中所部署的应用服务的算力资源等级。
表2
Figure PCTCN2022086359-appb-000003
参见表1,假设第二设备发送的报文中包括算力资源等级“L2”和应用服务标识“应用服务A”,则第一设备可以将服务节点2确定为目标服务节点。
在本实施例中,通过对多个服务节点中所部署的同一应用服务进行算力资源等级的划分,并在第二设备发送的报文中携带该第二设备对应的算力资源等级,使得第一设备能够将该报文发送至部署有该应用服务且该应用服务的算力资源等级与该第二设备对应的算力资源等级相同的服务节点上,实现向不同等级的设备提供差异化的应用服务,报文转发灵活性较高,从而提高了任务调度的灵活性。
结合上述第一个可选实施例和第二个可选实施例,第一设备在根据报文中的指示信息和应用服务标识确定目标服务节点之前,第一设备还接收多个服务节点发送的第一消息,该第一消息包括对应的服务节点中所部署的应用服务的算力资源等级。然后,第一设备再根据报文中的指示信息和应用服务标识在该多个服务节点中确定目标服务节点。
本申请实施例中,服务节点中所部署的应用服务的算力资源等级由运维人员确定。运维人员可以通过控制器或网络管理设备来统一管理多个服务节点,并为各个服务节点中所部署 的应用服务分配算力资源等级。通常越靠近第一设备(调度节点)的服务节点,运维人员为其中所部署的应用服务分配的算力资源等级越高。运维人员在为服务节点中所部署的应用服务分配算力资源时,也可以结合考虑服务节点的部署位置,例如可以为更靠近第一设备的服务节点中的应用服务分配更多的算力资源,从而使得服务节点中所部署的应用服务的算力资源等级越高,则该服务节点越靠近用户且该服务节点中所部署的该应用服务的实例分配有越多的算力资源。例如还可以考虑高并发场景,使算力资源等级越高的应用服务的实例所分配到的算力资源与接入该实例的用户设备的峰值数的比值越大,即用户设备接入的实例的算力资源等级越高,该用户设备能够分配到的最小平均算力资源越多,以保证高用户服务等级的用户设备能够在高并发场景下享受到更多的算力资源。本申请实施例中,可以为同一应用服务在服务节点上算力资源等级最高的实例分配冗余的算力资源,以充分保障高等级用户的业务质量,使其满足承诺的服务等级协议(service level agreement,SLA)条件,例如保证其时延小于最大允许时延。
服务节点在获取自身所部署的应用服务的算力资源等级后,生成包含该服务节点中所部署的应用服务的算力资源等级的第一消息,并向第一设备发送该第一消息。
例如,表3示出了一个服务节点中所部署的多个应用服务的算力资源等级。
表3
应用服务标识 算力资源等级
应用服务A L1
应用服务B L2
可选地,第一消息为BGP更新消息。服务节点中所部署的应用服务的算力资源等级承载于该BGP更新消息中的路由属性(path attributes)字段。例如,图5和图6分别是本申请实施例提供的一种基于BGP更新消息扩展得到的第一消息的结构示意图。如图5和图6所示,该BGP更新消息包括以太网头部(Ethernet header)、IP头部(IP header)、传输控制协议(Transmission Control Protocol,TCP)头部(TCP header)、BGP数据包以及帧校验序列(frame check sequence,FCS)。其中,BGP数据包中包括BGP头部以及BGP消息字段。该BGP头部中包括标志(maker)字段、长度(length)字段和类型(type)字段(图中未示出)。
图5示出了编号为4271的请求评论(request for comments,RFC)(简称:RFC 4271)文档中定义的用于发布路由的BGP消息字段的格式。如图5所示,该BGP消息字段中包括不可达路由长度(withdrawn routes length)字段、不可达路由(withdrawn routes)字段、路由属性总长度(total path attribute length)字段、路由属性字段以及网络层可达信息(network layer reachability information,NLRI)字段。图6示出了RFC 4760文档中定义的用于发布路由的BGP消息字段的格式。如图6所示,该BGP消息字段包括地址族标识符(address family identifier)字段、后续地址族标识符(subsequent address family identifier)字段、下一跳网络地址长度(length of next hop network address)字段、下一跳网络地址(next hop network address)字段、保留(reserved)字段、NLRI字段以及路由属性字段。若本申请实施例中的通信场景非虚拟专用网(virtual private network,VPN)场景,且不同设备之间的交互路由和下一跳信息均为互联网协议第4版(internet protocol version 4,IPv4)类型,则可以采用如图5所示的 BGP消息格式,否则可以采用如图6所示的BGP消息格式。
可选地,服务节点中所部署的应用服务的算力资源等级可以采用类型长度值(type-length-value,TLV)或类型值(type-value,TV)编码后承载于路由属性字段。例如,可以在路由属性字段中扩展:长度为1个字节的标志位(flag)字段、长度为1个字节的类型(type)字段、长度为1个字节的长度(length)字段以及长度为1个字节的载荷(value)字段。该标志位字段用于标记路由属性。该载荷字段用于承载算力资源等级。该类型字段用于指示载荷字段承载的内容为算力资源等级。
在第一种实现方式中,第一消息还包括服务节点中所部署的应用服务的应用服务标识以及该服务节点中所部署的应用服务的实例的IP地址。也即是,该第一消息可以包括服务节点中所部署的应用服务的应用服务标识、该服务节点中所部署的应用服务的实例的IP地址以及该服务节点中所部署的应用服务的算力资源等级。由于同一应用服务部署在不同服务节点中的实例的IP地址不同,结合应用服务标识,能够区分该IP地址下的实例具体提供哪种应用服务,实现定向寻址功能。
可选地,服务节点中所部署的应用服务的应用服务标识承载于BGP更新消息中的路由属性字段,服务节点中所部署的应用服务的实例的IP地址承载于BGP更新消息中的NLRI字段。服务节点中所部署的应用服务的应用服务标识可以采用TLV或TV编码后承载于路由属性字段。例如,可以在路由属性字段中扩展:长度为1个字节的标志位字段、长度为1个字节的类型字段、长度为1个字节的长度字段以及长度为4个字节的载荷字段。该标志位字段用于标记路由属性。该载荷字段用于承载应用服务标识。该类型字段用于指示载荷字段承载的内容为应用服务标识。
在第二种实现方式中,第一消息还包括服务节点中所部署的应用服务对应的任播IP地址。也即是,该第一消息可以包括服务节点中所部署的应用服务对应的任播IP地址以及该服务节点中所部署的应用服务的算力资源等级。其中,不同应用服务对应的任播IP地址不同,同一应用服务部署在不同服务节点中的实例对应的任播IP地址相同。
可选地,服务节点中所部署的应用服务对应的任播IP地址承载于BGP更新消息中的NLRI字段。
可选地,当服务节点中所部署的某个应用服务下线时,服务节点还可以向第一设备发送路由撤销指示,该路由撤销指示中包括待撤销的应用服务对应的任播IP地址,该路由撤销指示用于指示该服务节点不再提供该应用服务。路由撤销指示的消息类型可以是BGP更新消息。该路由撤销指示可以采用RFC 4760文档中定义的BGP更新消息,待撤销的应用服务的任播IP地址可以承载于该BGP消息的撤销路由(withdrawn routes)字段。图7是本申请实施例提供的一种用于撤销路由的BGP消息字段的结构示意图。该BGP消息字段包括地址族标识符字段、后续地址族标识符字段以及撤销路由字段。各个字段的作用可参考RFC 4760文档中的相关定义,本申请实施例在此不再赘述。或者,该路由撤销指示也可以采用RFC 4271文档中定义的BGP更新消息(如图5所示),待撤销的应用服务的任播IP地址可以承载于该BGP消息的不可达路由字段。
可选地,第一设备在接收到服务节点发送的第一消息之后,还可以生成路由表项。
结合上述第一种实现方式,第一消息包括服务节点中所部署的应用服务的应用服务标识、该服务节点中所部署的应用服务的实例的IP地址以及该服务节点中所部署的应用服务的算 力资源等级,第一设备生成的路由表项可以如表4所示。
表4
算力资源等级 应用服务标识 实例的IP地址 算力度量值(metric)
L1 应用服务A IP1.1(服务节点1) m11
L2 应用服务A IP1.2(服务节点2) m12
L2 应用服务A IP1.3(服务节点3) m13
L2 应用服务B IP2.1(服务节点1) m21
L3 应用服务B IP2.2(服务节点2) m22
其中,算力度量值是对实例的算力的一种度量。例如,实例的算力度量值可以是基于该实例的CPU使用率、GPU使用率和/或设备连接数等算力指标计算得到的一个融合值。其中,实例的算力度量值的大小与该实例的CPU使用率正相关,与该实例的GPU使用率正相关,与该实例的设备连接数正相关。相应地,实例的算力度量值越小,表示该实例的负载越低。第一设备在选择发送报文的目标服务节点时,若有多个服务节点满足转发条件,则第一设备可以根据实例的算力度量值对该多个服务节点进行负载均衡。例如参见表4,假设第二设备发送的报文中包括算力资源等级“L2”和应用服务标识“应用服务A”,服务节点2和服务节点3都满足转发条件,则第一设备可以比较服务节点2中应用服务A的实例的算力度量值m12与服务节点3中应用服务A的实例的算力度量值m13的大小,若m12<m13,则第一设备将服务节点2确定为目标服务节点。
可选地,第一设备在获取服务节点中部署的应用服务的算力信息后,可以计算该应用服务在该服务节点中的实例的算力度量值。当然,上述路由表项中也可以不包括算力度量值,本申请实施例对此不做限定。
在该实现方式中,当报文中的指示信息包括第二设备对应的用户服务等级时,第一设备在接收到第二设备发送的报文后,基于表1确定该用户服务等级对应的算力资源等级,然后基于表4所示的路由表项向目标服务节点发送该报文。第一设备中可以单独存储表1和表4,也可以将表1和表4结合存储在一起。当报文中的指示信息包括第二设备对应的算力资源等级时,第一设备在接收到第二设备发送的报文后,基于表4所示的路由表项向目标服务节点发送报文。
结合上述第二种实现方式,第一消息包括服务节点中所部署的应用服务对应的任播IP地址以及该服务节点中所部署的应用服务的算力资源等级,第一设备生成的路由表项可以如表5所示。
表5
算力资源等级 任播IP地址 下一跳 算力度量值
L1 IP1(应用服务A) IP3.1 m11
L2 IP1(应用服务A) IP3.1 m12
L2 IP1(应用服务A) IP3.2 m13
L2 IP2(应用服务B) IP4.1 m21
L3 IP2(应用服务B) IP5.1 m22
其中,下一跳指的是目的IP地址为对应的任播IP地址的报文所需转发至的下一个设备。第一设备的下一跳可能会连接多个部署有报文中的应用服务标识对应的应用服务的服务节点,下一跳在接收到该报文后,可以继续根据该报文中的指示信息和应用服务标识确定再下一跳,直至报文到达服务节点。其中,第一设备与服务节点之间的设备中也可以存储有例如表5所示的路由表项,本申请实施例在此不再赘述。
在该实现方式中,当报文中的指示信息包括第二设备对应的用户服务等级时,第一设备在接收到第二设备发送的报文后,基于表1确定该用户服务等级对应的算力资源等级,然后基于表5所示的路由表项将该报文发送至下一跳。第一设备中可以单独存储表1和表5,也可以将表1和表5结合存储在一起。当报文中的指示信息包括第二设备对应的算力资源等级时,第一设备在接收到第二设备发送的报文后,基于表5所示的路由表项将该报文发送至下一跳。其中,第二设备发送的报文中的目的IP地址为目标应用服务对应的任播IP地址。该目标应用服务的任播IP地址还可以用作目标应用服务的应用服务标识。
在本申请的第三个可选实施例中,报文中的指示信息包括第二设备的算力资源需求信息。则上述步骤402的实现过程包括:第一设备将部署有目标应用服务、且目标应用服务的算力信息满足第二设备的算力资源需求信息所指示的需求的服务节点,确定为目标服务节点。
可选地,算力资源需求信息包括算力资源的需求数量、最大允许算力资源利用率或请求处理最大允许时延中的一个或多个。例如,第二设备的算力资源需求信息包括8核CPU且CPU的利用率不超过50%,则第二设备将所部署的目标应用服务分配到的CPU的核数不小于8核且利用率不超过50%的服务节点确定为目标服务节点。
可选地,第一设备中存储有多个服务节点中所部署的应用服务的算力信息。第一设备在接收到第二设备发送的报文后,可以先根据报文中的应用服务标识,在多个服务节点中确定部署有该应用服务标识对应的目标应用服务的待选服务节点,再将待选服务节点中所部署的该目标应用服务的算力信息满足报文中的算力资源需求信息所指示的需求的服务节点,确定为目标服务节点。
本实施例中,可以仅设置高等级的设备在发送的报文中携带算力资源需求信息,而设置低等级的设备在发送的报文中不携带算力资源需求信息,使得第一设备能够将来自高等级的设备的报文发送至满足该设备的算力资源需求的服务节点上,并采用负载均衡方式向服务节点发送来自低等级的设备的报文,也即是,采用更加充足的算力资源来处理来自高等级的设备的报文,并对来自低等级的设备的报文进行尽力而为地处理。
在本实施例中,通过在第二设备发送的报文中携带该第二设备的算力资源需求信息,使得第一设备能够将该报文发送至满足该第二设备的算力资源需求的服务节点上,实现向有不同算力资源需求的设备提供差异化的应用服务,提高了任务调度的灵活性。另外,还可以仅设置高等级的设备在发送的报文中携带算力资源需求信息,而设置低等级的设备在发送的报文中不携带算力资源需求信息,使得第一设备能够将来自高等级的设备的报文发送至满足该设备的算力资源需求的服务节点上,并采用负载均衡方式向服务节点发送来自低等级的设备的报文,也即是,采用更加充足的算力资源来处理来自高等级的设备的报文,并对来自低等 级的设备的报文进行尽力而为地处理。
结合上述第三个可选实施例,第一设备在根据报文中的指示信息和应用服务标识确定目标服务节点之前,第一设备还接收多个服务节点发送的第二消息,该第二消息包括对应的服务节点中所部署的应用服务的算力信息。然后,第一设备再根据报文中的指示信息和应用服务标识在该多个服务节点中确定目标服务节点。
可选地,服务节点周期性地向第一设备发送该服务节点中所部署的各个应用服务的算力信息。或者,每当服务节点所部署的应用服务的算力信息发生变更时,服务节点向第一设备发送变更后的应用服务的算力信息。
可选地,第二消息还包括服务节点中所部署的应用服务的应用服务标识以及服务节点中所部署的应用服务的实例的IP地址。或者,第二消息还包括服务节点中所部署的应用服务对应的任播IP地址。第二消息的类型以及携带信息的方式可参考上述对第一消息的相关描述,本申请实施例在此不再赘述。
可选地,第一设备在接收到服务节点发送的第二消息之后,还可以生成路由表项。
当第二消息包括服务节点中所部署的应用服务的应用服务标识、服务节点中所部署的应用服务的实例的IP地址以及服务节点中所部署的应用服务的算力信息时,第一设备生成的路由表项可以如表6所示。
表6
服务节点 应用服务标识 实例的IP地址 算力度量值(metric)
服务节点1 应用服务A IP1.1 m11
服务节点2 应用服务A IP1.2 m12
服务节点3 应用服务A IP1.3 m13
服务节点1 应用服务B IP2.1 m21
服务节点2 应用服务B IP2.2 m22
第一设备接收到第二设备发送的报文后,根据报文中的算力资源需求信息和应用服务标识确定由哪个服务节点提供哪种应用服务,再基于表6所示的路由表项向对应的IP地址发送报文。
或者,当第二消息包括服务节点中所部署的应用服务对应的任播IP地址以及服务节点中所部署的应用服务的算力信息时,第一设备生成的路由表项可以如表7所示。
表7
服务节点 任播IP地址 下一跳 算力度量值
服务节点1 IP1(应用服务A) IP3.1 m11
服务节点2 IP1(应用服务A) IP3.1 m12
服务节点3 IP1(应用服务A) IP3.2 m13
服务节点1 IP2(应用服务B) IP4.1 m21
服务节点2 IP2(应用服务B) IP5.1 m22
第一设备接收到第二设备发送的报文后,根据报文中的算力资源需求信息和应用服务标识确定由哪个服务节点提供哪种应用服务,再基于表7所示的路由表项将该报文发送至下一跳。其中,第二设备发送的报文中的目的IP地址为目标应用服务对应的任播IP地址。该目标应用服务的任播IP地址还可以用作目标应用服务的应用服务标识。
可选地,第二设备发送的报文为IPv6报文,指示信息可以承载于该IPv6报文的逐跳(hop by hop)扩展头或分段路由头(Segment Routing Header,SRH)中。指示信息可以采用TLV或TV编码后承载于逐跳扩展头或SRH中。例如可以扩展IPv6报头的下一个头部(next header)字段以携带逐跳扩展头,图8是本申请实施例提供的一种基于IPv6报头的下一个头部扩展得到的逐跳扩展头的结构示意图。如图8所示,逐跳扩展头包括下一个头部、头部扩展长度(header extend length)字段、可选类型(option type)字段、可选数据长度(option data length)字段、可选数据(option data)字段以及填充(padding)字段。其中,下一个头部的长度为1个字节,头部扩展长度字段的长度为1个字节,可选类型字段的长度为1个字节,可选数据长度字段的长度为1个字节,可选数据字段的长度为1个字节,填充字段的长度可变。指示信息可以承载于可选数据字段中。
本申请实施例提供的上述报文转发方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内。例如,第二设备在发送的报文中携带用户服务等级,第一设备在接收到该报文后,按照负载均衡方式将该报文调度至服务节点,服务节点根据报文中携带的用户服务等级,按照用户服务等级由高至低的顺序依次处理该服务节点中的报文,也即是,服务节点对来自高用户服务等级的用户设备的报文的处理优先级高,对来自低用户服务等级的用户设备的报文的处理优先级低,实现对来自不同用户服务等级的用户设备的报文进行差异化处理,进而实现向不同用户服务等级的用户设备提供差异化的应用服务。本申请实施例在此不再一一赘述。
图9是本申请实施例提供的一种第一设备的结构示意图,可以实现图4所示的实施例中第一设备的功能。如图9所示,该第一设备900包括:接收单元901、处理单元902和发送单元903。这些单元可以执行上述方法实施例中第一设备的相应功能。接收单元901,用于支持第一设备执行图4中的步骤401(接收第二设备发送的报文)和步骤405(接收目标服务节点发送的针对报文中的请求处理的内容的处理结果);处理单元902,用于支持第一设备执行图4中的步骤402,以及本文所描述的技术中第一设备执行的其它过程;发送单元903,用于支持第一设备执行图4中的步骤403和步骤406。例如,接收单元901,用于执行上述方法实施例中第一设备执行的各种信息接收;处理单元902,用于执行上述方法实施例中第一设备除了信息收发动作之外的其它处理;发送单元903,用于执行上述方法实施例中第一设备执行的各种信息发送。举例来说,接收单元901,用于接收第二设备发送的报文,该报文包括指示信息和应用服务标识。处理单元902,用于根据指示信息和应用服务标识确定目标服务节点,该目标服务节点的服务能力与该指示信息匹配,该目标服务节点中部署有该应用服务标识对应的目标应用服务。发送单元903,用于向目标服务节点发送报文。具体执行过程请参考 上述图4所示实施例中相应步骤的详细描述,这里不再一一赘述。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,接收单元和发送单元可以是同一个单元,也可以是不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
在采用集成的单元的情况下,图10示出了上述实施例中所涉及的第一设备的另一种可能的结构示意图。该第一设备1000同样可以实现如图4所示的实施例中的第一设备的功能。第一设备1000包括:存储单元1001、处理单元1002和通信单元1003。通信单元1003用于支持第一设备1000与其他网络实体的通信,例如与图4中示出的第二设备或服务节点之间的通信,举例来说,通信单元1003用于支持第一设备1000执行图4中的步骤401、步骤403、步骤405和步骤406。处理单元1002用于对第一设备1000的动作进行控制管理,例如,处理单元1002用于支持第一设备1000执行图4中的步骤402,和/或本文所描述的技术中第一设备执行的其它过程。存储单元1001,用于存储第一设备1000的程序代码和数据。具体执行过程请参考上述图4所示实施例中相应步骤的详细描述,这里不再一一赘述。
其中,处理单元1002可以是处理器,例如可以是中央处理器(central processing unit,CPU)、通用处理器,数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元1003可以是收发器,存储单元1001可以是存储器。
当处理单元1002为处理器,通信单元1003为收发器,存储单元1001为存储器时,本申请实施例所涉及的第一设备可以为图11所示的第一设备1100。
参阅图11所示,该第一设备1100包括:处理器1102、收发器1103、存储器1101以及总线1104。其中,处理器1102、收发器1103以及存储器1101通过总线1104相互连接;总线1104可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该第一设备1100可以实现图4所示的实施例中的第一设备的功能。处理器1102和收发器1103可以执行上述方法示例中第一设备的相应功能。收发器1103用于支持第一设备1100执行图4中的步骤401、步骤403、步骤405和步骤406。处理器1102用于支持第一设备1100执行图4中的步骤402,和/或本文所描述的技术中第一设备执行的其它过程。存储器1101,用于存储第一设备1100的程序代码和数据。具体执行过程请参考上述图4所示实施例中相应步骤的详细描述,这里不再一一赘述。
图12是本申请实施例提供的还一种第一设备的结构示意图。如图12所示,第一设备1200可以为路由器或交换器或网关或有转发功能的网络设备,网络设备1200能够实现前述方法实施例中的第一设备的功能。所述第一设备1200包括:主控板1201和接口板1202。主控板1201包括:处理器1203和存储器1204。接口板1202包括:处理器1205、存储器1206和接 口卡1207。主控板1201和接口板1202耦合。
这些硬件可以执行上述方法示例中的相应功能,例如,存储器1206可以用于存储接口板1202的程序代码,处理器1205用于调用存储器1206中的程序代码触发接口卡1207执行上述方法实施例中第一设备执行的各种信息接收和发送,例如,处理器1205调用存储器1206中的程序代码触发接口卡1207支持第一设备1200执行图4中的步骤401、步骤403、步骤405和步骤406。处理器1205,还用于将业务标识向主控板1201发送。存储器1204可以用于存储主控板1201的程序代码,处理器1203用于调用存储器1204中的程序代码执行上述方法实施例中第一设备除了信息收发之外的其他处理。例如,处理器1203用于支持第一设备1200执行图4中的步骤402,和/或本文所描述的技术中第一设备执行的其它过程。存储器1204用于存储主控板1201的程序代码和数据。具体执行过程请参考上述图4所示实施例中相应步骤的详细描述,这里不再一一赘述。
在一种可能的实现方式中,主控板1201和接口板1202之间建立IPC控制通道,主控板1201和接口板1202之间利用该IPC控制通道进行通信。
图13是本申请实施例提供的一种服务节点的结构示意图,可以实现图4所示的实施例中服务节点的功能。如图13所示,该服务节点1300包括:接收单元1301、处理单元1302和发送单元1303。这些单元可以执行上述方法实施例中服务节点的相应功能。接收单元1301,用于支持服务节点执行图4中的步骤403(接收第一设备发送的报文);处理单元1302,用于支持服务节点执行图4中的步骤404,以及本文所描述的技术中服务节点执行的其它过程;发送单元1303,用于支持服务节点执行图4中的步骤405。例如,接收单元1301,用于执行上述方法实施例中服务节点执行的各种信息接收;处理单元1302,用于执行上述方法实施例中服务节点除了信息收发动作之外的其它处理;发送单元1303,用于执行上述方法实施例中服务节点执行的各种信息发送。举例来说,接收单元1301,用于接收第一设备发送的报文。处理单元1302,用于生成第一消息,该第一消息包括服务节点中所部署的应用服务的算力资源等级。发送单元1303,用于向第一设备发送该第一消息。具体执行过程请参考上述图4所示实施例中相应步骤的详细描述,这里不再一一赘述。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,接收单元和发送单元可以是同一个单元,也可以是不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
在采用集成的单元的情况下,图14示出了上述实施例中所涉及的服务节点的另一种可能的结构示意图。该服务节点1400同样可以实现如图4所示的实施例中的服务节点的功能。服务节点1400包括:存储单元1401、处理单元1402和通信单元1403。通信单元1403用于支持服务节点1400与其他网络实体的通信,例如与图4中示出的服务节点之间的通信,举例来说,通信单元1403用于支持服务节点1400执行图4中的步骤403和步骤405。处理单元1402用于对服务节点1400的动作进行控制管理,例如,处理单元1402用于支持服务节点1400执行图4中的步骤404,和/或本文所描述的技术中服务节点执行的其它过程。存储单元1401,用于存储服务节点1400的程序代码和数据。具体执行过程请参考上述图4所示实施例中相应 步骤的详细描述,这里不再一一赘述。
其中,处理单元1402可以是处理器,例如可以是CPU、通用处理器,DSP、ASIC、FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元1403可以是收发器,存储单元1401可以是存储器。
当处理单元1402为处理器,通信单元1403为收发器,存储单元1401为存储器时,本申请实施例所涉及的服务节点可以为图15所示的服务节点1500。
参阅图15所示,该服务节点1500包括:处理器1502、收发器1503、存储器1501以及总线1504。其中,处理器1502、收发器1503以及存储器1501通过总线1504相互连接;总线1504可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该服务节点1500可以实现图4所示的实施例中的服务节点的功能。处理器1502和收发器1503可以执行上述方法示例中服务节点的相应功能。收发器1503用于支持服务节点1500执行图4中的步骤403和步骤405。处理器1502用于支持服务节点1500执行图4中的步骤404,和/或本文所描述的技术中服务节点执行的其它过程。存储器1501,用于存储服务节点1500的程序代码和数据。具体执行过程请参考上述图4所示实施例中相应步骤的详细描述,这里不再一一赘述。
图16是本申请实施例提供的还一种服务节点的结构示意图。如图16所示,服务节点1600可以为路由器或交换器或网关或有转发功能的网络设备,网络设备1600能够实现前述方法实施例中的服务节点的功能。所述服务节点1600包括:主控板1601和接口板1602。主控板1601包括:处理器1603和存储器1604。接口板1602包括:处理器1605、存储器1606和接口卡1607。主控板1601和接口板1602耦合。
这些硬件可以执行上述方法示例中的相应功能,例如,存储器1606可以用于存储接口板1602的程序代码,处理器1605用于调用存储器1606中的程序代码触发接口卡1607执行上述方法实施例中服务节点执行的各种信息接收和发送,例如,处理器1605调用存储器1606中的程序代码触发接口卡1607支持服务节点1600执行图4中的步骤403和步骤405。处理器1605,还用于将业务标识向主控板1601发送。存储器1604可以用于存储主控板1601的程序代码,处理器1603用于调用存储器1604中的程序代码执行上述方法实施例中服务节点除了信息收发之外的其他处理。例如,处理器1603用于支持服务节点1600执行图4中的步骤404,和/或本文所描述的技术中服务节点执行的其它过程。存储器1604用于存储主控板1601的程序代码和数据。具体执行过程请参考上述图4所示实施例中相应步骤的详细描述,这里不再一一赘述。
在一种可能的实现方式中,主控板1601和接口板1602之间建立IPC控制通道,主控板1601和接口板1602之间利用该IPC控制通道进行通信。
图17是本申请实施例提供的一种报文转发系统的结构示意图。该系统用于实现前述方法实施例中的报文转发方法。如图17所示,该系统包括:第一设备1701和服务节点1702。该第一设备1701和服务节点1702可以分别实现图4所示的实施例中的第一设备和服务节点的 功能。例如,第一设备执行图4中的步骤402、步骤403和步骤406,和/或用于本文所描述的技术中第一设备执行的其它过程。服务节点1702执行图4中的步骤404和步骤405,和/或用于本文所描述的技术中服务节点执行的其它过程。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被设备的处理器执行时,实现如第一方面任一所述的报文转发方法;或者,当所述指令被服务节点的处理器执行时,实现如第二方面任一所述的报文转发方法。
需说明的是,以上描述的任意装置实施例都仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的第一设备或服务节点实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read only memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、硬盘、移动硬盘、光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (34)

  1. 一种报文转发方法,其特征在于,所述方法包括:
    第一设备接收第二设备发送的报文,所述报文包括指示信息和应用服务标识;
    所述第一设备根据所述指示信息和所述应用服务标识确定目标服务节点,所述目标服务节点的服务能力与所述指示信息匹配,所述目标服务节点中部署有所述应用服务标识对应的目标应用服务;
    所述第一设备向所述目标服务节点发送所述报文。
  2. 根据权利要求1所述的方法,其特征在于,所述第二设备为用户设备,所述指示信息包括所述第二设备对应的用户服务等级,所述第一设备中存储有多个服务节点中所部署的应用服务的算力资源等级与用户服务等级的对应关系;
    所述第一设备根据所述指示信息和所述应用服务标识确定目标服务节点,包括:
    所述第一设备基于所述对应关系,将部署有所述目标应用服务、且所述目标应用服务的算力资源等级与所述第二设备对应的用户服务等级相匹配的服务节点,确定为所述目标服务节点。
  3. 根据权利要求1所述的方法,其特征在于,所述指示信息包括所述第二设备对应的算力资源等级,所述第一设备中存储有多个服务节点中所部署的应用服务的算力资源等级;
    所述第一设备根据所述指示信息和所述应用服务标识确定目标服务节点,包括:
    所述第一设备将部署有所述目标应用服务、且所述目标应用服务的算力资源等级与所述第二设备对应的算力资源等级相同的服务节点,确定为所述目标服务节点。
  4. 根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
    所述第一设备接收所述多个服务节点发送的第一消息,所述第一消息包括对应的服务节点中所部署的应用服务的算力资源等级。
  5. 根据权利要求4所述的方法,其特征在于,所述第一消息为边界网关协议BGP更新消息,所述算力资源等级承载于所述BGP更新消息中的路由属性字段。
  6. 根据权利要求4或5所述的方法,其特征在于,
    所述第一消息还包括所述服务节点中所部署的应用服务的应用服务标识以及所述服务节点中所部署的应用服务的实例的互联网协议IP地址;
    或者,所述第一消息还包括所述服务节点中所部署的应用服务对应的任播IP地址。
  7. 根据权利要求1所述的方法,其特征在于,所述指示信息包括所述第二设备的算力资源需求信息;所述第一设备根据所述指示信息和所述应用服务标识确定目标服务节点,包括:
    所述第一设备将部署有所述目标应用服务、且所述目标应用服务的算力信息满足所述第 二设备的算力资源需求信息所指示的需求的服务节点,确定为所述目标服务节点。
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    所述第一设备接收所述服务节点发送的第二消息,所述第二消息包括所述服务节点中所部署的应用服务的算力信息。
  9. 根据权利要求7或8所述的方法,其特征在于,所述算力资源需求信息包括算力资源的需求数量、最大允许算力资源利用率或请求处理最大允许时延中的一个或多个;
    应用服务的算力信息包括所述应用服务所分配到的算力资源的数量、所述应用服务的算力资源利用率、所述应用服务的请求处理时延、所述应用服务的设备连接数或所述应用服务的重轻载状态中的一个或多个。
  10. 根据权利要求1至9任一所述的方法,其特征在于,所述报文还包括请求处理的内容,所述方法还包括:
    所述第一设备接收所述目标计算节点发送的针对所述内容的处理结果;
    所述第一设备向所述第二设备发送所述处理结果。
  11. 根据权利要求1至10任一所述的方法,其特征在于,所述报文为计算请求报文、上线请求报文或存储请求报文。
  12. 根据权利要求1至11任一所述的方法,其特征在于,所述报文为IPv6报文,所述指示信息承载于所述IPv6报文的逐跳扩展头或分段路由头中。
  13. 一种报文转发方法,其特征在于,所述方法包括:
    服务节点生成第一消息,所述第一消息包括所述服务节点中所部署的应用服务的算力资源等级;
    所述服务节点向第一设备发送所述第一消息。
  14. 根据权利要求13所述的方法,其特征在于,所述第一消息为边界网关协议BGP更新消息,所述算力资源等级承载于所述BGP更新消息中的路由属性字段。
  15. 根据权利要求13或14所述的方法,其特征在于,
    所述第一消息还包括所述服务节点中所部署的应用服务的应用服务标识以及所述服务节点中所部署的应用服务的实例的互联网协议IP地址;
    或者,所述第一消息还包括所述服务节点中所部署的应用服务对应的任播IP地址。
  16. 根据权利要求13至15任一所述的方法,其特征在于,所述方法还包括:
    所述服务节点接收所述第一设备发送的报文,所述报文包括请求处理的内容;
    所述服务节点在处理所述内容后,向所述第一设备发送针对所述内容的处理结果。
  17. 一种报文转发装置,其特征在于,应用于第一设备,所述装置包括:
    接收单元,用于接收第二设备发送的报文,所述报文包括指示信息和应用服务标识;
    处理单元,用于根据所述指示信息和所述应用服务标识确定目标服务节点,所述目标服务节点的服务能力与所述指示信息匹配,所述目标服务节点中部署有所述应用服务标识对应的目标应用服务;
    发送单元,用于向所述目标服务节点发送所述报文。
  18. 根据权利要求17所述的装置,其特征在于,所述第二设备为用户设备,所述指示信息包括所述第二设备对应的用户服务等级,所述装置中存储有多个服务节点中所部署的应用服务的算力资源等级与用户服务等级的对应关系;
    所述处理单元,用于基于所述对应关系,将部署有所述目标应用服务、且所述目标应用服务的算力资源等级与所述第二设备对应的用户服务等级相匹配的服务节点,确定为所述目标服务节点。
  19. 根据权利要求17所述的装置,其特征在于,所述指示信息包括所述第二设备对应的算力资源等级,所述装置中存储有多个服务节点中所部署的应用服务的算力资源等级;
    所述处理单元,用于将部署有所述目标应用服务、且所述目标应用服务的算力资源等级与所述第二设备对应的算力资源等级相同的服务节点,确定为所述目标服务节点。
  20. 根据权利要求18或19所述的装置,其特征在于,
    所述接收单元,还用于接收所述多个服务节点发送的第一消息,所述第一消息包括对应的服务节点中所部署的应用服务的算力资源等级。
  21. 根据权利要求20所述的装置,其特征在于,所述第一消息为边界网关协议BGP更新消息,所述算力资源等级承载于所述BGP更新消息中的路由属性字段。
  22. 根据权利要求20或21所述的装置,其特征在于,
    所述第一消息还包括所述服务节点中所部署的应用服务的应用服务标识以及所述服务节点中所部署的应用服务的实例的互联网协议IP地址;
    或者,所述第一消息还包括所述服务节点中所部署的应用服务对应的任播IP地址。
  23. 根据权利要求17所述的装置,其特征在于,所述指示信息包括所述第二设备的算力资源需求信息;
    所述处理单元,用于将部署有所述目标应用服务、且所述目标应用服务的算力信息满足所述第二设备的算力资源需求信息所指示的需求的服务节点,确定为所述目标服务节点。
  24. 根据权利要求23所述的装置,其特征在于,
    所述接收单元,还用于接收所述服务节点发送的第二消息,所述第二消息包括所述服务 节点中所部署的应用服务的算力信息。
  25. 根据权利要求23或24所述的装置,其特征在于,所述算力资源需求信息包括算力资源的需求数量、最大允许算力资源利用率或请求处理最大允许时延中的一个或多个;
    应用服务的算力信息包括所述应用服务所分配到的算力资源的数量、所述应用服务的算力资源利用率、所述应用服务的请求处理时延、所述应用服务的设备连接数或所述应用服务的重轻载状态中的一个或多个。
  26. 根据权利要求17至25任一所述的装置,其特征在于,所述报文还包括请求处理的内容;
    所述接收单元,还用于接收所述目标计算节点发送的针对所述内容的处理结果;
    所述发送单元,还用于向所述第二设备发送所述处理结果。
  27. 根据权利要求17至26任一所述的装置,其特征在于,所述报文为计算请求报文、上线请求报文或存储请求报文。
  28. 根据权利要求17至27任一所述的装置,其特征在于,所述报文为IPv6报文,所述指示信息承载于所述IPv6报文的逐跳扩展头或分段路由头中。
  29. 一种报文处理装置,其特征在于,应用于服务节点,所述装置包括:
    处理单元,用于生成第一消息,所述第一消息包括所述服务节点中所部署的应用服务的算力资源等级;
    发送单元,用于向第一设备发送所述第一消息。
  30. 根据权利要求29所述的装置,其特征在于,所述第一消息为边界网关协议BGP更新消息,所述算力资源等级承载于所述BGP更新消息中的路由属性字段。
  31. 根据权利要求29或30所述的装置,其特征在于,
    所述第一消息还包括所述服务节点中所部署的应用服务的应用服务标识以及所述服务节点中所部署的应用服务的实例的互联网协议IP地址;
    或者,所述第一消息还包括所述服务节点中所部署的应用服务对应的任播IP地址。
  32. 根据权利要求29至31任一所述的装置,其特征在于,所述装置还包括:接收单元;
    所述接收单元,用于接收所述第一设备发送的报文,所述报文包括请求处理的内容;
    所述发送单元,还用于在所述处理单元处理所述内容后,向所述第一设备发送针对所述内容的处理结果。
  33. 一种报文转发系统,其特征在于,所述系统包括:第一设备和至少一个服务节点,所述第一设备包括如权利要求17至28任一所述的装置,所述服务节点包括如权利要求29至 32任一所述的装置。
  34. 一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至16任一所述的方法。
PCT/CN2022/086359 2021-04-15 2022-04-12 报文转发方法、装置及系统、计算机可读存储介质 WO2022218304A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP22787527.5A EP4319310A1 (en) 2021-04-15 2022-04-12 Message forwarding method, apparatus and system, and computer-readable storage medium
BR112023020974A BR112023020974A2 (pt) 2021-04-15 2022-04-12 Método, aparelho, e sistema de encaminhamento de pacote, e mídia de armazenamento legível por computador
JP2023563070A JP2024514643A (ja) 2021-04-15 2022-04-12 パケット転送方法、装置、およびシステム、並びにコンピュータ可読記憶媒体
US18/486,253 US20240048477A1 (en) 2021-04-15 2023-10-13 Packet forwarding method, apparatus, and system, and computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110406331.5 2021-04-15
CN202110406331.5A CN115226073A (zh) 2021-04-15 2021-04-15 报文转发方法、装置及系统、计算机可读存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/486,253 Continuation US20240048477A1 (en) 2021-04-15 2023-10-13 Packet forwarding method, apparatus, and system, and computer-readable storage medium

Publications (1)

Publication Number Publication Date
WO2022218304A1 true WO2022218304A1 (zh) 2022-10-20

Family

ID=83605826

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/086359 WO2022218304A1 (zh) 2021-04-15 2022-04-12 报文转发方法、装置及系统、计算机可读存储介质

Country Status (6)

Country Link
US (1) US20240048477A1 (zh)
EP (1) EP4319310A1 (zh)
JP (1) JP2024514643A (zh)
CN (1) CN115226073A (zh)
BR (1) BR112023020974A2 (zh)
WO (1) WO2022218304A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115967670A (zh) * 2022-10-28 2023-04-14 北京星网锐捷网络技术有限公司 一种路由方法及装置
WO2024088199A1 (zh) * 2022-10-28 2024-05-02 锐捷网络股份有限公司 业务处理方法、系统、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105407162A (zh) * 2015-11-27 2016-03-16 国云科技股份有限公司 一种基于SLA服务等级的云计算Web应用资源负载均衡算法
US10499304B1 (en) * 2018-06-18 2019-12-03 Google Llc Fifth generation new radio edge computing mobility management
CN112035516A (zh) * 2020-09-30 2020-12-04 北京百度网讯科技有限公司 用于算子服务的处理方法、装置、智能工作站和电子设备
WO2021017161A1 (zh) * 2019-07-26 2021-02-04 网宿科技股份有限公司 一种资源获取方法及边缘计算调度服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105407162A (zh) * 2015-11-27 2016-03-16 国云科技股份有限公司 一种基于SLA服务等级的云计算Web应用资源负载均衡算法
US10499304B1 (en) * 2018-06-18 2019-12-03 Google Llc Fifth generation new radio edge computing mobility management
WO2021017161A1 (zh) * 2019-07-26 2021-02-04 网宿科技股份有限公司 一种资源获取方法及边缘计算调度服务器
CN112035516A (zh) * 2020-09-30 2020-12-04 北京百度网讯科技有限公司 用于算子服务的处理方法、装置、智能工作站和电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HUAWEI, HISILICON: "KI #10 & #16, New Sol: Solution for NWDAF assisted UP optimization for edge computing", 3GPP DRAFT; S2-2003882, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. SA WG2, no. e-meeting ;20200601 - 20200612, 22 May 2020 (2020-05-22), Mobile Competence Centre ; 650, route des Lucioles ; F-06921 Sophia-Antipolis Cedex ; France , XP051889890 *
HUAWEI, HISILICON: "KI#2, New solution: Application Relocation with UE assistance", 3GPP DRAFT; S2-2004127, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. SA WG2, no. Elbonia; 20200601 - 20200612, 22 May 2020 (2020-05-22), Mobile Competence Centre ; 650, route des Lucioles ; F-06921 Sophia-Antipolis Cedex ; France , XP051890134 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115967670A (zh) * 2022-10-28 2023-04-14 北京星网锐捷网络技术有限公司 一种路由方法及装置
WO2024087999A1 (zh) * 2022-10-28 2024-05-02 北京星网锐捷网络技术有限公司 路由方法、系统、存储介质及电子设备
WO2024088199A1 (zh) * 2022-10-28 2024-05-02 锐捷网络股份有限公司 业务处理方法、系统、存储介质及电子设备

Also Published As

Publication number Publication date
JP2024514643A (ja) 2024-04-02
US20240048477A1 (en) 2024-02-08
CN115226073A (zh) 2022-10-21
EP4319310A1 (en) 2024-02-07
BR112023020974A2 (pt) 2023-12-12

Similar Documents

Publication Publication Date Title
WO2022218304A1 (zh) 报文转发方法、装置及系统、计算机可读存储介质
CN105610632B (zh) 一种虚拟网络设备及相关方法
AU2013351670B2 (en) Business scheduling method and apparatus and convergence device
EP1423945B1 (en) Method and arrangement in an ip network
WO2023000935A1 (zh) 一种数据处理方法、网元设备以及可读存储介质
WO2018156421A1 (en) Load balancing in distributed computing systems
JP6364106B2 (ja) DiameterシグナリングルータにおいてDiameterメッセージをルーティングするための方法、システムおよびコンピュータ読取可能媒体
EP3113539A1 (en) Load balancing user plane traffic in a telecommunication network
JP5496353B2 (ja) ネットワークリソース管理の方法および配置構成
WO2021254001A1 (zh) 会话建立方法、装置、系统及计算机存储介质
JP2017517220A (ja) OpenFlow通信方法及びシステム、制御部、並びにサービスゲートウェイ
WO2018045992A1 (zh) 地址管理方法及装置
US7327729B2 (en) System and method for communications with reservation of network resources, and terminal therefore
Pirmagomedov et al. Augmented computing at the edge using named data networking
CN108667957B (zh) Ip地址分配方法、第一电子设备以及第一服务器
CN111343254B (zh) 客户端连接方法、装置和电子设备
CN110708678B (zh) 一种通信方法及设备
WO2023273957A1 (zh) 算力发布方法、算力更新方法及装置
CN114338607A (zh) 5g用户终端ip地址确认方法、装置及系统
WO2023005745A1 (zh) 报文转发方法、装置及系统、计算机可读存储介质
JP2012169789A (ja) 負荷分散サーバ及びサーバ選択方法及びサーバ選択プログラム
WO2023274087A1 (zh) 报文转发的方法、装置及系统
WO2023026443A1 (ja) 情報処理システム、情報処理方法及び情報処理プログラム
CN112988320A (zh) 创建虚拟机的方法及装置
CN113872998A (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: 22787527

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023563070

Country of ref document: JP

Ref document number: MX/A/2023/012176

Country of ref document: MX

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112023020974

Country of ref document: BR

WWE Wipo information: entry into national phase

Ref document number: 2022787527

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022787527

Country of ref document: EP

Effective date: 20231025

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 112023020974

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20231009