Cloud phone control system and method

By adopting a three-tier control architecture consisting of browser extension modules and backend service modules, the problems of excessive client load and high security risks in traditional cloud phone control systems are solved, thereby improving the scalability and security of cloud phone services.

CN121462572BActive Publication Date: 2026-04-14CHANGSHA LEILEIYUN NETWORK TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-01-06
Publication Date
2026-04-14

Smart Images

  • Figure CN121462572B_ABST
    Figure CN121462572B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of cloud mobile phone, and discloses a cloud mobile phone control system and method, which comprises a browser extension module and a backend service module; the browser extension module is used for receiving a user operation instruction, obtaining a target operation instruction and a device number according to the user operation instruction; encoding is carried out based on the target operation instruction and the device number, user request information is obtained and sent to the backend service module; the backend service module is used for analyzing the received user request information, obtaining the target operation instruction and the device number; determining a target cloud mobile phone instance corresponding to the device number in the cloud mobile phone management module; executing the target operation instruction on the target cloud mobile phone instance, and sending the execution result to the browser extension module. The application can reduce the deployment update cost and operation burden of the client, indirectly improve the expansibility of the cloud mobile phone service, and significantly improve the safety of the cloud mobile phone control system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud phone technology, and in particular to a cloud phone control system and method. Background Technology

[0002] With the rapid development of cloud computing technology, cloud phones, as a new type of virtual mobile device, have been widely used in many industry scenarios, such as mobile games, application testing, live streaming, and marketing promotion. To achieve control and management of cloud phones and improve the work efficiency of customer service and maintenance personnel, the traditional approach is to develop a client-side control system. This control system connects directly to the cloud phone platform via the network to manage and control the cloud phones.

[0003] However, since traditional control systems place all control logic and program instructions on the client side, this not only significantly increases the client's operating load and storage space but also places certain demands on the client's processing power, indirectly limiting the expansion of cloud phone services. Secondly, because the control system directly connects to the cloud phone platform, each client becomes a potential attack entry point, posing a high security risk and making it difficult to uniformly maintain and update the control systems of each client. Summary of the Invention

[0004] This application provides a cloud phone control system and method that can reduce the deployment and update costs and operational burden on clients, indirectly improve the scalability of cloud phone services, and significantly enhance the security of the cloud phone control system of this application.

[0005] In a first aspect, embodiments of this application provide a cloud phone control system, including a browser extension module and a backend service module; the browser extension module is set on the client; the backend service module is network connected to the cloud phone management module.

[0006] The browser extension module is used to respond to browser launch commands, obtain user login information, determine and display the corresponding extended interface based on the user login information, receive user operation commands, obtain the target operation command and device number based on the user operation command, encode the target operation command and device number to obtain user request information and send it to the backend service module; the target operation command includes reset command, image update command and APK package download command;

[0007] The backend service module is used to parse the received user request information to obtain the target operation instruction and device number; determine the target cloud phone instance corresponding to the device number in the cloud phone management module; execute the target operation instruction on the target cloud phone instance and send the execution result to the browser extension module.

[0008] Furthermore, the target operation instructions also include host machine restart instructions;

[0009] The backend service module is also used to restart the host machine of the target cloud phone instance through the API interface of the cloud phone management module, and send the execution result to the browser extension module.

[0010] Furthermore, the target operation instructions also include self-check instructions; the backend service module is also used to perform detection operations on the target cloud phone instance, obtain the self-check results and send them to the browser extension module as the execution results; when there is fault information in the self-check results, the corresponding preset recovery strategy is matched according to the fault information and applied to the target cloud phone instance.

[0011] Furthermore, the backend service module is also used to perform a detection operation on the target cloud phone instance again after executing the preset recovery strategy, obtain the repair detection results, and determine whether there is fault information in the repair detection results;

[0012] If the fault exists, a repair work order will be generated based on the repair and testing results and sent to the browser extension module; if the fault does not exist, fault resolution information will be generated and sent to the browser extension module.

[0013] Furthermore, the backend service module is also used to obtain resource usage data of each cloud phone instance in the cloud phone management module; to aggregate and analyze the resource usage data, obtain cloud phone performance data, and send it to the browser extension module.

[0014] Furthermore, the backend service module is also used to compare the resource usage data of each cloud phone instance with the resource usage data obtained last time after obtaining the resource usage data, to obtain incremental resource usage data and send it to the browser extension module; the browser extension module is also used to update the cloud phone performance data based on the incremental resource usage data.

[0015] Furthermore, the browser extension module is specifically used to perform symmetric or asymmetric encryption on the target operation command and device number, and add a digital signature to obtain the user request information; the user request information is sent to the backend service module via the HTTPS protocol; the backend service module is specifically used to verify the integrity of the user request information and the digital signature after receiving the user request information. If the user request information is complete and the digital signature has not been modified, the user request information is decrypted to obtain the target operation command and device number.

[0016] Furthermore, the browser extension module is also used to verify the user login information based on the user database after obtaining the user login information; if the verification is successful, it obtains the user's login permissions, access token, and refresh token; obtains and displays the corresponding functional extension interface according to the user's permissions; and when the target operation instruction is a real-time input script, it performs format verification and HTML escaping on the real-time input script, performs symmetric or asymmetric encryption based on the verified and escaped real-time input script and the device number, and adds a digital signature and access token to obtain the user request information.

[0017] The backend service module is also used to verify the validity of the access token in the user request information after receiving the user request information; if the verification passes, it verifies the integrity and digital signature of the user request information; if the verification fails, it generates a token error message and sends it to the browser extension module.

[0018] The browser extension module is also used to update the access token in the user request information based on the refresh token after receiving a token error message, and then send it to the backend service module again.

[0019] Furthermore, the browser extension module is also used to record the waiting time after sending the user request information and before receiving the corresponding execution result. If the waiting time exceeds the preset retry time, the user request information is sent again using the exponential backoff algorithm.

[0020] Furthermore, the browser extension module is also used to calculate the network latency between the browser and the backend service module based on the received execution results; if the network latency exceeds a preset latency threshold, the browser merges and deduplicates the user operation instructions received within a preset merging time window to obtain the user request information and send it to the backend service module.

[0021] Furthermore, the backend service module is also used to put the received user request information into a message queue, extract user request information from the message queue for processing; when the number of user request information in the message queue exceeds the preset processing threshold, the user request information in the message queue is classified according to the preset request priority and the preset browser priority to obtain the processing priority corresponding to each user request information; and the user request information in the message queue is reordered according to the processing priority.

[0022] Furthermore, the backend service module is also used to perform frequency analysis on each user request message of the same browser extension module when the number of user request messages in the message queue exceeds a preset processing threshold, and obtain the request frequency; if the request frequency exceeds a preset abnormal frequency, an abnormal detection message is sent to the browser extension module and the connection with the browser extension module is disconnected.

[0023] Furthermore, the backend service module is also used to send a response to the browser extension module after receiving the user request information when the number of user request information in the message queue exceeds the preset processing threshold.

[0024] The browser extension module is also used to stop determining whether the waiting time after sending the user request information exceeds the preset retry time after receiving the corresponding response to the user request information.

[0025] Secondly, embodiments of this application provide a cloud phone control method, including:

[0026] The browser extension module responds to the browser launch command and obtains the user's login information;

[0027] The browser extension module determines and displays the corresponding extended interface based on the user's login information.

[0028] The browser extension module receives user operation instructions and obtains the target operation instruction and device number based on the user operation instructions;

[0029] The browser extension module encodes the target operation command and device number to obtain the user request information and send it to the backend service module; the target operation command includes reset command, image update command, and APK package download command.

[0030] The backend service module parses the received user request information to obtain the target operation instruction and device number;

[0031] The backend service module determines the target cloud phone instance corresponding to the device number in the cloud phone management module; executes the target operation command on the target cloud phone instance, and sends the execution result to the browser extension module.

[0032] Furthermore, the method also includes:

[0033] When the target operation is a command to restart the host machine, the backend service module performs a restart operation on the host machine of the target cloud phone instance through the API interface of the cloud phone management module, and sends the execution result to the browser extension module.

[0034] Furthermore, the method also includes:

[0035] When the target operation command is a self-check command, the backend service module performs a detection operation on the target cloud phone instance, obtains the self-check result, and sends it to the browser extension module as the execution result.

[0036] The backend service module determines whether there is fault information in the self-test results. If so, it matches the corresponding preset recovery strategy according to the fault information and applies it to the target cloud phone instance.

[0037] Furthermore, the method also includes:

[0038] After executing the preset recovery strategy, the backend service module performs a detection operation on the target cloud phone instance again to obtain the repair detection results; and determines whether there is fault information in the repair detection results.

[0039] If the fault exists, a repair work order will be generated based on the repair and testing results and sent to the browser extension module; if the fault does not exist, fault resolution information will be generated and sent to the browser extension module.

[0040] Furthermore, the method also includes

[0041] After the browser extension module sends the user request information and before receiving the corresponding execution result, it records the waiting time; it then determines whether the waiting time exceeds the preset retry time. If so, it uses the exponential backoff algorithm to send the user request information again.

[0042] Furthermore, the method also includes:

[0043] The browser extension module calculates the network latency between itself and the backend service module based on the received execution results;

[0044] Determine if the network latency exceeds a preset latency threshold; if so, merge and deduplicate user operation instructions received within a preset merging time window to obtain user request information and send it to the backend service module.

[0045] Furthermore, the method also includes:

[0046] The backend service module puts the received user request information into a message queue;

[0047] The backend service module extracts user request information from the message queue for processing;

[0048] The backend service module determines whether the number of user request messages in the message queue exceeds a preset processing threshold.

[0049] If so, the user request information in the message queue is classified according to the preset request priority and the preset browser priority to obtain the processing priority corresponding to each user request information;

[0050] The user request information in the message queue is reordered according to the processing priority.

[0051] In summary, compared with the prior art, the beneficial effects of the technical solution provided in this application include at least the following:

[0052] This application provides a cloud phone control system. A browser extension module integrated into the client acquires user request information, while a backend service module connected to the cloud phone management module processes user request information from various clients. This forms a three-tiered control architecture consisting of the browser extension module, the backend service module, and the cloud phone management module. By placing the more demanding control logic in the backend service module, the client's browser extension module only needs to collect and transmit instructions, reducing client deployment and update costs and operational burden, and indirectly improving the scalability of cloud phone services. Secondly, the cloud phone management module faces each client through the backend service module, avoiding direct exposure to the external network and significantly reducing the attack surface. Simultaneously, the client's browser extension module displays corresponding functional extension interfaces based on user login information, achieving the effect of providing different functional control permissions for different users. This combination of defense-in-depth and functional interface permission control significantly improves the security of the cloud phone control system described in this application. Attached Figure Description

[0053] Figure 1 A flowchart of a cloud mobile phone control system provided as an exemplary embodiment of this application.

[0054] Figure 2 This is a schematic diagram showing cloud phone performance data as an exemplary embodiment of this application.

[0055] Figure 3 A flowchart illustrating a cloud phone control method provided as an exemplary embodiment of this application.

[0056] Figure 4 A flowchart of a user request information reordering step provided for an exemplary embodiment of this application. Detailed Implementation

[0057] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.

[0058] Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0059] Please see Figure 1 This application provides a cloud phone control system, including a browser extension module and a backend service module; the browser extension module is set on the client; the backend service module is connected to the cloud phone management module via a network.

[0060] The browser extension module is used to respond to browser launch commands, obtain user login information, determine and display the corresponding extended interface based on the user login information, receive user operation commands, obtain the target operation command and device number based on the user operation command, encode the target operation command and device number to obtain user request information and send it to the backend service module; the target operation command includes reset command, image update command and APK package download command.

[0061] The browser extension module can be a plugin set in the client browser. When a user (customer service personnel or maintenance personnel of the cloud phone) opens the browser, the browser extension module obtains the user login information of the browser at the same time as detecting the browser page starting. Based on the user login information, it determines the functional permissions held by the user and displays the corresponding functional extension interface as the interactive interface. The functional permissions include the device number that the user can control and the target operation instructions that can be selected. All target operation instructions and device numbers are pre-written into the browser extension module by the developers of this application. At the same time, permission settings are added to the browser extension module to provide different functional operation interfaces for different users.

[0062] Specifically, users click on the extended interface provided by the browser extension module to input user operation commands. The browser extension module responds to these commands by encapsulating the selected target operation command and device ID into standardized user request information and sending it to the backend service module. In practice, the browser extension module can utilize browser-provided APIs to render the extended interface, listen for user operation commands, and send user request information over the network.

[0063] The backend service module parses the received user request information to obtain the target operation instruction and device number; determines the target cloud phone instance corresponding to the device number in the cloud phone management module; executes the target operation instruction on the target cloud phone instance; and sends the execution result to the browser extension module. The cloud phone management module is located at the bottom layer of the entire architecture and contains the actual cloud phone host, cloud phone instance, storage resources, network resources, and other physical and virtualized resources.

[0064] The backend service module is the core processing layer of this application. It is responsible for receiving user request information from the browser extension module, and calling the underlying cloud phone management API or directly interacting with the cloud phone host or cloud phone instance according to the target operation instructions and device number to execute the operation required by the target operation instructions.

[0065] Specifically, if the target operation command is a reset command, the backend service module calls the cloud platform device reset API or uses ADB commands to restore the cloud phone instance corresponding to the device number to factory settings or reset the device, clear the device data and restore it to the initial state. This helps to quickly restore faulty devices or provide a clean cloud phone environment for new users, and improve device turnover efficiency.

[0066] If the target operation command is an image update command, the device number in the user request information can be multiple. That is, the browser extension module supports the user to select multiple device numbers when selecting the image update command. The backend service module calls the cloud platform image management API to complete the operating system image update operation of the cloud phone instance corresponding to each device number. This simplifies the batch update and management of cloud phone images and ensures the consistency and security of cloud phone system versions.

[0067] If the target operation command is an APK package download command, the backend service module calls an interface that executes a shell script in the cloud phone management module. The core function of this shell script is to use ADB commands to pull the APK package from the target cloud phone instance to the local server based on the device ID and the application package name in the APK package download command. Then, it uploads the APK package to the Object Storage Service (OBS) and returns a downloadable URL as the execution result to the browser extension module. This function facilitates application debugging, version rollback, or backup for operations and maintenance personnel without requiring manual operation within the cloud phone.

[0068] In addition, the target operation command can also be an SDK update command. The backend service module determines the new SDK package based on the SDK version information in the SDK update command and pushes it to the target cloud phone instance to trigger the update process. This ensures the latest status of the internal components of the cloud phone, improves compatibility and functionality, and simplifies SDK version management.

[0069] The target operation commands also include host machine restart commands; the backend service module is also used to restart the host machine of the target cloud phone instance through the API interface of the cloud phone management module, and send the execution result to the browser extension module. The host machine restart command provides the client with remote control capabilities over the underlying infrastructure, making it easier for operations and maintenance personnel to handle faults at the host machine level.

[0070] The cloud phone control system provided in the above embodiments integrates a browser extension module on the client side to obtain user request information, and a backend service module connected to the cloud phone management module to process user request information from various clients. This constitutes a three-level control architecture of the browser extension module, the backend service module, and the cloud phone management module. The heavier control logic is placed in the backend service module, while the client's browser extension module only needs to collect and transmit instructions, reducing the client's deployment and update costs and operational burden, and indirectly improving the scalability of the cloud phone service. Secondly, the cloud phone management module faces each client through the backend service module, avoiding direct exposure to the external network and greatly reducing the attack surface. Simultaneously, the client's browser extension module displays the corresponding function extension interface based on user login information, achieving the effect of providing different function control permissions for different users. This combination of defense in depth and function interface permission control significantly improves the security of the cloud phone control system of this application.

[0071] In some embodiments, the target operation instruction further includes a self-test instruction; the backend service module is also used to perform a detection operation on the target cloud phone instance, obtain the self-test result and send it to the browser extension module as the execution result; when there is fault information in the self-test result, the corresponding preset recovery strategy is matched according to the fault information and applied to the target cloud phone instance.

[0072] The detection operations include, but are not limited to, the following detection items:

[0073] a. Device Online Status Detection: Check whether the target cloud phone instance is online and running.

[0074] b. Network connectivity test: Check whether the network connection of the target cloud phone instance is normal, including IP address allocation, gateway reachability, DNS resolution, etc.

[0075] c. Core service operation status detection: Check whether the key services (such as ADB service, desktop service, application process) inside the target cloud phone instance are running normally.

[0076] d. Resource usage detection: Quickly check whether resources such as CPU, memory, and storage are abnormally saturated, causing the device to become unresponsive.

[0077] e. Log Anomaly Analysis: Automatically analyzes key logs of the target cloud phone instance to identify potential errors or anomalies.

[0078] In implementation, the backend service module coordinates with the cloud phone management module's monitoring and log analysis systems to perform the aforementioned tests and returns the self-test results in a structured format to the browser extension module, clearly displaying the results on the client interface. This process significantly reduces manual testing by customer service personnel, enabling rapid identification of the root cause of problems and thus improving problem diagnosis efficiency.

[0079] Furthermore, the backend service module is also used to perform a detection operation on the target cloud phone instance again after executing the preset recovery strategy, obtain the repair detection results, and determine whether there is fault information in the repair detection results.

[0080] If the fault exists, a repair work order will be generated based on the repair and testing results and sent to the browser extension module; if the fault does not exist, fault resolution information will be generated and sent to the browser extension module.

[0081] Specifically, the backend service module can execute corresponding preset recovery strategies based on automatically recoverable fault information in the self-inspection results. For example, if a network problem is detected, the backend service module will attempt to restart the network interface; if a critical service anomaly is detected, the backend service module will attempt to restart that service or the entire target cloud phone instance. After the preset recovery strategy operation is completed, the backend service module performs the above detection operation again and feeds back the repair detection results to the browser extension module. Specifically, if the recovery is successful, the user is notified that the problem has been resolved (i.e., feedback on fault resolution information); if the recovery fails, the reason for the failure is indicated and a new work order is created, which includes detailed repair detection results. This automated fault diagnosis mechanism of this application not only improves efficiency but also enhances the consistency and reliability of the repair by reducing human intervention.

[0082] In some embodiments, the backend service module is also used to obtain resource usage data of each cloud phone instance in the cloud phone management module; to aggregate and analyze the resource usage data to obtain cloud phone performance data and send it to the browser extension module.

[0083] Specifically, such as Figure 2 As shown, the backend service module periodically collects resource usage data such as CPU, GPU, and memory of each cloud phone instance by calling the monitoring API provided by the cloud platform management module, and aggregates and analyzes the collected resource usage data to obtain cloud phone performance data (such as CPU utilization, GPU usage, etc.) and provides it to the browser extension module.

[0084] After receiving the cloud phone performance data, the browser extension module visualizes it on the browser interface, sorting the device IDs of each cloud phone instance according to their performance data and providing corresponding restart buttons. When a user clicks the restart button corresponding to a device ID, it's equivalent to sending a user request to the backend service module with that device ID and the target operation command being a cloud phone restart command. The backend service then calls the cloud platform API to execute the restart operation on the target cloud phone instance corresponding to that device ID. Based on this, this application achieves real-time monitoring and rapid intervention of cloud phone performance, enabling operations and maintenance personnel to quickly locate resource bottlenecks and rapidly restore abnormal devices with one-click operations, significantly shortening the average fault resolution time.

[0085] Furthermore, the backend service module is also used to compare the resource usage data of each cloud phone instance with the resource usage data obtained last time after obtaining the resource usage data, to obtain incremental resource usage data and send it to the browser extension module; the browser extension module is also used to update the cloud phone performance data based on the incremental resource usage data.

[0086] In practical implementation, when the number of cloud phone instances in the cloud phone management module is large, it not only increases the amount of cloud phone performance data obtained by aggregating and analyzing the corresponding resource usage data, leading to long transmission times and display delays in the browser extension module, but also increases the browser extension module's occupation of client storage space. To address this, this application further instructs the backend service module to calculate and compare the resource usage data collected each time with the resource usage data collected in the previous period, obtain the incremental data of resource usage changes in this collection, and transmit it to the browser extension module. The browser extension module only updates the cloud phone performance data that has changed based on the incremental data of resource usage changes.

[0087] The incremental transmission mechanism in the above embodiments not only reduces the amount of performance data transmitted, ensuring the real-time display of the browser extension module, but also reduces the storage footprint of the browser extension module on the client side.

[0088] To further ensure the security of cloud phone control, in some embodiments, the browser extension module is specifically used to perform symmetric or asymmetric encryption on the target operation command and device number, and add a digital signature to obtain the user request information; the user request information is then sent to the backend service module via the HTTPS protocol. The backend service module, upon receiving the user request information, verifies the integrity of the user request information and the digital signature. If the user request information is complete and the digital signature has not been modified, the user request information is decrypted to obtain the target operation command and device number.

[0089] Specifically, to prevent the communication between the browser extension module and the backend service module from being eavesdropped on or tampered with, which could lead to the exposure of sensitive information, this application requires the browser extension module to perform symmetric encryption (such as AES) or asymmetric encryption (such as RSA) on the target operation instructions and device number when encapsulating user request information, and to add a digital signature (such as HMAC) to prevent tampering.

[0090] Correspondingly, in the backend service module, it is forced to use HTTPS to connect to the browser extension module. After ensuring the integrity of the user request information and the correctness of the signature, the user request information is decrypted based on a pre-configured cipher suite. This ensures that the obtained device number and target operation instructions are correct information that has not been attacked, while also ensuring the security of the backend service module.

[0091] In some embodiments, the browser extension module is further configured to, after obtaining user login information, verify the user login information based on the user database; if the verification is successful, obtain the user permissions, access token, and refresh token of the user login information; obtain and display the corresponding functional extension interface according to the user permissions; and, when the target operation instruction is a real-time input script, perform format verification and HTML escaping on the real-time input script, perform symmetric or asymmetric encryption based on the verified and escaped real-time input script and the device number, and add a digital signature and access token to obtain the user request information.

[0092] The user database contains the login information and corresponding permissions of registered users. The browser extension module matches the login information of the currently logged-in user with the user database. If the match is successful, the corresponding user permissions are obtained. At the same time, a token generation mechanism is triggered based on the successful match result to obtain two types of tokens: access tokens and refresh tokens.

[0093] An access token is a short-term valid token (e.g., valid for 1-2 hours) that contains the generation time, expiration time (the difference between the two times is the access token's validity period), user login information, and corresponding user permissions. A refresh token is a long-term valid token (e.g., valid for several days or weeks), but can only be used to obtain a new access token.

[0094] After receiving these two tokens, the browser extension module will only retain the access token in memory for use, while persistently and securely storing the refresh token. The conventional approach is to store the refresh token in ordinary local storage or cookies. However, considering that these places may be accessed arbitrarily by JavaScript and are vulnerable to XSS attacks, this application prioritizes storing the refresh token in the secure storage API provided by the browser where the browser extension module resides in order to ensure the correctness and validity of the refresh token. These APIs have stricter access permissions than ordinary web page storage and can provide better isolation.

[0095] In actual use, the browser extension module enables the user permissions of maintenance personnel to customize commands. This permission is reflected in the function extension interface as a script input box and a generate button. Maintenance personnel can customize and add commonly used shell scripts or commands in the script input box. In response to the click command of the generate button, the content in the script input box is converted into a selectable operation command and displayed in the function extension interface corresponding to the current user login information. When execution is required, maintenance personnel only need to select the previously customized operation command in the function extension interface and enter the device number to generate user request information. At this time, the content of the target operation command in the user request information is the real-time input script customized by the maintenance personnel.

[0096] While the above functions can greatly simplify repetitive operation and maintenance, they also bring security risks. If the operation and maintenance personnel unintentionally or intentionally add a malicious script targeting the browser to the custom real-time input script, the browser extension module will treat the malicious script as program code to be executed when it encodes it into user request information, resulting in verification consequences such as token theft and client restart.

[0097] To avoid security risks that could affect the browser from real-time input scripts, this application performs format verification and HTML escaping on the custom real-time input scripts before encryption and encapsulation.

[0098] Format validation verifies the presence of characters not allowed in shell commands. HTML escaping converts HTML characters that might be recognized and executed by the browser in real-time input scripts into their entity forms. For example, it escapes "<" to "<" and "&" to "&", thus preventing the browser from executing them as scripts.

[0099] The backend service module also verifies the validity of the access token in the user request information after receiving it. If the verification passes, it verifies the integrity and digital signature of the user request information; if the verification fails, it generates a token error message and sends it to the browser extension module. Specifically, after receiving the user request information, the backend service module first verifies whether the validity period of the access token matches the current time. If they match, it further parses the user request information; otherwise, it does not parse the user request information and generates a token error message to send to the browser extension module.

[0100] It is worth noting that access tokens are generally placed in the header of the HTTP request so that the backend service module can check them.

[0101] The browser extension module is also used to update the access token in the user request information based on the refresh token after receiving a token error message, and then send it to the backend service module again.

[0102] Specifically, before updating the access token based on the refresh token, the browser extension module determines the validity of the refresh token. If it is valid, it updates the validity period of the access token; if it is invalid, it repeats the steps of obtaining the access token and refresh token.

[0103] The above embodiments, through two token verification mechanisms, ensure the security and compliance of the cloud phone control system of this application, avoid unauthorized operations, and have higher reliability than the prior art.

[0104] In some embodiments, the browser extension module is also used to record the waiting time after sending the user request information and before receiving the corresponding execution result. If the waiting time exceeds the preset retry time, the user request information is sent again using an exponential backoff algorithm.

[0105] In actual use, there are multiple browser extensions that connect to the backend service module. Different customer service personnel and maintenance personnel will use the browser extensions on their clients. At this time, the backend service module needs to process user request information from multiple browser extensions. When there are many user request information, there may be waiting or delay in processing. In the conventional practice, if the browser extension module does not receive the execution result feedback for a long time, it will resend the user request information. However, when the backend service module is busy, resending the user request information will not only still fail to obtain feedback in a timely manner, but will also increase the processing burden of the backend service module.

[0106] Therefore, this application enables the browser extension module to use an exponential backoff algorithm to determine when to resend the user request information when the backend service module fails to return the execution result after a timeout, so as to avoid further congestion of the backend service module.

[0107] In some embodiments, the browser extension module is also used to calculate the network latency between the browser and the backend service module based on the received execution result; if the network latency exceeds a preset latency threshold, the browser extension module merges and deduplicates the user operation instructions received within a preset merging time window to obtain user request information and sends it to the backend service module.

[0108] Specifically, since data transmission between the browser extension module and the backend service module relies on a network connection, the data transmission rate and real-time performance are affected by the network environment. In order to accurately determine the current network environment, and considering the time required for the backend service module to process user requests, this application requires the backend service module to add a timestamp of the sending time to the execution result when it provides feedback. In this way, the browser extension module can determine the transmission time of the execution result based on the time it receives the execution result and the timestamp in the execution result, thereby obtaining the network latency between the browser extension module and the backend service module.

[0109] If the network latency exceeds the preset latency threshold, it indicates that the current network environment is poor, and the user request information sent by the browser extension module will also be delayed in reaching the backend service module. At this time, this application enables the browser extension module to merge and deduplicate the received user operation instructions within the most recent time window to obtain the user request information, thereby reducing the transmission time of the user request information.

[0110] In some embodiments, the backend service module is further configured to place received user request information into a message queue, extract user request information from the message queue for processing; when the number of user request information in the message queue exceeds a preset processing threshold, classify the user request information in the message queue according to a preset request priority and a preset browser priority to obtain the processing priority corresponding to each user request information; and reorder each user request information in the message queue according to the processing priority. This can be understood as the backend service module placing received and verified user request information into the message queue in the order of receipt for queuing processing. If the number of user request information in the message queue exceeds the preset processing threshold, it indicates that the message queue is congested, and requests at the back end of the queue may take a long time to process. If there are urgent user request information in the message queue at this time, it will be delayed in processing, which may seriously cause the corresponding cloud phone instance to malfunction.

[0111] Therefore, this application enables the backend service module to reorder the priority of user requests in the message queue when it becomes congested. Specifically, the preset request priority prioritizes different target operation instructions, and the preset browser priority prioritizes different users. The backend service module sorts the user request information based on the target operation instructions in the parsed user request information and the user login information and user permissions (customer service personnel, maintenance personnel, etc.) in the access token. For example, it can use a combination of two priority weighting methods, or sort by target operation instruction first and then by user type, thereby prioritizing the processing of more urgent and important user requests in the message queue when requests are congested. It is worth noting that if a user request contains more than one target operation instruction, the target operation instruction with the highest priority shall prevail.

[0112] In some embodiments, the backend service module is further configured to send a response to the browser extension module after receiving the user request information when the number of user request information in the message queue exceeds a preset processing threshold.

[0113] The browser extension module is also used to stop determining whether the waiting time after sending the user request information exceeds the preset retry time after receiving the corresponding response to the user request information.

[0114] Specifically, this application further enables the backend service module to receive and respond to the received user request information when the message queue is congested. In this way, the browser extension module can know that the execution result will be responded to later due to congestion, without having to resend the user request information. By receiving and responding once, the duplicate sending of user request information and the repeated execution of target operation instructions on the target cloud phone instance are avoided, thereby reducing the network overhead indirectly increased by request congestion.

[0115] In some embodiments, the backend service module is further configured to perform frequency analysis on each user request message of the same browser extension module when the number of user request messages in the message queue exceeds a preset processing threshold, and obtain the request frequency; if the request frequency exceeds a preset abnormal frequency, an abnormal detection message is sent to the browser extension module, and the connection with the browser extension module is disconnected. In specific implementation, the backend service module, as a layer set between the cloud phone management module and the client, can undertake the task of intercepting abnormal clients accessing the cloud phone management module. This is also the advantage of the architecture of browser extension module + backend service module + cloud phone management module in this application. That is, this application enables the backend service module to perform abnormal detection on the client where the browser extension module is located based on the received user request information. If the request information is too frequent, it is considered that the operation of the corresponding client is abnormal, and the connection is disconnected in time to prevent the cloud phone instance from being controlled by abnormal clients.

[0116] Please see Figure 3 Another embodiment of this application provides a cloud phone control method, including:

[0117] Step S1: The browser extension module responds to the browser launch command and obtains the user login information.

[0118] In step S2, the browser extension module determines and displays the corresponding extended interface based on the user's login information.

[0119] In step S3, the browser extension module receives user operation instructions and obtains the target operation instructions and device number based on the user operation instructions. The browser extension module encodes the target operation instructions and device number to obtain user request information and sends it to the backend service module. The target operation instructions include reset instructions, image update instructions, and APK package download instructions.

[0120] In step S4, the backend service module parses the received user request information to obtain the target operation instruction and device number.

[0121] Step S5: The backend service module determines the target cloud phone instance corresponding to the device number in the cloud phone management module; executes the target operation command on the target cloud phone instance, and sends the execution result to the browser extension module.

[0122] In some embodiments, the method further includes:

[0123] When the target operation is a command to restart the host machine, the backend service module performs a restart operation on the host machine of the target cloud phone instance through the API interface of the cloud phone management module, and sends the execution result to the browser extension module.

[0124] In some embodiments, the method further includes:

[0125] When the target operation command is a self-check command, the backend service module performs a detection operation on the target cloud phone instance, obtains the self-check result, and sends it to the browser extension module as the execution result.

[0126] The backend service module determines whether there is fault information in the self-test results. If so, it matches the corresponding preset recovery strategy according to the fault information and applies it to the target cloud phone instance.

[0127] In some embodiments, the method further includes:

[0128] After executing the preset recovery strategy, the backend service module performs another detection operation on the target cloud phone instance to obtain the repair detection results; and determines whether there is fault information in the repair detection results.

[0129] If it exists, a repair work order will be generated based on the repair and detection results and sent to the browser extension module.

[0130] If it does not exist, troubleshooting information is generated and sent to the browser extension module.

[0131] In some embodiments, the method further includes:

[0132] After the browser extension module sends the user request information and before receiving the corresponding execution result, it records the waiting time; it then determines whether the waiting time exceeds the preset retry time. If so, it uses the exponential backoff algorithm to send the user request information again.

[0133] In some embodiments, the method further includes:

[0134] The browser extension calculates the network latency between itself and the backend service module based on the received execution results.

[0135] Determine if the network latency exceeds a preset latency threshold; if so, merge and deduplicate user operation instructions received within a preset merging time window to obtain user request information and send it to the backend service module.

[0136] In some embodiments, see Figure 4 The method also includes:

[0137] Step S41: The backend service module puts the received user request information into the message queue.

[0138] In step S42, the backend service module extracts user request information from the message queue and processes it.

[0139] Step S43: The backend service module determines whether the number of user request messages in the message queue exceeds the preset processing threshold.

[0140] Step S44: If yes, classify the user request information in the message queue according to the preset request priority and the preset browser priority to obtain the processing priority corresponding to each user request information.

[0141] Step S45: Reorder the user request information in the message queue according to the processing priority.

[0142] The specific limitations of the cloud phone control method provided in the above embodiments can be found in the embodiments of the cloud phone control system described above, and will not be repeated here.

[0143] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0144] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.

Claims

1. A cloud-based mobile phone control system, characterized in that, This includes browser extension modules and backend service modules; The browser extension module is set on the client side; the backend service module is connected to the cloud phone management module via network. The browser extension module is used to respond to browser launch commands, obtain user login information; determine and display the corresponding extended interface based on the user login information; receive user operation commands, obtain target operation commands and device numbers based on the user operation commands; encode the target operation commands and device numbers to obtain user request information and send it to the backend service module; the target operation commands include reset commands, image update commands, and APK package download commands; The backend service module is used to parse the received user request information to obtain the target operation instruction and the device number; and to determine the target cloud phone instance corresponding to the device number in the cloud phone management module. The target operation instruction is executed on the target cloud phone instance, and the execution result is sent to the browser extension module; The target operation instructions also include host machine restart instructions and self-test instructions; The backend service module is also used to restart the host machine of the target cloud phone instance through the API interface of the cloud phone management module, and send the execution result to the browser extension module; The backend service module is also used to perform a detection operation on the target cloud phone instance, obtain a self-test result and send it to the browser extension module as the execution result; when there is fault information in the self-test result, a corresponding preset recovery strategy is matched according to the fault information and applied to the target cloud phone instance. The backend service module is also used to perform a detection operation on the target cloud phone instance again after executing the preset recovery strategy to obtain the repair detection result; and to determine whether there is fault information in the repair detection result. If it exists, a repair work order is generated based on the repair detection results and sent to the browser extension module; If it does not exist, troubleshooting information is generated and sent to the browser extension module.

2. The cloud phone control system according to claim 1, characterized in that, The backend service module is also used to obtain resource usage data of each cloud phone instance in the cloud phone management module; to aggregate and analyze the resource usage data to obtain cloud phone performance data and send it to the browser extension module.

3. The cloud phone control system according to claim 2, characterized in that, The backend service module is also used to compare the resource usage data of each cloud phone instance with the resource usage data of the previous time after obtaining the resource usage data of each instance, to obtain the incremental resource usage data and send it to the browser extension module. The browser extension module is also used to update the cloud phone performance data based on the incremental resource usage data.

4. The cloud phone control system according to claim 1, characterized in that, The browser extension module is specifically used to perform symmetric or asymmetric encryption on the target operation command and the device number, and add a digital signature to obtain the user request information; and send the user request information to the backend service module via the HTTPS protocol. The backend service module is specifically used to verify the integrity of the user request information and the digital signature after receiving the user request information. If the user request information is complete and the digital signature has not been modified, the user request information is decrypted to obtain the target operation instruction and the device number.

5. The cloud phone control system according to claim 4, characterized in that, The browser extension module is also used to verify the user login information based on the user database after obtaining the user login information; if the verification is successful, the user permissions, access token and refresh token of the user login information are obtained. According to the user's permissions, obtain and display the corresponding extended interface; and when the target operation instruction is a real-time input script, perform format verification and HTML escaping on the real-time input script, perform symmetric or asymmetric encryption on the verified and escaped real-time input script and the device number, and add a digital signature and the access token to obtain the user request information. The backend service module is also used to verify whether the access token in the user request information is valid after receiving the user request information; if the verification is successful, the integrity of the user request information and the digital signature are verified. If the verification fails, a token error message is generated and sent to the browser extension module; The browser extension module is also used to update the access token in the user request information based on the refresh token after receiving the token error information, and then send it to the backend service module again.

6. The cloud phone control system according to claim 1, characterized in that, The browser extension module is also used to record the waiting time after sending the user request information and before receiving the corresponding execution result. If the waiting time exceeds the preset retry time, the user request information is sent again using an exponential backoff algorithm.

7. The cloud phone control system according to claim 6, characterized in that, The browser extension module is also used to calculate the network latency between itself and the backend service module based on the received execution result; if the network latency exceeds a preset latency threshold, it merges and deduplicates the user operation instructions received within a preset merging time window to obtain the user request information and sends it to the backend service module.

8. The cloud phone control system according to claim 6, characterized in that, The backend service module is further configured to place the received user request information into a message queue, extract the user request information from the message queue for processing; when the number of user request information in the message queue exceeds a preset processing threshold, classify the user request information in the message queue according to a preset request priority and a preset browser priority to obtain the processing priority corresponding to each user request information; and reorder each user request information in the message queue according to the processing priority.

9. The cloud phone control system according to claim 8, characterized in that, The backend service module is also used to perform frequency analysis on each user request message of the same browser extension module when the number of user request messages in the message queue exceeds a preset processing threshold, and obtain the request frequency; if the request frequency exceeds a preset abnormal frequency, then send abnormal detection information to the browser extension module and disconnect from the browser extension module.

10. The cloud phone control system according to claim 9, characterized in that, The backend service module is also used to send a receiving response to the browser extension module after receiving the user request information when the number of user request information in the message queue exceeds a preset processing threshold. The browser extension module is also used to stop determining whether the waiting time after sending the user request information exceeds the preset retry time after receiving the receiving response corresponding to the user request information.

11. A cloud phone control method, characterized in that, include: The browser extension module responds to the browser launch command and obtains the user's login information; The browser extension module determines and displays the corresponding extended interface based on the user login information; The browser extension module receives user operation instructions and obtains the target operation instruction and device number based on the user operation instructions; The browser extension module encodes the target operation instruction and the device number to obtain the user request information and sends it to the backend service module; the target operation instruction includes a reset instruction, an image update instruction, and an APK package download instruction. The backend service module parses the received user request information to obtain the target operation instruction and the device number; The backend service module determines the target cloud phone instance corresponding to the device number mentioned in the cloud phone management module; The target operation instruction is executed on the target cloud phone instance, and the execution result is sent to the browser extension module; When the target operation is a command to restart the host machine, the backend service module performs a restart operation on the host machine of the target cloud phone instance through the API interface of the cloud phone management module, and sends the execution result to the browser extension module; When the target operation command is a self-check command, the backend service module performs a detection operation on the target cloud phone instance, obtains the self-check result, and sends it to the browser extension module as the execution result. The backend service module determines whether there is fault information in the self-test result. If so, it matches the corresponding preset recovery strategy according to the fault information and applies it to the target cloud phone instance. After executing the preset recovery strategy, the backend service module performs a detection operation on the target cloud phone instance again to obtain the repair detection result; and determines whether there is fault information in the repair detection result. If it exists, a repair work order is generated based on the repair detection results and sent to the browser extension module; If it does not exist, troubleshooting information is generated and sent to the browser extension module.

12. The cloud phone control method according to claim 11, characterized in that, Also includes After the browser extension module sends the user request information and before receiving the corresponding execution result, it records the waiting time; it determines whether the waiting time exceeds the preset retry time, and if so, it uses the exponential backoff algorithm to send the user request information again.

13. The cloud phone control method according to claim 12, characterized in that, Also includes: The browser extension module calculates the network latency between itself and the backend service module based on the received execution result; Determine whether the network latency exceeds a preset latency threshold; If so, the user operation instructions received within the preset merging time window are merged and deduplicated to obtain the user request information and send it to the backend service module.

14. The cloud phone control method according to claim 12, characterized in that, Also includes: The backend service module places the received user request information into a message queue; The backend service module extracts the user request information from the message queue and processes it. The backend service module determines whether the number of user request messages in the message queue exceeds a preset processing threshold; If so, the user request information in the message queue is classified according to the preset request priority and the preset browser priority to obtain the processing priority corresponding to each user request information. The user request information in the message queue is reordered according to the processing priority.

Citation Information

Patent Citations

  • Shell access method, device and equipment of cloud mobile phone and storage medium

    CN111314452A