Data processing method and device, electronic equipment and computer readable storage medium
By establishing multiple long connections between the cloud mobile client and the target push streaming server, receiving and pushing audio and video streaming slice files, and aggregating and processing slice files on the receiving end, the efficiency and reliability of audio and video streaming in the cloud mobile phone is solved. Low problem, enabling lower latency and higher reliability audio and video streaming.
Patent Information
- Application Number
- CN202411494664.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-24
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2044-10-24
AI Technical Summary
When using cloud mobile phones, the transmission efficiency and reliability of audio and video streams are difficult to ensure, resulting in large push stream delays and prone to frame loss or screen loss.
By establishing multiple long connections between the cloud mobile client and the target push streaming server, receiving and pushing audio and video stream slice files, and determining the first received slice files based on the slice identification information on the receiving end, aggregating and processing multiple slice files to Generate a complete audio and video stream.
It improves the transmission efficiency and reliability of audio and video streams, reduces the push stream delay, reduces the situation of frame drop or screen loss, and ensures that cloud mobile phone clients can receive audio and video streams in a timely manner.
Smart Images

Figure CN119449699A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of computer technology, and specifically relates to a data processing method, device, electronic device and computer-readable storage medium. Background Art
[0002] Cloud phones are based on end-to-end virtualization technology. Through cloud network, security, AI (Artificial Intelligence) and other digital capabilities, they can flexibly adapt to users' personalized needs, release the hardware resources of the phone itself, and load a large number of cloud applications on demand. Cloud phones can store complex calculations and large-capacity data in the cloud. Users can remotely control cloud phones in real time through video streaming, and ultimately realize the cloud operation of Android native applications and mobile games.
[0003] In the related art, users operate cloud phones through cloud phone clients, and cloud phone servers respond to user operations and push real-time running images and audio information of cloud phones to cloud phone clients. However, when using this single-node push streaming method between cloud phone servers and cloud phone clients to push audio and video streams, if the network conditions between cloud phone clients and cloud phone servers are not good, push streaming is prone to frame loss or screen distortion, and the push streaming delay will be relatively large. Summary of the invention
[0004] The embodiments of the present application provide a data processing method, device, electronic device and computer-readable storage medium, which can solve the problem that in the process of using cloud phones in related technologies, it is difficult to ensure the transmission efficiency and reliability of audio and video streams, resulting in large push delays and easy frame loss or screen distortion.
[0005] In a first aspect, an embodiment of the present application provides a data processing method, which is applied to a cloud phone client, wherein a first long connection is established between the cloud phone client and a plurality of target streaming servers respectively; the method comprises: Receiving, through the first long connection, the audio and video stream slice files pushed by each of the target streaming servers; the audio and video stream slice files carry slice identification information; the audio and video stream slice files are pushed to the target streaming server by the target cloud phone 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, determining, according to the slice identification information, whether the audio and video stream slice file is received by the cloud phone client for the first time; When it is determined that the audio and video stream slice file is received by the cloud phone client for the first time, retaining the audio and video stream slice file as the target audio and video stream slice file; When a plurality of the target audio and video stream slice files meet a preset aggregation condition, the plurality of the target audio and video stream slice files are aggregated to obtain an audio and video stream. In a second aspect, an embodiment of the present application provides a data processing method, which is applied to a target cloud phone server, wherein a second long connection is established between the target cloud phone server and a plurality of target streaming servers respectively; the method comprises: Receiving a first operation of a user on a cloud phone client sent by the collaborative server; According to the first operation, start the cloud phone; Slicing the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files; Through the second long connection, the multiple audio and video stream slice files are pushed to each of the target streaming servers at the same time; each of the target streaming servers is used to push each audio and video stream slice file to the cloud phone client through the first long connection; wherein the first long connections are established between the cloud phone client and multiple target streaming servers respectively.
[0006] In a third aspect, an embodiment of the present application provides a data processing method, which is applied to a target streaming server, and the method includes: Receiving the audio and video stream slice file pushed by the target cloud phone server through the second long connection with the target cloud phone server; The audio and video stream slice file is pushed to the cloud phone client through the first long connection with the cloud phone client; the cloud phone client is used to determine the audio and video stream slice file received for the first time as the target audio and video stream slice file, and when 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 the audio and video stream.
[0007] In a fourth aspect, an embodiment of the present application provides a data processing device, which is applied to a cloud phone client, wherein a first long connection is established between the cloud phone client and a plurality of target streaming servers respectively; the device comprises: A first receiving module is used to receive, through the first long connection, the audio and video stream slice files pushed by each of the target streaming servers; the audio and video stream slice files carry slice identification information; the audio and video stream slice files are pushed to the target streaming server by the target cloud phone server; the target cloud phone server is used to push the same audio and video stream slice files to each target streaming server respectively; A first determination module is used to determine, for each received audio and video stream slice file, whether the audio and video stream slice file is received by the cloud phone client for the first time according to the slice identification information; An execution module, configured to retain the audio and video stream slice file as a target audio and video stream slice file when it is determined that the audio and video stream slice file is received by the cloud phone client for the first time; The aggregation processing module is used to aggregate the multiple target audio and video stream slice files to obtain the audio and video stream when the multiple target audio and video stream slice files meet the preset aggregation conditions.
[0008] In a fifth aspect, an embodiment of the present application provides a data processing device, which is applied to a target cloud phone server, wherein a second long connection is established between the target cloud phone server and a plurality of target streaming servers respectively; the device comprises: A fourth receiving module, configured to receive a first operation of a user on a cloud phone client, sent by the collaborative server; A cloud phone startup module, used to start the cloud phone according to the first operation; A slice processing module, used for slicing 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 is used to push the multiple audio and video stream slice files to each of the target streaming servers simultaneously through the second long connection; each of the target streaming servers is used to push each audio and video stream slice file to the cloud phone client through the first long connection; wherein the first long connections are established between the cloud phone client and multiple target streaming servers respectively.
[0009] In a sixth aspect, an embodiment of the present application provides a data processing device, applied to a target streaming server, the device comprising: A fifth receiving module, configured to receive the audio and video stream slice file pushed by the target cloud phone server through a second long connection with the target cloud phone server; The second push module is used to push the audio and video stream slice file to the cloud phone client through the first long connection between the cloud phone client and the cloud phone client; the cloud phone client is used to determine the audio and video stream slice file received for the first time as the target audio and video stream slice file, and when 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.
[0010] In the seventh aspect, an embodiment of the present application provides an electronic device, comprising a processor; and a memory arranged to store computer-executable instructions, wherein the computer-executable instructions are configured to be executed by the processor, and the computer-executable instructions are executed by the processor to 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.
[0011] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium is used to store computer-executable instructions, and when the computer-executable instructions are executed by a processor, the steps of the data processing method as described in the first aspect are implemented, or the steps of the data processing method as described in the second aspect are implemented, or the steps of the data processing method as described in the third aspect are implemented.
[0012] In the ninth aspect, an embodiment of the present application provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, it 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.
[0013] In the tenth aspect, an embodiment of the present application provides a chip, comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run 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.
[0014] In the embodiment of the present application, a first long connection is established between the cloud phone client and multiple target streaming servers, so that the cloud phone client can receive the audio and video stream slice files with slice identification information pushed by each target streaming server through multiple first long connections. Among them, the audio and video stream slice files are pushed by the target cloud phone server to the target streaming server, and the target cloud phone server is used to push the same audio and video stream slice files to each target streaming server. It can be seen that compared with the streaming method of pushing audio and video streams by a single node between the cloud phone server and the cloud phone client in the related art, in this technical solution, the cloud phone client can receive multiple identical audio and video stream slice files through multiple long connections. Since the audio and video stream slice files have a smaller data volume than the complete audio and video stream, the transmission speed of the audio and video stream slice files is faster, which improves the efficiency of the overall transmission of the audio and video stream of the link. In addition, even if the data of a certain link is lost due to poor network conditions, there are still other links that can ensure that the data is transmitted to the cloud phone client, which improves the reliability of the overall transmission of the audio and video stream of the link, which is conducive to reducing the occurrence of frame loss or screen distortion. Furthermore, for each audio and video stream slice file received, the cloud phone client can determine whether the audio and video stream slice file is received by the cloud phone client for the first time based on the slice identification information. When it is determined that the audio and video stream slice file is 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, and when 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. It can be seen that in this technical solution, for the received and identical audio and video stream slice files, the cloud phone client can aggregate the audio and video stream using the audio and video stream slice files received first, which is conducive to reducing the push delay of the audio and video stream, improving the response speed of the audio and video stream, and ensuring that the cloud phone client can obtain the audio and video stream in a timely manner.
[0015] Furthermore, in an embodiment of the present application, a second long connection is established between the target cloud phone server and multiple target streaming servers. The target cloud phone server can receive the first operation of the user on the cloud phone client sent by the collaborative server, and then start the cloud phone according to the first operation, slice the audio and video streams during the operation of the cloud phone, and obtain multiple audio and video stream slice files, and then, through the second long connection, push the multiple audio and video stream slice files to each target streaming server at the same time, so that each target streaming server pushes each audio and video stream slice file to the cloud phone client through the first long connection. Among them, a first long connection is established between the cloud phone client and multiple target streaming servers. It can be seen that compared with the single-node push streaming method of pushing audio and video streams between the cloud phone server and the cloud phone client in the related art, in this technical solution, the cloud phone server can push the same audio and video stream slice files to each target push streaming server at the same time through multiple long connections, so that the target push streaming server can push multiple identical audio and video stream slice files to the cloud phone client through multiple long connections. In this way, even if the data of a certain link is lost due to poor network conditions, there are still other links to ensure that the data is transmitted to the cloud phone client, which improves the reliability of the overall transmission of audio and video streams in the link and helps to reduce the occurrence of frame loss or screen distortion. In addition, since the data volume of the audio and video stream slice files is smaller than that of the complete audio and video stream, the transmission speed of the audio and video stream slice files is faster, which improves the efficiency of the overall transmission of audio and video streams in the link, helps to reduce the push delay of the audio and video stream, improves the response speed of the audio and video stream, and ensures that the cloud phone client can obtain the audio and video stream in time. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 is a schematic block diagram of a data processing system provided in an embodiment of the present application; Figure 2 It is a flowchart of a data processing method provided in an embodiment of the present application; Figure 3 is a flowchart of a data processing method provided by another embodiment of the present application; Figure 4 is a flowchart of a data processing method provided by another embodiment of the present application; Figure 5 is a schematic swim lane diagram of a data processing method provided in one embodiment of the present application; Figure 6 is a structural schematic diagram of a data processing device provided in an embodiment of the present application; Figure 7 is a structural schematic diagram of a data processing device provided by another embodiment of the present application; Figure 8is a structural schematic diagram of a data processing device provided by another embodiment of the present application; Fig. 9 It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0017] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0018] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are generally of one type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.
[0019] The data processing method, device, electronic device and computer-readable storage medium provided in the embodiments of the present application are described in detail below with reference to the accompanying drawings through specific embodiments and their application scenarios.
[0020] Figure 1 is a schematic block diagram of a data processing system provided in an embodiment of the present application, such as Figure 1 As shown, the data processing system includes a cloud phone client 110, a collaborative server 120, a streaming server 130 and a cloud phone server 140. The cloud phone server 140 can run a cloud phone 1410, and the cloud phone client 110 can run a cloud phone APP (Application) that needs to use the functions of the cloud phone in the cloud phone server. The cloud phone client 110 is connected in communication with the collaborative server 120, and the collaborative server 120 is connected in communication with the cloud phone server 140. It should be noted that in actual applications, there is communication interaction between the collaborative server and the cloud phone client 110, each streaming server 130, and each cloud phone server 140 in the data processing system. To simplify the attached drawings, Figure 1In the illustrated embodiment, only the connection relationship among the cloud phone client 110, the collaborative server 120 and one cloud phone server 140 is schematically shown, and the connection relationship between the collaborative server and other devices is not reflected.
[0021] The number of cloud phone APPs can be one or more. Figure 1 Only one is schematically shown. There are multiple streaming servers 130 and cloud phone servers 140, the target streaming servers are at least two of the multiple streaming servers, and the target cloud phone server is one of the multiple cloud phone servers. Figure 1 Only five streaming servers 130 and two cloud phone servers 140 are schematically shown, wherein the target streaming servers are three of the five streaming servers, and the target cloud phone server is one of the two 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.
[0022] In this embodiment, when the user triggers the cloud phone APP on the cloud phone client and logs in to the cloud phone APP, the cloud phone client can send a cloud phone allocation request to the collaborative server. The collaborative server determines the target cloud phone server and multiple target streaming servers allocated to the cloud phone client according to the preset allocation rules in response to the cloud phone allocation request, and sends the address information corresponding to the multiple target streaming servers to the cloud phone client and the target cloud phone server. In this way, the cloud phone client can send a first long connection request to the target streaming server according to the address information for each target streaming server, so that the target streaming server establishes a first long connection between the cloud phone client and the target streaming server according to the first long connection request. And the target cloud phone server can send a second long connection request to each target streaming server according to the address information, so that each target streaming server establishes a second long connection between the target cloud phone server and the target streaming server according to the second long connection request.
[0023] Afterwards, by receiving the first operation of the user on the cloud phone client, the cloud phone client can send the first operation to the target cloud phone server through the collaborative server. The target cloud phone server can start the cloud phone according to the first operation, slice the audio and video streams during the operation of the cloud phone, obtain multiple audio and video stream slice files, and push the multiple audio and video stream slice files to each target streaming server at the same time 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.
[0024] The cloud phone client can determine, for each audio and video stream slice file received, whether the audio and video stream slice file is 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 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, and if multiple target audio and video stream slice files meet preset aggregation conditions, multiple target audio and video stream slice files are aggregated to obtain an audio and video stream.
[0025] Optionally, the target cloud phone server can encrypt each audio and video stream slice file separately to obtain multiple encrypted audio and video stream slice files, thereby simultaneously pushing the multiple encrypted audio and video stream slice files to each target streaming server through the second long connection. Accordingly, for each audio and video stream slice file received, the cloud phone client can retain the audio and video stream slice file as the target audio and video stream slice file after determining that the audio and video stream slice file is received by the cloud phone client for the first time, and then decrypt the target audio and video stream slice file to facilitate the aggregation of multiple target audio and video stream slice files later.
[0026] The following describes the specific operations performed by the cloud phone client 110, the streaming server 130 and the cloud phone server 140 in the data processing system during the data processing process. Figure 2 A data processing method provided by an embodiment of the present application is shown. The method is applied to a cloud phone client 110. A first long connection is established between the cloud phone client and multiple target streaming servers. The method can be executed by an electronic device, which may include: a server and / or a terminal device, wherein the terminal device may be, for example, a vehicle terminal or a mobile phone terminal. In other words, the method can be executed by software or hardware installed in the electronic device, and the method includes the following steps: Step 202: receiving the audio and video stream slice files pushed by each target streaming server through the first long connection, where the audio and video stream slice files carry slice identification information.
[0027] 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. Optionally, the slice identification information may include a slice number, a slice duration, etc. The slice number is used to represent the order of the audio and video stream slice files, and the slice duration is used to represent the duration of the audio and video stream slice files.
[0028] Step 204: for each received audio and video stream slice file, determine, based on the slice identification information, whether the audio and video stream slice file is received by the cloud phone client for the first time.
[0029] Optionally, the slice identification information includes a slice number. For each audio and video stream slice file received by the cloud phone client, if the slice number of the audio and video stream slice file appears for the first time, it is determined that the audio and video stream slice file is received by the cloud phone client for the first time. If the slice number of the audio and video stream slice file does not appear for the first time, it is determined that the audio and video stream slice file is not received by the cloud phone client for the first time.
[0030] Step 206: When it is determined that the audio and video stream slice file is 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.
[0031] In addition, when it is determined that the audio and video stream slice file is not received by the cloud phone client for the first time, the audio and video stream slice file is discarded.
[0032] Step 208: When multiple target audio and video stream slice files meet a preset aggregation condition, the multiple target audio and video stream slice files are aggregated to obtain an audio and video stream.
[0033] Among them, the cloud phone client can display the obtained audio and video streams to the user.
[0034] In the embodiment of the present application, a first long connection is established between the cloud phone client and multiple target streaming servers, so that the cloud phone client can receive the audio and video stream slice files with slice identification information pushed by each target streaming server through multiple first long connections. Among them, the audio and video stream slice files are pushed by the target cloud phone server to the target streaming server, and the target cloud phone server is used to push the same audio and video stream slice files to each target streaming server. It can be seen that compared with the streaming method of pushing audio and video streams by a single node between the cloud phone server and the cloud phone client in the related art, in this technical solution, the cloud phone client can receive multiple identical audio and video stream slice files through multiple long connections. Since the audio and video stream slice files have a smaller data volume than the complete audio and video stream, the transmission speed of the audio and video stream slice files is faster, which improves the efficiency of the overall transmission of the audio and video stream of the link. In addition, even if the data of a certain link is lost due to poor network conditions, there are still other links that can ensure that the data is transmitted to the cloud phone client, which improves the reliability of the overall transmission of the audio and video stream of the link, which is conducive to reducing the occurrence of frame loss or screen distortion. Furthermore, for each audio and video stream slice file received, the cloud phone client can determine whether the audio and video stream slice file is received by the cloud phone client for the first time based on the slice identification information. When it is determined that the audio and video stream slice file is 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, and when 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. It can be seen that in this technical solution, for the received and identical audio and video stream slice files, the cloud phone client can aggregate the audio and video stream using the audio and video stream slice files received first, which is conducive to reducing the push delay of the audio and video stream, improving the response speed of the audio and video stream, and ensuring that the cloud phone client can obtain the audio and video stream in a timely manner.
[0035] In one implementation, before receiving the audio and video stream slice files pushed by each target streaming server through the first long connection (ie, step 202), the following steps A1 to A3 may be performed to establish a first long connection between the cloud phone client and the target streaming server.
[0036] Step A1: Send a cloud phone allocation request to the collaborative server.
[0037] The cloud phone allocation request is used to request the allocation of a cloud phone server and a streaming server for a cloud phone client. The cloud phone allocation request may carry the location information of the cloud phone client, the login information of the user logging into the cloud phone APP, etc. The collaborative server may be a terminal-cloud collaborative server.
[0038] In this embodiment, the collaborative server is used to respond to the cloud phone allocation request, determine the target cloud phone server and 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.
[0039] Optionally, the preset allocation rules may include a resource priority allocation rule for allocating a target cloud phone server, and a proximity allocation rule for allocating multiple target streaming servers. Specifically, in response to the cloud phone allocation request, the collaborative server may first determine the resource occupancy of each cloud phone server, and then determine the cloud phone server with the least resource occupancy as the target cloud phone server. At the same time, in response to the cloud phone allocation request, the location information of each streaming server may be first determined, and then a preset number of streaming servers closest to the cloud phone client may be determined as the target streaming servers based on the location information of the cloud phone client.
[0040] Step A2: receiving address information corresponding to multiple target streaming servers respectively sent by the collaborative server.
[0041] The address information of the streaming server may be an IP (Internet Protocol) address of the streaming server.
[0042] Step A3: for each target streaming server, send a first persistent connection request to the target streaming server according to the address information. The target streaming server is used to establish a first persistent connection between the cloud phone client and the target streaming server according to the first persistent connection request.
[0043] In addition, the target cloud phone server can send a second long connection request to the target streaming server according to 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 according to the second long connection request.
[0044] In this embodiment, through the interaction between the cloud phone client, the collaborative server and the target streaming server, a first long connection is established between the cloud phone client and multiple target streaming servers, which provides a path basis for the transmission of audio and video streams during the use of the cloud phone, and is conducive to improving the transmission efficiency of audio and video streams.
[0045] 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, thereby achieving the effect of running the cloud phone by controlling the cloud phone client.
[0046] Step B1, receiving the user's first operation on the cloud phone client.
[0047] In this embodiment, the first operation may be a gesture operation, a key operation, etc. on the cloud phone APP on the cloud phone client, such as clicking a virtual button on the cloud phone APP interface.
[0048] Step B2: Send the first operation to the target cloud phone server through the collaborative server.
[0049] Among them, the target cloud phone server is used to start the cloud phone according to the first operation, so as to slice the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files, and then push each audio and video stream slice file to the cloud phone client through each target streaming server.
[0050] Optionally, after obtaining multiple audio and video stream slice files, the target cloud phone server can perform data encoding and data encryption processing on each audio and video stream slice file respectively, so as to ensure the security of the data transmission process and avoid the risk of data leakage. Correspondingly, after receiving the target audio and video stream slice file, the cloud phone client needs to perform data decryption and data decoding processing in sequence, and then aggregate the multiple target audio and video stream slice files to obtain the audio and video stream when the multiple target audio and video stream slice files meet the preset aggregation conditions.
[0051] In one implementation, the slice identification information includes a slice number. The preset aggregation condition includes: a first number of target audio and video stream slice files reaches a preset number threshold.
[0052] When multiple target audio and video stream slice files meet the preset aggregation conditions, before aggregating the multiple target audio and video stream slice files to obtain the audio and video stream (i.e., step 208), a first number of target audio and video stream slice files can be statistically obtained based on the slice number, and when the first number reaches a preset number threshold, it is determined that the multiple target audio and video stream slice files meet the preset aggregation conditions.
[0053] In one implementation, the slice identification information includes the slice duration. The preset aggregation condition includes: the total slice duration of the plurality of target audio and video stream slice files reaches a preset duration threshold.
[0054] When multiple target audio and video stream slice files meet the preset aggregation conditions, before the multiple target audio and video stream slice files are aggregated 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 statistically obtained based on the slice duration, and when the total slice duration reaches a preset duration threshold, it is determined that the multiple target audio and video stream slice files meet the preset aggregation conditions.
[0055] In this embodiment, corresponding aggregation conditions are set for different types of slice identification information, which is beneficial for the cloud phone client to accurately determine whether multiple target audio and video stream slice files meet the aggregation conditions according to actual conditions, and is beneficial for the cloud phone client to quickly and accurately aggregate the audio and video streams.
[0056] Figure 3 Another embodiment of the present application provides a data processing method, which is applied to a target cloud phone server 140, and a second long connection is established between the target cloud phone server and multiple target streaming servers. The method can be executed by an electronic device, which may include: a server and / or a terminal device, wherein the terminal device may be, for example, a vehicle terminal or a mobile phone terminal. In other words, the method can be executed by software or hardware installed in the electronic device, and the method includes the following steps: Step 302: Receive the first operation of the user on the cloud phone client sent by the collaborative server.
[0057] Among them, the first operation can be a gesture operation, a key operation, etc. on the cloud phone APP on the cloud phone client, such as clicking a virtual button on the cloud phone APP interface.
[0058] Step 304: start the cloud phone according to the first operation.
[0059] Step 306, slicing the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files.
[0060] Among them, the audio and video streams during the operation of the cloud phone can be regarded as a large data packet, which is sliced, that is, the large data packet is divided into multiple small data packets, that is, multiple audio and video stream slice files are obtained.
[0061] Step 308: Push multiple audio and video stream slice files to each target streaming server simultaneously through the second long connection.
[0062] Each target streaming server is used to push each audio and video stream slice file to the cloud phone client through the first long connection. A first long connection is established between the cloud phone client and the plurality of target streaming servers.
[0063] In an embodiment of the present application, a second long connection is established between the target cloud phone server and multiple target streaming servers. The target cloud phone server can receive the first operation of the user on the cloud phone client sent by the collaborative server, and then start the cloud phone according to the first operation, slice the audio and video streams during the operation of the cloud phone, and obtain multiple audio and video stream slice files, and then, through the second long connection, push the multiple audio and video stream slice files to each target streaming server at the same time, so that each target streaming server pushes each audio and video stream slice file to the cloud phone client through the first long connection. Among them, a first long connection is established between the cloud phone client and multiple target streaming servers. It can be seen that compared with the single-node push streaming method of pushing audio and video streams between the cloud phone server and the cloud phone client in the related art, in this technical solution, the cloud phone server can push the same audio and video stream slice files to each target push streaming server at the same time through multiple long connections, so that the target push streaming server can push multiple identical audio and video stream slice files to the cloud phone client through multiple long connections. In this way, even if the data of a certain link is lost due to poor network conditions, there are still other links to ensure that the data is transmitted to the cloud phone client, which improves the reliability of the overall transmission of audio and video streams in the link and helps to reduce the occurrence of frame loss or screen distortion. In addition, since the data volume of the audio and video stream slice files is smaller than that of the complete audio and video stream, the transmission speed of the audio and video stream slice files is faster, which improves the efficiency of the overall transmission of audio and video streams in the link, helps to reduce the push delay of the audio and video stream, improves the response speed of the audio and video stream, and ensures that the cloud phone client can obtain the audio and video stream in time.
[0064] In one implementation, after slicing the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files (i.e., step 306), each audio and video stream slice file can be encrypted separately to obtain multiple encrypted audio and video stream slice files.
[0065] In this embodiment, multiple audio and video stream slice files are pushed to each target streaming server simultaneously through the second long connection, which can be executed as follows: multiple encrypted audio and video stream slice files are pushed to each target streaming server simultaneously through the second long connection.
[0066] Optionally, before encrypting each audio and video stream slice file, each audio and video stream slice file may be encoded to obtain multiple encoded audio and video stream slice files, and then the multiple encoded audio and video stream slice files may be encrypted.
[0067] In this embodiment, by encrypting the audio and video stream slice files, the security of the data transmission process can be ensured and the risk of data leakage can be avoided.
[0068] Figure 4 Another embodiment of the present application provides a data processing method, which is applied to the target streaming server 130. The method can be executed by an electronic device, which may include: a server and / or a terminal device, wherein the terminal device may be, for example, a vehicle-mounted terminal or a mobile phone terminal. In other words, the method can be executed by software or hardware installed in the electronic device, and the method includes the following steps: Step 402, receiving the audio and video stream slice file pushed by the target cloud phone server through the second long connection between the target cloud phone server and the target cloud phone server.
[0069] Step 404: Push the audio and video stream slice file to the cloud phone client through the first long connection with the cloud phone client.
[0070] Among them, the cloud phone client is used to determine the audio and video stream slice file received for the first time as the target audio and video stream slice file, and when 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.
[0071] In an embodiment of the present application, the target streaming server can receive the audio and video stream slice files pushed by the target cloud phone server through the second long connection between the target cloud phone server and the target cloud phone server, and then push the audio and video stream slice files to the cloud phone client through the first long connection between the target cloud phone client, so that the cloud phone client determines the audio and video stream slice files received for the first time as the target audio and video stream slice files, and when 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. It can be seen that compared with the single-node streaming method of pushing audio and video streams between the cloud phone server and the cloud phone client in the related art, this technical solution achieves the effect of multi-node streaming. In this way, even if the data of a certain link is lost due to poor network conditions, there are still other links that can ensure that the data is transmitted to the cloud phone client, which improves the reliability of the overall transmission of audio and video streams in the link, and helps to reduce the occurrence of frame loss or screen distortion. Moreover, since the data volume of audio and video stream slice files is smaller than that of complete audio and video streams, the transmission speed of audio and video stream slice files is faster, which improves the efficiency of the overall transmission of audio and video streams in the link, helps to reduce the push delay of audio and video streams, improves the response speed of audio and video streams, and ensures that the cloud phone client can obtain the audio and video streams in a timely manner.
[0072] In one implementation, before pushing the audio and video stream slice file to the cloud phone client (i.e., step 404) through the first long connection between the cloud phone client and the cloud phone client, a first long connection request sent by the cloud phone client can be received, thereby establishing a first long connection between the cloud phone client and the target streaming server in response to the first long connection request.
[0073] In one implementation, before receiving the audio and video stream slice file pushed by the target cloud phone server (i.e., step 402) through the second long connection between the target cloud phone server and the target cloud phone server, a second long connection request sent by the target cloud phone server can be received, thereby establishing a second long connection between the target cloud phone server and the target streaming server in response to the second long connection request.
[0074] In this embodiment, by responding to long connection requests, a first long connection is established between the cloud phone client and multiple target streaming servers, as well as a second long connection is established between the target cloud phone server and multiple target streaming servers, thereby providing a path basis for the transmission of audio and video stream slice data. In this way, even if the data of a certain link is lost due to poor network conditions, there are still other links that can ensure that the data is transmitted to the cloud phone client, thereby improving the reliability of the overall transmission of audio and video streams in the link, and helping to reduce the occurrence of frame loss or screen distortion.
[0075] Figure 5 is a schematic swimming lane diagram of a data processing method provided in an embodiment of the present application, the method is applied to Figure 1 In actual applications, when a user uses the cloud phone function once (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 determine a target streaming server and a target cloud phone server through interaction with the collaborative server, and establish a first long connection between the cloud phone client and multiple target streaming servers, and establish a second long connection between multiple target streaming servers and the target cloud phone server.
[0076] Specifically, the cloud phone client can send a cloud phone allocation request to the collaborative server. In response to the cloud phone allocation request, the collaborative server 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. The cloud phone client sends a first long connection request to each target streaming server based on the address information. The target streaming server establishes a first long connection between the cloud phone client and the target streaming server based on the first long connection request. The target cloud phone server sends a second long connection request to each target streaming server based on the address information. The target streaming server establishes a second long connection between the target cloud phone server and the target streaming server based on the second long connection request.
[0077] For the sake of ease of explanation, in the implementation steps of the data processing method, the process of establishing the first long connection and the second long connection will not be repeated. Only how the audio and video stream data is transmitted from the target cloud phone server to the cloud phone client under the premise of the establishment of the long connection will be explained in detail.
[0078] like Figure 5 As shown, the data processing method may include the following steps 5.1 to 5.7: Step 5.1: The cloud phone client receives a first operation of the user on the cloud phone client, and sends the first operation to a target cloud phone server through a collaborative server.
[0079] Step 5.2: The target cloud phone server starts the cloud phone according to the first operation, and slices the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files.
[0080] Step 5.3: The target cloud phone server pushes multiple audio and video stream slice files to each target streaming server simultaneously through the second long connection.
[0081] Among them, the audio and video stream slice file carries slice identification information.
[0082] In step 5.4, each target streaming server pushes each audio and video stream slice file to the cloud phone client through the first long connection.
[0083] In step 5.5, the cloud phone client determines, for each received audio or video stream slice file, whether the audio or video stream slice file is received by the cloud phone client for the first time according to the slice identification information.
[0084] In step 5.6, when the cloud phone client determines that the audio and video stream slice file is received by the cloud phone client for the first time, the cloud phone client retains the audio and video stream slice file as the target audio and video stream slice file.
[0085] In step 5.7, when multiple target audio and video stream slice files meet preset aggregation conditions, the cloud phone client aggregates the multiple target audio and video stream slice files to obtain audio and video streams.
[0086] The specific process of the above steps 5.1 to 5.7 has been described in detail in the above embodiment and will not be repeated here.
[0087] In an embodiment of the present application, the cloud phone client can receive multiple identical audio and video stream slice files through multiple long connections. Since the audio and video stream slice files have a smaller data volume than the complete audio and video stream, the transmission speed of the audio and video stream slice files is faster, which improves the efficiency of the overall transmission of the audio and video stream in the link. Moreover, even if the data of a certain link is lost due to poor network conditions, there are still other links that can ensure that the data is transmitted to the cloud phone client, which improves the reliability of the overall transmission of the audio and video stream in the link, and helps to reduce the occurrence of frame loss or screen distortion. Further, for each audio and video stream slice file received, the cloud phone client can determine whether the audio and video stream slice file is received by the cloud phone client for the first time based on the slice identification information. When it is determined that the audio and video stream slice file is 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, and when 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. It can be seen that in this technical solution, for the received identical audio and video stream slice files, the cloud phone client can aggregate the audio and video stream using the audio and video stream slice files received earlier, which is conducive to reducing the push delay of the audio and video stream, improving the response speed of the audio and video stream, and ensuring that the cloud phone client can obtain the audio and video stream in a timely manner.
[0088] It should be noted that the data processing method provided in the embodiment of the present application can be executed by a data processing device or a control module in the data processing device for executing the data processing method. In the embodiment of the present application, the data processing device provided in the embodiment of the present application is described by taking the data processing device executing the data processing method as an example.
[0089] Figure 6 Schematic diagram of a data processing device provided in an embodiment of the present application, which is applied to a cloud mobile phone client, and a first long connection is established between the cloud mobile phone client and multiple target streaming servers. Figure 6 As shown, the data processing device includes: a first receiving module 610, a first determining module 620, an executing module 630 and an aggregation processing module 640.
[0090] The first receiving module 610 is used to receive the 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; 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 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, for each received audio and video stream slice file, whether the audio and video stream slice file is received by the cloud mobile phone client for the first time according to the slice identification information; the execution module 630 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 received by the cloud mobile phone client for the first time; the aggregation processing module 640 is used to aggregate the multiple target audio and video stream slice files to obtain the audio and video stream when the multiple target audio and video stream slice files meet the preset aggregation conditions.
[0091] In one implementation, the data processing device also includes: a first sending module, which is used to send a cloud phone allocation request to the collaborative server before receiving the audio and video stream slice files pushed by each target streaming server through the first long connection; the collaborative server is used to respond to the cloud phone allocation request, and determine the target cloud phone server and multiple target streaming servers allocated to the cloud phone client according to a preset allocation rule, and send the address information corresponding to the multiple target streaming servers to the cloud phone client and the target cloud phone server; a second receiving module, which is used to receive the address information corresponding to the multiple target streaming servers sent by the collaborative server; the second sending module, which is used to send a first long connection request to the target streaming server according to the address information for each target streaming server; the target streaming server is used to establish a first long connection between the cloud phone client and the target streaming server according to the first long connection request.
[0092] In one implementation, the data processing device also includes: a third receiving module, which is used to receive a first operation of the user on the cloud phone client before receiving the audio and video stream slice files pushed by each target streaming server through the first long connection; a third sending module, which is used to send the first operation 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; the audio and video streams during the operation of the cloud phone are sliced to obtain multiple audio and video stream slice files; each audio and video stream slice file is pushed to the cloud phone client through each target streaming server.
[0093] In one implementation, the slice identification information includes a slice number; the preset aggregation condition includes: a first number of target audio and video stream slice files reaches a preset number threshold; The data processing device also includes: a first statistical module, which is used to aggregate multiple target audio and video stream slice files when the multiple target audio and video stream slice files meet the preset aggregation conditions, and before obtaining the audio and video stream, statistically obtain the first number of target audio and video stream slice files according to the slice number; a second determination module is 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.
[0094] In one implementation, the slice identification information includes the slice duration; the preset aggregation condition includes: the total slice duration of the plurality of target audio and video stream slice files reaches a preset duration threshold; The data processing device also includes: a second statistical module, which is used to aggregate multiple target audio and video stream slice files when the multiple target audio and video stream slice files meet the preset aggregation conditions, and before obtaining the audio and video stream, obtain the total slice duration of the target audio and video stream slice files according to the slice duration; a third determination module, which is used to determine that multiple target audio and video stream slice files meet the preset aggregation conditions when the total slice duration reaches a preset duration threshold.
[0095] In the embodiment of the present application, a first long connection is established between the cloud phone client and multiple target streaming servers, so that the cloud phone client can receive the audio and video stream slice files carrying slice identification information pushed by each target streaming server through multiple first long connections. Among them, the audio and video stream slice files are pushed by the target cloud phone server to the target streaming server, and the target cloud phone server is used to push the same audio and video stream slice files to each target streaming server. It can be seen that compared with the streaming method of pushing audio and video streams by a single node between the cloud phone server and the cloud phone client in the related art, in this technical solution, the cloud phone client can receive multiple identical audio and video stream slice files through multiple long connections. Since the audio and video stream slice files have a smaller data volume than the complete audio and video stream, the transmission speed of the audio and video stream slice files is faster, which improves the efficiency of the overall transmission of the audio and video stream of the link. In addition, even if the data of a certain link is lost due to poor network conditions, there are still other links that can ensure that the data is transmitted to the cloud phone client, which improves the reliability of the overall transmission of the audio and video stream of the link, which is conducive to reducing the occurrence of frame loss or screen distortion. Furthermore, for each audio and video stream slice file received, the cloud phone client can determine whether the audio and video stream slice file is received by the cloud phone client for the first time based on the slice identification information. When it is determined that the audio and video stream slice file is 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, and when 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. It can be seen that in this technical solution, for the received and identical audio and video stream slice files, the cloud phone client can aggregate the audio and video stream using the audio and video stream slice files received first, which is conducive to reducing the push delay of the audio and video stream, improving the response speed of the audio and video stream, and ensuring that the cloud phone client can obtain the audio and video stream in a timely manner.
[0096] Figure 7 1 is a structural diagram of a data processing device provided by another embodiment of the present application, which is applied to a target cloud mobile phone server, and 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.
[0097] The fourth receiving module 710 is used to receive the first operation of 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 streaming server at the same time through the second long connection; each target streaming server is used to push each audio and video stream slice file to the cloud phone client through the first long connection; wherein, a first long connection is established between the cloud phone client and multiple target streaming servers respectively.
[0098] In one implementation, the data processing device further includes: an encryption processing module, which is used to slice the audio and video streams during the operation of the cloud phone to obtain a plurality of audio and video stream slice files, and then encrypt each audio and video stream slice file to obtain a plurality of encrypted audio and video stream slice files; The first push module 740 includes: a push unit, which is used to push multiple encrypted audio and video stream slice files to each target streaming server simultaneously through the second long connection.
[0099] In an embodiment of the present application, a second long connection is established between the target cloud phone server and multiple target streaming servers. The target cloud phone server can receive the first operation of the user on the cloud phone client sent by the collaborative server, and then start the cloud phone according to the first operation, slice the audio and video streams during the operation of the cloud phone, and obtain multiple audio and video stream slice files, and then, through the second long connection, push the multiple audio and video stream slice files to each target streaming server at the same time, so that each target streaming server pushes each audio and video stream slice file to the cloud phone client through the first long connection. Among them, a first long connection is established between the cloud phone client and multiple target streaming servers. It can be seen that compared with the single-node push streaming method of pushing audio and video streams between the cloud phone server and the cloud phone client in the related art, in this technical solution, the cloud phone server can push the same audio and video stream slice files to each target push streaming server at the same time through multiple long connections, so that the target push streaming server can push multiple identical audio and video stream slice files to the cloud phone client through multiple long connections. In this way, even if the data of a certain link is lost due to poor network conditions, there are still other links to ensure that the data is transmitted to the cloud phone client, which improves the reliability of the overall transmission of audio and video streams in the link and helps to reduce the occurrence of frame loss or screen distortion. In addition, since the data volume of the audio and video stream slice files is smaller than that of the complete audio and video stream, the transmission speed of the audio and video stream slice files is faster, which improves the efficiency of the overall transmission of audio and video streams in the link, helps to reduce the push delay of the audio and video stream, improves the response speed of the audio and video stream, and ensures that the cloud phone client can obtain the audio and video stream in time.
[0100] Figure 8 is a structural diagram of a data processing device provided by another embodiment of the present application, which is applied to a target streaming server. Figure 8 As shown, the data processing device includes: a fifth receiving module 810 and a second pushing module 820.
[0101] The fifth receiving module 810 is used to receive the audio and video stream slice file pushed by the target cloud phone server through the second long connection between the target cloud phone server and the cloud phone server; the second pushing module 820 is used to push the audio and video stream slice file to the cloud phone client through the first long connection between the cloud phone client and the cloud phone client; the cloud phone client is used to determine the audio and video stream slice file received for the first time 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 the multiple target audio and video stream slice files to obtain the audio and video stream.
[0102] In one implementation, the data processing device also includes: a sixth receiving module, which is used to receive a first long connection request sent by the cloud phone client before pushing the audio and video stream slice file to the cloud phone client through the first long connection between the cloud phone client and the cloud phone client; a first long connection establishment module, which is used to establish a first long connection between the cloud phone client and the target streaming server in response to the first long connection request.
[0103] In one implementation, the data processing device also includes: a seventh receiving module, which is used to receive a second long connection request sent by the target cloud mobile phone server before receiving the audio and video stream slice file pushed by the target cloud mobile phone server through the second long connection between the target cloud mobile phone server and the target streaming server; a second long connection establishment module, which is used to establish a second long connection between the target cloud mobile phone server and the target streaming server in response to the second long connection request.
[0104] In an embodiment of the present application, the target streaming server can receive the audio and video stream slice files pushed by the target cloud phone server through the second long connection between the target cloud phone server and the target cloud phone server, and then push the audio and video stream slice files to the cloud phone client through the first long connection between the target cloud phone client, so that the cloud phone client determines the audio and video stream slice files received for the first time as the target audio and video stream slice files, and when 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. It can be seen that compared with the single-node streaming method of pushing audio and video streams between the cloud phone server and the cloud phone client in the related art, this technical solution achieves the effect of multi-node streaming. In this way, even if the data of a certain link is lost due to poor network conditions, there are still other links that can ensure that the data is transmitted to the cloud phone client, which improves the reliability of the overall transmission of audio and video streams in the link, and helps to reduce the occurrence of frame loss or screen distortion. Moreover, since the data volume of audio and video stream slice files is smaller than that of complete audio and video streams, the transmission speed of audio and video stream slice files is faster, which improves the efficiency of the overall transmission of audio and video streams in the link, helps to reduce the push delay of audio and video streams, improves the response speed of audio and video streams, and ensures that the cloud phone client can obtain the audio and video streams in a timely manner.
[0105] The data processing device in the embodiment of the present application may be a device, or a component, integrated circuit, or chip in a terminal. The device may be a mobile electronic device or a non-mobile electronic device. For example, the mobile electronic device may be a mobile phone, a tablet computer, a laptop computer, a PDA, an in-vehicle electronic device, a wearable device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA), etc. The non-mobile electronic device may be a server, a network attached storage (NAS), a personal computer (PC), a television (TV), a teller machine, or a self-service machine, etc., which is not specifically limited in the embodiment of the present application.
[0106] The data processing device in the embodiment of the present application may be a device having an operating system. The operating system may be an Android operating system, an iOS operating system, or other possible operating systems, which are not specifically limited in the embodiment of the present application.
[0107] The data processing device provided in the embodiment of the present application can realize Figures 1 to 5 To avoid repetition, the various processes implemented in the method embodiment are not described here.
[0108] Based on the same technical concept, an embodiment of the present application further provides an electronic device, which is used to execute the above data processing method. Fig. 9 A schematic diagram of the structure of an electronic device for implementing various embodiments of the present application. The electronic device may have relatively large differences due to different configurations or performances, and may include a processor (processor) 910, a communication interface (Communications Interface) 920, a memory (memory) 930 and a communication bus 940, wherein the processor 910, the communication interface 920, and the memory 930 communicate with each other through the communication bus 940. The processor 910 may call a computer program stored in the memory 930 and executable on the processor 910 to perform the following steps: Through the first long connection, the 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 to the target streaming server by 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 target streaming server respectively; for each audio and video stream slice file received, according to the slice identification information, it is determined whether the audio and video stream slice file is received by the cloud mobile phone client for the first time; when it is determined that the audio and video stream slice file is received by the cloud mobile phone client for the first time, the audio and video stream slice file is retained as the target audio and video stream slice file; when 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.
[0109] In the embodiment of the present application, a first long connection is established between the cloud phone client and multiple target streaming servers, so that the cloud phone client can receive the audio and video stream slice files with slice identification information pushed by each target streaming server through multiple first long connections. Among them, the audio and video stream slice files are pushed by the target cloud phone server to the target streaming server, and the target cloud phone server is used to push the same audio and video stream slice files to each target streaming server. It can be seen that compared with the streaming method of pushing audio and video streams by a single node between the cloud phone server and the cloud phone client in the related art, in this technical solution, the cloud phone client can receive multiple identical audio and video stream slice files through multiple long connections. Since the audio and video stream slice files have a smaller data volume than the complete audio and video stream, the transmission speed of the audio and video stream slice files is faster, which improves the efficiency of the overall transmission of the audio and video stream of the link. In addition, even if the data of a certain link is lost due to poor network conditions, there are still other links that can ensure that the data is transmitted to the cloud phone client, which improves the reliability of the overall transmission of the audio and video stream of the link, which is conducive to reducing the occurrence of frame loss or screen distortion. Furthermore, for each audio and video stream slice file received, the cloud phone client can determine whether the audio and video stream slice file is received by the cloud phone client for the first time based on the slice identification information. When it is determined that the audio and video stream slice file is 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, and when 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. It can be seen that in this technical solution, for the received and identical audio and video stream slice files, the cloud phone client can aggregate the audio and video stream using the audio and video stream slice files received first, which is conducive to reducing the push delay of the audio and video stream, improving the response speed of the audio and video stream, and ensuring that the cloud phone client can obtain the audio and video stream in a timely manner.
[0110] In one implementation, the processor 910 may call a computer program stored in the memory 930 and executable on the processor 910 to perform the following steps: Receive a first operation of a user on a cloud phone client sent by a collaborative server; start the cloud phone according to the first operation; slice the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files; push the multiple audio and video stream slice files to each target streaming server at the same time through a second long connection; each target streaming server is used to push each audio and video stream slice file to the cloud phone client through the first long connection; wherein, first long connections are established between the cloud phone client and multiple target streaming servers respectively.
[0111] In an embodiment of the present application, a second long connection is established between the target cloud phone server and multiple target streaming servers. The target cloud phone server can receive the first operation of the user on the cloud phone client sent by the collaborative server, and then start the cloud phone according to the first operation, slice the audio and video streams during the operation of the cloud phone, and obtain multiple audio and video stream slice files, and then, through the second long connection, push the multiple audio and video stream slice files to each target streaming server at the same time, so that each target streaming server pushes each audio and video stream slice file to the cloud phone client through the first long connection. Among them, a first long connection is established between the cloud phone client and multiple target streaming servers. It can be seen that compared with the single-node push streaming method of pushing audio and video streams between the cloud phone server and the cloud phone client in the related art, in this technical solution, the cloud phone server can push the same audio and video stream slice files to each target push streaming server at the same time through multiple long connections, so that the target push streaming server can push multiple identical audio and video stream slice files to the cloud phone client through multiple long connections. In this way, even if the data of a certain link is lost due to poor network conditions, there are still other links to ensure that the data is transmitted to the cloud phone client, which improves the reliability of the overall transmission of audio and video streams in the link and helps to reduce the occurrence of frame loss or screen distortion. In addition, since the data volume of the audio and video stream slice files is smaller than that of the complete audio and video stream, the transmission speed of the audio and video stream slice files is faster, which improves the efficiency of the overall transmission of audio and video streams in the link, helps to reduce the push delay of the audio and video stream, improves the response speed of the audio and video stream, and ensures that the cloud phone client can obtain the audio and video stream in time.
[0112] In one implementation, the processor 910 may call a computer program stored in the memory 930 and executable on the processor 910 to perform the following steps: The audio and video stream slice files pushed by the target cloud phone server are received through the second long connection with the target cloud phone server; the audio and video stream slice files are pushed to the cloud phone client through the first long connection with the cloud phone client; the cloud phone client is used to determine the audio and video stream slice file received for the first time as the target audio and video stream slice file, and when 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.
[0113] In an embodiment of the present application, the target streaming server can receive the audio and video stream slice files pushed by the target cloud phone server through the second long connection between the target cloud phone server and the target cloud phone server, and then push the audio and video stream slice files to the cloud phone client through the first long connection between the target cloud phone client, so that the cloud phone client determines the audio and video stream slice files received for the first time as the target audio and video stream slice files, and when 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. It can be seen that compared with the single-node streaming method of pushing audio and video streams between the cloud phone server and the cloud phone client in the related art, this technical solution achieves the effect of multi-node streaming. In this way, even if the data of a certain link is lost due to poor network conditions, there are still other links that can ensure that the data is transmitted to the cloud phone client, which improves the reliability of the overall transmission of audio and video streams in the link, and helps to reduce the occurrence of frame loss or screen distortion. Moreover, since the data volume of audio and video stream slice files is smaller than that of complete audio and video streams, the transmission speed of audio and video stream slice files is faster, which improves the efficiency of the overall transmission of audio and video streams in the link, helps to reduce the push delay of audio and video streams, improves the response speed of audio and video streams, and ensures that the cloud phone client can obtain the audio and video streams in a timely manner.
[0114] The specific execution steps can refer to the various steps of the above-mentioned data processing method embodiment, and can achieve the same technical effect. To avoid repetition, they will not be repeated here.
[0115] It should be noted that the electronic devices in the embodiments of the present application include: servers, terminals or other devices except terminals.
[0116] The above electronic device structure does not constitute a limitation on the electronic device. The electronic device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently. For example, the input unit may include a graphics processing unit (GPU) and a microphone, and the display unit may be configured with a display panel in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit includes a touch panel and at least one of other input devices. The touch panel is also called a touch screen. Other input devices may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which will not be repeated here.
[0117] The memory can be used to store software programs and various data. The memory may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instructions required for at least one function (such as a sound playback function, an image playback function, etc.), etc. In addition, the memory may include a volatile memory or a non-volatile memory, or the memory may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. Volatile memory can be Random Access Memory (RAM), Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link Dynamic Random Access Memory (SLDRAM) and Direct Rambus RAM (DRRAM).
[0118] 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 processes operations related to the operating system, user interface, and application programs, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It is understandable that the modem processor may not be integrated into the processor.
[0119] The embodiment of the present application also provides a computer-readable storage medium, which is used to store computer-executable instructions. When the computer-executable instructions are executed by the processor, they can implement the various processes of the above-mentioned data processing method embodiment applied to the cloud phone client, or implement the various processes of the above-mentioned data processing method embodiment applied to the target cloud phone server, or implement the various processes of the above-mentioned data processing method embodiment applied to the target streaming server, and can achieve the same technical effect. To avoid repetition, they will not be repeated here.
[0120] The processor is the processor in the electronic device described in the above embodiment. The computer readable storage medium is, for example, a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0121] The embodiment of the present application also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements the various processes of the above-mentioned data processing method embodiment applied to the cloud phone client, or implements the various processes of the above-mentioned data processing method embodiment applied to the target cloud phone server, or implements the various processes of the above-mentioned data processing method embodiment applied to the target streaming server, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0122] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned data processing method embodiment applied to the cloud phone client, or to implement the various processes of the above-mentioned data processing method embodiment applied to the target cloud phone server, or to implement the various processes of the above-mentioned data processing method embodiment applied to the target streaming server, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0123] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
[0124] It should be noted that, in this article, the terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise one..." do not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.
[0125] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.
[0126] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.
Claims
1. A data processing method, characterized in that: Applied to a cloud phone client, a first long connection is established between the cloud phone client and multiple target streaming servers respectively; the method includes: Receiving, through the first long connection, the audio and video stream slice files pushed by each of the target streaming servers; the audio and video stream slice files carry slice identification information; the audio and video stream slice files are pushed to the target streaming server by the target cloud phone 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, determining, according to the slice identification information, whether the audio and video stream slice file is received by the cloud phone client for the first time; When it is determined that the audio and video stream slice file is received by the cloud phone client for the first time, retaining the audio and video stream slice file as the target audio and video stream slice file; When a plurality of the target audio and video stream slice files meet a preset aggregation condition, the plurality of the 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 and video stream slice files pushed by each target streaming server through the first long connection, the method further includes: Sending a cloud phone allocation request to the collaborative server; the collaborative 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 a preset allocation rule, and send the address information corresponding to the multiple target streaming servers to the cloud phone client and the target cloud phone server; Receiving address information corresponding to the plurality of target streaming servers respectively, sent by the collaborative server; For each target streaming server, a first long connection request is sent to the target streaming server according to the address information; the target streaming server is used to establish the first long connection between the cloud phone client and the target streaming server according to the first long connection request.
3. The method according to claim 2, characterized in that Before receiving the audio and video stream slice files pushed by each target streaming server through the first long connection, the method further includes: Receiving a first operation of a user on the cloud phone 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; the audio and video streams during the operation of the cloud phone are sliced to obtain multiple audio and video stream slice files; each audio and video stream slice file is pushed to the cloud phone client through each target streaming 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 and video stream slice files reaches a preset number threshold; Before aggregating the target audio and video stream slice files to obtain the audio and video streams when the target audio and video stream slice files meet the preset aggregation condition, the method further includes: Obtaining the first number of the target audio and video stream slice files by counting according to the slice numbers; When the first number reaches the preset number threshold, it is determined that a plurality of the target audio and video stream slice files meet 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 the plurality of target audio and video stream slice files reaches a preset duration threshold; Before aggregating the target audio and video stream slice files to obtain the audio and video streams when the target audio and video stream slice files meet the preset aggregation condition, the method further includes: According to the slice duration, the total slice duration of the target audio and video stream slice file is obtained by counting; When the total slice duration reaches the preset duration threshold, it is determined that the plurality of target audio and video stream slice files meet the preset aggregation condition.
6. A data processing method, characterized in that: Applied to a target cloud phone server, a second long connection is established between the target cloud phone server and a plurality of target streaming servers respectively; the method comprises: Receiving a first operation of a user on a cloud phone client sent by the collaborative server; According to the first operation, start the cloud phone; Slice the audio and video streams during the operation of the cloud phone to obtain multiple audio and video stream slice files; Through the second long connection, the multiple audio and video stream slice files are pushed to each of the target streaming servers at the same time; each of the target streaming servers is used to push each audio and video stream slice file to the cloud phone client through the first long connection; wherein the first long connections are established between the cloud phone client and multiple target streaming servers respectively.
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 a plurality of audio and video stream slice files, the method further includes: Encrypting each of the audio and video stream slice files respectively to obtain a plurality of encrypted audio and video stream slice files; The method of pushing the multiple audio and video stream slice files to each of the target streaming servers simultaneously through the second long connection includes: pushing the multiple encrypted audio and video stream slice files to each of the target streaming servers simultaneously through the second long connection.
8. A data processing method, characterized in that: Applied to a target streaming server, the method includes: Receiving the audio and video stream slice file pushed by the target cloud phone server through the second long connection with the target cloud phone server; The audio and video stream slice file is pushed to the cloud phone client through the first long connection with the cloud phone client; the cloud phone client is used to determine the audio and video stream slice file received for the first time as the target audio and video stream slice file, and when 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 the audio and video stream.
9. The method according to claim 8, characterized in that Before pushing the audio and video stream slice file to the cloud phone client through the first long connection with the cloud phone client, the method further includes: Receiving a first long connection request sent by the cloud phone client; In response to the first persistent connection request, the first persistent connection between the cloud phone client and the target streaming server is established.
10. The method according to claim 8, characterized in that Before receiving the audio and video stream slice file pushed by the target cloud phone server through the second long connection with the target cloud phone server, the method further includes: Receiving a second long connection request sent by the target cloud phone server; In response to the second persistent connection request, the second persistent connection between the target cloud phone server and the target streaming server is established.
Citation Information
Patent Citations
Multichannel data transmission method and device
CN110167084A
Video-on-demand method and device, equipment and storage medium
CN111385660A
Web page state updating method and device based on distributed instant push
CN113037834A
Multi-channel communication method and device, terminal equipment and storage medium
CN115396529A
Multichannel data transmission method and apparatus
WO2020034758A1