Scheduling method and equipment of cloud simulator
By monitoring and generating video streams of interactive screens and touch events through a cloud simulator, the problem of limited application quantity and resource consumption on the vehicle's central control screen is solved, enabling flexible application use and resource conservation.
Patent Information
- Application Number
- CN202511040835.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-28
- Publication Date
- 2025-11-11
AI Technical Summary
The number of native system applications on the vehicle's central control screen is limited, making it difficult to cover users' personalized needs. Furthermore, locally installed applications consume resources, are complex to upgrade, and pose compatibility risks.
By monitoring touch operations through a cloud-based simulator, selecting and launching a target simulator, and generating video streams of interactive screens and touch events, local resource consumption and upgrade hassles are reduced, and flexible application usage is supported.
Installing simulators and applications in the cloud reduces the consumption of local vehicle system resources, simplifies the application upgrade process, and solves the problems of insufficient application ecosystem and low hardware resource utilization in vehicle system.
Smart Images

Figure CN120929284A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of vehicle infotainment systems, and more particularly to the field of cloud simulator technology. Background Technology
[0002] Currently, the in-vehicle systems (such as Linux or QNX systems) installed on the vehicle's central control screen have the following pain points: the number of native system applications is limited, making it difficult to cover users' personalized needs (such as short videos and mobile games); native system applications are installed locally, occupying a lot of local resources, and application installation packages need to be upgraded via OTA, which is a complicated process and poses compatibility risks.
[0003] Therefore, how to meet users' needs for in-vehicle applications while reducing the consumption of local resources in the vehicle system has become an urgent problem to be solved. Summary of the Invention
[0004] This disclosure provides a scheduling method, apparatus, device, and storage medium for a cloud simulator.
[0005] According to a first aspect of this disclosure, a scheduling method for a cloud-based simulator is provided. The method includes:
[0006] Monitor touch operations on preset applications corresponding to cloud simulators, wherein the cloud simulator is installed in the cloud and includes multiple simulators;
[0007] A startup command corresponding to the touch operation is generated and sent to the cloud. After receiving the startup command, the cloud selects a target simulator from the plurality of simulators and starts the target simulator using the startup command.
[0008] Monitor the user touch area for the target application and touch events related to the user touch area;
[0009] The interactive screen of the target application and the touch events are sent to the target emulator. The interactive screen of the target application includes: the interactive screen of the user's touch area and the interactive screen of the non-touch area. After receiving the interactive screen of the target application and the touch events, the target emulator generates a video stream of the target application based on the interactive screen of the target application and the touch events. The target application is installed on the target emulator.
[0010] Receive the video stream of the target application sent by the target simulator.
[0011] In addition to the aspects and any possible implementations described above, a further implementation is provided in which the monitoring of the user touch area for the target application includes:
[0012] Monitor the target application that is touched on the vehicle's infotainment system;
[0013] Monitor the user's touch and non-touch areas for the target application;
[0014] The steps for obtaining the interactive screen of the target application are as follows:
[0015] The interactive screen of the user touch area and the interactive screen of the non-touch area are encoded at different bitrates, wherein the bitrate of the user touch area is higher than that of the non-touch area;
[0016] The interactive screens of the user touch area and the non-touch area are adjusted according to different quantization parameters, wherein the quantization parameters of the interactive screen of the user touch area are higher than those of the interactive screen of the non-touch area.
[0017] Monitor the vehicle's network status;
[0018] Adjust the video stream bitrate and frame rate of the interactive screen in the user touch area and the interactive screen in the non-touch area according to the vehicle network status.
[0019] In addition to the aspects and any possible implementations described above, a further implementation is provided in which, after detecting the target application, the method further includes:
[0020] Determine whether the target application is being touched for the first time;
[0021] If the target application is touched for the first time, an installation command for the target application is sent to the target emulator to control the target emulator to install the target application in the cloud.
[0022] In addition to the aspects and any possible implementations described above, a further implementation is provided for monitoring touch events targeting the user's touch area, including:
[0023] Monitor the user's touch gestures on the touch area;
[0024] The operation gestures are encapsulated into touch events based on a preset protocol.
[0025] In addition to the aspects and any possible implementations described above, a further implementation is provided, wherein the method further includes:
[0026] Cache screenshots of multiple application interfaces;
[0027] When the vehicle network status switches from the first preset network status to the second preset network status, screenshots of the multiple application interfaces are sent to the target simulator.
[0028] When the vehicle network status is restored to the second preset network status, the target simulator receives video footage sent based on screenshots of the multiple application interfaces.
[0029] According to a second aspect of this disclosure, another method for scheduling a cloud-based simulator is provided. This method includes:
[0030] The vehicle receives a start command sent by the vehicle system, wherein the start command is generated by the vehicle system after detecting a touch operation on a preset application corresponding to the cloud simulator;
[0031] Select a target emulator from the plurality of emulators according to the requested parameters in the startup command;
[0032] The target simulator is launched using the aforementioned startup command;
[0033] The system receives the interactive screen of the target application and the touch event sent by the vehicle's infotainment system; the target application is installed on the target simulator.
[0034] Based on the interactive screen of the target application and the touch events, generate a video stream of the target application;
[0035] The video stream of the target application is sent to the vehicle's infotainment system.
[0036] In addition to the aspects and any possible implementations described above, a further implementation is provided in which the step of selecting a target emulator from the plurality of emulators according to the requested parameters in the startup instruction includes:
[0037] Obtain the resource consumption requirements carried in the request parameters;
[0038] Based on the resource consumption requirements, the target simulator is selected from the plurality of simulators.
[0039] In addition to the aspects and any possible implementations described above, a further implementation is provided in which the step of selecting a target emulator from the plurality of emulators according to the requested parameters in the startup instruction includes:
[0040] Obtain the system version requirement and the vehicle system level carried in the request parameters;
[0041] Based on the system version requirements and the vehicle infotainment system's level, the target simulator is selected from the plurality of simulators.
[0042] In addition to the aspects and any possible implementations described above, a further implementation is provided, wherein the method further includes:
[0043] Receive an installation instruction for a target application sent by the vehicle system, wherein the installation instruction is generated when the target application is first touched;
[0044] Install the target application according to the installation instructions.
[0045] According to a third aspect of this disclosure, a scheduling apparatus for a cloud simulator is provided. The apparatus includes:
[0046] The first monitoring module is used to monitor touch operations on preset applications corresponding to the cloud simulator, wherein the cloud simulator is installed in the cloud and includes multiple simulators;
[0047] The processing module is used to generate a startup command corresponding to the touch operation and send the startup command to the cloud. After receiving the startup command, the cloud selects a target simulator from the plurality of simulators and starts the target simulator using the startup command.
[0048] The second monitoring module is used to monitor the user touch area of the target application and the touch events of the user touch area;
[0049] A sending module is used to send the interactive screen of the target application and the touch events to the target emulator, wherein the interactive screen of the target application includes: the interactive screen of the user touch area and the interactive screen of the non-touch area; after receiving the interactive screen of the target application and the touch events, the target emulator generates a video stream of the target application based on the interactive screen of the target application and the touch events; the target application is installed on the target emulator.
[0050] The receiving module is used to receive the video stream of the target application sent by the target simulator.
[0051] According to a fourth aspect of this disclosure, another scheduling apparatus for a cloud-based simulator is provided. The apparatus includes:
[0052] The first receiving module is used to receive the start command sent by the vehicle system, wherein the start command is generated by the vehicle system after detecting a touch operation on a preset application corresponding to the cloud simulator;
[0053] The selection module is used to select a target simulator from the plurality of simulators according to the requested parameters in the startup instruction;
[0054] A startup module, used to start the target simulator using the startup command;
[0055] The second receiving module is used to receive the interactive screen of the target application and the touch event sent by the vehicle system; the target application is installed on the target simulator;
[0056] The generation module is used to generate a video stream of the target application based on the interactive screen of the target application and the touch events;
[0057] The sending module is used to send the video stream of the target application to the vehicle system.
[0058] According to a fifth aspect of this disclosure, an electronic device is provided. The electronic device includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the program to implement the method described above.
[0059] According to a sixth aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the methods according to the first and / or second aspects of this disclosure.
[0060] In this disclosure, after detecting a touch operation on a preset application corresponding to a cloud simulator, a startup command corresponding to the touch operation can be generated and sent to the cloud to start the target simulator on the cloud. At the same time, the user touch area and touch events on the target application are monitored. Then, the interactive screen of the target application and the touch events are sent to the target simulator, and the target application and the video stream corresponding to the interactive screen and touch events sent by the target simulator are received. In this way, the use of the vehicle system application can be achieved by starting a simulator in the cloud and interacting with the simulator. This avoids the waste of local resources and the trouble of application upgrades caused by installing the vehicle system application locally. Moreover, since the simulator is installed in the cloud and then the operating system is installed on the simulator and then the application is installed, rather than directly installing the operating system in the cloud and then the application, the consumption of cloud resources can be reduced, and horizontal expansion is convenient. This solves the contradiction between the insufficient application ecosystem of the vehicle system and the low utilization rate of hardware resources.
[0061] It should be understood that the description in the Summary of the Invention is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0062] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. The drawings are provided for a better understanding of the invention and are not intended to limit the scope of this disclosure. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:
[0063] Figure 1 A flowchart of a scheduling method for a cloud simulator according to an embodiment of the present disclosure is shown;
[0064] Figure 2 A flowchart illustrating another scheduling method for a cloud simulator according to an embodiment of the present disclosure is shown;
[0065] Figure 3 A block diagram of a scheduling system for a cloud simulator according to an embodiment of the present disclosure is shown;
[0066] Figure 4 A block diagram of an exemplary electronic device capable of implementing embodiments of the present disclosure is shown. Detailed Implementation
[0067] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0068] Furthermore, the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.
[0069] Figure 1 A flowchart of a cloud simulator scheduling method 100 according to an embodiment of the present disclosure is shown. Method 100 is applicable to in-vehicle infotainment systems and may include:
[0070] Step 110: Monitor touch operations on preset applications corresponding to the cloud simulator, wherein the cloud simulator is installed in the cloud and includes multiple simulators;
[0071] There are one or more servers in the cloud, and one or more emulators can be installed on each server. These emulators are Android emulators, on which the Android operating system can be installed. Then, various in-vehicle applications, such as xx Voice, xx Book, and xx Video, can be installed on the Android operating system. In this way, the capacity can be easily expanded at any time according to needs.
[0072] The preset application is an application corresponding to the cloud simulator, and can be named "Cloud Application" or similar names.
[0073] The above touch operations can include clicking, double-clicking, etc.
[0074] Step 120: Generate a startup command corresponding to the touch operation and send the startup command to the cloud. After receiving the startup command, the cloud selects a target simulator from the plurality of simulators and starts the target simulator using the startup command.
[0075] Step 130: Monitor the user touch area for the target application and the touch events for the user touch area;
[0076] Step 140: The interactive screen of the target application and the touch events are sent to the target emulator. The interactive screen of the target application includes: the interactive screen of the user's touch area and the interactive screen of the non-touch area. After receiving the interactive screen of the target application and the touch events, the target emulator generates a video stream of the target application based on the interactive screen and the touch events. The target application is installed on the target emulator. The target application can be any application required by the user. The video stream of the target application is also a video stream corresponding to the interactive screen and the touch events.
[0077] Step 150: Receive the video stream of the target application sent by the target simulator.
[0078] After detecting a touch operation on a preset application corresponding to the cloud simulator, a startup command corresponding to the touch operation can be generated and sent to the cloud to start the target simulator on the cloud. At the same time, the user touch area and touch events on the target application are monitored. Then, the interactive screen of the target application and the touch events are sent to the target simulator, and the target application and the corresponding video stream of the interactive screen and touch events sent by the target simulator are received. In this way, the use of the vehicle system application can be realized by starting a simulator in the cloud and interacting with the simulator. This avoids the waste of local resources and the trouble of application upgrades caused by installing the vehicle system application locally. Moreover, since the simulator is installed in the cloud and then the operating system is installed on the simulator and then the application is installed, rather than directly installing the operating system in the cloud and then the application, the consumption of cloud resources can be reduced, and horizontal expansion is convenient. This solves the contradiction between the insufficient application ecosystem of the vehicle system and the low utilization of hardware resources.
[0079] In some embodiments, monitoring the user touch area for a target application includes:
[0080] Monitor the target application that is touched on the vehicle's infotainment system;
[0081] Monitor the user's touch and non-touch areas for the target application;
[0082] The user's touch area and non-touch area can be determined by monitoring the location of the user's finger.
[0083] The user touch area is the area that the user is interested in, which may be a button or a video playback window.
[0084] The steps for obtaining the interactive screen of the target application are as follows:
[0085] The interactive screen of the user touch area and the interactive screen of the non-touch area are encoded at different bitrates, wherein the bitrate of the user touch area is higher than that of the non-touch area;
[0086] The interactive screens of the user touch area and the non-touch area are adjusted according to different quantization parameters, wherein the quantization parameters of the interactive screen of the user touch area are higher than those of the interactive screen of the non-touch area.
[0087] Monitor the vehicle's network status;
[0088] Adjust the video stream bitrate and frame rate of the interactive screen in the user touch area and the interactive screen in the non-touch area according to the vehicle network status.
[0089] The interactive screen in the user's touch area is encoded at a high bitrate, while the interactive screen in the non-touch area is encoded at a low bitrate. Then, the interactive screen in the user's touch area is adjusted with high quantization parameters, and the interactive screen in the non-touch area is adjusted with low quantization parameters to ensure that the PSNR (Peak Signal-to-Noise Ratio) value in the user's touch area is ≥40dB, and the PSNR value in the non-touch area is ≥35dB. Furthermore, the vehicle network status is monitored, and the video stream bitrate and frame rate of the interactive screen in the user's touch area, as well as the interactive screen in the non-touch area, are adaptively adjusted based on the vehicle network status. This minimizes the vehicle network resources consumed during the transmission of the interactive screen.
[0090] The video stream bitrate (range: 500Kbps-20Mbps) and frame rate (15fps-60fps) are dynamically adjusted based on the vehicle network status (RTT, packet loss rate).
[0091] For example, in weak network environments (such as 4G signal strength <-100dBm), enabling B-frame prediction and IntraRefresh technology can reduce stuttering rate to <1%.
[0092] In some embodiments, after detecting the target application, the method further includes:
[0093] Determine whether the target application is being touched for the first time;
[0094] If the target application is touched for the first time, an installation command for the target application is sent to the target emulator to control the target emulator to install the target application in the cloud.
[0095] After detecting the target application, it can be determined whether the target application is touched for the first time. If the target application is touched for the first time, an installation command for the target application is sent to the target simulator to control the target simulator to install the target application in the cloud. In this way, the target application can be installed on the target simulator when the user touches the target application for the first time, so that the target application can be used through the target simulator afterwards. This also avoids directly installing the target application on the vehicle's local system, reducing the consumption of local resources of the vehicle's local system.
[0096] In some embodiments, monitoring touch events targeting the user's touch area includes:
[0097] Monitor the user's touch gestures on the touch area;
[0098] The operation gestures are encapsulated into touch events based on a preset protocol.
[0099] It can encapsulate operation gestures (click, swipe, multi-finger gestures) as touch events based on the WebSocket protocol, and the message body adopts Protobuf serialization, with a single instruction transmission delay of <10ms.
[0100] In some embodiments, the method further includes:
[0101] Cache screenshots of multiple application interfaces;
[0102] When the vehicle network status switches from the first preset network status to the second preset network status, screenshots of the multiple application interfaces are sent to the target simulator.
[0103] The first preset network state is a network state where the current network speed is higher than the first preset network speed, and the second preset network state is a network state where the current network speed is lower than the second preset network speed, wherein the first preset network speed is higher than the second preset network speed.
[0104] When the vehicle network status is restored to the second preset network status, the target simulator receives video footage sent based on screenshots of the multiple application interfaces.
[0105] The vehicle's infotainment system caches screenshots of the five most recently used application interfaces (PNG format, 1920x720 resolution). In weak network conditions, the static images are displayed with a message "Continue after network recovery".
[0106] User operation logs are recorded in the cloud. Once the network is restored, the application status (such as video playback progress or game level) is restored within 3 seconds, and a screenshot of the application interface is pushed to the user for subsequent video streams.
[0107] Figure 2 A flowchart of a cloud-based simulator scheduling method 200 according to an embodiment of the present disclosure is shown. The method 200 is applicable to a cloud environment having one or more servers, each server having one or more simulators installed. The method 200 may include:
[0108] Step 210: Receive a start command sent by the vehicle system, wherein the start command is generated by the vehicle system after detecting a touch operation on a preset application corresponding to the cloud simulator;
[0109] Step 220: Select a target emulator from the plurality of emulators according to the requested parameters in the startup command;
[0110] Step 230: Start the target simulator using the startup command;
[0111] Step 240: Receive the interactive screen of the target application and the touch event sent by the vehicle system; the target application is installed on the target simulator;
[0112] Step 250: Generate a video stream of the target application based on the interactive screen of the target application and the touch event;
[0113] Step 260: Send the video stream of the target application to the vehicle system.
[0114] Upon receiving a start command from the vehicle's infotainment system, a target simulator can be selected from among multiple simulators based on the requested parameters in the start command. The target simulator is then launched using the start command, allowing the vehicle's infotainment system to remotely launch the corresponding target simulator in the cloud when an application is needed. Furthermore, by receiving the interactive screen and touch events of the target application sent by the vehicle's infotainment system, and generating a video stream of the target application based on these events, the system can send the video stream to the vehicle's infotainment system. This enables interaction with the vehicle's infotainment system, allowing it to flexibly use the target application. This approach reduces the consumption of local resources on the vehicle's infotainment system while enabling flexible use of applications.
[0115] In some embodiments, selecting a target emulator from the plurality of emulators according to the requested parameters in the launch instruction includes:
[0116] Obtain the resource consumption requirements carried in the request parameters;
[0117] Resource consumption requirements can include the CPU resources, GPU resources, and memory resources required.
[0118] Based on the resource consumption requirements, the target simulator is selected from the plurality of simulators.
[0119] By obtaining the resource consumption requirements carried in the request parameters, a target simulator that can meet the resource consumption requirements can be selected from multiple simulators, thereby meeting the application needs of the vehicle system.
[0120] In some embodiments, selecting a target emulator from the plurality of emulators according to the requested parameters in the launch instruction includes:
[0121] Obtain the system version requirement and the vehicle system level carried in the request parameters;
[0122] Based on the system version requirements and the vehicle infotainment system's level, the target emulator is selected from the plurality of emulators. The system version requirements refer to the required operating system version, such as Android 12 / 14 or Android-x86; the vehicle infotainment system's level can be determined by whether the target application on the vehicle infotainment system is a VIP member or what level of VIP membership the target application requires.
[0123] By obtaining the system version requirements and vehicle system level carried in the request parameters, the target simulator can be automatically selected from the multiple simulators according to the system version requirements and vehicle system level. In this way, a suitable target simulator can be selected for the vehicle system to meet the various needs of the vehicle system for simulators.
[0124] In some embodiments, the method further includes:
[0125] Receive an installation instruction for a target application sent by the vehicle system, wherein the installation instruction is generated when the target application is first touched;
[0126] Install the target application according to the installation instructions.
[0127] When a user first touches the target application, the user intends to use the target application. Therefore, an installation command can be generated, and the target application can be installed on the target emulator according to the installation command, so that the user can use the target application through the target emulator later. This also avoids installing the target application directly on the vehicle's local system, reducing the consumption of local resources on the vehicle's local system.
[0128] like Figure 3 As shown, an Android emulator cluster can be installed in the cloud.
[0129] Containerized virtualization architecture
[0130] Deploy an Android emulator cluster using KVM or Docker container technology, with each container running a complete Android system (such as Android 12 / 14) independently, achieving resource isolation and rapid instantiation.
[0131] The container comes pre-loaded with a lightweight Android runtime environment (such as Android-x86 or Waydroid), reducing startup time to within 5 seconds.
[0132] Elastic resource scheduling algorithm
[0133] The number of simulator instances can be dynamically adjusted based on user request load, supporting horizontal scaling to thousands of concurrent users.
[0134] A scheduling strategy combining weighted round-robin and priority queues is adopted to prioritize the allocation of idle instances to high-priority users (such as paid members).
[0135] Application whitelists and security sandboxes
[0136] The cloud maintains a security-verified APK whitelist library, allowing only applications that pass code signing verification and dynamic behavior analysis to be installed on the emulator.
[0137] Each emulator instance runs in an independent Linux namespace, with restricted file system, network, and process access permissions.
[0138] 2. Ultra-low latency video stream coding and transmission optimization technology
[0139] ROI (Region of Interest) Dynamic Encoding
[0140] The vehicle's infotainment system uses AI algorithms to identify user touch areas (such as buttons and video playback windows), and encodes these areas with high bitrate H.265 / HEVC (1080p@60fps), while non-touch areas are reduced to 720p@30fps.
[0141] The encoder adjusts the quantization parameters (QP value) in real time to ensure that the PSNR value of the touch area is ≥40dB and the PSNR value of the non-touch area is ≥35dB.
[0142] Adaptive bitrate and frame rate control
[0143] The video stream bitrate (range: 500Kbps-20Mbps) and frame rate (15fps-60fps) are dynamically adjusted based on the vehicle network status (RTT, packet loss rate).
[0144] In weak network environments (such as 4G signal strength <-100dBm), enable B-frame prediction and Intra Refresh technology to reduce stuttering rate to <1%.
[0145] Edge computing node deployment
[0146] Deploying video stream forwarding services at the operator's edge node (MEC) reduces the transmission latency between the cloud simulator output and the vehicle's infotainment system to less than 30ms.
[0147] 3. Vehicle-to-Cloud Two-Way Interactive Synchronization Technology
[0148] High-precision touch command transmission protocol
[0149] Touch events (click, swipe, multi-finger gestures) are encapsulated based on the WebSocket protocol, and the message body is serialized using Protobuf, with a single instruction transmission latency of <10ms.
[0150] The cloud-based emulator injects commands into the Android system through a virtual input device (such as uinput), supporting sub-pixel-level coordinate mapping (accuracy up to 0.1mm).
[0151] Audio mixing and pass-through technology
[0152] The audio stream from the cloud-based Android instance (such as game sound effects) is mixed with the vehicle's local audio (such as navigation prompts) via AAC-ELD encoding, with a sampling rate of 48kHz and stereo output.
[0153] It supports a dynamic volume balancing algorithm that automatically adjusts the mixing ratio based on the audio type (such as voice / music).
[0154] Offline caching and resume interrupted downloads
[0155] The vehicle's infotainment system caches screenshots of the five most recently used application interfaces (PNG format, 1920x720 resolution). In weak network conditions, the static images are displayed with a message "Continue after network recovery".
[0156] User operation logs are recorded in the cloud, and the application state (such as video playback progress and game level) is restored within 3 seconds after the network is restored.
[0157] 4. Lightweight middleware technology for vehicle-mounted systems
[0158] Virtual touch layer mapping
[0159] Map the vehicle's physical buttons (such as the steering wheel multifunction buttons) to touchscreen events as standardized touch commands (such as MotionEvent.ACTION_DOWN) of cloud-based Android instances.
[0160] It supports multi-finger gesture recognition (such as two-finger zoom and three-finger swipe), and optimizes the smoothness of touch trajectory through Kalman filtering algorithm.
[0161] Low-power decoding and rendering
[0162] The vehicle-mounted infotainment system uses a hardware decoder (such as a Qualcomm Adreno GPU) to accelerate H.265 video stream decoding, with CPU utilization of less than 5%.
[0163] Rendering layer optimization: Anti-aliasing (FXAA) is applied only to the touch area, and post-processing effects are disabled for non-touch areas.
[0164] Security Isolation and Data Encryption
[0165] Video streams, touch commands, and audio data between the vehicle's infotainment system and the cloud are encrypted using the national cryptographic algorithm SM4, with a key rotation cycle of ≤1 hour.
[0166] Disallow cloud-based simulators from accessing the vehicle's local storage (such as USB devices and dashcam data), and isolate network traffic through a security gateway (such as OpenVPN).
[0167] 5. Cloud application compatibility and ecosystem expansion technologies
[0168] Dynamic resolution adaptation
[0169] The cloud simulator automatically detects the screen resolution of the vehicle's infotainment system (e.g., 12.3-inch 1920x720) and dynamically adjusts the layout of the Android application interface using DisplayMetrics.
[0170] Supports landscape and portrait mode switching (via SensorManager to listen to gravity sensor), with a switching latency of <200ms.
[0171] Third-party application integration interface
[0172] It provides standardized APIs for third-party developers to access cloud simulator capabilities, including application launch, screenshot, and screen recording.
[0173] It supports remote application debugging via the ADB over WebSocket protocol, eliminating the need for developers to physically connect to the vehicle's infotainment system.
[0174] Application hot update and canary release
[0175] The cloud-based simulator cluster supports differential updates of APK files (bsdiff algorithm), reducing the size of a single application update package by 70%.
[0176] Canary releases can be implemented by using user tags (such as region and vehicle type) to control the coverage ratio of new versions (such as 10% of users experiencing them first).
[0177] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this disclosure is not limited to the described order of actions, because according to this disclosure, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this disclosure.
[0178] The apparatus and method steps of the present invention correspond one-to-one, but for convenience, they will not be described in detail here. However, those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the described modules can be referred to the corresponding process in the foregoing method embodiments, and will not be described in detail here.
[0179] According to embodiments of the present disclosure, the present disclosure also provides an electronic device and a non-transitory computer-readable storage medium storing computer instructions.
[0180] Figure 4 A schematic block diagram of an electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0181] Device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.
[0182] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0183] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as method 100. For example, in some embodiments, method 100 may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of method 100 described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform method 100 by any other suitable means (e.g., by means of firmware).
[0184] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0185] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0186] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0187] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0188] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0189] Computing systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0190] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0191] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A scheduling method for a cloud-based simulator, the method being applicable to in-vehicle systems, characterized in that, include: Monitor touch operations on preset applications corresponding to cloud simulators, wherein the cloud simulator is installed in the cloud and includes multiple simulators; A startup command corresponding to the touch operation is generated and sent to the cloud. After receiving the startup command, the cloud selects a target simulator from the plurality of simulators and starts the target simulator using the startup command. Monitor the user touch area for the target application and touch events related to the user touch area; The interactive screen of the target application and the touch events are sent to the target emulator. The interactive screen of the target application includes: the interactive screen of the user's touch area and the interactive screen of the non-touch area. After receiving the interactive screen of the target application and the touch events, the target emulator generates a video stream of the target application based on the interactive screen of the target application and the touch events. The target application is installed on the target emulator. Receive the video stream of the target application sent by the target simulator.
2. The method as described in claim 1, characterized in that, The monitoring targets the user touch area of the target application, including: Monitor the target application that is touched on the vehicle's infotainment system; Monitor the user's touch and non-touch areas for the target application; The steps for obtaining the interactive screen of the target application are as follows: The interactive screen of the user touch area and the interactive screen of the non-touch area are encoded at different bitrates, wherein the bitrate of the user touch area is higher than that of the non-touch area; The interactive screens of the user touch area and the non-touch area are adjusted according to different quantization parameters, wherein the quantization parameters of the interactive screen of the user touch area are higher than those of the interactive screen of the non-touch area. Monitor the vehicle's network status; Adjust the video stream bitrate and frame rate of the interactive screen in the user touch area and the interactive screen in the non-touch area according to the vehicle network status.
3. The method as described in claim 2, characterized in that, After detecting the target application, the method further includes: Determine whether the target application is being touched for the first time; If the target application is touched for the first time, an installation command for the target application is sent to the target emulator to control the target emulator to install the target application in the cloud.
4. The method as described in claim 1, characterized in that, Monitoring touch events targeting the user's touch area includes: Monitor the user's touch gestures on the touch area; The operation gestures are encapsulated into touch events based on a preset protocol.
5. The method as described in claim 1, characterized in that, The method further includes: Cache screenshots of multiple application interfaces; When the vehicle network status switches from the first preset network status to the second preset network status, screenshots of the multiple application interfaces are sent to the target simulator. When the vehicle network status is restored to the second preset network status, the target simulator receives video footage sent based on screenshots of the multiple application interfaces.
6. A scheduling method for a cloud-based simulator, the method being applicable to the cloud, characterized in that, The cloud-based system has multiple emulators installed, and the method includes: The vehicle receives a start command sent by the vehicle system, wherein the start command is generated by the vehicle system after detecting a touch operation on a preset application corresponding to the cloud simulator; Based on the requested parameters in the startup command, select the target simulator from the plurality of simulators; The target simulator is started using the startup command; The system receives the interactive screen of the target application and the touch event sent by the vehicle's infotainment system; the target application is installed on the target simulator. Based on the interactive screen of the target application and the touch events, generate a video stream of the target application; The video stream of the target application is sent to the vehicle's infotainment system.
7. The method as described in claim 6, characterized in that, The step of selecting a target emulator from the plurality of emulators according to the requested parameters in the startup command includes: Obtain the resource consumption requirements carried in the request parameters; Based on the resource consumption requirements, the target simulator is selected from the plurality of simulators.
8. The method as described in claim 6, characterized in that, The step of selecting a target emulator from the plurality of emulators according to the requested parameters in the startup command includes: Obtain the system version requirement and the vehicle system level carried in the request parameters; Based on the system version requirements and the vehicle infotainment system's level, the target simulator is selected from the plurality of simulators.
9. The method as described in claim 6, characterized in that, The method further includes: Receive an installation instruction for a target application sent by the vehicle system, wherein the installation instruction is generated when the target application is first touched; Install the target application according to the installation instructions.
10. An electronic device, characterized in that, include: Memory and processor The memory stores a computer program, and when the processor executes the program, it implements the method as described in any one of claims 1-9.