CN110943925B - Method and related device for synchronizing routing information - Google Patents

Method and related device for synchronizing routing information Download PDF

Info

Publication number
CN110943925B
CN110943925B CN201911176697.7A CN201911176697A CN110943925B CN 110943925 B CN110943925 B CN 110943925B CN 201911176697 A CN201911176697 A CN 201911176697A CN 110943925 B CN110943925 B CN 110943925B
Authority
CN
China
Prior art keywords
routing information
service
routing
server
information
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.)
Active
Application number
CN201911176697.7A
Other languages
Chinese (zh)
Other versions
CN110943925A (en
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911176697.7A priority Critical patent/CN110943925B/en
Publication of CN110943925A publication Critical patent/CN110943925A/en
Application granted granted Critical
Publication of CN110943925B publication Critical patent/CN110943925B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/563Software download or update
    • 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
    • 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/021Ensuring consistency of routing table updates, e.g. by using epoch numbers

Landscapes

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

Abstract

The application discloses a method and a related device for synchronizing routing information, which are used for stopping accessing an affected server when each routing device receives updated routing information, and starting accessing the server when all the routing devices finish updating the routing information, so that the condition that the routing information on a plurality of routing devices is inconsistent can be prevented, and the service consistency is improved. The method comprises the following steps: acquiring a service updating request; updating the first routing information according to the service updating request to obtain second routing information; sending second routing information to the N routing devices, so that the N routing devices stop sending service scheduling requests to the first server according to the second routing information, and the N routing devices update the first routing information into the second routing information; and if the N routing devices update the first routing information into the second routing information, sending a service recovery instruction to the N routing devices.

Description

Method and related device for synchronizing routing information
Technical Field
The present application relates to the field of internet technologies, and in particular, to a method and a related apparatus for synchronizing routing information.
Background
With the development of internet services, more and more applications need to provide services through the internet, and with the continuous increase of services, the dependency between service types and services becomes complicated. Accordingly, a solution for uniformly managing numerous types of services has also been developed.
At present, a scheme for implementing service administration based on synchronous routing information is provided, specifically, the same routing information is stored in each routing device, when a service consumer needs to schedule a service, the service consumer may send a service scheduling request to the routing device, the routing device selects a service provider according to the routing information, and then the routing device sends an address of the service provider to the service consumer, so that the service consumer can invoke the service of the service provider.
Because each routing device stores the whole amount of routing information, when the routing information is updated, a condition that the routing information cached on a plurality of routing devices is inconsistent may exist in a time window, for example, if a plurality of routing devices modify the same service instance, the modified service instances overlap with each other, so that it is difficult to ensure the consistency of the service.
Disclosure of Invention
The embodiment of the application provides a method and a related device for synchronizing routing information, which are used for stopping accessing an affected server when each routing device receives updated routing information, and starting accessing the server when all the routing devices finish updating the routing information, so that the condition that the routing information on a plurality of routing devices is inconsistent can be prevented, and the consistency of service is improved.
In view of the above, a first aspect of the present application provides a method for synchronizing routing information, including:
acquiring a service updating request;
updating first routing information according to the service updating request to obtain second routing information, wherein the first routing information and the second routing information both comprise a corresponding relation between a virtual identifier and an address;
sending the second routing information to N routing devices, so that the N routing devices stop sending service scheduling requests to a first server according to the second routing information, and update the first routing information to the second routing information, wherein N is an integer greater than 1;
if the N routing devices update the first routing information to the second routing information, sending a service recovery instruction to the N routing devices, wherein the service recovery instruction is used for instructing the N routing devices to send the service scheduling request to the first server.
A second aspect of the present application provides a method for synchronizing routing information, including:
acquiring first routing information, wherein the first routing information comprises a virtual identifier and a corresponding relation between addresses;
receiving second routing information sent by a scheduling server, wherein the second routing information comprises a corresponding relation between a virtual identifier and an address, and the second routing information is obtained after the scheduling server updates the first routing information according to a service updating request;
stopping sending a service scheduling request to a first server according to the second routing information, and updating the first routing information into the second routing information;
and if the first routing information is updated to the second routing information, receiving a service recovery instruction sent by the scheduling server, wherein the service recovery instruction is used for indicating that the service scheduling request is sent to the first server.
A third aspect of the present application provides a routing information synchronization apparatus, including:
the acquisition module is used for acquiring a service updating request;
the updating module is used for updating the first routing information according to the service updating request acquired by the acquiring module to obtain second routing information, wherein the first routing information and the second routing information both comprise a corresponding relation between a virtual identifier and an address;
a sending module, configured to send the second routing information updated by the updating module to N routing devices, so that the N routing devices stop sending service scheduling requests to a first server according to the second routing information, and update the first routing information to the second routing information by the N routing devices, where N is an integer greater than 1;
the sending module is further configured to send a service restoration instruction to the N routing devices if the N routing devices have updated the first routing information to the second routing information, where the service restoration instruction is used to instruct the N routing devices to send the service scheduling request to the first server.
In a possible design, in a first implementation manner of the third aspect of the embodiment of the present application, the service update request carries a first virtual identifier and a first address;
the updating module is specifically configured to obtain first routing information;
and adding the first virtual identifier and the first address carried by the service updating request into the first routing information to obtain second routing information.
In one possible design, in a second implementation manner of the third aspect of the embodiment of the present application, the routing information synchronization apparatus further includes a determining module;
the determining module is used for determining a second virtual identifier according to the first virtual identifier carried by the service updating request after the obtaining module obtains the service updating request;
the determining module is further configured to determine first state information according to the first virtual identifier carried in the service update request acquired by the acquiring module;
the determining module is further configured to determine second state information according to the second virtual identifier determined by the determining module;
the update module is specifically configured to add the first state information and the second state information determined by the determination module, and the first virtual identifier and the first address carried by the service update request acquired by the acquisition module to the first routing information to obtain the second routing information.
In one possible design, in a third implementation of the third aspect of the embodiments of the present application,
the determining module is further configured to update the first routing information according to the service update request by the update module to obtain second routing information, and then determine a virtual identifier to be transferred according to the first virtual identifier and the second virtual identifier, where the virtual identifier to be transferred is used to indicate a service instance to be transferred;
the determining module is further configured to determine a second address according to the second virtual identifier determined by the determining module based on the second routing information updated by the updating module, where the second address is an address of the first server;
the sending module is further configured to send a service transfer request to the first server, so that the first server transfers the service instance to be transferred to the second server according to the service transfer request, where the service transfer request carries the first address, the second address, and the virtual identifier to be transferred, and the second server corresponds to the first address.
In one possible design, in a fourth implementation of the third aspect of the embodiments of the present application,
the updating module is further configured to send a service transfer request to the first server by the sending module, so that after the first server transfers the service instance to be transferred to the second server according to the service transfer request, both the first state information and the second state information in the second routing information are updated to the third state information.
In a possible design, in a fifth implementation manner of the third aspect of the embodiment of the present application, the routing information synchronization apparatus further includes a receiving module;
the receiving module is configured to receive a synchronization success message sent by each of the N routing devices if each of the N routing devices updates the first routing information to the second routing information within a preset time after the sending module sends the second routing information to the N routing devices;
the determining module is further configured to determine, in response to the synchronization success message, that the N routing devices have updated the first routing information to the second routing information.
In one possible design, in a sixth implementation form of the third aspect of the embodiments of the present application,
the receiving module is further configured to receive a synchronization success message sent by each of the M routing devices after the sending module sends the second routing information to the N routing devices, if the M routing devices in the N routing devices update the first routing information to the second routing information within a preset time, where M is an integer greater than or equal to 0 and less than N;
the determining module is further configured to determine, in response to the synchronization success message, that the M routing devices have updated the first routing information to the second routing information.
In one possible design, in a seventh implementation form of the third aspect of the embodiments of the present application,
the sending module is further configured to send an information rollback instruction to the M routing devices after the determining module determines, in response to the synchronization success message, that the M routing devices have updated the first routing information to the second routing information, so that the M routing devices update the second routing information to the first routing information;
the sending module is further configured to send a service restoration instruction to the N routing devices if the M routing devices have updated the second routing information to the first routing information, where the service restoration instruction is used to instruct the N routing devices to send a service scheduling request to the first server.
A fourth aspect of the present application provides a routing information synchronization apparatus, including:
an obtaining module, configured to obtain first routing information, where the first routing information includes a correspondence between a virtual identifier and an address;
a receiving module, configured to receive second routing information sent by a scheduling server, where the second routing information includes a correspondence between a virtual identifier and an address, and the second routing information is obtained by updating, by the scheduling server, the first routing information according to a service update request;
an updating module, configured to stop sending a service scheduling request to a first server according to the second routing information received by the receiving module, and update the first routing information to the second routing information;
the receiving module is further configured to receive a service restoration instruction sent by the scheduling server if the updating module has updated the first routing information to the second routing information, where the service restoration instruction is used to instruct to send the service scheduling request to the first server.
In a possible design, in a first implementation manner of the fourth aspect of the embodiment of the present application, the routing information synchronization apparatus further includes a starting module and a sending module, where the service update request carries a first address;
the starting module is used for responding to the message cache request and starting the message cache queue if the message cache request sent by the scheduling server is received before the receiving module receives the service recovery instruction sent by the scheduling server;
the obtaining module is further configured to obtain a service scheduling request, where the service scheduling request carries a target request identifier;
the obtaining module is further configured to obtain a transfer identifier corresponding to the target request identifier from the message cache queue in response to the service scheduling request;
the sending module is configured to send a service scheduling request to a second server if the transfer identifier is the first transfer identifier, where the second server corresponds to the first address.
In one possible design, in a second implementation of the fourth aspect of the embodiments of the present application,
the sending module is further configured to send a service instance transfer request to the first server if the transfer identifier is a second transfer identifier after the obtaining module obtains the transfer identifier corresponding to the target request identifier from the message cache queue in response to the service scheduling request, where the service instance transfer request carries the target request identifier;
the receiving module is further configured to receive a service instance transfer response sent by the first server, where the service instance transfer response indicates that the first server has transferred the service instance corresponding to the target request identifier to the second server.
A fifth aspect of the present application provides a computer-readable storage medium having stored therein instructions, which, when run on a computer, cause the computer to perform the method of the above-described aspects.
According to the technical scheme, the embodiment of the application has the following advantages:
in the embodiment of the present application, a method for synchronizing routing information is provided, when a service update request is obtained, first, updating first routing information comprising a corresponding relation between a virtual identifier and an address according to an obtained service updating request to obtain second routing information comprising a corresponding relation between a virtual identifier and an address, and then transmitting the second routing information to the N routing devices, so that the N routing devices stop transmitting the service scheduling request to the first server according to the second routing information, and so that the N routing devices update the first routing information to the second routing information, wherein N is an integer greater than 1, if the N routing devices have updated the first routing information to the second routing information, sending a service restoration instruction to the N routing devices, wherein the service restoration instruction is used for instructing the N routing devices to send the service scheduling request to the first server. Through the mode, when each routing device receives the updated routing information, the access to the affected server is stopped, and when all the routing devices finish the updating of the routing information, the access to the server is started, so that the condition that the routing information on a plurality of routing devices is inconsistent can be prevented, and the service consistency is improved.
Drawings
FIG. 1 is a schematic diagram of one embodiment of local addressing in an embodiment of the present application;
FIG. 2 is a diagram illustrating an embodiment of updating target routing information based on a consistent hash according to an embodiment of the present application;
FIG. 3 is a block diagram of an embodiment of a system for synchronizing routing information;
FIG. 4 is a diagram illustrating an embodiment of a method for synchronizing routing information according to an embodiment of the present application;
fig. 5 is a schematic diagram of another embodiment of a method for synchronizing routing information in an embodiment of the present application;
FIG. 6 is a diagram illustrating example migration of multiple services in an embodiment of the present application;
fig. 7 is a schematic diagram of another embodiment of a method for synchronizing routing information in an embodiment of the present application;
FIG. 8 is a diagram illustrating an embodiment of a local caching method in an embodiment of the present application;
fig. 9 is a schematic diagram of an embodiment of a routing information synchronization apparatus in an embodiment of the present application;
fig. 10 is a schematic diagram of another embodiment of a routing information synchronization apparatus in an embodiment of the present application;
FIG. 11 is a schematic structural diagram of a dispatch server in an embodiment of the present application;
fig. 12 is a schematic structural diagram of a routing device in an embodiment of the present application.
Detailed Description
The embodiment of the application provides a method and a related device for synchronizing routing information, which are used for stopping accessing an affected server when each routing device receives updated routing information, and starting accessing the server when all the routing devices finish updating the routing information, so that the condition that the routing information on a plurality of routing devices is inconsistent can be prevented, and the consistency of service is improved.
The terms "first," "second," "third," "fourth," and the like in the description and in the claims of the present application and in the drawings described above, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the application described herein are, for example, capable of operation in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "corresponding" and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It should be understood that, the Service addressing (Service addressing) of the routing device may determine, according to the Service instance identifier carried in the Service scheduling request sent by the Service consumer, the Service provider according to the routing information sent by the scheduling server, and send the Service scheduling request to the Service provider, so that the Service provider provides the Service to the Service consumer. For easy understanding, please refer to fig. 1, where fig. 1 is a schematic diagram of an embodiment of local addressing in an embodiment of the present application, when a service consumer has a demand for an a service, the service consumer sends an a service scheduling request to a routing device, where the a service scheduling request carries an a service type identifier, an a service instance identifier, and a source address corresponding to the service consumer, then the routing device may determine an a service scheduling policy through the a service type identifier carried in the service scheduling request, and determine routing information corresponding to the service through the a service scheduling policy, where the routing information carries a correspondence between the a service instance identifier and an address corresponding to an a service provider, and then the routing device may determine the address corresponding to the a service provider according to the correspondence through the a service instance identifier carried in the service scheduling request, and finally, the A service provider sends A service data to the service consumer according to the source address corresponding to the service consumer carried in the A service scheduling request, so that the A service is provided for the service consumer. Therefore, service addressing in the game scene can determine a service provider according to the service instance identifier requested by the service consumer, so that the service provider can provide corresponding services to the service consumer.
Further, since the types of services of the game are complicated and numerous, such as a team service, a mail service, a chat service, a group service, a copy service, and a map service, and each service corresponds to one routing information, each routing device has routing information corresponding to all services of the game. For convenience of understanding, when the service scheduling policy is the consistent hash policy, the routing information update is described as an example, and it should be understood that in practical applications, the service scheduling policy may further include, but is not limited to, a weighted polling policy, a master-slave backup policy, or a minimum load policy. Referring to fig. 2, fig. 2 is a schematic diagram of an embodiment of updating target routing information based on consistent hash in the embodiment of the present application, and as shown in the figure, taking a service type as a help for example, first, a service instance identifier may be mapped to a virtual identifier in a hash space through a hash function, so that unchanged routing information may be obtained, and the unchanged routing information may include the service type. A virtual identification and a server address. Specifically, for the group service, the virtual id in the hash space corresponding to the server address 10.1.5.1 is 1000, and the virtual id in the hash space corresponding to the server address 10.1.5.3 is 4000, which may be represented as a hash value. Further, the service instances corresponding to the two service instance identifications can be used as two virtual helper nodes in the hash space, which are a helper a node and a helper C node respectively, and the scheduling server can issue the hash space segments corresponding to the responsibility to the helper a node and the helper B node, as shown in fig. 2, since the hash space is 5000, the server address corresponding to the helper a node is 10.1.5.1, and the virtual identification corresponding to the helper a node is 1000, the scheduling server can issue the hash space segments 0,1000 and 4001,4999 to the helper a node, the server address of the helper B node is 10.1.5.3, and the virtual identification corresponding to the server address is 4000, the scheduling server can issue the hash space segments 1001,4000 to the helper B node. If a new service is added, that is, when the scheduling center receives a service update request carrying a new virtual identifier and a new address, as shown in the figure, the new server address is 10.1.5.2, and the new virtual identifier is 3000, a service instance corresponding to the service instance identifier may also be regarded as a virtual serving node, that is, a serving node B, in the hash space, and then the routing information needs to be updated, but a situation that the routing information cached on a plurality of routing devices is inconsistent in a time window may occur at this time, for example, when a plurality of routing devices modify the same service instance, modified service instances overlap each other, so that it is difficult to ensure service consistency. Secondly, however, when a new service is added, not only the routing information needs to be changed, but also the service instances on the virtual nodes need to be migrated across the nodes, and the process often reaches the minute level, thereby affecting the service availability.
For convenience of understanding, the present application provides a method for synchronizing routing information, which is applied to the routing information synchronization system shown in fig. 1, please refer to fig. 3, where fig. 3 is a schematic diagram of an architecture of the routing information synchronization system in an embodiment of the present application, as shown in the drawing, a routing information synchronization apparatus may be deployed in a dispatch server, and a service processing apparatus will be deployed in the dispatch server as an example in the following.
Specifically, when the scheduling server acquires a service update request carrying a first virtual identifier and a first address, first routing information including the correspondence between the virtual identifiers and the addresses may be updated according to the obtained service update request to obtain second routing information including the correspondence between the virtual identifiers and the addresses, and then transmitting the second routing information to the 3 routing devices, so that the 3 routing devices stop transmitting the service scheduling request to the first server according to the second routing information, and makes 3 routing devices update the first routing information to the second routing information, if 3 routing devices have updated the first routing information to the second routing information, then sends a service recovery instruction to 3 routing devices, wherein the service resume instruction is to instruct the 3 routing devices to send a service scheduling request to the first server. When each routing device receives the updated routing information, the access to the affected server is stopped, and when all the routing devices finish the updating of the routing information, the access to the server is started, so that the condition that the routing information on a plurality of routing devices is inconsistent can be prevented, and the service consistency is improved.
The server in fig. 3 may be one server or a server cluster composed of multiple servers, or a cloud computing center, and the like, which is not limited herein.
The server and the routing device (or the server and the server) can communicate with each other through a wireless network, a wired network or a removable storage medium. Wherein the wireless network described above uses standard communication techniques and/or protocols. The wireless Network is typically the internet, but can be any Network including, but not limited to, bluetooth, Local Area Network (LAN), Metropolitan Area Network (MAN), Wide Area Network (WAN), mobile, private, or any combination of virtual private networks. In some embodiments, custom or dedicated data communication techniques may be used in place of or in addition to the data communication techniques described above. The removable storage medium may be a Universal Serial Bus (USB) flash drive, a removable hard drive or other removable storage medium, and the like.
Although only 3 routing devices, 1 first server and 1 scheduling server are shown in fig. 3, it should be understood that the example in fig. 3 is only used for understanding the present solution, and in practical applications, the number of the routing devices, the servers and the scheduling servers should be flexibly determined according to practical situations.
With reference to the above description, the method for synchronizing routing information in the present application will be described below with a scheduling server as an execution subject, please refer to fig. 4, where fig. 4 is a schematic diagram of an embodiment of the method for synchronizing routing information in the embodiment of the present application, and as shown in fig. 4, an embodiment of the method for synchronizing routing information in the embodiment of the present application includes:
101. acquiring a service updating request;
in this embodiment, when a server needs to be updated (added or deleted), the scheduling server may first obtain a service update request sent in a message form, where a header of the service update request carries a first virtual identifier corresponding to a service instance identifier, and may further include a first address corresponding to the server needing to be updated, it should be understood that the first virtual identifier may be aggregated by, but not limited to, a table, an index table, or a bitmap, and the first virtual identifier may be a hash value, and the first address may be, but not limited to, an Internet Protocol (IP) address or a Message Authentication Code (MAC) address corresponding to the server needing to be updated.
Specifically, when the first virtual identifier is a hash value, the hash value needs to be determined for all service providers in the game through a consistent hash algorithm. Referring to fig. 5, fig. 5 is a schematic view of another embodiment of the method for synchronizing routing information in the embodiment of the present application, as shown in the figure, if the value space of the hash function H is 0 to 5000, that is, the whole hash space ring corresponding to the hash function H is as shown in fig. 5, and the whole hash space ring is organized in a clockwise direction, and 0 and 5000 coincide in a zero point direction. The service provider may select a server address or a hostname corresponding to the service provider as a key to hash so that each service provider can determine its location on the hash ring. Taking the group service as an example, the positions of the group service provider a and the group service provider B in the hash ring space after hashing by using the corresponding server addresses are as shown in fig. 5, then a hash function H may be used to calculate corresponding hash values for the service instances corresponding to the group service provider a, where the hash values are virtual identifiers, the server address of the group service provider a is 10.1.5.1, the virtual identifier thereof is 1000, that is, the corresponding hash value thereof is 1000, so that the server can move clockwise along the ring from the "0" position of the hash ring, and after moving 1000 hash values, the encountered server is the server corresponding to the group service provider a, thereby determining the position of the server corresponding to the group service provider a in the hash ring. Similar to the location of the server corresponding to the a group service provider, the server address of the B group service provider is 10.1.5.3, its virtual identifier is 4000, that is, its corresponding hash value is 4000, so that it can move clockwise along the ring from the "0" position of the hash ring, after moving 4000 hash values, the encountered server is the server corresponding to its B group service provider, thereby determining the position of the server corresponding to the B group service provider on the hash ring.
102. Updating the first routing information according to the service updating request to obtain second routing information, wherein the first routing information and the second routing information both comprise a corresponding relation between the virtual identifier and the address;
in this embodiment, the scheduling server may update the first routing information through the service update request obtained in step 101, where the first routing information includes a correspondence between the virtual identifier and the address, and then may obtain the second routing information, and the second routing information also includes a correspondence between the virtual identifier and the address.
103. Sending second routing information to the N routing devices, so that the N routing devices stop sending service scheduling requests to the first server according to the second routing information, and updating the first routing information into second routing information, wherein N is an integer greater than 1;
in this embodiment, after the scheduling server obtains the second routing information through step 102, the second routing information may be sent to the multiple routing devices, and when the multiple routing devices receive the second routing information, the routing devices may stop sending the service scheduling request to the first server according to the second routing information, so that the first server does not send service data to the service consumer any more, and further, after receiving the second routing information, the multiple routing devices may update the locally cached routing information to the second routing information.
104. And if the N routing devices update the first routing information into the second routing information, sending a service recovery instruction to the N routing devices, wherein the service recovery instruction is used for indicating the N routing devices to send service scheduling requests to the first server.
In this embodiment, after the plurality of routing devices in step 103 receive the second routing information, and update the first routing information to the second routing information, the scheduling server may send a service recovery instruction to the plurality of routing devices, and when the plurality of routing devices receive the service recovery instruction sent by the scheduling server, the scheduling server may continue to send the service scheduling request to the first server, so that the first server continues to send service data to the service consumer and provides the service.
In the embodiment of the present application, a method for synchronizing routing information is provided, when a service update request carrying a first virtual identifier and a first address is obtained, first, updating first routing information comprising a corresponding relation between a virtual identifier and an address according to an obtained service updating request to obtain second routing information comprising a corresponding relation between a virtual identifier and an address, and then transmitting the second routing information to the plurality of routing devices, such that the plurality of routing devices stop transmitting the service scheduling request to the first server according to the second routing information, and causing the plurality of routing devices to update the first routing information to the second routing information, if the plurality of routing devices have updated the first routing information to the second routing information, sending a service restoration instruction to the N routing devices, wherein the service resumption instructions are for instructing the plurality of routing devices to send the service scheduling request to the first server. Through the mode, when each routing device receives the updated routing information, the access to the affected server is stopped, and when all the routing devices finish the updating of the routing information, the access to the server is started, so that the condition that the routing information on a plurality of routing devices is inconsistent can be prevented, and the service consistency is improved.
Optionally, on the basis of each embodiment corresponding to fig. 4, in an optional embodiment of the method for synchronizing routing information provided in the embodiment of the present application, the service update request carries a first virtual identifier and a first address;
updating the first routing information according to the service update request to obtain the second routing information, which may include:
acquiring first routing information;
and adding the first virtual identifier and the first address carried by the service updating request into the first routing information to obtain second routing information.
In this embodiment, the scheduling server may receive a service scheduling request carrying a service type identifier sent by service consumption, determine a service scheduling policy according to the scheduling request, and then obtain the first routing information according to the target service scheduling policy. Further, the scheduling server may add the first virtual identifier and the first address carried by the service update request to the first routing information, thereby obtaining the second routing information.
For convenience of understanding, please refer to table 1 and table 2, where table 1 is first routing information, and table 2 is second routing information, it is understood that tables 1 to 2 are only one example of routing information, and in practical applications, the routing information may also include other information or be shown in other forms, and is not limited herein.
Table 1 first routing information
Type of service Server address Virtual identification
Group of helping people 10.1.5.1 1000
Group of helping people 10.1.5.3 4000
TABLE 2 second routing information
Type of service Server address Virtual identification
Group of helping people 10.1.5.1 1000
Group of helping people 10.1.5.2 2000
Group of helping people 10.1.5.3 4000
As can be seen from table 1, the present embodiment is described by taking the group service as an example, and it should be understood that the service in practical application includes, but is not limited to, a battle team service and a social service. On the basis that the service is a group service, the first routing information comprises the service type, the virtual identification and the corresponding relation between the addresses. Specifically, for the first routing information, the virtual identifier corresponding to the serving service with a server address of 10.1.5.1 is 1000, and the virtual identifier corresponding to the serving service with a server address of 10.1.5.3 is 4000, and further, the first virtual identifier carried in the service update request in step 101 is 2000, and the first address is 10.1.5.2, specifically referring to table 2, the scheduling server may add the first virtual identifier and the first address to the first routing information, that is, update the first routing information to obtain the second routing information, where the second routing information also includes the service type and the correspondence between the virtual identifiers and the addresses.
It should be understood that, updating the first routing information according to the first virtual identifier and the first address may also be to delete the virtual identifier and the server address in the first routing information, for further understanding of the present disclosure, please refer to table 3 and table 4, where table 3 is the first routing information, and table 4 is the second routing information, it is understood that tables 3 to 4 are only one example of the routing information, and in an actual application, the routing information may also include other information or be shown in other forms, and is not limited herein.
Table 3 first routing information
Type of service Server address Virtual identification
Team 10.1.5.1 232/4
Team 10.1.5.2 232-1
Team 10.1.5.3 3*232/4
TABLE 4 second routing information
Type of service Server address Virtual identification
Team 10.1.5.1 232/4
Team 10.1.5.2 232-1
As can be seen from table 3, the present embodiment is described with the team service as an example. On the basis that the service is used for the battle team, the first routing information comprises the service type, the virtual identification and the addressAnd (4) corresponding relation. Specifically, for the first routing information, the virtual identifier corresponding to the group service with server address 10.1.5.1 is 2324, the virtual identifier corresponding to the group service with the server address of 10.1.5.2 is 232-1, virtual identifier 3 x 2 corresponding to the group service with server address 10.1.5.332/4. Further, the first virtual identifier carried in the service update request in step 101 is 3 x 232And/4, the first address is 10.1.5.3, and specifically referring to table 4, the dispatch server may delete the first virtual identifier and the first address from the first routing information, that is, update the first routing information to obtain the second routing information, where the second routing information also includes the service type and the corresponding relationship between the virtual identifier and the address.
In the embodiment of the present application, a method for updating routing information is provided, where after first routing information is obtained, a first virtual identifier and a first address carried in a service update request may be added to the first routing information, or the first virtual identifier and the first address carried in the service update request may be deleted from the first routing information, so that flexibility of updating routing information is improved, and therefore feasibility of routing information synchronization is improved.
Optionally, on the basis of each embodiment corresponding to fig. 4, in an optional embodiment of the method for synchronizing routing information provided in this embodiment of the present application, after obtaining the service update request, the method may further include:
determining a second virtual identifier according to the first virtual identifier carried by the service updating request;
determining first state information according to a first virtual identifier carried by a service updating request;
determining second state information according to the second virtual identifier;
adding the first virtual identifier and the first address carried by the service update request to the first routing information to obtain second routing information, which may include:
and adding the first state information, the second state information, the first virtual identifier and the first address carried by the service updating request into the first routing information to obtain second routing information.
In this embodiment, the scheduling server may determine the second virtual identifier according to the first virtual identifier carried in the service update request, and may also determine the first state information (the first state information is a new state) according to the first virtual identifier carried in the service update request. Further, the scheduling server may determine second state information (the second state information is a migration state) according to the determined second virtual identifier, and then add the first state information, the second state information, and the first virtual identifier and the first address carried by the service update request to the first routing information, thereby obtaining the second routing information.
For convenience of understanding, please refer to table 5 and table 6, where table 5 is the first routing information and table 6 is the second routing information, it is understood that tables 5 to 6 are only one example of the routing information, and in practical applications, the routing information may also include other information or be shown in other forms, and is not limited herein.
TABLE 5 first routing information
Type of service Server address Virtual identification Status of state
Group of helping people 10.1.5.1 1000 Service
Group of helping people 10.1.5.3 4000 Service
TABLE 6 second routing information
Type of service Server address Virtual identification Status of state
Group of helping people 10.1.5.1 1000 Service
Group of helping people 10.1.5.2 3000 New advance
Group of helping people 10.1.5.3 4000 Migration
As can be seen from table 5, the present embodiment is described with the help service as an example. On the basis that the service is a group service, the first routing information comprises the corresponding relation among the service type, the virtual identification, the address and the state information. Specifically, for the first routing information, the virtual identifier corresponding to the group service with the server address of 10.1.5.1 is 1000, and the corresponding state is the service state, and the virtual identifier corresponding to the group service with the server address of 10.1.5.3 is 4000, and the corresponding state is the service state. Further, in step 101, the first virtual identifier carried in the service update request is 3000, and the first address is 10.1.5.2, specifically referring to table 6, the scheduling server may add the first virtual identifier and the first address to the first routing information, and the virtual identifier corresponding to the group service with the server address of 10.1.5.1 is 1000, and the corresponding state is still the service state, and the virtual identifier corresponding to the group service with the server address of 10.1.5.3 is 4000, and the corresponding state is changed to the migration state. The virtual id 3000 corresponds to the group service with the newly added server address of 10.1.5.2, and the corresponding status is changed to the new status. The service state is that the server can service the service consumer, the new state is that the server is newly added and does not start to service, and the transition state is that the server needs to perform service data transfer to the new server and temporarily stops service.
In the embodiment of the application, the state information is added in the routing information, and the state information can visually indicate the states of the corresponding server addresses and the virtual identifiers, so that the accuracy of updating the routing information is improved, and the feasibility of routing information synchronization is improved.
Optionally, on the basis of the foregoing embodiments corresponding to fig. 4, in an optional embodiment of the method for synchronizing routing information provided in this embodiment of the present application, after the updating the first routing information according to the service update request and obtaining the second routing information, the method may further include:
determining a virtual identifier to be transferred according to the first virtual identifier and the second virtual identifier, wherein the virtual identifier to be transferred is used for indicating a service instance to be transferred;
determining a second address according to the second virtual identifier based on the second routing information, wherein the second address is the address of the first server;
and sending a service transfer request to a first server so that the first server transfers the service instance to be transferred to a second server according to the service transfer request, wherein the service transfer request carries a first address, a second address and a virtual identifier to be transferred, and the second server corresponds to the first address.
In this embodiment, after the scheduling server updates the first routing information to obtain the second routing information, the virtual identifier to be transferred may be determined according to the first virtual identifier and the second virtual identifier, and the second address may be determined according to the second virtual identifier based on the second routing information, where the second address is an address of the first server, and the first server is a server that needs to perform service instance migration, and then the scheduling server may send a service transfer request carrying the first address, the second address, and the virtual identifier to be transferred to the first server, so that the first server may determine the second server according to the first address carried in the service transfer request, where the second server is a server that needs to perform service update, and finally the first server may transfer to the second server according to the service instance to be transferred indicated by the virtual identifier to be transferred carried in the service transfer request, the service transfer is completed.
Specifically, in the consistent hash algorithm, if one server is added, the affected data is only the data from the new server to the previous server in the ring space (i.e., the first server encountered by walking in the counterclockwise direction), and other data is not affected. Therefore, the consistent hash algorithm only needs to relocate a small portion of data in the ring space for both the increase and decrease of the nodes, see figure 5, taking a social service as an example, the social service provider a and the social service provider B perform hashing using corresponding server addresses and then locate the hash ring space as shown in fig. 5, a corresponding hash value may then be computed using a hash function H for the service instance corresponding to social service provider a, the hash value is a virtual identifier, and the server address of the social service provider a is 10.1.5.1, its virtual identifier is 1000, that is, the hash value corresponding thereto is 1000, and the state corresponding thereto is the service state, so that the hash value can be shifted clockwise along the ring from the "0" position of the hash ring, and after shifting 1000 hash values, the server encountered is the server corresponding to the A social service provider, so that the position of the server corresponding to the A social service provider in the hash ring is determined. Similar to the location of the server corresponding to the a social service provider, the server address of the B social service provider is 10.1.5.3, its virtual identifier is 4000, that is, its corresponding hash value is 4000, and its corresponding state is a service state, so that it can move clockwise along the ring from the "0" position of the hash ring, and after moving 4000 hash values, the encountered server is the server corresponding to the B social service provider, thereby determining the position of the server corresponding to the B social service provider in the hash ring. And the social service provider C is a newly added node, the server address of the social service provider C is 10.1.5.1, the virtual identifier of the social service provider C is 1000, the first routing information is updated according to the server address and the virtual identifier, the state corresponding to the social service provider C in the obtained second routing information is a new state, the state corresponding to the social service provider B is a migration state, and therefore the social service provider B needs to transfer a service instance to the social service provider C, the hash value corresponding to the social service provider C is 3000, so that the social service provider C can move clockwise along the hash ring from the position of 0 of the hash ring, and after 3000 hash values are moved, the corresponding server is the server corresponding to the social service provider C.
More specifically, the hash space corresponding to the social service provider a is (0,1000), (4001,4999), the hash space corresponding to the social service provider B is (1001,4000), and the hash space corresponding to the social service provider C is (1001,3000), so that the server corresponding to the social service provider B is the first server, and the server corresponding to the social service provider C is the second server, and therefore the first server needs to transfer the service instance corresponding to the hash space (1001,3000) to the second server.
In addition, when the number of service nodes is too small, the problem of data skew is easily caused by uneven distribution of the nodes, and in order to solve the problem of data skew, the consistent hash algorithm can also adopt a virtual node mechanism, namely, a plurality of hashes are calculated for each service provider, and a node corresponding to the service provider is placed at each calculation result position, which is called a virtual node. Therefore, the problem of data tilt when the service node is small can be solved. It will be appreciated that in practical applications, the number of virtual nodes is typically set to 32 or even greater, in such a way that relatively even distribution of data is achieved even with fewer service providers.
In the embodiment of the application, a service instance transfer method is provided, a virtual identifier to be transferred is determined in a consistent hash algorithm, a server for receiving service instance migration is determined, and a service instance is transferred to the server, so that the server can add a node in a hash space and provide subsequent services, the feasibility of routing information synchronization is improved, and the fault tolerance and expandability of routing information synchronization can be improved due to the adoption of the consistent hash algorithm.
Optionally, on the basis of each embodiment corresponding to fig. 4, in an optional embodiment of the method for synchronizing routing information provided in the embodiment of the present application, after sending a service transfer request to a first server, so that the first server transfers a service instance to be transferred to a second server according to the service transfer request, the method may further include:
and updating the first state information and the second state information in the second routing information into third state information.
In this embodiment, a service transfer request is sent to a first server, so that after the first server transfers a service instance to be transferred to a second server according to the service transfer request, that is, when the first server has successfully transferred the service instance to be transferred to the second server, both the first state information and the second state information of the second routing information may be updated to third state information (the third state information is a service state), which indicates that a server corresponding to the third state information may provide a service.
For convenience of understanding, please refer to table 7, where table 7 is second routing information, and table 7 is only an example of the routing information, and in practical applications, the routing information may also include other information or be shown in other forms, and is not limited herein. Specifically, in table 6, the virtual id 4000 corresponds to the group service with server address 10.1.5.3, and the corresponding state is changed to the migration state. The virtual id 3000 corresponds to the group service with the newly added server address of 10.1.5.2, and the corresponding status is changed to the new status. When the service instance to be transferred has been successfully transferred from the server address 10.1.5.3 to the server address 10.1.5.2, that is, after the hash space (1001,3000) is transferred, as shown in table 7, the state corresponding to the server address 10.1.5.3 can be updated to the service, and the state corresponding to the server address 10.1.5.2 can be updated to the service, so that the corresponding server can serve the service consumer.
TABLE 7 second routing information
Type of service Server address Virtual identification Status of state
Group of helping people 10.1.5.1 1000 Service
Group of helping people 10.1.5.2 3000 Service
Group of helping people 10.1.5.3 4000 Service
In the embodiment of the application, after the first server successfully transfers the service instance to be transferred, the migration and the new state in the second routing information can be updated to the service, that is, the server in the service state can provide the service, so that the feasibility of the application is improved.
Optionally, on the basis of each embodiment corresponding to fig. 4, in an optional embodiment of the method for synchronizing routing information provided in this embodiment of the present application, after sending the second routing information to the N routing devices, the method further includes:
if each of the N routing devices updates the first routing information into the second routing information within a preset time, receiving a synchronization success message sent by each of the N routing devices;
in response to the synchronization success message, it is determined that the N routing devices have updated the first routing information to the second routing information.
In this embodiment, after the scheduling server sends the second routing information to the plurality of routing devices, the plurality of routing devices may update the first routing information to the received second routing information, if the plurality of routing devices complete the update within a preset time, the plurality of devices may send a synchronization success message to the scheduling server, and after the scheduling server receives the synchronization success message, the scheduling server may respond to the message and determine that the plurality of routing devices have updated the first routing information to the second routing information according to the synchronization success message, and then the scheduling server may send a service restoration instruction to the plurality of routing devices, and when the plurality of routing devices receive the service restoration instruction sent by the scheduling server, the scheduling server may continue to send a service scheduling request to the first server, so that the first server continues to send service data to the service consumer, providing the service.
In the embodiment of the application, the scheduling server can determine that the routing equipment completes synchronous updating on the routing information within the preset time according to the synchronization success message, so that the efficiency of synchronizing the routing information is improved.
Optionally, on the basis of each embodiment corresponding to fig. 4, in an optional embodiment of the method for synchronizing routing information provided in this embodiment of the present application, after sending the second routing information to the N routing devices, the method may further include:
if M routing devices in the N routing devices update the first routing information into second routing information within preset time, receiving a synchronization success message sent by each routing device in the M routing devices, wherein M is an integer which is greater than or equal to 0 and less than N;
in response to the synchronization success message, it is determined that the M routing devices have updated the first routing information to the second routing information.
In this embodiment, after the scheduling server sends the second routing information to the N routing devices, the N routing devices may update the first routing information to the received second routing information, if M routing devices of the N routing devices complete updating within a preset time, the M routing devices may send a synchronization success message to the scheduling server, and after the scheduling server receives the synchronization success message, the scheduling server may respond to the message and determine that the M routing devices have updated the first routing information to the second routing information according to the synchronization success message, where N is an integer greater than or equal to 0, and M is an integer greater than or equal to 0 and less than N.
Illustratively, after the scheduling server sends the second routing information to 30 routing devices, the 30 routing devices may update the first routing information to the received second routing information, if 20 routing devices of the 30 routing devices complete the update within 10s, the 20 routing devices may send a synchronization success message to the scheduling server, and after the scheduling server receives the 20 synchronization success messages, the scheduling server may respond to the message and determine that the 20 routing devices have updated the first routing information to the second routing information according to the synchronization success message.
Optionally, on the basis of the foregoing embodiments corresponding to fig. 4, in an optional embodiment of the method for synchronizing routing information provided in this embodiment of the present application, after determining that M routing devices have updated the first routing information to the second routing information in response to the synchronization success message, the method may further include:
sending an information rollback instruction to the M routing devices to enable the M routing devices to update the second routing information into the first routing information;
and if the M routing devices update the second routing information into the first routing information, sending a service recovery instruction to the N routing devices, wherein the service recovery instruction is used for indicating the N routing devices to send service scheduling requests to the first server.
In this embodiment, after the scheduling server receives the synchronization success message and determines, in response to the synchronization success message, that the M routing devices have updated the first routing information to the second routing information, the scheduling server may send an information rollback instruction to the M routing devices, when the M routing devices may update the second routing information to the first routing information according to the received information rollback instruction, when the M routing devices update the second routing information to the first routing information, the scheduling server may send a service restoration instruction to the N routing devices, when the N routing devices receive the service restoration instruction sent by the scheduling server, the scheduling server may continue sending a service scheduling request to the first server, so that the first server continues sending service data to the service consumer to provide the service, where N is an integer greater than or equal to 0, m is an integer greater than or equal to 0 and less than N.
Illustratively, after the scheduling server receives the synchronization success message and determines that 20 routing devices have updated the first routing information to the second routing information in response to the synchronization success message, the scheduling server may send an information rollback instruction to the 20 routing devices, when the 20 routing devices may update the second routing information to the first routing information according to the received information rollback instruction, when the 20 routing devices update the second routing information to the first routing information, the scheduling server may send a service restoration instruction to the 30 routing devices, when the 30 routing devices receive the service restoration instruction sent by the scheduling server, the scheduling server may continue to send the service scheduling request to the first server, so that the first server continues to send the service data to the service consumer to provide the service. It should be understood that, in practical applications, the scheduling server may send the service recovery instruction to less than 30 routing devices, which is not limited herein, however, there may be a case that a routing node has updated the routing table, but has no time to send a response, or the response is lost, so that in the present application, 30 routing devices are selected to send the service recovery instruction, and the accuracy of the routing information consistency is ensured.
In the embodiment of the application, when only part of the routing devices finish synchronous updating within the preset time, the scheduling server sends an information rollback instruction, so that the routing information in the routing devices is cached as the first routing information, the consistency accuracy of the routing information is ensured, and the consistency of the routing information is improved.
Further, referring to fig. 6, the change of the routing information is accompanied by the transfer of the service instance across the service nodes, and when the consistent hash service node changes (for example, dynamic capacity expansion, node down, etc.), the routing information needs to be changed (for example, service nodes are added or deleted), that is, as in the first routing information to the second routing information in fig. 6, the virtual identifier 3 x 2 corresponding to the migration state is located in the first routing information to the second routing information32The service instance in the Hash space corresponding to the/4 is transferred to the virtual identifier 2 corresponding to the newly-entered state32-1 virtual nodes in the hash space corresponding to the service instance in the process of transferring from one node to another, i.e. 3 x 232Hash space corresponding to/4 (2)32/4)+1,3*232To transfer to 2 in/432Hash space (2) corresponding to-132/4)+1,2321 transfer of tens of thousands of service instances, the overall transfer time may reach the minute level, during which time the affected service instances are unavailable,thus reducing the availability of the affected service instance.
Therefore, in order to improve the availability of the service instance, in combination with the above description, the following description will use the routing device as an execution subject to describe the method for synchronizing the routing information in the present application, please refer to fig. 7, where fig. 7 is a schematic diagram of another embodiment of the method for synchronizing the routing information in the embodiment of the present application, and as shown in fig. 7, another embodiment of the method for synchronizing the routing information in the embodiment of the present application includes:
201. acquiring first routing information, wherein the first routing information comprises a virtual identifier and a corresponding relation between addresses;
in this embodiment, the routing device may obtain, according to a service scheduling request sent by a service provider, first routing information including a correspondence between virtual identifiers and addresses.
202. Receiving second routing information sent by a scheduling server, wherein the second routing information comprises a corresponding relation between a virtual identifier and an address, and the second routing information is obtained after the scheduling server updates the first routing information according to a service updating request;
in this embodiment, when the scheduling device obtains a service update request carrying a first virtual identifier and a first address, the first routing information including a correspondence between the virtual identifier and the address may be updated according to the obtained service update request, so as to obtain second routing information including a correspondence between the virtual identifier and the address, and then the second routing information is sent to the routing device, and the routing device may receive the second routing information sent by the scheduling server.
203. Stopping sending the service scheduling request to the first server according to the second routing information, and updating the first routing information into the second routing information;
in this embodiment, after receiving the second routing information through 202, the routing device may stop sending the service scheduling request to the first server according to the second routing information, and further, after receiving the second routing information, the routing device may update the locally cached routing information to the second routing information.
204. And if the first routing information is updated to the second routing information, receiving a service recovery instruction sent by the scheduling server, wherein the service recovery instruction is used for indicating that a service scheduling request is sent to the first server.
In this embodiment, when the routing device has updated the first routing information to the second routing information, the scheduling server may send a service restoration instruction to the plurality of routing devices, and when the routing device receives the service restoration instruction sent by the scheduling server, the routing device may continue to send the service scheduling request to the first server, so that the first server continues to send service data to the service consumer and provides the service.
In the embodiment of the present application, a method for synchronizing routing information is provided, where when a routing device acquires first routing information and receives second routing information sent by a scheduling server, the routing device may stop sending a service scheduling request to the first server according to the second routing information, update the first routing information to the second routing information, and receive a service restoration instruction sent by the scheduling server and send the service scheduling request to the first server according to the service restoration instruction if the routing device has updated the first routing information to the second routing information. Through the mode, when each routing device receives the updated routing information, the access to the affected server is stopped, and when all the routing devices finish the updating of the routing information, the access to the server is started, so that the condition that the routing information on a plurality of routing devices is inconsistent can be prevented, and the service consistency is improved.
Optionally, on the basis of the embodiment corresponding to fig. 7, in an optional embodiment of the method for synchronizing routing information provided in the embodiment of the present application, the service update request carries a first address;
the method can also comprise the following steps:
if a message cache request sent by a scheduling server is received, responding to the message cache request, and starting a message cache queue;
acquiring a service scheduling request, wherein the service scheduling request carries a target request identifier;
responding to the service scheduling request, and acquiring a transfer identifier corresponding to the target request identifier from the message cache queue;
and if the transfer identifier is the first transfer identifier, sending a service scheduling request to a second server, wherein the second server corresponds to the first address.
In this embodiment, before the routing device receives a service restoration instruction sent by the scheduling server, if the routing device receives a message cache request sent by the scheduling server, the routing device responds to the message cache request and starts a message cache queue, then may obtain a service scheduling request carrying a target request identifier, and responds to the service scheduling request, obtain a transfer identifier corresponding to the target request identifier from the message cache queue, and if the transfer identifier is a first transfer identifier, send the service scheduling request to a second server, where the first transfer identifier is "yes" indicating that a service instance corresponding to the target request identifier has been successfully transferred to the second server, and the second server is a server corresponding to a newly added service.
For example, referring to fig. 8, fig. 8 is a schematic diagram of an embodiment of a method for local caching in an embodiment of the present application, where before a routing device receives a service recovery instruction sent by a scheduling server, if a service instance has not completed a transition, that is, a virtual identifier 3 x 2 in a migration state is shown32Hash space corresponding to/4 (2)32/4)+1,3*232Service instance in/4 has not yet completely transferred to virtual identity 2 transitioning to the incoming state32Hash space (2) corresponding to-132/4)+1,2321, the routing device may receive the message buffer request sent by the scheduling server through step S11, and then the routing device responds to the message buffer request and starts a message buffer queue through step S12, where the message buffer queue may include a target request identifier, a transfer identifier, and a message buffer, and there is a one-to-one correspondence between the target request identifier, the transfer identifier, and the message buffer, that is, as shown in fig. 8, the target request identifier a corresponds to the transfer identifier a and corresponds to the message buffer a, and the target request identifier a corresponds to the message buffer aIdentity B corresponds to transfer identity B and to message cache B. Further, the routing device may further obtain a service scheduling request carrying the target request identifier B, then respond to the service scheduling request and determine the corresponding transfer identifier B from the message cache queue according to the target request identifier B, if the transfer identifier B is "yes", that is, the message cache B corresponding to the transfer identifier B is already completed, the transfer identifier B may be sent to a team B node, that is, the virtual identifier 232-1 sends a service scheduling request such that the server provides the corresponding service to the service consumers of team B.
In the embodiment of the application, in the process of transferring the service instance, part of the service instance which is transferred can be determined firstly through the transfer identifier, and the service scheduling request is directly sent to the corresponding server, so that the server provides corresponding service for the service consumer, and therefore, the use of the transferred service instance is not influenced when the transfer time of the service instance is long, and the practicability of the service instance is improved.
Optionally, on the basis of the embodiment corresponding to fig. 7, in an optional embodiment of the method for synchronizing routing information provided in the embodiment of the present application, after acquiring, in response to the service scheduling request, the transfer identifier corresponding to the target request identifier from the message cache queue, the method may further include:
if the transfer identifier is a second transfer identifier, sending a service instance transfer request to the first server, wherein the service instance transfer request carries a target request identifier;
and receiving a service instance transfer response sent by the first server, wherein the service instance transfer response indicates that the first server transfers the service instance corresponding to the target request identification to the second server.
In this embodiment, after the routing device responds to the service scheduling request, and obtains the transfer identifier corresponding to the target request identifier from the message cache queue, if the transfer identifier is the second transfer identifier, where the first transfer identifier is "no," it indicates that the service corresponding to the target request identifier is not successfully transferred to the second server, and therefore the routing server needs to send the service instance transfer request carrying the target request identifier to the first server, and according to the target request identifier carried in the service instance transfer request, the first server transfers the service instance corresponding to the target request identifier to the second server, and then sends a service instance transfer response to the scheduling server to notify that the transfer is completed.
For example, referring to fig. 8, as shown in the figure, the routing device may receive the message cache request sent by the scheduling server through step S11, and then the routing device starts a message cache queue through step S12, where the message cache queue may include a target request identifier, a transfer identifier, and a message cache, and the target request identifier, the transfer identifier, and the message cache are in one-to-one correspondence, and the correspondence is the same as that described above, and is not described herein again. Then, after the routing equipment acquires a service scheduling request carrying a target request identifier A, responding to the service scheduling request and determining a corresponding transfer identifier A from the message cache queue according to the target request identifier A, if the transfer identifier A is 'no', namely the message cache A corresponding to the transfer identifier A is caching and transferring data, then forwarding the data to a battle team C node, namely a virtual identifier 3 x 232And 4, the server corresponding to the node C of the team sends a service instance transfer request carrying the target request identifier, after receiving the service instance transfer request, the server corresponding to the node C of the team transfers the service instance corresponding to the target request identifier to a second server in real time, then sends a service instance transfer response to the server corresponding to the node C of the team, namely, the server is informed that the transfer of the service instance is completed, and finally, the routing equipment can send service scheduling requests to the node B of the team and the server corresponding to the node C of the team, so that the server provides corresponding services for service consumers of the team B and the team C.
In the embodiment of the application, in the process of transferring the service instance, if the service instance is determined not to be transferred through the transfer identifier, the service instance transfer request is sent to the corresponding server, so that the server completes the transfer, the transfer progress of the service instance is promoted, the use of the service instance is ensured, and the practicability of the service instance is improved.
Referring to fig. 9, fig. 9 is a schematic diagram of an embodiment of a routing information synchronization apparatus in an embodiment of the present application, where the routing information synchronization apparatus 900 includes:
an obtaining module 901, configured to obtain a service update request;
an updating module 902, configured to update first routing information according to the service updating request acquired by the acquiring module 901, to obtain second routing information, where the first routing information and the second routing information both include a corresponding relationship between a virtual identifier and an address;
a sending module 903, configured to send the second routing information updated by the updating module 902 to N routing devices, so that the N routing devices stop sending service scheduling requests to a first server according to the second routing information, and update the first routing information to the second routing information by the N routing devices, where N is an integer greater than 1;
the sending module 903 is further configured to send a service restoration instruction to the N routing devices if the N routing devices have updated the first routing information to the second routing information, where the service restoration instruction is used to instruct the N routing devices to send the service scheduling request to the first server.
Optionally, on the basis of the embodiment corresponding to fig. 9, in another embodiment of the routing information synchronization apparatus 900 provided in this embodiment of the present application, the service update request carries the first virtual identifier and the first address;
an updating module 902, specifically configured to obtain first routing information;
and adding the first virtual identifier and the first address carried by the service updating request into the first routing information to obtain second routing information.
Optionally, on the basis of the embodiment corresponding to fig. 9, in another embodiment of the routing information synchronization apparatus 900 provided in this embodiment, the routing information synchronization apparatus 900 further includes a determining module 904;
a determining module 904, configured to determine, after the obtaining module 901 obtains the service update request, a second virtual identifier according to the first virtual identifier carried in the service update request;
the determining module 904 is further configured to determine first state information according to the first virtual identifier carried in the service update request acquired by the acquiring module 901;
a determining module 904, further configured to determine second state information according to the second virtual identifier determined by the determining module 904;
the updating module 902 is specifically configured to add the first state information and the second state information determined by the determining module 904 and the first virtual identifier and the first address carried by the service update request acquired by the acquiring module 901 to the first routing information to obtain the second routing information.
Optionally, on the basis of the embodiment corresponding to fig. 9, in another embodiment of the routing information synchronization apparatus 900 provided in this embodiment of the present application,
the determining module 904 is further configured to update, by the updating module 902, the first routing information according to the service updating request to obtain second routing information, and then determine, according to the first virtual identifier and the second virtual identifier, a virtual identifier to be transferred, where the virtual identifier to be transferred is used to indicate a service instance to be transferred;
the determining module 904 is further configured to determine, based on the second routing information updated by the updating module 902, a second address according to the second virtual identifier determined by the determining module, where the second address is an address of the first server;
the sending module 903 is further configured to send a service transfer request to the first server, so that the first server transfers the service instance to be transferred to the second server according to the service transfer request, where the service transfer request carries the first address, the second address, and the virtual identifier to be transferred, and the second server corresponds to the first address.
Optionally, on the basis of the embodiment corresponding to fig. 9, in another embodiment of the routing information synchronization apparatus 900 provided in this embodiment of the present application,
the updating module 902 is further configured to send a service transfer request to the first server by the sending module 903, so that after the first server transfers the service instance to be transferred to the second server according to the service transfer request, both the first state information and the second state information in the second routing information are updated to be the third state information.
Optionally, on the basis of the embodiment corresponding to fig. 9, in another embodiment of the routing information synchronization apparatus 900 provided in this embodiment of the present application, the routing information synchronization apparatus 900 further includes a receiving module 905;
a receiving module 905, configured to, after the sending module 903 sends the second routing information to the N routing devices, receive a synchronization success message sent by each of the N routing devices if each of the N routing devices updates the first routing information to the second routing information within a preset time;
the determining module 904 is further configured to determine that the N routing devices have updated the first routing information to the second routing information in response to the synchronization success message.
Optionally, on the basis of the embodiment corresponding to fig. 9, in another embodiment of the routing information synchronization apparatus 900 provided in this embodiment of the present application,
the receiving module 905 is further configured to, after the sending module 903 sends the second routing information to the N routing devices, receive a synchronization success message sent by each of M routing devices if the M routing devices in the N routing devices update the first routing information to the second routing information within a preset time, where M is an integer greater than or equal to 0 and less than N;
the determining module 904 is further configured to determine that the M routing devices have updated the first routing information to the second routing information in response to the synchronization success message.
Optionally, on the basis of the embodiment corresponding to fig. 9, in another embodiment of the routing information synchronization apparatus 900 provided in this embodiment of the present application,
a sending module 903, configured to, in response to the synchronization success message, after determining that the M routing devices have updated the first routing information to the second routing information, send an information rollback instruction to the M routing devices, so that the M routing devices update the second routing information to the first routing information;
the sending module 903 is further configured to send a service recovery instruction to the N routing devices if the M routing devices have updated the second routing information to the first routing information, where the service recovery instruction is used to instruct the N routing devices to send a service scheduling request to the first server.
Referring to fig. 10, fig. 10 is a schematic view of another embodiment of a routing information synchronization apparatus in an embodiment of the present application, where the routing information synchronization apparatus 1000 includes:
an obtaining module 1001, configured to obtain first routing information, where the first routing information includes a correspondence between virtual identifiers and addresses;
a receiving module 1002, configured to receive second routing information sent by a scheduling server, where the second routing information includes a correspondence between a virtual identifier and an address, and the second routing information is obtained by the scheduling server updating the first routing information according to a service update request;
an updating module 1003, configured to stop sending a service scheduling request to a first server according to the second routing information received by the receiving module 1002, and update the first routing information to the second routing information;
the receiving module 1002 is further configured to receive a service recovery instruction sent by the scheduling server if the updating module 1003 has updated the first routing information to the second routing information, where the service recovery instruction is used to indicate that the service scheduling request is sent to the first server.
Optionally, on the basis of the embodiment corresponding to fig. 10, in another embodiment of the routing information synchronization apparatus 1000 provided in the embodiment of the present application, the routing information synchronization apparatus 1000 further includes a starting module and a sending module, and the service update request carries the first address;
a starting module 1004, configured to start a message cache queue in response to a message cache request if the message cache request sent by the scheduling server is received before the receiving module 1002 receives the service recovery instruction sent by the scheduling server;
the obtaining module 1001 is further configured to obtain a service scheduling request, where the service scheduling request carries a target request identifier;
the obtaining module 1001 is further configured to, in response to the service scheduling request, obtain a transfer identifier corresponding to the target request identifier from the message cache queue;
a sending module 1005, configured to send a service scheduling request to a second server if the transfer identifier is the first transfer identifier, where the second server corresponds to the first address.
Optionally, on the basis of the embodiment corresponding to fig. 10, in another embodiment of the routing information synchronization apparatus 1000 provided in this embodiment of the present application,
the sending module 1005 is further configured to, after the obtaining module obtains the transfer identifier corresponding to the target request identifier from the message cache queue in response to the service scheduling request, send a service instance transfer request to the first server if the transfer identifier is the second transfer identifier, where the service instance transfer request carries the target request identifier;
the receiving module 1002 is further configured to receive a service instance transfer response sent by the first server, where the service instance transfer response indicates that the first server has transferred the service instance corresponding to the target request identifier to the second server.
It should be understood that, taking the routing information synchronization apparatus as a scheduling server as an example, referring to fig. 11, fig. 11 is a schematic structural diagram of a scheduling server in an embodiment of the present application, and the scheduling server 1100 may have a relatively large difference due to different configurations or performances, and may include one or more Central Processing Units (CPUs) 1122 (e.g., one or more processors) and a memory 1132, and one or more storage media 1130 (e.g., one or more mass storage devices) storing an application program 1142 or data 1144. Memory 1132 and storage media 1130 may be, among other things, transient storage or persistent storage. The program stored on the storage medium 1130 may include one or more modules (not shown), each of which may include a series of instruction operations for the server. Still further, the central processor 1122 may be provided in communication with the storage medium 1130 to execute a series of instruction operations in the storage medium 1130 on the server 1100.
Dispatch server 1100 may also include one or more power supplies 1126, one or more wired or wireless network interfaces 1150, one or more input-output interfaces 1158, and/or one or more operating systems 1141, such as WindowsServerTM, MacOSXTM, UnixTM, LinuxTM, FreeBSDTM, etc.
The steps performed by the server in the above embodiment may be based on the server structure shown in fig. 11.
In the embodiment of the present application, the CPU1122 included in the server further has the following functions:
acquiring a service updating request;
updating the first routing information according to the service updating request to obtain second routing information, wherein the first routing information and the second routing information both comprise a corresponding relation between the virtual identifier and the address;
sending second routing information to the N routing devices, so that the N routing devices stop sending service scheduling requests to the first server according to the second routing information, and updating the first routing information into second routing information, wherein N is an integer greater than 1;
and if the N routing devices update the first routing information into the second routing information, sending a service recovery instruction to the N routing devices, wherein the service recovery instruction is used for indicating the N routing devices to send service scheduling requests to the first server.
It should be understood that, taking a service processing apparatus as a routing device as an example, referring to fig. 12, fig. 12 is a schematic structural diagram of a routing device in an embodiment of the present application, and the routing device 1200 may generate a relatively large difference due to different configurations or performances, and may include one or more Central Processing Units (CPUs) 1222 (e.g., one or more processors) and a memory 1232, and one or more storage media 1230 (e.g., one or more mass storage devices) storing an application program 1242 or data 1244. Memory 1232 and storage media 1230 can be, among other things, transient storage or persistent storage. The program stored in the storage medium 1230 may include one or more modules (not shown), each of which may include a series of instruction operations for the server. Still further, the central processor 1222 may be configured to communicate with the storage medium 1230, to execute a series of instruction operations in the storage medium 1230 on the server 1200.
The routing apparatus 1200 may also include one or more power supplies 1226, one or more wired or wireless network interfaces 1250, one or more input-output interfaces 1258, and/or one or more operating systems 1241, such as a Windows ServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTMAnd so on.
The steps performed by the server in the above embodiment may be based on the server structure shown in fig. 12.
In the embodiment of the present application, the CPU1222 included in the server further has the following functions:
acquiring first routing information, wherein the first routing information comprises a virtual identifier and a corresponding relation between addresses;
receiving second routing information sent by a scheduling server, wherein the second routing information comprises a corresponding relation between a virtual identifier and an address, and the second routing information is obtained after the scheduling server updates the first routing information according to a service updating request;
stopping sending the service scheduling request to the first server according to the second routing information, and updating the first routing information into the second routing information;
and if the first routing information is updated to the second routing information, receiving a service recovery instruction sent by the scheduling server, wherein the service recovery instruction is used for indicating that a service scheduling request is sent to the first server.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed 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 can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.

Claims (16)

1. A method for synchronizing routing information, comprising:
acquiring a service updating request;
updating first routing information according to the service updating request to obtain second routing information, wherein the first routing information and the second routing information both comprise a corresponding relation between a virtual identifier and an address;
sending the second routing information to N routing devices, so that the N routing devices stop sending service scheduling requests to a first server according to the second routing information, and update the first routing information to the second routing information, wherein N is an integer greater than 1;
if the N routing devices update the first routing information to the second routing information, sending a service recovery instruction to the N routing devices, wherein the service recovery instruction is used for instructing the N routing devices to send the service scheduling request to the first server;
and if M routing devices in the N routing devices update the first routing information to the second routing information within preset time, sending an information rollback instruction to the M routing devices to enable the routing information in all the routing devices to be cached as the first routing information, wherein M is an integer which is greater than or equal to 0 and smaller than N.
2. The method according to claim 1, wherein the service update request carries a first virtual identifier and a first address;
the updating the first routing information according to the service updating request to obtain second routing information includes:
acquiring the first routing information;
and adding the first virtual identifier and the first address carried by the service updating request into the first routing information to obtain the second routing information.
3. The method of claim 2, further comprising:
determining a second virtual identifier according to the first virtual identifier carried by the service updating request;
determining first state information according to a first virtual identifier carried by the service updating request;
determining second state information according to the second virtual identifier;
the adding the first virtual identifier and the first address carried by the service update request to the first routing information to obtain the second routing information includes:
and adding the first state information, the second state information, the first virtual identifier carried by the service updating request and the first address into the first routing information to obtain the second routing information.
4. The method of claim 3, further comprising:
determining a virtual identifier to be transferred according to the first virtual identifier and the second virtual identifier, wherein the virtual identifier to be transferred is used for indicating a service instance to be transferred;
determining a second address according to a second virtual identifier based on the second routing information, wherein the second address is an address of the first server;
sending a service transfer request to the first server so that the first server transfers the service instance to be transferred to a second server according to the service transfer request, wherein the service transfer request carries the first address, the second address and the virtual identifier to be transferred, and the second server corresponds to the first address.
5. The method of claim 4, further comprising:
and updating the first state information and the second state information in the second routing information into third state information.
6. The method according to any one of claims 1 to 5, further comprising:
if each of the N routing devices updates the first routing information to the second routing information within a preset time, receiving a synchronization success message sent by each of the N routing devices;
in response to the synchronization success message, determining that the N routing devices have updated the first routing information to the second routing information.
7. The method according to any one of claims 1 to 5, further comprising:
if M routing devices in the N routing devices update the first routing information to the second routing information within a preset time, receiving a synchronization success message sent by each routing device in the M routing devices, wherein M is an integer greater than or equal to 0 and less than N;
in response to the synchronization success message, determining that the M routing devices have updated the first routing information to the second routing information.
8. The method of claim 7, wherein sending the information rollback instruction to the M routing devices to cache the routing information in all the routing devices as the first routing information comprises:
sending an information rollback instruction to the M routing devices to enable the M routing devices to update the second routing information to the first routing information;
if the M routing devices update the second routing information to the first routing information, sending the service recovery instruction to the N routing devices, where the service recovery instruction is used to instruct the N routing devices to send the service scheduling request to the first server.
9. A method for synchronizing routing information, comprising:
acquiring first routing information, wherein the first routing information comprises a virtual identifier and a corresponding relation between addresses;
receiving second routing information sent by a scheduling server, wherein the second routing information comprises a corresponding relation between a virtual identifier and an address, and the second routing information is obtained after the scheduling server updates the first routing information according to a service updating request;
stopping sending a service scheduling request to a first server according to the second routing information, and updating the first routing information into the second routing information;
if the first routing information is updated to the second routing information, receiving a service recovery instruction sent by the scheduling server, wherein the service recovery instruction is used for indicating that the service scheduling request is sent to the first server;
and if M routing devices in the N routing devices update the first routing information to the second routing information within preset time, the M routing devices receive an information rollback instruction sent by the scheduling server, so that the routing information in all the routing devices is cached as the first routing information, wherein M is an integer which is greater than or equal to 0 and smaller than N.
10. The method of claim 9, wherein the service update request carries a first address;
the method further comprises the following steps:
if a message cache request sent by the scheduling server is received, responding to the message cache request, and starting a message cache queue;
acquiring the service scheduling request, wherein the service scheduling request carries a target request identifier;
responding to the service scheduling request, and acquiring a transfer identifier corresponding to the target request identifier from the message cache queue;
and if the transfer identifier is a first transfer identifier, sending the service scheduling request to a second server, wherein the second server corresponds to the first address.
11. The method of claim 10, further comprising:
if the transfer identifier is a second transfer identifier, sending a service instance transfer request to the first server, wherein the service instance transfer request carries the target request identifier;
and receiving a service instance transfer response sent by the first server, wherein the service instance transfer response indicates that the first server transfers the service instance corresponding to the target request identification to the second server.
12. A routing information synchronization apparatus, comprising:
the acquisition module is used for acquiring a service updating request;
the updating module is used for updating the first routing information according to the service updating request acquired by the acquiring module to obtain second routing information, wherein the first routing information and the second routing information both comprise a corresponding relation between a virtual identifier and an address;
a sending module, configured to send the second routing information updated by the updating module to N routing devices, so that the N routing devices stop sending service scheduling requests to a first server according to the second routing information, and update the first routing information to the second routing information by the N routing devices, where N is an integer greater than 1;
the sending module is further configured to send a service restoration instruction to the N routing devices if the N routing devices have updated the first routing information to the second routing information, where the service restoration instruction is used to instruct the N routing devices to send the service scheduling request to the first server;
the sending module is further configured to send an information rollback instruction to the M routing devices if the M routing devices in the N routing devices update the first routing information to the second routing information within a preset time, so that the routing information in all the routing devices is cached as the first routing information, where M is an integer greater than or equal to 0 and less than N.
13. A routing information synchronization apparatus, comprising:
an obtaining module, configured to obtain first routing information, where the first routing information includes a correspondence between a virtual identifier and an address;
a receiving module, configured to receive second routing information sent by a scheduling server, where the second routing information includes a correspondence between a virtual identifier and an address, and the second routing information is obtained by updating, by the scheduling server, the first routing information according to a service update request;
an updating module, configured to stop sending a service scheduling request to a first server according to the second routing information received by the receiving module, and update the first routing information to the second routing information;
the receiving module is further configured to receive a service restoration instruction sent by the scheduling server if the updating module has updated the first routing information to the second routing information, where the service restoration instruction is used to instruct to send the service scheduling request to the first server;
the receiving module is further configured to receive an information rollback instruction sent by the scheduling server to cache the routing information in all the routing devices as the first routing information if M routing devices of the N routing devices update the first routing information to the second routing information within a preset time, where M is an integer greater than or equal to 0 and smaller than N.
14. A dispatch server, comprising: a memory, a transceiver, a processor, and a bus system;
wherein the memory is used for storing programs;
the processor is configured to execute a program in the memory, including the method of any of claims 1 to 8;
the bus system is used for connecting the memory and the processor so as to enable the memory and the processor to communicate.
15. A routing device, comprising: a memory, a transceiver, a processor, and a bus system;
wherein the memory is used for storing programs;
the processor is configured to execute a program in the memory, including the method of any of the preceding claims 9 to 11;
the bus system is used for connecting the memory and the processor so as to enable the memory and the processor to communicate.
16. A computer-readable storage medium, having stored thereon a computer-executable program which, when loaded and executed by a processor, implements the method of routing information synchronization of any of claims 1-8 and/or the method of routing information synchronization of any of claims 9-11.
CN201911176697.7A 2019-11-26 2019-11-26 Method and related device for synchronizing routing information Active CN110943925B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911176697.7A CN110943925B (en) 2019-11-26 2019-11-26 Method and related device for synchronizing routing information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911176697.7A CN110943925B (en) 2019-11-26 2019-11-26 Method and related device for synchronizing routing information

Publications (2)

Publication Number Publication Date
CN110943925A CN110943925A (en) 2020-03-31
CN110943925B true CN110943925B (en) 2020-11-03

Family

ID=69908876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911176697.7A Active CN110943925B (en) 2019-11-26 2019-11-26 Method and related device for synchronizing routing information

Country Status (1)

Country Link
CN (1) CN110943925B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181493B (en) * 2020-09-24 2022-09-13 成都海光集成电路设计有限公司 Register network architecture and register access method
US11792107B2 (en) 2021-05-26 2023-10-17 Amadeus S.A.S. Resilient routing systems and methods for hosted applications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (en) * 2011-08-11 2011-11-16 中国科学院软件研究所 Distributed type dynamic cache expanding method and system supporting load balancing
CN103036796A (en) * 2011-09-29 2013-04-10 阿里巴巴集团控股有限公司 Method and device for updating routing information
CN107196856A (en) * 2017-07-31 2017-09-22 杭州迪普科技股份有限公司 A kind of method and apparatus for determining routing forwarding path

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5821578B2 (en) * 2011-11-30 2015-11-24 富士通株式会社 Server device, data order guarantee program, and data order guarantee method
CN102591970B (en) * 2011-12-31 2014-07-30 北京奇虎科技有限公司 Distributed key-value query method and query engine system
US10169100B2 (en) * 2016-03-31 2019-01-01 International Business Machines Corporation Software-defined storage cluster unified frontend
CN107295063B (en) * 2017-05-11 2018-09-04 腾讯科技(深圳)有限公司 Increase the method for node and reciprocity distributed system newly in reciprocity distributed system
US20190253274A1 (en) * 2018-02-14 2019-08-15 Megaport (Services) Pty Ltd. Network interconnection service
US10462009B1 (en) * 2018-02-20 2019-10-29 Amazon Technologies, Inc. Replicating customers' information technology (IT) infrastructures at service provider networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (en) * 2011-08-11 2011-11-16 中国科学院软件研究所 Distributed type dynamic cache expanding method and system supporting load balancing
CN103036796A (en) * 2011-09-29 2013-04-10 阿里巴巴集团控股有限公司 Method and device for updating routing information
CN107196856A (en) * 2017-07-31 2017-09-22 杭州迪普科技股份有限公司 A kind of method and apparatus for determining routing forwarding path

Also Published As

Publication number Publication date
CN110943925A (en) 2020-03-31

Similar Documents

Publication Publication Date Title
US9912538B2 (en) Synchronization of configuration file of virtual application distribution chassis
CN107545338B (en) Service data processing method and service data processing system
CN107251533B (en) Co-located peer device for peer-to-peer matching
CN111614748B (en) Apparatus and method for scalable peer-to-peer matching
US10908834B2 (en) Load balancing for scalable storage system
CN110943925B (en) Method and related device for synchronizing routing information
CN101984632A (en) Load distributing method, device and server in distributed cache system
CN111506592B (en) Database upgrading method and device
US10191732B2 (en) Systems and methods for preventing service disruption during software updates
JP6700308B2 (en) Data copy method and device
CN112953982A (en) Service processing method, service configuration method and related device
CN111813577A (en) Data processing method and device and computer readable storage medium
CN112087506B (en) Cluster node management method and device and computer storage medium
EP3817335A1 (en) System operating using opc ua, communication method using opc ua, and load balancer
CN106951443B (en) Method, equipment and system for synchronizing copies based on distributed system
CN112422630A (en) Cloud storage system and object processing method in cloud storage system
JP4812848B2 (en) Clustering server system and data transfer method
CN110247937B (en) Method for managing and accessing shared file of elastic storage system and related equipment
WO2024021471A1 (en) Service updating method, apparatus and system, and storage medium
US20240176762A1 (en) Geographically dispersed hybrid cloud cluster
CN113542013B (en) Method, device and equipment for distributing virtualized network function management messages
CN110661857B (en) Data synchronization method and device
WO2021055546A1 (en) System and method for managing blockchain nodes
JP2009245118A (en) System and method for providing application service, and method for transferring application
CN111382326A (en) Instance group creation method, instance group creation device, instance group creation server and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40021082

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant