WO2015101260A1 - Procédé et système de traitement d'un service de communications instantanées - Google Patents
Procédé et système de traitement d'un service de communications instantanées Download PDFInfo
- Publication number
- WO2015101260A1 WO2015101260A1 PCT/CN2014/095357 CN2014095357W WO2015101260A1 WO 2015101260 A1 WO2015101260 A1 WO 2015101260A1 CN 2014095357 W CN2014095357 W CN 2014095357W WO 2015101260 A1 WO2015101260 A1 WO 2015101260A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- server
- user
- partition
- primary server
- proxy device
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
Definitions
- the present invention relates to the field of Internet communications, and in particular, to a method and system for processing an instant messaging service.
- the traffic of the instant messaging service is becoming larger and larger, and the instant messaging service is usually processed by using the partition server cluster.
- a partitioned server cluster architecture includes: a distributed data server cluster and at least one front-end server.
- the distributed data server cluster can be a Redis type server cluster including a distributed primary server farm and a distributed secondary server farm. Because the data server cluster occupies a large area of the equipment room, the front-end server and the main server group are usually in the same equipment room, and the slave server group is in another equipment room. That is, the primary server farm is located in a different machine room from the secondary server farm.
- the terminal When the terminal needs to write data of the instant messaging service, the terminal sends the data of the instant messaging service to the front-end server, and the front-end server forwards the data of the instant messaging service to the primary server group; the primary server group receives the data of the instant messaging service.
- the data of the instant messaging service is processed, the processed data is stored, and the processed data is sent to the slave server group, so that the processed data is backed up by the server group.
- the secondary server group takes over the processing of the data of the instant messaging service, and the front-end server needs to send the data of the instant messaging service received after the failure to the slave.
- the server farm processes it.
- the performance of the slave server group may be worse than the performance of the main server group, etc., which may affect the instant messaging service after the active/standby switchover. Throughput.
- an embodiment of the present invention provides a method and system for processing an instant messaging service.
- the technical solution is as follows:
- a system for processing an instant messaging service comprising a front-end proxy device, an election server, and at least two partition server clusters, wherein:
- the front-end proxy device is connected to the election server;
- Each of the partitioned server clusters includes at least two data servers, one of which serves as a primary server and the other data server serves as a secondary server;
- the front-end proxy device is connected to a primary server in each of the partitioned server clusters, and the front-end proxy device is further connected to a secondary server in each of the partitioned server clusters;
- the election server is connected to a primary server in each of the partitioned server clusters, and the election server is also connected to a secondary server in each of the partitioned server clusters.
- a second aspect provides a method for processing an instant messaging service, in the system of the first aspect, the method comprising:
- the election server receives a registration request message sent by at least two data servers in any one of the partition server clusters;
- the election server sets the data server corresponding to the registration request information received for the first time as the primary server in the partition server cluster, and sets the data server corresponding to the registration request information received after the first time as the partition server cluster.
- a slave server in which the data of the instant messaging service sent by the front-end proxy device is received by the primary server and the instant messaging service is processed;
- the election server listens to the primary server and the secondary server, and when the primary server fails to be detected or when a network between the primary server and the front-end proxy device fails, the partition server cluster is One of the slave servers is set as a new master server to receive data of the instant messaging service sent by the front-end proxy device through the new master server and process the instant messaging service.
- a system for processing an instant messaging service the system of the first aspect, wherein:
- the election server is configured to receive a registration request message sent by the at least two data servers in any one of the partition server clusters;
- the election server is configured to set a data server corresponding to the registration request information received for the first time as a primary server in the partition server cluster, and set a data server corresponding to the registration request information received after the first time to the a slave server in the cluster of the partition server, to receive data of the instant messaging service sent by the front-end proxy device by the primary server, and process the instant messaging service;
- the election server is configured to monitor the primary server and the secondary server, and when the primary server fails to be detected or when a network between the primary server and the front-end proxy device fails,
- a slave server in the partition server cluster is set as a new master server to receive data of the instant messaging service sent by the front-end proxy device through the new master server and process the instant messaging service.
- each partition server cluster includes a primary server and a secondary server, which can disperse data of the instant messaging service into different partition service area clusters for processing, even if If the primary server in a partitioned server cluster fails, it can also take over the processing of the secondary server in the partitioned server cluster, without affecting the normal operation of other partitioned server clusters, achieving high availability of the partitioned server cluster, and at the same time, Adding partitioned server clusters and reducing partitioned server clusters is also easy to implement across the system.
- FIG. 1A is a schematic structural diagram of a system for processing an instant messaging service according to an embodiment of the present invention
- FIG. 1B is a flowchart of a method for processing an instant messaging service according to an embodiment of the present invention
- FIG. 2 is a flowchart of a method for processing an instant messaging service according to another embodiment of the present invention.
- FIG. 3 is a system architecture diagram of processing an instant messaging service according to another embodiment of the present invention.
- FIG. 4 is a flowchart of another method for processing an instant messaging service according to an embodiment of the present invention.
- FIG. 5 is a schematic diagram of a chat partition interface according to another embodiment of the present invention.
- FIG. 6 is a schematic structural diagram of another system for processing an instant messaging service according to another embodiment of the present invention.
- FIG. 7 is a schematic structural diagram of a system for processing an instant messaging service according to another embodiment of the present invention.
- FIG. 1A it is a schematic structural diagram of a system for processing an instant messaging service according to an embodiment of the present invention.
- the system includes a front end proxy device 120, an election server 140, and at least two partition server clusters 160.
- the front end proxy device 120 is connected to the election server 140.
- Front-end proxy device 120 is coupled to primary server 162 in each partitioned server cluster 160, which is also coupled to secondary server 164 in each partitioned server cluster 160.
- Each partitioned server cluster 160 includes at least two data servers, one of which acts as the primary server 162 and the other of which acts as the secondary server 164.
- the election server 140 is connected to the primary server 162 in each of the partitioned server clusters 160, and the front-end proxy device 120 is also coupled to the secondary server 164 in each of the partitioned server clusters 160.
- the front-end proxy device 120 may be one or more data for receiving client-initiated instant messaging services, and then forwarded to the primary server 162 in the partitioned server cluster 160 for processing.
- the election server 140 is configured to monitor the primary server 162 in each partitioned server cluster 160, from when the primary server 162 fails, or when the connection between the primary server 162 and the front-end proxy device 120 fails, from the partitioned server cluster 160 A new primary server is elected from the server 164.
- At least two of the data servers in each partitioned server cluster 160 are in the same room area.
- the transmission path between the data server in each partition server cluster 160 and the front-end proxy device 120 is the same or similar. In other words, the difference in length of the transmission path between the data server in each partitioned server cluster 160 and the front-end proxy device 120 is less than a predetermined threshold.
- An embodiment of the present invention provides a method for processing an instant messaging service. Referring to FIG. 1B, the method is used in the system as described in FIG. 1A, where the method includes:
- Step 101 The election server receives a registration request message sent by at least two data servers in any partition server cluster;
- Step 102 The election server sets the data server corresponding to the registration request information received for the first time as the primary server in the partition server cluster, and sets the data server of the registration request message received after the first time as the partition server cluster. Receiving, by the server, data of the instant messaging service sent by the front-end proxy device through the primary server and processing the instant messaging service;
- Step 103 The election server listens to the primary server and the secondary server.
- the primary server fails to be detected or the network between the primary server and the front-end proxy device fails, one of the secondary server clusters is set as the new primary server.
- the election server listens to the primary server and the secondary server.
- the election server sets the data server corresponding to the registration request message received for the first time as the primary server in the partition server cluster, and sets the data server corresponding to the registration request message received after the first time as the partition server cluster.
- the slave server it also includes:
- the election server obtains the master server from the correspondence between the stored IP address, port number, and ID (Identity) according to the IP address (Internet Protocol) of the primary server and the port number. Node ID corresponding to the partitioned server cluster;
- the election server sends a join message to the front-end proxy device, where the join message carries the node ID, the role information of the primary server, the IP address and port number, and the role information, IP address, and port number of the slave server; the role information is used to indicate that the data server is The primary server is still the secondary server.
- the front-end proxy device adds the role information, the IP address, and the port number of the primary server, and the role information, the IP address, and the port number of the slave server to the corresponding node information in the hash ring according to the node ID.
- a hash ring is used to store node information for each partitioned server cluster.
- the method further includes:
- the election server sends an update message to the front-end proxy device, where the update message carries the node ID, the IP address and port number of the primary server, and the new role information, IP address, and port number of the new primary server;
- the front-end proxy device deletes the role information, IP address, and port number of the primary server from the hash ring according to the node ID, the IP address of the primary server, and the port number.
- the front-end proxy device obtains the role information of the new primary server from the hash ring according to the node ID, the IP address of the new primary server, and the port number, and replaces the acquired role information with the new role information.
- the method further includes:
- the first terminal sends a vacancy request message to the first front-end proxy device that is accessed by the first terminal, where the vacancy request message carries the ID of the first user and the channel ID of the channel;
- the first front-end proxy device sends the seating request message to the primary server included in the partition server cluster corresponding to the channel according to the channel ID;
- the primary server allocates a seat for the first user in the chat zone of the channel according to the ID of the first user and the channel ID;
- the first front-end proxy device receives the ID, channel ID, and chat content of the first user sent by the first terminal, and sends the ID of the first user and the chat content to the chat server included in the cluster of the partition server according to the channel ID;
- the chat server sends the ID of the first user and the chat content to the second terminal corresponding to the second user included in the chat zone according to the ID of the first user, and the second user is a user other than the first user in the chat zone.
- the first front-end proxy device sends the vacancy request message to the primary server included in the partition server cluster corresponding to the channel according to the channel ID, including:
- the first front-end proxy device performs a consistent hash operation on the channel ID, and obtains a node ID corresponding to the partitioned server cluster accessed by the channel;
- the first front-end proxy device acquires a corresponding node from the hash ring according to the node ID;
- the first front-end proxy device acquires the IP address and port number of the primary server from the node according to the role information of the primary server in the node;
- the first front-end proxy device sends the seating request message to the primary server according to the IP address and port number of the primary server.
- the primary server allocates a seat for the first user in the chat zone of the channel according to the ID and the channel ID of the first user, including:
- the primary server acquires identity information of the first user according to the ID of the first user.
- the primary server allocates a seat to the first user in the privileged area included in the chat zone of the channel according to the ID of the first user and the channel ID;
- the primary server allocates a seat to the first user in a common area included in the chat zone according to the ID of the first user and the channel ID.
- the primary server allocates a seat to the first user in the privileged area included in the chat zone of the channel according to the ID and the channel ID of the first user, including:
- the primary server acquires the first number of users in the privileged area included in each partition group in the chat partition of the channel, and acquires the second number of users in the normal area included in each partition group;
- the primary server divides the second number corresponding to each partition group by the first number corresponding to each partition group, and obtains the first value corresponding to each partition group;
- the primary server selects a partition group corresponding to the largest first value from the partition group included in the chat partition, and if there is a free seat in the privileged area included in the selected partition group, select one of the privileged areas included in the selected partition group. An idle seat and assign the selected free seat to the first user;
- the primary server creates a partition group in the chat partition, creates a privileged zone in the created partition group, and selects one from the created privileged zone. An idle seat and assign the selected free seat to the first user.
- the primary server allocates a seat to the first user in a common area included in the chat zone according to the ID and the channel ID of the first user, including:
- the primary server obtains the number of users included in each partition group in the chat zone of the channel, and selects the partition group with the smallest number of users;
- the primary server selects an idle seat from the common area with the largest number of users and free seats, and Assigning the selected free seat to the first user;
- the primary server creates a normal area in the selected partition group, selects an idle seat from the created normal area, and assigns the selected free seat to the first user.
- the chat server sends the ID of the first user and the chat content to the second terminal corresponding to the second user included in the chat zone according to the ID of the first user, including:
- the chat server obtains the corresponding partition group ID and the area ID from the corresponding relationship between the stored user ID, the partition group ID, and the area ID according to the ID of the first user;
- the chat server obtains the ID of the second user from the correspondence between the user ID, the partition group ID, and the area ID according to the partition group ID and the area ID;
- the chat server acquires, according to the ID of the second user, the identifier of the second front-end proxy device accessed by the second terminal corresponding to the second user from the corresponding relationship between the stored user ID and the identifier of the front-end proxy device. knowledge;
- the chat server sends the ID of the first user and the chat content to the second terminal according to the identifier of the second front-end proxy device.
- each partition server cluster includes a primary server and a secondary server, which can disperse data of the instant messaging service into different partition service area clusters for processing, even if If the primary server in a partitioned server cluster fails, it can also take over the processing of the secondary server in the partitioned server cluster, without affecting the normal operation of other partitioned server clusters, achieving high availability of the partitioned server cluster, and at the same time, Adding partitioned server clusters and reducing partitioned server clusters is also easy to implement across the system.
- the data transmission path of the instant messaging service will not be long after the active/standby switchover, and the data transmission performance of the instant messaging service in the system will not be affected. .
- An embodiment of the present invention provides a method for processing an instant messaging service. Referring to FIG. 2, the method is used in the system shown in FIG. 1A, where the method includes:
- Step 201 The election server receives a registration request message sent by at least two data servers in any partition server cluster.
- the data server After the data server in any of the partitioned server clusters is started, the data server sends a registration request message to the election server, where the registration request message carries the IP address and port number of the data server.
- the system includes a terminal, a front-end proxy device, an election server, a primary server, and a secondary server, and the primary server and the secondary server are located in the same partition server cluster.
- the slave server in the system can also continue to expand and perform other operations in the instant messaging service.
- Step 202 The election server sets the data server corresponding to the registration request information received for the first time as the primary server in the partition server cluster, and sets the data server corresponding to the registration request information received after the first time as the partition server cluster. From the server;
- the receiving server receives the registration request message sent by the data server, records the receiving time of receiving the registration request message, and sets a data server with the earliest receiving time according to the receiving time of the received registration request message of at least two data servers.
- the main service in the partitioned server cluster Server set other data servers as slaves in the partitioned server cluster.
- the election server sends a first reply message to the primary server, where the first reply message carries the role information of the primary server, the role information of the secondary server, the IP address of the secondary server, and The port number; and sending a second reply message to the slave server, the second reply message carrying the role information of the slave server, the role information of the master server, the IP address of the master server, and the port number.
- the role information is used to indicate whether the data server is a primary server or a secondary server.
- the primary server and the secondary server form a partition server cluster, and notify each server included in the partition server cluster in which each server in the partition server cluster is located. Role information, IP address, and port number.
- the time at which the at least two data servers are started may be different in the foregoing steps, so the election server may set the first data server as the primary server of the partition server cluster after receiving the registration request message sent by the first data server. Set the subsequently received data server as the slave server of the partition server cluster.
- the election server may also receive the registration request message sent by the first data server and then not perform the step of setting the primary server, and may set the first data server after receiving the registration request message sent by the second data server.
- the primary server the second data server is set as the secondary server, and the data server of the registration request message received after the second data server is also set as the secondary server.
- the slave server can be a chat server.
- Step 203 The election server obtains, according to the IP address and the port number of the primary server, the node ID corresponding to the partition server cluster where the primary server is located, from the correspondence between the stored IP address, the port number, and the node ID (identity).
- the partition server cluster corresponds to one node, so the selection server can obtain the master server from the corresponding relationship between the stored IP address, the port number, and the node ID according to the IP address and port number of the primary server included in the partition server cluster.
- the node ID corresponding to the partition server cluster may also obtain the partition server where the primary server is located according to the IP address and port number of the slave server included in the partition server cluster, and the correspondence between the stored IP address, port number, and node ID.
- the node ID corresponding to the cluster may also obtain the partition server where the primary server is located according to the IP address and port number of the slave server included in the partition server cluster, and the correspondence between the stored IP address, port number, and node ID.
- the IP address and the port number of the primary server are the IP addresses and port numbers carried in the registration request message sent by the primary server to the election server.
- the IP address and port number of the slave server are the registration request messages sent from the server to the election server. IP address and port number carried, and IP address, end
- the node ID in the correspondence between the slogan and the node ID is the node ID that the election server has previously configured for each data server.
- Step 204 The election server sends a join message to the front-end proxy device, where the join message carries the node ID, the role information of the primary server, the IP address and port number, and the role information, the IP address, and the port number of the slave server.
- the terminal corresponding to each user accesses a front-end proxy device, and the front-end proxy device sends the information to the partition server cluster corresponding to the channel, so the election server will set the role information and IP of the primary server included in the partition server cluster.
- the address and port number, as well as the role information, IP address, and port number from the server are sent to the front-end proxy device.
- Step 205 The front-end proxy device adds the role information, the IP address, and the port number of the primary server, and the role information, the IP address, and the port number of the slave server to the corresponding node in the hash ring according to the node ID, to receive through the primary server.
- the hash ring is stored in the front-end proxy device, and the hash ring includes node information corresponding to multiple partition server clusters, and each node information has its own corresponding node ID.
- the correspondence between the role information, the IP address, and the port number may be set in the node information included in the hash ring, and the current end proxy device receives
- the front-end proxy device stores the role information, IP address, and port number of the primary server in the role information.
- the correspondence between the IP address and the port number, and the role information, the IP address, and the port number of the server are stored in the correspondence between the role information, the IP address, and the port number.
- the front-end proxy device adds the primary server role information, the IP address, and the port number, and the role information, the IP address, and the port number of the slave server to the corresponding node in the hash ring according to the node ID, and the current proxy device receives the
- the front-end proxy device may send the data of the instant messaging service to the primary server, and the instant messaging service is processed by the primary server.
- the primary server sends the processing result to the slave server cluster according to the IP address and port number of the slave server included in the cluster server cluster in which the server is located.
- the server is the same as the data stored in the slave and master servers in the partitioned server cluster.
- Step 206 The election server listens to the primary server and the secondary server, and when the primary server appears to be monitored, Failure or when the network between the primary server and the front-end proxy device fails, set one slave server in the partition server cluster to the new primary server;
- the election server listens to the primary server and the secondary server in the partitioned server cluster, when the election server detects that the primary server fails or when the network between the primary server and the front-end proxy device fails,
- the partition server cluster includes a plurality of slave servers, and the election server immediately selects a slave server randomly from the plurality of slave servers, and sets the selected slave server as a new master server; if the partition server cluster includes a slave server, The election server immediately sets the slave server as the new master server.
- Step 207 The election server sends an update message to the front-end proxy device, where the update message carries the node ID, the IP address and port number of the failed primary server, and the new role information, IP address, and port number of the new primary server.
- Step 208 The front-end proxy device deletes the role information, the IP address, and the port number of the primary server from the hash ring according to the node ID, the IP address of the primary server, and the port number.
- the front-end proxy device searches for a corresponding node from the hash ring according to the node ID, and deletes the role information, the IP address, and the port number of the primary server from the found node according to the IP address and port number of the primary server.
- Step 209 The front-end proxy device acquires the role information of the new primary server from the hash ring according to the node ID, the IP address and the port number of the new primary server, and replaces the obtained role information with the received new role information to pass the
- the new primary server receives the data of the instant messaging service sent by the front-end proxy device and processes the instant messaging service.
- the front-end proxy device searches for the corresponding node information from the hash ring according to the node ID, and obtains the role information of the new primary server from the found node information according to the IP address and port number of the new primary server, and obtains The role information is replaced with the new role information received.
- the front-end proxy device may send the data of the instant messaging service to the new primary server, and the instant messaging service is sent by the new primary server. Process it.
- the newly started data server sends a registration request message to the election server, where the registration request information carries the IP address and port of the newly started data server.
- the election server receives the registration request information, detects a partition server cluster that does not have a slave server from the partition server cluster, and if found, sets the newly started data server as a slave server of the detected partition server cluster; election service Transmitting a third reply message to the primary server included in the detected partition server cluster, the third reply message carrying the role information, the IP address and the port number of the newly started data server; and sending the first data server to the newly started data server
- the fourth reply message carries the role information of the newly started data server, the role information, the IP address, and the port number of the primary server included in the detected partition server cluster.
- the election server If the election server does not detect the cluster server cluster that does not exist from the server, the election server acquires, from each partition server cluster, a partition server cluster that is in the same IP segment as the IP address of the newly started data server, and the The newly started data server is set to get the slave server of the partitioned server cluster.
- each partition server cluster includes a primary server and a secondary server, which can disperse data of the instant messaging service into different partition service area clusters for processing, Even if the primary server in a partitioned server cluster fails, the processing of the secondary server in the partitioned server cluster can be taken over without affecting the normal operation of the other partitioned server clusters, achieving high availability of the partitioned server cluster. In the entire system, adding partitioned server clusters and reducing partitioned server clusters are also easy to implement.
- the data transmission path of the instant messaging service will not be long after the active/standby switchover, and the data transmission performance of the instant messaging service in the system will not be affected. .
- the instant messaging service may be processed by the primary server according to the following steps. Referring to FIG. 4, the method for processing the instant messaging service is specifically processed. include:
- Step 301 The first terminal sends a vacancy request message to the first front-end proxy device that is accessed by the first terminal, where the vacancy request message carries the ID of the first user and the channel ID of the channel.
- the first terminal needs to enter the channel before the first terminal sends the seating request message to the first front-end proxy device.
- the step of the first terminal entering the channel may be: the first terminal sends an incoming request message to the session server, where the incoming request message carries the ID of the first user and the channel ID of the channel; the session server receives the incoming request message, according to the a channel ID, the ID of the user is stored in the user list corresponding to the channel, and the corresponding application identifier is obtained from the corresponding relationship between the stored channel ID and the application identifier according to the channel ID, and the user corresponding to the channel is obtained.
- User ID and the channel package in the list The application identifier is sent to the front-end proxy device, so that the front-end proxy device forwards the user identifier in the user list corresponding to the channel and the application identifier included in the channel to the first terminal.
- the first terminal receives the user identifier in the user list corresponding to the channel and the application identifier included in the channel, and loads the user list and the application corresponding to the application identifier to enter the channel.
- Step 302 The first front-end proxy device sends a seating request message to the primary server included in the partition server cluster corresponding to the channel according to the channel ID.
- the first front-end proxy device performs a consistent hash operation on the channel ID to obtain a node ID corresponding to the partition server cluster accessed by the channel; and the first front-end proxy device obtains the corresponding information from the hash ring according to the node ID.
- a first front-end proxy device obtains an IP address and a port number of the primary server from the node according to the role information of the primary server in the acquired node; the first front-end proxy device seats the host according to the IP address and port number of the primary server.
- the request message is sent to the primary server.
- the first front-end proxy device may obtain the IP address and port number of the primary server from the correspondence between the role information, the IP address, and the port number of the node according to the role information of the primary server in the acquired node.
- Step 303 The primary server acquires identity information of the first user according to the ID of the first user.
- the primary server searches for the ID of the first user from the stored member list, and if found, determines that the identity information of the first user is the member user, and if not, determines that the identity information of the first user is normal. user.
- Step 304 If the identity information of the first user is a member user, the primary server allocates a seat for the first user in the privileged area included in the chat zone of the channel according to the ID of the first user and the channel ID;
- this step can be implemented by the following steps (1)-(5), including:
- the primary server acquires the first number of users in the privileged area included in each partition group in the chat partition of the channel, and acquires the second number of users in the common area included in each partition group;
- the channel's chat zone includes a plurality of zone groups, and each zone group includes a privileged zone and a plurality of common zones, the privileged zone includes a plurality of seats, and each of the common zones includes a plurality of seats.
- the privileged area may also be included in the partition group, and the number of privileged areas is smaller than the number of common areas.
- the primary server divides the second number corresponding to each partition group by the corresponding number of each partition group.
- the first number, the first value corresponding to each partition group is obtained;
- the primary server selects a partition group corresponding to the largest first value from the partition group included in the chat partition;
- the primary server compares the first value corresponding to each partition group included in the chat zone, selects a largest first value from the first value corresponding to each partition group, and selects a largest first value corresponding to Partition group.
- the primary server selects an idle seat from the privileged areas included in the selected partition group, and assigns the selected free seat to the first user;
- the primary server determines whether there is a free seat in the privileged area included in the selected partition group, and if there is an idle seat in the privileged area included in the selected partition group, the primary server randomly selects from the privileged area included in the selected partition group. Select an available seat and assign the selected free seat to the first user.
- the primary server creates a partition group in the chat partition, and creates a privileged area in the created partition group, and creates the privilege A free seat is selected in the area and the selected free seat is assigned to the first user.
- the primary server can also create multiple common regions in the created partition group.
- the primary server acquires the user avatar of the first user according to the ID of the first user, and binds the user avatar of the first user to the first user. On the seat.
- the primary server may obtain a default user avatar, and the default user avatar is used as the user avatar of the first user, and is bound to the seat allocated for the first user.
- the chat zone of the channel includes not only the user avatar of the first user but also the user avatar of other users.
- the primary server After the primary server binds the user avatar of the first user to the seat allocated for the first user, the primary server will The chat zone of the channel is sent to the first front-end proxy device, so that the first front-end proxy device sends the chat zone to the first terminal. And the primary server obtains the IDs of other users in the chat zone where the first user is located according to the ID of the first user, and sends the ID of the first user and the user avatar of the first user to the terminal corresponding to the other user, so that the other users correspond.
- the terminal displays the user avatar of the first user on the seat where the first user is located.
- the chat partition of the channel includes multiple partition groups, and the user corresponding to the user only displays the user avatar in the partition group of the user, the user avatars in other partition groups are not displayed on the screen of the terminal, when the user views When the user is in another partition group, the user can send a switching instruction to the terminal, so that the terminal switches the user avatar of the partition group displayed on the screen.
- the channel also includes a live video screen or a performance screen, and a chat content display area.
- the user can watch the live video on the live video screen, and can also chat with other users in the chat zone, and display the chat content.
- chat content display area In the chat content display area.
- the users located in different areas may have different chat contents displayed in the chat content display area displayed on the corresponding terminal.
- the first terminal may display a chat partition interface as shown in FIG. 5, where the chat partition interface includes a performance screen, a privileged area, a common area, and a user's avatar. And the chat content display area.
- Step 305 If the identity information of the first user is a normal user, the primary server allocates a seat to the first user in a common area included in the chat zone of the channel according to the ID of the first user and the channel ID.
- this step can be implemented by the following steps (a)-(c), including:
- the primary server obtains the number of users included in each partition group in the chat zone of the channel, and selects the partition group with the smallest number of users;
- the primary server acquires the number of users included in each partition group in the chat zone of the channel, compares the number of users included in each partition group, and selects the partition group with the smallest number of users.
- the common area included in the selected partition group the number of users in each common area is counted, the number of statistics is compared, and the common area with the largest number of users is selected, and the selected common area is determined. Whether there is an idle seat, if present, randomly selects an available seat from the selected normal area, and assigns the selected free seat to the first user.
- the primary server can also create a privileged zone in the created partition group.
- Step 306 The first front-end proxy device receives the ID and channel ID of the first user sent by the first terminal. And chatting the content, and sending the ID of the first user and the chat content to the chat server included in the partition server cluster according to the channel ID;
- the first front-end proxy device receives the ID, channel ID, and chat content of the first user sent by the first terminal, performs a consistent hash operation on the channel ID, and obtains a node ID corresponding to the partition server cluster accessed by the channel. .
- the first front-end proxy device acquires a corresponding node from the hash ring according to the node ID, obtains an IP address and a port number of the chat server from the node, and sets the ID of the first user according to the IP address and port number of the chat server.
- the chat content is sent to the chat server included in the partition server cluster.
- the first terminal sends the ID, the channel ID, and the chat content of the first user to the first front-end proxy device when the first user chats with other users in the chat zone.
- the system includes a first terminal, a first front-end proxy device, an election server, and a partition server cluster.
- the partition server cluster includes not only a primary server, a secondary server, but also a chat server.
- Step 307 The chat server sends the ID of the first user and the chat content to the second terminal corresponding to the second user included in the chat zone according to the ID of the first user, where the second user is the first user. Other users outside.
- this step can be implemented by the following steps (1)-(4), including:
- the chat server obtains the corresponding partition group ID and the area ID from the corresponding relationship between the stored user ID, the partition group ID, and the area ID according to the ID of the first user;
- the chat server obtains the ID of the second user from the correspondence between the user ID, the partition group ID, and the area ID according to the partition group ID and the area ID;
- the chat server obtains the corresponding user ID from the correspondence between the user ID, the partition group ID, and the area ID according to the partition group ID and the area ID, and deletes the ID of the first user from the obtained user ID to obtain the second User's ID.
- the second user is the other user in the same area as the first user, and sends the chat content of the first user to the second user.
- the user in the same area can only see the area in the area where the user is located.
- the user's chat content avoids the phenomenon that the chat content is disordered when all the users in the chat zone can see the chat content of each user when there are many users in the chat zone of the channel.
- the chat server obtains, according to the ID of the second user, the identifier of the second front-end proxy device accessed by the second terminal corresponding to the second user, from the correspondence between the stored user ID and the identifier of the front-end proxy device;
- the chat server sends the ID of the first user and the chat content to the second terminal according to the identifier of the second front-end proxy device.
- the data stored in the chat server is the same as the data stored in the primary server included in the partition server cluster. Therefore, the ID of the first user and the chat content are sent to the second terminal corresponding to the second user through the chat server, thereby ensuring the chat. The content can be accurately transmitted to the corresponding second terminal.
- the chat content of the first user may be sent to all users in the chat zone, but only the chat content of the user in the area where the user is located is displayed on the terminal corresponding to the user, when the user wants to view the chat zone.
- the user may send a handover instruction to the terminal, and the terminal displays the chat content of all users in the chat partition to the user according to the handover instruction.
- each partition server cluster includes a primary server and a secondary server, which can disperse data of the instant messaging service into different partition service area clusters for processing, Even if the primary server in a partitioned server cluster fails, the processing of the secondary server in the partitioned server cluster can be taken over without affecting the normal operation of the other partitioned server clusters, achieving high availability of the partitioned server cluster. In the entire system, adding partitioned server clusters and reducing partitioned server clusters are also easy to implement.
- the data transmission path of the instant messaging service will not be long after the active/standby switchover, and the data transmission performance of the instant messaging service in the system will not be affected. .
- a plurality of partition groups are set in the chat partition of the channel, and a privileged area and a common area are set in each partition group, so that more users can enter the channel, and when the first user chats with other users, the chat is performed.
- the server obtains the second user in the same area as the first user from the corresponding relationship between the stored user ID, the partition group ID, and the area ID according to the ID of the first user, and avoids the chat zone in the channel.
- the chat content is messy when the chat content is sent to all users.
- an embodiment of the present invention provides a system for processing an instant messaging service, and
- the system shown in FIG. 1A is the same, the system includes an election server 401, a front-end proxy device 402, and at least one partition server cluster 403, each partition server cluster 403 includes a primary server 403a and a secondary server 403b;
- the election server 401 is configured to receive a registration request message sent by at least two data servers in any of the partition server clusters 403;
- the election server 401 is configured to set the data server corresponding to the registration request information received for the first time as the main server 403a in the partition server cluster 403, and set the other data server as the slave server 403b in the partition server cluster 403 to pass
- the main server 403a receives the data of the instant messaging service sent by the front-end proxy device 402 and processes the instant messaging service;
- the election server 401 is configured to listen to the primary server 403a and the secondary server 403b, and when the primary server 403a is detected to be faulty or when the network between the primary server 403a and the front-end proxy device 402 fails, one of the partitioned server clusters 403 is slaved from the server. It is set as a new primary server to receive data of the instant messaging service sent by the front-end proxy device 402 through the new primary server and process the instant messaging service.
- system further includes:
- the election server 401 is configured to obtain, according to the IP address and the port number of the main server 403a, the node ID corresponding to the partition server cluster 403 where the main server 403a is located, from the correspondence between the stored IP address, the port number, and the node identity ID;
- the election server 401 is configured to send a join message to the front-end proxy device 402, where the join message carries a node ID, role information of the primary server 403a, an IP address and a port number, and role information, an IP address, and a port number of the slave server 403b; Information is used to indicate whether the data server is a primary server or a secondary server.
- the front-end proxy device is configured to add the role information, the IP address, and the port number of the primary server 403a, and the role information, the IP address, and the port number of the server 403b to the corresponding node information in the hash ring according to the node ID, and hash
- the ring is used to store node information for each partitioned server cluster.
- system further includes:
- the election server 401 is configured to send an update message to the front-end proxy device 402, where the update message carries the node ID, the IP address and port number of the primary server 403a, and the new role information, IP address, and port number of the new primary server 403a;
- the front-end proxy device is configured to delete the role information, the IP address, and the port number of the primary server 403a from the hash ring according to the node ID, the IP address and the port number of the primary server 403a;
- the front-end proxy device is configured to acquire the role information of the new primary server 403a from the hash ring according to the node ID, the IP address and the port number of the new primary server 403a, and replace the acquired role information with the new role information.
- each partition server cluster includes a primary server and a secondary server, which can disperse data of the instant messaging service into different partition service area clusters for processing, even if If the primary server in a partitioned server cluster fails, it can also take over the processing of the secondary server in the partitioned server cluster, without affecting the normal operation of other partitioned server clusters, achieving high availability of the partitioned server cluster, and at the same time, Adding partitioned server clusters and reducing partitioned server clusters is also easy to implement across the system.
- the data transmission path of the instant messaging service will not be long after the active/standby switchover, and the data transmission performance of the instant messaging service in the system will not be affected. .
- system further includes:
- the first terminal is configured to send a seating request message to the first front-end proxy device that is accessed by the first terminal, where the seating request message carries the ID of the first user and the channel ID of the channel;
- a first front-end proxy device configured to send a seating request message to the primary server included in the partition server cluster corresponding to the channel according to the channel ID;
- a primary server configured to allocate a seat to the first user in the chat zone of the channel according to the ID and the channel ID of the first user;
- the first front-end proxy device is configured to receive the ID, the channel ID, and the chat content of the first user sent by the first terminal, and send the ID of the first user and the chat content to the chat server included in the cluster of the partition server according to the channel ID;
- a chat server configured to send, according to the ID of the first user, the ID of the first user and the chat content to the second terminal corresponding to the second user included in the chat zone, where the second user is other than the first user in the chat zone Other users.
- the first front-end proxy device is configured to perform a consistent hash operation on the channel ID to obtain a node ID corresponding to the partitioned server cluster accessed by the channel;
- a first front-end proxy device configured to acquire corresponding node information from the hash ring according to the node ID, where the hash ring is used to store node information of each partition server cluster;
- a first front-end proxy device configured to obtain from the node according to role information of the primary server in the node The IP address and port number of the primary server;
- the first front-end proxy device is configured to send a seating request message to the primary server according to the IP address and the port number of the primary server.
- the primary server is configured to acquire identity information of the first user according to the ID of the first user.
- a primary server configured to allocate a seat to the first user in a privileged area included in the chat zone of the channel according to the ID and the channel ID of the first user if the identity information of the first user is a member user;
- the primary server is configured to allocate a seat to the first user in a common area included in the chat zone according to the ID and the channel ID of the first user if the identity information of the first user is a normal user.
- the primary server is configured to obtain a first number of users in a privileged area included in each partition group in a chat partition of the channel, and obtain a second number of users in a common area included in each partition group;
- a primary server configured to divide a second number corresponding to each partition group by a first number corresponding to each partition group, to obtain a first value corresponding to each partition group;
- a primary server configured to select a partition group corresponding to a largest first value from a partition group included in the chat partition, and if there is a free seat in the privileged area included in the selected partition group, the privileged area included in the selected partition group Selecting an idle seat and assigning the selected free seat to the first user;
- Primary server if there is no free seat in the privileged area included in the selected partition group, create a partition group in the chat partition, and create a privileged area in the created partition group, and from the created privileged area Select an available seat and assign the selected free seat to the first user.
- the primary server is configured to obtain the number of users included in each partition group in the chat zone of the channel, and select the partition group with the smallest number of users;
- a primary server configured to determine, in a common area included in the selected partition group, whether there is a common area with the largest number of users and a free seat, and if so, select one of the common areas with the largest number of users and free seats Seat and assign the selected free seat to the first user;
- the primary server if not, creates a normal area in the selected partition group, selects an idle seat from the created normal area, and assigns the selected free seat to the first user.
- the chat server is configured to obtain, according to the ID of the first user, the corresponding partition group ID and the area ID from the corresponding relationship between the stored user ID, the partition group ID, and the area ID;
- a chat server configured to obtain an ID of the second user from a correspondence between the user ID, the partition group ID, and the area ID according to the partition group ID and the area ID;
- a chat server configured to acquire, according to an ID of the second user, an identifier of the second front-end proxy device accessed by the second terminal corresponding to the second user, from the correspondence between the stored user ID and the identifier of the front-end proxy device;
- the chat server is configured to send the ID of the first user and the chat content to the second terminal according to the identifier of the second front-end proxy device.
- system for processing the instant messaging service provided by the foregoing embodiment only illustrates the division of the foregoing functional modules when processing the instant messaging service.
- the foregoing functions may be performed according to requirements.
- the allocation is done by different functional modules, that is, the internal structure of the system is divided into different functional modules to complete all or part of the functions described above.
- the system for processing the instant messaging service provided by the foregoing embodiment and the method for processing the instant messaging service are in the same concept, and the specific implementation process is described in the method embodiment, and details are not described herein again.
- a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
- the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
La présente invention se rapporte au domaine des communications Internet. L'invention porte sur un procédé et un système de traitement d'un service de communications instantanées. Le système comprend un dispositif mandataire frontal, un serveur de choix et au moins deux grappes de serveurs de partition, le serveur de choix recevant des messages de demande d'enregistrement envoyées par au moins deux serveurs de données ; le serveur de choix paramètre un serveur de données correspondant aux informations de demande d'enregistrement reçues pour la première fois en tant que serveur maître dans une grappe de serveurs de partition et paramètre les serveurs de données correspondant aux informations de demande d'enregistrement reçues après la première fois en tant que serveurs esclaves dans la grappe de serveurs de partition ; et le serveur de choix écoute sur le serveur maître et les serveurs esclaves et, lorsqu'il entend un défaut, paramètre un serveur esclave dans la grappe de serveurs de partition en tant que nouveau serveur maître, de manière à recevoir des données du service de communications instantanées envoyées par le dispositif mandataire frontal à travers le nouveau serveur maître et à traiter le service de communications instantanées.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310752590.9A CN103731341B (zh) | 2013-12-30 | 2013-12-30 | 一种对即时通讯业务进行处理的方法及系统 |
CN201310752590.9 | 2013-12-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015101260A1 true WO2015101260A1 (fr) | 2015-07-09 |
Family
ID=50455276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/095357 WO2015101260A1 (fr) | 2013-12-30 | 2014-12-29 | Procédé et système de traitement d'un service de communications instantanées |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103731341B (fr) |
WO (1) | WO2015101260A1 (fr) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915386A (zh) * | 2016-05-31 | 2016-08-31 | 努比亚技术有限公司 | 一种控制方法及控制器、监听设备 |
CN109862075A (zh) * | 2018-12-29 | 2019-06-07 | 北京奥鹏远程教育中心有限公司 | 一种Redis服务实例的路由方法 |
CN112965818A (zh) * | 2021-02-26 | 2021-06-15 | 平安普惠企业管理有限公司 | 一种服务集群单元化分组方法、装置、设备以及介质 |
CN113347038A (zh) * | 2021-06-08 | 2021-09-03 | 上海天旦网络科技发展有限公司 | 一种旁路流量处理的循环互备高可用系统 |
CN113783904A (zh) * | 2020-06-09 | 2021-12-10 | 比亚迪股份有限公司 | 负载均衡方法、路由服务器及负载均衡系统 |
CN114338535A (zh) * | 2022-01-12 | 2022-04-12 | 平安壹钱包电子商务有限公司 | 基于zookeeper的集群限流方法、系统、设备及存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731341B (zh) * | 2013-12-30 | 2018-08-03 | 广州华多网络科技有限公司 | 一种对即时通讯业务进行处理的方法及系统 |
CN104391863A (zh) * | 2014-10-23 | 2015-03-04 | 中国建设银行股份有限公司 | 一种数据存储方法及装置 |
CN105554142B (zh) * | 2015-12-24 | 2019-02-01 | 北京奇虎科技有限公司 | 消息推送的方法、装置及系统 |
CN106921503B (zh) * | 2015-12-24 | 2020-02-21 | 华为技术有限公司 | 一种数据同步方法、装置及系统 |
CN107800737A (zh) * | 2016-09-05 | 2018-03-13 | 中国移动通信有限公司研究院 | 一种服务器集群中主节点的确定方法、装置及服务器集群 |
CN106357782B (zh) * | 2016-09-29 | 2019-06-28 | 苏州科达科技股份有限公司 | 用于数据同步的多级架构、数据同步方法和故障处理方法 |
CN108123979A (zh) * | 2016-11-30 | 2018-06-05 | 天津易遨在线科技有限公司 | 一种在线交流服务器集群架构 |
CN107360025B (zh) * | 2017-07-07 | 2020-11-10 | 郑州云海信息技术有限公司 | 一种分布式存储系统集群监控方法及设备 |
CN109617986B (zh) * | 2018-12-27 | 2020-08-07 | 华为技术有限公司 | 一种负载均衡方法及网络设备 |
CN111447247B (zh) * | 2018-12-29 | 2022-07-12 | 阿里巴巴集团控股有限公司 | 一种现场验票系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571947A (zh) * | 2011-12-29 | 2012-07-11 | 奇智软件(北京)有限公司 | 一种代理处理数据的方法、装置和系统 |
CN103023902A (zh) * | 2012-12-11 | 2013-04-03 | 北京奇虎科技有限公司 | 数据传输方法和系统 |
CN103384211A (zh) * | 2013-06-28 | 2013-11-06 | 百度在线网络技术(北京)有限公司 | 一种具有容错性的数据操作方法及分布式的数据存储系统 |
CN103731341A (zh) * | 2013-12-30 | 2014-04-16 | 广州华多网络科技有限公司 | 一种对即时通讯业务进行处理的方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202746B (zh) * | 2006-12-15 | 2011-04-20 | 华为技术有限公司 | 节点标识符生成方法及负载均衡方法及装置 |
CN102891868B (zh) * | 2011-07-19 | 2016-09-28 | 上海可鲁系统软件有限公司 | 一种分布式系统的负载均衡方法及装置 |
CN102244685B (zh) * | 2011-08-11 | 2013-09-18 | 中国科学院软件研究所 | 一种支持负载均衡的分布式缓存动态伸缩方法及系统 |
-
2013
- 2013-12-30 CN CN201310752590.9A patent/CN103731341B/zh active Active
-
2014
- 2014-12-29 WO PCT/CN2014/095357 patent/WO2015101260A1/fr active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571947A (zh) * | 2011-12-29 | 2012-07-11 | 奇智软件(北京)有限公司 | 一种代理处理数据的方法、装置和系统 |
CN103023902A (zh) * | 2012-12-11 | 2013-04-03 | 北京奇虎科技有限公司 | 数据传输方法和系统 |
CN103384211A (zh) * | 2013-06-28 | 2013-11-06 | 百度在线网络技术(北京)有限公司 | 一种具有容错性的数据操作方法及分布式的数据存储系统 |
CN103731341A (zh) * | 2013-12-30 | 2014-04-16 | 广州华多网络科技有限公司 | 一种对即时通讯业务进行处理的方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915386A (zh) * | 2016-05-31 | 2016-08-31 | 努比亚技术有限公司 | 一种控制方法及控制器、监听设备 |
CN109862075A (zh) * | 2018-12-29 | 2019-06-07 | 北京奥鹏远程教育中心有限公司 | 一种Redis服务实例的路由方法 |
CN113783904A (zh) * | 2020-06-09 | 2021-12-10 | 比亚迪股份有限公司 | 负载均衡方法、路由服务器及负载均衡系统 |
CN113783904B (zh) * | 2020-06-09 | 2023-05-09 | 比亚迪股份有限公司 | 负载均衡方法、路由服务器及负载均衡系统 |
CN112965818A (zh) * | 2021-02-26 | 2021-06-15 | 平安普惠企业管理有限公司 | 一种服务集群单元化分组方法、装置、设备以及介质 |
CN113347038A (zh) * | 2021-06-08 | 2021-09-03 | 上海天旦网络科技发展有限公司 | 一种旁路流量处理的循环互备高可用系统 |
CN114338535A (zh) * | 2022-01-12 | 2022-04-12 | 平安壹钱包电子商务有限公司 | 基于zookeeper的集群限流方法、系统、设备及存储介质 |
CN114338535B (zh) * | 2022-01-12 | 2023-09-22 | 平安壹钱包电子商务有限公司 | 基于zookeeper的集群限流方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103731341A (zh) | 2014-04-16 |
CN103731341B (zh) | 2018-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015101260A1 (fr) | Procédé et système de traitement d'un service de communications instantanées | |
CN107078969B (zh) | 实现负载均衡的计算机设备、系统和方法 | |
US10187459B2 (en) | Distributed load balancing system, health check method, and service node | |
WO2020186909A1 (fr) | Procédé, appareil et système de traitement de service de réseau virtuel, contrôleur et support de stockage | |
US8427943B2 (en) | Bandwidth-aware multicast load balancing on a multi-interface host | |
US8825867B2 (en) | Two level packet distribution with stateless first level packet distribution to a group of servers and stateful second level packet distribution to a server within the group | |
US11729102B2 (en) | Active-active cluster control method and control node | |
EP2993838B1 (fr) | Procédés de configuration d'identité de membre de dispositif formant passerelle, et dispositifs formant passerelle de gestion correspondants | |
US8549120B2 (en) | System and method for location based address assignment in the distribution of traffic in a virtual gateway | |
CN102447624B (zh) | 在服务器集群上实现负载均衡的方法、节点服务器及集群 | |
CN110012437A (zh) | 一种组播报文的发送方法、装置及系统 | |
CN106161272B (zh) | 实现vrrp负载均衡的方法和路由设备 | |
CN102123105B (zh) | Vrrp标准协议与vrrp负载均衡协议之间的切换方法和设备 | |
EP2587723B1 (fr) | Procédé et dispositif pour des conférences en réseau | |
WO2018090677A1 (fr) | Procédé, dispositif et système de traitement pour anomalie de composant nf | |
US8868658B2 (en) | Client assisted multicasting for audio and video streams | |
US10476746B2 (en) | Network management method, device, and system | |
US8650309B2 (en) | Cascading architecture for audio and video streams | |
CN101827039A (zh) | 一种负载分担的方法和设备 | |
WO2015096802A1 (fr) | Procédé, dispositif et serveur pour une transmission de message | |
CN105743781A (zh) | 一种vrrp负载均衡方法和装置 | |
WO2018032499A1 (fr) | Procédé d'équilibrage de charge, et dispositif associé | |
EP4277211A1 (fr) | Procédé de gestion d'interface pour équipement utilisateur accessible, et équipement utilisateur accessible | |
CN111064819B (zh) | 一种地址备份方法及装置 | |
US20200021450A1 (en) | Managing multicast scaling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14876559 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 03.11.16) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14876559 Country of ref document: EP Kind code of ref document: A1 |