Message passing methods, media, apparatuses, and computing devices

By unifying real-time and non-real-time messages into a common message format and processing and sending them within the same architecture, the problem of real-time communication architectures being unable to handle non-real-time messages is solved, thereby improving stability and user experience.

CN115695140BActive Publication Date: 2026-04-14HANGZHOU NETEASE ZAIGU TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-26
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

In live video streaming scenarios, real-time communication architectures struggle to handle large volumes of non-real-time messages, leading to increased development and maintenance pressures and impacting the stability of message delivery.

Method used

Real-time and non-real-time messages are encapsulated into a common message format, processed and distributed through a unified architecture, including real-time synchronous message types, non-real-time complete message types, and non-real-time incomplete message types. Video stream insertion, timestamp addition, and sorting are performed respectively to ensure that different types of messages are managed in an orderly manner within the same architecture.

Benefits of technology

It reduces development and maintenance pressure, improves message delivery stability and user experience, and ensures the timely display and accurate receipt of important messages.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115695140B_ABST
    Figure CN115695140B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a message transmission method, medium, device and computing device. The method comprises: receiving a service message encapsulated as a message body conforming to a general message format; processing the message body and an original video stream according to a processing strategy corresponding to a type of the message body, to obtain a processing result, wherein the type of the message body comprises a real-time synchronization message type, a non-real-time complete message type and a non-real-time incomplete message type; and delivering the processing result to a user end, so as to push a video stream with the service message displayed to a user based on the processing result. The above scheme realizes processing and delivery of the service message through a set of architecture, reduces the development and maintenance pressure, and thus improves the stability of message transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of this disclosure relate to the field of communications, and more specifically, embodiments of this disclosure relate to a message transmission method, medium, apparatus, and computing device. Background Technology

[0002] This section is intended to provide background or context for embodiments of this disclosure. The description herein is not intended to imply that it is prior art simply because it is included in this section.

[0003] In video live streaming scenarios, the live video is displayed on the user's playback interface while business messages related to the live video are also displayed. Users can receive video information and business information on the same playback interface, avoiding the need for users to switch interfaces.

[0004] In practical applications, messages can be categorized into real-time messages and non-real-time messages based on their display latency requirements. Real-time messages need to be displayed within a specified video frame of the live video, while non-real-time messages are allowed to be displayed with a delay within a specified video frame of the live video.

[0005] For real-time messages, a real-time communication architecture is used to deliver them to the user end to reduce latency. However, the development and maintenance of real-time communication architectures are complex and cannot handle large volumes of messages. Therefore, for a large number of non-real-time messages, an asynchronous communication architecture is used to deliver them.

[0006] However, using both architectures simultaneously can create development and maintenance pressures and reduce the stability of message transmission. Summary of the Invention

[0007] This disclosure provides a message passing method, medium, apparatus, and computing device for improving the stability of message passing.

[0008] In a first aspect of this disclosure, a message transmission method is provided, comprising: receiving a business message and encapsulating it into a message body conforming to a general message format; processing the message body and an original video stream according to the type of the message body and a processing strategy corresponding to the type of the message body, to obtain a processing result; wherein the type of the message body includes a real-time synchronous message type, a non-real-time complete message type, and a non-real-time incomplete message type; and sending the processing result to a user terminal so that the user terminal pushes a video stream displaying the business message to the user based on the processing result.

[0009] In one embodiment of this disclosure, the step of processing the message body and the original video stream according to the processing strategy corresponding to the message body type to obtain a processing result includes: if the message body type is a real-time synchronous message type, then inserting the message body into a specified moment of the original video stream through a video transcoding service to obtain a first processing result; the processing result includes a video stream carrying the message body, and the specified moment is the moment when the message body needs to be displayed in the original video stream; if the message body type is a non-real-time complete message type, then adding a timestamp to the message body through an application queue service to obtain a second processing result; the processing result includes the original video stream and the message body carrying the timestamp, and the timestamp represents the moment when the message body needs to be displayed in the original video; if the message body type is a non-real-time incomplete message type, then using the message body and the original video stream as a third processing result.

[0010] In another embodiment of this disclosure, sending the processing result to the user terminal includes: if the message body is a real-time synchronous message type, then the video stream carrying the message body is sorted in a first order and sent to the user terminal; the first sorting is based on the arrival order of the video streams; if the message body is a non-real-time complete message type, then the original video stream is sorted in a second order and sent to the user terminal, and the message body is sent to the user terminal according to the timestamp order; the second sorting is based on the arrival order of the original video streams; if the message body is a non-real-time incomplete message type, then the original video stream and the message body are sorted in a third order respectively, and sent to the user terminal according to the third sorting; the third sorting is based on the arrival order of the original video streams and the arrival order of the message bodies.

[0011] In yet another embodiment of this disclosure, for the message body of a real-time synchronization message type, the first processing result corresponding to different message bodies in the same original video stream needs to be displayed differently.

[0012] In a second aspect of this disclosure, a message passing method is provided, comprising: receiving a processing result from a server; the processing result being obtained by the server encapsulating a business message into a message body of a general message format, and then processing the message body and an original video stream according to the type of the message body and a corresponding processing strategy; wherein the type includes a real-time synchronous message type, a non-real-time complete message type, and a non-real-time incomplete message type; parsing the processing result according to the type of the message body to obtain the business message and the original video stream; and pushing a video stream displaying the business message to a user based on the business message and the original video stream.

[0013] In one embodiment of this disclosure, processing the processing result according to the type of the message body to obtain the service message and the original video stream includes: if the type of the message body is a real-time synchronous message type, decoding the video stream carrying the message body to obtain the original video stream and the message body inserted into the original video stream; parsing the message body inserted into the original video stream to obtain the service message; if the type of the message body is a non-real-time complete message type or a non-real-time incomplete message type, using the video stream in the received processing result as the original video stream, parsing the message body in the received processing result to obtain the service message.

[0014] In another embodiment of this disclosure, the step of pushing a video stream displaying the business message to a user based on the business message and the original video stream includes: if the message body is a real-time synchronous message type, then the business message is displayed in the image frame corresponding to a specified time in the original video stream, and a video stream displaying the business message is pushed to the user; if the message body is a non-real-time complete message type, then the business message is combined and displayed in the image frame corresponding to the timestamp in the original video stream, and a video stream displaying the business message is pushed to the user; if the message body is a non-real-time incomplete message type, then the business message is combined and displayed in the image frame corresponding to the current time in the original video stream, and a video stream displaying the business message is pushed to the user.

[0015] In yet another embodiment of this disclosure, the method further includes: if the message body in the processing result is inconsistent with the version of the parsing component used to parse the message body, then parsing is stopped.

[0016] In another embodiment of this disclosure, after processing the processing result according to the type of the message body to obtain the business message and the original video stream, the method further includes: if the business message is the same as the business message in the historical processing result, then performing deduplication processing.

[0017] In another embodiment of this disclosure, the general message format of the processing result includes business information; the method further includes: extracting the business information of each processing result; grouping the processing results according to the business information; and pushing a video stream displaying the business information to the user based on the business message and the original video stream, including: pushing a video stream displaying the business message to the user corresponding to the group to which the processing result belongs, based on the business message and the original video stream.

[0018] In a third aspect of this disclosure, a computer-readable storage medium is provided, comprising: computer-executable instructions stored therein, which, when executed by a processor, are used to implement the message passing method as described in any one of the first aspects.

[0019] In a fourth aspect of this disclosure, a message transmission apparatus is provided, the apparatus comprising: an encapsulation module for receiving a business message and encapsulating it into a message body conforming to a general message format; a processing module for processing the message body and an original video stream according to the type of the message body and a processing strategy corresponding to the type of the message body, to obtain a processing result; the type includes a real-time synchronous message type, a non-real-time complete message type, and a non-real-time incomplete message type; and a delivery module for delivering the processing result to a user terminal, so that the user terminal pushes a video stream displaying the business message to the user based on the processing result.

[0020] In one embodiment of this disclosure, the apparatus further includes: an insertion module, configured to, if the message body is a real-time synchronous message type, insert the message body into a specified moment of the original video stream via a video transcoding service to obtain a first processing result; the processing result includes a video stream carrying the message body, and the specified moment is the moment when the message body needs to be displayed in the original video stream; an addition module, configured to, if the message body is a non-real-time complete message type, add a timestamp to the message body via an application queue service to obtain a second processing result; the processing result includes the original video stream and the message body carrying the timestamp, the timestamp representing the moment when the message body needs to be displayed in the original video; and a merging module, configured to, if the message body is a non-real-time incomplete message type, use the message body and the original video stream as a third processing result.

[0021] In another embodiment of this disclosure, the apparatus further includes: a content delivery network group, configured to, if the message body is a real-time synchronous message type, first sort the video stream carrying the message body and send it to the user terminal; the first sorting is based on the arrival order of the video streams; the content delivery network group is further configured to, if the message body is a non-real-time complete message type, second sort the original video stream and send it to the user terminal, and send the message body to the user terminal according to the timestamp order; the second sorting is based on the arrival order of the original video streams; the content delivery network group is further configured to, if the message body is a non-real-time incomplete message type, third sort the original video stream and the message body respectively, and send them to the user terminal according to the third sorting; the third sorting is based on the arrival order of the original video streams and the arrival order of the message bodies.

[0022] In yet another embodiment of this disclosure, for the message body of the real-time synchronization message type, it is necessary to display different processing results corresponding to different message bodies in the same original video stream.

[0023] In a fifth aspect of this disclosure, a message transmission apparatus is provided, comprising: a receiving module, configured to receive a processing result sent by a server; the processing result being obtained by the server encapsulating a business message into a message body of a general message format, and then processing the message body and an original video stream according to the type of the message body and a corresponding processing strategy; wherein the type includes a real-time synchronous message type, a non-real-time complete message type, and a non-real-time incomplete message type; a parsing module, configured to process the processing result according to the type of the message body to obtain the business message and the original video stream; and a pushing module, configured to push a video stream displaying the business message to a user based on the business message and the original video stream.

[0024] In one embodiment of this disclosure, the apparatus further includes: a decoding module, configured to decode the video stream carrying the message body to obtain the original video stream and the message body inserted at a specified time in the original video stream if the message body is of the real-time synchronous message type; and to parse the message body inserted at the specified time in the original video stream to obtain the service message; and an execution module, configured to use the video stream in the received processing result as the original video stream and parse the message body in the received processing result to obtain the service message if the message body is of the non-real-time complete message type or the non-real-time incomplete message type.

[0025] In another embodiment of this disclosure, the push module is specifically configured to, if the message body is a real-time synchronous message type, display the business message in the image frame corresponding to a specified time in the original video stream, thereby obtaining a video stream displaying the business message and pushing it to the user; the push module is further configured to, if the message body is a non-real-time complete message type, display the combined business message in the image frame corresponding to the timestamp in the original video stream, thereby obtaining a video stream displaying the business message and pushing it to the user; the push module is further configured to, if the message body is a non-real-time incomplete message type, display the combined business message in the image frame corresponding to the current time in the original video stream, thereby obtaining a video stream displaying the business message and pushing it to the user.

[0026] In yet another embodiment of this disclosure, the apparatus further includes a control module configured to stop parsing if the message body in the processing result is inconsistent with the version of the parsing component used to parse the message body.

[0027] In another embodiment of this disclosure, the apparatus further includes a deduplication module, configured to perform deduplication processing if the business message and the business message in the historical processing result are the same.

[0028] In another embodiment of this disclosure, the general message format of the processing result includes business information; the apparatus further includes: a grouping module, used to extract the business information of each processing result; and to group the processing results according to the business information;

[0029] The grouping module is further configured to push a video stream displaying the business message to the user corresponding to the group to which the processing result belongs, based on the business message and the original video stream.

[0030] In a sixth aspect of this disclosure, a computing device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to cause the computing device to perform a message passing method as described in any one of the first aspects of this disclosure.

[0031] According to the embodiments of this disclosure, a single architecture is used to process and distribute business messages, reducing development and maintenance pressure and thereby improving the stability of message transmission. Attached Figure Description

[0032] The above and other objects, features, and advantages of this disclosure will become readily apparent from the following detailed description of exemplary embodiments, taken in conjunction with the accompanying drawings. Several embodiments of this disclosure are illustrated in the drawings by way of example and not limitation, in which:

[0033] Figure 1 A schematic diagram illustrating an application scenario according to an embodiment of the present disclosure is provided.

[0034] Figure 2 A schematic flowchart of a message passing method provided according to an embodiment of the present disclosure is shown.

[0035] Figure 3 An example diagram illustrating a processing flow provided according to an embodiment of the present disclosure is shown schematically;

[0036] Figure 4 An example diagram illustrating a distribution process provided according to an embodiment of the present disclosure is shown schematically;

[0037] Figure 5 An example diagram illustrating a processing of a real-time synchronized message type according to an embodiment of the present disclosure is shown schematically.

[0038] Figure 6 A schematic flowchart of a message passing method according to an embodiment of the present disclosure is shown.

[0039] Figure 7 An example diagram illustrating a grouping process provided according to an embodiment of the present disclosure is shown schematically;

[0040] Figure 8 A schematic diagram of the structure of a storage medium provided according to an embodiment of the present disclosure is shown.

[0041] Figure 9 A schematic diagram of the structure of a message transmission device provided according to an embodiment of the present disclosure is shown.

[0042] Figure 10 A schematic diagram of the structure of a message transmission device provided according to an embodiment of the present disclosure is shown.

[0043] Figure 11 A schematic diagram of the structure of a computing device provided according to an embodiment of the present disclosure is shown.

[0044] In the accompanying drawings, the same or corresponding reference numerals indicate the same or corresponding parts. Detailed Implementation

[0045] The principles and spirit of this disclosure will now be described with reference to several exemplary embodiments. It should be understood that these embodiments are given merely to enable those skilled in the art to better understand and implement this disclosure, and are not intended to limit the scope of this disclosure in any way. Rather, these embodiments are provided to make this disclosure more thorough and complete, and to fully convey the scope of this disclosure to those skilled in the art.

[0046] Those skilled in the art will understand that the embodiments of this disclosure can be implemented as a system, apparatus, device, method, or computer program product. Therefore, this disclosure can be specifically implemented in the following forms: entirely hardware, entirely software (including firmware, resident software, microcode, etc.), or a combination of hardware and software. The data involved in this disclosure can be data authorized by the user or fully authorized by all parties. The collection, dissemination, and use of the data comply with relevant national laws and regulations. The embodiments / examples of this disclosure can be combined with each other.

[0047] According to embodiments of this disclosure, a method, medium, apparatus, and computing device for message transmission are proposed.

[0048] In this article, it is important to understand that the terms used have the following meanings:

[0049] Content Delivery Network (CDN): Caches messages in internet data centers near the user.

[0050] Furthermore, the number of any elements in the accompanying drawings is for illustrative purposes only and not for limitation, and any naming is for distinction only and has no limiting meaning.

[0051] The principles and spirit of this disclosure will be explained in detail below with reference to several representative embodiments. Invention Overview

[0053] The inventors have discovered that while real-time communication architectures can guarantee low latency for sending real-time messages, they cannot handle massive amounts of non-real-time messages. Therefore, asynchronous communication architectures with relatively high latency are needed to send non-real-time messages. Using both architectures simultaneously creates development and maintenance pressures and reduces the stability of message transmission.

[0054] To address the above issues, the inventors have encapsulated real-time and non-real-time messages into message bodies conforming to a common message format, enabling the processing of both types of messages within the same architecture. This reduces development and maintenance pressure and improves message transmission stability.

[0055] After introducing the basic principles of this disclosure, various non-limiting embodiments of this disclosure will be described in detail below.

[0056] Application Scenarios Overview

[0057] First refer to Figure 1 , Figure 1 This is a schematic diagram illustrating an application scenario provided for an embodiment of this disclosure.

[0058] like Figure 1 As shown, within the same architecture, non-real-time messages in the business messages are directly sent to the user terminal, while real-time messages are inserted into the video transcoding module using specified video frames from the video stream. This allows real-time messages to be displayed in real-time when the specified video frames are shown on the user terminal. By implementing a single architecture for processing and sending business messages, the development and maintenance burden is reduced, thereby improving the stability of message transmission.

[0059] Exemplary methods

[0060] The following is combined Figure 1 Application scenarios, refer to Figure 2-7 This document describes a message passing method provided according to exemplary embodiments of the present disclosure. It should be noted that the above application scenarios are shown only to facilitate understanding of the spirit and principles of the present disclosure, and the embodiments of the present disclosure are not limited in any way. Rather, the embodiments of the present disclosure can be applied to any applicable scenario.

[0061] The implementation entity of the embodiments disclosed herein can be a messaging device, which can be implemented in various ways. For example, the messaging device can be program software; or, the device can be integrated, installed, or stored on a physical device, such as a chip, a smart terminal, a computer, a server, or a USB flash drive.

[0062] refer to Figure 2 , Figure 2 This is a schematic flowchart illustrating a message passing method provided in an embodiment of this disclosure. Figure 2 As shown, it includes:

[0063] S201. Receive business messages and encapsulate them into message bodies that conform to a common message format.

[0064] The generic message format is independent of communication methods and channels and covers multiple business types. Developers pre-define a series of fields for the generic message format, fill in information from different types of business messages into these fields, and then encapsulate the business messages and the fields containing their information into a message body. In essence, encapsulating messages into a message body conforming to the generic message format allows different types of business messages to be transmitted within the same architecture.

[0065] S202. Based on the type of the message body, process the message body and the original video stream according to the processing strategy corresponding to the type of the message body to obtain the processing result; the types of the message body include real-time synchronous message type, non-real-time complete message type and non-real-time incomplete message type.

[0066] Real-time synchronized messages are messages with high real-time requirements, needing to be displayed on the user's end at a specified moment in the video, such as important information posted by a broadcaster. Non-real-time complete messages are messages with relatively low real-time requirements that need to be displayed entirely in the video. For example, user comments (bullet comments) have relatively low importance; when the number of comments exceeds a certain threshold, only a portion may be displayed. It's understandable that different types of messages have different levels of importance and need to be transmitted through channels that match their importance.

[0067] S203. The processing result is sent to the user terminal so that the user terminal can push a video stream displaying the business message to the user based on the processing result.

[0068] Specifically, on the user's end, the processing result is converted into a video stream displaying the aforementioned business messages, where the business information is the original business message. It is understood that transmitting the message body in a common message format ensures compatibility with the same architecture, and displaying the original message on the user's end does not affect the user's viewing experience.

[0069] In one example, S202 includes: if the message body is a real-time synchronous message type, then the message body is inserted into a specified moment of the original video stream through a video transcoding service to obtain a first processing result; the processing result includes a video stream carrying the message body, and the specified moment is the moment when the message body needs to be displayed in the original video stream; if the message body is a non-real-time complete message type, then a timestamp is added to the message body through an application queue service to obtain a second processing result; the processing result includes the original video stream and the message body carrying the timestamp, and the timestamp represents the moment when the message body needs to be displayed in the original video; if the message body is a non-real-time incomplete message type, then the message body and the original video stream are used as a third processing result.

[0070] As an optional implementation method, refer to Figure 3 , Figure 3This is an example diagram illustrating the processing flow of this disclosure. The message body processing involves different service modules performing different processing on different message body types. Real-time synchronized messages have high real-time requirements; to reduce the delay between the display time of the real-time synchronized message and the specified time, the real-time synchronized message body is inserted into the specified time of the original video stream. Non-real-time complete messages and non-real-time incomplete messages have relatively lower real-time requirements, so the original video is not processed. Non-real-time complete messages require to be fully displayed in the original video; by adding timestamps, a display time can be specified for all non-real-time complete messages, thus ensuring that all non-real-time complete messages are displayed in the original video.

[0071] As an example, business messages are encapsulated according to the fields of a general message format. The fields of the general message format are described in the table below:

[0072]

[0073]

[0074] For example, bullet screen comments have lower real-time requirements and can tolerate delays. Interactive messages, on the other hand, require higher real-time performance, as the broadcaster needs to communicate with the audience in real time. In related technologies, these two types of messages require different architectures for transmission. In this disclosure, by filling in the business message type in the corresponding fields, different types of business messages can be transmitted within the same architecture.

[0075] It should be noted that this disclosure does not limit the specific types of fields in the general message format.

[0076] Based on the above implementation methods, messages with different real-time requirements can be managed uniformly within the same architecture, which can reduce the pressure of development and maintenance.

[0077] In another example, S203 includes: if the message body is a real-time synchronous message type, then the video stream carrying the message body is sorted in a first order and sent to the user terminal; the first sorting is sorting according to the arrival order of the video streams; if the message body is a non-real-time complete message type, then the original video stream is sorted in a second order and sent to the user terminal, and the message body is sent to the user terminal according to the timestamp order; the second sorting is sorting according to the arrival order of the original video streams; if the message body is a non-real-time incomplete message type, then the original video stream and the message body are sorted in a third order respectively, and sent to the user terminal according to the third sorting; the third sorting is sorting according to the arrival order of the original video streams and the arrival order of the message body.

[0078] As an optional implementation method, refer to Figure 4 , Figure 4 This is an example diagram illustrating the delivery process of this disclosure. Real-time synchronized message bodies are inserted into the original video stream to obtain a video stream carrying the message body, and the entire stream is sorted through a content delivery network group. Non-real-time complete message bodies have timestamps added and can be sorted according to the order of the timestamps. Non-real-time incomplete message bodies do not have timestamp information and are sorted through a content delivery network group.

[0079] Based on the above implementation methods, the processing results are sorted and distributed to achieve orderly management.

[0080] In yet another example, for the message body of a real-time synchronization message type, the first processing result corresponding to different message bodies in the same original video stream needs to be displayed differently.

[0081] For example, refer to Figure 5 , Figure 5 This is an example diagram illustrating the processing of a real-time synchronized message type as described in this disclosure. Different user groups require different services; inserting different message bodies into the same video stream yields different processing results, which are then pushed to different users.

[0082] Based on the above implementation methods, by customizing the message body, business messages can be accurately pushed to different user groups according to their needs.

[0083] In one example, reference Figure 6 , Figure 6 This is a schematic flowchart illustrating a message passing method provided in an embodiment of this disclosure. Figure 6 The following example illustrates the message passing process on the user's end, including the following methods:

[0084] S301. Receive the processing result sent by the server; the processing result is obtained by the server encapsulating the business message into a message body of a general message format, and then processing the message body and the original video stream according to the type of the message body and the corresponding processing strategy; wherein, the type includes real-time synchronous message type, non-real-time complete message type and non-real-time incomplete message type.

[0085] This involves receiving processing results corresponding to the message body type of each channel. It can be understood that transmitting different types of processing results through their respective channels avoids mixing and ensures orderly message delivery.

[0086] S302. Based on the type of the message body, the processing result is parsed to obtain the business message and the original video stream.

[0087] The business message is the original business message before encapsulation, from which users can obtain the corresponding information.

[0088] S303. Based on the business message and the original video stream, push the video stream displaying the business message to the user.

[0089] There is a corresponding relationship between business messages and video streams. Each business message is sent to a specific video stream, and pushing business messages to users is accompanied by a specific video stream.

[0090] In one example, S302 includes: if the message body is a real-time synchronous message type, then decoding the video stream carrying the message body to obtain the original video stream and the message body inserted into the original video stream; parsing the message body inserted into the original video stream to obtain the service message; if the message body is a non-real-time complete message type or a non-real-time incomplete message type, then using the video stream in the received processing result as the original video stream, parsing the message body in the received processing result to obtain the service message.

[0091] For example, the processing result of a real-time synchronous message type is a video stream, so the video stream needs to be decoded to obtain the message body, and the message body needs to be parsed to obtain the business message. However, in the processing result of a non-real-time complete message type or a non-real-time incomplete message type, the original video stream and the message body are independent, so no decoding operation is required.

[0092] Based on the above implementation methods, different types of business messages can be managed in a unified manner through different parsing methods.

[0093] In another example, S303 includes: if the message body is a real-time synchronous message type, then displaying the service message in the image frame corresponding to the specified time in the original video stream, and pushing the video stream displaying the service message to the user; if the message body is a non-real-time complete message type, then displaying the service message in the image frame corresponding to the timestamp in the original video stream, and pushing the video stream displaying the service message to the user; if the message body is a non-real-time incomplete message type, then displaying the service message in the image frame corresponding to the current time in the original video stream, and pushing the video stream displaying the service message to the user.

[0094] As an optional implementation, the message body of a real-time synchronization message is inserted at a specified moment in the original video, and the corresponding real-time synchronization message is also displayed in the image frame of the original video at that specified moment. The message body of a non-real-time complete message contains timestamp information, and the non-real-time complete message is displayed in the image frame of the original video corresponding to that timestamp. Non-real-time incomplete messages do not have a specified display moment and are displayed in the image frame corresponding to the current moment in the original video.

[0095] Based on the above implementation methods, the display time is selected according to the real-time requirements of the business messages to ensure that users can accurately receive important business messages.

[0096] In yet another example, the messaging method further includes stopping parsing if the message body in the processing result is inconsistent with the version of the parsing component used to parse the message body.

[0097] As an optional implementation, if the message body in the processing result is incorrect, it can be discarded through version control so that the user is unaware of it.

[0098] Based on the above implementation methods, version control can be used to filter business messages before users receive them, thereby improving the user experience.

[0099] In another example, after processing the processing result according to the type of the message body to obtain the business message and the original video stream, the method further includes: if the business message is the same as the business message in the historical processing result, then deduplication processing is performed.

[0100] For example, when a user retrieves processing results from a content delivery network group, there may be duplicate retrievals, so deduplication is necessary.

[0101] Based on the above implementation methods, duplicate pushes can be avoided through deduplication.

[0102] In another example, the general message format of the processing results includes business information; the message passing method further includes: extracting the business information of each processing result; grouping the processing results according to the business information; and pushing a video stream displaying the business information to the user based on the business message and the original video stream, including: pushing a video stream displaying the business message to the user corresponding to the group to which the processing result belongs, based on the business message and the original video stream.

[0103] As an optional implementation method, refer to Figure 7 , Figure 7 This is an example diagram illustrating a grouping process as described in this disclosure. Figure 7As shown, the data is grouped according to the type of business information. Processing results 1, 2, and 3 belong to group 1, while processing results 4 and 5 belong to group 2. The business message and original video stream corresponding to the processing results of group 1 are pushed to user 1, who is associated with group 1, and the business message and original video stream corresponding to the processing results of group 2 are pushed to user 2, who is associated with group 1.

[0104] Based on the above implementation methods, by targeting users in groups, the relevance between the pushed business messages and users can be improved, thereby enhancing the user experience.

[0105] The message transmission method provided in this embodiment receives a business message and encapsulates it into a message body conforming to a general message format. Based on the type of the message body, it processes the message body and the original video stream according to the processing strategy corresponding to that type, obtaining a processing result. The types include real-time synchronous message types, non-real-time complete message types, and non-real-time incomplete message types. The processing result is then sent to the user terminal, enabling the user terminal to push a video stream displaying the business message to the user based on the processing result. This solution implements the processing and sending of business messages through a single architecture, reducing development and maintenance pressure and thus improving the stability of message transmission.

[0106] Exemplary media

[0107] After introducing the methods of exemplary embodiments of this disclosure, the following references are made. Figure 8 The storage medium of the exemplary embodiments of this disclosure will be described.

[0108] refer to Figure 8 As shown, the storage medium 80 stores a program product for implementing the above-described method according to embodiments of the present disclosure. This program product may be a portable compact disc read-only memory (CD-ROM) and includes program code, and can run on a device such as a personal computer. However, the program product of the present disclosure is not limited thereto.

[0109] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0110] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying readable program code. This propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium.

[0111] Program code for performing the operations disclosed herein can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing devices can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN).

[0112] Exemplary device

[0113] Having introduced the medium of exemplary embodiments of this disclosure, the following references are made to... Figure 9 The message transmission apparatus of the exemplary embodiments of this disclosure is described to implement the method in any of the above method embodiments. The implementation principle and technical effect are similar, and will not be repeated here.

[0114] refer to Figure 9 , Figure 9 This is a schematic diagram of a message transmission device provided in an embodiment of this disclosure. Figure 9 As shown, it includes:

[0115] The encapsulation module 91 is used to receive business messages and encapsulate them into a message body that conforms to a general message format.

[0116] The universal message format is independent of communication methods and channels, and covers a variety of business types. It can be understood that encapsulating message bodies in a universal message format allows different types of business messages to be transmitted within the same architecture.

[0117] The processing module 92 is used to process the message body and the original video stream according to the processing strategy corresponding to the message body type, and obtain the processing result; the type includes real-time synchronous message type, non-real-time complete message type and non-real-time incomplete message type.

[0118] Real-time synchronized messages are messages with high real-time requirements, needing to be displayed on the user's end at a specified moment in the video, such as important information posted by a broadcaster. Non-real-time complete messages are messages with relatively low real-time requirements that need to be displayed entirely in the video. For example, user comments (bullet comments) have relatively low importance; when the number of comments exceeds a certain threshold, only a portion may be displayed. It's understandable that different types of messages have different levels of importance and need to be transmitted through channels that match their importance.

[0119] The delivery module 93 is used to send the processing result to the user terminal, so that the user terminal can push a video stream displaying the business message to the user based on the processing result.

[0120] Specifically, on the user's end, the processing result is converted into a video stream displaying the aforementioned business messages, where the business information is the original business message. It is understood that transmitting the message body in a common message format ensures compatibility with the same architecture, and displaying the original message on the user's end does not affect the user's viewing experience.

[0121] In one example, the messaging device further includes: an insertion module 94, configured to insert the message body into a specified moment of the original video stream via a video transcoding service if the message body is a real-time synchronous message type, to obtain a first processing result; the processing result includes a video stream carrying the message body, and the specified moment is the moment when the message body needs to be displayed in the original video stream; an addition module 95, configured to add a timestamp to the message body via an application queue service if the message body is a non-real-time complete message type, to obtain a second processing result; the processing result includes the original video stream and the message body carrying the timestamp, the timestamp representing the moment when the message body needs to be displayed in the original video; and a merging module 96, configured to use the message body and the original video stream as a third processing result if the message body is a non-real-time incomplete message type.

[0122] As an example, business messages are encapsulated according to the fields of a general message format. The fields of the general message format are described in the table below:

[0123]

[0124] In another example, the messaging device further includes: a content delivery network group, configured to, if the message body is a real-time synchronous message type, first sort the video stream carrying the message body and send it to the user terminal; the content delivery network group is further configured to, sort the first sorting according to the arrival order of the video streams; if the message body is a non-real-time complete message type, second sort the original video stream and send it to the user terminal, and send the message body to the user terminal according to the timestamp order; the second sorting is according to the arrival order of the original video streams; the content delivery network group is further configured to, if the message body is a non-real-time incomplete message type, third sort the original video stream and the message body respectively, and send them to the user terminal according to the third sorting; the third sorting is according to the arrival order of the original video streams and the arrival order of the message bodies.

[0125] In yet another example, for the message body of the real-time synchronization message type, it is necessary to display different processing results for different message bodies in the same original video stream.

[0126] In one example, reference Figure 10 , Figure 10 This is a schematic diagram of a message transmission device provided in an embodiment of this disclosure. Figure 10 As shown, it includes:

[0127] The receiving module 101 is used to receive the processing result sent by the server. The processing result is obtained by the server encapsulating the business message into a message body of a general message format, and then processing the message body and the original video stream according to the type of the message body and the corresponding processing strategy. The types include real-time synchronous message type, non-real-time complete message type and non-real-time incomplete message type.

[0128] This involves receiving processing results corresponding to the message body type of each channel. It can be understood that transmitting different types of processing results through their respective channels avoids mixing and ensures orderly message delivery.

[0129] The parsing module 102 is used to process the processing result according to the type of the message body to obtain the business message and the original video stream.

[0130] The business message is the original business message before encapsulation, from which users can obtain the corresponding information.

[0131] The push module 103 is used to push a video stream displaying the business message to the user based on the business message and the original video stream.

[0132] There is a corresponding relationship between business messages and video streams. Each business message is sent to a specific video stream, and pushing business messages to users is accompanied by a specific video stream.

[0133] In one example, the messaging device further includes: a decoding module 104, configured to decode the video stream carrying the message body to obtain the original video stream and the message body inserted at a specified time in the original video stream if the message body is of the real-time synchronous message type; and to parse the message body inserted at the specified time in the original video stream to obtain the service message; and an execution module 105, configured to use the video stream in the received processing result as the original video stream and parse the message body in the received processing result to obtain the service message if the message body is of the non-real-time complete message type or the non-real-time incomplete message type.

[0134] In another example, push module 103 is specifically configured to, if the message body is a real-time synchronous message type, display the business message in the image frame corresponding to a specified time in the original video stream, thereby obtaining a video stream displaying the business message and pushing it to the user; push module 103 is further configured to, if the message body is a non-real-time complete message type, display the combined business message in the image frame corresponding to the timestamp in the original video stream, thereby obtaining a video stream displaying the business message and pushing it to the user; push module 103 is further configured to, if the message body is a non-real-time incomplete message type, display the combined business message in the image frame corresponding to the current time in the original video stream, thereby obtaining a video stream displaying the business message and pushing it to the user.

[0135] In yet another example, the messaging device further includes a control module 106, configured to stop parsing if the message body in the processing result is inconsistent with the version of the parsing component used to parse the message body.

[0136] In yet another example, the messaging device further includes a deduplication module 107, which performs deduplication processing if the business message is the same as the business message in the historical processing result.

[0137] In another example, the general message format of the processing result includes business information; the message transmission device further includes: a grouping module 108, used to extract the business information of each processing result; group the processing results according to the business information; the grouping module 108 is also used to push a video stream displaying the business message to the user corresponding to the group to which the processing result belongs, based on the business message and the original video stream.

[0138] The message transmission device provided in this embodiment includes an encapsulation module for receiving business messages and encapsulating them into a message body conforming to a general message format; a processing module for processing the message body and the original video stream according to the type of the message body and the corresponding processing strategy to obtain a processing result; the types include real-time synchronous message types, non-real-time complete message types, and non-real-time incomplete message types; and a delivery module for delivering the processing result to the user terminal, so that the user terminal can push a video stream displaying the business message to the user based on the processing result. This solution implements the processing and delivery of business messages through a single architecture, reducing development and maintenance pressure and thus improving the stability of message transmission.

[0139] Exemplary computing device

[0140] Having described the methods, media, and apparatus of exemplary embodiments of this disclosure, the following references... Figure 11 A computing device according to an exemplary embodiment of the present disclosure will be described.

[0141] Figure 11 The computing device 110 shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments disclosed herein.

[0142] like Figure 11 As shown, the computing device 110 is presented in the form of a general-purpose computing device. The components of the computing device 110 may include, but are not limited to: at least one processing unit 1101, at least one storage unit 1102, and a bus 1103 connecting different system components (including the processing unit 1101 and the storage unit 1102).

[0143] Bus 1103 includes a data bus, a control bus, and an address bus.

[0144] Storage unit 1102 may include readable media in the form of volatile memory, such as random access memory (RAM) 11021 and / or cache memory 11022, and may further include readable media in the form of non-volatile memory, such as read-only memory (ROM) 11023.

[0145] Storage unit 1102 may also include a program / utility 11025 having a set (at least one) of program modules 11024, such program modules 11024 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.

[0146] The computing device 110 can also communicate with one or more external devices 1104 (e.g., keyboard, pointing device, etc.). This communication can be performed via input / output (I / O) interface 1105. Furthermore, the computing device 110 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 1106. Figure 11 As shown, network adapter 1106 communicates with other modules of computing device 110 via bus 1103. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with computing device 110, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0147] It should be noted that although several units / modules or sub-units / modules of the messaging device have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more units / modules described above can be embodied in one unit / module. Conversely, the features and functions of one unit / module described above can be further divided and embodied by multiple units / modules.

[0148] Furthermore, although the operations of the methods disclosed herein are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all of the operations shown must be performed to achieve the desired result. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps.

[0149] While the spirit and principles of this disclosure have been described with reference to several specific embodiments, it should be understood that this disclosure is not limited to the disclosed specific embodiments, and the division of aspects does not imply that features in these aspects cannot be combined for benefit; such division is merely for convenience of expression. This disclosure is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

Claims

1. A message passing method, comprising: Receive business messages and encapsulate them into a message body that conforms to a common message format; Based on the type of the message body, the message body and the original video stream are processed according to the processing strategy corresponding to the type of the message body to obtain the processing result; the types of the message body include real-time synchronous message type, non-real-time complete message type, and non-real-time incomplete message type; If the message body is a real-time synchronous message type, the message body is inserted into the original video stream at a specified time through a video transcoding service to obtain a first processing result; the processing result includes a video stream carrying the message body, and the specified time is the time when the message body needs to be displayed in the original video stream; If the message body is a non-real-time complete message type, a timestamp is added to the message body through the application queue service to obtain a second processing result; the processing result includes the original video stream and the message body carrying the timestamp, the timestamp representing the moment when the message body needs to be displayed in the original video; If the message body is a non-real-time, incomplete message type, then the message body and the original video stream are used as the third processing result; The processing result is sent to the user terminal so that the user terminal can push a video stream displaying the business message to the user based on the processing result.

2. The method according to claim 1, wherein sending the processing result to the user terminal includes: If the message body is a real-time synchronization message, the video stream carrying the message body is sorted in the first order and sent to the user terminal; the first sorting is based on the arrival order of the video streams. If the message body is a non-real-time complete message type, the original video stream is sorted in a second order and sent to the user terminal, and the message body is sent to the user terminal in the order of the timestamps; the second sorting is based on the arrival order of the original video streams. If the message body is a non-real-time, incomplete message type, then the original video stream and the message body are respectively sorted in a third order, and sent to the user terminal according to the third order; the third order is sorted according to the arrival order of the original video stream and the arrival order of the message body.

3. According to the method of claim 2, for the message body of the real-time synchronization message type, the first processing result corresponding to different message bodies in the same original video stream should be displayed differently.

4. A message passing method, comprising: Receive the processing results sent by the server; The processing result is obtained by the server encapsulating the business message into a message body of a general message format, and then processing the message body and the original video stream according to the type of the message body and the corresponding processing strategy; wherein, the type includes real-time synchronous message type, non-real-time complete message type, and non-real-time incomplete message type; Based on the type of the message body, the processing result is parsed to obtain the business message and the original video stream; If the message body is a real-time synchronization message type, then the video stream carrying the message body is decoded to obtain the original video stream and the message body inserted into the original video stream; the message body inserted into the original video stream is parsed to obtain the business message. If the message body is a non-real-time complete message type or a non-real-time incomplete message type, then the video stream in the received processing result is used as the original video stream, and the message body in the received processing result is parsed to obtain the business message. Based on the business message and the original video stream, a video stream displaying the business message is pushed to the user.

5. The method according to claim 4, wherein pushing a video stream displaying the business message to the user based on the business message and the original video stream comprises: If the message body is a real-time synchronous message type, the business message is displayed in the image frame corresponding to the specified time in the original video stream, and the video stream displaying the business message is pushed to the user. If the message body is a non-real-time complete message type, the business message is combined and displayed in the image frame corresponding to the timestamp in the original video stream, and a video stream displaying the business message is pushed to the user. If the message body is a non-real-time, incomplete message type, the business message is combined and displayed in the image frame corresponding to the current moment in the original video stream, and a video stream displaying the business message is pushed to the user.

6. The method according to claim 5, further comprising: If the message body in the processing result is inconsistent with the version of the parsing component used to parse the message body, then parsing stops.

7. The method according to claim 4, further comprising, after processing the processing result according to the type of the message body to obtain the business message and the original video stream: If the business message is the same as the business message in the historical processing results, then deduplication processing is performed.

8. The method according to any one of claims 4-7, wherein the general message format of the processing result includes business information; the method further includes: Extract business information from each processing result; Based on the business information, the processing results are grouped. The step of pushing a video stream displaying the business message to the user based on the business message and the original video stream includes: Based on the business message and the original video stream, a video stream displaying the business message is pushed to the user corresponding to the group to which the processing result belongs.

9. A computer-readable storage medium, comprising: The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the message passing method as described in any one of claims 1 to 8.

10. A messaging apparatus, the apparatus comprising: The encapsulation module is used to receive business messages and encapsulate them into a message body that conforms to a common message format. The processing module is used to process the message body and the original video stream according to the processing strategy corresponding to the message body type, and obtain the processing result; the type includes real-time synchronous message type, non-real-time complete message type, and non-real-time incomplete message type; The delivery module is used to deliver the processing result to the user terminal, so that the user terminal can push a video stream displaying the business message to the user based on the processing result; The device further includes: An insertion module is used to insert the message body into a specified moment in the original video stream via a video transcoding service if the message body is a real-time synchronous message type, thereby obtaining a first processing result; the processing result includes a video stream carrying the message body, and the specified moment is the moment when the message body needs to be displayed in the original video stream; An add module is used to add a timestamp to the message body by applying a queue service if the message body is a non-real-time complete message type, thereby obtaining a second processing result; the processing result includes the original video stream and the message body carrying the timestamp, the timestamp representing the moment when the message body needs to be displayed in the original video; The merging module is used to treat the message body and the original video stream as a third processing result if the message body is a non-real-time, incomplete message type.

11. The apparatus of claim 10, further comprising: A content delivery network group is configured to, if the message body is a real-time synchronization message type, first sort the video stream carrying the message body and send it to the user terminal; the first sorting is based on the arrival order of the video streams. The content delivery network group is further configured to, if the message body is a non-real-time complete message type, perform a second sorting on the original video stream and send it to the user terminal, and send the message body to the user terminal according to the timestamp order; the second sorting is based on the arrival order of the original video stream; The content delivery network group is further configured to, if the message body is a non-real-time incomplete message type, perform a third sorting on the original video stream and the message body respectively, and send them to the user terminal according to the third sorting; the third sorting is to sort according to the arrival order of the original video stream and the arrival order of the message body.

12. The apparatus according to claim 11, for message bodies of the real-time synchronization message type, requires that different processing results be displayed for different message bodies corresponding to the same original video stream.

13. A message transmitting device, comprising: The receiving module is used to receive the processing results sent by the server. The processing result is obtained by the server encapsulating the business message into a message body of a general message format, and then processing the message body and the original video stream according to the type of the message body and the corresponding processing strategy; wherein, the types include real-time synchronous message type, non-real-time complete message type, and non-real-time incomplete message type; The parsing module is used to parse the processing result according to the type of the message body to obtain the business message and the original video stream; The push module is used to push a video stream displaying the business message to the user based on the business message and the original video stream; The device further includes: The decoding module is used to decode the video stream carrying the message body if the message body is a real-time synchronization message type, to obtain the original video stream and the message body inserted into the original video stream at a specified time; and to parse the message body inserted into the original video stream at the specified time to obtain the service message. The execution module is configured to, if the message body is a non-real-time complete message type or a non-real-time incomplete message type, use the video stream in the received processing result as the original video stream, parse the message body in the received processing result, and obtain the business message.

14. The apparatus according to claim 13, The push module is specifically used to display the business message in the image frame corresponding to a specified time in the original video stream if the message body is a real-time synchronous message type, thereby obtaining a video stream displaying the business message and pushing it to the user. The push module is further configured to, if the message body is a non-real-time complete message type, combine and display the business message in the image frame corresponding to the timestamp in the original video stream, and push the video stream displaying the business message to the user. The push module is further configured to, if the message body is a non-real-time, incomplete message type, combine and display the business message in the image frame corresponding to the current moment in the original video stream, and push the video stream displaying the business message to the user.

15. The apparatus of claim 13, further comprising: The control module is configured to stop parsing if the version of the message body in the processing result is inconsistent with the version of the parsing component used to parse the message body.

16. The apparatus of claim 13, further comprising: The deduplication module is used to perform deduplication processing if the business message is the same as the business message in the historical processing results.

17. The apparatus according to any one of claims 13-16, wherein the general message format of the processing result includes business information; the apparatus further comprises: The grouping module is used to extract business information from each processing result; Based on the business information, the processing results are grouped. The grouping module is further configured to push a video stream displaying the business message to the user corresponding to the group to which the processing result belongs, based on the business message and the original video stream.

18. A computing device, comprising: At least one processor; and a memory communicatively connected to the at least one processor; The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, cause the computing device to perform the message passing method as described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Message pushing method, device and equipment

    CN114979250A

  • Game service system, game service apparatus and game control method thereof

    KR1020120076630A