Cloud phone navigation system, operating system, and cloud phone navigation method

By deploying the application perception module and GPS_MOCK module in the cloud mobile phone, we can determine whether cloud mobile phone applications need to locate data, and only obtain and process satellite data when needed, solving the problem that cloud mobile phones cannot accurately navigate, reducing the performance loss of terminal devices, and realizing accurate navigation functions.

WO2025140435A1PCT designated stage expired Publication Date: 2025-07-03HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/142830
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-18
Filing Date
2024-12-26
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

Due to the lack of hardware equipment, cloud mobile phones cannot obtain positioning and navigation data, which leads to the inability to run positioning and navigation applications normally. The terminal equipment continuously obtains data when it does not need to obtain positioning data, resulting in performance losses, and it is difficult to achieve accurate navigation by relying solely on positioning data.

Method used

By deploying the application perception module and GPS_MOCK module in the cloud mobile phone, we can determine whether the cloud mobile phone application needs to locate data, send positioning requests to the terminal device only when needed, and navigate with satellite data, and use FIFO files and GPS_MOCK modules to process the data to realize GPS hardware simulation.

Benefits of technology

It reduces unnecessary performance consumption of terminal devices, and realizes precise navigation of cloud mobile phones by combining positioning and satellite data to adapt to more navigation scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024142830_03072025_PF_FP_ABST
    Figure CN2024142830_03072025_PF_FP_ABST
Patent Text Reader

Abstract

The present application discloses a cloud phone navigation system, an operating system, and a cloud phone navigation method. The method comprises: when it is determined that a running cloud phone application has a positioning navigation function, a cloud phone sends a positioning request to a terminal device, so that the terminal device starts to obtain a plurality of pieces of first data, and sends the plurality of pieces of first data to the cloud phone, wherein each piece of first data comprises first positioning data and first satellite data; and the cloud phone carries out positioning navigation by means of the cloud phone application on the basis of a plurality of pieces of first positioning data and a plurality of pieces of first satellite data. According to the method, before a terminal device obtains positioning data and satellite data, whether a cloud phone application has a positioning navigation function is determined in advance, and first data is obtained only when positioning navigation needs to be carried out, thereby avoiding unnecessary performance loss of the terminal device; moreover, the cloud phone application can realize more accurate positioning navigation on the basis of the positioning data and the satellite data.
Need to check novelty before this filing date? Find Prior Art

Description

A cloud phone navigation system, operating system and cloud phone navigation method

[0001] This application claims priority to the Chinese patent application with application number 202311825284.3 filed with the State Intellectual Property Office of China on December 27, 2023, priority to the Chinese patent application with invention name “A navigation method, system and related equipment”, and priority to the Chinese patent application with application number 202410471676.2 filed with the State Intellectual Property Office of China on April 18, 2024, priority to the Chinese patent application with invention name “A cloud phone navigation system, operating system and cloud phone navigation method”, all contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of cloud phones, and in particular to a cloud phone navigation system, an operating system, and a cloud phone navigation method. Background Art

[0003] A cloud phone is a cloud service with an operating system running on a physical server and providing virtual phone functionality. Cloud phones have applications installed and can run them. The audio and video streams generated by cloud phone applications can be sent over the network to a connected terminal device. Control commands generated by the terminal device in response to user touch operations can also be sent over the network to the cloud phone, allowing the cloud phone to control the running of cloud phone applications based on these commands. However, since cloud phones lack hardware devices and cannot obtain data for positioning and navigation, they cannot properly run hardware-dependent cloud phone applications such as positioning and navigation. Summary of the Invention

[0004] The present application discloses a cloud phone navigation system, an operating system and a cloud phone navigation method. By pre-judging whether the cloud phone application running in the cloud phone has a positioning and navigation function, it is determined whether the cloud phone needs positioning data. Only when the cloud phone needs positioning data, the terminal device obtains the positioning data and sends the positioning data to the cloud phone. In addition to the positioning data, the terminal device also obtains satellite data. The cloud phone combines the positioning data and satellite data to achieve a more accurate positioning and navigation function.

[0005] In a first aspect, the present application provides a cloud phone navigation system, which includes a terminal device, a cloud phone, and an operating system suitable for the cloud phone, wherein the operating system is used to determine whether the cloud phone application running in the cloud phone has a positioning and navigation function, and when it is determined that the running cloud phone application has a positioning and navigation function, notifies the cloud phone so that the cloud phone sends a positioning request to the terminal device, and the terminal device is used to obtain multiple first data after receiving the positioning request, and send the multiple first data to the cloud phone, and the multiple first data are used for positioning and navigation; thereafter, the cloud phone is used to perform positioning and navigation according to the multiple first data through the above-mentioned cloud phone application with positioning and navigation function.

[0006] In the above-mentioned cloud phone navigation system, by determining whether the cloud phone application has the positioning and navigation function, it controls whether the cloud phone sends a positioning request to the terminal device. The terminal device obtains the first data used for positioning and navigation only when it receives the positioning request, thereby avoiding the problem of the terminal device continuously obtaining the first data when the cloud phone does not need to obtain the first data, causing unnecessary performance loss.

[0007] Exemplarily, the terminal device is specifically used to first apply for the user's positioning permission based on the received positioning request, and then, when collecting the user's instruction to authorize the positioning permission, obtain multiple first data, wherein each of the multiple first data includes first positioning data and first satellite data, the first positioning data includes data obtained through base station, Bluetooth or WiFi technology, and the first satellite data includes data obtained through global positioning system (GPS) technology.

[0008] Positioning data obtained through base stations, Bluetooth, or WiFi technology includes, but is not limited to, the terminal device's longitude, latitude, speed, altitude, and positioning accuracy. Satellite data obtained through GPS technology includes, but is not limited to, satellite identification, satellite type, measurement time offset, synchronization status, and other data. The terminal device obtains positioning data and satellite data and sends them to the cloud phone. The cloud phone can then combine the positioning data and satellite data through the cloud phone application to obtain more accurate positioning and navigation results.

[0009] Exemplarily, the operating system is also used to obtain multiple second data based on multiple first data, wherein each second data in the multiple second data includes second positioning data and second satellite data, and then sends the multiple second data to the cloud phone, so that the cloud phone performs positioning and navigation based on the multiple second data through the cloud phone application.

[0010] Since the first data sent by the terminal device to the cloud phone cannot be directly used by the cloud phone application, the operating system needs to process the first data first, and then send the processed second data that can be obtained and used by the cloud phone application to the cloud phone, thereby realizing GPS hardware simulation, so that the cloud phone application can achieve accurate positioning and navigation based on the second positioning data and the second satellite data.

[0011] Exemplarily, the operating system is also used to record the cloud phone application identifier when it is determined that the running cloud phone application has positioning and navigation functions, and record the number of cloud phone applications as 1 when the initial value is 0, wherein the number of cloud phone applications is used to indicate the number of cloud phone applications running in the cloud phone and having positioning and navigation functions.

[0012] Exemplarily, the operating system is further configured to, when it is determined that the cloud phone application has stopped running, re-record the number of cloud phone applications as 0, and send a notification to the cloud phone that the cloud phone application has stopped requesting positioning.

[0013] The cloud phone is further configured to send a stop positioning request to the terminal device upon receiving a notification from the cloud phone application that the stop positioning request is requested. The stop positioning request is configured to instruct the terminal device to stop acquiring the first data.

[0014] By marking the number of cloud phone applications, it is determined whether the cloud phone needs positioning data and satellite data. When the cloud phone receives a notification to stop requesting positioning, a stop positioning request is sent to the terminal device, so that the terminal device stops obtaining positioning data and satellite data in time, reducing unnecessary performance loss caused by the terminal device continuing to obtain the first data when the cloud phone does not need to obtain the first data.

[0015] Exemplarily, the cloud phone is a container or a plug-in machine.

[0016] In a second aspect, the present application provides an operating system suitable for a cloud phone, interacting with the cloud phone, and including an application awareness module. The application awareness module is configured to determine whether a cloud phone application running on the cloud phone has positioning and navigation capabilities; if the running cloud phone application is determined to have positioning and navigation capabilities, the application awareness module notifies the cloud phone, causing the cloud phone to send a positioning request to a terminal device to obtain a plurality of first data, the plurality of first data being used by the cloud phone for positioning and navigation via the cloud phone application.

[0017] Exemplarily, each of the multiple first data includes first positioning data and first satellite data, the first positioning data includes data obtained through a base station, Bluetooth or WiFi technology, and the first satellite data includes data obtained through a global positioning system GPS technology.

[0018] Exemplarily, the operating system further includes a first-in-first-out (FIFO) file and a global positioning system virtual module GPS_MOCK, and a communication connection exists between the FIFO file and the GPS_MOCK module. The FIFO file is used to receive a plurality of first data acquired by the cloud phone; the GPS_MOCK module is used to acquire the plurality of first data from the FIFO file and obtain a plurality of second data based on the plurality of first data, wherein each of the plurality of second data includes second positioning data and second satellite data, and the plurality of second data are suitable for cloud phone applications; thereafter, the GPS_MOCK module sends the plurality of second data to the cloud phone, so that the cloud phone performs positioning and navigation based on the plurality of second data through the cloud phone application.

[0019] In the above operating system, since the FIFO file has the first-in-first-out feature, it is possible to process the first data and send it to the cloud phone according to the order in which multiple first data are obtained, so that the cloud phone can accurately locate and navigate according to the data in the correct time sequence. In addition, the GPS_MOCK module can process multiple first data and obtain multiple second data suitable for cloud phone applications, thereby realizing the positioning and navigation of the cloud phone.

[0020] Exemplarily, the application perception module is also used to record the cloud phone application identifier and the number of cloud phone applications as 1 when it is determined that the running cloud phone application has positioning and navigation functions, where the number of cloud phone applications is initially 0, which is used to indicate the number of cloud phone applications running in the cloud phone and with positioning and navigation functions.

[0021] Exemplarily, the application perception module is also used to re-record the number of cloud phone applications as 0 when it is determined that the cloud phone application has stopped running, and to notify the cloud phone so that the cloud phone sends a stop positioning request to the terminal device. The stop positioning request is used to instruct the terminal device to stop obtaining multiple first data.

[0022] On the third aspect, the present application provides a cloud phone navigation method, which is applied to a cloud phone. The method includes sending a positioning request to a terminal device when it is determined that the running cloud phone application has a positioning and navigation function, so that the terminal device obtains multiple first data, and sends the multiple first data to the cloud phone. After receiving the multiple first data, the cloud phone performs positioning and navigation based on the multiple first data through the cloud phone application.

[0023] Exemplarily, each of the multiple first data includes positioning data and satellite data, wherein the positioning data includes data obtained through a base station, Bluetooth, or WiFi technology, and the satellite data includes data obtained through GPS technology.

[0024] Exemplarily, the specific process of a cloud phone receiving multiple first data and performing positioning and navigation based on the multiple first data is as follows: the cloud phone receives multiple first data and sends the multiple first data to the operating system, so that the operating system obtains multiple second data based on the multiple first data, and sends the multiple second data to the cloud phone, wherein each second data in the multiple second data includes second positioning data and second satellite data; after receiving the multiple second data, the cloud phone performs positioning and navigation based on the multiple second data through the cloud phone application.

[0025] Exemplarily, the method further includes: when it is determined that the cloud phone application stops running, sending a stop positioning request to the terminal device, where the stop positioning request is used to instruct the terminal device to stop acquiring the first data.

[0026] In a fourth aspect, the present application provides a computing device cluster, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device being configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster performs any possible method according to the third aspect. At least one computing device in the computing device cluster further comprises any possible operating system according to the second aspect.

[0027] In a fifth aspect, the present application provides a computer program product comprising instructions, which, when executed by a computing device, enables the computing device to execute any possible method of the third aspect described above.

[0028] In a sixth aspect, the present application provides a computer-readable storage medium comprising computer program instructions, which, when executed on a computing device, cause the computing device to perform any possible method of the third aspect. Furthermore, the instructions further comprise executable program instructions of the operating system provided in the second aspect, causing the computing device to implement the functions of the application awareness module and the GPS_MOCK module in the operating system provided in the second aspect.

[0029] Based on the implementation methods provided in the above aspects, this application can also be further combined to provide more implementation methods. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required for describing the embodiments.

[0031] FIG1 is a schematic diagram of the structure of a cloud phone navigation system provided in an embodiment of the present application;

[0032] FIG2 is a schematic diagram of the structure of a terminal device and a service node provided in an embodiment of the present application;

[0033] FIG3 is a schematic diagram of the structure of another terminal device and service node provided in an embodiment of the present application;

[0034] FIG4 is a flow chart of implementing GPS simulation and positioning navigation in a cloud phone provided by an embodiment of the present application;

[0035] FIG5 is a flow chart of a cloud phone navigation method provided by an embodiment of the present application;

[0036] FIG6 is a schematic structural diagram of a computing device 600 provided in an embodiment of the present application;

[0037] FIG7 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;

[0038] FIG8 is a schematic diagram of a structure in which one or more computing devices are connected via a network, provided by an embodiment of the present application. DETAILED DESCRIPTION

[0039] The following describes the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.

[0040] When the cloud phone runs a cloud phone application that requires positioning and navigation functions, the cloud phone sends a notification to the connected terminal device that the cloud phone application applies for user positioning permission, thereby triggering the terminal device to apply for user positioning permission. After obtaining the user positioning permission, the terminal device obtains the positioning data and satellite data, and sends the positioning data and satellite data to the cloud phone. The cloud phone processes the received positioning data and satellite data through the GPS simulation module so that the positioning data and satellite data can be used by the cloud phone application, thereby realizing accurate navigation of the cloud phone.

[0041] First, the application scenarios involved in this application are described. Referring to Figure 1, Figure 1 is a schematic diagram of the structure of a cloud phone navigation system provided in an embodiment of this application. The system includes a terminal device 110, a cloud data center 120, and a network 130, wherein the terminal device and the cloud data center are connected via a network.

[0042] In a specific implementation, the terminal device 110 can be various types of user equipment (UE), such as a mobile phone, a tablet computer, etc. It can also include wearable devices, integrated handheld devices, car navigation devices and other electronic devices with data transmission and streaming media playback capabilities. This application does not make specific limitations on this.

[0043] In a specific implementation, the cloud data center 120 may include at least one service node 121 and a cloud phone management node 122 .

[0044] The service node 121 can be a general physical server, for example, a physical server such as an X86 server or an ARM server, etc., which is not specifically limited in this application. The service node can be connected to other service nodes and cloud phone management nodes through an internal network.

[0045] The cloud phone management node 122 can be a server in the public cloud used to manage cloud phones. Specifically, it can be a general physical server, or it can be a virtual machine (VM) based on a general physical server combined with NFV technology. The virtual machine refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment. This application does not make any specific restrictions on this.

[0046] Exemplarily, the service node 121 includes one or more cloud phones 123 , an operating system (OS) 124 , and hardware resources 125 .

[0047] Cloud Phone 123 is a cloud service with an operating system and virtual functions running on a physical server. It usually shares hardware resources and operating systems with other cloud phones on the server in the form of containers. Different cloud phones are isolated from each other and do not interfere with each other. In the embodiments of the present application, the cloud phone can also be implemented using a virtual machine (VM) or a plug-in board. In the case where the cloud phone is implemented by a plug-in board, the cloud phone includes real hardware modules, which is not specifically limited in this application.

[0048] Cloud phone applications can be installed and run on the cloud phone. The audio and video streams generated during the operation of the cloud phone application can be sent to the terminal device via the network for display and playback. The control commands generated by the terminal device based on user operations can also be sent to the cloud phone via the network, so that the cloud phone can control the operation of the cloud phone application according to the received control commands. Therefore, the above process can realize the transfer of applications on the terminal device to the cloud phone for operation.

[0049] The operating system 124 can be an operating system suitable for a cloud phone, such as an Android operating system, and this application does not specifically limit this. It should be noted that the operating system 124 can be an official complete operating system, or it can be an operating system in which individual driver modules of the official complete operating system are modified to adapt to the operating mode of the service node 121, and this application does not specifically limit this.

[0050] Hardware resources 125 may include computing resources, storage resources, and network resources, such as processors, memories, network cards, routers, databases, etc., and may also include other hardware resources that may be required by cloud phones, which are not specifically limited in this application.

[0051] It should be understood that the cloud phone navigation system shown in FIG1 above is only a possible example provided by an embodiment of the present application. The system may also include more devices, and the present application does not make any specific limitations on this.

[0052] The following will further describe the terminal device and cloud phone by taking the terminal device in Figure 1 as a mobile phone and the cloud phone in Figure 1 as a container as an example. As shown in Figure 2, Figure 2 is a structural diagram of a terminal device and a service node provided in an embodiment of the present application.

[0053] The terminal device 110 includes at least a terminal-side software development kit (SDK) 111, a terminal-side framework layer 112, and at least one mobile application 113:

[0054] The device-side SDK 111 includes application programming interfaces (APIs) related to the device hardware and operating system, as well as functional modules required for various mobile application development, such as user interface design, network communication, data storage, and sensor access. The device-side SDK is also used to collect user touch operation instructions and send control instructions generated based on these instructions to the cloud-side SDK via the network.

[0055] The end-side framework layer 112 is used to provide an interface for at least one mobile phone application to access the terminal device hardware and operating system services. For example, when the terminal device needs to obtain positioning data, the end-side SDK can obtain positioning data by calling the location (Location) API in the end-side framework layer, or the location management (Location Manager) class API. Specifically, the end-side SDK can determine what kind of positioning data to obtain based on the hardware modules present in the terminal device, where the hardware modules include base station hardware modules, WiFi hardware modules, etc., which are not specifically limited in this application. For example, when a base station hardware module exists in the terminal device, the positioning data is as shown in Table 1.

[0056] Table 1 Positioning data description table

[0057] Among them, in addition to the content included in Table 1, the positioning data may also include more types and quantities of data such as Bluetooth signal strength, WiFi signal strength, etc. depending on the different hardware modules in the terminal device. This application does not make specific limitations on this.

[0058] The mobile phone application 113 includes applications with positioning, navigation and other functions running in the terminal device, as well as applications with other functions, which are not specifically limited in this application.

[0059] The cloud phone 123 includes at least a cloud-side SDK 21 , a cloud-side framework layer 22 and at least one cloud phone application 23 .

[0060] The cloud-side SDK 21 includes application management APIs, performance monitoring APIs, etc., which are used to remotely control and manage cloud phones. It also includes testing tools, etc., which are not specifically limited in this application. The cloud-side SDK is also used to send the data generated by the cloud phone application to the device-side SDK.

[0061] The cloud-side framework layer 22 is used to provide an operating system 124 interface for at least one cloud phone application.

[0062] The cloud phone application 23 includes applications with positioning, navigation and other functions running in the cloud phone, as well as applications with other functions, which are not specifically limited in this application.

[0063] It can be understood that Figure 2 is only a possible example provided by an embodiment of the present application. In actual applications, there may be more types and numbers of devices in the terminal equipment and service nodes, and this application does not make specific limitations on this.

[0064] After introducing the specific structures of the terminal device and the cloud phone in detail, we will explain how the cloud phone application running in the cloud phone implements positioning or navigation operations in combination with the above specific structures.

[0065] (1) The terminal device obtains the positioning data and sends it to the cloud phone. Correspondingly, the cloud phone receives the positioning data sent by the terminal device.

[0066] Since the cloud phone is a container and lacks hardware for obtaining positioning data, the cloud phone application 23 running in the cloud phone has functions such as positioning and navigation. When positioning data needs to be obtained, the cloud phone 123 cannot obtain the positioning data by itself. Therefore, in order to realize the positioning or navigation function of the cloud phone application 23, the terminal device 110 needs to obtain the positioning data and send it to the cloud phone.

[0067] Specifically, the mobile phone application 113 with positioning, navigation and other functions in the terminal device 110 starts running, the end-side SDK 111 starts, and begins to apply for positioning permissions from the user. After collecting the user's operation instructions to confirm the authorization of positioning, the end-side SDK 111 calls the interface of the end-side framework layer 112, such as the location API, to obtain the positioning data shown in Table 1 above, and then sends the positioning data to the cloud-side SDK 21 through the network.

[0068] (2) The cloud phone application performs positioning or navigation operations based on the acquired positioning data.

[0069] The cloud-side SDK21 calls the API of the cloud-side framework layer 22 and injects the received positioning data into the cloud-side framework layer 22, so that cloud phone applications with functional requirements such as positioning and navigation can obtain positioning data by calling the interface of the cloud-side framework layer 22 (for example, location API) to implement positioning or navigation operations.

[0070] In the above structure of the terminal device and cloud phone, there are two problems with cloud phone positioning and navigation:

[0071] First, regardless of whether the running cloud phone application requires positioning or navigation, the client-side SDK begins to apply for the user's positioning permission after the mobile application is started. After the user authorizes the positioning permission, the obtained positioning data is sent to the cloud phone. Even when the cloud phone application does not need positioning data, the above operations are performed, resulting in unnecessary loss of terminal device performance.

[0072] Second, the positioning data received by cloud phone applications has low accuracy, and it is difficult to achieve basic navigation functions based solely on positioning data. In addition, when navigating in tunnels or in navigation scenarios such as lane-level navigation, there are problems such as poor network signals and higher requirements for map data. It is even more difficult for cloud phone applications to achieve accurate navigation.

[0073] In response to the first question, the present application deploys an application perception module 25 in the operating system 124 of the service node in FIG2, as specifically shown in FIG3, which is a structural diagram of another terminal device and service node provided by the present application. Among them, the application perception module is used to send a notification of applying for positioning permission to the cloud-side SDK when it is determined that a cloud phone application with positioning, navigation and other functions is started. Then, the cloud-side SDK can send the notification of applying for positioning permission to the end-side SDK, and the end-side SDK will start to obtain positioning data; when it is determined that a cloud phone application with positioning, navigation and other functions stops running, a notification of stopping positioning permission is sent to the cloud-side SDK. Then, the cloud-side SDK can send the notification of stopping positioning permission to the end-side SDK, and the end-side SDK will stop obtaining positioning data.

[0074] The application perception module enables the terminal-side SDK to obtain positioning data only when the cloud phone application requires it, reducing unnecessary performance loss of the terminal device.

[0075] The application perception module is used to determine whether the cloud phone application has positioning and navigation functions when the cloud phone application starts running. Exemplarily, the application perception module obtains and checks the permission list corresponding to the cloud phone application based on the cloud phone application identifier, and determines whether the cloud phone application has positioning and navigation functions based on whether the ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION identifier exists in the permission list. In the case where any of the above identifiers exists, it is determined that the cloud phone application has a positioning function, and in the case where none of the above identifiers exists, it is determined that the cloud phone application does not have a positioning function. It should be understood that the application perception module can also determine whether the running cloud phone application has positioning, navigation and other functions by other means, and this application does not make specific limitations on this.

[0076] The application awareness module is used to record the cloud phone application identifier and increase the number of currently recorded cloud phone applications by 1, if it determines that the cloud phone application has positioning, navigation, and other functions. The number of cloud phone applications indicates the number of cloud phone applications with positioning, navigation, and other functions currently running on the cloud phone. In addition to the above data recording operations, the application awareness module is also used to send a notification to the cloud-side SDK that the cloud phone application has applied for positioning permission. The cloud-side SDK then sends the notification to the end-side SDK, which then begins applying for the user's positioning permission.

[0077] The application perception module is used to terminate the operation when it is determined that the cloud phone application does not have positioning, navigation and other functions.

[0078] In addition to performing the above operations, the application awareness module is used to reduce the number of currently recorded cloud phone applications by 1 when it is determined that a cloud phone application with positioning, navigation and other functions has stopped running. Since the number of cloud phone applications indicates the number of cloud phone applications with positioning, navigation and other functions currently running in the cloud phone, in addition to the above data recording operations, the application awareness module is also used to send a notification to the cloud-side SDK to stop applying for positioning permissions when the number of cloud phone applications is reduced to 0, so that the cloud-side SDK sends the notification of stopping applying for positioning permissions to the end-side SDK, and the end-side SDK stops obtaining positioning data. The application awareness module is also used to continue to send a notification to the cloud-side SDK to request the cloud phone application to apply for positioning permissions when the number of cloud phone applications is reduced but not reduced to 0, so that the cloud-side SDK sends the notification of stopping applying for positioning permissions to the end-side SDK, and the end-side SDK continues to obtain positioning data.

[0079] As can be seen from the above, the application awareness module controls whether to send a notification requesting location permission to the cloud-side SDK by determining whether a cloud phone application with positioning, navigation, or other functions is running on the cloud phone. The device-side SDK only begins acquiring location data when the cloud-side SDK sends a notification requesting location permission to the device-side SDK. The device-side SDK stops acquiring location data when the cloud-side SDK sends a notification requesting to stop requesting location permission to the device-side SDK. The application awareness module controls when the device-side SDK acquires location data, preventing the device-side SDK from acquiring location data that the cloud phone application does not need, thus reducing unnecessary performance consumption on the terminal device.

[0080] To address the second issue, a hardware abstraction layer 24 is added to the cloud phone, and a global positioning system virtual (GPS_MOCK) module 26 and a first-in-first-out (FIFO) file 27 are deployed in the operating system 124 of the service node in Figure 2, as shown in Figure 3. In addition to obtaining positioning data, the end-side SDK also obtains satellite data. After receiving the positioning data and satellite data sent by the end-side SDK, the cloud-side SDK first injects the data into the FIFO file that establishes a communication connection with the GPS_MOCK module. The GPS_MOCK module reads and processes the positioning data and satellite data from the FIFO file and sends it to the hardware abstraction layer. The hardware abstraction layer then sends the processed positioning data and satellite data to the cloud-side framework layer so that the cloud phone application can obtain the processed positioning data and satellite data from the cloud-side framework layer by calling the interface, thereby realizing GPS hardware simulation in the cloud phone. By combining satellite data and positioning data, the cloud phone application can more accurately realize positioning and navigation functions.

[0081] The above process will be described in detail below with reference to the accompanying drawings, specifically referring to FIG4 , which is a flow chart of implementing GPS simulation and positioning navigation in a cloud phone provided in an embodiment of the present application.

[0082] S101: The device-side SDK obtains positioning data and satellite data.

[0083] In a possible implementation, upon receiving a notification requesting for positioning permission, the device-side SDK obtains satellite data in addition to the positioning data shown in Table 1 in order to achieve more accurate positioning and navigation. The satellite data is shown in Table 2.

[0084] Table 2 Satellite data description

[0085] In addition to the content included in Table 2, the satellite data may also include more types and quantities of data, which is not specifically limited in this application.

[0086] S102: The device-side SDK sends positioning data and satellite data to the cloud-side SDK. Correspondingly, the cloud-side SDK receives the positioning data and satellite data sent by the device-side SDK.

[0087] S103: The cloud-side SDK inputs the positioning data and satellite data into a FIFO file.

[0088] FIFO files are created in the cloud phone's operating system 124 using the mkfifo command or the mkfifo() function in code. They are identified by their corresponding file paths and are used for inter-process communication. The file paths are used to establish a communication channel between the GPS_MOCK module and the FIFO files. Furthermore, FIFO files adhere to the first-in-first-out principle, ensuring that written positioning data and satellite data are read by the reading process in the order they were written.

[0089] Positioning data and satellite data are obtained by the client-side SDK at multiple time points based on a certain time interval. Their order plays an important role in the navigation of subsequent cloud phone applications. Inputting positioning data and satellite data into a FIFO file ensures that subsequent cloud phone applications obtain positioning data and satellite data in sequence, thereby achieving accurate positioning and navigation.

[0090] S104: The GPS_MOCK module obtains the positioning data and satellite data from the FIFO file and parses them.

[0091] The GPS_MOCK module simulates GPS positioning services. Since a communication connection can be established between the FIFO file and the GPS_MOCK module based on the file path, the GPS_MOCK module can retrieve positioning data and satellite data input by the cloud SDK from the FIFO file. It then processes the data, for example, by parsing positioning data and satellite data represented as key-value pairs or in NMEA format, and performing necessary processing on the parsed positioning data and satellite data, such as verification, filtering, and format conversion, to ensure that the data format meets the requirements of the hardware abstraction layer and can be obtained and used by the cloud phone application.

[0092] In addition to the GPS_MOCK module, there are more types and numbers of virtual modules in the operating system corresponding to the cloud phone, and this application does not specifically limit this. Since FIFO files are used for inter-process communication, and it can be seen from the above process that the GPS_MOCK module obtains positioning data and satellite data from the FIFO file, different virtual modules can transfer data through FIFO files instead of communicating through direct function calls or other means. This can keep different virtual modules in the operating system independent of each other, facilitate module replacement and updating, and thus better implement module management in the cloud phone virtual environment.

[0093] S105: The GPS_MOCK module sends the parsed positioning data and satellite data to the hardware abstraction layer.

[0094] The hardware abstraction layer (HAL) is used to simulate the behavior of real hardware devices and provide a standardized interface for the operating system. Since the operating system provided in the embodiments of the present application can be an Android system, the Android system can run on a variety of different service nodes, each of which may have different hardware structures and components. The interface provided by the HAL allows the HAL to interact with hardware resources without considering the differences in hardware resources.

[0095] S106: The hardware abstraction layer starts the GPS driver and sends the acquired positioning data and satellite data to the cloud-side framework layer.

[0096] Since the hardware abstraction layer can interact with the operating system, while the cloud phone application cannot interact with the operating system, the GPS_MOCK module first sends the positioning data and satellite data to the hardware abstraction layer after parsing the positioning data and satellite data. After that, the hardware abstraction layer starts the GPS driver according to the received positioning data and satellite data, and sends the positioning data and satellite data parsed by the GPS_MOCK module to the cloud-side framework layer, so that the parsed positioning data and satellite data can be obtained by the cloud phone application.

[0097] S107: The cloud phone application obtains positioning data and satellite data from the cloud-side framework layer for positioning or navigation.

[0098] The cloud phone application obtains the positioning data and satellite data in the cloud-side framework layer by calling interfaces such as the location API of the cloud-side framework layer.

[0099] In addition to the above-mentioned method of using FIFO files to pass data to the GPS_MOCK module, the cloud-side SDK can also pass positioning data and satellite data to the connected GPS_MOCK module through sockets, etc., which is not specifically limited in this application.

[0100] From the above content, we can see that the newly added FIFO file, GPS_MOCK module and HAL layer can cooperate with each other to realize GPS hardware simulation in the cloud phone, providing cloud phone applications with usable positioning data and satellite data. Compared with navigation based only on positioning data, cloud phone applications combine satellite data and positioning data to achieve accurate positioning and navigation functions in more positioning and navigation scenarios.

[0101] It can be understood that Figure 3 is only a possible example provided by an embodiment of the present application. In actual applications, there may be more types and numbers of devices in terminal devices and cloud phones, and this application does not make specific limitations on this.

[0102] According to the structural diagram of the terminal device and the cloud phone shown in FIG3 , the present application provides a cloud phone navigation method, which is applied to the cloud phone shown in FIG3 , and can be applied to a variety of scenarios according to the different types of terminal devices shown in FIG3 , which the present application does not specifically limit. The cloud phone determines whether to send a request to the terminal device to apply for user positioning authority by judging whether the running cloud phone application has positioning, navigation and other functions, or determines whether to send a request to the terminal device to stop applying for user positioning authority, thereby solving the problem of unnecessary performance loss in the above-mentioned terminal device; thereafter, by receiving and processing the positioning data and satellite data sent by the terminal device, so that the cloud phone application can navigate according to the positioning data and satellite data, the problem that the above-mentioned cloud phone is difficult to perform accurate navigation can be solved.

[0103] As shown in FIG5 , FIG5 is a flowchart of a cloud phone navigation method provided in an embodiment of the present application, and the method includes the following steps.

[0104] Step S510: Determine whether the first cloud phone application has positioning and navigation functions. If it is determined that the first cloud phone application has positioning and navigation functions, step S520 is executed; if it is determined that the first cloud phone application does not have positioning and navigation functions, step S550 is executed, and all operations are terminated.

[0105] For example, a user logs in through a cloud phone client or browser on a terminal device. After logging in, the terminal device can connect to the cloud phone via the network. The cloud phone then launches the first cloud phone application based on the user's instruction to click on the first cloud phone application icon. At this point, the first cloud phone application is the only application running on the cloud phone. After the first cloud phone application is launched, the cloud phone interacts with the application awareness module to determine whether the first cloud phone application has positioning and navigation functions. The specific determination process has been described in the description of the application awareness module above and will not be repeated here.

[0106] In one possible implementation, when it is determined that the first cloud phone application has positioning and navigation functions, the cloud phone also records the first cloud phone application identifier. When the current number of cloud phone applications is 0, the number of cloud phone applications is updated and recorded as 1 to indicate that only the first cloud phone application among the cloud phone applications currently running in the cloud phone has positioning and navigation functions.

[0107] In another possible implementation, when it is determined that the first cloud phone application does not have positioning and navigation functions, the cloud phone does not record the first cloud phone application identifier, and when the current number of cloud phone applications is 0, the current number of cloud phone applications remains unchanged.

[0108] Step S520: Send a positioning request to the terminal device.

[0109] The cloud phone sends a positioning request to the terminal SDK in the terminal device through the cloud SDK.

[0110] Exemplarily, the positioning request is a request for user positioning permission, which enables the terminal device to apply for positioning permission from the user upon receiving the positioning request and collect the user's confirmation of authorization of positioning permission. When the terminal device determines that the user has confirmed authorization of positioning permission, it continuously obtains multiple first data at a certain time interval. Each first data includes positioning data and satellite data. Specifically, the positioning data and satellite data include at least the multiple data shown in Tables 1 and 2 above, which will not be repeated here. The time interval is set based on experience and is not specifically limited in this application.

[0111] During the above process, the only application running in the cloud phone is the first cloud phone application. Only when the first cloud phone application has positioning and navigation functions, the cloud phone sends a positioning request to the terminal device and controls the terminal device to start acquiring positioning data and satellite data, thereby avoiding the situation where the terminal device acquires positioning data and satellite data that the cloud phone does not need, thereby reducing unnecessary performance consumption of the terminal device.

[0112] Step S530: Receive multiple first data sent by the terminal device, and obtain multiple second data based on the multiple first data.

[0113] The cloud phone receives multiple first data sent by the terminal device through the terminal SDK via the cloud SDK, wherein the multiple first data cannot be obtained and used by the cloud phone application. Therefore, the cloud phone processes the multiple first data to obtain multiple second data, wherein the multiple second data can be obtained and used by the cloud phone application.

[0114] For example, after receiving the plurality of first data, the cloud phone inputs the plurality of first data into a FIFO file in the operating system through the cloud SDK. Subsequently, the cloud phone specifies the path of the FIFO file containing the plurality of first data through parameters to establish a communication channel between the GPS_MOCK module and the FIFO file, so that the GPS_MOCK module in the operating system obtains the plurality of first data from the FIFO file and obtains the plurality of second data based on the plurality of first data. The specific process has been described in detail in the previous description of the GPS_MOCK module and will not be repeated here.

[0115] For example, multiple first data may be represented by key-value pairs, each key-value pair representing a certain positioning data or satellite data in the first data. The key and value are connected by an equal sign, and different key-value pairs are separated by an "&" symbol. Multiple key-value pairs may be represented as "key1=value1&key2=value2&key3=value3...". The specific data in Table 1 and Table 2 included in the key-value pairs and their values ​​depend on the requirements of the first cloud phone application and the data acquisition method, and are not specifically limited in this application.

[0116] After multiple first data represented in the form of key-value pairs are injected into the FIFO file, the cloud phone parses the FIFO file through the GPS_MOCK module, verifies, filters, converts the format of the multiple first data, and obtains multiple second data. The second data is the positioning data and satellite data obtained by the GPS_MOCK module.

[0117] Currently, cloud phones only obtain positioning data including latitude and longitude information and base station information in Table 1, and navigate based on the positioning data. Due to factors such as sensor errors and signal attenuation, positioning errors may gradually accumulate, and positioning accuracy is poor. The acquisition of positioning data requires good wireless network coverage. Inside tunnels or remote areas, it may not be possible to obtain stable base station signals and accurate positioning data. In addition, in lane-level navigation application scenarios, relying solely on positioning data cannot provide the precise map data required for navigation to identify the current lane and road structure. Therefore, in lane-level navigation or navigation in tunnels, the cloud phone navigation function cannot be realized by relying on positioning data. Therefore, in addition to obtaining the positioning data shown in Table 1, this application also obtains the satellite data shown in Table 2. Satellite data is more accurate and reliable, and can provide accurate map data for identifying lanes and road structures.

[0118] Cloud phones combine positioning data and satellite data to cope with complex environments and road conditions, ensuring that cloud phone navigation methods can be used in more navigation scenarios.

[0119] Step S540: performing positioning navigation according to the plurality of second data.

[0120] After the GPS_MOCK module obtains multiple second data, the cloud phone receives the multiple second data sent by the GPS_MOCK module through the hardware abstraction layer, and enables the hardware abstraction layer to send the multiple second data to the cloud side framework layer, so that the first cloud phone application can obtain multiple second data by calling the location API and other interfaces of the cloud side framework layer.

[0121] The cloud phone calls the location API and other interfaces in the cloud side framework layer through the first cloud phone application to obtain multiple second data in the cloud side framework layer, and performs positioning or navigation according to the multiple second data and the needs of the first cloud phone application.

[0122] In addition, in addition to the above content, in a possible implementation mode, when the user closes the background service of the first cloud phone application and the first cloud phone application stops running, the cloud phone returns to execute step S510 to determine that there is no running cloud phone application with positioning and navigation functions in the current cloud phone. Before executing step S550, the cloud phone also reduces the currently recorded number of cloud phone applications by 1, updates and records the number of cloud phone applications as 0, and the cloud phone also sends a stop positioning request to the terminal side SDK of the terminal device through the cloud side SDK, so that the terminal device stops obtaining the first data.

[0123] Step S550: End.

[0124] In a specific implementation, when the user starts the first cloud phone application and then starts the second cloud phone application, the cloud phone executes the steps shown in Figure 5, and there are the following multiple situations.

[0125] When the first cloud phone application is running, regardless of whether the second cloud phone application has positioning and navigation functions, the cloud phone instructs the terminal device to continuously send the first data and obtain the second data based on the first data. If the second cloud phone application has positioning or navigation functions, the cloud phone records the second cloud phone application identifier and increases the number of cloud phone applications by 1. Thereafter, the cloud phone uses the first cloud phone application and the second cloud phone application to implement positioning or navigation functions based on the second data. If the second cloud phone application does not have positioning or navigation functions, the cloud phone does not record the second cloud phone application identifier and maintains the current number of cloud phone applications at 1. The cloud phone still uses the first cloud phone application to implement positioning or navigation functions based on the second data.

[0126] When the first cloud phone application stops running, the cloud phone executes step S510 shown in Figure 5. When the second cloud phone application has positioning or navigation functions, the cloud phone records the second cloud phone application identifier and increases the number of cloud phone applications from 0 to 1, and re-sends a positioning request to the terminal device to obtain the first data sent by the terminal device. After that, the cloud phone implements the positioning or navigation function according to the second data through the second cloud phone application; when the second cloud phone application does not have positioning or navigation functions, the cloud phone ends the operation until a new cloud phone application appears in the cloud phone, triggering the cloud phone to re-execute the steps shown in Figure 5.

[0127] In summary, the cloud phone navigation method provided by the embodiment of the present application determines whether to send a request for user positioning permission to the terminal device by judging whether the running cloud phone application has positioning or navigation functions. The terminal device starts to obtain user positioning permission, positioning data and satellite data only when it receives the request for user positioning permission sent by the cloud phone, and stops obtaining user positioning permission, positioning data and satellite data when it receives the request to stop applying for user positioning permission sent by the cloud phone. This can avoid the performance loss problem caused by the terminal device continuously obtaining data when the cloud phone does not need positioning data and satellite data. In addition, by processing the positioning data and satellite data sent by the terminal device, the cloud phone application can obtain more accurate positioning information, lane information and map information based on the positioning data and satellite data, thereby ensuring that cloud phone navigation can be implemented in various navigation scenarios.

[0128] As shown in Figure 6, Figure 6 is a schematic diagram of the structure of a computing device 600 provided in an embodiment of the present application. The computing device can be used as a service node in the cloud phone navigation system shown in Figure 1 to implement the cloud phone navigation method shown in Figure 5. The computing device includes at least an operating system 124, a bus 610, a processor 620, a memory 630, and a communication interface 640. The processor 620, the memory 630, and the communication interface 640 communicate with each other via the bus 610. It should be understood that the present application does not limit the number of processors and memories in the computing device 600.

[0129] Bus 610 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, among others. Buses may be classified as address buses, data buses, control buses, and the like. For ease of illustration, FIG6 shows a single bus line, but this does not imply a single bus or type of bus. Bus 610 may include a path for transmitting information between various components of computing device 600 (e.g., processor 620, memory 630, and communication interface 640).

[0130] The processor 620 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0131] The memory 630 may include a volatile memory (volatile memory), such as a random access memory (RAM). The memory 630 may also include a non-volatile memory (non-volatile memory), such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD) or a solid state drive (SSD), and the memory may also include a combination of the above types. The memory 630 stores program instructions for the cloud phone to implement the cloud phone navigation method in Figure 5, as well as executable program codes of modules such as the application perception module and the GPS_MOCK module in the operating system. The processor 620 executes the above program instructions, and the above program codes can respectively implement the functions of the cloud phone, the application perception module, the GPS_MOCK module and other modules, thereby realizing GPS simulation and cloud phone navigation in the cloud phone. In addition, the memory 630 may also store more types and quantities of data, such as positioning data, satellite data, etc., which are not specifically limited in this application.

[0132] The communication interface 640 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 600 and other devices or a communication network.

[0133] It should be noted that FIG6 is only a possible implementation of an embodiment of the present application. In actual applications, the computing device may also include more or fewer components, which is not limited here.

[0134] As shown in Figure 7, Figure 7 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application. The computing device cluster includes at least one computing device 600. In addition to the components shown in Figure 6, the computing device also includes an operating system 124 and a cloud phone 123. Among them, each computing device can communicate with each other. The memory 630 in one or more computing devices 600 in the computing device cluster can store the same instructions for executing the cloud phone navigation method provided in this application.

[0135] In some possible implementations, the memory 630 of one or more computing devices 600 in the computing device cluster may also store some instructions for executing the cloud phone navigation method. In other words, the combination of one or more computing devices 600 can jointly execute the instructions of the cloud phone navigation method.

[0136] In one possible implementation, the aforementioned computing device cluster is integrated into a computing resource pool using virtualization technology, with cloud phone management node 122 generating and allocating computing resources on demand, enabling elastic expansion or reduction of computing resources. As shown in FIG7 , cloud phone management node 122 can create cloud phones 123 on demand within a computing device, though this application does not impose specific limitations on this.

[0137] Figure 8 is a structural diagram of one or more computing devices provided by an embodiment of the present application connected via a network. As shown in Figure 8, two computing devices 600A and 600B are connected via a network, and the computing device 600A includes a bus 610A, a processor 620A, a memory 630A, a communication interface 640A, an operating system 124A and a cloud phone 123A, and the computing device 600B includes a bus 610B, a processor 620B, a memory 630B, a communication interface 640B, an operating system 124B and a cloud phone 123B. Specifically, the network is connected through the communication interface in each computing device. In this type of possible implementation, the memory 630A in the computing device 600A contains instructions for executing the functions of the application perception module. At the same time, the memory 630B in the computing device 600B contains instructions for executing the functions of the FIFO file and the GPS_MOCK module. The computing device 600A and the computing device 600B can realize the positioning and navigation of the cloud phones respectively deployed in the computing device 600A and the computing device 600B through data interaction.

[0138] The present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a storage service device or stored on any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the cloud phone navigation method shown in FIG5 .

[0139] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute a cloud phone navigation method shown in Figure 5.

[0140] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the protection scope of the technical solutions of the various embodiments of the present invention.

Claims

1. A cloud mobile phone navigation system, characterized in that, The system includes a terminal device, a cloud phone, and an operating system applicable to the cloud phone: The operating system is used to determine whether the cloud phone applications running on the cloud phone have a positioning and navigation function; The cloud phone is used to send a positioning request to the terminal device when receiving a notification from the operating system that the running cloud phone application has a positioning and navigation function; The terminal device is used to obtain a plurality of first data according to the received positioning request and send the plurality of first data to the cloud phone, and the plurality of first data is used for positioning and navigation; The cloud phone is further used to perform positioning and navigation according to the plurality of first data through the cloud phone application.

2. The system according to claim 1, characterized in that, The terminal device is specifically used for: Applying for the user's positioning permission according to the received positioning request; Obtaining the plurality of first data when collecting an instruction for the user to authorize the positioning permission, where each of the plurality of first data includes first positioning data and first satellite data, the first positioning data includes data obtained through base station, Bluetooth or WiFi technology, and the first satellite data includes data obtained through Global Positioning System (GPS) technology.

3. The system according to claim 2, characterized in that, The operating system is further used for: Obtaining a plurality of second data according to the plurality of first data, where each of the plurality of second data includes second positioning data and second satellite data; Sending the plurality of second data to the cloud phone, and the plurality of second data is used for the cloud phone to perform positioning and navigation through the cloud phone application.

4. The system according to any one of claims 1 to 3, characterized in that, The operating system is further used to record the cloud phone application identifier and record the number of cloud phone applications as 1 when determining that the running cloud phone application has a positioning and navigation function, where the number of cloud phone applications is initially 0 and is used to indicate the number of cloud phone applications that are running on the cloud phone and have a positioning and navigation function.

5. The system according to claim 4, wherein The operating system is further used to re-record the number of cloud phone applications as 0 and send a notification to the cloud phone that the cloud phone application stops requesting positioning when determining that the cloud phone application stops running.

6. The system according to claim 5, wherein The cloud phone is further used to send a stop positioning request to the terminal device when receiving the notification that the cloud phone application stops requesting positioning, and the stop positioning request is used to instruct the terminal device to stop obtaining the first data.

7. The system according to any one of claims 5 or 6, characterized in that The cloud phone is any one of a container or a plug-in machine.

8. An operating system, characterized in that, The operating system is an operating system applicable to the cloud phone and interacts with the cloud phone. The operating system includes: An application perception module, which is used to determine whether the cloud phone applications running on the cloud phone have a positioning and navigation function; The application perception module is further used to notify the cloud phone when determining that the running cloud phone application has a positioning and navigation function, so that the cloud phone sends a positioning request to the terminal device to obtain a plurality of first data, and the plurality of first data is used for the cloud phone to perform positioning and navigation through the cloud phone application.

9. The operating system according to claim 8, characterized in that, Each of the multiple first data includes first positioning data and first satellite data. The first positioning data includes data obtained through base station, Bluetooth, or WiFi technology, and the first satellite data includes data obtained through Global Positioning System (GPS) technology.

10. The operating system according to claim 9, characterized in that, The operating system further includes a First-In-First-Out (FIFO) file and a Global Positioning System virtual module (GPS_MOCK). There is a communication connection between the FIFO file and the GPS_MOCK module: The FIFO file is used to receive the multiple first data obtained by the cloud phone. The GPS_MOCK module is used to obtain the multiple first data from the FIFO file and obtain multiple second data based on the multiple first data. Each of the multiple second data includes second positioning data and second satellite data, and the multiple second data are applicable to the cloud phone application. It is further used to send the multiple second data to the cloud phone so that the cloud phone can perform positioning and navigation based on the multiple second data through the cloud phone application.

11. The operating system according to any one of claims 8-10, characterized in that, The application awareness module is further used to record the cloud phone application identifier and record the number of cloud phone applications as 1 when it is determined that the running cloud phone application has a positioning and navigation function. The number of cloud phone applications is initially 0 and is used to indicate the number of cloud phone applications that are running and have a positioning and navigation function in the cloud phone.

12. The operating system according to claim 11, characterized in that, The application awareness module is further used to re-record the number of cloud phone applications as 0 when it is determined that the cloud phone application stops running, and notify the cloud phone so that the cloud phone sends a stop positioning request to the terminal device. The stop positioning request is used to instruct the terminal device to stop obtaining the multiple first data.

13. A cloud phone navigation method, applied to a cloud phone, characterized in that, The method includes: When it is determined that the running cloud phone application has a positioning and navigation function, send a positioning request to the terminal device so that the terminal device obtains multiple first data and sends the multiple first data to the cloud phone. The multiple first data are used for positioning and navigation. Receive the multiple first data and perform positioning and navigation through the cloud phone application based on the multiple first data.

14. The method according to claim 13, characterized in that Each of the multiple first data includes positioning data and satellite data. The positioning data includes data obtained through base station, Bluetooth, or WiFi technology, and the satellite data includes data obtained through GPS technology.

15. The method according to claim 14, wherein The receiving the multiple first data and performing positioning and navigation based on the multiple first data includes: Receive the multiple first data and send the multiple first data to the operating system so that the operating system obtains multiple second data based on the multiple first data and sends the multiple second data to the cloud phone. Each of the multiple second data includes second positioning data and second satellite data. Receive the multiple second data and perform positioning and navigation through the cloud phone application based on the multiple second data.

16. The method according to any one of claims 13 - 15, characterized in that, The method further includes: When it is determined that the cloud mobile phone application has stopped running, send a stop positioning request to the terminal device, where the stop positioning request is used to instruct the terminal device to stop acquiring the first data.

17. A cluster of computing devices, characterized in that, Comprising at least one computing device, each computing device including a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 13 to 16.

18. A computer program product comprising instructions, characterized in that, When the instructions are run by the computing device, the computing device is caused to execute the method according to any one of claims 13 to 16.

19. A computer-readable storage medium, characterized in that, Comprising computer program instructions, when the instructions are run on the computing device, the computing device is caused to execute the method according to any one of claims 13 to 16.

Citation Information

Patent Citations

  • Cloud mobile phone positioning method, system and device and storage medium

    CN110138889A

  • Distributed cloud mobile phone and system

    CN111885223A

  • Positioning data redirection method and system

    CN112463897A

  • Method for updating position information of terminal equipment on cloud mobile phone

    CN112511641A

  • Method for determining position information, cloud mobile phone and terminal equipment

    CN113691937A