Cloud mobile phone navigation system, operating system and cloud mobile phone navigation method
By determining whether cloud mobile applications need positioning data, and only obtaining and combining positioning data and satellite data when necessary, the problem that cloud mobile phones cannot perform positioning and navigation is solved, improving navigation accuracy and reducing performance losses.
Patent Information
- Application Number
- CN202410471676.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-27
- Filing Date
- 2024-04-18
- Publication Date
- 2025-06-27
AI Technical Summary
Due to the lack of hardware equipment, cloud mobile phones cannot obtain data for location and navigation, resulting in the inability to run cloud mobile applications that rely on hardware normally.
By pre-judging whether the cloud mobile application running in the cloud mobile phone has the positioning navigation function, send positioning requests to the terminal device only when needed, obtain positioning data and satellite data, and combine them to achieve accurate positioning navigation function.
It effectively avoids performance losses caused by terminal devices that continuously acquire data without obtaining positioning data in the cloud mobile phone, and also improves the positioning and navigation accuracy of cloud mobile phone applications.
Smart Images

Figure CN120213003A_ABST
Abstract
Description
[0001] This application claims the priority of a Chinese patent application with the application number 202311825284.3, titled "A Navigation Method, System and Related Devices", which was filed with the China National Intellectual Property Administration on December 27, 2023. The entire content of this Chinese patent application is incorporated herein by reference. Technical Field
[0002] This 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 that runs an operating system in a physical server and has virtual phone functions at the same time. Applications are installed in the cloud phone and can run these applications. The audio and video streams generated during the operation of the cloud phone applications can be sent to a terminal device connected to the cloud phone through the network. The control commands generated by the user's touch operations on the terminal device can also be sent to the cloud phone through the network, so that the cloud phone controls the operation of the cloud phone applications according to the control commands. Since the cloud phone lacks hardware devices and cannot obtain data for positioning and navigation, the cloud phone cannot normally run cloud phone applications that rely on hardware such as positioning and navigation. Summary of the Invention
[0004] This application discloses a cloud phone navigation system, an operating system, and a cloud phone navigation method. By pre-judging whether the cloud phone applications running in the cloud phone have positioning and navigation functions, 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 the satellite data to achieve a more accurate positioning and navigation function.
[0005] In a first aspect, this application provides a cloud phone navigation system, which includes a terminal device, a cloud phone, and an operating system applicable to the cloud phone. Among them, the operating system is used to determine whether the cloud phone applications running in the cloud phone have positioning and navigation functions. When it is determined that the running cloud phone applications have positioning and navigation functions, it notifies the cloud phone so that the cloud phone sends a positioning request to the terminal device. The terminal device is used to obtain a plurality of first data after receiving the positioning request and send the plurality of first data to the cloud phone. The plurality of first data are used for positioning and navigation. Then, the cloud phone is used to perform positioning and navigation according to the plurality of first data through the above-mentioned cloud phone applications with positioning and navigation functions.
[0006] In the above cloud mobile phone navigation system, by determining whether the cloud mobile phone application has a positioning and navigation function, it controls whether the cloud mobile phone sends a positioning request to the terminal device. The terminal device only obtains the first data for positioning and navigation when it receives the positioning request, avoiding the problem of unnecessary performance loss caused by the terminal device continuously obtaining the first data when the cloud mobile phone does not need to obtain the first data.
[0007] Exemplarily, the terminal device is specifically configured to, according to the received positioning request, first apply for the user's positioning permission, and then, when an instruction for collecting the user's authorized positioning permission is collected, obtain a plurality of first data, 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.
[0008] The positioning data obtained through base station, Bluetooth, or WiFi technology includes, but is not limited to, data such as the longitude, latitude, speed, altitude, and positioning accuracy of the terminal device. The satellite data obtained through GPS technology includes, but is not limited to, data such as satellite identification, satellite type, measurement time offset, and synchronization status. The terminal device obtains the positioning data and the satellite data and sends the positioning data and the satellite data to the cloud mobile phone, which can enable the cloud mobile phone application to combine the positioning data and the satellite data to obtain a more accurate positioning and navigation result.
[0009] Exemplarily, the operating system is further configured to, according to the plurality of first data, obtain a plurality of second data, where each of the plurality of second data includes second positioning data and second satellite data, and then send the plurality of second data to the cloud mobile phone, so that the cloud mobile phone application performs positioning and navigation according to the plurality of second data.
[0010] Since the first data sent by the terminal device to the cloud mobile phone cannot be directly used by the cloud mobile phone application, the operating system needs to first process the first data and then send the processed second data that can be obtained and used by the cloud mobile phone application to the cloud mobile phone, realizing GPS hardware simulation, so that the cloud mobile phone application can achieve accurate positioning and navigation according to the second positioning data and the second satellite data.
[0011] Exemplarily, the operating system is further configured to, when it is determined that the running cloud mobile phone application has a positioning and navigation function, record the cloud mobile phone application identifier, and record the cloud mobile phone application number as 1 when the initial value of the cloud mobile phone application number is 0, where the cloud mobile phone application number is used to indicate the number of cloud mobile phone applications that are running in the cloud mobile phone and have a positioning and navigation function.
[0012] Exemplarily, the operating system is further configured to, when determining 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 to request positioning for the stopped cloud phone application.
[0013] The cloud phone is further configured to, when receiving the notification to request positioning for the stopped cloud phone application, send a stop positioning request to the terminal device, and the stop positioning request is used to instruct the terminal device to stop acquiring the first data.
[0014] By marking the number of cloud phone applications to determine whether the cloud phone needs positioning data and satellite data, when the cloud phone receives the notification to request stop positioning, it sends a stop positioning request to the terminal device, so that the terminal device can timely stop acquiring positioning data and satellite data, reducing the unnecessary performance loss caused by the terminal device continuously acquiring the first data when the cloud phone does not need to acquire the first data.
[0015] Exemplarily, the cloud phone is any one of a container or a plug-in board machine.
[0016] In a second aspect, the present application provides an operating system, which is an operating system applicable to a cloud phone and interacts with the cloud phone. The operating system includes an application perception module. The application perception module is configured to determine whether the cloud phone application running in the cloud phone has a positioning and navigation function; when determining that the running cloud phone application has a positioning and navigation function, notify the cloud phone so that the cloud phone sends a positioning request to the terminal device to acquire a plurality of first data, and the plurality of first data are used for the cloud phone to perform positioning and navigation through the cloud phone application.
[0017] Exemplarily, 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.
[0018] Exemplarily, the operating system further includes a first in first out (FIFO) file and a Global Positioning System virtual module GPS_MOCK, and there is a communication connection between the FIFO file and the GPS_MOCK module. The FIFO file is configured to receive the plurality of first data acquired by the cloud phone; the GPS_MOCK module is configured to acquire the plurality of first data from the FIFO file and obtain 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, and the plurality of second data are applicable to the cloud phone application; then, the GPS_MOCK module sends the plurality of second data to the cloud phone so that the cloud phone performs positioning and navigation according to the plurality of second data through the cloud phone application.
[0019] In the above operating system, since the FIFO file has the property of first-in-first-out, it is possible to process the first data according to the order of obtaining multiple first data and send it to the cloud phone, so that the cloud phone can perform accurate positioning and navigation based on the data in the correct chronological order. In addition, the GPS_MOCK module can process multiple first data to 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 further configured 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, where 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.
[0021] Exemplarily, the application perception module is further configured to re-record the number of cloud phone applications as 0 and notify the cloud phone when it is determined that the cloud phone application has stopped running, so that the cloud phone sends a stop positioning request to the terminal device, and the stop positioning request is used to instruct the terminal device to stop obtaining multiple first data.
[0022] In a third aspect, the present application provides a cloud phone navigation method applied to a cloud phone. The method includes: when it is determined that the running cloud phone application has a positioning and navigation function, sending 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, and after receiving the multiple first data, the cloud phone performs positioning and navigation according to the multiple first data through the cloud phone application.
[0023] Exemplarily, each of the multiple first data includes positioning data and satellite data, where the positioning data includes data obtained through base station, Bluetooth or WiFi technology, and the satellite data includes data obtained through GPS technology.
[0024] Exemplarily, the specific process of the cloud phone receiving multiple first data and performing positioning and navigation according to 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 according to the multiple first data and sends the multiple second data to the cloud phone, where each of 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 according to the multiple second data through the cloud phone application.
[0025] Exemplarily, the method further includes: when it is determined that the cloud phone application has stopped running, sending a stop positioning request to the terminal device, and the stop positioning request is used to instruct the terminal device to stop obtaining first data.
[0026] Fourthly, the present application provides a computing device cluster, which includes at least one computing device, and each computing device includes a processor and a memory; the processor of at least one computing device is configured to execute instructions stored in the memory of at least one computing device, so that the computing device cluster executes any possible method in the above third aspect. At least one computing device in the computing device cluster further includes any possible operating system in the second aspect.
[0027] Fifthly, the present application provides a computer program product containing instructions, which, when run on a computing device, causes the computing device to execute any possible method in the above third aspect.
[0028] Sixthly, the present application provides a computer-readable storage medium, which includes computer program instructions. When the instructions are run on a computing device, the computing device is caused to execute any possible method in the above third aspect. Additionally, the instructions further include executable program instructions of the operating system provided in the above second aspect, enabling the computing device to implement the functions of the application awareness module and the GPS_MOCK module in the operating system provided in the above second aspect.
[0029] Based on the implementation manners provided in the above aspects of the present application, further combinations can be made to provide more implementation manners. Description of the Drawings
[0030] To more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly introduced below.
[0031] Figure 1 It is a schematic structural diagram of a cloud mobile phone navigation system provided by an embodiment of the present application;
[0032] Figure 2 It is a schematic structural diagram of a terminal device and a service node provided by an embodiment of the present application;
[0033] Figure 3 It is a schematic structural diagram of another terminal device and a service node provided by an embodiment of the present application;
[0034] Figure 4 It is a flowchart of implementing GPS simulation and positioning navigation in a cloud mobile phone provided by an embodiment of the present application;
[0035] Figure 5 It is a flowchart of a cloud mobile phone navigation method provided by an embodiment of the present application;
[0036] Figure 6 It is a schematic structural diagram of a computing device 600 provided by an embodiment of the present application;
[0037] Figure 7 It is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application;
[0038] Figure 8 It is a schematic structural diagram of one or more computing devices connected through a network provided by an embodiment of the present application. Detailed implementation manners
[0039] Next, the technical solutions in the embodiments of the present invention will be described with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0040] When a cloud phone runs a cloud phone application that requires positioning and navigation functions, the cloud phone sends a notification to the connected terminal device to apply for the user's positioning permission for the cloud phone application, so as to trigger the operation of the terminal device to apply for the user's positioning permission. After obtaining the user's positioning permission, the terminal device obtains 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 the precise navigation of the cloud phone.
[0041] First, the application scenarios involved in the present application will be described. Refer to Figure 1 , Figure 1 It is a schematic structural diagram of a cloud phone navigation system provided by an embodiment of the present application. The system includes a terminal device 110, a cloud data center 120, and a network 130. Among them, the terminal device and the cloud data center are connected through the network.
[0042] In specific implementation, the terminal device 110 can be various types of user equipment (UE), for example, a mobile phone, a tablet computer (pad), etc., and can also include electronic devices with data transmission and streaming media playback capabilities such as wearable devices, integrated handheld devices, and in-vehicle navigation devices. The present application does not make specific limitations on this.
[0043] In specific implementation, the cloud data center 120 can 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. The present application does not make specific limitations on this. The service node can be connected to other service nodes and the cloud phone management node through an internal network.
[0045] The cloud mobile phone management node 122 may be a server in a public cloud for managing cloud mobile phones. Specifically, it may be a general physical server or a virtual machine (VM) implemented 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 specific limitations on this.
[0046] Exemplarily, the service node 121 includes one or more cloud mobile phones 123, an operating system (OS) 124, and hardware resources 125.
[0047] A cloud mobile phone 123 is a cloud service with an operating system running in a physical server and having virtual functions. Usually, it shares hardware resources and the operating system with other cloud mobile phones on the server in the form of a container. Different cloud mobile phones are isolated from each other and do not interfere with each other. In the embodiments of this application, the cloud mobile phone can also be implemented using a virtual machine (VM) or a plug-in board machine. In the case where the cloud mobile phone is implemented using a plug-in board machine, the cloud mobile phone includes real hardware modules. This application does not make specific limitations on this.
[0048] Cloud mobile phone applications can be installed and run in the cloud mobile phone. The audio and video streams generated during the running of the cloud mobile phone applications can be sent to the terminal device through the network for display and playback. The control commands generated according to the user's operations by the terminal device can also be sent to the cloud mobile phone through the network, so that the cloud mobile phone controls the running of the cloud mobile phone applications according to the received control commands. Therefore, the above process can realize transferring the applications on the terminal device to run in the cloud mobile phone.
[0049] The operating system 124 may be an operating system suitable for cloud mobile phones. For example, the Android operating system. This application does not make specific limitations on this. It should be noted that the operating system 124 may be the official complete operating system or an operating system obtained by modifying individual driver modules of the official complete operating system to adapt to the running mode of the service node 121. This application does not make specific limitations on this.
[0050] The hardware resources 125 may include computing resources, storage resources, and network resources. For example, a processor, a memory, a network card, a router, a database, etc. It may also include other hardware resources that cloud mobile phones may need. This application does not make specific limitations on this.
[0051] It should be understood that the above Figure 1 shown cloud mobile phone navigation system is only a possible example provided by the embodiments of this application. The system may also include more devices. This application does not make specific limitations on this.
[0052] The following will take Figure 1 the terminal device in Figure 1 as an example of a mobile phone, and Figure 2 the cloud phone in Figure 2 as a container to further describe the terminal device and the cloud phone. As
[0053] The terminal device 110 includes at least a side SDK (software development kit) 111, a side framework (Framework) layer 112, and at least one mobile phone application 113:
[0054] The side SDK 111 includes application programming interfaces (APIs) related to the terminal device hardware and the terminal device operating system, as well as functional modules required for the development of various mobile phone applications, such as user interface design, network communication, data storage, sensor access, etc. The side SDK is also used to collect user touch operation instructions and send control instructions generated according to the user touch operation instructions to the cloud side SDK through the network.
[0055] The 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 location data, the side SDK can obtain the location data by calling the Location API or the Location Manager class API in the side framework layer. Specifically, the side SDK can determine what kind of location data to obtain according to the hardware modules existing in the terminal device, where the hardware modules include base station hardware modules, WiFi hardware modules, etc., and this application does not make specific limitations. Exemplarily, when there is a base station hardware module in the terminal device, the location data is shown in Table 1.
[0056] Table 1 Location Data Description Table
[0057] Location data Description latitude Latitude longitude Longitude altitude Altitude speed Speed bearing Bearing accuracy Positioning accuracy cell_type Base station type mcc Country code mnc Base station mobile network code lac Base station area code cid Base station number
[0058] Among them, in addition to the content included in Table 1, the location data can also include more types and quantities of data such as Bluetooth signal strength and WiFi signal strength according to the different hardware modules in the terminal device, and this application does not make specific limitations.
[0059] The mobile phone application 113 includes applications with functions such as location and navigation running in the terminal device, as well as applications with other functions, and this application does not make specific limitations.
[0060] The cloud phone 123 includes at least the cloud - side SDK 21, the cloud - side framework (Framework) layer 22, and at least one cloud - phone application 23.
[0061] The cloud - side SDK 21 includes application management APIs, performance monitoring APIs, etc., which are used to remotely control and manage the cloud phone. It also includes test tools, etc., which are not specifically limited in this application. The cloud - side SDK is also used to send the data network generated by the cloud - phone application to the end - side SDK.
[0062] The cloud - side framework layer 22 is used to provide an interface to the operating system 124 for at least one cloud - phone application.
[0063] The cloud - phone application 23 includes applications with functions such as positioning and navigation running in the cloud phone, as well as applications with other functions, which are not specifically limited in this application.
[0064] It can be understood that Figure 2 This is only a possible example provided by the embodiments of this application. In actual applications, there may be more types and quantities of devices in the terminal device and the service node, which are not specifically limited in this application.
[0065] After introducing the specific structures of the terminal device and the cloud phone in detail, how the cloud - phone application running in the cloud phone realizes positioning or navigation operations will be described in combination with the above - mentioned specific structures.
[0066] (1) The terminal device obtains positioning data and sends it to the cloud phone. Correspondingly, the cloud phone receives the positioning data sent by the terminal device.
[0067] Since the cloud phone is a container and lacks the hardware to obtain positioning data, and the cloud - phone application 23 running in the cloud phone has functions such as positioning and navigation and needs to obtain positioning data, the cloud phone 123 cannot obtain positioning data by itself. Therefore, in order to implement the positioning or navigation function of the cloud - phone application 23, the terminal device 110 needs to obtain positioning data and send it to the cloud phone.
[0068] Specifically, the mobile phone application 113 with functions such as positioning and navigation in the terminal device 110 starts running, the end - side SDK 111 is started, and it starts to request the positioning permission from the user. After collecting the operation instruction for the user 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, etc., to obtain the positioning data shown in Table 1 above. Then, the positioning data is sent to the cloud - side SDK 21 through the network.
[0069] (2) The cloud - phone application performs positioning or navigation operations according to the obtained positioning data.
[0070] The cloud - side SDK 21 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 the positioning data by calling the interfaces of the cloud - side framework layer 22 (for example, the location API) to implement positioning or navigation operations.
[0071] In the above - shown structures of the terminal device and the cloud phone, when performing cloud - phone positioning and navigation, there are the following two problems:
[0072] First, regardless of whether the running cloud - phone application needs positioning or navigation, the end - side SDK starts to apply for the user's positioning permission after the mobile phone application is launched. 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 the positioning data, the above operations are still executed, causing unnecessary performance loss of the terminal device.
[0073] Second, the accuracy of the positioning data received by the cloud - phone application is relatively low. It is difficult to implement basic navigation functions only based on the positioning data. Moreover, in navigation scenarios such as navigating in a tunnel or lane - level navigation, there are problems such as poor network signals and higher requirements for map data, making it even more difficult for the cloud - phone application to achieve precise navigation.
[0074] For the first problem, in the present application, Figure 2 an application perception module 25 is deployed in the operating system 124 of the service node in Figure 3 as shown specifically in Figure 3 which is a schematic 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 to apply for positioning permission to the cloud - side SDK when it is determined that a cloud - phone application with functions such as positioning and navigation is launched. Then, the cloud - side SDK can send the notification to apply 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 functions such as positioning and navigation stops running, a notification to stop the positioning permission is sent to the cloud - side SDK. Then, the cloud - side SDK can send the notification to stop the positioning permission to the end - side SDK, and the end - side SDK will stop obtaining positioning data.
[0075] The application perception module can enable the end - side SDK to obtain positioning data only when the cloud - phone application needs the positioning data, reducing unnecessary performance loss of the terminal device.
[0076] An application perception module is used to determine whether a cloud mobile phone application has location and navigation functions when the cloud mobile phone application starts running. Exemplarily, the application perception module obtains and checks the permission list corresponding to the cloud mobile phone application according to the cloud mobile phone application identifier, and determines whether the cloud mobile phone application has location and navigation functions according to 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 mobile phone application has a location function, and in the case where none of the above identifiers exist, it is determined that the cloud mobile phone application does not have a location function. It should be understood that the application perception module can also determine whether the running cloud mobile phone application has functions such as location and navigation in other ways, and this application does not make specific limitations in this regard.
[0077] The application perception module is used to record the cloud mobile phone application identifier and increment the currently recorded cloud mobile phone application count by 1 when it is determined that the cloud mobile phone application has functions such as location and navigation. The cloud mobile phone application count indicates the number of cloud mobile phone applications with functions such as location and navigation running in the current cloud mobile phone. In addition to the above data recording operation, the application perception module is also used to send a notification of the cloud mobile phone application's request for location permission to the cloud-side SDK, so that the cloud-side SDK sends the notification of the cloud mobile phone application's request for location permission to the end-side SDK, and the end-side SDK starts to request the user's location permission.
[0078] The application perception module is used to end the operation when it is determined that the cloud mobile phone application does not have functions such as location and navigation.
[0079] In addition to performing the above operations, when it is determined that a cloud mobile phone application with functions such as location and navigation stops running, the application perception module decrements the currently recorded cloud mobile phone application count by 1. Since the cloud mobile phone application count indicates the number of cloud mobile phone applications with functions such as location and navigation running in the current cloud mobile phone, in addition to the above data recording operation, the application perception module is also used to send a notification to stop applying for location permission to the cloud-side SDK when the cloud mobile phone application count is decremented to 0, so that the cloud-side SDK sends the notification to stop applying for location permission to the end-side SDK, and the end-side SDK stops obtaining location data. The application perception module is also used to continue to send a notification of the cloud mobile phone application's request for location permission to the cloud-side SDK when the cloud mobile phone application count is decremented but not to 0, so that the cloud-side SDK sends the notification of the cloud mobile phone application's request for location permission to the end-side SDK, and the end-side SDK continues to obtain location data.
[0080] As can be seen from the above, the application awareness module controls whether to send a notification to apply for location permission to the cloud-side SDK by determining whether there is a cloud phone application running functions such as location and navigation in the cloud phone. Only when the cloud-side SDK sends a notification to apply for location permission to the end-side SDK, the end-side SDK starts to obtain location data, and when the cloud-side SDK sends a notification to stop applying for location permission to the end-side SDK, the end-side SDK stops obtaining location data. The application awareness module can control when the end-side SDK obtains location data, thus avoiding the situation where the end-side SDK obtains location data but the cloud phone application does not need it, and reducing unnecessary performance consumption of the terminal device.
[0081] Regarding the second problem, a hardware abstraction layer 24 is added to the cloud phone, and a global positioning system mock (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 specifically in Figure 3 . In addition to obtaining location data, the end-side SDK also obtains satellite data. After receiving the location 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 location data and satellite data from this FIFO file and sends them to the hardware abstraction layer. The hardware abstraction layer then sends the processed location data and satellite data to the cloud-side framework layer so that the cloud phone application can obtain the processed location data and satellite data from the cloud-side framework layer by calling an interface, realizing GPS hardware emulation in the cloud phone, combining the satellite data and the location data, and the cloud phone application can more accurately implement the location and navigation function.
[0082] The above process will be described in detail below in conjunction with the accompanying drawings. Specifically, see Figure 4 , Figure 4 which is a flowchart of implementing GPS emulation and location and navigation in a cloud phone provided by an embodiment of the present application.
[0083] S101: The end-side SDK obtains location data and satellite data.
[0084] In a possible implementation manner, when the end-side SDK receives a notification to apply for location permission, in order to implement a more accurate location and navigation function, in addition to obtaining the location data shown in Table 1, it also obtains satellite data, and the satellite data is shown in Table 2.
[0085] Table 2 Satellite Data Description Table
[0086] Satellite information Description svid Satellite ID constellation Satellite type time_offset_ns Measured time offset state Synchronization state pseudorange_rate_mps Pseudorange rate pseudorange_rate_uncertainty_mps Pseudorange rate uncertainty accumulated_delta_range_state Accumulated delta range state accumulated_delta_range_m Accumulated delta range accumulated_delta_range_uncertainty_m Accumulated delta range uncertainty carrier_frequency_hz Carrier frequency multipath_indicator Multipath effect indicator agcLevelDb Automatic gain control level
[0087] Among them, in addition to the content included in Table 2, the satellite data may also include more types and quantities of data, and this application does not make specific limitations on this.
[0088] S102: The end - side SDK sends the 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 end - side SDK.
[0089] S103: The cloud - side SDK inputs the positioning data and satellite data into the FIFO file.
[0090] The FIFO file is created in the operating system 124 of the cloud phone through the mkfifo command or the mkfifo() function in the code, and is identified by the corresponding file path for inter - process communication. Among them, the file path is used to establish a communication channel between the GPS_MOCK module and the FIFO file. In addition, the FIFO file follows the first - in - first - out principle to ensure that the written positioning data and satellite data are read by the reading process in the order of writing.
[0091] Since the positioning data and satellite data are multiple data obtained by the end - side SDK at multiple time points according to a certain time interval, their time sequence plays an important role in the subsequent navigation of the cloud phone application. Inputting the positioning data and satellite data into the FIFO file can ensure that the subsequent cloud phone application obtains the positioning data and satellite data in order, so as to achieve accurate positioning and navigation.
[0092] S104: The GPS_MOCK module obtains the positioning data and satellite data from the FIFO file and parses them.
[0093] The GPS_MOCK module is used to simulate the GPS positioning service. Since a communication connection between the FIFO file and the GPS_MOCK module can be established according to the file path of the FIFO file, the GPS_MOCK module can obtain the positioning data and satellite data input by the cloud - side SDK from the FIFO file. Then, data processing is performed, for example, parsing the positioning data and satellite data represented in key - value pairs or in NMEA format, and performing necessary processing such as verification, screening, and format conversion on the parsed positioning data and satellite data 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.
[0094] In addition to the GPS_MOCK module, there are more types and quantities of virtual modules in the operating system corresponding to the cloud phone, which are not specifically limited in this application. Since the FIFO file is used for inter-process communication, and as can be seen from the above process, the GPS_MOCK module obtains positioning data and satellite data from the FIFO file. Therefore, different virtual modules can all transfer data through the FIFO file, rather than communicating through direct function calls and other means, which can keep different virtual modules in the operating system independent of each other, facilitating module replacement and update, and thus better realizing module management in the virtual environment of the cloud phone.
[0095] S105: The GPS_MOCK module sends the parsed positioning data and satellite data to the hardware abstraction layer.
[0096] The hardware abstraction layer 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 this application can be the Android system, and the Android system can run on multiple different service nodes, each service node may have different hardware structures and components. Through the interface provided by the hardware abstraction layer, the interaction between the hardware abstraction layer and hardware resources can be realized without considering the differences in hardware resources.
[0097] S106: The hardware abstraction layer starts the GPS driver and sends the obtained positioning data and satellite data to the cloud-side framework layer.
[0098] Since the hardware abstraction layer can interact with the operating system, while the cloud phone application cannot interact with the operating system. When the GPS_MOCK module parses the positioning data and satellite data, it first sends the positioning data and satellite data to the hardware abstraction layer. Then, 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.
[0099] S107: The cloud phone application obtains the positioning data and satellite data from the cloud-side framework layer for positioning or navigation.
[0100] 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.
[0101] In addition to the above method of using the FIFO file to transfer data to the GPS_MOCK module, the cloud-side SDK can also transfer the positioning data and satellite data to the connected GPS_MOCK module through methods such as socket, which are not specifically limited in this application.
[0102] As can be seen from the above, the newly added FIFO file, GPS_MOCK module, and HAL layer can cooperate with each other to achieve GPS hardware emulation in the cloud phone, providing locational data and satellite data that can be used for the cloud phone application. Compared with the situation of only navigating based on locational data, the cloud phone application combines satellite data and locational data, enabling precise positioning and navigation functions in more locational navigation scenarios.
[0103] It can be understood that Figure 3 This is only a possible example provided by the embodiments of the present application. In actual applications, there may be more types and quantities of devices in the terminal device and the cloud phone, and the present application does not make specific limitations thereto.
[0104] According to Figure 3 the schematic structural diagrams of the terminal device and the cloud phone shown, the present application provides a cloud phone navigation method, which is applied to Figure 3 the cloud phone shown, and according to Figure 3 the different types of terminal devices shown, this method can be applied to multiple scenarios, and the present application does not make specific limitations thereto. By determining whether the running cloud phone application has functions such as positioning and navigation, the cloud phone determines whether to send a request to the terminal device to apply for the user's positioning permission, or determines whether to send a request to the terminal device to stop applying for the user's positioning permission, which can solve the problem of unnecessary performance loss in the above terminal device; then, by receiving and processing the locational data and satellite data sent by the terminal device, enabling the cloud phone application to navigate based on the locational data and satellite data, the problem that the cloud phone is difficult to perform precise navigation can be solved.
[0105] As Figure 5 shown, Figure 5 is a flowchart of a cloud phone navigation method provided by an embodiment of the present application, and this method includes the following multiple steps.
[0106] 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 functions such as positioning and navigation, step S520 is executed; if it is determined that the first cloud phone application does not have functions such as positioning and navigation, step S550 is executed to end all operations.
[0107] Exemplarily, the user logs in through the cloud mobile phone client or browser in the terminal device. After the user logs in, the terminal device can be connected to the cloud mobile phone through the network. After that, the cloud mobile phone starts the first cloud mobile phone application by receiving the operation instruction of the user clicking on the first cloud mobile phone application icon. At this time, the first cloud mobile phone application is the only running application in the cloud mobile phone. After the first cloud mobile phone application is started, the cloud mobile phone interacts with the application perception module to determine whether the first cloud mobile phone application has positioning and navigation functions. The specific judgment process has been described in the above process of describing the application perception module, and will not be elaborated here.
[0108] In a possible implementation manner, when it is determined that the first cloud mobile phone application has positioning and navigation functions, the cloud mobile phone also records the first cloud mobile phone application identifier. When the current number of cloud mobile phone applications is 0, the number of cloud mobile phone applications is updated and recorded as 1 to indicate that only the first cloud mobile phone application among the running cloud mobile phone applications in the current cloud mobile phone has positioning and navigation functions.
[0109] In another possible implementation manner, when it is determined that the first cloud mobile phone application does not have positioning and navigation functions, the cloud mobile phone does not record the first cloud mobile phone application identifier. When the current number of cloud mobile phone applications is 0, the current number of cloud mobile phone applications remains unchanged.
[0110] Step S520: Send a positioning request to the terminal device.
[0111] The cloud mobile phone sends a positioning request to the side SDK in the terminal device through the cloud SDK.
[0112] Exemplarily, this positioning request is a request for applying for the user's positioning permission, which can enable the terminal device to apply for the positioning permission from the user and collect the operation instruction of the user confirming the authorized positioning permission when receiving this positioning request. When the terminal device determines that the user confirms the authorized 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 at least include various data shown in Table 1 and Table 2 above, which will not be elaborated here. The time interval is set according to experience, and this application does not make specific limitations on this.
[0113] In the above process, the only running application in the cloud mobile phone is the first cloud mobile phone application. Only when the first cloud mobile phone application has positioning and navigation functions, the cloud mobile phone sends a positioning request to the terminal device to control the terminal device to start obtaining positioning data and satellite data, thus avoiding the situation where the terminal device obtains positioning data and satellite data while the cloud mobile phone does not need them, and reducing the unnecessary performance consumption of the terminal device.
[0114] Step S530: Receive multiple first data sent by the terminal device, and obtain multiple second data based on the multiple first data.
[0115] The cloud phone receives multiple first data sent by the terminal device through the end-side SDK via the cloud SDK. Among them, 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, where the multiple second data can be obtained and used by the cloud phone application.
[0116] Exemplarily, after receiving the multiple first data, the cloud phone inputs the multiple first data into the FIFO file in the operating system through the cloud SDK. Then, the cloud phone specifies the path of the FIFO file including the multiple 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 can obtain the multiple first data from the FIFO file and obtain multiple second data based on the multiple first data. The specific process has been described in detail in the process of describing the GPS_MOCK module before and will not be elaborated here.
[0117] Exemplarily, the multiple first data can be represented in key-value pairs. Each key-value pair represents a certain positioning data or a certain satellite data in a first data. The key and the value are connected by an equal sign, and different key-value pairs are separated by an "&" symbol. The multiple key-value pairs can be expressed as "key1=value1&key2=value2&key3=value3...". Which data in Table 1 and Table 2 and their values are specifically included in the key-value pair depends on the requirements of the first cloud phone application and the data acquisition method, and this application does not make specific limitations on this.
[0118] After the multiple first data represented in key-value pairs are injected into the FIFO file, the cloud phone parses the FIFO file through the GPS_MOCK module, and performs processing such as verification, screening, and format conversion on the multiple first data to obtain multiple second data. The second data is the positioning data and satellite data parsed by the GPS_MOCK module.
[0119] Currently, cloud phones only obtain positioning data including data such as longitude and latitude information and base station information in Table 1 and perform navigation based on the positioning data. Due to factors such as sensor errors and signal attenuation, positioning errors may gradually accumulate, resulting in poor positioning accuracy. The acquisition of positioning data requires good wireless network coverage. Inside tunnels or in remote areas, it may not be possible to obtain a stable base station signal, and accurate positioning data cannot be obtained. Moreover, in the application scenario of lane-level navigation, relying solely on positioning data cannot provide the precise map data required for navigation to identify the current lane and road structure. Therefore, in the scenarios of lane-level navigation or in-tunnel navigation, relying on positioning data cannot achieve the cloud phone navigation function. Therefore, in addition to obtaining the positioning data shown in Table 1, this application also obtains the satellite data shown in Table 2. The satellite data is more accurate and reliable and can provide accurate map data for the identification of lanes and road structures.
[0120] By combining the positioning data and satellite data, the cloud phone can cope with complex environmental and road conditions, ensuring that the cloud phone navigation method can be used in more navigation scenarios.
[0121] Step S540: Perform positioning navigation based on multiple second data.
[0122] 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 the multiple second data by calling interfaces such as the location API of the cloud-side framework layer.
[0123] The cloud phone, through the first cloud phone application, calls interfaces such as the location API in the cloud-side framework layer to obtain multiple second data in the cloud-side framework layer and perform positioning or navigation based on the multiple second data and the requirements of the first cloud phone application.
[0124] In addition, in addition to the above content, in a possible implementation manner, 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 subtracts 1 from the currently recorded cloud phone application number, updates and records the cloud phone application number as 0, and the cloud phone also sends a stop positioning request to the end-side SDK of the terminal device through the cloud-side SDK, causing the terminal device to stop obtaining the first data.
[0125] Step S550: End.
[0126] In a specific implementation manner, when the user starts the first cloud phone application and then starts the second cloud phone application, the cloud phone executesFigure 5 The steps shown are specifically as follows in multiple cases.
[0127] When the first cloud mobile phone application is running, regardless of whether the second cloud mobile phone application has a positioning or navigation function, the cloud mobile phone instructs the terminal device to continuously send the first data and obtains the second data based on the first data. When the second cloud mobile phone application has a positioning or navigation function, the cloud mobile phone records the second cloud mobile phone application identifier and increments the number of cloud mobile phone applications by 1. After that, the cloud mobile phone realizes the positioning or navigation function based on the second data through the first cloud mobile phone application and the second cloud mobile phone application; when the second cloud mobile phone application does not have a positioning or navigation function, the cloud mobile phone does not record the second cloud mobile phone application identifier, keeps the number of cloud mobile phone applications with the current value of 1, and the cloud mobile phone still realizes the positioning or navigation function based on the second data through the first cloud mobile phone application.
[0128] When the first cloud mobile phone application stops running, the cloud mobile phone executes Figure 5 the steps S510 shown. When the second cloud mobile phone application has a positioning or navigation function, the cloud mobile phone records the second cloud mobile phone application identifier and increments the number of cloud mobile phone applications from 0 to 1, and resends a positioning request to the terminal device to obtain the first data sent by the terminal device. After that, the cloud mobile phone realizes the positioning or navigation function based on the second data through the second cloud mobile phone application; when the second cloud mobile phone application does not have a positioning or navigation function, the cloud mobile phone ends the operation until a new running cloud mobile phone application appears in the cloud mobile phone, triggering the cloud mobile phone to re-execute Figure 5 the steps shown.
[0129] In summary, a cloud mobile phone navigation method provided by an embodiment of the present application determines whether to send a request for applying for user positioning permission to the terminal device by determining whether the running cloud mobile phone application has a positioning or navigation function. The terminal device starts to obtain the user positioning permission, obtain positioning data and satellite data only when it receives the request for applying for user positioning permission sent by the cloud mobile phone, and stops obtaining the user positioning permission, stops obtaining the positioning data and satellite data when it receives the request for stopping applying for user positioning permission sent by the cloud mobile phone, which can avoid the performance loss problem caused by the terminal device continuously obtaining data when the cloud mobile phone does not need the positioning data and satellite data. Moreover, by processing the positioning data and satellite data sent by the terminal device, the cloud mobile phone application can obtain relatively accurate positioning information, lane information, map information, etc. based on the positioning data and satellite data, so as to ensure that the cloud mobile phone navigation can be realized in various navigation scenarios.
[0130] As Figure 6 shown, Figure 6This is a schematic structural diagram of a computing device 600 provided by an embodiment of the present application. The computing device can be applied as a service node in Figure 1 the cloud mobile phone navigation system shown in Figure 5 to implement the cloud mobile phone navigation method shown in
[0131] The bus 610 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of simplicity of representation, Figure 6 only one line is shown in
[0132] but it does not mean that there is only one bus or one type of bus. The bus 610 can include a path for transmitting information between various components of the computing device 600 (for example, the processor 620, the memory 630, the communication interface 640).
[0133] The processor 620 can include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP), etc.
[0133] The memory 630 can include volatile memory, such as random access memory (RAM). The memory 630 can also include non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid state drive (SSD). The memory can also include a combination of the above types. The cloud mobile phone for implementing Figure 5Program instructions for the cloud mobile phone navigation method, as well as executable program codes of modules such as the application awareness 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 mobile phone and modules such as the application awareness module and the GPS_MOCK module, so as to implement GPS simulation and cloud mobile phone navigation in the cloud mobile phone. In addition, more types and quantities of data can be stored on the memory 630, such as, for example, positioning data, satellite data, etc., which are not specifically limited in this application.
[0134] The communication interface 640 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement the communication between the computing device 600 and other devices or communication networks.
[0135] It should be noted that Figure 6 This is just a possible implementation manner of the embodiments of this application. In actual applications, the computing device may also include more or fewer components, which are not limited here.
[0136] As Figure 7 shown, Figure 7 is a schematic structural diagram of a computing device cluster provided by an embodiment of this application. The computing device cluster includes at least one computing device 600. In addition to the Figure 6 components shown, the computing device also includes an operating system 124 and a cloud mobile phone 123. Among them, the computing devices can communicate with each other. The same instructions for executing the cloud mobile phone navigation method provided by this application can be stored in the memory 630 of one or more computing devices 600 in the computing device cluster.
[0137] In some possible implementation manners, partial instructions for executing the cloud mobile phone navigation method can also be stored in the memory 630 of one or more computing devices 600 in the computing device cluster respectively. In other words, a combination of one or more computing devices 600 can jointly execute the instructions of the cloud mobile phone navigation method.
[0138] In a possible implementation manner, the above computing device cluster is integrated into a computing resource pool through virtualization technology, and the cloud mobile phone management node 122 generates and allocates computing resources as needed to achieve elastic expansion or reduction of computing resources. As Figure 7 shown, the cloud mobile phone management node 122 can create a cloud mobile phone 123 as needed in the computing device, which is not specifically limited in this application.
[0139] Figure 8 is a schematic structural diagram of one or more computing devices connected through a network provided by an embodiment of this application. As Figure 8As shown, two computing devices 600A and 600B are connected via a network. Computing device 600A includes bus 610A, processor 620A, memory 630A, communication interface 640A, operating system 124A, and cloud phone 123A. Computing device 600B includes bus 610B, processor 620B, memory 630B, communication interface 640B, operating system 124B, and cloud phone 123B. Specifically, they are connected to the network through the communication interfaces in each computing device. In this type of possible implementation, the memory 630A in computing device 600A stores instructions for executing the functions of the application awareness module. At the same time, the memory 630B in computing device 600B stores instructions for executing the functions of the FIFO file and the GPS_MOCK module. Through data interaction between computing device 600A and computing device 600B, the positioning and navigation of the cloud phones respectively deployed in computing device 600A and computing device 600B can be achieved.
[0140] The embodiments of the present application also provide a computer program product containing instructions. The computer program product can be software or a program product containing instructions that can run on a storage service device or be stored in any available medium. When the computer program product runs on at least one computing device, it causes at least one computing device to execute Figure 5 the cloud phone navigation method shown.
[0141] The embodiments of the present application also provide a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive), etc. The computer-readable storage medium includes instructions that direct the computing device to execute Figure 5 a cloud phone navigation method shown.
[0142] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments or perform equivalent replacements for some of the technical features. However, such modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.
Claims
1. A cloud phone navigation system, characterized in that: The system includes a terminal device, a cloud phone, and an operating system suitable for the cloud phone: The operating system is used to determine whether the cloud phone application running in the cloud phone has 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 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, wherein the plurality of first data is used for positioning navigation; The cloud phone is also used to perform positioning and navigation according to the multiple 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 location permission according to the received location request; When an instruction from the user to authorize the positioning authority is collected, the multiple first data are obtained, wherein 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.
3. The system according to claim 2, characterized in that The operating system is further used for: Obtain a plurality of second data according to the plurality of first data, wherein each second data in the plurality of second data comprises second positioning data and second satellite data; The multiple second data are sent to the cloud phone, and the multiple second data are used by 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 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, wherein the number of cloud phone applications is initially 0 and is used to indicate the number of cloud phone applications running in the cloud phone and having positioning and navigation functions.
5. The system according to claim 4, characterized in that The operating system 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 send a notification to the cloud phone that the cloud phone application has stopped requesting positioning.
6. The system according to claim 5, characterized in that The cloud phone is also used to send a stop positioning request to the terminal device when receiving a notification from the cloud phone application that the stop positioning request is stopped, 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 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 sensing module, used to determine whether the cloud phone application running in the cloud phone has a positioning and navigation function; The application perception module is also used to notify the cloud phone when it is determined that the running cloud phone application has positioning and navigation functions, so that the cloud phone sends a positioning request to the terminal device to obtain multiple first data, and the multiple first data are used by 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 plurality of first data includes first positioning data and first satellite data, wherein 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.
10. The operating system according to claim 9, characterized in that: The operating system also includes a first-in first-out FIFO file and a global positioning system virtual module GPS_MOCK, and 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 acquired 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 according to the multiple first data, wherein each second data in the multiple second data includes second positioning data and second satellite data, and the multiple second data are suitable for the cloud phone application; It is also used to send the multiple second data to the cloud phone, so that the cloud phone can perform positioning and navigation according to the multiple second data through the cloud phone application.
11. The operating system according to any one of claims 8 to 10, characterized in that: 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, wherein 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 having positioning and navigation functions.
12. The operating system according to claim 11, characterized in that: The application perception module is also used to re-record the number of cloud phone applications as 0 and notify the cloud phone when it is determined that the cloud phone application has stopped running, so that the cloud phone sends a stop positioning request to the terminal device, and 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 comprises: When it is determined that the running cloud phone application has a positioning and navigation function, a positioning request is sent to the terminal device, so that the terminal device obtains a plurality of first data, and sends the plurality of first data to the cloud phone, wherein the plurality of first data is used for positioning and navigation; The multiple first data are received, and positioning and navigation are performed according to the multiple first data through the cloud phone application.
14. The method according to claim 13, characterized in that Each of the plurality of 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.
15. The method according to claim 14, characterized in that The receiving the plurality of first data and performing positioning navigation according to the plurality of first data includes: Receive the plurality of first data, and send the plurality of first data to an operating system, so that the operating system obtains a plurality of second data according to the plurality of first data, and sends the plurality of second data to the cloud phone, wherein each second data in the plurality of second data includes second positioning data and second satellite data; The multiple second data are received, and positioning and navigation are performed according to the multiple second data through the cloud phone application.
16. The method according to any one of claims 13 to 15, characterized in that: The method further comprises: When it is determined that the cloud phone application stops running, a stop positioning request is sent to the terminal device, where the stop positioning request is used to instruct the terminal device to stop acquiring the first data.
17. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising 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 executed by a computing device, the computing device is caused to perform the method according to any one of claims 13 to 16.
19. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, which, when executed on the computing device, cause the computing device to perform the method according to any one of claims 13 to 16.