CN117440361B - Data transmission method and electronic equipment - Google Patents

Data transmission method and electronic equipment Download PDF

Info

Publication number
CN117440361B
CN117440361B CN202311772248.5A CN202311772248A CN117440361B CN 117440361 B CN117440361 B CN 117440361B CN 202311772248 A CN202311772248 A CN 202311772248A CN 117440361 B CN117440361 B CN 117440361B
Authority
CN
China
Prior art keywords
electronic device
cell
sensorhub
electronic equipment
cell database
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
CN202311772248.5A
Other languages
Chinese (zh)
Other versions
CN117440361A (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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202311772248.5A priority Critical patent/CN117440361B/en
Publication of CN117440361A publication Critical patent/CN117440361A/en
Application granted granted Critical
Publication of CN117440361B publication Critical patent/CN117440361B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • H04W8/205Transfer to or from user equipment or user record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

The application provides a data transmission method and electronic equipment, relates to the technical field of terminals, and aims to solve the problems of low positioning efficiency and high power consumption when positioning the position of the electronic equipment. The specific scheme is as follows: the AP of the electronic equipment acquires a first CELL database corresponding to the current position of the electronic equipment, if the data volume in the first CELL database exceeds a preset threshold, the electronic equipment transmits the first CELL database from the AP to SensorHub through a first target channel, the first target channel supports single transmission of data in a first data volume range, and the minimum value of the first data volume range is larger than or equal to the preset threshold.

Description

Data transmission method and electronic equipment
Technical Field
The embodiment of the application relates to the technical field of terminals, in particular to a data transmission method and electronic equipment.
Background
CELL (CELL) positioning technology refers to that an electronic device "translates" CELL information into latitude and longitude information through a positioning algorithm according to scanned CELL information to determine the position of the electronic device. The CELL information may include an identifier for indicating a CELL in which the electronic device currently resides and a neighbor identifier, for example, the identifier may include a Mobile Country Code (MCC) of a base station, a mobile operator code (mobile network codes, MNC), a location area code (location area code, LAC), a base station number (CELL ID, CID), a network format (radio access technology, RAT), a channel number (channel number), a signal strength, and the like.
However, the existing positioning algorithm has the problems of low positioning efficiency and high power consumption.
Disclosure of Invention
The application provides a data transmission method and electronic equipment, which are used for solving the problems of low positioning efficiency and high power consumption when the position of the electronic equipment is positioned.
In order to achieve the above purpose, the application adopts the following technical scheme:
In a first aspect, a data transmission method is provided, where the data transmission method is applied to an electronic device, and the electronic device includes an application processor AP and a system coprocessor SensorHub. The method comprises the following steps: the AP of the electronic equipment acquires a first CELL database corresponding to the current position of the electronic equipment, if the data volume in the first CELL database exceeds a preset threshold, the electronic equipment transmits the first CELL database from the AP to SensorHub through a first target channel, the first target channel supports single transmission of data in a first data volume range, and the minimum value of the first data volume range is larger than or equal to the preset threshold. That is, the electronic device may transmit the data amount of the first CELL database exceeding the preset threshold value through the first target channel from the AP to SensorHub at a time, so that the data transmission efficiency may be improved.
Based on the first aspect, since the first CELL database includes a plurality of sets of first CELL information, each set of first CELL information includes an identifier of a CELL in which the electronic device resides and an identifier of a neighboring CELL, and the identifier includes at least one of a location area code LAC, a base station number CID, a mobile country code MCC, a mobile operator code MNC, a signal frequency, and a signal strength; the first CELL database is used for positioning the position of the electronic equipment, so that the positioning efficiency can be improved by improving the data transmission efficiency, and the purpose of reducing the power consumption is achieved.
In one design, the method further includes: if the data amount in the first CELL database does not exceed the preset threshold, the electronic equipment transmits the first CELL database from the AP to SensorHub through the second target channel; the second target channel supports single transmission of data in a second data volume range, and the maximum value of the second data volume range is smaller than or equal to a preset threshold value. If the data size in the first CELL database is smaller, the first CELL database is transmitted through the second target channel, so that the resource overhead can be effectively saved.
In one design, the first target channel is used to indicate a direct channel and the second target channel is used to indicate a high-pass message interface QMI channel. If the data amount in the first CELL database is large, the data transmission efficiency can be improved by adopting the first target channel for transmission, and the positioning efficiency can be further improved; if the data size in the first CELL database is smaller, the resource overhead can be effectively saved by adopting the existing QMI channel transmission.
In one design, after the AP of the electronic device obtains the first CELL database, the method further includes: and the AP of the electronic equipment judges whether the data volume in the first CELL database exceeds a preset threshold value. The method for determining the size of the data amount in the first CELL database by the AP of the electronic equipment comprises the following steps: the AP of the electronic equipment acquires a first data identifier corresponding to a first CELL database and is used for indicating the data type of the first CELL database; if the first data identifier indicates that the first CELL database is of the first data type, the AP of the electronic equipment determines that the data amount in the first CELL database exceeds a preset threshold; if the first data identifier indicates that the first CELL database is of the second data type, the AP of the electronic equipment determines that the data amount in the first CELL database does not exceed a preset threshold.
In one design, the electronic device transmits a first CELL database from the AP to SensorHub via a first target channel, including: the AP of the electronic equipment stores the first CELL database in a shared memory area between the APs SensorHub; and SensorHub of the electronic equipment calls an interface provided by the first target channel, and reads the first CELL database from the shared memory region. That is, the interface provided by the first target channel may be called by sharing the memory, and the first CELL database is transmitted from the AP to SensorHub.
In one design, an AP of an electronic device stores a first CELL database in a shared memory area between APs SensorHub, including: the AP of the electronic equipment creates a shared memory area and generates a first memory address for indicating the shared memory area; the AP of the electronic device stores the first CELL database in a shared memory area between the AP and SensorHub based on the first memory address. I.e. the shared memory area is created by the AP for transmitting the first CELL database, thereby improving the data transmission efficiency.
In one design, the method further includes: the AP of the electronic equipment maps the first memory address into a file descriptor and transmits the file descriptor to SensorHub; sensorHub of the electronic equipment analyzes the file descriptor to obtain a second memory address; the SensorHub of the electronic device calls an interface provided by the first target channel, reads a first CELL database from the shared memory area, and includes: the SensorHub of the electronic device invokes the interface provided by the first target channel to read the first CELL database from the shared memory region based on the second memory address. The first memory address is different from the second memory address, and the first memory address and the second memory address are used for indicating the memory address of the shared memory area. That is, by mapping the first memory address to the file descriptor and transmitting the file descriptor to SensorHub, the reliability of communication can be improved, so that SensorHub analyzes the file descriptor to obtain the memory address for indicating the shared memory area.
In one design, an AP of an electronic device transmits a file descriptor to SensorHub, including: the electronic device transmits the file descriptor from the AP to SensorHub through a first target channel; or the electronic device transmits the file descriptor from the AP to SensorHub through the second target channel. Namely, the electronic equipment can transmit the file descriptors through two target channels, so that the reliability of communication is improved.
In one design, sensorHub includes a plurality of first channels; the method further comprises the steps of: sensorHub of the electronic device selects a first target channel from a plurality of first channels.
In one design, the first channels are in one-to-one correspondence with the connection handles, and each connection handle in the connection handles is used for representing the first channel; sensorHub of the electronic device selects a first target channel from a plurality of first channels, including: sensorHub of the electronic device traverses the plurality of first channels; when the channel handle is equal to a first connection handle of the plurality of connection handles, the electronic device selects a first channel corresponding to the first connection handle as a first target channel; wherein the channel handle is used to identify a first target channel.
In one design, the method further includes: sensorHub of the electronic equipment acquires second CELL information; the second CELL information comprises the identification of the CELL in which the electronic equipment currently resides and the identification of the neighbor CELL; sensorHub of the electronic device determines first longitude and latitude information of the electronic device through a CELL positioning algorithm based on the second CELL information and the first CELL database. Namely, the first CELL database is transmitted to SensorHub, and SensorHub executes the CELL positioning algorithm, so that the purpose of reducing power consumption can be achieved while the positioning efficiency is improved.
In a design manner, the first longitude and latitude information comprises longitude and latitude coordinates and positioning accuracy; the method further comprises the steps of: if the positioning accuracy is less than the positioning accuracy threshold, sensorHub of the electronic device obtains the first global navigation satellite system GNSS information, and SensorHub of the electronic device determines the first longitude and latitude information based on the first GNSS information. That is, if the positioning accuracy of the first latitude and longitude information determined by the electronic device through the CELL positioning algorithm does not meet the condition, the first latitude and longitude information is determined through the GNSS positioning, so that the position of the positioned electronic device can be ensured to be accurate enough.
In a second aspect, an electronic device is provided, where the electronic device has a function implementing any of the above first aspects, and the function may be implemented by hardware, or may be implemented by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the functions described above.
In a third aspect, there is provided an electronic device comprising: AP and Sensor Hub; the electronic device further includes: a memory and one or more processors; the memory has stored therein computer program code, the computer program code comprising computer instructions; the computer instructions, when executed by a processor, cause an electronic device to perform the method of the first aspect or any of the first aspects.
In a fourth aspect, there is provided a chip system comprising: the system comprises at least one processor and an interface, wherein the interface is used for receiving instructions and transmitting the instructions to the at least one processor; at least one processor executes instructions that cause an electronic device to perform the method of any one of the first aspects above.
In a fifth aspect, there is provided a computer readable storage medium having instructions stored therein which, when run on a computer, cause the computer to perform the method of any of the first aspects above.
In a sixth aspect, there is provided a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of any of the first aspects above.
The technical effects caused by any implementation manner of the second aspect to the sixth aspect may refer to the technical effects caused by different implementation manners of the first aspect, and are not described herein.
Drawings
FIG. 1 is a schematic illustration of a circular geofence provided in accordance with an embodiment of the present application;
FIG. 2 is a schematic diagram of a polygonal geofence according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a geographic hash according to an embodiment of the present application;
Fig. 4 is a schematic hardware structure of an electronic device according to an embodiment of the present application;
fig. 5 is a schematic diagram of a software framework of an electronic device according to an embodiment of the present application;
fig. 6 is a schematic flow chart of a data transmission method according to an embodiment of the present application;
fig. 7 is a schematic diagram of a CELL database according to an embodiment of the present application;
Fig. 8 is a flowchart of another data transmission method according to an embodiment of the present application;
fig. 9 is a flowchart of another data transmission method according to an embodiment of the present application;
fig. 10 is a schematic diagram of a CELL positioning algorithm according to an embodiment of the present application;
fig. 11 is a flowchart of another data transmission method according to an embodiment of the present application;
fig. 12 is a flowchart of another data transmission method according to an embodiment of the present application;
fig. 13 is a schematic structural diagram of a chip system according to an embodiment of the present application.
Detailed Description
The positioning method provided by the embodiment of the application can be applied to the scene of a geofence (Geo-fence), which is an application of a location-based service (location based services, LBS), namely a virtual fence is used for enclosing a virtual geographic boundary. When an electronic device enters or is active within a particular geographic area, then the electronic device is indicated as entering the geofence.
It will be appreciated that the geofence described above is a geographic concept and may refer to a bounded geographic area. The geographic area indicated by the geofence may represent a geographic area in the real world, which may be a school, company, mall, subway station, scenic spot, airport, or the like.
By way of example, geofences refer to software geofences that are constructed using latitude and longitude information, and can be categorized into circular geofences and polygonal geofences. Wherein, circular geofence refers to a virtual geographic boundary surrounded by longitude and latitude coordinates and radius of a center point. Polygonal geofences refer to virtual geographic boundaries bounded by latitude and longitude coordinates of multiple vertices. On this basis, when the real-time location of the electronic device is within the circular geofence (or polygonal geofence), then it is indicated that the electronic device entered the circular geofence (or polygonal geofence).
As shown in fig. 1, a schematic diagram of a circular geofence. For example, when the user uses the electronic device to move along the movement track 01, the electronic device periodically acquires the current real-time position, and matches the acquired real-time position with the circular geofence. If the real-time location is at location A, then the electronic device is considered to have entered the circular geofence; if the real-time location is at location B, the electronic device is deemed to have exited the circular geofence. It will be appreciated that when the electronic device is located within the circular area shown in FIG. 1, then the electronic device is considered to have entered the circular geofence; when the electronic device is outside the circular area shown in FIG. 1, then the electronic device is deemed to have exited the circular geofence.
As shown in fig. 2, a schematic diagram of a polygonal geofence. For example, when the user uses the electronic device to move along the movement track 02, the electronic device periodically acquires the current real-time position, and matches the acquired real-time position with the polygonal geofence. If the real-time location is at location C, then the electronic device is considered to have entered the polygonal geofence; if the real-time location is at location D, the electronic device is deemed to have exited the polygonal geofence. It will be appreciated that when the electronic device is located within the polygonal area shown in FIG. 2, then the electronic device is considered to have entered the polygonal geofence; when the electronic device is outside the polygonal area shown in FIG. 2, then the electronic device is deemed to have exited the polygonal geofence.
In some embodiments of the present application, after the electronic device determines that the electronic device enters the geofence described above, the electronic device may trigger a corresponding fence mechanism, thereby performing an operation corresponding to the fence mechanism. For example, the electronic device may perform operations such as virtual card (e.g., traffic card, access card, bank card, etc.) activation, switching, auto-eject, etc.; or the electronic device can execute operations such as intelligent reminding business, for example, the electronic device can execute express arrival reminding, safety warning reminding or notification reminding, and the like.
In order to facilitate understanding, technical terms related to the embodiments of the present application are explained below.
Geographic hash (GeoHash): geoHash is an address coding algorithm capable of coding two-dimensional spatial longitude and latitude numbers into a string, each string representing a specific rectangular area (or target area), and all longitude and latitude coordinates in the rectangular area sharing the string.
Illustratively, the GeoHash algorithm divides the earth into a plurality of rectangular areas and assigns each rectangular area a unique identifier, referred to as GeoHash (i.e., the string described above). For example, as shown in fig. 3, a schematic diagram of a plurality of rectangular areas is shown, where each rectangular area in the plurality of rectangular areas corresponds to a character string (not shown in the figure).
In some embodiments of the present application, as shown in fig. 3, when the location of the electronic device is "rectangular area 0", all longitude and latitude coordinates within the range of the rectangular area 0 share the character string corresponding to the rectangular area 0, that is, the location of the electronic device may be represented by the character string corresponding to the rectangular area 0.
In actual implementation, the position of the electronic device may be continuously moved, so that the position of the electronic device may be determined through GeoHash nine boxes in order to more accurately represent the position of the electronic device. The GeoHash nine boxes comprise rectangular areas where the electronic equipment is located and rectangular areas with adjacent peripheries.
For example, as shown in fig. 3, for example, when the electronic device is located in "rectangular area 3", the GeoHash box includes "rectangular area 0", "rectangular area 1", "rectangular area 4", "rectangular area 6", "rectangular area d", "rectangular area 9", "rectangular area 8", "rectangular area 2", and "rectangular area 3".
The longer the character string corresponding to the rectangular region, the smaller the range (which may be understood as the area size) of the rectangular region, and the higher the accuracy of the position of the electronic device represented by the character string.
Illustratively, there is a one-to-one correspondence of string length to rectangular extent. For example, the correspondence relationship between the character string length and the rectangular range is shown in table 1 below. Wherein the rectangular range can be quantized by rectangular length and rectangular width; or the rectangular range may be quantified by a rectangular width and a rectangular height.
TABLE 1
As can be seen from table 1 above, the shorter the character string length, the larger the rectangular length and rectangular width of the corresponding rectangular region, i.e., the larger the rectangular range. Accordingly, the longer the character string length, the smaller the rectangular length and rectangular width of the corresponding rectangular region, i.e., the smaller the rectangular range.
For example, assuming that the latitude and longitude of the location where the electronic device is located is (108.992828, 34.149048), the string corresponding to the location determined by using the GeoHash algorithm is "wqjd20". It can be seen that the length of the string is 6 bits, and referring to table 1, the rectangular range corresponding to the string is 1.22km by 0.61km.
The following describes in detail the technical solution provided by the embodiments of the present application with reference to the drawings of the specification.
The positioning method provided by the embodiment of the application can be applied to electronic equipment, such as mobile phones, motion cameras (go pro), digital cameras, tablet computers, desktop computers, laptop computers, handheld computers, notebook computers, vehicle-mounted equipment, ultra-mobile personal computers (UMPC), netbooks, cell phones, personal Digital Assistants (PDA), augmented reality (augmented reality, AR) \virtual reality (VR) equipment, and the like, and the specific form of the electronic equipment is not particularly limited.
By way of example, fig. 4 shows a schematic structural diagram of the electronic device 100.
Wherein the electronic device 100 may include: processor 110, external memory interface 120, internal memory 121, universal serial bus (universal serial bus, USB) interface 130, charge management module 140, power management module 141, battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headset interface 170D, sensor module 180, camera 193, and display 194, etc.
It should be understood that the illustrated structure of the embodiment of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the application, electronic device 100 may include more or fewer components than shown, or certain components may be combined, or certain components may be split, or different arrangements of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
The processor 110 may include one or more processor units, for example, the processor 110 may include a central processor (central processing unit, CPU), an application processor (application processor, AP), a modem processor (modulator-demodulator, modem), a graphics processor (graphics processing unit, GPU), an image signal processor (IMAGE SIGNAL processor, ISP), a controller, a video codec, a digital signal processor (DIGITAL SIGNAL processor, DSP), a baseband processor, and/or a neural network processor (neural-network processing unit, NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors.
In some embodiments of the present application, processor 110 may also include an Audio DIGITAL SIGNAL Processor (ADSP). The ADSP may include SensorHub SensorHub for acquiring sensor data of each sensor and determining a real-time location of the electronic device in conjunction with the sensor data.
It should be noted that, in some scenarios, sensorHub may also be called an intelligent sensor hub, or a system coprocessor, or (Qualcomm sensinghub, QSH), the name of SensorHub is not limited in this embodiment of the present application, as long as the above functions can be implemented, which falls within the protection scope of the embodiment of the present application.
The controller may be a neural center or a command center of the electronic device 100, and may generate an operation control signal according to the instruction operation code and the timing signal, so as to complete instruction fetching and instruction execution control. The modem may be used to handle traffic associated with base station communications, such as telephony, sms, internet surfing, etc.
A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may hold instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to reuse the instruction or data, it may be called directly from memory. Repeated accesses are avoided and the latency of the processor 110 is reduced, thereby improving the efficiency of the system.
In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an I2C interface, an integrated circuit built-in audio (inter-INTEGRATED CIRCUIT SOUND, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver transmitter (universal asynchronous receiver/transmitter, UART) interface, a mobile industry processor interface (mobile industry processor interface, MIPI), a general-purpose input/output (GPIO) interface, a subscriber identity module (subscriber identity module, SIM) interface, and/or a universal serial bus USB interface 130, etc.
It should be understood that the interfacing relationship between the modules illustrated in the embodiments of the present application is only illustrative, and is not meant to limit the structure of the electronic device 100. In other embodiments of the present application, the electronic device 100 may also use different rescue connection manners in the above embodiments, or a combination of multiple interface connection manners.
The external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to enable expansion of the memory capabilities of the electronic device 100. The external memory card communicates with the processor 110 through an external memory interface 120 to implement data storage functions. For example, files such as music and video are stored in an external memory card.
The internal memory 121 may be used to store one or more computer programs, including instructions. The processor 110 may cause the electronic device 100 to perform the methods provided in some embodiments of the present application, as well as various functional applications, data processing, and the like, by executing the above-described instructions stored in the internal memory 121. The internal memory 121 may include a storage program area and a storage data area. The storage program area can store an operating system; the storage area may also store one or more applications (e.g., gallery, contacts, etc.), and so forth. The storage data area may store data created during use of the electronic device 100 (e.g., photos, contacts, etc.), and so on. In addition, the internal memory 121 may include a high-speed random access memory; non-volatile memory may also be included, such as one or more disk storage devices, flash memory devices, universal flash memory (universal flash storage, UFS), and the like. In other embodiments, processor 110 may cause electronic device 100 to perform the methods provided in embodiments of the present application, as well as various functional applications and data processing, by executing instructions stored in internal memory 121, and/or instructions stored in a memory disposed in processor 110.
The charge management module 140 is used to charge the input from the charger interface. The charger can be a wireless charger or a wired charger.
The power management module 141 is used for connecting the battery 142, and the charge management module 140 and the processor 110. The power management module 141 may receive input from the battery 142 and/or the charge management module 140 to power the processor 110, the internal memory 121, the display 194, the camera 193, the wireless communication module 160, and the like. The power management module 141 may be configured to monitor performance parameters such as battery capacity, battery cycle times, battery charge voltage, battery discharge voltage, battery state of health (e.g., leakage, impedance), etc. The wireless communication function of the electronic device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, a modem processor, a baseband processor, and the like. In some embodiments, antenna 1 and mobile communication module 150 of electronic device 100 are coupled, and antenna 2 and wireless communication module are coupled, such that electronic device 100 may communicate with a network and other devices through wireless communication techniques.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals.
The mobile communication module 150 may provide a solution for wireless communication including 2G/3G/4G/5G, etc., applied to the electronic device 100. The mobile communication module 150 may include one or more filters, switches, power amplifiers, low noise amplifiers (low noise amplifier, LAN), etc. The mobile communication module 150 may receive electromagnetic waves from the antenna 1, perform processes such as filtering, amplifying, and the like on the received electromagnetic waves, and transmit the processed electromagnetic waves to the modem processor for demodulation. The mobile communication module 150 can amplify the signal modulated by the modem processor, and convert the signal into electromagnetic waves through the antenna 1 to radiate. In some embodiments, at least some of the functionality of the mobile communication module 150 may be disposed in the processor 110. In some embodiments, at least some of the functionality of the mobile communication module 150 may be provided in the same device as at least some of the modules of the processor 110.
The wireless communication module 160 may provide solutions for wireless communication including wireless local area network (wireless local area networks, WLAN) (e.g., wireless fidelity (WIRELESS FIDELITY, wi-Fi) network), bluetooth (BT), global navigation satellite system (Global Navigation SATELLITE SYSTEM, GNSS), frequency modulation (frequency modulation, FM), near field communication (NEAR FIELD communication, NFC), infrared (IR), etc., as applied to the electronic device 100. The wireless communication module 160 may be one or more devices that integrate one or more communication modules. The wireless communication module 160 interfaces electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 may also receive a signal to be transmitted from the processor 110, frequency modulate it, amplify it, and convert it to electromagnetic waves for radiation via the antenna 2.
The sensor module 180 may include, without limitation, a pressure sensor, a gyroscope sensor, a barometric sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, a bone conduction sensor, a modem sensor, a GNSS sensor, and the like.
Wherein, in some embodiments of the present application, the modem sensor is used to periodically collect CELL information around the electronic device 100; the GNSS sensor is used for periodically acquiring GNSS information around the electronic device 100.
Of course, the electronic device 100 provided in the embodiment of the present application may further include one or more devices including, but not limited to, a positioning module 181, a key 190, a motor 191, an indicator 192, and a SIM card interface 195.
The methods in the following embodiments may be implemented in the electronic device 100 having the above-described hardware structure. In order to make the technical solution of the present application clearer and to facilitate understanding, the technical solution provided by the embodiment of the present application is described in detail in the following embodiments in conjunction with the software structure of the electronic device 100.
Fig. 5 is a software block diagram of the electronic device 100 according to the embodiment of the present application.
The software structure of the electronic device may be a layered architecture, an event driven architecture, a microkernel architecture, a microservice architecture or a cloud architecture.
The layering architecture layers the software into several layers, each layer having distinct roles and branches. The layers communicate with each other through a software interface. In some embodiments, the software structure of the electronic device is divided from top to bottom into: an application layer (APP), an application framework layer (FWK), a hardware abstraction layer (hardware abstraction layer, HAL).
The application layer may include, among other things, a number of column application packages (android application package, APK).
In some embodiments, the application layer may install multiple Applications (APPs), which may include both general applications and fence applications. Common applications may include, among others, camera, gallery, calendar, conversation, map, navigation, bluetooth, music, video, etc. applications. The fencing application may be used to perform an operation corresponding to the fencing mechanism after the electronic device triggers the fencing mechanism. The fence application can comprise one or more of a smart card application, a smart perception application and an express reminding application.
The application framework layer provides an application programming interface (application programming interface, API) and programming framework for the application layer. The application framework layer includes a number of predefined functions.
For example, as shown in FIG. 5, the application framework layer can include a geofence management service (HnLBSSservice). The geofence management service may include: geofence frames, CELL management modules, and the like.
Wherein the fence application can connect/disconnect the geofence management service through a software development kit (soft development kit, SDK). When the connection of the fence application to the geofence management service is successful, the fence application can call a preset API interface (such as an LBS SDK interface) to start the geofence management service, and after the geofence management service is started, the geofence management service can interact with a hardware abstraction layer in the running process to realize the operations of adding, deleting, inquiring and the like of the related information of the first geofence.
As shown in fig. 5, the CELL management module is configured to obtain, from the cloud server, a first CELL database corresponding to a current location of the electronic device, where the first CELL database is used to determine first latitude and longitude information of the current location of the electronic device.
Alternatively, the cloud server may be a server supporting location-based services (location based services, LBS).
As shown in fig. 5, the geofence framework included in the geofence management service can enable the addition, deletion, querying, etc. of the related information of the first geofence. For example, after the electronic device completes data interaction using the fence application for the first time, the electronic device may collect surrounding sets of second longitude and latitude information and construct a corresponding first geofence based on the sets of second longitude and latitude information. Thereafter, the geofence framework of the electronic device can interact with the hardware abstraction layer by invoking a preset interface to add SensorHub the related information of the first geofence. Wherein each set of second latitude and longitude information may include latitude and longitude coordinates. Optionally, each set of second longitude and latitude information may further include positioning accuracy, and the like, without limitation. For an explanation of the positioning accuracy, reference may be made to the following embodiments, which are not described in detail herein.
Optionally, the preset interface may be a hardware abstraction layer interface definition language (hardware abstraction LAYER INTERFACE definition language, HIDL) interface; or the preset interface may be an android interface language (android interface definition language, AIDL), etc., without limitation.
The hardware abstraction layer is configured to communicate with SensorHub and send SensorHub relevant information about the first geofence or relevant control commands (e.g., delete commands, query commands, pause commands, resume commands, etc.) issued by an upper layer application (e.g., a fence application).
It should be noted that, the deletion command is used to instruct SensorHub to delete the related information of the first geofence; the query command is used for indicating SensorHub to query whether the related information of the first geofence exists; the suspension command is used for indicating SensorHub to suspend acquiring the first longitude and latitude information of the electronic device; the recovery command is used for indicating SensorHub to recover acquiring the first latitude and longitude information of the electronic device.
In some embodiments of the application, the hardware abstraction layer includes a converged location HAL daemon (fusion daemon HAL), fusion daemon HAL to communicate with SensorHub, sending the CELL database to SensorHub.
Illustratively, the hardware abstraction layer may communicate with SensorHub through a high-pass message interface (Qualcomm MESSAGING INTERFACE, QMI) or a direct channel (DIRECT CHANNEL).
QMI and DIRECT CHANNEL are a communication mechanism for implementing data transmission between the application processor and SensorHub. Compared with QMI, DIRECT CHANNEL is an efficient data transmission mode, which can reduce delay and power consumption of data transmission, thereby improving positioning efficiency.
As shown in fig. 5, the SensorHub geofence module is configured to determine first latitude and longitude information of the electronic device and perform fence matching based on the first latitude and longitude information. Exemplary geofence modules include a CELL positioning module and a GNSS positioning module. The CELL positioning module is used for realizing the CELL positioning function of the electronic equipment according to the CELL database; the GNSS positioning module is used for realizing the GNSS positioning function of the electronic equipment.
Illustratively, when the electronic device adopts CELL positioning, the CELL positioning module initiates CELL scanning to the modem sensor, and the modem sensor periodically scans CELL information around the electronic device and sends the scanned CELL information to the CELL positioning module. And the CELL positioning module determines the first longitude and latitude information of the electronic equipment according to the scanned CELL information and the first CELL database.
Optionally, the CELL information may include an identifier for indicating a CELL in which the electronic device currently resides and a neighbor CELL identifier; the identification may include LAC, CID, MCC, MNC, signal frequency, signal strength, etc. Optionally, the identifier may further include a RAT, a channel number, and the like, which is not limited.
Also exemplary, when the electronic device employs GNSS positioning, the GNSS positioning module initiates a GNSS scan to the GNSS sensor, which periodically scans GNSS information surrounding the electronic device and transmits the scanned GNSS information to the GNSS positioning module. Furthermore, the GNSS positioning module determines the first longitude and latitude information of the electronic device according to the GNSS information. Optionally, the GNSS information includes information such as three-dimensional coordinates, speed, direction angle, and time of the electronic device in the spatial position. Of course, the GNSS information may also include other information, without limitation.
In some embodiments of the present application, the geofence module further comprises a fence matching module, wherein the fence matching module maintains information about the first geofence. The fence matching module is used for matching the determined first longitude and latitude information with the related information of the first geofence and generating a matching result. For example, the fence matching module may perform fence matching based on a matching Algorithm (ALGO), generating a matching result. Wherein the matching result includes the electronic device entering a geofence; or the match result includes the electronic device exiting the geofence.
And the fence matching module reports the matching result to the fence application in the application program layer through the hardware abstraction layer and the application program framework layer. The fence application performs an operation corresponding to the matching result in response to the matching result. When the matching result is that the electronic device enters the geofence, the fence application triggers a fence mechanism in response to the matching result and performs an operation corresponding to the fence mechanism. If the virtual card is automatically popped up by triggering the fence application; or activating a virtual card; or to make a prompt for express arrival, etc., and will not be described in detail.
In some embodiments of the application, a memory may also be provided in SensorHub for storing instructions and data. The memory in SensorHub may be, for example, double data stream synchronous dynamic random access memory (double DATA RATE SDRAM, DDR). The DDR may store SensorHub required instructions or data (e.g., first geofence related information, first CELL database, etc.). SensorHub can operate the electronic device by calling the DDR stored instruction and data, so that the electronic device executes the method provided by the embodiment of the application.
According to the embodiment, the electronic equipment deploys the fence matching capability on the SensorHub side, and the fence matching capability can be realized under the condition that the AP is not awakened, so that a complete and continuous fence matching function can be provided, and the purpose of reducing power consumption is achieved. For example, sensorHub may obtain CELL information for CELL positioning without waking up the AP; or SensorHub may acquire GNSS information for GNSS positioning without waking up the AP.
In addition, when the electronic equipment adopts CELL positioning, the SensorHub of the electronic equipment can initiate CELL scanning to the modem, and the modem periodically scans CELL information around the electronic equipment, so that the CELL information of network systems of all operators of a CELL where the electronic equipment currently resides can be obtained, and the CELL positioning precision can be improved.
Furthermore, by adopting the scheme provided by the embodiment of the application, when the electronic equipment fails to be positioned in a CELL positioning mode, the electronic equipment can also be positioned in a GNSS positioning mode, so that the successful positioning can be ensured, and the matching capability of the fence can be ensured.
The foregoing embodiments describe the technical solutions provided by the embodiments of the present application in conjunction with a hardware structure and a software structure of an electronic device, and the following details of the data transmission method provided by the embodiments of the present application are described in conjunction with the accompanying drawings of the specification.
It may be understood that the positioning method provided by the embodiment of the present application may be executed by an electronic device such as a mobile phone, a tablet computer, and a smart bracelet, or may be executed by a chip, a chip system, or a processor capable of implementing the positioning method, or may be executed by a logic module or software capable of implementing all or part of functions of the electronic device, without limitation. The following embodiments describe in detail the data transmission method provided by the embodiments of the present application with an electronic device as an execution body.
Fig. 6 is a flow chart of a data transmission method according to an embodiment of the present application, and as shown in fig. 6, the method may include the following steps.
S201, an AP of the electronic equipment acquires a first CELL database corresponding to the current position of the electronic equipment; the first CELL database comprises a plurality of groups of first CELL information, and each group of first CELL information comprises an identifier of a CELL in which the electronic equipment resides and an identifier of a neighboring CELL.
Optionally, the identifier may include at least one of a location area code (location area code, LAC), a base station number (CELL ID, CID), a Mobile Country Code (MCC), a mobile operator code (mobile network codes, MNC), a network system (radio access technology, RAT), a channel number (channel number), a signal frequency, and a signal strength, without limitation. It is to be appreciated that the first CELL database described above is utilized to locate a location of an electronic device.
Taking the example that each set of first CELL information includes the signal strength of the CELL where the electronic device resides and the signal strength of the neighboring CELL, as shown in fig. 7, an exemplary set of first CELL information includes the signal strength of the base station 1 (or referred to as CELL 1), the signal strength of the base station 2 (or referred to as CELL 2), and the signal strength of the base station 3 (or referred to as CELL 3). For example, the signal strength of the base station 1 comprises-89 dBm, -80dBm, -90dBm; the signal strength of the base station 2 comprises-80 dBm, -90dBm, -100dBm; the signal strength of the base station 3 comprises-100 dBm, -88dBm, -82dBm.
In some embodiments of the present application, as shown in fig. 5, a CELL positioning module of an electronic device initiates a CELL scan to a modem, the modem periodically collects CELL information around the electronic device, and sends the collected CELL information (hereinafter referred to as third CELL information) to the CELL positioning module. After the CELL positioning module of the electronic equipment acquires the third CELL information, the third CELL information is sent to the CELL HAL in the hardware abstraction layer through the QMI channel. And after the CELL HAL receives the third CELL information, calling an AIDL interface to send the third CELL information to the CELL management module through a fusion_daemon_ AIDL function.
Then, the CELL management module of the electronic equipment determines a first position code corresponding to the third CELL information based on the third CELL information. Optionally, a CELL management module of the electronic device stores a mapping relation between CELL information and position codes; based on the third CELL information and the mapping relation, the electronic device can determine a first position code corresponding to the third CELL information.
For example, the mapping relationship between the CELL information and the position code stored in the CELL management module may exist in the form of an array or a table. For example, the mapping relationship may be as shown in table 2 below.
TABLE 2
As can be seen from table 2, when the third CELL information is CELL information 1, the electronic device determines that the first position code corresponding to the third CELL information is position code 1 based on the mapping relation shown in table 2.
After the CELL management module of the electronic equipment determines the first position code corresponding to the third CELL information, the CELL management module of the electronic equipment sends a first request to the cloud server, wherein the first request carries the first position code and is used for requesting to acquire a first CELL database corresponding to the first position code. Correspondingly, after receiving the first request, the cloud server responds to the first request and sends a first CELL database corresponding to the first position code to the CELL management module.
Illustratively, the mapping relation between the position codes and the CELL database is stored in the cloud server, and the mapping relation can exist in an array or a table. For example, the mapping relationship may be as shown in table 3 below.
TABLE 3 Table 3
As can be seen from table 3, when the first position code is the position code 1, the electronic device determines that the first CELL database corresponding to the first position code is the CELL database 1 based on the mapping relation shown in table 3.
In some embodiments of the present application, as shown in FIG. 3, the GeoHash algorithm divides the earth into a plurality of rectangular areas and assigns a unique identifier (i.e., a position code) to each rectangular area, i.e., the position code corresponds one-to-one to the rectangular area. On the basis, when the first position code is received, based on the first position code and GeoHash shown in fig. 3, the cloud server sends multiple sets of second CELL information (i.e., the first CELL database) acquired in the rectangular area corresponding to the first position code to the electronic device.
For example, if the rectangular area corresponding to the first position code is rectangular area 3, the cloud server sends multiple sets of second CELL information acquired in the rectangular area 3 to the electronic device. In practical implementation, since the position of the electronic device may be located between two rectangular areas (such as the rectangular area 3 and the rectangular area 1), in order to improve the positioning accuracy of the CELL positioning of the electronic device, the CELL information collected in the rectangular area 3 and the rectangular area adjacent to the periphery (which may be understood as GeoHash jiu grid) may be sent to the electronic device with the rectangular area 3 as the center.
S202, the AP of the electronic equipment judges whether the data volume in the first CELL database exceeds a preset threshold.
For example, as shown in fig. 5, after receiving the first CELL database, the CELL management module of the electronic device invokes the AIDL interface to send the first CELL database to the fusion location HAL daemon of the hardware abstraction layer, and the fusion location HAL daemon of the hardware abstraction layer determines whether the data amount in the first CELL database exceeds a preset threshold.
Illustratively, an AP (e.g., a fusion location HAL daemon of a hardware abstraction layer) of an electronic device obtains a first data identifier corresponding to a first CELL database, where the first data identifier is used to indicate a data type of the first CELL database. For example, the first data identifier may be denoted MESSAGE ID.
For example, if the first data identifier indicates that the first CELL database is of the first data type, the AP of the electronic device determines that the amount of data in the first CELL database exceeds a preset threshold. If the first data identifier indicates that the first CELL database is of the second data type, the AP of the electronic equipment determines that the data amount in the first CELL database does not exceed a preset threshold.
Optionally, the first DATA identifier is big_data_downlink, indicating that the first CELL database is of the first DATA type; or the first DATA identification is small_data_download indicating that the first CELL database is of the second DATA type.
It should be noted that, the embodiment of the present application is not limited to the above-mentioned preset threshold, and is set in practice. For example, the preset threshold may be 300KB (kilobytes). Of course, the preset threshold may be other values, which are not limited.
In some embodiments of the present application, as shown in fig. 6, if the amount of data in the first CELL database exceeds the preset threshold, the electronic device performs S203. If the data amount in the first CELL database does not exceed the preset threshold, the electronic device executes S204.
S203, the electronic equipment transmits a first CELL database from the AP to SensorHub through a first target channel; the first target channel supports single transmission of data in a first data volume range, and the minimum value of the first data volume range is larger than or equal to a preset threshold value.
Illustratively, as shown in FIG. 5, the electronic device transmits the first CELL database via the first target channel from the converged location HAL daemon of the hardware abstraction layer to the geofence module of SensorHub.
Illustratively, the first target pathway may be DIRECT CHANNEL described above. It is understood that the embodiment of the present application is illustrated by taking DIRECT CHANNEL as an example of the name of the first target channel, and of course, the first target channel may also have other names, so long as the function of the first target channel in the embodiment of the present application can be implemented, which all falls within the protection scope of the embodiment of the present application.
That is, DIRECT CHANNEL described above supports a single transmission of data within the first range of data amounts. The first data size range may be [300kb,8mb ], which is merely exemplary in this embodiment of the present application, and is not meant to limit the present application. In addition, the embodiment of the present application is illustrated here by taking, as an example, the minimum value of the first data amount range is equal to the above-mentioned preset threshold value.
In summary, since the data size of the first CELL database exceeds the preset threshold, and the first target channel supports single transmission of data within the first data size range, the minimum value of the first data size range is smaller than or equal to the preset threshold, the data in the first CELL database can be transmitted through the first target channel once without multiple transmissions, thereby reducing delay and power consumption of data transmission and further improving positioning efficiency.
In some embodiments of the present application, the AP of the electronic device stores the first CELL database in a shared memory region between the APs and SensorHub. Furthermore, sensorHub of the electronic device invokes the interface provided by the first target channel to read the first CELL database from the shared memory area.
In some embodiments, the shared memory area is preset for the electronic device. Or in other embodiments, the shared memory area is created for the AP of the electronic device.
Illustratively, an AP of the electronic device creates a shared memory region and generates a first memory address indicating the shared memory region. The AP of the electronic device stores the first CELL database in a shared memory area between the AP and SensorHub based on the first memory address.
For example, as shown in FIG. 8, the converged location HAL daemon invokes the direct channel interface (DIRECT CHANNEL INTERFACE) provided by the hardware abstraction layer, creates a direct channel from the AP to SensorHub, and creates a first target channel through the direct channel. Alternatively, as shown in FIG. 8, the converged location HAL daemon of the hardware abstraction layer calls the function of direct channel management (DIRECT CHANNEL CLIENT MANAGER) on the SensorHub side to create the first target channel.
In embodiments of the present application, the converged location HAL daemon may be understood as the AP-side direct tunnel client (DIRECT CHANNEL CLIENTS).
Further, as shown in FIG. 8, the converged location HAL daemon invokes the fastRPC stub interface provided by the hardware abstraction layer to create fastRPC channels for implementing remote procedure calls between APs and SensorHub. The fusion location HAL daemon calls fastRPC stub interfaces provided by the hardware abstraction layer to apply for a shared memory area of a certain memory space, and generates a first memory address for indicating the shared memory area. Alternatively, the type of shared memory region may be: RPCMEM _HEAP_ID_SYSTEM, not limiting.
Because the shared memory area created by the AP of the electronic device is used to store the CELL database, the data size of the CELL database is generally larger, so that the storage space of the shared memory area can be set larger. Alternatively, the storage space of the shared memory area may be 2MB (megabytes), or other values greater than 2MB, without limitation.
It should be noted that, the direct channel interface may be understood as a total interface of the direct channel (DIRECT CHANNEL), and the fastRPC stub interface may be understood as a total interface of the fastRPC. The direct channel interface includes a plurality of APIs associated with the direct channel; accordingly, fastRPC stub interfaces include a plurality of APIs associated with fastRPC. Illustratively, table 4 lists APIs and corresponding functions associated with the direct channel interface and fastRPC stub interfaces.
TABLE 4 Table 4
As can be seen from table 4 above, the AP of the electronic device may call each API in the direct channel interface and fastRPC stub interface, thereby performing the function corresponding to the API. It should be noted that the direct channel interface and fastRPC stub interface may further include other APIs not shown in table 4, which are not listed here.
After the AP of the electronic device generates the first memory address, the AP of the electronic device stores the first CELL database in a shared memory area between the APs and SensorHub based on the first memory address. Further, the AP of the electronic device transmits a first memory address to SensorHub, and SensorHub of the electronic device invokes an interface provided by the first target channel based on the first memory address, and reads the first CELL database from the shared memory area based on the first memory address.
Or the AP of the electronic equipment maps the first memory address into a file descriptor and transmits the file descriptor to SensorHub; and SensorHub of the electronic equipment analyzes the file descriptor to obtain a second memory address. Further, the electronic device SensorHub invokes the interface provided by the first target channel, and reads the first CELL database from the shared memory region based on the second memory address.
It should be noted that, the first memory address and the second memory address are virtual addresses, and the first memory address and the second memory address are different, but the first memory address and the second memory address map to the memory address of the same shared memory area, so that memory data sharing can be realized.
In some embodiments, since the APs and SensorHub belong to different types of processors, in order to avoid that the first memory address generated by the AP cannot be identified by SensorHub, the AP maps the first memory address to a file descriptor and then transmits the file descriptor to the side SensorHub. Because a large number of system calls depend on the file descriptor, the AP maps the first memory address to the file descriptor, so that efficient management of the memory address of the shared memory area can be facilitated.
Illustratively, as shown in FIG. 8, the converged location HAL daemon invokes the fastRPC stub interface provided by the hardware abstraction layer to map the first memory address to a file descriptor. Further, the converged location HAL daemon sends file descriptors into the ADSPRPC framework on the SensorHub side through ADSPRPC drivers. Wherein ADSPRPC drives an ADSP remote procedure call (remote procedure call, RPC) protocol provided for a kernel layer (kernel) on the AP side, for implementing an operation of receiving a remote procedure call (such as receiving a file descriptor sent by a converged location HAL daemon).
Further, ADSPRPC framework sends the file descriptor to the FASTRPC SKEL interface provided by SensorHub. The ADSPRPC framework is an ADSP remote procedure call protocol provided by SensorHub, and is used for implementing an operation of sending a remote procedure call (such as sending a file descriptor to a fastRPC interface for processing).
Further, sensorHub calls SensorHub to provide a FASTRPC SKEL interface to map the file descriptor to the second memory address. Then SensorHub calls FASTRPC SKEL interface to save the second memory address in direct channel management.
From the above, it can be seen that the fusion location HAL daemon of the hardware abstraction layer calls the function of direct channel management on the SensorHub side to create the first target channel, i.e. the handle of the first target channel is also stored in the direct channel management. On the basis, sensorHub of the electronic device invokes the interface provided by the first target channel, and reads the first CELL database from the shared memory area based on the second memory address.
Illustratively, as shown in FIG. 8, the geographic fence module SensorHub invokes the interface provided by the first target channel to read the first CELL database from the shared memory region based on the second memory address. In the embodiment of the present application, the geofence module may be understood as a virtual sensor (sensor) in SensorHub, which is used to implement addition and deletion management of related information of the first geofence, implement CELL positioning or GNSS positioning, implement entry/exit geofence, and report functions such as entry/exit of the fence.
In some embodiments, the interface provided by the first target channel is an interface newly added by SensorHub of the electronic device in the file managed by the direct channel. The function name of the newly added interface can be expressed as: the sns_sensor get_dcm_sensor (void) or other function names are not limited as long as the scheme for implementing the embodiment of the present application is within the protection scope of the present application. For example, as shown in fig. 8, the interface may be newly added in a file managed by a direct channel. That is, sensorHub of the electronic device may invoke the newly added interface to implement reading the first CELL database from the shared memory area, thereby implementing the technical scheme of transmitting the first CELL database from SensorHub.
That is, just because the embodiment of the present application adds an interface in the direct channel management of SensorHub of the electronic device, the technical scheme of transmitting the first CELL database from SensorHub can be implemented, and if the newly added interface does not exist, the technical scheme provided by the embodiment of the present application cannot be implemented.
The specific implementation process of S203 will be described in detail with reference to fig. 9 of the specification. For example, as shown in fig. 9, the above S203 may include the following steps.
Step ①: the converged location HAL daemon of the hardware abstraction layer creates fastRPC channels.
Step ②: the converged location HAL daemon of the hardware abstraction layer creates a first target channel.
Step ③: the fusion position HAL daemon of the hardware abstraction layer applies for a shared memory area with a certain memory space and generates a first memory address for indicating the shared memory area.
Step ④: the converged location HAL daemon of the hardware abstraction layer stores the first CELL database in the shared memory region based on the first memory address.
Step ⑤: the fusion location HAL daemon of the hardware abstraction layer maps the first memory address to a file descriptor.
In turn, the converged location HAL daemon of the hardware abstraction layer transmits the file descriptor to the geo-fence module of SensorHub. Illustratively, as shown in FIG. 9, the transfer of file descriptors by the converged location HAL daemon of the hardware abstraction layer to the geofence module of SensorHub may include the following two implementations.
Mode one: the converged location HAL daemon of the hardware abstraction layer transmits the file descriptor to the geo-fence module of SensorHub over a first target channel.
Illustratively, the converged location HAL daemon of the hardware abstraction layer invokes an API in the direct channel interface (e.g., an API that configures the direct channel) transmitting the file descriptor to the geofence module.
Optionally, the converged site HAL daemon of the hardware abstraction layer invokes an API in the direct channel interface (e.g., an API that configures the direct channel) and may also transmit the channel handle to the geofence module. Wherein the channel handle is used to identify a first target channel.
Mode two: the converged location HAL daemon of the hardware abstraction layer transmits the file descriptor to the geo-fence module of SensorHub over a second target channel.
Illustratively, the converged location HAL daemon of the hardware abstraction layer transmits the file descriptor to the geofence module by way of QMI carrying the load (e.g., API interacting with the geofence module).
Optionally, the converged site HAL daemon of the hardware abstraction layer may also transmit the channel handle to the geofence module by way of QMI carrying the load (e.g., API interacting with the geofence module).
In one or two of the above ways, sensorHub the geofence module holds a file descriptor (which may be denoted fd) and a channel handle (which may be denoted channel handle).
Step ⑥: the geofence module parses the file descriptor to obtain a second memory address.
Step ⑦: the geofence module selects a first target channel corresponding to the channel handle.
Illustratively, as shown in fig. 8, the direct channel management on the SensorHub side includes a plurality of first channels, which are in one-to-one correspondence with a plurality of connection handles, each connection handle in the plurality of connection handles being used to represent a first channel.
Illustratively, as can be seen from the foregoing, the direct channel management includes a new interface (STATIC SNS _sensor) that is a global variable pointer, and the geofence module of SensorHub may call the new interface to query whether the first channels include the first target channel.
Optionally, the geo-fence module of SensorHub invokes the new interface to traverse all first channels (or instance) and when the channel handle is equal to a first connection handle of the plurality of connection handles, the geo-fence module of SensorHub determines that the first channel corresponding to the first connection handle is the first target channel.
Step ⑧: the geofence module invokes a newly added interface provided by the first target channel, and reads the first CELL database from the shared memory area based on the second memory address.
In summary, the fusion location HAL daemon performs the writing operation on the large-data-volume first CELL database through the shared memory area, and the reading operation of the geofence module on the large-data-volume first CELL database is realized, that is, the transmission of the large-data-volume first CELL database between the AP and SensorHub is realized.
S204, the electronic equipment transmits the first CELL database from the AP to SensorHub through a second target channel; the second target channel supports single transmission of data in a second data volume range, and the maximum value of the second data volume range is smaller than or equal to a preset threshold value.
Illustratively, as shown in FIG. 5, the electronic device transmits the first CELL database via the second target channel from the converged location HAL daemon of the hardware abstraction layer to the geofence module of SensorHub.
The second target channel may be, for example, QMI as described above. It should be noted that, in the embodiment of the present application, a specific implementation process of the electronic device transmitting the first CELL database through the second target channel is not described in detail, and reference may be made to related technologies.
The second data amount range may be (0 KB,300 KB), and the embodiment of the present application is only illustrated herein and is not limiting of the present application.
In some embodiments of the present application, after the geofencing module of SensorHub reads the first CELL database, the method further comprises: the CELL positioning module acquires second CELL information, and determines first longitude and latitude information through a CELL positioning algorithm based on the second CELL information and the first CELL database.
The second CELL information includes an identifier of a CELL where the electronic device currently resides and an identifier of a neighboring CELL, and for an illustration of the identifier, reference may be made to the foregoing embodiment, which is not described herein again.
For example, referring to fig. 5, the CELL positioning module of the electronic device initiates CELL scanning to the modem, and the modem periodically scans CELL information around the electronic device and sends the CELL information to the CELL positioning module, so that the electronic device obtains second CELL information.
The CELL location module, for example, determines the location of the electronic device by "translating" the second CELL information into the first latitude and longitude information by a location algorithm based on the second CELL information and the first CELL database.
For example, as shown in FIG. 10, the process of "translation" described above may include: the electronic equipment inputs the second CELL information and the first CELL database into the CELL positioning module for processing, and the CELL positioning module outputs the first longitude and latitude information.
It should be noted that, the specific implementation process of the electronic device for "translating" the CELL information into the latitude and longitude information through the positioning algorithm may refer to the illustration of the related art, which is not described herein in detail.
Optionally, the first latitude and longitude information includes latitude and longitude coordinates and positioning accuracy. The positioning precision is used for indicating the approaching degree between the space entity position and the real position of the electronic equipment. Specifically, the closer the spatial entity position of the electronic equipment is to the real position, the higher the positioning precision is; conversely, the farther the spatial physical location of the electronic device is from the true location, the lower the positioning accuracy. It can be appreciated that the higher the positioning accuracy, the more accurate the positioning of the electronic device; the lower the positioning accuracy, the more ambiguous the positioning of the electronic device. The positioning accuracy depends on, among other things, the coverage of the base station, the type of base station (e.g., omni/directional sector), the distance between the electronic device and the base station, etc.
Exemplary positioning accuracy includes high accuracy, medium accuracy, low accuracy, and invalid accuracy. Wherein, high accuracy means positioning accuracy is less than or equal to 80m, medium accuracy means positioning accuracy is more than 80m and less than 150m, low accuracy means positioning accuracy is more than or equal to 150m and less than 300m, invalid accuracy means positioning accuracy is more than 300m, the above is merely some examples of positioning accuracy and does not limit the present application. In practical implementation, the data size of the first CELL database needs to be larger than 2MB, and if the data size of the first CELL database is smaller than 2MB, the positioning accuracy of CELL positioning can be affected.
Further, if the positioning accuracy is smaller than the positioning accuracy threshold, sensorHub of the electronic device obtains the first GNSS information, and determines the first latitude and longitude information based on the first GNSS information. The first GNSS information includes three-dimensional coordinates of the electronic device in a spatial location, speed, direction angle, and time. Of course, the first GNSS information may also include other information, which is not limited by the embodiment of the present application.
For example, as shown in fig. 5, the GNSS positioning module of the electronic device initiates a GNSS scan to the GNSS sensor, and the GNSS sensor periodically scans the GNSS information around the electronic device and sends the scanned GNSS information (i.e. the first GNSS information) to the GNSS positioning module. The GNSS positioning module determines first longitude and latitude information through satellite positioning technology based on the first GNSS information.
The satellite positioning technology is a technology for performing point location measurement by using artificial earth satellites, for example, global navigation satellite system GNSS, which generally refers to all satellite navigation systems, may include global positioning system (Global Positioning System, GPS), galileo satellite navigation system (Galileo Satellite Navigation System), beidou satellite navigation system (Beidou Navigation SATELLITE SYSTEM, BDS), and the like. Of course, GNSS positioning may also include other positioning systems, without limitation.
In summary, in the embodiment of the application, the electronic equipment adopts the CELL positioning mode first, and because the power consumption generated by CELL positioning is lower (generally 0.2MA, and the power consumption generated by GNSS positioning is greater than 1.5 mA), the power consumption of the electronic equipment can be effectively reduced by adopting CELL positioning. In addition, when the electronic equipment adopts CELL positioning, the SensorHub of the electronic equipment can initiate CELL scanning to the modem, and the modem periodically scans CELL information around the electronic equipment, so that the CELL information of network systems of all operators of a CELL where the electronic equipment currently resides can be obtained, and the CELL positioning precision can be improved.
Under the condition that the positioning precision of CELL positioning is not satisfied, the electronic equipment can also adopt GNSS positioning, so that successful positioning can be ensured, and further the realization of matching capacity of the fence is ensured.
Based on the above embodiment, after the geofence module at SensorHub obtains the first latitude and longitude information, fence matching may be performed based on the first latitude and longitude information. Illustratively, as shown in fig. 5, the fence matching module of SensorHub stores related information of the first geofence, and the fence matching module may perform fence matching based on the related information of the first geofence and the first longitude and latitude information and generate a matching result (including fence entry/exit). Then, sensorHub's fence matching module reports the fence entry/exit result to the AP.
Fig. 11 is a flowchart of a fence matching method according to an embodiment of the present application. As shown in fig. 11, the fence matching method includes the following steps.
S301, a fusion position HAL daemon of the electronic equipment applies for a shared memory area.
S302, the fusion position HAL daemon of the electronic equipment sends a memory address used for indicating a shared memory area to a geofence module through a first target channel.
S303, the geofence module of the electronic equipment performs CELL positioning.
S304, in the case of CELL positioning failure, the geofence module of the electronic equipment requests the fusion position HAL daemon to update the CELL database.
Exemplary, CELL location failure scenarios include: the geofence module of the electronic device does not read the first CELL database from the shared memory region; or the geofence module of the electronic device determines that the boundary of the current location of the electronic device and the rectangular area is less than a preset distance.
Alternatively, the preset distance may be 400m, or a value smaller than 400m, without limitation. The boundary between the current position of the electronic device and the rectangular area is smaller than the preset distance, which indicates that the electronic device is located at the boundary of the rectangular area shown in fig. 3, and because one rectangular area corresponds to one CELL database, when the electronic device is located at the boundary of the rectangular area, the CELL database needs to be updated to ensure the positioning accuracy of CELL positioning.
S305, the fusion position HAL daemon of the electronic device requests the geofence management service to update the CELL database.
Illustratively, as shown in FIG. 5, the CELL management module of the geofence management service requests an update to the CELL database from the cloud server; and after receiving the request of the CELL management module, the cloud server sends an updated CELL database to the CELL management module.
S306, the geofence management service of the electronic equipment sends the updated CELL database to the converged location HAL daemon.
S307, the fusion position HAL daemon of the electronic equipment writes the updated CELL database into the shared memory area.
S308, the fusion position HAL daemon of the electronic equipment sends an instruction to the geofence module to indicate that updating of the CELL database is completed.
S309, the geofence module of the electronic equipment reads the updated CELL database from the shared memory area and performs CELL positioning to acquire the first longitude and latitude information.
S310, the geofence module of the electronic equipment performs fence matching according to the first longitude and latitude information and the CELL database, and determines a fence entering/exiting result.
S311, the geofence module of the electronic device reports the fence entering/exiting result to the fusion position HAL daemon.
S312, the fusion position HAL daemon of the electronic device reports the fence entering/exiting result to the geofence management service.
S313, the geofence management service of the electronic device distributes the fence entry/exit result.
For example, the geofence management service of the electronic device distributes fence entry/exit results to the fence application to cause the fence application to perform operations corresponding to the fence entry/exit results.
It should be noted that, for the specific implementation of S301 to S313, reference may be made to the above embodiment, and details are not repeated here.
It can be appreciated that in the embodiment of the present application, the transmission of the first CELL database from the AP to SensorHub by the electronic device may be through two communication channels. For example, if the amount of data in the first CELL database exceeds the preset threshold, the electronic device transmits the first CELL database from the AP to SensorHub through the first target channel (or DIRECT CHANNEL). Also exemplary, if the amount of data in the first CELL database does not exceed the preset threshold, the electronic device transmits the first CELL database from the AP to SensorHub via the second target channel (i.e., QMI).
In other embodiments of the present application, the second target channel (i.e., QMI) is also used to monitor SensorHub for a crash. When SensorHub produces a crash, the electronic device resumes the first target channel and the second target channel through the converged location HAL daemon.
Illustratively, when the fusion location HAL daemon receives a failure of the ssc_interval_reset function reported by the second target channel, the second target channel detects SensorHub that a crash has occurred. Illustratively, the electronic device, via the converged location HAL daemon, may resume the first target channel in the order shown in table 5 below.
TABLE 5
As can be seen from table 5, the electronic device can restore the first target channel in the order of 1-10. That is, the electronic device calls the APIs corresponding to each order according to the order 1-10, so as to execute the functions corresponding to the APIs, thereby achieving the purpose of recovering the first target channel.
In the embodiment of the present application, reference may be made to related technologies for an implementation manner of recovering the second target channel, which is not described herein.
It should be noted that, in the above embodiment, the electronic device transmits the first CELL database from the AP to SensorHub through the first target channel or the second target channel for illustration. Of course, the electronic device may also transmit the first CELL database from the AP to SensorHub through other channels, for example, by sharing the memory; or by means of Glink communications; or by fastRPC means, etc., without limitation.
The related art provides a data transmission method, as shown in fig. 12, in which a direct channel (DIRECT CHANNEL) mechanism is used between a camera-less service (non-CAMERA SERVICE) of CAMERA HAL and a sensor module (such as the sensor module 180 described above). Illustratively, CAMERA HAL applies for shared area memory and subscribes to sensor data from the sensor module. The sensor module then sends the sensor data to the DIRECT CHANNEL framework, which writes the sensor data to the shared memory area by the DIRECT CHANNEL framework. CAMERA HAL the NCS service reads sensor data from the shared memory area.
As can be seen from fig. 12, the data transmission direction in the related art is: sensor data is transmitted by the sensor module to the AP. Since the sensor module does not write the sensor data directly to the shared memory area, the DIRECT CHANNEL framework writes the sensor data to the shared memory area after sending to the DIRECT CHANNEL framework. Therefore, CAMERA HAL's NCS service can read the sensor data directly without acquiring the memory address of the shared memory area.
The data transmission direction in the embodiment of the application is as follows: the CELL database is transmitted to the Sensorhub by the AP, the AP writes the CELL database into the shared memory area, sensorHub needs to acquire the memory address of the shared memory when reading the data in the shared memory area, and therefore the DIRECT CHANNEL framework needs to be modified to realize the technical scheme. In summary, the difference between the related art and the embodiment of the present application is that the data transmission direction is different, so the scheme provided by the related art cannot be directly applied to the embodiment of the present application to solve the technical problem to be solved by the embodiment of the present application.
The content described in each embodiment of the present application can be explained and the technical solutions described in other embodiments of the present application can be applied to other embodiments, and the technical features described in other embodiments can be combined to form new solutions.
An embodiment of the application provides an electronic device that may include a memory and one or more processors; the memory has stored therein computer program code comprising computer instructions which, when executed by the processor, cause the electronic device to perform the functions or steps of the above-described embodiments. The structure of the electronic device may refer to the structure of the electronic device 100 shown in fig. 4 described above.
The embodiment of the application also provides a chip system which is applied to the electronic equipment. As shown in fig. 13, the chip system 1100 includes at least one processor 1101 and at least one interface circuit 1102. Wherein the processor 1101 may be the processor 110 shown in fig. 4 in the above embodiment, and the interface circuit 1102 may be, for example, an interface circuit between the processor 1101 and an external memory; or an interface circuit between the processor 1101 and an internal memory.
The processor 1101 and interface circuit 1102 may be interconnected by wires. For example, interface circuit 1102 may be used to receive signals from other devices (e.g., a memory of electronic device 100). For another example, the interface circuit 1102 may be used to send signals to other devices (e.g., the processor 1101). The interface circuit 1102 may, for example, read instructions stored in a memory and send the instructions to the processor 1101. The instructions, when executed by the processor 1101, may cause the electronic device to perform the various functions or steps performed by the handset in the above-described embodiments. Of course, the system-on-chip may also include other discrete devices, which are not particularly limited in accordance with embodiments of the present application.
Embodiments of the present application also provide a computer readable storage medium, where the computer readable storage medium includes computer instructions, which when executed on an electronic device, cause the electronic device to perform the functions or steps performed by the electronic device in the above-described method embodiments.
Embodiments of the present application also provide a computer program product which, when run on a computer, causes the computer to perform the functions or steps performed by the electronic device in the method embodiments described above.
It should be noted that the terms "first" and "second" and the like in the description, the claims and the drawings of the present application are used for distinguishing between different objects and not for describing a particular sequential order. The terms "first," "second," and the like are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature. In the description of the present embodiment, unless otherwise specified, the meaning of "plurality" is two or more.
Furthermore, the terms "comprise" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus.
It should be understood that in the present application, "at least one (item)" means one or more. "plurality" means two or more. "at least two (items)" means two or three and more. And/or, for describing the association relationship of the association object, means that three relationships may exist. For example, "a and/or B" may represent: only a, only B and both a and B are present, wherein a, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one (one) of a, b or c may represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", wherein a, b, c may be single or plural. The terms "…" and "if" refer to a process that is performed under an objective condition, and are not intended to be limiting, nor are they intended to require any action that may be determined during implementation, nor are they intended to be limiting.
In embodiments of the application, words such as "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g." in an embodiment should not be taken as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion that may be readily understood.
It will be apparent to those skilled in the art from this description that the above-described functional modules are merely illustrated in terms of division for convenience and brevity, and in practical applications, the above-described functional modules may be allocated to different functional modules according to the system, that is, the internal structure of the apparatus may be divided into different functional modules to perform all or part of the functions described above.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the modules or units is merely a logical functional division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another apparatus, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and the parts displayed as units may be one physical unit or a plurality of physical units, may be located in one place, or may be distributed in a plurality of different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a readable storage medium. Based on such understanding, the technical solution of the embodiments of the present application may be essentially or a part contributing to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium, including several instructions for causing a device (may be a single-chip microcomputer, a chip or the like) or a processor (processor) to perform all or part of the steps of the method described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read Only Memory (ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely illustrative of specific embodiments of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions within the technical scope of the present application should be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (15)

1. A data transmission method, which is applied to an electronic device, wherein the electronic device comprises an application processor AP and a system coprocessor SensorHub; the method comprises the following steps:
The AP of the electronic equipment acquires a first CELL database corresponding to the current position of the electronic equipment; the first CELL database comprises a plurality of groups of first CELL information, each group of first CELL information comprises an identifier of a CELL in which the electronic equipment resides and an identifier of a neighboring CELL, and the identifier of the CELL and the identifier of the neighboring CELL comprise: at least one of a location area code LAC, a base station number CID, a mobile country code MCC, a mobile operator code MNC, a signal frequency, a signal strength; the first CELL database is used for positioning the position of the electronic equipment;
If the data amount in the first CELL database exceeds a preset threshold, the electronic equipment transmits the first CELL database from the AP to the SensorHub through a first target channel; the first target channel supports single transmission of data in a first data volume range; the minimum value of the first data volume range is greater than or equal to the preset threshold value.
2. The method according to claim 1, wherein the method further comprises:
if the data amount in the first CELL database does not exceed the preset threshold, the electronic equipment transmits the first CELL database from the AP to the SensorHub through a second target channel;
the second target channel supports single transmission of data in a second data volume range, and the maximum value of the second data volume range is smaller than or equal to the preset threshold value.
3. A method according to claim 1 or 2, characterized in that,
The first target channel is used to indicate a direct channel and the second target channel is used to indicate a high-pass message interface QMI channel.
4. The method of claim 1 or 2, wherein after the AP of the electronic device obtains the first CELL database, the method further comprises:
The AP of the electronic equipment judges whether the data amount in the first CELL database exceeds the preset threshold value;
The determining, by the AP of the electronic device, the size of the data amount in the first CELL database includes:
The AP of the electronic equipment acquires a first data identifier corresponding to the first CELL database; wherein the first data identification is used to indicate a data type of the first CELL database;
If the first data identifier indicates that the first CELL database is of a first data type, the AP of the electronic equipment determines that the data amount in the first CELL database exceeds the preset threshold;
And if the first data identifier indicates that the first CELL database is of a second data type, the AP of the electronic equipment determines that the data amount in the first CELL database does not exceed the preset threshold.
5. The method of claim 1 or 2, wherein the transmitting, by the electronic device, the first CELL database from the AP to the SensorHub over a first target channel, comprises:
The AP of the electronic equipment stores the first CELL database in a shared memory area between the AP and SensorHub;
And the Sensor Hub of the electronic equipment calls an interface provided by the first target channel, and reads the first CELL database from the shared memory region.
6. The method of claim 5, wherein the AP of the electronic device storing the first CELL database in a shared memory region between the AP and SensorHub, comprising:
The AP of the electronic equipment creates the shared memory area and generates a first memory address for indicating the shared memory area;
The AP of the electronic device stores the first CELL database in a shared memory region between the AP and SensorHub based on the first memory address.
7. The method of claim 6, wherein the method further comprises:
the AP of the electronic equipment maps the first memory address into a file descriptor and transmits the file descriptor to the Sensor Hub;
The SensorHub of the electronic equipment analyzes the file descriptor to obtain a second memory address;
The SensorHub of the electronic device invokes an interface provided by the first target channel, reads the first CELL database from the shared memory area, and includes:
the SensorHub of the electronic device invokes an interface provided by the first target channel, reads the first CELL database from the shared memory area based on the second memory address;
The first memory address is different from the second memory address, and the first memory address and the second memory address are used for indicating the memory address of the shared memory area.
8. The method of claim 7, wherein the AP of the electronic device transmitting the file descriptor to the SensorHub comprises:
The electronic device transmits the file descriptor from the AP to the SensorHub through the first target channel; or alternatively
The electronic device transmits the file descriptor from the AP to the SensorHub through a second target channel.
9. The method of claim 7 or 8, wherein the SensorHub includes a plurality of first channels therein; the method further comprises the steps of:
the SensorHub of the electronic device selects the first target channel from the plurality of first channels.
10. The method of claim 9, wherein the plurality of first channels are in one-to-one correspondence with a plurality of connection handles, each connection handle of the plurality of connection handles being used to identify the first channel; the SensorHub of the electronic device selects the first target channel from the plurality of first channels, including:
traversing the plurality of first channels by the SensorHub of the electronic device;
When a channel handle is equal to a first connection handle of the plurality of connection handles, the electronic device selects a first channel corresponding to the first connection handle as the first target channel;
Wherein the channel handle is used to identify the first target channel.
11. The method of any one of claims 1, 2, 6-8, or 10, further comprising:
the SensorHub of the electronic device obtains second CELL information; the second CELL information comprises an identifier of a CELL in which the electronic equipment currently resides and an identifier of a neighbor CELL;
The SensorHub of the electronic device determines, based on the second CELL information and the first CELL database, first latitude and longitude information of the electronic device through a CELL positioning algorithm.
12. The method of claim 11, wherein the first latitude and longitude information includes latitude and longitude coordinates and positioning accuracy; the method further comprises the steps of:
If the positioning accuracy is smaller than a positioning accuracy threshold, the SensorHub of the electronic device acquires first GNSS information;
The SensorHub of the electronic device determines the first longitude and latitude information based on the first GNSS information.
13. An electronic device, comprising: AP and Sensor Hub; the electronic device further includes: a memory and one or more processors;
The memory has stored therein computer program code comprising computer instructions; the computer instructions, when executed by the processor, cause the electronic device to perform the method of any of claims 1-12.
14. A chip system, the chip system comprising: at least one processor and an interface; the interface is used for receiving the instruction and transmitting the instruction to the at least one processor; the at least one processor executing the instructions causes the electronic device to perform the method of any one of claims 1-12.
15. A computer readable storage medium comprising computer instructions which, when run on an electronic device, cause the electronic device to perform the method of any of claims 1-12.
CN202311772248.5A 2023-12-21 2023-12-21 Data transmission method and electronic equipment Active CN117440361B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311772248.5A CN117440361B (en) 2023-12-21 2023-12-21 Data transmission method and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311772248.5A CN117440361B (en) 2023-12-21 2023-12-21 Data transmission method and electronic equipment

Publications (2)

Publication Number Publication Date
CN117440361A CN117440361A (en) 2024-01-23
CN117440361B true CN117440361B (en) 2024-05-03

Family

ID=89558753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311772248.5A Active CN117440361B (en) 2023-12-21 2023-12-21 Data transmission method and electronic equipment

Country Status (1)

Country Link
CN (1) CN117440361B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170084637A (en) * 2016-01-12 2017-07-20 한국전자통신연구원 Apparatus for updating of positioning infrastructure database automatically and method using the same
KR20200132370A (en) * 2019-05-17 2020-11-25 한국과학기술원 Position estimation method and apparatus for ue based on multi-downlink information of multi-frequencies
CN116709180A (en) * 2022-09-09 2023-09-05 荣耀终端有限公司 Geofence generation method and server
CN116908778A (en) * 2023-06-15 2023-10-20 通号城市轨道交通技术有限公司 Track section positioning method, track section positioning device, electronic equipment and medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10503124B2 (en) * 2015-10-31 2019-12-10 Microsoft Technology Licensing, Llc Automatic time zone detection in devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170084637A (en) * 2016-01-12 2017-07-20 한국전자통신연구원 Apparatus for updating of positioning infrastructure database automatically and method using the same
KR20200132370A (en) * 2019-05-17 2020-11-25 한국과학기술원 Position estimation method and apparatus for ue based on multi-downlink information of multi-frequencies
CN116709180A (en) * 2022-09-09 2023-09-05 荣耀终端有限公司 Geofence generation method and server
CN116908778A (en) * 2023-06-15 2023-10-20 通号城市轨道交通技术有限公司 Track section positioning method, track section positioning device, electronic equipment and medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于电信数据的室外定位技术研究;廖山河;赵钦佩;李江峰;饶卫雄;;计算机工程与科学;20180415(第04期);全文 *

Also Published As

Publication number Publication date
CN117440361A (en) 2024-01-23

Similar Documents

Publication Publication Date Title
EP3920558A1 (en) Method for determining that terminal device is located inside geofence, and terminal device
CN109891934B (en) Positioning method and device
US9363637B2 (en) Multi-tiered detection of a geofence
CN110505572B (en) Indoor positioning method and electronic equipment
US9560481B1 (en) Establishing geo-fences and related alarms
WO2014206627A1 (en) Mobile network based geofencing
WO2022001147A1 (en) Positioning method and electronic device
EP4262242A1 (en) Bluetooth connection method and device
WO2022247571A1 (en) Method for switching virtual card, and electronic device
CN113747416A (en) Network searching method and related device
CN117440361B (en) Data transmission method and electronic equipment
CN111241035B (en) Application management method and device and terminal equipment
CN117440319B (en) Positioning method and electronic equipment
CN112492505A (en) Position information acquisition method and electronic equipment
CN113790732B (en) Method and device for generating position information
US20230276393A1 (en) Method, Apparatus, and System for Accessing LTE Network by Mobile Terminal
CN114449446A (en) Virtual card switching method and electronic equipment
CN113805140A (en) Positioning method and electronic equipment
CN113790731B (en) Method and device for generating speed information
CN112637761B (en) Terminal position information sharing method and related device
CN113746517B (en) Beam training method, terminal equipment and computer readable storage medium
CN116723460B (en) Method for creating personal geofence and related equipment thereof
CN115968026A (en) Positioning method for reducing power consumption, terminal equipment and storage medium
CN117666854A (en) Method for sharing input device and electronic device
CN117376830A (en) Geofence matching method, electronic device and computer readable storage medium

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