Live broadcast data processing method and device, storage medium and electronic equipment
Through a combination of dictionary processing and traditional compression algorithms, live broadcast data is compressed multiple times, solving the problem of the inability to take into account bandwidth optimization and real-time data transmission in the prior art, and achieving efficient bandwidth utilization and real-time data transmission.
Patent Information
- Application Number
- CN202510028141.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-07
- Publication Date
- 2025-05-23
AI Technical Summary
The prior art cannot perform bandwidth optimization while maintaining the real-time nature of live broadcast data, resulting in excessive bandwidth demand during live broadcast data transmission.
The live broadcast data is dictionized through a pre-configured dictionary to obtain the first compressed data, and then the traditional data compression algorithm is used to compress the target data for the second time. The target data is sent to the target client through the long connection proxy layer and is sent according to the client's dictionary version number.
It effectively reduces the space occupied by live broadcast data, reduces the amount of data sent from the long-connection proxy layer to the target client at the root, improves data transmission efficiency, and achieves the technical effect of reducing bandwidth requirements during live broadcast data transmission.
Smart Images

Figure CN120034675A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computers, and more specifically, to a method and device for processing live broadcast data, a storage medium, and an electronic device. Background Art
[0002] In various Internet application scenarios, for resources with obvious static characteristics, such as web pages and pictures, traditional data compression algorithms are usually used to compress static data, and combined with multi-level caching technology for acceleration and bandwidth optimization.
[0003] However, due to the real-time requirements of live broadcast data, it is impossible to directly use traditional data compression methods to optimize bandwidth. For example, for bullet screen messages during live broadcast, they need to be sent in real time. The server can compress a single bullet screen before sending it, which will inevitably cause delays in the bullet screen messages of multiple clients where simultaneous online viewers are located. Therefore, the use of traditional data compression methods cannot meet the requirements of compressing live broadcast data while ensuring the real-time performance of live broadcast data, resulting in the technical problem of excessive bandwidth requirements during the transmission of live broadcast data.
[0004] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0005] The embodiments of the present application provide a method and device for processing live data, a storage medium, and an electronic device, so as to at least solve the technical problem that it is impossible to take into account both bandwidth optimization and real-time data transmission during the processing of live data.
[0006] According to one aspect of an embodiment of the present application, a method for processing live data is provided, comprising: obtaining live data, wherein the live data includes messages sent by viewers during the live broadcast; using at least one version of a pre-configured dictionary to perform dictionary processing on the live data to obtain at least one group of data after a first compression, wherein the at least one group of data includes data compressed according to a dictionary corresponding to each version in at least one version; performing a second compression on the at least one group of data to obtain at least one group of target data; sending the at least one group of target data to a long connection proxy layer, wherein the long connection proxy layer acts as an agent for a target client to interact with a server; based on the dictionary version number received by the long connection proxy layer, sending a group of target data corresponding to the dictionary version number in the at least one group of target data to a target client.
[0007] Optionally, the above-mentioned use of at least one version of a pre-configured dictionary to perform dictionary processing on the live broadcast data to obtain at least one group of data after the first compression includes: obtaining each version of the dictionary from at least one version of the dictionary in turn as the dictionary of the current version; performing word segmentation processing on the live broadcast data to obtain a first group of keywords; using the dictionary of the current version to remove high-frequency keywords in the first group of keywords to obtain a second group of keywords after the first-level compression processing; when it is queried that the current version of the dictionary contains the second group of keywords, using the index number of the second group of keywords in the current version of the dictionary, performing a second-level compression processing on the second group of keywords to obtain a group of compressed data; based on the version number of the current version of the dictionary, encapsulating a group of compressed data to obtain a current group of data after the first compression processing, wherein at least one group of data includes the current group of data.
[0008] Optionally, in the above case where the current version of the dictionary is found to contain a second group of keywords, the second group of keywords are subjected to a second-level compression process using the index number of the second group of keywords in the current version of the dictionary, including: replacing the second group of keywords with the index number; determining the data consisting of the index number and the target characters as a group of compressed data, wherein the target characters are preset characters used in the dictionary processing.
[0009] Optionally, the sending of at least one set of target data to the long connection proxy layer includes: using a data compression algorithm to perform initial compression processing on the live broadcast data to obtain a set of compressed data; sending at least one set of target data and a set of compressed data to the long connection proxy layer.
[0010] Optionally, the method further includes: when the dictionary version number received by the persistent connection proxy layer is empty, sending a group of compressed data to the target client.
[0011] Optionally, the above-mentioned sending a group of target data corresponding to the dictionary version number in at least one group of target data to the target client based on the dictionary version number received by the persistent connection proxy layer includes: obtaining the dictionary version number of the latest version of the dictionary pulled by the target client from the content distribution network; reporting the dictionary version number to the persistent connection proxy layer through the target client; based on the dictionary version number, searching for a group of target data corresponding to the dictionary version number from at least one group of target data; and sending the group of target data to the target client.
[0012] Optionally, before obtaining the dictionary version number of the latest version of the dictionary pulled by the target client from the content distribution network, the above method also includes: obtaining the second version number pushed by the persistent proxy layer to the target client, and obtaining the first version number of the dictionary currently effective on the target client; sending the first version number and the first version number to the content distribution network; comparing the first version number with the second version number, and if the first version number is inconsistent with the second version number, pulling the dictionary with the second version number from the content distribution network, and reporting the second version number to the persistent proxy layer, wherein the second version number is the version number of the latest version of the dictionary stored in the content distribution network.
[0013] Optionally, in the case where the first version number and the second version number are inconsistent, pulling the dictionary of the second version number from the content distribution network includes: pulling all the third group of keywords contained in the dictionary of the second version number to the target client; or determining at least some of the keywords from the third group of keywords based on the differences between the third group of keywords and the fourth group of keywords, wherein the fourth group of keywords are the keywords contained in the dictionary of the first version number; and pulling at least some of the keywords from the content distribution network.
[0014] Optionally, after sending a group of target data corresponding to the dictionary version number in at least one group of target data to the target client based on the dictionary version number received by the long connection proxy layer, the above method also includes: based on the index number of each data in the group of target data, querying the target dictionary pre-saved on the target client to obtain the target keyword corresponding to the index number of each data; based on the target keyword, determining the decoded live broadcast data.
[0015] According to another aspect of an embodiment of the present application, a live broadcast data processing device is also provided, including: a first acquisition unit, used to acquire live broadcast data, wherein the live broadcast data includes messages sent by viewers during the live broadcast process; a first processing unit, used to perform dictionary processing on the live broadcast data using at least one pre-configured version of a dictionary, to obtain at least one group of data after a first compression, wherein at least one group of data includes data after the live broadcast data is compressed according to the dictionary corresponding to each version in at least one version; a second processing unit, used to perform a second compression on the at least one group of data to obtain at least one group of target data; a first sending unit, used to send at least one group of target data to a long connection proxy layer, wherein the long connection proxy layer acts as an agent for a target client to interact with a server; a second sending unit, used to send a group of target data corresponding to the dictionary version number in at least one group of target data to a target client based on the dictionary version number received by the long connection proxy layer.
[0016] According to another aspect of the embodiments of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is used to execute the above-mentioned live broadcast data processing method when run by an electronic device.
[0017] According to another aspect of the embodiments of the present application, a computer program product is provided, including a computer program that implements the steps of the above method when the computer program is executed by a processor.
[0018] According to another aspect of the embodiments of the present application, there is also provided an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the live broadcast data processing method through the computer program.
[0019] By adopting the above-mentioned embodiment provided by the present application, the live broadcast data is efficiently compressed through at least one version of the dictionary pre-configured to obtain at least one group of data after dictionary processing; then, through the dictionary version number reported to the long connection proxy layer by the target client, a group of target data matching the dictionary version number is determined from at least one group of data, and sent to the target client. In other words, the live broadcast data is dictionary processed through at least one version of the dictionary pre-configured, and then at least one group of data is secondary compressed using a traditional data compression algorithm, which effectively reduces the space occupied by the live broadcast data, and fundamentally reduces the amount of data sent from the long connection proxy layer to the target client, improves data transmission efficiency, and achieves the technical effect of reducing the bandwidth demand during live broadcast data transmission. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The drawings described herein are used to provide further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute improper limitations on the present application.
[0021] Figure 1 is a schematic diagram of an application scenario of an optional live broadcast data processing method according to an embodiment of the present application;
[0022] Figure 2 is a flowchart of an optional method for processing live broadcast data according to an embodiment of the present application;
[0023] Figure 3 is a schematic diagram of an optional dictionary configuration and dictionary uploading to a CDN according to an embodiment of the present application;
[0024] Figure 4 is an overall schematic diagram of an optional method for processing live broadcast data according to an embodiment of the present application;
[0025] Figure 5This is a specific example of an optional dictionary processing of bullet screen messages according to an embodiment of the present application;
[0026] Figure 6 is a schematic diagram of an optional dictionary generation and dictionary update process according to an embodiment of the present application;
[0027] Figure 7 is a structural schematic diagram of an optional live broadcast data processing device according to an embodiment of the present application;
[0028] Figure 8 It is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0029] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0030] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0031] The technical solutions in the embodiments of the present application will comply with legal provisions during implementation. When performing operations according to the technical solutions in the embodiments, the data used will not involve user privacy. While ensuring that the operation process is compliant and legal, the security of the data is guaranteed.
[0032] In addition, when the above embodiments of the present application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data need to comply with relevant regulations and standards of the relevant country or region.
[0033] According to one aspect of the embodiments of the present application, a method for processing live broadcast data is provided. As an optional implementation, the method for processing live broadcast data can be applied to, but is not limited to, Figure 1 The application scenario shown in Figure 1 In the application scenario shown, the target terminal 102 may, but is not limited to, communicate with the server 106 via the network 104, and the server 106 may, but is not limited to, perform operations on the database 108, such as write data operations or read data operations. The above-mentioned target terminal 102 may, but is not limited to, include a human-computer interaction screen, a processor, and a memory. The above-mentioned human-computer interaction screen may, but is not limited to, be used to display live broadcast images and live broadcast data on the target terminal 102. The above-mentioned processor may, but is not limited to, be used to respond to the above-mentioned human-computer interaction operations, perform corresponding operations, or generate corresponding instructions, and send the generated instructions to the server 106. The above-mentioned memory is used to store relevant processing data, such as live broadcast data, at least one group of data, and at least one group of target data.
[0034] Optionally, in this embodiment, the target terminal may be a terminal configured with a target client, which may include but is not limited to at least one of the following: a mobile phone (such as an Android phone, an iOS phone, etc.), a laptop, a tablet computer, a PDA, a MID (Mobile Internet Devices), a PAD, a desktop computer, a smart TV, etc. The target client may be a video client, an instant messaging client, a browser client, an education client, etc. The network may include but is not limited to: a wired network, a wireless network, wherein the wired network includes: a local area network, a metropolitan area network and a wide area network, and the wireless network includes: Bluetooth, WIFI and other networks that realize wireless communication. The server may be a single server, or a server cluster consisting of multiple servers, or a cloud server.
[0035] In order to solve the problem of excessive bandwidth demand during the transmission of the live data, a method for processing live data is proposed in an embodiment of the present application. Figure 2 It is a flowchart of a method for processing live broadcast data according to an embodiment of the present application, and the process includes the following steps S202 to S210.
[0036] It should be noted that the method for processing live broadcast data shown in step S202 to step S210 can be but is not limited to being executed by an electronic device, wherein the electronic device can be but is not limited to being a target terminal or server as shown in FIG. 1 .
[0037] Step S202, obtaining live broadcast data, wherein the live broadcast data includes messages sent by viewers during the live broadcast process;
[0038] Step S204, using at least one version of the pre-configured dictionary to perform dictionary processing on the live broadcast data to obtain at least one set of data after the first compression, wherein the at least one set of data includes data after the live broadcast data is compressed according to the dictionary corresponding to each version of the at least one version;
[0039] Step S206, performing a second compression on at least one set of data to obtain at least one set of target data;
[0040] Step S208, sending at least one set of target data to the persistent connection proxy layer, wherein the persistent connection proxy layer acts as a proxy for the target client to interact with the server;
[0041] Step S210: Based on the dictionary version number received by the persistent connection proxy layer, a group of target data corresponding to the dictionary version number in at least one group of target data is sent to the target client.
[0042] For ease of understanding, in this embodiment, the method for processing the above live broadcast data is explained by taking the bullet screen messages sent by viewers during the live broadcast as an example of live broadcast data.
[0043] In the live broadcast scenario, in addition to the host's client, there are also multiple viewers who are online at the same time and watching the same live broadcast. In order to improve the viewer experience, during the live broadcast, viewers are allowed to express their opinions, comments, and other barrage messages on the current live broadcast content through their own clients, so that viewers can communicate with each other about the live broadcast content.
[0044] However, due to the large number of users watching the live broadcast at the same time, a large amount of machine resources are required. For example, the barrage content needs to be sent down in real time. This not only increases the operating cost of the live broadcast platform, but also has higher requirements for the data transmission rate of the network connection used in the process of sending real-time live broadcast messages, that is, it increases the bandwidth demand and bandwidth cost.
[0045] In order to solve the problem of excessive bandwidth demand, before the live broadcast begins, professionals will manually configure hot words based on the live broadcast content theme, the host's previous style, and related hot topics. These hot words will include words, phrases, or specific topic tags that may appear frequently in the live broadcast. Figure 3 As shown, the hot words that appeared in the historical period are used as training data, and the data model is used to predict the hot word content of the next time period through AI in real time, so as to pre-configure the initial version of the dictionary.
[0046] Using the above dictionary, during the live broadcast, the channel messages in the current time period can be segmented and counted to determine whether the initial version of the dictionary needs to be updated, and the updated dictionary can be uploaded to the CDN (Content Delivery Network). At the same time, due to the continuity of barrage messages, an expiration mechanism is introduced for expired dictionary data, so that the real-time and popularity of the dictionary content can be maintained while controlling the dictionary size.
[0047] Among them, the content distribution network is a distributed network service designed to improve the speed and availability of websites and applications by caching content on servers closer to users. The main purpose of CDN is to reduce latency, increase loading speed, and ensure the reliable distribution of bullet messages.
[0048] In order to take into account the requirements of bandwidth optimization and real-time data transmission, such as Figure 4 As shown, in this embodiment, at least one version of the dictionary (which can also be understood as N versions, where N is a positive integer greater than or equal to 1) is saved on the service side, for example, three different versions of the dictionary, V1, V2 and V3, are saved. Then, according to the bandwidth processing capacity of the long connection proxy layer and each terminal, the corresponding version of the dictionary is selected to compress the data of the barrage message and send it down.
[0049] For example, assuming that the dictionary version pulled by terminal 1 from CDN is version V1, then after the current barrage message is compressed for the first time using the three versions of the dictionary on the server, three groups of data are obtained, and then the three groups of data are compressed for the second time using the traditional data compression algorithm to obtain three groups of target data.
[0050] The three sets of target data are sent to the persistent connection proxy layer through the server, and then a set of target data matching the dictionary version number V1 is determined from the three sets of target data based on the dictionary version number V1 reported in advance to the persistent connection proxy layer by terminal 1, and a set of target data is sent down to terminal 1 through the persistent connection proxy layer.
[0051] Similarly, assuming that the dictionary version pulled by the terminal from the CDN is version V2, then in the same manner as the above terminal 1, another set of target data with version V1 is sent to terminal 3 through the persistent connection proxy layer.
[0052] It should be noted that after the dictionary is manually pre-configured, it will be uploaded to the CDN network, and each terminal can only pull the corresponding version of the dictionary from the CDN network after the terminal receives the notification message sent by the persistent connection proxy layer.
[0053] Among them, after the dictionary is configured on the server side, it will trigger the dictionary generation information or dictionary version update information to be sent to the persistent connection proxy layer, and then push the dictionary generation information or dictionary version update information to each terminal in batches through the persistent connection proxy layer. The purpose is to avoid excessive traffic peaks caused by simultaneous updates of multiple terminals, and at the same time ensure that the dictionary pulled on each terminal can be smoothly upgraded to the latest version of the dictionary.
[0054] After receiving a set of target data of the corresponding version sent by the long connection proxy layer, each terminal uses the dictionary pulled from the CDN to decode the set of target data respectively, thereby restoring a set of encoded data into the original barrage message to display the current barrage message on the client where each viewer is located.
[0055] In combination with the above description, it can be seen that the embodiment of the present application fully considers the relevance of the live broadcast data. For example, the content overlap of the barrage content within a certain time range is relatively high. Therefore, a dictionary processing method can be applied to upload the repeated content to the CDN, and then use the dictionary to compress the barrage message. The repetitive content is greatly reduced, and the amount of data sent from the long connection layer to the terminal is reduced from the root, thereby achieving the technical effect of reducing bandwidth requirements.
[0056] Secondly, this embodiment adopts a combination of dictionary processing and traditional data compression algorithm to compress the live broadcast data multiple times, which greatly reduces the space occupied by the data.
[0057] As an optional example, the pre-configured dictionary of at least one version performs dictionary processing on the live broadcast data to obtain at least one set of data after the first compression, including:
[0058] Obtain each version of the dictionary from at least one version of the dictionary in turn as the current version of the dictionary;
[0059] Perform word segmentation on the live broadcast data to obtain the first group of keywords;
[0060] Using the current version of the dictionary, high-frequency keywords are removed from the first group of keywords to obtain a second group of keywords after the first level of compression processing;
[0061] When it is found that the current version of the dictionary contains the second group of keywords, the second group of keywords is compressed at the second level using the index number of the second group of keywords in the current version of the dictionary to obtain a group of compressed data;
[0062] Based on the version number of the current version of the dictionary, a group of compressed data is encapsulated to obtain a current group of data after the first compression process, wherein at least one group of data includes the current group of data.
[0063] In the embodiments of the present application, a dictionary generally refers to a data structure used in a data compression algorithm, which stores repeated patterns or fragments in the data and replaces these repeated character strings with a short index or code to achieve the purpose of compressing the data.
[0064] Similarly, during the decompression process, the index is matched with the dictionary and the index is replaced with the corresponding pattern to restore the original data. The advantage of using dictionary compression is that the dictionary can be dynamically built based on the input data and can be easily rebuilt during the decompression process.
[0065] like Figure 5 As shown in the figure, assuming that the current barrage message is "Xiao Ming calls, you are the best!", the basic process of compressing it using a dictionary is as follows:
[0066] (1) Segment the bullet message to obtain the first group of keywords;
[0067] For example, the above barrage is processed into keyword 1 "Call for ${1}, you are the best!" and keyword 2 "Xiao Ming".
[0068] (2) Based on the hot words in the previous live broadcast process and the high frequency obtained by statistics in the current time terminal, the high-frequency keyword is determined to be "Xiao Ming";
[0069] (3) Using the templated message corresponding to the current V1 version dictionary, remove the high-frequency keyword "Xiao Ming" and replace "Xiao Ming" in the original message with its index number 2 (first-level compression processing);
[0070] (4) When the 10,000 keywords in the V1 dictionary are found to contain the keyword 1 "Call for ${1}, you are the best!", replace the keyword 1 with its index number 1 (second-level compression);
[0071] (5) Determine the data obtained after template processing using the V1 version of the dictionary. Figure 5 As shown, it is ${1}.
[0072] As an optional implementation, when the current version of the dictionary contains the second group of keywords, the second group of keywords is compressed at the second level using the index number of the second group of keywords in the current version of the dictionary, including:
[0073] Replace the second set of keywords with the index number;
[0074] The data consisting of the index number and the target character is determined as a group of compressed data, wherein the target character is a preset character used in the dictionary processing process.
[0075] As in the above embodiment, when the above keyword 1 "Call for ${1}, you are the best!" is found among the 10,000 keywords in the V1 version dictionary, keyword 1 is replaced with its index number 1 (second-level compression);
[0076] Determine the data obtained after template processing using the V1 version of the dictionary Figure 5 As shown, the data ${1} consisting of the index number 1 and the target character $ is determined as the data after dictionary processing.
[0077] By adopting the above method, dynamic data with repeated patterns or segments in the live broadcast scene can be sent to the CDN in advance, and the dynamic compression effect of real-time resources can be achieved through static methods. In addition, the embodiment of the present application will expand the compression range to the whole world in combination with the context to improve the compression ratio.
[0078] As an optional example, the sending of at least one set of target data to the persistent connection proxy layer includes:
[0079] Using a data compression algorithm, the live broadcast data is initially compressed to obtain a set of compressed data;
[0080] At least one set of target data and one set of compressed data are sent to the persistent connection proxy layer.
[0081] When at least one group of target data is N groups of target data, and N is a positive integer greater than or equal to 1, on the server side, the bullet screen messages in the live broadcast process are segmented, the popularity is calculated, and the dictionary version is dimensioned, the latest dictionary version list is obtained, and the bullet screen messages are dictionary-processed (which can also be understood as template processing). In order to ensure the reliability of the messages sent from the long connection channel to each terminal, in addition to sending the N groups of target data after N versions of dictionary processing from the server to the long connection proxy layer, the original message after initial compression processing by the traditional data compression algorithm (which can also be understood as a group of data after compression processing) needs to be sent to the long connection proxy layer together.
[0082] When the dictionary version is updated, the server will increment the dictionary version number and upload it to the CDN. Since CDN has mature performance in access stability and bandwidth billing, in real-time implementation, a self-built server can also be used to manage the dictionary data. In this embodiment, no distinction is made between CDN and self-built servers.
[0083] Combined with the description in the above embodiment, it can be seen that when the dictionary version on the server side is updated, a push notification of the new version number will be sent to the persistent proxy layer, and then the persistent proxy layer will send the push notification to each terminal in batches. In other words, not all terminals will receive the push notification of the dictionary version update at the same time, but the push notification will be sent randomly and in batches through the persistent proxy layer. This can avoid the phenomenon that all terminal devices watching the live broadcast online pull the latest version of the dictionary from the CDN at the same time, resulting in excessively high traffic peaks.
[0084] A multi-batch random notification mechanism is used to notify clients to update dictionaries to reduce network congestion. This mechanism can prevent a large number of clients from requesting dictionary updates at the same time, effectively alleviating network pressure. It is suitable for live broadcast scenarios with large user groups, ensuring smooth dictionary updates and avoiding interruptions to live broadcast services.
[0085] As an optional example, the above method further includes:
[0086] When the dictionary version number received by the persistent connection proxy layer is empty, a group of compressed data is sent to the target client.
[0087] Among them, when the client connects to the persistent connection proxy layer for the first time and has not yet received the dictionary version information sent by the persistent connection layer, the client will not pull the corresponding version of the dictionary from the CDN, and the dictionary version number reported by the client to the persistent connection proxy layer is empty; or after the client receives the dictionary version information sent by the persistent connection proxy layer but has not completed pulling the corresponding version of the dictionary from the CDN, the dictionary version number reported by the client to the persistent connection proxy layer is also empty.
[0088] In the above two cases, a group of data compressed by a traditional data compression algorithm will be sent to the target client.
[0089] It should be noted that there is no order in which the long connection proxy layer sends the dictionary-processed data to the client and the client pulls the corresponding version of the dictionary from the CDN network.
[0090] Through the above method, the problem of excessive traffic caused by sending the updated dictionary to each client at the same time can be effectively avoided. At the same time, the amount of data sent from the long connection proxy layer to each client is also reduced, achieving the technical effect of taking into account the requirements of bandwidth optimization and real-time data transmission.
[0091] As an optional implementation, the dictionary version number received by the persistent connection proxy layer, sending a set of target data corresponding to the dictionary version number in at least one set of target data to the target client, includes:
[0092] Obtain the dictionary version number of the latest version of the dictionary pulled by the target client from the content distribution network;
[0093] Report the dictionary version number to the persistent connection proxy layer through the target client;
[0094] Based on the dictionary version number, searching for a set of target data corresponding to the dictionary version number from at least one set of target data;
[0095] Send a set of target data to the target client.
[0096] Among them, in the embodiment of the present application, the long connection proxy layer includes but is not limited to maintaining a long connection channel with the client, and supports negotiating a dictionary version with the client, and then pushing the message processed by the corresponding version of the dictionary to the client.
[0097] When the dictionary is updated, the persistent proxy layer pushes the new dictionary version number to the client. However, in order to prevent all clients from updating at the same time, which would result in excessive traffic peaks, the client is usually notified of dictionary update information in batches.
[0098] In order to improve data transmission efficiency, the data pushed to the client is compressed using dictionary processing and traditional data compression algorithms.
[0099] After pulling the latest version of the dictionary from the CDN, the target client reports the dictionary version number of the latest version of the dictionary to the persistent connection proxy layer, and then searches for a set of target data corresponding to the dictionary version number from N sets of target data (which can be understood as at least one set of target data) based on the dictionary version number, where N is a positive integer greater than or equal to 1.
[0100] That is to say, the data compressed using different versions of dictionaries is processed according to Figure 5 The data encapsulated in the templated message format shown in the figure includes dictionary version information, that is, the dictionary version number, in the header of the message format. Therefore, after the persistent connection proxy layer receives the dictionary version number reported by the target client, it selects a set of target data that matches the dictionary version number from the N sets of target data sent by the server and a set of original messages (a set of data that has been initially compressed using a traditional data compression algorithm) received by the persistent connection proxy layer, and sends it to the target client.
[0101] As an optional implementation, before obtaining the dictionary version number of the latest version of the dictionary pulled by the target client from the content distribution network, the method further includes:
[0102] Obtain the second version number pushed by the persistent connection proxy layer to the target client, and obtain the first version number of the dictionary currently in effect on the target client;
[0103] sending the first version number and the first version number to a content distribution network;
[0104] Compare the first version number with the second version number, and if the first version number is inconsistent with the second version number, pull the dictionary with the second version number from the content distribution network, and report the second version number to the persistent connection proxy layer, wherein the second version number is the version number of the latest version dictionary stored in the content distribution network.
[0105] After the dictionary is updated, the server sends the version number of the updated dictionary to the persistent proxy layer, and after pushing the second version number of the updated dictionary from the persistent proxy layer to the target client in batches, uploads the first and second version numbers of the dictionary currently in effect on the target client to the content delivery network (CDN).
[0106] In the CDN, the first version number is compared with the second version number to see if they are consistent. If they are inconsistent, the latest version of the dictionary corresponding to the second version number is pulled from the CDN to the target client.
[0107] Obviously, the ways to update the dictionary include but are not limited to the following two:
[0108] The first method is to update the server at regular intervals, for example, every 5 minutes or 10 minutes.
[0109] The second type: when the difference between the first preset number of keywords contained in the previous version of the dictionary and the hot words or high-frequency words counted in the current stage exceeds a preset threshold, the previous version of the dictionary will also be updated.
[0110] For the second type, assume that the previous version of the dictionary contains 100 first group of keywords. After a period of statistical analysis, a second group of keywords is generated, and the number of words contained in the second group of keywords is also 100. When the number of different words between the first group of keywords and the second group of keywords exceeds 20, it is determined to update the dictionary and the dictionary version number is increased by 1.
[0111] By adopting the above method, the keywords in the dictionary can be dynamically updated according to the data during the live broadcast, ensuring the real-time update of the dictionary.
[0112] As an optional example, when the first version number and the second version number are inconsistent, pulling the dictionary of the second version number from the content distribution network includes:
[0113] Pull all the third group of keywords contained in the dictionary of the second version number to the target client; or
[0114] Comparing the differences between the third group of keywords and the fourth group of keywords, and determining at least some keywords from the third group of keywords based on the differences, wherein the fourth group of keywords are keywords included in the dictionary of the first version number;
[0115] At least some of the keywords are pulled from a content distribution network.
[0116] When the dictionary data is updated, the server will increment the dictionary version number and upload it to the CDN. Since CDN has mature performance in access stability and bandwidth billing, of course, in actual application scenarios, you can also use your own server to be responsible for the distribution of dictionary data.
[0117] In this embodiment, no distinction is made between CDN and self-built servers. The client uses the full + incremental method to pull dictionary information, which can minimize the amount of data transmission. When the client first connects to a long connection, it will obtain the latest dictionary version information and then pull the full dictionary data from the CDN. For details, please refer to Figure 6 Steps S602 to S606 are shown.
[0118] When the dictionary is updated later, the client receives a push notification of the new version number and pulls the version difference file from the CDN or pulls the updated version of the dictionary data in full. Figure 6 Steps S608~S618 shown.
[0119] S608, after first pulling the dictionary of the first version V1, the client reports to the persistent connection proxy layer that the currently effective dictionary version is V1;
[0120] S610, after the server updates the dictionary version, pushes the updated dictionary version number to the persistent connection proxy layer;
[0121] For example, assuming that the update in the two time periods has been updated from version V1 to version V3, then a push notification of the dictionary update is sent to the client, and then the client sends the latest dictionary version number contained in the received push notification and the currently effective dictionary version number to the CDN, as shown in step S612.
[0122] S612, the client sends the latest dictionary version number contained in the received push notification together with the currently effective dictionary version number to the CDN;
[0123] That is, the version number V3 contained in the received push notification and the dictionary version number V1 actually in effect on the client are sent to the CDN, and step S614 is executed.
[0124] S614, comparing the version number V3 contained in the push notification received by the client with the dictionary version number V1 actually in effect on the client, and if the two are inconsistent, calculating the difference between the two versions of the dictionary to generate a difference file;
[0125] For example, assuming that the V1 version of the dictionary contains 100 keywords and the V2 version of the dictionary contains 100 keywords, find out the some keywords that are different from the 100 keywords contained in the V1 version of the dictionary from the 100 keywords contained in the V2 version of the dictionary, generate a difference file, and then execute step S616.
[0126] S616, sending the difference file to the client;
[0127] The difference file is sent to the client, and the 100 keywords in the V1 version dictionary that are different are replaced with some of the keywords contained in the difference file, and the dictionary version number is updated to V3.
[0128] It should be noted that the above incremental pull method can save the amount of data pulled from the CDN. In addition, the latest version of the dictionary data can also be pulled in full, for example, the V3 version of the dictionary data can be pulled directly from the CDN.
[0129] S618: Report the latest effective dictionary version number to the persistent connection proxy layer.
[0130] Obviously, multiple copies of dictionary information are maintained in the CDN. Each time the dictionary is updated, a new dictionary version number is generated. Each hot word has a corresponding ID. After the client receives the message pushed by the long connection, it will use the corresponding dictionary content to restore.
[0131] As an optional example, after sending a set of target data corresponding to the dictionary version number in at least one set of target data to the target client based on the dictionary version number received by the persistent connection proxy layer, the method further includes:
[0132] Based on the index number of each data in a set of target data, a target dictionary pre-stored on the target client is queried to obtain a target keyword corresponding to the index number of each data;
[0133] Based on the target keywords, the decoded live broadcast data is determined.
[0134] After the dictionary is created, the data to be compressed is matched with the dictionary, the matched pattern is replaced with the corresponding index value, the compressed set of target data and the dictionary are saved in the CDN, and then after the compressed set of target data is sent to the target client through the long connection channel, the compressed set of target data is decompressed using the dictionary pulled from the CDN.
[0135] Specifically, the compressed data is restored to the original data using the saved index and dictionary. For example, Figure 5 The index value 1 in ${1} shown is restored to "Call for ${2}, you are the best!", and then the second-level decompression is performed to replace the index value 2 with Xiao Ming, thereby obtaining the original data, that is, the original barrage message "Call for Xiao Ming, you are the best!".
[0136] In combination with the descriptions in the above embodiments, the present application takes the barrage messages in the live broadcast scene as an example, utilizes the correlation of the barrage messages and the high overlap of the barrage content within a certain time range, and a collection dictionary processing method to upload the duplicate content to the CDN, and the dictionary content supports dynamic updates, thereby realizing the compression of the barrage content on a global scale.
[0137] By adopting the above embodiments provided by the present application, on the one hand, the bandwidth demand can be significantly reduced, thereby reducing the bandwidth fees paid to operators; on the other hand, the lower bandwidth demand means that the load and number of servers can be reduced, thereby reducing the use and maintenance costs of the servers. In addition, lower bandwidth occupancy can further improve the real-time nature of reaching users, improve users' viewing experience, and increase user satisfaction.
[0138] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0139] According to another aspect of the embodiment of the present application, there is also provided Figure 7 A live data processing device is shown, the device comprising:
[0140] A first acquisition unit 702 is used to acquire live broadcast data, wherein the live broadcast data includes messages sent by viewers during the live broadcast process;
[0141] The first processing unit 704 is used to perform dictionary processing on the live broadcast data using at least one version of the pre-configured dictionary to obtain at least one set of data after the first compression, wherein the at least one set of data includes data after the live broadcast data is compressed according to the dictionary corresponding to each version of the at least one version;
[0142] The second processing unit 706 is used to perform a second compression on at least one set of data to obtain at least one set of target data;
[0143] A first sending unit 708 is configured to send at least one set of target data to a persistent connection proxy layer, wherein the persistent connection proxy layer acts as a proxy for a target client to interact with a server;
[0144] The second sending unit 710 is configured to send a set of target data corresponding to the dictionary version number in at least one set of target data to a target client based on the dictionary version number received by the persistent connection proxy layer.
[0145] Optionally, the first processing unit 704 includes:
[0146] A first acquisition module, used for sequentially acquiring each version of the dictionary from at least one version of the dictionary as the current version of the dictionary;
[0147] The first processing module is used to perform word segmentation processing on the live broadcast data to obtain a first group of keywords;
[0148] The second processing module is used to remove high-frequency keywords from the first group of keywords by using the current version of the dictionary, and obtain a second group of keywords after the first level compression processing;
[0149] The third processing module is used to perform a second-level compression process on the second group of keywords using the index numbers of the second group of keywords in the current version of the dictionary to obtain a group of compressed data when the current version of the dictionary contains the second group of keywords.
[0150] The encapsulation module is used to encapsulate a group of compressed data based on the version number of the current version of the dictionary to obtain a current group of data after the first compression process, wherein at least one group of data includes the current group of data.
[0151] Optionally, the third processing module includes:
[0152] A replacement submodule, used to replace the second group of keywords with index numbers;
[0153] The first processing submodule is used to determine the data consisting of the index number and the target character as a group of compressed data, wherein the target character is a preset character used in the dictionary processing process.
[0154] Optionally, the first sending unit 708 includes:
[0155] A fourth processing module is used to perform initial compression processing on the live broadcast data using a data compression algorithm to obtain a group of compressed data;
[0156] The first sending module is used to send at least one set of target data and a set of compressed data to the long connection proxy layer.
[0157] Optionally, the above device further includes:
[0158] The third sending unit is used to send a group of compressed data to the target client when the dictionary version number received by the persistent connection proxy layer is empty.
[0159] Optionally, the second sending unit 710 includes:
[0160] A second acquisition module is used to obtain a dictionary version number of the latest version of the dictionary pulled by the target client from the content distribution network;
[0161] The first reporting module is used to report the dictionary version number to the persistent connection proxy layer through the target client;
[0162] A first search module, configured to search for a group of target data corresponding to the dictionary version number from at least one group of target data based on the dictionary version number;
[0163] The second sending module is used to send a group of target data to the target client.
[0164] Optionally, the above device further includes:
[0165] A third acquisition module is used to obtain the second version number pushed by the persistent connection proxy layer to the target client, and obtain the first version number of the dictionary currently effective on the target client;
[0166] A third sending module, configured to send the first version number and the first version number to a content distribution network;
[0167] The comparison module is used to compare the first version number with the second version number, and when the first version number is inconsistent with the second version number, pull the dictionary of the second version number from the content distribution network, and report the second version number to the long connection proxy layer, wherein the second version number is the version number of the latest version dictionary stored in the content distribution network.
[0168] Optionally, the comparison module includes:
[0169] A first pulling submodule is used to pull all the third group of keywords contained in the dictionary of the second version number to the target client; or
[0170] A second processing submodule is used to compare the differences between the third group of keywords and the fourth group of keywords, and based on the differences, determine at least some keywords from the third group of keywords, wherein the fourth group of keywords are keywords included in the dictionary of the first version number;
[0171] The first pulling submodule is used to pull at least some keywords from the content distribution network.
[0172] Optionally, the above device further includes:
[0173] A query unit, configured to query a target dictionary pre-stored on the target client based on an index number of each data in the set of target data after sending a set of target data corresponding to the dictionary version number in at least one set of target data to the target client based on the dictionary version number received by the persistent connection proxy layer, to obtain a target keyword corresponding to the index number of each data;
[0174] The third processing unit is used to determine the decoded live broadcast data based on the target keyword.
[0175] By applying the above-mentioned device to at least one version of a pre-configured dictionary to perform dictionary processing on the live broadcast data, and then using a traditional data compression algorithm to perform secondary compression on at least one group of data, the space occupied by the live broadcast data is effectively reduced, and the amount of data sent from the long connection proxy layer to the target client is reduced from the root, thereby improving data transmission efficiency and achieving the technical effect of reducing the bandwidth requirement during the live broadcast data transmission process.
[0176] It should be noted that the embodiment of the live broadcast data processing device here can refer to the embodiment of the live broadcast data processing method mentioned above, which will not be repeated here.
[0177] According to another aspect of the embodiment of the present application, an electronic device for implementing the above-mentioned live broadcast data processing method is also provided. The electronic device may be Figure 1 The target terminal or server shown in FIG. This embodiment is described by taking the electronic device as the target terminal as an example. Figure 8 As shown, the electronic device includes a memory 802 and a processor 804. The memory 802 stores a computer program, and the processor 804 is configured to execute the steps in any of the above method embodiments through the computer program.
[0178] Optionally, in this embodiment, the electronic device may be located in at least one network device among a plurality of network devices of a computer network.
[0179] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program:
[0180] S1, obtaining live broadcast data, wherein the live broadcast data includes messages sent by viewers during the live broadcast process;
[0181] S2, using at least one version of the pre-configured dictionary, performing dictionary processing on the live broadcast data to obtain at least one set of data after the first compression, wherein the at least one set of data includes data after the live broadcast data is compressed according to the dictionary corresponding to each version of the at least one version;
[0182] S3, performing a second compression on at least one set of data to obtain at least one set of target data;
[0183] S4, sending at least one set of target data to the persistent connection proxy layer, wherein the persistent connection proxy layer acts as a proxy for the target client to interact with the server;
[0184] S5. Based on the dictionary version number received by the persistent connection proxy layer, a set of target data corresponding to the dictionary version number in at least one set of target data is sent to the target client.
[0185] Alternatively, a person skilled in the art may understand that: Figure 8 The structure shown is for illustration only. Figure 8 The electronic device and the electronic equipment described above are not limited in structure. Figure 8 More or fewer components (such as network interfaces, etc.) as shown in, or with Figure 8 Different configurations are shown.
[0186] Among them, the memory 802 can be used to store software programs and modules, such as the program instructions / modules corresponding to the live data processing method and device in the embodiment of the present application. The processor 804 executes various functional applications and data processing by running the software programs and modules stored in the memory 802, that is, realizing the above-mentioned live data processing method. The memory 802 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 802 may further include a memory remotely located relative to the processor 804, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Among them, the memory 802 can be specifically, but not limited to, used to store live data and at least one set of target data, etc. As an example, such as Figure 8 As shown, the memory 802 may include, but is not limited to, the first acquisition unit 702, the first processing unit 704, the second processing unit 706, the first sending unit 708, and the second sending unit 710 in the live data processing device. In addition, other module units in the live data processing device may also be included but are not limited to, which will not be repeated in this example.
[0187] Optionally, the transmission device 806 is used to receive or send data via a network. Specific examples of the network may include a wired network and a wireless network. In one example, the transmission device 806 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 806 is a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0188] In addition, the above-mentioned electronic device also includes: a display 808 for displaying a live screen formed by the above-mentioned live data; and a connection bus 810 for connecting various module components in the above-mentioned electronic device.
[0189] In other embodiments, the target terminal or server may be a node in a distributed system, wherein the distributed system may be a blockchain system, and the blockchain system may be a distributed system formed by connecting the multiple nodes through network communication. The nodes may form a point-to-point network, and any form of computing device, such as a server, a target terminal or other electronic device, may become a node in the blockchain system by joining the point-to-point network.
[0190] According to another aspect of the present application, a computer program product or computer program is provided, the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the live data processing method provided in various optional implementations of the above-mentioned server verification processing and other aspects, wherein the computer program is configured to execute the steps of any of the above-mentioned method embodiments when running.
[0191] Optionally, in this embodiment, the computer-readable storage medium may be configured to store a computer program for performing the following steps:
[0192] S1, obtaining live broadcast data, wherein the live broadcast data includes messages sent by viewers during the live broadcast process;
[0193] S2, using at least one version of the pre-configured dictionary, performing dictionary processing on the live broadcast data to obtain at least one set of data after the first compression, wherein the at least one set of data includes data after the live broadcast data is compressed according to the dictionary corresponding to each version of the at least one version;
[0194] S3, performing a second compression on at least one set of data to obtain at least one set of target data;
[0195] S4, sending at least one set of target data to the persistent connection proxy layer, wherein the persistent connection proxy layer acts as a proxy for the target client to interact with the server;
[0196] S5. Based on the dictionary version number received by the persistent connection proxy layer, a set of target data corresponding to the dictionary version number in at least one set of target data is sent to the target client.
[0197] Optionally, in the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program that has a predetermined function and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories), or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.
[0198] Optionally, in this embodiment, a person of ordinary skill in the art may understand that all or part of the steps in the various methods of the above embodiments may be completed by instructing hardware related to the target terminal through a program, and the program may be stored in a computer-readable storage medium, and the storage medium may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc.
[0199] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0200] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling one or more computer devices (which can be personal computers, servers or network devices, etc.) to execute all or part of the steps of the methods of each embodiment of the present application.
[0201] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.
[0202] In the several embodiments provided in the present application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are only schematic, for example, the division of units is only a logical function division, and there may be other division methods in actual implementation, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0203] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0204] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0205] The above are only preferred implementations of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A method for processing live broadcast data, characterized in that: include: Acquire live broadcast data, wherein the live broadcast data includes messages sent by viewers during the live broadcast; Using at least one version of the pre-configured dictionary, the live broadcast data is subjected to dictionary processing to obtain at least one set of data after the first compression, wherein the at least one set of data includes data after the live broadcast data is compressed according to the dictionary corresponding to each version of the at least one version; Performing a second compression on the at least one set of data to obtain at least one set of target data; Sending the at least one set of target data to a persistent connection proxy layer, wherein the persistent connection proxy layer acts as a proxy for a target client to interact with a server; Based on the dictionary version number received by the persistent connection proxy layer, a group of target data corresponding to the dictionary version number in the at least one group of target data is sent to the target client.
2. The method according to claim 1, characterized in that: The method of using at least one version of a pre-configured dictionary to perform dictionary processing on the live broadcast data to obtain at least one set of data after the first compression includes: Obtaining each version of the dictionary from the at least one version of the dictionary in turn as the dictionary of the current version; Performing word segmentation processing on the live broadcast data to obtain a first group of keywords; Using the current version of the dictionary, remove high-frequency keywords from the first group of keywords to obtain a second group of keywords after first-level compression processing; In the case that the current version of the dictionary contains the second group of keywords, using the index numbers of the second group of keywords in the current version of the dictionary, performing a second-level compression process on the second group of keywords to obtain a group of compressed data; Based on the version number of the current version of the dictionary, the group of compressed data is encapsulated to obtain a current group of data after the first compression process, wherein the at least one group of data includes the current group of data.
3. The method according to claim 2, characterized in that In the case that the current version of the dictionary contains the second group of keywords, the second group of keywords is compressed at the second level by using the index number of the second group of keywords in the current version of the dictionary, including: replacing the second set of keywords with the index number; The data consisting of the index number and the target character is determined as the group of compressed data, wherein the target character is a preset character used in the dictionary processing process.
4. The method according to claim 1, characterized in that: The sending the at least one set of target data to the persistent connection proxy layer includes: Using a data compression algorithm, initially compressing the live broadcast data to obtain a group of compressed data; The at least one set of target data and the compressed set of data are sent to the long connection proxy layer.
5. The method according to claim 4, characterized in that The method further comprises: When the dictionary version number received by the persistent connection proxy layer is empty, the compressed set of data is sent to the target client.
6. The method according to claim 1, characterized in that The step of sending a set of target data corresponding to the dictionary version number in the at least one set of target data to the target client based on the dictionary version number received by the persistent connection proxy layer includes: Obtaining the dictionary version number of the latest version of the dictionary pulled by the target client from the content distribution network; Reporting the dictionary version number to the persistent connection proxy layer through the target client; Based on the dictionary version number, searching the at least one set of target data for the set of target data corresponding to the dictionary version number; The set of target data is sent to the target client.
7. The method according to claim 6, characterized in that Before obtaining the dictionary version number of the latest version of the dictionary pulled by the target client from the content distribution network, the method further includes: Obtaining a second version number pushed by the persistent connection proxy layer to the target client, and obtaining a first version number of the dictionary currently in effect on the target client; sending the first version number and the first version number to a content distribution network; Compare the first version number with the second version number, and if the first version number is inconsistent with the second version number, pull the dictionary of the second version number from the content distribution network, and report the second version number to the long connection proxy layer, wherein the second version number is the version number of the latest version dictionary stored in the content distribution network.
8. The method according to claim 7, characterized in that When the first version number is inconsistent with the second version number, pulling the dictionary of the second version number from the content distribution network includes: Pull all the third group of keywords contained in the dictionary of the second version number to the target client; or comparing the differences between the third group of keywords and the fourth group of keywords, and determining at least some keywords from the third group of keywords based on the differences, wherein the fourth group of keywords are keywords included in the dictionary of the first version number; The at least part of the keywords are pulled from the content distribution network.
9. The method according to any one of claims 1 to 8, characterized in that After sending a set of target data corresponding to the dictionary version number in the at least one set of target data to the target client based on the dictionary version number received by the persistent connection proxy layer, the method further includes: Based on the index number of each data in the set of target data, query the target dictionary pre-stored on the target client to obtain the target keyword corresponding to the index number of each data; Based on the target keyword, the decoded live broadcast data is determined.
10. A live broadcast data processing device, characterized in that: include: A first acquisition unit, configured to acquire live broadcast data, wherein the live broadcast data includes messages sent by viewers during the live broadcast process; A first processing unit, configured to perform dictionary processing on the live broadcast data using at least one pre-configured version of the dictionary to obtain at least one set of data after the first compression, wherein the at least one set of data includes data after the live broadcast data is compressed according to the dictionary corresponding to each version of the at least one version; A second processing unit, configured to perform a second compression on the at least one set of data to obtain at least one set of target data; A first sending unit, configured to send the at least one set of target data to a persistent connection proxy layer, wherein the persistent connection proxy layer acts as a proxy for a target client to interact with a server; The second sending unit is used to send a group of target data corresponding to the dictionary version number in the at least one group of target data to the target client based on the dictionary version number received by the persistent connection proxy layer.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored program, wherein the program can be executed by a terminal device or a computer to execute the method as claimed in any one of claims 1 to 9.
12. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to execute the method according to any one of claims 1 to 9 through the computer program.