Message sharing method and device, computer equipment, storage medium and program product
By receiving the message to be shared by the terminal of the first communication object, the corresponding message flow is determined, and the message can be shared based on the message flow, the problem of low security in the message sharing process is solved, and the secure sharing of messages is realized.
Patent Information
- Application Number
- CN202310961419.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-01
- Publication Date
- 2025-02-14
AI Technical Summary
In the prior art, there is a problem of low security in the message sharing process, and the messages shared by users are easily tampered with or are unsafe.
By receiving the message to be shared by the terminal of the first communication object, the corresponding message flow is determined, and the message can be shared based on the message flow, ensuring that the message has not been tampered with during sharing.
Improve the security of the messages shared during the message sharing process and ensure that the shared messages are legal messages that have not been tampered with.
Smart Images

Figure CN119449753A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a message sharing method, apparatus, computer equipment, storage medium and computer program product. Background Art
[0002] With the development of computer technology, more and more people use computer devices for communication. For example, people can use instant messaging applications on computer devices to communicate through instant messaging applications. For example, messages are sent through instant messaging applications, and the content of the messages sent can be any one of text, image or video.
[0003] In the related art, users can also share messages that have been sent, but there is often a problem of low security of the shared messages. Summary of the invention
[0004] Based on this, it is necessary to provide a message sharing method, device, computer equipment, computer-readable storage medium and computer program product that can improve the security of messages shared during the message sharing process in response to the above technical problems.
[0005] In a first aspect, the present application provides a message sharing method. The method comprises:
[0006] Receiving at least one message to be shared sent by a terminal of a first communication object; the message to be shared is a message designated by the first communication object to be shared with the second communication object;
[0007] Determine a first message stream corresponding to the first communication object; the first message stream is used to store messages with the first communication object as a message participant in a chronological order of message time;
[0008] Based on the first message stream, determining at least one shareable message among the at least one message to be shared, wherein there is a message consistent with the shareable message in the first message stream;
[0009] Determine a second message stream corresponding to the second communication object; the second message stream is used to store messages with the second communication object as a message participant in a chronological order of message time;
[0010] Insert the at least one sharable message into the second message flow according to the message time of the at least one sharable message.
[0011] In some embodiments, the shareable message determination module is also used to obtain a message identifier included in each of the at least one message to be shared; read at least one reference message including any of the message identifiers from the first message stream; and determine at least one shareable message among the at least one message to be shared based on the at least one reference message.
[0012] In some embodiments, the shareable message determination module is also used to, for each of the at least one message to be shared, perform a legitimacy check based on the corresponding reference message and the message to be shared when there is a corresponding reference message; the corresponding reference message and the message to be shared include the same message identifier; when the verification result of the legitimacy check indicates that the message to be shared is legal, determine that the message to be shared is a shareable message.
[0013] In some of the embodiments, when the message type, message sending object identifier and message content in the message body of the corresponding reference message are respectively consistent with the message type, message sending object identifier and message content in the target message to be shared, the verification result indicates that the target message to be shared is legal.
[0014] In some of the embodiments, the shareable message determination module is further used to compare the message type in the message body of the corresponding reference message with the message type in the targeted message to be shared to obtain a message type comparison result; compare the message sending object identifier in the message body of the corresponding reference message with the message sending object identifier in the targeted message to be shared to obtain a message sending object comparison result; when the message type comparison result and the message sending object comparison result both indicate a consistent comparison, compare the message content in the message body of the corresponding reference message with the message content in the targeted message to be shared to obtain a message content comparison result; when the message content comparison result indicates a consistent comparison, obtain a verification result indicating that the targeted message to be shared is a legitimate message.
[0015] In some of the embodiments, the shareable message determination module is also used to, when the message type in the message body of the message to be shared is a message type that stores message content outside the message body, compare the storage path for storing message content in the message body of the corresponding reference message with the storage path for storing message content in the message to be shared, to obtain a message content comparison result.
[0016] In some embodiments, the message sharing device further includes: a message body replacement module, which is used to replace the message body of the targeted message to be shared with the message body of the corresponding reference message when the verification result indicates that the targeted message to be shared is illegal; and insert the replaced message to be shared into the second message stream according to the message time of the targeted message to be shared.
[0017] In some embodiments, the shareable message determination module is also used to filter the preset number of messages to be shared from the at least one message to be shared when the number of messages in the at least one message to be shared is greater than the preset number; wherein the message time of the filtered messages to be shared is later than the message time of the unfiltered messages to be shared; and based on the first message flow, determine at least one shareable message among the preset number of filtered messages to be shared.
[0018] In some embodiments, each message of the first message stream is associated with a message index, each message index is associated with a time segment in which the message time of the associated message lies, and the time segment is divided from the message time range of the first message stream; the shareable message determination module is further used to determine the time segment to which the message time of each of the at least one message to be shared belongs; based on the message index associated with the determined time segment, a candidate message set is screened out from the first message stream; for each of the at least one message to be shared, when there is a message in the candidate message set that is consistent with the targeted message to be shared, the targeted message to be shared is determined as a shareable message.
[0019] In some embodiments, the message sharing device further includes: a message deletion module, which is used to count the number of messages in the first message stream at a preset time interval; when the number of messages in the first message stream is greater than a preset threshold, a message deletion prompt is sent to the terminal of the first communication object; when at least one message identifier of a message to be deleted sent by the terminal of the first communication object is received, the message matching the received message identifier is deleted from the first message stream; the message to be deleted is a message specified for deletion by the first communication object.
[0020] In some embodiments, the message sharing device further includes: an abnormal reminder module, which is used to determine the messages in the waiting-to-send state from the first message stream when the number of the at least one shareable message is less than the number of the at least one message to be shared; and to add a reminder mark to the messages in the waiting-to-send state, wherein the reminder mark is used to indicate that when the messages in the waiting-to-send state are displayed, an abnormal message reminder is synchronously displayed.
[0021] In some embodiments, the message receiving module is further used to receive a session participation invitation sent by a terminal of a first communication object; wherein the session participation invitation is initiated by the first communication object to a second communication object, and the session participation invitation indicates a session and at least one historical session message in the session on the terminal of the first communication object; in response to the session participation invitation, the second communication object is added to the session, and the at least one historical session message is determined as at least one message to be shared.
[0022] In a second aspect, the present application also provides a message sharing device. The device comprises:
[0023] A message receiving module, configured to receive at least one message to be shared sent by a terminal of a first communication object; the message to be shared is a message designated by the first communication object to be shared with a second communication object;
[0024] A first message stream determination module, used to determine a first message stream corresponding to the first communication object; the first message stream is used to store messages with the first communication object as a message participant in a chronological order of message time;
[0025] a shareable message determination module, configured to determine, based on the first message stream, at least one shareable message among the at least one message to be shared, wherein there is a message consistent with the shareable message in the first message stream;
[0026] A second message flow determination module, used to determine a second message flow corresponding to the second communication object; the second message flow is used to store messages with the second communication object as a message participant in a chronological order of message time;
[0027] A message insertion module is used to insert the at least one shareable message into the second message stream according to the message time of the at least one shareable message.
[0028] In a third aspect, the present application further provides a computer device. The computer device includes a memory and a processor, the memory stores a computer program, and the processor implements the following steps when executing the computer program:
[0029] Receiving at least one message to be shared sent by a terminal of a first communication object; the message to be shared is a message designated by the first communication object to be shared with the second communication object;
[0030] Determine a first message stream corresponding to the first communication object; the first message stream is used to store messages with the first communication object as a message participant in a chronological order of message time;
[0031] Based on the first message stream, determining at least one shareable message among the at least one message to be shared, wherein there is a message consistent with the shareable message in the first message stream;
[0032] Determine a second message stream corresponding to the second communication object; the second message stream is used to store messages with the second communication object as a message participant in a chronological order of message time;
[0033] Insert the at least one sharable message into the second message flow according to the message time of the at least one sharable message.
[0034] In a fourth aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0035] Receiving at least one message to be shared sent by a terminal of a first communication object; the message to be shared is a message designated by the first communication object to be shared with the second communication object;
[0036] Determine a first message stream corresponding to the first communication object; the first message stream is used to store messages with the first communication object as a message participant in a chronological order of message time;
[0037] Based on the first message stream, determining at least one shareable message among the at least one message to be shared, wherein there is a message consistent with the shareable message in the first message stream;
[0038] Determine a second message stream corresponding to the second communication object; the second message stream is used to store messages with the second communication object as a message participant in a chronological order of message time;
[0039] Insert the at least one sharable message into the second message flow according to the message time of the at least one sharable message.
[0040] In a fifth aspect, the present application further provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0041] Receiving at least one message to be shared sent by a terminal of a first communication object; the message to be shared is a message designated by the first communication object to be shared with the second communication object;
[0042] Determine a first message stream corresponding to the first communication object; the first message stream is used to store messages with the first communication object as a message participant in a chronological order of message time;
[0043] Based on the first message stream, determining at least one shareable message among the at least one message to be shared, wherein there is a message consistent with the shareable message in the first message stream;
[0044] Determine a second message stream corresponding to the second communication object; the second message stream is used to store messages with the second communication object as a message participant in a chronological order of message time;
[0045] Insert the at least one sharable message into the second message flow according to the message time of the at least one sharable message.
[0046] The above-mentioned message sharing method, apparatus, computer equipment, storage medium and computer program product, when receiving at least one message to be shared sent by the terminal of the first communication object, can determine the first message stream corresponding to the first communication object, and the first message stream is used to store messages with the first communication object as the message participant in the chronological order of the message time. Therefore, based on the first message stream, at least one shareable message in at least one message to be shared can be determined. Since there is a message consistent with the shareable message in the first message stream, the shareable message is an untampered message. When the shareable message is inserted into the second message stream according to the message time of the shareable message, it is possible to share the untampered legitimate message with the second communication object, thereby improving the security of the message shared during the message sharing process. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure 1 A diagram of an application environment of a message sharing method in some embodiments;
[0048] Figure 2 A schematic diagram of a flow chart of a message sharing method in some embodiments;
[0049] Figure 3 A schematic diagram of a process for determining a shareable message in some embodiments;
[0050] Figure 4 A schematic diagram of a process for performing legitimacy verification on a message in some embodiments;
[0051] Figure 5 A schematic diagram of an interface for displaying abnormal message reminders in some embodiments;
[0052] Figure 6 A schematic diagram of an interface of a group chat page in some embodiments;
[0053] Figure 7 A schematic diagram of selecting a message to be shared in a group chat page in some embodiments;
[0054] Figure 8A schematic diagram of a page showing a message shared in some embodiments and displayed on a terminal of an invited communication partner;
[0055] Fig. 9 A schematic diagram of a flow chart of a message sharing method in some other embodiments;
[0056] Fig.10 is a timing diagram of a message sharing method in some embodiments;
[0057] Fig.11 A schematic diagram of an interface in which a message sharing method is applied to message forwarding in some embodiments;
[0058] Fig.12 A schematic diagram of an interface for selecting a chat message to forward in some embodiments;
[0059] Fig.13 is a structural block diagram of a message sharing device in some embodiments;
[0060] Fig.14 1 is a diagram of the internal structure of a computer device in some embodiments. DETAILED DESCRIPTION
[0061] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0062] The message sharing method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown. Among them, the terminal 102 and the server 104 can communicate through a network, such as a wired or wireless network. The data storage system can store the data that the server 104 needs to process, for example, it can store the historical messages of the first communication object, the historical messages of the second communication object, etc. The data storage system can be set separately, can be integrated on the server 104, or can be placed on the cloud or other servers. The terminal 102 can be, but is not limited to, various desktop computers, laptops, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart car-mounted devices, etc. Portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. A client that runs a target application can be installed in the terminal 102, and the target application can be a social application or an instant messaging application. This application does not limit the form of the target application, which can be a parent application running on an operating system, or a sub-application running in a parent application, such as a mini program, or a web page. The server 102 can be an independent physical server, or a server cluster or distributed system consisting of multiple physical servers, or a cloud server that provides cloud computing services. The server 102 may be a server of the target application, and is used to provide background services for the target application.
[0063] Specifically, for each communication object, the server can set a corresponding message stream, which is used to store messages with the communication object as a message participant in the chronological order of the message time. Therefore, when at least one message to be shared sent by the terminal of the first communication object is received, the first message stream corresponding to the first communication object can be determined, and then based on the first message stream, at least one sharable message among the at least one message to be shared is determined. The server can further determine the second message stream corresponding to the second communication object, and insert at least one sharable message into the second message stream according to the message time of at least one sharable message. The server can also read messages from the second message stream and send them to the terminal of the second communication object, thereby sharing the messages with the second communication object.
[0064] In some embodiments, Figure 2 As shown, a message sharing method is provided, which is applied to Figure 1 The server in the example is used to illustrate the following steps:
[0065] Step 202: Receive at least one message to be shared sent by a terminal of the first communication object; the message to be shared is a message designated by the first communication object to be shared with the second communication object.
[0066] Among them, a message consists of a message body and a message identifier. The message identifier can be a combination of one or more of a number, a letter or a special character. The message body is all the information in a message, including a message sender identifier, a message receiver identifier, a message type and a message content, etc. The message identifier is used to uniquely identify a message. The message type includes text and non-text, wherein the message content of a text type message is stored in the message body. For example, an example of a text message sent by A in group B on June 2, 2022: [Message content: "Deal with this issue this afternoon", sending timestamp: 1654150666, message type: text, message sender identifier: AABB, group chat number: XX, message ID: xQdjfne24xi3eQz], and non-text type messages include any one of pictures, videos or files, etc. In some embodiments, the message content of non-text messages can be stored outside the message body, and the storage path of the message content can be included in the message body. For example, the picture can be stored in the picture database of the server, and the storage path of the picture can be specified in the message body, through which the picture can be downloaded from the picture database.
[0067] The message to be shared refers to a message that needs to be shared. The message to be shared may be any historical session message in all sessions in which the first communication object participates. At least one message to be shared sent by the terminal of the first communication object may include a historical session message received by the terminal of the first communication object, that is, the first communication object may specify at least one of the received historical session messages to be shared with the second communication object. At least one message to be shared sent by the terminal of the first communication object may also include a historical session message sent by the terminal of the first communication object, that is, the first communication object may specify at least one of the historical session messages it has sent to be shared with the second communication object.
[0068] Specifically, the first communication object can specify at least one message as a message to be shared with the second communication object on the terminal, and send the message to be shared to the server through the terminal, so that the server can receive at least one message to be shared sent by the terminal of the first communication object.
[0069] In some embodiments, when the first communication object specifies a message to be shared with the second communication object, the first communication object can add comments to the message to be shared, so that the terminal of the first communication object can send the comments as additional messages to the server. After the server determines the shareable message from the received message to be shared, the server can insert the shareable message and the additional message into the message stream of the second communication object, so that when the terminal of the second communication object receives the shareable message, it can also receive the comments of the first communication object.
[0070] In some embodiments, when the first communication object specifies a message to be shared with the second communication object, the first communication object can choose to share anonymously. After the server receives the message to be shared from the first communication object and determines the shareable message therefrom, the server can change the message sending object in the shareable message to an anonymous object, and insert the modified shareable message into the second message stream corresponding to the second communication object, so that when the terminal of the second communication object receives the shareable message, it can display the received shareable message anonymously.
[0071] Step 204, determine a first message stream corresponding to the first communication object; the first message stream is used to store messages with the first communication object as a message participant in a chronological order of message time.
[0072] Among them, each communication object is provided with a message stream in the server, and the message stream of each communication object is associated with the corresponding communication object identifier, and the corresponding message stream can be determined according to the communication object identifier. In the message stream of each communication object, messages with the communication object as the message participant are stored in the chronological order of the message time. Here, the message participants include the message sender and the message receiver, that is, in the message stream of each communication object, not only messages with the communication object as the message sender can be stored, but also messages with the communication object as the message receiver can be stored. The message time can be the time when the message is sent, or the time when the server receives the message. Storing messages in the chronological order of the message time can specifically be arranging and storing the messages in the chronological order of the message time.
[0073] In some embodiments, the message time is the time when the server receives the message. The message flow can be implemented through a message queue. After receiving multiple messages sent by a terminal of a communication object, the server can write the messages into the message flow of the communication object in the order of the message time of each message. That is, in the message queue of the communication object, the messages with earlier message times are sorted higher, so that when the server reads messages from the message stream for sending, it can read messages with earlier message times first.
[0074] In other embodiments, the message flow can be implemented through a data table. After receiving multiple messages sent by a terminal of a communication object, the server can write the messages into the data table of the communication object in the order of the message time. That is, in the data table of the communication object, the earlier the message time, the earlier the position in the data table. When the server reads the messages from the data table in a top-down order and sends them, it can send the messages in the order of time, that is, send the messages with earlier message time first, and then send the messages with later message time.
[0075] Specifically, after receiving at least one message to be shared sent by the terminal of the first communication object, the server can also parse the object identifier of the first communication object from the request body where the message to be shared is located, and then the server can determine the message flow associated with the object identifier based on the parsed object identifier, and the determined message flow is the first message flow of the first communication object.
[0076] Step 206: Based on the first message stream, determine at least one shareable message in at least one message to be shared, and there is a message consistent with the shareable message in the first message stream.
[0077] Among them, shareable messages refer to legal messages that can be shared. The messages to be shared sent by the terminal of the first communication object may contain messages tampered by hackers. Messages tampered by hackers are illegal messages. If they are shared with other communication objects, there will be unsafe issues. Since the messages shared by message sharing are historical session messages, and the first message stream of the first communication object stores messages with the first communication object as a message participant, if a message to be shared sent by the terminal of the first communication object exists in the first message stream and there is a consistent message, then the message to be shared must not have been tampered with and is a legal message. On the contrary, if a message to be shared sent by the terminal of the first communication object does not exist in the first message stream, it means that the message to be shared is likely to be tampered with, and then the message to be shared is not a shareable message.
[0078] Specifically, the server can perform a validity check on each message to be shared based on the first message stream, and the messages to be shared that pass the check can be determined as shareable messages. In specific applications, the server can compare each of at least one message to be shared with the messages in the first message stream, so as to determine whether there is a consistent message in the first message stream. If there is a consistent message, the server determines the message to be shared as a shareable message. Conversely, if there is no message consistent with the message to be shared in the first message stream, the server can determine the message to be shared as a non-shareable message.
[0079] In one embodiment, the target application installed on the terminal of the first communication object can perform security rating on the terminal according to a preset period. For example, the virus detection software on the terminal can be called to perform security rating on the terminal, and the security rating result of the terminal can be sent to the server. The server can determine whether it is necessary to verify the messages to be shared sent by the terminal based on the security rating result of the terminal. For example, if the score corresponding to the security rating result of the terminal is greater than the preset score, it can be determined that the terminal is in a relatively safe environment. At this time, the server may not verify the messages to be shared sent by the terminal, and directly determine all messages to be shared as shareable messages.
[0080] Step 208, determining a second message stream corresponding to the second communication object; the second message stream is used to store messages with the second communication object as a message participant in a chronological order of message time.
[0081] Among them, the second message stream corresponding to the second communication object is associated with the object identifier of the second communication object, and is used to store messages with the second communication object as the message participant in the chronological order of the message time. It may include messages with the second communication object as the message sender, and may also include messages with the second communication object as the message receiver.
[0082] Specifically, after receiving at least one message to be shared sent by the terminal of the first communication object, the server can also parse the object identifier of the second communication object from the request body where the message to be shared is located, and then the server can determine the message flow associated with the object identifier based on the parsed object identifier, and the determined message flow is the second message flow of the second communication object.
[0083] In some embodiments, when the number of shareable messages is less than the messages to be shared, that is, there are non-shareable messages among the messages to be shared, it indicates that there is a security risk in the terminal of the first communication object. At this time, the server can also generate a warning message. The server can send the generated warning message to the terminal of the first communication object, so that the terminal of the first communication object can issue an alarm prompt in time.
[0084] Step 210: insert at least one shareable message into the second message stream according to the message time of the at least one shareable message.
[0085] Specifically, when there are multiple sharable messages, the server can insert the sharable messages into the second message stream of the second communication object in order from the earliest to the latest according to the message time of the sharable messages. Furthermore, the server can also read messages from the second message stream and send the read messages to the terminal of the second communication object.
[0086] In some embodiments, when there are multiple messages that can be shared, when multiple consecutive messages among the multiple messages contain the same message sending object identifier and are all text-type messages, the server can merge the message contents of these messages, and thus merge the multiple messages into one message, thereby improving the efficiency of message sharing.
[0087] In some embodiments, the server may deploy a key information extraction model, which is a machine learning model that can be obtained through supervised training with labeled training samples. For the shareable messages identified from the messages to be shared, the server may obtain the message content therein, input the message content into the key information extraction model, extract the key information in the content of each message through the key information extraction model, and generate a summary text based on the key information. The server may associate the generated text with the shareable message, and then when the server sends the shareable message to the terminal of the second communication object, the generated text may be sent synchronously. When the terminal of the second communication object receives the shareable message, the message may be folded and displayed, and the generated text may be displayed on the cover, so that the second communication object can know the approximate content of the shared message through the text displayed on the cover without browsing the shared message. When the terminal of the second communication object receives a trigger operation on the cover, the message shared by the first communication object may be fully displayed in response to the trigger operation.
[0088] In some embodiments, when the number of sharable messages is greater than a preset number, the server can generate a message record document based on these messages, in which the message sender identifiers and message contents of all messages to be shared are recorded, and a prompt message is sent to the terminal of the second communication object at the same time, prompting the second communication object whether to receive the message in the form of a message record document. If the feedback information representing "yes" is returned by the terminal of the second communication object, the generated message record document is sent to the terminal of the second communication object. If the feedback information representing "no" is returned by the terminal of the second communication object, the sharable messages are sent to the terminal of the second communication object in sequence. It can be understood that if the feedback information returned by the terminal of the second communication object is not received within the preset time, the server can default to sending the message to the terminal of the second communication object in the form of a message record document. Of course, the server can also be set to default to send each message to be shared in sequence according to the sequence of message time.
[0089] In the above-mentioned message sharing method, when at least one message to be shared sent by the terminal of the first communication object is received, the first message stream corresponding to the first communication object can be determined. The first message stream is used to store messages with the first communication object as the message participant in the chronological order of the message time. Therefore, based on the first message stream, at least one shareable message in at least one message to be shared can be determined. Since there is a message consistent with the shareable message in the first message stream, the shareable message is an untampered message. When the shareable message is inserted into the second message stream according to the message time of the shareable message, it is possible to share the untampered legitimate message with the second communication object, thereby improving the security of the shared message during the message sharing process.
[0090] In the above embodiments, the overall implementation of the message sharing method of the present application is introduced. The following will specifically introduce the specific implementation of how to determine the shareable messages from the messages to be shared.
[0091] In some embodiments, Figure 3 As shown, based on the first message flow, determining at least one shareable message in at least one message to be shared includes:
[0092] Step 302: Obtain a message identifier included in at least one message to be shared.
[0093] Taking into account that the message body of a message contains many fields, if each field is compared, the verification efficiency in the message sharing process will be greatly affected. The message identifier can uniquely identify a message. If the message identifier of a message is different from the message identifier of any message in the first data stream, then there is definitely no message consistent with the message in the first message stream. Based on this, in an embodiment of the present application, the server can obtain the message identifier included in at least one message to be shared, and filter the reference messages by comparing the message identifiers to reduce the amount of data for message body comparison, thereby improving the verification efficiency in the message sharing process.
[0094] Step 304: read at least one reference message including any message identifier from the first message stream.
[0095] Specifically, for each of at least one message to be shared, the server can obtain the message identifier included in the message to be shared, and compare the obtained message identifier with the message identifier of the message in the first message stream. If the message identifier of a message in the first message stream is successfully matched, the compared message is used as a reference message.
[0096] In some embodiments, for the message identifier of the message to be shared, the server can use a preset hash algorithm to calculate the hash value of the message identifier, and then obtain the hash value of the message identifier of the message in the first message stream. If the hash values are the same, it means that the message identifiers of the two messages are the same, and the message in the first message stream is the reference message. Among them, the hash value of the message identifier of the message in the first message stream and the hash value of the message identifier of the message to be shared are calculated using the same preset hash algorithm. The preset hash algorithm can be, for example, any one of MD4, MD5 or SHA (Secure Hash Algorithm). In a specific application, the hash value of the message identifier of each message in the first message stream can be pre-calculated using a preset hash algorithm and stored in association with the message identifier, so that when the server compares the message identifiers, it only needs to calculate the hash value for the message identifier of the message to be shared, and compare the calculated hash value with the hash value associated with the message identifier in the first message stream.
[0097] Step 306: Determine at least one shareable message in at least one message to be shared based on the at least one reference message.
[0098] Specifically, for each message to be shared, if the message to be shared is not matched with the message identifier of any message in the first message stream, then it means that there is definitely no message consistent with the message to be shared in the first message stream. In this way, a simple comparison of the message identifiers can be used to quickly determine whether there is a consistent message in the first message stream, thereby avoiding the time consumption and computing resource consumption caused by comparing the message bodies one by one. For each message to be shared, if the message to be shared is not successfully matched with the message identifier of one of the messages in the first message stream, the message identified by the matched message identifier can be used as a reference message to verify the message. Therefore, the server can determine at least one shareable message in at least one message to be shared based on at least one reference message.
[0099] In this embodiment, a message identifier included in each of at least one message to be shared is obtained, at least one reference message including any message identifier is read from the first message stream, and based on the at least one reference message, at least one sharable message in at least one message to be shared is determined. This allows for quick identification of sharable messages and improves message verification efficiency.
[0100] In some embodiments, based on at least one reference message, at least one sharable message among at least one message to be shared is determined, including: for each of the at least one message to be shared, when there is a corresponding reference message, a legitimacy check is performed based on the corresponding reference message and the targeted message to be shared; the corresponding reference message and the targeted message to be shared include the same message identifier; when the verification result of the legitimacy check indicates that the targeted message to be shared is legal, the targeted message to be shared is determined to be a sharable message.
[0101] Among them, the legitimacy check refers to checking whether the message to be shared is tampered with. If the message to be shared has not been tampered with, a verification result indicating that the message to be shared is legal can be obtained. If the message to be shared has been tampered with, a verification result indicating that the message to be shared is illegal can be obtained.
[0102] In this embodiment, for each of at least one message to be shared, if there is a corresponding reference message, it means that there is a message with the same message identifier as the message to be shared in the first message stream, then the reference message is the real message of the message to be shared. Therefore, the server can further compare the message body of the message to be shared with the message body of the corresponding reference message. If the message body of the message to be shared is the same as the message body of the corresponding reference message, it can be determined that there is a consistent message in the first message stream for the message to be shared, then the message to be shared is a shareable message. If the message body of the message to be shared is different from the message body of the corresponding reference message, it can be determined that there is no message consistent with the message to be shared in the first message stream, then the message to be shared is not a shareable message.
[0103] In specific applications, when comparing the message body of the message to be shared with the corresponding reference message, specific comparison rules can be set as needed. For example, in order to ensure the security of the shareable message to the greatest extent, each field in the message body of the message to be shared can be compared with the content of the corresponding field in the message body of the reference message. When the contents of all fields in the message body of the message to be shared are consistent with those of all fields in the message body of the reference message, the message to be shared is determined to be a shareable message.
[0104] In the above embodiment, when a message to be shared has a corresponding reference message, the legitimacy of the message to be shared can be verified through the reference message, and whether the message to be shared is a shareable message can be quickly determined, thereby improving the efficiency and accuracy of message verification.
[0105] Considering that the message body usually contains multiple fields, if each field is compared, it will take a lot of time and greatly affect the efficiency of message sharing. In the process of message sharing, for the message recipient, the fields displayed on the terminal are limited. Except for the fields displayed by the terminal, the tampering of other fields has limited impact on message sharing. Therefore, whether the fields that have a greater impact on the terminal display are tampered with is the focus of the message legitimacy verification process. Based on this, in the embodiment of the present application, these fields that affect the terminal display content can be verified. Optionally, when the message type, message sending object identifier and message content in the message body of the corresponding reference message are respectively consistent with the message type, message sending object identifier and message content in the target message to be shared, the verification result indicates that the target message to be shared is legal.
[0106] In the above embodiment, by verifying the message type, message sender identifier and message content in the message body of the message to be shared, the message verification efficiency can be improved while ensuring the accuracy of the verification, thereby improving the message sharing efficiency.
[0107] In some embodiments, reference Figure 4 , based on the corresponding reference message and the message to be shared, the legitimacy is verified, including:
[0108] Step 402 : Compare the message type in the message body of the corresponding reference message with the message type in the message to be shared, and obtain a message type comparison result.
[0109] The message type in the message body includes any one of a text type, a picture type, a video type or a file type, and the file type can be any one of a word document, a PDF document, and an excel document. The message type comparison result can be a result of consistent representation comparison or a result of inconsistent representation comparison.
[0110] Specifically, for each message to be shared, when there is a corresponding reference message, the server can compare the message type in the message to be shared with the message type in the reference message corresponding to the message to be shared. If the two are consistent, a message type comparison result representing the consistent comparison is obtained; if the two are inconsistent, a message type comparison result representing the inconsistent comparison is obtained.
[0111] For example, assuming that the message type in the message body of a message to be shared is a text type, and the message type in the message body of a reference message corresponding to the message to be shared is also a text type, then a message type comparison result with consistent representation comparison is obtained; for another example, if the message type in the message body of a message to be shared is a text type, and the message type in the message body of a reference message corresponding to the message to be shared is a picture type, then a message type comparison result with inconsistent representation comparison is obtained.
[0112] Step 404 : compare the message sending object identifier in the message body of the corresponding reference message with the message sending object identifier in the message to be shared, and obtain a message sending object comparison result.
[0113] The message sending object identifier is used to uniquely identify the message sending object, which may be the message sending object's mobile phone number or the message sending object's account number registered in the target application, etc. The message sending object comparison result may be a result of consistent representation comparison or a result of inconsistent representation comparison.
[0114] Considering that message content comparison is more complicated than message type and message sending object identifier, and the fields of some messages that may be tampered with are message type or message sending object identifier, message content comparison for these messages will cause a waste of server resources and affect the verification of messages. Based on this, in an embodiment of the present application, for each message to be shared, when there is a corresponding reference message, the server can compare the message sending object identifier in the message to be shared with the message sending object identifier in the reference message corresponding to the message to be shared. If the two are consistent, a message sending object comparison result representing a consistent comparison is obtained. If the two are inconsistent, a message sending object comparison result representing an inconsistent comparison is obtained.
[0115] In some embodiments, the server may first execute step 402 to obtain a message type comparison result, and then execute step 404 to obtain a message sending object comparison result. After executing step 402 to obtain the message type comparison result, if the message type comparison result representation of a message to be shared is inconsistent, then the message to be shared can be directly determined as a non-shareable message without executing step 404.
[0116] In some embodiments, the server may first execute step 404 to obtain the message sending object comparison result, and then execute step 402 to obtain the message type comparison result. After executing step 404 to obtain the message sending object comparison result, if the message sending object comparison result representation of a message to be shared is inconsistent, then the message to be shared can be directly determined as a non-shareable message without executing step 402.
[0117] Step 406, when both the message type comparison result and the message sending object comparison result indicate that the comparison is consistent, the message content in the message body of the corresponding reference message is compared with the message content in the targeted message to be shared to obtain a message content comparison result.
[0118] The message content comparison result may be a result indicating a consistent comparison or a result indicating an inconsistent comparison.
[0119] Specifically, for each message to be shared, if the message type comparison result and the message sending object comparison result of the message to be shared are both consistent, then the message content comparison can be further performed to obtain the message content comparison result. If any of the message type comparison result and the message sending object comparison result of the message to be shared are inconsistent, the server can determine the message to be shared as a non-shareable message. Therefore, when the message type or message sending object identifier of a message to be shared is tampered with, the message to be shared can be quickly identified as a non-shareable message, thereby avoiding other field verification of the message to be shared, thereby improving the message verification efficiency.
[0120] In some embodiments, the server may be deployed with a trained classifier. When the message type of a message to be shared is a text type, and the message type comparison result and the message sending object comparison result of the message to be shared both indicate a consistent comparison, the server may input the text in the message to be shared and the text in the reference message corresponding to the message to be shared into the text similarity determination model, and output the classification result through the classifier. The classifier here is used for binary classification, that is, the output classification result may be one of two types, one of which indicates that the message content comparison result indicates that the comparison is consistent, and the other classification result indicates that the message content comparison result indicates that the comparison is inconsistent.
[0121] In some other embodiments, the server may also calculate the similarity between the text in the message to be shared and the text in the reference message by other means, for example, the edit distance, Euclidean distance, cosine distance, etc. between the two. When the obtained distance is less than a preset distance threshold, a message content comparison result representing consistent comparison is obtained; when the obtained distance is greater than the preset distance threshold, a message content comparison result representing inconsistent comparison is obtained.
[0122] Step 408 , when the message content comparison result indicates that the comparison is consistent, a verification result indicating that the message to be shared is a legitimate message is obtained.
[0123] Specifically, for each message to be shared, if the message content comparison result obtained by further comparing the message content indicates that the comparison is consistent, it can be determined that the verification result of the legitimacy check of the message to be shared is an indication that the message to be shared is a legitimate message, that is, the message to be shared has not been tampered with, and thus it can be determined that the message to be shared is a shareable message.
[0124] In the above embodiment, the message type and the message sending object identifier in the message body of the corresponding reference message are compared with the message type and the message sending object identifier in the corresponding reference message, and the message content comparison is performed only when the comparison results obtained indicate that the comparison is consistent. This can avoid additional comparison of the message type or the message sending object identifier that has been tampered with, improve the verification efficiency of the legitimacy verification of the message to be shared, and thus improve the sharing efficiency.
[0125] In some embodiments, the message content in the message body of the corresponding reference message is compared with the message content in the targeted message to be shared to obtain a message content comparison result, including: when the message type in the message body of the targeted message to be shared is a message type that stores message content outside the message body, the storage path for storing message content in the message body of the corresponding reference message is compared with the storage path for storing message content in the targeted message to be shared to obtain a message content comparison result.
[0126] The message type that stores the message content outside the message body refers to non-text type messages, such as messages whose content is not pictures, videos, files, etc. For such messages, their source files can be stored in the specified database of the server, so that only the corresponding storage path needs to be stored in the message body. When the message reaches the terminal of the communication object, the corresponding message content can be downloaded from the database through the storage path. For such messages, when comparing the message content during the legitimacy verification process, the storage path corresponding to the message content can be used instead of the message content for comparison. If the storage path included in the message body of the message to be shared and the storage path included in the message body of the corresponding reference message, that is, the two messages point to the same content in the database, then the message content of the two messages must be the same.
[0127] Therefore, in an embodiment of the present application, when the server determines that the message type comparison result and the message sending object comparison result of a message to be shared are both characterized by a consistent comparison, and the message type of the message to be shared is a non-text type, the storage path used to store the message content in the message to be shared and the storage path used to store the message content in the message body of the corresponding reference message can be compared. If the storage path used to store the message content in the message to be shared and the storage path used to store the message content in the message body of the corresponding reference message are consistent, a message content comparison result representing a consistent comparison is obtained; if the storage path used to store the message content in the message to be shared and the storage path used to store the message content in the message body of the corresponding reference message are inconsistent, a message content comparison result representing an inconsistent comparison is obtained.
[0128] In the above embodiment, for non-text messages, only the storage path of the message content may be included in the message body, so that when comparing the message content, only the storage path needs to be compared to obtain the message content comparison result, thereby improving the efficiency of legitimacy verification for the content to be shared.
[0129] In some embodiments, when the verification result indicates that the message to be shared is illegal, the message body of the message to be shared is replaced with the message body of the corresponding reference message; according to the message time of the message to be shared, the replaced message to be shared is inserted into the second message stream.
[0130] The reference message corresponding to the message to be shared is a message in the message stream of the first communication object. Therefore, it is a real message of the first communication object as a message participant, and it is also the message that the first communication object actually hopes to share. Because when the verification result indicates that the message to be shared is illegal, the server can also replace the message to be shared with the message body in the reference message corresponding to the message to be shared. The replaced message to be shared is the same as the reference message and is a legal message. Therefore, the server can insert the replaced message to be shared into the second message stream according to the message time of the message to be shared, so that the replaced message can represent the tampered message and be shared with the second communication object.
[0131] In the above embodiment, when the verification result indicates that the message to be shared is illegal, the server can replace the message body of the message to be shared with the message body of the corresponding reference message, and then insert the replaced message to be shared into the second message stream, so as to avoid missing the message that the first communication object expects to share due to message tampering.
[0132] In some embodiments, based on the first message stream, determining at least one sharable message among at least one message to be shared, including: when the number of messages of at least one message to be shared is greater than a preset number, filtering a preset number of messages to be shared from at least one message to be shared; wherein the message time of the filtered messages to be shared is later than the message time of the unfiltered messages to be shared; based on the first message stream, determining at least one sharable message among the filtered preset number of messages to be shared.
[0133] The preset number can be set as needed, for example, the preset number can be 30. The message time of the filtered messages to be shared is later than the message time of the unfiltered messages to be shared, that is, the messages whose time is closest to the current time are filtered out. If all the messages to be shared are sorted in chronological order, the filtered messages are the preset number of messages that are sorted later.
[0134] In order to avoid the impact of too many shared messages on message sharing and interference with the communication objects being shared, in this embodiment, the server can limit the number of messages to be shared. When the server determines that the number of messages to be shared of at least one message is greater than a preset number, it can filter out a preset number of messages to be shared from at least one message to be shared. For the preset number of filtered messages, the server can perform a legitimacy check based on the messages in the first message stream, thereby determining the shareable messages from the filtered messages.
[0135] For example, assuming that the first communication object specifies 50 messages to be shared and the preset number is 30, the number of messages to be shared is greater than the preset number. The server can filter out 30 messages that are closest to the current time from the 50 messages specified to be shared by the first communication object, determine the shareable messages from the filtered 30 messages, and then insert them into the message stream of the second communication object.
[0136] In the above embodiment, when the number of messages to be shared in at least one message is greater than a preset number, a preset number of messages to be shared are screened from at least one message to be shared to limit the number of messages to be shared. On the one hand, the server can automatically screen the messages without the need for the first communication object to perform quantity control at the terminal, thereby improving the convenience of the message sharing operation. On the other hand, the screened messages are checked for legitimacy to determine which messages can be shared. Since the number of messages that require legitimacy verification is reduced, the message sharing efficiency can be improved.
[0137] In some embodiments, each message in the first message stream is associated with a message index, and each message index is associated with a time segment in which the message time of the associated message is located, and the time segment is divided from the message time range of the first message stream; based on the first message stream, at least one sharable message among at least one message to be shared is determined, including: determining the time range to which the message time of each of at least one message to be shared belongs; based on the message index associated with the determined time range, filtering out a set of candidate messages from the first message stream; for each of at least one message to be shared, when there is a message in the candidate message set that is consistent with the targeted message to be shared, the targeted message to be shared is determined as a sharable message.
[0138] Among them, the message time range of the first message stream refers to the time range covering all messages in the first message stream. Since the messages in the first message stream are stored according to the time sequence of the message time, the start time of the message time range of the first message stream can be determined by the first message in the first message stream, and the end time of the message time range of the first message stream can be determined by the last message in the first message stream. It can be understood that in a specific application, as the number of messages in the first message stream increases, the end time of the message time range can be continuously updated, so that the message index can be determined for the most recently stored message. Dividing the message time range to obtain the time segment can be to evenly divide the message time range. For example, assuming that the message time range can be divided in weekly units, for example, assuming that the message time of the first message in the first message stream is 12:23:55 on July 23, 2023, the time segment to which the message belongs can be 00:00:00 on July 17, 2023 to 23:59:59 on July 23, 2023.
[0139] For each divided time segment, a message index can be set, and the time segment and the message index can be associated. The message index can be a number, a letter, or a combination of numbers and letters. For example, for the first week divided by the message time range of the first message stream, the message index can be set to 1, the message index can be set to 2 for the second week, the message index can be set to 3 for the third week, and so on.
[0140] Since the message index is associated with the time segment, when the server performs a message legitimacy check, for each message to be shared that needs to be checked, the server can first determine the time segment to which the message time belongs, and based on the message index associated with the determined time segment, filter out all messages associated with the message index from the first message stream, and group these messages into a candidate message set, so that the server can compare the message to be shared with the messages in the candidate message set. If a message to be shared is consistent with one of the messages in the candidate message set, the message to be shared is determined to be a shareable message, so that at least one shareable message can be obtained.
[0141] In the above embodiment, since the message time range of the messages in the message stream is divided into time segments and associated message indexes are set for the time segments, when performing message legitimacy verification, after determining the time segment to which the message belongs, a candidate message set can be determined based on the message index associated with the time segment, and the shareable messages can be determined by comparison based on the first candidate message set, which greatly reduces the number of messages that need to be compared, thereby improving message sharing efficiency.
[0142] In some embodiments, the above-mentioned message sharing method also includes: counting the number of messages in the first message stream according to a preset time interval; when the number of messages in the first message stream is greater than a preset threshold, sending a message deletion prompt information to the terminal of the first communication object; when receiving a message identifier of at least one message to be deleted sent by the terminal of the first communication object, deleting the message matching the received message identifier from the first message stream; the message to be deleted is a message specified for deletion by the first communication object.
[0143] The message deletion prompt information is used to prompt the communication object to delete the historical message. The message to be deleted can be specified by the first communication object, and the first communication object can specify one or more messages to be deleted.
[0144] Considering that as time goes by, the number of messages in the first message stream will gradually increase, too many messages will affect the message legitimacy verification, and some of these messages are not very important, and the communication object is unlikely to share these messages, so deleting these messages from the message stream of the communication object has little effect on the message sharing process. Based on this, the server can count the number of messages in the message stream of each communication object at a preset time interval. When the number of messages in the message stream of a certain communication object is greater than a preset threshold, the server can send a message deletion prompt to the terminal of the communication object. After the communication object specifies one or more messages to be deleted on the terminal, the terminal can send a message deletion request to the server, and carry a message identifier and a communication object identifier in the message deletion request. The messages identified by these message identifiers are the messages specified to be deleted by the communication object. Therefore, when the server receives the message deletion request sent by the terminal, it can obtain the message identifier and the communication object identifier, determine the corresponding message stream according to the communication object identifier, and then delete the message matching the obtained message identifier from the determined message stream.
[0145] In this embodiment, when the number of messages in the first message stream is greater than a preset threshold, the server can send a message deletion prompt to the terminal of the first communication object. When the server receives the message identifier of at least one message to be deleted sent by the terminal of the first communication object, the server deletes the message matching the received message identifier from the first message stream, thereby reducing the number of messages that need to be compared in the message legitimacy verification process and improving the efficiency of message sharing.
[0146] In some embodiments, the message sharing method of the present application also includes: when the number of at least one shareable message is less than the number of at least one message to be shared, determining the messages in the waiting-to-send state from the first message stream; adding a reminder mark to the messages in the waiting-to-send state, the reminder mark is used to indicate that when the messages in the waiting-to-send state are displayed, an abnormal message reminder is synchronously displayed.
[0147] Among them, the number of at least one shareable message is less than the number of at least one message to be shared, that is, there are non-shareable messages in the messages to be shared, and the non-shareable messages are tampered messages, indicating that there is an abnormality in the terminal environment of the first communication object, then other messages sent by the terminal of the first communication object may also be tampered with. Here, other messages sent by the terminal of the first communication object refer to other session messages sent by the first communication object during the communication process except for the messages to be shared. For example, the first communication object is in a conversation with other communication objects, and the first communication object needs to send a conversation message in the conversation. Messages in the first message stream can exist in two states, one is the sent state, and the messages in the sent state are historical conversation messages. The messages to be shared are the messages in the first message stream that are in the sent state, and the other state is the to-be-sent state, and the messages in the to-be-sent state have not been sent or are in the process of being sent. The abnormal message reminder is used to prompt the communication object that there may be an abnormality in the message. In a specific application, the abnormal message reminder can be an "abnormal" label, or a prompt information in the form of text, voice, etc. to prompt that the message has an abnormality. For example, refer to Figure 5 For messages with reminder marks added, the terminal can simultaneously display abnormal message reminders when displaying them, such as "The message you received may be abnormal, please pay attention to the safety of funds."
[0148] In this embodiment, when the server determines that there is a non-shareable message in at least one message to be shared sent by the terminal of the first communication object, since the terminal environment of the first communication object may be abnormal, other messages may also be tampered with, that is, the security of these messages is low. In this case, the server can determine the messages to be sent from the first message stream, add a reminder mark to the messages to be sent, and when the terminal of the second communication object receives the message with the reminder mark, it will display the abnormal message reminder while displaying the message to remind the second communication object that there may be an abnormality in the message received.
[0149] In the above embodiment, when there are non-shareable messages among the messages to be shared, marking other unsent messages of the first communication object can timely remind the second communication object of possible security risks and avoid the impact of tampered messages on the second communication object.
[0150] In some embodiments, receiving at least one message to be shared sent by a terminal of a first communication object includes: receiving a session participation invitation sent by a terminal of the first communication object; wherein the session participation invitation is initiated by the first communication object to the second communication object, and the session participation invitation indicates a session and at least one historical session message in the session on the terminal of the first communication object; in response to the session participation invitation, adding the second communication object to the session, and determining at least one historical session message as at least one message to be shared.
[0151] In this embodiment, the message to be shared is selected by the first communication object from the historical session messages of the session when the first communication object invites the second communication object to join the session. For example, the first communication object invites the second communication object to join a group and shares some historical session messages in the group with the second communication object. Upon receiving the session participation invitation sent by the terminal of the first communication object, the server may, in response to the session participation invitation, add the second communication object to the session indicated by the session participation invitation, and determine at least one historical session message indicated by the session participation invitation as the message to be shared.
[0152] For example, see Figure 6 and Figure 7 , Figure 6 There are two conversation messages in the group chat page. Figure 7 In the example, when the first communication object invites other communication objects to join the group, the two conversation messages can be selected for sharing, so that when the invited communication objects successfully join the group, the messages shared by the first communication object can be displayed on the group chat page of the terminal, refer to Figure 8 After the invited communication object joins the group, the message selected by the first communication object for sharing is displayed on the group chat page of the invited communication object.
[0153] In the above embodiment, since the historical conversation messages in the participating conversation can be shared while inviting other communication objects to participate in the conversation, the invited communication objects can quickly learn the historical chat content and better participate in the conversation, which greatly improves the user experience.
[0154] In some specific embodiments, Fig. 9 , provides a message sharing method, which can be applied to Figure 1 The server in the example is used to illustrate the following steps:
[0155] Step 902: Receive at least one message to be shared sent by a terminal of a first communication partner; the message to be shared is a message designated by the first communication partner to be shared with the second communication partner.
[0156] Step 904: determine a first message flow corresponding to the first communication object.
[0157] The first message stream is used to store messages with the first communication object as a message participant in the order of message time. Each message in the first message stream is associated with a message index, and each message index is associated with a time segment where the message time of the associated message is located, and the time segment is divided from the message time range of the first message stream.
[0158] Specifically, after receiving at least one message to be shared sent by the terminal of the first communication object, the server can also parse the object identifier of the first communication object from the request body where the message to be shared is located, and then the server can determine the message flow associated with the object identifier based on the parsed object identifier, and the determined message flow is the first message flow of the first communication object.
[0159] Since the message time range of the messages in the message stream is divided into time segments and associated message indexes are set for the time segments, when performing message legitimacy verification, after determining the time segment to which the message belongs, a candidate message set can be determined based on the message index associated with the time segment, and the shareable messages can be determined by comparison based on the first candidate message set, which greatly reduces the number of messages that need to be compared and can improve message sharing efficiency.
[0160] Step 906 , determining the time segment to which the message time of each of the at least one message to be shared belongs.
[0161] Step 909: Filter out a candidate message set from the first message stream based on the message index associated with the determined time segment.
[0162] Step 910: Obtain a message identifier included in at least one message to be shared, and read at least one reference message including any message identifier from the candidate message set.
[0163] Step 912, for each of the at least one message to be shared, when there is a corresponding reference message, the message type in the message body of the corresponding reference message is compared with the message type in the message to be shared to obtain a message type comparison result.
[0164] The reference message corresponding to the message to be shared includes the same message identifier as the message to be shared.
[0165] Step 914 , compare the message sending object identifier in the message body of the corresponding reference message with the message sending object identifier in the targeted message to be shared, and obtain a message sending object comparison result.
[0166] Step 916, when both the message type comparison result and the message sending object comparison result indicate a consistent comparison, the message content in the message body of the corresponding reference message is compared with the message content in the targeted message to be shared to obtain a message content comparison result.
[0167] It can be understood that, for a message to be shared, if any of the representation comparison results of the corresponding message type comparison result and the message sending object comparison result are inconsistent, the message to be shared can be directly determined as a non-shareable message without the need for content comparison. Therefore, when the message type or message sending object identifier of a message to be shared is tampered with, the message to be shared can be quickly identified as a non-shareable message, thereby avoiding other field verification of the message to be shared, thereby improving the efficiency of message verification.
[0168] Step 918, when the message content comparison result indicates that the comparison is consistent, a verification result indicating that the message to be shared is a legitimate message is obtained.
[0169] Step 920: When the verification result of the legality verification indicates that the message to be shared is legal, it is determined that the message to be shared is a shareable message.
[0170] Step 922: Determine a second message flow corresponding to the second communication object.
[0171] Among them, the second message stream is used to store messages with the second communication object as the message participant in the chronological order of message time. The second message stream corresponding to the second communication object is associated with the object identifier of the second communication object, and is used to store messages with the second communication object as the message participant in the chronological order of message time. It may include messages with the second communication object as the message sender, and may also include messages with the second communication object as the message receiver.
[0172] Specifically, after receiving at least one message to be shared sent by the terminal of the first communication object, the server can also parse the object identifier of the second communication object from the request body where the message to be shared is located, and then the server can determine the message flow associated with the object identifier based on the parsed object identifier, and the determined message flow is the second message flow of the second communication object.
[0173] Step 924: insert at least one shareable message into the second message stream according to the message time of the at least one shareable message.
[0174] Step 926: When the verification result of the legality verification indicates that the message to be shared is illegal, the message body of the message to be shared is replaced with the message body of the corresponding reference message.
[0175] Step 928: insert the replaced message to be shared into the second message stream according to the message time of the message to be shared.
[0176] Step 930: Determine the messages in the waiting-to-send state from the first message stream, and add reminder marks to the messages in the waiting-to-send state.
[0177] Among them, the abnormal message reminder can be an "abnormal" label, or a prompt message in the form of text, voice, etc. that indicates that the message is abnormal.
[0178] When there are non-shareable messages among the messages to be shared, marking other unsent messages of the first communication object can timely remind the second communication object of possible security risks and prevent the tampered messages from affecting the second communication object.
[0179] Furthermore, the server can also count the number of messages in the first message stream at a preset time interval; when the number of messages in the first message stream is greater than a preset threshold, send a message deletion prompt to the terminal of the first communication object; when receiving a message identifier of at least one message to be deleted sent by the terminal of the first communication object, delete the message matching the received message identifier from the first message stream; the message to be deleted is a message specified for deletion by the first communication object.
[0180] Furthermore, when the number of messages in the at least one message to be shared is greater than a preset number, the server may also filter the preset number of messages to be shared from the at least one message to be shared; based on the first message flow, determine at least one shareable message among the filtered preset number of messages to be shared; wherein the message time of the filtered messages to be shared is later than the message time of the messages to be shared that have not been filtered out.
[0181] In the above embodiment, when at least one message to be shared sent by the terminal of the first communication object is received, the first message stream corresponding to the first communication object can be determined. The first message stream is used to store messages with the first communication object as a message participant in the chronological order of the message time. Therefore, based on the first message stream, at least one shareable message in at least one message to be shared can be determined. If there is a message consistent with the shareable message in the first message stream, the shareable message is an untampered message. When the shareable message is inserted into the second message stream according to the message time of the shareable message, it is possible to share the untampered legitimate message with the second communication object, thereby improving the security of the message shared during the message sharing process.
[0182] In some embodiments, the present application also provides an application scenario, in which the terminal of the communication object is installed with a client of the target application. When the communication object is in a group chat, it can add people to the group with a session message, that is, invite other communication objects to join the group session, and select the specified historical group chat message to share with the invited communication object, so as to share the chat context. In order to realize the addition of session messages to the group, the client can send the message to be shared to the server, and the server inserts the message into the message stream of the communication object invited to the group. Hackers may tamper with the message sender or the message content on the client, thereby generating false historical messages, which may mislead the communication object and cause security and risk control problems. Since the message is very important data, the server needs to verify the legitimacy of the shared message transmitted by the client, that is, the shared message is indeed sent by the communication object. In the message sharing method provided in the embodiment of the present application, the server verifies the legitimacy of the shared message by comparing the message sent by the client with the message in the message stream of the person who added people to the group.
[0183] In an embodiment of the present application, a message includes information such as message content, message type, recipient, sender, group chat number, message ID (i.e., message identifier), etc. The client and server of the target application will filter, screen, and display messages based on this information. An example of a text message sent by A in group B on June 2, 2022: [Message content: "Deal with this issue this afternoon", sending timestamp: 1654150666, message type: text, sender: A, group chat number: B, message ID: xQdjfne24xi3eQz==…].
[0184] On the server side, each communication partner has a message stream, which stores every message he receives in chronological order. When a communication partner invites someone to join a group, he can select the historical messages in the group and share them with the communication partner. Suppose A invites B to join group R. When the communication partner clicks to confirm the invitation to join the group, the client will put the shared conversation message content into the request of the interface for inviting people to join the group and send it to the server. After the server completes the logic of adding people to the group, it performs the logic of shared message verification.
[0185] refer to Fig.10 , assuming that communication partner A invites communication partner B to join the group, it mainly includes the following three steps:
[0186] 1. Pull historical messages
[0187] The server first obtains the message IDs of the messages shared by the communication object, and uses these message IDs as query conditions to pull out the messages corresponding to these message IDs from the message stream of A stored on the server. The number of messages that a communication object can share at one time is usually capped (for example, a communication object can share a maximum of 30 messages at a time), so it takes less time to pull messages using message IDs, and it will not block the process of pulling people into the group to share session messages.
[0188] 2. Check the legitimacy of the shared message
[0189] For each message shared by A, perform the following checks:
[0190] 1) If there is no message with the same ID as the message in A's message stream, the check fails. End the check.
[0191] 2) If the message body is inconsistent with the message body of the message with the same message ID in A's message stream, the check fails. End the check.
[0192] The rule for whether the message body is consistent can be defined according to the business situation. A feasible rule is: if the message type is the same, the message content is the same, and the sender is the same, then the message body is consistent.
[0193] 3. Inserting messages into the message stream of the person being shared
[0194] Insert the message that has passed the legitimacy check into B's message stream. The message that failed the check will not be shared with others, while the message that passed the check will be shared with others normally. This prevents all messages from being unable to be shared with others due to the failure of some message checks.
[0195] For example, communication partner A invites B to group R and shares 3 conversation messages, namely U1 = (message ID = i1, message content = how is the weather today, message type = text, sender = A), U2 = (message ID = i5, message content = [a weather picture], message type = picture, sender = C), and U3 = (message ID = i3, message content = the weather is really nice today, message type = text, sender = A).
[0196] After confirming the addition of the person to the group, the server sets B as a member of group R, and then performs the logic of sharing the session message. First, the server will pull the messages with message IDs (i1, i5, i3) corresponding to messages U1, U2, and U3 from A's message stream, and pull out two messages: S1 = (message ID = i1, message content = Is the sun out today, message type = text, sender = A), S2 = (message ID = i3, message content = The weather is really nice today, message type = text, sender = A)
[0197] The server will further verify the legitimacy of the messages shared by the communication partner: the U1 message has inconsistent message content compared to the S1 message with the same message ID in the storage, so the verification fails. The U2 message has no message with the corresponding message ID in the message storage, so the verification fails. The U3 message is consistent with the S3 message, so the verification succeeds.
[0198] Therefore, U1 and U2 messages cannot be shared with B, and only U3 message can be shared with B. The server will insert U3 message into B's message stream. Finally, in B's message interface, you can see that A shared a message U3 with B.
[0199] In some embodiments, the present application also provides another application scenario, in which a communication object can forward its own session message in any session to other communication objects. Fig.11 and Fig.12 , there are multiple conversation messages in the chat between communication object A and communication object B. Communication object A can select one or more conversation messages, then click the forward button, select one or more communication objects from the contact list, and forward these conversation messages to the selected communication objects. The forwarded message will be carried in the message forwarding request and sent to the server. After receiving the message forwarding request, the server can parse the message forwarding request to obtain the message to be shared, the message forwarding object identifier and the message receiving object identifier, and then determine the message stream corresponding to the message forwarding object according to the message forwarding object identifier. Based on the message stream, determine the shareable message in the message to be shared that needs to be forwarded, determine the message stream of the message receiving object according to the message receiving object identifier, and insert the shareable message into the message stream of the message receiving object. The server can further read the message from the message receiving object's message stream and send it to the terminal of the message receiving object to realize message forwarding.
[0200] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0201] Based on the same inventive concept, the embodiment of the present application also provides a message sharing device for implementing the message sharing method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more message sharing device embodiments provided below can refer to the limitations on the message sharing method above, and will not be repeated here.
[0202] In some embodiments, Fig.13 As shown, a message sharing device 1300 is provided, including:
[0203] The message receiving module 1302 is configured to receive at least one message to be shared sent by a terminal of a first communication object; the message to be shared is a message designated by the first communication object to be shared with the second communication object;
[0204] A first message stream determination module 1304 is used to determine a first message stream corresponding to a first communication object; the first message stream is used to store messages with the first communication object as a message participant according to the time sequence of the messages;
[0205] The shareable message determination module 1306 is used to determine, based on the first message stream, at least one shareable message in the at least one message to be shared, where there is a message in the first message stream that is consistent with the shareable message;
[0206] The second message stream determination module 1308 is used to determine the second message stream corresponding to the second communication object; the second message stream is used to store messages with the second communication object as a message participant according to the time sequence of the messages;
[0207] The message inserting module 1310 is configured to insert at least one shareable message into the second message stream according to the message time of the at least one shareable message.
[0208] The above-mentioned message sharing device, when receiving at least one message to be shared sent by the terminal of the first communication object, can determine the first message stream corresponding to the first communication object. The first message stream is used to store messages with the first communication object as the message participant in the chronological order of the message time. Therefore, based on the first message stream, at least one shareable message in at least one message to be shared can be determined. If there is a message consistent with the shareable message in the first message stream, the shareable message is an untampered message. When the shareable message is inserted into the second message stream according to the message time of the shareable message, it is possible to share the untampered legitimate message with the second communication object, thereby improving the security of the shared message during the message sharing process.
[0209] In some embodiments, the shareable message determination module 1306 is also used to obtain a message identifier included in each of at least one message to be shared; read at least one reference message including any message identifier from the first message stream; and determine at least one shareable message in at least one message to be shared based on at least one reference message.
[0210] In some embodiments, the shareable message determination module 1306 is also used to, for each of at least one message to be shared, perform a legitimacy check based on the corresponding reference message and the message to be shared when there is a corresponding reference message; the corresponding reference message and the message to be shared include the same message identifier; when the verification result of the legitimacy check indicates that the message to be shared is legal, determine that the message to be shared is a shareable message.
[0211] In some embodiments, when the message type, message sending object identifier and message content in the message body of the corresponding reference message are respectively consistent with the message type, message sending object identifier and message content in the target message to be shared, the verification result indicates that the target message to be shared is legal.
[0212] In some embodiments, the shareable message determination module 1306 is also used to compare the message type in the message body of the corresponding reference message with the message type in the message to be shared to obtain a message type comparison result; compare the message sending object identifier in the message body of the corresponding reference message with the message sending object identifier in the message to be shared to obtain a message sending object comparison result; when the message type comparison result and the message sending object comparison result both indicate a consistent comparison, compare the message content in the message body of the corresponding reference message with the message content in the message to be shared to obtain a message content comparison result; when the message content comparison result indicates a consistent comparison, obtain a verification result indicating that the message to be shared is a legitimate message.
[0213] In some embodiments, the shareable message determination module 1306 is also used to compare the storage path for storing message content in the message body of the corresponding reference message with the storage path for storing message content in the message to be shared, when the message type in the message body of the message to be shared is a message type that stores message content outside the message body, to obtain a message content comparison result.
[0214] In some embodiments, the above-mentioned message sharing device also includes: a message body replacement module, which is used to replace the message body of the message to be shared with the message body of the corresponding reference message when the verification result indicates that the message to be shared is illegal; and insert the replaced message to be shared into the second message stream according to the message time of the message to be shared.
[0215] In some embodiments, the shareable message determination module 1306 is also used to filter a preset number of messages to be shared from at least one message to be shared when the number of messages of at least one message to be shared is greater than a preset number; wherein the message time of the filtered messages to be shared is later than the message time of the unfiltered messages to be shared; and based on the first message stream, determine at least one shareable message among the preset number of filtered messages to be shared.
[0216] In some embodiments, each message in the first message stream is associated with a message index, and each message index is associated with a time segment in which the message time of the associated message is located, and the time segment is divided from the message time range of the first message stream; the shareable message determination module 1306 is also used to determine the time segment to which the message time of each of at least one message to be shared belongs; based on the message index associated with the determined time segment, a candidate message set is screened out from the first message stream; for each of at least one message to be shared, when there is a message in the candidate message set that is consistent with the targeted message to be shared, the targeted message to be shared is determined as a shareable message.
[0217] In some embodiments, the above-mentioned message sharing device also includes: a message deletion module, which is used to count the number of messages in the first message stream according to a preset time interval; when the number of messages in the first message stream is greater than a preset threshold, a message deletion prompt information is sent to the terminal of the first communication object; when at least one message identifier of a message to be deleted sent by the terminal of the first communication object is received, the message matching the received message identifier is deleted from the first message stream; the message to be deleted is a message specified for deletion by the first communication object.
[0218] In some embodiments, the message sharing device further includes: an abnormal reminder module, which is used to determine the messages in the waiting-to-send state from the first message stream when the number of at least one shareable message is less than the number of at least one message to be shared; add a reminder mark to the messages in the waiting-to-send state, and the reminder mark is used to indicate that when the messages in the waiting-to-send state are displayed, an abnormal message reminder is synchronously displayed.
[0219] In some embodiments, the message receiving module is also used to receive a session participation invitation sent by a terminal of the first communication object; wherein the session participation invitation is initiated by the first communication object to the second communication object, and the session participation invitation indicates a session and at least one historical session message in the session on the terminal of the first communication object; in response to the session participation invitation, the second communication object is added to the session, and at least one historical session message is determined as at least one message to be shared.
[0220] Each module in the above message sharing device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.
[0221] In some embodiments, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Fig.14 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store message data of each communication object. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a message sharing method is implemented.
[0222] Those skilled in the art will understand that Fig.14 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0223] In some embodiments, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps of the above-mentioned message sharing method when executing the computer program.
[0224] In some embodiments, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the above-mentioned message sharing method are implemented.
[0225] In some embodiments, a computer program product is provided, including a computer program, which implements the steps of the above-mentioned message sharing method when executed by a processor.
[0226] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.
[0227] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0228] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0229] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A message sharing method, characterized in that: The method comprises: Receiving at least one message to be shared sent by a terminal of a first communication object; the message to be shared is a message designated by the first communication object to be shared with the second communication object; Determine a first message stream corresponding to the first communication object; the first message stream is used to store messages with the first communication object as a message participant in a chronological order of message time; Based on the first message stream, determining at least one shareable message among the at least one message to be shared, wherein there is a message consistent with the shareable message in the first message stream; Determine a second message stream corresponding to the second communication object; the second message stream is used to store messages with the second communication object as a message participant in a chronological order of message time; Insert the at least one sharable message into the second message flow according to the message time of the at least one sharable message.
2. The method according to claim 1, characterized in that The determining, based on the first message flow, at least one shareable message among the at least one message to be shared includes: Obtaining a message identifier included in each of the at least one message to be shared; Reading at least one reference message including any of the message identifiers from the first message stream; At least one sharable message among the at least one message to be shared is determined based on the at least one reference message.
3. The method according to claim 2, characterized in that The determining, based on the at least one reference message, at least one shareable message among the at least one message to be shared includes: For each of the at least one message to be shared, when there is a corresponding reference message, a legitimacy check is performed based on the corresponding reference message and the message to be shared; the corresponding reference message and the message to be shared include the same message identifier; When the verification result of the legality verification indicates that the targeted message to be shared is legal, it is determined that the targeted message to be shared is a shareable message.
4. The method according to claim 3, characterized in that When the message type, message sending object identifier and message content in the message body of the corresponding reference message are respectively consistent with the message type, message sending object identifier and message content in the target message to be shared, the verification result indicates that the target message to be shared is legal.
5. The method according to claim 4, characterized in that The performing a legitimacy check based on the corresponding reference message and the message to be shared includes: Compare the message type in the message body of the corresponding reference message with the message type in the message to be shared, to obtain a message type comparison result; Compare the message sending object identifier in the message body of the corresponding reference message with the message sending object identifier in the message to be shared, and obtain a message sending object comparison result; When both the message type comparison result and the message sending object comparison result indicate that the comparison is consistent, the message content in the message body of the corresponding reference message is compared with the message content in the message to be shared to obtain a message content comparison result; When the message content comparison result indicates that the comparison is consistent, a verification result is obtained indicating that the message to be shared is a legitimate message.
6. The method according to claim 5, characterized in that The comparing the message content in the message body of the corresponding reference message with the message content in the message to be shared to obtain a message content comparison result includes: When the message type in the message body of the message to be shared is a message type that stores message content outside the message body, the storage path for storing message content in the message body of the corresponding reference message is compared with the storage path for storing message content in the message to be shared to obtain a message content comparison result.
7. The method according to claim 3, characterized in that The method further comprises: When the verification result of the legality verification indicates that the targeted message to be shared is illegal, replacing the message body of the targeted message to be shared with the message body of the corresponding reference message; According to the message time of the targeted message to be shared, the replaced message to be shared is inserted into the second message flow.
8. The method according to claim 1, characterized in that The determining, based on the first message flow, at least one shareable message among the at least one message to be shared includes: When the number of the at least one message to be shared is greater than a preset number, filtering the preset number of messages to be shared from the at least one message to be shared; wherein the message time of the filtered messages to be shared is later than the message time of the unfiltered messages to be shared; At least one shareable message among the preset number of filtered messages to be shared is determined based on the first message flow.
9. The method according to claim 1, characterized in that: Each message in the first message stream is associated with a message index, and each message index is associated with a time segment in which a message time of the associated message is located, and the time segment is divided from a message time range of the first message stream; The determining, based on the first message flow, at least one shareable message among the at least one message to be shared includes: Determine a time period to which a message time of each of the at least one message to be shared belongs; Filtering a candidate message set from the first message stream based on a message index associated with the determined time segment; For each of the at least one message to be shared, when there is a message in the candidate message set that is consistent with the targeted message to be shared, the targeted message to be shared is determined as a shareable message.
10. The method according to claim 1, characterized in that The method further comprises: Counting the number of messages in the first message flow according to a preset time interval; When the number of messages in the first message stream is greater than a preset threshold, sending a message deletion prompt message to the terminal of the first communication object; When receiving at least one message identifier of a to-be-deleted message sent by the terminal of the first communication object, deleting the message matching the received message identifier from the first message flow; the to-be-deleted message is the message specified to be deleted by the first communication object.
11. The method according to claim 1, characterized in that: The method further comprises: When the number of the at least one shareable message is less than the number of the at least one to-be-shared message, determining a message in a to-be-sent state from the first message stream; A reminder mark is added to the message in the waiting-to-send state, and the reminder mark is used to indicate that when the message in the waiting-to-send state is displayed, an abnormal message reminder is synchronously displayed.
12. The method according to any one of claims 1 to 11, characterized in that: The receiving at least one message to be shared sent by the terminal of the first communication object includes: Receiving a session participation invitation sent by a terminal of a first communication object; wherein the session participation invitation is initiated by the first communication object to a second communication object, and the session participation invitation indicates a session and at least one historical session message in the session on the terminal of the first communication object; In response to the session participation invitation, the second communication object is added to the session, and the at least one historical session message is determined as at least one message to be shared.
13. A message sharing device, characterized in that: The device comprises: A message receiving module, configured to receive at least one message to be shared sent by a terminal of a first communication object; the message to be shared is a message designated by the first communication object to be shared with a second communication object; A first message stream determination module, used to determine a first message stream corresponding to the first communication object; the first message stream is used to store messages with the first communication object as a message participant in a chronological order of message time; a shareable message determination module, configured to determine, based on the first message stream, at least one shareable message among the at least one message to be shared, wherein there is a message consistent with the shareable message in the first message stream; A second message flow determination module, used to determine a second message flow corresponding to the second communication object; the second message flow is used to store messages with the second communication object as a message participant in a chronological order of message time; A message insertion module is used to insert the at least one shareable message into the second message stream according to the message time of the at least one shareable message.
14. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 12 are implemented.
15. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 12 are implemented.
16. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 12 are implemented.