Data processing method and device, electronic equipment and computer readable storage medium

By establishing multiple long connections and slice aggregation processing in the cloud phone system, the problem of unstable audio and video stream transmission in the cloud phone client was solved, and efficient and reliable audio and video stream transmission was achieved.

CN119449699BActive Publication Date: 2025-11-04CHINA MOBILE INTERNET CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411494664.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-24
Publication Date
2025-11-04
Estimated Expiration
2044-10-24

AI Technical Summary

Technical Problem

The audio and video stream push between the cloud phone client and the cloud phone server is prone to frame loss or screen tearing under poor network conditions, and the push latency is relatively large.

Method used

The cloud mobile client establishes a first long connection with multiple target streaming servers, and the target cloud mobile server establishes a second long connection with multiple target streaming servers. Audio and video stream slice files are received and pushed through multiple long connections, and aggregation processing is performed under preset conditions.

Benefits of technology

It improves the transmission efficiency and reliability of audio and video streams, reduces frame drops or screen tearing, lowers streaming latency, and ensures that cloud mobile clients can receive audio and video streams in a timely manner.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119449699B_ABST
    Figure CN119449699B_ABST
Patent Text Reader

Abstract

The application discloses a data processing method and device, electronic equipment and computer readable storage medium, to solve the problem that the transmission efficiency and reliability of audio and video streams are difficult to ensure in the process of using a cloud mobile phone, the push stream delay is large, and frame loss or screen flashing easily occurs. The method is applied to a cloud mobile phone client and includes the following steps: receiving audio and video stream slice files pushed by a plurality of target push stream servers through first long connections respectively established between the cloud mobile phone client and the target push stream servers and carrying slice identification information; determining whether each received audio and video stream slice file is first received by the cloud mobile phone client according to the slice identification information; if yes, retaining the audio and video stream slice file as a target audio and video stream slice file; and under the condition that a plurality of target audio and video stream slice files meet preset aggregation conditions, performing aggregation processing on the plurality of target audio and video stream slice files to obtain an audio and video stream.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of computer technology, and specifically relates to a data processing method, apparatus, electronic device, and computer-readable storage medium. Background Technology

[0002] Cloud phones are based on edge-cloud integrated virtualization technology. Through digital capabilities such as cloud networking, security, and AI (Artificial Intelligence), they flexibly adapt to users' personalized needs, freeing up the phone's own hardware resources and allowing for the loading of massive cloud applications on demand. Cloud phones can store complex calculations and large amounts of data in the cloud, and users can remotely control the cloud phone in real time via video streaming, ultimately enabling the cloud-based operation of native Android applications and mobile games.

[0003] In related technologies, users operate cloud phones through cloud phone clients, and cloud phone servers respond to user operations by pushing real-time video and audio information from the cloud phone to the cloud phone client. However, this single-node audio and video streaming method between the cloud phone server and the cloud phone client is prone to frame drops or screen artifacts when the network conditions between the cloud phone client and the cloud phone server are poor, and the streaming latency can be relatively large. Summary of the Invention

[0004] This application provides a data processing method, apparatus, electronic device, and computer-readable storage medium, which can solve the problems in the use of cloud phones where it is difficult to ensure the transmission efficiency and reliability of audio and video streams, resulting in large streaming delays and easy occurrences of frame drops or screen distortion.

[0005] In a first aspect, embodiments of this application provide a data processing method applied to a cloud mobile client, wherein the cloud mobile client establishes first long connections with multiple target streaming servers respectively; the method includes:

[0006] Through the first long connection, audio and video stream slice files pushed by each of the target streaming servers are received; the audio and video stream slice files carry slice identification information; the audio and video stream slice files are pushed from the target cloud mobile phone server to the target streaming server; the target cloud mobile phone server is used to push the same audio and video stream slice files to each target streaming server respectively.

[0007] For each received audio / video stream slice file, determine whether the audio / video stream slice file is being received by the cloud mobile client for the first time based on the slice identifier information;

[0008] If it is determined that the audio / video stream slice file is being received by the cloud mobile client for the first time, the audio / video stream slice file is retained as the target audio / video stream slice file;

[0009] If multiple target audio and video stream slice files meet preset aggregation conditions, the multiple target audio and video stream slice files are aggregated to obtain an audio and video stream.

[0010] Secondly, embodiments of this application provide a data processing method applied to a target cloud mobile phone server, wherein the target cloud mobile phone server and multiple target streaming servers are respectively connected by a second long connection; the method includes:

[0011] Receive the user's first action on the cloud mobile client sent by the collaboration server;

[0012] Start the cloud phone according to the first operation;

[0013] The audio and video streams during the operation of the cloud phone are sliced ​​to obtain multiple audio and video stream slice files;

[0014] Through the second long connection, the multiple audio and video stream slice files are simultaneously pushed to each of the target streaming servers; each of the target streaming servers is used to push each audio and video stream slice file to the cloud mobile client through the first long connection; wherein, the cloud mobile client and the multiple target streaming servers respectively establish the first long connection.

[0015] Thirdly, embodiments of this application provide a data processing method applied to a target streaming server, the method comprising:

[0016] Through a second long connection with the target cloud phone server, receive audio and video stream slice files pushed by the target cloud phone server;

[0017] The audio and video stream slice file is pushed to the cloud mobile client through a first long connection; the cloud mobile client is used to determine the first received audio and video stream slice file as the target audio and video stream slice file, and when multiple target audio and video stream slice files meet the preset aggregation conditions, it performs aggregation processing on multiple target audio and video stream slice files to obtain an audio and video stream.

[0018] Fourthly, embodiments of this application provide a data processing apparatus applied to a cloud mobile client, wherein the cloud mobile client establishes a first long connection with multiple target streaming servers respectively; the apparatus includes:

[0019] The first receiving module is configured to receive audio and video stream slice files pushed by each of the target streaming servers through the first long connection; the audio and video stream slice files carry slice identification information; the audio and video stream slice files are pushed by the target cloud mobile phone server to the target streaming server; the target cloud mobile phone server is configured to push the same audio and video stream slice files to each target streaming server respectively;

[0020] The first determining module is used to determine, for each received audio / video stream slice file, whether the audio / video stream slice file is being received by the cloud mobile client for the first time, based on the slice identification information.

[0021] The execution module is used to retain the audio and video stream slice file as the target audio and video stream slice file when it is determined that the audio and video stream slice file is being received by the cloud mobile client for the first time;

[0022] The aggregation processing module is used to aggregate multiple target audio and video stream slice files to obtain an audio and video stream when multiple target audio and video stream slice files meet preset aggregation conditions.

[0023] Fifthly, embodiments of this application provide a data processing apparatus applied to a target cloud mobile phone server, wherein the target cloud mobile phone server establishes a second long connection with multiple target streaming servers respectively; the apparatus includes:

[0024] The fourth receiving module is used to receive the user's first operation on the cloud mobile client sent by the collaborative server;

[0025] The cloud phone startup module is used to start the cloud phone according to the first operation;

[0026] The slicing module is used to slice the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files;

[0027] The first push module is used to simultaneously push the multiple audio and video stream slice files to each of the target push servers through the second long connection; each of the target push servers is used to push each audio and video stream slice file to the cloud mobile client through the first long connection; wherein, the cloud mobile client and the multiple target push servers are respectively connected by the first long connection.

[0028] Sixthly, embodiments of this application provide a data processing apparatus applied to a target streaming server, the apparatus comprising:

[0029] The fifth receiving module is used to receive audio and video stream slice files pushed by the target cloud mobile phone server through a second long connection with the target cloud mobile phone server;

[0030] The second push module is used to push the audio and video stream slice file to the cloud mobile client through a first long connection; the cloud mobile client is used to determine the first received audio and video stream slice file as the target audio and video stream slice file, and when multiple target audio and video stream slice files meet the preset aggregation conditions, aggregate multiple target audio and video stream slice files to obtain an audio and video stream.

[0031] In a seventh aspect, embodiments of this application provide an electronic device including a processor; and a memory arranged to store computer-executable instructions configured to be executed by the processor to implement the steps of the data processing method as described in the first aspect, or the steps of the data processing method as described in the second aspect, or the steps of the data processing method as described in the third aspect.

[0032] Eighthly, embodiments of this application provide a computer-readable storage medium for storing computer-executable instructions that, when executed by a processor, implement the steps of the data processing method as described in the first aspect, or implement the steps of the data processing method as described in the second aspect, or implement the steps of the data processing method as described in the third aspect.

[0033] Ninthly, embodiments of this application provide a computer program product comprising a computer program that, when executed by a processor, implements the steps of the data processing method as described in the first aspect, or implements the steps of the data processing method as described in the second aspect, or implements the steps of the data processing method as described in the third aspect.

[0034] In a tenth aspect, embodiments of this application provide a chip, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being configured to execute executable instructions to implement the steps of the data processing method as described in the first aspect, or to implement the steps of the data processing method as described in the second aspect, or to implement the steps of the data processing method as described in the third aspect.

[0035] In this embodiment, a first long connection is established between the cloud phone client and multiple target streaming servers. This allows the cloud phone client to receive audio / video stream slice files, each carrying slice identification information, pushed by the target streaming servers through multiple first long connections. The audio / video stream slice files are pushed from the target cloud phone server to the target streaming server, and the target cloud phone server pushes the same audio / video stream slice files to each target streaming server. Compared to the single-node audio / video stream push method between the cloud phone server and the cloud phone client in related technologies, this solution allows the cloud phone client to receive multiple identical audio / video stream slice files through multiple long connections. Since the audio / video stream slice files have a smaller data size compared to the complete audio / video stream, their transmission speed is faster, improving the overall efficiency of the audio / video stream transmission. Furthermore, even if data is lost on one link due to poor network conditions, other links can still ensure data transmission to the cloud phone client, improving the overall reliability of the audio / video stream transmission and reducing frame drops or screen artifacts. Furthermore, for each received audio / video stream segment file, the cloud mobile client can determine whether the audio / video stream segment file is being received for the first time based on the segment identifier information. If it is determined that the audio / video stream segment file is being received for the first time, it is retained as the target audio / video stream segment file. If multiple target audio / video stream segment files meet preset aggregation conditions, they are aggregated to obtain the audio / video stream. Therefore, in this technical solution, for received identical audio / video stream segment files, the cloud mobile client can aggregate the previously received audio / video stream segment files to obtain the audio / video stream. This helps reduce the streaming latency of the audio / video stream, improves the response speed of the audio / video stream, and ensures that the cloud mobile client can obtain the audio / video stream in a timely manner.

[0036] Furthermore, in this embodiment, a second long connection is established between the target cloud phone server and multiple target streaming servers. The target cloud phone server can receive a first operation from the user on the cloud phone client sent by the coordinating server, and thereby start the cloud phone according to the first operation, slice the audio and video streams during the cloud phone's operation to obtain multiple audio and video stream slice files, and then push the multiple audio and video stream slice files to each target streaming server simultaneously through the second long connection, so that each target streaming server pushes each audio and video stream slice file to the cloud phone client through the first long connection. The cloud phone client and the multiple target streaming servers each have a first long connection established. As can be seen, compared to the single-node push method of audio and video streams between cloud phone servers and cloud phone clients in related technologies, this technical solution allows the cloud phone server to simultaneously push the same audio and video stream slice files to each target push server through multiple long connections. This enables the target push server to push multiple identical audio and video stream slice files to the cloud phone client through multiple long connections. Thus, even if data is lost on one link due to poor network conditions, other links can still ensure data transmission to the cloud phone client, improving the overall reliability of audio and video stream transmission and reducing frame drops or screen artifacts. Furthermore, since the audio and video stream slice files are smaller in size than the complete audio and video stream, their transmission speed is faster, improving the overall efficiency of audio and video stream transmission, reducing push latency, increasing response speed, and ensuring that the cloud phone client receives the audio and video stream promptly. Attached Figure Description

[0037] Figure 1 This is a schematic block diagram of a data processing system provided in an embodiment of this application;

[0038] Figure 2 This is a flowchart illustrating a data processing method provided in an embodiment of this application;

[0039] Figure 3 This is a schematic flowchart of a data processing method provided in another embodiment of this application;

[0040] Figure 4 This is a schematic flowchart of a data processing method provided in another embodiment of this application;

[0041] Figure 5 This is a schematic swimlane diagram of a data processing method provided in one embodiment of this application;

[0042] Figure 6 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application;

[0043] Figure 7 This is a schematic diagram of the structure of a data processing apparatus provided in another embodiment of this application;

[0044] Figure 8 This is a schematic diagram of the structure of a data processing apparatus provided in another embodiment of this application;

[0045] Figure 9 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0046] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0047] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0048] The data processing method, apparatus, electronic device, and computer-readable storage medium provided in this application will be described in detail below with reference to the accompanying drawings and through specific embodiments and application scenarios.

[0049] Figure 1 This is a schematic block diagram of a data processing system provided in an embodiment of this application, such as... Figure 1As shown, the data processing system includes a cloud phone client 110, a collaboration server 120, a streaming server 130, and a cloud phone server 140. A cloud phone 1410 can run on the cloud phone server 140, and a cloud phone application (APP) that requires the functions of the cloud phone on the cloud phone server can run on the cloud phone client 110. The cloud phone client 110 communicates with the collaboration server 120, and the collaboration server 120 communicates with the cloud phone server 140. It should be noted that in practical applications, the collaboration server communicates with the cloud phone client 110, each streaming server 130, and each cloud phone server 140 in this data processing system. For simplicity, the accompanying drawings are not shown. Figure 1 In the illustrated embodiment, the connection relationship between the cloud mobile client 110, the collaboration server 120, and the cloud mobile server 140 is only schematically shown; the connection relationship between the collaboration server and other devices is not shown.

[0050] The number of cloud phone apps can be one or more. Figure 1 Only one is shown schematically. There are multiple streaming servers 130 and multiple cloud phone servers 140. The target streaming server is at least two of the multiple streaming servers, and the target cloud phone server is one of the multiple cloud phone servers. Figure 1 The diagram only schematically shows 5 streaming servers 130 and 2 cloud phone servers 140. The target streaming servers are 3 of the 5 streaming servers, and the target cloud phone server is 1 of the 2 cloud phone servers. A first long connection is established between the cloud phone client 110 and each target streaming server 130, and a second long connection is established between each target streaming server 130 and the target cloud phone server 140. Optionally, the cloud phone app can be an application such as a game, remote office, or remote education application.

[0051] In this embodiment, when a user triggers and logs into the cloud phone app on the cloud phone client, the cloud phone client can send a cloud phone allocation request to the collaboration server. The collaboration server, responding to the cloud phone allocation request, determines the target cloud phone server and multiple target streaming servers to be allocated to the cloud phone client according to preset allocation rules, and sends the address information corresponding to each of the multiple target streaming servers to the cloud phone client and the target cloud phone server. Thus, the cloud phone client can send a first long connection request to each target streaming server based on the address information, enabling the target streaming server to establish a first long connection between the cloud phone client and the target streaming server. Furthermore, the target cloud phone server can send a second long connection request to each target streaming server based on the address information, enabling each target streaming server to establish a second long connection between the target cloud phone server and the target streaming server.

[0052] Subsequently, upon receiving the user's first operation on the cloud phone client, the cloud phone client can send the first operation to the target cloud phone server through the collaboration server. The target cloud phone server, based on the first operation, can start the cloud phone, slice the audio and video streams during the cloud phone's operation, obtain multiple audio and video stream slice files, and simultaneously push these multiple audio and video stream slice files to their respective target streaming servers via a second long connection. This allows each target streaming server to push each audio and video stream slice file to the cloud phone client via the first long connection.

[0053] The cloud phone client can determine whether each received audio / video stream slice file is being received for the first time based on the slice identifier information. If it is determined that the audio / video stream slice file is being received for the first time, it retains the audio / video stream slice file as the target audio / video stream slice file. If multiple target audio / video stream slice files meet the preset aggregation conditions, it performs aggregation processing on the multiple target audio / video stream slice files to obtain the audio / video stream.

[0054] Optionally, the target cloud phone server can encrypt each audio / video stream segment file separately, obtaining multiple encrypted audio / video stream segment files. These encrypted segments are then simultaneously pushed to their respective target streaming servers via a second long connection. Correspondingly, for each received audio / video stream segment file, if the cloud phone client determines that it is receiving the file for the first time, it retains the received segment file as the target audio / video stream segment file. Afterward, it can decrypt the target segment file to facilitate subsequent aggregation of multiple target audio / video stream segment files.

[0055] The following describes the specific operations performed by the cloud mobile client 110, the streaming server 130, and the cloud mobile server 140 in the data processing system during the data processing process. Figure 2 This application illustrates a data processing method provided by an embodiment of the present application. The method is applied to a cloud mobile client 110, which establishes first long connections with multiple target streaming servers. The method can be executed by an electronic device, which may include a server and / or a terminal device, such as an in-vehicle terminal or a mobile terminal. In other words, the method can be executed by software or hardware installed on the electronic device, and includes the following steps:

[0056] Step 202: Receive audio and video stream slice files pushed by each target streaming server through the first long connection. The audio and video stream slice files carry slice identification information.

[0057] The audio and video stream segment files are pushed from the target cloud phone server to the target streaming server. The target cloud phone server is used to push the same audio and video stream segment files to each target streaming server. Optionally, the segment identification information may include segment number, segment duration, etc. The segment number is used to represent the sequential order of the audio and video stream segment files, and the segment duration is used to represent the duration of the audio and video stream segment files.

[0058] Step 204: For each received audio / video stream slice file, determine whether the audio / video stream slice file is being received by the cloud phone client for the first time based on the slice identifier information.

[0059] Optionally, the slice identification information includes a slice number. For each received audio / video stream slice file, the cloud mobile client determines that the audio / video stream slice file is being received for the first time if the slice number of the audio / video stream slice file appears for the first time. If the slice number of the audio / video stream slice file does not appear for the first time, it is determined that the audio / video stream slice file is not being received for the first time by the cloud mobile client.

[0060] Step 206: If it is determined that the audio / video stream slice file is being received by the cloud mobile client for the first time, retain the audio / video stream slice file as the target audio / video stream slice file.

[0061] Furthermore, if it is determined that the audio / video stream segment file is not being received by the cloud phone client for the first time, the audio / video stream segment file will be discarded.

[0062] Step 208: If multiple target audio and video stream slice files meet the preset aggregation conditions, perform aggregation processing on the multiple target audio and video stream slice files to obtain an audio and video stream.

[0063] Among them, the cloud mobile client can display the obtained audio and video streams to the user.

[0064] In this embodiment, a first long connection is established between the cloud phone client and multiple target streaming servers. This allows the cloud phone client to receive audio / video stream slice files, each carrying slice identification information, pushed by the target streaming servers through multiple first long connections. The audio / video stream slice files are pushed from the target cloud phone server to the target streaming server, and the target cloud phone server pushes the same audio / video stream slice files to each target streaming server. Compared to the single-node audio / video stream push method between the cloud phone server and the cloud phone client in related technologies, this solution allows the cloud phone client to receive multiple identical audio / video stream slice files through multiple long connections. Since the audio / video stream slice files have a smaller data size compared to the complete audio / video stream, their transmission speed is faster, improving the overall efficiency of the audio / video stream transmission. Furthermore, even if data is lost on one link due to poor network conditions, other links can still ensure data transmission to the cloud phone client, improving the overall reliability of the audio / video stream transmission and reducing frame drops or screen artifacts. Furthermore, for each received audio / video stream segment file, the cloud mobile client can determine whether the audio / video stream segment file is being received for the first time based on the segment identifier information. If it is determined that the audio / video stream segment file is being received for the first time, it is retained as the target audio / video stream segment file. If multiple target audio / video stream segment files meet preset aggregation conditions, they are aggregated to obtain the audio / video stream. Therefore, in this technical solution, for received identical audio / video stream segment files, the cloud mobile client can aggregate the previously received audio / video stream segment files to obtain the audio / video stream. This helps reduce the streaming latency of the audio / video stream, improves the response speed of the audio / video stream, and ensures that the cloud mobile client can obtain the audio / video stream in a timely manner.

[0065] In one implementation, before receiving audio and video stream slice files pushed by each target streaming server through the first long connection (i.e., step 202), the following steps A1-A3 can be performed to establish the first long connection between the cloud mobile client and the target streaming server.

[0066] Step A1: Send a cloud phone allocation request to the collaboration server.

[0067] The cloud phone allocation request is used to request the allocation of a cloud phone server and a streaming server for the cloud phone client. The cloud phone allocation request can carry the cloud phone client's location information, the user's login information for the cloud phone app, etc. The collaboration server can be an end-to-cloud collaboration server.

[0068] In this embodiment, the collaborative server responds to the cloud phone allocation request, determines the target cloud phone server and multiple target streaming servers allocated to the cloud phone client according to the preset allocation rules, and sends the address information corresponding to the multiple target streaming servers to the cloud phone client and the target cloud phone server respectively.

[0069] Optionally, the preset allocation rules may include a resource priority allocation rule for allocating target cloud phone servers, and a proximity allocation rule for allocating multiple target streaming servers. Specifically, in response to a cloud phone allocation request, the collaboration server can first determine the resource usage of each cloud phone server, and then determine the cloud phone server with the least resource usage as the target cloud phone server. Simultaneously, in response to the cloud phone allocation request, it can first determine the location information of each streaming server, and then, based on the location information of the cloud phone client, determine a preset number of streaming servers closest to the cloud phone client as target streaming servers.

[0070] Step A2: Receive the address information corresponding to the multiple target streaming servers sent by the collaborative server.

[0071] The address information of the streaming server can be the IP (Internet Protocol) address of the streaming server.

[0072] Step A3: For each target streaming server, send a first long connection request to the target streaming server based on the address information. The target streaming server uses this first long connection request to establish a first long connection between the cloud mobile client and the target streaming server.

[0073] In addition, the target cloud phone server can send a second long connection request to the target streaming server based on the address information. The target streaming server is used to establish a second long connection between the target cloud phone server and the target streaming server based on the second long connection request.

[0074] In this embodiment, the interaction between the cloud phone client, the collaborative server, and the target streaming server establishes the first long connection between the cloud phone client and multiple target streaming servers, providing a path foundation for audio and video stream transmission during cloud phone usage and improving the transmission efficiency of audio and video streams.

[0075] In one implementation, before receiving the audio and video stream slice files pushed by each target streaming server through the first long connection (i.e., step 202), the following steps B1-B2 can be executed to trigger the cloud phone server to return the audio and video stream slice files, so as to achieve the effect of running the cloud phone by controlling the cloud phone client.

[0076] Step B1: Receive the user's first operation on the cloud phone client.

[0077] In this embodiment, the first operation may be a gesture operation or button operation on the cloud phone APP on the cloud phone client, such as clicking a virtual button on the cloud phone APP interface.

[0078] Step B2: Send the first operation to the target cloud phone server through the collaboration server.

[0079] The target cloud phone server is used to start the cloud phone according to the first operation, thereby slicing the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files, and then pushing each audio and video stream slice file to the cloud phone client through each target push streaming server.

[0080] Optionally, after obtaining multiple audio and video stream slice files, the target cloud phone server can perform data encoding and encryption processing on each slice file separately. This ensures the security of data transmission and avoids the risk of data leakage. Correspondingly, after receiving the target audio and video stream slice files, the cloud phone client needs to perform data decryption and decoding processing sequentially. Then, if the multiple target audio and video stream slice files meet preset aggregation conditions, they are aggregated to obtain the audio and video stream.

[0081] In one implementation, the slice identification information includes the slice number. Preset aggregation conditions include: the first number of target audio / video stream slice files reaches a preset threshold.

[0082] If multiple target audio and video stream slice files meet the preset aggregation conditions, before performing aggregation processing on the multiple target audio and video stream slice files to obtain the audio and video stream (i.e., step 208), the first number of target audio and video stream slice files can be counted according to the slice number, and if the first number reaches the preset number threshold, it is determined that multiple target audio and video stream slice files meet the preset aggregation conditions.

[0083] In one implementation, the slice identification information includes the slice duration. Preset aggregation conditions include: the total slice duration of multiple target audio / video stream slice files reaches a preset duration threshold.

[0084] If multiple target audio and video stream slice files meet the preset aggregation conditions, before performing aggregation processing on the multiple target audio and video stream slice files to obtain the audio and video stream (i.e., step 208), the total slice duration of the target audio and video stream slice files can be calculated based on the slice duration. If the total slice duration reaches the preset duration threshold, it is determined that multiple target audio and video stream slice files meet the preset aggregation conditions.

[0085] In this embodiment, corresponding aggregation conditions are set for different types of slice identification information, which helps the cloud mobile client to accurately determine whether multiple target audio and video stream slice files meet the aggregation conditions according to the actual situation, and helps the cloud mobile client to quickly and accurately aggregate audio and video streams.

[0086] Figure 3 This application illustrates another embodiment of a data processing method applied to a target cloud mobile phone server 140. The target cloud mobile phone server establishes second long connections with multiple target streaming servers. This method can be executed by an electronic device, which may include a server and / or a terminal device, such as an in-vehicle terminal or a mobile phone terminal. In other words, this method can be executed by software or hardware installed on an electronic device, and includes the following steps:

[0087] Step 302: Receive the user's first operation on the cloud mobile client sent by the collaboration server.

[0088] The first operation can be gesture operations or button operations on the cloud phone APP on the cloud phone client, such as clicking virtual buttons on the cloud phone APP interface.

[0089] Step 304: Start the cloud phone according to the first operation.

[0090] Step 306: Slice the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files.

[0091] The audio and video streams during the operation of a cloud phone can be viewed as a large data packet. Slicing the data packet into smaller data packets results in multiple audio and video stream slice files.

[0092] Step 308: Through the second long connection, push multiple audio and video stream slice files to each target streaming server simultaneously.

[0093] Each target streaming server is used to push each audio / video stream segment file to the cloud mobile client via a first long connection. The cloud mobile client establishes a first long connection with each of the multiple target streaming servers.

[0094] In this embodiment, a second long connection is established between the target cloud phone server and multiple target streaming servers. The target cloud phone server can receive a first operation from the user on the cloud phone client sent by the coordinating server, and then, based on the first operation, start the cloud phone, slice the audio and video streams during the cloud phone's operation to obtain multiple audio and video stream slice files. Then, through the second long connection, the multiple audio and video stream slice files are simultaneously pushed to each target streaming server, so that each target streaming server pushes each audio and video stream slice file to the cloud phone client through the first long connection. The cloud phone client and the multiple target streaming servers each have a first long connection established. As can be seen, compared to the single-node push method of audio and video streams between cloud phone servers and cloud phone clients in related technologies, this technical solution allows the cloud phone server to simultaneously push the same audio and video stream slice files to each target push server through multiple long connections. This enables the target push server to push multiple identical audio and video stream slice files to the cloud phone client through multiple long connections. Thus, even if data is lost on one link due to poor network conditions, other links can still ensure data transmission to the cloud phone client, improving the overall reliability of audio and video stream transmission and reducing frame drops or screen artifacts. Furthermore, since the audio and video stream slice files are smaller in size than the complete audio and video stream, their transmission speed is faster, improving the overall efficiency of audio and video stream transmission, reducing push latency, increasing response speed, and ensuring that the cloud phone client receives the audio and video stream promptly.

[0095] In one implementation, the audio and video streams during the operation of the cloud phone are sliced ​​to obtain multiple audio and video stream slice files (i.e., step 306). Each audio and video stream slice file can then be encrypted to obtain multiple encrypted audio and video stream slice files.

[0096] In this embodiment, the multiple audio and video stream slice files are pushed to each target streaming server simultaneously via the second long connection. This can be executed as follows: the multiple encrypted audio and video stream slice files are pushed to each target streaming server simultaneously via the second long connection.

[0097] Optionally, before encrypting each audio / video stream segment file separately, each audio / video stream segment file can be encoded separately to obtain multiple encoded audio / video stream segment files. Then, each of the multiple encoded audio / video stream segment files is encrypted separately.

[0098] In this embodiment, by encrypting the audio and video stream slice files, the security of data transmission can be ensured, and the risk of data leakage can be avoided.

[0099] Figure 4 This application illustrates another embodiment of a data processing method applied to a target streaming server 130. This method can be executed by an electronic device, which may include a server and / or a terminal device, such as an in-vehicle terminal or a mobile terminal. In other words, the method can be executed by software or hardware installed on the electronic device, and includes the following steps:

[0100] Step 402: Receive audio and video stream slice files pushed by the target cloud phone server through the second long connection with the target cloud phone server.

[0101] Step 404: Push the audio and video stream slice files to the cloud mobile client through the first long connection with the cloud mobile client.

[0102] The cloud mobile client is used to identify the first received audio and video stream slice file as the target audio and video stream slice file, and to aggregate multiple target audio and video stream slice files to obtain an audio and video stream if multiple target audio and video stream slice files meet the preset aggregation conditions.

[0103] In this embodiment, the target streaming server receives audio and video stream slices pushed by the target cloud phone server through a second long connection with the target cloud phone server. Then, through a first long connection with the cloud phone client, it pushes the audio and video stream slices to the cloud phone client. This allows the cloud phone client to identify the initially received audio and video stream slice as the target audio and video stream slice. If multiple target audio and video stream slices meet preset aggregation conditions, they are aggregated to obtain the audio and video stream. Therefore, compared to the single-node streaming method between the cloud phone server and the cloud phone client in related technologies, this solution achieves multi-node streaming. Even if data is lost on one link due to poor network conditions, other links can still ensure data transmission to the cloud phone client, improving the overall reliability of audio and video stream transmission and reducing frame drops or screen artifacts. Furthermore, since audio and video stream slices have a smaller data size compared to complete audio and video streams, they can be transmitted faster, improving the overall efficiency of the link in transmitting audio and video streams. This helps reduce the latency of audio and video stream push, increases the response speed of audio and video streams, and ensures that cloud mobile clients can receive audio and video streams in a timely manner.

[0104] In one implementation, before pushing the audio / video stream slice file to the cloud phone client (i.e., step 404) via the first long connection with the cloud phone client, a first long connection request sent by the cloud phone client can be received, thereby responding to the first long connection request and establishing a first long connection between the cloud phone client and the target streaming server.

[0105] In one implementation, before receiving the audio / video stream slice file pushed by the target cloud mobile phone server through the second long connection with the target cloud mobile phone server (i.e., step 402), a second long connection request sent by the target cloud mobile phone server can be received, thereby responding to the second long connection request and establishing a second long connection between the target cloud mobile phone server and the target streaming server.

[0106] In this embodiment, by responding to long connection requests, a first long connection is established between the cloud mobile client and multiple target streaming servers, and a second long connection is established between the target cloud mobile server and multiple target streaming servers. This provides a path foundation for the transmission of audio and video stream slice data. In this way, even if the data on a certain link is lost due to poor network conditions, other links can still ensure that the data is transmitted to the cloud mobile client, which improves the overall reliability of the audio and video stream transmission and helps to reduce the occurrence of frame drops or screen distortion.

[0107] Figure 5 This is a schematic swimlane diagram illustrating a data processing method provided in one embodiment of this application, which is applied to, for example... Figure 1 The data processing system shown is as follows. In practical applications, each time a user uses the cloud phone function (i.e., the user triggers the cloud phone APP on the cloud phone client, and the cloud phone server responds to the user's operation on the cloud phone APP and starts the cloud phone), it is necessary to interact with the collaboration server to determine a target streaming server and a target cloud phone server, and establish the first long connection between the cloud phone client and multiple target streaming servers, as well as establish the second long connection between multiple target streaming servers and the target cloud phone server.

[0108] Specifically, the cloud phone client can send a cloud phone allocation request to the collaboration server. In response to the allocation request, the collaboration server, based on preset allocation rules, determines the target cloud phone server and multiple target streaming servers to be allocated to the cloud phone client, and sends the address information corresponding to each target streaming server to both the cloud phone client and the target cloud phone server. Based on the address information, the cloud phone client sends a first long connection request to each target streaming server. Based on the first long connection request, the target streaming server establishes a first long connection between the cloud phone client and the target streaming server. Based on the address information, the target cloud phone server sends a second long connection request to each target streaming server. Based on the second long connection request, the target streaming server establishes a second long connection between itself and the target cloud phone server.

[0109] For ease of explanation, the establishment process of the first and second long connections will not be repeated in the implementation steps of the data processing method. Only the transmission of audio and video stream data from the target cloud phone server to the cloud phone client will be explained in detail under the premise of the establishment of long connections.

[0110] like Figure 5 As shown, the data processing method may include the following steps 5.1-5.7:

[0111] Step 5.1: The cloud phone client receives the user's first operation on the cloud phone client and sends the first operation to the target cloud phone server through the collaboration server.

[0112] Step 5.2: The target cloud phone server starts the cloud phone according to the first operation, and performs segmentation processing on the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream segment files.

[0113] Step 5.3: The target cloud phone server pushes multiple audio and video stream slices to each target streaming server simultaneously via the second long connection.

[0114] The audio and video stream slice files contain slice identification information.

[0115] Step 5.4: Each target streaming server pushes each audio / video stream slice file to the cloud mobile client through the first long connection.

[0116] Step 5.5: For each received audio / video stream segment file, the cloud mobile client determines whether the audio / video stream segment file is being received by the cloud mobile client for the first time based on the segment identifier information.

[0117] Step 5.6: If the cloud mobile client determines that the audio and video stream slice file is being received by the cloud mobile client for the first time, it retains the audio and video stream slice file as the target audio and video stream slice file.

[0118] Step 5.7: If multiple target audio and video stream slice files meet the preset aggregation conditions, the cloud mobile client performs aggregation processing on the multiple target audio and video stream slice files to obtain the audio and video stream.

[0119] The specific processes of steps 5.1 to 5.7 above have been described in detail in the above embodiments and will not be repeated here.

[0120] In this embodiment, the cloud mobile client can receive multiple identical audio / video stream slice files through multiple long connections. Since the data size of an audio / video stream slice file is smaller than that of a complete audio / video stream, its transmission speed is faster, improving the overall efficiency of the link in transmitting the audio / video stream. Furthermore, even if data is lost on one link due to poor network conditions, other links can still ensure data transmission to the cloud mobile client, improving the overall reliability of the link in transmitting the audio / video stream and helping to reduce frame drops or screen artifacts. Further, for each received audio / video stream slice file, the cloud mobile client can determine whether the slice file is being received for the first time based on the slice identifier information. If it is determined that the slice file is being received for the first time, it is retained as the target audio / video stream slice file. If multiple target audio / video stream slice files meet preset aggregation conditions, they are aggregated to obtain the audio / video stream. As can be seen, in this technical solution, for the same received audio and video stream slice files, the cloud mobile client can aggregate the previously received audio and video stream slice files to obtain the audio and video stream. This helps to reduce the streaming latency of the audio and video stream, improve the response speed of the audio and video stream, and ensure that the cloud mobile client can obtain the audio and video stream in a timely manner.

[0121] It should be noted that the data processing method provided in this application embodiment can be executed by a data processing device or a control module within that data processing device for executing the data processing method. This application embodiment uses the execution of the data processing method by a data processing device as an example to illustrate the data processing device provided in this application embodiment.

[0122] Figure 6 This is a schematic diagram of a data processing device provided in an embodiment of this application, applied to a cloud mobile client, wherein the cloud mobile client establishes a first long connection with multiple target streaming servers respectively. Figure 6 As shown, the data processing device includes: a first receiving module 610, a first determining module 620, an execution module 630, and an aggregation processing module 640.

[0123] The first receiving module 610 is used to receive audio and video stream slice files pushed by each target streaming server through a first long connection; the audio and video stream slice files carry slice identification information; the audio and video stream slice files are pushed from the target cloud mobile phone server to the target streaming server; the target cloud mobile phone server is used to push the same audio and video stream slice files to each target streaming server respectively; the first determining module 620 is used to determine, based on the slice identification information, whether the audio and video stream slice file is being received by the cloud mobile phone client for the first time for each received audio and video stream slice file; the execution module 630 is used to retain the audio and video stream slice file as the target audio and video stream slice file if it is determined that the audio and video stream slice file is being received by the cloud mobile phone client for the first time; the aggregation processing module 640 is used to perform aggregation processing on the multiple target audio and video stream slice files to obtain an audio and video stream if the multiple target audio and video stream slice files meet the preset aggregation conditions.

[0124] In one implementation, the data processing device further includes: a first sending module, configured to send a cloud phone allocation request to a collaborative server before receiving audio / video stream slice files pushed by each target streaming server through a first long connection; the collaborative server, in response to the cloud phone allocation request, determines the target cloud phone server and multiple target streaming servers allocated to the cloud phone client according to preset allocation rules, and sends the address information corresponding to the multiple target streaming servers to the cloud phone client and the target cloud phone server respectively; a second receiving module, configured to receive the address information corresponding to the multiple target streaming servers sent by the collaborative server; the second sending module, configured to send a first long connection request to each target streaming server according to the address information; the target streaming server, configured to establish a first long connection between the cloud phone client and the target streaming server according to the first long connection request.

[0125] In one implementation, the data processing device further includes: a third receiving module, configured to receive a first operation from the user on the cloud phone client before receiving audio / video stream slice files pushed by each target streaming server via a first long connection; a third sending module, configured to send the first operation to the target cloud phone server via a collaborative server; the target cloud phone server is configured to start the cloud phone according to the first operation; perform slice processing on the audio / video stream during the operation of the cloud phone to obtain multiple audio / video stream slice files; and push each audio / video stream slice file to the cloud phone client through each target streaming server.

[0126] In one implementation, the slice identification information includes the slice number; the preset aggregation condition includes: the first number of target audio / video stream slice files reaches a preset number threshold;

[0127] The data processing device further includes: a first statistics module, used to aggregate multiple target audio and video stream slice files when multiple target audio and video stream slice files meet preset aggregation conditions, and before obtaining the audio and video stream, to count the first number of target audio and video stream slice files according to the slice number; and a second determination module, used to determine that multiple target audio and video stream slice files meet the preset aggregation conditions when the first number reaches a preset number threshold.

[0128] In one implementation, the slice identification information includes the slice duration; the preset aggregation conditions include: the total slice duration of multiple target audio and video stream slice files reaches a preset duration threshold;

[0129] The data processing device further includes: a second statistics module, used to aggregate multiple target audio and video stream slice files when multiple target audio and video stream slice files meet preset aggregation conditions, and before obtaining the audio and video stream, to calculate the total slice duration of the target audio and video stream slice files based on the slice duration; and a third determination module, used to determine that multiple target audio and video stream slice files meet preset aggregation conditions when the total slice duration reaches a preset duration threshold.

[0130] In this embodiment, a first long connection is established between the cloud phone client and multiple target streaming servers. This allows the cloud phone client to receive audio / video stream slice files, each carrying slice identification information, pushed by the target streaming servers through multiple first long connections. The audio / video stream slice files are pushed from the target cloud phone server to the target streaming server, and the target cloud phone server pushes the same audio / video stream slice files to each target streaming server. Compared to the single-node audio / video stream push method between the cloud phone server and the cloud phone client in related technologies, this solution allows the cloud phone client to receive multiple identical audio / video stream slice files through multiple long connections. Since the audio / video stream slice files have a smaller data size compared to the complete audio / video stream, their transmission speed is faster, improving the overall efficiency of the audio / video stream transmission. Furthermore, even if data is lost on one link due to poor network conditions, other links can still ensure data transmission to the cloud phone client, improving the overall reliability of the audio / video stream transmission and reducing frame drops or screen artifacts. Furthermore, for each received audio / video stream segment file, the cloud mobile client can determine whether the audio / video stream segment file is being received for the first time based on the segment identifier information. If it is determined that the audio / video stream segment file is being received for the first time, it is retained as the target audio / video stream segment file. If multiple target audio / video stream segment files meet preset aggregation conditions, they are aggregated to obtain the audio / video stream. Therefore, in this technical solution, for received identical audio / video stream segment files, the cloud mobile client can aggregate the previously received audio / video stream segment files to obtain the audio / video stream. This helps reduce the streaming latency of the audio / video stream, improves the response speed of the audio / video stream, and ensures that the cloud mobile client can obtain the audio / video stream in a timely manner.

[0131] Figure 7 This is a schematic diagram of a data processing device provided in another embodiment of this application, applied to a target cloud mobile phone server, wherein a second long connection is established between the target cloud mobile phone server and multiple target streaming servers. Figure 7 As shown, the data processing device includes: a fourth receiving module 710, a cloud phone startup module 720, a slice processing module 730, and a first push module 740.

[0132] The fourth receiving module 710 is used to receive the first operation from the user on the cloud phone client sent by the collaborative server; the cloud phone startup module 720 is used to start the cloud phone according to the first operation; the slicing processing module 730 is used to slice the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files; the first push module 740 is used to push the multiple audio and video stream slice files to each target push server simultaneously through the second long connection; each target push server is used to push each audio and video stream slice file to the cloud phone client through the first long connection; wherein, the cloud phone client establishes a first long connection with each of the multiple target push servers.

[0133] In one implementation, the data processing device further includes: an encryption processing module, used to perform segmentation processing on the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream segment files, and then encrypt each audio and video stream segment file to obtain multiple encrypted audio and video stream segment files.

[0134] The first push module 740 includes a push unit, used to simultaneously push multiple encrypted audio and video stream slice files to each target push server via a second long connection.

[0135] In this embodiment, a second long connection is established between the target cloud phone server and multiple target streaming servers. The target cloud phone server can receive a first operation from the user on the cloud phone client sent by the coordinating server, and then, based on the first operation, start the cloud phone, slice the audio and video streams during the cloud phone's operation to obtain multiple audio and video stream slice files. Then, through the second long connection, the multiple audio and video stream slice files are simultaneously pushed to each target streaming server, so that each target streaming server pushes each audio and video stream slice file to the cloud phone client through the first long connection. The cloud phone client and the multiple target streaming servers each have a first long connection established. As can be seen, compared to the single-node push method of audio and video streams between cloud phone servers and cloud phone clients in related technologies, this technical solution allows the cloud phone server to simultaneously push the same audio and video stream slice files to each target push server through multiple long connections. This enables the target push server to push multiple identical audio and video stream slice files to the cloud phone client through multiple long connections. Thus, even if data is lost on one link due to poor network conditions, other links can still ensure data transmission to the cloud phone client, improving the overall reliability of audio and video stream transmission and reducing frame drops or screen artifacts. Furthermore, since the audio and video stream slice files are smaller in size than the complete audio and video stream, their transmission speed is faster, improving the overall efficiency of audio and video stream transmission, reducing push latency, increasing response speed, and ensuring that the cloud phone client receives the audio and video stream promptly.

[0136] Figure 8 This is a schematic diagram of a data processing device provided in another embodiment of this application, applied to a target streaming server. For example... Figure 8 As shown, the data processing device includes: a fifth receiving module 810 and a second pushing module 820.

[0137] The fifth receiving module 810 is used to receive audio and video stream slice files pushed by the target cloud mobile phone server through a second long connection with the target cloud mobile phone server; the second pushing module 820 is used to push the audio and video stream slice files to the cloud mobile phone client through a first long connection with the cloud mobile phone client; the cloud mobile phone client is used to determine the first received audio and video stream slice file as the target audio and video stream slice file, and when multiple target audio and video stream slice files meet the preset aggregation conditions, it performs aggregation processing on multiple target audio and video stream slice files to obtain an audio and video stream.

[0138] In one implementation, the data processing device further includes: a sixth receiving module, configured to receive a first long connection request sent by the cloud mobile client before pushing the audio / video stream slice file to the cloud mobile client through the first long connection; and a first long connection establishment module, configured to establish a first long connection between the cloud mobile client and the target streaming server in response to the first long connection request.

[0139] In one implementation, the data processing device further includes: a seventh receiving module, configured to receive a second long connection request sent by the target cloud mobile server before receiving the audio / video stream slice file pushed by the target cloud mobile server through the second long connection; and a second long connection establishment module, configured to establish a second long connection between the target cloud mobile server and the target streaming server in response to the second long connection request.

[0140] In this embodiment, the target streaming server receives audio and video stream slices pushed by the target cloud phone server through a second long connection with the target cloud phone server. Then, through a first long connection with the cloud phone client, it pushes the audio and video stream slices to the cloud phone client. This allows the cloud phone client to identify the initially received audio and video stream slice as the target audio and video stream slice. If multiple target audio and video stream slices meet preset aggregation conditions, they are aggregated to obtain the audio and video stream. Therefore, compared to the single-node streaming method between the cloud phone server and the cloud phone client in related technologies, this solution achieves multi-node streaming. Even if data is lost on one link due to poor network conditions, other links can still ensure data transmission to the cloud phone client, improving the overall reliability of audio and video stream transmission and reducing frame drops or screen artifacts. Furthermore, since audio and video stream slices have a smaller data size compared to complete audio and video streams, they can be transmitted faster, improving the overall efficiency of the link in transmitting audio and video streams. This helps reduce the latency of audio and video stream push, increases the response speed of audio and video streams, and ensures that cloud mobile clients can receive audio and video streams in a timely manner.

[0141] The data processing device in this application embodiment can be a device, or a component, integrated circuit, or chip in a terminal. The device can be a mobile electronic device or a non-mobile electronic device. For example, mobile electronic devices can be mobile phones, tablets, laptops, PDAs, in-vehicle electronic devices, wearable devices, ultra-mobile personal computers (UMPCs), netbooks, or personal digital assistants (PDAs), etc., while non-mobile electronic devices can be servers, network-attached storage (NAS), personal computers (PCs), televisions (TVs), ATMs, or self-service machines, etc. This application embodiment does not impose specific limitations.

[0142] The data processing device in this application embodiment can be a device with an operating system. The operating system can be Android, iOS, or other possible operating systems; this application embodiment does not specifically limit the specific operating system.

[0143] The data processing device provided in this application embodiment can achieve... Figures 1 to 5 The various processes implemented in the method embodiments are not described in detail here to avoid repetition.

[0144] Based on the same technical concept, this application also provides an electronic device for performing the above-described data processing method. Figure 9 This is a schematic diagram of the structure of an electronic device to implement various embodiments of this application. The electronic device can vary significantly due to differences in configuration or performance, and may include a processor 910, a communications interface 920, a memory 930, and a communication bus 940. The processor 910, communications interface 920, and memory 930 communicate with each other via the communication bus 940. The processor 910 can call a computer program stored in the memory 930 and executable on the processor 910 to perform the following steps:

[0145] Through the first long connection, audio and video stream slice files pushed by each target streaming server are received; the audio and video stream slice files carry slice identification information; the audio and video stream slice files are pushed from the target cloud phone server to the target streaming server; the target cloud phone server is used to push the same audio and video stream slice files to each target streaming server respectively; for each received audio and video stream slice file, it is determined whether the audio and video stream slice file is being received by the cloud phone client for the first time based on the slice identification information; if it is determined that the audio and video stream slice file is being received by the cloud phone client for the first time, the audio and video stream slice file is retained as the target audio and video stream slice file; if multiple target audio and video stream slice files meet the preset aggregation conditions, the multiple target audio and video stream slice files are aggregated to obtain the audio and video stream.

[0146] In this embodiment, a first long connection is established between the cloud phone client and multiple target streaming servers. This allows the cloud phone client to receive audio / video stream slice files, each carrying slice identification information, pushed by the target streaming servers through multiple first long connections. The audio / video stream slice files are pushed from the target cloud phone server to the target streaming server, and the target cloud phone server pushes the same audio / video stream slice files to each target streaming server. Compared to the single-node audio / video stream push method between the cloud phone server and the cloud phone client in related technologies, this solution allows the cloud phone client to receive multiple identical audio / video stream slice files through multiple long connections. Since the audio / video stream slice files have a smaller data size compared to the complete audio / video stream, their transmission speed is faster, improving the overall efficiency of the audio / video stream transmission. Furthermore, even if data is lost on one link due to poor network conditions, other links can still ensure data transmission to the cloud phone client, improving the overall reliability of the audio / video stream transmission and reducing frame drops or screen artifacts. Furthermore, for each received audio / video stream segment file, the cloud mobile client can determine whether the audio / video stream segment file is being received for the first time based on the segment identifier information. If it is determined that the audio / video stream segment file is being received for the first time, it is retained as the target audio / video stream segment file. If multiple target audio / video stream segment files meet preset aggregation conditions, they are aggregated to obtain the audio / video stream. Therefore, in this technical solution, for received identical audio / video stream segment files, the cloud mobile client can aggregate the previously received audio / video stream segment files to obtain the audio / video stream. This helps reduce the streaming latency of the audio / video stream, improves the response speed of the audio / video stream, and ensures that the cloud mobile client can obtain the audio / video stream in a timely manner.

[0147] In one implementation, processor 910 may invoke a computer program stored in memory 930 and executable on processor 910 to perform the following steps:

[0148] The system receives the first operation from the user on the cloud phone client sent by the collaboration server; starts the cloud phone according to the first operation; segments the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream segment files; and pushes the multiple audio and video stream segment files to each target streaming server simultaneously through a second long connection. Each target streaming server is used to push each audio and video stream segment file to the cloud phone client through a first long connection. The cloud phone client establishes a first long connection with each of the multiple target streaming servers.

[0149] In this embodiment, a second long connection is established between the target cloud phone server and multiple target streaming servers. The target cloud phone server can receive a first operation from the user on the cloud phone client sent by the coordinating server, and then, based on the first operation, start the cloud phone, slice the audio and video streams during the cloud phone's operation to obtain multiple audio and video stream slice files. Then, through the second long connection, the multiple audio and video stream slice files are simultaneously pushed to each target streaming server, so that each target streaming server pushes each audio and video stream slice file to the cloud phone client through the first long connection. The cloud phone client and the multiple target streaming servers each have a first long connection established. As can be seen, compared to the single-node push method of audio and video streams between cloud phone servers and cloud phone clients in related technologies, this technical solution allows the cloud phone server to simultaneously push the same audio and video stream slice files to each target push server through multiple long connections. This enables the target push server to push multiple identical audio and video stream slice files to the cloud phone client through multiple long connections. Thus, even if data is lost on one link due to poor network conditions, other links can still ensure data transmission to the cloud phone client, improving the overall reliability of audio and video stream transmission and reducing frame drops or screen artifacts. Furthermore, since the audio and video stream slice files are smaller in size than the complete audio and video stream, their transmission speed is faster, improving the overall efficiency of audio and video stream transmission, reducing push latency, increasing response speed, and ensuring that the cloud phone client receives the audio and video stream promptly.

[0150] In one implementation, processor 910 may invoke a computer program stored in memory 930 and executable on processor 910 to perform the following steps:

[0151] The system receives audio and video stream slice files pushed by the target cloud phone server through a second long connection; it pushes the audio and video stream slice files to the cloud phone client through a first long connection; the cloud phone client identifies the first received audio and video stream slice file as the target audio and video stream slice file, and performs aggregation processing on multiple target audio and video stream slice files if multiple target audio and video stream slice files meet preset aggregation conditions to obtain an audio and video stream.

[0152] In this embodiment, the target streaming server receives audio and video stream slices pushed by the target cloud phone server through a second long connection with the target cloud phone server. Then, through a first long connection with the cloud phone client, it pushes the audio and video stream slices to the cloud phone client. This allows the cloud phone client to identify the initially received audio and video stream slice as the target audio and video stream slice. If multiple target audio and video stream slices meet preset aggregation conditions, they are aggregated to obtain the audio and video stream. Therefore, compared to the single-node streaming method between the cloud phone server and the cloud phone client in related technologies, this solution achieves multi-node streaming. Even if data is lost on one link due to poor network conditions, other links can still ensure data transmission to the cloud phone client, improving the overall reliability of audio and video stream transmission and reducing frame drops or screen artifacts. Furthermore, since audio and video stream slices have a smaller data size compared to complete audio and video streams, they can be transmitted faster, improving the overall efficiency of the link in transmitting audio and video streams. This helps reduce the latency of audio and video stream push, increases the response speed of audio and video streams, and ensures that cloud mobile clients can receive audio and video streams in a timely manner.

[0153] The specific execution steps can be found in the various steps of the above data processing method embodiments, and can achieve the same technical effect. To avoid repetition, they will not be described again here.

[0154] It should be noted that the electronic devices in the embodiments of this application include: servers, terminals, or other devices besides terminals.

[0155] The above electronic device structure does not constitute a limitation on the electronic device. An electronic device may include more or fewer components than illustrated, or combine certain components, or arrange them differently. For example, an input unit may include a Graphics Processing Unit (GPU) and a microphone, and a display unit may use a liquid crystal display (LCD), organic light-emitting diode (OLED), or other similar display panels. User input units include at least one of a touch panel and other input devices. A touch panel is also called a touchscreen. Other input devices may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be elaborated further here.

[0156] Memory can be used to store software programs and various data. Memory can primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area can store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, memory can include volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (Synchlink DRAM, SLDRAM), and direct memory bus RAM (DRRAM).

[0157] The processor may include one or more processing units; optionally, the processor integrates an application processor and a modem processor, wherein the application processor mainly handles operations related to the operating system, user interface, and applications, while the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into the processor.

[0158] This application also provides a computer-readable storage medium for storing computer-executable instructions. When executed by a processor, the computer-executable instructions implement the various processes of the above-described data processing method embodiments applied to cloud mobile clients, or implement the various processes of the above-described data processing method embodiments applied to target cloud mobile servers, or implement the various processes of the above-described data processing method embodiments applied to target streaming servers, and can achieve the same technical effect. To avoid repetition, further details are omitted here.

[0159] The processor mentioned above is the processor in the electronic device described in the above embodiments. The computer-readable storage medium may be a computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.

[0160] This application also provides a computer program product, which includes a computer program. When executed by a processor, the computer program implements the various processes of the above-described data processing method embodiment applied to a cloud mobile client, or implements the various processes of the above-described data processing method embodiment applied to a target cloud mobile server, or implements the various processes of the above-described data processing method embodiment applied to a target streaming server, and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0161] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface and the processor are coupled. The processor is used to run programs or instructions to implement the various processes of the above-described data processing method embodiment applied to a cloud mobile client, or to implement the various processes of the above-described data processing method embodiment applied to a target cloud mobile server, or to implement the various processes of the above-described data processing method embodiment applied to a target streaming server, and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0162] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.

[0163] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0164] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0165] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

Claims

1. A data processing method, characterized in that, Applied to a cloud mobile client, wherein the cloud mobile client establishes a first long connection with multiple target streaming servers respectively; the method includes: Through the first long connection, audio and video stream slice files pushed by each of the target streaming servers are received; the audio and video stream slice files carry slice identification information; the audio and video stream slice files are pushed from the target cloud mobile phone server to the target streaming server; the target cloud mobile phone server is used to push the same audio and video stream slice files to each target streaming server respectively. For each received audio / video stream slice file, determine whether the audio / video stream slice file is being received by the cloud mobile client for the first time based on the slice identifier information; If it is determined that the audio / video stream slice file is being received by the cloud mobile client for the first time, the audio / video stream slice file is retained as the target audio / video stream slice file; If multiple target audio and video stream slice files meet preset aggregation conditions, the multiple target audio and video stream slice files are aggregated to obtain an audio and video stream.

2. The method according to claim 1, characterized in that, Before receiving the audio / video stream slice files pushed by each of the target streaming servers through the first long connection, the method further includes: A cloud phone allocation request is sent to the collaboration server; the collaboration server is used to respond to the cloud phone allocation request, determine the target cloud phone server and the multiple target streaming servers allocated to the cloud phone client according to the preset allocation rules, and send the address information corresponding to the multiple target streaming servers to the cloud phone client and the target cloud phone server respectively. Receive the address information corresponding to the multiple target streaming servers sent by the collaborative server; For each target streaming server, a first long connection request is sent to the target streaming server based on the address information; the target streaming server is used to establish the first long connection between the cloud mobile client and the target streaming server based on the first long connection request.

3. The method according to claim 2, characterized in that, Before receiving the audio / video stream slice files pushed by each of the target streaming servers through the first long connection, the method further includes: Receive the user's first operation on the cloud mobile client; The first operation is sent to the target cloud phone server through the collaborative server; the target cloud phone server is used to start the cloud phone according to the first operation; to slice the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files; and to push each audio and video stream slice file to the cloud phone client through each target push server.

4. The method according to claim 1, characterized in that, The slice identification information includes a slice number; the preset aggregation condition includes: the first number of the target audio / video stream slice files reaches a preset number threshold; Before aggregating the multiple target audio / video stream slices to obtain an audio / video stream, given that the multiple target audio / video stream slices meet preset aggregation conditions, the method further includes: Based on the slice number, the first number of the target audio / video stream slice files is obtained; When the first quantity reaches the preset quantity threshold, it is determined that multiple target audio and video stream slice files satisfy the preset aggregation condition.

5. The method according to claim 1, characterized in that, The slice identification information includes the slice duration; The preset aggregation condition includes: the total slice duration of multiple target audio and video stream slice files reaches a preset duration threshold; Before aggregating the multiple target audio / video stream slices to obtain an audio / video stream, given that the multiple target audio / video stream slices meet preset aggregation conditions, the method further includes: Based on the slice duration, the total slice duration of the target audio / video stream slice file is calculated. If the total slice duration reaches the preset duration threshold, multiple target audio and video stream slice files are determined to satisfy the preset aggregation condition.

6. A data processing method, characterized in that, The method is applied to a target cloud mobile phone server, wherein the target cloud mobile phone server establishes a second long connection with multiple target streaming servers respectively; the method includes: Receive the user's first action on the cloud mobile client sent by the collaboration server; Start the cloud phone according to the first operation; The audio and video streams during the operation of the cloud phone are sliced ​​to obtain multiple audio and video stream slice files; Through the second long connection, the multiple audio and video stream slice files are simultaneously pushed to each of the target streaming servers; wherein, the same audio and video stream slice files are pushed to each of the target streaming servers respectively; each of the target streaming servers is used to push each audio and video stream slice file to the cloud mobile client through the first long connection; wherein, the cloud mobile client establishes the first long connection with each of the multiple target streaming servers; the cloud mobile client is used to retain the first received audio and video stream slice file as the target audio and video stream slice file, and when the multiple target audio and video stream slice files meet the preset aggregation conditions, it performs aggregation processing on the multiple target audio and video stream slice files to obtain an audio and video stream.

7. The method according to claim 6, characterized in that, After slicing the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files, the method further includes: Each of the audio and video stream slice files is encrypted to obtain multiple encrypted audio and video stream slice files; The step of simultaneously pushing the plurality of audio and video stream slice files to each of the target streaming servers through the second long connection includes: simultaneously pushing the plurality of encrypted audio and video stream slice files to each of the target streaming servers through the second long connection.

8. A data processing method, characterized in that, Applied to a target streaming server, the method includes: The system receives audio and video stream slice files pushed by the target cloud mobile phone server through a second long connection with the target cloud mobile phone server; the target cloud mobile phone server is used to push the same audio and video stream slice files to each of the target streaming servers respectively. The audio and video stream slice file is pushed to the cloud mobile client through a first long connection; the cloud mobile client establishes the first long connection with each of the multiple target streaming servers; the cloud mobile client is used to determine the first received audio and video stream slice file as the target audio and video stream slice file, and when the multiple target audio and video stream slice files meet the preset aggregation conditions, the multiple target audio and video stream slice files are aggregated to obtain an audio and video stream.

9. The method according to claim 8, characterized in that, Before pushing the audio / video stream slice file to the cloud mobile client via the first long connection, the method further includes: Receive the first long connection request sent by the cloud mobile client; In response to the first long connection request, a first long connection is established between the cloud mobile client and the target streaming server.

10. The method according to claim 8, characterized in that, Before receiving the audio / video stream slice file pushed by the target cloud mobile phone server through the second long connection with the target cloud mobile phone server, the method further includes: Receive the second long connection request sent by the target cloud mobile phone server; In response to the second long connection request, a second long connection is established between the target cloud mobile phone server and the target push stream server.

11. A data processing apparatus, applied to a cloud mobile client, wherein the cloud mobile client establishes a first long connection with multiple target streaming servers respectively; the apparatus comprises: The first receiving module is configured to receive audio and video stream slice files pushed by each of the target streaming servers through the first long connection; the audio and video stream slice files carry slice identification information; the audio and video stream slice files are pushed from the target cloud mobile phone server to the target streaming server; The target cloud mobile phone server is used to push the same audio and video stream slice files to each target streaming server respectively; The first determining module is used to determine, for each received audio / video stream slice file, whether the audio / video stream slice file is being received by the cloud mobile client for the first time, based on the slice identification information. The execution module is used to retain the audio and video stream slice file as the target audio and video stream slice file when it is determined that the audio and video stream slice file is being received by the cloud mobile client for the first time; The aggregation processing module is used to aggregate multiple target audio and video stream slice files to obtain an audio and video stream when multiple target audio and video stream slice files meet preset aggregation conditions.

12. An electronic device, characterized in that, include: processor; as well as A memory configured to store computer-executable instructions configured to be executed by the processor to implement the data processing method as described in any one of claims 1-5, or the data processing method as described in any one of claims 6-7, or the data processing method as described in any one of claims 8-10.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store computer-executable instructions, which, when executed by a processor, implement the data processing method as described in any one of claims 1-5, or implement the data processing method as described in any one of claims 6-7, or implement the data processing method as described in any one of claims 8-10.

Citation Information

Patent Citations

  • Multichannel data transmission method and device

    CN110167084A

  • Video-on-demand method and device, equipment and storage medium

    CN111385660A