Method and device for determining navigation time
The sampling navigation time set is constructed through local sampling and connectivity sampling, which solves the problem that traditional navigation distance and time are difficult to accurately reflect vehicle traffic overhead, reduces the number of map service calls, and improves the accuracy of navigation time and system performance.
Patent Information
- Application Number
- CN202110182189.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-02-09
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2041-02-09
AI Technical Summary
Traditional navigation distance and navigation time are difficult to accurately reflect vehicle traffic overhead, especially in complex urban road scenarios, and a large number of map service calls have caused excessive network and storage pressure.
The sampling navigation time set is constructed through local sampling and connectivity sampling, and the target navigation time is determined based on this to reduce the number of map service calls.
It effectively reduces the network overhead of determining navigation time, improves the accuracy of navigation time and system performance, and reduces the load on map services.
Smart Images

Figure CN112990813B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure generally relate to the field of computer technology, and more particularly, to a method, apparatus, device, storage medium, and program product for determining navigation time. Background Art
[0002] With the development of traffic technology, the straight-line distance between two locations can no longer accurately reflect the travel cost between the two locations. For example, although the straight-line distance between two locations is very close, the driving vehicle may need to take a long detour. This is particularly common in some complex urban road scenarios.
[0003] In addition, some traditional solutions use navigation distance to indicate the travel cost between two locations. Compared with straight-line distance, navigation distance can take into account the route that the vehicle needs to travel. However, in some scenarios, the same navigation distance may take a very different navigation time. For example, 3 kilometers on a busy road may take several times longer than 3 kilometers on a suburban road. Therefore, navigation distance is also difficult to effectively indicate travel costs.
[0004] In scenarios such as community group buying, in order to ensure the rationality of vehicle scheduling and route planning, the server often relies on such traffic overhead to arrange delivery vehicles and plan delivery routes. Some traditional solutions rely on map services to determine navigation time as the traffic overhead between locations. However, in the case of a large number of locations that need to be delivered, this may require a large number of accesses to the map service in a short period of time, which will cause huge network and storage pressure. Summary of the invention
[0005] According to some embodiments of the present disclosure, a solution for determining navigation time is provided.
[0006] In a first aspect of the present disclosure, a method for determining navigation time is provided. The method comprises: determining a set of sampled navigation times associated with a set of locations based on a map service, the set of sampled navigation times comprising navigation times associated with multiple pairs of sampled locations, the multiple pairs of sampled locations being determined based at least on local sampling and connectivity sampling for a set of locations, the local sampling being used to determine adjacent locations associated with locations in the set of locations to construct sampled location pairs, the connectivity sampling being used to construct multiple sampled location pairs that can connect a set of locations in series; and in response to determining that a target navigation time between a pair of target locations in the set of locations is not included in the set of sampled navigation times, determining the target navigation time based on multiple associated navigation times in the set of sampled navigation times.
[0007] In a second aspect of the present disclosure, a device for determining navigation time is provided. The device includes: a sampling module configured to determine a set of sampled navigation times associated with a set of locations based on a map service, the sampled navigation time set including navigation times associated with multiple pairs of sampled locations, the multiple pairs of sampled locations being determined based at least on local sampling and connectivity sampling for a set of locations, the local sampling being used to determine adjacent locations associated with a location in a set of locations to construct a pair of sampled locations, the connectivity sampling being used to construct multiple pairs of sampled locations that can connect a set of locations in series; and a calculation module configured to determine the target navigation time based on multiple associated navigation times in the sampled navigation time set in response to determining that the target navigation time between a pair of target locations in a set of locations is not included in the sampled navigation time set.
[0008] In a third aspect of the present disclosure, an electronic device is provided, comprising one or more processors and a memory, wherein the memory is used to store computer executable instructions, and the computer executable instructions are executed by the one or more processors to implement the method according to the first aspect of the present disclosure.
[0009] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein the computer-executable instructions implement the method according to the first aspect of the present disclosure when executed by a processor.
[0010] In a fifth aspect of the present disclosure, a computer program product is provided, comprising computer executable instructions, wherein the computer executable instructions implement the method according to the first aspect of the present disclosure when executed by a processor.
[0011] According to an embodiment of the present disclosure, the sampling navigation time is constructed through local sampling and connectivity sampling, and the navigation time between other locations is determined based on the sampling navigation time. The solution of the present disclosure can reduce the amount of calls to the map service.
[0012] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the present disclosure, nor is it intended to limit the scope of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:
[0014] Figure 1 A block diagram illustrating an example environment in which embodiments of the present disclosure can be implemented;
[0015] Figure 2 A flowchart showing a process of determining navigation time according to some embodiments of the present disclosure;
[0016] Figure 3A A schematic diagram of local sampling according to some embodiments of the present disclosure is shown;
[0017] Figure 3B shows a local fully connected graph determined by local sampling according to some embodiments of the present disclosure;
[0018] Figure 4A A schematic diagram of local sampling according to some other embodiments of the present disclosure is shown;
[0019] Figure 4B shows a local fully connected graph determined by local sampling according to other embodiments of the present disclosure;
[0020] Figure 5 A schematic diagram showing grouping and route planning according to an embodiment of the present disclosure is shown;
[0021] Figure 6 A block diagram showing an apparatus for determining navigation time according to some embodiments of the present disclosure; and
[0022] Figure 7 A block diagram of an electronic device is shown in which one or more embodiments of the present disclosure may be implemented. DETAILED DESCRIPTION
[0023] Some example embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.
[0024] As used herein, the term "including" and its variations mean open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "based at least in part on". The terms "an example embodiment" and "an embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0025] As discussed above, with the development of traffic technology, the straight-line distance between two locations can no longer accurately reflect the travel cost between the two locations. For example, although the straight-line distance between two locations is very close, the driving vehicle may need to detour a long distance. This is particularly common in some more complex urban road scenarios.
[0026] In addition, some traditional solutions use navigation distance to indicate the travel cost between two locations. Compared with straight-line distance, navigation distance can take into account the route that the vehicle needs to travel. However, in some scenarios, the same navigation distance may take a very different navigation time. For example, 3 kilometers on a busy road may take several times longer than 3 kilometers on a suburban road. Therefore, navigation distance is also difficult to effectively indicate travel costs.
[0027] In scenarios such as community group buying, in order to ensure the rationality of vehicle scheduling and route planning, the server often arranges delivery vehicles and plans delivery routes based on travel costs. Some traditional solutions rely on map services to determine navigation time as the travel cost between locations. However, in the case of a large number of locations that need to be delivered, this may require a large number of accesses to the map service in a short period of time, resulting in huge network and storage pressure.
[0028] For example, if there are 20,000 locations that need to be delivered on the same day, it is necessary to determine nearly 400 million navigation times. If this is done by calling the map service, it will bring a huge call burden to the map service in a short period of time, and it will also consume a large amount of network bandwidth.
[0029] In view of this, an embodiment of the present disclosure proposes a scheme for determining navigation time. In this scheme, first, a set of sampled navigation times associated with a group of locations is determined based on a map service, wherein the set of sampled navigation times includes navigation times associated with multiple pairs of sampled locations, and the multiple pairs of sampled locations are determined based on at least local sampling and connectivity sampling for a group of locations, the local sampling is used to determine adjacent locations associated with locations in a group of locations to construct sampled location pairs, and the connectivity sampling is used to construct multiple sampled location pairs that can connect a group of locations in series. Subsequently, in response to determining that the target navigation time between a pair of target locations in a group of locations is not included in the set of sampled navigation times, the target navigation time is determined based on multiple associated navigation times in the set of sampled navigation times.
[0030] According to such a scheme, the embodiment of the present disclosure constructs a smaller number of sampled navigation times through local sampling and connectivity sampling, and can thereby determine the navigation time between a pair of target locations. Based on such an approach, the amount of calls to the map service can be reduced, and the navigation time can be determined while reducing network overhead.
[0031] Some example embodiments of the present disclosure will be described below with continued reference to the accompanying drawings.
[0032] Example Environment
[0033] Figure 1 1 shows a block diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. Figure 1 As shown, the environment 100 includes a computing device 120 configured to obtain a set of locations 110. In some implementations, the computing device 120 can be any suitable type of electronic device. For example, the computing device 120 can be a server for planning a cargo delivery route.
[0034] In some implementations, a set of locations 110 may be indicated by coordinate values to correspond to locations in the real world. Exemplarily, location 110 may represent the location of the item to be delivered. For example, in a community group purchase scenario, location 110 may represent the location corresponding to the "group leader" of the group purchase, and the group purchase application needs to arrange transportation to deliver the corresponding goods to multiple "group leaders". As another example, in a scenario of express logistics, location 110 may also represent the location where express or logistics needs to be delivered.
[0035] In some implementations, for the purpose of scheduling transportation and planning routes, the computing device 120 needs to determine the navigation time between any two of a set of locations 110. However, as mentioned above, in actual scenarios, the number of locations 110 may be huge, which makes it difficult for the computing device 120 to determine the entire navigation time by calling the map service 130.
[0036] According to an embodiment of the present disclosure, the computing device 120 may utilize the map service 130 to construct the sampled navigation time set 140 based on sampling. Figure 1 As shown, the sampled navigation time set 140 may include a navigation time 145 between a pair of locations determined according to the sampling in the set of locations 110. It should be understood that such navigation time 145 may include a bidirectional navigation time between the two locations (i.e., both the navigation time from the first location to the second location and the navigation time from the second location to the first location). Alternatively, such navigation time 145 may also only include a unidirectional navigation time between the two locations.
[0037] In some implementations, the sampled navigation time set 140 can be represented by a data structure such as a directed graph. As will be described in detail below, the sampling used in the present disclosure can be based on local sampling and connectivity sampling, thereby ensuring that the directed graph constructed based on the sampling is globally connected and has sufficient local details. In addition, compared with the traditional method of determining all navigation times based on the map service 130 to construct a fully connected graph between all locations, the embodiments of the present disclosure can significantly reduce the amount of calls to the map service 130, thereby reducing network overhead.
[0038] like Figure 1 As shown, when, for example, the navigation time between location A and location B is not determined based on sampling, the computing device 120 may extrapolate the target navigation time 150 between location A and location B based on other associated navigation times 145. It should be understood that although Figure 1 , the target navigation time 150 is shown as including only a one-way navigation time, but the target navigation time 150 may also include a navigation time from position B to position A, for example.
[0039] The specific process of constructing the sampled navigation time set 140 based on the sampling and determining the target navigation time 150 based on the sampled navigation time set 140 will be described below in conjunction with Figure 2 Describe in detail.
[0040] Example Process
[0041] The following will be combined Figures 2 to 5 The process of determining the navigation time according to an embodiment of the present disclosure will be described in detail. Figure 2 FIG. 2 is a schematic diagram showing a process 200 for determining navigation time according to some embodiments of the present disclosure. Figure 1 The process of determining the navigation time is discussed below. Figure 1 The process 200 is executed at the computing device 120 shown. It should be understood that the process 200 may also include blocks not shown and / or may omit blocks shown. The scope of the present disclosure is not limited in this regard.
[0042] like Figure 2 As shown, in block 202, the computing device 120 determines a set of sampled navigation times 140 associated with a set of locations 110 based on the map service 130. The set of sampled navigation times 140 includes navigation times 145 associated with multiple pairs of sampled locations, and the multiple pairs of sampled locations are determined based on at least local sampling and connectivity sampling for a set of locations. Local sampling is used to determine adjacent locations associated with locations in the set of locations 110 to construct sampled location pairs, and connectivity sampling is used to construct multiple sampled location pairs in the set of locations 110 that can be connected in series.
[0043] In some implementations, local sampling may be performed based on a geographic grid. Figure 3A and Figure 3B To describe the process of local sampling based on a geographic grid. Figure 3A A schematic diagram 300A of local sampling according to some embodiments of the present disclosure is shown.
[0044] like Figure 3A As shown, for a target location 320 in the set of locations 110 , the computing device 120 may determine a target geographic grid 315 corresponding to the target location.
[0045] In some implementations, different coordinate regions may be divided into a plurality of geographic grids 310 of predetermined sizes. Such geographic grids 310 may have different shapes, typically square or regular hexagonal. Accordingly, for a target location 320, the computing device 120 may determine a corresponding target geographic grid based on its coordinates.
[0046] Additionally, computing device 120 may determine a neighboring location associated with the target location based on neighboring geographic grids that are neighboring target geographic grid 315 .
[0047] In some implementations, the computing device 120 may, for example, determine a geographic grid that is adjacent to the target geographic grid 315 as a neighboring geographic grid. Figure 3A As an example, computing device 120 may determine six geographic grids around target geographic grid 315 as adjacent geographic grids, and determine location 325 included in these adjacent geographic grids as an adjacent location associated with target location 320. In contrast, location 330 will not be determined as an adjacent location associated with target location 320.
[0048] In some implementations, in order to ensure the adequacy of local sampling, the computing device 120 may, for example, sequentially traverse multiple layers of the target geographic grid 315 to perform local sampling. Specifically, the computing device 120 may first obtain six adjacent geographic grids of the target geographic grid 315 and obtain the locations included therein as adjacent locations.
[0049] If the number of adjacent locations does not exceed the predetermined threshold, the computing device 120 may further obtain locations in 12 geographic grids outside the 6 geographic grids as adjacent locations.
[0050] In some implementations, in order to reduce the amount of calls to the map service 130 , the computing device 120 may iteratively perform such a traversal until the number of acquired neighboring locations reaches a predetermined threshold.
[0051] In some implementations, in order to prevent the acquired adjacent positions from being too far away from the target position 320, the computing device 120 may also limit the number of layers of the traversed geographic grids so that the grid distance between the acquired adjacent geographic grids and the target geographic grid is less than a predetermined distance threshold, wherein the grid distance may indicate the distance between the center points of the geographic grids. For example, the computing device 120 may terminate after traversing two layers of geographic grids, regardless of the number of acquired adjacent positions.
[0052] In some implementations, the computing device 120 may also consider the above two traversal termination conditions at the same time, and terminate the traversal process when one of the traversal termination conditions is satisfied.
[0053] In some implementations, computing device 120 may construct sampling position pairs based on target position 320 and determined adjacent positions 325. In some implementations, computing device 120 may, for example, construct at least one sampling position pair corresponding to each two positions of target position 320 and adjacent positions 325.
[0054] In some implementations, the computing device 120 may perform the above local sampling process based on the geographic grid for some or all of the locations in the set of locations 110. It should be understood that when the navigation time of two locations has been determined based on the previous sampling process, the navigation time of the two locations does not need to be repeated in the subsequent sampling process.
[0055] like Figure 3B As shown, the computing device 120 can construct a local fully connected graph 300B based on the target location 320 and the determined adjacent location 325. Each vertex in the fully connected graph 300B represents the target location 320 or the adjacent location 325, and each edge (one-way or two-way) represents the navigation time (one-way navigation time or two-way navigation time) between the two locations determined based on the map service 130.
[0056] In some implementations, local sampling may be performed based on distance. Figure 4A and Figure 4B To describe the process of local sampling based on distance. Figure 4A A schematic diagram 400A of local sampling according to some embodiments of the present disclosure is shown.
[0057] In some implementations, for a target location 410 in a set of locations 110 , computing device 120 may determine distances from other locations in the set of locations 110 to the target location 410 .
[0058] Additionally, the computing device 120 may determine a predetermined number of adjacent positions 420 from a group of positions based on the order of distances. For example, the computing device 120 may select, for example, 20 positions that are closest to the target position 410 as the adjacent positions 420 .
[0059] Alternatively, the computing device 120 may, for example, determine a location whose distance is less than a predetermined distance threshold as the adjacent location 420 .
[0060] In some implementations, computing device 120 may construct sampling position pairs based on target position 410 and determined adjacent positions 420. In some implementations, computing device 120 may, for example, construct at least one sampling position pair corresponding to each two positions of target position 410 and adjacent positions 420.
[0061] In some implementations, the computing device 120 may perform the above distance-based local sampling process on some or all of the locations in the set of locations 110. It should be understood that when the navigation time of two locations has been determined based on the previous sampling process, the navigation time of the two locations does not need to be repeated in the subsequent sampling process.
[0062] like Figure 4B As shown, the computing device 120 can construct a local fully connected graph 400B based on the target location 410 and the determined adjacent location 420. Each vertex in the fully connected graph 400B represents the target location 410 or the adjacent location 420, and each edge (one-way or two-way) represents the navigation time (one-way navigation time or two-way navigation time) between the two locations determined based on the map service 130.
[0063] In some implementations, when some locations are relatively isolated, local sampling based on the geographic grid may not be able to obtain enough sampling location pairs. The computing device 120 may also perform both local sampling based on the geographic grid and distance-based location sampling on some or all of the locations in a group of locations 110 to ensure local connectivity at a single location.
[0064] In some implementations, in order to ensure that the directed graph determined based on the sampled position pairs is globally connected and that a path between two positions can always be found in the directed graph, the computing device 120 also needs to perform connectivity sampling for a set of positions 110 .
[0065] In some implementations, the computing device 120 may perform connectivity sampling based on a random sequential selection of a set of positions 110. Specifically, the computing device 120 may select a first position from a set of positions 110, and iteratively perform the following process until all of the set of positions 110 are selected: select a second position from the remaining positions that are not selected in the set of positions; construct a sampling position pair based on the first position and the second position; and determine the second position as a new first position.
[0066] For example, when a group of positions includes 100 positions, the computing device 120 may first randomly select a position from the 100 positions as the starting position, and then select a subsequent position from the remaining 99 positions, and construct a sampling position pair based on the starting position and the subsequent position. Subsequently, the computing device 120 may continue to randomly select positions from the remaining 98 positions, and construct a sampling position pair with the previously selected position until all 100 positions are selected.
[0067] In some implementations, if the navigation time determined based on the pair of sampling positions is a two-way navigation time, the computing device 120 can ensure that the directed graph constructed based on the sequential selection is connected.
[0068] In some implementations, if the navigation time determined based on the sampling position pair is a one-way navigation time, the computing device 120 may also construct a sampling position pair based on the last selected position and the starting position, thereby constructing a one-way closed loop, and the constructed directed graph may also be connected.
[0069] In some implementations, the computing device 120 may, for example, perform multiple sequential selection-based connectivity samplings to enrich the global connectivity.
[0070] In some implementations, the computing device 120 may also perform random sampling for a set of positions to determine a sampling position pair, wherein the random sampling is used to randomly construct a sampling position pair based on a set of positions. Such random sampling is also referred to as Monte Carlo random sampling. Specifically, the computing device 120 may randomly select a pair of positions from a set of positions and determine the pair of positions as the sampling position pair. It should be understood that the computing device 120 may perform multiple random samplings to enhance the connectivity of the constructed directed graph.
[0071] It can be seen that based on the sampling process discussed above, the order of magnitude of the map service called in the embodiments of the present disclosure is O(N), where N represents the number of locations in a set of locations. This is different from the traditional O(N 2 ) call volume, it greatly reduces the call pressure and network overhead for map services.
[0072] Continue to refer Figure 2At block 204, computing device 120 determines whether sampled navigation time set 140 includes a target navigation time between a pair of target locations. If it is determined at block 204 that sampled navigation time set 140 does not include a target navigation time, process 200 proceeds to block 206. At block 206, computing device 120 determines a target navigation time based on multiple associated navigation times 145 in sampled navigation time set 140.
[0073] In some implementations, the computing device 120 may determine multiple associated navigation times associated with a pair of target locations from the sampled navigation time set based on a shortest path algorithm. As discussed above, the computing device 120 may construct a directed graph based on the sampled navigation time set 140. Accordingly, the computing device 120 may utilize any appropriate shortest path algorithm to determine the shortest path between a pair of target locations in the directed graph, and obtain multiple associated navigation times indicated by multiple edges included in the shortest path.
[0074] Additionally, the computing device 120 may determine the target navigation time based on the determined multiple associated navigation times. For example, when the target navigation time from location A to location B is not included in the sampled navigation time set 140, the computing device 120 may determine that the shortest path from location A to location B is "location A>location C>location B", and the navigation time from location A to location C is 1 minute and 30 seconds, and the navigation time from location C to location B is 30 seconds, then the computing device 120 may determine the target navigation time from location A to location B as the sum of the two navigation times from location A to location C and from location C to location B.
[0075] Based on this approach, the embodiments of the present disclosure can construct a sampled navigation time set through local sampling and connectivity sampling, and determine the navigation time between other locations based on the sampled navigation time set, which can reduce the number of calls to the map service.
[0076] In some implementations, the computing device 120 may also determine a predicted navigation time set based on the sampled navigation time set 140, wherein the predicted navigation time set includes the navigation time between each two locations in a set of locations. Specifically, the computing device 120 may, for example, complete the non-fully connected graph constructed based on the sampled navigation time set 140 into a fully connected graph, that is, each vertex in the graph is connected by an edge.
[0077] In some implementations, computing device 120 may divide a set of locations 110 into a plurality of subgroups based on a set of predicted navigation times. Figure 1 As discussed, the set of locations 110 may include multiple locations where goods are to be delivered, and the computing device 120 may be required to arrange multiple vehicles for delivering goods to the set of locations 110 .
[0078] In some implementations, the computing device 120 needs to determine the navigation time between each two locations in the set of locations 110, and group the set of locations 110 based on the navigation time. In some implementations, the computing device 120 can group the set of locations 110 by clustering based on the navigation time, so that the navigation time between the multiple locations grouped into one group does not exceed a predetermined threshold, thereby avoiding the transportation vehicle for delivering goods taking too long.
[0079] It should be understood that the computing device 120 can also perform grouping based on other factors, such as the number of delivered goods, the volume of goods, the weight of goods, and the navigation distance, etc. That is, the present disclosure intends to use navigation time as a factor for grouping a group of locations 110, and other grouping factors are also optional.
[0080] In some implementations, in order to improve the accuracy of grouping, the received set of locations 110 may also include, for example, historical locations where goods have been delivered within a predetermined period of time in the past.
[0081] Based on this approach, the grouping performed by the computing device 120 may also take into account historical delivery situations, such as whether the same driver has delivered to the scheduled location, whether the scheduled location has been delivered to at the same time in history, and so on.
[0082] Figure 5 Schematic diagram 500 of grouping and route planning according to an embodiment of the present disclosure is shown. Figure 5 As shown, computing device 120 may divide a set of locations 110 into two sub-groups 510 and 520 .
[0083] Additionally, the computing device 120 may also assign the same transportation to multiple locations in the group of locations 110 that belong to the same subgroup. Figure 5 As shown, locations in subgroup 510 will be delivered by vehicle 514 , and locations in subgroup 520 will be delivered by vehicle 524 .
[0084] In some implementations, the computing device 120 may also determine a planned route for guiding the vehicle to travel through multiple locations based on the predicted navigation time set. Exemplarily, taking the subgroup 510 as an example, the computing device 120 may determine the planned route 512 based on the navigation time between the locations indicated by the predicted navigation time set, for example, so as to minimize the navigation time of the obtained planned route 512. Similarly, the computing device 120 may also determine a planned route 522 for the subgroup 520.
[0085] It should be understood that the total navigation time of the candidate planned routes can be a factor for determining the final planned route, and other factors (for example, driving distance, etc.) can also be comprehensively considered. The present disclosure can also combine other appropriate factors to comprehensively determine the final planned route.
[0086] Based on this approach, the embodiments of the present disclosure can utilize the sampled navigation time set determined by local sampling and connectivity sampling to effectively group locations and plan routes. Compared with traditional solutions, this can save a huge amount of network bandwidth and storage.
[0087] Example devices and equipment
[0088] Figure 6 A schematic structural block diagram of an apparatus 600 for determining navigation time according to some embodiments of the present disclosure is shown. The apparatus 600 may be implemented as or included in a computing device 120 or other device that implements the process for determining navigation time of the present disclosure.
[0089] like Figure 6 As shown, the device 600 includes: a sampling module 610, which is configured to determine a set of sampled navigation times associated with a group of locations based on a map service, the sampled navigation time set includes navigation times associated with multiple pairs of sampled locations, the multiple pairs of sampled locations are determined based on at least local sampling and connectivity sampling for a group of locations, the local sampling is used to determine adjacent locations associated with a location in a group of locations to construct a pair of sampled locations, and the connectivity sampling is used to construct multiple pairs of sampled locations that can be connected in series. The device 600 also includes a calculation module 620, which is configured to determine the target navigation time based on multiple associated navigation times in the sampled navigation time set in response to determining that the target navigation time between a pair of target locations in a group of locations is not included in the sampled navigation time set.
[0090] In some implementations, the plurality of pairs of sampling positions are further determined based on random sampling for a set of positions, where the random sampling is used to randomly construct pairs of sampling positions based on the set of positions.
[0091] In some implementations, the device 600 also includes a first local sampling module configured to perform local sampling based on the following process: for a target location in a set of locations, determining a target geographic grid corresponding to the target location; based on a neighboring geographic grid adjacent to the target geographic grid, determining a neighboring location associated with the target location; and constructing a sampling location pair based on the target location and the neighboring location.
[0092] In some implementations, the number of neighboring locations is less than a threshold number.
[0093] In some implementations, a grid distance between the neighboring geographic grid and the target geographic grid is less than a distance threshold, and the grid distance indicates a distance between center points of the geographic grids.
[0094] In some implementations, the geographic grid is a square or a regular hexagon.
[0095] In some implementations, the device 600 also includes a second local sampling module configured to perform local sampling based on the following process: for a target position in a group of positions, determining the distances between other positions in a group of positions and the target position; determining a predetermined number of adjacent positions from a group of positions based on the sorting of the distances; and constructing a sampling position pair based on the target position and the adjacent positions.
[0096] In some implementations, constructing sampling position pairs based on the target position and the adjacent positions includes: constructing at least one sampling position pair corresponding to every two positions of the target position and the adjacent positions.
[0097] In some implementations, the device 600 also includes a connectivity sampling module configured to perform connectivity sampling based on the following process: selecting a first position from a set of positions; and iteratively performing the following process until a set of positions are all selected: selecting a second position from the remaining positions that have not been selected in the set of positions; constructing a sampling position pair based on the first position and the second position; and determining the second position as a new first position.
[0098] In some implementations, connectivity sampling is performed at least twice.
[0099] In some implementations, the apparatus 600 includes: a path determination module configured to determine, based on a shortest path algorithm, a plurality of associated navigation times associated with a pair of target locations from a set of sampled navigation times.
[0100] In some implementations, the device 600 also includes: a prediction module configured to determine a predicted navigation time set based on the sampled navigation time set, the predicted navigation time set including the navigation time between every two locations in a group of locations; and a grouping module configured to divide a group of locations into multiple subgroups based on the predicted navigation time set.
[0101] In some implementations, the apparatus 600 further includes: an assignment module configured to assign the same transportation to multiple locations belonging to the same subgroup in a group of locations.
[0102] In some implementations, the apparatus 600 further includes: a planning module configured to determine a planned route for guiding the vehicle to travel through a plurality of locations based on the predicted navigation time set.
[0103] In some implementations, a set of locations includes multiple locations where goods are to be delivered.
[0104] In some implementations, the set of locations also includes historical locations where shipments were delivered within a past predetermined period of time.
[0105] Figure 7 A block diagram of an electronic device 700 is shown in which one or more embodiments of the present disclosure may be implemented. It should be understood that Figure 7 The electronic device 700 shown is merely exemplary and should not constitute any limitation on the functionality and scope of the embodiments described herein. Figure 7 The electronic device 700 shown may be included in or implemented as Figure 1 The computing device 120 or other device implementing the present disclosure for determining navigation time.
[0106] like Figure 7 As shown, the electronic device 700 is in the form of a general-purpose computing device. The electronic device 700 may also be any type of computing device or server. The components of the electronic device 700 may include, but are not limited to, one or more processors or processing units 710, a memory 720, a storage device 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760. The processing unit 710 may be an actual or virtual processor and is capable of performing various processes according to a program stored in the memory 720. In a multi-processor system, multiple processing units execute computer executable instructions in parallel to improve the parallel processing capability of the electronic device 700.
[0107] The electronic device 700 typically includes a plurality of computer storage media. Such media may be any available media accessible to the electronic device 700, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 720 may be a volatile memory (e.g., a register, a cache, a random access memory (RAM)), a non-volatile memory (e.g., a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 730 may be a removable or non-removable medium, and may include a machine-readable medium, such as a flash drive, a disk, or any other medium, which may be capable of being used to store information and / or data (e.g., map data) and may be accessed within the electronic device 700.
[0108] The electronic device 700 may further include additional removable / non-removable, volatile / non-volatile storage media. Figure 7As shown in , a disk drive for reading or writing from a removable, non-volatile disk (e.g., a "floppy disk") and an optical drive for reading or writing from a removable, non-volatile optical disk may be provided. In these cases, each drive may be connected to the bus (not shown) by one or more data media interfaces. The memory 720 may include a computer program product 725 having one or more program modules that are configured to perform various methods or actions of various embodiments of the present disclosure.
[0109] The communication unit 740 implements communication with other computing devices through a communication medium. Additionally, the functions of the components of the electronic device 700 can be implemented with a single computing cluster or multiple computing machines that can communicate through a communication connection. Therefore, the electronic device 700 can operate in a networked environment using a logical connection with one or more other servers, a network personal computer (PC), or another network node.
[0110] The input device 750 may be one or more input devices, such as a mouse, a keyboard, a tracking ball, etc. The output device 760 may be one or more output devices, such as a display, a speaker, a printer, etc. The electronic device 700 may also communicate with one or more external devices (not shown) through the communication unit 740 as needed, such as a storage device, a display device, etc., communicate with one or more devices that allow a user to interact with the electronic device 700, or communicate with any device that allows the electronic device 700 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.). Such communication may be performed via an input / output (I / O) interface (not shown).
[0111] According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions or programs are stored, wherein the computer-executable instructions or programs are executed by a processor to implement the method or function described above. The computer-readable storage medium may include a non-transient computer-readable medium. According to an exemplary implementation of the present disclosure, a computer program product is also provided, including computer-executable instructions or programs, and the computer-executable instructions or programs are executed by a processor to implement the method or function described above. The computer program product may be tangibly embodied on a non-transient computer-readable medium.
[0112] Various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, devices, equipment, and computer program products implemented according to the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of boxes in the flowchart and / or block diagram can be implemented by computer executable instructions or programs.
[0113] These computer executable instructions or programs can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer executable instructions or programs can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0114] Computer-executable instructions or programs can be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable data processing apparatus, or other device implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0115] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple implementations of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of a module, program segment or instruction includes one or more executable instructions for realizing the logical function of the specification. In some implementations as replacements, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.
[0116] The above descriptions of various implementations of the present disclosure are exemplary, non-exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The selection of terms used herein is intended to best explain the principles of the implementations, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the various implementations disclosed herein.
[0117] Example Implementation
[0118] TS1. A method for determining navigation time, comprising:
[0119] Determining a set of sampled navigation times associated with a set of locations based on a map service, the set of sampled navigation times comprising navigation times associated with a plurality of pairs of sampled locations, the plurality of pairs of sampled locations being determined based on at least local sampling and connectivity sampling for the set of locations, the local sampling being used to determine adjacent locations associated with locations in the set of locations to construct pairs of sampled locations, the connectivity sampling being used to construct a plurality of pairs of sampled locations that can connect the set of locations in series; and
[0120] In response to determining that a target navigation time between a pair of target locations in the set of locations is not included in the set of sampled navigation times, the target navigation time is determined based on a plurality of associated navigation times in the set of sampled navigation times.
[0121] TS2. The method according to TS1, wherein the plurality of pairs of sampling positions are also determined based on random sampling for the set of positions, wherein the random sampling is used to randomly construct pairs of sampling positions based on the set of positions.
[0122] TS 3. The method according to TS1, further comprising performing the local sampling based on the following process:
[0123] For a target position in the set of positions,
[0124] determining a target geographic grid corresponding to the target location;
[0125] Determining the adjacent location associated with the target location based on an adjacent geographic grid adjacent to the target geographic grid; and
[0126] A sampling position pair is constructed based on the target position and the adjacent position.
[0127] TS 4. The method according to TS 3, wherein the number of adjacent positions is less than a number threshold.
[0128] TS 5. The method according to TS 3, wherein a grid distance between the neighboring geographic grid and the target geographic grid is less than a distance threshold, the grid distance indicating a distance between center points of the geographic grids.
[0129] TS 6. The method according to TS 3, wherein the geographic grid is a square or a regular hexagon.
[0130] TS 7. The method according to TS1, further comprising performing the local sampling based on the following process:
[0131] For a target position in the set of positions,
[0132] determining distances between other locations in the set of locations and the target location;
[0133] determining a predetermined number of the neighboring locations from the set of locations based on the ranking of the distances; and
[0134] A sampling position pair is constructed based on the target position and the adjacent position.
[0135] TS 8. The method according to TS 3 or 7, wherein constructing a sampling position pair based on the target position and the adjacent position comprises:
[0136] At least one pair of the sampling positions corresponding to every two positions of the target position and the adjacent positions is constructed.
[0137] TS 9. The method according to TS1, further comprising performing the connectivity sampling based on the following process:
[0138] selecting a first position from the set of positions; and
[0139] The following process is iteratively performed until the set of positions are all selected:
[0140] selecting a second position from the remaining positions in the set of positions that have not been selected;
[0141] constructing a sampling position pair based on the first position and the second position; and
[0142] The second position is determined as a new first position.
[0143] TS10. The method according to TS 9, wherein the connectivity sampling is performed at least twice.
[0144] TS11. The method according to TS1, further comprising:
[0145] The plurality of associated navigation times associated with the pair of target locations are determined from the sampled navigation time set based on a shortest path algorithm.
[0146] TS12. The method according to TS1, further comprising:
[0147] determining a predicted navigation time set based on the sampled navigation time set, the predicted navigation time set comprising navigation times between every two positions in the set of positions; and
[0148] The set of locations is divided into a plurality of sub-groups based on the set of predicted navigation times.
[0149] TS13. The method according to TS12, further comprising:
[0150] The same means of transportation is assigned to a plurality of locations in the group of locations that belong to the same subgroup.
[0151] TS14. The method according to TS13, further comprising:
[0152] Based on the set of predicted navigation times, a planned route is determined for guiding the vehicle through the plurality of locations.
[0153] TS15. The method of TS1, wherein the set of locations includes a plurality of locations where goods are to be delivered.
[0154] TS16. The method according to TS15, wherein the set of locations also includes historical locations where goods have been delivered within a predetermined period of time in the past.
[0155] TS17. An apparatus for determining navigation time, comprising:
[0156] a sampling module configured to determine a set of sampled navigation times associated with a group of locations based on a map service, the sampled navigation time set comprising navigation times associated with a plurality of pairs of sampled locations, the plurality of pairs of sampled locations being determined based at least on local sampling and connectivity sampling for the group of locations, the local sampling being used to determine adjacent locations associated with locations in the group of locations to construct pairs of sampled locations, the connectivity sampling being used to construct a plurality of pairs of sampled locations capable of connecting a group of locations in series; and
[0157] A calculation module is configured to determine the target navigation time based on a plurality of associated navigation times in the sampled navigation time set in response to determining that the target navigation time between a pair of target locations in the set of locations is not included in the sampled navigation time set.
[0158] TS18. An electronic device comprising:
[0159] Memory and processor;
[0160] The memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method according to any one of TS1 to 16.
[0161] TS19. A computer-readable storage medium having one or more computer instructions stored thereon, wherein the one or more computer instructions are executed by a processor to implement a method according to any one of TS1 to 16.
[0162] TS20. A computer program product comprising computer executable instructions, wherein the computer executable instructions implement the method according to any one of TS1 to 16 when executed by a processor.
Claims
1. A method for determining navigation time, comprising: Determine a set of sampled navigation times associated with a set of locations based on a map service, the sampled navigation time set comprising navigation times associated with a plurality of pairs of sampled locations, the navigation times comprising bidirectional navigation times or unidirectional navigation times between two locations, the plurality of pairs of sampled locations being determined based at least on local sampling and connectivity sampling for the set of locations, the local sampling being used to determine adjacent locations associated with locations in the set of locations to construct sampled location pairs, the connectivity sampling being used to construct a plurality of sampled location pairs capable of connecting the set of locations in series, the local sampling being performed for a portion or all of the locations in the set of locations, and when the navigation time between two locations in the set of locations has been determined by the local sampling, a subsequent sampling process no longer determines the navigation time of the two locations; as well as In response to determining that a target navigation time between a pair of target locations in the set of locations is not included in the set of sampled navigation times, the target navigation time is determined based on a plurality of associated navigation times in the set of sampled navigation times. 2 . The method according to claim 1 , wherein the plurality of pairs of sampling positions are further determined based on random sampling for the set of positions, the random sampling being used to randomly construct pairs of sampling positions based on the set of positions.
3. The method according to claim 1, further comprising performing the local sampling based on the following process: For a target position in the set of positions, determining a target geographic grid corresponding to the target location; Determining the adjacent location associated with the target location based on an adjacent geographic grid adjacent to the target geographic grid; as well as A sampling position pair is constructed based on the target position and the adjacent position. The method according to claim 3 , wherein the number of the adjacent positions is less than a number threshold.
5. The method according to claim 4, determining the adjacent position further comprises: Traversing multiple layers of the target geographic grid layer by layer, and taking positions corresponding to the traversed grids as the adjacent positions; as well as In response to the number of the adjacent positions reaching the number threshold, the traversal is stopped. 6 . The method according to claim 3 , wherein a grid distance between the adjacent geographic grid and the target geographic grid is less than a distance threshold, and the grid distance indicates a distance between center points of the geographic grids. The method according to claim 3 , wherein the geographic grid is a square or a regular hexagon.
8. The method of claim 1 , further comprising performing the local sampling based on the following process: For a target position in the set of positions, determining distances between other locations in the set of locations and the target location; determining a predetermined number of the neighboring locations from the set of locations based on the ranking of the distances; and A sampling position pair is constructed based on the target position and the adjacent position.
9. The method according to claim 3 or 8, wherein constructing a sampling position pair based on the target position and the adjacent position comprises: At least one pair of the sampling positions corresponding to every two positions of the target position and the adjacent positions is constructed.
10. The method of claim 1, further comprising performing the connectivity sampling based on the following process: selecting a first position from the set of positions; and The following process is iteratively performed until the set of positions are all selected: selecting a second position from the remaining positions in the set of positions that have not been selected; constructing a sampling position pair based on the first position and the second position; and The second position is determined as a new first position. The method of claim 10 , wherein the connectivity sampling is performed at least twice.
12. The method according to claim 1, further comprising: The plurality of associated navigation times associated with the pair of target locations are determined from the sampled navigation time set based on a shortest path algorithm.
13. The method according to claim 1, further comprising: Determining a predicted navigation time set based on the sampled navigation time set, the predicted navigation time set comprising navigation times between every two positions in the set of positions; as well as The set of locations is divided into a plurality of sub-groups based on the set of predicted navigation times.
14. The method according to claim 13, further comprising: The same means of transportation is assigned to a plurality of locations in the group of locations that belong to the same subgroup.
15. The method according to claim 14, further comprising: Based on the set of predicted navigation times, a planned route is determined for guiding the vehicle through the plurality of locations.
16. The method of claim 1, wherein the set of locations includes a plurality of locations where goods are to be delivered.
17. The method of claim 16, wherein the set of locations further comprises historical locations where goods have been delivered within a predetermined period of time in the past.
18. An apparatus for determining navigation time, comprising: A sampling module, configured to determine a set of sampled navigation times associated with a group of locations based on a map service, the sampled navigation time set comprising navigation times associated with a plurality of pairs of sampled locations, the navigation times comprising bidirectional navigation times or unidirectional navigation times between two locations, the plurality of pairs of sampled locations being determined based at least on local sampling and connectivity sampling for the group of locations, the local sampling being used to determine adjacent locations associated with locations in the group of locations to construct sampled location pairs, the connectivity sampling being used to construct a plurality of sampled location pairs capable of connecting the group of locations in series, the local sampling being performed for a portion or all of the locations in the group of locations, and when the navigation time between two locations in the group of locations has been determined by the local sampling, a subsequent sampling process no longer determines the navigation time of the two locations; as well as A calculation module is configured to determine the target navigation time based on a plurality of associated navigation times in the sampled navigation time set in response to determining that the target navigation time between a pair of target locations in the set of locations is not included in the sampled navigation time set.
19. An electronic device comprising: Memory and processor; The memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method according to any one of claims 1 to 17.
20. A computer-readable storage medium having one or more computer instructions stored thereon, wherein the one or more computer instructions are executed by a processor to implement the method according to any one of claims 1 to 17.
21. A computer program product comprising computer executable instructions, wherein the computer executable instructions, when executed by a processor, implement the method according to any one of claims 1 to 17.
