Transport protocol switching method and device, and storage medium
By enabling multiple transmission protocols in the cloud computer system and monitoring the scene state parameters, dynamically switching transmission protocols, the problem of unstable transmission performance is solved and the user experience is improved.
Patent Information
- Application Number
- CN202311862158.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-29
- Publication Date
- 2025-07-01
AI Technical Summary
The cloud computer client and the cloud computer server remain fixed after selecting the transmission protocol when connecting for the first time, resulting in unstable transmission performance and affecting the user experience.
When establishing a connection between the cloud computer client and the server, multiple transmission protocols are enabled, and dynamically switch transmission protocols are switched by monitoring the scene state parameters and user preferences, and the relationship between the scene state parameters and the transmission protocol is automatically switched.
It realizes dynamic switching of transmission protocols according to the dynamic transmission needs of cloud computer clients, fully leveraging the advantages of different transmission protocols, and stably improving user experience.
Smart Images

Figure CN120238587A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing technology, and in particular, to a method, device, and storage medium for switching transmission protocols. Background Art
[0002] A cloud computer is a cloud-based desktop service based on computing, which provides an easy-to-use, secure, and efficient cloud-based desktop office system using the Desktop as a Service (DaaS) architecture. Users can access the cloud computer server through the cloud computer client to perform interactive operations on the cloud computer server, thereby achieving an experience effect consistent with using a local computer.
[0003] Currently, when the cloud computer client and the cloud computer server establish a connection for the first time, they need to determine which transmission protocol to use for data transmission, and after the connection is completed, the transmission protocol between the two parties will remain unchanged. This rigid way of selecting the transmission protocol leads to unstable transmission performance of the cloud computer and affects the user experience. Summary of the Invention
[0004] Multiple aspects of this application provide a method, device, and storage medium for switching transmission protocols to optimize the transmission performance of cloud computers.
[0005] An embodiment of this application provides a method for switching transmission protocols, which is applicable to a cloud computer server. The method includes:
[0006] During the process of establishing a connection with the cloud computer client, enable multiple candidate transmission protocols;
[0007] After establishing a connection with the cloud computer client, monitor the scenario status parameters corresponding to the cloud computer client;
[0008] When the scenario status parameters corresponding to the cloud computer client change, control the switching of the transmission protocol based on the association relationship between the scenario status parameters and the transmission protocol.
[0009] Further, during the process of establishing a connection with the cloud computer client, enabling multiple candidate transmission protocols includes:
[0010] Establish various transmission channels required for data transmission with the cloud computer client;
[0011] Based on the transmission channel used to handle the connection, complete identity authentication with the cloud computer client under the multiple candidate transmission protocols to enable the multiple candidate transmission protocols.
[0012] Further, based on the transmission channel used to handle the connection, completing identity authentication with the cloud computer client under the multiple candidate transmission protocols includes:
[0013] Create different protocol ports for different candidate transport protocols;
[0014] Carry the corresponding protocol ports in the authentication message;
[0015] Based on the transport channel for processing connections, interact with the cloud computer client for authentication messages respectively under the multiple candidate transport protocols, and complete identity mutual recognition and protocol port agreement with the cloud computer client respectively under the multiple candidate transport protocols.
[0016] Further, monitor the scenario status parameters corresponding to the cloud computer client, including:
[0017] Monitor the scenario type corresponding to the cloud computer client;
[0018] Monitor the user preferences corresponding to the cloud computer client.
[0019] Further, the scenario type includes audio and video scenarios. Monitoring the scenario type corresponding to the cloud computer client includes:
[0020] Monitor the applications in the cloud computer instance corresponding to the cloud computer client that are using the microphone device;
[0021] If there is an audio and video call application among the monitored applications, determine that the scenario type corresponding to the cloud computer client is an audio and video scenario.
[0022] Further, the method further includes:
[0023] Monitor the attribute information of the data sent to the cloud computer client;
[0024] If there is audio data in the sent data, the data frame rate exceeds the specified frame rate threshold and / or the number of frames with the change area coverage rate in the screenshot exceeding the specified coverage rate threshold reaches the preset standard, determine that the scenario type corresponding to the cloud computer client is an audio and video scenario.
[0025] Further, the user preferences include picture quality priority and smoothness priority. Monitoring the user preferences corresponding to the cloud computer client includes:
[0026] After receiving the preference configuration message sent by the cloud computer client, parse the user preferences from the preference configuration message as the monitored user preferences corresponding to the cloud computer client.
[0027] Further, in the case where the scenario status parameters corresponding to the cloud computer client change, control the transport protocol to switch based on the association relationship between the scenario status parameters and the transport protocol, including:
[0028] If the cloud computer client is in the first scenario type and it is detected that the user preference of the cloud computer client switches to the first preference, then switch to using the first transmission protocol associated with the first scenario type and the first preference; or,
[0029] If the cloud computer client is under the first preference and it is detected that the scenario type corresponding to the cloud computer client switches to the first scenario type, then switch to using the first transmission protocol.
[0030] Further, if the first scenario type is an audio-video scenario and the first preference is smoothness first, then the first transmission protocol adopts RTC, and the method further includes:
[0031] After switching to the first transmission protocol, if it is detected that the cloud computer client switches from the audio-video type scenario to other scenario types, or it is detected that the user preference of the cloud computer client switches from smoothness first to other preferences, then switch from the first transmission protocol to a second transmission protocol associated with the scenario type and preference type currently corresponding to the cloud computer client.
[0032] Further, switching from the first transmission protocol to a second transmission protocol associated with the scenario type and preference type to which the cloud computer client switches includes:
[0033] If the scenario type of the cloud computer client switches to a non-audio-video scenario or the user preference of the cloud computer client switches to picture quality first, then the second transmission protocol adopts QUIC.
[0034] Further, controlling the transmission protocol switch includes:
[0035] Control the transmission protocol switch under the transmission channel for transmitting audio-video related data;
[0036] Among them, the transmission protocols adopted under other transmission channels remain unchanged.
[0037] Further, after switching the transmission protocol, the method further includes:
[0038] If it is necessary to send audio data to the cloud computer client, then send a protocol switch notification to the cloud computer client through the transmission channel for transmitting audio data, so as to trigger the cloud computer client to restart its local audio playback device and switch the transmission protocol under the transmission channel for transmitting audio data;
[0039] If it is necessary to receive the recording data provided by the cloud computer client, a protocol switching notification is sent to the cloud computer client through the transmission channel for transmitting the recording data, so as to trigger the cloud computer client to restart its local recording device and switch the transmission protocol under the transmission channel for transmitting the recording data.
[0040] Further, the method further includes:
[0041] If it is necessary to send an image frame to the cloud computer client, a protocol switching notification is sent to the cloud computer client through the transmission channel for transmitting image data, so as to trigger the cloud computer client to switch the transmission protocol under the transmission channel for transmitting image data;
[0042] According to the switched transmission protocol, an image frame carrying a frame number is sent to the cloud computer client, wherein the first frame sent after switching the transmission protocol also carries key frame data, so as to trigger the cloud computer client to discard the unplayed image frames with frame numbers smaller than the first frame and decode the first frame based on the key frame data.
[0043] An embodiment of the present application further provides a cloud computer server, including a memory, a processor, and a communication component;
[0044] The memory is used to store one or more computer instructions;
[0045] The processor is coupled to the memory and the communication component, and is used to execute the one or more computer instructions to execute the foregoing transmission protocol switching method.
[0046] An embodiment of the present application further provides a computer-readable storage medium storing computer instructions, which when executed by one or more processors, cause the one or more processors to execute the foregoing transmission protocol switching method.
[0047] In the embodiment of the present application, during the process of establishing a connection between the cloud computer server and the cloud computer client, multiple candidate transmission protocols can be enabled simultaneously between the two parties, rather than specifying a fixed one. Based on this, after the two parties establish a connection, the cloud computer server can monitor the scenario state parameters corresponding to the cloud computer client to perceive the change situation of the transmission requirements of the cloud computer client; moreover, an association relationship between the scenario state parameters and the transmission protocol is preset in the cloud computer server as a decision basis for protocol switching. On this basis, the cloud computer server can automatically switch the transmission protocol when it monitors that the scenario state parameters corresponding to the cloud computer client change, so as to dynamically switch the transmission protocol according to the dynamically changing transmission requirements of the cloud computer client, thereby giving full play to the respective advantages of different transmission protocols and continuously and stably ensuring the transmission performance of the cloud computer and improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] The drawings described herein are provided to further understand the present application and form a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:
[0049] Figure 1 is a schematic flowchart of a transmission protocol switching method provided for an exemplary embodiment of the present application;
[0050] Figure 2 is a schematic logic diagram of a transmission protocol switching method provided for an exemplary embodiment of the present application;
[0051] Figure 3 is a schematic diagram of an optional communication architecture between a cloud computer client and a cloud computer server provided for an exemplary embodiment of the present application;
[0052] Figure 4 is a schematic diagram of an optional implementation manner of a transmission protocol switching method provided for an exemplary embodiment of the present application;
[0053] Figure 5 is a schematic logic diagram of the effective process of transmission protocol switching under a transmission channel for transmitting image data provided for an exemplary embodiment of the present application;
[0054] Figure 6 is a schematic logic diagram of the effective process of transmission protocol switching under a transmission channel for transmitting audio data provided for an exemplary embodiment of the present application;
[0055] Figure 7 is a schematic logic diagram of the effective process of transmission protocol switching under a transmission channel for transmitting recording data provided for an exemplary embodiment of the present application;
[0056] Figure 8 is a schematic diagram of the structure of a cloud computer server provided for another exemplary embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0057] To make the objectives, technical solutions, and advantages of the present application clearer, the technical solutions of the present application will be clearly and completely described below in conjunction with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0058] Before starting to detail the technical solutions of the embodiments of the present application, several technical concepts involved in the present application are briefly explained as follows.
[0059] Cloud computer is a cloud-based desktop service based on computing. It uses the Desktop as a Service (DaaS) architecture to provide an easy-to-use, secure, and efficient cloud-based desktop office system.
[0060] The cloud computer client acts as a user terminal in cloud computer technology. It can connect to the cloud computer server, render and display the cloud desktop, and redirect the input and output data of the user's mouse and keyboard operations to the cloud computer server, serving as the basis for cloud computing in the cloud computer server.
[0061] The cloud computer server acts as a server in cloud computer technology. All data operation work in cloud computer technology is concentrated in the cloud computer server. The cloud computer server can provide the screen of the cloud desktop to the cloud computer client for rendering and display through methods such as screenshot.
[0062] The transmission protocol refers to the communication protocol in the transport layer. Among them, the transport layer is mainly responsible for data transmission in the network. Data transmission between the cloud computer client and the cloud computer server needs to be carried out according to the transmission protocol. Typical transmission protocols include the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP), etc.
[0063] The following will describe in detail the technical solutions provided by each embodiment of the present application with reference to the accompanying drawings.
[0064] Figure 1 It is a schematic flowchart of a transmission protocol switching method provided for an exemplary embodiment of the present application. This method can be executed by a protocol decision-making device, which can be implemented as software, hardware, or a combination of software and hardware, and the protocol decision-making device can be integrated in the cloud computer server. Refer to Figure 1 , this method may include:
[0065] Step 100: During the process of establishing a connection with the cloud computer client, enable multiple candidate transmission protocols;
[0066] Step 101: After establishing a connection with the cloud computer client, monitor the scene state parameters corresponding to the cloud computer client;
[0067] Step 102: When the scene state parameters corresponding to the cloud computer client change, control the transmission protocol to switch based on the association relationship between the scene state parameters and the transmission protocol.
[0068] In this embodiment, a protocol decision device can be deployed in the cloud computer server to execute the transmission protocol switching method provided in this embodiment in the cloud computer server.
[0069] Figure 2 It is a logical schematic diagram of a transmission protocol switching method provided by an exemplary embodiment of the present application. As Figure 2 shown, the cloud computer server can communicate with the cloud computer client through a network. Figure 2 In order to better reflect the interaction logic between the cloud computer client and the cloud computer server in this embodiment, only the two main bodies of the cloud computer client and the cloud computer server are shown. However, it should be understood that the communication architecture between the cloud computer client and the cloud computer server in this embodiment is not modified. In actual applications, there are usually other participants for supporting the communication between the cloud computer client and the cloud computer server, and this embodiment does not limit this. Figure 3 It is an optional communication architecture schematic diagram between a cloud computer client and a cloud computer server provided by an exemplary embodiment of the present application. Refer to Figure 3 , the cloud computer client and the cloud computer server can communicate through a security gateway. Among them, the security gateway can be used as a relay server between the cloud computer client and the cloud computer server for routing (mapping) the traffic occurring between the cloud computer client and the cloud computer server. No further elaboration on the security gateway will be given here. In addition, refer to Figure 3 , the cloud computer system may also include a management and control node. The management and control node can provide a management and control platform for cloud computer administrators and other personnel for them to perform cloud computer management and control configuration. The management and control node can take effect these management and control configurations between the cloud computer client and the cloud computer server. No further elaboration on the management and control node will be given here.
[0070] Refer to Figure 1 and Figure 2 , in this embodiment, during the process of establishing a connection between the cloud computer client and the cloud computer server, multiple candidate transmission protocols will be enabled. Among them, enabling multiple candidate transmission protocols can be understood as establishing connections between the cloud computer client and the cloud computer server based on multiple transmission protocols respectively. In addition, after enabling multiple candidate transmission protocols, the cloud computer client and the cloud computer server will keep the connections established respectively under these candidate transmission protocols from being disconnected. In actual applications, various candidate transmission protocols that the cloud computer client and the cloud computer server may use can be enabled. Of course, considering the maintenance cost of the connections, it can be determined according to actual needs which candidate transmission protocols to enable between the cloud computer client and the cloud computer server.
[0071] In this embodiment, the candidate transport protocols may include, but are not limited to, UDP protocols such as QUIC (Quick UDP Internet Connections) and RTC (Real-Time Communications). It should be understood that these are merely exemplary, and the candidate transport protocols in this embodiment are not limited thereto.
[0072] As mentioned above, enabling multiple candidate transport protocols means establishing connections between the cloud computer client and the cloud computer server respectively based on multiple transport protocols. In this embodiment, the implementation manner of establishing connections respectively based on multiple transport protocols is not limited.
[0073] In a preferred implementation manner: various transport channels required for data transmission can be established between the cloud computer client and the cloud computer server first. In this process, the TCP protocol can be used to establish these transport channels through a handshake. It should be noted that in this process, the candidate transport protocols in this embodiment have not been enabled yet. Among them, these transport channels may include, but are not limited to:
[0074] Main_Channel: Handles connections, disconnections, etc. with the cloud computer client;
[0075] Inputs_Channel: Handles data of input devices such as mice, keyboards, and touchpads;
[0076] Display_Channel: Handles desktop image data;
[0077] Cursor_Channel: Handles data related to the display of the mouse pointer;
[0078] Playback_Channel: Handles sound data generated on the cloud computer server side;
[0079] Record_Channel: Handles recording data on the cloud computer client side.
[0080] It should be understood that the naming of the above transport channels is exemplary, and this embodiment does not make any limitations thereto. Among them, the above main channel Main_Channel can be used to handle connections. Based on this, in this preferred implementation manner, the cloud computer server can complete identity mutual recognition with the cloud computer client respectively under multiple candidate transport protocols based on the transport channel used to handle connections, so as to enable multiple candidate transport protocols.
[0081] In this way, in this preferred implementation, the established transmission channels for processing connections can be relied on to complete the mutual identity verification between the cloud computer client and the cloud computer server under multiple candidate transmission protocols respectively. Among them, the mutual identity verification processes under multiple candidate transmission protocols can be executed according to their respective protocol regulations, and this embodiment does not interfere with this. The essence of connection is mutual identity verification. In this embodiment, after the mutual identity verification is completed, the cloud computer client and the cloud computer server complete the activation of the corresponding candidate transmission protocols. In the subsequent communication process, it is no longer necessary to repeatedly establish connections between the two parties under various candidate transmission protocols.
[0082] Furthermore, in this preferred implementation, it is also proposed to transform the network structures of the cloud computer client and the cloud computer server. Referring to Figure 3 , different protocol ports can be created for different candidate transmission protocols in both the cloud computer client and the cloud computer server. In this way, different protocol ports will be used to identify different candidate transmission protocols. Thus, the port numbers can be used to distinguish different candidate transmission protocols. This can especially avoid network preemption problems between different candidate transmission protocols under the same protocol when there are multiple candidate transmission protocols belonging to the same protocol. In addition, the security gateway between the cloud computer client and the cloud computer server can also synchronously create more protocol ports to adapt to the ports of the cloud computer client and the cloud computer server respectively. In practical applications, the cloud computer client and the cloud computer server can respectively register the protocol ports they create to the Figure 3 control node. The control node can send the information of these protocol ports to the cloud computer client, the cloud computer server and the security gateway for all parties to recognize these protocol ports.
[0083] For example, both QUIC and RTC belong to the UDP protocol. In this preferred implementation, QUIC and RTC in the cloud computer client and the cloud computer server will use different protocol ports. Referring to Figure 3 , in the cloud computer server, QUIC will use protocol port 5912, while RTC will use protocol port 5913; similarly, in the cloud computer client, QUIC will use protocol port 6001, while RTC will use protocol port 6002.
[0084] On this basis, in this preferred implementation: The cloud computer server and the cloud computer client can carry the corresponding protocol ports in the identity authentication message; Based on the aforementioned transmission channel for processing connections, the cloud computer server and the cloud computer client can respectively exchange identity authentication messages under multiple candidate transmission protocols to complete identity mutual recognition and protocol port agreement based on the identity authentication message. Thus, independent connections can be established respectively between the cloud computer server and the cloud computer client under multiple candidate transmission protocols. Here, the independent connection can be understood as not sharing the protocol port with other candidate transmission protocols.
[0085] Continuing Figure 3 the port numbers of the respective protocol ports exemplified in, when the cloud computer client and the cloud computer server perform identity mutual recognition under RTC, the cloud computer client can carry the port number 6002 in the identity authentication message, while the cloud computer server can carry the port number 5913 in the identity authentication message. In this way, after mutual recognition of identities, both parties will carry the port number provided by the other party in the data packet during subsequent communication processes to ensure the correct routing of the data packet. From Figure 3 it can be understood that the connections established under the two candidate transmission protocols of QUIC and RTC are independent of each other and no network preemption problems will occur.
[0086] In addition, it is worth noting that the above scheme of creating different protocol ports for different candidate transmission protocols is only preferred and can effectively avoid possible network preemption problems between candidate transmission protocols. However, it should be understood that in this preferred implementation, different candidate transmission protocols can also share the protocol port, which will not affect the implementation of the inventive concept of this embodiment.
[0087] In this embodiment, other implementation methods can also be used to start multiple candidate transmission protocols between the cloud computer client and the cloud computer server, and it is not limited to the above-provided preferred implementation. For example, the cloud computer client and the cloud computer server can respectively execute connection operations according to the standard connection processes under multiple candidate transmission protocols to establish standard connections respectively under multiple candidate transmission protocols, and no longer rely on the Main_Channel in the above preferred implementation. It should be understood that in step 100, the concept of this embodiment is to enable multiple candidate transmission protocols simultaneously during the establishment process of the cloud computer client and the cloud computer server and keep the connections under these candidate transmission protocols from being disconnected. For how to achieve enabling, this embodiment supports multiple implementation methods and the implementation methods are not limited, and no more examples will be given here.
[0088] So far, the connection establishment process between the cloud computer client and the cloud computer server can be completed.
[0089] After that, referring to Figure 1, in step 101, in this embodiment, it is proposed that the cloud computer server can monitor the scenario status parameters corresponding to the cloud computer client. Among them, the scenario status parameters can be used to describe the usage scenario corresponding to the cloud computer client from a specified status dimension. The usage scenario can be understood as what kind of work content the user expects to complete using the cloud computer. In this embodiment, an exemplary status dimension included in the scenario status parameters can be the scenario type. Optionally, the scenario types in this embodiment can include audio-video scenarios and non-audio-video scenarios. Among them, the audio-video scenarios can further include audio-video call scenarios and audio-video playback scenarios, etc., and the non-audio-video scenarios can include office scenarios, visual design scenarios, and artificial intelligence scenarios, etc. No more examples are given here. However, it should be understood that the scenario type is only an exemplary status dimension included in the foregoing scenario status parameters. In this embodiment, the scenario status parameters can also include more status dimensions, such as user preferences, etc. Of course, other status dimensions that can describe the usage scenario corresponding to the cloud computer client can also be included. No more examples are given here.
[0090] According to the definition of the scenario status parameters, in this embodiment, the scenario status parameters can reflect the transmission requirements of the cloud computer client. The transmission requirements here can be understood as what types of data need to be transmitted between the cloud computer client and the cloud computer server, and what kind of transmission effect is more preferred, etc. And the transmission advantages of different candidate transmission protocols are different. Based on this, the cloud computer server can fully perceive the transmission requirements of the cloud computer client through the scenario status parameters, and then can decide a suitable transmission protocol for the cloud computer client. The advantages of the decided transmission protocol will be adapted to the transmission requirements of the cloud computer client.
[0091] For this reason, referring to Figure 1 , in this embodiment, for the cloud computer server, the association relationship between the scenario status parameters and the transmission protocol can be pre-configured. On this basis, in step 102, when the scenario status parameters corresponding to the cloud computer client change, the cloud computer server can control the transmission protocol to switch based on this association relationship. It should be understood that, as mentioned above, the scenario status parameters in this embodiment include parameters under multiple status dimensions. Therefore, the scenario status parameters are usually a parameter group. In this embodiment, the cloud computer server can associate suitable transmission protocols for different parameter groups respectively. In the process of establishing this association relationship, the appropriate transmission protocol can be associated with it according to the transmission requirements reflected by the scenario status parameters according to the principle mentioned above. In addition, in this embodiment, the association relationship between the scenario status parameters and the transmission protocol can be configured as needed, and operations such as addition, deletion, and modification of the association relationship are supported to adapt to flexible and changeable transmission requirements. Regarding which scenario status parameters are associated with which transmission protocol, this embodiment does not make a limitation here.
[0092] In this embodiment, the operation of controlling the transmission protocol switch in step 102 may include at least two processing links: the first link may be described as determining whether a transmission protocol needs to be switched; the second link may be described as effecting the switched transmission protocol after determining that a transmission protocol needs to be switched.
[0093] For the first link, in this embodiment, the cloud computer server can timely detect whether the scenario state parameters change. Moreover, when detecting that the scenario state parameters change, the cloud computer server can determine whether a transmission protocol needs to be switched based on the pre-configured association relationship between the scenario state parameters and the transmission protocol. In this embodiment, multiple scenario state parameters are supported to be associated with the same transmission protocol. Therefore, even if the scenario state parameters change, the associated transmission protocol may not change. In this case, there is no need to switch the transmission protocol. That is to say, the cloud computer server can query the transmission protocol associated with the changed scenario state parameters according to the aforementioned pre-set association relationship, and confirm that a transmission protocol needs to be switched when the queried transmission protocol is different from the currently used transmission protocol.
[0094] For the second link, after determining that a transmission protocol needs to be switched, since various candidate transmission protocols have been started in step 100 in this embodiment, the cloud computer server and the cloud computer client can seamlessly switch to the new transmission protocol, and there is no need to re-establish a connection between the two parties. It can be understood that, while maintaining the connection between the cloud computer server and the cloud computer client, both parties switch to using the transmission protocol for subsequent data transmission.
[0095] In summary, in this embodiment, during the process of establishing a connection between the cloud computer server and the cloud computer client, multiple candidate transmission protocols can be enabled simultaneously between the two parties, rather than specifying a fixed one. Based on this, after the two parties establish a connection, the cloud computer server can monitor the scenario state parameters corresponding to the cloud computer client to perceive the change in the transmission requirements of the cloud computer client; moreover, the association relationship between the scenario state parameters and the transmission protocol is also pre-set in the cloud computer server as the decision basis for protocol switching. On this basis, when the cloud computer server detects that the scenario state parameters corresponding to the cloud computer client change, it can automatically switch the transmission protocol to dynamically switch the transmission protocol with the dynamically changing transmission requirements of the cloud computer client, so as to give full play to the respective advantages of different transmission protocols, continuously and stably ensure the transmission performance of the cloud computer, and improve the user experience.
[0096] Figure 4 It is a schematic diagram of an optional implementation manner of a transmission protocol switching method provided for an exemplary embodiment of the present application. Refer to Figure 4 , in this embodiment, several exemplary scenario state parameters are provided: scenario type and user preference.
[0097] Based on this, referring to Figure 4 , after establishing a connection with the cloud computer client, the cloud computer server can monitor the scene type corresponding to the cloud computer client; and monitor the user preferences corresponding to the cloud computer client.
[0098] The following will detail the monitoring schemes for the above two exemplary scenario state parameters.
[0099] For scene types
[0100] As mentioned previously, the scene types in this embodiment may at least include audio - video scenarios. It should be understood that in practical applications, neither the cloud computer server nor the cloud computer client usually directly marks the scene type. Therefore, the cloud computer server cannot directly obtain the scene type corresponding to the cloud computer client. For this reason, this embodiment proposes that the cloud computer server can indirectly detect the scene type corresponding to the cloud computer client by monitoring other parameters or states. For this reason, in this embodiment, referring to Figure 4 , a scene detection component can be deployed in the aforementioned protocol decision device to detect the scene type corresponding to the cloud computer client. Based on this, the protocol decision device can obtain the scene type corresponding to the cloud computer client from the scene detection component as a kind of scene state parameter.
[0101] Continuing the description in the previous text, the audio - video scenarios in this embodiment can further include subtypes such as audio - video call scenarios and audio - video playback scenarios. For this reason, this embodiment proposes that the scene detection module can be used to detect from multiple aspects to detect various subtypes. The following provides detection schemes under several exemplary aspects:
[0102] In one exemplary aspect: The applications using the microphone device in the cloud computer instance corresponding to the cloud computer client can be monitored; if there is an audio - video call application among the monitored applications, it is determined that the scene type corresponding to the cloud computer client is an audio - video scene. Here, the cloud computer instance refers to the service instance that provides cloud computer services for the cloud computer client on the cloud computer server, and can also be called a guest machine Guest. In practical applications, the usage of the microphone device in the Guest OS of the cloud computer instance corresponding to the cloud computer client can be monitored to discover the applications using the microphone device. Here, the application can be understood as the application program running on the cloud computer server side. For example, it can be a player, a browser, an instant messaging application, etc. In this regard, in this embodiment, information such as the names of applications belonging to the audio - video call category can be collected in advance, so that among the applications using the microphone device, it can be quickly and accurately determined whether there is an audio call application. Audio call applications can be various instant messaging applications, etc., and specific application names are not exemplified here.
[0103] In another exemplary aspect, the attribute information of the data sent to the cloud computer client can be monitored, and it can be determined whether it is in an audio-visual playback scenario through the following several metrics:
[0104] There is audio data;
[0105] The data frame rate exceeds the specified frame rate threshold;
[0106] The number of frames with the coverage rate of the changed area in the screenshot exceeding the specified coverage rate threshold reaches the preset standard.
[0107] If the attribute information of the data sent by the cloud computer client meets one or more of the metrics, it can be determined that the cloud computer client is in an audio-visual playback scenario, and then it can be determined that the scenario type corresponding to the cloud computer client is an audio-visual scenario.
[0108] Among them, the specified frame rate threshold, the specified coverage rate threshold, and the preset standard involved can all be set according to actual needs. For example, the specified frame rate threshold can be set to 25 FPS, the specified coverage rate threshold can be set to 90%, and the preset standard can be set to the number of frames exceeding 5 - 20 frames. This embodiment is not limited to this.
[0109] In this embodiment, it can also be detected from other aspects whether the cloud computer client is in other subtype scenarios in the audio-visual scenario, and it is not limited to the several exemplary aspects provided above, and no more examples are given here.
[0110] In addition, it should be understood that in addition to the aforementioned audio-visual scenarios, the scenario types in this embodiment may also include other types. In this embodiment, the number of scenario types to be divided and the type names of various types can be determined according to the scenario type segmentation granularity required in the aforementioned association relationship. Optionally, in this embodiment, the scenario types can be divided into audio-visual scenarios and non-audio-visual scenarios. Of course, the scenario types can also be divided into audio-visual scenarios, office scenarios, artificial intelligence scenarios, etc. Still as mentioned above, the scenario types classified in this embodiment are not limited and can be divided according to actual needs.
[0111] For user preferences
[0112] As mentioned above, the user preferences in this embodiment may at least include picture quality priority and smoothness priority. Among them, picture quality priority can be understood as giving priority to ensuring the picture quality and having a lower requirement for smoothness; while smoothness priority can be understood as giving priority to ensuring smoothness and having a lower requirement for picture / sound quality, etc.
[0113] In the process of research, the inventors found that user preferences are usually configured by users or administrators of the cloud computer client through configuration operations, and such configuration operations usually trigger the cloud computer client to send a preference configuration message to the cloud computer server. Based on this, referring to Figure 4 In this embodiment, after receiving the preference configuration message sent by the cloud computer client, the cloud computer server can parse the user preferences from the preference configuration message as the user preferences corresponding to the monitored cloud computer client.
[0114] It should be understood that the above several preference types are only exemplary. The user preferences in this embodiment may also include other preference types and are not limited thereto. No more examples are given here.
[0115] Furthermore, referring to Figure 4 In addition to monitoring the scenario state parameters corresponding to the cloud computer client, the cloud computer server can also monitor the connection status with the cloud computer client under various candidate transmission protocols. In practical applications, the heartbeat detection method can be used to detect whether the connections under various candidate transmission protocols are active. If it is detected that some connections have been disconnected, the foregoing identity mutual recognition process can be re-executed to re-establish the connections under the relevant candidate transmission protocols. This can ensure the seamless switching of the transmission protocol and avoid the problem of having to re-establish a connection after it is found that the corresponding connection has been disconnected after determining to switch the transmission protocol. In addition, for the protocol decision-making device, if it is determined that the connection under the transmission protocol to be switched to has been disconnected after monitoring that the transmission protocol needs to be switched, the transmission protocol switching can be stopped, that is, the existing transmission protocol can be maintained to avoid transmission jamming problems due to the disconnection of the connection under the transmission protocol.
[0116] Furthermore, referring to Figure 4 The cloud computer server can also monitor the protocol control mode corresponding to the cloud computer client. In this embodiment, multiple protocol control modes are supported, such as: TCP mode, QUIC mode, RTC mode, and automatic mode, etc. Among them, the automatic mode supports the transmission protocol switching scheme provided in this embodiment. In addition, in this embodiment, the protocol control mode of the cloud computer client can be configured by staff such as the administrator in the control platform provided by the control node in Figure 3 , and the cloud computer server can obtain the protocol control mode corresponding to the cloud computer client from the control node.
[0117] Based on this, in this embodiment, when the cloud computer server detects that the protocol control mode corresponding to the cloud computer client is the automatic mode, it can execute the transmission protocol switching method provided in this embodiment. In other modes, it can execute the traditional solution and no longer execute the transmission protocol switching solution provided in this embodiment. That is to say, the protocol control mode has the highest priority in this embodiment and can determine whether to enter the transmission protocol switching method provided in this embodiment.
[0118] In summary, in this embodiment, multiple implementation methods can be used to monitor the scenario state parameters corresponding to the cloud computer client, and it can be timely detected whether the scenario state parameters corresponding to the cloud computer client have changed.
[0119] The inventor found during the research process that since the scenario state parameters include parameters in multiple state dimensions, when any parameter in any state dimension changes, the scenario state parameters will be determined to have changed. However, the association relationship between the scenario state parameters and the transmission protocol in this embodiment is static. Therefore, regardless of which state dimension of the scenario state parameters changes to cause the scenario state parameters to change, in this embodiment, it is determined whether to switch the transmission protocol based on the overall state of the parameter group corresponding to the scenario state parameters.
[0120] Continuing with the two exemplary state dimensions included in the scenario state parameters provided in this embodiment: scenario type and user preference. In one exemplary solution: if the cloud computer client is in the first scenario type and it is detected that the user preference of the cloud computer client switches to the first preference, then switch to using the first transmission protocol associated with the first scenario type and the first preference; or, if the cloud computer client is in the first preference and it is detected that the scenario type corresponding to the cloud computer client switches to the first scenario type, then switch to using the first transmission protocol. That is to say, in this embodiment, whether the scenario type changes or the user preference changes, if it causes the parameter group combined by the scenario type and the user preference to be associated with a new transmission protocol, it will trigger the switching of the transmission protocol.
[0121] Optionally, the above-mentioned first scenario type can be an audio-video scenario, and the above-mentioned first preference can be smoothness first. Then the first transmission protocol can adopt RTC. That is to say, in the above-mentioned association relationship, the transmission protocol associated with the scenario state parameters [audio-video scenario, smoothness first] is RTC. Whether a user preference switching event occurs in the audio-video scenario or a scenario type switching event occurs under the user preference of smoothness first, if it causes the scenario state parameters to change to [audio-video scenario, smoothness first], it will trigger the switching to the transmission protocol RTC.
[0122] In this embodiment, after switching to the first transmission protocol, the cloud computer server still keeps executing the aforementioned monitoring logic. If it is detected that the cloud computer client switches from the audio-video type scenario to other scenario types, or if it is detected that the user preference of the cloud computer client switches from smoothness priority to other preferences, then switch from the first transmission protocol to the second transmission protocol associated with the scenario type and preference type currently corresponding to the cloud computer client. Among them, which candidate transmission protocol the second transmission protocol is needs to be determined according to the association relationship preset in the cloud computer server.
[0123] In an alternative design solution, the candidate transmission protocols can adopt RTC and QUIC. In the association relationship, the scenario state parameter [audio-video scenario, smoothness priority] can be associated with RTC (the first transmission protocol); all other scenario state parameters can be associated with QUIC (the second transmission protocol). On this basis, after switching to RTC, if the scenario type of the cloud computer client switches to a non-audio-video scenario, or if the user preference of the cloud computer client switches to picture quality priority, then it can be switched from RTC to QUIC. It should be understood here that if the scenario type of the cloud computer client switches to a non-audio-video scenario, regardless of whether the user preference of the cloud computer client switches to picture quality priority or not, it will trigger a switch to the second transmission protocol QUIC; similarly, if the scenario type of the cloud computer client switches to a non-audio-video scenario, regardless of whether the scenario type of the cloud computer client switches to a non-audio-video scenario or not, it will trigger a switch to the second transmission protocol QUIC.
[0124] It is worth noting that the above design solution of the association relationship is exemplary. This embodiment is not limited to this, and more refined and complex association relationships can also be designed, and no more examples are given here. Regardless of the association relationship, in this embodiment, the cloud computer server uses the changed scenario state parameter as the decision-making basis. When a switching event occurs in any state dimension of the scenario state parameter, causing a change in the transmission protocol associated with the scenario state parameter, it can trigger the cloud computer server to switch the transmission protocol.
[0125] Furthermore, the inventor found during the research process that, as mentioned above, between the cloud computer client and the cloud computer server, multiple transmission channels are usually used to dock the transmission work in different dimensions. For example, the Main_channel exemplified above is mainly used to handle connections; while the Playback_Channel is mainly used to transmit the sound data generated on the cloud computer server side. Based on this, this embodiment proposes that the cloud computer server can control the transmission protocol switch only under the specified transmission channel. That is to say, the cloud computer server can dynamically switch the transmission protocol only under some transmission channels, and does not interfere with the transmission protocols under other transmission channels.
[0126] Optionally, the transmission channel specified here can be a transmission channel for transmitting audio and video related data. For example, the transmission channel for transmitting desktop image data, the transmission channel for transmitting the sound data generated on the cloud computer server side, and the transmission channel for transmitting the recording data on the cloud computer client side in the previous examples, etc.
[0127] In this way, for other transmission channels that are not specified, such as the transmission channel for transmitting data of input devices such as mice and keyboards, etc., the transmission protocol in the traditional solution can remain unchanged and will not be affected by the transmission protocol switching scheme provided in this embodiment.
[0128] The following will describe in detail the process of the transmission protocol switching taking effect under several specified exemplary transmission channels.
[0129] For the transmission channel used to transmit image data:
[0130] For the cloud computer server, if it needs to send an image frame to the cloud computer client, it can send a protocol switching notice to the cloud computer client through the transmission channel for transmitting image data to trigger the cloud computer client to switch the transmission protocol under the transmission channel for transmitting image data; then, it can send an image frame with a frame number to the cloud computer client according to the switched transmission protocol, where the first frame sent after switching the transmission protocol also carries key frame data to trigger the cloud computer client to discard the unplayed image frames with frame numbers smaller than the first frame and decode the first frame based on the key frame data.
[0131] Figure 5 It is a logical schematic diagram of the process of the transmission protocol switching taking effect under a transmission channel for transmitting image data provided by an exemplary embodiment of the present application. Refer to Figure 5 , the transmission channel for transmitting image data is described as Display_Channel. For the cloud computer server ( Figure 5 shown as server in Figure 5 ), it can send an image frame ( Figure 5 shown as Video Frame in Figure 5, before switching the transmission protocol, the transmission protocol adopted between the cloud computer client and the cloud computer server under Display_Channel is QUIC. The cloud computer server sent an image frame with frame number N - 1, Video Frame, to the cloud computer client. When the image frame with frame number N was generated but not yet sent to the cloud computer client, a transmission protocol switch occurred, and the switched transmission protocol is RTC. Refer to Figure 5 , the cloud computer server sent a protocol switch notification to the cloud computer client, and the cloud computer client side will switch to using RTC to decode the subsequent received image frames. After switching the transmission protocol, the first frame sent by the cloud computer server to the cloud computer client is the image frame with frame number N + 1, and key frame data for supporting decoding is carried in it. In this way, the cloud computer client will receive the image frame with frame number N + 1 according to RTC and successfully complete decoding. The image frame with frame number N arrives at the cloud computer client only after the cloud computer client completes the transmission protocol switch. In this regard, the cloud computer client will discard the image frame with frame number N.
[0132] It can be seen that in this embodiment, for the transmission channel used to transmit image data, when a transmission protocol switch occurs, the cloud computer client side is allowed to discard frames to avoid problems such as decoding errors or reception errors, but the orderliness of the image frames will be ensured to guarantee the correct rendering of the image frames.
[0133] For the transmission channel used to transmit audio data:
[0134] For the cloud computer server, if it needs to send audio data to the cloud computer client, it will send a protocol switch notification to the cloud computer client through the transmission channel used to transmit audio data to trigger the cloud computer client to restart its local audio playback device and switch the transmission protocol under the transmission channel used to transmit audio data. Here, the audio data can be understood as the audio data generated in the cloud computer server, and the cloud computer client needs to play it using its local audio playback device after receiving the audio data.
[0135] Figure 6 This is a logical schematic diagram of the process of the transmission protocol switch taking effect under a transmission channel for transmitting audio data provided by an exemplary embodiment of the present application. Refer to Figure 6 , before switching the transmission protocol, the cloud computer server ( Figure 6 shown as server in the figure) can send audio data ( Figure 6 shown as Client in the figure) to the cloud computer client based on this transmission channel. Figure 6 shown as PLAYBACK_DATA in the figure). After that, the cloud computer server monitors that the user preference corresponding to the cloud computer client has switched from picture quality priority to smoothness priority, and thus determines that the transmission protocol needs to be switched; Refer to Figure 6, the cloud computer server sends a protocol switching notification to the cloud computer client ( Figure 6 shown as MODE_CHANGE, PLAYBACK_STOP, and PLAYBACK_START in Figure 6 ). Triggered by this, the cloud computer client switches the transmission protocol and restarts its local audio playback device ( Figure 6 shown as MediaPlayer in Figure 6 ). The cloud computer server will send subsequent audio data according to the switched transmission protocol ( Figure 6 shown as PushAudioFrame in Figure 6 ). The cloud computer client will receive and decode the audio data according to the switched transmission protocol and play it using its local audio playback device.
[0136] It should be understood here that triggering the cloud computer client to restart the audio playback device is expected to prevent the cloud computer client from continuing to play the audio data it received under the pre-switching transmission protocol but has not yet played. By restarting, this part of the unplayed audio data can be discarded, which enables the cloud computer client to quickly switch to playing the audio data it received under the post-switching transmission protocol, thereby improving the playback effect.
[0137] In addition, referring to Figure 6 , if the audio data sent by the cloud computer server after switching the transmission protocol arrives at the cloud computer client before the protocol switching notification, the cloud computer client can first cache this part of the pre-arrived audio data to a specified location ( Figure 6 shown as NetEQ in Figure 6 ). After the cloud computer client completes the restart of the audio playback device, it can actively obtain this part of the pre-arrived audio data and play it. This can effectively avoid the problem of audio data frame loss under the post-switching transmission protocol.
[0138] For the transmission channel used to transmit recording data:
[0139] For the cloud computer server, if it needs to receive the recording data provided by the cloud computer client, it sends a protocol switching notification to the cloud computer client through the transmission channel for transmitting the recording data, so as to trigger the cloud computer client to restart its local recording device and switch the transmission protocol under the transmission channel for transmitting the recording data.
[0140] Figure 7 This is a logical schematic diagram of the process for the effective switching of the transmission protocol under a transmission channel for transmitting recording data provided by an exemplary embodiment of this application. Referring to Figure 7 , before switching the transmission protocol, the cloud computer client ( Figure 7 shown as Client in Figure 7 ) can send recording data to the cloud computer server ( Figure 7 shown as server in Figure 7 ) based on this transmission channel ( Figure 7Shown in the middle as RECORD_DATA). After that, the cloud computer server monitors that the user preference corresponding to the cloud computer client has switched from picture quality priority to smoothness priority, and thus determines that the transmission protocol needs to be switched; referring to Figure 7 , the cloud computer server sends a protocol switch notification to the cloud computer client ( Figure 7 Shown in the middle as MODE_CHANGE, RECORD_STOP, and RECORD_START). Triggered by this, the transmission protocol is switched in the cloud computer client, and its local recording device is restarted ( Figure 7 Shown as MediaRecorder in the middle), and the cloud computer client will send subsequent recording data according to the switched transmission protocol ( Figure 7 Shown as PushAudioFrame in the middle), while the cloud computer server will receive and decode the recording data according to the switched transmission protocol. Moreover, as Figure 7 shown, after switching the transmission protocol, the cloud computer server will reject the recording data sent according to the transmission protocol before switching.
[0141] In summary, in this embodiment, the cloud computer server can intelligently identify scene state parameters such as the scene type and user preference corresponding to the cloud computer client, so as to determine whether to switch the transmission protocol. Moreover, the transmission protocol can be switched under a specified transmission channel without interfering with other transmission channels. In addition, under different specified transmission channels, the cloud computer client can be triggered to synchronously switch the transmission protocol and perform other required preparatory work through a protocol switch notification to ensure that the user is unaware of the transmission protocol switching process. This makes the transmission protocol switching more timely and efficient, and thus can effectively improve the transmission performance.
[0142] It should be noted that in some of the processes described in the above embodiments and the accompanying drawings, there are multiple operations that appear in a specific order. However, it should be clearly understood that these operations can be executed not in the order in which they appear in this article or in parallel. The operation numbers such as 101 and 102 are only used to distinguish different operations, and the numbers themselves do not represent any execution order. In addition, these processes can include more or fewer operations, and these operations can be executed in sequence or in parallel. It should be noted that the descriptions such as "first" and "second" in this article are used to distinguish different scene types, user preferences, etc., and do not represent a sequence.
[0143] Figure 8 This is a schematic structural diagram of a cloud computer server provided by another exemplary embodiment of the present application. As Figure 8 shown, the cloud computer server may include: a memory 80, a processor 81, and a communication component 82.
[0144] A processor 81, coupled to a memory 80 and a communication component 82, is configured to execute a computer program in the memory 80 for:
[0145] Enable multiple candidate transport protocols during the process of establishing a connection with a cloud computer client;
[0146] After establishing a connection with the cloud computer client, monitor the scenario status parameters corresponding to the cloud computer client;
[0147] When the scenario status parameters corresponding to the cloud computer client change, control the switching of the transport protocol based on the association relationship between the scenario status parameters and the transport protocol.
[0148] In an optional embodiment, when the processor 81 enables multiple candidate transport protocols during the process of establishing a connection with a cloud computer client, it may specifically be configured to:
[0149] Establish various transport channels required for data transmission between the processor and the cloud computer client;
[0150] Based on the transport channel used for processing the connection, complete identity mutual authentication with the cloud computer client under the multiple candidate transport protocols to enable the multiple candidate transport protocols.
[0151] In an optional embodiment, when the processor 81 completes identity mutual authentication with the cloud computer client under the multiple candidate transport protocols based on the transport channel used for processing the connection, it may specifically be configured to:
[0152] Create different protocol ports for different candidate transport protocols;
[0153] Carry the corresponding protocol port in the identity authentication message;
[0154] Based on the transport channel used for processing the connection, interact with the cloud computer client with identity authentication messages under the multiple candidate transport protocols, and complete identity mutual authentication and protocol port agreement with the cloud computer client under the multiple candidate transport protocols.
[0155] In an optional embodiment, when the processor 81 monitors the scenario status parameters corresponding to the cloud computer client, it may specifically be configured to:
[0156] Monitor the scenario type corresponding to the cloud computer client;
[0157] Monitor the user preferences corresponding to the cloud computer client.
[0158] In an optional embodiment, the scenario type includes an audio-video scenario. When the processor 81 monitors the scenario type corresponding to the cloud computer client, it may specifically be configured to:
[0159] Monitor the applications that are using the microphone device in the cloud computer instance corresponding to the cloud computer client;
[0160] If there is an audio and video call application among the monitored applications, determine that the scenario type corresponding to the cloud computer client is an audio and video scenario.
[0161] In an optional embodiment, the processor 81 may further be configured to:
[0162] Monitor the attribute information of the data sent to the cloud computer client;
[0163] If there is audio data in the sent data, the data frame rate exceeds the specified frame rate threshold, and / or the number of frames with the change area coverage rate in the screenshot exceeding the specified coverage rate threshold reaches the preset standard, determine that the scenario type corresponding to the cloud computer client is an audio and video scenario.
[0164] In an optional embodiment, the user preferences include picture quality priority and smoothness priority. When the processor 81 monitors the user preferences corresponding to the cloud computer client, it may specifically be configured to:
[0165] After receiving the preference configuration message sent by the cloud computer client, parse the user preferences from the preference configuration message as the monitored user preferences corresponding to the cloud computer client.
[0166] In an optional embodiment, when the scenario state parameter corresponding to the cloud computer client changes, and the processor 81 controls the transmission protocol to switch based on the association relationship between the scenario state parameter and the transmission protocol, it may specifically be configured to:
[0167] If the cloud computer client is in the first scenario type and it is monitored that the user preference of the cloud computer client switches to the first preference, then switch to using the first transmission protocol associated with the first scenario type and the first preference; or,
[0168] If the cloud computer client is in the first preference and it is monitored that the scenario type corresponding to the cloud computer client switches to the first scenario type, then switch to using the first transmission protocol.
[0169] In an optional embodiment, if the first scenario type is an audio and video scenario and the first preference is smoothness priority, the first transmission protocol uses RTC. The processor 81 may further be configured to:
[0170] After switching to the first transmission protocol, if it is detected that the cloud computer client switches from the audio and video type scenario to other scenario types, or the user preference of the cloud computer client switches from the smoothness priority to other preferences, then switch from the first transmission protocol to a second transmission protocol associated with the scenario type and preference type currently corresponding to the cloud computer client.
[0171] In an alternative embodiment, when the processor 81 switches from the first transmission protocol to a second transmission protocol associated with the scenario type and preference type to which the cloud computer client switches, it is specifically configured to:
[0172] If the scenario type of the cloud computer client switches to a non-audio and video scenario or the user preference of the cloud computer client switches to the picture quality priority, the second transmission protocol uses QUIC.
[0173] In an alternative embodiment, when the processor 81 controls the transmission protocol switch, it is specifically configured to:
[0174] Control the transmission protocol switch under the transmission channel for transmitting audio and video related data;
[0175] Among them, the transmission protocols used under other transmission channels remain unchanged.
[0176] In an alternative embodiment, after switching the transmission protocol, the processor 81 is further configured to:
[0177] If it is necessary to send audio data to the cloud computer client, send a protocol switch notification to the cloud computer client through the transmission channel for transmitting audio data, so as to trigger the cloud computer client to restart its local audio playback device and switch the transmission protocol under the transmission channel for transmitting audio data;
[0178] If it is necessary to receive the recording data provided by the cloud computer client, send a protocol switch notification to the cloud computer client through the transmission channel for transmitting recording data, so as to trigger the cloud computer client to restart its local recording device and switch the transmission protocol under the transmission channel for transmitting recording data.
[0179] In an alternative embodiment, the processor 81 is further configured to:
[0180] If it is necessary to send an image frame to the cloud computer client, send a protocol switch notification to the cloud computer client through the transmission channel for transmitting image data, so as to trigger the cloud computer client to switch the transmission protocol under the transmission channel for transmitting image data;
[0181] Send an image frame with a frame number to the cloud computer client according to the switched transmission protocol, where the first frame sent after switching the transmission protocol also carries key frame data to trigger the cloud computer client to discard unplayed image frames with frame numbers smaller than the first frame and decode the first frame based on the key frame data.
[0182] Further, as Figure 8 shown, the cloud computer server further includes: a power supply component 83 and other components. Figure 8 Only some components are schematically shown in the figure, which does not mean that the cloud computer server only includes Figure 8 the components shown in the figure.
[0183] It should be noted that the technical details in the above embodiments of the cloud computer server can refer to the relevant descriptions in the foregoing method embodiments. For the sake of brevity, they are not repeated here, but this should not cause loss of the protection scope of this application.
[0184] Correspondingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, and when the computer program is executed, it can implement the steps executed in the foregoing method embodiments.
[0185] The above Figure 8 The memory is used to store computer programs and can be configured to store various other data to support operations on the computing platform. Examples of these data include instructions for any application or method for operating on the computing platform, contact data, phone book data, messages, pictures, videos, etc. The memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0186] The above Figure 8 The communication component is configured to facilitate communication between the device where the communication component is located and other devices in a wired or wireless manner. The device where the communication component is located can access a wireless network based on communication standards, such as WiFi, 2G, 3G, 4G / LTE, 5G and other mobile communication networks, or a combination thereof. In an exemplary embodiment, the communication component receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component further includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0187] The above-mentioned Figure 8 power supply component provides power for various components of the device where the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device where the power supply component is located.
[0188] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0189] The present application is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate means for realizing the functions specified in one Figure 1 flow or multiple flows and / or blocks Figure 1 or multiple blocks.
[0190] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including instruction means, and the instruction means realizes the functions specified in one Figure 1 flow or multiple flows and / or blocks Figure 1 or multiple blocks.
[0191] These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for realizing the functions specified in one Figure 1 flow or multiple flows and / or blocks Figure 1 or multiple blocks.
[0192] It should also be noted that the term "including", "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent in such process, method, commodity or device. Without more limitations, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, commodity or device including the said element.
[0193] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Moreover, the collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entrances are provided for users to choose to authorize or reject.
[0194] The above are only the embodiments of the present application and are not used to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the protection scope of the present application.
Claims
1. A transmission protocol switching method, characterized in that, Applicable to the cloud computer server side, the method includes: During the process of establishing a connection with the cloud computer client, enable multiple candidate transmission protocols; After establishing a connection with the cloud computer client, monitor the scenario status parameters corresponding to the cloud computer client; When the scenario status parameters corresponding to the cloud computer client change, based on the association relationship between the scenario status parameters and the transmission protocol, control the transmission protocol to switch.
2. The method according to claim 1, wherein During the process of establishing a connection with the cloud computer client, enabling multiple candidate transmission protocols includes: Establish various transmission channels required for data transmission between the cloud computer client; Based on the transmission channel used for processing the connection, complete identity mutual authentication with the cloud computer client under the multiple candidate transmission protocols to enable the multiple candidate transmission protocols.
3. The method according to claim 2, wherein Based on the transmission channel used for processing the connection, completing identity mutual authentication with the cloud computer client under the multiple candidate transmission protocols includes: Create different protocol ports for different candidate transmission protocols; Carry the corresponding protocol port in the identity authentication message; Based on the transmission channel used for processing the connection, interact with the cloud computer client with the identity authentication message under the multiple candidate transmission protocols, and complete identity mutual authentication and protocol port agreement with the cloud computer client under the multiple candidate transmission protocols.
4. The method according to claim 1, wherein Monitoring the scenario status parameters corresponding to the cloud computer client includes: Monitor the scenario type corresponding to the cloud computer client; Monitor the user preferences corresponding to the cloud computer client.
5. The method according to claim 4, wherein The scenario type includes audio-video scenarios. Monitoring the scenario type corresponding to the cloud computer client includes: Monitor the applications in the cloud computer instance corresponding to the cloud computer client that are using the microphone device; If there is an audio-video call application among the monitored applications, determine that the scenario type corresponding to the cloud computer client is an audio-video scenario.
6. The method according to claim 5, characterized in that It also includes: Monitor the attribute information of the data sent to the cloud computer client; If there is audio data in the sent data, the data frame rate exceeds the specified frame rate threshold, and / or the number of frames with the change area coverage rate in the screenshot exceeding the specified coverage rate threshold reaches the preset standard, determine that the scenario type corresponding to the cloud computer client is an audio-video scenario.
7. The method according to claim 4, wherein The user preferences include picture quality priority and smoothness priority. Monitoring the user preferences corresponding to the cloud computer client includes: After receiving the preference configuration message sent by the cloud computer client, parse the user preferences from the preference configuration message as the monitored user preferences corresponding to the cloud computer client.
8. The method according to claim 4, wherein When the scenario status parameters corresponding to the cloud computer client change, based on the association relationship between the scenario status parameters and the transmission protocol, controlling the transmission protocol to switch includes: If the cloud computer client is in the first scenario type and it is monitored that the user preference of the cloud computer client switches to the first preference, switch to using the first transmission protocol associated with the first scenario type and the first preference; or, If the cloud computer client is under the first preference and it is detected that the scene type corresponding to the cloud computer client switches to the first scene type, then switch to using the first transmission protocol.
9. The method according to claim 8, wherein If the first scene type is an audio and video type scene and the first preference is smoothness priority, then the first transmission protocol adopts RTC. The method further includes: After switching to the first transmission protocol, if it is detected that the cloud computer client switches from the audio and video type scene to other scene types, or it is detected that the user preference of the cloud computer client switches from the smoothness priority to other preferences, then switch from the first transmission protocol to a second transmission protocol associated with the scene type and preference type currently corresponding to the cloud computer client.
10. The method according to claim 9, characterized in that, Switching from the first transmission protocol to a second transmission protocol associated with the scene type and preference type to which the cloud computer client switches includes: If the scene type of the cloud computer client switches to a non-audio and video type scene or the user preference of the cloud computer client switches to picture quality priority, then the second transmission protocol adopts QUIC.
11. The method according to claim 2, wherein Controlling the transmission protocol switch includes: Controlling the transmission protocol switch under the transmission channel for transmitting audio and video related data; Among them, the transmission protocols adopted under other transmission channels remain unchanged.
12. The method according to claim 1, wherein After switching the transmission protocol, the method further includes: If it is necessary to send audio data to the cloud computer client, then send a protocol switch notification to the cloud computer client through the transmission channel for transmitting audio data, so as to trigger the cloud computer client to restart its local audio playback device and switch the transmission protocol under the transmission channel for transmitting audio data; If it is necessary to receive the recording data provided by the cloud computer client, then send a protocol switch notification to the cloud computer client through the transmission channel for transmitting recording data, so as to trigger the cloud computer client to restart its local recording device and switch the transmission protocol under the transmission channel for transmitting recording data.
13. The method according to claim 12, characterized in that The method further includes: If it is necessary to send an image frame to the cloud computer client, then send a protocol switch notification to the cloud computer client through the transmission channel for transmitting image data, so as to trigger the cloud computer client to switch the transmission protocol under the transmission channel for transmitting image data; Send an image frame with a frame number to the cloud computer client according to the switched transmission protocol, wherein the first frame sent after switching the transmission protocol also carries key frame data, so as to trigger the cloud computer client to discard the unplayed image frames with frame numbers smaller than the first frame and decode the first frame based on the key frame data.
14. A cloud computer server, characterized in that, Including a memory, a processor and a communication component; The memory is used to store one or more computer instructions; The processor is coupled to the memory and the communication component and is used to execute the one or more computer instructions to execute the transmission protocol switching method according to any one of claims 1-13.
15. A computer-readable storage medium storing computer instructions, characterized in that, When the computer instructions are executed by one or more processors, causing the one or more processors to execute the transmission protocol switching method according to any one of claims 1-13.
Citation Information
Patent Citations
Live broadcast processing method and device, electronic equipment and storage medium
CN113259706A
Cloud desktop connection method, device and equipment
CN115277806A
Dynamic resource tuning cloud service
WO2020172692A2