A message processing method and device

By combining the message processing method, the traffic consumption problem when forwarding messages one by one is solved, and the number of interactions between the client and the server is reduced and the message delivery efficiency is improved.

CN115134321BActive Publication Date: 2024-12-20HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110269697.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-03-12
Publication Date
2024-12-20
Estimated Expiration
2041-03-12

AI Technical Summary

Technical Problem

In real-time communication, when forwarding messages one by one, the number of messages uploaded and downloaded by the client is large, resulting in an increase in the number of interactions between the client and the server, resulting in a large amount of traffic consumption.

Method used

Through the merge message processing method, the server receives messages sent by the client, determines the receiving object, generates merged messages and issues them, reducing the number of interactions between the client and the server.

Benefits of technology

It effectively reduces the traffic consumption of the client, reduces the number of packets and interactions, and improves the message delivery efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115134321B_ABST
    Figure CN115134321B_ABST
Patent Text Reader

Abstract

The present application relates to a message processing method and device, which is applied to a server, and the method includes: receiving a first message sent by a first client, the first message including a receiving object identifier set and a message list, wherein the receiving object identifier set includes at least one receiving object identifier, and the message list includes at least one first message; determining at least one second user who receives the at least one first message according to the receiving object identifier set; generating a second message for any one of the at least one second users, and sending the second message to a second client logged in by the second user, the second message including the identifier of the receiving object corresponding to the second user, and the message list. The message processing method and device provided by the present application can reduce client traffic consumption when forwarding messages one by one.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a message processing method and device. Background Art

[0002] In instant messaging, users can use instant messaging applications to send messages point-to-point or point-to-multipoint on the network. There are two ways to forward messages in instant messaging applications: one is forwarding one by one, and the other is forwarding in a combined manner. In forwarding one by one, the messages selected by the user are forwarded one by one, and each forwarded message has its own message ID, indicating a different message. In forwarding in a combined manner, all messages selected by the user are forwarded together, and all forwarded messages have a unified message ID, indicating the same message.

[0003] Since forwarding one message at a time requires processing each message, in the process of forwarding messages one message at a time, there will be problems such as a large number of messages uploaded by the client uploading the message, a large number of messages downloaded by the client receiving the message, and a large number of interactions between the client and the server, resulting in high client traffic consumption. Summary of the invention

[0004] In view of this, a message processing method and device are proposed, which can reduce the number of uploaded and downloaded messages and reduce client traffic consumption when forwarding messages one by one.

[0005] In the first aspect, an embodiment of the present application provides a message processing method, which is applied to a server, and the method includes: receiving a first message sent by a first client, the first message including a receiving object identifier set and a message list, wherein the receiving object identifier set includes an identifier of at least one receiving object, and the message list includes at least one first message; determining at least one second user who receives the at least one first message based on the receiving object identifier set; generating a second message for any one of the at least one second users, and sending the second message to a second client logged in by the second user, the second message including the identifier of the receiving object corresponding to the second user, and the message list.

[0006] In an embodiment of the present application, when forwarding messages one by one, the number of messages sent by the server is reduced by merging the messages, thereby reducing the number of interactions between the client and the server, thereby reducing the client's traffic consumption.

[0007] According to the first aspect, in a first possible implementation manner of the message processing method, the at least one receiving object includes a member and / or a group, and the receiving object identifier set includes a member identifier set and / or a group identifier set, wherein the member identifier set includes a member identifier of each member in the at least one receiving object, and the group identifier set includes a group identifier of each group in the at least one receiving object;

[0008] The determining, based on the receiving object identifier set, at least one second user who receives the at least one first message includes: determining, for a member identifier set in the receiving object identifier set, a first member set based on member identifiers in the member identifier set; determining, for a group identifier set in the receiving object identifier set, at least one first group based on group identifiers in the group identifier set, and determining at least one second member set based on member identifiers of each member included in the at least one first group; and merging the first member set and the at least one second member set to obtain the at least one second user.

[0009] In this way, the client's traffic consumption can be reduced in the scenarios of forwarding messages one by one to a user who is a single member, forwarding messages one by one to users in a group, or forwarding messages one by one to users who are both a single member and a group.

[0010] According to a first possible implementation manner of the first aspect, in a second possible implementation manner of the message processing method, in a second message generated for a second user belonging to the first member set, the identifier of the receiving object corresponding to the second user includes a member identifier corresponding to the second user.

[0011] According to the first possible implementation method of the first aspect, in the third possible implementation method of the message processing method, in the second message generated for the second user belonging to the at least one second member set, the identifier of the receiving object corresponding to the second user includes the group identifier corresponding to the second member set to which the second user belongs.

[0012] In this way, when forwarding messages one by one to a user who is a single member, at least one message can be sent based on one second message.

[0013] According to the first possible implementation method of the first aspect, in the fourth possible implementation method of the message processing method, in a second message generated for a second user who belongs to both the first member set and the at least one second member set, the identifier of the receiving object corresponding to the second user includes the member identifier corresponding to the second user and the group identifier corresponding to the second member set to which the second user belongs.

[0014] In this way, when forwarding messages to users in the group one by one, at least one message can be sent based on one second message.

[0015] According to the first aspect, or any possible implementation of the first aspect above, in a fifth possible implementation of the message processing method, the method also includes: generating a message identifier corresponding to any first message in the message list; the second message also includes a message identifier corresponding to the first message.

[0016] In this way, when forwarding messages one by one to users who are both individual members and users in the group, at least one message can be sent based on one second message.

[0017] In second aspect, an embodiment of the present application provides a message processing method, which is applied to a first client, and the method includes: in response to an operation of forwarding at least one first message one by one, generating a first message, the first message including a receiving object identifier set and a message list, wherein the receiving object identifier set includes an identifier of at least one receiving object, and the message list includes the at least one first message; sending the first message to a server so that the server forwards the at least one first message to the at least one receiving object.

[0018] In an embodiment of the present application, when forwarding messages one by one, the number of messages uploaded by the client is reduced by merging the messages, thereby reducing the number of interactions between the client and the server, thereby reducing the client's traffic consumption.

[0019] According to the second aspect, in a first possible implementation of the message processing method, the at least one receiving object includes members and / or groups, and the receiving object identifier set includes a member identifier set and / or a group identifier set, wherein the member identifier set includes the member identifier of each member in the at least one receiving object, and the group identifier set includes the group identifier of each group in the at least one receiving object.

[0020] In this way, the client's traffic consumption can be reduced in the scenarios of forwarding messages one by one to a user who is a single member, forwarding messages one by one to users in a group, or forwarding messages one by one to users who are both a single member and a group.

[0021] In the third aspect, an embodiment of the present application provides a message processing method, which is applied to a second client, and the method includes: receiving a second message sent by a server, the second message including an identifier of at least one receiving object and a message list, the message list including at least one first message, and the identifier of the at least one receiving object including a member identifier and / or a group identifier; based on the identifier of the at least one receiving object, displaying the at least one first message one by one.

[0022] In an embodiment of the present application, when forwarding messages one by one, by merging messages, the number of messages downloaded by the client is reduced, thereby reducing the number of interactions between the client and the server, thereby reducing the client's traffic consumption.

[0023] According to the third aspect, in a first possible implementation manner of the message processing method, displaying the at least one first message one by one based on the identifier of the at least one receiving object includes: when the identifier of the at least one receiving object includes a member identifier, displaying the at least one first message one by one in a conversation interface with a first user who provides the first message.

[0024] In this way, it can be achieved that a user as a single member views at least one first message.

[0025] According to the third aspect, or the first possible implementation manner of the third aspect, in a second possible implementation manner of the message processing method, the at least one first message is displayed one by one based on the identifier of the at least one receiving object, including: when a group identifier is included in the identifier of the at least one receiving object, the at least one first message is displayed one by one in the conversation interface of the group corresponding to the included group identifier.

[0026] In this way, users in the group can view at least one first message.

[0027] According to the third aspect, or any possible implementation of the third aspect above, in a third possible implementation of the message processing method, the at least one first message is displayed one by one based on the identifier of the at least one object, including: when the identifier of the at least one receiving object includes both a member identifier and a group identifier, the at least one first message is displayed one by one in the conversation interface of the first user who provides the first message and in the conversation interface of the group corresponding to the included group identifier.

[0028] In this way, it is possible to view at least one first message both as an individual member and as a user in the group.

[0029] In a fourth aspect, an embodiment of the present application provides a message processing device, which can be applied to a server, and includes:

[0030] A receiving module, configured to receive a first message sent by a first client, wherein the first message includes a receiving object identifier set and a message list, wherein the receiving object identifier set includes an identifier of at least one receiving object, and the message list includes at least one first message;

[0031] a determination module, configured to determine at least one second user who receives the at least one first message according to a set of receiving object identifiers in the first message received by the receiving module;

[0032] A sending module is used to generate a second message for any second user among the at least one second user determined by the determination module, and send the second message to a second client logged in by the second user, wherein the second message includes an identifier of a receiving object corresponding to the second user and the message list.

[0033] According to the fourth aspect, in a first possible implementation manner of the message processing device, the at least one receiving object includes a member and / or a group, and the receiving object identifier set includes a member identifier set and / or a group identifier set, wherein the member identifier set includes a member identifier of each member in the at least one receiving object, and the group identifier set includes a group identifier of each group in the at least one receiving object;

[0034] The determination module is specifically used for:

[0035] For the member identification set in the receiving object identification set, a first member set is determined according to the member identifications in the member identification set; for the group identification set in the receiving object identification set, at least one first group is determined according to the group identifications in the group identification set, and at least one second member set is determined according to the member identifications of each member included in the at least one first group; the first member set and the at least one second member set are merged to obtain the at least one second user.

[0036] According to a first possible implementation method of the fourth aspect, in a second possible implementation method of the message processing device, in a second message generated for a second user belonging to the first member set, the identifier of the receiving object corresponding to the second user includes the member identifier corresponding to the second user.

[0037] According to a first possible implementation method of the fourth aspect, in a third possible implementation method of the message processing device, in a second message generated for a second user belonging to the at least one second member set, the identifier of the receiving object corresponding to the second user includes the group identifier corresponding to the second member set to which the second user belongs.

[0038] According to a first possible implementation manner of the fourth aspect, in a fourth possible implementation manner of the message processing device, in a second message generated for a second user who belongs to both the first member set and the at least one second member set, the identifier of the receiving object corresponding to the second user includes the member identifier corresponding to the second user and the group identifier corresponding to the second member set to which the second user belongs.

[0039] According to the fourth aspect, or any possible implementation manner of the fourth aspect, in a fifth possible implementation manner of the message processing device, the device further includes:

[0040] A generation module is used to generate a message identifier corresponding to any first message in the message list; the second message also includes the message identifier corresponding to the first message.

[0041] In a fifth aspect, an embodiment of the present application provides a message processing device, which can be applied to a first client, and includes:

[0042] A generating module, configured to generate a first message in response to the operation of forwarding at least one first message one by one, wherein the first message includes a set of receiving object identifiers and a message list, wherein the set of receiving object identifiers includes an identifier of at least one receiving object, and the message list includes the at least one first message;

[0043] The sending module is used to send the first message generated by the generating module to the server, so that the server forwards the at least one first message to the at least one receiving object.

[0044] According to the fifth aspect, in a first possible implementation method of the message processing device, the at least one receiving object includes members and / or groups, and the receiving object identifier set includes a member identifier set and / or a group identifier set, wherein the member identifier set includes the member identifier of each member in the at least one receiving object, and the group identifier set includes the group identifier of each group in the at least one receiving object.

[0045] In a sixth aspect, an embodiment of the present application provides a message processing device, which can be applied to a second client, and includes:

[0046] A receiving module, configured to receive a second message sent by a server, wherein the second message includes an identifier of at least one receiving object and a message list, wherein the message list includes at least one first message, and the identifier of the at least one receiving object includes a member identifier and / or a group identifier;

[0047] The display module is used to display at least one first message in the second message received by the receiving module one by one based on the identifier of at least one receiving object in the second message received by the receiving module.

[0048] According to the sixth aspect, in a first possible implementation manner of the message processing device, the display module is specifically used to:

[0049] In a case where the identifier of the at least one receiving object includes a member identifier, the at least one first message is displayed one by one in a conversation interface with the first user who provides the first message.

[0050] According to the sixth aspect, or the first possible implementation manner of the sixth aspect, in a second possible implementation manner of the message processing device, the display module is specifically used to:

[0051] In a case where the identifier of the at least one receiving object includes a group identifier, the at least one first message is displayed one by one in a conversation interface of a group corresponding to the included group identifier.

[0052] According to the sixth aspect, or any possible implementation of the sixth aspect, in a third possible implementation of the message processing device, the display module is specifically used to:

[0053] When the identifier of the at least one receiving object includes both a member identifier and a group identifier, the at least one first message is displayed one by one in the conversation interface of the first user who provides the first message and in the conversation interface of the group corresponding to the included group identifier.

[0054] In the seventh aspect, an embodiment of the present application provides an electronic device that can implement the message processing method of the first aspect or one or more of the multiple possible implementation methods of the first aspect, or the message processing method of the second aspect or one or more of the multiple possible implementation methods of the second aspect, or the message processing method of the third aspect or one or more of the multiple possible implementation methods of the third aspect.

[0055] In an eighth aspect, an embodiment of the present application provides a computer program product, comprising a computer-readable code, or a non-volatile computer-readable storage medium carrying a computer-readable code. When the computer-readable code runs in a processor of an electronic device, the electronic device implements the message processing method of the first aspect or one or more of the multiple possible implementations of the first aspect, or the message processing method of the second aspect or one or more of the multiple possible implementations of the second aspect, or the message processing method of the third aspect or one or more of the multiple possible implementations of the third aspect.

[0056] These and other aspects of the present application will become more apparent from the following description of the embodiment(s). BRIEF DESCRIPTION OF THE DRAWINGS

[0057] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the present application and, together with the description, serve to explain the principles of the present application.

[0058] Figure 1 A schematic diagram showing an application scenario of an embodiment of the present application;

[0059] Figure 2 A schematic diagram showing the process of forwarding messages one by one in the related art;

[0060] Figure 3a A schematic diagram showing the structure of a message processing system according to an embodiment of the present application is shown;

[0061] Figure 3b A schematic diagram showing the format of a binary protocol message;

[0062] Figure 4 A schematic diagram showing the structure of a terminal device according to an embodiment of the present application is shown;

[0063] Figure 5 A schematic diagram showing the structure of an electronic device used to deploy a server in an embodiment of the application;

[0064] Figure 6 An interactive flow chart of a message processing method according to an embodiment of the present application is shown;

[0065] Figure 7a An exemplary interaction diagram of a first client and a server is shown;

[0066] Figure 7b An exemplary interaction diagram between a server and a second client is shown;

[0067] Figure 7c , Figure 7d and Figure 7eExemplary schematic diagrams showing the second client displaying the first message respectively;

[0068] Figure 8a and Figure 8b Exemplary schematic diagrams of the second user in the embodiments of the present application are respectively shown;

[0069] Fig. 9 A schematic diagram showing the structure of a message processing device according to an embodiment of the present application is shown;

[0070] Fig.10 A schematic diagram showing the structure of a message processing device according to an embodiment of the present application is shown;

[0071] Fig.11 A schematic diagram of the structure of a message processing device according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0072] Various exemplary embodiments, features and aspects of the present application will be described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise specified.

[0073] The word “exemplary” is used exclusively herein to mean “serving as an example, example, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.

[0074] In addition, in order to better illustrate the present application, numerous specific details are given in the following specific embodiments. It should be understood by those skilled in the art that the present application can also be implemented without certain specific details. In some examples, methods, means, components and circuits well known to those skilled in the art are not described in detail in order to highlight the subject matter of the present application.

[0075] Figure 1 A schematic diagram of an application scenario of an embodiment of the present application is shown. Figure 1 As shown, when user A forwards messages to user B, user C, group D, etc. one by one, after selecting the messages to be forwarded, user A first uploads the messages to be forwarded to the server one by one. Then, the server sends the received messages to user B, user C, group D, etc. one by one.

[0076] In the related art, when forwarding messages one by one, it is necessary to perform a complete forwarding process on each message to be forwarded. Figure 2 The process of user A forwarding message 1 and message 2 to user B and user C one by one in the related art is described. Figure 2 FIG. 2 is a schematic diagram showing the process of forwarding messages one by one in the related art. Figure 2As shown, when user A wants to forward message 1 and message 2 to user B and user C, user A selects message 1 and message 2 as the messages to be forwarded on the client he logs in to, and selects user B and user C as the users who receive message 1 and message 2. Based on this, the client logged in by user A uploads message 1 forwarded to user B, message 2 forwarded to user B, message 1 forwarded to user C, and message 2 forwarded to user C to the server respectively. In this process, the client logged in by user A and the server have four interactions (which can also be called four end-cloud calls), and the client logged in by user A has uploaded four messages to the server. The server will generate a new message identifier for each message received. Specifically, the server generates a message identifier "message ID1" for message 1 forwarded to user B, a message identifier "message ID2" for message 1 forwarded to user C, a message identifier "message ID3" for message 2 forwarded to user B, and a message identifier "message ID4" for message 2 forwarded to user C. Next, the server sends message 1 with message ID "message ID 1" and message 2 with message ID "message ID 3" to the client logged in by user B, and sends message 1 with message ID "message ID 2" and message 2 with message ID "message ID 4" to the client logged in by user C. In this process, the server interacts with the client logged in by user B twice and sends two messages to the client logged in by user B. The server interacts with the client logged in by user C twice and sends two messages to the client logged in by user C. After that, user B can receive two messages, one of which carries message 1 with message ID "message ID 1" and the other carries message 2 with message ID "message ID 3". User C can receive two messages, one of which carries message 1 with message ID "message ID 2" and the other carries message 2 with message ID "message ID 4".

[0077] From the above process, it can be seen that although user A only selected 2 messages to forward to user B and user C, the client logged in by user A uploaded 4 messages, user B and user C downloaded 4 messages in total, and the client interacted with the server 8 times (including 4 uploads and 4 downloads). It can be seen that in the related technology, when forwarding messages one by one, there are problems such as the number of messages uploaded by the user who uploads the message is large, the number of messages downloaded by the user who receives the message is large, and the number of interactions between the client and the server is large, resulting in a large amount of client traffic consumption. At the same time, as the number of messages to be forwarded increases, the number of interactions between the client and the server will increase significantly, and the client traffic consumption will also increase significantly. For example, in Figure 2On the basis of, if the number of messages to be forwarded is 3, the number of interactions between the client and the server is 12 (including 6 uploads and 6 sends); if the number of messages to be forwarded is 4, the number of interactions between the client and the server is 16 (including 8 uploads and 8 sends); if the number of messages to be forwarded is 6, the number of interactions between the client and the server is 24 (including 12 uploads and 12 sends).

[0078] The embodiment of the present application provides a message processing method, which reduces the number of messages uploaded by the client and the number of messages sent by the server by merging messages when forwarding messages one by one, thereby reducing the number of interactions between the client and the server, thereby reducing the client's traffic consumption.

[0079] Figure 3a A schematic diagram of the structure of a message processing system according to an embodiment of the present application is shown. Figure 3a As shown, the message processing system may include: a first client 11, a server 12, and a second client 13. The first client is used to represent the client logged in by the user who sends the first message, for example Figure 2 The second client 13 represents the client logged in by the user who receives the first message, for example Figure 2 The first client 11 can forward the first message to the second client 13 through the server 12.

[0080] In an embodiment of the present application, the first message may represent a message to be forwarded. The first message may be any message, and the number of first messages may be one or more. The first message may include one or more of text, symbols, voice, video, pictures and links. In an example, the first message may be a short message, an instant messaging message, a comment or a barrage, etc. The user who sends the first message may be called the first user. The user who receives the first message may be called the second user. The number of second users may be one or more. In a possible implementation, the second user may be a single member and / or a member of a group. For example, the second user may be Figure 1 Any member of user B, user C, or group D shown.

[0081] In order to reduce the number of interactions between the client and the server and reduce the traffic consumption of the client, in an embodiment of the present application, when uploading at least one first message, the first client 11 can merge all the first messages forwarded to different users into one first message for uploading. When the server 12 sends the first message, it can merge all the first messages forwarded to the same user into one second message for sending. In this way, one interaction between the first client 11 and the server 12 can realize the uploading of multiple users and multiple numbers of first messages, and one interaction between the server 12 and the second client 13 can realize the sending of multiple numbers of first messages for a single user, thereby effectively reducing the number of interactions between the client and the server and reducing the traffic consumption of the client. For example, assuming that the number of second users is 2, if the number of first messages is 2, the number of interactions between the client and the server is 3 (including 1 upload and 2 sends); if the number of first messages is 4, the number of interactions between the client and the server is still 3 (including 1 upload and 2 sends); if the number of first messages is 8, the number of interactions between the client and the server is still 3 (including 1 upload and 2 sends). It can be seen that in the embodiment of the present application, the number of interactions between the client and the server is related to the number of second users, and will not increase with the increase in the number of first messages to be forwarded, thereby effectively reducing the client's traffic consumption.

[0082] In the embodiment of the present application, the first message and the second message described above may be binary protocol messages. Binary protocol messages have the characteristics of low traffic consumption, simple interaction process, and easy expansion, which can further reduce the traffic consumption of the client. The format of the binary protocol message involved in the present application is described below.

[0083] Figure 3b Figure 2 shows a schematic diagram of the format of a binary protocol message. Figure 3b As shown, in the embodiment of the present application, a Transmission Control Protocol (TCP) header can be added before the binary protocol message to implement TCP-based carrying. Of course, in implementation, other protocols can also be used to carry binary protocol messages, and this application does not limit this.

[0084] like Figure 3bAs shown, the binary protocol message includes a protocol header, a service header and service data. Among them, the protocol header includes the following fields: total length, version number, service type, control and tracking identification number. The total length field occupies 2 bytes, representing the total length of part of the protocol header (the part starting with the version number), the service header and the service data. The version number field occupies 2 bytes, indicating the type of the current protocol. The service type field occupies 1 byte, and the service type may include call signaling, message signaling, etc. The control field occupies 1 byte, and each bit of the control field can perform a control, such as compression, fragmentation, etc. The tracking identification number occupies 8 bytes, which is used for message tracking and problem location of the client and server. The service header includes the following fields: sub-message type, service header length, and service header of the sub-message type. The sub-message type occupies 2 bytes, and the sub-message type includes message sending, message synchronization, forwarding one by one, and merge forwarding, etc. The service header length corresponding to the sub-message type occupies 2 bytes, representing the metadata corresponding to each sub-message type. The service header of the sub-message type is variable-length data, which is serialized and deserialized using protocol sorting (Protocol buffer, Probuffer), supports forward compatibility, and includes a receiving object identifier set. The receiving object identifier set includes the identifier of at least one receiving object. In an example, the receiving object includes members and / or groups, and the receiving object identifier set includes a member identifier set and / or a group identifier set. Among them, the member identifier set includes the member identifier of each member in the receiving object, and the group identifier set includes the group identifier of each group in the receiving object. In implementation, the service header of the sub-message type may include <member, member identifier set> and / or <group, group identifier set>. The service data part includes a service data field of the sub-message type, which is variable-length data, can be serialized and deserialized using Probuffer, supports forward compatibility, and includes a message list, and the message list includes at least one first message.

[0085] It should be noted that the above-mentioned receiving object identifier is used to identify a unique receiving object, the member identifier is used to identify a unique member, and the group identifier is used to identify a unique group. The receiving object identifier, member identifier, and group identifier may be a number, an identification code, a user name, or a group name, etc., which is not limited in this application. The first message and the second message may also be other protocol messages, which is not limited in this application.

[0086] In the implementation manner of the present application, the party that initiates data forwarding and sends data to the server may be referred to as the source end (for example, Figure 3a The first client 11 shown in FIG. 1 ) and the party receiving data are called the sink end (eg, Figure 3aIt should be noted that a device that is a source in a pair may also be a receiver in another scenario, that is, for a terminal device, it may be both a source and a receiver for another terminal device.

[0087] The terminal devices involved in this application (including the devices deploying the source end described above and the devices deploying the receiving end described above) may refer to devices with wireless connection functions, and the wireless connection function refers to the ability to connect to other terminal devices through wireless fidelity (Wi-Fi), Bluetooth and other wireless connection methods. The terminal devices of this application may also have the function of communicating through wired connections. The terminal devices of this application may be touch-screen, non-touch-screen, or screenless. Touch-screen devices may be controlled by clicking and sliding on the display screen with fingers, styluses, etc. Non-touch-screen devices may be connected to input devices such as mice, keyboards, touch panels, etc., and the terminal devices may be controlled through input devices. Devices without screens may be, for example, Bluetooth speakers without screens.

[0088] For example, the terminal device of the present application can be a smart phone, a netbook, a tablet computer, a laptop computer, a wearable electronic device (such as a smart bracelet, a smart watch, etc.), a virtual reality device, a speaker, etc.

[0089] Figure 4 The following is a schematic diagram showing the structure of a terminal device according to an embodiment of the present application. Taking a mobile phone as an example, Figure 4 A schematic structural diagram of a mobile phone 200 is shown.

[0090] The mobile phone 200 may include a processor 210, an external memory interface 220, an internal memory 221, a USB interface 230, a charging management module 240, a power management module 241, a battery 242, an antenna 1, an antenna 2, a mobile communication module 251, a wireless communication module 252, an audio module 270, a speaker 270A, a receiver 270B, a microphone 270C, an earphone interface 270D, a sensor module 280, a button 290, a motor 291, an indicator 292, a camera 293, a display screen 294, and a SIM card interface 295, etc. The sensor module 280 may include a gyroscope sensor, an acceleration sensor, a proximity light sensor, a fingerprint sensor, a touch sensor, a temperature sensor, a pressure sensor, a distance sensor, a magnetic sensor, an ambient light sensor, an air pressure sensor, a bone conduction sensor, etc. (not shown in the figure).

[0091] It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the mobile phone 200. In other embodiments of the present application, the mobile phone 200 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0092] The processor 210 may include one or more processing units, for example: the processor 210 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a memory, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and / or a neural network processor (Neural-network Processing Unit, NPU), etc. Among them, different processing units can be independent devices or integrated in one or more processors. Among them, the controller can be the nerve center and command center of the mobile phone 200. The controller can generate an operation control signal according to the instruction opcode and the timing signal to complete the control of fetching and executing instructions.

[0093] The processor 210 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 210 is a cache memory. The memory may store instructions or data that the processor 210 has just used or cyclically used. If the processor 210 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 210, and thus improves the efficiency of the system.

[0094] The processor 210 can run the message processing method provided in the embodiment of the present application so that the client can reduce traffic consumption. The processor 210 can include different devices. For example, when the CPU and GPU are integrated, the CPU and GPU can cooperate to execute the message processing method provided in the embodiment of the present application. For example, part of the algorithm in the message processing method is executed by the CPU, and another part of the algorithm is executed by the GPU to obtain faster processing efficiency.

[0095] The display screen 294 is used to display images, videos, etc. The display screen 294 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the mobile phone 200 may include 1 or N display screens 294, where N is a positive integer greater than 1. The display screen 294 can be used to display information input by a user or information provided to a user and various graphical user interfaces (GUI). For example, the display 294 can display photos, videos, web pages, or files, etc. For another example, the display 294 can display a graphical user interface. Among them, the graphical user interface includes a status bar, a hidden navigation bar, a time and weather widget, and application icons, such as a browser icon. The status bar includes the operator name (such as China Mobile), the mobile network (such as 4G), the time, and the remaining power. The navigation bar includes a back key icon, a home key icon, and a forward key icon. In addition, it can be understood that in some embodiments, the status bar may also include a Bluetooth icon, a Wi-Fi icon, an external device icon, etc. It can also be understood that in other embodiments, the graphical user interface may also include a Dock bar, and the Dock bar may include commonly used application icons, etc. When the processor 210 detects a touch event of a user's finger (or a stylus, etc.) for a certain application icon, in response to the touch event, the user interface of the application corresponding to the application icon is opened, and the user interface of the application is displayed on the display 294.

[0096] In the embodiment of the present application, the display screen 294 may be an integrated flexible display screen, or a spliced ​​display screen consisting of two rigid screens and a flexible screen located between the two rigid screens.

[0097] After the processor 210 runs the message processing method provided in the embodiment of the present application, the terminal device can establish a connection with other electronic devices through the antenna 1, antenna 2 or USB interface, and transmit data according to the message processing method provided in the embodiment of the present application and control the display screen 294 to display a corresponding graphical user interface. In the embodiment of the present application, data such as the first message and the second message can be transmitted, and the display screen 294 can be controlled to display a graphical user interface such as a conversation interface, a forwarding interface one by one, and a conversation list.

[0098] The camera 293 (a front camera or a rear camera, or one camera can be used as both a front camera and a rear camera) is used to capture still images or videos. Generally, the camera 293 may include a photosensitive element such as a lens group and an image sensor, wherein the lens group includes a plurality of lenses (convex lenses or concave lenses) for collecting light signals reflected by the object to be photographed and transmitting the collected light signals to the image sensor. The image sensor generates an original image of the object to be photographed based on the light signal.

[0099] The internal memory 221 can be used to store computer executable program codes, which include instructions. The processor 210 executes various functional applications and data processing of the mobile phone 200 by running the instructions stored in the internal memory 221. The internal memory 221 may include a program storage area and a data storage area. Among them, the program storage area may store codes of operating systems, applications (such as camera applications, WeChat applications, etc.), etc. The data storage area may store data created during the use of the mobile phone 200 (such as images, videos, etc. collected by the camera application), etc.

[0100] The internal memory 221 may also store one or more computer programs 1310 corresponding to the message processing method provided in the embodiment of the present application. The one or more computer programs 1304 are stored in the above-mentioned memory 221 and are configured to be executed by the one or more processors 210, and the one or more computer programs 1310 include instructions.

[0101] In addition, the internal memory 221 may include a high-speed random access memory and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0102] Of course, the code of the data processing method provided in the embodiment of the present application can also be stored in an external memory. In this case, the processor 210 can run the code of the data processing method stored in the external memory through the external memory interface 220.

[0103] The touch sensor 280K, also called a "touch panel", is introduced below. The touch sensor 280K can be set on the display screen 294, and the touch sensor 280K and the display screen 294 form a touch screen, also called a "touch screen". The touch sensor 280K is used to detect touch operations acting on or near it. The touch sensor can pass the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 294. In other embodiments, the touch sensor 280K can also be set on the surface of the mobile phone 200, which is different from the position of the display screen 294.

[0104] Exemplarily, the display screen 294 of the mobile phone 200 displays a main interface, which includes icons of multiple applications (such as a camera application, a WeChat application, etc.). The user clicks the icon of the camera application in the main interface through the touch sensor 280K, triggering the processor 210 to start the camera application and turn on the camera 293. The display screen 294 displays the interface of the camera application, such as a viewfinder interface.

[0105] The wireless communication function of the mobile phone 200 can be realized through the antenna 1, the antenna 2, the mobile communication module 251, the wireless communication module 252, the modem processor and the baseband processor.

[0106] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in mobile phone 200 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0107] The mobile communication module 251 can provide a solution for wireless communication including 2G / 3G / 4G / 5G applied to the mobile phone 200. The mobile communication module 251 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 251 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 251 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 251 can be set in the processor 210. In some embodiments, at least some of the functional modules of the mobile communication module 251 can be set in the same device as at least some of the modules of the processor 210. In an embodiment of the present application, the mobile communication module 251 can also be used to interact with other electronic devices. For example, sending a first message to a server and receiving a second message from a server.

[0108] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 270A, a receiver 270B, etc.), or displays an image or video through a display screen 294. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 210 and be set in the same device as the mobile communication module 251 or other functional modules.

[0109] The wireless communication module 252 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the mobile phone 200. The wireless communication module 252 can be one or more devices integrating at least one communication processing module. The wireless communication module 252 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 210. The wireless communication module 252 can also receive the signal to be sent from the processor 210, modulate the frequency of the signal, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2. In the embodiment of the present application, the wireless communication module 252 is used to transmit data between other electronic devices under the control of the processor 210. For example, when the processor 210 runs the message processing method provided in the embodiment of the present application, the processor can control the wireless communication module 252 to send a first message to the server.

[0110] In addition, the mobile phone 200 can implement audio functions through the audio module 270, the speaker 270A, the receiver 270B, the microphone 270C, the headphone interface 270D, and the application processor. For example, music playback, recording, etc. The mobile phone 200 can receive the key 290 input and generate key signal input related to the user settings and function control of the mobile phone 200. The mobile phone 200 can use the motor 291 to generate a vibration prompt (such as an incoming call vibration prompt). The indicator 292 in the mobile phone 200 can be an indicator light, which can be used to indicate the charging status, power changes, and can also be used to indicate messages, missed calls, notifications, etc. The SIM card interface 295 in the mobile phone 200 is used to connect the SIM card. The SIM card can be inserted into the SIM card interface 295, or pulled out from the SIM card interface 295, to achieve contact and separation with the mobile phone 200.

[0111] It should be understood that in actual applications, the mobile phone 200 may include Figure 4 The embodiments of the present application are not limited to the more or fewer components shown. The illustrated mobile phone 200 is only an example, and the mobile phone 200 may have more or fewer components than those shown in the figure, may combine two or more components, or may have different component configurations. The various components shown in the figure may be implemented in hardware, software, or a combination of hardware and software including one or more signal processing and / or application specific integrated circuits.

[0112] The server involved in this application can be deployed on a virtual machine (VM) or container on a cloud (public cloud or private cloud). The cloud can be a cluster composed of multiple electronic devices. Figure 5 A schematic diagram of the structure of an electronic device used to deploy a server in an embodiment of the application is shown. Figure 3a The server 12 shown can be deployed in Figure 5 on the electronic device shown.

[0113] like Figure 5 As shown, the electronic device may include at least one processor 301, a memory 302, an input / output device 303, and a bus 304. Figure 5 A detailed introduction to the various components of electronic equipment:

[0114] The processor 301 is the control center of the electronic device, and can be a processor or a general term for multiple processing elements. For example, the processor 301 is a CPU, or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present disclosure, such as one or more microprocessors (Digital Signal Processor, DSP), or one or more field programmable gate arrays (Field Programmable Gate Array, FPGA).

[0115] The processor 301 can execute various functions of the electronic device by running or executing software programs stored in the memory 302 and calling data stored in the memory 302 .

[0116] In a specific implementation, as an embodiment, the processor 301 may include one or more CPUs, such as CPU 0 and CPU 1 shown in the figure.

[0117] In a specific implementation, as an embodiment, the electronic device may include multiple processors, such as Figure 5 301 and processor 305 are shown in FIG. Each of these processors may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). A processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0118] The memory 302 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 302 may exist independently and be connected to the processor 301 via the bus 304. The memory 302 may also be integrated with the processor 301. In the disclosed embodiment, the memory may be used to store atomic operation description information and a process model.

[0119] The input / output device 303 is used to communicate with other devices or communication networks. For example, it is used to communicate with communication networks such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), etc. The input / output device 303 may include all or part of a baseband processor, and may also selectively include a radio frequency (RF) processor. The RF processor is used to send and receive RF signals, and the baseband processor is used to implement the processing of baseband signals converted from RF signals or baseband signals to be converted into RF signals.

[0120] In a specific implementation, as an embodiment, the input-output device 303 may include a transmitter and a receiver. The transmitter is used to send signals to other devices or communication networks, and the receiver is used to receive signals sent by other devices or communication networks. The transmitter and the receiver may exist independently or may be integrated together. In the embodiment of the present disclosure, the input-output device may be used to send and receive: a first message and a second message.

[0121] The bus 304 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 5 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0122] Figure 5 The device structure shown in the figure does not constitute a limitation on the electronic device, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0123] In order to reduce the traffic consumption of the client when forwarding messages one by one, an embodiment of the present application provides a message processing method, which reduces the number of interactions between the client and the server by merging receiving objects, thereby reducing the client traffic consumption. Figure 6 The interactive flow chart of the message processing method according to the embodiment of the present application is shown. The method can be applied to Figure 3a The system shown. Figure 6 As shown, the method may include:

[0124] Step S601: The first client generates a first message in response to the operation of forwarding at least one first message one by one.

[0125] Step S602: The first client sends a first message to the server.

[0126] The first message may represent a message to be forwarded. The number of the first messages may be one or more. The first message may include one or more of text, symbols, voice, video, picture and link. The first user may represent a user who needs to forward at least one first message. The first client may represent a client logged in by the first user, and the first client may be any client owned by the first user.

[0127] When it is necessary to forward at least one first message, the first user can perform the operation of forwarding at least one first message on the first client. Among them, the operation of forwarding at least one first message one by one may include: a series of operations of selecting at least one first message, selecting at least one receiving object, and selecting forwarding one by one as the forwarding method. In other words, the operation of forwarding at least one first message one by one can be divided into the operation of selecting at least one first message, the operation of selecting at least one receiving object, and the operation of selecting the forwarding method. In implementation, the first user can perform the operation of selecting at least one first message, the operation of selecting at least one receiving object, and the operation of selecting the forwarding method in the same interface. The first user can also perform the above operations in different interfaces, for example, the first user can perform the operation of selecting at least one first message and the operation of selecting the forwarding method in the session interface, and perform the operation of selecting at least one receiving object in the sending interface, or the first user can perform the operation of selecting at least one first message in the session interface, and perform the operation of selecting at least one receiving object and the operation of selecting the sending method in the sending interface. In the embodiment of the present application, there is no restriction on the interface for performing the above operations. In addition, in the embodiment of the present application, there is no restriction on the time sequence of performing the above operations. In one example, the first user may first select one or more messages as the first message on the first client, then select one or more members and / or groups as the recipients of the first message, and finally select forward one by one as the forwarding method of the first message, so that the first user can execute the operation of forwarding at least one first message one by one. In another example, the first user may first select one or more messages as the first message on the first client, then select forward one by one as the forwarding method of the first message, and finally select one or more members and / or groups as the recipients of the first message, so that the first user can execute the operation of forwarding at least one first message one by one.

[0128] The first client may generate a first message in response to the first user forwarding at least one first message one by one. In implementation, the first message may include a set of receiving object identifiers and a message list. The set of receiving object identifiers may be used to indicate the receiving object of the first message, and the specific set of receiving object identifiers includes the identifier of at least one receiving object. The message list may be used to indicate the first message, and the specific message list includes at least one first message.

[0129] In a possible implementation, the receiving objects include members and / or groups. That is, the first message can be forwarded only to one or more members, or only to one or more groups, or simultaneously to one or more members, and one or more groups. It is understandable that a group may include multiple members. Based on this, the receiving object identifier set may include a member identifier set and / or a group identifier set. Among them, the member identifier set includes the member identifiers of each member in at least one receiving object. The group identifier set includes the group identifiers of each group in at least one receiving object.

[0130] In implementation, the format of the first message may be as follows: Figure 3b As shown, the messages can be forwarded one by one through the sub-message type field identifier, the receiving object identifier set can be written into the service header of the sub-message type, and the message list can be written into the service data of the sub-message type. When the receiving object identifier set is written into the service header of the sub-message type, the identifier of the receiving object in the receiving object identifier set can be written into the member identifier set and the group identifier set respectively according to whether the receiving object is a member or a group. Specifically, in the service header of the sub-message type, a mapping between a member and a member identifier set, and a mapping between a group and a group identifier set can be formed.

[0131] Afterwards, the first client may send the generated first message to the server for forwarding.

[0132] Figure 7a FIG. 4 shows an exemplary interaction diagram of a first client and a server. Figure 7a As shown, the first client displays a conversation interface between user A and user E. User A is the user who logs in to the first client, that is, the first user. Figure 7a As shown, user E sent message 0, message 1 and message 3 to user A, and user A sent message 2 to user E. The first message can be selected from messages sent by members who have a conversation with the first user and messages sent by the first user. In other words, the first message can be selected from message 0, message 1, message 3 and message 2. Figure 7a The conversation interface shown is a member conversation interface, that is, an interface for the first user to have a separate conversation with a member. In implementation, the conversation interface displayed in the first client may also be a group conversation interface (not shown), that is, a conversation interface of a group to which the first user belongs. In this case, the first message may be selected from messages sent by any member of the group (including the first user and users in the group other than the first user).

[0133] The first user can Figure 7a The conversation page shown executes an operation of triggering the selection of at least one first message. In one example, the first user can long press any message in the conversation interface (for example Figure 7a In response to the first user long pressing the message, the conversation interface of the first client may pop up a "multi-select" control (such as Figure 7a As shown, the conversation interface may also display other controls for performing operations on the message, such as a "copy" control, a "reply" control, a "forward" control, and a "withdraw" control. The first user may click the "multi-select" control to forward at least one first message. Figure 7a As shown, in response to the first user clicking the "multi-select" control, the interface displayed by the first client jumps from the conversation interface to the message selection interface. In the message selection interface, the first client provides a check box (other controls for selection may also be provided, not shown) for each message in the message selection page (including the part displayed on the display screen and the part not displayed). The first user can select the first message by clicking the check box. The first user can select one or more messages (for example Figure 7a After completing the message selection, the first user can click the "Forward" control in the message selection interface. In response to the first user clicking the "Forward" control, a pop-up window of the message selection interface of the first client displays a "Forward one by one" control (such as Figure 7a As shown, other controls for forwarding methods may also be displayed in a pop-up window in the conversation interface, such as a "merge forward" control and a "cancel" control). The first user may click the "forward one by one" control to choose to forward message 1 and message 2 one by one. In response to the first user clicking the "forward one by one" control, the interface displayed by the first client jumps from the message selection interface to the receiving object selection interface. One or more optional receiving objects and a check box corresponding to each optional receiving object may be displayed in the receiving object selection interface. The receiving object may include a single member (e.g., user 1, user 2, etc.). The receiving object may also include a group (e.g., group 1 and group 2, etc.). After selecting the receiving object, the first user may click the "send" control to complete the operation of triggering the selection of at least one first message. In response to the first user clicking the "send" control, the first client may generate a first message and send the first message to the server.

[0134] like Figure 7aAs shown, the first user selects user 1, user 2, group 1 and group 2 as receiving objects in the receiving object selection interface, wherein the member identifier of user 1 is member ID1, the member identifier of user 2 is member ID2, the group identifier of group 1 is group ID1, and the dissuasion identifier of group 2 is group ID2. When the first user clicks the "Send" control, the content of the first message generated by the first client is as follows: the sub-message type indicates forwarding one by one, the mapping of members and member identifier sets (i.e.: members: [member ID1, member ID2]) and the mapping of groups and group identifier sets (i.e.: groups "[group ID1, group ID2]") are written in the service header of the sub-message type, and the message list (i.e.: message 1 and message 2) is written in the service data of the sub-message type. Afterwards, the first client sends the first message to the server, which parses and forwards it.

[0135] Step S603: the server receives a first message sent by the first client.

[0136] Step S604: The server determines at least one second user who receives at least one first message according to the set of receiving object identifiers in the first message.

[0137] Among them, the second user can represent the user who receives the first message. The number of second users can be one or more. Considering that the recipients of the first message include members and / or groups, the members who receive the first message may overlap with the members in the group that receives the first message. Therefore, the second user can be a member directly selected by the first user, or a member of the group selected by the first user, or a member of both the member directly selected by the first user and the group selected by the first user. In the case where a member is a member directly selected by the first user, but not a member of the group selected by the first user, the first message only needs to be displayed in the member session interface. In the case where a member is a member of the group selected by the first user, but not a member directly selected by the first user, the first message only needs to be displayed in the group session interface. In the case where a member is both a member directly selected by the first user and a member of the group selected by the first user, the first message must be displayed both in the member session interface and in the group session.

[0138] In order to cover the above scenario, in an embodiment of the present application, the members directly selected by the first user and the members in the group selected by the first user can be determined based on the received object identification set, and then the two can be merged to obtain at least one second user. In a possible implementation, step S604 may include: for the member identification set in the received object identification set, according to the member identification in the member identification set, determine a first member set; for the group identification set in the received object identification set, according to the group identification in the group identification set, determine at least one first group, and according to the member identification of each member included in the at least one first group, determine at least one second member set; merge the first member set and the at least one second member set to obtain the at least one second user.

[0139] Figure 8a and Figure 8b Schematic diagrams of the second user in the embodiment of the present application are respectively shown. Figure 8a As shown, the server determines a first member set and a second member set, and the intersection between the first member set and the second member set is an empty set (that is, the members in the first member set are completely different from the members in the second member set), then at least one second user includes: all members in the first member set and all members in the second member set. Figure 8b As shown, the server determines a first member set and a second member set, and the intersection of the first member set and the second member set is not an empty set, then at least one second user includes: members who belong only to the first member set, members who belong only to the second member set, and members who belong to both the first member set and the second member set.

[0140] In the case where a member identification set exists in the received object identification set, it indicates that the received object includes members. Therefore, for the member identification set in the received object identification set, the server can determine the members directly selected by the first user based on the member identifications in the member identification set, and form the members directly selected by the first user into a first member set. In other words, the first member set can be used to indicate the members directly selected by the first user. In implementation, the number of member identifications in the member identification set is the same as the number of members in the first member set. It can be understood that in the case where a member identification set does not exist in the received object identification set, it indicates that the received object does not include members, and the first member set may not be generated at this time.

[0141] In the case where a group identifier set exists in the received object identifier set, it indicates that the received object includes a group. Therefore, for the group identifier set in the received object identifier set, the server can first determine at least one first group selected by the first user based on the group identifier in the group identifier set, and then obtain the member identifier of each member in the first group for each first group, and then determine the members included in the first group. The members included in the first group form a second member set corresponding to the first group, and then obtain at least one second member set. In implementation, the number of group identifiers in the group identifier set is the same as the number of second member sets. It can be understood that in the case where a group identifier set does not exist in the received object identifier set, it indicates that the received object does not include a group, and the second member set may not be generated at this time.

[0142] The first member set and the at least one second member set are combined to obtain a set of second users, thereby obtaining each second user who receives the first message. In implementation, the server may obtain a set of second users by taking the union of the first member set and the at least one second member set.

[0143] In the embodiment of the present application, the first member set can be denoted as S 成员 The second member set corresponding to the first group with group identifier IDn can be recorded as S 群组IDn , where n can be an integer greater than 0 and less than or equal to N, and N can represent the number of second member sets. For example, the second member set corresponding to the first group with group identifier ID1 can be recorded as S 群组ID1 , the second member set corresponding to the first group with group ID 2 can be recorded as S 群组ID2 , the second member set corresponding to the first group with group ID N can be recorded as S 群组IDN . Each second member set (including S 群组ID1 , S 群组ID2 ,…,S 群组IDN ) can be denoted as S 群组 . S 成员 With S 群组 The collection of can be recorded as S 第二用户 It can be seen that S 第二用户 All second users are included in S. The server can traverse S 第二用户 , determine each second user who receives the first message.

[0144] Step S605: For any second user among the at least one second user, the server generates a second message, and sends the second message to a second client logged in by the second user.

[0145] For S第二用户 For each second user in: the server can generate a corresponding second message for the second user, and send the second message to the second client logged in by the second user, the second message includes the identifier of the receiving object corresponding to the second user, and the message list obtained from the first message. In other words, the server copies a message list for each second user. In the embodiment of the present application, the message forwarding is performed in a one-by-one forwarding manner. Therefore, the server generates a message identifier corresponding to each first message in the message list. Therefore, the second message corresponding to each second user also includes the message identifier corresponding to each first message in the message list, so that after the second client logged in by the second user receives the second message, each first message can be displayed one by one.

[0146] As mentioned above, a second user exists in three scenarios: one is that the second user belongs to the first member set and does not belong to at least one second member set (i.e., the second user is only a member directly selected by the first user, not a member of the group selected by the first user); the second is that the second user belongs to at least one second member set and does not belong to the first member set (i.e., the second user is only a member of the group selected by the first user, not a member directly selected by the first user); the third is that the second user belongs to the first member set and belongs to at least one second member set (i.e., the second user is both a member directly selected by the first user and a member of the group selected by the first user). Therefore, in an embodiment of the present application, the server can traverse the second users, and for each second user: according to the situation that the second user belongs to the first member set and the second member set, distinguish which of the above three scenarios the second user belongs to, and then determine the content in the receiving object identifier set in the second message generated for the second user.

[0147] In a possible implementation, for a second user who belongs to the first member set and does not belong to at least one second member set, in a second message generated for the user, an identifier of a receiving object corresponding to the second user includes a member identifier corresponding to the second user.

[0148] The second user belongs to the first member set and does not belong to at least one second member set, indicating that the second user is a member directly selected by the first user, and is not a member of the group selected by the first user. Therefore, in the corresponding second message, the identifier of the receiving object corresponding to the second user includes the member identifier corresponding to the second user, but does not include the group identifier. In an implementation, the receiving object identifier set in the second message corresponding to the second user includes a member identifier set, and the member identifier set includes the member identifier corresponding to the second user.

[0149] In a possible implementation, for a second user who belongs to at least one second member set and does not belong to the first member set, in a second message generated for the user, the identifier of the receiving object corresponding to the second user includes the group identifier corresponding to the second member set to which the second user belongs.

[0150] The second user belongs to at least one second member set and is not a second user of the first member set, indicating that the second user is a member of a certain (or some) first group selected by the first user, and is not a member directly selected by the first user. Therefore, in the corresponding second message, the identifier of the receiving object corresponding to the second user includes the group identifier corresponding to the second member set to which the second user belongs, but does not include the member identifier. In implementation, the receiving object identifier set in the second message corresponding to the second user includes a group identifier set, and the group identifier set includes the group identifier corresponding to the second member set to which the second user belongs.

[0151] In a possible implementation, for a second user who belongs to a first member set and to at least one second member set, in a second message generated for the user, the identifier of a receiving object corresponding to the second user includes a member identifier corresponding to the second user and a group identifier corresponding to the second member set to which the second user belongs. In implementation, the receiving object identifier set in the second message corresponding to the second user includes a member identifier set and a group identifier set, wherein the member identifier set includes the member identifier corresponding to the second user, and the group identifier set includes the group identifier corresponding to the second member set to which the second user belongs.

[0152] Figure 7b FIG. 1 shows an exemplary interaction diagram between a server and a second client. Figure 7a On the basis of Figure 7b After receiving the first message sent by the first client, the server obtains a member identification set (including member ID1 and member ID2), a group identification set (including group ID1 and group ID2), and a message list (including message 1 and message 2) from the first message.

[0153] like Figure 7bAs shown, the server obtains a first member set according to a member identification set, and the first member set includes a member 1 whose member identification is member ID1 and a member whose member identification is member ID2. The server obtains a group set according to a group identification set, and the group set includes a group 1 whose group identification is group ID1 and a group 2 whose group identification is group ID2 (here, group 1 and group 2 are the first groups involved in step S604). The server can obtain a second member set corresponding to group 1 according to the members included in group 1, and can obtain a second member set corresponding to group 2 according to the members included in group 2. Afterwards, the server merges the first member set, the second member set corresponding to group 1, and the second member set corresponding to group 2 to obtain a second user set. The second user set includes at least one second user. The server can generate a second message for each second user in the second user set.

[0154] In one example, the second user set includes: a second user whose member identifier is member ID1 (i.e., member 1), a second user whose member identifier is member ID2 (i.e., member 2), a second user whose member identifier is member ID3 (i.e., member 3), and a second user whose member identifier is member ID4 (i.e., member 4), and so on.

[0155] like Figure 7b As shown, for member 1 in the second user set, the second user belongs to the first member set and does not belong to any second member set. When the server generates a second message for the second user, the sub-message type of the second message is set to forward one by one, and the mapping of members and member identification sets is written in the service header of the sub-message type of the second message (that is, member: [member: ID1]), and the member identification set, message identification and message list are written in the service data of the sub-message type of the second message (that is, {member: [{member ID1: [message ID1, message ID2]}]}, message 1, message 2).

[0156] like Figure 7b As shown, for member 3 in the second user set, the second user belongs to the second member set corresponding to group 1 and the second member set corresponding to group 2. When the server generates a second message for the second user, the sub-message type of the second message is set to forward one by one, and the mapping of the group and the group identifier set is written in the service header of the sub-message type of the second message (that is, group: [group ID1, group ID2]), and the group identifier set, message identifier and message list are written in the service data of the sub-message type of the second message (that is, {group: [{group ID1: [message ID1, message ID2]}, {group ID2: [message ID1, message ID2]}]}, message 1, message 2).

[0157] like Figure 7bAs shown, for member 2 in the second user set, the second user belongs to the first member set, the second member set corresponding to group 1, and the second member set corresponding to group 2. When the server generates a second message for the second user, the sub-message type of the second message is set to forward one by one, and the mapping of the member (i.e., member: [member: ID2]) and the member identification set and the mapping of the group and the group identification set (i.e., group: [group ID1, group ID2]) are written in the service header of the sub-message type of the second message. The member identification set, group identification set, message identification and message list (i.e., {member: [{member ID1: [message ID1, message ID2]}], group: [{group ID1: [message ID1, message ID2]}, {group ID2: [message ID1, message ID2]}]}, message 1, message 2) are written in the service data of the sub-message type of the second message.

[0158] Step S606: The second client receives the second message sent by the server.

[0159] Step S607: The second client displays at least one first message in the message list of the second message one by one based on the identifier of at least one receiving object in the second message.

[0160] In a possible implementation, step S607 may include: when the identifier of the at least one receiving object includes a member identifier, displaying the at least one first message one by one in a conversation interface with the first user who provides the first message.

[0161] When the identifier of the receiving object in the second message includes a member identifier, it indicates that the second user who logs into the second client is a member directly selected by the first user, and the first user and the second user can directly conduct a member conversation, so each first message can be displayed one by one in the conversation interface with the first user.

[0162] In a possible implementation, step S607 may include: when the identifier of the at least one receiving object includes a group identifier, displaying the at least one first message one by one in a conversation interface of a group corresponding to the included group identifier.

[0163] When the identifier of the receiving object in the second message includes a group identifier, it indicates that the second user who logs into the second client is a member of the first group selected by the first user. The first user and the second user can conduct a group conversation through the first group. Therefore, each first message can be displayed one by one in the conversation interface of the first group.

[0164] In one possible implementation, step S607 may include: when the identifier of the at least one receiving object includes both a member identifier and a group identifier, displaying the at least one first message one by one in the conversation interface of the first user who provides the first message and in the conversation interface of the group corresponding to the included group identifier.

[0165] When the identifier of the receiving object in the second message includes a member identifier and a group identifier, it indicates that the second user is both a member directly selected by the first user and a member of the first group selected by the first user. At this time, the first user and the second user can have a member conversation directly or a group conversation through the first group. Therefore, each first message can be displayed one by one in the conversation interface with the first user, and each first message can be displayed one by one in the conversation interface of the first group.

[0166] Figure 7c , Figure 7d and Figure 7e Schematic diagrams showing the second client displaying the first message are shown respectively. Figure 7b On the basis of Figure 7c , Figure 7d and Figure 7e The second clients shown receive the second messages sent by the server respectively.

[0167] like Figure 7c As shown, the second client logged in by member 1 only obtains the mapping of members and member identification sets from the business head of the sub-message type of the second message (i.e., member: [member: ID1]), indicating that the identification of the receiving object in the second message received by the second client only includes the member identification, and the second user logged in to the second client is only the member directly selected by the first user. At this time, the conversation list of the second client only prompts that the member conversation between the first user and the second user (i.e., the member conversation between user A and member C) has new messages. After the second user clicks on the conversation between the first user and the second user, message 1 and message 2 can be displayed one by one in the conversation interface.

[0168] like Figure 7dAs shown, the second client logged in by member 3 only obtains the mapping of the group and the group identifier set (i.e., group: [group ID1, group ID2]) from the operator header of the sub-message type of the second message, indicating that the identifier of the receiving object in the second message received by the second client only includes the group identifier, and the second user logged in to the second client is only a member of the first group selected by the first user. At this time, the conversation list of the second client only prompts that the group conversations of group 1 and group 2 have new messages. After the second user clicks on the group conversation with the group identifier of group 1 (or clicks on the group conversation of group 2), the second client can display message 1 and message 2 one by one in the conversation interface of the group conversation of group 1 (or in the group conversation of group 2).

[0169] like Figure 7e As described above, the second client logged in by member 2 obtains the mapping of members and member identification sets (i.e., member: [member: ID2]) and the mapping of groups and group identification sets (i.e., group: [group ID1, group ID2]) from the operator header of the sub-message type of the second message. The second user logged in to the second client is both a member directly selected by the first user and a member of the first group selected by the first user. At this time, the conversation list of the second client prompts that there are new messages in the member conversation between the first user and the second user (i.e., the member conversation between user A and member C), and prompts that there are new messages in the group conversations of group 1 and group 2. After the second user clicks on any one of the conversation between the first user and the second user, the conversation of group 1, and the group conversation of group 2, the second client can display message 1 and message 2 one by one in the corresponding conversation interface.

[0170] In an embodiment of the present application, when forwarding messages one by one, by merging messages, the number of messages uploaded by the client and the number of messages sent by the server are reduced, thereby reducing the number of interactions between the client and the server, thereby reducing the client's traffic consumption.

[0171] Fig. 9 A schematic diagram of the structure of a message processing device according to an embodiment of the present application is shown. The device can be applied to a server. Fig. 9 As shown, the device 70 may include:

[0172] The receiving module 71 is configured to receive a first message sent by a first client, wherein the first message includes a receiving object identifier set and a message list, wherein the receiving object identifier set includes an identifier of at least one receiving object, and the message list includes at least one first message;

[0173] A determination module 72, configured to determine at least one second user who receives the at least one first message according to a set of receiving object identifiers in the first message received by the receiving module 71;

[0174] The sending module 73 is used to generate a second message for any second user among the at least one second user determined by the determination module 72, and send the second message to the second client logged in by the second user, wherein the second message includes the identifier of the receiving object corresponding to the second user and the message list.

[0175] In a possible implementation, the at least one receiving object includes a member and / or a group, and the receiving object identifier set includes a member identifier set and / or a group identifier set, wherein the member identifier set includes a member identifier of each member in the at least one receiving object, and the group identifier set includes a group identifier of each group in the at least one receiving object;

[0176] The determining module 72 is specifically used for:

[0177] For the member identification set in the receiving object identification set, determining a first member set according to the member identifications in the member identification set;

[0178] For the group identifier set in the receiving object identifier set, determine at least one first group according to the group identifier in the group identifier set, and determine at least one second member set according to the member identifier of each member included in the at least one first group;

[0179] The first member set and the at least one second member set are merged to obtain the at least one second user.

[0180] In a possible implementation manner, in the second message generated for the second user belonging to the first member set, the identifier of the receiving object corresponding to the second user includes the member identifier corresponding to the second user.

[0181] In a possible implementation manner, in the second message generated for the second user belonging to the at least one second member set, the identifier of the receiving object corresponding to the second user includes the group identifier corresponding to the second member set to which the second user belongs.

[0182] In one possible implementation, in a second message generated for a second user who belongs to both the first member set and the at least one second member set, the identifier of the receiving object corresponding to the second user includes the member identifier corresponding to the second user and the group identifier corresponding to the second member set to which the second user belongs.

[0183] In a possible implementation manner, the device further includes:

[0184] A generation module is used to generate a message identifier corresponding to any first message in the message list; the second message also includes the message identifier corresponding to the first message.

[0185] Fig.10 A schematic diagram of the structure of a message processing device according to an embodiment of the present application is shown. The device can be applied to a first client. Fig.10 As shown, the device 80 may include:

[0186] A generating module 81, configured to generate a first message in response to the operation of forwarding at least one first message one by one, wherein the first message includes a set of receiving object identifiers and a message list, wherein the set of receiving object identifiers includes an identifier of at least one receiving object, and the message list includes the at least one first message;

[0187] The sending module 82 is used to send the first message generated by the generating module 81 to the server, so that the server forwards the at least one first message to the at least one receiving object.

[0188] In one possible implementation, the at least one receiving object includes members and / or groups, and the receiving object identifier set includes a member identifier set and / or a group identifier set, wherein the member identifier set includes the member identifier of each member in the at least one receiving object, and the group identifier set includes the group identifier of each group in the at least one receiving object.

[0189] Fig.11 A schematic diagram of the structure of a message processing device according to an embodiment of the present application is shown. The device can be applied to a second client. Fig.11 As shown, the device 90 may include:

[0190] The receiving module 91 is used to receive a second message sent by the server, wherein the second message includes an identifier of at least one receiving object and a message list, wherein the message list includes at least one first message, and the identifier of the at least one receiving object includes a member identifier and / or a group identifier;

[0191] The display module 92 is configured to display at least one first message in the second message received by the receiving module 91 one by one based on the identifier of at least one receiving object in the second message received by the receiving module 91 .

[0192] In a possible implementation, the display module 92 is specifically used for:

[0193] In a case where the identifier of the at least one receiving object includes a member identifier, the at least one first message is displayed one by one in a conversation interface with the first user who provides the first message.

[0194] In a possible implementation, the display module 92 is specifically used for:

[0195] In a case where the identifier of the at least one receiving object includes a group identifier, the at least one first message is displayed one by one in a conversation interface of a group corresponding to the included group identifier.

[0196] In a possible implementation, the display module 92 is specifically used for:

[0197] When the identifier of the at least one receiving object includes both a member identifier and a group identifier, the at least one first message is displayed one by one in the conversation interface of the first user who provides the first message and in the conversation interface of the group corresponding to the included group identifier.

[0198] An embodiment of the present application provides a message processing device, comprising: a processor and a memory for storing processor-executable instructions; wherein the processor is configured to implement the above method when executing the instructions.

[0199] An embodiment of the present application provides an electronic device, comprising: a processor and a memory for storing processor-executable instructions; wherein the processor is configured to implement the above method when executing the instructions.

[0200] An embodiment of the present application provides a non-volatile computer-readable storage medium on which computer program instructions are stored. When the computer program instructions are executed by a processor, the above method is implemented.

[0201] An embodiment of the present application provides a computer program product, including a computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in a processor of an electronic device, the above method is implemented in the electronic device.

[0202] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, (but not limited to) an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a protruding structure in a groove on which instructions are stored, and any suitable combination thereof.

[0203] The computer-readable program instructions or codes described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.

[0204] The computer program instructions for performing the operation of the present application may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed completely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, by utilizing the state information of computer-readable program instructions to personalize an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA) or a programmable logic array (PLA), the electronic circuit can execute the computer-readable program instructions to implement various aspects of the present application.

[0205] Various aspects of the present application are described herein with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present application. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.

[0206] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0207] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0208] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the device, system, method and computer program product according to multiple embodiments of the present application. In this regard, each square frame in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of the module, program segment or instruction includes one or more executable instructions for realizing the logical function of the specification. In some alternative implementations, the functions marked in the square frame can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square frames can actually be executed substantially in parallel, and they can also be executed in reverse order sometimes, depending on the functions involved.

[0209] It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, can be implemented by hardware (such as a circuit or ASIC (Application Specific Integrated Circuit)) that performs the corresponding function or action, or can be implemented by a combination of hardware and software, such as firmware.

[0210] Although the present invention is described herein in conjunction with various embodiments, in the process of implementing the claimed invention, those skilled in the art may understand and implement other variations of the disclosed embodiments by viewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "one" or "an" does not exclude multiple situations. A single processor or other unit may implement several functions listed in the claims. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.

[0211] The embodiments of the present application have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and changes will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A message processing method, characterized in that: The method is applied to a server, and the method comprises: Receive a first message sent by a first client, wherein the first message includes a receiving object identifier set and a message list, wherein the receiving object identifier set includes an identifier of at least one receiving object, the message list includes at least one first message, the at least one receiving object includes a member and / or a group, the receiving object identifier set includes a member identifier set and / or a group identifier set, wherein the member identifier set includes a member identifier of each member of the at least one receiving object, and the group identifier set includes a group identifier of each group in the at least one receiving object; Determine, according to the set of receiving object identifiers, at least one second user who receives the at least one first message, wherein the at least one second user is obtained by combining a selected member and a group determined according to the set of receiving object identifiers with the selected member and a member in the group; For any one of the at least one second user, a second message is generated and sent to a second client logged in by the second user, wherein the second message includes an identifier of a receiving object corresponding to the second user and the message list, the number of the first messages is multiple, and the number of interactions between the first client, the second client and the server does not increase with the increase in the number of the first messages.

2. The method according to claim 1, characterized in that The determining, according to the receiving object identifier set, at least one second user who receives the at least one first message comprises: For the member identification set in the receiving object identification set, determining a first member set according to the member identifications in the member identification set; For the group identifier set in the receiving object identifier set, determine at least one first group according to the group identifier in the group identifier set, and determine at least one second member set according to the member identifier of each member included in the at least one first group; The first member set and the at least one second member set are merged to obtain the at least one second user.

3. The method according to claim 2, characterized in that In the second message generated for the second user belonging to the first member set, the identifier of the receiving object corresponding to the second user includes the member identifier corresponding to the second user.

4. The method according to claim 2, characterized in that: In the second message generated for the second user belonging to the at least one second member set, the identifier of the receiving object corresponding to the second user includes the group identifier corresponding to the second member set to which the second user belongs.

5. The method according to claim 2, characterized in that: In the second message generated for a second user belonging to both the first member set and the at least one second member set, the identifier of the receiving object corresponding to the second user includes the member identifier corresponding to the second user and the group identifier corresponding to the second member set to which the second user belongs.

6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: For any first message in the message list, generating a message identifier corresponding to the first message; The second message also includes a message identifier corresponding to the first message.

7. A message processing method, characterized in that: The method is applied to a first client, and the method includes: In response to the operation of forwarding at least one first message one by one, a first message is generated, wherein the first message includes a receiving object identifier set and a message list, wherein the receiving object identifier set includes an identifier of at least one receiving object, the message list includes the at least one first message, the at least one receiving object includes a member and / or a group, the receiving object identifier set includes a member identifier set and / or a group identifier set, wherein the member identifier set includes a member identifier of each member of the at least one receiving object, and the group identifier set includes a group identifier of each group of the at least one receiving object; The first message is sent to a server so that the server forwards the at least one first message to the at least one receiving object, the first message instructing the server to determine at least one second user who receives the at least one first message according to the receiving object identifier set, the at least one second user is obtained by determining selected members and groups according to the receiving object identifier set, and merging the selected members with members in the group; a second message is generated for any one of the at least one second users, and the second message is sent to a second client logged in by the second user, the second message including the identifier of the receiving object corresponding to the second user and the message list, the number of the first messages is multiple, and the number of interactions between the first client, the second client and the server does not increase with the increase in the number of the first messages.

8. A message processing method, characterized in that: The method is applied to a second client, and the method includes: Receive a second message sent by a server, the server being used to receive a first message sent by a first client, the first message including a receiving object identifier set and a message list, wherein the receiving object identifier set includes an identifier of at least one receiving object, the message list includes at least one first message, the at least one receiving object includes a member and / or a group, the receiving object identifier set includes a member identifier set and / or a group identifier set, wherein the member identifier set includes a member identifier of each member in the at least one receiving object, and the group identifier set includes a group identifier of each group in the at least one receiving object; determine at least one second user who receives the at least one first message according to the receiving object identifier set, the at least one second user is obtained by determining a selected member and a group according to the receiving object identifier set, and merging the selected member with a member in the group; generate a second message for any one of the at least one second user, and send the second message to a second client logged in by the second user, the second message including an identifier of at least one receiving object and a message list, the message list including at least one first message, and the identifier of the at least one receiving object includes a member identifier and / or a group identifier; Based on the identifier of the at least one receiving object, the at least one first message is displayed one by one, the number of the first messages is multiple, and the number of interactions between the first client, the second client and the server does not increase with the increase in the number of the first messages.

9. The method according to claim 8, characterized in that The step of displaying the at least one first message one by one based on the identifier of the at least one receiving object comprises: In a case where the identifier of the at least one receiving object includes a member identifier, the at least one first message is displayed one by one in a conversation interface with the first user who provides the first message.

10. The method according to claim 8 or 9, characterized in that: The step of displaying the at least one first message one by one based on the identifier of the at least one receiving object comprises: In a case where the identifier of the at least one receiving object includes a group identifier, the at least one first message is displayed one by one in a conversation interface of a group corresponding to the included group identifier.

11. The method according to any one of claims 8 to 10, characterized in that The step of displaying the at least one first message one by one based on the identifier of the at least one object comprises: When the identifier of the at least one receiving object includes both a member identifier and a group identifier, the at least one first message is displayed one by one in the conversation interface of the first user who provides the first message and in the conversation interface of the group corresponding to the included group identifier.

12. An electronic device, characterized in that: include: processor; a memory for storing processor-executable instructions; Wherein, the processor is configured to implement the method of any one of claims 1 to 6, or the method of claim 7, or the method of any one of claims 8 to 11 when executing the instructions.

13. A non-volatile computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the method described in any one of claims 1 to 6 is implemented, or the method described in claim 7 is implemented, or the method described in any one of claims 8 to 11 is implemented.