Cloud-based real machine sandbox control method, device, equipment and medium

CN115994354BActive Publication Date: 2026-10-30TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111207100.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-15
Publication Date
2026-10-30
Estimated Expiration
2041-10-15

AI Technical Summary

Technical Problem

但是,沙箱技术是在终端系统中的虚拟系统技术,在不同终端设备中需要不同的适配参数,对沙箱配置的要求较高,严重影响了用户对沙箱的需求的稳定性

Benefits of technology

[0019]本申请实施例提出的基于云真机的沙箱控制方法,通过将服务器利用虚拟机技术构造的虚拟机或与服务器通信连接的终端设备作为沙箱空间,既实现了沙箱空间运行虚拟应用程序外部系统无感知的目的,又有效避免了沙箱布设的适配问题,同时,主控设备通过视频数据对沙箱空间进行监控,并通过在投影区上的触控操作对沙箱空间进行控制,极大的降低了主控设备的运行压力,提高了应用程序测试的整体效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115994354B_ABST
    Figure CN115994354B_ABST
Patent Text Reader

Abstract

The application discloses a cloud real machine-based sandbox control method and device, equipment and medium, relates to the field of cloud technology, in particular to the field of cloud security, and can be applied to various scenes such as cloud technology, cloud security, artificial intelligence and intelligent transportation. The cloud real machine-based sandbox control method provided in the application can realize the purpose of no perception of the external system of the sandbox space running a virtual application program, effectively avoid the adaptation problem of the sandbox layout, and simultaneously monitor the sandbox space by the main control equipment through video data and control the sandbox space through touch operation on the projection area, thereby greatly reducing the operation pressure of the main control equipment and improving the overall efficiency of application program testing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to the field of cloud technology, specifically to the field of cloud security technology, and in particular to a sandbox control method, apparatus, device, and medium based on a cloud-based real machine. Background Technology

[0002] With the continuous development of computer technology, information security has become increasingly important. To avoid security risks to electronic devices from untrusted applications, these applications are usually placed in a sandbox environment to run as virtual applications. However, sandbox technology is a virtual system technology within a terminal system, requiring different adaptation parameters on different terminal devices. This places high demands on sandbox configuration and seriously affects the stability of users' needs for sandboxes. Summary of the Invention

[0003] In view of the above-mentioned defects or deficiencies in the existing technology, it is desirable to provide a sandbox control method, device, equipment and medium based on cloud real machine, which not only achieves the purpose of running virtual applications in the sandbox space without the external system being aware of it, but also effectively avoids the adaptation problem of sandbox deployment.

[0004] In a first aspect, embodiments of this application provide a sandbox control method based on cloud-based real machines, including:

[0005] After the target application starts and establishes a connection with the server, it receives a list of cloud real devices sent by the server. The cloud real devices in the list are virtual machines constructed by the server using virtual machine technology or terminal devices that communicate with the server.

[0006] The server receives a selection instruction for the cloud virtual machine list, determines a target cloud virtual machine to be used as the sandbox space corresponding to the target application, establishes a communication connection with the target cloud virtual machine, sends the video data displayed by the target cloud virtual machine to the target application, and displays it in the projection area corresponding to the target application.

[0007] Receive a touch operation applied to the projection area corresponding to the target application for controlling the virtual application running in the target cloud device;

[0008] The touch operation is sent to the server, the server parses the touch operation and obtains the touch instruction corresponding to the touch operation, the server sends the touch instruction to the target cloud real device, the target cloud real device performs a running test on the virtual application based on the touch operation and generates running video data, the server obtains the running video data generated by the target cloud real device in response to the touch instruction and sends it to the target application;

[0009] The running video data is displayed on the projection area corresponding to the target application.

[0010] Secondly, embodiments of this application provide a sandbox control device based on a cloud-based real machine, comprising:

[0011] First receiving module,

[0012] Used to receive a list of cloud real devices sent by the server after the target application starts and establishes a connection with the server. The cloud real devices in the list are virtual machines constructed by the server using virtual machine technology or terminal devices that communicate with the server.

[0013] The second receiving module is used to receive a selection instruction for the cloud real device list, determine the target cloud real device to be used as the sandbox space corresponding to the target application, and establish a communication connection between the server and the target cloud real device to send the video data displayed by the target cloud real device to the target application and display it in the projection area corresponding to the target application.

[0014] The third receiving module is used to receive touch operations applied to the projection area corresponding to the target application for controlling the virtual application running in the target cloud real machine;

[0015] A sending module is used to send the touch operation to a server. The server parses the touch operation and obtains the touch instruction corresponding to the touch operation. The server sends the touch instruction to the target cloud device. The target cloud device performs a running test on the virtual application based on the touch operation and generates running video data. The server obtains the running video data generated by the target cloud device in response to the touch instruction and sends it to the target application.

[0016] The display module is used to display the running video data on the projection area corresponding to the target application.

[0017] Thirdly, embodiments of this application provide an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the method described in embodiments of this application.

[0018] Fourthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in embodiments of this application.

[0019] The cloud-based sandbox control method proposed in this application uses a virtual machine constructed by the server using virtual machine technology or a terminal device that communicates with the server as a sandbox space. This achieves the goal of making the external system unaware when the virtual application runs in the sandbox space, and effectively avoids the adaptation problem of sandbox deployment. At the same time, the main control device monitors the sandbox space through video data and controls the sandbox space through touch operations on the projection area, which greatly reduces the operating pressure of the main control device and improves the overall efficiency of application testing.

[0020] Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. Attached Figure Description

[0021] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:

[0022] Figure 1 This is a schematic diagram of the implementation environment of an embodiment of this application;

[0023] Figure 2 This is a schematic diagram of the interface of the main control device in one embodiment of this application;

[0024] Figure 3 This is a user identity credential interaction interface of the target application in one embodiment of this application;

[0025] Figure 4 This is a schematic diagram of a cloud-based real device list in one embodiment of this application;

[0026] Figure 5 This is a schematic diagram of the initial interface of a cloud-based real device in one embodiment of this application;

[0027] Figure 6 This is a flowchart of a cloud-based sandbox control method according to an embodiment of this application;

[0028] Figure 7 This is a schematic diagram of the projection area of ​​a sandbox control method based on cloud real machines according to an embodiment of this application;

[0029] Figure 8 This is a schematic diagram illustrating the mapping point calculation principle of a specific embodiment of this application;

[0030] Figure 9 This is a schematic diagram of the structure of a cloud-based sandbox control system according to a specific embodiment of this application;

[0031] Figure 10 The signaling interaction diagram is shown for a specific embodiment of the cloud-based real-device sandbox control method of this application.

[0032] Figure 11 This is a block diagram of a cloud-based sandbox control device according to an embodiment of this application;

[0033] Figure 12 This is a block diagram of a cloud-based sandbox control device according to another embodiment of this application;

[0034] Figure 13 A schematic diagram of the structure of a computer system suitable for implementing an electronic device or server according to embodiments of this application is shown. Detailed Implementation

[0035] The present application will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings.

[0036] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.

[0037] To describe this application more clearly, the following is an explanation of the relevant technical terms:

[0038] A sandbox application (also known as a sandbox or sandbox) is an isolated, independently running sandbox environment provided by virtualization technology within an external system (i.e., the system on which the sandbox application is installed, such as, but not limited to, Android and iOS systems). In essence, a sandbox application is a virtual system program that allows users to run browsers or other applications within the sandbox environment, creating an independent working environment similar to a sandbox. Changes made by applications running within the sandbox environment can be subsequently deleted, and programs running within the sandbox application do not have a permanent impact on the hard drive. Because the sandbox environment is an independent virtual environment, it can be used to test untrusted applications.

[0039] A virtual machine (VM) is a complete computer system simulated by software, possessing full hardware system functionality and running in a completely isolated environment. Any task that can be performed on a physical computer can also be performed in a VM. When creating a VM, a portion of the physical machine's hard drive and memory capacity is used as the VM's hard drive and memory capacity. Each VM has its own independent CMOS, hard drive, and operating system, and can be operated just like a physical machine.

[0040] Cloud security refers to the collective term for security software, hardware, users, organizations, and security cloud platforms based on cloud computing business models. Cloud security integrates emerging technologies and concepts such as parallel processing, grid computing, and the identification of unknown virus behavior. Through a large network of clients, it monitors abnormal software behavior on the network, obtains the latest information on Trojans and malware on the internet, sends it to the server for automatic analysis and processing, and then distributes solutions for viruses and Trojans to each client.

[0041] The main research directions in cloud security include: 1. Cloud computing security, which mainly studies how to ensure the security of the cloud itself and various applications on the cloud, including cloud computer system security, secure storage and isolation of user data, user access authentication, information transmission security, network attack protection, and compliance auditing; 2. Cloudification of security infrastructure, which mainly studies how to use cloud computing to build and integrate security infrastructure resources and optimize security protection mechanisms, including building a large-scale security event and information collection and processing platform through cloud computing technology to achieve the collection and correlation analysis of massive amounts of information and improve the ability to control network-wide security events and risks; 3. Cloud security services, which mainly studies various security services provided to users based on cloud computing platforms, such as antivirus services.

[0042] Sandbox technology in related technologies utilizes virtualization technology to provide an isolated, independently running sandbox environment within an external system (i.e., the system where the sandbox application is installed, such as but not limited to Android and iOS systems). This sandbox environment implements a small virtual system capable of installing, launching, and uninstalling virtual applications, all without the external system's awareness. Specifically, sandbox technology separates a virtual runtime space and an application request interception layer within the sandbox. The virtual runtime space is used for launching and loading virtual applications, while the application request interception layer intercepts system requests from the virtual application, such as requests to query geolocation or adjusting related parameters, such as changing the virtual application name in the request parameters to the name of the sandbox space, before forwarding the request to the external system. In other words, sandbox technology in related technologies controls the behavior of virtual applications through the request interception layer.

[0043] However, sandbox technology in related technologies requires a lot of adaptation work. That is, sandbox technology in related technologies only intercepts, modifies and forwards requests, but the number and type of parameters may differ for different versions of external systems. Moreover, even for the same external system, different vendors usually make different personalized modifications to the external system, resulting in more differences in the external system, which brings certain difficulties to the deployment of sandbox technology.

[0044] Based on this, this application proposes a sandbox control method, apparatus, device, and storage medium based on cloud-based real machines.

[0045] Figure 1 This is a schematic diagram illustrating the implementation environment of an embodiment of this application. For example... Figure 1 As shown, the cloud real machine sandbox control system includes a main control device 1, a server 2, and a cloud real machine 3. The cloud real machine 3 can be a virtual machine in the server 2 or a real terminal device that communicates with the server 2.

[0046] Specifically, such as Figure 2 As shown, the target application 4, set on the main control device 1, is launched upon receiving a user's trigger operation. The target application 4 is a client provided by the server 2. After launch, the target application 4 communicates with the server 2 to allow the user to... Figure 3 The identity credential information entered in the interface shown is sent to server 2, which verifies the identity credential information. When server 2 successfully verifies the identity credential information, server 2 returns a response to the target application, such as... Figure 4 The list of currently available cloud virtual machines is shown. This list includes cloud virtual machines 3 provided by server 2. Each cloud virtual machine 3 consists of a virtual machine constructed by server 2 using virtual machine technology and a terminal device that communicates with server 2. The target application receives a user's selection instruction for a target cloud virtual machine and sends the selection instruction to server 2. Server 2 establishes a communication connection with the target cloud virtual machine based on the selection instruction and displays the target cloud virtual machine as shown. Figure 5 The interface image shown is sent to the main control device 1. The interface image can be a real-time video image of the target cloud device or a preset initial image of the target cloud device. It is displayed through the projection area of ​​the target application. The projection area includes at least a part of the interactive window of the target application. The target application receives the touch operation applied by the user on the projection area and sends the touch operation to the server 2. The server 2 forwards the touch command received from the main control device 1 to the cloud device 3 (target cloud device) and sends the running video of the cloud device 3 (target cloud device) based on the trigger command to the main control device 1.

[0047] Therefore, by using instant messaging technology, the real device space (main control device) and the sandbox space (cloud real device) can be separated, effectively achieving the goal of running virtual applications using the sandbox without the need for sandbox space adaptation.

[0048] Server 2 can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.

[0049] The main control device 1 may be, but is not limited to, devices such as personal computers, platform computers, smartphones, and vehicle terminals. This application embodiment does not limit this.

[0050] Figure 6 This is a flowchart of a cloud-based sandbox control method according to an embodiment of this application. It should be noted that the executing entity of the cloud-based sandbox control method in this embodiment is a cloud-based sandbox control device. The cloud-based sandbox control device can be implemented in software and / or hardware. In this embodiment, the cloud-based sandbox control device can be configured in an electronic device or in a server used to control the electronic device. The server communicates with the electronic device to control it.

[0051] like Figure 6 As shown, the sandbox control method based on cloud-based real machines includes the following steps:

[0052] Step 101: After the target application starts and establishes a connection with the server, it receives a list of cloud real devices sent by the server. The cloud real devices in the list are virtual machines constructed by the server using virtual machine technology or terminal devices that communicate with the server.

[0053] It should be noted that the main control device has the client of the target application installed. The user launches the client of the target application through touch operations such as clicking, double-clicking or confirming selection, and enters the user's identity credentials information through the client of the target application. After the server verifies the credentials, a connection is established between the target application and the server.

[0054] In one or more embodiments, the target application may communicate with the server using WebRTC (Web Real-Time Communication) technology, where WebRTC is an API that enables web browsers to conduct real-time voice or video conversations.

[0055] Among them, the cloud real devices in the cloud real device list are virtual machines constructed by the server using virtual machine technology or terminal devices that communicate with the server.

[0056] In one or more embodiments, the server can monitor heartbeat messages from at least one cloud physical machine connected to it in real time, and generate a real-time list of cloud physical machines based on the received heartbeat messages. Alternatively, after establishing a connection with the target application, the server receives a cloud physical machine list request sent by the target application, broadcasts the request to at least one cloud physical machine connected to it, receives heartbeat messages from at least one cloud physical machine in response to the broadcast, and generates a real-time list of cloud physical machines based on the received heartbeat messages. It should be understood that the heartbeat messages may include the working status identifier of the cloud physical machine. The server can generate a list of cloud physical machines based on those with an idle working status, and can generate a list containing all cloud physical machines. The server will also identify the status of each cloud physical machine in the list, allowing users to select the appropriate cloud physical machine based on its status.

[0057] Step 102: Receive the selection instruction for the cloud virtual machine list, determine the target cloud virtual machine to be used as the sandbox space corresponding to the target application, establish a communication connection between the server and the target cloud virtual machine to send the video data displayed by the target cloud virtual machine to the target application, and display it in the projection area corresponding to the target application.

[0058] It should be noted that after receiving the selection instruction from the target cloud device, the server feeds back the initial interface of the target cloud device to the target application for display in the corresponding projection area of ​​the target application. The initial interface of the target cloud device can be real-time video data from communication between the target cloud device and the server, or it can be pre-stored image data based on the initial interface of the target cloud device. Optionally, such as... Figure 7 As shown, the interactive interface window (projection area) of the target application can include a projection area and a simulated button area. The projection area is used to display the received video data corresponding to the target cloud real device. The simulated button area includes at least a menu virtual button, a home virtual button, and a back virtual button. This allows for realistic feedback of the cloud real device sandbox space through the display of the target application, improving the user's perception of the cloud real device sandbox space on the main control device. The size of the target application's display interface area can be adjusted by the user as needed, or it can remain fixed. When the size of the display interface is variable, the simulated button area and the projection area have the same length in the horizontal direction and are proportional in the vertical direction.

[0059] Step 103: Receive a touch operation applied to the projection area corresponding to the target application for controlling the virtual application running on the target cloud device.

[0060] Touch operation refers to the touch operation that the user wants to apply directly to the target cloud device. In other words, the user can treat the interactive interface of the target application as the target cloud device and perform touch operation to control the target cloud device.

[0061] It should also be noted that the target cloud real device is used to perform runtime tests on the virtual application to be tested. Runtime tests may include, but are not limited to, downloading the installation package, installing, running, interacting with, and uninstalling. Touch operations include, but are not limited to, touch actions such as pressing down, pressing up, or moving.

[0062] Step 104: The touch operation is sent to the server. The server parses the touch operation and obtains the touch command corresponding to the touch operation. The server sends the touch command to the target cloud device. The target cloud device runs the virtual application based on the touch operation and generates running video data. The server obtains the video data generated by the target cloud device in response to the touch command and sends it to the target application.

[0063] Step 105: Display the video data on the projection area corresponding to the target application.

[0064] In other words, the touch operation received by the main control device is sent to the server via the target application. The server parses the received touch operation to obtain the corresponding touch command, and then sends the touch command to the target cloud device. This causes the target cloud device to execute the touch command, enabling the virtual application to run and test based on the touch command. The server also generates video data corresponding to the target cloud device's interface during the execution of the touch command. The target cloud device can record the execution of the touch command using its built-in screen recording software, for example, and generate the corresponding video data. Then, the target cloud device sends the generated video data back to the server, which then sends it to the target application, where it is displayed on the target application's projection screen.

[0065] Specifically, when a user needs to test a virtual application, they can log in to the target application with WebRTC technology set on the main control device. The target application communicates with the server. The main control device receives a list of cloud virtual machines from the server. Based on the selection instruction for the target cloud virtual machine in the list, the server establishes a communication connection with the target cloud virtual machine. Then, the server receives video images of the target cloud virtual machine's interactive interface and displays them in the projection area of ​​the target application. The user instructs the cloud virtual machine to install and launch the virtual application under test through touch operations on the projection area. The server then returns video data of the cloud virtual machine's running status at each stage. When testing the functionality of the virtual application, the user applies touch operations such as pressing down or moving on the projection area, or applies touch operations such as menu selection on the simulated button area. The main control device sends these various touch operations to the server, which parses the touch operations, obtains the corresponding touch commands, and sends the touch commands to the target cloud virtual machine to execute the touch commands, thereby achieving the purpose of testing the virtual application. After testing the main functions of the virtual application, you can also use the menu button, back button, and home button in the simulated button area to test the interaction capabilities between the virtual application and the main system of the target cloud device.

[0066] Therefore, the cloud-based sandbox control method proposed in this application uses a virtual machine constructed by the server using virtual machine technology or a terminal device that communicates with the server as a sandbox space. This achieves the goal of making the external system unaware when the virtual application runs in the sandbox space, and effectively avoids the adaptation problem of sandbox deployment. At the same time, the main control device monitors the sandbox space through video data and controls the sandbox space through touch operations on the projection area, which greatly reduces the operating pressure of the main control device and improves the overall efficiency of application testing.

[0067] In one or more embodiments, sending a touch operation to a server includes: obtaining the operation position of the touch operation on a projection area, determining a mapping point of the operation position on the target cloud real device interactive interface based on a first coordinate system corresponding to the projection area and a second coordinate system of the target cloud real device interactive interface, and sending the mapping point to the server.

[0068] In other words, the main control device also needs to determine the actual touch operation that the user expects to perform on the target cloud virtual machine interface based on the size of its current projection area and the touch operation applied by the user on the projection area. It should be understood that since the click operation applied by the user on the projection area is the same as the click operation applied to the menu selection in the simulation area, the operation type, such as the press operation, the move operation, and the menu operation, can be uploaded to the server at the same time.

[0069] Specifically, the second coordinate system information of the target cloud device interface can be obtained through the server to determine the size of the target cloud device interface, such as the length and width of the target cloud device interactive interface. By detecting its own main control device, the first coordinate system information of the current projection area (the interactive interface of the target application) is determined, thereby determining the length and width of the entire projection area. Alternatively, the length and width of the projection area can be determined according to rules. In this embodiment, it is preferable to determine the length and width of the entire projection area. Then, based on the length and width of the target cloud device interactive interface and the length and width of the projection area, the proportional relationship between the two is determined. Furthermore, based on the operation position of the touch operation on the projection area, the mapping point on the target cloud device interactive interface is determined.

[0070] For example, such as Figure 8 As shown, Figure 8 (a) is a schematic diagram of the projection area, where the width of the projection area is X1 and the length is Y1. Figure 8 (b) is a schematic diagram of the target cloud real device interactive interface, where the width of the target cloud real device interactive interface is X2 and the length is Y2. At this time, the user applies a touch operation in the projection area, and the coordinates of the operation position in the first coordinate system of the projection area are (x, y). Therefore, the coordinates of the mapping point obtained by mapping the operation position (x, y) on the second coordinate system of the target cloud real device interactive interface can be calculated as (x*X1 / X2, y*Y1 / Y2).

[0071] Therefore, this application can effectively solve the problem of the master control device controlling the target cloud virtual machine by means of coordinate mapping, so that the target cloud virtual machine can still be controlled by the master control device without difference even though it is isolated in the cloud server.

[0072] In one or more embodiments, the touch operation type includes a movement operation, wherein the movement operation is an operation position moving from an initial position to a target position, and the method includes: determining second movement data mapped to a second coordinate system based on first movement data of the movement operation in a first coordinate system, and sending the second movement data to a server when the second movement data is identified as meeting the upload conditions.

[0073] Optionally, when the second movement data is greater than or equal to a preset threshold, the second movement data and the movement operation type are sent to the server. The second movement data is the distance at which the movement operation is performed; that is, when the distance of the movement operation performed by the user is greater than or equal to a preset threshold, the main control device sends the second movement data to the server. The preset threshold can be a threshold pre-set by the user, a threshold obtained through a limited number of experiments, or a threshold obtained through a limited number of computer simulations.

[0074] In other words, users might perform movement operations, such as dragging, on the projection area. Since the main control device only displays video and there is no directly controlled object, it is necessary to upload the type of movement operation and the corresponding movement data to the server so that the server can parse it into a movement command and send it to the cloud device. To avoid accidental operations or reduce communication volume, it is necessary to first verify that the movement operation actually exists before sending the movement operation type and second movement data to the server.

[0075] Specifically, the main control device recognizes that the user applies a downward operation (finger presses the screen) on the projection area and records the first operation position of the downward operation. Then, when the user applies an upward operation (finger leaves the screen) on the projection area, it records the second operation position of the upward operation. Then, based on the first operation position and the second operation position, the first movement data of the movement operation in the first coordinate system is obtained. Then, the first mapping point and the second mapping point obtained by mapping the first operation position and the second operation position in the second coordinate system are analyzed respectively to obtain the second movement data of the movement operation in the second coordinate system.

[0076] Alternatively, after the main control device detects that the user has applied a downward operation (pressing the screen with a finger) on the projection area, it records the current operation position of the downward operation in real time. When the user applies an upward operation (lifting the screen with a finger), it merges the current operation position with the historical operation position to obtain the first movement data line. Then, it maps the first movement data line to the second coordinate system to obtain the second movement data.

[0077] In one or more embodiments, the touch operation includes a menu operation, which is clicking a simulated button. The method includes: when the working area of ​​the touch operation is identified as a simulated button area, identifying the simulated button triggered by the touch operation, and sending the trigger signal of the simulated button to the server. That is, when the user applies a trigger operation to the projection area, it is necessary to determine whether the area where the trigger operation is applied is the projection area or the simulated button area. When the area where the trigger operation is applied is the simulated button area, the simulated button triggered by the trigger operation is further determined according to the operation position of the trigger operation, that is, the triggered menu content, and then the trigger signal of the simulated button (i.e., the menu signal) is sent to the server.

[0078] Specifically, whether a trigger operation is applied in the simulation area can be determined based on the coordinate range of the operation location in the first coordinate system corresponding to the projection area. For example, using... Figure 8(a) Taking the origin of the first coordinate system as the lower left corner of the projection area, if 0 ≤ y0 ≤ y3 (y3 is the dividing position between the projection area and the simulated button area) in the operation position (x0, y0), then the trigger operation is applied to the simulated button area. Then, based on the specific position of (x0, y0), the simulated button of the trigger operation applied by the user is determined, and the simulated signal corresponding to the simulated button is sent to the server.

[0079] Therefore, this application can interpret the content and type of the user's actual desired operation based on the coordinate position of various touch operations applied by the user on the projection area of ​​the main control device, and send it to the server so that the server can parse the received trigger operation, effectively improving the accuracy of sandbox control.

[0080] It should be noted that since cloud-based real machines implement a sandbox environment and are mainly used for testing virtual applications, it is necessary to monitor the reliability and security of the virtual application during its runtime.

[0081] In one or more embodiments, when the target cloud device is a virtual machine in a server, the method further includes: the server monitoring the response behavior generated by the target cloud device when responding to touch commands, and the server controlling the response behavior of the target cloud device terminal when the corresponding behavior is dangerous.

[0082] It should be noted that users can configure security policies on the server through controllable devices. These security policies include safe behaviors and dangerous behaviors. Safe behaviors are actions that virtual applications are allowed to perform, while dangerous behaviors are actions that virtual applications are not allowed to perform. For example, dangerous behaviors may include, but are not limited to, modifying the content of user SMS messages, while safe behaviors may include, but are not limited to, reading and writing files on the memory card.

[0083] Specifically, when the target cloud device responds to a touch command, the virtual application running on the target cloud device generates a response behavior. The server matches the response behavior with a preset security policy. When the matching result is a safe behavior, it is determined that the response behavior generated by the virtual application is allowed to be executed, so the server does not take any action, and the virtual application continues to execute its response behavior. When the matching result is a dangerous behavior, it is determined that the response behavior generated by the virtual application is not allowed to be executed, so the server controls the interruption of the response behavior generated by the virtual application running on the target cloud device.

[0084] In one or more embodiments, when the target cloud device is a terminal device that communicates with a server, the method includes: the terminal device monitoring the response behavior generated by the target cloud device when responding to a touch command based on the mobile device management configuration, and controlling the target cloud device to interrupt the response behavior when the response behavior is dangerous.

[0085] It should be noted that users can configure security policies through the mobile device management settings on their terminal devices. These security policies include safe behaviors and dangerous behaviors. Safe behaviors are actions that virtual applications are allowed to perform, while dangerous behaviors are actions that virtual applications are not allowed to perform. For example, dangerous behaviors may include, but are not limited to, changing user information. MDM (Mobile Device Management) provides complete lifecycle management of mobile devices, from device registration, activation, use, to retirement.

[0086] Specifically, when the target cloud device responds to a touch command, the virtual application running on the target cloud device generates a response behavior. The mobile device management in the terminal device matches the response behavior with a preset security policy. When the matching result is a safe behavior, it is determined that the response behavior generated by the virtual application is allowed to be executed. In this case, the mobile device management in the terminal device does not take any action, and the virtual application continues to execute its response behavior. When the matching result is a dangerous behavior, it is determined that the response behavior generated by the virtual application is not allowed to be executed. In this case, the mobile device management in the terminal device controls and interrupts the response behavior generated by the virtual application running on the target cloud device.

[0087] Therefore, this application can control the behavior of virtual applications and interrupt them in a timely manner when they perform dangerous behaviors, thereby improving the security of the target cloud physical machine operation.

[0088] As a specific example, such as Figure 9 and Figure 10 As shown, the main control device has a system area and an application area. The application area runs an application with WebRTC technology to display video data of the target cloud virtual machine on the projection area and receive touch operations applied by the user on the projection area. The application area communicates with the server by calling the communication function of the system area to send touch operations to the server or receive video data sent by the server. The cloud virtual machine is the target cloud virtual machine provided in this application. It can be a virtual machine in the server or a terminal device that communicates with the server. The cloud virtual machine has a system area and an application area. The application area runs a virtual application. When the cloud virtual machine is a terminal device, the application area also runs a management program for security management of the virtual application. The cloud virtual machine receives touch commands sent by the server and sends the video data of its running interface to the server.

[0089] Step 201: The main control device starts the target application and sends the user identity credentials corresponding to the target application to the server.

[0090] It should be noted that the main control device has the client of the target application installed. The user launches the client of the target application through touch operations such as clicking, double-clicking or confirming selection, and enters the user's identity credentials information using the client of the target application. The client of the target application then sends the received user identity credentials information to the server.

[0091] Step 202: When the server successfully verifies the user's identity credentials, it returns a login success message to the main control device.

[0092] The server receives user identity information sent by the target application, parses the matching relationship between the user ID and password in the user identity information and the pre-stored identity permissions. When the parsed user ID matches the password and the user ID has the identity permissions, it determines that the user identity credentials have been successfully verified and returns a login success message to the target application on the main control device.

[0093] Step 203: The main control device requests a list of cloud physical devices from the server.

[0094] The main control device sends a request command for a list of cloud virtual machines to the server based on the target application. The request command for the list of cloud virtual machines is used to request a list of available cloud virtual machines, or it can be a status list of multiple cloud virtual machines connected to the server, so that users can select the target cloud virtual machine to be used as the sandbox space according to their needs.

[0095] Step 204: The server returns a list of currently available cloud physical machines to the master control device.

[0096] The server broadcasts a request to at least one cloud physical machine based on the request command for the cloud physical machine list, requesting a heartbeat message from at least one cloud physical machine. Based on the heartbeat message from at least one cloud physical machine, the server determines the idle state of at least one cloud physical machine and generates a cloud physical machine list based on the cloud physical machines in the idle state.

[0097] Step 205: The main control device sends a selection command for the target cloud physical machine to the server.

[0098] Users can select a target cloud device from the list of cloud devices received and displayed by the target application by performing operations such as selecting, clicking, or double-clicking. The main control device then sends the selection command to the server based on the target application, so that the server can establish an association between the target application and the target cloud device.

[0099] Step 206: The server sends a confirmation message to the main control device to confirm access to the target cloud virtual machine.

[0100] After the server establishes the association between the target application and the target cloud device based on the selection instructions sent by the target application, it sends a confirmation message to the main control device to confirm access to the target cloud device based on the feedback message that the association has been successfully established.

[0101] The confirmation information includes, but is not limited to, video data of the current interactive interface of the target cloud device or a preset image corresponding to the target cloud device.

[0102] Step 207: The main control device receives the video information sent by the server and displays it in the projection area.

[0103] The main control device receives video data of the current interactive interface of the target cloud real machine sent by the server through the target application, and displays the video data in the projection area of ​​the target application's interactive interface.

[0104] Step 208: The main control device receives the touch operation applied to the projection area.

[0105] After the main control device displays the video data of the target cloud device's current interactive interface on the projection area of ​​the target application's interactive interface, the target application acts as a remote synchronization device for the target cloud device, displaying the target cloud device's content to the user of the main control device in real time. The user then applies touch operations to the target cloud device indirectly by applying them to the projection area of ​​the target application.

[0106] Step 209: When the touch operation is a press-down operation, the main control device calculates the mapping point of the press-down operation on the target cloud real machine interactive interface based on the operation position of the press-down operation on the projection area.

[0107] In other words, after the main control device (target application) receives the touch operation applied by the user on the projection area, it identifies the type of touch operation. For example, it identifies the type of touch operation based on the pressure and / or time of the touch operation applied on the projection area. When the pressure of the touch operation applied on the projection area is greater than the preset pressure, the duration is greater than the first preset time but less than the second preset time, and the touch operation does not involve movement, it is determined that the touch operation is a pressure operation. Then, the main control device (target application) calculates the mapping point of the pressure operation on the target cloud real device interactive interface based on the operation position of the pressure operation on the projection area.

[0108] Step 210: The master control device sends the mapping point to the server.

[0109] After calculating the mapping point corresponding to the touch operation applied by the user on the target application on the main control device, the target application sends the mapping point to the server.

[0110] It should be understood that since the user's touch operation is performed on the main control device, and the size of the projection area can be adjusted by the customer at any time according to their needs, if the target application directly sends the position point of the touch operation applied to the projection area to the server, it is easy to cause instruction deviation, thereby affecting the control effect on the target cloud real device. Therefore, the target application calculates the size of the mapping point locally based on the real-time size of the projection area and sends it to the server, which effectively improves the control stability of the target cloud real device.

[0111] In one or more embodiments, when the size of the interactive interface corresponding to the target application is a fixed value, in order to reduce the computing pressure on the main control device, the target application may directly send the position points applied on the projection area to the server.

[0112] Step 211: The server sends the mapping point to the target cloud device.

[0113] The server can either directly send the received mapping point to the target cloud device, or generate a first touch command to press the mapping point based on the mapping point and send the first touch command to the target cloud device.

[0114] Step 212: The target cloud device generates a response behavior in response to the instruction that the mapping point is pressed, and generates video data based on the response behavior.

[0115] When the target cloud device receives only the mapping point sent by the server or the first touch command sent by the server based on the mapping point, the target cloud device responds to the instruction that the mapping point is pressed or the first touch command, generates a response behavior corresponding to the instruction that the mapping point is pressed or the first touch command, and uses screen recording and other applications to record the visual content corresponding to the response behavior, that is, the display of the response behavior on the target cloud device's interactive interface, and generates response video data.

[0116] Step 213: The target cloud device sends the video data to the server.

[0117] Step 214: The server returns the video data to the projection area of ​​the main control device.

[0118] Specifically, the server returns the video data to the target application, which then parses the received video data and plays it in the projection area.

[0119] Step 215: When the touch operation is a movement operation, the main control device calculates the second movement data of the movement operation on the target application interface based on the first movement data of the movement operation on the projection area.

[0120] In other words, the main control device (target application) identifies the type of touch operation based on the pressure and / or duration of the touch operation applied to the projection area. When the pressure applied to the projection area by the touch operation is greater than a preset pressure, the duration is greater than a first preset time but less than a second preset time, and the touch operation involves movement, the touch operation is determined to be a movement operation. The main control device (target application) then monitors the movement trajectory of the touch operation. The movement trajectory of the touch operation includes, but is not limited to, the initial position of the movement operation and the end position of the movement operation. Then, the target application calculates the first movement data of the touch operation on the projection area based on the movement trajectory of the touch operation. Then, based on the real-time size of the target application's projection area and the proportional relationship between the projection area and the target cloud real device interactive interface, it calculates the second movement data mapped from the first movement data to the target application's interactive interface.

[0121] Step 216: The main control device identifies that the second movement data is greater than or equal to a preset threshold.

[0122] When the second movement data is greater than or equal to a preset threshold, it indicates that the currently applied movement operation is not a mistaken operation of the pressure operation.

[0123] Step 217: The main control device sends the second mobile data to the server.

[0124] Step 218: The server sends the second mobile data to the target cloud device.

[0125] In this process, the server can directly send the received second motion data to the target cloud device, or it can generate a second touch command corresponding to the second motion data and send the second touch command to the target cloud device. In step 219, the target cloud device responds to the second motion data by generating a response behavior and generates video data based on the response behavior.

[0126] When the target cloud device receives only the second mobile data sent by the server or receives the second touch command sent by the server based on the second mobile data, the target cloud device responds to the second mobile data or the second touch command, generates the response behavior corresponding to the second mobile data or the second touch command, and uses screen recording and other applications to record the visual content corresponding to the response behavior, that is, the display of the response behavior on the target cloud device's interactive interface, and generates the response video data.

[0127] Step 220: The target cloud device sends the video data to the server.

[0128] Step 221: The server returns the video data to the projection area of ​​the main control device.

[0129] Specifically, the server returns the video data to the target application, which then parses the received video data and plays it in the projection area.

[0130] Step 222: When the touch operation is a menu operation, the main control device calculates the trigger signal corresponding to the menu operation based on the operation position of the menu operation on the projection area.

[0131] The main control device (target application) determines that the touch operation corresponds to a simulated button area and is a menu operation based on the operation position of the touch operation applied to the projection area. Then, it generates a trigger signal to operate the menu based on the button information corresponding to the operation position of the touch operation.

[0132] Step 223: The main control device will trigger a signal to be sent to the server.

[0133] Step 224: The server will send a trigger signal to the target cloud device.

[0134] Step 225: The target cloud real device responds to the instruction of the trigger signal being pressed and generates a response behavior, and generates video data based on the response behavior.

[0135] Step 226: The cloud-based device sends the video data to the server.

[0136] Step 227: The server returns the video data to the projection area of ​​the main control device.

[0137] Specifically, the server returns the video data to the target application, which then parses the received video data and plays it in the projection area.

[0138] In summary, the cloud-based sandbox control method proposed in this application uses virtual machines on a server or terminal devices connected to the server as sandbox spaces. This achieves the goal of making the external system unaware when running virtual applications in the sandbox space, and effectively avoids the adaptation problem of sandbox deployment. At the same time, the main control device monitors the sandbox space through video data and controls the sandbox space through touch operations on the projection area, which greatly reduces the operating pressure of the main control device and improves the overall efficiency of application testing.

[0139] It should be noted that although the operation of the method of the present invention is described in a specific order in the accompanying drawings, this does not require or imply that the operations must be performed in that specific order, or that all the operations shown must be performed in order to achieve the desired result.

[0140] Figure 11 This is a block diagram of a cloud-based sandbox control device according to an embodiment of this application.

[0141] like Figure 11 As shown, the cloud-based sandbox control device 10 includes:

[0142] The first receiving module 11 is used to receive a list of cloud real devices sent by the server after the target application starts and establishes a connection with the server. The cloud real devices in the list are virtual machines constructed by the server using virtual machine technology or terminal devices that communicate with the server.

[0143] The second receiving module 12 is used to receive the selection instruction for the cloud real device list, determine the target cloud real device to be used as the sandbox space corresponding to the target application, and establish a communication connection between the server and the target cloud real device to send the video data displayed by the target cloud real device to the target application and display it in the projection area corresponding to the target application.

[0144] The third receiving module 13 is used to receive touch operations applied to the projection area corresponding to the target application for controlling the virtual application running in the target cloud real machine;

[0145] The sending module 14 is used to send the touch operation to the server. The server parses the touch operation and obtains the touch instruction corresponding to the touch operation. The server sends the touch instruction to the target cloud real device. The target cloud real device performs a running test on the virtual application based on the touch operation and generates running video data. The server obtains the running video data generated by the target cloud real device in response to the touch instruction and sends it to the target application.

[0146] Display module 15 is used to display running video data on the projection area corresponding to the target application.

[0147] In some embodiments, the sending module 14 is further configured to:

[0148] Obtain the position of the touch operation on the projection area;

[0149] Based on the first coordinate system corresponding to the projection area and the second coordinate system of the target cloud real device interactive interface, determine the mapping point of the operation position on the target cloud real device interactive interface;

[0150] Send the mapping point to the server.

[0151] In some embodiments, the projection area includes a projection area of ​​a virtual application and a simulated button area for simulated buttons; the touch operation type includes a movement operation; and the sending module 14 is further configured to:

[0152] Based on the first movement data of the movement operation in the first coordinate system, determine the second movement data obtained by mapping the movement operation in the second coordinate system.

[0153] When the second mobile data is identified as meeting the upload conditions, the second mobile data is sent to the server.

[0154] In some embodiments, when the second movement data is greater than or equal to a preset threshold, the second movement data is sent to the server.

[0155] In some embodiments, the projection area includes a projection area of ​​a virtual application and a simulated button area, the touch operation includes a menu operation, the menu operation being clicking a simulated button, and the sending module 14 is further configured to:

[0156] When the area where the touch operation is identified is a simulated button area, the simulated button triggered by the touch operation is identified, and the trigger signal of the simulated button is sent to the server.

[0157] In some embodiments, such as Figure 12 As shown, the cloud-based sandbox control device 10 also includes a monitoring module 16, which is used for:

[0158] Monitor the response behavior of the target cloud device when it responds to touch commands;

[0159] When the response behavior is dangerous, the target cloud physical machine is controlled to interrupt the response behavior.

[0160] In some embodiments, when the target cloud physical machine is a virtual machine in a server, the monitoring module 16 is used to:

[0161] The server monitors the response behavior of the target cloud device when it responds to touch commands.

[0162] When the server's response behavior is dangerous, the target cloud physical machine is controlled to interrupt the response behavior.

[0163] In some embodiments, when the target cloud device is a terminal device connected to the server, the monitoring module 16 is used to:

[0164] Terminal devices monitor the response behavior of target cloud devices when responding to touch commands based on mobile device management and configuration.

[0165] When the response behavior is dangerous, the target cloud physical machine is controlled to interrupt the response behavior.

[0166] The cloud-based sandbox control device proposed in this application uses a virtual machine constructed by the server using virtual machine technology or a terminal device that communicates with the server as the sandbox space. This achieves the goal of running virtual applications in the sandbox space without the external system being aware of it, and effectively avoids the adaptation problem of sandbox deployment. At the same time, the main control device monitors the sandbox space through video data and controls the sandbox space through touch operations on the projection area, which greatly reduces the operating pressure of the main control device and improves the overall efficiency of application testing.

[0167] It should be understood that the units or modules described in the sandbox control device 10 of the cloud-based real machine are related to the reference. Figure 2 The steps in the described method correspond accordingly. Therefore, the operations and features described above for the method are also applicable to the cloud-based sandbox control device 10 and the units contained therein, and will not be repeated here. The cloud-based sandbox control device 10 can be pre-implemented in the browser or other security applications of the electronic device, or it can be loaded into the browser or other security applications of the electronic device through download or other means. The corresponding units in the cloud-based sandbox control device 10 can cooperate with the units in the electronic device to implement the solution of the embodiments of this application.

[0168] The division of modules or units mentioned in the detailed description above is not mandatory. In fact, according to the embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0169] It should be noted that for details not disclosed in the cloud real machine sandbox control device of this application embodiment, please refer to the details disclosed in the above embodiments of this application, which will not be repeated here.

[0170] The following is for reference. Figure 13 , Figure 13 A schematic diagram of the structure of a computer system suitable for implementing the embodiments of this application is shown.

[0171] like Figure 13 As shown, the computer system 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 902 or programs loaded from storage section 908 into random access memory (RAM) 903. RAM 903 also stores various programs and data required for the system's operating instructions. CPU 901, ROM 902, and RAM 903 are interconnected via bus 904. Input / output (I / O) interface 905 is also connected to bus 904.

[0172] The following components are connected to I / O interface 905: an input section 906 including a keyboard, mouse, etc.; an output section 907 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card such as a LAN card, modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to I / O interface 905 as needed. A removable medium 911, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 910 as needed so that computer programs read from it can be installed into storage section 908 as needed.

[0173] Specifically, according to embodiments of this application, the flowchart above refers to... Figure 2 The described process can be implemented as a computer software program. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowchart. In such an embodiment, the computer program contains program code for performing the methods shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via communication section 909, and / or installed from removable medium 911. When the computer program is executed by central processing unit (CPU) 901, it performs the functions defined in the system of this application.

[0174] It should be noted that the computer-readable medium shown in this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, 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 device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0175] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operational instructions of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two connected blocks may actually be executed substantially in parallel, or they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified functions or operational instructions, or using a combination of dedicated hardware and computer instructions.

[0176] The units or modules described in the embodiments of this application can be implemented in software or hardware. The described units or modules can also be housed in a processor; for example, a processor can be described as including a first receiving module, a second receiving module, and a sending module. The names of these units or modules do not necessarily limit the specific unit or module itself. For example, the first receiving module can also be described as "receiving video data currently displayed in the sandbox space sent by the server and displaying it in a preset projection area, wherein the sandbox space is a virtual machine in the server or a terminal device communicating with the server, and the sandbox space is used for the startup and operation of virtual applications."

[0177] In another aspect, this application also provides a computer-readable storage medium, which may be included in the electronic device described in the above embodiments, or may exist independently and not assembled into the electronic device. The aforementioned computer-readable storage medium stores one or more programs that, when used by one or more processors, execute the cloud-based real-device sandbox control method described in this application.

[0178] The above description is merely a preferred embodiment of this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of disclosure in this application is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the foregoing disclosed concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in this application.

Claims

1. A sandbox control method based on cloud-based real machines, characterized in that, include: After the target application starts and establishes a connection with the server, it receives a list of cloud real devices sent by the server. The cloud real devices in the list are virtual machines constructed by the server using virtual machine technology or terminal devices that communicate with the server. The server receives a selection instruction for the cloud virtual machine list, determines a target cloud virtual machine to be used as the sandbox space corresponding to the target application, establishes a communication connection with the target cloud virtual machine, sends the video data displayed by the target cloud virtual machine to the target application, and displays it in the projection area corresponding to the target application. Receive a touch operation applied to the projection area corresponding to the target application for controlling the virtual application running in the target cloud device; The touch operation is sent to the server, the server parses the touch operation and obtains the touch instruction corresponding to the touch operation, the server sends the touch instruction to the target cloud real device, the target cloud real device performs a running test on the virtual application based on the touch operation and generates running video data, the server obtains the running video data generated by the target cloud real device in response to the touch instruction and sends it to the target application; The running video data is displayed on the projection area corresponding to the target application; Sending the touch operation to the server includes: Obtain the operation position of the touch operation on the projection area; Based on the first coordinate system corresponding to the projection area and the second coordinate system of the target cloud real device interactive interface, determine the mapping point of the operation position on the target cloud real device interactive interface; The mapping point is sent to the server.

2. The method according to claim 1, characterized in that, The virtual machine includes a hard disk and an operating system.

3. The method according to claim 1, characterized in that, The interactive interface of the target application also includes a projection area of ​​the virtual application and a simulated button area. The touch operation type includes a movement operation, which is a movement of the operation position from an initial position to a target position. The method includes: Based on the first movement data of the movement operation in the first coordinate system, determine the second movement data obtained by mapping the movement operation in the second coordinate system; When the second mobile data is identified as meeting the upload conditions, the second mobile data is sent to the server.

4. The method according to claim 3, characterized in that, The upload condition is that the second mobile data is greater than a preset value, and the method includes: When the second mobile data is greater than or equal to a preset threshold, the second mobile data is sent to the server.

5. The method according to claim 1, characterized in that, The projection area includes a projection area for a virtual application and a simulated button area for simulated buttons. The touch operation includes a menu operation, which is clicking a simulated button. The method includes: When the working area of ​​the touch operation is identified as the simulated button area, the simulated button triggered by the touch operation is identified, and the trigger signal of the simulated button is sent to the server.

6. The method according to claim 1, characterized in that, The method further includes: Monitor the response behavior of the target cloud device when it responds to the touch command; When the response behavior is deemed dangerous, the target cloud device is controlled to interrupt the response behavior.

7. The method according to claim 6, characterized in that, When the target cloud physical machine is a virtual machine constructed by the server using virtual machine technology, the method further includes: The server monitors the response behavior of the target cloud device when it responds to the touch command. When the response behavior is deemed dangerous, the server controls the target cloud device to interrupt the response behavior.

8. The method according to claim 6, characterized in that, When the target cloud physical machine is a terminal device that communicates with the server, the method further includes: The terminal device monitors the response behavior of the target cloud device when it responds to the touch command based on the mobile device management configuration. When the response behavior is deemed dangerous, the target cloud device is controlled to interrupt the response behavior.

9. A sandbox control device based on cloud-based real machines, characterized in that, include: The first receiving module is used to receive a list of cloud real devices sent by the server after the target application starts and establishes a connection with the server. The cloud real devices in the list are virtual machines constructed by the server using virtual machine technology or terminal devices that communicate with the server. The second receiving module is used to receive a selection instruction for the cloud real device list, determine the target cloud real device to be used as the sandbox space corresponding to the target application, and establish a communication connection between the server and the target cloud real device to send the video data displayed by the target cloud real device to the target application and display it in the projection area corresponding to the target application. The third receiving module is used to receive touch operations applied to the projection area corresponding to the target application for controlling the virtual application running in the target cloud real machine; A sending module is used to send the touch operation to a server. The server parses the touch operation and obtains the touch instruction corresponding to the touch operation. The server sends the touch instruction to the target cloud device. The target cloud device performs a running test on the virtual application based on the touch operation and generates running video data. The server obtains the running video data generated by the target cloud device in response to the touch instruction and sends it to the target application. The display module is used to display the running video data on the projection area corresponding to the target application; The sending module is further configured to: Obtain the operation position of the touch operation on the projection area; Based on the first coordinate system corresponding to the projection area and the second coordinate system of the target cloud real device interactive interface, determine the mapping point of the operation position on the target cloud real device interactive interface; The mapping point is sent to the server.

10. The apparatus according to claim 9, characterized in that, The virtual machine includes a hard disk and an operating system.

11. The apparatus according to claim 9, characterized in that, The projection area includes a projection area for a virtual application and a simulated button area for simulated buttons. The touch operation type includes a movement operation. The sending module is further configured to: Based on the first movement data of the movement operation in the first coordinate system, determine the second movement data obtained by mapping the movement operation in the second coordinate system; When the second mobile data is identified as meeting the upload conditions, the second mobile data is sent to the server.

12. The apparatus according to claim 9, characterized in that, The projection area includes a projection area for a virtual application and a simulated button area. The touch operation includes a menu operation, which is clicking a simulated button. The sending module is further configured to: When the working area of ​​the touch operation is identified as the simulated button area, the simulated button triggered by the touch operation is identified, and the trigger signal of the simulated button is sent to the server.

13. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the sandbox control method based on cloud real machines as described in any one of claims 1-8.

14. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the cloud-based sandbox control method as described in any one of claims 1-8.

Citation Information

Patent Citations

  • A test system and a test method based on a cloud true machine

    CN109684218A

  • Systems and Methods for Object-Based Interaction with Cloud-Based Applications

    US20130246513A1