CN116566989A - Server selection method and device - Google Patents

Server selection method and device Download PDF

Info

Publication number
CN116566989A
CN116566989A CN202310102431.8A CN202310102431A CN116566989A CN 116566989 A CN116566989 A CN 116566989A CN 202310102431 A CN202310102431 A CN 202310102431A CN 116566989 A CN116566989 A CN 116566989A
Authority
CN
China
Prior art keywords
target
controller
information
service
network
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202310102431.8A
Other languages
Chinese (zh)
Inventor
马季春
张桂玉
梁晓晨
刘博文
张笑颜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
China Information Technology Designing and Consulting Institute Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
China Information Technology Designing and Consulting Institute Co Ltd
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 China United Network Communications Group Co Ltd, China Information Technology Designing and Consulting Institute Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202310102431.8A priority Critical patent/CN116566989A/en
Publication of CN116566989A publication Critical patent/CN116566989A/en
Pending legal-status Critical Current

Links

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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs

Landscapes

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

Abstract

The application provides a server selection method and device, relates to the technical field of communication, and can accurately select an optimal server under the condition of low load. The method comprises the following steps: after receiving a target service triggered by a target user through an orchestrator, determining a user address of the target user; then determining a target area corresponding to the target user according to the user address of the target user and the routing addresses corresponding to the plurality of special routing reflectors stored in the controller; and finally, determining a target server for the target service through the orchestrator based on the area information of the target area stored in the controller. The embodiment of the application is used in the server selection process.

Description

Server selection method and device
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a method and an apparatus for selecting a server.
Background
In the existing network architecture, the routing policy is often implemented in the form of a distributed algorithm and integrated in the decentralized network switching device, and the lack of a control plane for centralized management in the network architecture results in that the distributed routing policy has difficulty in acquiring and maintaining global network information and device information. The simpler routing strategy only estimates network information and equipment information by taking the response time of the network equipment or the current active session number as a basis through link delay; however, the network information and the device information cannot be accurately estimated only by these pieces of information, and thus the best server cannot be accurately selected.
More complex distributed routing algorithms, while able to more accurately select the best server, can greatly increase the load on the network device. Such as some more complex distributed routing algorithms, collect network information and device information through routers. Although the network information and the device information can be accurately calculated, the algorithm not only needs the routing device to collect various parameter information, but also needs the routing device to forward the data packet, thereby increasing the load of the routing device.
Thus, there is a need for a method that can accurately select the best server under low load.
Disclosure of Invention
The application provides a server selection method and device, which can accurately select an optimal server under the condition of low load.
In order to achieve the above purpose, the present application adopts the following technical scheme:
in a first aspect, the present application provides a server selection method, including:
after receiving a target service triggered by a target user through an orchestrator, determining a user address of the target user;
determining a target area corresponding to the target user according to the user address of the target user and the route addresses corresponding to the plurality of special route reflectors stored in the controller; the target area is an area corresponding to the target-specific routing reflector; the target special route reflector is a special route reflector with a route address containing a user address of a target user;
Determining a target server for the target service through the orchestrator based on the area information of the target area stored in the controller; the target server is used for executing the target service.
Based on the above technical solution, in the server selection method provided in the embodiments of the present application, after receiving a target service triggered by a target user, a composer may determine a user address of the target user; then determining a target area corresponding to the target user according to the user address of the target user and the routing addresses corresponding to the plurality of special routing reflectors stored in the controller; and finally, determining a target server for the target service through the orchestrator based on the area information of the target area stored in the controller. The target area is an area corresponding to the target-dedicated routing reflector; the target special route reflector is a special route reflector with a route address containing a user address of a target user; the target server is used for executing the target service. By the method, the optimal server can be accurately selected under the condition of low load.
Optionally, the area information includes device information and network information; the device information includes device information of each network device included in the target area; the network information includes network information of each network included in the target area; determining, by the orchestrator, a target server for the target service based on the region information of the target region stored in the controller, including:
Acquiring equipment information and network information contained in a target area from a controller through an orchestrator according to a routing address of a target special routing reflector;
a target server is determined for the target service by the orchestrator based on the device information and network information contained in the target area.
Optionally, the area information includes service servers corresponding to each service type; determining, by the orchestrator, a target server for the target service based on the region information of the target region stored in the controller, including:
determining a service type of the target service through a composer; the service type of the target service is contained in the service type contained in the target area;
acquiring service servers corresponding to each service type contained in a target area stored in a controller through an orchestrator; the service server is determined by the orchestrator according to the device information and the network information contained in the target area stored in the controller; the device information includes device information of each network device included in the target area; the network information includes network information of each network included in the target area;
and determining the service server corresponding to the service type of the target service as the target server.
Optionally, the device information and the network information contained in the corresponding areas of the plurality of dedicated routing reflectors are stored in the controller by the following method:
after receiving the data acquisition instruction sent by the orchestrator through the controller, acquiring equipment information and network information contained in the corresponding area from each special route reflector through the controller; storing the acquired equipment information and network information contained in the corresponding areas of the plurality of special routing reflectors into a controller; or alternatively, the first and second heat exchangers may be,
after receiving, by the controller, the device information and the network information included in the corresponding areas sent by the respective dedicated routing reflectors, the device information and the network information included in the corresponding areas of the received plurality of dedicated routing reflectors are stored in the controller.
Optionally, after determining, by the orchestrator, the target server for the target service, the method further comprises:
transmitting the identification information of the target server to the controller through the orchestrator; the controller comprises a main controller and a standby controller;
the identification information of the target server is sent to the target-specific route reflector by the controller.
In a second aspect, the present application provides a server selection apparatus, the apparatus comprising:
The first determining unit is used for determining the user address of the target user after receiving the target service triggered by the target user through the orchestrator;
the second determining unit is used for determining a target area corresponding to the target user according to the user address of the target user and the route addresses corresponding to the plurality of special route reflectors stored in the controller; the target area is an area corresponding to the target-specific routing reflector; the target special route reflector is a special route reflector with a route address containing a user address of a target user;
a third determining unit for determining a target server for the target service through the orchestrator based on the area information of the target area stored in the controller; the target server is used for executing the target service.
Optionally, the area information includes device information and network information; the device information includes device information of each device included in the target area; the network information includes network information of each network included in the target area; the third determining unit is specifically configured to:
acquiring equipment information and network information contained in a target area from a controller through an orchestrator according to a routing address of a target special routing reflector;
A target server is determined for the target service by the orchestrator based on the device information and network information contained in the target area.
Optionally, the area information includes service servers corresponding to each service type; the third determining unit is specifically configured to:
determining a service type of the target service through a composer; the service type of the target service is contained in the service type contained in the target area;
acquiring service servers corresponding to each service type contained in a target area stored in a controller through an orchestrator; the service server is determined by the orchestrator according to the device information and the network information contained in the target area stored in the controller; the device information includes device information of each network device included in the target area; the network information includes network information of each network included in the target area;
and determining the service server corresponding to the service type of the target service as the target server.
Optionally, the device information and the network information contained in the corresponding areas of the plurality of dedicated routing reflectors are stored in the controller by the following method:
after receiving the data acquisition instruction sent by the orchestrator through the controller, acquiring equipment information and network information contained in the corresponding area from each special route reflector through the controller; storing the acquired equipment information and network information contained in the corresponding areas of the plurality of special routing reflectors into a controller; or alternatively, the first and second heat exchangers may be,
After receiving, by the controller, the device information and the network information included in the corresponding areas sent by the respective dedicated routing reflectors, the device information and the network information included in the corresponding areas of the received plurality of dedicated routing reflectors are stored in the controller.
Optionally, after the third determining unit, the apparatus further includes a issuing unit, where the issuing unit is specifically configured to:
transmitting the identification information of the target server to the controller through the orchestrator; the controller comprises a main controller and a standby controller;
the identification information of the target server is sent to the target-specific route reflector by the controller.
In a third aspect, the present application provides a server selection apparatus, including: a processor and a communication interface; the communication interface is coupled to a processor for running a computer program or instructions to implement the server selection method as described in any one of the possible implementations of the first aspect and the first aspect.
In a fourth aspect, the present application provides a computer readable storage medium having instructions stored therein which, when run on a terminal, cause the terminal to perform a server selection method as described in any one of the possible implementations of the first aspect and the first aspect.
In a fifth aspect, embodiments of the present application provide a computer program product comprising instructions which, when run on a server selection device, cause the server selection device to perform a server selection method as described in any one of the possible implementations of the first aspect and the first aspect.
In a sixth aspect, embodiments of the present application provide a chip comprising a processor and a communication interface, the communication interface and the processor being coupled, the processor being configured to execute a computer program or instructions to implement a server selection method as described in any one of the possible implementations of the first aspect and the first aspect.
Specifically, the chip provided in the embodiments of the present application further includes a memory, configured to store a computer program or instructions.
Drawings
Fig. 1 is a system architecture diagram to which a server selection method according to an embodiment of the present application is applied;
fig. 2 is a schematic structural diagram of a server selection method application provided in an embodiment of the present application;
fig. 3 is a flowchart of a server selection method provided in an embodiment of the present application;
fig. 4 is a flowchart for establishing a connection with a user equipment of a target user according to an embodiment of the present application;
Fig. 5 is a schematic structural diagram of a server selection device according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of another server selection apparatus according to an embodiment of the present application.
Detailed Description
The following describes a server selection method and device provided in the embodiments of the present application in detail with reference to the accompanying drawings.
The term "and/or" is herein merely an association relationship describing an associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone.
The terms "first" and "second" and the like in the description and in the drawings are used for distinguishing between different objects or for distinguishing between different processes of the same object and not for describing a particular sequential order of objects.
Furthermore, references to the terms "comprising" and "having" and any variations thereof in the description of the present application are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed but may optionally include other steps or elements not listed or inherent to such process, method, article, or apparatus.
It should be noted that, in the embodiments of the present application, words such as "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "for example" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
Some of the terms in the embodiments of the present application are explained below to facilitate understanding by those skilled in the art:
1、SDN
SDN: the software defined network (Software Defined Network) is a novel network innovation architecture and is an implementation manner of network virtualization. The core technology is OpenFlow, and the control plane and the data plane of the network equipment can be separated through the OpenFlow, so that flexible control of network flow is realized, the network becomes more intelligent as a pipeline, and a good platform is provided for innovation of the core network and application.
SDN is to concentrate the control logic of the switching equipment in the network to one computing equipment by separating control from forwarding, thereby bringing new ideas for improving the network management configuration capability. An essential feature of SDN is the separation of control and data planes and open programmability. SDN breaks the closure of traditional network devices by separating control and data planes and open communication protocols. In addition, the open interfaces and programmability in the north-south and east-west directions also make network management simpler, dynamic and flexible.
2、BGP
BGP: border gateway protocol (Border Gateway Protocol); BGP is a standard inter-domain routing protocol actually used by the current internet, and BGP can connect a plurality of autonomous domains with different topologies and different sizes together and exchange routing information with each other. BGP has the most important feature over other routing protocols in that it has a unique route propagation pattern and a flexible and versatile routing strategy. BGP propagates path information mainly including NLRI (network layer reachability information ) and path attributes. The NLRI contains an IP prefix (prefix) and a length, and can be used to identify a CIDR (Classification Inter-Domain Routing) address of a destination network. The PATH attribute describes a special attribute of the route to the CIDR address, e.g., the AS PATH attribute lists a string of AS PATHs that pass through to reach the destination network; the NEXT HOP attribute specifies the NEXT HOP address for the route; the communication attribute is used for marking one or a class of routes, so that the transmission mode of one route is convenient to directly control. In actual operation, the AS (Autonomous system ) implements its routing policy by setting path attributes of BGP routes. The BGP protocol specifies that a route with a higher local_pref value, a shorter as_path, and a smaller multi_exit_disc value will be selected AS the best route.
3、Anycast
Anycast (Anycast): anycast is a novel one-to-many communication mode proposed in IPv6, and due to the fact that a routing strategy can route data packets to a nearest server, anycast can save routing and link resources, increase resource utilization rate and avoid single point failure, and therefore has important application in load balancing of network services such as DNS (Domain Name Server ), website mirroring, video on demand and the like. Anycast can use BGP routing principle, short AS PATH will be selected AS optimal PATH, so AS to optimize access speed, i.e. a technology that multiple different servers use the same IP address (the address is the shared unicast address of the group of hosts). When the sender sends a message to the shared unicast address, the message is routed to the host closest to the sender according to the routing protocol, so the technique can also be used for load balancing.
Fig. 1 is a system architecture diagram applied to a server selection method according to an embodiment of the present application, and as shown in fig. 1, the system architecture diagram may include a service layer 101, a control layer 102, and a device layer 103.
Specifically, the service layer 101 may include an orchestrator, such as an SDN orchestrator; the service layer 101 can manage and schedule the service triggered by the user; the method can also receive the user-triggered service and the area information of each area sent by the control layer 102, generate corresponding configuration parameters according to the user-triggered service and the area information of each area, and send the generated configuration parameters to the control layer 102.
The control layer 102 mainly includes controllers, such as SDN controllers; the control layer 102 may define a service model and a restful interface; the API call methods and examples may also be defined according to the service scenario, and the configuration generated by the service layer 101 may also be issued to each network device.
The device layer 103 mainly includes each network device.
Fig. 2 is a schematic structural diagram of an application of a server selection method according to an embodiment of the present application, and as shown in fig. 2, the schematic structural diagram may include an orchestrator 201, a controller 202, and a dedicated routing reflector 203. Wherein the number of dedicated routing reflectors 203 may include, but is not limited to, 4, the following embodiments are described taking the number of dedicated routing reflectors as 4 as an example.
Specifically, in an alternative embodiment, each dedicated routing reflector may acquire, according to a preset time, device information of each network device included in the corresponding area and network information of each network included in the corresponding area, and send the acquired device information and network information of the corresponding area to the controller 202, where the controller 202 may store the received device information and network information in a value database. After receiving the target service triggered by the user, the composer 201 may determine the user address of the target user, and then determine the target area corresponding to the target user according to the user address of the target user and the routing addresses corresponding to the multiple dedicated routing reflectors stored in the controller 202; acquiring the equipment information and the network information contained in the target area from the controller 202 through the orchestrator 201 according to the routing address of the target-specific routing reflector; finally, determining a target server for the target service through the orchestrator 201 based on the device information and the network information contained in the target area; the target area is an area corresponding to the target-dedicated routing reflector; the target-specific route reflector is a specific route reflector whose route address contains the user address of the target user.
In another alternative embodiment, each dedicated routing reflector may acquire device information of each network device included in the corresponding area and network information of each network included in the corresponding area according to a preset time, and send the acquired device information and network information of the corresponding area to the controller 202, and the controller 202 may send the received device information and network information to the orchestrator 201; after receiving the device information and the network information included in each area, the orchestrator 201 may determine and store a corresponding service server for each service type included in each area according to the device information and the network information included in each area. So that the composer 201 may determine, after receiving the target service triggered by the target user, a service server corresponding to the service type of the target service from the service servers included in the target area to which the target user belongs according to the service type of the target service.
In the embodiment of the application, the network information of each network may include, but is not limited to, network load information; the device information of each network device may include, but is not limited to, device load information, which is not limited in this application.
In the existing network architecture, the routing policy is often implemented in the form of a distributed algorithm and integrated in the decentralized network switching device, and the lack of a control plane for centralized management in the network architecture results in that the distributed routing policy has difficulty in acquiring and maintaining global network information and device information. The simpler routing strategy only estimates network information and equipment information by taking the response time of the network equipment or the current active session number as a basis through link delay; however, the network information and the device information cannot be accurately estimated only by these pieces of information, and thus the best server cannot be accurately selected.
More complex distributed routing algorithms, while able to more accurately select the best server, can greatly increase the load on the network device. Such as some more complex distributed routing algorithms, collect network information and device information through routers. Although the network information and the device information can be accurately calculated, the algorithm not only needs the routing device to collect various parameter information, but also needs the routing device to forward the data packet, thereby increasing the load of the routing device.
Thus, there is a need for a method that can accurately select the best server under low load.
In order to solve the above technical problems, the embodiments of the present application provide a server selection method, after receiving a target service triggered by a target user, the user address of the target user may be determined first, then a target area corresponding to the target user is determined according to the user address of the target user, and finally a target server is determined based on area information of the target area and the target service; the target server is used for executing the target service. By the method, the optimal server can be accurately selected under the condition of low load.
Fig. 3 is a flowchart of a server selection method according to an embodiment of the present application, as shown in fig. 3, where the method includes the following steps:
step S301, after receiving the target service triggered by the target user through the orchestrator, determining the user address of the target user.
In embodiments of the present application, the orchestrator may include, but is not limited to, an SDN orchestrator, which is not limited in this application.
Step S302, determining a target area corresponding to the target user according to the user address of the target user and the routing addresses corresponding to the plurality of special routing reflectors stored in the controller.
In the embodiment of the present application, the controller may include, but is not limited to, an SDN controller, which is not limited in this application.
In the embodiment of the present application, the dedicated route reflector may include, but is not limited to, BGP route reflector (i.e., iBGP), which is not limited in this application.
The target area is an area corresponding to the target-dedicated routing reflector; the target-specific route reflector is a specific route reflector whose route address contains the user address of the target user.
Step S303, determining, by the orchestrator, a target server for the target service based on the area information of the target area stored in the controller.
The target server is used for executing the target service.
In an alternative embodiment, the area information may include device information and network information; in determining a target server for a target service through a orchestrator, equipment information and network information contained in a target area can be acquired from a controller through the orchestrator according to a routing address of a target-specific routing reflector; the target server is then determined by the orchestrator for the target service based on the device information and network information contained in the target area. Wherein the device information includes device information of each network device included in the target area; the network information includes network information of each network included in the target area.
In another optional implementation manner, the area information may further include service servers corresponding to each service type; in the process of determining the target server for the target service through the orchestrator, the service type of the target service may be determined through the orchestrator, then the service servers corresponding to the service types included in the target area stored in the controller are obtained through the orchestrator, and finally the service server corresponding to the service type of the target service is determined as the target server. Wherein the service server is determined by the orchestrator from the device information and the network information contained in the target area stored in the controller; the service type of the target service is included in the service type included in the target area.
In an alternative embodiment, the device information and the network information contained in the corresponding areas of the plurality of dedicated routing reflectors may be stored in the controller by two methods:
the method comprises the following steps: after receiving the data acquisition instruction sent by the orchestrator through the controller, acquiring equipment information and network information contained in the corresponding area from each special route reflector through the controller; storing the acquired equipment information and network information contained in the corresponding areas of the plurality of special routing reflectors into a controller; or alternatively, the first and second heat exchangers may be,
The second method is as follows: after receiving, by the controller, the device information and the network information included in the corresponding areas sent by the respective dedicated routing reflectors, the device information and the network information included in the corresponding areas of the received plurality of dedicated routing reflectors are stored in the controller.
In this embodiment of the present application, for any network device, the priority of the network device may be further improved, and the priority information of the network device may be sent to other network devices in the same area with the network device, so as to implement priority access of the network device, and reduce access delay of the network device.
By the method, each area corresponds to the special routing reflector, when the target server is determined for the target service, the revolution of the flow in the network can be reduced, the nearby access of the user is realized, the service access time delay is reduced, and the optimal server can be accurately selected under the condition of low load.
In an alternative embodiment, after the step S303 (i.e., after the target server is determined for the target service by the orchestrator), the identification information of the target server may also be sent to the controller by the orchestrator; and transmitting, by the controller, the identification information of the target server to the target-specific routing reflector. The controller comprises a main controller and a standby controller.
In this embodiment of the present application, before step S301, before receiving the target service triggered by the target user, a connection may also be established with the user equipment of the target user in response to the request for establishing a connection sent by the target user. Specifically, as shown in fig. 4, the method for establishing a connection includes the following steps:
step S401, after receiving a request for establishing connection sent by a target user through an orchestrator, obtaining a user address of the target user.
Specifically, after receiving a connection establishment request sent by a target user through the orchestrator, the orchestrator may obtain a user address of the target user according to user address identification information included in the connection establishment request sent by the target user.
In the embodiment of the present application, the request for establishing connection sent by the target user may include, but is not limited to, a request for opening any service, which is not limited in this application.
Step S402, checking the user address of the target user.
Specifically, after the user address of the target user is obtained in step S401, the user address of the target user may be checked according to the routing range of the dedicated routing reflector.
Illustratively, in one embodiment, it is assumed that a total of 4 dedicated routing reflectors, IBGP-A, IBGP-B, IBGP-C, and IBGP-D, respectively, each have their own routing range. Assuming that the target user is user a, after the user address of the user a is obtained through step S401, whether the user address of the target user is included in the routing range of any one of the dedicated routing reflectors can be determined, if the user address of the target user is determined to be included in the routing range of any one of the dedicated routing reflectors, the verification of the user address of the target user is determined to be passed, and the following steps are executed; if the user address of the target user is determined not to be contained in the routing range of the 4 special routing reflectors, determining that the verification of the user address of the target user is not passed, and sending information of verification failure to the user equipment of the target user.
In the embodiment of the present application, the user address may include, but is not limited to, a user IP address, which is not limited in this application.
In the embodiment of the present application, the target user may be a certain user, or may be a certain city or a certain province, which is not limited in this application.
Step S403, the user equipment of the target user is matched with the access point, and a issuing task is generated.
Specifically, after the verification is passed, the corresponding access point can be matched for the user equipment of the target user according to the access type parameter carried in the request for establishing the connection sent by the target user, and a corresponding issuing task is generated.
In an embodiment, after the verification is passed, an accessType parameter carried in a request for establishing a connection sent by a target user may be obtained first, and it may be determined that the access type is metropolitan area network access, assuming that the obtained accessType parameter is 0. Therefore, the corresponding prefix information may be matched according to the user address of the target user, and the internal route prefix set parameter may be modified according to the matched prefix information, or the domestic route prefix set parameter may be modified according to the matched prefix information, or the total route prefix set parameter may be modified according to the matched prefix information, and after the modification is completed, the corresponding issuing task may be generated according to the above information (for example, the access point information, the prefix information, and the prefix set parameter).
In another embodiment, after the verification is passed, the accessType parameter carried in the request for establishing connection sent by the target user may be obtained first, and it may be determined that the access type is backbone access, assuming that the obtained accessType parameter is 1. Thus, a prefix set parameter may be created for the user equipment of the target user, a communication set parameter may be created, and the IN direction policy of the BGP client may be modified. After the modification is completed, a corresponding issuing task may be generated according to the information (e.g., access point information, prefix set parameter information, communication set parameter, and IN direction policy).
Step S404, the generated issuing task is sent to the controller through the orchestrator, and the issuing task sent by the controller is received through the orchestrator to receive successful information.
Step S405, the generated issuing task is sent to the network device through the controller.
Specifically, in the issuing process, the dedicated route reflector corresponding to the user equipment of the target user can be determined according to the access area coding parameter carried in the connection establishment request sent by the target user, and then the generated issuing task is sent to the dedicated route reflector corresponding to the user equipment of the target user through the controller, and is sent to the network equipment by the corresponding dedicated route reflector.
IN an optional implementation manner, IN the issuing process, the device type of the network device may be determined according to a type parameter carried IN a request for establishing connection sent by the target user, if the type parameter characterizes that the device type of the network device is an AC device, a corresponding IN direction policy is obtained, and the IN direction policy is modified IN a first manner, and then issued to the network device after the modification is completed; if the type parameter characterizes the RR equipment as the equipment type of the network equipment, the existing prefixed name is acquired and issued in a second mode.
In one embodiment, in the process of judging the device type of the network device according to the type parameter carried in the request for establishing connection sent by the target user, the device type of the network device can be queried in the communication table according to the user IP address, the communication-set-name and the communication value, and if the device type is found, the device type is skipped; if not, the user IP address, the community-set-name, and the community value are added to the community-list. Among them, the communication-list may include communication-id, matchMo de and communication.
Mode one:
(1) New increasing Anycast service prefix-set
First, the table is queried from serviceid, deviceip, traffic type to prefix-list. If empty, creating a prefix-set-name; and if the address is not empty, the queried prefix-set-name is fetched.
The prefix-list table is formed according to the user IP address, the data queried from the prefix-set-name to the prefix table and the incoming data, and comprises five parts: prefix-id, matchMode, prefix address, minimum mask length, and maximum mask length.
(2) Newly added Anycast service communication-set
Query to the community-list according to serviceid, deviceip and traffic type. Creating a community-set-name if empty; if not, the queried value is fetched as the community-set-name.
(3) Modifying the existing PEER route-policy and increasing Anycast service rules
And inquiring according to the serviceid and deviceip-policy table, returning failure if the list is empty, and taking the inquired value as route-policy-name if the list is not empty, namely the name of the routing policy.
Mode two:
the table is queried to the prefix-list according to serviceid, deviceip and the service type. If empty, creating a prefix-set-name; and if the address is not empty, the queried prefix-set-name is fetched.
The prefix-list table is formed according to data queried from the devices ip, prefix-set-name to the prefix table and incoming data, and comprises the following five parts: prefix-id, matchMode, prefix address, minimum mask length, and maximum mask length.
In the embodiment of the application, the generated issuing task can also be sent to the network device in a mode of full-quantity issuing of PUT. Where PUT is a protocol in HTTP with idempotent features, the same PUT request is identical regardless of how many times it is performed. Therefore, in the case that the current network has multiple API support, the manner of using PUT full-delivery is more suitable.
In the embodiment of the application, the controller can comprise a main controller and a standby controller, and when the main controller fails, the standby controller can be adopted for issuing, so that the normal running of issuing tasks can be ensured.
In the embodiment of the application, for the AC device, whether the use-prefix-set-name field is empty or not can be queried according to serviceid, deviceip, route-policy-name, if so, an error is reported, and if not, the sub-rule is placed in the maximum rule-id. The routing rules of the AC device may include four parts: rule-id, match-type, policy-action, and match-item. Wherein, sub-rule refers to sub rule, including four parts: sub-rule-id, sub-match-type, sub-match-item and sub-match-action. The sub-match-item includes sub-item-id, use-prefix-set-name, and use-communication-set-name. sub-match-action includes set-local-pref, set-med, and set-communication.
For RR devices, the inventory data can be queried according to serviceid, deviceip and route-policy-name, and a new route-policy-rule can be appended. The routing rules of the RR device may include three parts: rule-id, match-item, route-action. Wherein the match-item includes item-id, use-prefix-set-name, and use-communication-set-name. route-action includes set-local-pref, set-med and set-communication.
In this embodiment of the present application, in addition to the foregoing issuing manner, a manual issuing manner by a user may also be adopted, which is not limited in this application.
In the embodiment of the application, the information such as the issuing task, the user information, the information contained in the issuing task, the client access type and the like can be inquired and maintained.
In the embodiment of the application, the ability of Anycast open configuration can also be provided for the orchestrator, wherein the ability of Anycast open configuration can include modification of routepolicy, new Anycast prefix and new Anycast community; for example, the Anycast opening capability realizes the configuration function of applying for opening service by a multi-user/single-user through a metropolitan area network/backbone network access mode; deleting the Anycast opening capability to realize deleting or canceling the Anycast service configuration; the ability to increase Anycast prefix entries; the ability to prune Anycast prefix entries.
In the embodiment of the application, the user information and the like can be issued to a plurality of areas in an Anycast mode, so that the route backup of the user information is realized, the service failure time is shortened, and the network stability of a user service system is enhanced.
Fig. 5 is a schematic structural diagram of a server selection device according to an embodiment of the present application, as shown in fig. 5, where the device includes:
a first determining unit 501, configured to determine, after receiving, by the composer, a target service triggered by a target user, a user address of the target user;
a second determining unit 502, configured to determine a target area corresponding to the target user according to the user address of the target user and the routing addresses corresponding to the plurality of dedicated routing reflectors stored in the controller; the target area is an area corresponding to the target-specific routing reflector; the target special route reflector is a special route reflector with a route address containing a user address of a target user;
a third determining unit 503 for determining, by the orchestrator, a target server for the target service based on the area information of the target area stored in the controller; the target server is used for executing the target service.
Optionally, the area information includes device information and network information; the device information includes device information of each device included in the target area; the network information includes network information of each network included in the target area; the third determining unit 503 is specifically configured to:
Acquiring equipment information and network information contained in a target area from a controller through an orchestrator according to a routing address of a target special routing reflector;
a target server is determined for the target service by the orchestrator based on the device information and network information contained in the target area.
Optionally, the area information includes service servers corresponding to each service type; the third determining unit 503 is specifically configured to:
determining a service type of the target service through a composer; the service type of the target service is contained in the service type contained in the target area;
acquiring service servers corresponding to each service type contained in a target area stored in a controller through an orchestrator; the service server is determined by the orchestrator according to the device information and the network information contained in the target area stored in the controller; the device information includes device information of each network device included in the target area; the network information includes network information of each network included in the target area;
and determining the service server corresponding to the service type of the target service as the target server.
Optionally, the device information and the network information contained in the corresponding areas of the plurality of dedicated routing reflectors are stored in the controller by the following method:
After receiving the data acquisition instruction sent by the orchestrator through the controller, acquiring equipment information and network information contained in the corresponding area from each special route reflector through the controller; storing the acquired equipment information and network information contained in the corresponding areas of the plurality of special routing reflectors into a controller; or alternatively, the first and second heat exchangers may be,
after receiving, by the controller, the device information and the network information included in the corresponding areas sent by the respective dedicated routing reflectors, the device information and the network information included in the corresponding areas of the received plurality of dedicated routing reflectors are stored in the controller.
Optionally, after the third determining unit 503, the apparatus further includes a issuing unit, where the issuing unit is specifically configured to:
transmitting the identification information of the target server to the controller through the orchestrator; the controller comprises a main controller and a standby controller;
the identification information of the target server is sent to the target-specific route reflector by the controller.
Fig. 6 shows a further possible structural schematic diagram of the server selection device involved in the above-described embodiment. The server selecting device includes: a processor 601 and a communication interface 602. The processor 601 is configured to control and manage actions of the server selection device, and the communication interface 602 is configured to support communication between the server selection device and other network entities. The server selection means may further comprise a memory 603 and a bus 604, the memory 603 being for storing program codes and data of the server selection means.
Wherein the memory 603 may be a memory in the server selection device or the like, which may include a volatile memory such as a random access memory; the memory may also include non-volatile memory, such as read-only memory, flash memory, hard disk or solid state disk; the memory may also comprise a combination of the above types of memories.
The processor 601 may be implemented or executed with the various exemplary logic blocks, modules and circuits described in connection with this disclosure. The processor may be a central processing unit, a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. Which may implement or perform the various exemplary logic blocks, modules, and circuits described in connection with this disclosure. The processor may also be a combination that performs the function of a computation, e.g., a combination comprising one or more microprocessors, a combination of a DSP and a microprocessor, etc.
Bus 604 may be an extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus or the like. The bus 604 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in fig. 6, but not only one bus or one type of bus.
From the foregoing description of the embodiments, it will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-described division of functional modules is illustrated, and in practical application, the above-described functional allocation may be implemented by different functional modules according to needs, i.e. the internal structure of the apparatus is divided into different functional modules to implement all or part of the functions described above. The specific working processes of the above-described systems, devices and units may refer to the corresponding processes in the foregoing method embodiments, which are not described herein.
The present application provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the server selection method of the method embodiments described above.
The embodiment of the application also provides a computer readable storage medium, in which instructions are stored, which when executed on a computer, cause the computer to execute the server selection method in the method flow shown in the method embodiment.
The computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access Memory (Random Access Memory, RAM), a Read-Only Memory (ROM), an erasable programmable Read-Only Memory (Erasable Programmable Read Only Memory, EPROM), a register, a hard disk, an optical fiber, a portable compact disc Read-Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing, or any other form of computer readable storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an application specific integrated circuit (Application Specific Integrated Circuit, ASIC). In the context of the present application, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Embodiments of the present invention provide a computer program product comprising instructions which, when run on a computer, cause the computer to perform the server selection method of embodiments of the present application.
Since the server selecting apparatus, the computer readable storage medium, and the computer program product in the embodiments of the present invention can be applied to the above-mentioned method, the technical effects that can be obtained by the method can also refer to the above-mentioned method embodiments, and the embodiments of the present invention are not described herein again.
In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be through some interface, indirect coupling or communication connection of devices or units, electrical, mechanical, or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The foregoing is merely a specific embodiment of the present application, but the protection scope of the present application is not limited thereto, and any changes or substitutions within the technical scope of the present disclosure should be covered in the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (12)

1. A method of server selection, the method comprising:
after receiving a target service triggered by a target user through an orchestrator, determining a user address of the target user;
determining a target area corresponding to the target user according to the user address of the target user and the routing addresses corresponding to the plurality of special routing reflectors stored in the controller; the target area is an area corresponding to the target-dedicated routing reflector; the target special route reflector is a special route reflector with a route address containing the user address of the target user;
Determining, by the orchestrator, a target server for the target service based on the region information of the target region stored in the controller; the target server is used for executing the target service.
2. The method according to claim 1, wherein the area information includes device information and network information; the device information includes device information of each network device included in the target area; the network information includes network information of each network included in the target area; the determining, by the orchestrator, a target server for the target service based on the area information of the target area stored in the controller, includes:
acquiring equipment information and network information contained in the target area from the controller through the orchestrator according to the routing address of the target-specific routing reflector;
the target server is determined for the target service by the orchestrator based on the device information and network information contained in the target area.
3. The method according to claim 1, wherein the area information includes service servers corresponding to each service type; the determining, by the orchestrator, a target server for the target service based on the area information of the target area stored in the controller, includes:
Determining, by the orchestrator, a service type of the target service; the service type of the target service is contained in the service type contained in the target area;
acquiring service servers corresponding to the service types contained in the target area stored in the controller through the orchestrator; the service server is determined by the orchestrator according to the device information and the network information contained in the target area stored in the controller; the device information includes device information of each network device included in the target area; the network information includes network information of each network included in the target area;
and determining the service server corresponding to the service type of the target service as the target server.
4. A method according to claim 2 or claim 3, wherein the device information and network information contained in the corresponding areas of the plurality of dedicated routing reflectors are stored into the controller by:
after receiving the data acquisition instruction sent by the orchestrator through the controller, acquiring equipment information and network information contained in the corresponding area from each special route reflector through the controller; storing the acquired equipment information and network information contained in the corresponding areas of the plurality of special routing reflectors into the controller; or alternatively, the first and second heat exchangers may be,
And after receiving the equipment information and the network information contained in the corresponding areas sent by the special routing reflectors through the controller, storing the received equipment information and network information contained in the corresponding areas of the special routing reflectors into the controller.
5. The method of claim 1, wherein after the determining, by the orchestrator, a target server for the target service, the method further comprises:
transmitting identification information of the target server to the controller through the orchestrator; the controller comprises a main controller and a standby controller;
and transmitting the identification information of the target server to the target-specific routing reflector through the controller.
6. A server selection apparatus, the apparatus comprising:
the first determining unit is used for determining the user address of the target user after receiving the target service triggered by the target user through the orchestrator;
a second determining unit, configured to determine a target area corresponding to the target user according to a user address of the target user and routing addresses corresponding to the plurality of dedicated routing reflectors stored in the controller; the target area is an area corresponding to the target-dedicated routing reflector; the target special route reflector is a special route reflector with a route address containing the user address of the target user;
A third determining unit configured to determine, by the orchestrator, a target server for the target service based on the area information of the target area stored in the controller; the target server is used for executing the target service.
7. The apparatus of claim 6, wherein the area information includes device information and network information; the device information includes device information of each device included in the target area; the network information includes network information of each network included in the target area; the third determining unit is specifically configured to:
acquiring equipment information and network information contained in the target area from the controller through the orchestrator according to the routing address of the target-specific routing reflector;
the target server is determined for the target service by the orchestrator based on the device information and network information contained in the target area.
8. The apparatus of claim 6, wherein the area information includes service servers corresponding to respective service types; the third determining unit is specifically configured to:
determining, by the orchestrator, a service type of the target service; the service type of the target service is contained in the service type contained in the target area;
Acquiring service servers corresponding to the service types contained in the target area stored in the controller through the orchestrator; the service server is determined by the orchestrator according to the device information and the network information contained in the target area stored in the controller; the device information includes device information of each network device included in the target area; the network information includes network information of each network included in the target area;
and determining the service server corresponding to the service type of the target service as the target server.
9. The apparatus according to claim 7 or claim 8, wherein device information and network information contained in the corresponding areas of the plurality of dedicated routing reflectors are stored into the controller by:
after receiving the data acquisition instruction sent by the orchestrator through the controller, acquiring equipment information and network information contained in the corresponding area from each special route reflector through the controller; storing the acquired equipment information and network information contained in the corresponding areas of the plurality of special routing reflectors into the controller; or alternatively, the first and second heat exchangers may be,
And after receiving the equipment information and the network information contained in the corresponding areas sent by the special routing reflectors through the controller, storing the received equipment information and network information contained in the corresponding areas of the special routing reflectors into the controller.
10. The apparatus according to claim 7, wherein after the third determining unit, the apparatus further comprises a issuing unit, the issuing unit being specifically configured to:
transmitting identification information of the target server to the controller through the orchestrator; the controller comprises a main controller and a standby controller;
and transmitting the identification information of the target server to the target-specific routing reflector through the controller.
11. A server selection apparatus, comprising: a processor and a communication interface; the communication interface is coupled to the processor for running a computer program or instructions to implement the server selection method according to any of claims 1-5.
12. A computer readable storage medium having instructions stored therein, characterized in that when executed by a computer, the computer performs the server selection method of any of the preceding claims 1-5.
CN202310102431.8A 2023-01-28 2023-01-28 Server selection method and device Pending CN116566989A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310102431.8A CN116566989A (en) 2023-01-28 2023-01-28 Server selection method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310102431.8A CN116566989A (en) 2023-01-28 2023-01-28 Server selection method and device

Publications (1)

Publication Number Publication Date
CN116566989A true CN116566989A (en) 2023-08-08

Family

ID=87500737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310102431.8A Pending CN116566989A (en) 2023-01-28 2023-01-28 Server selection method and device

Country Status (1)

Country Link
CN (1) CN116566989A (en)

Similar Documents

Publication Publication Date Title
JP7417825B2 (en) slice-based routing
US9270598B1 (en) Congestion control using congestion prefix information in a named data networking environment
US20160352654A1 (en) Seamless segment routing
EP1898571A2 (en) On-demand overlay routing for computer-based communication networks
EP3420686A1 (en) Name-based routing system and method
CA2882535A1 (en) Control device discovery in networks having separate control and forwarding devices
JP6364106B2 (en) Method, system and computer-readable medium for routing Diameter messages in a Diameter signaling router
CN112242949A (en) Route distribution method and controller, information routing method and network node equipment
JP2022533238A (en) Methods, devices, and systems for communication between controllers in the TSN
WO2022007503A1 (en) Service traffic processing method and apparatus
CN112272145B (en) Message processing method, device, equipment and machine readable storage medium
EP3313031B1 (en) Sdn-based arp realization method and apparatus
CN107872368B (en) Method and device for detecting accessibility of gateway in network node cluster and terminal
CN112398902A (en) High availability load balancing method, system and computer readable storage medium
WO2020226541A1 (en) Sharing and oversubscription of general-purpose graphical processing units in data centers
CN113489640B (en) Message forwarding method, device and gateway system
CN113328931B (en) Route issuing method and device
CN110278156B (en) Multicast routing processing method, network equipment and route reflector
CN101350772B (en) Method for selecting line of router with multiple WAN interfaces, system and router
CN112087382B (en) Service routing method and device
CN116566989A (en) Server selection method and device
CN112838983A (en) Data transmission method, system, device, proxy server and storage medium
CN113098788B (en) Method and device for releasing route
CN112104566B (en) Processing method and device for load balancing
CN110324247B (en) Multicast forwarding method, device and storage medium in three-layer multicast network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication