Method, apparatus, device and storage medium for vehicle dispatching

CN122511071APending Publication Date: 2026-08-04BEIJING DIDI INFINITY TECH & DEV CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING DIDI INFINITY TECH & DEV CO LTD
Filing Date
2025-01-26
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

然而,随着共享车辆的不断增加,车辆乱停乱放和供需不平衡的问题也日益凸显

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122511071A_ABST
    Figure CN122511071A_ABST
Patent Text Reader

Abstract

Embodiments of this disclosure relate to methods, apparatus, devices, and storage media for vehicle dispatching. The proposed method includes: acquiring parking area data, wherein the parking area data indicates a plurality of parking areas and the location of each parking area in the plurality of parking areas on a map, and wherein the map is divided into a plurality of reference areas; determining, based on the parking area data, a first spacing between every two parking areas within the same reference area in the plurality of parking areas; assigning parking areas in the plurality of parking areas whose first spacing satisfies the first predetermined condition to the same vehicle dispatching group; and determining vehicle dispatching for the vehicle dispatching group based on the total number of available vehicles in the parking areas assigned to the vehicle dispatching group.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The exemplary embodiments disclosed herein generally relate to the field of shared vehicle technology, and more specifically, to a method, apparatus, device, and storage medium for vehicle dispatching. Background Technology

[0002] As a new option for urban transportation, shared vehicles have been welcomed by a large number of users for their convenience and flexibility. However, with the continuous increase in the number of shared vehicles, problems such as haphazard parking and supply-demand imbalance have become increasingly prominent. To solve these problems, shared vehicle management companies need to establish effective vehicle dispatching schemes to ensure the orderly distribution and reasonable supply of shared vehicles in the city. Summary of the Invention

[0003] In a first aspect of this disclosure, a vehicle dispatching method is provided. The method includes: acquiring parking area data, wherein the parking area data indicates a plurality of parking areas and the location of each parking area in the plurality of parking areas on a map, and wherein the map is divided into a plurality of reference areas; determining, based on the parking area data, a first spacing between every two parking areas located within the same reference area in the plurality of reference areas; assigning parking areas in the plurality of parking areas whose first spacing satisfies the first predetermined condition to the same vehicle dispatching group; and determining vehicle dispatching for the vehicle dispatching group based on the total number of available vehicles in the parking areas assigned to the vehicle dispatching group.

[0004] In a second aspect of this disclosure, an apparatus for vehicle dispatching is provided. The apparatus includes: a parking area data acquisition module configured to acquire parking area data, wherein the parking area data indicates a plurality of parking areas and the location of each parking area in the plurality of parking areas on a map, and wherein the map is divided into a plurality of reference areas; a spacing determination module configured to determine, based on the parking area data, a first spacing between every two parking areas located within the same reference area in the plurality of reference areas; a partitioning module configured to partition parking areas in the plurality of parking areas where the first spacing satisfies a first predetermined condition into the same vehicle dispatching group; and a vehicle dispatching module configured to determine vehicle dispatching for the vehicle dispatching group based on the total number of available vehicles in the parking areas partitioned into the vehicle dispatching group.

[0005] In a third aspect of this disclosure, an electronic device is provided. The device includes at least one processor; and at least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor. When executed by the at least one processor, the instructions cause the device to perform the method of the first aspect.

[0006] In a fourth aspect of this disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores computer-executable instructions that can be executed by a processor to implement the method of the first aspect.

[0007] In a fifth aspect of this disclosure, a computer program product is provided. The computer program product includes computer-executable instructions that, when executed by a processor, implement the method according to a first aspect of this disclosure.

[0008] It should be understood that the content described in this content section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0009] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0010] Figure 1 A schematic diagram of an example environment according to some embodiments of the present disclosure is shown;

[0011] Figure 2 A flowchart illustrating an example process of a method for vehicle dispatching according to some embodiments of the present disclosure is shown;

[0012] Figure 3 A schematic diagram illustrating an example of dividing vehicle dispatch groups according to some embodiments of the present disclosure is shown;

[0013] Figure 4 A schematic structural block diagram of an apparatus for vehicle dispatching according to some embodiments of the present disclosure is shown; and

[0014] Figure 5 A block diagram of an electronic device in which one or more embodiments of the present disclosure may be implemented is shown. Detailed Implementation

[0015] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0016] It should be noted that the headings of any section / subsection provided herein are not limiting. Various embodiments are described throughout this document, and embodiments of any type may be included under any section / subsection. Furthermore, embodiments described in any section / subsection may be combined in any way with any other embodiments described in the same section / subsection and / or different sections / subsections.

[0017] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may also be included below. The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0018] The embodiments of this disclosure may involve user data, data acquisition, and / or use. All of these aspects comply with applicable laws, regulations, and relevant provisions. In the embodiments of this disclosure, all data collection, acquisition, processing, manipulation, forwarding, and use are conducted with the user's knowledge and confirmation. Accordingly, in implementing the embodiments of this disclosure, the type, scope of use, and usage scenarios of any data or information that may be involved should be communicated to the user and their authorization obtained in accordance with relevant laws and regulations through appropriate means. The specific methods of notification and / or authorization may vary depending on the actual situation and application scenario, and the scope of this disclosure is not limited in this respect.

[0019] In this specification and the embodiments, any processing of personal information will be carried out only under the premise of legality (such as obtaining the consent of the personal information subject, or being necessary for the performance of a contract), and will only be carried out within the scope stipulated or agreed upon. A user's refusal to process personal information other than that necessary for basic functions will not affect the user's use of basic functions.

[0020] As briefly described above, current vehicle management systems can ensure a reasonable supply of shared vehicles in the city through vehicle dispatching schemes. One such scheme uses parking areas (also known as geofences) as the smallest unit for dispatching shared vehicles. However, when two or more parking areas are too close together, it can lead to a waste of dispatching resources.

[0021] For example, suppose parking area A and parking area B are two adjacent parking areas. Parking area A has 20 shared vehicles, while parking area B has 0. In this case, the vehicle dispatch system will determine that parking area B has insufficient available vehicles. The system will then issue a vehicle dispatch instruction to the dispatcher to replenish the shared vehicles in parking area B. However, since there are still 20 shared vehicles available for users in parking area A, the aforementioned vehicle dispatch instruction is actually unnecessary and could easily lead to a waste of vehicle dispatch resources.

[0022] In view of this, embodiments of the present disclosure provide a scheme for vehicle dispatching. According to this scheme, firstly, parking area data is acquired, wherein the parking area data indicates multiple parking areas and the location of each parking area in the multiple parking areas on a map, and wherein the map is divided into multiple reference areas. Then, based on the parking area data, a first spacing between every two parking areas located within the same reference area in the multiple parking areas is determined. Subsequently, parking areas in the multiple parking areas whose first spacing satisfies a first predetermined condition are assigned to the same vehicle dispatching group. Next, based on the total number of available vehicles in the parking areas assigned to the vehicle dispatching group, vehicle dispatching for the vehicle dispatching group is determined.

[0023] As will be more clearly understood from the following description, the scheme of this disclosure divides parking areas that are close to each other into the same vehicle dispatch group. In this way, the scheme of this disclosure can use multiple nearby parking areas as the smallest dispatch unit for vehicles. When there are insufficient available vehicles in a certain parking area, if there are still sufficient available vehicles in other parking areas within the same vehicle dispatch group, the scheme of this disclosure can consider not performing vehicle dispatch, thereby reducing unnecessary vehicle dispatch and optimizing the utilization of dispatch resources. Furthermore, to further improve computational efficiency, the scheme of this disclosure also adopts a map partitioning strategy. Specifically, the scheme of this disclosure divides the entire map into multiple reference areas, and when calculating the parking area spacing (i.e., the first spacing), only parking areas located within the same reference area are calculated. This local calculation method greatly reduces the amount of data required for a single spacing calculation, avoids large-scale calculations across the entire map, thereby improving computational efficiency and shortening processing time.

[0024] The following will further describe in detail various example implementations of this scheme with reference to the accompanying drawings.

[0025] Figure 1 A schematic diagram of an example environment 100 according to some embodiments of the present disclosure is shown. (Refer to...) Figure 1Example environment 100 may include electronic device 110, dispatcher 120, parking area data 130, and multiple vehicles 140-1, 140-2, ..., 140-N, where N is a positive integer. For clarity, the multiple vehicles 140-1, 140-2, ..., 140-N are also referred to individually or collectively as vehicle 140 in the following text.

[0026] As an example, vehicle 140 can be an electric bicycle or a bicycle. A bicycle can refer to a cyclist, while an electric bicycle can refer to an electric scooter. The electric bicycle adopts a hybrid operation mode combining human power and electricity. In embodiments of this disclosure, bicycles and electric bicycles can be referred to individually or collectively as "vehicles". In addition to such vehicles, embodiments of this disclosure can also be applied to other types of vehicles, including tricycles, four-wheeled vehicles, etc.

[0027] As an example, parking area data 130 can indicate various parking areas within a specific region for parking vehicles 140. These parking areas can be virtual zones designated for vehicle 140 parking through methods such as signal coverage. User 150 must park vehicle 120 within a designated parking area to complete their current trip. Such parking areas can also be referred to as geofences. Parking area data 130 can reflect real-time information such as the number, status, and location of vehicles within the parking area, thereby providing data support for vehicle deployment, scheduling, and maintenance. Such parking area data 130 can, for example, be a geofence data table.

[0028] As an example, dispatcher 120 can refer to the dispatcher of vehicle 140. Dispatcher 120 includes, but is not limited to, ground-based vehicle dispatching entities (such as shared bicycle dispatchers) or aircraft. Electronic device 110 can send vehicle dispatching instructions to dispatcher 120 when there are insufficient available vehicles in the parking area. After receiving the vehicle dispatching instructions from electronic device 110, dispatcher 120 can take appropriate actions according to the requirements of the vehicle dispatching instructions to dispatch vehicle 140 among multiple parking areas. For example, dispatcher 120 can manually move vehicle 140 or use automated equipment (such as automated guided vehicles) to move vehicle 140.

[0029] In Example 100, the electronic device 110 can be any type of mobile or portable terminal. As examples, mobile or portable terminals include laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio receivers, e-book devices, gaming devices, or any combination thereof, including accessories and peripherals of these devices or any combination thereof. In some embodiments, the terminal device 120 may also support any type of user-facing interface (such as "wearable" circuitry).

[0030] In Example 100, the electronic device 110 can also be any type of server. In some embodiments, the electronic device 110 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks, and big data and artificial intelligence platforms. The electronic device 110 may include, for example, a computing system / server, such as a mainframe, edge computing node, computing device in a cloud environment, etc.

[0031] It should be understood that the structure and function of the various elements in environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of this disclosure.

[0032] Figure 2 A flowchart of an example process 200 for a vehicle dispatching method according to some embodiments of the present disclosure is shown. Figure 3 A schematic diagram of an example 300 of dividing vehicle dispatch groups according to some embodiments of the present disclosure is shown. It should be noted that... Figure 3 The diagram shows multiple parking areas 301-1, 301-2, ..., 301-10 located on both sides of road 303, as well as multiple vehicle dispatch groups 302-1, 302-2, ..., 302-6. For clarity, the multiple parking areas 301-1, 301-2, ..., 301-10 are referred to individually or collectively as parking area 301 in the following text, and the multiple vehicle dispatch groups 302-1, 302-2, ..., 302-6 are referred to individually or collectively as vehicle dispatch group 302 in the following text.

[0033] The following is combined Figure 1 and Figure 3 Process 200 will be described. Process 200 can be implemented at electronic device 110.

[0034] Reference Figure 2 In box 210, electronic device 110 acquires parking area data 130. The parking area data 130 indicates a plurality of parking areas 301 and the location of each of the plurality of parking areas 301 in a map, wherein the map is divided into a plurality of reference areas.

[0035] As an example, parking area data 130 can indicate all parking areas 301 in a specific region and information associated with each parking area 301. As an example, the specific region can refer to a city, etc. The information associated with each parking area 301 includes, but is not limited to, the location, identifier, name, and number of the parking area 301. As an example, the location of each parking area 301 can be represented by geographic coordinates (such as latitude and longitude) to facilitate accurate location of each parking area 301 on a map. In embodiments of this disclosure, each parking area 301 is also referred to as an electronic fence, and parking area data 130 includes, but is not limited to, electronic fence data tables, etc.

[0036] Maps can be divided into multiple reference areas based on any suitable method. Reference areas are typically larger than parking areas. In some embodiments, maps can be divided into multiple reference areas based on a geohash algorithm. Geohash is a geocoding method that treats the Earth as a two-dimensional plane and recursively divides the plane into smaller sub-blocks. Each sub-block has the same code (hereinafter also referred to as location code) within a certain latitude and longitude range. This encoding method essentially converts two-dimensional latitude and longitude data into one-dimensional strings, facilitating storage, retrieval, and transmission.

[0037] Based on a geohashing algorithm, electronic device 110 can divide a map into multiple reference areas of fixed or variable size, and each reference area can be represented by a corresponding location code. The length of this location code is directly related to the accuracy of the geographic location. Specifically, the longer the location code, the smaller the geographic location range it represents, and the higher the accuracy. Conversely, the shorter the location code, the larger the geographic location range it represents, and the lower the accuracy.

[0038] In some embodiments, the electronic device 110 can select an appropriate position code length to divide the reference region according to the partitioning accuracy requirements. For example, when the partitioning accuracy requirement is high, the electronic device 110 can select a longer position code to ensure that the range of each reference region is small enough to meet the high accuracy requirement. Conversely, when the partitioning accuracy requirement is low, the electronic device 110 can select a shorter position code to simplify calculations and reduce data storage. As an example, embodiments of this disclosure can select a position code of length 5 or longer or shorter to represent each reference region. Furthermore, embodiments of this disclosure can also select a longer or shorter position code to represent each reference region according to actual needs.

[0039] In box 220, electronic device 110 determines a first spacing between every two parking areas 301 within the same reference area of ​​a plurality of reference areas, based on parking area data 130.

[0040] In some embodiments, for each parking area 301, the electronic device 110 can determine its reference area by geospatial comparison. For example, the electronic device 110 can compare the location of the parking area 301 on the map with the boundary of the reference area on the map to determine whether the parking area 301 is located within a certain reference area.

[0041] In other embodiments, the electronic device 110 can use geolocation code comparison to more quickly identify parking areas 301 belonging to the same reference area. Specifically, based on the accuracy requirements of the location coding, the electronic device 110 determines the location code corresponding to the location of each parking area 301 among multiple parking areas 301 through a predetermined coding strategy. Then, based on the matching degree between the location codes corresponding to the multiple parking areas 301, the electronic device 110 determines the parking areas 301 located within the same reference area from among the multiple parking areas 301.

[0042] As an example, electronic device 110 first determines the accuracy requirement of the location code based on application needs. In embodiments of this disclosure, the higher the accuracy requirement, the longer the location code, and the smaller the geographical location range it represents. Conversely, the lower the accuracy requirement, the shorter the location code, and the larger the geographical location range it represents.

[0043] After determining the required accuracy of the location coding, the electronic device 110 converts the location (e.g., latitude and longitude coordinates) of each parking area 301 into a unique location code based on a predetermined coding strategy. This location code indicates the relative position of the parking area 301 in geospatial space. As an example, the predetermined coding strategy includes, but is not limited to, a geohashing coding strategy. Furthermore, the predetermined coding strategy may also include other suitable coding strategies, such as a quadkey coding strategy or a Hilbert curve coding strategy, etc.

[0044] In some embodiments, the electronic device 110 converts the location of each parking area 301 into a location code based on a geohashing algorithm. Specifically, the location of each parking area 301 includes the precision and latitude of the parking area 301, and the location code corresponding to each parking area 301 among multiple parking areas 301 includes a latitude and longitude hash value obtained after encoding the precision and latitude.

[0045] As described above, geohashing algorithms can encode geographic coordinates into strings, which (i.e., location codes) can reflect the relative proximity of geographic locations, thus facilitating the rapid identification of parking areas 301 belonging to the same reference area.

[0046] As an example, electronic device 110 first obtains the precise longitude and latitude coordinates of each parking area 301. Then, electronic device 110 subdivides the latitude range using a binary search method, determining which sub-interval each parking area 301 falls within based on its latitude value, and generating the corresponding binary bits. Similarly, electronic device 110 subdivides the longitude range using a binary search method, determining which sub-interval each parking area 301 falls within based on its longitude value, and generating the corresponding binary bits. Next, electronic device 110 alternately merges the generated longitude and latitude binary bits to form a long binary string. Finally, based on the precision requirements of the location encoding, electronic device 110 maps this binary string to the corresponding code, thereby obtaining the latitude and longitude hash value, which is the location code for each parking area 301.

[0047] For clarity, unless otherwise specified, the location code of each parking area 301 is determined by a geohashing algorithm. That is, the location code of each parking area 301 is a latitude and longitude hash value obtained by encoding its precision and latitude.

[0048] In some embodiments, in response to determining that the matching degree between the location codes corresponding to at least two parking areas 301 among a plurality of parking areas 301 is greater than a predetermined matching degree, the electronic device 110 determines that the two parking areas 301 are parking areas 301 located in the same reference area.

[0049] As an example, electronic device 110 can calculate the matching degree between the location codes corresponding to multiple parking areas 301 by comparing Hamming distance or other similarity metrics. For instance, when the Hamming distance between the location codes corresponding to two parking areas 301 is small, electronic device 110 can consider the matching degree between the location codes corresponding to the two parking areas 301 to be high, and therefore, electronic device 110 can consider the two parking areas 301 to be located within the same reference area. When the Hamming distance between the location codes corresponding to two parking areas 301 is large, electronic device 110 can consider the matching degree between the two parking areas 301 to be low, and therefore, electronic device 110 can consider the two parking areas 301 to be located within the same reference area.

[0050] In some embodiments, the precision requirement of the location coding matches the partition precision requirement of a plurality of reference areas. As an example, matching the precision requirement of the location coding with the partition precision requirement may mean that the precision requirement of the location coding is similar to or the same as the precision level indicated by the partition precision requirement. In this way, the precision level of the location coding can be aligned with the partition precision level of the reference areas.

[0051] As an example, assuming the precision level specified in the zoning precision requirement is "5", the map will be divided into several reference areas using a geohashing algorithm. These reference areas can be understood as the smallest units obtained after decomposing the map using geohashing. In other words, with the precision level unchanged, the location of each object on the map will be distinguished by its location within a reference area. For instance, assuming the location code for reference area A is "abcde" and the location code for area B is "abcdf", then objects located in reference area A will have the location code "abcde", and objects located in reference area B will have the location code "abcdf".

[0052] Assuming the accuracy level indicated by the location code related to parking area 301 is the same as the accuracy level indicated by the zoning accuracy requirement, which is also "5", then all parking areas 301 located in reference area A will have the same location code, namely "abcde", while all parking areas 301 located in reference area B will have a different location code, namely "abcdf".

[0053] This eliminates the need for the complex matching algorithms described earlier, significantly improving processing efficiency. The electronic device 110 only needs to simply compare whether the location codes of the two parking areas 301 are the same to quickly determine whether they are located in the same reference area.

[0054] In some embodiments, the electronic device 110 may calculate the minimum distance between two parking areas 301 in any suitable manner, and then determine the minimum distance between the two parking areas 301 as the first distance between the two parking areas 301. For example, the electronic device 110 may determine the Euclidean distance between any point on one parking area 301 and the nearest point on the other parking area 301, and then determine the minimum value of the determined Euclidean distances as the minimum distance between the two parking areas 301.

[0055] In some embodiments, the first spacing between every two parking areas 301 includes at least the minimum spacing between the two parking areas 301 determined by the rotating caliper algorithm.

[0056] The rotating caliper algorithm is used to solve optimization problems related to convex hulls in a two-dimensional plane. It leverages the order and symmetry of the convex hull vertices to find the optimal solution by simulating the rotation of two calipers (or tangents) along the boundary of the convex hull.

[0057] As an example, suppose parking area 301P has m given vertices and parking area 301Q has n given vertices, where m and n are both positive integers. Electronic device 110 uses a rotating caliper algorithm to find the pair of points (p, q) with the minimum distance in parking areas 301P and 301Q.

[0058] First, electronic device 110 determines the vertex with the smallest y-coordinate in parking area 301P, denoted as yminP. Additionally, electronic device 110 determines the vertex with the largest y-coordinate in parking area 301Q, denoted as ymaxQ. Then, two tangents LP and LQ are constructed at yminP and ymaxQ, such that parking area 301P is on one side of tangent LP, and parking area 301Q is on one side of tangent LQ. At this point, LP and LQ have different orientations, and yminP and ymaxQ become a pair of opposite points. Next, the distance (yminP, ymaxQ) is calculated and used as the minimum distance between parking areas 301P and 301Q. After this, electronic device 110 rotates at least one of LP and LQ clockwise until one of them coincides with the edge of its corresponding parking area 301.

[0059] If only one of LP and LQ overlaps as described above, then only the distances between vertex-edge pairs and vertex-vertex pairs in this case need to be calculated. Electronic device 110 compares the calculated distances with the current minimum spacing. If the calculated distance is less than the current minimum spacing, then the current minimum spacing is replaced with that distance.

[0060] If both LP and LQ overlap as described above, then electronic device 110 can determine whether LP and LQ overlap, that is, it can construct a common perpendicular line that intersects both LP and LQ (but not at the vertices). If LP and LQ overlap, then electronic device 110 calculates the edge-to-edge distance. If LP and LQ do not overlap, then a new vertex-to-vertex anti-vertex distance is calculated. Electronic device 110 compares the distance calculated at this time with the current minimum spacing. If the distance calculated at this time is less than the current minimum spacing, then the current minimum spacing is replaced with that distance.

[0061] Repeat the above steps until the new "vertex-vertex" pair is (yminP, ymaxQ). At this point, the electronic device 110 determines the current minimum spacing as the first spacing between parking area 301P and parking area 301Q.

[0062] In some embodiments, the aforementioned rotating caliper algorithm can be encapsulated in a callable function. Thus, the process shown in box 220 can be quickly implemented using SQL (Structured Query Language) statements. The following explanation uses the parking area data 130 as an example of an electronic fence data table. In the SQL statement, the same location code can be used as the inner join condition. The inner join operation finds electronic fences in the electronic fence data table that satisfy the inner join condition (i.e., parking areas 301 located in the same reference area). Then, the SQL statement calls the function encapsulating the aforementioned rotating caliper algorithm, using the electronic fences satisfying the inner join condition as input parameters, thereby calculating the minimum distance between electronic fences satisfying the inner join condition. The minimum distance calculated here is also the first distance between every two parking areas 301 located in the same reference area.

[0063] In some embodiments, the SQL statements described above can be implemented in the Spark (Apache Spark) tool, and such SQL can also be called Spark SQL. The spinning caliper algorithm described above can be encapsulated in a User-Defined Function (UDF), and such a UDF can also be called a Spark UDF. Spark is a fast, general-purpose, and scalable big data analytics engine. Spark UDFs are user-defined functions used to extend the functionality of Spark. Spark SQL is a distributed SQL query engine capable of efficiently processing large-scale structured data. By providing programming abstractions such as DataFrame and DataSet, as well as rich support for built-in functions and user-defined functions (UDFs), Spark SQL offers users great convenience and flexibility.

[0064] By executing the SQL statement above, the first spacing between every two parking areas 301 (different parking areas 301 are identified by their parking area numbers) can be obtained as shown in Table 1.

[0065] Table 1

[0066] 12345678 23456789 3 34567891 45678912 4 56789123 67891234 4

[0067] In frame 230, electronic device 110 divides parking areas 301 among multiple parking areas 301 into the same vehicle dispatch group 302 where the first spacing meets the first predetermined condition.

[0068] As an example, a first predetermined condition can be used to instruct the electronic device 110 to determine whether two parking areas 301 are sufficiently close. The first predetermined condition can be determined according to actual needs; for example, it can indicate an upper limit for the distance (also called a predetermined distance). The vehicle dispatch group 302 is the smallest dispatch unit participating in vehicle dispatching in embodiments of this disclosure. In embodiments of this disclosure, whether to trigger vehicle dispatching can be determined based on the available vehicles in all parking areas 301 within the vehicle dispatch group 302.

[0069] In some embodiments, after obtaining the first distance between every two parking areas 301, the multiple parking areas 301 can be filtered by a predetermined distance to remove those parking areas 301 whose first distance from any other parking area 301 is greater than the predetermined distance. This results in a set S of parking areas 301. Then, based on the set S of parking areas 301, the electronic device 110 progressively assigns parking areas 301 whose first distance meets the first predetermined condition to the same vehicle dispatch group 302. In this way, at the beginning of the assignment operation, some irrelevant parking areas 301 can be excluded, thereby reducing the computational load of the assignment operation. It should be noted that the excluded parking areas 301 can be assigned to a separate vehicle dispatch group 302.

[0070] In some embodiments, the electronic device 110 can divide parking areas 301 with a first spacing satisfying a first predetermined condition into the same vehicle scheduling group 302 based on solving for the maximum connected subgraph in an undirected graph. For a given undirected graph G, if the undirected graph G is not connected, then it will contain multiple connected components, at least one of which includes at least one node. Among these connected components, the connected component with the most nodes is called a maximum connected subgraph of the undirected graph G. The undirected graph G may include several such maximum connected subgraphs, and different maximum connected subgraphs are not connected to each other. In other words, a maximum connected subgraph is a subset of the undirected graph G, which is itself a connected graph and contains as many vertices as possible in the undirected graph G. In embodiments of this disclosure, the undirected graph G is equivalent to the entire region in which all parking areas 301 are located, and the nodes are equivalent to all parking areas 301 in this entire region. Each vehicle scheduling group 302 can be understood as a maximum connected subgraph.

[0071] In some embodiments, the process of solving the maximum connectivity graph can be implemented through multiple iterations. In other words, for each of the plurality of parking areas 301, the following operations are performed iteratively to assign parking areas 301 whose first spacing satisfies a first predetermined condition to the same vehicle scheduling group 302. Specifically, in each iteration, in response to the first spacing between the parking area 301 and another parking area 301 among the plurality of parking areas 301 being less than a predetermined spacing, the electronic device 110 determines that the parking area 301 and the other parking area 301 satisfy the first predetermined condition. Then, the electronic device 110 assigns the parking area 301 and the other parking area 301 to the same vehicle scheduling group 302.

[0072] As an example, electronic device 110 traverses the set S of parking areas 301, checking each parking area 301 in the set S one by one. For the parking area 301 currently being checked, electronic device 110 extracts a first distance between this parking area 301 and another parking area 301 in the set S, and compares the first distance with a predetermined distance. If the first distance is less than the predetermined distance, then electronic device 110 considers that the parking area 301 and the other parking area 301 meet a first predetermined condition. Otherwise, electronic device 110 considers that the parking area 301 and the other parking area 301 do not meet the first predetermined condition. Once it is determined that the first distance between two parking areas 301 meets the first predetermined condition, electronic device 110 assigns them to the same vehicle dispatch group 302.

[0073] Reference Figure 3By iteratively executing the above operations, the electronic device 110 can quickly and accurately assign multiple parking areas in the parking area set S to appropriate vehicle dispatch groups 302. Specifically, parking areas 301-3 and 301-4 will be assigned to vehicle dispatch group 302-2, parking areas 301-5, 301-6, and 301-7 will be assigned to vehicle dispatch group 302-3, and parking areas 301-8 and 301-9 will be assigned to vehicle dispatch group 302-4. Furthermore, since parking areas 301-1, 301-2, and 301-10 have no neighboring parking areas (i.e., the first distance satisfies the first predetermined condition), they will be assigned to a separate vehicle dispatch group 302. For example, parking area 301-1 is separately assigned to vehicle dispatch group 302-6, parking area 301-10 is separately assigned to vehicle dispatch group 302-5, and parking area 301-2 is separately assigned to vehicle dispatch group 302-1.

[0074] In box 240, electronic device 110 determines vehicle scheduling for vehicle scheduling group 302 based on the total number of available vehicles in parking area 301 divided into vehicle scheduling group 302.

[0075] As an example, electronic device 110 can collect vehicle information for each parking area 301 in real time or periodically. Vehicle information includes, but is not limited to, the number of available vehicles. For parking areas 301 in the same vehicle dispatch group 302, electronic device 110 will count the available vehicles in all parking areas 301 in the vehicle dispatch group 302 to obtain the total number of available vehicles in the vehicle dispatch group 302.

[0076] Based on the total number of available vehicles, electronic device 110 can select an appropriate vehicle dispatching strategy. For example, electronic device 110 can choose to allocate more vehicles 140 to the vehicle dispatching group 302, or to allocate vehicles 140 from the vehicle dispatching group 302 to other vehicle dispatching groups 302 with higher demand.

[0077] In some embodiments, in response to detecting a change in the number of vehicles in parking areas 301 assigned to vehicle scheduling group 302, electronic device 110 determines vehicle scheduling for vehicle scheduling group 302 based on the total number of available vehicles in parking areas 301 assigned to vehicle scheduling group 302.

[0078] As an example, when vehicle 140 enters or exits parking area 301, it can proactively report its entry into or exit from parking area 301 to electronic device 110. In response to receiving the reported information from vehicle 140, electronic device 110 updates the number of vehicles in parking area 301. Once a change in the number of vehicles in parking area 301 is detected, electronic device 110 performs a count of the total number of available vehicles in vehicle dispatch group 302. Based on the total number of available vehicles in vehicle dispatch group 302, an appropriate vehicle dispatch strategy is selected to ensure that vehicle resources within vehicle dispatch group 302 are utilized in a timely and efficient manner.

[0079] In some embodiments, vehicle scheduling is performed on vehicle scheduling group 302 in response to determining that the total number of available vehicles in parking areas 301 assigned to vehicle scheduling group 302 is lower than an available vehicle threshold. And vehicle scheduling is not performed on vehicle scheduling group 302 in response to determining that the total number of available vehicles in parking areas 301 assigned to vehicle scheduling group 302 is greater than or equal to the available vehicle threshold.

[0080] In some embodiments, the available vehicle threshold is used to indicate whether the vehicle resources of the vehicle dispatch group 302 of the electronic device 110 are sufficient. When the electronic device 110 detects that the total number of available vehicles in the parking area 301 assigned to a certain vehicle dispatch group 302 is lower than the available vehicle threshold, it indicates that the vehicle resources of the vehicle dispatch group 302 are insufficient and cannot meet the current or expected vehicle demand. To make up for this gap, the electronic device 110 will initiate a vehicle dispatch operation. Specifically, it will send a vehicle dispatch instruction to the dispatcher 120, instructing the dispatcher 120 to allocate vehicles 140 from other vehicle dispatch groups 302 to the vehicle dispatch group 302 with insufficient resources. This operation ensures the reasonable allocation of vehicle resources and effectively alleviates the problem of the imbalance between supply and demand of vehicles 140.

[0081] Conversely, if electronic device 110 detects that the total number of available vehicles in a vehicle dispatch group 302 is greater than or equal to the available vehicle threshold, electronic device 110 will not perform vehicle dispatching operations on that vehicle dispatch group 302, even if the number of vehicles in a specific parking area 301 within that group is temporarily insufficient. This is because other parking areas 301 adjacent to that parking area 301 still have sufficient vehicle resources to meet the transportation needs of nearby users. In this situation, vehicle dispatching may be unnecessary and could even lead to a waste of resources.

[0082] In this way, electronic device 110 can accurately determine when vehicle dispatching is needed and when the status quo can be maintained. This strategy not only improves the efficiency and accuracy of vehicle dispatching but also effectively saves vehicle dispatching resources and avoids unnecessary dispatching operations, thereby achieving optimized allocation and efficient utilization of vehicle resources.

[0083] In some embodiments, the electronic device 110 presents multiple parking areas 301 on a map, wherein parking areas 301 that are assigned to the same vehicle dispatch group 302 are presented with the same visual style.

[0084] As an example, each parking area 301 can be visually represented on the map using graphic elements such as fence shapes, icons, or markers. To highlight the division of vehicle dispatch groups 302, the electronic device 110 can employ the same visual style to represent parking areas 301 belonging to the same vehicle dispatch group 302. This consistent visual style includes, but is not limited to, the same color, pattern, border, or shadow. This visual style helps users quickly distinguish which parking areas 301 belong to the same dispatch group.

[0085] Reference Figure 3 The parking area 301 in vehicle dispatch group 302-2, the parking area 301 in vehicle dispatch group 302-3, and the parking area 301 in vehicle dispatch group 302-4 are presented using the same visual style. Furthermore, since each of vehicle dispatch groups 302-1, 302-5, and 302-6 contains only one parking area 301, the parking areas 301 in these groups can also be presented using the same visual style.

[0086] Embodiments of this disclosure also provide corresponding apparatus for implementing the above methods or processes. Figure 4 A schematic structural block diagram of a vehicle dispatching device 400 according to some embodiments of the present disclosure is shown. The device 400 may be implemented as or included in an electronic device 110. Various modules / components in the device 400 may be implemented by hardware, software, firmware, or any combination thereof.

[0087] Reference Figure 4The device 400 includes a parking area data acquisition module 410, a spacing determination module 420, a partitioning module 430, and a vehicle scheduling module 440. The parking area data acquisition module 410 is configured to acquire parking area data. The parking area data indicates multiple parking areas and the location of each parking area in a map, wherein the map is divided into multiple reference areas. The spacing determination module 420 is configured to determine, based on the parking area data, a first spacing between every two parking areas located within the same reference area in the multiple reference areas. The partitioning module 430 is configured to partition parking areas in the multiple parking areas where the first spacing satisfies a first predetermined condition into the same vehicle scheduling group. The vehicle scheduling module 440 is configured to determine vehicle scheduling for the vehicle scheduling group based on the total number of available vehicles in the parking areas partitioned into the vehicle scheduling group.

[0088] In some embodiments, parking areas located within the same reference area among multiple reference areas are determined by: determining the location code corresponding to the location of each parking area in the multiple parking areas based on the accuracy requirements of the location coding and by using a predetermined coding strategy; and determining the parking areas located within the same reference area from the multiple parking areas based on the matching degree between the location codes corresponding to the multiple parking areas.

[0089] In some embodiments, the accuracy requirements of the location coding are matched with the partitioning accuracy requirements of multiple reference regions.

[0090] In some embodiments, the spacing determination module 420 is further configured to: determine at least two parking areas as parking areas located within the same reference area in response to determining that the matching degree between the location codes corresponding to at least two parking areas in a plurality of parking areas is greater than a predetermined matching degree.

[0091] In some embodiments, the location of a parking area includes the precision and latitude of the parking area, and the location code corresponding to each parking area among multiple parking areas includes a latitude and longitude hash value obtained after encoding the precision and latitude.

[0092] In some embodiments, the first spacing between any two parking areas includes at least the minimum spacing between the two parking areas determined by the rotating caliper algorithm.

[0093] In some embodiments, the partitioning module 430 is further configured to iteratively perform the following operations on each of the plurality of parking areas: in response to a first distance between the parking area and another parking area in the plurality of parking areas being less than a predetermined distance, determine that the parking area and another parking area meet a first predetermined condition; and partition the parking area and the other parking area into the same vehicle dispatch group.

[0094] In some embodiments, the device 400 further includes a presentation module. The presentation module is configured to present multiple parking areas on a map, wherein parking areas assigned to the same vehicle dispatch group are presented with the same visual style.

[0095] In some embodiments, the vehicle scheduling module 440 is further configured to: in response to detecting a change in the number of vehicles in the parking areas assigned to the vehicle scheduling group, determine vehicle scheduling for the vehicle scheduling group based on the total number of available vehicles in the parking areas assigned to the vehicle scheduling group.

[0096] In some embodiments, the vehicle scheduling module 440 is further configured to: perform vehicle scheduling on the vehicle scheduling group in response to determining that the total number of available vehicles in the parking areas divided into the vehicle scheduling group is lower than the available vehicle threshold; and not perform vehicle scheduling on the vehicle scheduling group in response to determining that the total number of available vehicles in the parking areas divided into the vehicle scheduling group is greater than or equal to the available vehicle threshold.

[0097] Figure 5 A block diagram is shown of an electronic device 500 in which one or more embodiments of the present disclosure may be implemented. The electronic device 500 may, for example, be used to implement... Figure 1 The electronic device 120 shown. It should be understood that, Figure 5 The electronic device 500 shown is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein.

[0098] Reference Figure 5 Electronic device 500 is in the form of a general-purpose electronic device. Components of electronic device 500 may include, but are not limited to, one or more processors or processor 510, memory 520, storage device 530, one or more communication units 540, one or more input devices 550, and one or more output devices 560. Processor 510 may be a physical or virtual processor and is capable of performing various processes according to programs stored in memory 520. In a multiprocessor system, multiple processors execute computer-executable instructions in parallel to improve the parallel processing capability of electronic device 500.

[0099] Electronic device 500 typically includes multiple computer storage media. Such media can be any available media accessible to electronic device 500, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 520 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. Storage device 530 can be removable or non-removable media and can include machine-readable media, such as flash drives, disks, or any other media capable of storing information and / or data and accessible within electronic device 500.

[0100] Electronic device 500 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not explicitly stated... Figure 5 As shown, disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks can be provided. In these cases, each drive can be connected to a bus (not shown) via one or more data media interfaces. Memory 520 may include computer program product 525 having one or more program modules configured to perform various methods or actions of various embodiments of this disclosure.

[0101] Communication unit 540 enables communication with other electronic devices via a communication medium. Additionally, the functionality of components of electronic device 500 can be implemented using a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, electronic device 500 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node.

[0102] Input device 550 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 560 can be one or more output devices, such as a monitor, speaker, printer, etc. Electronic device 500 can also communicate with one or more external devices (not shown) via communication unit 540 as needed. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with electronic device 500, or with any device that enables electronic device 500 to communicate with one or more other electronic devices (e.g., network card, modem, etc.). Such communication can be performed via input / output (I / O) interface (not shown).

[0103] According to an exemplary implementation of this disclosure, a computer-readable storage medium is provided that stores computer-executable instructions thereon, wherein the computer-executable instructions are executed by a processor to implement the methods described above. According to an exemplary implementation of this disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, which are executed by a processor to implement the methods described above.

[0104] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0105] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0106] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0107] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0108] Various implementations of this disclosure have been described above. The foregoing description is exemplary and not exhaustive, nor is it limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is determined to best explain the principles, practical applications, or improvements to technology in the market, or to enable others skilled in the art to understand the various implementations disclosed herein.

Claims

1. A method for vehicle dispatching, comprising: Acquire parking area data, wherein the parking area data indicates multiple parking areas and the location of each parking area in the multiple parking areas on a map, and wherein the map is divided into multiple reference areas; Based on the parking area data, a first spacing is determined between every two parking areas located within the same reference area in the plurality of reference areas; Among the multiple parking areas, those parking areas whose first spacing meets the first predetermined condition are assigned to the same vehicle dispatch group; as well as The vehicle dispatching for the vehicle dispatching group is determined based on the total number of available vehicles in the parking areas divided into the vehicle dispatching group.

2. The method according to claim 1, further comprising: The parking areas located within the same reference area among the multiple reference areas are determined by the following: Based on the accuracy requirements of location coding, a predetermined coding strategy is used to determine the location code corresponding to the location of each of the multiple parking areas; as well as Based on the matching degree between the location codes corresponding to the multiple parking areas, parking areas located in the same reference area are determined from the multiple parking areas.

3. The method according to claim 2, wherein the accuracy requirement of the position encoding matches the partition accuracy requirement of the plurality of reference regions.

4. The method according to claim 2, wherein determining the parking areas located within the same reference area from the plurality of parking areas based on the matching degree between the location codes corresponding to each of the plurality of parking areas comprises: In response to determining that the matching degree between the location codes corresponding to at least two parking areas in the plurality of parking areas is greater than a predetermined matching degree, the at least two parking areas are determined to be parking areas located in the same reference area.

5. The method according to claim 2, wherein the location includes the precision and latitude of the parking area, and the location code corresponding to each parking area among the plurality of parking areas includes a latitude and longitude hash value obtained by encoding the precision and the latitude.

6. The method of claim 1, wherein the first spacing between every two parking areas includes at least the minimum spacing between the two parking areas determined by the rotating caliper algorithm.

7. The method according to claim 1, wherein assigning parking areas among the plurality of parking areas whose first spacing satisfies a first predetermined condition to the same vehicle dispatch group comprises: For each of the plurality of parking areas, iteratively perform the following operations: In response to the fact that the first distance between the parking area and another parking area in the plurality of parking areas is less than a predetermined distance, it is determined that the parking area and the other parking area meet the first predetermined condition; as well as This parking area is assigned to the same vehicle dispatch group as the other parking area.

8. The method according to claim 1, further comprising: The multiple parking areas are presented on the map, with parking areas belonging to the same vehicle dispatch group being presented in the same visual style.

9. The method of claim 1, wherein determining the vehicle dispatching for the vehicle dispatching group based on the total number of available vehicles in parking areas divided within the vehicle dispatching group comprises: In response to detecting a change in the number of vehicles in the parking areas assigned to the vehicle scheduling group, a vehicle scheduling for the vehicle scheduling group is determined based on the total number of available vehicles in the parking areas assigned to the vehicle scheduling group.

10. The method of claim 1, wherein determining the vehicle dispatching for the vehicle dispatching group based on the total number of available vehicles in parking areas divided within the vehicle dispatching group comprises: In response to determining that the total number of available vehicles in the parking areas assigned to the vehicle scheduling group is lower than the available vehicle threshold, vehicle scheduling is performed on the vehicle scheduling group. as well as In response to determining that the total number of available vehicles in the parking areas assigned to the vehicle scheduling group is greater than or equal to the available vehicle threshold, vehicle scheduling is not performed on the vehicle scheduling group.

11. An apparatus for vehicle dispatching, comprising: The parking area data acquisition module is configured to acquire parking area data, wherein the parking area data indicates multiple parking areas and the location of each parking area in the multiple parking areas on a map, and wherein the map is divided into multiple reference areas; The spacing determination module is configured to determine, based on the parking area data, a first spacing between every two parking areas located within the same reference area in the plurality of reference areas; The partitioning module is configured to partition parking areas among the plurality of parking areas where the first spacing meets a first predetermined condition into the same vehicle dispatch group; as well as The vehicle dispatching module is configured to determine the vehicle dispatching for the vehicle dispatching group based on the total number of available vehicles in the parking areas divided into the vehicle dispatching group.

12. An electronic device, comprising: At least one processor; as well as At least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor, the instructions causing the electronic device to perform the method according to any one of claims 1 to 10 when executed by the at least one processor.

13. A computer-readable storage medium having stored thereon computer-executable instructions that can be executed by a processor to implement the method according to any one of claims 1 to 10.

14. 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 10.