CN113382050B - Message transmission method, system, computing device and storage medium - Google Patents

Message transmission method, system, computing device and storage medium Download PDF

Info

Publication number
CN113382050B
CN113382050B CN202110606925.0A CN202110606925A CN113382050B CN 113382050 B CN113382050 B CN 113382050B CN 202110606925 A CN202110606925 A CN 202110606925A CN 113382050 B CN113382050 B CN 113382050B
Authority
CN
China
Prior art keywords
server
communication
client
list
communication server
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
CN202110606925.0A
Other languages
Chinese (zh)
Other versions
CN113382050A (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.)
Beijing Pierbulaini Software Co ltd
Original Assignee
Beijing Pierbulaini Software 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 Beijing Pierbulaini Software Co ltd filed Critical Beijing Pierbulaini Software Co ltd
Priority to CN202110606925.0A priority Critical patent/CN113382050B/en
Publication of CN113382050A publication Critical patent/CN113382050A/en
Application granted granted Critical
Publication of CN113382050B publication Critical patent/CN113382050B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses a message transmission method, which is suitable for being executed in a message transmission system and comprises the following steps: after receiving a communication request of a client, a routing server acquires a communication server list from a management server and sends the communication server list to the client; the route server receives a communication server selected by the client from the communication server list; the selected communication server establishes communication connection with the client; the management server sends the message file and a target client corresponding to the message file to a push server; the push server determines a communication server to which the target client is connected, and sends the message file to the client via the communication server. The invention also discloses a message transmission system, a computing device and a computer readable storage medium.

Description

Message transmission method, system, computing device and storage medium
Technical Field
The present invention relates to the field of message transmission, and in particular, to a message transmission method, a computing device, and a storage medium.
Background
With the development of information technology, people have higher requirements on the real-time property of the acquired message. In the internet, when a server needs to push messages to computers simultaneously, the messages need to be transmitted to the computers as quickly as possible, so that the user experience before using the computers is improved.
In the prior art, computers connected to a server typically acquire information by polling or long polling. Polling means that the computer periodically inquires the server whether a new message exists or not, and if so, the computer acquires the new message. The long polling means that the server blocks the request after the computer inquires whether a new message exists in the server, and the response is not returned to the computer until the new data exists; the computer then repeats the process again.
However, the data timeliness is not good enough in the above manner, and the computer can only obtain the latest data at fixed intervals. More network bandwidth is occupied because the HTTP connection needs to be established frequently and the request is sent. The server is under great pressure, and the server needs to be continuously connected with the computer and returns response data.
For this reason, a new message transmission method is required.
Disclosure of Invention
To this end, the present invention provides a message transmission method and system in an attempt to solve or at least alleviate the above-identified problems.
According to one aspect of the present invention, there is provided a message transmission method adapted to be executed in a message transmission system, the system including a management server, a routing server, a push server and one or more communication servers, the routing server being communicatively connected to the management server and the push server, the management server being communicatively connected to the one or more communication servers via the push server, the management server having stored therein a list of communication servers connected to the management server, the message transmission system being communicatively connected to one or more clients through the routing server, the method including the steps of: after receiving a communication request of a client, a routing server acquires a communication server list from a management server and sends the communication server list to the client; the routing server receives a communication server selected by the client from the communication server list; the selected communication server establishes communication connection with the client; the management server sends the message file and a target client corresponding to the message file to a push server; the push server determines a communication server to which the target client is connected, and sends the message file to the client via the communication server.
Optionally, in the method according to the present invention, further comprising the step of: registering a communication server in a management server, and establishing communication connection between a push server and one or more communication servers; a list of communication servers communicatively connected to the push server is generated in the management server for the client to select a communication server to connect to from.
Optionally, in the method according to the present invention, the message transmission system further includes a data server in communication connection with the routing server, and after the selected communication server establishes communication connection with the client, the method further includes the steps of: the routing server constructs connection information according to the identifications of the client and the communication server; the routing server stores the connection information of the client and the communication server in the data server.
Optionally, in the method according to the present invention, the step of the push server determining the communication server to which the target client is connected includes: the push server determines the identification of the target client; the routing server acquires the connection information of the target client from the data server according to the identification of the target client; and the push server analyzes the connection information to obtain a communication server connected with the target client.
Optionally, in the method according to the present invention, further comprising the step of: the routing server acquires a communication server list from the management server according to a preset frequency; determining whether the communication server list sends a change; and if the communication server list sends changes, sending the changed communication server list to the client, so that the client can conveniently reselect the communication server to be connected.
Optionally, in the method according to the present invention, further comprising the step of: when the communication server in the message transmission system is offline, the management server deletes the offline communication server from the communication server list, and generates a new communication server list.
Optionally, in the method according to the present invention, the push server establishes a TCP connection with the communication server.
According to another aspect of the present invention, a message transmission system is provided, the system includes a management server, a routing server, a push server and one or more communication servers, the routing server is in communication connection with the management server and the push server, the management server is in communication connection with the one or more communication servers via the push server, a communication server list connected to the management server is stored in the management server, the message transmission system is in communication connection with one or more clients through the routing server, the routing server is adapted to obtain the communication server list from the management server and send the communication server list to the clients after receiving a communication request of the clients, and one communication server selected from the communication server list by the receiving client is received; the communication server is suitable for establishing communication connection with the client; the management server is suitable for sending the message file and the target client corresponding to the message file to the push server; the push server is adapted to determine a communication server to which the target client is connected, via which the message file is sent to the client.
According to another aspect of the present invention, there is provided a computing device comprising: one or more processors; a memory; an image display system; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing any of the methods of the message transmission method according to the present invention.
According to a further aspect of the invention there is provided a computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computing device, cause the computing device to perform any of the message transmission methods according to the invention.
The message transmission method is suitable for being executed in a message transmission system, the routing server sends a list of communication servers connected with the management server to the client when the client needs to be in communication connection with the system, and the client can select one communication server in the list to be connected. When the management server needs to send the message file to the client, the push server in communication connection with the management server determines which communication server the client is connected to, and directly sends the message file to the client through the communication server, so that the message file can be quickly sent to a target client, and the speed of the client for obtaining the file from the management server is improved.
Drawings
To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings, which are indicative of various ways in which the principles disclosed herein may be practiced, and all aspects and equivalents thereof are intended to be within the scope of the claimed subject matter. The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description read in conjunction with the accompanying drawings. Throughout this disclosure, like reference numerals generally refer to like parts or elements.
FIG. 1 shows a schematic diagram of a message transmission system 100 according to an exemplary embodiment of the invention;
FIG. 2 illustrates a block diagram of a computing device 200, according to an exemplary embodiment of the invention; and
fig. 3 shows a flow diagram of a message transmission method 300 according to an exemplary embodiment of the invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. Like reference numbers generally refer to like parts or elements.
Fig. 1 shows a schematic diagram of a message transmission system 100 according to an exemplary embodiment of the present invention. As shown in fig. 1, the message transmission system 100 is communicatively connected to the clients 111 to 113, and the connection manner between the message transmission system 100 and the clients shown in fig. 1 is only an example, and the number of clients connected to the message transmission system 100 is not limited by the present invention.
The message transmission system 100 includes a routing server 140 and a management server 130, a push server 160 and a data server 150 connected to the routing server 140. The communication servers 121 to 122 are also connected to the management server 130 through the push server 160. A plurality of communication servers may be deployed in the message transmission system 100, and the number of communication servers deployed in the message transmission system 100 is not limited by the present invention. Communication servers 121-122 may be implemented as SocketServer servers. The communication server, the push server 160, the routing server 140 and the data server 150 in the invention all support horizontal expansion, the push server 160 can be deployed as a push server cluster, the routing server 140 can be deployed as a routing server cluster, and the data server 150 can be deployed as a data server cluster, so as to meet the requirement that the message transmission system 100 sends message files to client lists in a large batch.
The management server 130 is implemented as a Zookeeper management server that manages the communication servers 121 and 122 connected to the push server 160. The communication connection established between the management server 130 and the push server 160 supports various communication protocols, including http, tcp, amqp, etc., and the present invention does not limit the type of the communication protocol used for the communication connection. The communication servers 121 and 122 are registered in the management server 130, and the push server 160 establishes a communication connection with the communication servers 121 and 122. The push server 160 and the communication servers 121 and 122 may establish a TCP connection as a kind of communication connection. The management server 130 generates a list of communication servers that establish a communication connection with the push server 160. When a new communication server comes online in the message transmission system 100, the management server 130 registers the newly-online communication server. When a communication server of the connected push server 160 is offline in the message transmission system 100, the management server 130 deletes the communication server from the communication server list.
Clients 111-113 send communication requests to routing server 140 when needed to establish a communication connection with message transmission system 100 in order to retrieve message files therefrom. According to one embodiment of the present invention, when users of clients 111-113 are watching a live broadcast, a communication connection needs to be established with messaging system 100 in common. The message file sent by the management server 130 to the clients 111 to 113 is a video file at this time, and the clients 111 to 113 receive the message file to present live content.
The routing server 140 may be implemented as a RouterServer server. Upon receiving the communication requests from the clients 111 to 113, the routing server 140 acquires the communication server list from the management server 130 and transmits the communication server list to the clients 111 to 113. The clients 111-113 may select one of the communication servers in the list of communication servers to establish a communication connection. The clients 111 to 113 select the communication servers 121 and 122 in accordance with a certain connection rule including a priority selection of a communication server geographically closest to the client, a priority selection of a communication server having the highest transmission speed with the communication server, and the like. After one communication server is selected by the clients 111 to 113, the selected communication server is transmitted to the routing server 140.
The routing server 140 receives a communication server selected by the client from the communication server list. The selected communication server establishes a communication connection with the clients 111 to 113. The communication servers 121 and 122 and the clients 111-113 only need to establish communication connection once, and long-time data transmission function can be completed until the communication servers are off-line or the clients 111-113 actively disconnect the communication connections with the communication servers 121 and 122. The routing server 140 constructs connection information for the clients 111 to 113 and the unification server that establish communication connection, and stores the connection information in the data server 150. The data server 150 may be implemented as a Redis cache server. The data server 150 stores the connection information of all communication servers in communication connection with the clients 111-113, so as to facilitate the subsequent inquiry of which communication server the clients 111-113 are connected to.
When the management server 130 needs to push a message file to the clients 111 to 113, the management server 130 transmits the message file to be pushed and the clients 111 to 113 that accept the message file to the push server 160. The message files correspond one-to-one to the clients 111 to 113 that receive the message files. The push server 160 may be implemented as a PushServer server. The push server 160 specifies a communication server to which the target clients 111 to 113 are connected, by the connection information stored in the data server 150, and transmits the message file to the clients 111 to 113 via the communication server. When the push server 160 determines the communication servers to which the target clients 111 to 113 are connected, the routing server 140 queries the data server 150 for connection information of the target clients 111 to 113, and determines the communication servers to which the target clients are connected based on the connection information. The routing server 140 accurately queries the data server 150 linked to the target clients 111-113, so that the push server 160 can be prevented from pushing the message file to all the communication servers 121 and 122 in a message broadcasting manner, and the message file can be efficiently pushed to the target clients 111-113.
The clients 111-113, the routing server 140, the management server 130, the communication servers 121 and 122, the push server 160, and the data server 150 in the present invention may all be implemented as one type of computing device. FIG. 2 illustrates a block diagram of a computing device 200, according to an exemplary embodiment of the invention. As shown in FIG. 2, in a basic configuration 202, computing device 200 typically includes system memory 206 and one or more processors 204. A memory bus 208 may be used for communication between the processor 204 and the system memory 206.
Depending on the desired configuration, the processor 204 may be any type of processing, including but not limited to: a microprocessor (μ P), a microcontroller (μ C), a digital information processor (DSP), or any combination thereof. The processor 204 may include one or more levels of cache, such as a level one cache 210 and a level two cache 212, a processor core 214, and registers 216. Example processor core 214 may include an Arithmetic Logic Unit (ALU), a Floating Point Unit (FPU), a digital signal processing core (DSP core), or any combination thereof. The example memory controller 218 may be used with the processor 204, or in some implementations the memory controller 218 may be an internal part of the processor 204.
Depending on the desired configuration, system memory 206 may be any type of memory, including but not limited to: volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. System memory 206 may include an operating system 220, one or more programs 222, and program data 224. In some embodiments, the program 222 may be arranged to execute the instructions 223 of the method 300 according to the invention on an operating system by one or more processors 204 using the program data 224.
Computing device 200 may also include a storage interface bus 234. The storage interface bus 234 enables communication from the storage devices 232 (e.g., removable storage 236 and non-removable storage 238) to the basic configuration 202 via the bus/interface controller 230. At least a portion of the operating system 220, applications 222, and data 224 may be stored on removable storage 236 and/or non-removable storage 238, and loaded into system memory 206 via storage interface bus 234 and executed by the one or more processors 204 when the computing device 200 is powered on or the applications 222 are to be executed.
Computing device 200 may also include an interface bus 240 that facilitates communication from various interface devices (e.g., output devices 242, peripheral interfaces 244, and communication devices 246) to the basic configuration 202 via the bus/interface controller 230. The example output device 242 includes a graphics processing unit 248 and an audio processing unit 250. They may be configured to facilitate communication with various external devices, such as a display or speakers, via one or more a/V ports 252. Example peripheral interfaces 244 can include a serial interface controller 254 and a parallel interface controller 256, which can be configured to facilitate communications with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device) or other peripherals (e.g., printer, scanner, etc.) via one or more I/O ports 258. An example communication device 246 may include a network controller 260, which may be arranged to communicate with one or more other computing devices 262 over a network communication link via one or more communication ports 264.
A network communication link may be one example of a communication medium. Communication media may typically be embodied by computer readable instructions, data structures, program modules, in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media. A "modulated data signal" may be a signal that has one or more of its data set or its changes made in such a manner as to encode information in the signal. By way of non-limiting example, communication media may include wired media such as a wired network or private-wired network, and various wireless media such as acoustic, radio Frequency (RF), microwave, infrared (IR), or other wireless media. The term computer readable media as used herein may include both storage media and communication media.
In a computing device 200 according to the present invention, the application 222 includes a plurality of program instructions that implement the message transmission method 300, which may instruct the processor 204 to perform some of the steps of the message transmission method 300 that are run in the computing device 200 of the present invention, such that some of the components in the computing device 200 implement the message transmission by performing the message transmission method 300 of the present invention.
Computing device 200 may be implemented as a server, e.g., file server 240, database 250, a server, an application server, etc., which may be a device such as a Personal Digital Assistant (PDA), a wireless web-browsing device, an application-specific device, or a hybrid device that include any of the above functions. May be implemented as a personal computer including both desktop and notebook computer configurations, and in some embodiments, computing device 200 is configured to perform message transmission method 300.
Fig. 3 shows a flow diagram of a message transmission method 300 according to an exemplary embodiment of the invention. The method 300 is suitable for execution in the computing device 200. As shown in fig. 3, the message transmission method 300 starts at step S310, and after receiving the communication request from the clients 111-113, the routing server 140 obtains the communication server list from the management server 130 and sends the communication server list to the clients 111-113.
The communication server list is generated by the management server 130. In the message transmission system 100, the communication servers 121 and 122 are required to be registered in the management server 130 for formal online operation, and a procedure for registering the communication servers 121 and 122 will be described below. Upon registration of the communication servers 121 and 122 in the management server 130, a communication connection of the push server 160 with one or more communication servers is established, and next a communication server list of communication connections with the push server 160 is generated in the management server 130, so that the clients 111 to 113 select a communication server to be connected therefrom. The communication servers 121 and 122 have to write configuration information of the communication servers 121 and 122 in the management server 130, including: identification ID, ip address, server port, registration time and expansion information.
According to an embodiment of the present invention, when the communication servers 121 and 122 are registered in the management server 130, a communication connection between the communication servers 121 and 122 and the push server 160 is first established. Taking the communication server 121 as an example, the following information is recorded in the management server 130:
ServerId (identification ID): 121, type: string;
serverp (ip address): 192.168.1.8, type: string;
prot (server port): 12, type: int;
registtertime (registration time): 2020.10.26, type: string;
extra (extension information): 0; type (2): concurrentHashMap < String, string >;
similarly, the above information of the communication server 122 is recorded in the management server 130. Subsequently, the management server 130 generates a communication server list including the communication servers 121 and 122 according to the configuration information of the communication servers 121 and 122.
When receiving a communication request from any one of the clients 111 to 113, the routing server 140 transmits the communication server list generated in the above-described step to the clients 111 to 113 that have transmitted the communication request. After receiving the communication server list, the clients 111 to 113 select one of the communication server list to establish a communication link.
Subsequently, step S320 is executed, and the routing server 140 receives one communication server selected by the clients 111 to 113 from the communication server list. Next, step S330 is executed to establish communication connection between the selected communication server and the clients 111 to 113. According to an embodiment of the present invention, client 111 and 112 select to establish a communication connection with communication server 121, and client 113 selects to establish a communication connection with communication server 122, then client 111 and 112 send the selected communication server 121 to routing server 140, and client 113 sends the selected communication server 122 to routing server 140. After receiving the above information, routing server 140 establishes communication connection between communication server 121 and clients 111 and 112, and communication server 122 establishes communication connection with client 113.
After the selected communication server establishes communication connection with the clients 111 to 113, the routing server 140 constructs connection information according to the identifiers of the clients 111 to 113 and the communication server, and the routing server 140 stores the connection information between the clients 111 to 113 and the communication server in the data server 150. The connection information includes the identification id of the clients 111 to 113 and the identification id of the server, and is stored in the data server 150 in the form of key value pairs. The id of the client 111-113 in the connection information is also matched with the client socket id and the connection source of the client. The connection source is the network route from which the clients 111-113 obtain the message document, i.e., from which web page the message document is obtained. The client socket Id is the socket instance identification number of the clients 111-113. The identification id of the server, the socket id of the client and the connection source of the client together form connection information with the identification id of the client. According to one embodiment of the present invention, the structure of the connection information includes:
field: userId (user ID), type: string;
value: object, type: the ONlineClientInfo.
Wherein the ONlineClientInfo comprises:
server ID (server ID), type: string;
clientSid (client socketId), type: string;
source (connection source), type: string;
according to an embodiment of the present invention, after the client 111 establishes a communication connection with the communication server 121, the connection information stored in the data server 150 by the client 111 and the communication server 121 is as follows:
field: userId (user ID): 111, type: string;
object, type: the ONlineClientInfo.
Wherein, the ONLineClientInfo comprises:
server Id (Server ID): 121, type: string;
clientSid (client socketId): 23, type: string;
source (connection source): www.dubai.com, type: string;
subsequently, step S340 is executed, and the management server 130 sends the message file and the target client corresponding to the message file to the push server 160. When the management server 130 wants to send the message files to the clients 111 to 113, it first sends the message files to the push server 160, together with the target clients that receive the message files, where one message file corresponds to each target client. The message file to be transmitted by the management server 130 is not limited to be stored in the management server 130, and the management server 130 may be connected to another content server to acquire the message file from the content server and distribute the message file.
Finally, step S350 is executed, in which the push server 160 determines the communication server to which the target client is connected, and transmits the message file to the clients 111 to 113 via the communication server. When the push server 160 determines the communication server to which the target client is connected, firstly, the push server 160 determines the identifier of the target client, and secondly, the routing server 140 obtains the connection information of the target client from the data server 150 according to the identifier of the target client. Finally, the push server 160 analyzes the connection information to obtain the communication server connected to the target client.
According to an embodiment of the present invention, the management server 130 sends the message file to the client 111, and then sends the message file and the client 111 to the push server 160. The push server 160 determines that the target client identification of the message file is 111. The routing server 140 obtains the connection information of the target client from the data server 150 according to the identifier 111 as follows:
field: userId (user ID): 111, type: string;
value: object, type: the ONlineClientInfo.
Wherein, the ONLineClientInfo comprises:
server Id (Server ID): 121, type: string;
clientSid (client socketId): 23, type: string;
source (connection source): www.dubai.com, type: string;
the routing server 140 obtains the communication server to which the target client is connected as the communication server 121 according to the connection information. The message file is delivered to the client 111 by the communication server 121.
According to an embodiment of the present invention, when a communication server in the message transmission system 100 is offline, the communication server may need to go online due to business expansion, or the communication servers 121 and 122 may fail to provide services continuously due to failure. Thus, the routing server 140 monitors the communication server list of the management server 130. The routing server 140 acquires a communication server list at a predetermined frequency from the management server 130. The predetermined frequency may be set according to the calculation requirements, may be set to obtain every day, or may be set to obtain every day of the month, etc. The routing server 140 determines whether the communication server list transmits a change after receiving the communication server list, and transmits the changed communication server list to the clients 111 to 113 if the communication server list transmits a change, so that the clients 111 to 113 reselect a communication server to be connected. When the communication servers 121 and 122 in the message transmission system 100 go offline, the management server 130 deletes the communication server that is offline from the communication server list, generating a new communication server list. The clients 111-113 originally connected with the offline communication server can select other communication servers from the new communication server list to establish communication connection and acquire the message file.
The message transmission method is suitable for being executed in a message transmission system, the routing server sends a list of communication servers connected with the management server to the client when the client needs to be in communication connection with the system, and the client can select one communication server in the list to be connected. When the management server needs to send the message file to the client, the push server in communication connection with the management server determines which communication server the client is connected to, and directly sends the message file to the client through the communication server, so that the message file can be quickly sent to a target client, and the speed of the client for obtaining the file from the management server is improved.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: rather, the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules or units or groups of devices in the examples disclosed herein may be arranged in a device as described in this embodiment, or alternatively may be located in one or more devices different from the devices in this example. The modules in the foregoing examples may be combined into one module or may be further divided into multiple sub-modules.
Those skilled in the art will appreciate that the modules in the devices in an embodiment may be adaptively changed and arranged in one or more devices different from the embodiment. Modules or units or groups in embodiments may be combined into one module or unit or group and may furthermore be divided into sub-modules or sub-units or sub-groups. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Moreover, those skilled in the art will appreciate that although some embodiments described herein include some features included in other embodiments, not others, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
Additionally, some of the embodiments are described herein as a method or combination of method elements that can be implemented by a processor of a computer system or by other means of performing the described functions. A processor having the necessary instructions for carrying out the method or method elements thus forms a means for carrying out the method or method elements. Further, the elements of the apparatus embodiments described herein are examples of the following apparatus: the apparatus is used to implement the functions performed by the elements for the purpose of carrying out the invention.
The various techniques described herein may be implemented in connection with hardware or software or, alternatively, with a combination of both. Thus, the methods and apparatus of the present invention, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
In the case of program code execution on programmable computers, the computing device will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Wherein the memory is configured to store program code; the processor is configured to execute the method for determining the apparatus shutdown state of the present invention according to instructions in the program code stored in the memory.
By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer readable media includes both computer storage media and communication media. Computer storage media store information such as computer readable instructions, data structures, program modules or other data. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Combinations of any of the above are also included within the scope of computer readable media.
As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this description, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as described herein. Furthermore, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the appended claims. The present invention has been disclosed with respect to the scope of the invention, which is to be considered as illustrative and not restrictive, and the scope of the invention is defined by the appended claims.

Claims (8)

1. A message transmission method adapted to be executed in a message transmission system, the system including a management server, a routing server, a push server and one or more communication servers, the routing server being communicatively connected to the management server and the push server, the management server being communicatively connected to the one or more communication servers via the push server, the management server having stored therein a list of communication servers connected to the management server, the message transmission system being communicatively connected to one or more clients through the routing server, the method comprising the steps of:
after receiving a communication request of a client, the routing server acquires a communication server list from the management server and sends the communication server list to the client;
the routing server receives a communication server selected by the client from the communication server list;
the selected communication server establishes communication connection with the client;
the management server sends the message file and a target client corresponding to the message file to the push server;
the push server determines a communication server connected with a target client, and sends the message file to the client through the communication server;
the method further comprises the following steps:
when the communication server in the message transmission system is offline, the management server deletes the offline communication server from the communication server list to generate a new communication server list;
the routing server acquires a communication server list from the management server according to a preset frequency;
determining whether the communication server list sends a change;
if the communication server list sends changes, the changed communication server list is sent to the client, and the client can conveniently reselect a communication server to be connected;
and when the client selects one communication server from the communication server list to establish communication connection, selecting the communication server according to a connection rule, wherein the connection rule comprises one or more of a communication server which is closest to the client in terms of priority and a communication server which has the highest transmission speed with the communication server.
2. The method of claim 1, further comprising the steps of:
registering the communication server in the management server, and establishing communication connection between a push server and one or more communication servers;
generating, in the management server, a list of communication servers communicatively connected to the push server for the client to select a communication server to connect to from.
3. The method of claim 2, wherein the message transmission system further comprises a data server in communication with the routing server, and the step of the selected communication server establishing communication with the client further comprises:
the routing server constructs connection information according to the identification of the client and the communication server;
and the routing server stores the connection information of the client and the communication server in the data server.
4. The method of claim 3, wherein the push server determining the communication server to which the target client is connected comprises the steps of:
the push server determines the identification of the target client;
the routing server acquires the connection information of the target client from the data server according to the identification of the target client;
and the push server analyzes the connection information to obtain a communication server connected with the target client.
5. The method of claim 2, wherein the push server establishes a TCP connection with the communication server.
6. A message transmission system, the system comprises a management server, a route server, a push server and one or more communication servers, the route server is connected with the management server and the push server in a communication way, the management server is connected with the one or more communication servers in a communication way through the push server, a communication server list connected to the management server is stored in the management server, the message transmission system is connected with one or more clients in a communication way through the route server, the route server is suitable for acquiring a communication server list from the management server and sending the communication server list to the clients after receiving communication requests of the clients, and receiving a communication server selected by the clients from the communication server list;
the communication server is suitable for establishing communication connection with the client;
the management server is suitable for sending the message file and the target client corresponding to the message file to the push server;
the push server is suitable for determining a communication server connected with a target client, and sending the message file to the client through the communication server;
the management server is further adapted to delete a communication server that is offline from the communication server list, generating a new communication server list, when the communication server in the message transmission system is offline;
the route server is further adapted to obtain a communication server list from the management server according to a predetermined frequency, determine whether the communication server list sends a change, and if the communication server list sends a change, send the changed communication server list to the client, so that the client can reselect a communication server to be connected;
and when the client selects one communication server from the communication server list to establish communication connection, selecting according to a connection rule, wherein the connection rule comprises one or more of preferentially selecting the communication server which is closest to the client geographically and preferentially selecting the communication server with the highest transmission speed with the communication server.
7. A computing device, comprising:
one or more processors;
a memory; and
one or more devices comprising instructions for performing any of the methods of claims 1-5.
8. A computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computing device, cause the computing device to perform any of the methods of claims 1-5.
CN202110606925.0A 2021-05-27 2021-05-27 Message transmission method, system, computing device and storage medium Active CN113382050B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110606925.0A CN113382050B (en) 2021-05-27 2021-05-27 Message transmission method, system, computing device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110606925.0A CN113382050B (en) 2021-05-27 2021-05-27 Message transmission method, system, computing device and storage medium

Publications (2)

Publication Number Publication Date
CN113382050A CN113382050A (en) 2021-09-10
CN113382050B true CN113382050B (en) 2022-11-11

Family

ID=77575113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110606925.0A Active CN113382050B (en) 2021-05-27 2021-05-27 Message transmission method, system, computing device and storage medium

Country Status (1)

Country Link
CN (1) CN113382050B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361277B (en) * 2022-07-08 2023-06-20 天津车之家软件有限公司 Method, device, equipment and medium for deploying general cluster system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011137781A1 (en) * 2010-07-14 2011-11-10 华为技术有限公司 Method, system, push client and user device for service communication
KR101229951B1 (en) * 2012-11-07 2013-02-05 주식회사 씨앤피 Method for sending push message through communications network
CN105120495A (en) * 2015-09-09 2015-12-02 北京京东尚科信息技术有限公司 Information push method and system for smart mobile terminal
CN107659473A (en) * 2017-09-28 2018-02-02 努比亚技术有限公司 Connection control method, system, routing server and computer-readable recording medium
CN111447185A (en) * 2020-03-10 2020-07-24 平安科技(深圳)有限公司 Processing method of push information and related equipment
CN111970315A (en) * 2019-05-20 2020-11-20 北京车和家信息技术有限公司 Method, device and system for pushing message
CN112600926A (en) * 2020-12-16 2021-04-02 平安消费金融有限公司 Message pushing method and device and computer readable storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011137781A1 (en) * 2010-07-14 2011-11-10 华为技术有限公司 Method, system, push client and user device for service communication
CN102333105A (en) * 2010-07-14 2012-01-25 华为技术有限公司 Business communication method, system, push client terminal and user equipment
KR101229951B1 (en) * 2012-11-07 2013-02-05 주식회사 씨앤피 Method for sending push message through communications network
CN105120495A (en) * 2015-09-09 2015-12-02 北京京东尚科信息技术有限公司 Information push method and system for smart mobile terminal
CN107659473A (en) * 2017-09-28 2018-02-02 努比亚技术有限公司 Connection control method, system, routing server and computer-readable recording medium
CN111970315A (en) * 2019-05-20 2020-11-20 北京车和家信息技术有限公司 Method, device and system for pushing message
CN111447185A (en) * 2020-03-10 2020-07-24 平安科技(深圳)有限公司 Processing method of push information and related equipment
CN112600926A (en) * 2020-12-16 2021-04-02 平安消费金融有限公司 Message pushing method and device and computer readable storage medium

Also Published As

Publication number Publication date
CN113382050A (en) 2021-09-10

Similar Documents

Publication Publication Date Title
CN107231402B (en) HTTP request processing method, device and system
US9451046B2 (en) Managing CDN registration by a storage provider
CN103069755B (en) Use the method and system that the instant message of multiple client instance transmits
WO2006075424A1 (en) Information distribution system, distribution demand program, transfer program, distribution program and so on
CN102067094A (en) Cache optimzation
US8301595B2 (en) Using AMQP for replication
CN108377247B (en) Message pushing method and device
CN113329069B (en) Instant messaging method, system and computing device
JP2012501493A (en) Image processing method, image processing apparatus, and image processing system
US9876776B2 (en) Methods for generating and publishing a web site based on selected items and devices thereof
CN103731472A (en) Method and system for downloading files by adopting P2P technology and client-side
CN103455439A (en) Local caching device, system and method for providing content caching service
WO2022007008A1 (en) Resource request response method, redirection server and decision distribution server
CN113382050B (en) Message transmission method, system, computing device and storage medium
US8140692B2 (en) Flexibly configured presence server
US9292358B2 (en) Remotely retrieving information from consumer devices
CN110798495A (en) Method and server for end-to-end message push in cluster architecture mode
JP2007272540A (en) Data distributing method and data distributing system
CN111782157B (en) Express delivery face list printing management method, device and system
CN109600452B (en) Server cluster, message pushing method and related server
US11095748B1 (en) Network-based content rendering
US10878187B1 (en) Network-based content rendering
CN114531946A (en) Data pushing method, data pushing system and computer program product
US20050281264A1 (en) Method for transferring data via multicast and the system thereof
CN114513500B (en) Method, device, system and computing device for batch installation of browser plug-ins

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
GR01 Patent grant
GR01 Patent grant