Geo-fence scheduling device and method

By using different response speeds to store geofences in terminal devices, the storage and computing overload problems during processing of multiple geofences is solved, efficient scheduling and real-time location perception of geofences are achieved, and user experience is improved.

CN119996929AActive Publication Date: 2025-05-13BEIJING X RING TECHNOLOGY CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202411857423.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-16
Publication Date
2025-05-13
Estimated Expiration
2044-12-16

AI Technical Summary

Technical Problem

When handling multiple geofences, the location update frequency is too high, resulting in overloading of storage and computing operations, limiting the mobile terminal's perception of geofences and being unable to receive relevant notifications in a timely manner.

Method used

By acquiring the real-time location of the terminal device and the multiple geofences of the target area, the corresponding geofences are stored respectively in the first memory and the second memory with different response speeds according to the difference in the distance between the geofence and the real-time location. The first memory is used to store geofences with a relatively close distance, and the second memory is used to store geofences with a relatively far distance.

Benefits of technology

Efficient scheduling of multiple geofences in the target area is achieved, map information around real-time locations is obtained using the fast-responsive first memory, and map information is cached using the slower but large-capacity second memory to cache remote map information, and cache maps are updated according to location changes, improving geofence perception and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119996929A_ABST
    Figure CN119996929A_ABST
Patent Text Reader

Abstract

The invention provides a geo-fence scheduling device and method. The method comprises the steps that multiple geo-fences of a target area where terminal equipment is located and the real-time position of the terminal equipment are acquired; and respectively storing the corresponding geo-fences to a first memory and a second memory of the terminal equipment. The method comprises the following steps: acquiring a plurality of geo-fences of a target area where a terminal device is located and a real-time position of the terminal device, and respectively storing corresponding geo-fences in a first memory and a second memory with different response speeds according to the difference of distances between the geo-fences and the real-time position, so as to schedule the plurality of geo-fences of the target area. A user can timely acquire map information around a real-time position by using the first memory with a relatively high response speed; the second memory with a slow response speed is utilized to cache the 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 method has wide applicability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of electronic information technology, and in particular to a geographic fence scheduling device and method. Background Art

[0002] Geo-fencing is a typical application of Location Based Services (LBS). It is an artificial 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 the information with predefined geo-fences and issues notifications. 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 convenience of providing a clear and complete description of the technical solutions of the present application and for the convenience of understanding by those skilled in the art. It cannot be considered that the above technical solutions are well known to those skilled in the art simply because they are described in the background technology section of the present application. Summary of the invention

[0004] Embodiments of the present application provide a geo-fence scheduling device and method.

[0005] The first embodiment of the present application proposes a geo-fence scheduling method, including:

[0006] Acquire multiple geographic fences of a target area where a terminal device is located and a real-time location of the terminal device;

[0007] Storing the corresponding geo-fence in a first memory and a second memory of the terminal device respectively;

[0008] Among them, the response speed of the first memory is greater than the response speed of the second memory, and the distance between the first geofence stored in the first memory and the real-time position is smaller than the distance between the second geofence stored in the second memory and the real-time position.

[0009] The second embodiment of the present application provides a geo-fence scheduling device, including:

[0010] An acquisition module, the acquisition module is used to acquire multiple geographic fences of a target area where a terminal device is located and a real-time location of the terminal device;

[0011] A storage module, the storage module is used to store the corresponding geographic fence in the first memory and the second memory of the terminal device respectively;

[0012] Among them, the response speed of the first memory is greater than the response speed of the second memory, and the distance between the first geofence stored in the first memory and the real-time position is smaller than the distance between the second geofence stored in the second memory and the real-time position.

[0013] The third aspect embodiment of the present application proposes an electronic device, comprising: a processor; a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement the geo-fence scheduling method proposed in the first aspect embodiment of the present application.

[0014] The fourth aspect embodiment of the present application proposes a non-temporary computer-readable storage medium. When the instructions in the storage medium are executed by the processor of an electronic device, the electronic device can execute the method proposed in the first aspect embodiment of the present application.

[0015] The fifth aspect embodiment of the present application proposes a computer program product, including a computer program, which implements the method proposed in the first aspect embodiment of the present application when executed by a processor in a communication device.

[0016] The sixth aspect embodiment of the present application proposes a chip, including one or more interface circuits and one or more processors; the interface circuit is used to receive a signal from a memory of an electronic device and send the signal to the processor, the signal includes computer instructions stored in the memory, when the processor executes the computer instructions, the electronic device implements the geo-fence scheduling method proposed in the first aspect embodiment of the present application.

[0017] The technical solution provided by the embodiments of the present application brings at least the following beneficial effects:

[0018] By acquiring multiple geographic fences in the target area where the terminal device is located and the real-time location of the terminal device, corresponding geographic fences are stored in a first memory and a second memory with different response speeds according to the difference in distance between the geographic fences and the real-time location, thereby scheduling multiple geographic fences in the target area. By using the first memory with a faster response speed, the user can obtain map information around the real-time location in a timely manner; by using the second memory with a slower response speed, map information at a relatively long distance is cached, and the cached map is updated according to changes in the real-time location. The system has wide applicability.

[0019] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0021] Figure 1 A schematic diagram of a flow chart of a geo-fence scheduling method provided in an embodiment of the present application;

[0022] Figure 2 A flowchart of another geo-fence scheduling method provided in an embodiment of the present application;

[0023] Figure 3 A schematic diagram of the architecture of a terminal device provided in an embodiment of the present application;

[0024] Figure 4 A flowchart of another geo-fence scheduling method provided in an embodiment of the present application;

[0025] Figure 5 A schematic diagram of the structure of a geo-fence scheduling device provided in an embodiment of the present application;

[0026] Figure 6 A schematic diagram of the structure of an electronic device provided according to an embodiment of the present application;

[0027] Figure 7 A schematic diagram of the structure of another electronic device provided according to an embodiment of the present application;

[0028] Figure 8 The figure is a schematic diagram of the structure of a chip provided according to an embodiment of the present application. DETAILED DESCRIPTION

[0029] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers 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 the embodiments of the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the embodiments of the present application as detailed in the appended claims.

[0030] The terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to limit the embodiments of the present application. The singular forms of "a" and "the" used in the embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more 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 the present application, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the embodiments of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the words "if" and "if" as used herein may be interpreted as "at..." or "when..." or "in response to determination".

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

[0033] It should be noted that the geo-fence scheduling method provided in any embodiment of the present application can be executed alone, or in combination with possible implementation methods in other embodiments, or in combination with any technical solution in the related technology.

[0034] Geofencing is a virtual fence or perimeter established around a physical location in the real world, i.e., a virtual geographic area. When a terminal device (such as a mobile phone, tablet, vehicle, etc.) enters, leaves, or moves in the virtual geographic area, it can receive automatic notifications and warnings. The terminal device will determine the state of the geofence based on the relative position between the real-time location and the geofence, including: the real-time location is inside the geofence, the real-time location is outside the geofence, entering the geofence, exiting the geofence, etc. And based on the geofence request of the application processor in the terminal device, relevant events and status are reported through inter-core communication. If the concurrency of location information requests is too large, it will greatly limit the storage and computing operations of the geofence, resulting in a decrease in the mobile terminal's ability to perceive the geofence, and thus the inability to receive notifications related to the geofence service.

[0035] The following describes the geo-fence scheduling method and device of the embodiments of the present application with reference to the accompanying drawings.

[0036] A geo-fence scheduling method provided in an embodiment of the present application includes:

[0037] S00, obtaining multiple geographic fences of the target area where the terminal device is located and the real-time location of the terminal device.

[0038] In a feasible implementation, after the terminal device reaches the target area, multiple geo-fences of the target area can be obtained. Optionally, the latitude and longitude information of the target area can be obtained, and multiple geo-fences can be determined based on the latitude and longitude information of the target area.

[0039] In a feasible implementation manner, the longitude and latitude of the target area may be acquired by using the positioning function of the terminal device to determine the longitude and latitude of the target area where the terminal device is located.

[0040] In some implementations, a third-party positioning service may also be used to view the real-time location of the target area through an application interface to obtain the latitude and longitude location.

[0041] In a feasible implementation, the map open platform may also be used to obtain the longitude and latitude positions according to the name of the target area.

[0042] S02, storing the corresponding geo-fence in a first memory and a second memory of the terminal device respectively. It should be noted that the response speed of the first memory is greater than the response speed of the second memory, and the distance between the first geo-fence stored in the first memory and the real-time position is less than the distance between the second geo-fence stored in the second memory and the real-time position.

[0043] In a feasible implementation, the terminal device may further include a first memory and a second memory. Optionally, the capacity of the second memory is greater than that of the first memory, and the response speed of the second memory is less than that of the first memory, or in other words, the response time of the first memory is less than that of the second memory. Therefore, when acquiring multiple geo-fences of the target area for the first time, the multiple geo-fences may be stored in the second memory.

[0044] It should be noted that the response speed of the memory affects the speed of reading and writing data. The faster the response speed, the higher the data access efficiency. For the first memory with a relatively fast response speed, multiple transistors are usually required in the device structure to maintain the stability of the data, so its integration is relatively low, resulting in its relatively limited storage capacity. For the second memory with a relatively slow response speed, its storage unit is usually composed of a transistor and a capacitor. The capacitor is used to store charge to represent the binary state of the data (0 or 1). Since the capacitor will gradually discharge over time, the second memory needs to be refreshed regularly to maintain data stability. Due to the structure of a single transistor and a single capacitor, the second memory has a simple structure and a high integration, so it can provide a larger storage capacity. Therefore, the number of geofences stored in the first memory is less than the number of geofences stored in the second memory.

[0045] Furthermore, the first memory has a smaller storage capacity and a stable storage unit structure, while the second memory has a larger storage capacity and a storage unit structure that needs to be refreshed regularly. These characteristics make the first memory more suitable for use in situations such as caches that require fast access and stable storage, while the second memory is more suitable for use in situations that require large-capacity storage. For geofences that are close to the real-time location, the terminal device will increase the location update frequency to determine whether the real-time location is within the geofence, or whether it is outside the geofence, or whether it enters the geofence, or whether it exits the geofence, etc., so the memory is required to have the ability to quickly access and stably store. For geofences that are far away from the real-time location, the terminal device has a lower frequency of location updates, so the memory is required to provide a larger storage capacity. Therefore, the distance between the first geofence stored in the first memory and the real-time location is smaller than the distance between the second geofence stored in the second memory and the real-time location.

[0046] To summarize, the geo-fence scheduling method provided in the embodiment of the present application obtains multiple geo-fences of the target area where the terminal device is located and the real-time location of the terminal device, and stores the corresponding geo-fences in a first memory and a second memory with different response speeds according to the difference in distance between the geo-fences and the real-time location, thereby scheduling multiple geo-fences of the target area. By using the first memory with a faster response speed, the user can obtain map information around the real-time location in a timely manner; by using the second memory with a slower response speed, the map information at a relatively long distance is cached, and the cached map is updated according to the change in the real-time location. The method has wide applicability.

[0047] The geo-fence scheduling method in the disclosed embodiment may be referred to as a geo-fence management method.

[0048] Figure 1 A flow chart of a geo-fence scheduling method provided in an embodiment of the present application. It should be noted that the geo-fence scheduling method of this embodiment can be applied to a geo-fence scheduling device. In a feasible implementation, the device can be configured in an electronic device or a chip so that the electronic device or the chip can perform geo-fence scheduling. The electronic device can be a terminal device, and the terminal device can be a mobile phone, a wearable device, a vehicle-mounted terminal, etc. In a feasible implementation, the device can also be software in an electronic device, etc. In other possible embodiments, the device can be a controller, a microcontroller, etc.

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

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

[0051] In the embodiments of the present application, a terminal device is taken as an example to explain the method provided in the embodiments of the present application.

[0052] In a feasible implementation, after the terminal device reaches the target area, multiple geo-fences of the target area can be obtained. Optionally, the latitude and longitude information of the target area can be obtained, and multiple geo-fences can be determined based on the latitude and longitude information of the target area.

[0053] In a feasible implementation manner, the longitude and latitude of the target area may be acquired by using the positioning function of the terminal device to determine the longitude and latitude of the target area where the terminal device is located.

[0054] In some implementations, a third-party positioning service may also be used to view the real-time location of the target area through an application interface to obtain the latitude and longitude location.

[0055] In a feasible implementation, the map open platform may also be used to obtain the longitude and latitude positions according to the name of the target area.

[0056] In a feasible implementation, the real-time location of the terminal device can be obtained through a positioning source (the positioning source can be integrated in the terminal device), and the 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 setting form of the positioning source should be selected according to the accuracy requirements of the real-time location, and will not be repeated here.

[0057] S102, scheduling multiple geographic fences based on the real-time location; and storing the corresponding geographic fences in the first memory and the second memory of the terminal device respectively.

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

[0059] In a feasible implementation, the real-time location can be obtained through the positioning function of the terminal device (such as through the positioning source). The real-time location is compared with the range of each geo-fence to determine whether the terminal device enters or leaves a certain geo-fence area. According to the real-time location of the terminal device and the triggering conditions of each geo-fence, the corresponding geo-fence is dynamically scheduled.

[0060] In a feasible implementation, the terminal device may further include a first memory and a second memory. Optionally, the capacity of the second memory is greater than that of the first memory, and the response speed of the second memory is less than that of the first memory, or in other words, the response time of the first memory is less than that of the second memory. Therefore, when acquiring multiple geo-fences of the target area for the first time, the multiple geo-fences may be stored in the second memory.

[0061] It should be noted that the response speed of the memory affects the speed of reading and writing data. The faster the response speed, the higher the data access efficiency. For the first memory with a relatively fast response speed, multiple transistors are usually required in the device structure to maintain the stability of the data, so its integration is relatively low, resulting in its relatively limited storage capacity. For the second memory with a relatively slow response speed, its storage unit is usually composed of a transistor and a capacitor. The capacitor is used to store charge to represent the binary state of the data (0 or 1). Since the capacitor will gradually discharge over time, the second memory needs to be refreshed regularly to maintain data stability. Due to the structure of a single transistor and a single capacitor, the second memory has a simple structure and a high integration, so it can provide a larger storage capacity. Therefore, the number of geofences stored in the first memory is less than the number of geofences stored in the second memory.

[0062] Furthermore, the first memory has a smaller storage capacity and a stable storage unit structure, while the second memory has a larger storage capacity and a storage unit structure that needs to be refreshed regularly. These characteristics make the first memory more suitable for use in situations such as caches that require fast access and stable storage, while the second memory is more suitable for use in situations that require large-capacity storage. For geofences that are close to the real-time location, the terminal device will increase the location update frequency to determine whether the real-time location is within the geofence, or whether it is outside the geofence, or whether it enters the geofence, or whether it exits the geofence, etc., so the memory is required to have the ability to quickly access and stably store. For geofences that are far away from the real-time location, the terminal device has a lower frequency of location updates, so the memory is required to provide a larger storage capacity. Therefore, the distance between the first geofence stored in the first memory and the real-time location is smaller than the distance between the second geofence stored in the second memory and the real-time location.

[0063] As an example, the number of geo-fences stored in the first memory is 7, and these 7 geo-fences are represented as A1, A2, A3, A4, A5, A6, and A7; the number of geo-fences stored in the second memory is 49, and these 49 geo-fences are represented as B1, B2, ..., and B49. When the real-time location of the terminal device changes, the first distance between A1 and the real-time location is represented as O A1; The second distances of B1 and B2 from the real-time position are represented by O B1 and O B2 , if O A1 >O B2 >O B1 , then A1 is migrated from the first memory to the second memory, and B1 is migrated from the second memory to the first memory.

[0064] To summarize, the geo-fence scheduling method provided in the embodiment of the present application obtains multiple geo-fences of the target area where the terminal device is located and the real-time location of the terminal device, and stores the corresponding geo-fences in a first memory and a second memory with different response speeds according to the difference in distance between the geo-fences and the real-time location, thereby scheduling multiple geo-fences of the target area. By using the first memory with a faster response speed, the user can obtain map information around the real-time location in a timely manner; by using the second memory with a slower response speed, the map information at a relatively long distance is cached, and the cached map is updated according to the change in the real-time location. The method has wide applicability.

[0065] Figure 2 A flowchart of another geo-fence scheduling method provided by an embodiment of the present application. Figure 2 As shown, the geo-fence scheduling method includes but is not limited to the following steps:

[0066] S201, obtaining the latitude and longitude positions of the target area for creating a geo-fence.

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

[0068] S202, obtaining a geographic fence corresponding to the longitude and latitude position according to an event associated with the longitude and latitude position.

[0069] In a feasible implementation, events associated with longitude and latitude positions are identified, and the priority corresponding to the events is determined. Since the longitude and latitude positions for creating geographic fences may include specific cities, regions, buildings, etc. For buildings, they also include commercial buildings, residential buildings, scenic area buildings, industrial buildings, etc., and the impact of events can be analyzed based on the attributes of the surrounding environment of the buildings. The event includes the activities of personnel, the surrounding traffic conditions, and other content, and then the degree of influence between the terminal device and the event is determined. For example, if the event shows a large flow of people and surrounding traffic congestion, this will reduce the positioning accuracy of the terminal device and the positioning accuracy. A warning identifier is set for the event and a lower priority is configured; if the event shows a small flow of people, a mild identifier is set for the event and a higher priority is configured.

[0070] After determining the priority corresponding to the event, the fence drawing information corresponding to the longitude and latitude position is determined according to the priority corresponding to the event. The fence drawing information includes the shape, size, and other contents of the fence. For example, to monitor events with warning identifiers, you can select a rectangular or polygonal geofence, and its priority is relatively low, so the area of ​​the geofence is small; to monitor events with mild identifiers, you can select a circular geofence, and its priority is relatively high, so the area of ​​the geofence is relatively large. As an example, the shape (such as circle, polygon, etc.) and size (such as radius, side length, etc.) of each geofence are determined according to the longitude and latitude positions; then, according to the shape and size of the geofence, the boundary of the geofence is calculated. Then, the information of each geofence (including fence identifier, name, shape, size, boundary, trigger condition, etc.) is organized into a data format to form fence drawing information.

[0071] After the fence drawing information is determined, a geo-fence corresponding to the longitude and latitude position is generated according to the fence drawing information. It should be noted that the geo-fence information can be represented by a data structure, for example, by a list, an array, or a record in a database, ensuring that the data structure can store the identifier, name, longitude and latitude position of the center (or longitude and latitude position of the vertex), radius (or side length) and other attributes of the geo-fence.

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

[0073] S203, scheduling multiple geographic fences according to the acquired real-time location of the terminal device, and storing the corresponding geographic fences in the first memory and the second memory of the terminal device respectively.

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

[0075] In a feasible implementation, the distance between the real-time location and each geo-fence is first obtained, and the distance between the real-time location and each geo-fence is sorted from small to large to obtain a first distance set. If it is the first time to obtain multiple geo-fences of the target area, the multiple geo-fences are stored in the second memory.

[0076] Then, according to the first distance set, multiple geofences are scheduled to determine the first geofence corresponding to the first memory and the second geofence corresponding to the second memory. First, confirm the memory where the first geofence is currently located. If the first geofence is 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 second memory; and continue to store the first geofence currently stored in the first memory in the first memory. Next, confirm the memory where the second geofence is currently located. If the second geofence is 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 first memory; and continue to store the second geofence currently stored in the second memory in the second memory.

[0077] If the real-time location of the terminal device changes, the distance between the real-time location and each geofence is updated. Before the update is implemented, the distance between the last geofence in the first memory and the real-time location is obtained as the supervision radius of the fence exit; and the supervision radius is stored in the first memory as the last element, wherein the supervision radius is used to monitor whether the geofence in the first memory needs to be exited. Further, when the update operation is implemented, the terminal device refreshes the location to update the distance between the terminal device and each geofence in the first memory, and the geofence whose updated distance is greater than the supervision radius is determined as the geofence that needs to be exited. It should be noted that the exited geofence is moved out of the first memory; then the geofence whose updated distance is less than the supervision radius is selected from the second memory, and according to the maximum threshold value, a suitable object is selected from the selected geofences, and the object is stored in the first memory, wherein the exited geofence is stored in the second memory.

[0078] After obtaining the geo-fence that needs to be exited, determine whether to report the geo-fence that needs to be exited and the updated distance corresponding to the geo-fence according to actual needs.

[0079] In another feasible implementation, the maximum threshold value of the geofence that the first memory is allowed to store 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 geofence that the first memory is allowed to store is determined. It should be noted that when calculating the capacity space required for the geofence, a compression algorithm, such as Huffman coding, run length coding, etc., can also be combined to maximize the compression of the geofence capacity to increase the maximum threshold value of the geofence that the first memory is allowed to store. The compression algorithm should make a trade-off between stability and reliability, which will not be repeated 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 distance between the real-time location and each geofence is obtained, and the distance between the real-time location and each geofence is sorted from small to large to obtain a first distance set. Then, starting from the first element of the first distance set, the elements with the maximum threshold value are selected in order to form a first distance subset, and a second distance subset is constructed based on the remaining elements in the first distance set. Next, the geofence corresponding to each distance in the first distance subset is determined to be the first geofence, and the geofence corresponding to each distance in the second distance subset is determined to be the second geofence, and the first geofence is stored in the first memory and the second geofence is stored in the second memory.

[0081] If the real-time location of the terminal device changes, the distance between the real-time location and each geo-fence is updated, and the geo-fence in the first memory is monitored to see whether it needs to be exited according to the supervision radius of the fence exit. If there is a geo-fence that needs to be exited in the first memory, a candidate geo-fence that meets the first memory is selected from the second memory, and the candidate geo-fence is stored in the first memory, wherein the exited geo-fence is stored in the second memory. Then, after obtaining the geo-fence that needs to be exited, it is determined whether to report the geo-fence that needs to be exited and the updated distance corresponding to the geo-fence according to actual needs.

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

[0083] To summarize, the geo-fence scheduling method provided in the embodiment of the present application obtains multiple geo-fences of the target area where the terminal device is located and the real-time location of the terminal device, and stores the corresponding geo-fences in a first memory and a second memory with different response speeds according to the difference in distance between the geo-fences and the real-time location, thereby scheduling multiple geo-fences of the target area. By using the first memory with a faster response speed, the user can obtain map information around the real-time location in a timely manner; by using the second memory with a slower response speed, the map information at a relatively long distance is cached, and the cached map is updated according to the change in the real-time location. The method has wide applicability.

[0084] Figure 3 This is a schematic diagram of the architecture of a terminal device provided in an embodiment of the present application. Figure 3As shown, the terminal device includes an application processor, a microcontroller, a positioning source, a first memory and a second memory, wherein the application processor, the microcontroller and the positioning source are connected to each other and perform data exchange through inter-core communication. The first memory and the second memory are both connected to the microcontroller. As an example, the first memory may be an internal cache and the second memory may be an external cache. Optionally, the first memory may be a static random access memory (SRAM); the second memory may be a dynamic random access memory (DRAM).

[0085] The following can be combined Figure 3 The architecture of the terminal device shown explains another geo-fence scheduling method provided in an embodiment of the present application. Figure 4 A flowchart of another geo-fence scheduling method provided by an embodiment of the present application. Figure 4 As shown, the geo-fence scheduling method is based on Figure 3 The terminal device shown is implemented, and the geo-fence scheduling method includes but is not limited to the following steps:

[0086] S401, determining a maximum threshold value of a geo-fence that is allowed to be stored in the first memory.

[0087] S402, determining multiple geographic fences of the target area where the terminal device is located, and sending the multiple geographic fences to the microcontroller.

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

[0089] S403, in response to first acquiring multiple geo-fences of the target area, storing the multiple geo-fences in a second memory.

[0090] S404, start positioning.

[0091] S405, refreshing the location of the terminal device.

[0092] S406, obtaining the distance between the real-time position and each geo-fence, and sorting the distance between the real-time position and each geo-fence from small to large.

[0093] It should be noted that, through the microprocessor, the distance between the real-time location of the terminal device and each geofence is obtained, and the geofence with relatively shorter distance is migrated from the middle of the second memory to the first memory, and the geofence with relatively longer distance continues to be stored in the second memory, wherein the maximum threshold value of the geofence allowed to 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, sequentially select elements with the maximum threshold value to form a first distance subset, and construct a second distance subset based on the remaining elements in the first distance set.

[0095] S408: Determine a geo-fence corresponding to each distance in the first distance subset as a first geo-fence, and determine a geo-fence corresponding to each distance in the second distance subset as a second geo-fence.

[0096] S409: Schedule multiple geo-fences according to the first distance set, and determine a first geo-fence corresponding to the first memory and a second geo-fence corresponding to the second memory.

[0097] S410, continuously refreshing the location of the terminal device.

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

[0099] S412, obtain the geo-fence status. If the geo-fence status changes, execute step S413; if the geo-fence status does not change, execute 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 geo-fence is updated, wherein the distance between the real-time location and the geo-fences in the first memory is represented as the first distance (the number of the first distances is equal to the number of geo-fences in the first memory); the distance between the real-time location and the geo-fences in the second memory is represented as the second distance (the number of the second distances is equal to the number of geo-fences in the second memory). Multiple geo-fences are scheduled by comparing each first distance and each second distance and based on the maximum threshold value.

[0101] S413, processing the geo-fence event and providing status reminder.

[0102] S414, identifying whether the geo-fence in the first memory needs to be exited, if the geo-fence needs to be exited, executing step S306; if the geo-fence does not need to be exited, executing step S410.

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

[0104] To summarize, the geo-fence scheduling method provided in the embodiment of the present application obtains multiple geo-fences of the target area where the terminal device is located and the real-time location of the terminal device, and stores the corresponding geo-fences in a first memory and a second memory with different response speeds according to the difference in distance between the geo-fences and the real-time location, thereby scheduling multiple geo-fences of the target area. By using the first memory with a faster response speed, the user can obtain map information around the real-time location in a timely manner; by using the second memory with a slower response speed, the map information at a relatively long distance is cached, and the cached map is updated according to the change in the real-time location. The method has wide applicability.

[0105] Figure 5 This is a schematic diagram of the structure of a geographic fence scheduling device provided in an embodiment of the present application. Figure 5 As shown, the geo-fence scheduling device includes:

[0106] An acquisition module 501, which is used to acquire multiple geographic fences in a target area where a terminal device is located and a real-time location of the terminal device;

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

[0108] Among them, the response speed of the first memory is greater than the response speed of the second memory, and the distance between the first geographic fence stored in the first memory and the real-time position is smaller than the distance between the second geographic fence stored in the second memory and the real-time position.

[0109] Figure 6 The present invention is a schematic diagram of the structure of an electronic device provided according to an embodiment of the present application. Figure 6 The electronic device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present 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 a memory 606 to a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the electronic device 600 are also stored. The processor 601, the ROM 602, and the RAM 603 are connected to each other 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 the I / O interface 605: a memory 606 including a hard disk, etc.; and a communication part 607 including a network interface card such as a LAN (Local Area Network) card, a modem, etc., and the communication part 607 performs communication processing via a network such as the Internet; a drive 608 is also connected to the I / O interface 605 as needed.

[0112] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 607. When the computer program is executed by the processor 601, the above-mentioned functions defined in the method of the present application are executed.

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

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

[0115] Figure 7 The figure is a schematic diagram of the structure of another electronic device provided according to an embodiment of the present application. Figure 7 The electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present 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 codes, and the processor 701 is connected to the memory 702 to read the program codes from the memory 702 to implement the geo-fence scheduling method in the above embodiment.

[0116] Optionally, the number of processors 701 may be one or more.

[0117] Optionally, the electronic device may further include an interface 703, and the number of the interface 703 may be multiple. The interface 703 may be connected to an application program and may receive data from an external device such as a sensor.

[0118] The present application also proposes a chip, which can be found in Figure 8 Schematic diagram of the chip structure shown. Figure 8 The chip shown includes a processor 801 and an interface circuit 802. The number of the processor 801 can be one or more, and the number of the interface circuit 802 can be one or more.

[0119] Optionally, the chip also includes a memory 803, which is used to store necessary computer programs and data; the interface circuit 802 is used to receive signals from the memory 803 and send signals to the processor 801, and the signals include computer instructions stored in the memory 803. When the processor 801 executes the computer instructions, the electronic device executes the geo-fence scheduling method described in the above embodiments of the present disclosure.

[0120] Those skilled in the art will readily appreciate other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses or adaptations of the present invention that follow the general principles of the present invention and include common knowledge or customary techniques in the art that are not disclosed in this application. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the following claims.

[0121] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims

1. A geographic fence scheduling method, characterized in that: The method comprises: Acquire multiple geographic fences of a target area where a terminal device is located and a real-time location of the terminal device; Storing the corresponding geographic fence in a first memory and a second memory of the terminal device respectively; Among them, the response speed of the first memory is greater than the response speed of the second memory, and the distance between the first geofence stored in the first memory and the real-time position is smaller than the distance between the second geofence stored in the second memory and the real-time position.

2. The method according to claim 1, characterized in that The step of obtaining multiple geographic fences of the target area where the terminal device is located includes: Obtaining the latitude and longitude of the target area for creating a geo-fence; Identifying an event associated with the latitude and longitude position, determining a priority corresponding to the event, and determining fence drawing information corresponding to the latitude and longitude position according to the priority corresponding to the event; A geographic fence corresponding to the latitude and longitude position is generated according to the fence drawing information.

3. The method according to claim 1, characterized in that The method also includes scheduling the plurality of geo-fences based on the real-time location.

4. The method according to claim 3, characterized in that The scheduling of the plurality of geo-fences based on the real-time location includes: Obtaining the distance between the real-time location and each geo-fence, and sorting the distance between the real-time location and each geo-fence from small to large to obtain a first distance set; The plurality of geo-fences are scheduled according to the first distance set to determine a first geo-fence corresponding to the first memory and a second geo-fence corresponding to the second memory.

5. The method according to claim 3, characterized in that: The scheduling of the plurality of geo-fences based on the real-time location includes: Determine a maximum threshold value of the geo-fence that the first memory is allowed to store; The plurality of geo-fences are scheduled based on the real-time location and the maximum threshold value.

6. The method according to claim 5, characterized in that The determining a maximum threshold value of the geo-fence allowed to be stored in the first memory includes: Obtain cache association information of the first memory and a capacity space required for a single geo-fence; A maximum threshold value of the geo-fences allowed to be stored in the first memory is determined according to the cache association information and the capacity space.

7. The method according to claim 5 or 6, characterized in that: The scheduling of the plurality of geo-fences based on the real-time location and the maximum threshold value includes: Obtaining the distance between the real-time position and each geo-fence, and sorting the distance between the real-time position and each geo-fence from small to large to obtain a first distance set; Starting from the first element of the first distance set, sequentially select elements with the maximum threshold value to form a first distance subset, and construct a second distance subset based on the remaining elements in the first distance set; The geo-fence corresponding to each distance in the first distance subset is determined to be the first geo-fence, and the geo-fence corresponding to each distance in the second distance subset is determined to be the second geo-fence.

8. The method according to any one of claims 1 to 7, characterized in that Storing the corresponding first geo-fence in the first memory includes: confirming a memory where the first geo-fence is currently located; For a first geo-fence currently stored in the second memory, migrate the first geo-fence from the second memory to the first memory; For the first geo-fence currently stored in the first memory, continue to store it in the first memory.

9. The method according to any one of claims 1 to 7, characterized in that: Storing the corresponding second geo-fence in the second memory includes: confirming a memory where the second geo-fence is currently located; For a second geo-fence currently stored in the first memory, migrate the second geo-fence from the first memory to the second memory; For the second geo-fence currently stored in the second memory, continue to store it in the second memory.

10. The method according to claim 7, characterized in that The method further comprises: Acquire the distance between the last geo-fence in the first memory and the real-time position as the supervision radius of fence exit; The supervision radius is stored as the last element in the first memory, wherein the supervision radius is used to monitor whether the geo-fence in the first memory needs to be exited.

11. The method according to claim 10, characterized in that The method further comprises: Refreshing the location of the terminal device to update the distance between the terminal device and each geo-fence in the first memory; Determine the geo-fence whose updated distance is greater than the supervision radius as the geo-fence that needs to be exited; and / or, The geographic fence that needs to be exited and the updated distance corresponding to the geographic fence are reported.

12. The method according to any one of claims 1 to 6, characterized in that The method further comprises: In response to acquiring a plurality of geo-fences of the target area for the first time, the plurality of geo-fences are stored in the second memory.

13. A geographic fence scheduling device, characterized in that: The device comprises: An acquisition module, the acquisition module is used to acquire multiple geographic fences of a target area where a terminal device is located and a real-time location of the terminal device; A storage module, the storage module is used to store the corresponding geographic fence in the first memory and the second memory of the terminal device respectively; Among them, the response speed of the first memory is greater than the response speed of the second memory, and the distance between the first geofence stored in the first memory and the real-time position is smaller than the distance between the second geofence stored in the second memory and the real-time position.

14. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the method according to any one of claims 1 to 11.

15. A non-transitory computer-readable storage medium, characterized in that: When the instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the method as claimed in any one of claims 1 to 11.

16. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 11 when being executed by a processor.

17. A chip, characterized in that: It comprises one or more interface circuits and one or more processors; the interface circuit is used to receive a signal from a memory of an electronic device and send the signal to the processor, the signal includes a computer instruction stored in the memory, and when the processor executes the computer instruction, the electronic device executes the method described in any one of claims 1 to 11.

Citation Information

Patent Citations

  • Methods and systems for retrieving and caching geofence data

    CN104350769A

  • Two-level main memory hierarchy management

    CN115129240A

  • Selectable caching policy

    CN117280329A

  • Apparatus and method for implementing a multi-level memory hierarchy having different operating modes

    US20130268728A1

  • Cache management based on physical memory device characteristics

    US20140115226A1