Geofencing scheduling apparatus and method

By using memory devices with different response speeds to store geofences separately in the terminal device, the limitations of geofence storage and computation are solved, enabling timely acquisition and updating of real-time location and surrounding information, and improving the perception capabilities of the mobile terminal.

CN119996929BActive Publication Date: 2026-06-05BEIJING X RING TECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING X RING TECHNOLOGY CO LTD
Filing Date
2024-12-16
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

In existing technologies, the storage and computation operations of geofencing limit the perception capabilities of mobile terminals, resulting in the inability to receive notifications related to geofencing services in a timely manner.

Method used

Geofencing is stored in a first memory and a second memory with different response speeds. The first memory, which has a faster response speed, stores geofences that are closer to the real-time location, while the second memory, which has a slower response speed, stores geofences that are farther away from the real-time location, thus enabling the scheduling of geofences.

Benefits of technology

This enables users to obtain real-time map information about their surroundings and updates it based on location changes, improving the storage and computation efficiency of geofencing and enhancing the perception capabilities of mobile terminals.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119996929B_ABST
    Figure CN119996929B_ABST
Patent Text Reader

Abstract

The application provides a geographic fence scheduling device and method, which comprises obtaining a plurality of geographic fences of a target area where a terminal device is located and a real-time position of the terminal device; and storing corresponding geographic fences in a first memory and a second memory of the terminal device respectively. By obtaining the plurality of geographic fences of the target area where the terminal device is located and the real-time position of the terminal device, and storing corresponding geographic fences in the first memory and the second memory respectively according to the difference in distance between the geographic fences and the real-time position, the plurality of geographic fences of the target area are scheduled, the first memory with a faster response speed is used to enable a user to obtain map information around the real-time position in time, and the second memory with a slower response speed is used to cache map information with a relatively long distance, and the cached map is updated according to the change of the real-time position, so that the device has wide applicability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of electronic information technology, and in particular to a geofencing scheduling device and method. Background Technology

[0002] Geo-fencing is a typical application of location-based services (LBS). It is a technology that artificially represents a spatial geometric range based on geographic location. It uses the Global Positioning System (GPS) or other location-aware technologies to determine the location of objects or people, compares this information with a predefined geofence, and issues a notification. This technology can realize functions such as reminders, memos, push notifications, and intelligent assistance.

[0003] It should be noted that the above introduction to the technical background is only for the purpose of providing a clear and complete explanation of the technical solutions of this application and facilitating understanding by those skilled in the art. It should not be assumed that these technical solutions are known to those skilled in the art simply because they have been described in the background section of this application. Summary of the Invention

[0004] This application provides a geofencing scheduling device and method.

[0005] The first aspect of this application proposes a geofencing scheduling method, including:

[0006] Obtain multiple geofences in the target area where the terminal device is located and the real-time location of the terminal device;

[0007] The corresponding geofences are stored in the first and second memories of the terminal device, respectively.

[0008] The response speed of the first memory is greater than that of the second memory, and the distance between the first geofence stored in the first memory and the real-time location is less than the distance between the second geofence stored in the second memory and the real-time location.

[0009] A second aspect of this application provides a geofencing scheduling device, comprising:

[0010] The acquisition module is used to acquire multiple geofences in the target area where the terminal device is located and the real-time location of the terminal device;

[0011] The storage module is used to store the corresponding geofences in the first memory and the second memory of the terminal device, respectively.

[0012] The response speed of the first memory is greater than that of the second memory, and the distance between the first geofence stored in the first memory and the real-time location is less than the distance between the second geofence stored in the second memory and the real-time location.

[0013] A third aspect of this application provides an electronic device, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to execute the instructions to implement the geofencing scheduling method proposed in the first aspect of this application.

[0014] A fourth aspect of this application provides a non-transitory computer-readable storage medium that, when instructions in the storage medium are executed by a processor of an electronic device, enables the electronic device to perform the method proposed in the first aspect of this application.

[0015] A fifth aspect of this application provides a computer program product including a computer program that, when executed by a processor in a communication device, implements the method proposed in the first aspect of this application.

[0016] A sixth aspect of this application provides a chip including one or more interface circuits and one or more processors; the interface circuits are configured to receive signals from the memory of an electronic device and send the signals to the processors, the signals including computer instructions stored in the memory, which, when executed by the processors, cause the electronic device to use the geofencing scheduling method proposed in the first aspect of this application.

[0017] The technical solutions provided by the embodiments of this application bring at least the following beneficial effects:

[0018] By acquiring multiple geofences in the target area where the terminal device is located and the real-time location of the terminal device, and storing the corresponding geofences in a first memory and a second memory with different response speeds according to the difference in distance between the geofences and the real-time location, the system can schedule multiple geofences in the target area. The first memory, with its faster response speed, enables users to obtain map information around their real-time location in a timely manner; the second memory, with its slower response speed, caches map information that is relatively far away and updates the cached map according to changes in the real-time location. This system has wide applicability.

[0019] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0020] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein:

[0021] Figure 1 A schematic flowchart illustrating a geofencing scheduling method provided in an embodiment of this application;

[0022] Figure 2 A flowchart illustrating another geofencing scheduling method provided in an embodiment of this application;

[0023] Figure 3 This is a schematic diagram of the architecture of a terminal device provided in an embodiment of this application;

[0024] Figure 4 A flowchart illustrating another geofencing scheduling method provided in an embodiment of this application;

[0025] Figure 5 This is a schematic diagram of the structure of a geofencing scheduling device provided in an embodiment of this application;

[0026] Figure 6 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application;

[0027] Figure 7 This is a schematic diagram of the structure of another electronic device provided according to an embodiment of this application;

[0028] Figure 8 This is a schematic diagram of the structure of a chip according to an embodiment of this application. Detailed Implementation

[0029] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with those of this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the embodiments of this application as detailed in the appended claims.

[0030] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the embodiments of this application. The singular forms “a” and “the” as used in the embodiments of this application and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items.

[0031] It should be understood that although the terms first, second, third, etc., may be used to describe various information in the embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of the embodiments of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the words "if" and "suppose" as used herein can be interpreted as "when," "when," or "in response to a determination."

[0032] Embodiments of this application are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.

[0033] It should be noted that the geofencing scheduling method provided in any embodiment of this application can be executed alone, or it can be executed together with possible implementation methods in other embodiments, or it can be executed together with any technical solution in related technologies.

[0034] A geofence establishes a virtual fence or perimeter, or virtual geographic area, around a real-world physical location. When a terminal device (such as a mobile phone, tablet, or vehicle) enters, leaves, or operates within this virtual geographic area, it can receive automatic notifications and warnings. The terminal device determines the geofence's status based on its relative position to the real-time location, including whether the real-time location is inside or outside the geofence, has entered or exited the geofence, etc. It also reports relevant events and statuses via inter-core communication based on geofence requests from the application processor within the terminal device. If the concurrency of location information requests is too high, it will severely limit the storage and computation of geofence data, leading to a decrease in the mobile terminal's ability to perceive geofences and thus preventing it from receiving notifications related to geofence services.

[0035] The geofencing scheduling method and apparatus of this application are described below with reference to the accompanying drawings.

[0036] The geofencing scheduling method provided in this application includes...

[0037] S00: Obtain multiple geofences in the target area where the terminal device is located and the real-time location of the terminal device.

[0038] In one feasible implementation, after the terminal device arrives at the target area, it can acquire multiple geofences for the target area. Optionally, it can acquire the latitude and longitude information of the target area and determine multiple geofences based on the latitude and longitude information of the target area.

[0039] In one feasible implementation, the latitude and longitude of the target area can be obtained by utilizing the positioning function of the terminal device, thereby determining the latitude and longitude of the target area where the terminal device is located.

[0040] In some implementations, third-party location services can also be used to view the real-time location of the target area and obtain its latitude and longitude coordinates through the application interface.

[0041] In one feasible implementation, the latitude and longitude location can also be obtained by using a map open platform based on the name of the target area.

[0042] S02, the corresponding geofences are stored in the first memory and the second memory of the terminal device, respectively. It should be noted that the response speed of the first memory is greater than that of the second memory, and the distance between the first geofence stored in the first memory and the real-time location is less than the distance between the second geofence stored in the second memory and the real-time location.

[0043] In one feasible implementation, the terminal device may further include a first memory and a second memory. Optionally, the capacity of the second memory is larger than that of the first memory, and the response speed of the second memory is slower than that of the first memory; in other words, the response time of the first memory is shorter than that of the second memory. Therefore, when multiple geofences of a target area are acquired for the first time, these geofences can be stored in the second memory.

[0044] It's important to note that the response speed of a memory affects the data read and write speeds; a faster response speed results in higher data access efficiency. For first-generation memories with relatively fast response speeds, the device structure typically requires multiple transistors to maintain data stability, resulting in relatively low integration and limited storage capacity. For second-generation memories with relatively slow response speeds, their storage cells usually consist of a single transistor and a capacitor. The capacitor stores charge, representing the binary state (0 or 1) of the data. Because the capacitor gradually discharges over time, second-generation memories require periodic refreshes to maintain data stability. Due to the single transistor and single capacitor structure, second-generation memories have a simpler structure and higher integration, thus providing a larger storage capacity. Therefore, the number of geofences stored in first-generation memories is less than the number stored in second-generation memories.

[0045] Furthermore, the first memory has a smaller storage capacity and a stable storage cell structure, while the second memory has a larger storage capacity and a storage cell structure that requires periodic refresh. These characteristics make the first memory more suitable for applications requiring fast access and stable storage, such as caching, while the second memory is more suitable for applications requiring large-capacity storage. For geofences close to the real-time location, the terminal device increases the location update frequency to determine whether the real-time location is inside, outside, entering, or leaving the geofence, thus requiring the memory to have fast access and stable storage capabilities. For geofences far from the real-time location, the terminal device updates the location less frequently, thus requiring the memory to provide a larger storage capacity. Therefore, the distance between the first geofence stored in the first memory and the real-time location is less than the distance between the second geofence stored in the second memory and the real-time location.

[0046] In summary, the geofence scheduling method provided in this application obtains multiple geofences in the target area where the terminal device is located and the real-time location of the terminal device. Based on the difference in distance between the geofences and the real-time location, the corresponding geofences are stored in a first memory and a second memory with different response speeds, respectively. This enables the scheduling of multiple geofences in the target area. The first memory, with its faster response speed, allows the user to obtain map information around the real-time location in a timely manner. The second memory, with its slower response speed, caches map information that is relatively far away and updates the cached map according to changes in the real-time location. This method has wide applicability.

[0047] The geofence scheduling method in this embodiment can be referred to as the geofence management method.

[0048] Figure 1 This is a schematic flowchart illustrating a geofencing scheduling method provided in an embodiment of this application. It should be noted that the geofencing scheduling method of this embodiment can be applied to a geofencing scheduling device. In one feasible implementation, the device can be configured in an electronic device or chip, enabling the electronic device or chip to perform geofencing scheduling. The electronic device can be a terminal device, such as a mobile phone, wearable device, or vehicle terminal. In one feasible implementation, the device can also be software within the electronic device. In other possible embodiments, the device can be a controller, microcontroller, etc.

[0049] like Figure 1 As shown, the geofencing scheduling method includes, but is not limited to, the following steps:

[0050] S101, obtain multiple geofences in the target area where the terminal device is located and the real-time location of the terminal device.

[0051] In this application embodiment, a terminal device is used as an example to explain the method provided in this application embodiment.

[0052] In one feasible implementation, after the terminal device arrives at the target area, it can acquire multiple geofences for the target area. Optionally, it can acquire the latitude and longitude information of the target area and determine multiple geofences based on the latitude and longitude information of the target area.

[0053] In one feasible implementation, the latitude and longitude of the target area can be obtained by utilizing the positioning function of the terminal device, thereby determining the latitude and longitude of the target area where the terminal device is located.

[0054] In some implementations, third-party location services can also be used to view the real-time location of the target area and obtain its latitude and longitude coordinates through the application interface.

[0055] In one feasible implementation, the latitude and longitude location can also be obtained by using a map open platform based on the name of the target area.

[0056] In one feasible implementation, the real-time location of the terminal device can be obtained through a positioning source (which can be integrated into the terminal device). This positioning source includes any one of a GPS component, a Wi-Fi positioning component, a Bluetooth positioning component, a geomagnetic positioning component, and a UWB positioning component, or a combination thereof. The configuration of the positioning source should be selected according to the required accuracy of the real-time location; details will not be elaborated here.

[0057] S102, based on real-time location, schedules multiple geofences; and stores the corresponding geofences in the first memory and second memory of the terminal device respectively.

[0058] It should be noted that the response speed of the first memory is greater than that of the second memory, and the distance between the first geofence stored in the first memory and the real-time location is less than the distance between the second geofence stored in the second memory and the real-time location.

[0059] In one feasible implementation, the real-time location can be obtained through the positioning function of the terminal device (e.g., via a location source). The real-time location is compared with the range of each geofence to determine whether the terminal device has entered or left a geofence area. Based on the terminal device's real-time location and the triggering conditions of each geofence, the corresponding geofences are dynamically scheduled.

[0060] In one feasible implementation, the terminal device may further include a first memory and a second memory. Optionally, the capacity of the second memory is larger than that of the first memory, and the response speed of the second memory is slower than that of the first memory; in other words, the response time of the first memory is shorter than that of the second memory. Therefore, when multiple geofences of a target area are acquired for the first time, these geofences can be stored in the second memory.

[0061] It's important to note that the response speed of a memory affects the data read and write speeds; a faster response speed results in higher data access efficiency. For first-generation memories with relatively fast response speeds, the device structure typically requires multiple transistors to maintain data stability, resulting in relatively low integration and limited storage capacity. For second-generation memories with relatively slow response speeds, their storage cells usually consist of a single transistor and a capacitor. The capacitor stores charge, representing the binary state (0 or 1) of the data. Because the capacitor gradually discharges over time, second-generation memories require periodic refreshes to maintain data stability. Due to the single transistor and single capacitor structure, second-generation memories have a simpler structure and higher integration, thus providing a larger storage capacity. Therefore, the number of geofences stored in first-generation memories is less than the number stored in second-generation memories.

[0062] Furthermore, the first memory has a smaller storage capacity and a stable storage cell structure, while the second memory has a larger storage capacity and a storage cell structure that requires periodic refresh. These characteristics make the first memory more suitable for applications requiring fast access and stable storage, such as caching, while the second memory is more suitable for applications requiring large-capacity storage. For geofences close to the real-time location, the terminal device increases the location update frequency to determine whether the real-time location is inside, outside, entering, or leaving the geofence, thus requiring the memory to have fast access and stable storage capabilities. For geofences far from the real-time location, the terminal device updates the location less frequently, thus requiring the memory to provide a larger storage capacity. Therefore, the distance between the first geofence stored in the first memory and the real-time location is less than the distance between the second geofence stored in the second memory and the real-time location.

[0063] As an example, the first memory stores 7 geofences, which are designated A1, A2, A3, A4, A5, A6, and A7; the second memory stores 49 geofences, which are designated B1, B2, ..., B49. When the real-time location of the terminal device changes, the first distance between A1 and the real-time location is designated as 0. A1The second distances of B1 and B2 from the real-time position are represented as O, respectively. B1 and O B2 If O A1 >O B2 >O B1 If so, A1 will be moved from the first memory to the second memory, and B1 will be moved from the second memory to the first memory.

[0064] In summary, the geofence scheduling method provided in this application obtains multiple geofences in the target area where the terminal device is located and the real-time location of the terminal device. Based on the difference in distance between the geofences and the real-time location, the corresponding geofences are stored in a first memory and a second memory with different response speeds, respectively. This enables the scheduling of multiple geofences in the target area. The first memory, with its faster response speed, allows the user to obtain map information around the real-time location in a timely manner. The second memory, with its slower response speed, caches map information that is relatively far away and updates the cached map according to changes in the real-time location. This method has wide applicability.

[0065] Figure 2 This is a flowchart illustrating another geofencing scheduling method provided in an embodiment of this application. Figure 2 As shown, the geofencing scheduling method includes, but is not limited to, the following steps:

[0066] S201, Obtain the latitude and longitude coordinates of the target area for creating a geofence.

[0067] For further details on step S201, please refer to the relevant descriptions in the above embodiments, which will not be repeated here.

[0068] S202, based on events associated with latitude and longitude locations, obtain the geofence corresponding to the latitude and longitude location.

[0069] In one feasible implementation, events associated with latitude and longitude locations are identified, and the priorities of these events are determined. Since the latitude and longitude locations for creating geofences may include specific cities, regions, buildings, etc., and for buildings, this includes commercial buildings, residential buildings, scenic area buildings, industrial buildings, etc., the impact of events can be analyzed based on the attributes of the surrounding environment. These events include factors such as pedestrian activity and surrounding traffic conditions. The degree of influence between the terminal device and the event is then determined. For example, if an event indicates high pedestrian traffic and surrounding traffic congestion, this will reduce the accuracy of the terminal device's positioning; in this case, a warning identifier is set for the event, and a lower priority is configured. If an event indicates low pedestrian traffic, a mild identifier is set for the event, and a higher priority is configured.

[0070] After determining the priority of each event, the corresponding geofence drawing information is determined based on the event's priority and latitude / longitude location. This geofence drawing information includes the shape and size of the geofence. For example, for events with warning indicators, a rectangular or polygonal geofence can be selected, and since its priority is relatively low, the geofence area is smaller; for events with mild indicators, a circular geofence can be selected, and since its priority is relatively high, the geofence area is larger. As an example, the shape (e.g., circular, polygonal) and size (e.g., radius, side length) of each geofence are determined based on its latitude / longitude location; then, the geofence boundary is calculated based on the shape and size of the geofence. Finally, the information for each geofence (including fence identifier, name, shape, size, boundary, trigger conditions, etc.) is organized into a data format to form the geofence drawing information.

[0071] After determining the fence drawing information, a geofence corresponding to the latitude and longitude location is generated based on that information. It should be noted that the geofence information can be represented by a data structure, such as a list, an array, or a record in a database. This data structure must be able to store the geofence's identifier, name, the latitude and longitude location of its center (or the latitude and longitude location of its vertices), radius (or side length), and other attributes.

[0072] For further details on step S202, please refer to the relevant descriptions in the above embodiments, which will not be repeated here.

[0073] S203, based on the real-time location of the acquired terminal device, schedule multiple geofences and store the corresponding geofences in the first and second memory of the terminal device respectively.

[0074] It should be noted that the response speed of the first memory is greater than that of the second memory, and the distance between the first geofence stored in the first memory and the real-time location is less than the distance between the second geofence stored in the second memory and the real-time location.

[0075] In one feasible implementation, the distance between the real-time location and each geofence is first obtained, and the distances between the real-time location and each geofence are sorted in ascending order to obtain a first distance set. If multiple geofences of the target area are obtained for the first time, the multiple geofences are stored in a second memory.

[0076] Then, based on the first distance set, multiple geofences are scheduled to determine the first geofence corresponding to the first storage and the second geofence corresponding to the second storage. First, the storage location of the first geofence is confirmed. If the first geofence is stored in the second storage, it is migrated from the second storage to the first storage; otherwise, it remains stored in the first storage. Next, the storage location of the second geofence is confirmed. If the second geofence is stored in the first storage, it is migrated from the first storage to the second storage; otherwise, it remains stored in the second storage.

[0077] If the real-time location of the terminal device changes, the distance between the real-time location and each geofence is updated. Before implementing the update, the distance between the last geofence in the first memory and the real-time location is obtained as the supervision radius for geofence exit; and the supervision radius is stored as the last element in the first memory. The supervision radius is used to monitor whether the geofences in the first memory need to be exited. Further, during the update operation, the terminal device refreshes its location to update the distance between the terminal device and each geofence in the first memory. Geofences whose updated distance is greater than the supervision radius are identified as geofences that need to be exited. It should be noted that the exited geofences are removed from the first memory; then, geofences whose updated distance is less than the supervision radius are selected from the second memory. Based on a maximum threshold value, a suitable object is selected from the selected geofences and stored in the first memory, while the exited geofences are stored in the second memory.

[0078] After obtaining the geofences that need to be removed, determine whether to report the geofences to be removed and the updated distances corresponding to the geofences, based on actual needs.

[0079] In another feasible implementation, the maximum threshold value of the geofences allowed to be stored in the first memory is first determined. For example, the cache association information of the first memory and the capacity space required for a single geofence can be obtained. Then, based on the cache association information and the capacity space, the maximum threshold value of the geofences allowed to be stored in the first memory is determined. It should be noted that when calculating the capacity space required for the geofences, compression algorithms, such as Huffman coding and run-length encoding, can also be combined to compress the capacity of the geofences to the maximum extent, thereby increasing the maximum threshold value of the geofences allowed to be stored in the first memory. The compression algorithm should make a trade-off between stability and reliability, which will not be elaborated here.

[0080] After determining the maximum threshold value, multiple geofences are scheduled based on the real-time location of the terminal device and the maximum threshold value. Further, the distances between the real-time location and each geofence are obtained and sorted in ascending order to obtain a first distance set. Then, starting from the first element of the first distance set, elements with the maximum threshold value are selected sequentially to form a first distance subset. Based on the remaining elements in the first distance set, a second distance subset is constructed. Next, the geofence corresponding to each distance in the first distance subset is determined as the first geofence, and the geofence corresponding to each distance in the second distance subset is determined as the second geofence. The first geofences are stored in a first memory, and the second geofences are stored in a second memory.

[0081] If the real-time location of the terminal device changes, the distance between the real-time location and each geofence is updated. Based on the monitoring radius for geofence exit, the system monitors whether geofences in the first memory need to be exited. If geofences that need to be exited exist in the first memory, a candidate geofence matching the first memory is selected from the second memory and stored in the first memory. Exited geofences are stored in the second memory. Then, after obtaining the geofences that need to be exited, it is determined, based on actual needs, whether to report the geofences that need to be exited and their corresponding updated distances.

[0082] For further details on step S203, please refer to the relevant descriptions in the above embodiments, which will not be repeated here.

[0083] In summary, the geofence scheduling method provided in this application obtains multiple geofences in the target area where the terminal device is located and the real-time location of the terminal device. Based on the difference in distance between the geofences and the real-time location, the corresponding geofences are stored in a first memory and a second memory with different response speeds, respectively. This enables the scheduling of multiple geofences in the target area. The first memory, with its faster response speed, allows the user to obtain map information around the real-time location in a timely manner. The second memory, with its slower response speed, caches map information that is relatively far away and updates the cached map according to changes in the real-time location. This method has wide applicability.

[0084] Figure 3 This is a schematic diagram of the architecture of a terminal device provided in an embodiment of this application. Figure 3As shown, the terminal device includes an application processor, a microcontroller, a positioning source, a first memory, and a second memory. The application processor, microcontroller, and positioning source are interconnected and interact with each other via inter-core communication. Both the first and second memories are connected to the microcontroller. As an example, the first memory can be an internal cache, and the second memory can be an external cache. Optionally, the first memory can be Static Random Access Memory (SRAM), and the second memory can be Dynamic Random Access Memory (DRAM).

[0085] The following can be combined Figure 3 The architecture of the terminal device shown illustrates another geofencing scheduling method provided in this application embodiment. Figure 4 This is a flowchart illustrating another geofencing scheduling method provided in an embodiment of this application. Figure 4 As shown, this geofencing scheduling method is based on, Figure 3 The geofencing scheduling method implemented using the terminal device shown includes, but is not limited to, the following steps:

[0086] S401, determine the maximum threshold value of the geofence that the first memory is allowed to store.

[0087] S402 determines multiple geofences in the target area where the terminal device is located and sends the multiple geofences to the microcontroller.

[0088] It should be noted that the application software of the application processor draws the geofence of the target area based on location and geofence services, and sends it to the microcontroller through inter-core communication.

[0089] S403, in response to the first acquisition of multiple geofences of the target area, the multiple geofences are stored in the second memory.

[0090] S404, Start Positioning.

[0091] S405 refreshes the location of the terminal device.

[0092] S406, obtain the distance between the real-time location and each geofence, and sort the distances between the real-time location and each geofence in ascending order.

[0093] It should be noted that the microprocessor obtains the distance between the real-time location of the terminal device and each geofence, migrates geofences with relatively short distances from the middle of the second memory to the first memory, and continues to store geofences with relatively long distances in the second memory. The maximum threshold value of geofences that can be migrated to the first memory is determined by the cache association information of the first memory and the capacity space required for a single geofence.

[0094] S407, starting from the first element of the first distance set, select the elements with the largest threshold value in sequence to form the first distance subset, and construct the second distance subset based on the remaining elements in the first distance set.

[0095] S408, determine the geofence corresponding to each distance in the first distance subset as the first geofence, and determine the geofence corresponding to each distance in the second distance subset as the second geofence.

[0096] S409, based on the first distance set, schedule multiple geofences, and determine the first geofence corresponding to the first memory and the second geofence corresponding to the second memory.

[0097] S410 continuously refreshes the location of the terminal device.

[0098] S411, obtain the distance between the last geofence in the first memory and the real-time location, wherein the supervision radius is used to monitor whether the geofence in the first memory needs to be exited.

[0099] S412, obtain the geofence status. If the geofence status changes, proceed to step S413; if the geofence status does not change, proceed to step S414.

[0100] It should be noted that if the real-time location of the terminal device changes, the distance between the real-time location and each geofence is updated. Specifically, the distance between the real-time location and the geofences in the first memory is represented as the first distance (the number of first distances is equal to the number of geofences in the first memory); the distance between the real-time location and the geofences in the second memory is represented as the second distance (the number of second distances is equal to the number of geofences in the second memory). Multiple geofences are scheduled by comparing each first distance and each second distance, based on a maximum threshold value.

[0101] S413 handles geofence events and provides status alerts.

[0102] S414, identify whether the geofence in the first memory needs to be exited. If the geofence needs to be exited, execute step S306; if the geofence does not need to be exited, execute step S410.

[0103] For further details on steps S401 to S414, please refer to the relevant descriptions in the above embodiments, which will not be repeated here.

[0104] In summary, the geofence scheduling method provided in this application obtains multiple geofences in the target area where the terminal device is located and the real-time location of the terminal device. Based on the difference in distance between the geofences and the real-time location, the corresponding geofences are stored in a first memory and a second memory with different response speeds, respectively. This enables the scheduling of multiple geofences in the target area. The first memory, with its faster response speed, allows the user to obtain map information around the real-time location in a timely manner. The second memory, with its slower response speed, caches map information that is relatively far away and updates the cached map according to changes in the real-time location. This method has wide applicability.

[0105] Figure 5 This is a schematic diagram of a geofencing scheduling device provided in an embodiment of this application. Figure 5 As shown, the geofencing dispatching device includes:

[0106] The acquisition module 501 is used to acquire multiple geofences in the target area where the terminal device is located and the real-time location of the terminal device.

[0107] The scheduling module 502 is used to schedule multiple geofences based on real-time location and store the corresponding geofences in the first memory and the second memory of the terminal device, respectively.

[0108] The response speed of the first memory is greater than that of the second memory, and the distance between the first geofence stored in the first memory and the real-time location is less than the distance between the second geofence stored in the second memory and the real-time location.

[0109] Figure 6 This is a schematic diagram of the structure of an electronic device provided according to an embodiment of this application. Figure 6 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0110] like Figure 6As shown, the electronic device 600 includes a processor 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from memory 606 into a random access memory (RAM) 603. The RAM 603 also stores various programs and data required for the operation of the electronic device 600. The processor 601, ROM 602, and RAM 603 are interconnected via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0111] The following components are connected to I / O interface 605: memory 606 including hard disk; and communication section 607 including network interface card such as LAN (Local Area Network) card, modem, etc., which performs communication processing via a network such as the Internet; and driver 608 is also connected to I / O interface 605 as needed.

[0112] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 607. When the computer program is executed by processor 601, it performs the functions defined in the methods of this application.

[0113] In an exemplary embodiment, a storage medium including instructions is also provided, such as a memory including instructions, which can be executed by a processor 601 of an electronic device 600 to perform the above-described method. Optionally, the storage medium may be a non-transitory computer-readable storage medium, such as a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device.

[0114] In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can transmit, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wireline, optical fiber, RF, etc., or any suitable combination thereof.

[0115] Figure 7 This is a schematic diagram of the structure of another electronic device provided according to an embodiment of this application. Figure 7 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments of this application. Figure 7 As shown, the electronic device 700 includes a processor 701 and a memory 702. The memory 702 is used to store program code, and the processor 701 is connected to the memory 702 to read program code from the memory 702 to implement the geofencing scheduling method in the above embodiment.

[0116] Alternatively, the number of processors 701 can be one or more.

[0117] Optionally, the electronic device may also include an interface 703, and there may be multiple interfaces 703. The interface 703 can be connected to an application and can receive data from external devices such as sensors.

[0118] This application also proposes a chip, which can be found in the embodiments described above. Figure 8 The diagram shows the structure of the chip. Figure 8 The chip shown includes a processor 801 and an interface circuit 802. The number of processors 801 and the number of interface circuits 802 can be one or more.

[0119] Optionally, the chip also includes a memory 803 for storing necessary computer programs and data; an interface circuit 802 for receiving signals from the memory 803 and sending signals to the processor 801, the signals including computer instructions stored in the memory 803, which, when executed by the processor 801, cause the electronic device to execute the geofencing scheduling method described in the above embodiments of this disclosure.

[0120] Other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.

[0121] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A geofencing scheduling method, characterized in that, The method is executed by a terminal device, and the method includes: Obtain multiple geofences for the target area where the terminal device is located; Obtain the real-time location of the terminal device; Obtain the distance between the real-time location and each geofence, and sort the geofences in ascending order of the distance between the real-time location and each geofence to obtain a first distance set; Determine the maximum threshold value of the geofence that the first memory is allowed to store; Based on the maximum threshold value, the first distance set is divided into a first geofence and a second geofence; The first geofence is stored in the first memory of the terminal device, and the second geofence is stored in the second memory of the terminal device; The response speed of the first memory is greater than that of the second memory, and the distance between the first geofence and the real-time location is less than the distance between the second geofence and the real-time location.

2. The method according to claim 1, characterized in that, The acquisition of multiple geofences in the target area where the terminal device is located includes: Obtain the latitude and longitude coordinates of the target area for creating a geofence; Identify events associated with the latitude and longitude location, determine the priority of the events, and determine the fence drawing information corresponding to the latitude and longitude location based on the priority of the events; Based on the fence drawing information, a geofence corresponding to the latitude and longitude location is generated.

3. The method according to claim 1, characterized in that, Determining the maximum threshold value of the geofence that the first storage is allowed to store includes: Obtain the cache association information of the first storage and the capacity space required for a single geofence; Based on the cache association information and the capacity space, determine the maximum threshold value of the geofence that the first memory is allowed to store.

4. The method according to claim 3, characterized in that, The step of dividing the first distance set into a first geofence and a second geofence based on the maximum threshold value includes: Starting from the first element of the first distance set, elements with the maximum threshold value are selected sequentially to form a first distance subset, and a second distance subset is constructed based on the remaining elements in the first distance set; The geofence corresponding to each distance in the first distance subset is determined as the first geofence, and the geofence corresponding to each distance in the second distance subset is determined as the second geofence.

5. The method according to any one of claims 1-4, characterized in that, Storing the corresponding first geofence in the first memory of the terminal device includes: Confirm the current storage location of the first geofence; For the first geofence currently stored in the second memory, migrate the first geofence from the second memory to the first memory; For the first geofence currently stored in the first memory, continue storing in the first memory.

6. The method according to any one of claims 1-4, characterized in that, Storing the corresponding second geofence in the second memory of the terminal device includes: Confirm the current storage location of the second geofence; For the second geofence currently stored in the first memory, migrate the second geofence from the first memory to the second memory; For the second geofence currently stored in the second memory, continue storing within the second memory.

7. The method according to claim 4, characterized in that, The method further includes: Obtain the distance between the last geofence in the first memory and the real-time location, as the monitoring radius for fence exit; The monitoring radius is stored as the last element in the first memory, wherein the monitoring radius is used to monitor whether the geofence in the first memory needs to be exited.

8. The method according to claim 7, characterized in that, The method further includes: The location of the terminal device is refreshed to update the distance between the terminal device and each geofence in the first memory; Geofences whose updated distance is greater than the monitoring radius are identified as geofences that need to be removed; and / or, The geofences that need to be removed and their corresponding updated distances are reported.

9. The method according to any one of claims 1-3, characterized in that, The method further includes: In response to the first acquisition of multiple geofences of the target area, the multiple geofences are stored in the second memory.

10. A geofencing scheduling device, characterized in that, The device is installed in the terminal device, and the device includes: The acquisition module is used to acquire multiple geofences of the target area where the terminal device is located; and to acquire the real-time location of the terminal device. The storage module is configured to acquire the distance between the real-time location and each geofence, and sort the geofences in ascending order of their distances to obtain a first distance set; determine the maximum threshold value of the geofences that the first memory can store; divide the first distance set into a first geofence and a second geofence according to the maximum threshold value; store the first geofence in the first memory of the terminal device, and store the second geofence in the second memory of the terminal device; The response speed of the first memory is greater than that of the second memory, and the distance between the first geofence and the real-time location is less than the distance between the second geofence and the real-time location.

11. An electronic device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to execute the instructions to implement the method as described in any one of claims 1 to 9.

12. A non-transitory computer-readable storage medium, characterized in that, When the instructions in the storage medium are executed by the processor of the electronic device, the electronic device is able to perform the method as described in any one of claims 1 to 9.

13. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of any one of claims 1-9.

14. A chip, characterized in that, The device includes one or more interface circuits and one or more processors; the interface circuits are configured to receive signals from the memory of the electronic device and send the signals to the processors, the signals including computer instructions stored in the memory, which, when executed by the processors, cause the electronic device to perform the method of any one of claims 1 to 9.