CN107771408B - Mobile terminal and positioning method thereof - Google Patents

Mobile terminal and positioning method thereof Download PDF

Info

Publication number
CN107771408B
CN107771408B CN201680036063.XA CN201680036063A CN107771408B CN 107771408 B CN107771408 B CN 107771408B CN 201680036063 A CN201680036063 A CN 201680036063A CN 107771408 B CN107771408 B CN 107771408B
Authority
CN
China
Prior art keywords
location
information
location table
identification information
invalid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680036063.XA
Other languages
Chinese (zh)
Other versions
CN107771408A (en
Inventor
陶强
秦超
陆晨曦
高光远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN107771408A publication Critical patent/CN107771408A/en
Application granted granted Critical
Publication of CN107771408B publication Critical patent/CN107771408B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Abstract

The present application relates to the field of mobile communications, and in particular, to a mobile terminal and a positioning method thereof. The method comprises the steps of storing a first effective position table, a second effective position table and an invalid position table in a terminal, determining position information corresponding to identification information in the first effective position table, the second effective position table or the invalid position table, and sending the determined position information to an application program initiating a positioning request, so that the mobile terminal can be quickly positioned. The first effective position table, the second effective position table and the invalid position table stored in the terminal can be corrected by more accurate positioning data, so that the problem that the geographic position returned by the positioning server is inaccurate is solved.

Description

Mobile terminal and positioning method thereof
Technical Field
The embodiment of the invention relates to the field of mobile communication, in particular to a mobile terminal and a positioning method thereof.
Background
With the rapid development of computer, electronic and communication technologies, various wireless communication services using wireless networks have been provided. Accordingly, services provided by mobile communication systems based on wireless communication networks have evolved from voice services to multimedia services involving the transmission of various data such as circuit data and packet data.
Among various wireless internet services using mobile communication terminals, Location Based Services (LBS) have attracted much attention due to their wide application and convenience. The LBS is a communication service that determines the location of a mobile communication terminal such as a portable phone and a Personal Digital Assistant (PDA), and provides additional information related to the determined location. The positioning technology for providing the LBS may be classified into a network-based positioning technology, a satellite-based positioning technology, and a hybrid positioning technology. Specifically, the network-based positioning technology utilizes a radio wave environment (cell radius of a base station in a mobile communication network, etc.) to detect a position by software in order to determine the position of a mobile communication terminal. The satellite-based positioning technology uses a Global Positioning System (GPS) receiver mounted on a mobile communication terminal in order to determine the position of the mobile communication terminal. Hybrid positioning technology is a combination of network-based positioning technology and satellite-based positioning technology. In addition, since the wireless router has a unique Basic Service Set Identification (BSSID), positioning of the mobile communication terminal can also be achieved within a small range by using Wi-Fi, that is, by using a signal of the wireless router received by the terminal.
Among the above types, network-based positioning technology is widely used in GPS shadow areas, but the positioning accuracy depends greatly on the distribution of base stations and the size of the coverage area of the base stations, and the positioning error can reach several kilometers. In the current trend of LBS, there is an increasing demand for more accurate positioning technology. Therefore, how to quickly and accurately position the mobile communication terminal is a technical problem that needs to be solved urgently in the industry.
Disclosure of Invention
In view of the above technical problems, an object of the present invention is to provide a mobile terminal and a positioning method thereof, in which a first valid location table, a second valid location table, and an invalid location table are stored in the terminal, and by determining location information corresponding to identification information in the first valid location table, the second valid location table, or the invalid location table, and sending the determined location information to an application program that initiates a positioning request, fast positioning of the mobile terminal is achieved.
A first aspect provides a method applied to a mobile terminal having at least one application program, the method comprising: receiving a positioning request initiated by an application program; acquiring identification information of the mobile terminal, wherein the identification information comprises at least one of a Cell identification (Cell ID) of a Cell where the mobile terminal is located and a Basic Service Set Identification (BSSID) of a wireless router scanned by the mobile terminal, and the wireless router scanned by the mobile terminal comprises a wireless router with the strongest signal in a wireless router connected with the terminal or a wireless router not connected with the terminal; determining location information corresponding to the identification information in a first valid location table, a second valid location table, or an invalid location table, the terminal storing the first valid location table, the second valid location table, or the invalid location table, the first valid location table including a parameter item being CellID and first location information Ln corresponding to Cell ID or second location information Lg corresponding to Cell ID, the second valid location table including a parameter item being BSSID and first location information Ln corresponding to BSSID or second location information Lg corresponding to BSSID, the invalid location table including a parameter item being Cell ID, BSSID, first location information Ln corresponding to Cell ID and BSSID, and second location information Lg corresponding to Cell ID and BSSID, the first valid location table, the second valid location table, and the invalid location table each including a plurality of sets of parameter values corresponding to parameter items, a distance between the Ln and the Lg in the invalid location table is greater than a first threshold, the Ln is determined using network positioning technology, and the Lg is determined using satellite positioning technology; sending the determined location information to the application program initiating the positioning request. The method can realize the quick and accurate positioning of the mobile terminal.
In a possible design, the determining, by the identification information located in the first valid location table or the second valid location table, the location information corresponding to the identification information in the first valid location table, the second valid location table, or the invalid location table includes: and taking the position information corresponding to the identification information in the first effective position table or the second effective position table as a positioning result. The position information can be directly determined from the effective position table stored in the terminal without interacting with the position server and waiting for GPS data, so that the positioning speed can be remarkably improved, and the power consumption can be reduced.
In one possible design, the locating the identification information in the invalid location table, and determining the location information corresponding to the identification information in the first valid location table, the second valid location table, or the invalid location table includes: and taking the second position information Lg corresponding to the identification information in the invalid position table as a positioning result. The position information Lg determined by the satellite positioning technology in the invalid position table is used as a positioning result, and compared with the network positioning result which is inaccurate in use, the positioning precision can be improved.
In one possible design, the locating the identification information in the invalid location table, and determining the location information corresponding to the identification information in the first valid location table, the second valid location table, or the invalid location table includes: determining third location information Ln ' by using a network positioning technology, determining that the distance between the Ln ' and the Lg in the invalid location table is not greater than a second threshold value, and taking the Ln ' as a positioning result, wherein the second threshold value is smaller than the first threshold value. The third location information Ln 'determined by the network positioning technology is used to check the location information in the invalid location table, so that the positioning accuracy can be improved, especially when the third location information Ln' is reported by other terminals with higher positioning accuracy.
In one possible design, the identification information and the corresponding location information in the invalid location table are deleted, the Cell ID and the third location information Ln 'included in the identification information are stored in the first valid location table, and the BSSID and the third location information Ln' included in the identification information are stored in the second valid location table. When the position information in the invalid position table is found to be inaccurate through verification, the inaccurate information in the invalid position table is deleted, and the accurate information is stored in the first effective position table and the second effective position table so as to be used when the mobile terminal is positioned next time or other mobile terminals are positioned.
In one possible design, the locating the identification information in the invalid location table, and determining the location information corresponding to the identification information in the first valid location table, the second valid location table, or the invalid location table includes: determining third location information Ln 'by using a network positioning technology, determining that the distance between the Ln' and the Lg in the invalid location table is greater than a second threshold value, and sending the Lg to the application program as a positioning result, wherein the second threshold value is less than the first threshold value. When the verified third location information Ln' determined by the network location technology is found to be inaccurate, the accuracy of network location can be improved by using the verified location information Lg.
In one possible design, the identification information may include more than one Cell identity Cell ID, and the identification information may further include a received signal strength indication RSSI of each Cell identity Cell ID. Compared with the case of only considering the information of one Cell base station, the positioning accuracy can be further improved according to the Cell ID and RSSI information of a plurality of Cell base stations.
In one possible design, at least one of the first valid location table, the second valid location table, and the invalid location table is saved on the network, and the terminal uploads the identification information and the location information corresponding to the identification information to at least one of the first valid location table, the second valid location table, and the invalid location table on the network. The identification information stored on the network and the position information corresponding to the identification information can be uploaded by a plurality of different mobile terminals, wherein some mobile terminals are provided with GPS modules, other mobile terminals are not provided with GPS modules, and the mobile terminals without GPS modules can use the information reported by the terminals with GPS modules to improve the positioning accuracy.
A second aspect provides a mobile terminal comprising means for performing the method provided by the first aspect or any of its possible implementations.
A third aspect provides a computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a mobile terminal, cause the mobile terminal to perform the method provided by the first aspect or any possible implementation of the first aspect.
A fourth aspect provides a mobile terminal, which may include: one or more processors, memory, a display, a bus system, a transceiver, and one or more programs, the processors, the memory, the display, and the transceiver being connected by the bus system;
wherein the one or more programs are stored in the memory, the one or more programs comprising instructions which, when executed by the mobile terminal, cause the mobile terminal to perform the method provided by the first aspect or any possible implementation of the first aspect.
A fifth aspect provides a graphical user interface on a mobile terminal comprising a memory, a plurality of application programs, and one or more processors to execute one or more programs stored in the memory, the graphical user interface comprising user interfaces displayed in accordance with the methods provided in the first aspect or any one of the possible implementations of the first aspect.
Alternatively, the following possible designs may be incorporated into the above first to fifth aspects of the present invention:
in one possible design, the acquired identification information of the mobile terminal includes a Cell ID and a BSSID, the Cell ID in the identification information is located in the first valid location table, the BSSID in the identification information is located in the second valid location table, first location information Ln1 corresponding to the Cell ID in the first valid location table is compared with first location information Ln2 corresponding to the BSSID in the second valid location table, and the distance between Ln1 and Ln2 is greater than a third threshold, and Ln1 is used as a positioning result; the distance between the Ln1 and the Ln2 is not greater than a third threshold, which is less than the second threshold, with the Ln2 as a positioning result. By comparing the Ln1 with the Ln2, it can be determined whether the wireless router corresponding to the BSSID is a mobile wireless router or an invalid wireless router, and when the BSSID corresponds to a valid wireless router, accurate positioning in a small range is achieved by the valid wireless router.
In one possible design, the locating the identification information in the invalid location table, and determining the location information corresponding to the identification information in the first valid location table, the second valid location table, or the invalid location table includes: determining third position information Ln 'by using a network positioning technology, comparing the third position information Ln' with first position information Ln in an invalid position table, wherein the distance between the Ln 'and the Ln is greater than a fourth threshold value, and taking the third position information Ln' as a positioning result; and the distance between the Ln' and the Ln is not more than a fourth threshold value, the second position information Lg in the invalid position table is used as a positioning result, and the fourth threshold value is less than the first threshold value. By comparing the Ln 'with the Ln, it can be determined whether the first location information Ln stored in the invalid location table has the update result Ln'.
In one possible design, the application includes a positioning time priority application and a positioning accuracy priority application, the application initiating the positioning request is the positioning time priority application, the identification information is located in the invalid location table, and the Lg in the invalid location table is sent to the positioning time priority application as a positioning result. The positioning time priority application directly determines the position information only from the valid position table or the invalid position table stored in the terminal, and thus the positioning speed can be significantly increased.
In one possible design, the application programs include a positioning time priority application program and a positioning accuracy priority application program, the application program initiating the positioning request is the positioning accuracy priority application program, the fourth position information Lg 'is determined by using a satellite positioning technology, and the Lg' is sent to the positioning accuracy priority application program as a positioning result. The positioning precision priority application program can ensure that the positioning result is more real and reliable by utilizing the satellite positioning technology.
In one possible design, determining fourth location information Lg 'using satellite positioning techniques, determining third location information Ln' using network positioning techniques, the distance between Ln 'and Lg' being greater than the first threshold, saving the identification information, Ln 'and Lg' in the invalid location table; a distance between the Ln ' and the Lg ' is not greater than the first threshold, and the identification information and the Lg ' are saved in the first effective location table and/or the second effective location table. The network positioning result is corrected through the satellite positioning result, whether the network positioning result has overlarge deviation can be determined, and data of the effective position table or the invalid position table are expanded for subsequent use.
In one possible design, the first location information Ln stored in the first effective location table or the second effective location table is compared with the fourth location information Lg ', the distance between the first location information Ln and the Lg' is not greater than the first threshold value, the first location information Ln stored in the first effective location table or the second effective location table is replaced by the fourth location information Lg ', and the fourth location information Lg' and the replaced first location information Ln correspond to the same identification information. The first position information Ln stored in the effective position table is verified, so that the position information stored in the effective position table is more accurate.
In one possible design, comparing the first location information Ln stored in the first effective location table or the second effective location table with the fourth location information Lg ', the distance between the first location information Ln and the Lg ' being greater than the first threshold, and storing the identification information, the first location information Ln, and the Lg ' in the ineffective location table. And moving the position information with overlarge error stored in the effective position table into the invalid position table by checking the first position information Ln stored in the effective position table.
In one possible design, when the identification information is not found in the first valid location table, the second valid location table, and the invalid location table, the third location information Ln 'is determined by using a network positioning technique, the Ln' is sent to an application program as a positioning result, the Cell ID and the third location information Ln 'included in the identification information are stored in the first valid location table, and the BSSID and the third location information Ln' included in the identification information are stored in the second valid location table. The data of the effective position table or the invalid position table can be expanded for subsequent use through the network positioning result.
In one possible design, the parameter value of the BSSID parameter entry in the invalid location table is null, indicating that the mobile terminal does not scan for a signal of a wireless router.
In one possible design, the mobile terminal includes a GPS module, and the position information in the first effective position table or the second effective position table is sent to the GPS module. The time required for positioning by satellite is reduced by the assisted global positioning system AGPS.
In one possible design, the terminal downloads at least one of the first valid location table, the second valid location table, and the invalid location table on the network. By downloading data on the network, the mobile terminal can use the network data uploaded by other terminals.
In one possible design, the first or second threshold ranges from 1km to 20km, preferably, the first or second threshold is one of 2km, 5km or 10km, and the second threshold is smaller than the first threshold.
In a possible design, the value range of the third threshold is 1-5km, preferably, the third threshold is one of the values of 1km, 2km or 3km, and the like, and the third threshold is smaller than the second threshold.
In a possible design, the value range of the fourth threshold is 1-10km, preferably, the third threshold is one of the values of 1km, 2km or 5km, and the like, and the fourth threshold is smaller than the first threshold.
Through the technical scheme, the position of the mobile terminal can be determined quickly and accurately.
Drawings
FIG. 1 is a schematic diagram of a possible application scenario of the present invention;
fig. 2 is a schematic structural diagram of a mobile communication terminal according to the present invention;
FIG. 3 is a diagram of a mobile terminal according to an embodiment of the invention;
fig. 4 is a positioning process of a low positioning priority application according to an embodiment of the present invention;
fig. 5 is a positioning process of a high positioning priority application according to an embodiment of the present invention;
FIG. 6 is a positioning process for an application not assigned a priority according to an embodiment of the present invention;
fig. 7 is a process of performing a location query in a memory according to an embodiment of the present invention.
Fig. 8 is a process of interaction between an application not assigned with a positioning priority or a low positioning priority and a location server during positioning according to an embodiment of the present invention;
fig. 9 is a process of an application with high positioning priority interacting with a location server during positioning according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. The following description is of the preferred embodiment of the present invention only, and is not intended to limit the present invention, and any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the scope of the present invention.
When embodiments of the present invention refer to the ordinal numbers "first", "second", etc., it should be understood that the operations are to be performed only for distinguishing between them, unless the context clearly dictates otherwise.
Wireless Local Area Network (WLAN) signals described in the present invention include one or more of Wi-Fi signals, WiMax signals, Delivery Traffic Indication Messages (DTIM) and hotspot signals. Here, DTIM is a TIM used to announce that there may be a transmission in the access point to the concerned wireless client.
The term "base station" as used herein can refer to a base station that serves a cell and/or a base station that serves a sector. The term "base station" may also be used generally to refer to similar devices in other types of wireless networks. For example, in the context of an IEEE 802.11x network, a base station corresponds to a wireless access point.
The term "Cell Identity" as used herein refers to a fixed Cell Identity (Cell Identity, often abbreviated as Cell ID, but also abbreviated as Cell-ID) assigned by an operator to each Cell.
Fig. 1 shows a possible application scenario of the positioning system of the present invention.
The positioning system 100 includes a mobile communication terminal 110, a satellite 120, an Access Point (AP)130, a Base Station (BS)140, a location server 150, and a database 160. Fig. 1 shows the positioning system 100 having the above components, but it should be understood that the implementation of the positioning system 100 need not necessarily require all of the components illustrated, and that the positioning system 100 may be implemented with more or fewer components.
The mobile communication terminal 110 (hereinafter, also referred to as a mobile terminal 110) includes a wireless communication module for performing general voice call and data communication. The mobile communication terminal 110 performs a general voice call and data communication using a wireless communication module in conjunction with a mobile network (not shown). The mobile communication terminal 110 may communicate with any number of base stations in a mobile network, such as the cellular base station 140 shown in fig. 1. Each base station may provide communication for a respective coverage area or cell. The term "cell" can refer to a base station and/or its coverage area. To increase system capacity, the coverage area of a base station may be divided into sectors. The mobile communication terminal 110 transmits information of the base station 140 of the mobile network with which it interacts to the location server 150 on the network.
The mobile communication terminal 110 includes a WLAN module. The mobile communication terminal 110 uses the WLAN module to access the internet through the neighboring identifiable Access Point (AP)130 and receive various web page data. Here, the AP130 is a device that connects data communication, reads a receiver address from information of a transmitter, assigns a most suitable communication path, and transmits it to other networks. Specifically, the AP130 may extract a location of a data packet, assign an optimal communication path to the extracted location, and transmit the data packet to a next device through the assigned communication path, and may share a plurality of circuits in a general network environment. In the present invention, the AP130 may include a wireless router, a repeater, a bridge, and the like. The mobile communication terminal 110 collects WLAN environment information from the AP130 with which it communicates and transmits it to the location server 150. Here, the WLAN environment information is information for identifying the AP130 that relays the WLAN signal, and may be one or more of a MAC address of the AP130 that relays the WLAN signal, a Received Signal Strength Indication (RSSI) of each MAC address, AP channel information, and AP frequency information; however, the present invention is not limited thereto. Here, the MAC address is unique information for identifying the AP, and refers to Basic Service Set Identification (BSSID). The MAC address may be allocated 48 bits, of which 24 bits are used to input information allocated by the manufacturer. Service Set Identification (SSID) is also information for identifying the AP, and refers to a value set by a user.
In addition, the mobile communication terminal 110 optionally includes a Global Positioning System (GPS) module. The mobile communication terminal 110 extracts navigation data from the GPS radio wave signals received from one or more satellites 120 and transmits the navigation data to the location server 150 through a mobile communication network.
The mobile communication terminal 110 may be any entity that can communicate with a mobile network, and such a mobile communication terminal may be a smart phone, a Personal Computer (PC), a notebook computer, or a Personal Digital Assistant (PDA), etc., including the above-described wireless communication module, WLAN module, and GPS module. The mobile communication terminal 110 has a memory for storing an application program related to LBS, a microprocessor for performing operation and control by executing the program, and the like. The mobile communication terminal 110 identifies the access point 130 and the base station 140 in the surrounding area, and communicates with one or more of the access point 130 and the base station 140.
The positioning protocol is a protocol that standardizes an application layer for positioning. The positioning protocol may be any positioning protocol as long as it can communicate the GPS radio wave signal and/or the WLAN signal between the mobile communication terminal 110 and the location server 150. The positioning protocol may include temporary standard-801 (IS-801), radio resource location services protocol (RRLP), Radio Resource Control (RRC), Secure User Plane Location (SUPL), and the like. SUPL2.0 may be used as a positioning protocol to transmit/receive both GPS radio wave signals and WLAN signals between the mobile communication terminal 110 and the location server 150; however, the present disclosure is not limited thereto. Here, SUPL is a scheme that eliminates communication between network nodes that would otherwise need to perform conventional positioning processing by enabling direct communication of positioning-related data between the mobile communication terminal 110 and the location server 150 through a data transmission path. SUPL is a protocol that can reduce the cost of nodes necessary to implement location tracking and can provide more accurate location services. Through SUPL2.0, the mobile communication terminal 110 may measure a Round Trip Delay (RTD). Specifically, when performing communication using a WLAN signal and setting WLAN parameters, the mobile communication terminal 110 may set a location Identifier (ID) and a plurality of location IDs, and measure an RTD including an RTD value, an RTD unit, and an RTD accuracy as AP information of the WLAN.
The location server 150 receives data of the satellite 120 through a built-in satellite receiver and performs positioning using satellite data of the mobile communication terminal 110 requesting positioning. Specifically, the location server 150 receives navigation data from the mobile communication terminal 110 and calculates latitude/longitude coordinates of the mobile communication terminal 110. In addition, the location server 150 transmits assistance data to help determine the location of the mobile communication terminal 110 and calculate the distance between the satellite 120 and the mobile communication terminal 110.
Two methods are typically used to receive GPS signals from satellites 120. One method generally used in conventional terminals is standalone GPS, which uses a GPS chipset and module mounted on the terminal circuitry to calculate GPS satellite orbits and pseudoranges to satellites and determine the location of the subject terminal without exchanging any information with an external assistance server. Another approach is the assisted GPS ("AGPS") approach, which has recently become popular as an attractive option to provide accurate location. AGPS uses mobile networks to reduce the initialization time required for a normal GPS receiver to receive navigation data. In AGPS, information on satellite orbits and errors previously measured by a base station is provided to a mobile communication terminal through communication means. A GPS chipset or module disposed in the terminal determines the position of the mobile communication terminal in a short time using data received from the base station and the calculated pseudo-ranges from GPS satellites. The GPS module included in the mobile communication terminal 110 in the present invention can perform positioning using at least one of the above-described two methods.
In addition, when the location information is selectively received from the mobile communication terminal 110 as needed, the location server 150 transmits the location information to a location based service platform (lbs p). The location server 150 receives a location request signal (location request) from the LBSP, and the location server 150 determines the current location of the mobile communication terminal 110 by interacting with the mobile communication terminal 110 and transmits a location response signal (location result) including the location result to the LBSP. The location server 150 can transmit latitude/longitude data (positioning result data) and Pilot Phase Measurement (PPM) data received from the mobile communication terminal 110 to a Location Based Service Platform (LBSP) for network-based positioning.
Meanwhile, as the location server 150, a Position Determination Entity (PDE) may be used in a synchronous Code Division Multiple Access (CDMA) system, a location server (PS) may be used in an asynchronous wideband code division multiple access (W-CDMA) system, and a Serving Mobile Location Center (SMLC) may be used in a global system for mobile communications (GSM) system. This is exemplary only and is not to be construed as limiting the invention. In a CDMA system, the PDE may perform both positioning using satellites and network-based positioning using triangulation. In a W-CDMA system, the PS can perform positioning using satellites and positioning based on an underlying cell. In the GSM system, the SMLC can perform both positioning using satellites and cell-based positioning. Where location server 150 identifies which cell in the network transmits the user call and translates it into latitude and longitude to determine the user location in cell-based positioning.
The above-mentioned PPM data may include time/distance information of the neighbor base station 140 and system information measured by the mobile communication terminal 110. Here, the information measured by the mobile communication terminal 110 includes information on the current serving system, pilot signals of neighboring base stations, and signal strength, etc. The information on the current serving system includes a system id (sid), a network id (nid), a base station id (bsid), a serving BS sector number (reference PN: Ref _ PN), a pilot phase in Ref _ PN, and a signal strength, etc. Also, the pilot signals of the neighboring base stations include neighboring base station sector numbers (measurement PNs) collected from the mobile communication terminal 110, pilot phases in the respective measurement PNs, signal strengths, and such distance data and time data. The PPM data is positioning related data in a CDMA system and may be UE RX-TX time difference data or System Frame Number (SFN) -SFN observed time difference data in a W-CDMA system. However, the invention is not limited thereto and the PPM data may be positioning related data used in any other communication system. For example, the location server 150 may perform triangulation to calculate triangulation location information from base station identities received by the mobile communication terminal 110. Specifically, if three or more pieces of BS identification information are received from the mobile communication terminal 110, the location server 150 may triangulate three identifiers of information having a signal strength of a predetermined value or more, calculate a center point of a triangle, and recognize the center point as the triangulated location information. The location server 150 may also correct the triangulation location information using the BSSID of the access point to further narrow the location range of the mobile communication terminal 110.
Although the location server 150 is described as being used in CDMA and W-CDMA to provide network-based positioning, the listed items represent the technical idea of only one of the different exemplary embodiments, and it will be understood by those skilled in the art that modifications may be made thereto without departing from the essential characteristics of the present invention. For example, location server 150 may be used in WiBro or Wimax, Long Term Evolution (LTE), and packet core Evolution (EPC) to provide positioning.
In addition to receiving the base station environment information including the PPM data described above, the location server 150 may also receive WLAN environment information from the mobile communication terminal 110 and calculate WLAN location information according to the WLAN environment information. The location server 150 locates the mobile communication terminal 110 using the respective grid cells stored in the database 160 and the environment information matched with the grid cells. When a location request is transmitted from the mobile communication terminal 110 to the location server 150, the location server 150 selects a grid cell having a characteristic that best matches the environment information received from the mobile communication terminal 110 in the database 160 and provides it to the service requester as a final location result. Here, in order to provide a more accurate positioning result to the service requester, the database 160 should be updated to always maintain the latest data (e.g., PN, pilot phase, RSSI, MAC address, etc.) that can better reflect the change of the positioning environment, such as base station-based environment information, WLAN environment information, and positioning system status at the time of a positioning request.
As discussed above, each mobile communication terminal 110 may collect and report location information based on different sources (base stations, satellites, and access points). Some of the information may be less accurate than other data, e.g., the location information determined by the base station is less accurate than the location information determined by GPS, but by correlating the location information data from different sources, the accuracy of the location information may be increased for each mobile communication terminal 110. Location server 150 may collect and store location information of different mobile communication terminals 110 during communication with the plurality of different mobile communication terminals 110, and location server 150 may provide an interface for the plurality of different mobile communication terminals 110, and store the location information from the plurality of different mobile communication terminals 110 in database 160 in a crowdsourcing manner for mobile communication terminal 110 to call at an appropriate time.
Measures may be taken to protect the privacy of the user of the mobile communication terminal 110 and/or to protect the authenticity of the information of the database 160. One such measure may include assigning an identifier to each mobile communication terminal 110 in an anonymous manner such that the identity of the terminal cannot be traced back to its user. The location information reported by the mobile communication terminal 110 may be weighted based on their trustworthiness. The credibility of the mobile communication terminal 110 refers to a past history that the terminal provides real or reliable location information, and the terminal has a higher credibility if the number of times or the ratio of times the terminal provides real or reliable location information is higher.
The base station-based environment information stored in the database 160 may include one or more of a country code (MCC), a network code (MNC), a system ID (sid), a network ID (nid), a base station ID (bsid), a Cell identification (Cell ID), a Location Area Code (LAC), a serving BS sector number (reference PN: Ref _ PN), a pilot phase in Ref _ PN, and a Received Signal Strength Indication (RSSI), etc. The WLAN environment information stored in the database 160 may include one or more of identification information (SSID) of an AP communicating with the mobile communication terminal 110, MAC address information (BSSID), Received Signal Strength Indication (RSSI), frequency information (channel), and location estimation information about the AP.
In some cases, the location information obtained by the mobile communication terminal 110 from the aforementioned base station-based environment information and WLAN environment information stored in the database 160 may not always be accurate or up-to-date. In this case, the location information extracted by the mobile communication terminal 110 will be erroneous. At this time, the aforementioned GPS module may be used to confirm, correct, and update the location information that the mobile communication terminal 110 obtains from the location server.
The database 160 may be implemented within or external to the location server 150, although the location server 150 and the database 160 are illustrated in fig. 1 as two separate components, one skilled in the art will appreciate that the database 160 may also be included in the location server 150 as part of the location server 150.
The invention provides a mobile terminal and a positioning method thereof, which can solve the problems of large deviation and inaccuracy of position information returned by a server from a system level; and the positioning speed can be improved, and the positioning power consumption can be reduced. An illustrative architecture for a mobile terminal used in the positioning method is shown in fig. 2.
In fig. 2, a smartphone 200 is taken as an example to schematically illustrate the architecture of the mobile terminal 110.
Smartphone 200 provides a UI 220 to support user interactivity and facilitate an efficient user experience, and will typically be embodied as a graphical user interface. Smartphone 200 has installed thereon various applications, which may be collectively referred to by reference numeral 225. Some of the applications 225 may provide location-based services that require the mobile terminal 110 to determine its location. Such location-based services may integrate the location or position of mobile terminal 110 with other information to provide added value to the user. Examples of such applications include mapping applications, traffic alert applications, weather forecast applications, geo-tagging applications (e.g., tagging recorded images with their locations), and other applications that identify nearby places of interest for a user (e.g., restaurants, stores).
Among the smartphones 200 that support the application programs 225 are an operating system 230, a location framework layer 235, a Radio Interface Layer (RIL)240, and a hardware layer 245. In the exemplary embodiment, operating system 230 is particularly adapted to operate on resource-limited devices, and operating system 230 includes, but is not limited to, Android, iOS, or Windows Phone. The location framework layer 235 provides logic and control functions that capture location information obtained from the hardware layer 245 and make that information available to any application 225 that needs the information. The RIL layer 240 is a set of Application Programming Interfaces (APIs) that provide a level of abstraction between the radio on the mobile phone and the software of the mobile phone. That is, RIL layer 240 functions as a hardware adaptation layer, i.e., a layer that isolates the details of a particular mobile system/hardware from most software systems. In this way, the various software solutions are applicable to a variety of different mobile systems and radios.
Hardware layer 245 provides an abstraction of the physical hardware implemented on smartphone 200 and will typically include a processor (e.g., a central processing unit or "CPU"), system memory such as read-only memory ("ROM") and random access memory ("RAM"), bus structures, peripheral systems, drivers, display devices, user controls and interfaces, and the like. The hardware may also include storage media for storing computer-executable instructions (i.e., code), including either or both removable and non-removable media, such as magnetic and optical media, solid-state memory, and other conventional media. The above-described physical hardware components are not shown in layer 245 because they are not relevant to the present discussion. However, the following hardware components are shown in FIG. 2 as they are germane to the discussion that follows.
Specifically, the hardware layer 245 of the smartphone 200 includes the wireless communication module 211, the WLAN module 212, the GPS module 213, and the memory 214. The smartphone 200 communicates with a mobile network through the wireless communication module 211. The wireless communication module 211 includes conventional components such as a transmitter, a receiver, an antenna, and the like. The smartphone 200 uses the WLAN module 212 to access the internet through a neighboring access point and acquires WLAN environment information such as BSSID of the access point. The GPS module 213 receives signals from a GPS satellite navigation system through a GPS antenna to determine the location of the smartphone 200. The memory 214 is used to store identification information 215 and location information 216, the identification information 215 including environment information of a base station communicating with the smartphone 200, WLAN environment information of a nearby access point of the smartphone 200, and the like, and the location information 216 including location information determined by the GPS module 213 and location information determined by a network positioning technology. The information stored in the database 160 shown in fig. 1 may be partially or entirely stored in the memory 214, and in this way, when the mobile communication base station 110 wants to acquire the location information corresponding to the identification information, it is not necessary to always exchange messages with the database 160, and thus the positioning speed can be significantly improved.
In addition to the identification information and its corresponding valid location information, the memory 214 stores therein, in particular, invalid location information corresponding to some of the identification information. The memory 214 may store the above information using, for example, an index table. And storing the identification information and the corresponding valid position information Ly into a valid position table, and storing the identification information and the corresponding invalid position information Lw into an invalid position table. The identification information in the valid location table may be referred to as valid identification information, and the identification information in the invalid location table may be referred to as invalid identification information. The valid location table may be further divided into a first valid location table in which Cell IDs and their corresponding location information are stored and a second valid location table in which BSSIDs and their corresponding location information are stored. The specific difference between the valid position information and the invalid position information will be described in detail later.
The first valid location table, the second valid location table or the invalid location table described in the present invention is stored in the mobile terminal in the form of a database table, and optionally, the first valid location table, the second valid location table or the invalid location table is stored in an internal memory or an external memory card of the mobile terminal. The first valid location table, the second valid location table, or the invalid location table may use a database file format common in the art, including but not limited to: CSV comma separated value file, DAT data file, WrodPerfect merged data file, Paradox 7 table by DB Borland, DBC Microsoft Visual FoxPro database container file, etc. Particularly, when the operating system 230 installed in the smartphone 200 is Android, the data storage scheme that can be adopted is SQLite; when the operating system 230 installed in the smartphone 200 is iOS, the data storage scheme that can be adopted is SQLite, CoreData, nsuserdedefaults, or a personalized data storage scheme customized using a basic object type.
Although the memory 214 is named memory, it will be understood by those skilled in the art that modifications may be made thereto without departing from the essential characteristics of the invention. The memory 214 may also be a database or a server, for example. Any type of suitable storage medium may be used to implement the storage function of the memory 214, which may help to further increase the speed of location, particularly when the memory 214 is a cache server.
Fig. 3 is a schematic diagram of a mobile terminal according to an embodiment of the present invention.
The mobile terminal 300 in the embodiment of the present invention includes a receiving unit 302, an obtaining unit 303, a determining unit 304, a storing unit 305, a sending unit 306, a network locating unit 307, a comparing unit 308, an erasing unit 309, and a writing unit 310, which are coupled to a bus 301.
A receiving unit 302, configured to receive a positioning request initiated by an application.
An obtaining unit 303, configured to obtain identification information of the mobile terminal 300, where the identification information includes at least one of a Cell identification Cell ID of a Cell where the mobile terminal 300 is located and a basic service set identification BSSID of a wireless router scanned by the mobile terminal 300, and the wireless router scanned by the mobile terminal 300 includes a wireless router with a strongest signal among wireless routers to which the terminal is connected or wireless routers to which the terminal is not connected.
A determining unit 304, configured to determine location information corresponding to the identification information in the first valid location table, the second valid location table, or the invalid location table.
A storage unit 305 for storing the first valid location table, the second valid location table, and an invalid location table, the parameter item included in the first valid location table being a Cell ID and first location information Ln corresponding to the Cell ID or second location information Lg corresponding to the Cell ID, the parameter item included in the second valid location table being a BSSID and first location information Ln corresponding to the BSSID or second location information Lg corresponding to the BSSID, the parameter item included in the invalid location table being a Cell ID, a BSSID, first location information Ln corresponding to the Cell ID and the BSSID, and second location information Lg corresponding to the Cell ID and the BSSID, the first valid location table, the second valid location table, and the invalid location table each including a plurality of sets of parameter values corresponding to the parameter items, a distance between the Ln and the Lg in the invalid location table being greater than a first threshold value, the Ln is determined using network positioning techniques and the Lg is determined using satellite positioning techniques.
A sending unit 306, configured to send the determined location information to the application program that initiates the location request, where the sending unit 306 is further configured to send identification information and location information corresponding to the identification information to at least one of the first valid location table, the second valid location table, and the invalid location table on the network.
A network positioning unit 307 for determining the location information using network positioning techniques.
A comparing unit 308, configured to compare the location information, specifically, the location information represented by the latitude and longitude information, and determine a geographic distance between the location information represented by the latitude and longitude.
An erasing unit 309, configured to delete the identification information and the corresponding location information in the first valid location table, the second valid location table, or the invalid location table.
A writing unit 310, configured to write the identification information and the corresponding location information in the first valid location table, the second valid location table, or the invalid location table.
The mobile terminal 300 also includes a processor that is the control center for the mobile terminal 300 and provides sequencing and processing facilities to execute instructions, perform interrupt operations, provide timing functions, and many other functions. The processor may optionally include one or more Central Processing Units (CPUs), and the mobile terminal 300 may optionally include more than one processor. The processor may be a single core (single CPU) processor or a multi-core (multi-CPU) processor. The term "processor" as used herein refers to one or more devices, circuits, and/or processing cores that process data, such as computer program instructions.
The processor may execute program code stored in the data storage device. Alternatively, the program code stored in the storage medium of the data storage device may be copied into the memory unit for execution by the processor.
The mobile terminal 300 further includes a communication interface for communicating with another device or system directly or through an external network.
Optionally, the mobile terminal 300 further comprises a satellite positioning unit for determining position information using satellite positioning techniques.
Optionally, the mobile terminal 300 also includes an output device and an input device (not shown). An output device is coupled to the processor and is capable of displaying information in one or more ways. One example of an output device is a visual display device, such as a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display, a Cathode Ray Tube (CRT), or a projector. An input device is also coupled to the processor and is capable of receiving input from a user of the mobile terminal in one or more ways. Examples of input devices include a mouse, keyboard, touch screen device, sensing device, and so forth.
The aforementioned elements of the mobile terminal 300 may be coupled to each other by any one or any combination of buses 301, such as a data bus, an address bus, a control bus, an expansion bus, and a local bus.
How to establish the valid location table and the invalid location table in the memory 214 or the storage unit 305 is explained in detail below.
The first application 2251 requests the current location or position of the smartphone 200, the request being sent to the location framework layer 235 in the smartphone 200. In response, the location framework layer 235 sends a message to the RIL layer 240, and the RIL layer 240 issues an instruction to the wireless communication module 211 and/or the WLAN module 212 to request the identification information 215. The identification information 215 includes environment information of a base station currently communicating with the smartphone 200 and/or WLAN environment information of a nearby access point of the smartphone 200, etc., for example, the identification information 215 includes a Cell identification Cell ID and a location area code LAC of a Cell in which the smartphone 200 is located. Optionally, when the smartphone 200 is capable of detecting WLAN or Wi-Fi signals, the identification information 215 includes a basic service set identification BSSID of wireless routers scanned by the smartphone 200, where the scanned wireless routers include a wireless router with a strongest signal among wireless routers to which the smartphone 200 is connected or wireless routers not connected. The identification information 215 may also include one or more of a Received Signal Strength Indication (RSSI), a country code (MCC), a network code (MNC), etc. of the current base station. The identification information 215 may include more than one Cell identity Cell ID, and in this case, the identification information 215 further includes a received signal strength indicator RSSI of each Cell identity Cell ID.
The location server 150 performs network based positioning, e.g. the location server 150 performs a look-up in the database 160 based on the Cell ID data contained in the identification information 215, identifies which Cell in the network transmits the user call and translates it into latitude and longitude to determine the user first location information Ln.
The identification information 215 and its corresponding first location information Ln are stored in the effective location table. That is, the valid location information Ly in the valid location table may not be verified, and the first location information Ln determined based on the network positioning technology is directly used as the valid location information Ly.
The location server 150 may increase the accuracy of the first location information Ln based on data such as BSSID of the connected wireless router, Received Signal Strength Indication (RSSI) of the current base station, and the like.
The second application 2252 requests the current location or position of the smartphone 200. similarly, the RIL layer 240 instructs the wireless communication module 211 and/or the WLAN module 212 to request the identification information 215, and the RIL layer 240 also instructs the GPS module 213 to perform a position determination. The smartphone 200 transmits the navigation data extracted from the GPS radio wave signal to the location server 150 by the aforementioned positioning protocol. Location server 150 determines, via a calculation, second location information Lg of smartphone 200, where Lg includes latitude and longitude coordinates of a current location of smartphone 200. The identification information 215 and its corresponding second location information Lg are also stored in the valid location table. The second application 2252 does not perform network-based positioning, but only uses satellite-based positioning technology (i.e., positioning only via the GPS module).
The identification information 215 may optionally identify a Cell ID for the Cell in which the Cell is located, and at this time, the identification information 215 and Ln (or Lg) are stored into a first effective location table, where the first effective location table includes the Cell ID, location Latitude information (Latitude), location Longitude information (Longitude), and location source. Data items that may also be saved for query and record purposes are (optionally): all base station ID information (All Cell Info), ID Hash value (Hash), Location Area Code (LAC), location Accuracy (Accuracy), update or positioning time, whether preset or not, and the like. When the mobile communication terminal 110 leaves the factory, some information may be preset in the first effective location table, and may be added, deleted, modified, and searched during the use process.
All base station ID information (All Cell Info) includes All Cell IDs detectable at the current location, and RSSI of All Cell IDs detectable (RSSI usually takes an integer of 0-31, and a larger value indicates a stronger signal).
Compared with the prior art that the positioning is carried out only by relying on Cell ID and BSSID information, the positioning accuracy can be improved by utilizing the detectable RSSI of all base stations.
Table 1 is an example of a first valid position table.
Figure GWB0000002972030000211
TABLE 1
The 1 st record indicates that the cell identifier in the identification information 215 is "18179586" and the location area code is "4170". The position information determined at this time is east longitude 116.292 and north latitude 40.093. The positioning time 2016, 3, 23, 16, 10 minutes and 45 seconds is derived from the GPS and is preset data when the smart phone leaves the factory.
The 2 nd record indicates that the cell identifier in the identification information 215 is "16949249" and the location area code is "4301". The position information determined at this time is east longitude 116.174 and north latitude 40.059. Originating from a location server (determined based on network location technology) and not factory preset data.
The information stored in the first valid location table may be modified after verification. For example, when the same application or another application requests positioning again, the identification information 215 of the time of positioning again is the cell identification "16949249" and the location area code "4301". The fourth location information Lg' determined by the GPS module 213 at this time is east longitude 116.175, north latitude 40.058. The distance between the fourth location information Lg' and the first location information Ln stored in the valid table is less than or equal to the first threshold, so the 2 nd record in table 1 is modified, and the first valid location table is updated to table 2 below.
Figure GWB0000002972030000221
TABLE 2
The information stored in the first valid location table is verified by the fourth location information Lg 'determined by the GPS module 213 as described above, and optionally, the first location information Ln stored in the valid location table may also be verified by the network-based third location information Ln' of the latest time. When information such as a location area code included in the identification information 215 is changed or when location information related to the identification information 215 in the location server 150 has been corrected by other users, it is necessary and effective to check by the third location information Ln'.
The identification information 215 is optionally BSSID information of the Wi-Fi router, and at this time, the identification information 215 and Ln (or Lg) are stored in a second effective location table, where the second effective location table includes BSSID (BSSID of a wireless router currently connected to the smartphone 200 or BSSID of a wireless router with the strongest signal among unconnected wireless routers), location Latitude information (Latitude), location Longitude information (longtude), and location source. Data items that may also be saved for query and record purposes are (optionally): ID Hash value (Hash), position Accuracy information (Accuracy), AP effective identification, updating or positioning time, presetting or not and the like. Similarly, when the mobile communication terminal 110 leaves the factory, some information may be preset in the second effective location table, and may be added, deleted, modified, and searched during the use process. The AP valid id is used to mark the confidence level of the AP, for example, an AP which has not changed location (or moved a short distance) in a plurality of positioning processes may be marked as valid. The specific method for determining whether an AP is a mobile AP or an invalid AP will be described in detail in the following discussion.
Table 3 is an example of a second valid position table.
Figure GWB0000002972030000231
TABLE 3
The 1 st record in table 3 indicates that BSSID information in the identification information 215 is "00: a0: BC: d0: e1: f6'. The position information determined at this time is east longitude 116.292 and north latitude 40.093. The positioning time is 2016, 3, 23, 16, 10 minutes and 45 seconds, the GPS is sourced, and the AP is effective.
As with the first valid location table, the first location information Ln stored in the second valid location table may also be verified by the fourth location information Lg 'and/or the third location information Ln', and after verification, the first location information Ln in the second valid location table may be modified, and the specific verification and modification process is similar to that described previously and will not be described in detail herein.
The above describes the process of storing the identification information 215 and the first location information Ln (or the second location information Lg) into the valid location table, and the invalid location table is also included in the memory 214. In the subsequent use process, when the identification information in the effective position table is verified to be inaccurate, the information in the effective position table is deleted and stored into the invalid position table.
Optionally, the first location information Ln in the valid location table originating from the location server is checked using the fourth location information Lg' determined by the GPS module 213. Comparing Lg 'and Ln, if the distance between the two represented geographic positions is less than or equal to a first threshold value, replacing Ln in the effective position table with Lg', and changing the source from the position server to the GPS. If both Lg 'and Ln represent geographical location distances greater than the first threshold, the information in the active location table is deleted and the identification information 215 and the location information Lg' and Ln are stored in the inactive location table.
The comparison between Lg' and Ln described above means that the location information represented by the latitude and longitude information is compared to determine the distance between the location information Lg and Ln represented by the latitude and longitude. Comparing the position information described in the present invention refers to a process of determining a geographic distance by comparing latitude and longitude.
The geographic distance described in the present invention may represent a spatial straight-line distance between two locations determined by the latitude and longitude information, or may represent a distance between two points after the two locations determined by the latitude and longitude information are projected onto the earth surface.
The first threshold value can be set by a system or a user in advance to adapt to different positioning accuracy requirements, the value range of the first threshold value is 1-20km, and preferably, the first threshold value is one of 2km, 5km or 10km and other numerical values.
Table 4 is an example of an invalid location table.
Figure GWB0000002972030000251
TABLE 4
The invalid location table shown in table 4 includes Cell ID, BSSID, All-base-station ID information (All Cell Info), GPS location longitude information, GPS location latitude information, location longitude information returned from the location server, location latitude information returned from the location server, and location area code LAC. Data items that may also be saved for query and record purposes are (optionally): ID Hash value (Hash), etc. All base station ID information (All Cell Info) in the invalid location table includes All Cell IDs detectable at the current location, and RSSI of All Cell IDs detectable (RSSI usually takes an integer of 0-31, and a larger value indicates a stronger signal). All base station ID information (All Cell Info) optionally also includes the LAC of each of All Cell IDs that can be detected. BSSID information in the invalid location table is BSSID of an AP to which the smartphone 200 is currently connected or BSSID of an AP that detects the strongest signal when the AP is not connected, and BSSID information in the invalid location table is null when no signal is present.
Here, the 1 st record indicates that the cell identifier in the identification information 215 is "17928963", the BSSID of the AP currently connected or detecting the strongest signal is "00: a0: BC: d0: e1: f6 ", the all-base-station ID information includes Cell IDs of 3 base stations whose current location can be detected and respective RSSIs of the 3 base stations. The Cell IDs of the 3 base stations are "17928963", "18157313" and "19952387", respectively, wherein the RSSI of the first base station is 29, and the RSSI of the remaining two base stations is 20 and 12, respectively. The longitude information of the GPS position is east longitude 116.329, and the latitude information of the GPS position is north latitude 39.978. The location longitude information returned by the location server is east longitude 116.32, and the location latitude information returned by the location server is north latitude 39.97. The base station location area code is 4564.
The memory 214 may communicate with the database 160 at regular intervals, download all or a portion of the information stored in the database 160, and use the downloaded information to update the valid location table and invalid location table stored in the memory 214. The valid location tables and/or invalid location tables stored in memory 214 may also be uploaded to location server 150, including database 160, for other user queries.
For example, when it is detected that the mobile communication terminal 110 enters a certain area, the user may be prompted to download location information related to the area in the database 160. After the user has downloaded all the location information associated with the area into the memory 214, when the user first passes a certain location in the area, the location can be quickly located by the information reported by other users. This is particularly true for some mobile communication terminals 110 that do not have a GPS module, since the database 160 stores location information for a number of different mobile communication terminals 110, some of which are reported by terminals that have a GPS module, and thus have a higher accuracy. Therefore, the mobile communication terminal without the GPS module can improve the positioning precision by means of the information with higher accuracy reported by other terminals with the GPS module.
The positioning process of the mobile communication terminal 110, exemplified by the smartphone 200, is schematically illustrated in fig. 4-6.
As previously described, certain applications 225 may provide location-based services, and these applications 225 may be divided into high-positioning-priority applications (positioning-accuracy-priority applications) and low-positioning-priority applications (positioning-time-priority applications). High positioning priority applications require higher positioning accuracy, such as mapping applications and navigation applications; low positioning priority applications have relatively low positioning accuracy requirements, but it is desirable that the positioning time spent be relatively short, such as photo applications and weather forecast applications. The high positioning priority application and the low positioning priority application use different positioning strategies. When the applications 225 are opened by a user and a positioning request is initiated, the positioning priorities of the applications 225 are first determined, and different positioning policies are provided according to the different positioning priorities.
The positioning procedure for low positioning priority applications is first described below in conjunction with fig. 4.
The low location priority application 225 requests the current location or position of the smartphone 200 and the location request is sent to the location framework layer 235 in the smartphone 200. In response, the location framework layer 235 sends a message to the RIL layer 240, and the RIL layer 240 issues an instruction to the wireless communication module 211 and/or the WLAN module 212 to request the identification information 215. The identification information 215 includes environment information of a base station currently communicating with the smartphone 200 and/or WLAN environment information of a nearby access point of the smartphone 200, and the like.
After retrieving the identification information 215, the RIL layer 240 forwards the identification information 215 to the location framework layer 235. The location framework layer 235 generates a request to locate the memory 214 of the smartphone 200 to determine whether the memory 214 contains the identification information 215 and the location information corresponding thereto.
When the identification information 215 is located in the first effective location table or the second effective location table, the effective location information Ly corresponding to the identification information 215 is sent to the location framework layer 235, and the location framework layer 235 further provides the effective location information Ly to the application 225, wherein the effective location information Ly includes the first location information Ln or the second location information Lg. For example, when the identification information 215 having the cell identification of "18179586" and the location area code of "4170" is checked in table 1, the location frame layer 235 transmits the latitude and longitude information north latitude 40.093 and east longitude 116.292 in table 1 to the application.
When the identification information 215 is not stored in the memory 214, and the search result is empty, the smartphone 200 performs positioning through the location server 150, the location server 150 selects the third location information Ln ' matching the identification information 215 from the database 160, and sends the location information Ln ' to the location framework layer 235, and the location framework layer 235 further provides Ln ' to the application 225.
When the identification information 215 is not stored in the memory 214, the identification information 215 is saved as valid information to the first valid location table and/or the second valid location table in the memory and the third location information Ln 'determined by the network positioning technology is saved, in addition to providing Ln' to the application 225 through the above-described procedure. When the identification information 215 includes the Cell identification Cell ID, writing the Cell ID and the third location information Ln' included in the identification information 215 in the first valid location table; when the identification information 215 includes a basic service set identification BSSID of the wireless router scanned by the mobile terminal, writing the BSSID and the third location information Ln' included in the identification information in a second valid location table; when the identification information 215 includes both the Cell ID and the BSSID, the Cell ID and Ln 'are written in the first valid location table, and the BSSID and Ln' are written in the second valid location table.
When this identification information 215 is stored in the invalid location table as invalid location information in the memory 214, the second location information Lg in the invalid location table is sent to the application, as shown in step 6.1 in fig. 4.
Alternatively, when the identification information 215 is located in the invalid location table, the third location information Ln 'is determined by using a network location technique, as shown in step 6.2.1 in fig. 4, and the second location information Lg stored in the invalid location table is compared with the third location information Ln' obtained in step 6.2. If the difference is greater than the second threshold, the information in the invalid location table remains unchanged, and the second location information Lg stored in the invalid location table is sent to the location framework layer 235, as shown in steps 6.2.4 and 6.2.5 of fig. 4, and the location framework layer 235 in turn provides the information Lg to the application 225. As shown in steps 6.2.2 and 6.2.3 in fig. 4, if the difference between the two is less than or equal to the second threshold, the third location information Ln 'obtained in step 6.2 is the corrected information, the third location information Ln' is provided to the application 225, and the data related to the identification information 215 in the invalid location table is deleted, the Cell ID and the third location information Ln 'included in the identification information are stored in the first valid location table, and the BSSID and the third location information Ln' included in the identification information are stored in the second valid location table.
For low positioning priority applications, the GPS module of the handset is not activated during positioning, and positioning is performed only by means of the location information in the memory 214 or the database 160. As mentioned above, some of the location information in the memory 214 or the database 160 is reported by the terminal with the GPS module or has been corrected by other users, and thus has a higher accuracy.
Compared with the current network positioning mode only considering one Cell base station information, for the application with low positioning priority, even if the reported position information is the GPS position information in an invalid position table, the positioning accuracy can be improved because the GPS position information is associated with LAC, Cell ID and real-time RSSI of a plurality of Cell base stations.
Thus, even if the GPS module is not started, the low positioning priority application can have higher positioning accuracy.
Also, when the identification information 215 can be found in the first valid location table, the second valid location table, or the invalid location table in the memory 214, since the positioning process is only in the native operation, the time required for positioning can be significantly shortened, and additional power consumption due to GPS positioning can be avoided.
As shown in step 6.2.1 of fig. 4, the second location information Lg stored in the invalid location table is compared with the third location information Ln 'obtained in step 6.2 to decide whether Ln' or Lg is sent to the application. Alternatively, the first location information Ln stored in the invalid location table may be compared with the third location information Ln 'obtained in step 6.2 to decide if Lg or Ln' is sent to the application.
At this time, it should be firstly ensured that the identification information corresponding to Ln ' and Ln respectively has the same Cell ID and/or BSSID information, that is, when the identification information is consistent, if the difference between Ln ' and Ln is less than or equal to the fourth threshold, it indicates that the location information Ln ' obtained in step 6.2 is not corrected, and at this time, the second location information Lg stored in the invalid location table is sent to the application; if the difference between Ln ' and Ln is greater than the fourth threshold, indicating that the location information Ln ' obtained in step 6.2 is corrected, the third location information Ln ' is provided to the application 225.
The fourth threshold is smaller than the first threshold, the fourth threshold can be set in advance by a system or a user to adapt to different positioning accuracy requirements, the value range of the fourth threshold is 1-10km, and preferably, the fourth threshold is one of the numerical values of 1km, 2km or 5km and the like. If the BSSID information corresponding to the identification information in the invalid location table is null, the value range of the fourth threshold is (Lg-Ln)/4 to (Lg-Ln), preferably, the fourth threshold is (Lg-Ln)/2, where Lg and Ln are the second location information Lg and the first location information Ln stored in the invalid location table.
The positioning procedure for high positioning priority applications is described below in connection with fig. 5.
The high location priority application 225 requests the current location or position of the smartphone 200, and the request is sent to the location framework layer 235 in the smartphone 200. In response, the location framework layer 235 sends a message to the RIL layer 240, the RIL layer 240 in turn instructs the GPS module 213 to perform positioning using satellite positioning technology, and the GPS module 213 determines the fourth location information Lg' of the smartphone. The location of the high location priority application is achieved by providing Lg' to the application program 225 through the location framework layer 235.
In the above case, the GPS module 213 directly determines the fourth location information Lg' of the smartphone without the aid of other information. Alternatively, the GPS module 213 may implement fast positioning by means of the third location information Ln'.
In order to realize fast positioning by the third location information Ln', the RIL layer 240 instructs the GPS module 213 to perform positioning and also instructs the wireless communication module 211 and/or the WLAN module 212 to acquire the identification information 215. After receiving the identification information 215, the smartphone 200 determines the third location information Ln ' by using a network positioning technology, and the RIL layer 240 injects the third location information Ln ' as assistance data into the GPS module 213, so as to shorten an initialization time for the location server 150 to receive navigation data, so that the GPS module 213 can determine the fourth location information Lg ' of the smartphone in a short time by using an AGPS method.
For the application with high positioning priority, a GPS module of the mobile phone is started in the positioning process, and the positioning is carried out by utilizing the position information determined by the satellite positioning technology.
The high positioning priority application also checks the valid location table and invalid location table of the memory 214 while performing the positioning actions described above. The verification process is as follows:
after receiving the identification information 215, the location framework layer 235 generates a request to look up the memory 214 of the smartphone 200 to determine whether the memory 214 contains the identification information 215 and the location information corresponding thereto.
When the identification information 215 is located in the first effective location table or the second effective location table, the first location information Ln stored in the first effective location table or the second effective location table is compared with the fourth location information Lg'. If the difference value between the two is less than or equal to the first threshold value, updating the first location information Ln in the effective location table to Lg', and ending the operation; if the difference between the two is greater than the first threshold, the information corresponding to the identification information 215 in the valid location table is deleted, and the identification information 215, the first location information Ln, and the fourth location information Lg' are saved in the invalid location table.
For example, when the cell identifier in the identification information 215 is "22725377", the location area code is "4301", and the cell identifier is found and stored in the aforementioned first effective location table, the first location information Ln stored in the first effective location table is 116.174 for east longitude, and 40.053 for north latitude. If the fourth position information Lg' determined using the satellite positioning technology is east longitude 116.189, north latitude 40.056. I.e., Ln and Lg', is less than or equal to the first threshold, the corresponding location information (east longitude 116.174, north latitude 40.053) stored in the first valid location table is updated to (east longitude 116.189, north latitude 40.056) and its location source is modified to GPS, and then the operation is ended. If the fourth position information Lg' determined using the satellite positioning technology is east longitude 116.274, north latitude 40.153. I.e., Ln and Lg', is greater than the first threshold, the identification information 215 and corresponding location information are deleted from the first valid location table, and a record in the following format is added to the invalid location table (table 4).
Figure GWB0000002972030000311
Figure GWB0000002972030000321
When the identification information 215 is stored in the invalid location table as invalid location information in the memory 214, the second location information Lg stored in the invalid location table is compared with the third location information Ln' obtained in step 3, as shown in step 4.2 in fig. 5. If the difference value between the two is larger than a second threshold value, keeping the information in the invalid position table unchanged; if the difference between the first location information and the second location information is less than or equal to a second threshold, the data related to the identification information 215 in the invalid location table is deleted, the Cell ID and the third location information Ln 'included in the identification information are stored in the first valid location table, and the BSSID and the third location information Ln' included in the identification information are stored in the second valid location table.
As shown in steps 4.1.1, 4.1.2 and 4.1.3 in fig. 5, when the high positioning priority application checks the valid location table in the memory 214, the selected first threshold value can also be set in advance by the system or the user to adapt to different positioning accuracy requirements, and the value range of the first threshold value is 1-20km, and preferably, the first threshold value is one of values such as 2km, 5km or 10 km.
As shown in steps 4.2.1 and 4.2.2 in fig. 5, when the application with high positioning priority checks the invalid location table in the memory 214, the selected second threshold may also be set in advance by the system or the user to meet different positioning accuracy requirements, and the value of the second threshold ranges from 1km to 20km, preferably, the second threshold is one of 2km, 5km or 10km, etc.
The second threshold is less than or equal to the first threshold, for example, 5km when the first threshold is 10 km; or when the first threshold is 5km, the second threshold is 2km, which is not illustrated here.
Since the second threshold value is less than or equal to the first threshold value, when the difference between Lg and Ln 'is less than or equal to the second threshold value, the third location information Ln' is considered to be corrected information, and thus has a higher degree of reliability.
When this identification information 215 is not stored in the memory 214, when the search result is empty, the third location information Ln 'determined on the basis of the network is also compared with the fourth location information Lg' determined using satellite positioning technology, as shown in step 4.3 in fig. 5. If the difference between the first position information and the second position information is less than or equal to the first threshold, the identification information 215 is saved as valid information to the memory 214, and corresponding fourth position information Lg' is saved; if the difference is greater than the first threshold, the identification information 215 is saved as invalid information to the memory 214, and the corresponding third location information Ln 'and fourth location information Lg' of the identification information 215 are saved.
It should be understood by those skilled in the art that the acquisition time of the location information Lg 'and Ln' used for comparison in step 4.3 of fig. 5 should be less than a certain time interval to avoid the change of the location of Lg 'and Ln' positioning due to the movement of the smartphone 200 in the time interval. The time interval can also be set in advance by the system or the user, and the value range of the time interval is 10s-5min, preferably, the time interval is one of the values of 30s, 1m or 2m and the like.
The above describes a method for the GPS module 213 to perform fast positioning by means of the third location information Ln', and optionally, the GPS module 213 may also perform fast positioning by means of the first location information Ln or the second location information Lg in the effective location table.
In the present invention, the locations obtained by the high positioning priority application may be stored in the memory 214 to provide convenience to other low positioning priority applications.
The positioning process for the low positioning priority application and the high positioning priority application are described above, respectively, however, the positioning priority of the application program 225 in the smartphone may be in between, or in some cases, the application program 225 is not assigned the positioning priority, and in the following description, the application program not assigned the positioning priority is denoted as the application program 2250. The location process of the application 2250 is described below in conjunction with fig. 6.
For the application 2250 not assigned with the positioning priority, the positioning process may use the fourth location information Lg' determined by the satellite positioning technology, or may rely on only the location information in the memory 214 or the database 160 for positioning.
For the application 2250, as shown in step 4.1 in fig. 6, when the identification information is located in the first effective location table or the second effective location table, the second location information Lg corresponding to the identification information is used as a positioning result, and a GPS module of the mobile phone may not be started in the positioning process, so that it is not necessary to record a GPS location, and therefore unnecessary storage content may be reduced, and excessive system resources are avoided being occupied.
As with the high positioning priority application, the application 2250 checks the valid location table and invalid location table of the memory 214 while positioning.
As with the positioning process of the high positioning priority application, when the application 2250 requests the current location or position of the smartphone 200, the RIL layer 240 instructs the GPS module 213 to perform positioning and, at the same time, instructs the wireless communication module 211 and/or the WLAN module 212 to request acquisition of the identification information 215.
Upon receiving the identification information 215, the RIL layer 240 forwards the identification information 215 to the location framework layer 235. The location framework layer 235 generates a request to locate the memory 214 of the smartphone 200 to determine whether the memory 214 contains the identification information 215 and the location information corresponding thereto.
When the identification information 215 is located in the first effective location table or the second effective location table, it may be further determined whether the source of the location information corresponding to the identification information 215 is a GPS or a location SERVER (SERVER), and if the source of the location information is a GPS, the second location information Lg may be directly provided to the application 2250; if the source of the location information is a SERVER, the first location information Ln may be compared with fourth location information Lg' determined using satellite positioning techniques. If the difference between the first location information Ln and the fourth location information Lg ' is less than or equal to the first threshold, the first location information Ln in the valid location table is updated to the fourth location information Lg ', and the fourth location information Lg ' is provided to the application 2250; if the difference between the first location information Ln and the fourth location information Lg ' is greater than the first threshold, the first location information Ln corresponding to the identification information 215 in the valid location table is deleted, and the identification information 215, the first location information Ln, and the fourth location information Lg ' are stored in the invalid location table, and then the fourth location information Lg ' is provided to the application 2250.
Optionally, when the identification information 215 is located in the first effective location table or the second effective location table, the network positioning technology may also be used to determine the third location information Ln ', and the first location information Ln or the second location information Lg stored in the first effective location table (or the second effective location table) is compared with the third location information Ln'. If the difference between the first location information Ln (or the second location information Lg) and the third location information Ln' is greater than the first threshold, providing the first location information Ln or the second location information Lg stored in the first effective location table (or the second effective location table) to the application 2250; if the difference between the first location information Ln (or the second location information Lg) and the third location information Ln ' is not greater than the first threshold value, the first location information Ln or the second location information Lg stored in the first effective location table (or the second effective location table) is replaced with the third location information Ln ' and the third location information Ln ' is provided to the application 2250. Also, optionally, if the difference between the first location information Ln (or the second location information Lg) and the third location information Ln 'is not greater than the first threshold, the first location information Ln or the second location information Lg stored in the first effective location table (or the second effective location table) may be provided to the application 2250 without replacing the first location information Ln or the second location information Lg stored in the first effective location table (or the second effective location table) with the third location information Ln'.
When the identification information 215 is stored in the invalid location table as invalid location information in the memory 214, the second location information Lg stored in the invalid location table is compared with the third location information Ln' obtained in step 6.1, as shown in step 6.2 in fig. 6. If the difference value between the two is greater than a second threshold value, the information in the invalid position table is kept unchanged, and Lg is sent to the application 2250; if the difference between the first location information and the second location information is less than or equal to the second threshold, the data related to the identification information 215 in the invalid location table is deleted, the Cell ID and the third location information Ln included in the identification information are stored in the first valid location table, the BSSID and the third location information Ln included in the identification information are stored in the second valid location table, and then the third location information Ln' obtained in step 6.1 is sent to the application 2250.
When the identification information 215 is not stored in the memory 214, and the search result is empty, the smartphone 200 performs positioning through the aforementioned location server 150, and the location server 150 selects the third location information Ln 'matching the identification information 215 from the database 160, and sends the third location information Ln' to the location framework layer 235. The location framework layer 235 sends a message to the RIL layer 240, the RIL layer 240 injects the third location information Ln ' as auxiliary data into the GPS module 213, and shortens the initialization time for the location server 150 to receive navigation data, so that the GPS module 213 can determine the fourth location information Lg ' of the smartphone in a short time by using an AGPS method, and then provides the fourth location information Lg ' to the application 2250 through the location framework layer 235, thereby completing the positioning.
When the identification information 215 is not stored in the memory 214, the third location information Ln ' determined based on the network is compared with the fourth location information Lg ' determined using the satellite positioning technique, as shown in step 5.5 in fig. 6, in addition to the fourth location information Lg ' provided to the application 2250 by the above-described procedure. If the difference between the first position information and the second position information is less than or equal to the first threshold, the identification information 215 is saved as valid information to the memory 214, and corresponding fourth position information Lg' is saved; if the difference is greater than the first threshold, the identification information 215 is saved as invalid information to the memory 214, and the corresponding third location information Ln 'and fourth location information Lg' of the identification information 215 are saved.
As shown in steps 6.3 and 6.4 in fig. 6, when the application 2250 checks the invalid location table in the memory 214, the selected second threshold may be set in advance by the system or the user to meet different positioning accuracy requirements, and the value of the second threshold ranges from 1km to 20km, preferably, the second threshold is one of 2km, 5km, or 10 km.
As shown in steps 5.5, 5.6 and 5.7 in fig. 6, when comparing Lg 'and Ln', the selected first threshold can also be set in advance by the system or the user to adapt to different positioning accuracy requirements, and the value of the first threshold ranges from 1km to 20km, and preferably, the first threshold is one of 2km, 5km or 10km and the like.
The second threshold is less than or equal to the first threshold, for example, 5km when the first threshold is 10 km; or when the first threshold is 5km, the second threshold is 2km, which is not illustrated here.
Since the second threshold value is less than or equal to the first threshold value, when the difference between Lg and Ln 'is less than or equal to the second threshold value, the third location information Ln' is considered to be corrected information, and thus has a higher degree of reliability.
In the above case, the GPS module 213 realizes fast positioning by means of the third location information Ln', and optionally, the GPS module 213 determines the location Lg of the smartphone directly without the help of other information.
In the above-described process of checking the valid location table and the invalid location table, the identification information 215' is acquired by the wireless communication module 211 and/or the WLAN module 212, and then whether the same identification information 215 exists in the valid location table and the invalid location table is searched for. If the stored identification information 215 contains only Cell ID or BSSID information, the identification information 215 'and 215 are considered to be the same when the acquired identification information 215' has the same Cell ID or BSSID information; if the stored identification information 215 includes Cell ID, BSSID information, All Cell Info information, LAC of All base stations, and RSSI of All base stations, it is determined that the acquired identification information 215' is the same identification information when the two also have the same Cell ID, BSSID information, All Cell Info information, LAC, and RSSI.
The following describes a specific way of comparing two identification information by way of example.
For example, when the structures of two identification information (All Cell Info) CI0 and CI1 are as follows,
CI0:
int celllnfonum 0 ═ n 0; // the number of all cellinfo
String bssid0 ═ s 0; // BSSID character string
int [ ] allCellIdArr0 ═ { cellid01, cellid02, cellid03 }; // all cellid values
int [ ] allareacodear 0 ═ { area 01, area 02, area 03 }; LAC corresponding to// cellid value
int [ ] allRssi0 ═ { rssi01, rssi02, rssi03 }; RSSI value corresponding to// cellid value
CI1:
int celllnfonum 1 ═ n 1; // the number of all cellinfo
String bssid1 ═ s 1; // BSSID character string
int [ ] allCellIdArr1 ═ { cellid11, cellid12, cellid13 }; // all cellid values
int [ ] allareacodear 1 ═ { area 11, area 12, area 13 }; LAC corresponding to// cellid value
int [ ] allRssi1 ═ { rssi11, rssi12, rssi13 }; RSSI value corresponding to// cellid value
The same conditions for CI0 and CI1 are: a. the Cell IDs in All Cell Info are the same in number; b. the BSSID strings are identical; c. all Cell IDs are equal in order; d. each LAC is identical in sequence; e. the mean square error of each RSSI value is smaller than a preset threshold value. When both CI0 and CI1 contain the above information, CI0 and CI1 are considered identical only if the abcde conditions are both satisfied.
Mean square error of RSSI, available as
Figure GWB0000002972030000371
The number of RSSI values can be increased or decreased according to the actual situation, and the denominator is the number of RSSI values.
When the data item contained in the stored identification information 215 does not match the data item contained in the acquired identification information 215 ', the acquired identification information 215 ' is considered to be new identification information, and the identification information 215 ' is inserted into the valid location table or the invalid location table, keeping the stored identification information 215 and the corresponding location information unchanged. For example, CI0 satisfies the above ac condition compared to CI1, but CI0 or CI1 further includes at least one of BSSID, LAC, and RSSI, and CI0 and CI1 are considered to be different identification information.
The process of making a location query in the memory 214 is schematically illustrated in fig. 7.
In positioning through the location information in the memory 214 or the database 160, if the currently acquired identification information 215' includes both Cell ID information and BSSID information, a record of whether the identification information CI1 including the Cell ID information exists can be first searched in the first valid location table, and after a CI1 satisfying the condition is found, the search of whether the identification information CI2 including the BSSID information exists in the second valid location table can be continued. If no CI1 is found that satisfies the condition, then the query is not continued with the second valid location table, but a new lookup is made in the invalid location table.
When the identification information CI1 and CI2 coexist, since the coverage of Wi-Fi APs is smaller than that of a base station, it is possible to assist in verifying whether an AP in CI2 is a mobile AP or an invalid AP through CI 1. For example, when the distance between the location information corresponding to CI1 and CI2 is less than or equal to the third threshold, the AP in CI2 is considered to be a valid AP, and at this time, the effective location longitude and latitude information corresponding to CI2 in the second effective location table is sent to the application; when the distance between the location information corresponding to CI1 and CI2 is greater than the third threshold, the AP in CI2 is considered to be a mobile AP or an invalid AP, at which time the valid location latitude and longitude information corresponding to CI1 in the first valid location table is sent to the application, and the AP is marked as invalid in the second valid location table.
The value range of the third threshold is 1-5km, preferably, the third threshold is one of the values of 1km, 2km or 3km and the like, and the third threshold is smaller than the second threshold.
If the above CI1 and CI2 are not found in both the first valid location table and the second valid location table when locating by location information in the memory 214, then a lookup is performed in the invalid location table. When a lookup is made in the invalid location table, CI3 is considered to be a record matching 215 'when CI3 in the invalid location table satisfies the aforementioned abcde condition as compared to the currently acquired identification information 215'. If there are multiple CI's 3 that match 215', then the one with the smallest mean square error is selected.
When CI3 is found in the invalid position table (table 4), Cell ID information and BSSID information contained in CI3 are extracted, and the same identification information as the Cell ID information or BSSID information in the valid position table (tables 1 and 2) is deleted, ensuring that all stored in the valid position table are valid positions.
The process of looking up CI3 in the invalid location table (Table 4) is:
1. returning at least one matching result through the cellid + bsid matching query, and acquiring All Cell Info information corresponding to the matching result;
2. comparing All Cell Info information of the currently acquired identification information 215' with All Cell Info information in the matching result, and taking a position corresponding to the minimum value of RSSI value mean square error (Rssi Distance);
3. when the RSSI value mean square deviation is smaller than a preset threshold (Valid Distance), a record including the identification information CI3 is sent to the RIL layer 240.
In the above embodiment, it is described that the hardware layer 245 of the smartphone 200 includes the memory 214, and the memory 214 stores the valid location table and the invalid location table.
As an alternative to the above-described embodiment, only the valid location table may be stored in the memory 214, while the invalid location table may be stored in the location server 150 and its connected database 160 on the network. Since only the valid location information is stored on the mobile communication terminal 110, the memory space occupied by the mobile communication terminal 110 can be reduced and fast location can be realized through the valid location table stored on the mobile communication terminal 110.
The location server 150 may be a single server or a distributed server. When the solution of the present invention is implemented by using the location server 150, the location server 150 should include a processor unit, a storage unit, a network interface, etc.
The processor unit is usually a high-performance CPU cluster and is responsible for processing query requests of a large number of clients; the storage unit is usually a disk array and is responsible for storing massive data information reported by the client; the network interface is used to connect the location server 150 and each mobile communication terminal 110, enable the location server 150 to acquire location information based on different sources (base stations, satellites, and access points) reported by each mobile communication terminal 110, and transmit relevant data to the mobile communication terminal 110 when the mobile communication terminal 110 requests the data.
The interaction of the mobile communication terminal with the location server is schematically illustrated in fig. 8-9.
Fig. 8 is a diagram for explaining a process in which an application program not assigned a positioning priority or an application program of a low positioning priority interacts with a location server in a positioning process, thereby updating data stored in a memory and the location server.
As shown in fig. 8, when the mobile communication terminal 110 enters a certain area, it makes a request to the location server 150 for the location information related to the area in the package download database 160. Location server 150 transmits location information of an area having a certain distance radius around the approximate location of mobile communication terminal 110 to terminal 110 in the form of a packet, based on the approximate location of mobile communication terminal 110. The terminal 110 saves the packet in the memory 214 or updates the data stored in the memory 214 with the information in the packet. Thereafter, when an application program not assigned a positioning priority or a low positioning priority requests positioning, the location framework layer 235 first generates a request to search the memory 214, and if matching location information is found in the valid location table or the invalid location table stored in the memory 214, transmits the matching location information to the application; if no matching location information is found in the memory 214, the terminal 110 requests a location service to the location server 150, the location server 150 searches for third location information Ln 'matching the identification information in the record other than the above-mentioned packet based on the network location manner and transmits Ln' to the terminal, the terminal transmits Ln 'to the application, and stores Ln' and the corresponding identification information in the effective location table of the memory 214. In addition, the location server 150 updates the data packet, and stores Ln' and corresponding identification information in the data packet.
Fig. 9 is a diagram for explaining a process in which a high positioning priority application interacts with a location server during positioning to update data stored in a memory and the location server.
As shown in fig. 9, when the mobile communication terminal 110 enters a certain area, it makes a request to the location server 150 for the packed download of location information related to the area in the database 160. Location server 150 transmits location information of an area having a certain distance radius around the approximate location of mobile communication terminal 110 to terminal 110 in the form of a packet, based on the approximate location of mobile communication terminal 110. The terminal 110 saves the packet in the memory 214 or updates the data stored in the memory 214 with the information in the packet. Thereafter, when the application with high positioning priority requests positioning, the GPS module 213 quickly determines the fourth location information Lg 'by means of the location information in the valid location table, or, alternatively, the GPS module 213 determines the fourth location information Lg' directly without the aid of other information. In addition to determining the fourth location information Lg ' through the GPS module 213, the terminal 110 requests a location service to the location server 150, the location server 150 searches the database for the third location information Ln ' matching the identification information based on the network location manner and transmits the third location information Ln ' to the terminal, the terminal compares Ln ' and Lg ', stores the identification information and the corresponding location thereof in the valid location table or the invalid location table according to the comparison rule described above, and updates the valid location table or the invalid location table stored in the memory 214. And, the terminal uploads the updated valid location table or invalid location table to the location server 150, and the location server 150 updates the data packet according to the uploaded data.
The values of the first, second, third and fourth thresholds described above in the specification are only examples, and those skilled in the art can adjust and optimize the values as needed. The steps of the method described in connection with the present disclosure may be embodied in hardware or may be embodied in software instructions executed by a processor. The software instructions may consist of corresponding software modules that may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. Of course, the storage medium may also be integral to the processor. The processor and the storage medium may reside in an ASIC. Additionally, the ASIC may reside in user equipment. Of course, the processor and the storage medium may reside as discrete components in user equipment.
The executable code of the program is compiled into a binary file, the binary file is stored in a system partition of an internal memory of the mobile phone, the storage position of a database is a data partition of the internal memory, and information in a table is encrypted. When executed, the CPU calls the execution instruction and accesses the GPS module, the wireless communication module and the WLAN module to acquire information or connect with a network when appropriate.
Those skilled in the art will recognize that, in one or more of the examples described above, the functions described in this invention may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer.
The above-mentioned embodiments, objects, technical solutions and advantages of the present invention are further described in detail, it should be understood that the above-mentioned embodiments are only exemplary embodiments of the present invention, and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made on the basis of the technical solutions of the present invention should be included in the scope of the present invention.

Claims (21)

1. A positioning method applied to a mobile terminal having at least one application program, the method comprising:
receiving a positioning request initiated by an application program;
acquiring identification information of the mobile terminal, wherein the identification information comprises at least one of a Cell identification (Cell ID) of a Cell where the mobile terminal is located and a Basic Service Set Identification (BSSID) of a wireless router scanned by the mobile terminal, and the wireless router scanned by the mobile terminal comprises a wireless router with the strongest signal in a wireless router connected with the terminal or a wireless router not connected with the terminal;
determining location information corresponding to the identification information in a first valid location table, a second valid location table, or an invalid location table, the terminal storing the first valid location table, the second valid location table, or the invalid location table, the first valid location table including a parameter item being a Cell ID and first location information Ln corresponding to the Cell ID or second location information Lg corresponding to the Cell ID, the second valid location table including a parameter item being a BSSID and first location information Ln corresponding to the BSSID or second location information Lg corresponding to the BSSID, the invalid location table including a parameter item being a CellID, a BSSID, first location information Ln corresponding to the Cell ID and the BSSID, and second location information Lg corresponding to the Cell ID and the BSSID, the first valid location table, the second valid location table, and the invalid location table each including a plurality of sets of parameter values corresponding to the parameter items, a distance between the Ln and the Lg in the invalid location table is greater than a first threshold, the Ln is determined using network positioning technology, and the Lg is determined using satellite positioning technology;
sending the determined location information to the application program initiating the positioning request.
2. The method of claim 1, wherein the identification information is located in the first valid location table or the second valid location table, and the determining the location information corresponding to the identification information in the first valid location table, the second valid location table or the invalid location table comprises: and taking the position information corresponding to the identification information in the first effective position table or the second effective position table as a positioning result.
3. The method of claim 1, wherein the identification information is located in the invalid location table, and the determining the location information corresponding to the identification information in the first valid location table, the second valid location table, or the invalid location table comprises: and taking the second position information Lg corresponding to the identification information in the invalid position table as a positioning result.
4. The method of claim 1, wherein the identification information is located in the invalid location table, and the determining the location information corresponding to the identification information in the first valid location table, the second valid location table, or the invalid location table comprises: determining third location information Ln ' by using a network positioning technology, determining that the distance between the Ln ' and the Lg in the invalid location table is not greater than a second threshold value, and taking the Ln ' as a positioning result, wherein the second threshold value is smaller than the first threshold value.
5. The method of claim 4, wherein the identification information and its corresponding location information located in the invalid location table are deleted, a Cell ID and the third location information Ln 'included in the identification information are stored in a first valid location table, and a BSSID and the third location information Ln' included in the identification information are stored in a second valid location table.
6. The method of claim 1, wherein the identification information is located in the invalid location table, and the determining the location information corresponding to the identification information in the first valid location table, the second valid location table, or the invalid location table comprises: determining third location information Ln 'by using a network positioning technology, determining that the distance between the Ln' and the Lg in the invalid location table is greater than a second threshold value, and taking the Lg as a positioning result, wherein the second threshold value is smaller than the first threshold value.
7. The method according to any of claims 1-6, wherein the identification information comprises more than one Cell identity, Cell ID, the identification information further comprising a respective received signal strength indication, RSSI, for each Cell identity, Cell ID.
8. The method according to any one of claims 1 to 6, wherein at least one of the first valid location table, the second valid location table, and the invalid location table is saved on a network, and the terminal uploads the identification information and the location information corresponding to the identification information to at least one of the first valid location table, the second valid location table, and the invalid location table on the network.
9. The method of claim 7, wherein at least one of the first valid location table, the second valid location table, and the invalid location table is saved on a network, and the terminal uploads the identification information and the location information corresponding to the identification information to at least one of the first valid location table, the second valid location table, and the invalid location table on the network.
10. A mobile terminal, comprising:
a receiving unit, configured to receive a positioning request initiated by an application;
an obtaining unit, configured to obtain identification information of the mobile terminal, where the identification information includes at least one of a Cell identification Cell ID of a Cell where the mobile terminal is located and a basic service set identification BSSID of a wireless router scanned by the mobile terminal, and the wireless router scanned by the mobile terminal includes a wireless router with a strongest signal among wireless routers to which the terminal is connected or wireless routers to which the terminal is not connected;
the determining unit is used for determining the position information corresponding to the identification information in a first effective position table, a second effective position table or an invalid position table;
a storage unit configured to store the first valid location table, the second valid location table, and an invalid location table, wherein the first valid location table includes a parameter item that is a Cell ID and first location information Ln corresponding to the Cell ID or second location information Lg corresponding to the Cell ID, the second valid location table includes a parameter item that is a BSSID and first location information Ln corresponding to the BSSID or second location information Lg corresponding to the BSSID, the invalid location table includes a parameter item that is a Cell ID, a BSSID, first location information Ln corresponding to the Cell ID and the BSSID, and second location information Lg corresponding to the Cell ID and the BSSID, the first valid location table, the second valid location table, and the invalid location table each include a plurality of sets of parameter values corresponding to the parameter items, and a distance between the Ln and the Lg in the invalid location table is greater than a first threshold value, the Ln is determined by using a network positioning technology, and the Lg is determined by using a satellite positioning technology;
a sending unit, configured to send the determined location information to the application program that initiated the location request.
11. The mobile terminal of claim 10, wherein the identification information is located in the first valid location table or the second valid location table, and the determining unit determines the location information corresponding to the identification information in the first valid location table, the second valid location table or the invalid location table, including: and taking the position information corresponding to the identification information in the first effective position table or the second effective position table as a positioning result.
12. The mobile terminal according to claim 10, wherein the identification information is located in the invalid location table, and the determining unit determines the location information corresponding to the identification information in the first valid location table, the second valid location table, or the invalid location table, including: and taking the second position information Lg corresponding to the identification information in the invalid position table as a positioning result.
13. The mobile terminal of claim 10, wherein the mobile terminal further comprises a network location unit and a comparison unit, wherein:
the network positioning unit is used for determining third position information Ln' by utilizing a network positioning technology;
the identification information is located in the invalid location table, the comparison unit compares the Ln 'with the Lg in the invalid location table, and determines that the distance between the Ln' and the Lg in the invalid location table is not greater than a second threshold value, wherein the second threshold value is smaller than the first threshold value;
the determining unit determines the position information corresponding to the identification information in a first effective position table, a second effective position table or an invalid position table, and the determining unit includes: and taking the Ln' as a positioning result.
14. The mobile terminal of claim 13, wherein the mobile terminal further comprises an erasing unit and a writing unit, wherein:
the erasing unit is used for deleting the identification information and the corresponding position information which are positioned in the invalid position table;
the writing unit is configured to write the Cell ID and the third location information Ln 'included in the identification information in a first valid location table, and write the BSSID and the third location information Ln' included in the identification information in a second valid location table.
15. The mobile terminal of claim 10, wherein the mobile terminal further comprises a network location unit and a comparison unit, wherein:
the network positioning unit is used for determining third position information Ln' by utilizing a network positioning technology;
the identification information is located in the invalid location table, the comparison unit compares the Ln 'with the Lg in the invalid location table, and determines that the distance between the Ln' and the Lg in the invalid location table is greater than a second threshold value, and the second threshold value is smaller than the first threshold value;
the determining unit determines the position information corresponding to the identification information in a first effective position table, a second effective position table or an invalid position table, and the determining unit includes: and taking the Lg in the invalid position table as a positioning result.
16. A mobile terminal according to any of claims 10-15, wherein said identification information comprises more than one of said Cell identities Cell ID, said identification information further comprising a respective received signal strength indication, RSSI, for each Cell identity Cell ID.
17. The mobile terminal according to any of claims 10-15, wherein at least one of the first valid location table, the second valid location table, and the invalid location table is saved on a network, and the transmitting unit transmits the identification information and the location information corresponding to the identification information to at least one of the first valid location table, the second valid location table, and the invalid location table on the network.
18. The mobile terminal according to claim 16, wherein at least one of the first valid location table, the second valid location table, and the invalid location table is saved on a network, and the transmitting unit transmits the identification information and the location information corresponding to the identification information to at least one of the first valid location table, the second valid location table, and the invalid location table on the network.
19. A computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a mobile terminal comprising a plurality of application programs, cause the mobile terminal to perform the positioning method according to any one of claims 1-9, wherein the mobile terminal comprises a receiving unit, an obtaining unit, a determining unit, a storing unit and a transmitting unit.
20. A mobile terminal comprising one or more processors, memory, a display, a bus system, a transceiver, and one or more programs, the processors, the memory, the display, and the transceiver being connected by the bus system;
wherein the one or more programs are stored in the memory, the one or more programs comprising instructions which, when executed by the mobile terminal, cause the mobile terminal to perform the positioning method of any of claims 1-9.
21. A graphical user interface on a mobile terminal comprising a memory, a plurality of application programs, and one or more processors to execute the one or more programs stored in the memory, the graphical user interface comprising user interfaces displayed by the positioning method of any of claims 1-9.
CN201680036063.XA 2016-06-17 2016-06-17 Mobile terminal and positioning method thereof Active CN107771408B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/086242 WO2017214979A1 (en) 2016-06-17 2016-06-17 Mobile terminal and positioning method therefor

Publications (2)

Publication Number Publication Date
CN107771408A CN107771408A (en) 2018-03-06
CN107771408B true CN107771408B (en) 2020-02-21

Family

ID=60663884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680036063.XA Active CN107771408B (en) 2016-06-17 2016-06-17 Mobile terminal and positioning method thereof

Country Status (2)

Country Link
CN (1) CN107771408B (en)
WO (1) WO2017214979A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110191201B (en) * 2019-04-19 2022-01-28 中国移动通信集团江苏有限公司 Method, device and equipment for displaying cell alias and computer storage medium
CN111399013B (en) * 2020-03-20 2023-07-18 Oppo广东移动通信有限公司 Positioning method, positioning device, terminal and storage medium
CN112511985A (en) * 2020-12-21 2021-03-16 迪爱斯信息技术股份有限公司 Alarm position positioning method, system, computer equipment and storage medium
WO2024049160A1 (en) * 2022-08-30 2024-03-07 엘지전자 주식회사 Method and apparatus for setting allowable position error in terminal location prediction-based message generation method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102946586A (en) * 2012-11-08 2013-02-27 中兴通讯股份有限公司 Access network information notification, access method and device based on position information
CN103454657A (en) * 2012-05-30 2013-12-18 中兴通讯股份有限公司 Method and device for comprehensively positioning intelligent terminal
CN104102358A (en) * 2014-07-18 2014-10-15 北京奇虎科技有限公司 Privacy information protecting method and privacy information protecting device
CN104918323A (en) * 2014-03-12 2015-09-16 电信科学技术研究院 Terminal location method and device
CN105050045A (en) * 2015-07-23 2015-11-11 深圳市金立通信设备有限公司 Terminal state control method and terminal
CN105606086A (en) * 2015-08-28 2016-05-25 宇龙计算机通信科技(深圳)有限公司 Positioning method and terminal

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100648270B1 (en) * 2006-03-29 2006-11-23 (주)래디안트 Mobile communication terminal capable of position determination and method of determining position in the mobile communication terminal
CN101115306B (en) * 2007-06-19 2010-06-02 中兴通讯股份有限公司 Method and system for implementing user intimacy safety in auxiliary global positioning process
CN101835258B (en) * 2010-04-21 2013-03-20 上海魔睿信息科技有限公司 Mobile terminal positioning method and system independent of base station positioning information
CN102695271B (en) * 2011-03-25 2015-10-07 中国电信股份有限公司 Third party positioning method and system
US9591454B2 (en) * 2014-09-11 2017-03-07 Google Inc. Computational complexity reduction of training wireless strength-based probabilistic models from big data
CN104796980A (en) * 2015-03-10 2015-07-22 合肥工业大学 WLAN indoor positioning calibration method suitable for different types of intelligent terminals

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103454657A (en) * 2012-05-30 2013-12-18 中兴通讯股份有限公司 Method and device for comprehensively positioning intelligent terminal
CN102946586A (en) * 2012-11-08 2013-02-27 中兴通讯股份有限公司 Access network information notification, access method and device based on position information
CN104918323A (en) * 2014-03-12 2015-09-16 电信科学技术研究院 Terminal location method and device
CN104102358A (en) * 2014-07-18 2014-10-15 北京奇虎科技有限公司 Privacy information protecting method and privacy information protecting device
CN105050045A (en) * 2015-07-23 2015-11-11 深圳市金立通信设备有限公司 Terminal state control method and terminal
CN105606086A (en) * 2015-08-28 2016-05-25 宇龙计算机通信科技(深圳)有限公司 Positioning method and terminal

Also Published As

Publication number Publication date
CN107771408A (en) 2018-03-06
WO2017214979A1 (en) 2017-12-21

Similar Documents

Publication Publication Date Title
CN102428735B (en) Positioning of a wireless device served by a femto cell, using the femto cell identifier and location
US8874137B2 (en) Method and device for discriminating positioning error using wireless LAN signal
JP6196357B2 (en) Provision of wireless transmitter almanac information to mobile stations based on expected contributions to future navigation behavior
US9173057B2 (en) Apparatus and method of managing peripheral wireless LAN radio signal for positioning service
US8446320B2 (en) Reliable location information for a mobile station using a non-GPS location technique
KR101266582B1 (en) System and/or method for reducing initial position uncertainty in sps operation
WO2011148741A1 (en) Position measuring device and method
US9872144B2 (en) Assigning location information to wireless local area network access points
US9161237B2 (en) Checking a validity of coverage area position information
US20150050947A1 (en) Supporting location based operations
US20160249315A1 (en) Techniques for reducing scans for indoor position determination
CN104380816A (en) Obtaining timing of lte wireless base stations using aggregated otdoa assistance data
CN107771408B (en) Mobile terminal and positioning method thereof
CN108351421A (en) Localization method, base station in mobile network and mobile terminal
KR20120005642A (en) Method and apparatus for providing position information by using error range
US20170280413A1 (en) Base station location determination
KR20120003716A (en) Method for detecting position, mobile communication terminal and position estimating server therefor
KR101791259B1 (en) Method for Measuring Position Hierarchically, System And Apparatus Therefor
US20160095051A1 (en) Assisted discovery scans for indoor position determination
EP3220699A1 (en) Method and system for realizing wireless positioning, and device for calculating positioning location
KR20120020868A (en) Method and apparatus searching gas station, computer-readable recording medium with program therefor
KR20100035244A (en) Server and method for building pcell database improving determination accuracy
KR20120010014A (en) Positioning Database Constructing System, Apparatus for Analyzing pCell Database and Method therefor
JP2021532651A (en) Methods and systems for acquiring the location information of terminals within the range of the target transmission device
CN102783227A (en) Method and arrangement of determining timing uncertainty

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant