CN111431790A - Instant messaging method, device, system and storage medium - Google Patents
Instant messaging method, device, system and storage medium Download PDFInfo
- Publication number
- CN111431790A CN111431790A CN201910020631.2A CN201910020631A CN111431790A CN 111431790 A CN111431790 A CN 111431790A CN 201910020631 A CN201910020631 A CN 201910020631A CN 111431790 A CN111431790 A CN 111431790A
- Authority
- CN
- China
- Prior art keywords
- message
- intercommunication
- server
- instant messaging
- interworking
- 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.)
- Granted
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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The invention relates to the technical field of computer application, and discloses an instant messaging method, an instant messaging device, an instant messaging system and a storage medium, which are used for realizing the reliability of message interaction among various types of instant messaging applications and further improving the user experience. The system comprises: the system comprises at least two instant messaging subsystems and an intercommunication message server, wherein each instant messaging subsystem sends intercommunication messages of users of other instant messaging subsystems to the intercommunication message server, and the intercommunication message server pulls intercommunication messages sent to users of other instant messaging subsystems by users of other instant messaging subsystems and forwards the intercommunication messages to the users of the other instant messaging subsystems; the intercommunication message server receives and stores the intercommunication messages sent by each instant communication subsystem, and sends the stored intercommunication messages to the instant communication subsystem where the user receiving the intercommunication messages is located according to the receiving sequence of the intercommunication messages and the first-in first-out principle when each instant communication subsystem pulls the messages.
Description
Technical Field
The present invention relates to the field of computer application technologies, and in particular, to an instant messaging method, an instant messaging device, an instant messaging system, and a storage medium.
Background
With the development of computer technology, instant messaging application is widely popularized in people's daily life as one of the products of computer technology application. The instant messaging application is an application for instant messaging based on the internet, different types of instant messaging client users can be friends with each other, and further message interaction can be performed, for example, a user of a first instant messaging application and a user of a second instant messaging application can be friends with each other, and further the user of the first instant messaging application can send a message to the user of the second instant messaging application based on a first instant messaging application platform, and the user of the second instant messaging application can also send a message to the user of the first instant messaging application based on a second instant messaging application platform.
Disclosure of Invention
Embodiments of the present invention provide an instant messaging method, apparatus, system, and storage medium, which are used to implement reliability of message interaction between various types of instant messaging applications, thereby improving user experience.
In one aspect, an embodiment of the present invention provides an instant messaging system, including at least two instant messaging subsystems and an interworking message server communicatively connected to each instant messaging subsystem, where:
each instant communication subsystem sends the intercommunication message sent by the instant communication subsystem to other instant communication subsystems to the intercommunication message server, and obtains the intercommunication message sent by other instant communication subsystems to the instant communication subsystem from the intercommunication message server;
the intercommunication message server receives the intercommunication messages sent by each instant communication subsystem, respectively stores the intercommunication messages sent to the instant communication subsystem according to the receiving sequence aiming at each instant communication subsystem, and sends the stored intercommunication messages to the instant communication subsystem according to the receiving sequence of the intercommunication messages and the first-in first-out principle when each instant communication subsystem acquires the messages.
In another aspect, an embodiment of the present invention provides an instant messaging method, including:
a first instant messaging application server sends an intercommunication message to an intercommunication message server, wherein the intercommunication message is an instant message sent by a user of the first instant messaging application to users of other instant messaging applications; and
the first instant communication application server acquires the intercommunication class information sent to the user by the user of other instant communication applications from the intercommunication information server and forwards the intercommunication class information to the user;
the intercommunication type message obtained by the first instant messaging application server from the intercommunication message server is determined by the intercommunication message server from each storage node corresponding to the first instant messaging application server according to the receiving sequence of the intercommunication type message and a first-in first-out principle.
In another aspect, an embodiment of the present invention provides an instant messaging method, including:
the intercommunication message server receives intercommunication messages sent by each instant messaging application server;
the intercommunication message server respectively sets the serial number of the obtained message according to the receiving sequence of each intercommunication type message and the principle of first-in first-out, and then respectively stores the serial number in a plurality of storage nodes corresponding to the instant communication application server receiving the intercommunication type message.
In another aspect, an embodiment of the present invention provides a computing apparatus, including at least one processor and at least one memory, where the memory stores a computer program, and when the program is executed by the processor, the processor is caused to execute the steps of the method for instant messaging provided in the embodiment of the present invention.
In another aspect, an embodiment of the present invention provides a storage medium, where the storage medium stores computer instructions, and when the computer instructions are executed on a computer, the computer is caused to perform the steps of the method for instant messaging provided in the embodiment of the present invention.
The embodiment of the invention provides an instant messaging system, which comprises at least two instant messaging subsystems and an intercommunication message server which is respectively in communication connection with each instant messaging subsystem, wherein each instant messaging subsystem performs mutual interaction of messages through the intercommunication message server, and each instant messaging application only needs to interact with the intercommunication message server when receiving and sending messages of other types of instant messaging, so that the complexity and difficulty of message processing of each type of instant messaging application are reduced, the reliability of message interaction among various types of instant messaging applications is realized, and the user experience is further improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention.
Fig. 1 is a schematic view of an application scenario provided in an embodiment of the present invention;
fig. 2A is a schematic diagram of an instant messaging system according to an embodiment of the present invention;
fig. 2B is a schematic diagram of an enterprise instant messaging subsystem according to an embodiment of the present invention;
fig. 3 is a message passing flowchart of a first instant messaging application client sending a group chat message according to an embodiment of the present invention;
fig. 4 is a schematic diagram illustrating a read/write operation of an interworking message server according to an embodiment of the present invention;
fig. 5 is a message passing flowchart when a first instant messaging application client receives a group chat message sent by a second instant messaging application client according to an embodiment of the present invention;
fig. 6A is a schematic view illustrating a read/write operation of another interworking message server according to an embodiment of the present invention;
fig. 6B is a schematic diagram of pulling a message from an interworking message server according to an embodiment of the present invention;
fig. 7 is a message transfer flowchart when a first instant messaging application client sends a single chat message to a second instant messaging application client according to an embodiment of the present invention;
fig. 8 is a message passing flowchart when the first instant messaging application client receives a single chat message sent by the second instant messaging application client according to the embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the technical solutions of the present invention. All other embodiments obtained by a person skilled in the art without any inventive work based on the embodiments described in the present application are within the scope of the protection of the technical solution of the present invention.
Some concepts related to the embodiments of the present invention are described below.
The instant messaging application comprises the following steps: the instant messaging application is an application for timely information communication based on the internet, and allows two or more people to instantly communicate text information, pictures, audio and video and the like by using the internet, such as enterprise WeChat, WeChat and the like.
The terminal equipment: the method is any intelligent electronic equipment which can automatically process a large amount of data at high speed according to program operation, and the terminal equipment is a computer, an ipad, a mobile phone and the like.
In the specific practical process, considering that client users of different types of instant messaging applications can be friends with each other and further can perform message interaction, when a plurality of client users of different types of instant messaging applications are added to the client user of one type of instant messaging application as friends or form a group, the situation that one type of instant messaging application needs to perform message interaction with a plurality of different types of instant messaging applications exists, even the situation that the type of instant messaging application needs to perform message interaction with a plurality of different types of instant messaging applications at the same time, the complexity and difficulty of message processing of the type of instant messaging application are greatly increased, if the configuration of the background of the type of instant messaging application cannot meet the message interaction between the same time and the plurality of different types of instant messaging applications, the message processing delay, even the message is wrong or lost, and the client receives the message delay, even the message cannot be received or the wrong message is received, so that the reliability of message interaction is influenced, and the user experience is reduced.
Based on this, the embodiment of the present invention provides an instant messaging system, which includes at least two instant messaging subsystems and an interworking message server communicatively connected to each instant messaging subsystem, wherein: each instant communication subsystem sends the intercommunication message sent by the instant communication subsystem to the intercommunication message server, acquires the intercommunication message sent by the other instant communication subsystem to the instant communication subsystem from the intercommunication message server, further receives the intercommunication message sent by each instant communication subsystem, stores the intercommunication message sent to the instant communication subsystem according to the receiving sequence aiming at each instant communication subsystem, and sends the stored intercommunication message to the instant communication subsystem according to the receiving sequence of the intercommunication message and the principle of first-in first-out when each instant communication subsystem acquires the message, namely in the instant communication system provided by the embodiment of the invention, each instant communication subsystem carries out mutual interaction of the messages through the intercommunication message server, when receiving and sending messages of other types of instant messaging, each instant messaging application only needs to interact with the intercommunication message server, so that the condition that various types of instant messaging applications need to simultaneously interact with a plurality of different types of instant messaging applications at the same time is avoided, the complexity and the difficulty of message processing of various types of instant messaging applications are reduced, the reliability of message interaction among various types of instant messaging applications is realized, and the user experience is further improved.
The instant messaging scheme in the embodiment of the present invention may be applied to an application scenario as shown in fig. 1, where the application scenario includes a first terminal device 10, a second terminal device 11, a first server 12 supporting a first instant messaging application, a second server 13 supporting a second instant messaging application, and an interworking message server 14 serving as a message interworking center, where a type of the first instant messaging application is different from a type of the second instant messaging application, a first instant messaging application client is installed in the first terminal device 10, a second instant messaging application client is installed in the second terminal device 11, the first terminal device 10 is connected to the first server 12 through a network, the second terminal device 11 is connected to the second server 13 through a network, and of course, the first terminal device 10 and the first terminal device 11 may also be connected to a network (not shown in the figure), the first server 12 and the second server 13 are respectively connected to the interworking message server 14 through a network, which may be any one of communication networks such as a local area network, a wide area network, or a mobile internet.
In the application scenario shown in fig. 1, the first server 12 is a server cluster formed by a plurality of servers, the second server 12 is a server cluster formed by a plurality of servers, and the interworking message server 14 is also a server cluster formed by a plurality of servers.
In the application scenario, when a user of a first instant messaging application client in the first terminal device 10 sends a message to a second instant messaging application client user of the second terminal device 11, the message is now sent to the first server 12 by the first terminal device 10, and then the message is delivered to the interworking message server 14 by the first server 12, and the interworking message server 14 forwards the message to the second server 13, and then the message is sent to a second instant messaging application client in the second terminal device 11 by the second server 13; similarly, when the user of the first instant messaging application client in the first terminal device 10 obtains the message sent by the second instant messaging application client user of the second terminal device 11, the first server 12 first pulls the message sent by the second server 13 from the interworking message server 14, and then forwards the message to the first terminal device 10, which will be described in detail below.
In another possible application scenario, a third server supporting a third instant messaging application and a fourth server supporting a fourth instant messaging application are further included, that is, a plurality of different instant messaging applications may be involved in another possible application scenario, and the servers supporting the operation of each instant messaging application corresponding to each instant messaging application may implement message interaction through an interworking message server.
It should be noted that the above-mentioned application scenarios are only presented to facilitate understanding of the spirit and principles of the present invention, and the present invention is not limited in this respect. Rather, embodiments of the present invention may be applied in any scenario where applicable.
It should be noted that in the application of the embodiment of the present invention, a most possible application scenario is that in the application scenario shown in fig. 1, the first instant messaging application is an enterprise instant messaging application, and the first server is an enterprise instant messaging background server; the second instant messaging application is other type instant messaging application different from the enterprise instant messaging application, and the second server is a corresponding other type instant messaging application background server.
The instant messaging scheme provided by the embodiment of the invention is described below in conjunction with the above application scenarios.
As shown in fig. 2A, an instant messaging system provided in an embodiment of the present invention includes an enterprise instant messaging subsystem, an enterprise instant messaging client, another instant messaging subsystem, another instant messaging client, and an interworking message server, where the enterprise instant messaging subsystem is configured to provide enterprise services for other instant messaging client users corresponding to the other instant messaging subsystem, the other instant messaging subsystem may be an instant messaging subsystem of a different type from the enterprise instant messaging subsystem in fig. 2A, the number of the other instant messaging subsystems may be one or more, and the interworking message server includes a plurality of storage nodes configured to store interworking messages between the enterprise instant messaging subsystem and the other instant messaging subsystem.
In fig. 2A, the function of the enterprise instant messaging subsystem may be implemented by the first server in the application scenario shown in fig. 1, where the user of the enterprise instant messaging subsystem refers to a user from an enterprise instant messaging client, the enterprise instant messaging client may be regarded as a first instant messaging application client installed in the first terminal device in the application scenario shown in fig. 1, and the user of the enterprise instant messaging client may be regarded as a user of the first terminal device.
The functions of the other instant messaging subsystems can be implemented by the second server in the application scenario shown in fig. 1, the users of the other instant messaging subsystems refer to users from other instant messaging clients, the other instant messaging clients can be regarded as second instant messaging clients installed in the second terminal device in the application scenario shown in fig. 1, and the users of the second instant messaging clients can be regarded as users of the second terminal device.
In this embodiment of the present invention, as shown in fig. 2B, the enterprise instant messaging subsystem may further include an interworking message sending server, an interworking message receiving server, and a message processing server, where the interworking message sending server, the interworking message receiving server, and the message processing server may be physically independent from each other or integrated together.
In the embodiment of the present invention, as shown in fig. 2B, when an enterprise instant messaging client user sends an interworking type message to an enterprise instant messaging subsystem, a message processing server in the enterprise instant messaging subsystem is responsible for receiving the interworking type message, and then delivers the interworking type message to an interworking messaging server, and the interworking messaging server delivers the interworking message to an interworking message server, and then the interworking message server forwards the interworking message to other instant messaging subsystems where the users receiving the interworking type message are located, and further the other instant messaging subsystems forward to other instant messaging client users, that is, users receiving the interworking type message.
The following describes in detail the transmission process of the intercommunication type message between the instant messaging subsystems in combination with the instant messaging system described above.
For convenience of description, the enterprise instant messaging subsystem is referred to as a first instant messaging background, the other instant messaging subsystems are referred to as a second instant messaging background, correspondingly, the first instant messaging background comprises a first intercommunication message sending server, a first intercommunication message receiving server and a first message processing server, and the second instant messaging background comprises a second message server.
In the embodiment of the present invention, the interworking type message between the first instant messaging backend and the second instant messaging backend can be further divided into an interworking single chat message and an interworking group chat message, where the interworking single chat message refers to a message interacted between a single friend in the first instant messaging application supported by the first instant messaging backend and a single friend in the second instant messaging application supported by the second instant messaging backend, and the interworking group chat message refers to a message interacted between group members when the user of the first instant messaging application and the user of the second instant messaging application perform group chat, and the following description is respectively given for the group chat and the single chat.
As shown in fig. 3, a message delivery process when a user of a first instant messaging application sends a group chat message to a user of a second instant messaging application in an embodiment of the present invention includes:
step S1: the first instant messaging application client sends a group chat message to the first message processing server.
In the embodiment of the present invention, a user of a first instant messaging application client may establish a group in the first instant messaging application client, where the group includes a group member having a friend relationship with the user, the group member includes at least one user from a second instant messaging application client, and the group member may also include other users from the first instant messaging application client, and when a user belonging to the first instant messaging application client in the group issues a group chat message in the group, the group chat message is sent to a first message processing server from a first instant messaging application client where the user sending the group chat message is located.
In the flowchart shown in fig. 3, assuming that the first instant messaging application client in which the user sending the group chat message is located is the first instant messaging application client 1, the first instant messaging application client 1 sends the group chat message published in the group by the user to the first message processing server.
Step S2: and after determining that the received message is the group chat message of the intercommunication class, the first message processing server delivers the group chat message to the first intercommunication message sending server.
In this embodiment of the present invention, the first message processing server may confirm the received message to confirm whether the message is an interworking message, and when the first message processing server confirms that the group chat message sent by the first instant messaging application client 1 is an interworking group chat message, the first message processing server delivers the group chat message to the first interworking message sending server.
It should be noted that, in practical applications, there may be a case that the group chat message received by the first message processing server is not an interworking group chat message, for example, all group members of the group are users of the first instant messaging application client, and at this time, when the first message processing server determines that the group chat message is not an interworking group chat message, the first message processing server may directly send the group chat message to the first instant messaging application client where each group member is located, without delivering the group chat message to the first interworking message sending server.
Step S3: the first interworking messaging server performs a format-specific conversion for the group chat message.
In the embodiment of the present invention, after receiving the group chat message sent by the first message processing server, the first interworking message sending server may also feed back a confirmation message confirming receipt of the group chat message to the first message processing server, and the first message processing server may also feed back a confirmation message confirming receipt of the group chat message to the first instant messaging application client. The first intercommunication message-sending server needs to convert the group chat message into a specific format corresponding to the second instant messaging application client where the group member is located.
Step S4: and the first intercommunication message sending server delivers the format-converted group chat message and the locally stored corresponding group version information to the intercommunication message server.
In the embodiment of the present invention, the first interworking message-sending server stores group version information of each group in the first instant messaging application client, where the group version information refers to information describing each group member included in the group. The first intercommunication message sending server determines group version information corresponding to the current group chat message to be delivered from the local storage, and then delivers the format-converted group chat message to be delivered and the group version information thereof to the intercommunication message server. The first intercommunication message sending server can carry the group version information in the group chat message to be delivered.
Step S5: and the intercommunication message server sends the latest group version information corresponding to the group chat message to the first intercommunication message server.
In the embodiment of the present invention, the interworking message server stores the latest group version information of each interworking group, so that after receiving the group chat message sent by the first interworking message server, the interworking message server may feed back the latest group version information corresponding to the group chat message to the first interworking message server, or may feed back the latest group version information corresponding to the group chat message to the first interworking message server when determining that the group version information sent by the first interworking message server is inconsistent with the latest group version information in the interworking message server.
Step S6: the first interworking messaging server determines whether the locally stored group version information is consistent with the latest group version information, and if not, performs step S7.
Step S7: and sending a latest group member information acquisition request to the interworking message server.
In the embodiment of the invention, the first intercommunication message-sending server determines whether the group members in the group of the group chat message change by determining whether the locally stored group version information is consistent with the latest group version information, if the version information is inconsistent, the group members in the group representing the group chat message change, and at the moment, the first intercommunication message-sending server sends the latest group member information acquisition request corresponding to the group chat message to the intercommunication message server.
Step S8: the interworking message server sends the latest group member information to the first interworking messaging server.
In the embodiment of the present invention, after receiving the latest group member information acquisition request corresponding to the group chat message sent by the first interworking messaging server, the interworking messaging server may feed back the latest group member information to the first interworking messaging server, where the latest group member information includes information of the latest group member in the group of the group chat message.
Step S9: and the first intercommunication message sending server forwards the latest group member information and the group chat message to the first message processing server.
In the embodiment of the present invention, if the group member in the group corresponding to the group chat message includes, in addition to the second instant messaging application client user, another user of the first instant messaging application client (where the another user is a user different from the first instant messaging application client user that issues the group chat message), the first interworking messaging server may further forward the latest group member information and the group chat message to the first message processing server, and if the first message processing server stores the group chat message, the first interworking messaging server may also forward only the latest group member information to the first message processing server.
Step S10: and the first message processing server sends the group chat message to the receiver according to the latest group member information, wherein the receiver comprises the user belonging to the first instant messaging application client in the latest group member.
In the embodiment of the present invention, the first message processing server is responsible for message interaction with the first instant messaging application client, and therefore, after receiving the latest group member information and the group chat message sent by the first interworking message sending server, the first message processing server can send the group chat message to the recipient including the user belonging to the first instant messaging application client in the latest group member, in the flow illustrated in fig. 3, the client of the first instant messaging application client 2 is the recipient including the user belonging to the first instant messaging application client in the latest group member, and therefore, the first message processing server sends the group chat message to the first instant messaging application client 2, so that the user of the first instant messaging application client 2 can obtain the group chat message in time.
It should be noted that, in step S6, if it is determined that the group version information corresponding to the locally stored group chat message is consistent with the latest group version information, and the group members in the group corresponding to the group chat message include the second instant messaging application client user and other users of the first instant messaging application client, the first interworking message sending server may forward the locally stored corresponding group member information and the group chat message to the first message processing server, and the first message processing server may send the group chat message to the receiver including the user belonging to the first instant messaging application client in the latest group member without executing steps S7 and S8.
In this embodiment of the present invention, after the interworking message server receives the group chat message sent by the first interworking message server in step S4, the following steps may be further performed:
step S11: and the intercommunication message server stores the group chat message delivered by the first intercommunication message server in a local storage node.
Step S12: and when the intercommunication message server determines that the storage nodes more than the preset number in the plurality of storage nodes successfully store the group chat message, the intercommunication message server sends a storage success confirmation message to the first intercommunication message server.
In the embodiment of the present invention, the interworking message server may store the group chat message delivered by the first interworking message server in the local storage node first, and when the storage node stores the group chat message, the group chat message may be stored in the storage node according to a receiving order of the messages and on a first-in first-out principle.
In the embodiment of the present invention, in order to ensure the reliability of the interworking message stored in the interworking message server, the storage node storing the group chat message may include a plurality of storage nodes, that is, the plurality of storage nodes simultaneously store the group chat message according to the receiving sequence of the message and on the principle of first-in first-out. The plurality of storage nodes may be dedicated to storing messages sent to the user of the second instant messaging application client, i.e. the interworking message server receives the group chat message, determines that the group chat message is a message sent to the user of the second instant messaging application client and stores it in the plurality of storage nodes.
Here, taking three storage nodes in the interworking message server dedicated for storing the message sent to the user of the second instant messaging application client as an example, as shown in fig. 4, the three storage nodes are interworking storage 1, interworking storage 2, and interworking storage 3, respectively, and the interworking message server stores the group chat messages in the three storage nodes respectively according to the receiving sequence of the group chat messages and on the first-in first-out principle. Sequence number 3 in interworking storage 1, interworking storage 2, and interworking storage 3 in fig. 4 represents the group chat message, "first agent" represents a functional module dedicated to reading instead of management in the interworking message server, and "second agent" represents a functional module dedicated to writing instead of management in the interworking message server.
In order to further ensure the reliability of the interworking message stored in the interworking message server, when a plurality of storage nodes store the same group chat message, whether each storage node successfully stores the same group chat message may be determined, and if it is determined that storage nodes larger than a preset number of the plurality of storage nodes successfully store the same group chat message, it is determined that the same group chat message is successfully stored in the interworking message server, and a confirmation message of successful storage may be sent to the first interworking message server.
Specifically, in the three storage nodes shown in fig. 4, assuming that 2 or more storage nodes successfully store the group chat message, it is determined that the group chat message is successfully stored in the interworking message server.
In the embodiment of the invention, if the storage node fails to store the group chat message, the intercommunication message server can also acquire the group chat message which fails to be stored from the storage node which succeeds in storage and store the group chat message to the storage node which fails to be stored again. For example, in fig. 4, interworking storage 1 and interworking storage 2 of the interworking message server store that the group chat message was successful and interworking storage 3 stores that the group chat message was unsuccessful, then the interworking message server may retrieve the group chat message from interworking storage 1 or interworking storage 2 and store it again in interworking storage 3.
Step S13: the interworking message server sends the group chat message to the second message server.
Step S14: the second message server sends the group chat message to the user whose receiver belongs to the second instant communication application client.
After the interworking message server stores the group chat message, the interworking message server can actively send the group chat message to the second message server, and can also send the group chat message to the second message server when receiving a message acquisition request sent by the second message server.
Referring to fig. 4 again, before the interworking message server sends the group chat message to the second message server, the group chat message needs to be read from the storage node, and in the embodiment of the present invention, in order to further ensure that the group chat message sent by the interworking message server to the second message server is a correct and reliable message, as shown in fig. 4, a read operation may be performed on all storage nodes storing the group chat message, that is, the group chat message is read from the interworking storage 1, the interworking storage 2, and the interworking storage 3, respectively. And if the storage nodes with the number larger than the preset number are read successfully when the group chat message is read, sending the successfully read group chat message to the second message server. And then the second message server sends the group chat message to the user of which the receiver belongs to the second instant messaging application client, thereby completing the message transfer of sending the group chat message from the user of the first instant messaging application client to the user of the second instant messaging application client.
The preset number can be flexibly set according to actual needs, and if the number of the plurality of storage nodes is N, the preset number can be set to N/2+1, or N/2, etc., which will not be described repeatedly herein.
To introduce the following, a message passing process when a user of a first instant messaging application client receives a group chat message sent by a user of a second instant messaging application client is shown in fig. 5, and includes:
step S20: and the second instant messaging application client sends the group chat message to the second message server.
Step S21: the second message server sends the group chat message to the interworking message server.
In the embodiment of the present invention, the user of the second instant messaging application client may issue the group chat message in a group including the user of the first instant messaging application client, the number of the users of the first instant messaging application client included in the group may be one or more, the group may further include other users of the second instant messaging application client, the second instant messaging application client where the user issuing the group chat message is located sends the group chat message to the second message server, and the second message server delivers the group chat message to the interworking message server.
Step S22: the intercommunication message server sets a message pulling sequence number for the group chat message according to the receiving sequence of the group chat message by a first-in first-out principle, and then stores the sequence number in a plurality of storage nodes.
In an embodiment of the present invention, after receiving the group chat message sent by the second message server, the interworking message server may store the group chat message in a plurality of nodes, where the plurality of nodes may be dedicated to storing messages sent to the user of the first instant messaging application client.
In the embodiment of the invention, in order to enable the first intercommunication message receiving server to accurately pull the message sent to the user of the first instant messaging application client from the intercommunication message server subsequently, the intercommunication message server can also set the message pulling serial number when storing the message sent to the first instant messaging application client, so that the first intercommunication message receiving server can accurately and orderly pull the message according to the message pulling serial number, thereby reducing the occurrence of the situations of repeated message pulling, message omission and the like and further improving the reliability of the message.
The process of storing the received group chat message sent by the second instant messaging application client to the first instant messaging application client in the interworking message server will be described by taking three storage nodes of the interworking message server dedicated to storing the message sent to the first instant messaging application client as an example.
As shown in fig. 6A, the three storage nodes are an interworking storage 1, an interworking storage 2, and an interworking storage 3, respectively, and the interworking message server sets a message pulling sequence number for the group chat message according to a receiving sequence of the group chat message in a first-in first-out principle, where the message pulling sequence number refers to a sequence number of a message, which is hereinafter referred to as a sequence number, sent from the second instant messaging application client to the first instant messaging application client, and sequentially pulled by the first interworking message server from the three storage nodes, respectively.
In fig. 6A, it is assumed that before the interworking message server receives the group chat message of this time, messages 1 to 6 are also sequentially received, where messages 1 to 6 may be group chat messages or single chat messages sent by the second instant messaging application client to the first instant messaging application client, and then according to a receiving sequence of the messages and a first-in first-out principle, the message interworking server sequentially stores messages 1 to 6 in three storage nodes, and sets a message pull sequence number for each message, where identifiers 1 to 6 in each storage node in fig. 6A respectively represent messages 1 to 6 that are sequentially stored, and it is assumed that the sequence numbers of messages 1 to 6 are sequentially 1 to 6. When receiving the group chat message sent by the second instant messaging application client to the first instant messaging application client at this time, a serial number 7 may be set for the group chat message, and the group chat message is stored in three storage nodes respectively, that is, the writing process shown in fig. 6A.
Step S23: and when the intercommunication message server determines that the storage nodes more than the preset number in the plurality of storage nodes successfully store the group chat message, the intercommunication message server sends a storage success confirmation message to a second message server sending the group chat message.
In the embodiment of the present invention, similarly, in order to further ensure the reliability of the interworking message stored in the interworking message server, when the plurality of storage nodes store the group chat message, it is determined whether the plurality of storage nodes are successful in storing the same group chat message, and if it is determined that storage nodes greater than the preset number of storage nodes in the plurality of storage nodes store the same group chat message successfully, it is determined that the same group chat message is successfully stored in the interworking message server, and a storage success confirmation message may be sent to a second message server that sends the group chat message, where no description is repeated here.
Step S24: the first intercommunication message receiving server determines the target sequence number of the message needing to be pulled according to the sequence number of the message pulled from the intercommunication message server at the last time.
Step S25: the first interworking message receiving server sends a message pulling request to the interworking message server, and the request carries a target sequence number.
In the embodiment of the invention, the first intercommunication message receiving server can pull the message sent by the second instant messaging application client user to the first instant messaging application client user from the intercommunication message server according to the preset period, and the period can be flexibly set according to the actual requirement. Before the first intercommunication message receiving server pulls the message from the intercommunication message server, the first intercommunication message receiving server can determine the target sequence number of the message which needs to be pulled at this time according to the sequence number of the message which is pulled from the intercommunication message server at the last time.
For example, as shown in fig. 6B, it is assumed that the message pulled from the interworking message server at the latest time includes three messages, i.e., message 1, message 2, and message 3 (message 1, message 2, and message 3 in fig. 6B), that is, the first interworking message server pulls three messages from the interworking message server each time, and it is assumed that the sequence numbers of the messages 1, 2, and 3 are 1, 2, and 3, respectively, then the three messages required to be pulled at this time are message 4, message 5, and message 6, respectively, correspondingly, the first interworking message server can determine the target sequence number of the message required to be pulled at this time according to the sequence numbers 1, 2, and 3 of the three messages pulled at the latest time, where the target sequence number can select the sequence number of any one of the three messages required to be pulled at this time, such as sequence number 4 corresponding to message 4, or sequence number 5 corresponding to message 5, or sequence number 6 corresponding to message 6, in fig. 6B, the sequence number 4 corresponding to the first message to be pulled, i.e. the message 4, is used as the target sequence number, and then the message pulling request sent to the interworking message server carries the target sequence number 4. That is, the target sequence number of the message pulled this time may be agreed with the interworking message server in advance through a protocol.
In the embodiment of the present invention, the number of messages pulled by the first interworking message receiving server from the interworking message server each time can also be flexibly set, for example, set to one, or set to three shown in fig. 6B, or set to other numbers.
Step S26: the intercommunication message server obtains the message corresponding to the target sequence number from the plurality of storage nodes and deletes the pulled message in the plurality of storage nodes.
Referring to fig. 6B, it can be seen that the target sequence number 4 carried in the received message pull request is the message 4, the message 5, and the message 6 respectively, where the three messages that need to be pulled at this time, and then the message 4, the message 5, and the message 6 are the messages corresponding to the target sequence number in step S26, and it is assumed that the message 4, the message 5, and the message 6 are all group chat messages. Thus, the interworking message server may read message 4, message 5, and message 6 in sequence from interworking storage 1, interworking storage 2, and interworking storage 3.
Similarly, when reading the message 4, the message 5, and the message 6, if the storage nodes with the number greater than the preset number are successfully read when reading the group chat message, it is determined that the interworking message server successfully reads the message 4, the message 5, and the message 6, so as to ensure that the group chat message sent by the interworking message server to the first interworking message receiving server is a correct and reliable message. If the storage nodes with the number less than or equal to the preset number are successfully read when the group chat message is read, determining that the intercommunication message server fails to read the message 4, the message 5 and the message 6, and re-reading until the reading is successful.
In this embodiment of the present invention, in order to further ensure that the interworking message pulling process is performed in order, a state indicating whether each message is pulled may be further set for the messages stored in each storage node, for example, as shown in fig. 6B, the state indicating whether each message is pulled may be determined (which is already confirmed in correspondence to fig. 6B), the state that each message is not determined by pulling may be set, and the state that each message is not pulled may be changed from the state that each message is not determined by pulling to the state indicating that each message 1, 2, and 3 is successfully pulled, after determining the sequence number 4 carried in the message pulling request received by the interworking message server, correspondingly. In the embodiment of the invention, in order to release the storage space of each storage node of the interworking message server, the message with the determined state can be deleted from each storage node.
Step S27: and the intercommunication message server sends a group chat message to the first intercommunication message receiving server, wherein the group chat message carries the corresponding latest group version information.
In the embodiment of the present invention, in step S26, after the interworking message server reads the message 4, the message 5, and the message 6, that is, the group chat message corresponding to the target sequence number is successful, the message may be sent to the first interworking message receiving server, and at the same time, the pull status of the message 4, the message 5, and the message 6 may be changed from the state of not being pulled to the state of not being pulled as shown in fig. 6B.
In the embodiment of the present invention, when the interworking message server sends the group chat message to the first interworking message receiving server, the group chat message may also carry the corresponding latest group version information, so that the first interworking message receiving server can successfully send the group chat message to each group member.
Step S28: the first interworking message receiving server determines whether the latest group version information of the received group chat message is identical to the locally stored corresponding group version information, and if not, performs step S29.
Step S29: and the first intercommunication message receiving server sends a latest group member information acquisition request corresponding to the group chat message to the intercommunication message server.
Step S30: the interworking message server sends the latest group member information to the first interworking message receiving server.
Similarly, after receiving the group chat message carrying the latest group version information sent by the interworking message receiving server, the first interworking message sending server may determine whether the locally stored group version information of the group chat message is consistent with the latest group version information, if the locally stored group version information is inconsistent with the latest group version information, the group member in the group representing the group chat message changes, at this time, send an latest group member information obtaining request corresponding to the group chat message to the interworking message server, and obtain the latest group member information sent by the interworking message server, where specific process references the above, and is not described repeatedly.
Step S31: the first interworking message receiving server forwards the latest group member information and the group chat message to the first message processing server.
Step S32: and the first message processing server sends the group chat message to the receiver according to the latest group member information, wherein the receiver comprises the user belonging to the first instant messaging application client in the latest group member.
In the embodiment of the present invention, after receiving the latest group member information sent by the interworking message server, the first interworking message receiving server may forward the latest group member information and the group chat message to the first message processing server, so that the first message processing server sends the group chat message to the receiver including all users belonging to the first instant messaging application client in the latest group member, thereby completing the process of the first instant messaging application client receiving the group chat message sent by the second instant messaging application client.
As shown in fig. 7, a message delivery process when a first instant messaging application client sends a single chat message to a second instant messaging application client in an embodiment of the present invention includes:
step S40: the first instant messaging application client sends a single chat message to the first message processing server.
Step S41: and after determining that the received message is a single chat message of an interworking class, the first message processing server delivers the single chat message to the first interworking message sending server.
In the embodiment of the present invention, the user of the first instant messaging application client may also send a single chat message to the user of the second instant messaging application client having a friend relationship with the user of the first instant messaging application client, that is, the user of the first instant messaging application client publishes the single chat message in a friend chat interface with the user of the second instant messaging application client, and the single chat message is sent from the first instant messaging application client to the first message processing server.
It should be noted that, in practical applications, the user of the first instant messaging application client may also perform single chat message sending and receiving with other users of the first instant messaging application client having a friend relationship, and since the single chat message is not an interworking type message, the single chat message may be directly sent to the user of the first instant messaging application client by the first message processing server.
Step S42: the first interworking messaging server performs a format-specific conversion for the single chat message.
Step S43: and the first intercommunication message sending server delivers the format-converted single chat message to the intercommunication message server.
In the embodiment of the invention, the first intercommunication message sending server needs to convert the intercommunication single chat message into the specific format corresponding to the second instant messaging application client and then delivers the intercommunication single chat message to the intercommunication message server.
Step S44: the interworking message server determines whether the receiver of the chat message is in a buddy relationship with the sender thereof, if so, performs steps S45 to S48, otherwise, performs steps S49 to S52.
Step S45: the interworking message server stores the single chat message in a local storage node.
Step S46: and when the intercommunication message server determines that the storage nodes more than the preset number in the plurality of storage nodes successfully store the single chat message, the intercommunication message server sends a storage success confirmation message to the first intercommunication message server.
Step S47: the interworking message server sends the single chat message to the second message server.
Step S48: the second message server sends the single chat message to the user of the second instant messaging application client.
That is, in the embodiment of the present invention, the interworking message server stores the latest friend relationship between the users of the first instant messaging application client and the second instant messaging application client, and when the interworking message server determines that the receiver of the single chat message, that is, the user of the second instant messaging application client, is in friend relationship with the sender thereof, that is, the user of the first instant messaging application client, the single chat message can be stored in the local storage node, and a message that delivery is successful is fed back to the first interworking message server.
The way of storing the single chat message by the interworking message server can refer to the way of storing the group chat message, that is, the single chat message can be stored in one or more storage nodes according to the receiving sequence of the messages and on the first-in first-out principle, and the description is not repeated here.
After storing the single chat message, the interworking message server may actively send the single chat message to the second message server, or may send the single chat message to the second message server when receiving a message acquisition request sent by the second message server. And then the second message server sends the single chat message to the user of the second instant messaging application client, thereby completing the message transfer of sending the single chat message from the first instant messaging application client to the second instant messaging application client.
In practical applications, when step S44 is executed, there is also a case where the interworking message server determines that the receiver of the single chat message is not in a buddy relationship with the sender thereof, for example, the receiver of the single chat message deletes the sender, i.e., the user of the first instant messaging application client, at the second client thereof, and the interworking message server has not yet come to notify the first instant messaging application, so that the first instant messaging application does not know that the buddy relationship between the receiver of the single chat message and the sender thereof is released, and at this time, the following steps S49 to S51 may be executed:
step S49: the intercommunication message server sends a delivery refusing instruction to the first intercommunication message server;
step S50: the first intercommunication message sending server determines the relation that the single chat message receiver is not a friend of the sender according to the received delivery refusing indication, and sends the indication that the single chat message receiver is not the friend of the sender to the first message processing server;
step S51: and the first message processing server sends information indicating message sending failure to the first instant messaging application client side sending the single chat message.
That is, the interworking message server may send a delivery rejection indication to the first interworking message server when determining that the receiver of the single chat message is not in a friend relationship with the sender thereof, and after receiving the delivery rejection indication by the first interworking message server, determine that the receiver of the single chat message is not in a friend relationship with the sender, and send an indication that the receiver of the single chat message is not in a friend relationship with the sender to the first message processing server, so that the first message processing server sends information indicating that the message transmission fails to the first instant messaging application client that sends the single chat message.
To introduce the following description, a message passing process when a first instant messaging application client receives a single chat message sent by a second instant messaging application client is shown in fig. 8, and includes:
step S80: the second instant messaging application client sends the single chat message to the second message server.
Step S81: the second message server sends the single chat message to the interworking message server.
In the embodiment of the invention, when the user of the second instant messaging application client publishes the single chat message to the user of the first instant messaging application client on the friend chat interface of the user of the second instant messaging application client and the user of the first instant messaging application client, the second instant messaging application client sends the single chat message to the second message server so that the second message server can deliver the single chat message to the intercommunication message server.
Step S82: the intercommunication message server sets a message pulling sequence number for the single chat message according to the receiving sequence of the single chat message and a first-in first-out principle, and then stores the message pulling sequence number in a plurality of storage nodes.
Step S83: and when the intercommunication message server determines that the storage nodes more than the preset number in the plurality of storage nodes successfully store the single chat message, the intercommunication message server sends a storage success confirmation message to a second message server sending the single chat message.
In the embodiment of the present invention, similarly, in order to enable the first interworking message server to subsequently accurately pull the single chat message sent to the first instant messaging application client from the interworking message server, when the interworking message server stores the single chat message sent to the first instant messaging application client, the interworking message server may further set a serial number of the message pull, and then store the serial number into the plurality of storage nodes, and during storage, if it is determined that storage of the single chat message by more than a preset number of storage nodes in the plurality of storage nodes is successful, it is determined that the single chat message is successfully stored in the interworking message server, and a storage success confirmation message may be sent to the second messaging server that sends the single chat message, where a specific process is described with reference to the above, and thus, description is not repeated.
Step S84: the first intercommunication message receiving server determines the target sequence number of the message needing to be pulled according to the sequence number of the message pulled from the intercommunication message server at the last time.
Step S85: the first intercommunication message receiving server sends a message pulling request to the intercommunication message server, and the request carries a target sequence number.
In the embodiment of the present invention, the first interworking message receiving server may pull the message sent by the second instant messaging application client user to the first instant messaging application client user from the interworking message server according to a preset period, and may also determine the target sequence number of the message that needs to be pulled this time according to the sequence number of the message that is pulled from the interworking message server last time, and then the message pulling request sent to the interworking message server carries the target sequence number, and the specific process refers to the above description, and the description is not repeated here.
Step S86: the mutual communication message receiving server obtains the single chat message corresponding to the target sequence number from the plurality of storage nodes, and deletes the pulled message in the plurality of storage nodes.
Step S87: the interworking message receiving server sends the single chat message to the first interworking message receiving server.
In the embodiment of the present invention, the interworking message receiving server obtains the message corresponding to the target sequence number from the plurality of storage nodes, and if the message corresponding to the target sequence number is a single chat message, the interworking message receiving server may send the single chat message to the first interworking message receiving server, and may delete the message that has been pulled from the plurality of storage nodes.
Step S88: the first interworking message server determines whether the receiver and the sender of the chat message are in a buddy relationship, if so, performs steps S89 to S90, otherwise performs steps S91 to S93.
Step S89: and the first intercommunication message receiving server converts the single chat message into a format corresponding to the first instant messaging application client and sends the converted single chat message to the first message processing server.
Step S90: the first message processing server sends the single chat message to a user of the first instant messaging application client.
That is, when the first interworking message receiving server determines that the second instant messaging application client user sending the single chat message and the first instant messaging application client user receiving the single chat message are in a friend relationship, the single chat message may be converted into a format corresponding to the first instant messaging application client and then sent to the first message processing server, so that the first message processing server sends the single chat message to the first instant messaging application client, that is, the user of the first instant messaging application client.
In practical applications, when step S88 is executed, there is a case that the receiver of the single chat message is not in a friend relationship with the sender thereof, for example, the receiver of the single chat message deletes the sender, that is, the user of the second instant messaging application client, at the first instant messaging application client, and the interworking message server has not yet come to notify the second instant messaging application client, so that the second instant messaging application client does not know that the friend relationship between the receiver of the single chat message and the sender thereof is released, and at this time, the following steps S91 to S93 may be executed:
step S91: the first interworking message server sends an indication to the interworking message server that the single chat message recipient is not a buddy of the sender but refuses delivery.
Step S92: the interworking message server sends an indication of a single chat message transmission failure to the second message server.
Step S93: the second message server sends an indication of a single chat message failure to the second instant messaging application client that sent the single chat message.
That is, when the first interworking message server determines that the recipient of the single chat message is not in a buddy relationship with the sender thereof, an indication that the single chat message recipient is not a buddy of the sender but refuses delivery may be transmitted to the interworking message server, and after receiving the indication, the interworking message server transmits an indication that the single chat message recipient is not a buddy relationship of the sender to the second message server, so that the second message processing server transmits an indication that the single chat message fails to the second instant messaging application client transmitting the single chat message.
Based on the same inventive concept, the embodiment of the invention provides an instant messaging method, which comprises the following steps:
the first instant messaging application server sends an intercommunication message to an intercommunication message server, wherein the intercommunication message is an instant message sent by a user of the first instant messaging application to users of other instant messaging applications; and
the first instant communication application server acquires the intercommunication type messages sent to the users of other instant communication applications from the intercommunication message server and forwards the intercommunication type messages to the users of the first instant communication application server;
when the first instant messaging application server obtains the intercommunication type message from the intercommunication message server, the intercommunication message server determines the intercommunication type message from each storage node corresponding to the first instant messaging application server according to the receiving sequence of the intercommunication type message and a first-in first-out principle.
Based on the same inventive concept, the embodiment of the invention provides an instant messaging method, which comprises the following steps:
the intercommunication message server receives intercommunication messages sent by each instant messaging application server;
the intercommunication message server respectively sets the serial numbers of the obtained messages according to the receiving sequence of the intercommunication messages and the principle of first-in first-out, and then the serial numbers are respectively stored in the intercommunication message server and the storage nodes corresponding to the instant communication application server receiving the intercommunication messages.
Based on the same inventive concept, embodiments of the present invention provide a computing apparatus, which includes at least one processor and at least one memory, where the memory stores a computer program, and when the computer program is executed by the processor, the processor is enabled to execute the steps of the instant messaging method provided in the embodiments of the present invention.
Based on the same inventive concept, an embodiment of the present invention provides a storage medium, where the storage medium stores computer instructions, and when the computer instructions run on a computer, the computer is caused to execute the steps of the instant messaging method provided in the embodiment of the present invention.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.
Claims (14)
1. An instant messaging system comprising at least two instant messaging subsystems and an interworking message server communicatively coupled to each of said instant messaging subsystems, wherein:
each instant communication subsystem sends the intercommunication message sent by the instant communication subsystem to other instant communication subsystems to the intercommunication message server, and obtains the intercommunication message sent by other instant communication subsystems to the instant communication subsystem from the intercommunication message server;
the intercommunication message server receives the intercommunication messages sent by each instant communication subsystem, respectively stores the intercommunication messages sent to the instant communication subsystem according to the receiving sequence aiming at each instant communication subsystem, and sends the stored intercommunication messages to the instant communication subsystem according to the receiving sequence of the intercommunication messages and the first-in first-out principle when each instant communication subsystem acquires the messages.
2. The system of claim 1, wherein the interworking message server comprises a plurality of storage nodes, wherein:
the intercommunication message server respectively sets a message pulling sequence number for the intercommunication messages sent to the instant communication subsystem according to the receiving sequence and the first-in first-out principle for each instant communication subsystem, and respectively stores the intercommunication messages with the set sequence numbers in each storage node corresponding to the instant communication subsystem.
3. The system of claim 2, wherein the interworking message server is further configured to:
aiming at each intercommunication message, when determining that the storage nodes which are more than a preset number of storage nodes and correspond to the instant communication subsystem receiving the intercommunication message successfully store the same intercommunication message, sending a storage success confirmation message to the instant communication subsystem sending the intercommunication message; and
and acquiring the intercommunication class messages which are stored in the other storage nodes and fail from the storage nodes which store the intercommunication class messages successfully, and storing the intercommunication class messages in the other storage nodes again.
4. The system of claim 2, wherein the interworking message server is further configured to:
aiming at an acquisition message request sent by each instant messaging subsystem, acquiring intercommunication messages corresponding to indication information from a plurality of storage nodes corresponding to the instant messaging subsystem respectively according to the indication information carried in the acquisition message request, and forwarding the intercommunication messages to the instant messaging subsystem; and deleting the intercommunication type information acquired from the plurality of storage nodes corresponding to the instant messaging subsystem.
5. The system of any one of claims 1-4, wherein the at least two instant messaging subsystems comprise an enterprise instant messaging subsystem for providing enterprise services to other instant messaging subsystem users, the enterprise instant messaging subsystem comprising an interworking messaging server, and a message processing server;
the message processing server is used for sending the message to the intercommunication message sending server when determining that the message from the client of the enterprise instant messaging subsystem user is the intercommunication message sent to other instant messaging subsystem users; when receiving the intercommunication message sent by the intercommunication message receiving server, the intercommunication message is forwarded to the client of the intercommunication message receiver;
the intercommunication message-sending server converts the intercommunication message into a specific format and sends the intercommunication message to the intercommunication message server;
the intercommunication message receiving server is used for acquiring the intercommunication type message with a specific format from the intercommunication message server, and sending the intercommunication type message to the enterprise instant messaging subsystem after converting the extracted intercommunication type message into a format corresponding to the enterprise instant messaging subsystem.
6. The system of claim 5, wherein the interworking messaging server is further configured to:
and determining the target sequence number of the intercommunication message needing to be pulled at this time according to the sequence number of the intercommunication message pulled from the intercommunication message server at the last time, and carrying indication information comprising the target sequence number in a message pulling request sent to the intercommunication message server.
7. The system of claim 5, wherein the interworking messaging server is further configured to:
when the obtained intercommunication message is a group chat message, obtaining the latest group version information of the intercommunication message sent by the intercommunication message server, obtaining the latest group member information of the intercommunication message from the intercommunication message server when the latest group version information is determined not to be matched with the locally stored group version information of the intercommunication message, transmitting the latest group member information of the intercommunication message and the intercommunication message to the message processing server, and sending the intercommunication message to each group member in the latest group member information of the group by the message processing server.
8. The system of claim 5, wherein the interworking messaging server is further configured to:
when the intercommunication type message sent by the enterprise instant messaging subsystem user is received as a group chat message, the group chat message carries corresponding group version information and then is sent to the intercommunication message server, the intercommunication message server sends corresponding group latest group member information to the intercommunication message server when the carried group version information is determined not to be matched with the corresponding group latest version information, the intercommunication message server transmits the group latest group member information and the group chat message to the message processing server, and the message processing server sends the group chat message to group members belonging to the enterprise instant messaging subsystem user in the group latest group member information according to the group latest group member information.
9. An instant messaging method, comprising:
a first instant messaging application server sends an intercommunication message to an intercommunication message server, wherein the intercommunication message is an instant message sent by a user of the first instant messaging application to users of other instant messaging applications; and
the first instant communication application server acquires the intercommunication class information sent to the user by the user of other instant communication applications from the intercommunication information server and forwards the intercommunication class information to the user;
the intercommunication type message obtained by the first instant messaging application server from the intercommunication message server is determined by the intercommunication message server from each storage node corresponding to the first instant messaging application server according to the receiving sequence of the intercommunication type message and a first-in first-out principle.
10. The method of claim 9, wherein the method further comprises:
the first instant communication application server determines the target sequence number of the intercommunication message which needs to be acquired at this time according to the sequence number of the intercommunication message which is acquired from the intercommunication message server at the last time, and carries the indication information comprising the target sequence number in the message acquisition request sent to the intercommunication message server.
11. An instant messaging method, comprising:
the intercommunication message server receives intercommunication messages sent by each instant messaging application server;
the intercommunication message server respectively sets the serial number of the obtained message according to the receiving sequence of each intercommunication type message and the principle of first-in first-out, and then respectively stores the serial number in each storage node corresponding to the instant communication application server receiving the intercommunication type message.
12. The method of claim 11, wherein the method further comprises:
aiming at each intercommunication message, when determining that the storage nodes which are more than a preset number of storage nodes and correspond to the instant communication subsystem receiving the intercommunication message successfully store the same intercommunication message, sending a storage success confirmation message to an instant communication application server sending the intercommunication message; and
and acquiring the intercommunication class messages which are stored in the other storage nodes and fail from the storage nodes which store the intercommunication class messages successfully, and storing the intercommunication class messages in the other storage nodes again.
13. A computing device comprising at least one processor and at least one memory, wherein the memory stores a computer program that, when executed by the processor, causes the processor to perform the steps of the method of any of claims 9-12.
14. A storage medium storing computer instructions which, when run on a computer, cause the computer to perform the steps of the method according to any one of claims 9-12.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910020631.2A CN111431790B (en) | 2019-01-09 | 2019-01-09 | Instant messaging method, device, system and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910020631.2A CN111431790B (en) | 2019-01-09 | 2019-01-09 | Instant messaging method, device, system and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111431790A true CN111431790A (en) | 2020-07-17 |
CN111431790B CN111431790B (en) | 2022-02-08 |
Family
ID=71545632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910020631.2A Active CN111431790B (en) | 2019-01-09 | 2019-01-09 | Instant messaging method, device, system and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111431790B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002057A (en) * | 2022-05-26 | 2022-09-02 | 威艾特科技(深圳)有限公司 | Distributed multi-server instant messaging method |
CN115842691A (en) * | 2023-02-21 | 2023-03-24 | 北京友友天宇系统技术有限公司 | Message sequence guarantee method, device and equipment for distributed group communication |
WO2023174057A1 (en) * | 2022-03-17 | 2023-09-21 | 腾讯科技(深圳)有限公司 | Group chat based instant message method, apparatus and device, computer readable storage medium and computer program product |
CN117411845A (en) * | 2023-12-14 | 2024-01-16 | 四川桃子健康科技股份有限公司 | Online diagnosis and treatment chat message processing method and medical aggregation system |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257460A (en) * | 2007-02-27 | 2008-09-03 | 中国移动通信集团公司 | Instantaneous message temporary cluster group conversational system and method for creating and transmitting instantaneous message |
CN101488928A (en) * | 2009-01-06 | 2009-07-22 | 腾讯科技(深圳)有限公司 | Internet enterprise group communication device and internet enterprise group communication method |
CN101778053A (en) * | 2009-12-23 | 2010-07-14 | 中兴通讯股份有限公司 | Inter-instant messenger communication method and device |
EP2901719A1 (en) * | 2012-09-29 | 2015-08-05 | Alcatel Lucent | Method of distributing group message of machine type communication |
CN104901865A (en) * | 2015-04-20 | 2015-09-09 | 上海云睦网络科技有限公司 | Mobile-end instant messaging (IM) signal synchronization method based on global monotonic serial number |
CN105577505A (en) * | 2014-10-14 | 2016-05-11 | 北京信威通信技术股份有限公司 | Cross-platform instant messaging system and message intercommunication method thereof |
WO2016112671A1 (en) * | 2015-01-13 | 2016-07-21 | 华为技术有限公司 | Cluster communication system, server and communication method |
CN106850402A (en) * | 2017-01-16 | 2017-06-13 | 腾讯科技(深圳)有限公司 | The transmission method and device of message |
CN107508747A (en) * | 2017-09-12 | 2017-12-22 | 广东欧珀移动通信有限公司 | Group communication method, server and the computer-readable storage medium of converged communication |
US20180034750A1 (en) * | 2015-08-14 | 2018-02-01 | Tencent Technology (Shenzhen) Company Limited | Instant messaging method, server, and storage medium |
WO2018107556A1 (en) * | 2016-12-16 | 2018-06-21 | 邦彦技术股份有限公司 | Cross-domain instant messaging method and system based on ims architecture |
CN108512741A (en) * | 2018-02-06 | 2018-09-07 | 北京云中融信网络科技有限公司 | Instant communication method, apparatus and system |
-
2019
- 2019-01-09 CN CN201910020631.2A patent/CN111431790B/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257460A (en) * | 2007-02-27 | 2008-09-03 | 中国移动通信集团公司 | Instantaneous message temporary cluster group conversational system and method for creating and transmitting instantaneous message |
CN101488928A (en) * | 2009-01-06 | 2009-07-22 | 腾讯科技(深圳)有限公司 | Internet enterprise group communication device and internet enterprise group communication method |
CN101778053A (en) * | 2009-12-23 | 2010-07-14 | 中兴通讯股份有限公司 | Inter-instant messenger communication method and device |
EP2901719A1 (en) * | 2012-09-29 | 2015-08-05 | Alcatel Lucent | Method of distributing group message of machine type communication |
CN105577505A (en) * | 2014-10-14 | 2016-05-11 | 北京信威通信技术股份有限公司 | Cross-platform instant messaging system and message intercommunication method thereof |
WO2016112671A1 (en) * | 2015-01-13 | 2016-07-21 | 华为技术有限公司 | Cluster communication system, server and communication method |
CN104901865A (en) * | 2015-04-20 | 2015-09-09 | 上海云睦网络科技有限公司 | Mobile-end instant messaging (IM) signal synchronization method based on global monotonic serial number |
US20180034750A1 (en) * | 2015-08-14 | 2018-02-01 | Tencent Technology (Shenzhen) Company Limited | Instant messaging method, server, and storage medium |
WO2018107556A1 (en) * | 2016-12-16 | 2018-06-21 | 邦彦技术股份有限公司 | Cross-domain instant messaging method and system based on ims architecture |
CN106850402A (en) * | 2017-01-16 | 2017-06-13 | 腾讯科技(深圳)有限公司 | The transmission method and device of message |
CN107508747A (en) * | 2017-09-12 | 2017-12-22 | 广东欧珀移动通信有限公司 | Group communication method, server and the computer-readable storage medium of converged communication |
CN108512741A (en) * | 2018-02-06 | 2018-09-07 | 北京云中融信网络科技有限公司 | Instant communication method, apparatus and system |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023174057A1 (en) * | 2022-03-17 | 2023-09-21 | 腾讯科技(深圳)有限公司 | Group chat based instant message method, apparatus and device, computer readable storage medium and computer program product |
CN115002057A (en) * | 2022-05-26 | 2022-09-02 | 威艾特科技(深圳)有限公司 | Distributed multi-server instant messaging method |
CN115002057B (en) * | 2022-05-26 | 2024-04-12 | 威艾特科技(深圳)有限公司 | Distributed multi-server instant messaging method |
CN115842691A (en) * | 2023-02-21 | 2023-03-24 | 北京友友天宇系统技术有限公司 | Message sequence guarantee method, device and equipment for distributed group communication |
CN115842691B (en) * | 2023-02-21 | 2023-05-23 | 北京友友天宇系统技术有限公司 | Message sequence assurance method, device and equipment for distributed group communication |
CN117411845A (en) * | 2023-12-14 | 2024-01-16 | 四川桃子健康科技股份有限公司 | Online diagnosis and treatment chat message processing method and medical aggregation system |
CN117411845B (en) * | 2023-12-14 | 2024-03-29 | 四川桃子健康科技股份有限公司 | Medical treatment polymerization system |
Also Published As
Publication number | Publication date |
---|---|
CN111431790B (en) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111431790B (en) | Instant messaging method, device, system and storage medium | |
EP3402137B1 (en) | Methods and apparatuses for cross platforms conversations through a bot framework | |
CN108667899B (en) | Multi-terminal message synchronization and isolation instant messaging method and system | |
CN108881354B (en) | Push information storage method and device, server and computer storage medium | |
US10764228B1 (en) | Automated message recall from a sender's device | |
US8886234B2 (en) | Techniques for unified messaging | |
CN111835837B (en) | Message pushing method and system with multi-terminal adaptation | |
CN112118171A (en) | Message intercommunication system, method, device, computer equipment and readable storage medium | |
CN104539510B (en) | A kind of information transmission system and method based on multi-protocols | |
CN103259715A (en) | Method, device and system for managing multi-people session | |
CN113391979A (en) | Processing method, equipment and system for monitoring data display and storage medium | |
CN103516587A (en) | Instant communication client terminal disconnection reconnection method and device | |
CN111416823A (en) | Data transmission method and device | |
CN110912805B (en) | Message reading state synchronization method, terminal, server and system | |
CN106161201B (en) | method, device and system for participating in group chat by using mailbox account as identifier | |
EP3171565B1 (en) | Methods, devices and system for netconf hello packets interaction | |
CN105827736A (en) | Message sending method and system | |
JP2019527490A (en) | Method, system, and computer program product for selectively adapting and transmitting message data | |
CN116846959A (en) | Message receiving and transmitting method and device based on MQTT protocol | |
CN110620672B (en) | Multi-person session data processing method and device, computer equipment and storage medium | |
CN114338584B (en) | Message withdraw method and message transmission system | |
US20110161446A1 (en) | Apparatus and method for synchronizing data between instant messaging clients in communication system | |
US20100309928A1 (en) | Asynchronous communication in an unstable network | |
CN105025448A (en) | IM information pushing method and system, server and platform | |
CN110213322B (en) | Content publishing processing method, client and server for community |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40025951 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |